@dnb/eufemia 10.7.0 → 10.8.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 (924) hide show
  1. package/CHANGELOG.md +36 -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 +23 -1
  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/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  33. package/cjs/components/drawer/Drawer.d.ts +1 -1
  34. package/cjs/components/drawer/Drawer.js +3 -1
  35. package/cjs/components/drawer/Drawer.js.map +1 -1
  36. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  37. package/cjs/components/form-status/FormStatus.js +70 -53
  38. package/cjs/components/form-status/FormStatus.js.map +1 -1
  39. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  40. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  41. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  42. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  43. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  44. package/cjs/components/global-status/GlobalStatus.js +17 -7
  45. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  46. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  47. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  48. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  52. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  53. package/cjs/components/heading/Heading.d.ts +8 -8
  54. package/cjs/components/heading/Heading.js +8 -16
  55. package/cjs/components/heading/Heading.js.map +1 -1
  56. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  57. package/cjs/components/heading/HeadingHelpers.js +42 -1
  58. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  59. package/cjs/components/info-card/index.js.map +1 -1
  60. package/cjs/components/info-card/style.js.map +1 -1
  61. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  62. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  63. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  64. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  65. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  66. package/cjs/components/modal/Modal.js.map +1 -1
  67. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  68. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  69. package/cjs/components/pagination/Pagination.js.map +1 -1
  70. package/cjs/components/radio/Radio.d.ts +4 -0
  71. package/cjs/components/radio/Radio.js +6 -4
  72. package/cjs/components/radio/Radio.js.map +1 -1
  73. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  74. package/cjs/components/section/Section.d.ts +21 -1
  75. package/cjs/components/section/Section.js.map +1 -1
  76. package/cjs/components/section/style/dnb-section.css +1 -1
  77. package/cjs/components/section/style/dnb-section.scss +8 -3
  78. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  79. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  80. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  81. package/cjs/components/skeleton/style/dnb-skeleton.scss +8 -5
  82. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  83. package/cjs/components/space/SpacingUtils.js.map +1 -1
  84. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  85. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  86. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  87. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  88. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  89. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  90. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  91. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  92. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  93. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  94. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  95. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  96. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  97. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  98. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  99. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  100. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  101. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  102. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  103. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  104. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  105. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  106. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  107. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  108. package/cjs/components/switch/Switch.d.ts +4 -0
  109. package/cjs/components/switch/Switch.js +6 -4
  110. package/cjs/components/switch/Switch.js.map +1 -1
  111. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  112. package/cjs/components/table/TableContainer.js.map +1 -1
  113. package/cjs/components/table/style/table-accordion.scss +18 -6
  114. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  115. package/cjs/components/table/style/table-tr.scss +6 -2
  116. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  117. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  118. package/cjs/components/timeline/TimelineItem.js +96 -62
  119. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  120. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  121. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  122. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  123. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  124. package/cjs/elements/lib.d.ts +1 -1
  125. package/cjs/elements/typography/H.d.ts +5 -3
  126. package/cjs/elements/typography/H.js +7 -3
  127. package/cjs/elements/typography/H.js.map +1 -1
  128. package/cjs/elements/typography/H1.js +2 -2
  129. package/cjs/elements/typography/H1.js.map +1 -1
  130. package/cjs/elements/typography/H2.js +2 -2
  131. package/cjs/elements/typography/H2.js.map +1 -1
  132. package/cjs/elements/typography/H3.js +2 -2
  133. package/cjs/elements/typography/H3.js.map +1 -1
  134. package/cjs/elements/typography/H4.js +2 -2
  135. package/cjs/elements/typography/H4.js.map +1 -1
  136. package/cjs/elements/typography/H5.js +2 -2
  137. package/cjs/elements/typography/H5.js.map +1 -1
  138. package/cjs/elements/typography/H6.js +2 -2
  139. package/cjs/elements/typography/H6.js.map +1 -1
  140. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  141. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  142. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  143. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  144. package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -1
  145. package/cjs/extensions/forms/Field/ArraySelection.js +52 -32
  146. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  147. package/cjs/extensions/forms/Field/CountryCode.d.ts +10 -0
  148. package/cjs/extensions/forms/Field/CountryCode.js +78 -0
  149. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  150. package/cjs/extensions/forms/Field/Currency.d.ts +2 -2
  151. package/cjs/extensions/forms/Field/Currency.js +6 -38
  152. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  153. package/cjs/extensions/forms/Field/Date.d.ts +2 -2
  154. package/cjs/extensions/forms/Field/Date.js +10 -6
  155. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Number.d.ts +7 -3
  157. package/cjs/extensions/forms/Field/Number.js +45 -20
  158. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  159. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  160. package/cjs/extensions/forms/Field/PhoneNumber.js +42 -41
  161. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  162. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  163. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  164. package/cjs/extensions/forms/Field/Selection.d.ts +6 -4
  165. package/cjs/extensions/forms/Field/Selection.js +87 -36
  166. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  167. package/cjs/extensions/forms/Field/String.d.ts +3 -3
  168. package/cjs/extensions/forms/Field/String.js +26 -12
  169. package/cjs/extensions/forms/Field/String.js.map +1 -1
  170. package/cjs/extensions/forms/Field/Toggle.js +11 -9
  171. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  172. package/cjs/extensions/forms/Field/fields.scss +2 -2
  173. package/cjs/extensions/forms/Field/hooks/useField.d.ts +6 -8
  174. package/cjs/extensions/forms/Field/hooks/useField.js +34 -33
  175. package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -1
  176. package/cjs/extensions/forms/Field/index.d.ts +2 -0
  177. package/cjs/extensions/forms/Field/index.js +3 -1
  178. package/cjs/extensions/forms/Field/index.js.map +1 -1
  179. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  180. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  181. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  182. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  183. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  184. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  185. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  186. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  187. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  188. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  189. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  190. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  191. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  192. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  193. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  194. package/cjs/extensions/forms/Field/style/index.scss +2 -0
  195. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  196. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  197. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  198. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  199. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  200. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  201. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  202. package/cjs/extensions/forms/FieldGroup/index.js.map +1 -1
  203. package/cjs/extensions/forms/Layout/Card.js +2 -2
  204. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  205. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  206. package/cjs/extensions/forms/Layout/FlexContainer.js +3 -2
  207. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  208. package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -0
  209. package/cjs/extensions/forms/Layout/FlexItem.js +2 -1
  210. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  211. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  212. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  213. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  214. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  215. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  216. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  217. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  218. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  219. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  220. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  221. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  222. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  223. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  224. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  225. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  226. package/cjs/extensions/forms/field-types.d.ts +7 -1
  227. package/cjs/extensions/forms/field-types.js.map +1 -1
  228. package/cjs/extensions/forms/style/dnb-forms.css +105 -29
  229. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  230. package/cjs/extensions/forms/style/index.d.ts +1 -0
  231. package/cjs/extensions/forms/style/index.js +4 -0
  232. package/cjs/extensions/forms/style/index.js.map +1 -0
  233. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  234. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  235. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  236. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  237. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  238. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  239. package/cjs/extensions/forms/variables.scss +3 -0
  240. package/cjs/extensions/lib.d.ts +1 -0
  241. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  242. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  243. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  244. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  245. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  246. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  247. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  248. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  249. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  250. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  251. package/cjs/shared/Context.d.ts +2 -0
  252. package/cjs/shared/Context.js.map +1 -1
  253. package/cjs/shared/Eufemia.d.ts +1 -1
  254. package/cjs/shared/Eufemia.js +2 -2
  255. package/cjs/shared/Eufemia.js.map +1 -1
  256. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  257. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  258. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  259. package/cjs/shared/locales/en-GB.d.ts +1 -0
  260. package/cjs/shared/locales/en-GB.js +1 -0
  261. package/cjs/shared/locales/en-GB.js.map +1 -1
  262. package/cjs/shared/locales/en-US.d.ts +1 -0
  263. package/cjs/shared/locales/index.d.ts +2 -0
  264. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  265. package/cjs/shared/locales/nb-NO.js +1 -0
  266. package/cjs/shared/locales/nb-NO.js.map +1 -1
  267. package/cjs/style/core/reset.scss +13 -3
  268. package/cjs/style/core/utilities.scss +3 -1
  269. package/cjs/style/dnb-ui-components.css +23 -18
  270. package/cjs/style/dnb-ui-components.min.css +1 -1
  271. package/cjs/style/dnb-ui-elements.css +6 -0
  272. package/cjs/style/dnb-ui-elements.min.css +1 -1
  273. package/cjs/style/dnb-ui-extensions.css +105 -29
  274. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  275. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  276. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  277. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  278. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  279. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  280. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  281. package/cjs/style/themes/theme-sbanken/customisations.scss +0 -8
  282. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  283. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  284. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  285. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  286. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  287. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  288. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  289. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  291. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  292. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  294. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  295. package/cjs/style/themes/theme-ui/ui-theme-basis.css +6 -0
  296. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  297. package/cjs/style/themes/theme-ui/ui-theme-components.css +42 -24
  298. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  299. package/cjs/style/themes/theme-ui/ui-theme-elements.css +6 -0
  300. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  301. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  303. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  304. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  305. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  306. package/components/accordion/Accordion.d.ts +1 -1
  307. package/components/accordion/AccordionHeader.d.ts +4 -4
  308. package/components/accordion/AccordionHeader.js +18 -5
  309. package/components/accordion/AccordionHeader.js.map +1 -1
  310. package/components/accordion/style/dnb-accordion.css +22 -17
  311. package/components/accordion/style/dnb-accordion.min.css +1 -1
  312. package/components/accordion/style/dnb-accordion.scss +40 -18
  313. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  314. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  315. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  316. package/components/anchor/Anchor.js +1 -1
  317. package/components/anchor/Anchor.js.map +1 -1
  318. package/components/anchor/style/anchor-mixins.scss +9 -3
  319. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  320. package/components/autocomplete/Autocomplete.js +4 -2
  321. package/components/autocomplete/Autocomplete.js.map +1 -1
  322. package/components/avatar/style/index.d.ts +1 -1
  323. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  324. package/components/breadcrumb/Breadcrumb.js +2 -2
  325. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  326. package/components/breadcrumb/BreadcrumbItem.js +23 -1
  327. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  328. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  329. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  330. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  331. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  332. package/components/checkbox/Checkbox.d.ts +4 -0
  333. package/components/checkbox/Checkbox.js +6 -4
  334. package/components/checkbox/Checkbox.js.map +1 -1
  335. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  336. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  337. package/components/drawer/Drawer.d.ts +1 -1
  338. package/components/drawer/Drawer.js +3 -1
  339. package/components/drawer/Drawer.js.map +1 -1
  340. package/components/form-status/FormStatus.d.ts +2 -0
  341. package/components/form-status/FormStatus.js +70 -53
  342. package/components/form-status/FormStatus.js.map +1 -1
  343. package/components/form-status/style/dnb-form-status.scss +4 -2
  344. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  345. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  346. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  347. package/components/global-status/GlobalStatus.d.ts +1 -1
  348. package/components/global-status/GlobalStatus.js +18 -8
  349. package/components/global-status/GlobalStatus.js.map +1 -1
  350. package/components/global-status/style/dnb-global-status.scss +2 -1
  351. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  352. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  353. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  354. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  355. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  356. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  357. package/components/heading/Heading.d.ts +8 -8
  358. package/components/heading/Heading.js +9 -15
  359. package/components/heading/Heading.js.map +1 -1
  360. package/components/heading/HeadingHelpers.d.ts +5 -1
  361. package/components/heading/HeadingHelpers.js +39 -0
  362. package/components/heading/HeadingHelpers.js.map +1 -1
  363. package/components/info-card/index.js.map +1 -1
  364. package/components/info-card/style.js.map +1 -1
  365. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  366. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  367. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  368. package/components/input-masked/InputMaskedUtils.js +1 -1
  369. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  370. package/components/modal/Modal.js.map +1 -1
  371. package/components/modal/parts/ModalHeaderBar.js +0 -4
  372. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  373. package/components/pagination/Pagination.js.map +1 -1
  374. package/components/radio/Radio.d.ts +4 -0
  375. package/components/radio/Radio.js +6 -4
  376. package/components/radio/Radio.js.map +1 -1
  377. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  378. package/components/section/Section.d.ts +21 -1
  379. package/components/section/Section.js.map +1 -1
  380. package/components/section/style/dnb-section.css +1 -1
  381. package/components/section/style/dnb-section.scss +8 -3
  382. package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  383. package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  384. package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  385. package/components/skeleton/style/dnb-skeleton.scss +8 -5
  386. package/components/slider/style/dnb-slider.scss +4 -2
  387. package/components/space/SpacingUtils.js.map +1 -1
  388. package/components/step-indicator/StepIndicator.d.ts +89 -75
  389. package/components/step-indicator/StepIndicator.js +29 -25
  390. package/components/step-indicator/StepIndicator.js.map +1 -1
  391. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  392. package/components/step-indicator/StepIndicatorContext.js +98 -120
  393. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  394. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  395. package/components/step-indicator/StepIndicatorItem.js +177 -227
  396. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  397. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  398. package/components/step-indicator/StepIndicatorList.js +43 -48
  399. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  400. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  401. package/components/step-indicator/StepIndicatorModal.js +38 -50
  402. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  403. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  404. package/components/step-indicator/StepIndicatorProps.js +3 -45
  405. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  406. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  407. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  408. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  409. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  410. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  411. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  412. package/components/switch/Switch.d.ts +4 -0
  413. package/components/switch/Switch.js +6 -4
  414. package/components/switch/Switch.js.map +1 -1
  415. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  416. package/components/table/TableContainer.js.map +1 -1
  417. package/components/table/style/table-accordion.scss +18 -6
  418. package/components/table/style/table-header-buttons.scss +3 -1
  419. package/components/table/style/table-tr.scss +6 -2
  420. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  421. package/components/timeline/TimelineItem.d.ts +3 -2
  422. package/components/timeline/TimelineItem.js +95 -61
  423. package/components/timeline/TimelineItem.js.map +1 -1
  424. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  425. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  426. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  427. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  428. package/elements/lib.d.ts +1 -1
  429. package/elements/typography/H.d.ts +5 -3
  430. package/elements/typography/H.js +8 -4
  431. package/elements/typography/H.js.map +1 -1
  432. package/elements/typography/H1.js +2 -2
  433. package/elements/typography/H1.js.map +1 -1
  434. package/elements/typography/H2.js +2 -2
  435. package/elements/typography/H2.js.map +1 -1
  436. package/elements/typography/H3.js +2 -2
  437. package/elements/typography/H3.js.map +1 -1
  438. package/elements/typography/H4.js +2 -2
  439. package/elements/typography/H4.js.map +1 -1
  440. package/elements/typography/H5.js +2 -2
  441. package/elements/typography/H5.js.map +1 -1
  442. package/elements/typography/H6.js +2 -2
  443. package/elements/typography/H6.js.map +1 -1
  444. package/elements/typography/style/dnb-typography.scss +3 -0
  445. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  446. package/elements/typography/style/typography-mixins.scss +5 -0
  447. package/es/components/accordion/Accordion.d.ts +1 -1
  448. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  449. package/es/components/accordion/AccordionHeader.js +18 -5
  450. package/es/components/accordion/AccordionHeader.js.map +1 -1
  451. package/es/components/accordion/style/dnb-accordion.css +22 -17
  452. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  453. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  454. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  455. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  456. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  457. package/es/components/anchor/Anchor.js +1 -1
  458. package/es/components/anchor/Anchor.js.map +1 -1
  459. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  460. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  461. package/es/components/autocomplete/Autocomplete.js +4 -2
  462. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  463. package/es/components/avatar/style/index.d.ts +1 -1
  464. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  465. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  466. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  467. package/es/components/breadcrumb/BreadcrumbItem.js +23 -1
  468. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  469. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  470. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  471. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  472. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  473. package/es/components/checkbox/Checkbox.d.ts +4 -0
  474. package/es/components/checkbox/Checkbox.js +6 -4
  475. package/es/components/checkbox/Checkbox.js.map +1 -1
  476. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  477. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  478. package/es/components/drawer/Drawer.d.ts +1 -1
  479. package/es/components/drawer/Drawer.js +3 -1
  480. package/es/components/drawer/Drawer.js.map +1 -1
  481. package/es/components/form-status/FormStatus.d.ts +2 -0
  482. package/es/components/form-status/FormStatus.js +70 -53
  483. package/es/components/form-status/FormStatus.js.map +1 -1
  484. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  485. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  486. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  487. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  488. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  489. package/es/components/global-status/GlobalStatus.js +18 -8
  490. package/es/components/global-status/GlobalStatus.js.map +1 -1
  491. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  492. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  493. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  494. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  495. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  496. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  497. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  498. package/es/components/heading/Heading.d.ts +8 -8
  499. package/es/components/heading/Heading.js +9 -15
  500. package/es/components/heading/Heading.js.map +1 -1
  501. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  502. package/es/components/heading/HeadingHelpers.js +39 -0
  503. package/es/components/heading/HeadingHelpers.js.map +1 -1
  504. package/es/components/info-card/index.js.map +1 -1
  505. package/es/components/info-card/style.js.map +1 -1
  506. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  507. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  508. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  509. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  510. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  511. package/es/components/modal/Modal.js.map +1 -1
  512. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  513. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  514. package/es/components/pagination/Pagination.js.map +1 -1
  515. package/es/components/radio/Radio.d.ts +4 -0
  516. package/es/components/radio/Radio.js +6 -4
  517. package/es/components/radio/Radio.js.map +1 -1
  518. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  519. package/es/components/section/Section.d.ts +21 -1
  520. package/es/components/section/Section.js.map +1 -1
  521. package/es/components/section/style/dnb-section.css +1 -1
  522. package/es/components/section/style/dnb-section.scss +8 -3
  523. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  524. package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  525. package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  526. package/es/components/skeleton/style/dnb-skeleton.scss +8 -5
  527. package/es/components/slider/style/dnb-slider.scss +4 -2
  528. package/es/components/space/SpacingUtils.js.map +1 -1
  529. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  530. package/es/components/step-indicator/StepIndicator.js +29 -25
  531. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  532. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  533. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  534. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  535. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  536. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  537. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  538. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  539. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  540. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  541. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  542. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  543. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  544. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  545. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  546. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  547. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  548. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  549. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  550. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  551. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  552. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  553. package/es/components/switch/Switch.d.ts +4 -0
  554. package/es/components/switch/Switch.js +6 -4
  555. package/es/components/switch/Switch.js.map +1 -1
  556. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  557. package/es/components/table/TableContainer.js.map +1 -1
  558. package/es/components/table/style/table-accordion.scss +18 -6
  559. package/es/components/table/style/table-header-buttons.scss +3 -1
  560. package/es/components/table/style/table-tr.scss +6 -2
  561. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  562. package/es/components/timeline/TimelineItem.d.ts +3 -2
  563. package/es/components/timeline/TimelineItem.js +89 -58
  564. package/es/components/timeline/TimelineItem.js.map +1 -1
  565. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  566. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  567. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  568. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  569. package/es/elements/lib.d.ts +1 -1
  570. package/es/elements/typography/H.d.ts +5 -3
  571. package/es/elements/typography/H.js +8 -4
  572. package/es/elements/typography/H.js.map +1 -1
  573. package/es/elements/typography/H1.js +2 -2
  574. package/es/elements/typography/H1.js.map +1 -1
  575. package/es/elements/typography/H2.js +2 -2
  576. package/es/elements/typography/H2.js.map +1 -1
  577. package/es/elements/typography/H3.js +2 -2
  578. package/es/elements/typography/H3.js.map +1 -1
  579. package/es/elements/typography/H4.js +2 -2
  580. package/es/elements/typography/H4.js.map +1 -1
  581. package/es/elements/typography/H5.js +2 -2
  582. package/es/elements/typography/H5.js.map +1 -1
  583. package/es/elements/typography/H6.js +2 -2
  584. package/es/elements/typography/H6.js.map +1 -1
  585. package/es/elements/typography/style/dnb-typography.scss +3 -0
  586. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  587. package/es/elements/typography/style/typography-mixins.scss +5 -0
  588. package/es/extensions/forms/DataContext/index.js.map +1 -1
  589. package/es/extensions/forms/Field/ArraySelection.d.ts +2 -1
  590. package/es/extensions/forms/Field/ArraySelection.js +49 -33
  591. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  592. package/es/extensions/forms/Field/CountryCode.d.ts +10 -0
  593. package/es/extensions/forms/Field/CountryCode.js +67 -0
  594. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  595. package/es/extensions/forms/Field/Currency.d.ts +2 -2
  596. package/es/extensions/forms/Field/Currency.js +6 -37
  597. package/es/extensions/forms/Field/Currency.js.map +1 -1
  598. package/es/extensions/forms/Field/Date.d.ts +2 -2
  599. package/es/extensions/forms/Field/Date.js +11 -7
  600. package/es/extensions/forms/Field/Date.js.map +1 -1
  601. package/es/extensions/forms/Field/Number.d.ts +7 -3
  602. package/es/extensions/forms/Field/Number.js +44 -21
  603. package/es/extensions/forms/Field/Number.js.map +1 -1
  604. package/es/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  605. package/es/extensions/forms/Field/PhoneNumber.js +43 -40
  606. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  607. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  608. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  609. package/es/extensions/forms/Field/Selection.d.ts +6 -4
  610. package/es/extensions/forms/Field/Selection.js +85 -37
  611. package/es/extensions/forms/Field/Selection.js.map +1 -1
  612. package/es/extensions/forms/Field/String.d.ts +3 -3
  613. package/es/extensions/forms/Field/String.js +27 -13
  614. package/es/extensions/forms/Field/String.js.map +1 -1
  615. package/es/extensions/forms/Field/Toggle.js +11 -9
  616. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  617. package/es/extensions/forms/Field/fields.scss +2 -2
  618. package/es/extensions/forms/Field/hooks/useField.d.ts +6 -8
  619. package/es/extensions/forms/Field/hooks/useField.js +34 -31
  620. package/es/extensions/forms/Field/hooks/useField.js.map +1 -1
  621. package/es/extensions/forms/Field/index.d.ts +2 -0
  622. package/es/extensions/forms/Field/index.js +3 -1
  623. package/es/extensions/forms/Field/index.js.map +1 -1
  624. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  625. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  626. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  627. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  628. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  629. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  630. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  631. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  632. package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  633. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  634. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  635. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  636. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  637. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  638. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  639. package/es/extensions/forms/Field/style/index.scss +2 -0
  640. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  641. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  642. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  643. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  644. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  645. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  646. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  647. package/es/extensions/forms/FieldGroup/index.js.map +1 -1
  648. package/es/extensions/forms/Layout/Card.js +2 -2
  649. package/es/extensions/forms/Layout/Card.js.map +1 -1
  650. package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  651. package/es/extensions/forms/Layout/FlexContainer.js +3 -2
  652. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  653. package/es/extensions/forms/Layout/FlexItem.d.ts +1 -0
  654. package/es/extensions/forms/Layout/FlexItem.js +2 -1
  655. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  656. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  657. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  658. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  659. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  660. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  661. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  662. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  663. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  664. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  665. package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  666. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  667. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  668. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  669. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  670. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  671. package/es/extensions/forms/field-types.d.ts +7 -1
  672. package/es/extensions/forms/field-types.js.map +1 -1
  673. package/es/extensions/forms/style/dnb-forms.css +105 -29
  674. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  675. package/es/extensions/forms/style/index.d.ts +1 -0
  676. package/es/extensions/forms/style/index.js +1 -0
  677. package/es/extensions/forms/style/index.js.map +1 -0
  678. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  679. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  680. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  681. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  682. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  683. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  684. package/es/extensions/forms/variables.scss +3 -0
  685. package/es/extensions/lib.d.ts +1 -0
  686. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  687. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  688. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  689. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  690. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  691. package/es/fragments/drawer-list/DrawerList.js +1 -1
  692. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  693. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  694. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  695. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  696. package/es/shared/Context.d.ts +2 -0
  697. package/es/shared/Context.js.map +1 -1
  698. package/es/shared/Eufemia.d.ts +1 -1
  699. package/es/shared/Eufemia.js +2 -2
  700. package/es/shared/Eufemia.js.map +1 -1
  701. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  702. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  703. package/es/shared/libs/Shortcuts.js.map +1 -1
  704. package/es/shared/locales/en-GB.d.ts +1 -0
  705. package/es/shared/locales/en-GB.js +1 -0
  706. package/es/shared/locales/en-GB.js.map +1 -1
  707. package/es/shared/locales/en-US.d.ts +1 -0
  708. package/es/shared/locales/index.d.ts +2 -0
  709. package/es/shared/locales/nb-NO.d.ts +1 -0
  710. package/es/shared/locales/nb-NO.js +1 -0
  711. package/es/shared/locales/nb-NO.js.map +1 -1
  712. package/es/style/core/reset.scss +13 -3
  713. package/es/style/core/utilities.scss +3 -1
  714. package/es/style/dnb-ui-components.css +23 -18
  715. package/es/style/dnb-ui-components.min.css +1 -1
  716. package/es/style/dnb-ui-elements.css +6 -0
  717. package/es/style/dnb-ui-elements.min.css +1 -1
  718. package/es/style/dnb-ui-extensions.css +105 -29
  719. package/es/style/dnb-ui-extensions.min.css +1 -1
  720. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  721. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  722. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  723. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  724. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  725. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  726. package/es/style/themes/theme-sbanken/customisations.scss +0 -8
  727. package/es/style/themes/theme-sbanken/properties.js +6 -6
  728. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  729. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  730. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  731. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  732. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  733. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  734. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  735. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  736. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  737. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  738. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  739. package/es/style/themes/theme-ui/fonts.scss +8 -4
  740. package/es/style/themes/theme-ui/ui-theme-basis.css +6 -0
  741. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  742. package/es/style/themes/theme-ui/ui-theme-components.css +42 -24
  743. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  744. package/es/style/themes/theme-ui/ui-theme-elements.css +6 -0
  745. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  746. package/es/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  747. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  748. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  749. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  750. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  751. package/esm/dnb-ui-basis.min.mjs +1 -1
  752. package/esm/dnb-ui-components.min.mjs +1 -1
  753. package/esm/dnb-ui-elements.min.mjs +1 -1
  754. package/esm/dnb-ui-extensions.min.mjs +6 -6
  755. package/esm/dnb-ui-lib.min.mjs +1 -1
  756. package/extensions/forms/DataContext/index.js.map +1 -1
  757. package/extensions/forms/Field/ArraySelection.d.ts +2 -1
  758. package/extensions/forms/Field/ArraySelection.js +49 -33
  759. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  760. package/extensions/forms/Field/CountryCode.d.ts +10 -0
  761. package/extensions/forms/Field/CountryCode.js +68 -0
  762. package/extensions/forms/Field/CountryCode.js.map +1 -0
  763. package/extensions/forms/Field/Currency.d.ts +2 -2
  764. package/extensions/forms/Field/Currency.js +6 -38
  765. package/extensions/forms/Field/Currency.js.map +1 -1
  766. package/extensions/forms/Field/Date.d.ts +2 -2
  767. package/extensions/forms/Field/Date.js +11 -7
  768. package/extensions/forms/Field/Date.js.map +1 -1
  769. package/extensions/forms/Field/Number.d.ts +7 -3
  770. package/extensions/forms/Field/Number.js +44 -21
  771. package/extensions/forms/Field/Number.js.map +1 -1
  772. package/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  773. package/extensions/forms/Field/PhoneNumber.js +43 -42
  774. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  775. package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  776. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  777. package/extensions/forms/Field/Selection.d.ts +6 -4
  778. package/extensions/forms/Field/Selection.js +87 -38
  779. package/extensions/forms/Field/Selection.js.map +1 -1
  780. package/extensions/forms/Field/String.d.ts +3 -3
  781. package/extensions/forms/Field/String.js +27 -13
  782. package/extensions/forms/Field/String.js.map +1 -1
  783. package/extensions/forms/Field/Toggle.js +11 -9
  784. package/extensions/forms/Field/Toggle.js.map +1 -1
  785. package/extensions/forms/Field/fields.scss +2 -2
  786. package/extensions/forms/Field/hooks/useField.d.ts +6 -8
  787. package/extensions/forms/Field/hooks/useField.js +34 -33
  788. package/extensions/forms/Field/hooks/useField.js.map +1 -1
  789. package/extensions/forms/Field/index.d.ts +2 -0
  790. package/extensions/forms/Field/index.js +3 -1
  791. package/extensions/forms/Field/index.js.map +1 -1
  792. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  793. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  794. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  795. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  796. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  797. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  798. package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  799. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  800. package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  801. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  802. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  803. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  804. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  805. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  806. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  807. package/extensions/forms/Field/style/index.scss +2 -0
  808. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  809. package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  810. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  811. package/extensions/forms/FieldBlock/index.js.map +1 -1
  812. package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  813. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  814. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  815. package/extensions/forms/FieldGroup/index.js.map +1 -1
  816. package/extensions/forms/Layout/Card.js +2 -2
  817. package/extensions/forms/Layout/Card.js.map +1 -1
  818. package/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  819. package/extensions/forms/Layout/FlexContainer.js +3 -2
  820. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  821. package/extensions/forms/Layout/FlexItem.d.ts +1 -0
  822. package/extensions/forms/Layout/FlexItem.js +2 -1
  823. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  824. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  825. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  826. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  827. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  828. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  829. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  830. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  831. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  832. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  833. package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  834. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  835. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  836. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  837. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  838. package/extensions/forms/ValueBlock/index.js.map +1 -1
  839. package/extensions/forms/field-types.d.ts +7 -1
  840. package/extensions/forms/field-types.js.map +1 -1
  841. package/extensions/forms/style/dnb-forms.css +105 -29
  842. package/extensions/forms/style/dnb-forms.min.css +1 -1
  843. package/extensions/forms/style/index.d.ts +1 -0
  844. package/extensions/forms/style/index.js +1 -0
  845. package/extensions/forms/style/index.js.map +1 -0
  846. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  847. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  848. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  849. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  850. package/extensions/forms/utils/useWasChanged.js +56 -0
  851. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  852. package/extensions/forms/variables.scss +3 -0
  853. package/extensions/lib.d.ts +1 -0
  854. package/extensions/payment-card/PaymentCard.js.map +1 -1
  855. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  856. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  857. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  858. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  859. package/fragments/drawer-list/DrawerList.js +1 -1
  860. package/fragments/drawer-list/DrawerList.js.map +1 -1
  861. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  862. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  863. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  864. package/package.json +1 -1
  865. package/shared/Context.d.ts +2 -0
  866. package/shared/Context.js.map +1 -1
  867. package/shared/Eufemia.d.ts +1 -1
  868. package/shared/Eufemia.js +2 -2
  869. package/shared/Eufemia.js.map +1 -1
  870. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  871. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  872. package/shared/libs/Shortcuts.js.map +1 -1
  873. package/shared/locales/en-GB.d.ts +1 -0
  874. package/shared/locales/en-GB.js +1 -0
  875. package/shared/locales/en-GB.js.map +1 -1
  876. package/shared/locales/en-US.d.ts +1 -0
  877. package/shared/locales/index.d.ts +2 -0
  878. package/shared/locales/nb-NO.d.ts +1 -0
  879. package/shared/locales/nb-NO.js +1 -0
  880. package/shared/locales/nb-NO.js.map +1 -1
  881. package/style/core/reset.scss +13 -3
  882. package/style/core/utilities.scss +3 -1
  883. package/style/dnb-ui-components.css +23 -18
  884. package/style/dnb-ui-components.min.css +1 -1
  885. package/style/dnb-ui-elements.css +6 -0
  886. package/style/dnb-ui-elements.min.css +1 -1
  887. package/style/dnb-ui-extensions.css +105 -29
  888. package/style/dnb-ui-extensions.min.css +1 -1
  889. package/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  890. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  891. package/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  892. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  893. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  894. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  895. package/style/themes/theme-sbanken/customisations.scss +0 -8
  896. package/style/themes/theme-sbanken/properties.js +6 -6
  897. package/style/themes/theme-sbanken/properties.js.map +1 -1
  898. package/style/themes/theme-sbanken/properties.scss +6 -6
  899. package/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  900. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  901. package/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  902. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  903. package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  904. package/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  905. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  906. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  907. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  908. package/style/themes/theme-ui/fonts.scss +8 -4
  909. package/style/themes/theme-ui/ui-theme-basis.css +6 -0
  910. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  911. package/style/themes/theme-ui/ui-theme-components.css +42 -24
  912. package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  913. package/style/themes/theme-ui/ui-theme-elements.css +6 -0
  914. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  915. package/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  916. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  917. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  918. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  919. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  920. package/umd/dnb-ui-basis.min.js +1 -1
  921. package/umd/dnb-ui-components.min.js +1 -1
  922. package/umd/dnb-ui-elements.min.js +1 -1
  923. package/umd/dnb-ui-extensions.min.js +6 -6
  924. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StepIndicatorContext.js","names":["React","PropTypes","Context","stepIndicatorDefaultProps","processChildren","extendPropsWithContextInClassComponent","onMediaQueryChange","filterAttributes","Object","keys","filter","item","includes","concat","StepIndicatorContext","createContext","StepIndicatorProvider","PureComponent","getData","props","res","data","JSON","parse","getDerivedStateFromProps","state","_state$data","_state$step_title","_state$data2","_state$step_title_ext","_state$data3","countSteps","length","parseFloat","current_step","_current_step","activeStep","listOfReachedSteps","push","stepsLabel","step_title","replace","stepsLabelExtended","step_title_extended","constructor","_defineProperty","setState","openState","hasSidebar","hideSidebar","undefined","setActiveStep","onChangeState","openHandler","closeHandler","componentDidMount","_document","_isMounted","_mediaQueryListener","min","max","runOnInit","container","document","getElementById","sidebar_id","Boolean","componentWillUnmount","componentDidUpdate","makeContextValue","getGlobalContext","context","skeleton","getTranslation","StepIndicator","_objectSpread","globalContext","value","extendSafe","defaultProps","sidebarIsVisible","render","window","IS_TEST","no_animation","forEach","key","startsWith","createElement","Provider","children","isSidebar","process","env","NODE_ENV","propTypes","string","isRequired","node","bool","objects","obj","itm","entries","reduce","acc","k","v"],"sources":["../../../../src/components/step-indicator/StepIndicatorContext.js"],"sourcesContent":["/**\n * Web StepIndicator Context\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport Context from '../../shared/Context'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\nimport {\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport { onMediaQueryChange } from '../../shared/MediaQueryUtils'\n\n// We use this array to filter out unwanted\nconst filterAttributes = Object.keys(stepIndicatorDefaultProps)\n .filter((item) => {\n return !['class', 'className'].includes(item)\n })\n .concat([\n 'internalId',\n 'isSidebar',\n 'hasSidebar',\n 'hideSidebar',\n 'sidebarIsVisible',\n 'mainTitle',\n 'stepsLabel',\n 'stepsLabelExtended',\n 'listOfReachedSteps',\n 'setActiveStep',\n 'activeStep',\n 'countSteps',\n 'openState',\n 'onChangeState',\n 'openHandler',\n 'closeHandler',\n 'innerRef',\n 'hasSkeletonData',\n 'filterAttributes',\n 'onChangeState',\n ])\n\nconst StepIndicatorContext = React.createContext(null)\n\nexport default StepIndicatorContext\n\nexport class StepIndicatorProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n sidebar_id: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n isSidebar: PropTypes.bool,\n }\n\n static defaultProps = {\n isSidebar: false,\n }\n\n static getData(props) {\n let res = []\n if (props.data) {\n res = props.data\n } else {\n res = processChildren(props)\n }\n if (typeof res === 'string')\n return res[0] === '[' ? JSON.parse(res) : []\n return res || []\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.data) {\n state.data = StepIndicatorProvider.getData(props)\n }\n state.countSteps = state.data?.length\n\n if (\n parseFloat(props.current_step) > -1 &&\n props.current_step !== state._current_step\n ) {\n state.activeStep = parseFloat(props.current_step) || 0\n }\n\n if (!state.listOfReachedSteps.includes(state.activeStep)) {\n state.listOfReachedSteps.push(state.activeStep)\n }\n\n state.stepsLabel = state.step_title\n ?.replace('%step', (state.activeStep || 0) + 1)\n .replace('%count', state.data?.length || 1)\n state.stepsLabelExtended = state.step_title_extended\n ?.replace('%step', (state.activeStep || 0) + 1)\n .replace('%count', state.data?.length || 1)\n\n state._current_step = props.current_step\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n hasSidebar: true,\n hideSidebar: false,\n activeStep: undefined,\n setActiveStep: this.setActiveStep,\n onChangeState: this.onChangeState,\n openHandler: this.openHandler,\n closeHandler: this.closeHandler,\n }\n\n if (!this.state.listOfReachedSteps) {\n this.state.listOfReachedSteps = []\n }\n }\n\n componentDidMount() {\n this._isMounted = true\n\n this._mediaQueryListener = onMediaQueryChange(\n {\n min: '0',\n max: 'medium',\n },\n (hideSidebar) => {\n this.setState({\n hideSidebar,\n })\n },\n { runOnInit: true }\n )\n\n const container = document?.getElementById(\n 'sidebar__' + this.props.sidebar_id\n )\n this.setState({\n hasSidebar: Boolean(container),\n })\n }\n\n componentWillUnmount() {\n if (this._mediaQueryListener) {\n this._mediaQueryListener()\n }\n }\n\n componentDidUpdate() {\n this.setState(this.makeContextValue())\n }\n\n setActiveStep = (activeStep) => {\n this.setState({ activeStep })\n }\n\n onChangeState = () => {\n this.setState({ openState: false })\n }\n\n openHandler = () => {\n this.setState({ openState: true })\n }\n\n closeHandler = () => {\n this.setState({ openState: false })\n }\n\n getGlobalContext(context = this.context) {\n // use only the props from context, who are available here anyway\n const data = extendPropsWithContextInClassComponent(\n this.props,\n stepIndicatorDefaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(context).StepIndicator,\n context.StepIndicator\n )\n\n return data\n }\n\n makeContextValue({\n state = { ...this.state },\n props = this.props,\n context = this.context,\n } = {}) {\n const globalContext = this.getGlobalContext(context)\n\n const value = extendSafe(\n { filterAttributes },\n globalContext,\n {\n defaultProps: stepIndicatorDefaultProps,\n props,\n },\n state\n )\n\n value.sidebarIsVisible = value.hasSidebar && !value.hideSidebar\n\n return value\n }\n\n render() {\n const value = this.makeContextValue()\n\n if (typeof window !== 'undefined' && window.IS_TEST) {\n value.no_animation = true\n }\n\n // Filter out unwanted HTML attributes\n Object.keys(value).forEach((key) => {\n if (key.startsWith('_')) {\n delete value[key]\n }\n })\n\n return (\n <StepIndicatorContext.Provider value={value}>\n {this.props.children}\n </StepIndicatorContext.Provider>\n )\n }\n}\n\n/**\n * Like \"Object.assign\" – but safe\n * A new falsy value will not be used, if it exists already\n * Also,\n *\n * @param {...object} objects\n * @returns object\n */\nfunction extendSafe(...objects) {\n const obj = {}\n\n objects.forEach((itm) => {\n if (itm.defaultProps && itm.props) {\n itm = Object.entries(itm.props).reduce((acc, [k, v]) => {\n if (itm.defaultProps[k] !== v) {\n acc[k] = v\n }\n return acc\n }, {})\n }\n\n Object.entries(itm).forEach(([k, v]) => {\n if (!obj[k] || (obj[k] && v)) {\n obj[k] = v\n }\n })\n })\n\n return obj\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepIndicatorContext.js","names":["React","useContext","useEffect","useRef","useState","Context","stepIndicatorDefaultProps","extendPropsWithContext","onMediaQueryChange","filterAttributes","Object","keys","filter","item","includes","concat","StepIndicatorContext","createContext","StepIndicatorProvider","_ref","isSidebar","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","data","getData","countSteps","length","hasSidebar","setHasSidebar","hideSidebar","setHideSidebar","activeStep","setActiveStep","getActiveStepFromProps","openState","setOpenState","listOfReachedSteps","Boolean","current","mediaQueryListener","context","contextValue","makeContextValue","_document","container","document","getElementById","sidebar_id","min","max","runOnInit","currentStepFromProps","current_step","push","onChangeState","openHandler","closeHandler","JSON","parse","dataWithItems","itemWithCurrentStep","find","is_current","indexOf","globalContext","skeleton","getTranslation","StepIndicator","value","extendSafe","defaultProps","stepsLabel","updateStepTitle","step_title","stepsLabelExtended","step_title_extended","sidebarIsVisible","title","replace","String","window","forEach","key","startsWith","createElement","Provider","children","objects","obj","itm","entries","reduce","acc","k","v"],"sources":["../../../../src/components/step-indicator/StepIndicatorContext.tsx"],"sourcesContent":["/**\n * Web StepIndicator Context\n *\n */\n\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport Context, { ContextProps } from '../../shared/Context'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport { onMediaQueryChange } from '../../shared/MediaQueryUtils'\nimport {\n StepIndicatorData,\n StepIndicatorDataItem,\n StepIndicatorMode,\n StepIndicatorProps,\n} from './StepIndicator'\nimport { StepIndicatorItemProps } from './StepIndicatorItem'\n\n// We use this array to filter out unwanted properties\nconst filterAttributes = Object.keys(stepIndicatorDefaultProps)\n .filter((item) => {\n return !['class', 'className'].includes(item)\n })\n .concat([\n 'internalId',\n 'isSidebar',\n 'hasSidebar',\n 'hideSidebar',\n 'sidebarIsVisible',\n 'mainTitle',\n 'stepsLabel',\n 'stepsLabelExtended',\n 'listOfReachedSteps',\n 'setActiveStep',\n 'activeStep',\n 'countSteps',\n 'openState',\n 'onChangeState',\n 'openHandler',\n 'closeHandler',\n 'innerRef',\n 'hasSkeletonData',\n 'filterAttributes',\n 'onChangeState',\n ])\n\nexport type StepIndicatorContextValues = StepIndicatorProviderProps &\n StepIndicatorProviderStates &\n ContextProps\n\nconst StepIndicatorContext =\n React.createContext<StepIndicatorContextValues>(null)\n\nexport default StepIndicatorContext\n\nexport type StepIndicatorProviderProps = Omit<\n StepIndicatorProps,\n 'mode' | 'data'\n> & {\n /**\n * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.\n */\n sidebar_id: string\n /**\n * <em>(required)</em> defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.\n */\n data?: StepIndicatorData\n /**\n * <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.\n */\n mode?: StepIndicatorMode\n children: React.ReactNode\n isSidebar?: boolean\n}\n\nexport type StepIndicatorProviderStates = {\n data: (string | StepIndicatorItemProps)[]\n hasSidebar: boolean\n hideSidebar: boolean\n activeStep: number\n openState: boolean\n listOfReachedSteps: number[]\n countSteps: number\n stepsLabel: string\n stepsLabelExtended: string\n filterAttributes: string[]\n setActiveStep: React.Dispatch<React.SetStateAction<number>>\n sidebarIsVisible: boolean\n onChangeState: () => void\n openHandler: () => void\n closeHandler: () => void\n}\n\nexport function StepIndicatorProvider({\n isSidebar = false,\n ...restOfProps\n}: StepIndicatorProviderProps) {\n const props = { isSidebar, ...restOfProps }\n\n const data = getData(props)\n const countSteps = data.length\n\n const [hasSidebar, setHasSidebar] = useState<boolean>(true)\n const [hideSidebar, setHideSidebar] = useState<boolean>(false)\n const [activeStep, setActiveStep] = useState<number>(\n getActiveStepFromProps()\n )\n const [openState, setOpenState] = useState<boolean>(false)\n\n const listOfReachedSteps = useRef([activeStep].filter(Boolean)).current\n\n const mediaQueryListener = useRef(null)\n\n const context = useContext(Context)\n const contextValue = makeContextValue() as StepIndicatorContextValues\n\n // Mount and dismount\n useEffect(() => {\n const container = document?.getElementById(\n 'sidebar__' + props.sidebar_id\n )\n\n setHasSidebar(Boolean(container))\n\n mediaQueryListener.current = onMediaQueryChange(\n {\n min: '0',\n max: 'medium',\n },\n (hideSidebar) => {\n setHideSidebar(hideSidebar)\n },\n { runOnInit: true }\n )\n\n return () => {\n if (mediaQueryListener.current) {\n mediaQueryListener.current()\n }\n }\n }, [])\n\n // Keeps the activeStep state updated with changes to the current_step and data props\n useEffect(() => {\n const currentStepFromProps = getActiveStepFromProps()\n\n if (currentStepFromProps !== activeStep) {\n setActiveStep(props.current_step)\n }\n }, [props.current_step, data])\n\n // Keeps the listOfReachedSteps state up to date with the activeStep state\n useEffect(() => {\n if (!listOfReachedSteps.includes(activeStep)) {\n listOfReachedSteps.push(activeStep)\n }\n }, [activeStep])\n\n function onChangeState() {\n setOpenState(false)\n }\n\n function openHandler() {\n setOpenState(true)\n }\n\n function closeHandler() {\n setOpenState(false)\n }\n\n function getData(\n props: StepIndicatorProviderProps\n ): string[] | StepIndicatorDataItem[] {\n if (typeof props.data === 'string') {\n return props.data[0] === '[' ? JSON.parse(props.data) : []\n }\n\n return props.data || []\n }\n\n function getActiveStepFromProps() {\n if (typeof data[0] === 'string') {\n return props.current_step\n }\n\n const dataWithItems = data as StepIndicatorDataItem[]\n\n const itemWithCurrentStep = dataWithItems.find(\n (item) => item.is_current\n )\n // Is current on data item has precedence(?) over current_step prop\n return itemWithCurrentStep\n ? dataWithItems.indexOf(itemWithCurrentStep)\n : props.current_step\n }\n\n function makeContextValue() {\n const globalContext = extendPropsWithContext(\n props,\n stepIndicatorDefaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(context).StepIndicator,\n context.StepIndicator\n )\n\n const value = extendSafe(\n { filterAttributes },\n globalContext,\n // Props\n {\n defaultProps: stepIndicatorDefaultProps,\n props,\n },\n // State\n {\n hasSidebar,\n hideSidebar,\n activeStep,\n openState,\n listOfReachedSteps,\n data,\n countSteps,\n stepsLabel: updateStepTitle(globalContext.step_title),\n stepsLabelExtended: updateStepTitle(\n globalContext.step_title_extended\n ),\n },\n // Functions\n {\n setActiveStep,\n onChangeState,\n openHandler,\n closeHandler,\n }\n ) as StepIndicatorContextValues\n\n value.sidebarIsVisible = value.hasSidebar && !value.hideSidebar\n\n return value\n }\n\n function updateStepTitle(title: string) {\n return title\n ?.replace('%step', String((activeStep || 0) + 1))\n .replace('%count', String(data?.length || 1))\n }\n\n if (typeof window !== 'undefined' && window['IS_TEST']) {\n contextValue['no_animation'] = true\n }\n\n // Filter out unwanted HTML attributes\n Object.keys(contextValue).forEach((key) => {\n if (key.startsWith('_')) {\n delete contextValue[key]\n }\n })\n\n return (\n <StepIndicatorContext.Provider value={contextValue}>\n {props.children}\n </StepIndicatorContext.Provider>\n )\n}\n\n/**\n * Like \"Object.assign\" – but safe\n * A new falsy value will not be used, if it exists already\n *\n * @param {...object} objects\n * @returns object\n */\nfunction extendSafe(...objects): Record<string, unknown> {\n const obj = {}\n\n objects.forEach((itm) => {\n if (itm.defaultProps && itm.props) {\n itm = Object.entries(itm.props).reduce((acc, [k, v]) => {\n if (itm.defaultProps[k] !== v) {\n acc[k] = v\n }\n return acc\n }, {})\n }\n\n Object.entries(itm).forEach(([k, v]) => {\n if (!obj[k] || (obj[k] && v)) {\n obj[k] = v\n }\n })\n })\n\n return obj\n}\n"],"mappings":"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"}
@@ -1,61 +1,59 @@
1
- import * as React from 'react';
2
- import type { FormStatusText } from '../FormStatus';
3
- export type StepIndicatorItemTitle = string | React.ReactNode;
4
- export type StepIndicatorItemStatusState = 'warn' | 'info' | 'error';
5
- export interface StepIndicatorItemProps
6
- extends React.HTMLProps<HTMLElement> {
7
- /**
8
- * <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
9
- */
10
- mode?: string;
11
- title: StepIndicatorItemTitle;
12
- step_title?: string;
13
- /**
14
- * Define whether to show automatically counted numbers or not. Defaults to `false`.
15
- */
16
- hide_numbers?: boolean;
17
- /**
18
- * Callback function to manipulate or wrap every item. Has to return a React Node. You receive an object you can use in your custom HOC `{ StepItem, element, attributes, props, context }`.
19
- */
20
- on_item_render?: (...args: any[]) => any;
21
- /**
22
- * Will be called once the user visits actively a new step. Will be emitted only once. Returns an object `{ event, item, current_step }`.
23
- */
24
- on_change?: (...args: any[]) => any;
25
- on_render?: (...args: any[]) => any;
26
- /**
27
- * Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.
28
- */
29
- on_click?: (...args: any[]) => any;
30
- is_current?: boolean;
31
- inactive?: boolean;
32
- disabled?: boolean;
33
- status?: FormStatusText;
34
- status_state?: StepIndicatorItemStatusState;
35
- currentItemNum: number;
36
- }
37
- export default class StepIndicatorItem extends React.Component<
38
- StepIndicatorItemProps,
39
- any
40
- > {
41
- static defaultProps: object;
42
- render(): JSX.Element;
43
- }
44
- export interface StepItemButtonProps {
45
- children?: React.ReactNode;
46
- inner_ref?: React.RefObject<HTMLElement>;
47
- className?: string;
48
- status?: FormStatusText;
49
- status_state?: StepIndicatorStatusState;
50
- }
51
- export declare const StepItemButton: React.FC<StepItemButtonProps>;
52
- export interface StepItemWrapperProps {
53
- children?: React.ReactNode;
54
- number?: number;
55
- /**
56
- * Define whether to show automatically counted numbers or not. Defaults to `false`.
57
- */
58
- hide_numbers?: boolean;
59
- status?: string;
60
- }
61
- export declare const StepItemWrapper: React.FC<StepItemWrapperProps>;
1
+ /**
2
+ * Web StepIndicator Component
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import { ButtonProps } from '../button/Button';
7
+ import { StepIndicatorMouseEvent, StepIndicatorRenderCallback } from './StepIndicator';
8
+ export type StepIndicatorStatusState = 'warn' | 'info' | 'error';
9
+ export type StepIndicatorItemProps = Omit<React.HTMLProps<HTMLElement>, 'title' | 'data'> & {
10
+ title: string | React.ReactNode;
11
+ /**
12
+ * If set to true, this item step will be set as the current current selected step. This can be used instead of `current_step` on the component itself.
13
+ */
14
+ is_current?: boolean;
15
+ /**
16
+ * If set to true, this item step will be handled as an inactive step and will not be clickable.
17
+ * Defaults to `false`
18
+ */
19
+ inactive?: boolean;
20
+ /**
21
+ * If set to true, this item step will be visible as an disabled button and will not be clickable.
22
+ * Defaults to false.
23
+ */
24
+ disabled?: boolean;
25
+ /**
26
+ * Is used to set the status text.
27
+ */
28
+ status?: string | React.ReactNode;
29
+ /**
30
+ * Used to set the status state to be either `info`, `error` or `warn`.
31
+ * Defaults to `warn`.
32
+ */
33
+ status_state?: StepIndicatorStatusState;
34
+ /**
35
+ * Callback function to manipulate or wrap the step item. Has to return a React Node. You receive an object `{ StepItem, element, attributes, props, context }`.
36
+ */
37
+ on_render?: ({ StepItem, element, attributes, props, context, }: StepIndicatorRenderCallback) => React.ReactNode;
38
+ /**
39
+ * Will be called once the user clicks on the current or another step. Will be emitted on every click. Returns an object `{ event, item, current_step }`.
40
+ */
41
+ on_click?: ({ event, item, current_step, currentStep, }: StepIndicatorMouseEvent) => void;
42
+ currentItemNum: number;
43
+ };
44
+ declare function StepIndicatorItem({ status_state: status_state_default, inactive: inactive_default, disabled: disabled_default, ...restOfProps }: StepIndicatorItemProps): import("react/jsx-runtime").JSX.Element;
45
+ export type StepItemButtonProps = Omit<ButtonProps, 'status_state'> & {
46
+ status_state?: StepIndicatorStatusState;
47
+ };
48
+ export declare function StepItemButton({ children, className, status, status_state, inner_ref, ...props }: StepItemButtonProps): import("react/jsx-runtime").JSX.Element;
49
+ export type StepItemWrapperProps = React.HTMLProps<HTMLElement> & {
50
+ children?: React.ReactNode;
51
+ number?: number;
52
+ /**
53
+ * Define whether to show automatically counted numbers or not. Defaults to `false`.
54
+ */
55
+ hide_numbers?: boolean;
56
+ status?: string | React.ReactNode;
57
+ };
58
+ export declare function StepItemWrapper({ children, number, hide_numbers, status, }: StepItemWrapperProps): import("react/jsx-runtime").JSX.Element;
59
+ export default StepIndicatorItem;
@@ -1,219 +1,194 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- const _excluded = ["currentItemNum", "title", "is_current", "inactive", "disabled", "status", "status_state", "on_render", "on_click", "on_change"],
5
- _excluded2 = ["children", "className", "status", "status_state", "inner_ref"];
6
- import React from 'react';
7
- import PropTypes from 'prop-types';
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ const _excluded = ["status_state", "inactive", "disabled"],
5
+ _excluded2 = ["currentItemNum", "title", "is_current", "inactive", "disabled", "status", "status_state", "on_render", "on_click"],
6
+ _excluded3 = ["children", "className", "status", "status_state", "inner_ref"];
7
+ 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; }
8
+ 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; }
9
+ import React, { useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';
8
10
  import classnames from 'classnames';
9
- import { isTrue, makeUniqueId, dispatchCustomElementEvent } from '../../shared/component-helper';
11
+ import { makeUniqueId, dispatchCustomElementEvent } from '../../shared/component-helper';
10
12
  import HeightAnimationInstance from '../height-animation/HeightAnimationInstance';
11
13
  import Button from '../button/Button';
12
14
  import Icon from '../icon/Icon';
13
- import { WarnIcon, InfoIcon, ErrorIcon } from '../../components/form-status/FormStatus';
15
+ import { WarnIcon, InfoIcon, ErrorIcon } from '../form-status/FormStatus';
14
16
  import StepIndicatorContext from './StepIndicatorContext';
15
- export default class StepIndicatorItem extends React.PureComponent {
16
- constructor(props, context) {
17
- super(props);
18
- _defineProperty(this, "onClickHandler", ({
19
- event,
20
- item,
21
- currentItemNum
22
- }) => {
23
- const params = {
24
- event,
25
- item,
26
- current_step: currentItemNum,
27
- currentStep: currentItemNum
28
- };
29
- const onClickItem = dispatchCustomElementEvent(this, 'on_click', params);
30
- const onClickGlobal = dispatchCustomElementEvent(this.context, 'on_click', params);
31
- if (onClickItem === false || onClickGlobal === false) {
32
- return;
33
- }
34
- if (this.context.activeStep !== currentItemNum) {
35
- this.context.setActiveStep(currentItemNum);
36
- if (typeof this.context.onChangeState === 'function') {
37
- this.context.onChangeState(currentItemNum);
38
- }
39
- dispatchCustomElementEvent(this.context, 'on_change', params);
40
- }
41
- });
42
- this._heightAnim = new HeightAnimationInstance({
43
- animate: !isTrue(context.no_animation)
44
- });
45
- this._ref = React.createRef();
46
- }
47
- componentDidMount() {
48
- this._heightAnim.setElement(this._ref.current);
49
- this._prevStep = this.context.activeStep;
50
- }
51
- componentWillUnmount() {
52
- this._heightAnim.remove();
53
- }
54
- getSnapshotBeforeUpdate() {
55
- return this._heightAnim.getHeight();
56
- }
57
- componentDidUpdate(a, b, height) {
58
- if (this._prevStep !== this.context.activeStep && (this.props.currentItemNum === this._prevStep || this.props.currentItemNum === this.context.activeStep)) {
59
- const toHeight = this._heightAnim.getUnknownHeight();
17
+ import { stepIndicatorDefaultProps } from './StepIndicatorProps';
18
+ function StepIndicatorItem(_ref) {
19
+ let {
20
+ status_state: status_state_default = 'warn',
21
+ inactive: inactive_default = false,
22
+ disabled: disabled_default = false
23
+ } = _ref,
24
+ restOfProps = _objectWithoutProperties(_ref, _excluded);
25
+ const props = _objectSpread({
26
+ status_state: status_state_default,
27
+ inactive: inactive_default,
28
+ disabled: disabled_default
29
+ }, restOfProps);
30
+ const context = useContext(StepIndicatorContext);
31
+ const [previousStep, setPreviousStep] = useState(context.activeStep);
32
+ const heightAnim = useRef(new HeightAnimationInstance({
33
+ animate: (context === null || context === void 0 ? void 0 : context.no_animation) !== undefined ? context.no_animation : false
34
+ })).current;
35
+ const ref = useRef(null);
36
+ const thisReference = {
37
+ context,
38
+ props,
39
+ onClickHandler
40
+ };
41
+ useEffect(() => {
42
+ heightAnim.setElement(ref.current);
43
+ return () => {
44
+ heightAnim.remove();
45
+ };
46
+ }, []);
47
+ useEffect(() => {
48
+ if (previousStep !== context.activeStep) {
49
+ setPreviousStep(context.activeStep);
50
+ }
51
+ }, [context.activeStep]);
52
+ useLayoutEffect(() => {
53
+ const height = heightAnim.getHeight();
54
+ if (previousStep !== context.activeStep && (props.currentItemNum === previousStep || props.currentItemNum === context.activeStep)) {
55
+ const toHeight = heightAnim.getUnknownHeight();
60
56
  if (height !== toHeight) {
61
- this._heightAnim.adjustTo(height, toHeight);
57
+ heightAnim.adjustTo(height, toHeight);
62
58
  }
63
59
  }
64
- this._prevStep = this.context.activeStep;
65
- }
66
- render() {
67
- const {
68
- mode,
69
- filterAttributes,
70
- activeStep,
71
- countSteps,
72
- listOfReachedSteps,
73
- hide_numbers,
74
- on_item_render,
75
- sidebar_id,
76
- step_title
77
- } = this.context;
78
- const _this$props = this.props,
79
- {
80
- currentItemNum,
81
- title,
82
- is_current,
83
- inactive,
84
- disabled,
85
- status,
86
- status_state,
87
- on_render,
88
- on_click,
89
- on_change
90
- } = _this$props,
91
- attributes = _objectWithoutProperties(_this$props, _excluded);
92
- Object.keys(attributes).forEach(key => {
93
- if (filterAttributes.includes(key)) {
94
- delete attributes[key];
95
- }
96
- });
97
- const hasPassedAndIsCurrent = mode === 'loose' || currentItemNum <= activeStep || listOfReachedSteps.includes(currentItemNum);
98
- const isNavigateable = mode === 'strict' || mode === 'loose';
99
- let isInactive = isTrue(inactive) || mode === 'strict' && !hasPassedAndIsCurrent;
100
- let isVisited = currentItemNum < activeStep;
101
- const id = `${sidebar_id || makeUniqueId()}-${currentItemNum}`;
102
- const ariaLabel = step_title === null || step_title === void 0 ? void 0 : step_title.replace('%step', currentItemNum + 1).replace('%count', countSteps);
103
- const isCurrent = currentItemNum === activeStep || isTrue(is_current) && isNaN(parseFloat(activeStep));
104
- let element = React.createElement(StepItemWrapper, {
105
- number: currentItemNum + 1,
106
- hide_numbers: hide_numbers,
107
- status: status,
108
- status_state: status_state
109
- }, title);
110
- const callbackProps = {
111
- StepItem: StepItemWrapper,
112
- element,
113
- attributes,
114
- props: this.props,
115
- context: this.context
60
+ }, [previousStep, context.activeStep, heightAnim, props.currentItemNum]);
61
+ function onClickHandler({
62
+ event,
63
+ item,
64
+ currentItemNum
65
+ }) {
66
+ const params = {
67
+ event,
68
+ item,
69
+ current_step: currentItemNum,
70
+ currentStep: currentItemNum
116
71
  };
117
- if (typeof on_render === 'function') {
118
- element = on_render(callbackProps);
119
- } else if (typeof on_item_render === 'function') {
120
- element = on_item_render(callbackProps);
72
+ const onClickItem = dispatchCustomElementEvent(thisReference, 'on_click', params);
73
+ const onClickGlobal = dispatchCustomElementEvent(context, 'on_click', params);
74
+ if (onClickItem === false || onClickGlobal === false) {
75
+ return;
76
+ }
77
+ if (context.activeStep !== currentItemNum) {
78
+ context.setActiveStep(currentItemNum);
79
+ if (typeof context.onChangeState === 'function') {
80
+ context.onChangeState();
81
+ }
82
+ dispatchCustomElementEvent(context, 'on_change', params);
121
83
  }
122
- const itemParams = {};
123
- const buttonParams = {
124
- icon: 'check',
84
+ }
85
+ const {
86
+ mode,
87
+ filterAttributes,
88
+ activeStep,
89
+ countSteps,
90
+ listOfReachedSteps,
91
+ hide_numbers,
92
+ on_item_render,
93
+ sidebar_id,
94
+ step_title
95
+ } = context;
96
+ const {
97
+ currentItemNum,
98
+ title,
99
+ is_current,
100
+ inactive,
101
+ disabled,
125
102
  status,
126
103
  status_state,
127
- 'aria-describedby': id
128
- };
129
- if (isCurrent) {
130
- itemParams['aria-current'] = 'step';
104
+ on_render,
105
+ on_click
106
+ } = props,
107
+ attributes = _objectWithoutProperties(props, _excluded2);
108
+ Object.keys(attributes).forEach(key => {
109
+ if (filterAttributes.includes(key)) {
110
+ delete attributes[key];
131
111
  }
132
- if (isTrue(disabled)) {
133
- buttonParams['disabled'] = true;
134
- }
135
- if (isNavigateable && !isInactive) {
136
- buttonParams.onClick = ({
137
- event
138
- }) => this.onClickHandler({
139
- event,
140
- item: this.props,
141
- currentItemNum
142
- });
143
- }
144
- if (!buttonParams.onClick) {
145
- buttonParams.element = 'span';
146
- buttonParams.type = '';
147
- buttonParams.on_click = undefined;
148
- isInactive = true;
149
- }
150
- return React.createElement("li", _extends({}, itemParams, {
151
- className: classnames('dnb-step-indicator__item', itemParams.className, isCurrent && 'dnb-step-indicator__item--current', isInactive && 'dnb-step-indicator__item--inactive', isVisited && 'dnb-step-indicator__item--visited')
152
- }), React.createElement(StepItemButton, _extends({}, buttonParams, {
153
- inner_ref: this._ref
154
- }), element), React.createElement("span", {
155
- id: id,
156
- "aria-hidden": true,
157
- className: "dnb-sr-only"
158
- }, ariaLabel));
112
+ });
113
+ const hasPassedAndIsCurrent = mode === 'loose' || currentItemNum <= activeStep || listOfReachedSteps.includes(currentItemNum);
114
+ const isNavigateable = mode === 'strict' || mode === 'loose';
115
+ let isInactive = inactive || mode === 'strict' && !hasPassedAndIsCurrent;
116
+ const isVisited = currentItemNum < activeStep;
117
+ const id = `${sidebar_id || makeUniqueId()}-${currentItemNum}`;
118
+ const ariaLabel = step_title === null || step_title === void 0 ? void 0 : step_title.replace('%step', String(currentItemNum + 1)).replace('%count', String(countSteps));
119
+ const isCurrent = currentItemNum === activeStep;
120
+ let element = React.createElement(StepItemWrapper, {
121
+ number: currentItemNum + 1,
122
+ hide_numbers: hide_numbers,
123
+ status: status
124
+ }, title);
125
+ const callbackProps = {
126
+ StepItem: StepItemWrapper,
127
+ element,
128
+ attributes,
129
+ props,
130
+ context
131
+ };
132
+ if (typeof on_render === 'function') {
133
+ element = on_render(callbackProps);
134
+ } else if (typeof on_item_render === 'function') {
135
+ element = on_item_render(callbackProps);
136
+ }
137
+ const itemParams = {};
138
+ const buttonParams = {
139
+ icon: 'check',
140
+ status,
141
+ status_state,
142
+ 'aria-describedby': id
143
+ };
144
+ if (isCurrent) {
145
+ itemParams['aria-current'] = 'step';
146
+ }
147
+ if (disabled) {
148
+ buttonParams.disabled = true;
159
149
  }
150
+ if (isNavigateable && !isInactive) {
151
+ buttonParams.onClick = ({
152
+ event
153
+ }) => onClickHandler({
154
+ event,
155
+ item: props,
156
+ currentItemNum
157
+ });
158
+ }
159
+ if (!buttonParams.onClick) {
160
+ buttonParams.element = 'span';
161
+ buttonParams.type = '';
162
+ buttonParams.on_click = undefined;
163
+ isInactive = true;
164
+ }
165
+ return React.createElement("li", _extends({}, itemParams, {
166
+ className: classnames('dnb-step-indicator__item', itemParams.className, isCurrent && 'dnb-step-indicator__item--current', isInactive && 'dnb-step-indicator__item--inactive', isVisited && 'dnb-step-indicator__item--visited')
167
+ }), React.createElement(StepItemButton, _extends({}, buttonParams, {
168
+ inner_ref: ref
169
+ }), element), React.createElement("span", {
170
+ id: id,
171
+ "aria-hidden": true,
172
+ className: "dnb-sr-only"
173
+ }, ariaLabel));
160
174
  }
161
- _defineProperty(StepIndicatorItem, "contextType", StepIndicatorContext);
162
- _defineProperty(StepIndicatorItem, "defaultProps", {
163
- mode: null,
164
- step_title: '%step',
165
- hide_numbers: false,
166
- on_item_render: null,
167
- on_change: null,
168
- on_render: null,
169
- on_click: null,
170
- is_current: null,
171
- inactive: null,
172
- disabled: null,
173
- status: null,
174
- status_state: 'warn'
175
- });
176
- process.env.NODE_ENV !== "production" ? StepIndicatorItem.propTypes = {
177
- mode: PropTypes.string,
178
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
179
- step_title: PropTypes.string,
180
- hide_numbers: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
181
- on_item_render: PropTypes.func,
182
- on_change: PropTypes.func,
183
- on_render: PropTypes.func,
184
- on_click: PropTypes.func,
185
- is_current: PropTypes.bool,
186
- inactive: PropTypes.bool,
187
- disabled: PropTypes.bool,
188
- status: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
189
- status_state: PropTypes.oneOf(['warn', 'info', 'error']),
190
- currentItemNum: PropTypes.number.isRequired
191
- } : void 0;
192
- export const StepItemButton = _ref => {
175
+ export function StepItemButton(_ref2) {
193
176
  let {
194
177
  children,
195
178
  className,
196
179
  status,
197
180
  status_state,
198
181
  inner_ref
199
- } = _ref,
200
- props = _objectWithoutProperties(_ref, _excluded2);
182
+ } = _ref2,
183
+ props = _objectWithoutProperties(_ref2, _excluded3);
184
+ const icons = {
185
+ info: InfoIcon,
186
+ error: ErrorIcon,
187
+ warn: WarnIcon
188
+ };
201
189
  if (status) {
202
- let icon = null;
203
- switch (status_state) {
204
- case 'info':
205
- icon = InfoIcon;
206
- break;
207
- case 'error':
208
- icon = ErrorIcon;
209
- break;
210
- case 'warn':
211
- default:
212
- icon = WarnIcon;
213
- break;
214
- }
215
190
  props.icon = React.createElement(Icon, {
216
- icon: icon,
191
+ icon: icons[status_state] || icons.warn,
217
192
  className: "dnb-button__icon",
218
193
  size: "medium",
219
194
  inherit_color: false
@@ -228,30 +203,16 @@ export const StepItemButton = _ref => {
228
203
  icon_position: "right",
229
204
  inner_ref: inner_ref
230
205
  }, props), children);
231
- };
232
- process.env.NODE_ENV !== "production" ? StepItemButton.propTypes = {
233
- children: PropTypes.node,
234
- inner_ref: PropTypes.object,
235
- className: PropTypes.string,
236
- status: PropTypes.string,
237
- status_state: PropTypes.string
238
- } : void 0;
239
- StepItemButton.defaultProps = {
240
- children: null,
241
- inner_ref: null,
242
- className: null,
243
- status: null,
244
- status_state: null
245
- };
246
- export const StepItemWrapper = ({
206
+ }
207
+ export function StepItemWrapper({
247
208
  children,
248
209
  number,
249
- hide_numbers,
210
+ hide_numbers = stepIndicatorDefaultProps.hide_numbers,
250
211
  status
251
- }) => {
212
+ }) {
252
213
  return React.createElement("span", {
253
214
  className: "dnb-step-indicator__item-content"
254
- }, !isTrue(hide_numbers) && React.createElement("span", {
215
+ }, !hide_numbers && React.createElement("span", {
255
216
  "aria-hidden": true,
256
217
  className: "dnb-step-indicator__item-content__number"
257
218
  }, number, "."), React.createElement("span", {
@@ -261,17 +222,6 @@ export const StepItemWrapper = ({
261
222
  }, children), status && React.createElement("span", {
262
223
  className: "dnb-step-indicator__item-content__status"
263
224
  }, status)));
264
- };
265
- process.env.NODE_ENV !== "production" ? StepItemWrapper.propTypes = {
266
- children: PropTypes.node,
267
- number: PropTypes.number,
268
- hide_numbers: PropTypes.bool,
269
- status: PropTypes.string
270
- } : void 0;
271
- StepItemWrapper.defaultProps = {
272
- children: null,
273
- number: null,
274
- hide_numbers: null,
275
- status: null
276
- };
225
+ }
226
+ export default StepIndicatorItem;
277
227
  //# sourceMappingURL=StepIndicatorItem.js.map