@dnb/eufemia 10.8.0 → 10.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/breadcrumb/BreadcrumbItem.js +1 -1
  3. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  4. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  5. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  6. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  7. package/cjs/components/modal/ModalContent.js +3 -1
  8. package/cjs/components/modal/ModalContent.js.map +1 -1
  9. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  10. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  11. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  12. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  13. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  14. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  15. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  16. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  17. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  18. package/cjs/components/section/Section.js +1 -1
  19. package/cjs/components/section/Section.js.map +1 -1
  20. package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
  21. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  22. package/cjs/components/skeleton/style/dnb-skeleton.scss +66 -0
  23. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  24. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  25. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  26. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  27. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  28. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  29. package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
  30. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  31. package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
  32. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  33. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  34. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  35. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  36. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  37. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  38. package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
  39. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  40. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  41. package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
  42. package/cjs/extensions/forms/DataContext/At.js.map +1 -1
  43. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  44. package/cjs/extensions/forms/DataContext/Context.js +2 -1
  45. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  46. package/cjs/extensions/forms/DataContext/Provider.js +7 -3
  47. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  48. package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
  49. package/cjs/extensions/forms/DataContext/index.js +0 -2
  50. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  51. package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -3
  52. package/cjs/extensions/forms/Field/ArraySelection.js +4 -4
  53. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  54. package/cjs/extensions/forms/Field/CountryCode.d.ts +2 -3
  55. package/cjs/extensions/forms/Field/CountryCode.js +3 -4
  56. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
  58. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Date.d.ts +2 -3
  60. package/cjs/extensions/forms/Field/Date.js +4 -4
  61. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Number.d.ts +2 -3
  63. package/cjs/extensions/forms/Field/Number.js +4 -4
  64. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  65. package/cjs/extensions/forms/Field/Option.d.ts +2 -3
  66. package/cjs/extensions/forms/Field/Option.js.map +1 -1
  67. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  68. package/cjs/extensions/forms/Field/PhoneNumber.js +4 -4
  69. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  70. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  71. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  72. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  73. package/cjs/extensions/forms/Field/Selection.d.ts +2 -3
  74. package/cjs/extensions/forms/Field/Selection.js +5 -6
  75. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  76. package/cjs/extensions/forms/Field/String.d.ts +2 -3
  77. package/cjs/extensions/forms/Field/String.js +5 -7
  78. package/cjs/extensions/forms/Field/String.js.map +1 -1
  79. package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
  80. package/cjs/extensions/forms/Field/Toggle.js +5 -5
  81. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  82. package/cjs/extensions/forms/Field/index.d.ts +0 -4
  83. package/cjs/extensions/forms/Field/index.js +0 -4
  84. package/cjs/extensions/forms/Field/index.js.map +1 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  86. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +76 -8
  87. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  88. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  89. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
  90. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  91. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  92. package/cjs/extensions/forms/FieldBlock/index.js +15 -2
  93. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  94. package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
  95. package/cjs/extensions/forms/Form/FormElement.js +39 -0
  96. package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
  97. package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
  98. package/cjs/extensions/forms/Form/FormHandler.js +41 -0
  99. package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
  100. package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  101. package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
  102. package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
  103. package/cjs/extensions/forms/Form/index.d.ts +9 -0
  104. package/cjs/extensions/forms/Form/index.js +18 -0
  105. package/cjs/extensions/forms/Form/index.js.map +1 -0
  106. package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
  107. package/cjs/extensions/forms/Iterate/Array.js +91 -0
  108. package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
  109. package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  110. package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
  111. package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  112. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  113. package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
  114. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  115. package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  116. package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
  117. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  118. package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
  119. package/cjs/extensions/forms/Iterate/index.js +25 -0
  120. package/cjs/extensions/forms/Iterate/index.js.map +1 -0
  121. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  122. package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
  123. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
  124. package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
  125. package/cjs/extensions/forms/Layout/Card.js +4 -4
  126. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  127. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  128. package/cjs/extensions/forms/Layout/FlexContainer.js +3 -3
  129. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  130. package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -1
  131. package/cjs/extensions/forms/Layout/FlexItem.js +2 -2
  132. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  133. package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
  134. package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
  135. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
  136. package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
  137. package/cjs/extensions/forms/Layout/Section.js +2 -2
  138. package/cjs/extensions/forms/Layout/Section.js.map +1 -1
  139. package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
  140. package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
  141. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  142. package/cjs/extensions/forms/Layout/index.d.ts +0 -2
  143. package/cjs/extensions/forms/Layout/index.js +1 -3
  144. package/cjs/extensions/forms/Layout/index.js.map +1 -1
  145. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  146. package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
  147. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  148. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  149. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  150. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  151. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  152. package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
  153. package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
  154. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
  155. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  156. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  157. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  158. package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
  159. package/cjs/extensions/forms/Value/Boolean.js +4 -4
  160. package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
  161. package/cjs/extensions/forms/Value/Number.d.ts +2 -3
  162. package/cjs/extensions/forms/Value/Number.js +4 -3
  163. package/cjs/extensions/forms/Value/Number.js.map +1 -1
  164. package/cjs/extensions/forms/Value/String.d.ts +2 -3
  165. package/cjs/extensions/forms/Value/String.js +4 -4
  166. package/cjs/extensions/forms/Value/String.js.map +1 -1
  167. package/cjs/extensions/forms/Value/index.d.ts +0 -4
  168. package/cjs/extensions/forms/Value/index.js +0 -4
  169. package/cjs/extensions/forms/Value/index.js.map +1 -1
  170. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  171. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  172. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  173. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  174. package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
  175. package/cjs/extensions/forms/hooks/index.js.map +1 -0
  176. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
  177. package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +60 -26
  178. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  179. package/cjs/extensions/forms/index.d.ts +4 -4
  180. package/cjs/extensions/forms/index.js +20 -12
  181. package/cjs/extensions/forms/index.js.map +1 -1
  182. package/cjs/extensions/forms/types.d.ts +95 -2
  183. package/cjs/extensions/forms/types.js +71 -0
  184. package/cjs/extensions/forms/types.js.map +1 -1
  185. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  186. package/cjs/extensions/forms/utils/index.js +0 -12
  187. package/cjs/extensions/forms/utils/index.js.map +1 -1
  188. package/cjs/extensions/lib.d.ts +0 -2
  189. package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
  190. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  191. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  192. package/cjs/shared/Eufemia.d.ts +1 -1
  193. package/cjs/shared/Eufemia.js +2 -2
  194. package/cjs/shared/Eufemia.js.map +1 -1
  195. package/cjs/shared/useMedia.js +33 -23
  196. package/cjs/shared/useMedia.js.map +1 -1
  197. package/cjs/style/dnb-ui-components.css +119 -2
  198. package/cjs/style/dnb-ui-components.min.css +1 -1
  199. package/cjs/style/dnb-ui-elements.css +17 -11
  200. package/cjs/style/dnb-ui-elements.min.css +1 -1
  201. package/cjs/style/dnb-ui-extensions.css +7 -7
  202. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  203. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  204. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  205. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  206. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  207. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  209. package/cjs/style/themes/theme-sbanken/customisations.scss +4 -0
  210. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  211. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  212. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  213. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  214. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  215. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  216. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  219. package/cjs/style/themes/theme-ui/ui-theme-basis.css +19 -11
  220. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  221. package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  222. package/cjs/style/themes/theme-ui/ui-theme-components.css +131 -136
  223. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  224. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  225. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  226. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  227. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  228. package/cjs/style/themes/theme-ui/ui-theme-tags.css +17 -11
  229. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  230. package/components/breadcrumb/BreadcrumbItem.js +1 -1
  231. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  232. package/components/date-picker/DatePickerInput.js.map +1 -1
  233. package/components/input-masked/InputMaskedHooks.js +1 -1
  234. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  235. package/components/modal/ModalContent.js +3 -1
  236. package/components/modal/ModalContent.js.map +1 -1
  237. package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  238. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  239. package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  240. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  241. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  242. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  243. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  244. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  245. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  246. package/components/section/Section.js +1 -1
  247. package/components/section/Section.js.map +1 -1
  248. package/components/skeleton/style/dnb-skeleton.css +50 -0
  249. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  250. package/components/skeleton/style/dnb-skeleton.scss +66 -0
  251. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  252. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  253. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  254. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  255. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  256. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  257. package/components/tooltip/style/dnb-tooltip.css +10 -0
  258. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  259. package/components/tooltip/style/dnb-tooltip.scss +14 -0
  260. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  261. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  262. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  263. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  264. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  265. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  266. package/elements/blockquote/style/blockquote-mixins.scss +22 -11
  267. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  268. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  269. package/es/components/breadcrumb/BreadcrumbItem.js +1 -1
  270. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  271. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  272. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  273. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  274. package/es/components/modal/ModalContent.js +3 -1
  275. package/es/components/modal/ModalContent.js.map +1 -1
  276. package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  277. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  278. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  279. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  280. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  281. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  282. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  283. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  284. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  285. package/es/components/section/Section.js +1 -1
  286. package/es/components/section/Section.js.map +1 -1
  287. package/es/components/skeleton/style/dnb-skeleton.css +50 -0
  288. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  289. package/es/components/skeleton/style/dnb-skeleton.scss +66 -0
  290. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  291. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  292. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  293. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  294. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  295. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  296. package/es/components/tooltip/style/dnb-tooltip.css +10 -0
  297. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  298. package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
  299. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  300. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  301. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  302. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  303. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  304. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  305. package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
  306. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  307. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +1 -0
  308. package/es/extensions/forms/DataContext/At.d.ts +1 -1
  309. package/es/extensions/forms/DataContext/At.js.map +1 -1
  310. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  311. package/es/extensions/forms/DataContext/Context.js +2 -1
  312. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  313. package/es/extensions/forms/DataContext/Provider.js +7 -3
  314. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  315. package/es/extensions/forms/DataContext/index.d.ts +0 -2
  316. package/es/extensions/forms/DataContext/index.js +0 -2
  317. package/es/extensions/forms/DataContext/index.js.map +1 -1
  318. package/es/extensions/forms/Field/ArraySelection.d.ts +2 -3
  319. package/es/extensions/forms/Field/ArraySelection.js +4 -4
  320. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/CountryCode.d.ts +2 -3
  322. package/es/extensions/forms/Field/CountryCode.js +4 -5
  323. package/es/extensions/forms/Field/CountryCode.js.map +1 -1
  324. package/es/extensions/forms/Field/Currency.d.ts +2 -3
  325. package/es/extensions/forms/Field/Currency.js.map +1 -1
  326. package/es/extensions/forms/Field/Date.d.ts +2 -3
  327. package/es/extensions/forms/Field/Date.js +4 -4
  328. package/es/extensions/forms/Field/Date.js.map +1 -1
  329. package/es/extensions/forms/Field/Number.d.ts +2 -3
  330. package/es/extensions/forms/Field/Number.js +4 -4
  331. package/es/extensions/forms/Field/Number.js.map +1 -1
  332. package/es/extensions/forms/Field/Option.d.ts +2 -3
  333. package/es/extensions/forms/Field/Option.js.map +1 -1
  334. package/es/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  335. package/es/extensions/forms/Field/PhoneNumber.js +4 -4
  336. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  337. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  338. package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  339. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  340. package/es/extensions/forms/Field/Selection.d.ts +2 -3
  341. package/es/extensions/forms/Field/Selection.js +6 -7
  342. package/es/extensions/forms/Field/Selection.js.map +1 -1
  343. package/es/extensions/forms/Field/String.d.ts +2 -3
  344. package/es/extensions/forms/Field/String.js +5 -7
  345. package/es/extensions/forms/Field/String.js.map +1 -1
  346. package/es/extensions/forms/Field/Toggle.d.ts +2 -3
  347. package/es/extensions/forms/Field/Toggle.js +5 -5
  348. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  349. package/es/extensions/forms/Field/index.d.ts +0 -4
  350. package/es/extensions/forms/Field/index.js +0 -4
  351. package/es/extensions/forms/Field/index.js.map +1 -1
  352. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  353. package/es/extensions/forms/FieldBlock/FieldBlock.js +68 -9
  354. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  355. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  356. package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  357. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  358. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  359. package/es/extensions/forms/FieldBlock/index.js +3 -1
  360. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  361. package/es/extensions/forms/Form/FormElement.d.ts +4 -0
  362. package/es/extensions/forms/Form/FormElement.js +31 -0
  363. package/es/extensions/forms/Form/FormElement.js.map +1 -0
  364. package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
  365. package/es/extensions/forms/Form/FormHandler.js +33 -0
  366. package/es/extensions/forms/Form/FormHandler.js.map +1 -0
  367. package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  368. package/es/extensions/forms/Form/SubmitButton.js +25 -0
  369. package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
  370. package/es/extensions/forms/Form/index.d.ts +9 -0
  371. package/es/extensions/forms/Form/index.js +10 -0
  372. package/es/extensions/forms/Form/index.js.map +1 -0
  373. package/es/extensions/forms/Iterate/Array.d.ts +17 -0
  374. package/es/extensions/forms/Iterate/Array.js +80 -0
  375. package/es/extensions/forms/Iterate/Array.js.map +1 -0
  376. package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  377. package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  378. package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  379. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  380. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  381. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  382. package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  383. package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
  384. package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  385. package/es/extensions/forms/Iterate/index.d.ts +11 -0
  386. package/es/extensions/forms/Iterate/index.js +12 -0
  387. package/es/extensions/forms/Iterate/index.js.map +1 -0
  388. package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  389. package/es/extensions/forms/Layout/ButtonRow.js +2 -2
  390. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
  391. package/es/extensions/forms/Layout/Card.d.ts +1 -1
  392. package/es/extensions/forms/Layout/Card.js +4 -4
  393. package/es/extensions/forms/Layout/Card.js.map +1 -1
  394. package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  395. package/es/extensions/forms/Layout/FlexContainer.js +3 -3
  396. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  397. package/es/extensions/forms/Layout/FlexItem.d.ts +1 -1
  398. package/es/extensions/forms/Layout/FlexItem.js +2 -2
  399. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  400. package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
  401. package/es/extensions/forms/Layout/MainHeading.js +10 -4
  402. package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
  403. package/es/extensions/forms/Layout/Section.d.ts +1 -1
  404. package/es/extensions/forms/Layout/Section.js +2 -2
  405. package/es/extensions/forms/Layout/Section.js.map +1 -1
  406. package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
  407. package/es/extensions/forms/Layout/SubHeading.js +10 -4
  408. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  409. package/es/extensions/forms/Layout/index.d.ts +0 -2
  410. package/es/extensions/forms/Layout/index.js +1 -3
  411. package/es/extensions/forms/Layout/index.js.map +1 -1
  412. package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  413. package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
  414. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  415. package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  416. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  417. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  418. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  419. package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
  420. package/es/extensions/forms/StepsLayout/Step.js +2 -2
  421. package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
  422. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  423. package/es/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  424. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  425. package/es/extensions/forms/Value/Boolean.d.ts +2 -3
  426. package/es/extensions/forms/Value/Boolean.js +4 -4
  427. package/es/extensions/forms/Value/Boolean.js.map +1 -1
  428. package/es/extensions/forms/Value/Number.d.ts +2 -3
  429. package/es/extensions/forms/Value/Number.js +5 -4
  430. package/es/extensions/forms/Value/Number.js.map +1 -1
  431. package/es/extensions/forms/Value/String.d.ts +2 -3
  432. package/es/extensions/forms/Value/String.js +4 -4
  433. package/es/extensions/forms/Value/String.js.map +1 -1
  434. package/es/extensions/forms/Value/index.d.ts +0 -4
  435. package/es/extensions/forms/Value/index.js +0 -4
  436. package/es/extensions/forms/Value/index.js.map +1 -1
  437. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  438. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  439. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  440. package/es/extensions/forms/hooks/index.d.ts +1 -0
  441. package/es/extensions/forms/hooks/index.js +1 -0
  442. package/es/extensions/forms/hooks/index.js.map +1 -0
  443. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
  444. package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +59 -25
  445. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  446. package/es/extensions/forms/index.d.ts +4 -4
  447. package/es/extensions/forms/index.js +3 -2
  448. package/es/extensions/forms/index.js.map +1 -1
  449. package/es/extensions/forms/types.d.ts +95 -2
  450. package/es/extensions/forms/types.js +42 -0
  451. package/es/extensions/forms/types.js.map +1 -1
  452. package/es/extensions/forms/utils/index.d.ts +0 -1
  453. package/es/extensions/forms/utils/index.js +0 -1
  454. package/es/extensions/forms/utils/index.js.map +1 -1
  455. package/es/extensions/lib.d.ts +0 -2
  456. package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
  457. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  458. package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  459. package/es/shared/Eufemia.d.ts +1 -1
  460. package/es/shared/Eufemia.js +2 -2
  461. package/es/shared/Eufemia.js.map +1 -1
  462. package/es/shared/useMedia.js +30 -21
  463. package/es/shared/useMedia.js.map +1 -1
  464. package/es/style/dnb-ui-components.css +119 -2
  465. package/es/style/dnb-ui-components.min.css +1 -1
  466. package/es/style/dnb-ui-elements.css +17 -11
  467. package/es/style/dnb-ui-elements.min.css +1 -1
  468. package/es/style/dnb-ui-extensions.css +7 -7
  469. package/es/style/dnb-ui-extensions.min.css +1 -1
  470. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  471. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  472. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  473. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  474. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  475. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  476. package/es/style/themes/theme-sbanken/customisations.scss +4 -0
  477. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  478. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  479. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  480. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  481. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  482. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  483. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  484. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  485. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  486. package/es/style/themes/theme-ui/ui-theme-basis.css +19 -11
  487. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  488. package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  489. package/es/style/themes/theme-ui/ui-theme-components.css +131 -136
  490. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  491. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  492. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  493. package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  494. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  495. package/es/style/themes/theme-ui/ui-theme-tags.css +17 -11
  496. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  497. package/esm/dnb-ui-basis.min.mjs +1 -1
  498. package/esm/dnb-ui-components.min.mjs +1 -1
  499. package/esm/dnb-ui-elements.min.mjs +1 -1
  500. package/esm/dnb-ui-extensions.min.mjs +3 -3
  501. package/esm/dnb-ui-lib.min.mjs +1 -1
  502. package/extensions/forms/DataContext/At.d.ts +1 -1
  503. package/extensions/forms/DataContext/At.js.map +1 -1
  504. package/extensions/forms/DataContext/Context.d.ts +1 -0
  505. package/extensions/forms/DataContext/Context.js +2 -1
  506. package/extensions/forms/DataContext/Context.js.map +1 -1
  507. package/extensions/forms/DataContext/Provider.js +7 -3
  508. package/extensions/forms/DataContext/Provider.js.map +1 -1
  509. package/extensions/forms/DataContext/index.d.ts +0 -2
  510. package/extensions/forms/DataContext/index.js +0 -2
  511. package/extensions/forms/DataContext/index.js.map +1 -1
  512. package/extensions/forms/Field/ArraySelection.d.ts +2 -3
  513. package/extensions/forms/Field/ArraySelection.js +4 -4
  514. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  515. package/extensions/forms/Field/CountryCode.d.ts +2 -3
  516. package/extensions/forms/Field/CountryCode.js +4 -5
  517. package/extensions/forms/Field/CountryCode.js.map +1 -1
  518. package/extensions/forms/Field/Currency.d.ts +2 -3
  519. package/extensions/forms/Field/Currency.js.map +1 -1
  520. package/extensions/forms/Field/Date.d.ts +2 -3
  521. package/extensions/forms/Field/Date.js +4 -4
  522. package/extensions/forms/Field/Date.js.map +1 -1
  523. package/extensions/forms/Field/Number.d.ts +2 -3
  524. package/extensions/forms/Field/Number.js +4 -4
  525. package/extensions/forms/Field/Number.js.map +1 -1
  526. package/extensions/forms/Field/Option.d.ts +2 -3
  527. package/extensions/forms/Field/Option.js.map +1 -1
  528. package/extensions/forms/Field/PhoneNumber.d.ts +2 -3
  529. package/extensions/forms/Field/PhoneNumber.js +4 -4
  530. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  531. package/extensions/forms/Field/PostalCodeAndCity.d.ts +2 -2
  532. package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  533. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  534. package/extensions/forms/Field/Selection.d.ts +2 -3
  535. package/extensions/forms/Field/Selection.js +6 -7
  536. package/extensions/forms/Field/Selection.js.map +1 -1
  537. package/extensions/forms/Field/String.d.ts +2 -3
  538. package/extensions/forms/Field/String.js +5 -7
  539. package/extensions/forms/Field/String.js.map +1 -1
  540. package/extensions/forms/Field/Toggle.d.ts +2 -3
  541. package/extensions/forms/Field/Toggle.js +5 -5
  542. package/extensions/forms/Field/Toggle.js.map +1 -1
  543. package/extensions/forms/Field/index.d.ts +0 -4
  544. package/extensions/forms/Field/index.js +0 -4
  545. package/extensions/forms/Field/index.js.map +1 -1
  546. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -3
  547. package/extensions/forms/FieldBlock/FieldBlock.js +74 -9
  548. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  549. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  550. package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  551. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  552. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  553. package/extensions/forms/FieldBlock/index.js +3 -1
  554. package/extensions/forms/FieldBlock/index.js.map +1 -1
  555. package/extensions/forms/Form/FormElement.d.ts +4 -0
  556. package/extensions/forms/Form/FormElement.js +31 -0
  557. package/extensions/forms/Form/FormElement.js.map +1 -0
  558. package/extensions/forms/Form/FormHandler.d.ts +6 -0
  559. package/extensions/forms/Form/FormHandler.js +33 -0
  560. package/extensions/forms/Form/FormHandler.js.map +1 -0
  561. package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  562. package/extensions/forms/Form/SubmitButton.js +25 -0
  563. package/extensions/forms/Form/SubmitButton.js.map +1 -0
  564. package/extensions/forms/Form/index.d.ts +9 -0
  565. package/extensions/forms/Form/index.js +10 -0
  566. package/extensions/forms/Form/index.js.map +1 -0
  567. package/extensions/forms/Iterate/Array.d.ts +17 -0
  568. package/extensions/forms/Iterate/Array.js +81 -0
  569. package/extensions/forms/Iterate/Array.js.map +1 -0
  570. package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  571. package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  572. package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  573. package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  574. package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  575. package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  576. package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  577. package/extensions/forms/Iterate/IterateElementContext.js +4 -0
  578. package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  579. package/extensions/forms/Iterate/index.d.ts +11 -0
  580. package/extensions/forms/Iterate/index.js +12 -0
  581. package/extensions/forms/Iterate/index.js.map +1 -0
  582. package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  583. package/extensions/forms/Layout/ButtonRow.js +2 -2
  584. package/extensions/forms/Layout/ButtonRow.js.map +1 -1
  585. package/extensions/forms/Layout/Card.d.ts +1 -1
  586. package/extensions/forms/Layout/Card.js +4 -4
  587. package/extensions/forms/Layout/Card.js.map +1 -1
  588. package/extensions/forms/Layout/FlexContainer.d.ts +1 -1
  589. package/extensions/forms/Layout/FlexContainer.js +3 -3
  590. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  591. package/extensions/forms/Layout/FlexItem.d.ts +1 -1
  592. package/extensions/forms/Layout/FlexItem.js +2 -2
  593. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  594. package/extensions/forms/Layout/MainHeading.d.ts +4 -2
  595. package/extensions/forms/Layout/MainHeading.js +10 -4
  596. package/extensions/forms/Layout/MainHeading.js.map +1 -1
  597. package/extensions/forms/Layout/Section.d.ts +1 -1
  598. package/extensions/forms/Layout/Section.js +2 -2
  599. package/extensions/forms/Layout/Section.js.map +1 -1
  600. package/extensions/forms/Layout/SubHeading.d.ts +4 -2
  601. package/extensions/forms/Layout/SubHeading.js +10 -4
  602. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  603. package/extensions/forms/Layout/index.d.ts +0 -2
  604. package/extensions/forms/Layout/index.js +1 -3
  605. package/extensions/forms/Layout/index.js.map +1 -1
  606. package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  607. package/extensions/forms/StepsLayout/Buttons.js +2 -2
  608. package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  609. package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  610. package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  611. package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  612. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  613. package/extensions/forms/StepsLayout/Step.d.ts +1 -1
  614. package/extensions/forms/StepsLayout/Step.js +2 -2
  615. package/extensions/forms/StepsLayout/Step.js.map +1 -1
  616. package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  617. package/extensions/forms/StepsLayout/StepsLayout.js +2 -2
  618. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  619. package/extensions/forms/Value/Boolean.d.ts +2 -3
  620. package/extensions/forms/Value/Boolean.js +4 -4
  621. package/extensions/forms/Value/Boolean.js.map +1 -1
  622. package/extensions/forms/Value/Number.d.ts +2 -3
  623. package/extensions/forms/Value/Number.js +5 -4
  624. package/extensions/forms/Value/Number.js.map +1 -1
  625. package/extensions/forms/Value/String.d.ts +2 -3
  626. package/extensions/forms/Value/String.js +4 -4
  627. package/extensions/forms/Value/String.js.map +1 -1
  628. package/extensions/forms/Value/index.d.ts +0 -4
  629. package/extensions/forms/Value/index.js +0 -4
  630. package/extensions/forms/Value/index.js.map +1 -1
  631. package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  632. package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  633. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  634. package/extensions/forms/hooks/index.d.ts +1 -0
  635. package/extensions/forms/hooks/index.js +1 -0
  636. package/extensions/forms/hooks/index.js.map +1 -0
  637. package/extensions/forms/hooks/useDataValue.d.ts +12 -0
  638. package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +59 -25
  639. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  640. package/extensions/forms/index.d.ts +4 -4
  641. package/extensions/forms/index.js +3 -2
  642. package/extensions/forms/index.js.map +1 -1
  643. package/extensions/forms/types.d.ts +95 -2
  644. package/extensions/forms/types.js +60 -0
  645. package/extensions/forms/types.js.map +1 -1
  646. package/extensions/forms/utils/index.d.ts +0 -1
  647. package/extensions/forms/utils/index.js +0 -1
  648. package/extensions/forms/utils/index.js.map +1 -1
  649. package/extensions/lib.d.ts +0 -2
  650. package/extensions/payment-card/style/dnb-payment-card.css +7 -7
  651. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  652. package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  653. package/package.json +2 -1
  654. package/shared/Eufemia.d.ts +1 -1
  655. package/shared/Eufemia.js +2 -2
  656. package/shared/Eufemia.js.map +1 -1
  657. package/shared/useMedia.js +33 -23
  658. package/shared/useMedia.js.map +1 -1
  659. package/style/dnb-ui-components.css +119 -2
  660. package/style/dnb-ui-components.min.css +1 -1
  661. package/style/dnb-ui-elements.css +17 -11
  662. package/style/dnb-ui-elements.min.css +1 -1
  663. package/style/dnb-ui-extensions.css +7 -7
  664. package/style/dnb-ui-extensions.min.css +1 -1
  665. package/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -11
  666. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  667. package/style/themes/theme-eiendom/eiendom-theme-components.css +131 -136
  668. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  669. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -7
  670. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  671. package/style/themes/theme-sbanken/customisations.scss +4 -0
  672. package/style/themes/theme-sbanken/sbanken-theme-basis.css +40 -21
  673. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  674. package/style/themes/theme-sbanken/sbanken-theme-components.css +155 -152
  675. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +11 -3
  676. package/style/themes/theme-sbanken/sbanken-theme-components.scss +3 -3
  677. package/style/themes/theme-sbanken/sbanken-theme-elements.css +38 -21
  678. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  679. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +7 -7
  680. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  681. package/style/themes/theme-ui/ui-theme-basis.css +19 -11
  682. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  683. package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  684. package/style/themes/theme-ui/ui-theme-components.css +131 -136
  685. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  686. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  687. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  688. package/style/themes/theme-ui/ui-theme-extensions.css +7 -7
  689. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  690. package/style/themes/theme-ui/ui-theme-tags.css +17 -11
  691. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  692. package/umd/dnb-ui-basis.min.js +1 -1
  693. package/umd/dnb-ui-components.min.js +1 -1
  694. package/umd/dnb-ui-elements.min.js +1 -1
  695. package/umd/dnb-ui-extensions.min.js +3 -3
  696. package/umd/dnb-ui-lib.min.js +1 -1
  697. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  698. package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
  699. package/cjs/extensions/forms/Field/FirstName.js +0 -31
  700. package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
  701. package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
  702. package/cjs/extensions/forms/Field/LastName.js +0 -31
  703. package/cjs/extensions/forms/Field/LastName.js.map +0 -1
  704. package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
  705. package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
  706. package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -9
  707. package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
  708. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  709. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
  710. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  711. package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
  712. package/cjs/extensions/forms/FieldGroup/index.js +0 -27
  713. package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
  714. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  715. package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
  716. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  717. package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
  718. package/cjs/extensions/forms/Value/FirstName.js +0 -28
  719. package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
  720. package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
  721. package/cjs/extensions/forms/Value/LastName.js +0 -28
  722. package/cjs/extensions/forms/Value/LastName.js.map +0 -1
  723. package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
  724. package/cjs/extensions/forms/Value/hooks/index.js +0 -14
  725. package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
  726. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  727. package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
  728. package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
  729. package/cjs/extensions/forms/component-types.d.ts +0 -4
  730. package/cjs/extensions/forms/component-types.js +0 -1
  731. package/cjs/extensions/forms/component-types.js.map +0 -1
  732. package/cjs/extensions/forms/field-types.d.ts +0 -58
  733. package/cjs/extensions/forms/field-types.js +0 -1
  734. package/cjs/extensions/forms/field-types.js.map +0 -1
  735. package/cjs/extensions/forms/utils/components.d.ts +0 -3
  736. package/cjs/extensions/forms/utils/components.js +0 -32
  737. package/cjs/extensions/forms/utils/components.js.map +0 -1
  738. package/cjs/extensions/forms/value-types.d.ts +0 -15
  739. package/cjs/extensions/forms/value-types.js +0 -1
  740. package/cjs/extensions/forms/value-types.js.map +0 -1
  741. package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
  742. package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  743. package/es/extensions/forms/Field/FirstName.d.ts +0 -7
  744. package/es/extensions/forms/Field/FirstName.js +0 -19
  745. package/es/extensions/forms/Field/FirstName.js.map +0 -1
  746. package/es/extensions/forms/Field/LastName.d.ts +0 -7
  747. package/es/extensions/forms/Field/LastName.js +0 -19
  748. package/es/extensions/forms/Field/LastName.js.map +0 -1
  749. package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
  750. package/es/extensions/forms/Field/hooks/index.js +0 -1
  751. package/es/extensions/forms/Field/hooks/index.js.map +0 -1
  752. package/es/extensions/forms/Field/hooks/useField.d.ts +0 -9
  753. package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
  754. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  755. package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
  756. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  757. package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
  758. package/es/extensions/forms/FieldGroup/index.js +0 -3
  759. package/es/extensions/forms/FieldGroup/index.js.map +0 -1
  760. package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  761. package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
  762. package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  763. package/es/extensions/forms/Value/FirstName.d.ts +0 -7
  764. package/es/extensions/forms/Value/FirstName.js +0 -16
  765. package/es/extensions/forms/Value/FirstName.js.map +0 -1
  766. package/es/extensions/forms/Value/LastName.d.ts +0 -7
  767. package/es/extensions/forms/Value/LastName.js +0 -16
  768. package/es/extensions/forms/Value/LastName.js.map +0 -1
  769. package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
  770. package/es/extensions/forms/Value/hooks/index.js +0 -1
  771. package/es/extensions/forms/Value/hooks/index.js.map +0 -1
  772. package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  773. package/es/extensions/forms/Value/hooks/useValue.js +0 -22
  774. package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
  775. package/es/extensions/forms/component-types.d.ts +0 -4
  776. package/es/extensions/forms/component-types.js +0 -1
  777. package/es/extensions/forms/component-types.js.map +0 -1
  778. package/es/extensions/forms/field-types.d.ts +0 -58
  779. package/es/extensions/forms/field-types.js +0 -1
  780. package/es/extensions/forms/field-types.js.map +0 -1
  781. package/es/extensions/forms/utils/components.d.ts +0 -3
  782. package/es/extensions/forms/utils/components.js +0 -23
  783. package/es/extensions/forms/utils/components.js.map +0 -1
  784. package/es/extensions/forms/value-types.d.ts +0 -15
  785. package/es/extensions/forms/value-types.js +0 -1
  786. package/es/extensions/forms/value-types.js.map +0 -1
  787. package/extensions/forms/DataContext/SubmitButton.js +0 -20
  788. package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  789. package/extensions/forms/Field/FirstName.d.ts +0 -7
  790. package/extensions/forms/Field/FirstName.js +0 -19
  791. package/extensions/forms/Field/FirstName.js.map +0 -1
  792. package/extensions/forms/Field/LastName.d.ts +0 -7
  793. package/extensions/forms/Field/LastName.js +0 -19
  794. package/extensions/forms/Field/LastName.js.map +0 -1
  795. package/extensions/forms/Field/hooks/index.d.ts +0 -1
  796. package/extensions/forms/Field/hooks/index.js +0 -1
  797. package/extensions/forms/Field/hooks/index.js.map +0 -1
  798. package/extensions/forms/Field/hooks/useField.d.ts +0 -9
  799. package/extensions/forms/Field/hooks/useField.js.map +0 -1
  800. package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  801. package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
  802. package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  803. package/extensions/forms/FieldGroup/index.d.ts +0 -2
  804. package/extensions/forms/FieldGroup/index.js +0 -3
  805. package/extensions/forms/FieldGroup/index.js.map +0 -1
  806. package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  807. package/extensions/forms/Layout/InfoCardSection.js +0 -17
  808. package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  809. package/extensions/forms/Value/FirstName.d.ts +0 -7
  810. package/extensions/forms/Value/FirstName.js +0 -16
  811. package/extensions/forms/Value/FirstName.js.map +0 -1
  812. package/extensions/forms/Value/LastName.d.ts +0 -7
  813. package/extensions/forms/Value/LastName.js +0 -16
  814. package/extensions/forms/Value/LastName.js.map +0 -1
  815. package/extensions/forms/Value/hooks/index.d.ts +0 -1
  816. package/extensions/forms/Value/hooks/index.js +0 -1
  817. package/extensions/forms/Value/hooks/index.js.map +0 -1
  818. package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  819. package/extensions/forms/Value/hooks/useValue.js +0 -22
  820. package/extensions/forms/Value/hooks/useValue.js.map +0 -1
  821. package/extensions/forms/component-types.d.ts +0 -4
  822. package/extensions/forms/component-types.js +0 -1
  823. package/extensions/forms/component-types.js.map +0 -1
  824. package/extensions/forms/field-types.d.ts +0 -58
  825. package/extensions/forms/field-types.js +0 -1
  826. package/extensions/forms/field-types.js.map +0 -1
  827. package/extensions/forms/utils/components.d.ts +0 -3
  828. package/extensions/forms/utils/components.js +0 -23
  829. package/extensions/forms/utils/components.js.map +0 -1
  830. package/extensions/forms/value-types.d.ts +0 -15
  831. package/extensions/forms/value-types.js +0 -1
  832. package/extensions/forms/value-types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useField","default","FieldBlock","Field","useValue","ValueBlock","Value","Layout","StepsLayout","StepsContext","DataContext","Visibility"],"sources":["../../../../src/extensions/forms/index.ts"],"sourcesContent":["export type { FieldProps } from './field-types'\nexport type { ValueProps } from './value-types'\nexport { useField } from './Field/hooks'\nexport { default as FieldBlock } from './FieldBlock'\nexport { default as Field } from './Field'\nexport { useValue } from './Value/hooks'\nexport { default as ValueBlock } from './ValueBlock'\nexport { default as Value } from './Value'\nexport { default as Layout } from './Layout'\nexport { default as StepsLayout, StepsContext } from './StepsLayout'\nexport { default as DataContext } from './DataContext'\nexport { default as Visibility } from './Visibility'\nexport * from './utils'\n"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,eAAe;AACxC,SAASC,OAAO,IAAIC,UAAU,QAAQ,cAAc;AACpD,SAASD,OAAO,IAAIE,KAAK,QAAQ,SAAS;AAC1C,SAASC,QAAQ,QAAQ,eAAe;AACxC,SAASH,OAAO,IAAII,UAAU,QAAQ,cAAc;AACpD,SAASJ,OAAO,IAAIK,KAAK,QAAQ,SAAS;AAC1C,SAASL,OAAO,IAAIM,MAAM,QAAQ,UAAU;AAC5C,SAASN,OAAO,IAAIO,WAAW,EAAEC,YAAY,QAAQ,eAAe;AACpE,SAASR,OAAO,IAAIS,WAAW,QAAQ,eAAe;AACtD,SAAST,OAAO,IAAIU,UAAU,QAAQ,cAAc;AACpD,cAAc,SAAS"}
1
+ {"version":3,"file":"index.js","names":["useDataValue","default","FieldBlock","Field","Iterate","ValueBlock","Form","Value","Layout","StepsLayout","StepsContext","DataContext","Visibility"],"sources":["../../../../src/extensions/forms/index.ts"],"sourcesContent":["export type { FieldProps, ValueProps } from './types'\nexport { useDataValue } from './hooks'\nexport { default as FieldBlock } from './FieldBlock'\nexport { default as Field } from './Field'\nexport { default as Iterate } from './Iterate'\nexport { default as ValueBlock } from './ValueBlock'\nexport { default as Form } from './Form'\nexport { default as Value } from './Value'\nexport { default as Layout } from './Layout'\nexport { default as StepsLayout, StepsContext } from './StepsLayout'\nexport { default as DataContext } from './DataContext'\nexport { default as Visibility } from './Visibility'\nexport * from './utils'\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,SAAS;AACtC,SAASC,OAAO,IAAIC,UAAU,QAAQ,cAAc;AACpD,SAASD,OAAO,IAAIE,KAAK,QAAQ,SAAS;AAC1C,SAASF,OAAO,IAAIG,OAAO,QAAQ,WAAW;AAC9C,SAASH,OAAO,IAAII,UAAU,QAAQ,cAAc;AACpD,SAASJ,OAAO,IAAIK,IAAI,QAAQ,QAAQ;AACxC,SAASL,OAAO,IAAIM,KAAK,QAAQ,SAAS;AAC1C,SAASN,OAAO,IAAIO,MAAM,QAAQ,UAAU;AAC5C,SAASP,OAAO,IAAIQ,WAAW,EAAEC,YAAY,QAAQ,eAAe;AACpE,SAAST,OAAO,IAAIU,WAAW,QAAQ,eAAe;AACtD,SAASV,OAAO,IAAIW,UAAU,QAAQ,cAAc;AACpD,cAAc,SAAS"}
@@ -1,11 +1,104 @@
1
- interface IOptions {
1
+ import { JSONSchema7 } from 'json-schema';
2
+ import { SpacingProps } from '../../components/space/types';
3
+ interface IFormErrorOptions {
2
4
  validationRule?: string | string[];
3
5
  }
6
+ /**
7
+ * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling
8
+ */
4
9
  export declare class FormError extends Error {
5
10
  /**
6
11
  * What validation rule did the error occur based on? (i.e: minLength, required or maximum)
7
12
  */
8
13
  validationRule?: string | string[];
9
- constructor(message: string, options?: IOptions);
14
+ constructor(message: string, options?: IFormErrorOptions);
15
+ }
16
+ export declare const pickSpacingProps: <Props extends SpacingProps>(props: Props) => SpacingProps;
17
+ export declare const omitSpacingProps: <Props extends SpacingProps>(props: Props) => Omit<Props, "space" | keyof import("../../components/space/types").SpacingElementProps>;
18
+ interface DefaultErrorMessages {
19
+ required?: string;
20
+ }
21
+ export interface DataValueReadProps<Value = unknown> {
22
+ /** JSON Pointer for where the data for this field is located in the source dataset */
23
+ path?: string;
24
+ /** JSON Pointer for where the data for this field is located in the source iterate loop element */
25
+ elementPath?: string;
26
+ value?: Value;
27
+ }
28
+ export declare function pickDataValueReadProps<Props extends DataValueReadProps>(props: Props): DataValueReadProps;
29
+ export declare function omitDataValueReadProps<Props extends DataValueReadProps>(props: Props): Omit<DataValueReadProps, keyof DataValueReadProps>;
30
+ export interface DataValueWriteProps<Value = unknown, EmptyValue = undefined | string | number> {
31
+ emptyValue?: EmptyValue;
32
+ onFocus?: (value: Value | EmptyValue) => void;
33
+ onBlur?: (value: Value | EmptyValue) => void;
34
+ onChange?: (value: Value | EmptyValue) => void;
35
+ }
36
+ export declare function pickDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): DataValueWriteProps;
37
+ export declare function omitDataValueWriteProps<Props extends DataValueWriteProps>(props: Props): Omit<DataValueWriteProps, keyof DataValueWriteProps>;
38
+ export type DataValueReadWriteProps<Value = unknown, EmptyValue = undefined | string | number> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
39
+ export declare function pickDataValueReadWriteProps<Props extends DataValueReadWriteProps>(props: Props): DataValueReadWriteProps;
40
+ export declare function omitDataValueReadWriteProps<Props extends DataValueReadWriteProps>(props: Props): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps>;
41
+ export type ComponentProps = SpacingProps & {
42
+ className?: string;
43
+ };
44
+ export type DataValueReadComponentProps<Value = unknown> = ComponentProps & DataValueReadProps<Value>;
45
+ export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | string | number> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
46
+ export interface FieldProps<Value = unknown, EmptyValue = undefined | string | number, ErrorMessages extends {
47
+ required?: string;
48
+ } = DefaultErrorMessages> extends DataValueReadWriteComponentProps<Value, EmptyValue> {
49
+ /** ID added to the actual field component, and linked to the label via for-attribute */
50
+ id?: string;
51
+ layout?: 'horizontal' | 'vertical';
52
+ /** Main label text */
53
+ label?: string;
54
+ /** A more discreet text displayed beside the label (i.e for "(optional)") */
55
+ labelDescription?: string;
56
+ /** Secondary information displayed at the end of the label line (i.e character counter) */
57
+ labelSecondary?: string;
58
+ /** Text showing in place of the value if no value is given */
59
+ placeholder?: string;
60
+ info?: Error | FormError | string;
61
+ warning?: Error | FormError | string;
62
+ error?: Error | FormError;
63
+ disabled?: boolean;
64
+ required?: boolean;
65
+ schema?: JSONSchema7;
66
+ validator?: (value: Value | EmptyValue) => Error | undefined | Promise<Error | undefined>;
67
+ onBlurValidator?: (value: Value | EmptyValue) => Error | undefined | Promise<Error | undefined>;
68
+ /**
69
+ * Should error messages based on validation be shown initially (from given value-prop or source data)
70
+ * before the user interacts with the field?
71
+ * @default false
72
+ * */
73
+ validateInitially?: boolean;
74
+ /**
75
+ * Should error messages be shown when touching (like focusing a field and blurring) without having changed
76
+ * the value? So the user did not introduce a new error, but it was invalid based on validation initially.
77
+ */
78
+ validateUnchanged?: boolean;
79
+ /** Should validation be done while writing, not just when blurring the field? */
80
+ continuousValidation?: boolean;
81
+ errorMessages?: ErrorMessages;
82
+ toInput?: (external: Value | undefined) => any;
83
+ fromInput?: (...args: any[]) => Value | undefined;
84
+ }
85
+ export interface FieldHelpProps {
86
+ help?: {
87
+ title?: string;
88
+ contents?: string;
89
+ };
90
+ }
91
+ export interface ValueProps<Value> extends DataValueReadComponentProps<Value> {
92
+ label?: string;
93
+ /** Should the component render if the value is empty? */
94
+ showEmpty?: boolean;
95
+ /** Text showing in place of the value if no value is given. */
96
+ placeholder?: string;
97
+ /** JSON Pointer for where the data for this field is located in the source iterate loop element */
98
+ elementPath?: string;
99
+ /** For showing the value inline (not as a block element) */
100
+ inline?: boolean;
101
+ /** Prepare value for display (regardless of source like props or data context) */
102
+ prepare?: (external: Value | undefined) => string;
10
103
  }
11
104
  export {};
@@ -1,4 +1,6 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ const _excluded = ["space", "top", "bottom", "left", "right"];
2
4
  export class FormError extends Error {
3
5
  constructor(message, options) {
4
6
  super(message);
@@ -8,4 +10,62 @@ export class FormError extends Error {
8
10
  }
9
11
  }
10
12
  }
13
+ export const pickSpacingProps = props => {
14
+ return {
15
+ space: props === null || props === void 0 ? void 0 : props.space,
16
+ top: props === null || props === void 0 ? void 0 : props.top,
17
+ bottom: props === null || props === void 0 ? void 0 : props.bottom,
18
+ left: props === null || props === void 0 ? void 0 : props.left,
19
+ right: props === null || props === void 0 ? void 0 : props.right
20
+ };
21
+ };
22
+ export const omitSpacingProps = props => {
23
+ const {
24
+ space,
25
+ top,
26
+ bottom,
27
+ left,
28
+ right
29
+ } = props,
30
+ restProps = _objectWithoutProperties(props, _excluded);
31
+ return restProps;
32
+ };
33
+ const dataValueReadProps = ['path', 'elementPath', 'value'];
34
+ export function pickDataValueReadProps(props) {
35
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref => {
36
+ let [key] = _ref;
37
+ return dataValueReadProps.includes(key);
38
+ }));
39
+ }
40
+ export function omitDataValueReadProps(props) {
41
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref2 => {
42
+ let [key] = _ref2;
43
+ return !dataValueReadProps.includes(key);
44
+ }));
45
+ }
46
+ const dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange'];
47
+ export function pickDataValueWriteProps(props) {
48
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref3 => {
49
+ let [key] = _ref3;
50
+ return dataValueWriteProps.includes(key);
51
+ }));
52
+ }
53
+ export function omitDataValueWriteProps(props) {
54
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref4 => {
55
+ let [key] = _ref4;
56
+ return !dataValueWriteProps.includes(key);
57
+ }));
58
+ }
59
+ export function pickDataValueReadWriteProps(props) {
60
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref5 => {
61
+ let [key] = _ref5;
62
+ return dataValueReadProps.includes(key) || dataValueWriteProps.includes(key);
63
+ }));
64
+ }
65
+ export function omitDataValueReadWriteProps(props) {
66
+ return Object.fromEntries(Object.entries(props ?? {}).filter(_ref6 => {
67
+ let [key] = _ref6;
68
+ return !dataValueReadProps.includes(key) && !dataValueWriteProps.includes(key);
69
+ }));
70
+ }
11
71
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["interface IOptions {\n validationRule?: string | string[]\n}\n\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: string | string[]\n\n constructor(message: string, options?: IOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n }\n }\n}\n"],"mappings":";AAIA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAMnCC,WAAWA,CAACC,OAAe,EAAEC,OAAkB,EAAE;IAC/C,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,IAAI,CAACE,cAAc,GAAGF,OAAO,CAACE,cAAc;IAC9C;EACF;AACF"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","validationRule","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","restProps","_objectWithoutProperties","_excluded","dataValueReadProps","pickDataValueReadProps","Object","fromEntries","entries","filter","_ref","key","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import { JSONSchema7 } from 'json-schema'\nimport { SpacingProps } from '../../components/space/types'\n\ninterface IFormErrorOptions {\n validationRule?: string | string[]\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: string | string[]\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n this.validationRule = options.validationRule\n }\n }\n}\n\n// Spacing\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = <Props extends SpacingProps>(\n props: Props\n): Omit<Props, keyof SpacingProps> => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { space, top, bottom, left, right, ...restProps } = props\n return restProps\n}\n\n// Data value\n\ninterface DefaultErrorMessages {\n required?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'elementPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: (value: Value | EmptyValue) => void\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport interface FieldProps<\n Value = unknown,\n EmptyValue = undefined | string | number,\n ErrorMessages extends { required?: string } = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue> {\n /** ID added to the actual field component, and linked to the label via for-attribute */\n id?: string\n layout?: 'horizontal' | 'vertical'\n /** Main label text */\n label?: string\n /** A more discreet text displayed beside the label (i.e for \"(optional)\") */\n labelDescription?: string\n /** Secondary information displayed at the end of the label line (i.e character counter) */\n labelSecondary?: string\n /** Text showing in place of the value if no value is given */\n placeholder?: string\n info?: Error | FormError | string\n warning?: Error | FormError | string\n error?: Error | FormError\n disabled?: boolean\n // Validation\n required?: boolean\n schema?: JSONSchema7\n validator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | Promise<Error | undefined>\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n * */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /** Should validation be done while writing, not just when blurring the field? */\n continuousValidation?: boolean\n errorMessages?: ErrorMessages\n // Derivatives\n toInput?: (external: Value | undefined) => any\n fromInput?: (...args: any[]) => Value | undefined\n}\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n contents?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n label?: string\n /** Should the component render if the value is empty? */\n showEmpty?: boolean\n /** Text showing in place of the value if no value is given. */\n placeholder?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n elementPath?: string\n /** For showing the value inline (not as a block element) */\n inline?: boolean\n // Derivatives\n /** Prepare value for display (regardless of source like props or data context) */\n prepare?: (external: Value | undefined) => string\n}\n"],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export * from './numbers';
2
- export * from './components';
3
2
  export { default as TestElement } from './TestElement/TestElement';
@@ -1,4 +1,3 @@
1
1
  export * from './numbers';
2
- export * from './components';
3
2
  export { default as TestElement } from './TestElement/TestElement';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './numbers'\nexport * from './components'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,cAAc;AAC5B,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
1
+ {"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './numbers'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
@@ -19,8 +19,6 @@ export declare const getExtensions: () => {
19
19
  Currency: typeof import("./forms/Field/Currency").default;
20
20
  Date: typeof import("./forms/Field/Date").default;
21
21
  Email: typeof import("./forms/Field/Email").default;
22
- FirstName: typeof import("./forms/Field/FirstName").default;
23
- LastName: typeof import("./forms/Field/LastName").default;
24
22
  NationalIdentityNumber: typeof import("./forms/Field/NationalIdentityNumber").default;
25
23
  OrganizationNumber: typeof import("./forms/Field/OrganizationNumber").default;
26
24
  PhoneNumber: typeof import("./forms/Field/PhoneNumber").default;
@@ -54,10 +54,10 @@
54
54
  }
55
55
  .dnb-payment-card__card {
56
56
  position: relative;
57
- width: 85.6mm;
58
- height: 53.98mm;
59
- padding: 4mm;
60
- border-radius: 3.48mm;
57
+ width: 343px;
58
+ height: 216px;
59
+ padding: 16px;
60
+ border-radius: 12px;
61
61
  border: 1px solid;
62
62
  border-color: rgba(255, 255, 255, 0.1) transparent rgba(0, 0, 0, 0.2) transparent;
63
63
  color: var(--color-white);
@@ -195,7 +195,7 @@
195
195
  .dnb-payment-card--compact .dnb-payment-card__card {
196
196
  padding: 0;
197
197
  height: 32.8mm;
198
- border-radius: 3.48mm 3.48mm 0 0;
198
+ border-radius: 12px 12px 0 0;
199
199
  box-shadow: var(--shadow-default);
200
200
  }
201
201
  .dnb-payment-card--compact .dnb-payment-card__card__top {
@@ -213,14 +213,14 @@
213
213
  background-color: var(--color-white);
214
214
  }
215
215
  .dnb-payment-card--compact .dnb-payment-card__card__wrapper {
216
- padding: 1.5mm 6mm;
216
+ padding: 6px 22px;
217
217
  color: var(--color-black-80);
218
218
  }
219
219
  .dnb-payment-card--compact .dnb-payment-card__card__numbers {
220
220
  font-size: var(--font-size-basis);
221
221
  }
222
222
  .dnb-payment-card--compact .dnb-payment-card__card__credit-type {
223
- top: 8px;
223
+ top: 10px;
224
224
  right: 4px;
225
225
  bottom: auto;
226
226
  }
@@ -1 +1 @@
1
- .dnb-payment-card{--color-dark-cyan:#003b47;--dnb-payment-bg-default:linear-gradient(187.2deg,#008484 6.31%,var(--color-sea-green) 82.66%);--dnb-payment-bg-pluss:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-white:linear-gradient(184.55deg,var(--color-black-background) 4.63%,var(--color-white) 92.04%);--dnb-payment-bg-gold:linear-gradient(184.55deg,#bfa970 4.63%,#d3bd83 84.57%);--dnb-payment-bg-saga:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-private:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-business-no-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-business-with-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);margin:0}.dnb-payment-card__card{border-color:currentcolor;border-color:hsla(0,0%,100%,.1) transparent rgba(0,0,0,.2);border-radius:3.48mm;border-style:solid;border-width:1px;box-shadow:var(--shadow-default);color:var(--color-white);height:53.98mm;padding:4mm;position:relative;transition:all 225ms cubic-bezier(0,0,.2,1) 0ms;width:85.6mm}.dnb-payment-card__card--design-default{background:var(--dnb-payment-bg-default);color:var(--color-white)}.dnb-payment-card__card--design-pluss{background:var(--dnb-payment-bg-pluss);color:var(--color-white)}.dnb-payment-card__card--design-my-first,.dnb-payment-card__card--design-ung,.dnb-payment-card__card--design-youth{color:var(--color-black-80)}.dnb-payment-card__card--design-gold{background:var(--dnb-payment-bg-gold);color:var(--color-white)}.dnb-payment-card__card--design-saga{background:var(--dnb-payment-bg-saga);color:var(--color-white)}.dnb-payment-card__card--design-private{background:var(--dnb-payment-bg-private);color:var(--color-white)}.dnb-payment-card__card--design-black{background:var(--color-black);color:var(--color-white)}.dnb-payment-card__card--design-business-no-visa{background:var(--dnb-payment-bg-business-no-visa);color:var(--color-white)}.dnb-payment-card__card--design-business-with-visa{background:var(--dnb-payment-bg-business-with-visa);color:var(--color-white)}.dnb-payment-card__card:after{background:radial-gradient(52.39% 52.39% at 50%,at 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);background:radial-gradient(52.39% 52.39% at 50% 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);border-radius:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dnb-payment-card__card__content{display:flex;height:100%;position:relative;width:100%}.dnb-payment-card__card__wrapper{bottom:0;left:0;position:absolute}.dnb-spacing .dnb-payment-card__card .dnb-p{margin-bottom:0!important}.dnb-payment-card__card__holder{font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase}.dnb-payment-card__card__holder.dnb-p{font-size:.625rem}.dnb-payment-card__card__numbers{font-size:1.5rem!important;font-weight:var(--font-weight-medium)}.dnb-payment-card__card__credit-type{bottom:0;position:absolute;right:0}.dnb-payment-card__card__bank-logo{left:0;position:absolute;top:0}.dnb-payment-card__card__product-type{height:38px;left:70px;position:absolute;top:0}.dnb-payment-card__card__bank-axept{height:45px;position:absolute;right:0;top:0}.dnb-payment-card__blocking__overlay{align-items:center;background:linear-gradient(184.55deg,hsla(0,0%,80%,.5) 4.63%,hsla(0,0%,91%,.5) 84.83%);border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.dnb-payment-card__blocking__center{align-items:center;background:var(--color-black-80);border-radius:4px;color:var(--color-sand-yellow);display:flex;flex-direction:column;justify-content:center;padding:1rem}.dnb-payment-card__blocking svg{shape-rendering:geometricprecision}.dnb-payment-card.dnb-skeleton .dnb-payment-card__card__holder{opacity:1}.dnb-payment-card--compact .dnb-payment-card__card{border-radius:3.48mm 3.48mm 0 0;box-shadow:var(--shadow-default);height:32.8mm;padding:0}.dnb-payment-card--compact .dnb-payment-card__card__top{left:6mm;position:absolute;right:6mm;top:4mm}.dnb-payment-card--compact .dnb-payment-card__card__bottom{background-color:var(--color-white);bottom:0;height:14mm;left:0;position:absolute;right:0}.dnb-payment-card--compact .dnb-payment-card__card__wrapper{color:var(--color-black-80);padding:1.5mm 6mm}.dnb-payment-card--compact .dnb-payment-card__card__numbers{font-size:var(--font-size-basis)}.dnb-payment-card--compact .dnb-payment-card__card__credit-type{bottom:auto;right:4px;top:8px}.dnb-payment-card--compact .dnb-payment-card__blocking__center{grid-gap:var(--spacing-x-small);align-items:center;background:rgba(0,0,0,.739);border-radius:inherit;display:flex;flex-direction:row;gap:var(--spacing-x-small);height:100%;justify-content:center;width:100%}
1
+ .dnb-payment-card{--color-dark-cyan:#003b47;--dnb-payment-bg-default:linear-gradient(187.2deg,#008484 6.31%,var(--color-sea-green) 82.66%);--dnb-payment-bg-pluss:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-white:linear-gradient(184.55deg,var(--color-black-background) 4.63%,var(--color-white) 92.04%);--dnb-payment-bg-gold:linear-gradient(184.55deg,#bfa970 4.63%,#d3bd83 84.57%);--dnb-payment-bg-saga:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-private:linear-gradient(187.2deg,#1c1c1c 6.31%,#000 82.66%);--dnb-payment-bg-business-no-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);--dnb-payment-bg-business-with-visa:linear-gradient(187.2deg,var(--color-dark-cyan) 6.31%,var(--color-ocean-green) 82.66%),var(--color-emerald-green);margin:0}.dnb-payment-card__card{border-color:currentcolor;border-color:hsla(0,0%,100%,.1) transparent rgba(0,0,0,.2);border-radius:12px;border-style:solid;border-width:1px;box-shadow:var(--shadow-default);color:var(--color-white);height:216px;padding:16px;position:relative;transition:all 225ms cubic-bezier(0,0,.2,1) 0ms;width:343px}.dnb-payment-card__card--design-default{background:var(--dnb-payment-bg-default);color:var(--color-white)}.dnb-payment-card__card--design-pluss{background:var(--dnb-payment-bg-pluss);color:var(--color-white)}.dnb-payment-card__card--design-my-first,.dnb-payment-card__card--design-ung,.dnb-payment-card__card--design-youth{color:var(--color-black-80)}.dnb-payment-card__card--design-gold{background:var(--dnb-payment-bg-gold);color:var(--color-white)}.dnb-payment-card__card--design-saga{background:var(--dnb-payment-bg-saga);color:var(--color-white)}.dnb-payment-card__card--design-private{background:var(--dnb-payment-bg-private);color:var(--color-white)}.dnb-payment-card__card--design-black{background:var(--color-black);color:var(--color-white)}.dnb-payment-card__card--design-business-no-visa{background:var(--dnb-payment-bg-business-no-visa);color:var(--color-white)}.dnb-payment-card__card--design-business-with-visa{background:var(--dnb-payment-bg-business-with-visa);color:var(--color-white)}.dnb-payment-card__card:after{background:radial-gradient(52.39% 52.39% at 50%,at 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);background:radial-gradient(52.39% 52.39% at 50% 50%,hsla(56,52%,94%,.122) 0,rgba(6,6,6,0) 100%);border-radius:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dnb-payment-card__card__content{display:flex;height:100%;position:relative;width:100%}.dnb-payment-card__card__wrapper{bottom:0;left:0;position:absolute}.dnb-spacing .dnb-payment-card__card .dnb-p{margin-bottom:0!important}.dnb-payment-card__card__holder{font-weight:var(--font-weight-medium);text-align:left;text-transform:uppercase}.dnb-payment-card__card__holder.dnb-p{font-size:.625rem}.dnb-payment-card__card__numbers{font-size:1.5rem!important;font-weight:var(--font-weight-medium)}.dnb-payment-card__card__credit-type{bottom:0;position:absolute;right:0}.dnb-payment-card__card__bank-logo{left:0;position:absolute;top:0}.dnb-payment-card__card__product-type{height:38px;left:70px;position:absolute;top:0}.dnb-payment-card__card__bank-axept{height:45px;position:absolute;right:0;top:0}.dnb-payment-card__blocking__overlay{align-items:center;background:linear-gradient(184.55deg,hsla(0,0%,80%,.5) 4.63%,hsla(0,0%,91%,.5) 84.83%);border-radius:inherit;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.dnb-payment-card__blocking__center{align-items:center;background:var(--color-black-80);border-radius:4px;color:var(--color-sand-yellow);display:flex;flex-direction:column;justify-content:center;padding:1rem}.dnb-payment-card__blocking svg{shape-rendering:geometricprecision}.dnb-payment-card.dnb-skeleton .dnb-payment-card__card__holder{opacity:1}.dnb-payment-card--compact .dnb-payment-card__card{border-radius:12px 12px 0 0;box-shadow:var(--shadow-default);height:32.8mm;padding:0}.dnb-payment-card--compact .dnb-payment-card__card__top{left:6mm;position:absolute;right:6mm;top:4mm}.dnb-payment-card--compact .dnb-payment-card__card__bottom{background-color:var(--color-white);bottom:0;height:14mm;left:0;position:absolute;right:0}.dnb-payment-card--compact .dnb-payment-card__card__wrapper{color:var(--color-black-80);padding:6px 22px}.dnb-payment-card--compact .dnb-payment-card__card__numbers{font-size:var(--font-size-basis)}.dnb-payment-card--compact .dnb-payment-card__card__credit-type{bottom:auto;right:4px;top:10px}.dnb-payment-card--compact .dnb-payment-card__blocking__center{grid-gap:var(--spacing-x-small);align-items:center;background:rgba(0,0,0,.739);border-radius:inherit;display:flex;flex-direction:row;gap:var(--spacing-x-small);height:100%;justify-content:center;width:100%}
@@ -55,11 +55,11 @@
55
55
 
56
56
  &__card {
57
57
  position: relative;
58
- width: 85.6mm;
59
- height: 53.98mm;
60
- padding: 4mm;
58
+ width: 343px;
59
+ height: 216px;
60
+ padding: 16px;
61
61
 
62
- border-radius: 3.48mm;
62
+ border-radius: 12px;
63
63
 
64
64
  border: 1px solid;
65
65
  border-color: rgb(255 255 255 / 10%) transparent rgb(0 0 0 / 20%)
@@ -244,7 +244,7 @@
244
244
  padding: 0;
245
245
  height: 32.8mm;
246
246
 
247
- border-radius: 3.48mm 3.48mm 0 0;
247
+ border-radius: 12px 12px 0 0;
248
248
  box-shadow: var(--shadow-default);
249
249
 
250
250
  &__top {
@@ -266,7 +266,7 @@
266
266
  }
267
267
 
268
268
  &__wrapper {
269
- padding: 1.5mm 6mm;
269
+ padding: 6px 22px;
270
270
  color: var(--color-black-80);
271
271
  }
272
272
 
@@ -275,7 +275,7 @@
275
275
  }
276
276
 
277
277
  &__credit-type {
278
- top: 8px;
278
+ top: 10px;
279
279
  right: 4px;
280
280
  bottom: auto;
281
281
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnb/eufemia",
3
- "version": "10.8.0",
3
+ "version": "10.9.0",
4
4
  "description": "DNB Eufemia Design System UI Library",
5
5
  "license": "SEE LICENSE IN LICENSE FILE",
6
6
  "author": "DNB Team & Tobias Høegh",
@@ -26,6 +26,7 @@
26
26
  "typings": "./index.d.ts",
27
27
  "dependencies": {
28
28
  "@babel/runtime": "7.22.5",
29
+ "@ungap/structured-clone": "1.2.0",
29
30
  "ajv": "8.12.0",
30
31
  "ajv-errors": "3.0.0",
31
32
  "classnames": "2.3.1",
@@ -1,2 +1,2 @@
1
1
  export function init(): void;
2
- export const version: "10.8.0";
2
+ export const version: "10.9.0";
package/shared/Eufemia.js CHANGED
@@ -1,9 +1,9 @@
1
- export const version = '10.8.0';
1
+ export const version = '10.9.0';
2
2
  export function init() {
3
3
  if (typeof window !== 'undefined') {
4
4
  class Eufemia {
5
5
  get version() {
6
- return '10.8.0';
6
+ return '10.9.0';
7
7
  }
8
8
  }
9
9
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.8.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.8.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,QAAQ;AAE/B,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,QAAQ;MACjB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.9.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.9.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,QAAQ;AAE/B,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,QAAQ;MACjB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -24,10 +24,36 @@ export default function useMedia() {
24
24
  disabled,
25
25
  log
26
26
  } = props;
27
- const makeResult = () => {
28
- return Object.entries(queries).reduce((acc, _ref) => {
27
+ const context = React.useContext(Context);
28
+ const refs = React.useRef({});
29
+ const defaults = React.useRef({});
30
+ const disabledRef = React.useRef(disabled);
31
+ const [result, updateRerender] = React.useState(makeResult);
32
+ React.useEffect(() => {
33
+ if (Object.keys(refs.current).length) {
34
+ makeResult();
35
+ }
36
+ return removeListeners;
37
+ }, []);
38
+ React.useEffect(() => {
39
+ if (disabledRef.current && !disabled) {
40
+ updateRerender(makeResult());
41
+ }
42
+ disabledRef.current = disabled;
43
+ }, [disabled]);
44
+ return result;
45
+ function removeListeners() {
46
+ Object.entries(refs.current).forEach(_ref => {
47
+ var _item$event;
48
+ let [key, item] = _ref;
49
+ item === null || item === void 0 ? void 0 : (_item$event = item.event) === null || _item$event === void 0 ? void 0 : _item$event.call(item);
50
+ delete refs.current[key];
51
+ });
52
+ }
53
+ function makeResult() {
54
+ return Object.entries(queries).reduce((acc, _ref2) => {
29
55
  var _item$mediaQueryList;
30
- let [key, when] = _ref;
56
+ let [key, when] = _ref2;
31
57
  const name = `is${toPascalCase(key)}`;
32
58
  if (disabled) {
33
59
  acc[name] = false;
@@ -44,12 +70,12 @@ export default function useMedia() {
44
70
  }, {
45
71
  isSSR: !isMatchMediaSupported()
46
72
  });
47
- };
48
- const runQuery = _ref2 => {
73
+ }
74
+ function runQuery(_ref3) {
49
75
  let {
50
76
  when,
51
77
  name
52
- } = _ref2;
78
+ } = _ref3;
53
79
  if (!isMatchMediaSupported()) {
54
80
  return;
55
81
  }
@@ -71,22 +97,6 @@ export default function useMedia() {
71
97
  event,
72
98
  mediaQueryList
73
99
  };
74
- };
75
- React.useEffect(() => {
76
- if (disabledRef.current && !disabled) {
77
- updateRerender(makeResult());
78
- }
79
- disabledRef.current = disabled;
80
- }, [disabled]);
81
- React.useEffect(() => removeListeners, []);
82
- const context = React.useContext(Context);
83
- const refs = React.useRef({});
84
- const defaults = React.useRef({});
85
- const disabledRef = React.useRef(disabled);
86
- const [result, updateRerender] = React.useState(makeResult);
87
- const removeListeners = () => {
88
- Object.values(refs.current).forEach(item => (item === null || item === void 0 ? void 0 : item.event) && item.event());
89
- };
90
- return result;
100
+ }
91
101
  }
92
102
  //# sourceMappingURL=useMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMedia.js","names":["React","Context","makeMediaQueryList","createMediaQueryListener","isMatchMediaSupported","toPascalCase","queries","small","min","max","medium","large","useMedia","props","arguments","length","undefined","disabled","log","makeResult","Object","entries","reduce","acc","_ref","_item$mediaQueryList","key","when","name","defaults","current","item","runQuery","mediaQueryList","matches","refs","isSSR","_ref2","context","breakpoints","event","match","disabledRef","state","_objectSpread","result","updateRerender","useEffect","removeListeners","useContext","useRef","useState","values","forEach"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n MediaQueryCondition,\n} from './MediaQueryUtils'\nimport type { MediaQueryListener } from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nexport type UseMediaProps = {\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const queries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n}\n\n/**\n * Internal stuff\n */\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n name: string\n when: MediaQueryCondition\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const { disabled, log } = props\n\n const makeResult = () => {\n return Object.entries(queries).reduce(\n (acc, [key, when]) => {\n const name = `is${toPascalCase(key)}`\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaults.current[name] = false\n\n const item = runQuery({\n name,\n when,\n })\n\n acc[name] = item?.mediaQueryList?.matches || false\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported() }\n ) as UseMediaResult\n }\n\n const runQuery = ({ when, name }: UseMediaQueryProps): UseMediaItem => {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n {\n when,\n disabled,\n log,\n },\n\n context.breakpoints\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!disabledRef.current && match) {\n const state = {\n ...defaults.current,\n isSSR: result.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n }\n\n React.useEffect(() => {\n // If it was disabled before\n if (disabledRef.current && !disabled) {\n updateRerender(makeResult())\n }\n disabledRef.current = disabled\n }, [disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => removeListeners, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n const context = React.useContext(Context)\n\n const refs = React.useRef({})\n const defaults = React.useRef({})\n const disabledRef = React.useRef(disabled)\n const [result, updateRerender] =\n React.useState<UseMediaResult>(makeResult)\n const removeListeners = () => {\n Object.values(refs.current).forEach(\n (item: UseMediaItem) => item?.event && item.event()\n )\n }\n\n return result\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useMedia.js","names":["React","Context","makeMediaQueryList","createMediaQueryListener","isMatchMediaSupported","toPascalCase","queries","small","min","max","medium","large","useMedia","props","arguments","length","undefined","disabled","log","context","useContext","refs","useRef","defaults","disabledRef","result","updateRerender","useState","makeResult","useEffect","Object","keys","current","removeListeners","entries","forEach","_ref","_item$event","key","item","event","call","reduce","acc","_ref2","_item$mediaQueryList","when","name","runQuery","mediaQueryList","matches","isSSR","_ref3","breakpoints","match","state","_objectSpread"],"sources":["../../../src/shared/useMedia.tsx"],"sourcesContent":["import React from 'react'\nimport Context from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n isMatchMediaSupported,\n MediaQueryCondition,\n} from './MediaQueryUtils'\nimport type { MediaQueryListener } from './MediaQueryUtils'\nimport { toPascalCase } from './component-helper'\n\nexport type UseMediaProps = {\n /**\n * If set to true, no MediaQuery will be used.\n * Default: false\n */\n disabled?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type UseMediaQueries = {\n small: MediaQueryCondition\n medium: MediaQueryCondition\n large: MediaQueryCondition\n}\n\nexport const queries: UseMediaQueries = {\n small: { min: 0, max: 'small' },\n medium: { min: 'small', max: 'medium' },\n large: { min: 'medium' },\n}\n\nexport type UseMediaResult = {\n isSmall: boolean\n isMedium: boolean\n isLarge: boolean\n isSSR: boolean\n}\n\n/**\n * Internal stuff\n */\n\ntype UseMediaItem = {\n event: MediaQueryListener\n mediaQueryList: MediaQueryList\n}\n\ntype UseMediaQueryProps = {\n name: string\n when: MediaQueryCondition\n}\n\nexport default function useMedia(\n props: UseMediaProps = {}\n): UseMediaResult {\n const { disabled, log } = props\n\n const context = React.useContext(Context)\n\n const refs = React.useRef({})\n const defaults = React.useRef({})\n const disabledRef = React.useRef(disabled)\n const [result, updateRerender] =\n React.useState<UseMediaResult>(makeResult)\n\n React.useEffect(() => {\n // In StrictMode, the keys got empty,\n // so we make the result again\n if (Object.keys(refs.current).length) {\n makeResult()\n }\n\n return removeListeners\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n React.useEffect(() => {\n // If it was disabled before\n if (disabledRef.current && !disabled) {\n updateRerender(makeResult())\n }\n disabledRef.current = disabled\n }, [disabled]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return result\n\n function removeListeners() {\n Object.entries(refs.current).forEach(\n ([key, item]: [string, UseMediaItem]) => {\n item?.event?.()\n delete refs.current[key]\n }\n )\n }\n\n function makeResult() {\n return Object.entries(queries).reduce(\n (acc, [key, when]) => {\n const name = `is${toPascalCase(key)}`\n\n if (disabled) {\n acc[name] = false\n return acc\n }\n\n defaults.current[name] = false\n\n const item = runQuery({\n name,\n when,\n })\n\n acc[name] = item?.mediaQueryList?.matches || false\n\n refs.current[key] = item\n\n return acc\n },\n { isSSR: !isMatchMediaSupported() }\n ) as UseMediaResult\n }\n\n function runQuery({ when, name }: UseMediaQueryProps): UseMediaItem {\n if (!isMatchMediaSupported()) {\n return // do nothing\n }\n\n const mediaQueryList = makeMediaQueryList(\n {\n when,\n disabled,\n log,\n },\n\n context.breakpoints\n )\n\n const event = createMediaQueryListener(mediaQueryList, (match) => {\n if (!disabledRef.current && match) {\n const state = {\n ...defaults.current,\n isSSR: result.isSSR,\n } as UseMediaResult\n state[name] = match\n updateRerender(state)\n }\n })\n\n return { event, mediaQueryList }\n }\n}\n"],"mappings":"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"}