@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,79 +1,93 @@
1
- import * as React from 'react';
1
+ /**
2
+ * Web StepIndicator Component
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import StepIndicatorSidebar from './StepIndicatorSidebar';
7
+ import { StepIndicatorContextValues } from './StepIndicatorContext';
2
8
  import type { SpacingProps } from '../../shared/types';
3
9
  import type { SkeletonShow } from '../Skeleton';
4
- import type { StepIndicatorItemProps } from './StepIndicatorItem';
5
- import StepIndicatorSidebar from './StepIndicatorSidebar';
10
+ import type { StepIndicatorItemProps, StepItemWrapper } from './StepIndicatorItem';
6
11
  export type StepIndicatorMode = 'static' | 'strict' | 'loose';
7
- export type StepIndicatorData =
8
- | string
9
- | string[]
10
- | Pick<
11
- StepIndicatorItemProps,
12
- | 'title'
13
- | 'is_current'
14
- | 'inactive'
15
- | 'disabled'
16
- | 'status'
17
- | 'status_state'
18
- | 'on_click'
19
- | 'on_render'
20
- >[];
21
- export type StepIndicatorCurrentStep = string | number;
22
- export type StepIndicatorChildren =
23
- | React.ReactNode
24
- | ((...args: any[]) => any);
25
- export interface StepIndicatorProps
26
- extends Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'>,
27
- SpacingProps {
28
- /**
29
- * <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.
30
- */
31
- sidebar_id?: string;
32
- /**
33
- * <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.
34
- */
35
- mode?: StepIndicatorMode;
36
- /**
37
- * <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.
38
- */
39
- data?: StepIndicatorData;
40
- /**
41
- * 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 }`.
42
- */
43
- on_click?: (...args: any[]) => any;
44
- overview_title?: string;
45
- step_title_extended?: string;
46
- step_title?: string;
47
- /**
48
- * Defines the active number marked step starting by 0. Defaults to `0`.
49
- */
50
- current_step?: StepIndicatorCurrentStep;
51
- /**
52
- * Define whether to show automatically counted numbers or not. Defaults to `false`.
53
- */
54
- hide_numbers?: boolean;
55
- /**
56
- * 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 }`.
57
- */
58
- on_item_render?: (...args: any[]) => any;
59
- /**
60
- * If set to `true`, the height animation on the step items and the drawer button will be omitted. Defaults to `false`.
61
- */
62
- no_animation?: boolean;
63
- skeleton?: SkeletonShow;
64
- class?: string;
65
- className?: string;
66
- children?: StepIndicatorChildren;
67
- /**
68
- * Will be called once the user visits actively a new step. Will be emitted only once. Returns an object `{ event, item, current_step }`.
69
- */
70
- on_change?: (...args: any[]) => any;
71
- }
72
- export default class StepIndicator extends React.Component<
73
- StepIndicatorProps,
74
- any
75
- > {
76
- static defaultProps: object;
77
- static Sidebar = StepIndicatorSidebar;
78
- render(): JSX.Element;
12
+ export type StepIndicatorDataItem = Pick<StepIndicatorItemProps, 'title' | 'is_current' | 'inactive' | 'disabled' | 'status' | 'status_state' | 'on_click' | 'on_render'>;
13
+ export type StepIndicatorData = string | string[] | StepIndicatorDataItem[];
14
+ export type StepIndicatorMouseEvent = {
15
+ event: React.MouseEvent<HTMLButtonElement>;
16
+ item: StepIndicatorItemProps;
17
+ currentStep: number;
18
+ current_step: number;
19
+ };
20
+ export type StepIndicatorRenderCallback = {
21
+ StepItem: typeof StepItemWrapper;
22
+ element: React.ReactNode;
23
+ attributes: React.HTMLProps<HTMLElement>;
24
+ props: StepIndicatorItemProps;
25
+ context: StepIndicatorContextValues;
26
+ };
27
+ export type StepIndicatorProps = Omit<React.HTMLProps<HTMLAnchorElement>, 'ref' | 'data'> & SpacingProps & {
28
+ /**
29
+ * <em>(required with `<StepIndicator.Sidebar />`)</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.
30
+ */
31
+ sidebar_id?: string;
32
+ /**
33
+ * <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.
34
+ */
35
+ mode: StepIndicatorMode;
36
+ /**
37
+ * <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.
38
+ */
39
+ data: StepIndicatorData;
40
+ /**
41
+ * The title shown inside the `<StepIndicatorModal />` supplemental screen reader text for the `<StepIndicatorTriggerButton />`
42
+ * Defaults to `Steps Overview`
43
+ */
44
+ overview_title?: string;
45
+ /**
46
+ * The label for `<StepIndicatorTriggerButton />` and supplemental screen reader text for `<StepIndicatorItem />`
47
+ * This value need to contain `%step` and `%count` if you want to display the current step and total amount of steps
48
+ * `%step` is used to place the current step into the text
49
+ * `%count` is used to place the step total into the text
50
+ * Defaults to `Step %step of %count`
51
+ */
52
+ step_title?: string;
53
+ /**
54
+ * A descriptive label used in `<StepIndicatorModal />`
55
+ * This value need to contain `%step` and `%count` if you want to display the current step and total amount of steps
56
+ * `%step` is used to place the current step into the text
57
+ * `%count` is used to place the step total into the text
58
+ * Defaults to `You are on step %step of %count`
59
+ */
60
+ step_title_extended?: string;
61
+ /**
62
+ * Defines the active number marked step starting by 0. Defaults to `0`.
63
+ */
64
+ current_step?: number;
65
+ /**
66
+ * Define whether to show automatically counted numbers or not. Defaults to `false`.
67
+ */
68
+ hide_numbers?: boolean;
69
+ /**
70
+ * 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, currentStep }`.
71
+ */
72
+ on_click?: ({ event, item, current_step, currentStep, }: StepIndicatorMouseEvent) => void;
73
+ /**
74
+ * 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 }`.
75
+ */
76
+ on_item_render?: ({ StepItem, element, attributes, props, context, }: StepIndicatorRenderCallback) => React.ReactNode;
77
+ /**
78
+ * Will be called once the user visits actively a new step. Will be emitted only once. Returns an object `{ event, item, current_step, currentStep }`.
79
+ */
80
+ on_change?: ({ event, item, current_step, currentStep, }: StepIndicatorMouseEvent) => void;
81
+ /**
82
+ * If set to `true`, the height animation on the step items and the drawer button will be omitted. Defaults to `false`.
83
+ */
84
+ no_animation?: boolean;
85
+ skeleton?: SkeletonShow;
86
+ className?: string;
87
+ children?: React.ReactNode;
88
+ };
89
+ declare function StepIndicator({ data, skeleton, current_step, hide_numbers, no_animation, ...restOfProps }: StepIndicatorProps): import("react/jsx-runtime").JSX.Element;
90
+ declare namespace StepIndicator {
91
+ var Sidebar: typeof StepIndicatorSidebar;
79
92
  }
93
+ export default StepIndicator;
@@ -1,38 +1,42 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  var _div;
5
+ const _excluded = ["data", "skeleton", "current_step", "hide_numbers", "no_animation"];
4
6
  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; }
5
7
  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; }
6
8
  import React from 'react';
7
- import PropTypes from 'prop-types';
8
9
  import { makeUniqueId, warn } from '../../shared/component-helper';
9
10
  import StepIndicatorSidebar from './StepIndicatorSidebar';
10
11
  import StepIndicatorModal from './StepIndicatorModal';
11
12
  import { StepIndicatorProvider } from './StepIndicatorContext';
12
- import { stepIndicatorPropTypes, stepIndicatorDefaultProps } from './StepIndicatorProps';
13
- export default class StepIndicator extends React.PureComponent {
14
- constructor(props) {
15
- super(props);
16
- this.state = {
17
- sidebar_id: props.internalId || props.sidebar_id || makeUniqueId()
18
- };
19
- }
20
- render() {
21
- if (!this.props.sidebar_id && this.props.mode) {
22
- warn('StepIndicator needs an unique "sidebar_id" property, also on the <StepIndicator.Sidebar... />');
23
- }
24
- return React.createElement(StepIndicatorProvider, _extends({}, this.props, {
25
- sidebar_id: this.state.sidebar_id
26
- }), _div || (_div = React.createElement("div", {
27
- className: "dnb-step-indicator-wrapper"
28
- }, React.createElement(StepIndicatorModal, null))));
13
+ import { stepIndicatorDefaultProps } from './StepIndicatorProps';
14
+ function StepIndicator(_ref) {
15
+ let {
16
+ data = stepIndicatorDefaultProps.data,
17
+ skeleton = stepIndicatorDefaultProps.skeleton,
18
+ current_step = stepIndicatorDefaultProps.current_step,
19
+ hide_numbers = stepIndicatorDefaultProps.hide_numbers,
20
+ no_animation = stepIndicatorDefaultProps.no_animation
21
+ } = _ref,
22
+ restOfProps = _objectWithoutProperties(_ref, _excluded);
23
+ const props = _objectSpread({
24
+ data,
25
+ skeleton,
26
+ current_step,
27
+ hide_numbers,
28
+ no_animation
29
+ }, restOfProps);
30
+ const sidebarId = props.sidebar_id || makeUniqueId();
31
+ if (!props.sidebar_id && props.mode) {
32
+ warn('StepIndicator needs an unique "sidebar_id" property, also on the <StepIndicator.Sidebar... />');
29
33
  }
34
+ return React.createElement(StepIndicatorProvider, _extends({}, props, {
35
+ sidebar_id: sidebarId
36
+ }), _div || (_div = React.createElement("div", {
37
+ className: "dnb-step-indicator-wrapper"
38
+ }, React.createElement(StepIndicatorModal, null))));
30
39
  }
31
- _defineProperty(StepIndicator, "Sidebar", StepIndicatorSidebar);
32
- _defineProperty(StepIndicator, "defaultProps", _objectSpread({
33
- sidebar_id: null
34
- }, stepIndicatorDefaultProps));
35
- process.env.NODE_ENV !== "production" ? StepIndicator.propTypes = _objectSpread({
36
- sidebar_id: PropTypes.string
37
- }, stepIndicatorPropTypes) : void 0;
40
+ StepIndicator.Sidebar = StepIndicatorSidebar;
41
+ export default StepIndicator;
38
42
  //# sourceMappingURL=StepIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepIndicator.js","names":["React","PropTypes","makeUniqueId","warn","StepIndicatorSidebar","StepIndicatorModal","StepIndicatorProvider","stepIndicatorPropTypes","stepIndicatorDefaultProps","StepIndicator","PureComponent","constructor","props","state","sidebar_id","internalId","render","mode","createElement","_extends","_div","className","_defineProperty","_objectSpread","process","env","NODE_ENV","propTypes","string"],"sources":["../../../../src/components/step-indicator/StepIndicator.js"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport { makeUniqueId, warn } from '../../shared/component-helper'\nimport StepIndicatorSidebar from './StepIndicatorSidebar'\n\nimport StepIndicatorModal from './StepIndicatorModal'\nimport { StepIndicatorProvider } from './StepIndicatorContext'\nimport {\n stepIndicatorPropTypes,\n stepIndicatorDefaultProps,\n} from './StepIndicatorProps'\n\nexport default class StepIndicator extends React.PureComponent {\n static Sidebar = StepIndicatorSidebar\n\n static propTypes = {\n sidebar_id: PropTypes.string,\n ...stepIndicatorPropTypes,\n }\n\n static defaultProps = {\n sidebar_id: null,\n ...stepIndicatorDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n sidebar_id: props.internalId || props.sidebar_id || makeUniqueId(),\n }\n }\n\n render() {\n if (!this.props.sidebar_id && this.props.mode) {\n warn(\n 'StepIndicator needs an unique \"sidebar_id\" property, also on the <StepIndicator.Sidebar... />'\n )\n }\n\n return (\n <StepIndicatorProvider\n {...this.props}\n sidebar_id={this.state.sidebar_id}\n >\n <div className=\"dnb-step-indicator-wrapper\">\n <StepIndicatorModal />\n </div>\n </StepIndicatorProvider>\n )\n }\n}\n"],"mappings":";;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,EAAEC,IAAI,QAAQ,+BAA+B;AAClE,OAAOC,oBAAoB,MAAM,wBAAwB;AAEzD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SACEC,sBAAsB,EACtBC,yBAAyB,QACpB,sBAAsB;AAE7B,eAAe,MAAMC,aAAa,SAAST,KAAK,CAACU,aAAa,CAAC;EAa7DC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,KAAK,GAAG;MACXC,UAAU,EAAEF,KAAK,CAACG,UAAU,IAAIH,KAAK,CAACE,UAAU,IAAIZ,YAAY,CAAC;IACnE,CAAC;EACH;EAEAc,MAAMA,CAAA,EAAG;IACP,IAAI,CAAC,IAAI,CAACJ,KAAK,CAACE,UAAU,IAAI,IAAI,CAACF,KAAK,CAACK,IAAI,EAAE;MAC7Cd,IAAI,CACF,+FACF,CAAC;IACH;IAEA,OACEH,KAAA,CAAAkB,aAAA,CAACZ,qBAAqB,EAAAa,QAAA,KAChB,IAAI,CAACP,KAAK;MACdE,UAAU,EAAE,IAAI,CAACD,KAAK,CAACC;IAAW,IAAAM,IAAA,KAAAA,IAAA,GAElCpB,KAAA,CAAAkB,aAAA;MAAKG,SAAS,EAAC;IAA4B,GACzCrB,KAAA,CAAAkB,aAAA,CAACb,kBAAkB,MAAE,CAClB,CAAC,CACe,CAAC;EAE5B;AACF;AAACiB,eAAA,CAvCoBb,aAAa,aACfL,oBAAoB;AAAAkB,eAAA,CADlBb,aAAa,kBAAAc,aAAA;EAS9BT,UAAU,EAAE;AAAI,GACbN,yBAAyB;AAAAgB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAVXjB,aAAa,CAGzBkB,SAAS,GAAAJ,aAAA;EACdT,UAAU,EAAEb,SAAS,CAAC2B;AAAM,GACzBrB,sBAAsB"}
1
+ {"version":3,"file":"StepIndicator.js","names":["React","makeUniqueId","warn","StepIndicatorSidebar","StepIndicatorModal","StepIndicatorProvider","stepIndicatorDefaultProps","StepIndicator","_ref","data","skeleton","current_step","hide_numbers","no_animation","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","sidebarId","sidebar_id","mode","createElement","_extends","_div","className","Sidebar"],"sources":["../../../../src/components/step-indicator/StepIndicator.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React from 'react'\n\nimport { makeUniqueId, warn } from '../../shared/component-helper'\nimport StepIndicatorSidebar from './StepIndicatorSidebar'\n\nimport StepIndicatorModal from './StepIndicatorModal'\nimport {\n StepIndicatorContextValues,\n StepIndicatorProvider,\n} from './StepIndicatorContext'\n\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n StepIndicatorItemProps,\n StepItemWrapper,\n} from './StepIndicatorItem'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\n\nexport type StepIndicatorMode = 'static' | 'strict' | 'loose'\nexport type StepIndicatorDataItem = Pick<\n StepIndicatorItemProps,\n | 'title'\n | 'is_current'\n | 'inactive'\n | 'disabled'\n | 'status'\n | 'status_state'\n | 'on_click'\n | 'on_render'\n>\nexport type StepIndicatorData = string | string[] | StepIndicatorDataItem[]\n\nexport type StepIndicatorMouseEvent = {\n event: React.MouseEvent<HTMLButtonElement>\n item: StepIndicatorItemProps\n currentStep: number\n current_step: number\n}\n\nexport type StepIndicatorRenderCallback = {\n StepItem: typeof StepItemWrapper\n element: React.ReactNode\n attributes: React.HTMLProps<HTMLElement>\n props: StepIndicatorItemProps\n context: StepIndicatorContextValues\n}\n\nexport type StepIndicatorProps = Omit<\n React.HTMLProps<HTMLAnchorElement>,\n 'ref' | 'data'\n> &\n SpacingProps & {\n /**\n * <em>(required with `<StepIndicator.Sidebar />`)</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 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 /**\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 * The title shown inside the `<StepIndicatorModal />` supplemental screen reader text for the `<StepIndicatorTriggerButton />`\n * Defaults to `Steps Overview`\n */\n overview_title?: string\n /**\n * The label for `<StepIndicatorTriggerButton />` and supplemental screen reader text for `<StepIndicatorItem />`\n * This value need to contain `%step` and `%count` if you want to display the current step and total amount of steps\n * `%step` is used to place the current step into the text\n * `%count` is used to place the step total into the text\n * Defaults to `Step %step of %count`\n */\n step_title?: string\n /**\n * A descriptive label used in `<StepIndicatorModal />`\n * This value need to contain `%step` and `%count` if you want to display the current step and total amount of steps\n * `%step` is used to place the current step into the text\n * `%count` is used to place the step total into the text\n * Defaults to `You are on step %step of %count`\n */\n step_title_extended?: string\n /**\n * Defines the active number marked step starting by 0. Defaults to `0`.\n */\n current_step?: number\n /**\n * Define whether to show automatically counted numbers or not. Defaults to `false`.\n */\n hide_numbers?: boolean\n /**\n * 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, currentStep }`.\n */\n on_click?: ({\n event,\n item,\n current_step,\n currentStep,\n }: StepIndicatorMouseEvent) => void\n /**\n * 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 }`.\n */\n on_item_render?: ({\n StepItem,\n element,\n attributes,\n props,\n context,\n }: StepIndicatorRenderCallback) => React.ReactNode\n /**\n * Will be called once the user visits actively a new step. Will be emitted only once. Returns an object `{ event, item, current_step, currentStep }`.\n */\n on_change?: ({\n event,\n item,\n current_step,\n currentStep,\n }: StepIndicatorMouseEvent) => void\n\n /**\n * If set to `true`, the height animation on the step items and the drawer button will be omitted. Defaults to `false`.\n */\n no_animation?: boolean\n skeleton?: SkeletonShow\n className?: string\n children?: React.ReactNode\n }\n\nfunction StepIndicator({\n data = stepIndicatorDefaultProps.data,\n skeleton = stepIndicatorDefaultProps.skeleton,\n current_step = stepIndicatorDefaultProps.current_step,\n hide_numbers = stepIndicatorDefaultProps.hide_numbers,\n no_animation = stepIndicatorDefaultProps.no_animation,\n ...restOfProps\n}: StepIndicatorProps) {\n const props = {\n data,\n skeleton,\n current_step,\n hide_numbers,\n no_animation,\n ...restOfProps,\n }\n\n const sidebarId = props.sidebar_id || makeUniqueId()\n\n if (!props.sidebar_id && props.mode) {\n warn(\n 'StepIndicator needs an unique \"sidebar_id\" property, also on the <StepIndicator.Sidebar... />'\n )\n }\n\n return (\n <StepIndicatorProvider {...props} sidebar_id={sidebarId}>\n <div className=\"dnb-step-indicator-wrapper\">\n <StepIndicatorModal />\n </div>\n </StepIndicatorProvider>\n )\n}\n\nStepIndicator.Sidebar = StepIndicatorSidebar\n\nexport default StepIndicator\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,EAAEC,IAAI,QAAQ,+BAA+B;AAClE,OAAOC,oBAAoB,MAAM,wBAAwB;AAEzD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAEEC,qBAAqB,QAChB,wBAAwB;AAQ/B,SAASC,yBAAyB,QAAQ,sBAAsB;AAmHhE,SAASC,aAAaA,CAAAC,IAAA,EAOC;EAAA,IAPA;MACrBC,IAAI,GAAGH,yBAAyB,CAACG,IAAI;MACrCC,QAAQ,GAAGJ,yBAAyB,CAACI,QAAQ;MAC7CC,YAAY,GAAGL,yBAAyB,CAACK,YAAY;MACrDC,YAAY,GAAGN,yBAAyB,CAACM,YAAY;MACrDC,YAAY,GAAGP,yBAAyB,CAACO;IAEvB,CAAC,GAAAL,IAAA;IADhBM,WAAW,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAEd,MAAMC,KAAK,GAAAC,aAAA;IACTT,IAAI;IACJC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC;EAAY,GACTC,WAAW,CACf;EAED,MAAMK,SAAS,GAAGF,KAAK,CAACG,UAAU,IAAInB,YAAY,CAAC,CAAC;EAEpD,IAAI,CAACgB,KAAK,CAACG,UAAU,IAAIH,KAAK,CAACI,IAAI,EAAE;IACnCnB,IAAI,CACF,+FACF,CAAC;EACH;EAEA,OACEF,KAAA,CAAAsB,aAAA,CAACjB,qBAAqB,EAAAkB,QAAA,KAAKN,KAAK;IAAEG,UAAU,EAAED;EAAU,IAAAK,IAAA,KAAAA,IAAA,GACtDxB,KAAA,CAAAsB,aAAA;IAAKG,SAAS,EAAC;EAA4B,GACzCzB,KAAA,CAAAsB,aAAA,CAAClB,kBAAkB,MAAE,CAClB,CAAC,CACe,CAAC;AAE5B;AAEAG,aAAa,CAACmB,OAAO,GAAGvB,oBAAoB;AAE5C,eAAeI,aAAa"}
@@ -1,15 +1,45 @@
1
- import * as React from 'react';
2
- export interface StepIndicatorProviderProps {
3
- /**
4
- * <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.
5
- */
6
- sidebar_id: string;
7
- children: React.ReactNode;
8
- isSidebar?: boolean;
9
- }
10
- export class StepIndicatorProvider extends React.Component<
11
- StepIndicatorProviderProps,
12
- any
13
- > {
14
- render(): JSX.Element;
15
- }
1
+ /**
2
+ * Web StepIndicator Context
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import { ContextProps } from '../../shared/Context';
7
+ import { StepIndicatorData, StepIndicatorMode, StepIndicatorProps } from './StepIndicator';
8
+ import { StepIndicatorItemProps } from './StepIndicatorItem';
9
+ export type StepIndicatorContextValues = StepIndicatorProviderProps & StepIndicatorProviderStates & ContextProps;
10
+ declare const StepIndicatorContext: React.Context<StepIndicatorContextValues>;
11
+ export default StepIndicatorContext;
12
+ export type StepIndicatorProviderProps = Omit<StepIndicatorProps, 'mode' | 'data'> & {
13
+ /**
14
+ * <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.
15
+ */
16
+ sidebar_id: string;
17
+ /**
18
+ * <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.
19
+ */
20
+ data?: StepIndicatorData;
21
+ /**
22
+ * <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.
23
+ */
24
+ mode?: StepIndicatorMode;
25
+ children: React.ReactNode;
26
+ isSidebar?: boolean;
27
+ };
28
+ export type StepIndicatorProviderStates = {
29
+ data: (string | StepIndicatorItemProps)[];
30
+ hasSidebar: boolean;
31
+ hideSidebar: boolean;
32
+ activeStep: number;
33
+ openState: boolean;
34
+ listOfReachedSteps: number[];
35
+ countSteps: number;
36
+ stepsLabel: string;
37
+ stepsLabelExtended: string;
38
+ filterAttributes: string[];
39
+ setActiveStep: React.Dispatch<React.SetStateAction<number>>;
40
+ sidebarIsVisible: boolean;
41
+ onChangeState: () => void;
42
+ openHandler: () => void;
43
+ closeHandler: () => void;
44
+ };
45
+ export declare function StepIndicatorProvider({ isSidebar, ...restOfProps }: StepIndicatorProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,151 +1,131 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ const _excluded = ["isSidebar"];
2
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- import React from 'react';
5
- import PropTypes from 'prop-types';
6
+ import React, { useContext, useEffect, useRef, useState } from 'react';
6
7
  import Context from '../../shared/Context';
7
8
  import { stepIndicatorDefaultProps } from './StepIndicatorProps';
8
- import { processChildren, extendPropsWithContextInClassComponent } from '../../shared/component-helper';
9
+ import { extendPropsWithContext } from '../../shared/component-helper';
9
10
  import { onMediaQueryChange } from '../../shared/MediaQueryUtils';
10
11
  const filterAttributes = Object.keys(stepIndicatorDefaultProps).filter(item => {
11
12
  return !['class', 'className'].includes(item);
12
13
  }).concat(['internalId', 'isSidebar', 'hasSidebar', 'hideSidebar', 'sidebarIsVisible', 'mainTitle', 'stepsLabel', 'stepsLabelExtended', 'listOfReachedSteps', 'setActiveStep', 'activeStep', 'countSteps', 'openState', 'onChangeState', 'openHandler', 'closeHandler', 'innerRef', 'hasSkeletonData', 'filterAttributes', 'onChangeState']);
13
14
  const StepIndicatorContext = React.createContext(null);
14
15
  export default StepIndicatorContext;
15
- export class StepIndicatorProvider extends React.PureComponent {
16
- static getData(props) {
17
- let res = [];
18
- if (props.data) {
19
- res = props.data;
20
- } else {
21
- res = processChildren(props);
22
- }
23
- if (typeof res === 'string') return res[0] === '[' ? JSON.parse(res) : [];
24
- return res || [];
25
- }
26
- static getDerivedStateFromProps(props, state) {
27
- var _state$data, _state$step_title, _state$data2, _state$step_title_ext, _state$data3;
28
- if (props.data) {
29
- state.data = StepIndicatorProvider.getData(props);
30
- }
31
- state.countSteps = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.length;
32
- if (parseFloat(props.current_step) > -1 && props.current_step !== state._current_step) {
33
- state.activeStep = parseFloat(props.current_step) || 0;
34
- }
35
- if (!state.listOfReachedSteps.includes(state.activeStep)) {
36
- state.listOfReachedSteps.push(state.activeStep);
37
- }
38
- state.stepsLabel = (_state$step_title = state.step_title) === null || _state$step_title === void 0 ? void 0 : _state$step_title.replace('%step', (state.activeStep || 0) + 1).replace('%count', ((_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : _state$data2.length) || 1);
39
- state.stepsLabelExtended = (_state$step_title_ext = state.step_title_extended) === null || _state$step_title_ext === void 0 ? void 0 : _state$step_title_ext.replace('%step', (state.activeStep || 0) + 1).replace('%count', ((_state$data3 = state.data) === null || _state$data3 === void 0 ? void 0 : _state$data3.length) || 1);
40
- state._current_step = props.current_step;
41
- return state;
42
- }
43
- constructor(props) {
44
- super(props);
45
- _defineProperty(this, "setActiveStep", activeStep => {
46
- this.setState({
47
- activeStep
48
- });
49
- });
50
- _defineProperty(this, "onChangeState", () => {
51
- this.setState({
52
- openState: false
53
- });
54
- });
55
- _defineProperty(this, "openHandler", () => {
56
- this.setState({
57
- openState: true
58
- });
59
- });
60
- _defineProperty(this, "closeHandler", () => {
61
- this.setState({
62
- openState: false
63
- });
64
- });
65
- this.state = {
66
- hasSidebar: true,
67
- hideSidebar: false,
68
- activeStep: undefined,
69
- setActiveStep: this.setActiveStep,
70
- onChangeState: this.onChangeState,
71
- openHandler: this.openHandler,
72
- closeHandler: this.closeHandler
73
- };
74
- if (!this.state.listOfReachedSteps) {
75
- this.state.listOfReachedSteps = [];
76
- }
77
- }
78
- componentDidMount() {
16
+ export function StepIndicatorProvider(_ref) {
17
+ let {
18
+ isSidebar = false
19
+ } = _ref,
20
+ restOfProps = _objectWithoutProperties(_ref, _excluded);
21
+ const props = _objectSpread({
22
+ isSidebar
23
+ }, restOfProps);
24
+ const data = getData(props);
25
+ const countSteps = data.length;
26
+ const [hasSidebar, setHasSidebar] = useState(true);
27
+ const [hideSidebar, setHideSidebar] = useState(false);
28
+ const [activeStep, setActiveStep] = useState(getActiveStepFromProps());
29
+ const [openState, setOpenState] = useState(false);
30
+ const listOfReachedSteps = useRef([activeStep].filter(Boolean)).current;
31
+ const mediaQueryListener = useRef(null);
32
+ const context = useContext(Context);
33
+ const contextValue = makeContextValue();
34
+ useEffect(() => {
79
35
  var _document;
80
- this._isMounted = true;
81
- this._mediaQueryListener = onMediaQueryChange({
36
+ const container = (_document = document) === null || _document === void 0 ? void 0 : _document.getElementById('sidebar__' + props.sidebar_id);
37
+ setHasSidebar(Boolean(container));
38
+ mediaQueryListener.current = onMediaQueryChange({
82
39
  min: '0',
83
40
  max: 'medium'
84
41
  }, hideSidebar => {
85
- this.setState({
86
- hideSidebar
87
- });
42
+ setHideSidebar(hideSidebar);
88
43
  }, {
89
44
  runOnInit: true
90
45
  });
91
- const container = (_document = document) === null || _document === void 0 ? void 0 : _document.getElementById('sidebar__' + this.props.sidebar_id);
92
- this.setState({
93
- hasSidebar: Boolean(container)
94
- });
46
+ return () => {
47
+ if (mediaQueryListener.current) {
48
+ mediaQueryListener.current();
49
+ }
50
+ };
51
+ }, []);
52
+ useEffect(() => {
53
+ const currentStepFromProps = getActiveStepFromProps();
54
+ if (currentStepFromProps !== activeStep) {
55
+ setActiveStep(props.current_step);
56
+ }
57
+ }, [props.current_step, data]);
58
+ useEffect(() => {
59
+ if (!listOfReachedSteps.includes(activeStep)) {
60
+ listOfReachedSteps.push(activeStep);
61
+ }
62
+ }, [activeStep]);
63
+ function onChangeState() {
64
+ setOpenState(false);
65
+ }
66
+ function openHandler() {
67
+ setOpenState(true);
68
+ }
69
+ function closeHandler() {
70
+ setOpenState(false);
95
71
  }
96
- componentWillUnmount() {
97
- if (this._mediaQueryListener) {
98
- this._mediaQueryListener();
72
+ function getData(props) {
73
+ if (typeof props.data === 'string') {
74
+ return props.data[0] === '[' ? JSON.parse(props.data) : [];
99
75
  }
76
+ return props.data || [];
100
77
  }
101
- componentDidUpdate() {
102
- this.setState(this.makeContextValue());
78
+ function getActiveStepFromProps() {
79
+ if (typeof data[0] === 'string') {
80
+ return props.current_step;
81
+ }
82
+ const dataWithItems = data;
83
+ const itemWithCurrentStep = dataWithItems.find(item => item.is_current);
84
+ return itemWithCurrentStep ? dataWithItems.indexOf(itemWithCurrentStep) : props.current_step;
103
85
  }
104
- getGlobalContext(context = this.context) {
105
- const data = extendPropsWithContextInClassComponent(this.props, stepIndicatorDefaultProps, {
86
+ function makeContextValue() {
87
+ const globalContext = extendPropsWithContext(props, stepIndicatorDefaultProps, {
106
88
  skeleton: context === null || context === void 0 ? void 0 : context.skeleton
107
89
  }, context.getTranslation(context).StepIndicator, context.StepIndicator);
108
- return data;
109
- }
110
- makeContextValue({
111
- state = _objectSpread({}, this.state),
112
- props = this.props,
113
- context = this.context
114
- } = {}) {
115
- const globalContext = this.getGlobalContext(context);
116
90
  const value = extendSafe({
117
91
  filterAttributes
118
92
  }, globalContext, {
119
93
  defaultProps: stepIndicatorDefaultProps,
120
94
  props
121
- }, state);
95
+ }, {
96
+ hasSidebar,
97
+ hideSidebar,
98
+ activeStep,
99
+ openState,
100
+ listOfReachedSteps,
101
+ data,
102
+ countSteps,
103
+ stepsLabel: updateStepTitle(globalContext.step_title),
104
+ stepsLabelExtended: updateStepTitle(globalContext.step_title_extended)
105
+ }, {
106
+ setActiveStep,
107
+ onChangeState,
108
+ openHandler,
109
+ closeHandler
110
+ });
122
111
  value.sidebarIsVisible = value.hasSidebar && !value.hideSidebar;
123
112
  return value;
124
113
  }
125
- render() {
126
- const value = this.makeContextValue();
127
- if (typeof window !== 'undefined' && window.IS_TEST) {
128
- value.no_animation = true;
129
- }
130
- Object.keys(value).forEach(key => {
131
- if (key.startsWith('_')) {
132
- delete value[key];
133
- }
134
- });
135
- return React.createElement(StepIndicatorContext.Provider, {
136
- value: value
137
- }, this.props.children);
114
+ function updateStepTitle(title) {
115
+ return title === null || title === void 0 ? void 0 : title.replace('%step', String((activeStep || 0) + 1)).replace('%count', String((data === null || data === void 0 ? void 0 : data.length) || 1));
138
116
  }
117
+ if (typeof window !== 'undefined' && window['IS_TEST']) {
118
+ contextValue['no_animation'] = true;
119
+ }
120
+ Object.keys(contextValue).forEach(key => {
121
+ if (key.startsWith('_')) {
122
+ delete contextValue[key];
123
+ }
124
+ });
125
+ return React.createElement(StepIndicatorContext.Provider, {
126
+ value: contextValue
127
+ }, props.children);
139
128
  }
140
- _defineProperty(StepIndicatorProvider, "contextType", Context);
141
- _defineProperty(StepIndicatorProvider, "defaultProps", {
142
- isSidebar: false
143
- });
144
- process.env.NODE_ENV !== "production" ? StepIndicatorProvider.propTypes = {
145
- sidebar_id: PropTypes.string.isRequired,
146
- children: PropTypes.node.isRequired,
147
- isSidebar: PropTypes.bool
148
- } : void 0;
149
129
  function extendSafe(...objects) {
150
130
  const obj = {};
151
131
  objects.forEach(itm => {