@dnb/eufemia 10.7.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 (1468) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
  4. package/cjs/components/accordion/AccordionHeader.js +18 -5
  5. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.css +22 -17
  7. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  12. package/cjs/components/anchor/Anchor.js +1 -1
  13. package/cjs/components/anchor/Anchor.js.map +1 -1
  14. package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  16. package/cjs/components/autocomplete/Autocomplete.js +4 -2
  17. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/avatar/style/index.d.ts +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +24 -2
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  25. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  26. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  28. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  29. package/cjs/components/checkbox/Checkbox.js +6 -4
  30. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  34. package/cjs/components/drawer/Drawer.d.ts +1 -1
  35. package/cjs/components/drawer/Drawer.js +3 -1
  36. package/cjs/components/drawer/Drawer.js.map +1 -1
  37. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  38. package/cjs/components/form-status/FormStatus.js +70 -53
  39. package/cjs/components/form-status/FormStatus.js.map +1 -1
  40. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  41. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  42. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  43. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  44. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  45. package/cjs/components/global-status/GlobalStatus.js +17 -7
  46. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  47. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  48. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  52. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  53. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  54. package/cjs/components/heading/Heading.d.ts +8 -8
  55. package/cjs/components/heading/Heading.js +8 -16
  56. package/cjs/components/heading/Heading.js.map +1 -1
  57. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  58. package/cjs/components/heading/HeadingHelpers.js +42 -1
  59. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  60. package/cjs/components/info-card/index.js.map +1 -1
  61. package/cjs/components/info-card/style.js.map +1 -1
  62. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  63. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  64. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  65. package/cjs/components/input-masked/InputMaskedHooks.js +1 -1
  66. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  67. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  68. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  69. package/cjs/components/modal/Modal.js.map +1 -1
  70. package/cjs/components/modal/ModalContent.js +3 -1
  71. package/cjs/components/modal/ModalContent.js.map +1 -1
  72. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  73. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  74. package/cjs/components/pagination/Pagination.js.map +1 -1
  75. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  76. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  77. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  78. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  79. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  80. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  81. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  82. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  83. package/cjs/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  84. package/cjs/components/radio/Radio.d.ts +4 -0
  85. package/cjs/components/radio/Radio.js +6 -4
  86. package/cjs/components/radio/Radio.js.map +1 -1
  87. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  88. package/cjs/components/section/Section.d.ts +21 -1
  89. package/cjs/components/section/Section.js +1 -1
  90. package/cjs/components/section/Section.js.map +1 -1
  91. package/cjs/components/section/style/dnb-section.css +1 -1
  92. package/cjs/components/section/style/dnb-section.scss +8 -3
  93. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  94. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  95. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  96. package/cjs/components/skeleton/style/dnb-skeleton.css +50 -0
  97. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  98. package/cjs/components/skeleton/style/dnb-skeleton.scss +74 -5
  99. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  100. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  101. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  102. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  103. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  104. package/cjs/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  105. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  106. package/cjs/components/space/SpacingUtils.js.map +1 -1
  107. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  108. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  109. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  110. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  111. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  112. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  113. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  114. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  115. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  116. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  117. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  118. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  119. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  120. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  121. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  122. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  123. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  124. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  125. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  126. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  127. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  128. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  129. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  130. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  131. package/cjs/components/switch/Switch.d.ts +4 -0
  132. package/cjs/components/switch/Switch.js +6 -4
  133. package/cjs/components/switch/Switch.js.map +1 -1
  134. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  135. package/cjs/components/table/TableContainer.js.map +1 -1
  136. package/cjs/components/table/style/table-accordion.scss +18 -6
  137. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  138. package/cjs/components/table/style/table-tr.scss +6 -2
  139. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  140. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  141. package/cjs/components/timeline/TimelineItem.js +96 -62
  142. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  143. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  144. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  145. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  146. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  147. package/cjs/components/tooltip/style/dnb-tooltip.css +10 -0
  148. package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
  149. package/cjs/components/tooltip/style/dnb-tooltip.scss +14 -0
  150. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  151. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  152. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  153. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  154. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  155. package/cjs/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  156. package/cjs/elements/blockquote/style/blockquote-mixins.scss +22 -11
  157. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  158. package/cjs/elements/lib.d.ts +1 -1
  159. package/cjs/elements/typography/H.d.ts +5 -3
  160. package/cjs/elements/typography/H.js +7 -3
  161. package/cjs/elements/typography/H.js.map +1 -1
  162. package/cjs/elements/typography/H1.js +2 -2
  163. package/cjs/elements/typography/H1.js.map +1 -1
  164. package/cjs/elements/typography/H2.js +2 -2
  165. package/cjs/elements/typography/H2.js.map +1 -1
  166. package/cjs/elements/typography/H3.js +2 -2
  167. package/cjs/elements/typography/H3.js.map +1 -1
  168. package/cjs/elements/typography/H4.js +2 -2
  169. package/cjs/elements/typography/H4.js.map +1 -1
  170. package/cjs/elements/typography/H5.js +2 -2
  171. package/cjs/elements/typography/H5.js.map +1 -1
  172. package/cjs/elements/typography/H6.js +2 -2
  173. package/cjs/elements/typography/H6.js.map +1 -1
  174. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  175. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  176. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  177. package/cjs/extensions/forms/DataContext/At.d.ts +1 -1
  178. package/cjs/extensions/forms/DataContext/At.js.map +1 -1
  179. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -0
  180. package/cjs/extensions/forms/DataContext/Context.js +2 -1
  181. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  182. package/cjs/extensions/forms/DataContext/Provider.js +7 -3
  183. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -1
  184. package/cjs/extensions/forms/DataContext/index.d.ts +0 -2
  185. package/cjs/extensions/forms/DataContext/index.js +0 -2
  186. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  187. package/cjs/extensions/forms/Field/ArraySelection.d.ts +4 -4
  188. package/cjs/extensions/forms/Field/ArraySelection.js +55 -35
  189. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  190. package/cjs/extensions/forms/Field/CountryCode.d.ts +9 -0
  191. package/cjs/extensions/forms/Field/CountryCode.js +77 -0
  192. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  193. package/cjs/extensions/forms/Field/Currency.d.ts +2 -3
  194. package/cjs/extensions/forms/Field/Currency.js +6 -38
  195. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  196. package/cjs/extensions/forms/Field/Date.d.ts +2 -3
  197. package/cjs/extensions/forms/Field/Date.js +14 -10
  198. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  199. package/cjs/extensions/forms/Field/Number.d.ts +7 -4
  200. package/cjs/extensions/forms/Field/Number.js +48 -23
  201. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  202. package/cjs/extensions/forms/Field/Option.d.ts +2 -3
  203. package/cjs/extensions/forms/Field/Option.js.map +1 -1
  204. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  205. package/cjs/extensions/forms/Field/PhoneNumber.js +45 -44
  206. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  207. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  208. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  209. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  210. package/cjs/extensions/forms/Field/Selection.d.ts +6 -5
  211. package/cjs/extensions/forms/Field/Selection.js +90 -40
  212. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  213. package/cjs/extensions/forms/Field/String.d.ts +3 -4
  214. package/cjs/extensions/forms/Field/String.js +28 -16
  215. package/cjs/extensions/forms/Field/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle.d.ts +2 -3
  217. package/cjs/extensions/forms/Field/Toggle.js +16 -14
  218. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  219. package/cjs/extensions/forms/Field/fields.scss +2 -2
  220. package/cjs/extensions/forms/Field/index.d.ts +2 -4
  221. package/cjs/extensions/forms/Field/index.js +3 -5
  222. package/cjs/extensions/forms/Field/index.js.map +1 -1
  223. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  224. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  225. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  226. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  227. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  228. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  229. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  230. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  231. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  232. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  233. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  234. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  235. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  236. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  237. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  238. package/cjs/extensions/forms/Field/style/index.scss +2 -0
  239. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  240. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +88 -15
  241. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  242. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  243. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js +12 -0
  244. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  245. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  246. package/cjs/extensions/forms/FieldBlock/index.js +15 -2
  247. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  248. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  249. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  250. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  251. package/cjs/extensions/forms/Form/FormElement.d.ts +4 -0
  252. package/cjs/extensions/forms/Form/FormElement.js +39 -0
  253. package/cjs/extensions/forms/Form/FormElement.js.map +1 -0
  254. package/cjs/extensions/forms/Form/FormHandler.d.ts +6 -0
  255. package/cjs/extensions/forms/Form/FormHandler.js +41 -0
  256. package/cjs/extensions/forms/Form/FormHandler.js.map +1 -0
  257. package/cjs/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  258. package/cjs/extensions/forms/Form/SubmitButton.js +36 -0
  259. package/cjs/extensions/forms/Form/SubmitButton.js.map +1 -0
  260. package/cjs/extensions/forms/Form/index.d.ts +9 -0
  261. package/cjs/extensions/forms/Form/index.js +18 -0
  262. package/cjs/extensions/forms/Form/index.js.map +1 -0
  263. package/cjs/extensions/forms/Iterate/Array.d.ts +17 -0
  264. package/cjs/extensions/forms/Iterate/Array.js +91 -0
  265. package/cjs/extensions/forms/Iterate/Array.js.map +1 -0
  266. package/cjs/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  267. package/cjs/extensions/forms/Iterate/ArrayPushButton.js +53 -0
  268. package/cjs/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  269. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  270. package/cjs/extensions/forms/{DataContext/SubmitButton.js → Iterate/ArrayRemoveElementButton.js} +25 -15
  271. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  272. package/cjs/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  273. package/cjs/extensions/forms/Iterate/IterateElementContext.js +12 -0
  274. package/cjs/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  275. package/cjs/extensions/forms/Iterate/index.d.ts +11 -0
  276. package/cjs/extensions/forms/Iterate/index.js +25 -0
  277. package/cjs/extensions/forms/Iterate/index.js.map +1 -0
  278. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  279. package/cjs/extensions/forms/Layout/ButtonRow.js +2 -2
  280. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -1
  281. package/cjs/extensions/forms/Layout/Card.d.ts +1 -1
  282. package/cjs/extensions/forms/Layout/Card.js +5 -5
  283. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  284. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  285. package/cjs/extensions/forms/Layout/FlexContainer.js +6 -5
  286. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  287. package/cjs/extensions/forms/Layout/FlexItem.d.ts +2 -1
  288. package/cjs/extensions/forms/Layout/FlexItem.js +4 -3
  289. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  290. package/cjs/extensions/forms/Layout/MainHeading.d.ts +4 -2
  291. package/cjs/extensions/forms/Layout/MainHeading.js +11 -4
  292. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -1
  293. package/cjs/extensions/forms/Layout/Section.d.ts +1 -1
  294. package/cjs/extensions/forms/Layout/Section.js +2 -2
  295. package/cjs/extensions/forms/Layout/Section.js.map +1 -1
  296. package/cjs/extensions/forms/Layout/SubHeading.d.ts +4 -2
  297. package/cjs/extensions/forms/Layout/SubHeading.js +11 -4
  298. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -1
  299. package/cjs/extensions/forms/Layout/index.d.ts +0 -2
  300. package/cjs/extensions/forms/Layout/index.js +1 -3
  301. package/cjs/extensions/forms/Layout/index.js.map +1 -1
  302. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  303. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  304. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  305. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  306. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  307. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  308. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  309. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  310. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  311. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  312. package/cjs/extensions/forms/StepsLayout/Buttons.js +2 -2
  313. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  314. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  315. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  316. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  317. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  318. package/cjs/extensions/forms/StepsLayout/Step.d.ts +1 -1
  319. package/cjs/extensions/forms/StepsLayout/Step.js +2 -2
  320. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -1
  321. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  322. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  323. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  324. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  325. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  326. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  327. package/cjs/extensions/forms/Value/Boolean.d.ts +2 -3
  328. package/cjs/extensions/forms/Value/Boolean.js +4 -4
  329. package/cjs/extensions/forms/Value/Boolean.js.map +1 -1
  330. package/cjs/extensions/forms/Value/Number.d.ts +2 -3
  331. package/cjs/extensions/forms/Value/Number.js +4 -3
  332. package/cjs/extensions/forms/Value/Number.js.map +1 -1
  333. package/cjs/extensions/forms/Value/String.d.ts +2 -3
  334. package/cjs/extensions/forms/Value/String.js +4 -4
  335. package/cjs/extensions/forms/Value/String.js.map +1 -1
  336. package/cjs/extensions/forms/Value/index.d.ts +0 -4
  337. package/cjs/extensions/forms/Value/index.js +0 -4
  338. package/cjs/extensions/forms/Value/index.js.map +1 -1
  339. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  340. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  341. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  342. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  343. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  344. package/cjs/extensions/forms/{Field/hooks → hooks}/index.js +3 -3
  345. package/cjs/extensions/forms/hooks/index.js.map +1 -0
  346. package/cjs/extensions/forms/hooks/useDataValue.d.ts +12 -0
  347. package/cjs/extensions/forms/{Field/hooks/useField.js → hooks/useDataValue.js} +91 -56
  348. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  349. package/cjs/extensions/forms/index.d.ts +4 -4
  350. package/cjs/extensions/forms/index.js +20 -12
  351. package/cjs/extensions/forms/index.js.map +1 -1
  352. package/cjs/extensions/forms/style/dnb-forms.css +105 -29
  353. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  354. package/cjs/extensions/forms/style/index.d.ts +1 -0
  355. package/cjs/extensions/forms/style/index.js +4 -0
  356. package/cjs/extensions/forms/style/index.js.map +1 -0
  357. package/cjs/extensions/forms/types.d.ts +95 -2
  358. package/cjs/extensions/forms/types.js +71 -0
  359. package/cjs/extensions/forms/types.js.map +1 -1
  360. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  361. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  362. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  363. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  364. package/cjs/extensions/forms/utils/index.js +0 -12
  365. package/cjs/extensions/forms/utils/index.js.map +1 -1
  366. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  367. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  368. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  369. package/cjs/extensions/forms/variables.scss +3 -0
  370. package/cjs/extensions/lib.d.ts +1 -2
  371. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  372. package/cjs/extensions/payment-card/style/dnb-payment-card.css +7 -7
  373. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  374. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  375. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  376. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  377. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  378. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  379. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  380. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  381. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  382. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  383. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  384. package/cjs/shared/Context.d.ts +2 -0
  385. package/cjs/shared/Context.js.map +1 -1
  386. package/cjs/shared/Eufemia.d.ts +1 -1
  387. package/cjs/shared/Eufemia.js +2 -2
  388. package/cjs/shared/Eufemia.js.map +1 -1
  389. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  390. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  391. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  392. package/cjs/shared/locales/en-GB.d.ts +1 -0
  393. package/cjs/shared/locales/en-GB.js +1 -0
  394. package/cjs/shared/locales/en-GB.js.map +1 -1
  395. package/cjs/shared/locales/en-US.d.ts +1 -0
  396. package/cjs/shared/locales/index.d.ts +2 -0
  397. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  398. package/cjs/shared/locales/nb-NO.js +1 -0
  399. package/cjs/shared/locales/nb-NO.js.map +1 -1
  400. package/cjs/shared/useMedia.js +33 -23
  401. package/cjs/shared/useMedia.js.map +1 -1
  402. package/cjs/style/core/reset.scss +13 -3
  403. package/cjs/style/core/utilities.scss +3 -1
  404. package/cjs/style/dnb-ui-components.css +142 -20
  405. package/cjs/style/dnb-ui-components.min.css +1 -1
  406. package/cjs/style/dnb-ui-elements.css +23 -11
  407. package/cjs/style/dnb-ui-elements.min.css +1 -1
  408. package/cjs/style/dnb-ui-extensions.css +112 -36
  409. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  410. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  411. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  412. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  413. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  414. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  415. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  416. package/cjs/style/themes/theme-sbanken/customisations.scss +3 -7
  417. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  418. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  419. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  420. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  421. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  422. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  423. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  424. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  425. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  426. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  427. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  428. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  429. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  430. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -11
  431. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  432. package/cjs/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  433. package/cjs/style/themes/theme-ui/ui-theme-components.css +173 -160
  434. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  435. package/cjs/style/themes/theme-ui/ui-theme-elements.css +23 -11
  436. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  437. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  438. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  439. package/cjs/style/themes/theme-ui/ui-theme-tags.css +20 -11
  440. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  441. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  442. package/components/accordion/Accordion.d.ts +1 -1
  443. package/components/accordion/AccordionHeader.d.ts +4 -4
  444. package/components/accordion/AccordionHeader.js +18 -5
  445. package/components/accordion/AccordionHeader.js.map +1 -1
  446. package/components/accordion/style/dnb-accordion.css +22 -17
  447. package/components/accordion/style/dnb-accordion.min.css +1 -1
  448. package/components/accordion/style/dnb-accordion.scss +40 -18
  449. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  450. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  451. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  452. package/components/anchor/Anchor.js +1 -1
  453. package/components/anchor/Anchor.js.map +1 -1
  454. package/components/anchor/style/anchor-mixins.scss +9 -3
  455. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  456. package/components/autocomplete/Autocomplete.js +4 -2
  457. package/components/autocomplete/Autocomplete.js.map +1 -1
  458. package/components/avatar/style/index.d.ts +1 -1
  459. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  460. package/components/breadcrumb/Breadcrumb.js +2 -2
  461. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  462. package/components/breadcrumb/BreadcrumbItem.js +24 -2
  463. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  464. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  465. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  466. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  467. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  468. package/components/checkbox/Checkbox.d.ts +4 -0
  469. package/components/checkbox/Checkbox.js +6 -4
  470. package/components/checkbox/Checkbox.js.map +1 -1
  471. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  472. package/components/date-picker/DatePickerInput.js.map +1 -1
  473. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  474. package/components/drawer/Drawer.d.ts +1 -1
  475. package/components/drawer/Drawer.js +3 -1
  476. package/components/drawer/Drawer.js.map +1 -1
  477. package/components/form-status/FormStatus.d.ts +2 -0
  478. package/components/form-status/FormStatus.js +70 -53
  479. package/components/form-status/FormStatus.js.map +1 -1
  480. package/components/form-status/style/dnb-form-status.scss +4 -2
  481. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  482. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  483. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  484. package/components/global-status/GlobalStatus.d.ts +1 -1
  485. package/components/global-status/GlobalStatus.js +18 -8
  486. package/components/global-status/GlobalStatus.js.map +1 -1
  487. package/components/global-status/style/dnb-global-status.scss +2 -1
  488. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  489. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  490. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  491. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  492. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  493. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  494. package/components/heading/Heading.d.ts +8 -8
  495. package/components/heading/Heading.js +9 -15
  496. package/components/heading/Heading.js.map +1 -1
  497. package/components/heading/HeadingHelpers.d.ts +5 -1
  498. package/components/heading/HeadingHelpers.js +39 -0
  499. package/components/heading/HeadingHelpers.js.map +1 -1
  500. package/components/info-card/index.js.map +1 -1
  501. package/components/info-card/style.js.map +1 -1
  502. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  503. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  504. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  505. package/components/input-masked/InputMaskedHooks.js +1 -1
  506. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  507. package/components/input-masked/InputMaskedUtils.js +1 -1
  508. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  509. package/components/modal/Modal.js.map +1 -1
  510. package/components/modal/ModalContent.js +3 -1
  511. package/components/modal/ModalContent.js.map +1 -1
  512. package/components/modal/parts/ModalHeaderBar.js +0 -4
  513. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  514. package/components/pagination/Pagination.js.map +1 -1
  515. package/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  516. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  517. package/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  518. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  519. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  520. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  521. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  522. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  523. package/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  524. package/components/radio/Radio.d.ts +4 -0
  525. package/components/radio/Radio.js +6 -4
  526. package/components/radio/Radio.js.map +1 -1
  527. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  528. package/components/section/Section.d.ts +21 -1
  529. package/components/section/Section.js +1 -1
  530. package/components/section/Section.js.map +1 -1
  531. package/components/section/style/dnb-section.css +1 -1
  532. package/components/section/style/dnb-section.scss +8 -3
  533. package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  534. package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  535. package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  536. package/components/skeleton/style/dnb-skeleton.css +50 -0
  537. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  538. package/components/skeleton/style/dnb-skeleton.scss +74 -5
  539. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  540. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  541. package/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  542. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  543. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  544. package/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  545. package/components/slider/style/dnb-slider.scss +4 -2
  546. package/components/space/SpacingUtils.js.map +1 -1
  547. package/components/step-indicator/StepIndicator.d.ts +89 -75
  548. package/components/step-indicator/StepIndicator.js +29 -25
  549. package/components/step-indicator/StepIndicator.js.map +1 -1
  550. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  551. package/components/step-indicator/StepIndicatorContext.js +98 -120
  552. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  553. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  554. package/components/step-indicator/StepIndicatorItem.js +177 -227
  555. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  556. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  557. package/components/step-indicator/StepIndicatorList.js +43 -48
  558. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  559. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  560. package/components/step-indicator/StepIndicatorModal.js +38 -50
  561. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  562. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  563. package/components/step-indicator/StepIndicatorProps.js +3 -45
  564. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  565. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  566. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  567. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  568. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  569. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  570. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  571. package/components/switch/Switch.d.ts +4 -0
  572. package/components/switch/Switch.js +6 -4
  573. package/components/switch/Switch.js.map +1 -1
  574. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  575. package/components/table/TableContainer.js.map +1 -1
  576. package/components/table/style/table-accordion.scss +18 -6
  577. package/components/table/style/table-header-buttons.scss +3 -1
  578. package/components/table/style/table-tr.scss +6 -2
  579. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  580. package/components/timeline/TimelineItem.d.ts +3 -2
  581. package/components/timeline/TimelineItem.js +95 -61
  582. package/components/timeline/TimelineItem.js.map +1 -1
  583. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  584. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  585. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  586. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  587. package/components/tooltip/style/dnb-tooltip.css +10 -0
  588. package/components/tooltip/style/dnb-tooltip.min.css +1 -1
  589. package/components/tooltip/style/dnb-tooltip.scss +14 -0
  590. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  591. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  592. package/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  593. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  594. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  595. package/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  596. package/elements/blockquote/style/blockquote-mixins.scss +22 -11
  597. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  598. package/elements/lib.d.ts +1 -1
  599. package/elements/typography/H.d.ts +5 -3
  600. package/elements/typography/H.js +8 -4
  601. package/elements/typography/H.js.map +1 -1
  602. package/elements/typography/H1.js +2 -2
  603. package/elements/typography/H1.js.map +1 -1
  604. package/elements/typography/H2.js +2 -2
  605. package/elements/typography/H2.js.map +1 -1
  606. package/elements/typography/H3.js +2 -2
  607. package/elements/typography/H3.js.map +1 -1
  608. package/elements/typography/H4.js +2 -2
  609. package/elements/typography/H4.js.map +1 -1
  610. package/elements/typography/H5.js +2 -2
  611. package/elements/typography/H5.js.map +1 -1
  612. package/elements/typography/H6.js +2 -2
  613. package/elements/typography/H6.js.map +1 -1
  614. package/elements/typography/style/dnb-typography.scss +3 -0
  615. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  616. package/elements/typography/style/typography-mixins.scss +5 -0
  617. package/es/components/accordion/Accordion.d.ts +1 -1
  618. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  619. package/es/components/accordion/AccordionHeader.js +18 -5
  620. package/es/components/accordion/AccordionHeader.js.map +1 -1
  621. package/es/components/accordion/style/dnb-accordion.css +22 -17
  622. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  623. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  624. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  625. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  626. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  627. package/es/components/anchor/Anchor.js +1 -1
  628. package/es/components/anchor/Anchor.js.map +1 -1
  629. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  630. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  631. package/es/components/autocomplete/Autocomplete.js +4 -2
  632. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  633. package/es/components/avatar/style/index.d.ts +1 -1
  634. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  635. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  636. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  637. package/es/components/breadcrumb/BreadcrumbItem.js +24 -2
  638. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  639. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  640. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  641. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  642. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  643. package/es/components/checkbox/Checkbox.d.ts +4 -0
  644. package/es/components/checkbox/Checkbox.js +6 -4
  645. package/es/components/checkbox/Checkbox.js.map +1 -1
  646. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  647. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  648. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  649. package/es/components/drawer/Drawer.d.ts +1 -1
  650. package/es/components/drawer/Drawer.js +3 -1
  651. package/es/components/drawer/Drawer.js.map +1 -1
  652. package/es/components/form-status/FormStatus.d.ts +2 -0
  653. package/es/components/form-status/FormStatus.js +70 -53
  654. package/es/components/form-status/FormStatus.js.map +1 -1
  655. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  656. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  657. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  658. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  659. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  660. package/es/components/global-status/GlobalStatus.js +18 -8
  661. package/es/components/global-status/GlobalStatus.js.map +1 -1
  662. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  663. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  664. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  665. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  666. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  667. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  668. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  669. package/es/components/heading/Heading.d.ts +8 -8
  670. package/es/components/heading/Heading.js +9 -15
  671. package/es/components/heading/Heading.js.map +1 -1
  672. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  673. package/es/components/heading/HeadingHelpers.js +39 -0
  674. package/es/components/heading/HeadingHelpers.js.map +1 -1
  675. package/es/components/info-card/index.js.map +1 -1
  676. package/es/components/info-card/style.js.map +1 -1
  677. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  678. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  679. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  680. package/es/components/input-masked/InputMaskedHooks.js +1 -1
  681. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  682. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  683. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  684. package/es/components/modal/Modal.js.map +1 -1
  685. package/es/components/modal/ModalContent.js +3 -1
  686. package/es/components/modal/ModalContent.js.map +1 -1
  687. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  688. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  689. package/es/components/pagination/Pagination.js.map +1 -1
  690. package/es/components/progress-indicator/style/dnb-progress-indicator.css +59 -2
  691. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  692. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +70 -2
  693. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.css +18 -0
  694. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.min.css +9 -0
  695. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-sbanken.scss +19 -0
  696. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.css +5 -64
  697. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.min.css +1 -1
  698. package/es/components/progress-indicator/style/themes/dnb-progress-indicator-theme-ui.scss +4 -86
  699. package/es/components/radio/Radio.d.ts +4 -0
  700. package/es/components/radio/Radio.js +6 -4
  701. package/es/components/radio/Radio.js.map +1 -1
  702. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  703. package/es/components/section/Section.d.ts +21 -1
  704. package/es/components/section/Section.js +1 -1
  705. package/es/components/section/Section.js.map +1 -1
  706. package/es/components/section/style/dnb-section.css +1 -1
  707. package/es/components/section/style/dnb-section.scss +8 -3
  708. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  709. package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  710. package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  711. package/es/components/skeleton/style/dnb-skeleton.css +50 -0
  712. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  713. package/es/components/skeleton/style/dnb-skeleton.scss +74 -5
  714. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.css +7 -0
  715. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.min.css +0 -0
  716. package/es/components/skeleton/style/themes/dnb-skeleton-theme-sbanken.scss +7 -0
  717. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.css +5 -60
  718. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.min.css +0 -1
  719. package/es/components/skeleton/style/themes/dnb-skeleton-theme-ui.scss +4 -86
  720. package/es/components/slider/style/dnb-slider.scss +4 -2
  721. package/es/components/space/SpacingUtils.js.map +1 -1
  722. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  723. package/es/components/step-indicator/StepIndicator.js +29 -25
  724. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  725. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  726. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  727. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  728. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  729. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  730. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  731. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  732. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  733. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  734. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  735. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  736. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  737. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  738. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  739. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  740. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  741. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  742. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  743. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  744. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  745. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  746. package/es/components/switch/Switch.d.ts +4 -0
  747. package/es/components/switch/Switch.js +6 -4
  748. package/es/components/switch/Switch.js.map +1 -1
  749. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  750. package/es/components/table/TableContainer.js.map +1 -1
  751. package/es/components/table/style/table-accordion.scss +18 -6
  752. package/es/components/table/style/table-header-buttons.scss +3 -1
  753. package/es/components/table/style/table-tr.scss +6 -2
  754. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  755. package/es/components/timeline/TimelineItem.d.ts +3 -2
  756. package/es/components/timeline/TimelineItem.js +89 -58
  757. package/es/components/timeline/TimelineItem.js.map +1 -1
  758. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  759. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  760. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  761. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  762. package/es/components/tooltip/style/dnb-tooltip.css +10 -0
  763. package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
  764. package/es/components/tooltip/style/dnb-tooltip.scss +14 -0
  765. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.css +9 -0
  766. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.min.css +1 -0
  767. package/es/components/tooltip/style/themes/dnb-tooltip-theme-sbanken.scss +10 -0
  768. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.css +3 -11
  769. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.min.css +1 -1
  770. package/es/components/tooltip/style/themes/dnb-tooltip-theme-ui.scss +3 -15
  771. package/es/elements/blockquote/style/blockquote-mixins.scss +22 -11
  772. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +20 -11
  773. package/es/elements/lib.d.ts +1 -1
  774. package/es/elements/typography/H.d.ts +5 -3
  775. package/es/elements/typography/H.js +8 -4
  776. package/es/elements/typography/H.js.map +1 -1
  777. package/es/elements/typography/H1.js +2 -2
  778. package/es/elements/typography/H1.js.map +1 -1
  779. package/es/elements/typography/H2.js +2 -2
  780. package/es/elements/typography/H2.js.map +1 -1
  781. package/es/elements/typography/H3.js +2 -2
  782. package/es/elements/typography/H3.js.map +1 -1
  783. package/es/elements/typography/H4.js +2 -2
  784. package/es/elements/typography/H4.js.map +1 -1
  785. package/es/elements/typography/H5.js +2 -2
  786. package/es/elements/typography/H5.js.map +1 -1
  787. package/es/elements/typography/H6.js +2 -2
  788. package/es/elements/typography/H6.js.map +1 -1
  789. package/es/elements/typography/style/dnb-typography.scss +3 -0
  790. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +13 -2
  791. package/es/elements/typography/style/typography-mixins.scss +5 -0
  792. package/es/extensions/forms/DataContext/At.d.ts +1 -1
  793. package/es/extensions/forms/DataContext/At.js.map +1 -1
  794. package/es/extensions/forms/DataContext/Context.d.ts +1 -0
  795. package/es/extensions/forms/DataContext/Context.js +2 -1
  796. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  797. package/es/extensions/forms/DataContext/Provider.js +7 -3
  798. package/es/extensions/forms/DataContext/Provider.js.map +1 -1
  799. package/es/extensions/forms/DataContext/index.d.ts +0 -2
  800. package/es/extensions/forms/DataContext/index.js +0 -2
  801. package/es/extensions/forms/DataContext/index.js.map +1 -1
  802. package/es/extensions/forms/Field/ArraySelection.d.ts +4 -4
  803. package/es/extensions/forms/Field/ArraySelection.js +52 -36
  804. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  805. package/es/extensions/forms/Field/CountryCode.d.ts +9 -0
  806. package/es/extensions/forms/Field/CountryCode.js +66 -0
  807. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  808. package/es/extensions/forms/Field/Currency.d.ts +2 -3
  809. package/es/extensions/forms/Field/Currency.js +6 -37
  810. package/es/extensions/forms/Field/Currency.js.map +1 -1
  811. package/es/extensions/forms/Field/Date.d.ts +2 -3
  812. package/es/extensions/forms/Field/Date.js +15 -11
  813. package/es/extensions/forms/Field/Date.js.map +1 -1
  814. package/es/extensions/forms/Field/Number.d.ts +7 -4
  815. package/es/extensions/forms/Field/Number.js +47 -24
  816. package/es/extensions/forms/Field/Number.js.map +1 -1
  817. package/es/extensions/forms/Field/Option.d.ts +2 -3
  818. package/es/extensions/forms/Field/Option.js.map +1 -1
  819. package/es/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  820. package/es/extensions/forms/Field/PhoneNumber.js +46 -43
  821. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  822. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  823. package/es/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  824. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  825. package/es/extensions/forms/Field/Selection.d.ts +6 -5
  826. package/es/extensions/forms/Field/Selection.js +88 -41
  827. package/es/extensions/forms/Field/Selection.js.map +1 -1
  828. package/es/extensions/forms/Field/String.d.ts +3 -4
  829. package/es/extensions/forms/Field/String.js +29 -17
  830. package/es/extensions/forms/Field/String.js.map +1 -1
  831. package/es/extensions/forms/Field/Toggle.d.ts +2 -3
  832. package/es/extensions/forms/Field/Toggle.js +16 -14
  833. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  834. package/es/extensions/forms/Field/fields.scss +2 -2
  835. package/es/extensions/forms/Field/index.d.ts +2 -4
  836. package/es/extensions/forms/Field/index.js +3 -5
  837. package/es/extensions/forms/Field/index.js.map +1 -1
  838. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  839. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  840. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  841. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  842. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  843. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  844. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  845. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  846. package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  847. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  848. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  849. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  850. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  851. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  852. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  853. package/es/extensions/forms/Field/style/index.scss +2 -0
  854. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  855. package/es/extensions/forms/FieldBlock/FieldBlock.js +80 -16
  856. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  857. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  858. package/es/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  859. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  860. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  861. package/es/extensions/forms/FieldBlock/index.js +3 -1
  862. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  863. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  864. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  865. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  866. package/es/extensions/forms/Form/FormElement.d.ts +4 -0
  867. package/es/extensions/forms/Form/FormElement.js +31 -0
  868. package/es/extensions/forms/Form/FormElement.js.map +1 -0
  869. package/es/extensions/forms/Form/FormHandler.d.ts +6 -0
  870. package/es/extensions/forms/Form/FormHandler.js +33 -0
  871. package/es/extensions/forms/Form/FormHandler.js.map +1 -0
  872. package/es/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  873. package/es/extensions/forms/Form/SubmitButton.js +25 -0
  874. package/es/extensions/forms/Form/SubmitButton.js.map +1 -0
  875. package/es/extensions/forms/Form/index.d.ts +9 -0
  876. package/es/extensions/forms/Form/index.js +10 -0
  877. package/es/extensions/forms/Form/index.js.map +1 -0
  878. package/es/extensions/forms/Iterate/Array.d.ts +17 -0
  879. package/es/extensions/forms/Iterate/Array.js +80 -0
  880. package/es/extensions/forms/Iterate/Array.js.map +1 -0
  881. package/es/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  882. package/es/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  883. package/es/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  884. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  885. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  886. package/es/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  887. package/es/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  888. package/es/extensions/forms/Iterate/IterateElementContext.js +4 -0
  889. package/es/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  890. package/es/extensions/forms/Iterate/index.d.ts +11 -0
  891. package/es/extensions/forms/Iterate/index.js +12 -0
  892. package/es/extensions/forms/Iterate/index.js.map +1 -0
  893. package/es/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  894. package/es/extensions/forms/Layout/ButtonRow.js +2 -2
  895. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -1
  896. package/es/extensions/forms/Layout/Card.d.ts +1 -1
  897. package/es/extensions/forms/Layout/Card.js +5 -5
  898. package/es/extensions/forms/Layout/Card.js.map +1 -1
  899. package/es/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  900. package/es/extensions/forms/Layout/FlexContainer.js +6 -5
  901. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  902. package/es/extensions/forms/Layout/FlexItem.d.ts +2 -1
  903. package/es/extensions/forms/Layout/FlexItem.js +4 -3
  904. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  905. package/es/extensions/forms/Layout/MainHeading.d.ts +4 -2
  906. package/es/extensions/forms/Layout/MainHeading.js +10 -4
  907. package/es/extensions/forms/Layout/MainHeading.js.map +1 -1
  908. package/es/extensions/forms/Layout/Section.d.ts +1 -1
  909. package/es/extensions/forms/Layout/Section.js +2 -2
  910. package/es/extensions/forms/Layout/Section.js.map +1 -1
  911. package/es/extensions/forms/Layout/SubHeading.d.ts +4 -2
  912. package/es/extensions/forms/Layout/SubHeading.js +10 -4
  913. package/es/extensions/forms/Layout/SubHeading.js.map +1 -1
  914. package/es/extensions/forms/Layout/index.d.ts +0 -2
  915. package/es/extensions/forms/Layout/index.js +1 -3
  916. package/es/extensions/forms/Layout/index.js.map +1 -1
  917. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  918. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  919. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  920. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  921. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  922. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  923. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  924. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  925. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  926. package/es/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  927. package/es/extensions/forms/StepsLayout/Buttons.js +2 -2
  928. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  929. package/es/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  930. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  931. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  932. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  933. package/es/extensions/forms/StepsLayout/Step.d.ts +1 -1
  934. package/es/extensions/forms/StepsLayout/Step.js +2 -2
  935. package/es/extensions/forms/StepsLayout/Step.js.map +1 -1
  936. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  937. package/es/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  938. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  939. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  940. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  941. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  942. package/es/extensions/forms/Value/Boolean.d.ts +2 -3
  943. package/es/extensions/forms/Value/Boolean.js +4 -4
  944. package/es/extensions/forms/Value/Boolean.js.map +1 -1
  945. package/es/extensions/forms/Value/Number.d.ts +2 -3
  946. package/es/extensions/forms/Value/Number.js +5 -4
  947. package/es/extensions/forms/Value/Number.js.map +1 -1
  948. package/es/extensions/forms/Value/String.d.ts +2 -3
  949. package/es/extensions/forms/Value/String.js +4 -4
  950. package/es/extensions/forms/Value/String.js.map +1 -1
  951. package/es/extensions/forms/Value/index.d.ts +0 -4
  952. package/es/extensions/forms/Value/index.js +0 -4
  953. package/es/extensions/forms/Value/index.js.map +1 -1
  954. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  955. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  956. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  957. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  958. package/es/extensions/forms/hooks/index.d.ts +1 -0
  959. package/es/extensions/forms/hooks/index.js +1 -0
  960. package/es/extensions/forms/hooks/index.js.map +1 -0
  961. package/es/extensions/forms/hooks/useDataValue.d.ts +12 -0
  962. package/{extensions/forms/Field/hooks/useField.js → es/extensions/forms/hooks/useDataValue.js} +90 -55
  963. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  964. package/es/extensions/forms/index.d.ts +4 -4
  965. package/es/extensions/forms/index.js +3 -2
  966. package/es/extensions/forms/index.js.map +1 -1
  967. package/es/extensions/forms/style/dnb-forms.css +105 -29
  968. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  969. package/es/extensions/forms/style/index.d.ts +1 -0
  970. package/es/extensions/forms/style/index.js +1 -0
  971. package/es/extensions/forms/style/index.js.map +1 -0
  972. package/es/extensions/forms/types.d.ts +95 -2
  973. package/es/extensions/forms/types.js +42 -0
  974. package/es/extensions/forms/types.js.map +1 -1
  975. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  976. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  977. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  978. package/es/extensions/forms/utils/index.d.ts +0 -1
  979. package/es/extensions/forms/utils/index.js +0 -1
  980. package/es/extensions/forms/utils/index.js.map +1 -1
  981. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  982. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  983. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  984. package/es/extensions/forms/variables.scss +3 -0
  985. package/es/extensions/lib.d.ts +1 -2
  986. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  987. package/es/extensions/payment-card/style/dnb-payment-card.css +7 -7
  988. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  989. package/es/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  990. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  991. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  992. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  993. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  994. package/es/fragments/drawer-list/DrawerList.js +1 -1
  995. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  996. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  997. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  998. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  999. package/es/shared/Context.d.ts +2 -0
  1000. package/es/shared/Context.js.map +1 -1
  1001. package/es/shared/Eufemia.d.ts +1 -1
  1002. package/es/shared/Eufemia.js +2 -2
  1003. package/es/shared/Eufemia.js.map +1 -1
  1004. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  1005. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1006. package/es/shared/libs/Shortcuts.js.map +1 -1
  1007. package/es/shared/locales/en-GB.d.ts +1 -0
  1008. package/es/shared/locales/en-GB.js +1 -0
  1009. package/es/shared/locales/en-GB.js.map +1 -1
  1010. package/es/shared/locales/en-US.d.ts +1 -0
  1011. package/es/shared/locales/index.d.ts +2 -0
  1012. package/es/shared/locales/nb-NO.d.ts +1 -0
  1013. package/es/shared/locales/nb-NO.js +1 -0
  1014. package/es/shared/locales/nb-NO.js.map +1 -1
  1015. package/es/shared/useMedia.js +30 -21
  1016. package/es/shared/useMedia.js.map +1 -1
  1017. package/es/style/core/reset.scss +13 -3
  1018. package/es/style/core/utilities.scss +3 -1
  1019. package/es/style/dnb-ui-components.css +142 -20
  1020. package/es/style/dnb-ui-components.min.css +1 -1
  1021. package/es/style/dnb-ui-elements.css +23 -11
  1022. package/es/style/dnb-ui-elements.min.css +1 -1
  1023. package/es/style/dnb-ui-extensions.css +112 -36
  1024. package/es/style/dnb-ui-extensions.min.css +1 -1
  1025. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1026. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1027. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1028. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1029. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1030. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1031. package/es/style/themes/theme-sbanken/customisations.scss +3 -7
  1032. package/es/style/themes/theme-sbanken/properties.js +6 -6
  1033. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  1034. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  1035. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1036. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1037. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1038. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1039. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1040. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1041. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1042. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1043. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1044. package/es/style/themes/theme-ui/fonts.scss +8 -4
  1045. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1046. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1047. package/es/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1048. package/es/style/themes/theme-ui/ui-theme-components.css +173 -160
  1049. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1050. package/es/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1051. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1052. package/es/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1053. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1054. package/es/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1055. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1056. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1057. package/esm/dnb-ui-basis.min.mjs +1 -1
  1058. package/esm/dnb-ui-components.min.mjs +1 -1
  1059. package/esm/dnb-ui-elements.min.mjs +1 -1
  1060. package/esm/dnb-ui-extensions.min.mjs +6 -6
  1061. package/esm/dnb-ui-lib.min.mjs +1 -1
  1062. package/extensions/forms/DataContext/At.d.ts +1 -1
  1063. package/extensions/forms/DataContext/At.js.map +1 -1
  1064. package/extensions/forms/DataContext/Context.d.ts +1 -0
  1065. package/extensions/forms/DataContext/Context.js +2 -1
  1066. package/extensions/forms/DataContext/Context.js.map +1 -1
  1067. package/extensions/forms/DataContext/Provider.js +7 -3
  1068. package/extensions/forms/DataContext/Provider.js.map +1 -1
  1069. package/extensions/forms/DataContext/index.d.ts +0 -2
  1070. package/extensions/forms/DataContext/index.js +0 -2
  1071. package/extensions/forms/DataContext/index.js.map +1 -1
  1072. package/extensions/forms/Field/ArraySelection.d.ts +4 -4
  1073. package/extensions/forms/Field/ArraySelection.js +52 -36
  1074. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  1075. package/extensions/forms/Field/CountryCode.d.ts +9 -0
  1076. package/extensions/forms/Field/CountryCode.js +67 -0
  1077. package/extensions/forms/Field/CountryCode.js.map +1 -0
  1078. package/extensions/forms/Field/Currency.d.ts +2 -3
  1079. package/extensions/forms/Field/Currency.js +6 -38
  1080. package/extensions/forms/Field/Currency.js.map +1 -1
  1081. package/extensions/forms/Field/Date.d.ts +2 -3
  1082. package/extensions/forms/Field/Date.js +15 -11
  1083. package/extensions/forms/Field/Date.js.map +1 -1
  1084. package/extensions/forms/Field/Number.d.ts +7 -4
  1085. package/extensions/forms/Field/Number.js +47 -24
  1086. package/extensions/forms/Field/Number.js.map +1 -1
  1087. package/extensions/forms/Field/Option.d.ts +2 -3
  1088. package/extensions/forms/Field/Option.js.map +1 -1
  1089. package/extensions/forms/Field/PhoneNumber.d.ts +8 -4
  1090. package/extensions/forms/Field/PhoneNumber.js +46 -45
  1091. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  1092. package/extensions/forms/Field/PostalCodeAndCity.d.ts +3 -3
  1093. package/extensions/forms/Field/PostalCodeAndCity.js +4 -4
  1094. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  1095. package/extensions/forms/Field/Selection.d.ts +6 -5
  1096. package/extensions/forms/Field/Selection.js +90 -42
  1097. package/extensions/forms/Field/Selection.js.map +1 -1
  1098. package/extensions/forms/Field/String.d.ts +3 -4
  1099. package/extensions/forms/Field/String.js +29 -17
  1100. package/extensions/forms/Field/String.js.map +1 -1
  1101. package/extensions/forms/Field/Toggle.d.ts +2 -3
  1102. package/extensions/forms/Field/Toggle.js +16 -14
  1103. package/extensions/forms/Field/Toggle.js.map +1 -1
  1104. package/extensions/forms/Field/fields.scss +2 -2
  1105. package/extensions/forms/Field/index.d.ts +2 -4
  1106. package/extensions/forms/Field/index.js +3 -5
  1107. package/extensions/forms/Field/index.js.map +1 -1
  1108. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  1109. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  1110. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  1111. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  1112. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  1113. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  1114. package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  1115. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  1116. package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  1117. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  1118. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  1119. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  1120. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  1121. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  1122. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  1123. package/extensions/forms/Field/style/index.scss +2 -0
  1124. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -5
  1125. package/extensions/forms/FieldBlock/FieldBlock.js +86 -16
  1126. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1127. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +8 -0
  1128. package/extensions/forms/FieldBlock/FieldBlockContext.js +4 -0
  1129. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -0
  1130. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  1131. package/extensions/forms/FieldBlock/index.js +3 -1
  1132. package/extensions/forms/FieldBlock/index.js.map +1 -1
  1133. package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  1134. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1135. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  1136. package/extensions/forms/Form/FormElement.d.ts +4 -0
  1137. package/extensions/forms/Form/FormElement.js +31 -0
  1138. package/extensions/forms/Form/FormElement.js.map +1 -0
  1139. package/extensions/forms/Form/FormHandler.d.ts +6 -0
  1140. package/extensions/forms/Form/FormHandler.js +33 -0
  1141. package/extensions/forms/Form/FormHandler.js.map +1 -0
  1142. package/extensions/forms/{DataContext → Form}/SubmitButton.d.ts +3 -4
  1143. package/extensions/forms/Form/SubmitButton.js +25 -0
  1144. package/extensions/forms/Form/SubmitButton.js.map +1 -0
  1145. package/extensions/forms/Form/index.d.ts +9 -0
  1146. package/extensions/forms/Form/index.js +10 -0
  1147. package/extensions/forms/Form/index.js.map +1 -0
  1148. package/extensions/forms/Iterate/Array.d.ts +17 -0
  1149. package/extensions/forms/Iterate/Array.js +81 -0
  1150. package/extensions/forms/Iterate/Array.js.map +1 -0
  1151. package/extensions/forms/Iterate/ArrayPushButton.d.ts +10 -0
  1152. package/extensions/forms/Iterate/ArrayPushButton.js +42 -0
  1153. package/extensions/forms/Iterate/ArrayPushButton.js.map +1 -0
  1154. package/extensions/forms/Iterate/ArrayRemoveElementButton.d.ts +8 -0
  1155. package/extensions/forms/Iterate/ArrayRemoveElementButton.js +30 -0
  1156. package/extensions/forms/Iterate/ArrayRemoveElementButton.js.map +1 -0
  1157. package/extensions/forms/Iterate/IterateElementContext.d.ts +11 -0
  1158. package/extensions/forms/Iterate/IterateElementContext.js +4 -0
  1159. package/extensions/forms/Iterate/IterateElementContext.js.map +1 -0
  1160. package/extensions/forms/Iterate/index.d.ts +11 -0
  1161. package/extensions/forms/Iterate/index.js +12 -0
  1162. package/extensions/forms/Iterate/index.js.map +1 -0
  1163. package/extensions/forms/Layout/ButtonRow.d.ts +1 -1
  1164. package/extensions/forms/Layout/ButtonRow.js +2 -2
  1165. package/extensions/forms/Layout/ButtonRow.js.map +1 -1
  1166. package/extensions/forms/Layout/Card.d.ts +1 -1
  1167. package/extensions/forms/Layout/Card.js +5 -5
  1168. package/extensions/forms/Layout/Card.js.map +1 -1
  1169. package/extensions/forms/Layout/FlexContainer.d.ts +2 -1
  1170. package/extensions/forms/Layout/FlexContainer.js +6 -5
  1171. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  1172. package/extensions/forms/Layout/FlexItem.d.ts +2 -1
  1173. package/extensions/forms/Layout/FlexItem.js +4 -3
  1174. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  1175. package/extensions/forms/Layout/MainHeading.d.ts +4 -2
  1176. package/extensions/forms/Layout/MainHeading.js +10 -4
  1177. package/extensions/forms/Layout/MainHeading.js.map +1 -1
  1178. package/extensions/forms/Layout/Section.d.ts +1 -1
  1179. package/extensions/forms/Layout/Section.js +2 -2
  1180. package/extensions/forms/Layout/Section.js.map +1 -1
  1181. package/extensions/forms/Layout/SubHeading.d.ts +4 -2
  1182. package/extensions/forms/Layout/SubHeading.js +10 -4
  1183. package/extensions/forms/Layout/SubHeading.js.map +1 -1
  1184. package/extensions/forms/Layout/index.d.ts +0 -2
  1185. package/extensions/forms/Layout/index.js +1 -3
  1186. package/extensions/forms/Layout/index.js.map +1 -1
  1187. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  1188. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  1189. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  1190. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  1191. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  1192. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  1193. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  1194. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  1195. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  1196. package/extensions/forms/StepsLayout/Buttons.d.ts +1 -1
  1197. package/extensions/forms/StepsLayout/Buttons.js +2 -2
  1198. package/extensions/forms/StepsLayout/Buttons.js.map +1 -1
  1199. package/extensions/forms/StepsLayout/NextButton.d.ts +1 -1
  1200. package/extensions/forms/StepsLayout/NextButton.js.map +1 -1
  1201. package/extensions/forms/StepsLayout/PreviousButton.d.ts +1 -1
  1202. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -1
  1203. package/extensions/forms/StepsLayout/Step.d.ts +1 -1
  1204. package/extensions/forms/StepsLayout/Step.js +2 -2
  1205. package/extensions/forms/StepsLayout/Step.js.map +1 -1
  1206. package/extensions/forms/StepsLayout/StepsLayout.d.ts +1 -1
  1207. package/extensions/forms/StepsLayout/StepsLayout.js +3 -3
  1208. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1209. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  1210. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1211. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  1212. package/extensions/forms/Value/Boolean.d.ts +2 -3
  1213. package/extensions/forms/Value/Boolean.js +4 -4
  1214. package/extensions/forms/Value/Boolean.js.map +1 -1
  1215. package/extensions/forms/Value/Number.d.ts +2 -3
  1216. package/extensions/forms/Value/Number.js +5 -4
  1217. package/extensions/forms/Value/Number.js.map +1 -1
  1218. package/extensions/forms/Value/String.d.ts +2 -3
  1219. package/extensions/forms/Value/String.js +4 -4
  1220. package/extensions/forms/Value/String.js.map +1 -1
  1221. package/extensions/forms/Value/index.d.ts +0 -4
  1222. package/extensions/forms/Value/index.js +0 -4
  1223. package/extensions/forms/Value/index.js.map +1 -1
  1224. package/extensions/forms/ValueBlock/ValueBlock.d.ts +2 -3
  1225. package/extensions/forms/ValueBlock/ValueBlock.js +2 -2
  1226. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  1227. package/extensions/forms/ValueBlock/index.js.map +1 -1
  1228. package/extensions/forms/hooks/index.d.ts +1 -0
  1229. package/extensions/forms/hooks/index.js +1 -0
  1230. package/extensions/forms/hooks/index.js.map +1 -0
  1231. package/extensions/forms/hooks/useDataValue.d.ts +12 -0
  1232. package/{es/extensions/forms/Field/hooks/useField.js → extensions/forms/hooks/useDataValue.js} +90 -53
  1233. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  1234. package/extensions/forms/index.d.ts +4 -4
  1235. package/extensions/forms/index.js +3 -2
  1236. package/extensions/forms/index.js.map +1 -1
  1237. package/extensions/forms/style/dnb-forms.css +105 -29
  1238. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1239. package/extensions/forms/style/index.d.ts +1 -0
  1240. package/extensions/forms/style/index.js +1 -0
  1241. package/extensions/forms/style/index.js.map +1 -0
  1242. package/extensions/forms/types.d.ts +95 -2
  1243. package/extensions/forms/types.js +60 -0
  1244. package/extensions/forms/types.js.map +1 -1
  1245. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  1246. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1247. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  1248. package/extensions/forms/utils/index.d.ts +0 -1
  1249. package/extensions/forms/utils/index.js +0 -1
  1250. package/extensions/forms/utils/index.js.map +1 -1
  1251. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  1252. package/extensions/forms/utils/useWasChanged.js +56 -0
  1253. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  1254. package/extensions/forms/variables.scss +3 -0
  1255. package/extensions/lib.d.ts +1 -2
  1256. package/extensions/payment-card/PaymentCard.js.map +1 -1
  1257. package/extensions/payment-card/style/dnb-payment-card.css +7 -7
  1258. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  1259. package/extensions/payment-card/style/dnb-payment-card.scss +7 -7
  1260. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  1261. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  1262. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  1263. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  1264. package/fragments/drawer-list/DrawerList.js +1 -1
  1265. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1266. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  1267. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  1268. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  1269. package/package.json +2 -1
  1270. package/shared/Context.d.ts +2 -0
  1271. package/shared/Context.js.map +1 -1
  1272. package/shared/Eufemia.d.ts +1 -1
  1273. package/shared/Eufemia.js +2 -2
  1274. package/shared/Eufemia.js.map +1 -1
  1275. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  1276. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  1277. package/shared/libs/Shortcuts.js.map +1 -1
  1278. package/shared/locales/en-GB.d.ts +1 -0
  1279. package/shared/locales/en-GB.js +1 -0
  1280. package/shared/locales/en-GB.js.map +1 -1
  1281. package/shared/locales/en-US.d.ts +1 -0
  1282. package/shared/locales/index.d.ts +2 -0
  1283. package/shared/locales/nb-NO.d.ts +1 -0
  1284. package/shared/locales/nb-NO.js +1 -0
  1285. package/shared/locales/nb-NO.js.map +1 -1
  1286. package/shared/useMedia.js +33 -23
  1287. package/shared/useMedia.js.map +1 -1
  1288. package/style/core/reset.scss +13 -3
  1289. package/style/core/utilities.scss +3 -1
  1290. package/style/dnb-ui-components.css +142 -20
  1291. package/style/dnb-ui-components.min.css +1 -1
  1292. package/style/dnb-ui-elements.css +23 -11
  1293. package/style/dnb-ui-elements.min.css +1 -1
  1294. package/style/dnb-ui-extensions.css +112 -36
  1295. package/style/dnb-ui-extensions.min.css +1 -1
  1296. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -11
  1297. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1298. package/style/themes/theme-eiendom/eiendom-theme-components.css +173 -160
  1299. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  1300. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +112 -36
  1301. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1302. package/style/themes/theme-sbanken/customisations.scss +3 -7
  1303. package/style/themes/theme-sbanken/properties.js +6 -6
  1304. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1305. package/style/themes/theme-sbanken/properties.scss +6 -6
  1306. package/style/themes/theme-sbanken/sbanken-theme-basis.css +67 -47
  1307. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1308. package/style/themes/theme-sbanken/sbanken-theme-components.css +386 -392
  1309. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +12 -2
  1310. package/style/themes/theme-sbanken/sbanken-theme-components.scss +7 -6
  1311. package/style/themes/theme-sbanken/sbanken-theme-elements.css +59 -23
  1312. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1313. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +112 -36
  1314. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1315. package/style/themes/theme-ui/fonts.scss +8 -4
  1316. package/style/themes/theme-ui/ui-theme-basis.css +25 -11
  1317. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1318. package/style/themes/theme-ui/ui-theme-basis.scss +4 -0
  1319. package/style/themes/theme-ui/ui-theme-components.css +173 -160
  1320. package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  1321. package/style/themes/theme-ui/ui-theme-elements.css +23 -11
  1322. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1323. package/style/themes/theme-ui/ui-theme-extensions.css +112 -36
  1324. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1325. package/style/themes/theme-ui/ui-theme-tags.css +20 -11
  1326. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1327. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  1328. package/umd/dnb-ui-basis.min.js +1 -1
  1329. package/umd/dnb-ui-components.min.js +1 -1
  1330. package/umd/dnb-ui-elements.min.js +1 -1
  1331. package/umd/dnb-ui-extensions.min.js +6 -6
  1332. package/umd/dnb-ui-lib.min.js +1 -1
  1333. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1334. package/cjs/extensions/forms/Field/FirstName.d.ts +0 -7
  1335. package/cjs/extensions/forms/Field/FirstName.js +0 -31
  1336. package/cjs/extensions/forms/Field/FirstName.js.map +0 -1
  1337. package/cjs/extensions/forms/Field/LastName.d.ts +0 -7
  1338. package/cjs/extensions/forms/Field/LastName.js +0 -31
  1339. package/cjs/extensions/forms/Field/LastName.js.map +0 -1
  1340. package/cjs/extensions/forms/Field/hooks/index.d.ts +0 -1
  1341. package/cjs/extensions/forms/Field/hooks/index.js.map +0 -1
  1342. package/cjs/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1343. package/cjs/extensions/forms/Field/hooks/useField.js.map +0 -1
  1344. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1345. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +0 -95
  1346. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1347. package/cjs/extensions/forms/FieldGroup/index.d.ts +0 -2
  1348. package/cjs/extensions/forms/FieldGroup/index.js +0 -27
  1349. package/cjs/extensions/forms/FieldGroup/index.js.map +0 -1
  1350. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1351. package/cjs/extensions/forms/Layout/InfoCardSection.js +0 -25
  1352. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1353. package/cjs/extensions/forms/Value/FirstName.d.ts +0 -7
  1354. package/cjs/extensions/forms/Value/FirstName.js +0 -28
  1355. package/cjs/extensions/forms/Value/FirstName.js.map +0 -1
  1356. package/cjs/extensions/forms/Value/LastName.d.ts +0 -7
  1357. package/cjs/extensions/forms/Value/LastName.js +0 -28
  1358. package/cjs/extensions/forms/Value/LastName.js.map +0 -1
  1359. package/cjs/extensions/forms/Value/hooks/index.d.ts +0 -1
  1360. package/cjs/extensions/forms/Value/hooks/index.js +0 -14
  1361. package/cjs/extensions/forms/Value/hooks/index.js.map +0 -1
  1362. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1363. package/cjs/extensions/forms/Value/hooks/useValue.js +0 -31
  1364. package/cjs/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1365. package/cjs/extensions/forms/component-types.d.ts +0 -4
  1366. package/cjs/extensions/forms/component-types.js +0 -1
  1367. package/cjs/extensions/forms/component-types.js.map +0 -1
  1368. package/cjs/extensions/forms/field-types.d.ts +0 -52
  1369. package/cjs/extensions/forms/field-types.js +0 -1
  1370. package/cjs/extensions/forms/field-types.js.map +0 -1
  1371. package/cjs/extensions/forms/utils/components.d.ts +0 -3
  1372. package/cjs/extensions/forms/utils/components.js +0 -32
  1373. package/cjs/extensions/forms/utils/components.js.map +0 -1
  1374. package/cjs/extensions/forms/value-types.d.ts +0 -15
  1375. package/cjs/extensions/forms/value-types.js +0 -1
  1376. package/cjs/extensions/forms/value-types.js.map +0 -1
  1377. package/es/extensions/forms/DataContext/SubmitButton.js +0 -20
  1378. package/es/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1379. package/es/extensions/forms/Field/FirstName.d.ts +0 -7
  1380. package/es/extensions/forms/Field/FirstName.js +0 -19
  1381. package/es/extensions/forms/Field/FirstName.js.map +0 -1
  1382. package/es/extensions/forms/Field/LastName.d.ts +0 -7
  1383. package/es/extensions/forms/Field/LastName.js +0 -19
  1384. package/es/extensions/forms/Field/LastName.js.map +0 -1
  1385. package/es/extensions/forms/Field/hooks/index.d.ts +0 -1
  1386. package/es/extensions/forms/Field/hooks/index.js +0 -1
  1387. package/es/extensions/forms/Field/hooks/index.js.map +0 -1
  1388. package/es/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1389. package/es/extensions/forms/Field/hooks/useField.js.map +0 -1
  1390. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1391. package/es/extensions/forms/FieldGroup/FieldGroup.js +0 -77
  1392. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1393. package/es/extensions/forms/FieldGroup/index.d.ts +0 -2
  1394. package/es/extensions/forms/FieldGroup/index.js +0 -3
  1395. package/es/extensions/forms/FieldGroup/index.js.map +0 -1
  1396. package/es/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1397. package/es/extensions/forms/Layout/InfoCardSection.js +0 -17
  1398. package/es/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1399. package/es/extensions/forms/Value/FirstName.d.ts +0 -7
  1400. package/es/extensions/forms/Value/FirstName.js +0 -16
  1401. package/es/extensions/forms/Value/FirstName.js.map +0 -1
  1402. package/es/extensions/forms/Value/LastName.d.ts +0 -7
  1403. package/es/extensions/forms/Value/LastName.js +0 -16
  1404. package/es/extensions/forms/Value/LastName.js.map +0 -1
  1405. package/es/extensions/forms/Value/hooks/index.d.ts +0 -1
  1406. package/es/extensions/forms/Value/hooks/index.js +0 -1
  1407. package/es/extensions/forms/Value/hooks/index.js.map +0 -1
  1408. package/es/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1409. package/es/extensions/forms/Value/hooks/useValue.js +0 -22
  1410. package/es/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1411. package/es/extensions/forms/component-types.d.ts +0 -4
  1412. package/es/extensions/forms/component-types.js +0 -1
  1413. package/es/extensions/forms/component-types.js.map +0 -1
  1414. package/es/extensions/forms/field-types.d.ts +0 -52
  1415. package/es/extensions/forms/field-types.js +0 -1
  1416. package/es/extensions/forms/field-types.js.map +0 -1
  1417. package/es/extensions/forms/utils/components.d.ts +0 -3
  1418. package/es/extensions/forms/utils/components.js +0 -23
  1419. package/es/extensions/forms/utils/components.js.map +0 -1
  1420. package/es/extensions/forms/value-types.d.ts +0 -15
  1421. package/es/extensions/forms/value-types.js +0 -1
  1422. package/es/extensions/forms/value-types.js.map +0 -1
  1423. package/extensions/forms/DataContext/SubmitButton.js +0 -20
  1424. package/extensions/forms/DataContext/SubmitButton.js.map +0 -1
  1425. package/extensions/forms/Field/FirstName.d.ts +0 -7
  1426. package/extensions/forms/Field/FirstName.js +0 -19
  1427. package/extensions/forms/Field/FirstName.js.map +0 -1
  1428. package/extensions/forms/Field/LastName.d.ts +0 -7
  1429. package/extensions/forms/Field/LastName.js +0 -19
  1430. package/extensions/forms/Field/LastName.js.map +0 -1
  1431. package/extensions/forms/Field/hooks/index.d.ts +0 -1
  1432. package/extensions/forms/Field/hooks/index.js +0 -1
  1433. package/extensions/forms/Field/hooks/index.js.map +0 -1
  1434. package/extensions/forms/Field/hooks/useField.d.ts +0 -11
  1435. package/extensions/forms/Field/hooks/useField.js.map +0 -1
  1436. package/extensions/forms/FieldGroup/FieldGroup.d.ts +0 -17
  1437. package/extensions/forms/FieldGroup/FieldGroup.js +0 -83
  1438. package/extensions/forms/FieldGroup/FieldGroup.js.map +0 -1
  1439. package/extensions/forms/FieldGroup/index.d.ts +0 -2
  1440. package/extensions/forms/FieldGroup/index.js +0 -3
  1441. package/extensions/forms/FieldGroup/index.js.map +0 -1
  1442. package/extensions/forms/Layout/InfoCardSection.d.ts +0 -8
  1443. package/extensions/forms/Layout/InfoCardSection.js +0 -17
  1444. package/extensions/forms/Layout/InfoCardSection.js.map +0 -1
  1445. package/extensions/forms/Value/FirstName.d.ts +0 -7
  1446. package/extensions/forms/Value/FirstName.js +0 -16
  1447. package/extensions/forms/Value/FirstName.js.map +0 -1
  1448. package/extensions/forms/Value/LastName.d.ts +0 -7
  1449. package/extensions/forms/Value/LastName.js +0 -16
  1450. package/extensions/forms/Value/LastName.js.map +0 -1
  1451. package/extensions/forms/Value/hooks/index.d.ts +0 -1
  1452. package/extensions/forms/Value/hooks/index.js +0 -1
  1453. package/extensions/forms/Value/hooks/index.js.map +0 -1
  1454. package/extensions/forms/Value/hooks/useValue.d.ts +0 -2
  1455. package/extensions/forms/Value/hooks/useValue.js +0 -22
  1456. package/extensions/forms/Value/hooks/useValue.js.map +0 -1
  1457. package/extensions/forms/component-types.d.ts +0 -4
  1458. package/extensions/forms/component-types.js +0 -1
  1459. package/extensions/forms/component-types.js.map +0 -1
  1460. package/extensions/forms/field-types.d.ts +0 -52
  1461. package/extensions/forms/field-types.js +0 -1
  1462. package/extensions/forms/field-types.js.map +0 -1
  1463. package/extensions/forms/utils/components.d.ts +0 -3
  1464. package/extensions/forms/utils/components.js +0 -23
  1465. package/extensions/forms/utils/components.js.map +0 -1
  1466. package/extensions/forms/value-types.d.ts +0 -15
  1467. package/extensions/forms/value-types.js +0 -1
  1468. package/extensions/forms/value-types.js.map +0 -1
@@ -4,22 +4,26 @@ const _excluded = ["as", "is", "level", "size", "className"];
4
4
  import React from 'react';
5
5
  import classnames from 'classnames';
6
6
  import E from '../Element';
7
- import { setNextLevel } from '../../components/heading/HeadingHelpers';
7
+ import { setNextLevel, getHeadingSize } from '../../components/heading/HeadingHelpers';
8
+ import { useTheme } from '../../shared';
8
9
  const H = _ref => {
9
10
  let {
10
11
  as = 'h1',
11
12
  is,
12
13
  level,
13
- size = 'xx-large',
14
+ size,
14
15
  className
15
16
  } = _ref,
16
17
  props = _objectWithoutProperties(_ref, _excluded);
18
+ const numSiz = parseFloat(String(as || is).substring(1));
17
19
  if (level === 'use') {
18
- setNextLevel(parseFloat(String(as || is).substring(1)));
20
+ setNextLevel(numSiz);
19
21
  }
22
+ const theme = useTheme();
23
+ const targetSize = size === 'auto' && getHeadingSize(theme === null || theme === void 0 ? void 0 : theme.name)[numSiz] || size || 'xx-large';
20
24
  return React.createElement(E, _extends({
21
25
  as: as || is,
22
- internalClass: classnames(className, size && `dnb-h--${size}`)
26
+ internalClass: classnames(className, targetSize && `dnb-h--${targetSize}`)
23
27
  }, props));
24
28
  };
25
29
  export default H;
@@ -1 +1 @@
1
- {"version":3,"file":"H.js","names":["React","classnames","E","setNextLevel","H","_ref","as","is","level","size","className","props","_objectWithoutProperties","_excluded","parseFloat","String","substring","createElement","_extends","internalClass"],"sources":["../../../../src/elements/typography/H.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\nimport { setNextLevel } from '../../components/heading/HeadingHelpers'\n\nexport type HSize =\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\ntype HProps = SpacingProps &\n React.HTMLAttributes<HTMLHeadingElement> & {\n /**\n * Defines the Element Type, like \"h1\"\n * Default: h1\n */\n as?: string\n /**\n * Makes the component use the elements heading level. e.g. h3 will make the component use level 3\n */\n level?: 'use'\n /**\n * Sets the font size based on headingSize_#{HEADING_SIZE} mixins found in typography-mixins.scss. For more detailed information go here: https://eufemia.dnb.no/uilib/typography/font-size/\n * Default: xx-large\n */\n size?: HSize\n }\n\nexport type SharedHProps = Omit<HProps, 'as'>\n\nconst H = ({\n as = 'h1',\n is,\n level,\n size = 'xx-large',\n className,\n ...props\n}: HProps) => {\n if (level === 'use') {\n setNextLevel(parseFloat(String(as || is).substring(1)))\n }\n\n return (\n <E\n as={as || is}\n internalClass={classnames(size && `dnb-h--${size}`, className)}\n {...props}\n />\n )\n}\n\nexport default H\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,CAAC,MAAM,YAAY;AAC1B,SAASC,YAAY,QAAQ,yCAAyC;AA+BtE,MAAMC,CAAC,GAAGC,IAAA,IAOI;EAAA,IAPH;MACTC,EAAE,GAAG,IAAI;MACTC,EAAE;MACFC,KAAK;MACLC,IAAI,GAAG,UAAU;MACjBC;IAEM,CAAC,GAAAL,IAAA;IADJM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAER,IAAIL,KAAK,KAAK,KAAK,EAAE;IACnBL,YAAY,CAACW,UAAU,CAACC,MAAM,CAACT,EAAE,IAAIC,EAAE,CAAC,CAACS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;EACzD;EAEA,OACEhB,KAAA,CAAAiB,aAAA,CAACf,CAAC,EAAAgB,QAAA;IACAZ,EAAE,EAAEA,EAAE,IAAIC,EAAG;IACbY,aAAa,EAAElB,UAAU,CAA2BS,SAAS,EAAnCD,IAAI,IAAK,UAASA,IAAK,EAAY;EAAE,GAC3DE,KAAK,CACV,CAAC;AAEN,CAAC;AAED,eAAeP,CAAC"}
1
+ {"version":3,"file":"H.js","names":["React","classnames","E","setNextLevel","getHeadingSize","useTheme","H","_ref","as","is","level","size","className","props","_objectWithoutProperties","_excluded","numSiz","parseFloat","String","substring","theme","targetSize","name","createElement","_extends","internalClass"],"sources":["../../../../src/elements/typography/H.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\nimport { HeadingSize } from '../../components/heading/Heading'\nimport {\n setNextLevel,\n getHeadingSize,\n} from '../../components/heading/HeadingHelpers'\nimport { useTheme } from '../../shared'\n\nexport type HSize = HeadingSize\n\ntype HProps = SpacingProps &\n React.HTMLAttributes<HTMLHeadingElement> & {\n /**\n * Defines the Element Type, like \"h1\"\n * Default: h1\n */\n as?: string\n /**\n * Makes the component use the elements heading level. e.g. h3 will make the component use level 3\n */\n level?: 'use'\n /**\n * Sets the font size based on headingSize_#{HEADING_SIZE} mixins found in typography-mixins.scss. For more detailed information go here: https://eufemia.dnb.no/uilib/typography/font-size/.\n * Use value 'auto' to base size on heading level\n * Default: xx-large\n */\n size?: HSize | 'auto'\n }\n\nexport type SharedHProps = Omit<HProps, 'as'>\n\nconst H = ({\n as = 'h1',\n is,\n level,\n size,\n className,\n ...props\n}: HProps) => {\n const numSiz = parseFloat(String(as || is).substring(1))\n\n if (level === 'use') {\n setNextLevel(numSiz)\n }\n\n const theme = useTheme()\n const targetSize =\n (size === 'auto' && getHeadingSize(theme?.name)[numSiz]) ||\n size ||\n 'xx-large'\n\n return (\n <E\n as={as || is}\n internalClass={classnames(\n targetSize && `dnb-h--${targetSize}`,\n className\n )}\n {...props}\n />\n )\n}\n\nexport default H\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,CAAC,MAAM,YAAY;AAE1B,SACEC,YAAY,EACZC,cAAc,QACT,yCAAyC;AAChD,SAASC,QAAQ,QAAQ,cAAc;AAyBvC,MAAMC,CAAC,GAAGC,IAAA,IAOI;EAAA,IAPH;MACTC,EAAE,GAAG,IAAI;MACTC,EAAE;MACFC,KAAK;MACLC,IAAI;MACJC;IAEM,CAAC,GAAAL,IAAA;IADJM,KAAK,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAER,MAAMC,MAAM,GAAGC,UAAU,CAACC,MAAM,CAACV,EAAE,IAAIC,EAAE,CAAC,CAACU,SAAS,CAAC,CAAC,CAAC,CAAC;EAExD,IAAIT,KAAK,KAAK,KAAK,EAAE;IACnBP,YAAY,CAACa,MAAM,CAAC;EACtB;EAEA,MAAMI,KAAK,GAAGf,QAAQ,CAAC,CAAC;EACxB,MAAMgB,UAAU,GACbV,IAAI,KAAK,MAAM,IAAIP,cAAc,CAACgB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,IAAI,CAAC,CAACN,MAAM,CAAC,IACvDL,IAAI,IACJ,UAAU;EAEZ,OACEX,KAAA,CAAAuB,aAAA,CAACrB,CAAC,EAAAsB,QAAA;IACAhB,EAAE,EAAEA,EAAE,IAAIC,EAAG;IACbgB,aAAa,EAAExB,UAAU,CAEvBW,SAAS,EADTS,UAAU,IAAK,UAASA,UAAW,EAErC;EAAE,GACER,KAAK,CACV,CAAC;AAEN,CAAC;AAED,eAAeP,CAAC"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H1 = _ref => {
7
7
  let {
8
- size = 'xx-large'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h1",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H1;
@@ -1 +1 @@
1
- {"version":3,"file":"H1.js","names":["React","H","H1","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H1.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport H from './H'\nimport type { SharedHProps } from './H'\n\nconst H1 = ({ size = 'xx-large', ...props }: SharedHProps) => (\n <H as=\"h1\" size={size} {...props} />\n)\n\nexport default H1\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,CAAC,MAAM,KAAK;AAGnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAmC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACvCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H1.js","names":["React","H","H1","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H1.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H1 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h1\" size={size || 'auto'} {...props} />\n)\n\nexport default H1\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H2 = _ref => {
7
7
  let {
8
- size = 'large'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h2",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H2;
@@ -1 +1 @@
1
- {"version":3,"file":"H2.js","names":["React","H","H2","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H2.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H2 = ({ size = 'large', ...props }: SharedHProps) => (\n <H as=\"h2\" size={size} {...props} />\n)\n\nexport default H2\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAgC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACpCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H2.js","names":["React","H","H2","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H2.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H2 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h2\" size={size || 'auto'} {...props} />\n)\n\nexport default H2\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H3 = _ref => {
7
7
  let {
8
- size = 'medium'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h3",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H3;
@@ -1 +1 @@
1
- {"version":3,"file":"H3.js","names":["React","H","H3","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H3.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H3 = ({ size = 'medium', ...props }: SharedHProps) => (\n <H as=\"h3\" size={size} {...props} />\n)\n\nexport default H3\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAiC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACrCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H3.js","names":["React","H","H3","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H3.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H3 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h3\" size={size || 'auto'} {...props} />\n)\n\nexport default H3\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H4 = _ref => {
7
7
  let {
8
- size = 'basis'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h4",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H4;
@@ -1 +1 @@
1
- {"version":3,"file":"H4.js","names":["React","H","H4","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H4.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H4 = ({ size = 'basis', ...props }: SharedHProps) => (\n <H as=\"h4\" size={size} {...props} />\n)\n\nexport default H4\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAgC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACpCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H4.js","names":["React","H","H4","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H4.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H4 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h4\" size={size || 'auto'} {...props} />\n)\n\nexport default H4\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H5 = _ref => {
7
7
  let {
8
- size = 'small'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h5",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H5;
@@ -1 +1 @@
1
- {"version":3,"file":"H5.js","names":["React","H","H5","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H5.tsx"],"sourcesContent":["/**\n/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H5 = ({ size = 'small', ...props }: SharedHProps) => (\n <H as=\"h5\" size={size} {...props} />\n)\n\nexport default H5\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAgC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACpCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H5.js","names":["React","H","H5","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H5.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H5 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h5\" size={size || 'auto'} {...props} />\n)\n\nexport default H5\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -5,12 +5,12 @@ import React from 'react';
5
5
  import H from './H';
6
6
  const H6 = _ref => {
7
7
  let {
8
- size = 'x-small'
8
+ size
9
9
  } = _ref,
10
10
  props = _objectWithoutProperties(_ref, _excluded);
11
11
  return React.createElement(H, _extends({
12
12
  as: "h6",
13
- size: size
13
+ size: size || 'auto'
14
14
  }, props));
15
15
  };
16
16
  export default H6;
@@ -1 +1 @@
1
- {"version":3,"file":"H6.js","names":["React","H","H6","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H6.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H6 = ({ size = 'x-small', ...props }: SharedHProps) => (\n <H as=\"h6\" size={size} {...props} />\n)\n\nexport default H6\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC,IAAI,GAAG;IAAkC,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OACtCP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA;EAAK,GAAKC,KAAK,CAAG,CAAC;AAAA,CACrC;AAED,eAAeH,EAAE"}
1
+ {"version":3,"file":"H6.js","names":["React","H","H6","_ref","size","props","_objectWithoutProperties","_excluded","createElement","_extends","as"],"sources":["../../../../src/elements/typography/H6.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\nimport React from 'react'\nimport type { SharedHProps } from './H'\nimport H from './H'\n\nconst H6 = ({ size, ...props }: SharedHProps) => (\n <H as=\"h6\" size={size || 'auto'} {...props} />\n)\n\nexport default H6\n"],"mappings":";;;AAIA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,CAAC,MAAM,KAAK;AAEnB,MAAMC,EAAE,GAAGC,IAAA;EAAA,IAAC;MAAEC;IAA6B,CAAC,GAAAD,IAAA;IAArBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAAA,OAC1BP,KAAA,CAAAQ,aAAA,CAACP,CAAC,EAAAQ,QAAA;IAACC,EAAE,EAAC,IAAI;IAACN,IAAI,EAAEA,IAAI,IAAI;EAAO,GAAKC,KAAK,CAAG,CAAC;AAAA,CAC/C;AAED,eAAeH,EAAE"}
@@ -51,6 +51,7 @@
51
51
  --typography-h-basis-small-font-size: var(--font-size-small);
52
52
  --typography-h-basis-small-line-height: var(--line-height-small);
53
53
  --typography-h-basis-weight: var(--font-weight-medium);
54
+ --typography-h-basis-font-family: var(--font-family-default);
54
55
 
55
56
  // Heading small
56
57
  --typography-h-small-font-size: var(--font-size-small);
@@ -58,11 +59,13 @@
58
59
  --typography-h-small-small-font-size: var(--font-size-x-small);
59
60
  --typography-h-small-small-line-height: var(--line-height-x-small);
60
61
  --typography-h-small-weight: var(--font-weight-medium);
62
+ --typography-h-small-font-family: var(--font-family-default);
61
63
 
62
64
  // Heading x-small
63
65
  --typography-h-x-small-font-size: var(--font-size-x-small);
64
66
  --typography-h-x-small-line-height: var(--line-height-x-small);
65
67
  --typography-h-x-small-weight: var(--font-weight-medium);
68
+ --typography-h-x-small-font-family: var(--font-family-default);
66
69
  }
67
70
 
68
71
  @include headingClasses() {
@@ -1,4 +1,5 @@
1
1
  @use '../typography-mixins.scss' as typography;
2
+ @use '../../../../style/core/utilities.scss' as utilities;
2
3
 
3
4
  // Paragraphs
4
5
  .dnb-p {
@@ -13,6 +14,7 @@
13
14
  // Headings
14
15
  @include typography.headingClasses() {
15
16
  color: var(--sb-color-text);
17
+ font-variant-ligatures: none;
16
18
  }
17
19
 
18
20
  @include typography.typographySelectors() {
@@ -22,6 +24,15 @@
22
24
  --typography-h-large-weight: var(--font-weight-regular);
23
25
  --typography-lead-weight: var(--font-weight-regular);
24
26
  --typography-h-medium-weight: var(--font-weight-regular);
25
- --typography-h-basis-weight: var(--font-weight-regular);
26
- --typography-h-small-weight: var(--font-weight-regular);
27
+
28
+ @include utilities.allBelow(small) {
29
+ --typography-h-xx-large-font-size: var(--font-size-x-large);
30
+ --typography-h-xx-large-line-height: var(--line-height-x-large);
31
+ --typography-h-x-large-font-size: var(--font-size-large);
32
+ --typography-h-x-large-line-height: var(--line-height-large);
33
+ --typography-h-large-font-size: var(--font-size-medium);
34
+ --typography-h-large-line-height: var(--line-height-medium);
35
+ --typography-h-medium-font-size: var(--font-size-lead);
36
+ --typography-h-medium-line-height: var(--line-height-lead);
37
+ }
27
38
  }
@@ -6,9 +6,11 @@
6
6
  $selectors: &;
7
7
  @at-root {
8
8
  @include headingTags() {
9
+ // prettier-ignore
9
10
  $selectors: #{$selectors}, &;
10
11
  @at-root {
11
12
  @include otherSelectos() {
13
+ // prettier-ignore
12
14
  $selectors: #{$selectors}, &;
13
15
 
14
16
  @at-root #{$selectors} {
@@ -191,6 +193,7 @@
191
193
  var(--typography-h-basis-small-line-height),
192
194
  var(--typography-h-basis-weight)
193
195
  ) {
196
+ font-family: var(--typography-h-basis-font-family);
194
197
  @content;
195
198
  }
196
199
  }
@@ -203,6 +206,7 @@
203
206
  var(--typography-h-small-small-line-height),
204
207
  var(--typography-h-small-weight)
205
208
  ) {
209
+ font-family: var(--typography-h-small-font-family);
206
210
  @content;
207
211
  }
208
212
  }
@@ -215,6 +219,7 @@
215
219
  null,
216
220
  var(--typography-h-x-small-weight)
217
221
  ) {
222
+ font-family: var(--typography-h-x-small-font-family);
218
223
  @content;
219
224
  }
220
225
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ComponentProps } from '../component-types';
2
+ import type { ComponentProps } from '../types';
3
3
  export type Props = ComponentProps & {
4
4
  /** JSON Pointer for where in the source dataset to point at in sub components */
5
5
  path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"At.js","names":["React","useContext","useMemo","pointer","Context","At","props","path","iterate","children","dataContext","data","contextData","handlePathChange","contextHandlePathChange","has","get","undefined","changePath","value","Array","isArray","createElement","Fragment","map","element","i","Provider","key","_objectSpread","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/DataContext/At.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../component-types'\nimport Context from './Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const { data: contextData, handlePathChange: contextHandlePathChange } =\n dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange = useMemo(\n () =>\n contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}${changePath}`, value)\n }\n : undefined,\n [contextHandlePathChange, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}/${i}${changePath}`, value)\n }\n : undefined\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsEufemiaSpacingProps = true\nexport default At\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,OAAO,MAAM,cAAc;AAElC,OAAOC,OAAO,MAAM,WAAW;AAS/B,SAASC,EAAEA,CAACC,KAAY,EAAE;EACxB,MAAM;IAAEC,IAAI,GAAG,GAAG;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,MAAMI,WAAW,GAAGT,UAAU,CAACG,OAAO,CAAC;EACvC,MAAM;IAAEO,IAAI,EAAEC,WAAW;IAAEC,gBAAgB,EAAEC;EAAwB,CAAC,GACpEJ,WAAW;EAEb,MAAMC,IAAI,GACRC,WAAW,IAAIT,OAAO,CAACY,GAAG,CAACH,WAAW,EAAEL,IAAI,CAAC,GACzCJ,OAAO,CAACa,GAAG,CAACJ,WAAW,EAAEL,IAAI,CAAC,GAC9BU,SAAS;EAEf,MAAMJ,gBAAgB,GAAGX,OAAO,CAC9B,MACEY,uBAAuB,GACnB,CAACI,UAAU,EAAEC,KAAK,KAAK;IACrBL,uBAAuB,CAAE,GAAEP,IAAK,GAAEW,UAAW,EAAC,EAAEC,KAAK,CAAC;EACxD,CAAC,GACDF,SAAS,EACf,CAACH,uBAAuB,EAAEP,IAAI,CAChC,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,IAAI,CAACY,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;MACxB,OAAO,IAAI;IACb;IACA,OACEX,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QACGZ,IAAI,CAACa,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;MACxB,MAAMb,gBAAgB,GAAGC,uBAAuB,GAC5C,CAACI,UAAU,EAAEC,KAAK,KAAK;QACrBL,uBAAuB,CAAE,GAAEP,IAAK,IAAGmB,CAAE,GAAER,UAAW,EAAC,EAAEC,KAAK,CAAC;MAC7D,CAAC,GACDF,SAAS;MAEb,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;QACfC,GAAG,EAAG,UAASF,CAAE,EAAE;QACnBP,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;UACdC,IAAI,EAAEc,OAAO;UACbZ;QAAgB;MAChB,GAEDJ,QACe,CAAC;IAEvB,CAAC,CACD,CAAC;EAEP;EAEA,OACET,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;IACfR,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;MACdC,IAAI;MACJE;IAAgB;EAChB,GAEDJ,QACe,CAAC;AAEvB;AAEAJ,EAAE,CAACyB,4BAA4B,GAAG,IAAI;AACtC,eAAezB,EAAE"}
1
+ {"version":3,"file":"At.js","names":["React","useContext","useMemo","pointer","Context","At","props","path","iterate","children","dataContext","data","contextData","handlePathChange","contextHandlePathChange","has","get","undefined","changePath","value","Array","isArray","createElement","Fragment","map","element","i","Provider","key","_objectSpread","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/DataContext/At.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../types'\nimport Context from './Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const { data: contextData, handlePathChange: contextHandlePathChange } =\n dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange = useMemo(\n () =>\n contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}${changePath}`, value)\n }\n : undefined,\n [contextHandlePathChange, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}/${i}${changePath}`, value)\n }\n : undefined\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsEufemiaSpacingProps = true\nexport default At\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,OAAO,MAAM,cAAc;AAElC,OAAOC,OAAO,MAAM,WAAW;AAS/B,SAASC,EAAEA,CAACC,KAAY,EAAE;EACxB,MAAM;IAAEC,IAAI,GAAG,GAAG;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,MAAMI,WAAW,GAAGT,UAAU,CAACG,OAAO,CAAC;EACvC,MAAM;IAAEO,IAAI,EAAEC,WAAW;IAAEC,gBAAgB,EAAEC;EAAwB,CAAC,GACpEJ,WAAW;EAEb,MAAMC,IAAI,GACRC,WAAW,IAAIT,OAAO,CAACY,GAAG,CAACH,WAAW,EAAEL,IAAI,CAAC,GACzCJ,OAAO,CAACa,GAAG,CAACJ,WAAW,EAAEL,IAAI,CAAC,GAC9BU,SAAS;EAEf,MAAMJ,gBAAgB,GAAGX,OAAO,CAC9B,MACEY,uBAAuB,GACnB,CAACI,UAAU,EAAEC,KAAK,KAAK;IACrBL,uBAAuB,CAAE,GAAEP,IAAK,GAAEW,UAAW,EAAC,EAAEC,KAAK,CAAC;EACxD,CAAC,GACDF,SAAS,EACf,CAACH,uBAAuB,EAAEP,IAAI,CAChC,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,IAAI,CAACY,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;MACxB,OAAO,IAAI;IACb;IACA,OACEX,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QACGZ,IAAI,CAACa,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;MACxB,MAAMb,gBAAgB,GAAGC,uBAAuB,GAC5C,CAACI,UAAU,EAAEC,KAAK,KAAK;QACrBL,uBAAuB,CAAE,GAAEP,IAAK,IAAGmB,CAAE,GAAER,UAAW,EAAC,EAAEC,KAAK,CAAC;MAC7D,CAAC,GACDF,SAAS;MAEb,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;QACfC,GAAG,EAAG,UAASF,CAAE,EAAE;QACnBP,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;UACdC,IAAI,EAAEc,OAAO;UACbZ;QAAgB;MAChB,GAEDJ,QACe,CAAC;IAEvB,CAAC,CACD,CAAC;EAEP;EAEA,OACET,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;IACfR,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;MACdC,IAAI;MACJE;IAAgB;EAChB,GAEDJ,QACe,CAAC;AAEvB;AAEAJ,EAAE,CAACyB,4BAA4B,GAAG,IAAI;AACtC,eAAezB,EAAE"}
@@ -13,6 +13,7 @@ export interface ContextState {
13
13
  handleUnMountField: (path: string) => void;
14
14
  setPathWithError: (path: string, hasError: boolean) => void;
15
15
  hasErrors: () => boolean;
16
+ _isInsideFormElement?: boolean;
16
17
  }
17
18
  export declare const defaultContextState: ContextState;
18
19
  declare const Context: React.Context<ContextState>;
@@ -9,7 +9,8 @@ export const defaultContextState = {
9
9
  handleMountField: () => null,
10
10
  handleUnMountField: () => null,
11
11
  hasErrors: () => false,
12
- setPathWithError: () => null
12
+ setPathWithError: () => null,
13
+ _isInsideFormElement: false
13
14
  };
14
15
  const Context = React.createContext(defaultContextState);
15
16
  export default Context;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","defaultContextState","data","undefined","handlePathChange","handleSubmit","showAllErrors","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","setPathWithError","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\n\nexport interface ContextState {\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n handlePathChange: (path: string, value: any) => void\n handleSubmit: () => any\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: string) => void\n handleUnMountField: (path: string) => void\n setPathWithError: (path: string, hasError: boolean) => void\n hasErrors: () => boolean\n}\n\nexport const defaultContextState: ContextState = {\n data: undefined,\n handlePathChange: () => null,\n handleSubmit: () => null,\n showAllErrors: false,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n setPathWithError: () => null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,IAAI,EAAEC,SAAS;EACfC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,aAAa,EAAE,KAAK;EACpBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,gBAAgB,EAAEA,CAAA,KAAM;AAC1B,CAAC;AAED,MAAMC,OAAO,GAAGb,KAAK,CAACc,aAAa,CAAeb,mBAAmB,CAAC;AAEtE,eAAeY,OAAO"}
1
+ {"version":3,"file":"Context.js","names":["React","defaultContextState","data","undefined","handlePathChange","handleSubmit","showAllErrors","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","setPathWithError","_isInsideFormElement","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\n\nexport interface ContextState {\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n handlePathChange: (path: string, value: any) => void\n handleSubmit: () => any\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: string) => void\n handleUnMountField: (path: string) => void\n setPathWithError: (path: string, hasError: boolean) => void\n hasErrors: () => boolean\n _isInsideFormElement?: boolean\n}\n\nexport const defaultContextState: ContextState = {\n data: undefined,\n handlePathChange: () => null,\n handleSubmit: () => null,\n showAllErrors: false,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n setPathWithError: () => null,\n _isInsideFormElement: false,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAqBzB,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,IAAI,EAAEC,SAAS;EACfC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,aAAa,EAAE,KAAK;EACpBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,oBAAoB,EAAE;AACxB,CAAC;AAED,MAAMC,OAAO,GAAGd,KAAK,CAACe,aAAa,CAAed,mBAAmB,CAAC;AAEtE,eAAea,OAAO"}
@@ -2,6 +2,7 @@ import React, { useEffect, useRef, useMemo, useCallback, useState } from 'react'
2
2
  import pointer from 'json-pointer';
3
3
  import ajv, { ajvErrorsToFormErrors } from '../utils/ajv';
4
4
  import Context from './Context';
5
+ import structuredClone from '@ungap/structured-clone';
5
6
  function addListPath(paths, path) {
6
7
  return paths.includes(path) ? paths : paths.concat(path);
7
8
  }
@@ -46,9 +47,12 @@ export default function Provider({
46
47
  pathsWithErrorRef.current = hasError ? addListPath(pathsWithErrorRef.current, path) : removeListPath(pathsWithErrorRef.current, path);
47
48
  }, []);
48
49
  const handlePathChange = useCallback((path, value) => {
50
+ if (!path) {
51
+ return;
52
+ }
49
53
  onPathChange === null || onPathChange === void 0 ? void 0 : onPathChange(path, value);
50
- const newData = structuredClone(internalData);
51
- if (path) {
54
+ const newData = structuredClone(path === '/' ? value : internalData);
55
+ if (path !== '/') {
52
56
  pointer.set(newData, path, value);
53
57
  }
54
58
  onChange === null || onChange === void 0 ? void 0 : onChange(newData);
@@ -67,7 +71,7 @@ export default function Provider({
67
71
  onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(internalData);
68
72
  if (scrollTopOnSubmit) {
69
73
  var _window;
70
- window && ((_window = window) === null || _window === void 0 ? void 0 : _window.scrollTo({
74
+ typeof window !== 'undefined' && ((_window = window) === null || _window === void 0 ? void 0 : _window.scrollTo({
71
75
  top: 0,
72
76
  behavior: 'smooth'
73
77
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["React","useEffect","useRef","useMemo","useCallback","useState","pointer","ajv","ajvErrorsToFormErrors","Context","addListPath","paths","path","includes","concat","removeListPath","filter","thisPath","Provider","data","externalData","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","children","ajvSchemaValidator","compile","undefined","internalData","setInternalData","mountedFieldPathsRef","errorsRef","showAllErrors","setShowAllErrors","pathsWithErrorRef","hasErrors","Boolean","current","find","mountedFieldPath","validateBySchema","errors","validateBySchemaAndUpdateState","setPathWithError","hasError","handlePathChange","value","newData","structuredClone","set","handleMountField","handleUnMountField","handleSubmit","_window","window","scrollTo","top","behavior","createElement","mountedFieldPaths"],"sources":["../../../../../src/extensions/forms/DataContext/Provider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useState,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { JSONSchema7 } from 'json-schema'\nimport ajv, { ajvErrorsToFormErrors } from '../utils/ajv'\nimport { FormError } from '../types'\nimport Context from './Context'\n\nexport interface Props<Data extends JsonObject> {\n data: Partial<Data>\n /** JSON Schema for validating the data, like during input or after attempting submit */\n schema?: JSONSchema7\n /** Change handler for the whole data set */\n onChange?: (data: Data) => void\n /** Change handler for each value */\n onPathChange?: (path: string, value: any) => void\n /** Submit called, data was valid (if validation available) */\n onSubmit?: (data: Data) => void\n /** Submit was requested, but data was invalid */\n onSubmitRequest?: () => void\n scrollTopOnSubmit?: boolean\n children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: string): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: string): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nexport default function Provider<Data extends JsonObject>({\n data: externalData,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n children,\n}: Props<Data>) {\n const ajvSchemaValidator = useMemo(\n () => (schema ? ajv.compile(schema) : undefined),\n [schema]\n )\n const [internalData, setInternalData] =\n useState<Partial<Data>>(externalData)\n const mountedFieldPathsRef = useRef<string[]>([])\n\n // Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError>>({})\n const [showAllErrors, setShowAllErrors] = useState<boolean>(false)\n // Errors reported by fields, based on their direct validation rules\n const pathsWithErrorRef = useRef<string[]>([])\n\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find(\n (mountedFieldPath) =>\n errorsRef.current[mountedFieldPath] !== undefined ||\n pathsWithErrorRef.current.includes(mountedFieldPath)\n )\n ),\n []\n )\n\n useEffect(() => {\n // When receivint the initial data, or receiving updated data by props, update the internal data (controlled state)\n setInternalData(externalData)\n }, [externalData])\n\n const validateBySchema = useCallback(\n (data: Partial<Data>): Record<string, Error> | undefined => {\n if (!ajvSchemaValidator) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvSchemaValidator(data)) {\n // Errors found\n const errors = ajvErrorsToFormErrors(ajvSchemaValidator.errors)\n return errors\n } else {\n return\n }\n },\n [ajvSchemaValidator]\n )\n\n const validateBySchemaAndUpdateState = useCallback(\n (data: Partial<Data>) => {\n errorsRef.current = validateBySchema(data) ?? {}\n },\n [validateBySchema]\n )\n\n const setPathWithError = useCallback(\n (path: string, hasError: boolean) => {\n pathsWithErrorRef.current = hasError\n ? addListPath(pathsWithErrorRef.current, path)\n : removeListPath(pathsWithErrorRef.current, path)\n },\n []\n )\n\n const handlePathChange = useCallback(\n (path, value) => {\n onPathChange?.(path, value)\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n const newData = structuredClone(internalData) as Data\n if (path) {\n pointer.set(newData, path, value)\n }\n onChange?.(newData)\n\n validateBySchemaAndUpdateState(newData)\n\n setInternalData(newData)\n\n setShowAllErrors(false)\n },\n [internalData, onChange, onPathChange, validateBySchemaAndUpdateState]\n )\n\n // Mounted fields\n const handleMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback(() => {\n if (!hasErrors()) {\n onSubmit?.(internalData as Data)\n if (scrollTopOnSubmit) {\n window && window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n setShowAllErrors(true)\n onSubmitRequest?.()\n }\n return internalData\n }, [\n internalData,\n scrollTopOnSubmit,\n hasErrors,\n onSubmit,\n onSubmitRequest,\n ])\n\n useEffect(() => {\n // Mount procedure\n if (externalData) {\n // Validate the initial data to know if the user can submit, and to show errors if inputs are requested to with props\n validateBySchemaAndUpdateState(externalData)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Only run for mount and unmount\n }, [])\n\n return (\n <Context.Provider\n value={{\n data: internalData,\n handlePathChange,\n handleSubmit,\n errors: errorsRef.current,\n showAllErrors,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n setPathWithError,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","names":["React","useEffect","useRef","useMemo","useCallback","useState","pointer","ajv","ajvErrorsToFormErrors","Context","structuredClone","addListPath","paths","path","includes","concat","removeListPath","filter","thisPath","Provider","data","externalData","schema","onChange","onPathChange","onSubmit","onSubmitRequest","scrollTopOnSubmit","children","ajvSchemaValidator","compile","undefined","internalData","setInternalData","mountedFieldPathsRef","errorsRef","showAllErrors","setShowAllErrors","pathsWithErrorRef","hasErrors","Boolean","current","find","mountedFieldPath","validateBySchema","errors","validateBySchemaAndUpdateState","setPathWithError","hasError","handlePathChange","value","newData","set","handleMountField","handleUnMountField","handleSubmit","_window","window","scrollTo","top","behavior","createElement","mountedFieldPaths"],"sources":["../../../../../src/extensions/forms/DataContext/Provider.tsx"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useMemo,\n useCallback,\n useState,\n} from 'react'\nimport pointer, { JsonObject } from 'json-pointer'\nimport { JSONSchema7 } from 'json-schema'\nimport ajv, { ajvErrorsToFormErrors } from '../utils/ajv'\nimport { FormError } from '../types'\nimport Context from './Context'\n\n/**\n * Deprecated, as it is supported my all mihor browsers and Node.js >=v18\n * So its a question of time, when we will remove this polyfill\n */\nimport structuredClone from '@ungap/structured-clone'\n\nexport interface Props<Data extends JsonObject> {\n data: Partial<Data>\n /** JSON Schema for validating the data, like during input or after attempting submit */\n schema?: JSONSchema7\n /** Change handler for the whole data set */\n onChange?: (data: Data) => void\n /** Change handler for each value */\n onPathChange?: (path: string, value: any) => void\n /** Submit called, data was valid (if validation available) */\n onSubmit?: (data: Data) => void\n /** Submit was requested, but data was invalid */\n onSubmitRequest?: () => void\n scrollTopOnSubmit?: boolean\n children: React.ReactNode\n}\n\ntype PathList = string[]\n\nfunction addListPath(paths: PathList, path: string): PathList {\n return paths.includes(path) ? paths : paths.concat(path)\n}\n\nfunction removeListPath(paths: PathList, path: string): PathList {\n return paths.filter((thisPath) => thisPath !== path)\n}\n\nexport default function Provider<Data extends JsonObject>({\n data: externalData,\n schema,\n onChange,\n onPathChange,\n onSubmit,\n onSubmitRequest,\n scrollTopOnSubmit,\n children,\n}: Props<Data>) {\n const ajvSchemaValidator = useMemo(\n () => (schema ? ajv.compile(schema) : undefined),\n [schema]\n )\n const [internalData, setInternalData] =\n useState<Partial<Data>>(externalData)\n const mountedFieldPathsRef = useRef<string[]>([])\n\n // Errors from provider validation (the whole data set)\n const errorsRef = useRef<Record<string, FormError>>({})\n const [showAllErrors, setShowAllErrors] = useState<boolean>(false)\n // Errors reported by fields, based on their direct validation rules\n const pathsWithErrorRef = useRef<string[]>([])\n\n const hasErrors = useCallback(\n () =>\n Boolean(\n mountedFieldPathsRef.current.find(\n (mountedFieldPath) =>\n errorsRef.current[mountedFieldPath] !== undefined ||\n pathsWithErrorRef.current.includes(mountedFieldPath)\n )\n ),\n []\n )\n\n useEffect(() => {\n // When receivint the initial data, or receiving updated data by props, update the internal data (controlled state)\n setInternalData(externalData)\n }, [externalData])\n\n const validateBySchema = useCallback(\n (data: Partial<Data>): Record<string, Error> | undefined => {\n if (!ajvSchemaValidator) {\n // No schema-based validator. Assume data is valid.\n return\n }\n\n if (!ajvSchemaValidator(data)) {\n // Errors found\n const errors = ajvErrorsToFormErrors(ajvSchemaValidator.errors)\n return errors\n } else {\n return\n }\n },\n [ajvSchemaValidator]\n )\n\n const validateBySchemaAndUpdateState = useCallback(\n (data: Partial<Data>) => {\n errorsRef.current = validateBySchema(data) ?? {}\n },\n [validateBySchema]\n )\n\n const setPathWithError = useCallback(\n (path: string, hasError: boolean) => {\n pathsWithErrorRef.current = hasError\n ? addListPath(pathsWithErrorRef.current, path)\n : removeListPath(pathsWithErrorRef.current, path)\n },\n []\n )\n\n const handlePathChange = useCallback(\n (path, value) => {\n if (!path) {\n return\n }\n onPathChange?.(path, value)\n\n // Update the data even if it contains errors. Submit/SubmitRequest will be called accordingly\n const newData = structuredClone(path === '/' ? value : internalData)\n if (path !== '/') {\n pointer.set(newData as Data, path, value)\n }\n\n onChange?.(newData)\n\n validateBySchemaAndUpdateState(newData)\n\n setInternalData(newData)\n\n setShowAllErrors(false)\n },\n [internalData, onChange, onPathChange, validateBySchemaAndUpdateState]\n )\n\n // Mounted fields\n const handleMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = addListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n const handleUnMountField = useCallback((path: string) => {\n mountedFieldPathsRef.current = removeListPath(\n mountedFieldPathsRef.current,\n path\n )\n }, [])\n\n /**\n * Request to submit the whole form\n */\n const handleSubmit = useCallback(() => {\n if (!hasErrors()) {\n onSubmit?.(internalData as Data)\n if (scrollTopOnSubmit) {\n typeof window !== 'undefined' &&\n window?.scrollTo({ top: 0, behavior: 'smooth' })\n }\n } else {\n setShowAllErrors(true)\n onSubmitRequest?.()\n }\n return internalData\n }, [\n internalData,\n scrollTopOnSubmit,\n hasErrors,\n onSubmit,\n onSubmitRequest,\n ])\n\n useEffect(() => {\n // Mount procedure\n if (externalData) {\n // Validate the initial data to know if the user can submit, and to show errors if inputs are requested to with props\n validateBySchemaAndUpdateState(externalData)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- Only run for mount and unmount\n }, [])\n\n return (\n <Context.Provider\n value={{\n data: internalData,\n handlePathChange,\n handleSubmit,\n errors: errorsRef.current,\n showAllErrors,\n setShowAllErrors,\n mountedFieldPaths: mountedFieldPathsRef.current,\n handleMountField,\n handleUnMountField,\n hasErrors,\n setPathWithError,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { ContextState } from './Context';
3
3
  import Provider from './Provider';
4
- import SubmitButton from './SubmitButton';
5
4
  import At from './At';
6
5
  declare const DataContext: {
7
6
  Context: import("react").Context<ContextState>;
8
7
  Provider: typeof Provider;
9
- SubmitButton: typeof SubmitButton;
10
8
  At: typeof At;
11
9
  };
12
10
  export type { ContextState };
@@ -1,11 +1,9 @@
1
1
  import Context from './Context';
2
2
  import Provider from './Provider';
3
- import SubmitButton from './SubmitButton';
4
3
  import At from './At';
5
4
  const DataContext = {
6
5
  Context,
7
6
  Provider,
8
- SubmitButton,
9
7
  At
10
8
  };
11
9
  export default DataContext;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Context","Provider","SubmitButton","At","DataContext"],"sources":["../../../../../src/extensions/forms/DataContext/index.ts"],"sourcesContent":["import Context, { ContextState } from './Context'\nimport Provider from './Provider'\nimport SubmitButton from './SubmitButton'\nimport At from './At'\n\nconst DataContext = {\n Context,\n Provider,\n SubmitButton,\n At,\n}\n\nexport type { ContextState }\nexport default DataContext\n\n"],"mappings":"AAAA,OAAOA,OAAO,MAAwB,WAAW;AACjD,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,EAAE,MAAM,MAAM;AAErB,MAAMC,WAAW,GAAG;EAClBJ,OAAO;EACPC,QAAQ;EACRC,YAAY;EACZC;AACF,CAAC;AAGD,eAAeC,WAAW"}
1
+ {"version":3,"file":"index.js","names":["Context","Provider","At","DataContext"],"sources":["../../../../../src/extensions/forms/DataContext/index.ts"],"sourcesContent":["import Context, { ContextState } from './Context'\nimport Provider from './Provider'\nimport At from './At'\n\nconst DataContext = {\n Context,\n Provider,\n At,\n}\n\nexport type { ContextState }\nexport default DataContext\n"],"mappings":"AAAA,OAAOA,OAAO,MAAwB,WAAW;AACjD,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,EAAE,MAAM,MAAM;AAErB,MAAMC,WAAW,GAAG;EAClBH,OAAO;EACPC,QAAQ;EACRC;AACF,CAAC;AAGD,eAAeC,WAAW"}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import type { ComponentProps } from '../component-types';
3
- import type { FieldProps } from '../field-types';
4
- export type Props = ComponentProps & FieldProps<Array<string | number>> & {
2
+ import { FieldProps } from '../types';
3
+ export type Props = FieldProps<Array<string | number>> & {
5
4
  children?: React.ReactNode;
6
- variant?: 'checkbox';
5
+ variant?: 'checkbox' | 'button';
6
+ optionsLayout?: 'horizontal' | 'vertical';
7
7
  };
8
8
  declare function ArraySelection(props: Props): import("react/jsx-runtime").JSX.Element;
9
9
  declare namespace ArraySelection {
@@ -1,17 +1,21 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- var _br;
3
- import React from 'react';
4
- import { Checkbox } from '../../../components';
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ import React, { useMemo } from 'react';
5
+ import { Checkbox, Button } from '../../../components';
6
+ import ButtonRow from '../Layout/ButtonRow';
5
7
  import classnames from 'classnames';
6
- import { forwardSpaceProps } from '../utils';
7
8
  import Option from './Option';
8
9
  import FieldBlock from '../FieldBlock';
9
- import { useField } from './hooks';
10
+ import { useDataValue } from '../hooks';
11
+ import { pickSpacingProps } from '../types';
10
12
  function ArraySelection(props) {
11
13
  const {
14
+ id,
12
15
  className,
13
- variant,
14
- layout,
16
+ variant = 'checkbox',
17
+ layout = 'vertical',
18
+ optionsLayout = 'vertical',
15
19
  label,
16
20
  labelDescription,
17
21
  labelSecondary,
@@ -21,38 +25,50 @@ function ArraySelection(props) {
21
25
  warning,
22
26
  disabled,
23
27
  emptyValue,
24
- onChange,
28
+ handleChange,
25
29
  children
26
- } = useField(props);
27
- const options = React.Children.toArray(children).filter(child => React.isValidElement(child) && child.type === Option);
30
+ } = useDataValue(props);
31
+ const fieldBlockProps = _objectSpread({
32
+ forId: id,
33
+ className: classnames(`dnb-forms-field-array-selection dnb-forms-field-array-selection--options-layout-${optionsLayout}`, className),
34
+ contentClassName: 'dnb-forms-field-array-selection__options',
35
+ info,
36
+ warning,
37
+ error,
38
+ layout,
39
+ label,
40
+ labelDescription,
41
+ labelSecondary
42
+ }, pickSpacingProps(props));
43
+ const options = useMemo(() => React.Children.toArray(children).filter(child => React.isValidElement(child) && child.type === Option).map(option => ({
44
+ title: option.props.title ?? option.props.children,
45
+ value: option.props.value,
46
+ handleSelect: () => {
47
+ const selected = option.props.value;
48
+ const newValue = value !== null && value !== void 0 && value.includes(selected) ? value.filter(value => value !== selected) : [...(value ?? []), selected];
49
+ handleChange === null || handleChange === void 0 ? void 0 : handleChange(newValue.length === 0 ? emptyValue : newValue);
50
+ }
51
+ })), [children, value, emptyValue, handleChange]);
28
52
  switch (variant) {
29
- default:
53
+ case 'button':
54
+ return React.createElement(FieldBlock, fieldBlockProps, React.createElement(ButtonRow, null, options.map((option, i) => React.createElement(Button, {
55
+ key: `option-${i}-${option.value}`,
56
+ id: id,
57
+ text: option.title,
58
+ on_click: option.handleSelect,
59
+ variant: value !== null && value !== void 0 && value.includes(option.value) ? undefined : 'secondary',
60
+ status: error ? 'error' : undefined,
61
+ disabled: disabled
62
+ }))));
30
63
  case 'checkbox':
31
- return React.createElement(FieldBlock, _extends({
32
- className: classnames('dnb-forms-field-string', className),
33
- layout: layout,
34
- label: label,
35
- labelDescription: labelDescription,
36
- labelSecondary: labelSecondary,
37
- info: info,
38
- warning: warning,
39
- error: error
40
- }, forwardSpaceProps(props)), options.map((child, i) => React.createElement(React.Fragment, {
41
- key: child.props.value ?? `option-${i}`
42
- }, React.createElement(Checkbox, {
43
- label: child.props.title ?? child.props.children,
44
- checked: child.props.value && (value === null || value === void 0 ? void 0 : value.includes(child.props.value)),
45
- top: i > 0 ? 'x-small' : undefined,
64
+ return React.createElement(FieldBlock, fieldBlockProps, options.map((option, i) => React.createElement(Checkbox, {
65
+ key: `option-${i}-${option.value}`,
66
+ className: "dnb-forms-field-array-selection__checkbox",
67
+ label: option.title,
68
+ checked: value === null || value === void 0 ? void 0 : value.includes(option.value),
46
69
  disabled: disabled,
47
- onChange: () => {
48
- const clickedValue = child.props.value;
49
- if (clickedValue === undefined) {
50
- onChange === null || onChange === void 0 ? void 0 : onChange(emptyValue);
51
- }
52
- const newValue = value !== null && value !== void 0 && value.includes(clickedValue) ? value.filter(value => value !== clickedValue) : [...(value ?? []), clickedValue];
53
- onChange === null || onChange === void 0 ? void 0 : onChange(newValue.length === 0 ? emptyValue : newValue);
54
- }
55
- }), _br || (_br = React.createElement("br", null)))));
70
+ on_change: option.handleSelect
71
+ })));
56
72
  }
57
73
  }
58
74
  ArraySelection._supportsEufemiaSpacingProps = true;