@dnb/eufemia 10.7.0 → 10.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/accordion/Accordion.d.ts +1 -1
  3. package/cjs/components/accordion/AccordionHeader.d.ts +4 -4
  4. package/cjs/components/accordion/AccordionHeader.js +18 -5
  5. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  6. package/cjs/components/accordion/style/dnb-accordion.css +22 -17
  7. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.scss +40 -18
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  12. package/cjs/components/anchor/Anchor.js +1 -1
  13. package/cjs/components/anchor/Anchor.js.map +1 -1
  14. package/cjs/components/anchor/style/anchor-mixins.scss +9 -3
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  16. package/cjs/components/autocomplete/Autocomplete.js +4 -2
  17. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  18. package/cjs/components/avatar/style/index.d.ts +1 -1
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +23 -1
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  25. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  26. package/cjs/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  28. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  29. package/cjs/components/checkbox/Checkbox.js +6 -4
  30. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  31. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  32. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  33. package/cjs/components/drawer/Drawer.d.ts +1 -1
  34. package/cjs/components/drawer/Drawer.js +3 -1
  35. package/cjs/components/drawer/Drawer.js.map +1 -1
  36. package/cjs/components/form-status/FormStatus.d.ts +2 -0
  37. package/cjs/components/form-status/FormStatus.js +70 -53
  38. package/cjs/components/form-status/FormStatus.js.map +1 -1
  39. package/cjs/components/form-status/style/dnb-form-status.scss +4 -2
  40. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  41. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  42. package/cjs/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  43. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  44. package/cjs/components/global-status/GlobalStatus.js +17 -7
  45. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  46. package/cjs/components/global-status/style/dnb-global-status.scss +2 -1
  47. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  48. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  49. package/cjs/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  50. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  51. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  52. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  53. package/cjs/components/heading/Heading.d.ts +8 -8
  54. package/cjs/components/heading/Heading.js +8 -16
  55. package/cjs/components/heading/Heading.js.map +1 -1
  56. package/cjs/components/heading/HeadingHelpers.d.ts +5 -1
  57. package/cjs/components/heading/HeadingHelpers.js +42 -1
  58. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  59. package/cjs/components/info-card/index.js.map +1 -1
  60. package/cjs/components/info-card/style.js.map +1 -1
  61. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  62. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  63. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  64. package/cjs/components/input-masked/InputMaskedUtils.js +1 -1
  65. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  66. package/cjs/components/modal/Modal.js.map +1 -1
  67. package/cjs/components/modal/parts/ModalHeaderBar.js +0 -4
  68. package/cjs/components/modal/parts/ModalHeaderBar.js.map +1 -1
  69. package/cjs/components/pagination/Pagination.js.map +1 -1
  70. package/cjs/components/radio/Radio.d.ts +4 -0
  71. package/cjs/components/radio/Radio.js +6 -4
  72. package/cjs/components/radio/Radio.js.map +1 -1
  73. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  74. package/cjs/components/section/Section.d.ts +21 -1
  75. package/cjs/components/section/Section.js.map +1 -1
  76. package/cjs/components/section/style/dnb-section.css +1 -1
  77. package/cjs/components/section/style/dnb-section.scss +8 -3
  78. package/cjs/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  79. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  80. package/cjs/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  81. package/cjs/components/skeleton/style/dnb-skeleton.scss +8 -5
  82. package/cjs/components/slider/style/dnb-slider.scss +4 -2
  83. package/cjs/components/space/SpacingUtils.js.map +1 -1
  84. package/cjs/components/step-indicator/StepIndicator.d.ts +89 -75
  85. package/cjs/components/step-indicator/StepIndicator.js +31 -26
  86. package/cjs/components/step-indicator/StepIndicator.js.map +1 -1
  87. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  88. package/cjs/components/step-indicator/StepIndicatorContext.js +102 -121
  89. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  90. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  91. package/cjs/components/step-indicator/StepIndicatorItem.js +183 -231
  92. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  93. package/cjs/components/step-indicator/StepIndicatorList.d.ts +6 -8
  94. package/cjs/components/step-indicator/StepIndicatorList.js +45 -50
  95. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  96. package/cjs/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  97. package/cjs/components/step-indicator/StepIndicatorModal.js +41 -53
  98. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  99. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  100. package/cjs/components/step-indicator/StepIndicatorProps.js +4 -50
  101. package/cjs/components/step-indicator/StepIndicatorProps.js.map +1 -1
  102. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  103. package/cjs/components/step-indicator/StepIndicatorSidebar.js +41 -51
  104. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  105. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  106. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +65 -78
  107. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  108. package/cjs/components/switch/Switch.d.ts +4 -0
  109. package/cjs/components/switch/Switch.js +6 -4
  110. package/cjs/components/switch/Switch.js.map +1 -1
  111. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  112. package/cjs/components/table/TableContainer.js.map +1 -1
  113. package/cjs/components/table/style/table-accordion.scss +18 -6
  114. package/cjs/components/table/style/table-header-buttons.scss +3 -1
  115. package/cjs/components/table/style/table-tr.scss +6 -2
  116. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  117. package/cjs/components/timeline/TimelineItem.d.ts +3 -2
  118. package/cjs/components/timeline/TimelineItem.js +96 -62
  119. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  120. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  121. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  122. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  123. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  124. package/cjs/elements/lib.d.ts +1 -1
  125. package/cjs/elements/typography/H.d.ts +5 -3
  126. package/cjs/elements/typography/H.js +7 -3
  127. package/cjs/elements/typography/H.js.map +1 -1
  128. package/cjs/elements/typography/H1.js +2 -2
  129. package/cjs/elements/typography/H1.js.map +1 -1
  130. package/cjs/elements/typography/H2.js +2 -2
  131. package/cjs/elements/typography/H2.js.map +1 -1
  132. package/cjs/elements/typography/H3.js +2 -2
  133. package/cjs/elements/typography/H3.js.map +1 -1
  134. package/cjs/elements/typography/H4.js +2 -2
  135. package/cjs/elements/typography/H4.js.map +1 -1
  136. package/cjs/elements/typography/H5.js +2 -2
  137. package/cjs/elements/typography/H5.js.map +1 -1
  138. package/cjs/elements/typography/H6.js +2 -2
  139. package/cjs/elements/typography/H6.js.map +1 -1
  140. package/cjs/elements/typography/style/dnb-typography.scss +3 -0
  141. package/cjs/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  142. package/cjs/elements/typography/style/typography-mixins.scss +5 -0
  143. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  144. package/cjs/extensions/forms/Field/ArraySelection.d.ts +2 -1
  145. package/cjs/extensions/forms/Field/ArraySelection.js +52 -32
  146. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -1
  147. package/cjs/extensions/forms/Field/CountryCode.d.ts +10 -0
  148. package/cjs/extensions/forms/Field/CountryCode.js +78 -0
  149. package/cjs/extensions/forms/Field/CountryCode.js.map +1 -0
  150. package/cjs/extensions/forms/Field/Currency.d.ts +2 -2
  151. package/cjs/extensions/forms/Field/Currency.js +6 -38
  152. package/cjs/extensions/forms/Field/Currency.js.map +1 -1
  153. package/cjs/extensions/forms/Field/Date.d.ts +2 -2
  154. package/cjs/extensions/forms/Field/Date.js +10 -6
  155. package/cjs/extensions/forms/Field/Date.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Number.d.ts +7 -3
  157. package/cjs/extensions/forms/Field/Number.js +45 -20
  158. package/cjs/extensions/forms/Field/Number.js.map +1 -1
  159. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  160. package/cjs/extensions/forms/Field/PhoneNumber.js +42 -41
  161. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -1
  162. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  163. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  164. package/cjs/extensions/forms/Field/Selection.d.ts +6 -4
  165. package/cjs/extensions/forms/Field/Selection.js +87 -36
  166. package/cjs/extensions/forms/Field/Selection.js.map +1 -1
  167. package/cjs/extensions/forms/Field/String.d.ts +3 -3
  168. package/cjs/extensions/forms/Field/String.js +26 -12
  169. package/cjs/extensions/forms/Field/String.js.map +1 -1
  170. package/cjs/extensions/forms/Field/Toggle.js +11 -9
  171. package/cjs/extensions/forms/Field/Toggle.js.map +1 -1
  172. package/cjs/extensions/forms/Field/fields.scss +2 -2
  173. package/cjs/extensions/forms/Field/hooks/useField.d.ts +6 -8
  174. package/cjs/extensions/forms/Field/hooks/useField.js +34 -33
  175. package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -1
  176. package/cjs/extensions/forms/Field/index.d.ts +2 -0
  177. package/cjs/extensions/forms/Field/index.js +3 -1
  178. package/cjs/extensions/forms/Field/index.js.map +1 -1
  179. package/cjs/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  180. package/cjs/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  181. package/cjs/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  182. package/cjs/extensions/forms/Field/style/dnb-country-code.css +12 -0
  183. package/cjs/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  184. package/cjs/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  185. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  186. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  187. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  188. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  189. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  190. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  191. package/cjs/extensions/forms/Field/style/dnb-selection.css +5 -2
  192. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  193. package/cjs/extensions/forms/Field/style/dnb-selection.scss +7 -1
  194. package/cjs/extensions/forms/Field/style/index.scss +2 -0
  195. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  196. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  197. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  198. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -1
  199. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  200. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  201. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  202. package/cjs/extensions/forms/FieldGroup/index.js.map +1 -1
  203. package/cjs/extensions/forms/Layout/Card.js +2 -2
  204. package/cjs/extensions/forms/Layout/Card.js.map +1 -1
  205. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  206. package/cjs/extensions/forms/Layout/FlexContainer.js +3 -2
  207. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -1
  208. package/cjs/extensions/forms/Layout/FlexItem.d.ts +1 -0
  209. package/cjs/extensions/forms/Layout/FlexItem.js +2 -1
  210. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -1
  211. package/cjs/extensions/forms/Layout/style/dnb-card.css +3 -3
  212. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  213. package/cjs/extensions/forms/Layout/style/dnb-card.scss +6 -4
  214. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  215. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  216. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  217. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  218. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  219. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  220. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  221. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  222. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  223. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  224. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  225. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -1
  226. package/cjs/extensions/forms/field-types.d.ts +7 -1
  227. package/cjs/extensions/forms/field-types.js.map +1 -1
  228. package/cjs/extensions/forms/style/dnb-forms.css +105 -29
  229. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  230. package/cjs/extensions/forms/style/index.d.ts +1 -0
  231. package/cjs/extensions/forms/style/index.js +4 -0
  232. package/cjs/extensions/forms/style/index.js.map +1 -0
  233. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  234. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  235. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  236. package/cjs/extensions/forms/utils/useWasChanged.d.ts +5 -0
  237. package/cjs/extensions/forms/utils/useWasChanged.js +62 -0
  238. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -0
  239. package/cjs/extensions/forms/variables.scss +3 -0
  240. package/cjs/extensions/lib.d.ts +1 -0
  241. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  242. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  243. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  244. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  245. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  246. package/cjs/fragments/drawer-list/DrawerList.js +1 -1
  247. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  248. package/cjs/fragments/drawer-list/DrawerListPortal.js +2 -2
  249. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  250. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  251. package/cjs/shared/Context.d.ts +2 -0
  252. package/cjs/shared/Context.js.map +1 -1
  253. package/cjs/shared/Eufemia.d.ts +1 -1
  254. package/cjs/shared/Eufemia.js +2 -2
  255. package/cjs/shared/Eufemia.js.map +1 -1
  256. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  257. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  258. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  259. package/cjs/shared/locales/en-GB.d.ts +1 -0
  260. package/cjs/shared/locales/en-GB.js +1 -0
  261. package/cjs/shared/locales/en-GB.js.map +1 -1
  262. package/cjs/shared/locales/en-US.d.ts +1 -0
  263. package/cjs/shared/locales/index.d.ts +2 -0
  264. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  265. package/cjs/shared/locales/nb-NO.js +1 -0
  266. package/cjs/shared/locales/nb-NO.js.map +1 -1
  267. package/cjs/style/core/reset.scss +13 -3
  268. package/cjs/style/core/utilities.scss +3 -1
  269. package/cjs/style/dnb-ui-components.css +23 -18
  270. package/cjs/style/dnb-ui-components.min.css +1 -1
  271. package/cjs/style/dnb-ui-elements.css +6 -0
  272. package/cjs/style/dnb-ui-elements.min.css +1 -1
  273. package/cjs/style/dnb-ui-extensions.css +105 -29
  274. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  275. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  276. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  277. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  278. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  279. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  280. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  281. package/cjs/style/themes/theme-sbanken/customisations.scss +0 -8
  282. package/cjs/style/themes/theme-sbanken/properties.js +6 -6
  283. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  284. package/cjs/style/themes/theme-sbanken/properties.scss +6 -6
  285. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  286. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  287. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  288. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  289. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  291. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  292. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  294. package/cjs/style/themes/theme-ui/fonts.scss +8 -4
  295. package/cjs/style/themes/theme-ui/ui-theme-basis.css +6 -0
  296. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  297. package/cjs/style/themes/theme-ui/ui-theme-components.css +42 -24
  298. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  299. package/cjs/style/themes/theme-ui/ui-theme-elements.css +6 -0
  300. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  301. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  302. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  303. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -0
  304. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  305. package/cjs/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  306. package/components/accordion/Accordion.d.ts +1 -1
  307. package/components/accordion/AccordionHeader.d.ts +4 -4
  308. package/components/accordion/AccordionHeader.js +18 -5
  309. package/components/accordion/AccordionHeader.js.map +1 -1
  310. package/components/accordion/style/dnb-accordion.css +22 -17
  311. package/components/accordion/style/dnb-accordion.min.css +1 -1
  312. package/components/accordion/style/dnb-accordion.scss +40 -18
  313. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  314. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  315. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  316. package/components/anchor/Anchor.js +1 -1
  317. package/components/anchor/Anchor.js.map +1 -1
  318. package/components/anchor/style/anchor-mixins.scss +9 -3
  319. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  320. package/components/autocomplete/Autocomplete.js +4 -2
  321. package/components/autocomplete/Autocomplete.js.map +1 -1
  322. package/components/avatar/style/index.d.ts +1 -1
  323. package/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  324. package/components/breadcrumb/Breadcrumb.js +2 -2
  325. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  326. package/components/breadcrumb/BreadcrumbItem.js +23 -1
  327. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  328. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  329. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  330. package/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  331. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  332. package/components/checkbox/Checkbox.d.ts +4 -0
  333. package/components/checkbox/Checkbox.js +6 -4
  334. package/components/checkbox/Checkbox.js.map +1 -1
  335. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  336. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  337. package/components/drawer/Drawer.d.ts +1 -1
  338. package/components/drawer/Drawer.js +3 -1
  339. package/components/drawer/Drawer.js.map +1 -1
  340. package/components/form-status/FormStatus.d.ts +2 -0
  341. package/components/form-status/FormStatus.js +70 -53
  342. package/components/form-status/FormStatus.js.map +1 -1
  343. package/components/form-status/style/dnb-form-status.scss +4 -2
  344. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  345. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  346. package/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  347. package/components/global-status/GlobalStatus.d.ts +1 -1
  348. package/components/global-status/GlobalStatus.js +18 -8
  349. package/components/global-status/GlobalStatus.js.map +1 -1
  350. package/components/global-status/style/dnb-global-status.scss +2 -1
  351. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  352. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  353. package/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  354. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  355. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  356. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  357. package/components/heading/Heading.d.ts +8 -8
  358. package/components/heading/Heading.js +9 -15
  359. package/components/heading/Heading.js.map +1 -1
  360. package/components/heading/HeadingHelpers.d.ts +5 -1
  361. package/components/heading/HeadingHelpers.js +39 -0
  362. package/components/heading/HeadingHelpers.js.map +1 -1
  363. package/components/info-card/index.js.map +1 -1
  364. package/components/info-card/style.js.map +1 -1
  365. package/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  366. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  367. package/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  368. package/components/input-masked/InputMaskedUtils.js +1 -1
  369. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  370. package/components/modal/Modal.js.map +1 -1
  371. package/components/modal/parts/ModalHeaderBar.js +0 -4
  372. package/components/modal/parts/ModalHeaderBar.js.map +1 -1
  373. package/components/pagination/Pagination.js.map +1 -1
  374. package/components/radio/Radio.d.ts +4 -0
  375. package/components/radio/Radio.js +6 -4
  376. package/components/radio/Radio.js.map +1 -1
  377. package/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  378. package/components/section/Section.d.ts +21 -1
  379. package/components/section/Section.js.map +1 -1
  380. package/components/section/style/dnb-section.css +1 -1
  381. package/components/section/style/dnb-section.scss +8 -3
  382. package/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  383. package/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  384. package/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  385. package/components/skeleton/style/dnb-skeleton.scss +8 -5
  386. package/components/slider/style/dnb-slider.scss +4 -2
  387. package/components/space/SpacingUtils.js.map +1 -1
  388. package/components/step-indicator/StepIndicator.d.ts +89 -75
  389. package/components/step-indicator/StepIndicator.js +29 -25
  390. package/components/step-indicator/StepIndicator.js.map +1 -1
  391. package/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  392. package/components/step-indicator/StepIndicatorContext.js +98 -120
  393. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  394. package/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  395. package/components/step-indicator/StepIndicatorItem.js +177 -227
  396. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  397. package/components/step-indicator/StepIndicatorList.d.ts +6 -8
  398. package/components/step-indicator/StepIndicatorList.js +43 -48
  399. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  400. package/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  401. package/components/step-indicator/StepIndicatorModal.js +38 -50
  402. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  403. package/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  404. package/components/step-indicator/StepIndicatorProps.js +3 -45
  405. package/components/step-indicator/StepIndicatorProps.js.map +1 -1
  406. package/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  407. package/components/step-indicator/StepIndicatorSidebar.js +39 -52
  408. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  409. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  410. package/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  411. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  412. package/components/switch/Switch.d.ts +4 -0
  413. package/components/switch/Switch.js +6 -4
  414. package/components/switch/Switch.js.map +1 -1
  415. package/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  416. package/components/table/TableContainer.js.map +1 -1
  417. package/components/table/style/table-accordion.scss +18 -6
  418. package/components/table/style/table-header-buttons.scss +3 -1
  419. package/components/table/style/table-tr.scss +6 -2
  420. package/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  421. package/components/timeline/TimelineItem.d.ts +3 -2
  422. package/components/timeline/TimelineItem.js +95 -61
  423. package/components/timeline/TimelineItem.js.map +1 -1
  424. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  425. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  426. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  427. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  428. package/elements/lib.d.ts +1 -1
  429. package/elements/typography/H.d.ts +5 -3
  430. package/elements/typography/H.js +8 -4
  431. package/elements/typography/H.js.map +1 -1
  432. package/elements/typography/H1.js +2 -2
  433. package/elements/typography/H1.js.map +1 -1
  434. package/elements/typography/H2.js +2 -2
  435. package/elements/typography/H2.js.map +1 -1
  436. package/elements/typography/H3.js +2 -2
  437. package/elements/typography/H3.js.map +1 -1
  438. package/elements/typography/H4.js +2 -2
  439. package/elements/typography/H4.js.map +1 -1
  440. package/elements/typography/H5.js +2 -2
  441. package/elements/typography/H5.js.map +1 -1
  442. package/elements/typography/H6.js +2 -2
  443. package/elements/typography/H6.js.map +1 -1
  444. package/elements/typography/style/dnb-typography.scss +3 -0
  445. package/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  446. package/elements/typography/style/typography-mixins.scss +5 -0
  447. package/es/components/accordion/Accordion.d.ts +1 -1
  448. package/es/components/accordion/AccordionHeader.d.ts +4 -4
  449. package/es/components/accordion/AccordionHeader.js +18 -5
  450. package/es/components/accordion/AccordionHeader.js.map +1 -1
  451. package/es/components/accordion/style/dnb-accordion.css +22 -17
  452. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  453. package/es/components/accordion/style/dnb-accordion.scss +40 -18
  454. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +124 -0
  455. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -0
  456. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +125 -0
  457. package/es/components/anchor/Anchor.js +1 -1
  458. package/es/components/anchor/Anchor.js.map +1 -1
  459. package/es/components/anchor/style/anchor-mixins.scss +9 -3
  460. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -1
  461. package/es/components/autocomplete/Autocomplete.js +4 -2
  462. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  463. package/es/components/avatar/style/index.d.ts +1 -1
  464. package/es/components/avatar/style/themes/dnb-avatar-theme-sbanken.scss +2 -1
  465. package/es/components/breadcrumb/Breadcrumb.js +2 -2
  466. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  467. package/es/components/breadcrumb/BreadcrumbItem.js +23 -1
  468. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  469. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.css +23 -0
  470. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.min.css +1 -0
  471. package/es/components/breadcrumb/style/themes/dnb-breadcrumb-theme-sbanken.scss +33 -0
  472. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -1
  473. package/es/components/checkbox/Checkbox.d.ts +4 -0
  474. package/es/components/checkbox/Checkbox.js +6 -4
  475. package/es/components/checkbox/Checkbox.js.map +1 -1
  476. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +3 -1
  477. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +6 -2
  478. package/es/components/drawer/Drawer.d.ts +1 -1
  479. package/es/components/drawer/Drawer.js +3 -1
  480. package/es/components/drawer/Drawer.js.map +1 -1
  481. package/es/components/form-status/FormStatus.d.ts +2 -0
  482. package/es/components/form-status/FormStatus.js +70 -53
  483. package/es/components/form-status/FormStatus.js.map +1 -1
  484. package/es/components/form-status/style/dnb-form-status.scss +4 -2
  485. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.css +37 -0
  486. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.min.css +1 -0
  487. package/es/components/form-status/style/themes/dnb-form-status-theme-sbanken.scss +35 -0
  488. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  489. package/es/components/global-status/GlobalStatus.js +18 -8
  490. package/es/components/global-status/GlobalStatus.js.map +1 -1
  491. package/es/components/global-status/style/dnb-global-status.scss +2 -1
  492. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.css +22 -0
  493. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.min.css +1 -0
  494. package/es/components/global-status/style/themes/dnb-global-status-theme-sbanken.scss +28 -0
  495. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +6 -3
  496. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  497. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +13 -6
  498. package/es/components/heading/Heading.d.ts +8 -8
  499. package/es/components/heading/Heading.js +9 -15
  500. package/es/components/heading/Heading.js.map +1 -1
  501. package/es/components/heading/HeadingHelpers.d.ts +5 -1
  502. package/es/components/heading/HeadingHelpers.js +39 -0
  503. package/es/components/heading/HeadingHelpers.js.map +1 -1
  504. package/es/components/info-card/index.js.map +1 -1
  505. package/es/components/info-card/style.js.map +1 -1
  506. package/es/components/input/style/themes/dnb-input-theme-ui.css +1 -1
  507. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  508. package/es/components/input/style/themes/dnb-input-theme-ui.scss +9 -3
  509. package/es/components/input-masked/InputMaskedUtils.js +1 -1
  510. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  511. package/es/components/modal/Modal.js.map +1 -1
  512. package/es/components/modal/parts/ModalHeaderBar.js +0 -4
  513. package/es/components/modal/parts/ModalHeaderBar.js.map +1 -1
  514. package/es/components/pagination/Pagination.js.map +1 -1
  515. package/es/components/radio/Radio.d.ts +4 -0
  516. package/es/components/radio/Radio.js +6 -4
  517. package/es/components/radio/Radio.js.map +1 -1
  518. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +15 -5
  519. package/es/components/section/Section.d.ts +21 -1
  520. package/es/components/section/Section.js.map +1 -1
  521. package/es/components/section/style/dnb-section.css +1 -1
  522. package/es/components/section/style/dnb-section.scss +8 -3
  523. package/es/components/section/style/themes/dnb-section-theme-sbanken.scss +3 -4
  524. package/es/components/section/style/themes/dnb-section-theme-ui.css +9 -0
  525. package/es/components/section/style/themes/dnb-section-theme-ui.scss +28 -14
  526. package/es/components/skeleton/style/dnb-skeleton.scss +8 -5
  527. package/es/components/slider/style/dnb-slider.scss +4 -2
  528. package/es/components/space/SpacingUtils.js.map +1 -1
  529. package/es/components/step-indicator/StepIndicator.d.ts +89 -75
  530. package/es/components/step-indicator/StepIndicator.js +29 -25
  531. package/es/components/step-indicator/StepIndicator.js.map +1 -1
  532. package/es/components/step-indicator/StepIndicatorContext.d.ts +45 -15
  533. package/es/components/step-indicator/StepIndicatorContext.js +94 -114
  534. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  535. package/es/components/step-indicator/StepIndicatorItem.d.ts +59 -61
  536. package/es/components/step-indicator/StepIndicatorItem.js +173 -223
  537. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  538. package/es/components/step-indicator/StepIndicatorList.d.ts +6 -8
  539. package/es/components/step-indicator/StepIndicatorList.js +43 -48
  540. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  541. package/es/components/step-indicator/StepIndicatorModal.d.ts +6 -14
  542. package/es/components/step-indicator/StepIndicatorModal.js +38 -48
  543. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  544. package/es/components/step-indicator/StepIndicatorProps.d.ts +2 -55
  545. package/es/components/step-indicator/StepIndicatorProps.js +3 -45
  546. package/es/components/step-indicator/StepIndicatorProps.js.map +1 -1
  547. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +27 -21
  548. package/es/components/step-indicator/StepIndicatorSidebar.js +39 -52
  549. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  550. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +16 -17
  551. package/es/components/step-indicator/StepIndicatorTriggerButton.js +62 -78
  552. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  553. package/es/components/switch/Switch.d.ts +4 -0
  554. package/es/components/switch/Switch.js +6 -4
  555. package/es/components/switch/Switch.js.map +1 -1
  556. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +3 -1
  557. package/es/components/table/TableContainer.js.map +1 -1
  558. package/es/components/table/style/table-accordion.scss +18 -6
  559. package/es/components/table/style/table-header-buttons.scss +3 -1
  560. package/es/components/table/style/table-tr.scss +6 -2
  561. package/es/components/table/style/themes/dnb-table-theme-ui.scss +3 -1
  562. package/es/components/timeline/TimelineItem.d.ts +3 -2
  563. package/es/components/timeline/TimelineItem.js +89 -58
  564. package/es/components/timeline/TimelineItem.js.map +1 -1
  565. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +3 -2
  566. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +3 -1
  567. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +3 -2
  568. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +3 -1
  569. package/es/elements/lib.d.ts +1 -1
  570. package/es/elements/typography/H.d.ts +5 -3
  571. package/es/elements/typography/H.js +8 -4
  572. package/es/elements/typography/H.js.map +1 -1
  573. package/es/elements/typography/H1.js +2 -2
  574. package/es/elements/typography/H1.js.map +1 -1
  575. package/es/elements/typography/H2.js +2 -2
  576. package/es/elements/typography/H2.js.map +1 -1
  577. package/es/elements/typography/H3.js +2 -2
  578. package/es/elements/typography/H3.js.map +1 -1
  579. package/es/elements/typography/H4.js +2 -2
  580. package/es/elements/typography/H4.js.map +1 -1
  581. package/es/elements/typography/H5.js +2 -2
  582. package/es/elements/typography/H5.js.map +1 -1
  583. package/es/elements/typography/H6.js +2 -2
  584. package/es/elements/typography/H6.js.map +1 -1
  585. package/es/elements/typography/style/dnb-typography.scss +3 -0
  586. package/es/elements/typography/style/themes/dnb-typography-theme-sbanken.scss +12 -2
  587. package/es/elements/typography/style/typography-mixins.scss +5 -0
  588. package/es/extensions/forms/DataContext/index.js.map +1 -1
  589. package/es/extensions/forms/Field/ArraySelection.d.ts +2 -1
  590. package/es/extensions/forms/Field/ArraySelection.js +49 -33
  591. package/es/extensions/forms/Field/ArraySelection.js.map +1 -1
  592. package/es/extensions/forms/Field/CountryCode.d.ts +10 -0
  593. package/es/extensions/forms/Field/CountryCode.js +67 -0
  594. package/es/extensions/forms/Field/CountryCode.js.map +1 -0
  595. package/es/extensions/forms/Field/Currency.d.ts +2 -2
  596. package/es/extensions/forms/Field/Currency.js +6 -37
  597. package/es/extensions/forms/Field/Currency.js.map +1 -1
  598. package/es/extensions/forms/Field/Date.d.ts +2 -2
  599. package/es/extensions/forms/Field/Date.js +11 -7
  600. package/es/extensions/forms/Field/Date.js.map +1 -1
  601. package/es/extensions/forms/Field/Number.d.ts +7 -3
  602. package/es/extensions/forms/Field/Number.js +44 -21
  603. package/es/extensions/forms/Field/Number.js.map +1 -1
  604. package/es/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  605. package/es/extensions/forms/Field/PhoneNumber.js +43 -40
  606. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -1
  607. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  608. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  609. package/es/extensions/forms/Field/Selection.d.ts +6 -4
  610. package/es/extensions/forms/Field/Selection.js +85 -37
  611. package/es/extensions/forms/Field/Selection.js.map +1 -1
  612. package/es/extensions/forms/Field/String.d.ts +3 -3
  613. package/es/extensions/forms/Field/String.js +27 -13
  614. package/es/extensions/forms/Field/String.js.map +1 -1
  615. package/es/extensions/forms/Field/Toggle.js +11 -9
  616. package/es/extensions/forms/Field/Toggle.js.map +1 -1
  617. package/es/extensions/forms/Field/fields.scss +2 -2
  618. package/es/extensions/forms/Field/hooks/useField.d.ts +6 -8
  619. package/es/extensions/forms/Field/hooks/useField.js +34 -31
  620. package/es/extensions/forms/Field/hooks/useField.js.map +1 -1
  621. package/es/extensions/forms/Field/index.d.ts +2 -0
  622. package/es/extensions/forms/Field/index.js +3 -1
  623. package/es/extensions/forms/Field/index.js.map +1 -1
  624. package/es/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  625. package/es/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  626. package/es/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  627. package/es/extensions/forms/Field/style/dnb-country-code.css +12 -0
  628. package/es/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  629. package/es/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  630. package/es/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  631. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  632. package/es/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  633. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  634. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  635. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  636. package/es/extensions/forms/Field/style/dnb-selection.css +5 -2
  637. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  638. package/es/extensions/forms/Field/style/dnb-selection.scss +7 -1
  639. package/es/extensions/forms/Field/style/index.scss +2 -0
  640. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  641. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  642. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  643. package/es/extensions/forms/FieldBlock/index.js.map +1 -1
  644. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  645. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  646. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  647. package/es/extensions/forms/FieldGroup/index.js.map +1 -1
  648. package/es/extensions/forms/Layout/Card.js +2 -2
  649. package/es/extensions/forms/Layout/Card.js.map +1 -1
  650. package/es/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  651. package/es/extensions/forms/Layout/FlexContainer.js +3 -2
  652. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -1
  653. package/es/extensions/forms/Layout/FlexItem.d.ts +1 -0
  654. package/es/extensions/forms/Layout/FlexItem.js +2 -1
  655. package/es/extensions/forms/Layout/FlexItem.js.map +1 -1
  656. package/es/extensions/forms/Layout/style/dnb-card.css +3 -3
  657. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  658. package/es/extensions/forms/Layout/style/dnb-card.scss +6 -4
  659. package/es/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  660. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  661. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  662. package/es/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  663. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  664. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  665. package/es/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  666. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  667. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  668. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  669. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  670. package/es/extensions/forms/ValueBlock/index.js.map +1 -1
  671. package/es/extensions/forms/field-types.d.ts +7 -1
  672. package/es/extensions/forms/field-types.js.map +1 -1
  673. package/es/extensions/forms/style/dnb-forms.css +105 -29
  674. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  675. package/es/extensions/forms/style/index.d.ts +1 -0
  676. package/es/extensions/forms/style/index.js +1 -0
  677. package/es/extensions/forms/style/index.js.map +1 -0
  678. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  679. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  680. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  681. package/es/extensions/forms/utils/useWasChanged.d.ts +5 -0
  682. package/es/extensions/forms/utils/useWasChanged.js +51 -0
  683. package/es/extensions/forms/utils/useWasChanged.js.map +1 -0
  684. package/es/extensions/forms/variables.scss +3 -0
  685. package/es/extensions/lib.d.ts +1 -0
  686. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  687. package/es/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  688. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  689. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  690. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  691. package/es/fragments/drawer-list/DrawerList.js +1 -1
  692. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  693. package/es/fragments/drawer-list/DrawerListPortal.js +2 -2
  694. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  695. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  696. package/es/shared/Context.d.ts +2 -0
  697. package/es/shared/Context.js.map +1 -1
  698. package/es/shared/Eufemia.d.ts +1 -1
  699. package/es/shared/Eufemia.js +2 -2
  700. package/es/shared/Eufemia.js.map +1 -1
  701. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  702. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  703. package/es/shared/libs/Shortcuts.js.map +1 -1
  704. package/es/shared/locales/en-GB.d.ts +1 -0
  705. package/es/shared/locales/en-GB.js +1 -0
  706. package/es/shared/locales/en-GB.js.map +1 -1
  707. package/es/shared/locales/en-US.d.ts +1 -0
  708. package/es/shared/locales/index.d.ts +2 -0
  709. package/es/shared/locales/nb-NO.d.ts +1 -0
  710. package/es/shared/locales/nb-NO.js +1 -0
  711. package/es/shared/locales/nb-NO.js.map +1 -1
  712. package/es/style/core/reset.scss +13 -3
  713. package/es/style/core/utilities.scss +3 -1
  714. package/es/style/dnb-ui-components.css +23 -18
  715. package/es/style/dnb-ui-components.min.css +1 -1
  716. package/es/style/dnb-ui-elements.css +6 -0
  717. package/es/style/dnb-ui-elements.min.css +1 -1
  718. package/es/style/dnb-ui-extensions.css +105 -29
  719. package/es/style/dnb-ui-extensions.min.css +1 -1
  720. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  721. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  722. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  723. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  724. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  725. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  726. package/es/style/themes/theme-sbanken/customisations.scss +0 -8
  727. package/es/style/themes/theme-sbanken/properties.js +6 -6
  728. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  729. package/es/style/themes/theme-sbanken/properties.scss +6 -6
  730. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  731. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  732. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  733. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  734. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  735. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  736. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  737. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  738. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  739. package/es/style/themes/theme-ui/fonts.scss +8 -4
  740. package/es/style/themes/theme-ui/ui-theme-basis.css +6 -0
  741. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  742. package/es/style/themes/theme-ui/ui-theme-components.css +42 -24
  743. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  744. package/es/style/themes/theme-ui/ui-theme-elements.css +6 -0
  745. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  746. package/es/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  747. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  748. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -0
  749. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  750. package/es/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  751. package/esm/dnb-ui-basis.min.mjs +1 -1
  752. package/esm/dnb-ui-components.min.mjs +1 -1
  753. package/esm/dnb-ui-elements.min.mjs +1 -1
  754. package/esm/dnb-ui-extensions.min.mjs +6 -6
  755. package/esm/dnb-ui-lib.min.mjs +1 -1
  756. package/extensions/forms/DataContext/index.js.map +1 -1
  757. package/extensions/forms/Field/ArraySelection.d.ts +2 -1
  758. package/extensions/forms/Field/ArraySelection.js +49 -33
  759. package/extensions/forms/Field/ArraySelection.js.map +1 -1
  760. package/extensions/forms/Field/CountryCode.d.ts +10 -0
  761. package/extensions/forms/Field/CountryCode.js +68 -0
  762. package/extensions/forms/Field/CountryCode.js.map +1 -0
  763. package/extensions/forms/Field/Currency.d.ts +2 -2
  764. package/extensions/forms/Field/Currency.js +6 -38
  765. package/extensions/forms/Field/Currency.js.map +1 -1
  766. package/extensions/forms/Field/Date.d.ts +2 -2
  767. package/extensions/forms/Field/Date.js +11 -7
  768. package/extensions/forms/Field/Date.js.map +1 -1
  769. package/extensions/forms/Field/Number.d.ts +7 -3
  770. package/extensions/forms/Field/Number.js +44 -21
  771. package/extensions/forms/Field/Number.js.map +1 -1
  772. package/extensions/forms/Field/PhoneNumber.d.ts +7 -2
  773. package/extensions/forms/Field/PhoneNumber.js +43 -42
  774. package/extensions/forms/Field/PhoneNumber.js.map +1 -1
  775. package/extensions/forms/Field/PostalCodeAndCity.d.ts +1 -1
  776. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -1
  777. package/extensions/forms/Field/Selection.d.ts +6 -4
  778. package/extensions/forms/Field/Selection.js +87 -38
  779. package/extensions/forms/Field/Selection.js.map +1 -1
  780. package/extensions/forms/Field/String.d.ts +3 -3
  781. package/extensions/forms/Field/String.js +27 -13
  782. package/extensions/forms/Field/String.js.map +1 -1
  783. package/extensions/forms/Field/Toggle.js +11 -9
  784. package/extensions/forms/Field/Toggle.js.map +1 -1
  785. package/extensions/forms/Field/fields.scss +2 -2
  786. package/extensions/forms/Field/hooks/useField.d.ts +6 -8
  787. package/extensions/forms/Field/hooks/useField.js +34 -33
  788. package/extensions/forms/Field/hooks/useField.js.map +1 -1
  789. package/extensions/forms/Field/index.d.ts +2 -0
  790. package/extensions/forms/Field/index.js +3 -1
  791. package/extensions/forms/Field/index.js.map +1 -1
  792. package/extensions/forms/Field/style/dnb-array-selection.css +13 -0
  793. package/extensions/forms/Field/style/dnb-array-selection.min.css +1 -0
  794. package/extensions/forms/Field/style/dnb-array-selection.scss +15 -0
  795. package/extensions/forms/Field/style/dnb-country-code.css +12 -0
  796. package/extensions/forms/Field/style/dnb-country-code.min.css +1 -0
  797. package/extensions/forms/Field/style/dnb-country-code.scss +19 -0
  798. package/extensions/forms/Field/style/dnb-phone-number.css +3 -7
  799. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -1
  800. package/extensions/forms/Field/style/dnb-phone-number.scss +3 -8
  801. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +5 -2
  802. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -1
  803. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +5 -1
  804. package/extensions/forms/Field/style/dnb-selection.css +5 -2
  805. package/extensions/forms/Field/style/dnb-selection.min.css +1 -1
  806. package/extensions/forms/Field/style/dnb-selection.scss +7 -1
  807. package/extensions/forms/Field/style/index.scss +2 -0
  808. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -2
  809. package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  810. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  811. package/extensions/forms/FieldBlock/index.js.map +1 -1
  812. package/extensions/forms/FieldBlock/style/dnb-field-block.css +31 -8
  813. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  814. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +46 -13
  815. package/extensions/forms/FieldGroup/index.js.map +1 -1
  816. package/extensions/forms/Layout/Card.js +2 -2
  817. package/extensions/forms/Layout/Card.js.map +1 -1
  818. package/extensions/forms/Layout/FlexContainer.d.ts +1 -0
  819. package/extensions/forms/Layout/FlexContainer.js +3 -2
  820. package/extensions/forms/Layout/FlexContainer.js.map +1 -1
  821. package/extensions/forms/Layout/FlexItem.d.ts +1 -0
  822. package/extensions/forms/Layout/FlexItem.js +2 -1
  823. package/extensions/forms/Layout/FlexItem.js.map +1 -1
  824. package/extensions/forms/Layout/style/dnb-card.css +3 -3
  825. package/extensions/forms/Layout/style/dnb-card.min.css +1 -1
  826. package/extensions/forms/Layout/style/dnb-card.scss +6 -4
  827. package/extensions/forms/Layout/style/dnb-flex-container.css +9 -0
  828. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -1
  829. package/extensions/forms/Layout/style/dnb-flex-container.scss +14 -0
  830. package/extensions/forms/Layout/style/dnb-flex-item.css +9 -0
  831. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -1
  832. package/extensions/forms/Layout/style/dnb-flex-item.scss +14 -0
  833. package/extensions/forms/StepsLayout/StepsLayout.js +1 -1
  834. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  835. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +11 -5
  836. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  837. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +10 -3
  838. package/extensions/forms/ValueBlock/index.js.map +1 -1
  839. package/extensions/forms/field-types.d.ts +7 -1
  840. package/extensions/forms/field-types.js.map +1 -1
  841. package/extensions/forms/style/dnb-forms.css +105 -29
  842. package/extensions/forms/style/dnb-forms.min.css +1 -1
  843. package/extensions/forms/style/index.d.ts +1 -0
  844. package/extensions/forms/style/index.js +1 -0
  845. package/extensions/forms/style/index.js.map +1 -0
  846. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -2
  847. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  848. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -2
  849. package/extensions/forms/utils/useWasChanged.d.ts +5 -0
  850. package/extensions/forms/utils/useWasChanged.js +56 -0
  851. package/extensions/forms/utils/useWasChanged.js.map +1 -0
  852. package/extensions/forms/variables.scss +3 -0
  853. package/extensions/lib.d.ts +1 -0
  854. package/extensions/payment-card/PaymentCard.js.map +1 -1
  855. package/extensions/payment-card/utils/backgrounds/ung.js +1 -1
  856. package/extensions/payment-card/utils/backgrounds/ung.js.map +1 -1
  857. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  858. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  859. package/fragments/drawer-list/DrawerList.js +1 -1
  860. package/fragments/drawer-list/DrawerList.js.map +1 -1
  861. package/fragments/drawer-list/DrawerListPortal.js +2 -2
  862. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  863. package/fragments/drawer-list/style/dnb-drawer-list.scss +3 -1
  864. package/package.json +1 -1
  865. package/shared/Context.d.ts +2 -0
  866. package/shared/Context.js.map +1 -1
  867. package/shared/Eufemia.d.ts +1 -1
  868. package/shared/Eufemia.js +2 -2
  869. package/shared/Eufemia.js.map +1 -1
  870. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  871. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  872. package/shared/libs/Shortcuts.js.map +1 -1
  873. package/shared/locales/en-GB.d.ts +1 -0
  874. package/shared/locales/en-GB.js +1 -0
  875. package/shared/locales/en-GB.js.map +1 -1
  876. package/shared/locales/en-US.d.ts +1 -0
  877. package/shared/locales/index.d.ts +2 -0
  878. package/shared/locales/nb-NO.d.ts +1 -0
  879. package/shared/locales/nb-NO.js +1 -0
  880. package/shared/locales/nb-NO.js.map +1 -1
  881. package/style/core/reset.scss +13 -3
  882. package/style/core/utilities.scss +3 -1
  883. package/style/dnb-ui-components.css +23 -18
  884. package/style/dnb-ui-components.min.css +1 -1
  885. package/style/dnb-ui-elements.css +6 -0
  886. package/style/dnb-ui-elements.min.css +1 -1
  887. package/style/dnb-ui-extensions.css +105 -29
  888. package/style/dnb-ui-extensions.min.css +1 -1
  889. package/style/themes/theme-eiendom/eiendom-theme-basis.css +6 -0
  890. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  891. package/style/themes/theme-eiendom/eiendom-theme-components.css +42 -24
  892. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -1
  893. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +105 -29
  894. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  895. package/style/themes/theme-sbanken/customisations.scss +0 -8
  896. package/style/themes/theme-sbanken/properties.js +6 -6
  897. package/style/themes/theme-sbanken/properties.js.map +1 -1
  898. package/style/themes/theme-sbanken/properties.scss +6 -6
  899. package/style/themes/theme-sbanken/sbanken-theme-basis.css +27 -26
  900. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  901. package/style/themes/theme-sbanken/sbanken-theme-components.css +236 -245
  902. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -2
  903. package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  904. package/style/themes/theme-sbanken/sbanken-theme-elements.css +21 -2
  905. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  906. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +105 -29
  907. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  908. package/style/themes/theme-ui/fonts.scss +8 -4
  909. package/style/themes/theme-ui/ui-theme-basis.css +6 -0
  910. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  911. package/style/themes/theme-ui/ui-theme-components.css +42 -24
  912. package/style/themes/theme-ui/ui-theme-components.min.css +4 -2
  913. package/style/themes/theme-ui/ui-theme-elements.css +6 -0
  914. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  915. package/style/themes/theme-ui/ui-theme-extensions.css +105 -29
  916. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  917. package/style/themes/theme-ui/ui-theme-tags.css +3 -0
  918. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  919. package/style/themes/theme-ui/ui-theme-tags.scss +9 -4
  920. package/umd/dnb-ui-basis.min.js +1 -1
  921. package/umd/dnb-ui-components.min.js +1 -1
  922. package/umd/dnb-ui-elements.min.js +1 -1
  923. package/umd/dnb-ui-extensions.min.js +6 -6
  924. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingClasses","props","Element","undefined","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","_ref","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","includes","_ref3","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction)) {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":";;;AAKA,SAASA,IAAI,QAAQ,+BAA+B;AAapD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,KAAK,EAAE,IAAI;EACXC,GAAG,EAAE,IAAI;EACTC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,aAGZ,GAAG;EACF,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;EACdC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,GAAG;EACXC,KAAK,EAAE,CAAC;EACR,SAAS,EAAE,CAAC;EACZ,UAAU,EAAE,GAAG;EACf,aAAa,EAAE;AACjB,CAAC;AAQDC,UAAU,CAACC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,MAAMC,IAAI,GAAG,SAAAA,CAAA,EAAgC;EAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAA5BC,KAAK,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;IAALF,KAAK,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;EAAA;EAC3B,MAAMC,IAAI,GAAGH,KAAK,CAACI,IAAI,CAAC,GAAG,CAAC;EAC5B,IAAIV,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC,EAAE;IAC/B,OAAOT,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC;EACpC;EAEA,MAAME,MAAqB,GAAG,EAAE;EAEhCL,KAAK,CAACM,OAAO,CAAEC,QAAQ,IAAK;IAC1BC,mBAAmB,CAACD,QAAqB,CAAC,CAACD,OAAO,CAAEG,IAAI,IAAK;MAC3DJ,MAAM,CAACK,IAAI,CAAE,iBAAgBD,IAAK,GAAE,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOJ,MAAM,CAACN,MAAM,GACfL,UAAU,CAACC,UAAU,CAACQ,IAAI,CAAC,GAAI,QAAOE,MAAM,CAACD,IAAI,CAAC,KAAK,CAAE,GAAE,GAC5D,IAAI;AACV,CAAC;AASD,OAAO,MAAMO,oBAAoB,GAAG,SAAAA,CAClCC,KAKuB,EAEpB;EAAA,IADHC,OAAO,GAAAf,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgB,SAAA,GAAAhB,SAAA,MAAG,IAAI;EAEd,MAAMiB,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAAC,GAAAM,aAAA,KAAQN,KAAK,IAAKA,KAAK;EAEvD,IAAI,OAAOG,CAAC,CAAC9B,KAAK,KAAK,WAAW,EAAE;IAClC,IACE,OAAO8B,CAAC,CAAC9B,KAAK,KAAK,QAAQ,IAC3B,OAAO8B,CAAC,CAAC9B,KAAK,KAAK,QAAQ,IAC1B,OAAO8B,CAAC,CAAC9B,KAAK,KAAK,SAAS,IAAI8B,CAAC,CAAC9B,KAAM,EACzC;MACA8B,CAAC,CAAC7B,GAAG,GAAG6B,CAAC,CAAC5B,KAAK,GAAG4B,CAAC,CAAC3B,MAAM,GAAG2B,CAAC,CAAC1B,IAAI,GAAG0B,CAAC,CAAC9B,KAAK;IAC/C;IACA,IAAI,OAAO8B,CAAC,CAAC9B,KAAK,KAAK,QAAQ,EAAE;MAC/B,KAAK,MAAMkC,CAAC,IAAIJ,CAAC,CAAC9B,KAAK,EAAE;QACvB,IAAI,CAAC8B,CAAC,CAACI,CAAC,CAAC,IAAIC,gBAAgB,CAACD,CAAC,CAAC,EAAE;UAChCJ,CAAC,CAACI,CAAC,CAAC,GAAGJ,CAAC,CAAC9B,KAAK,CAACkC,CAAC,CAAC;QACnB;MACF;IACF;IACA,OAAOJ,CAAC,CAAC9B,KAAK;EAChB;EAEA,OAAO+B,MAAM,CAACK,OAAO,CAACN,CAAC,CAAC,CAACO,MAAM,CAAC,CAACC,GAAG,EAAAC,IAAA,KAAuB;IAAA,IAArB,CAACC,SAAS,EAAEC,GAAG,CAAC,GAAAF,IAAA;IACpD,IAAIJ,gBAAgB,CAACK,SAAS,CAAC,EAAE;MAC/B,IAAIE,MAAM,CAACD,GAAG,CAAC,KAAK,GAAG,IAAIC,MAAM,CAACD,GAAG,CAAC,KAAK,OAAO,EAAE;QAClDH,GAAG,CAACb,IAAI,CAAE,cAAae,SAAU,QAAO,CAAC;MAC3C,CAAC,MAAM,IAAIC,GAAG,EAAE;QACd,MAAME,aAAa,GAAGpB,mBAAmB,CAACkB,GAAgB,CAAC;QAG3D,MAAMG,GAAG,GAAGC,QAAQ,CAACF,aAAa,CAAC;QACnC,IAAIC,GAAG,GAAG,EAAE,EAAE;UACZ9C,IAAI,CACD,yDAAwD8C,GAAI,OAAMD,aAAa,CAACxB,IAAI,CACnF,GACF,CAAE,GACJ,CAAC;QACH,CAAC,MAAM;UAEL,MAAM2B,YAAY,GAAGC,gBAAgB,CAACH,GAAG,EAAE,IAAI,CAAC;UAEhDN,GAAG,GAAG,CACJ,GAAGA,GAAG,EACN,GAAGQ,YAAY,CAACE,GAAG,CAChBxB,IAAI,IAAM,cAAagB,SAAU,KAAIhB,IAAK,EAC7C,CAAC,CACF;QACH;MACF;IACF,CAAC,MAAM,IAAIgB,SAAS,KAAK,aAAa,EAAE;MACtCF,GAAG,CAACb,IAAI,CAAC,wBAAwB,CAAC;MAClC,IAAIG,OAAO,IAAIqB,QAAQ,CAACrB,OAAO,CAAC,EAAE;QAChCU,GAAG,CAACb,IAAI,CAAC,mBAAmB,CAAC;MAC/B;IACF;IAEA,OAAOa,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMY,cAAc,GAAI1B,IAAe,IAAK;EACjD,IAAI,MAAM,CAAC2B,IAAI,CAACT,MAAM,CAAClB,IAAI,CAAC,CAAC,EAAE;IAC7B,OAAOnB,aAAa,CAACqC,MAAM,CAAClB,IAAI,CAAC,CAAC4B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;EAC5D;EACA,OAAO/C,aAAa,CAACqC,MAAM,CAAClB,IAAI,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAGD,OAAO,MAAM6B,UAAU,GAAItC,KAAmC,IAAK;EACjE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAMoC,IAAI,GAAIpC,KAAK,CAAsBuC,KAAK,CAAC,IAAI,CAAC;IACpD,OAAOC,KAAK,CAACJ,IAA+B,CAAC;EAC/C,CAAC,MAAM,IAAI,OAAOpC,KAAK,KAAK,SAAS,EAAE;IACrC,OAAO,CAAC,OAAO,CAAiC;EAClD,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,CAACA,KAAK,CAAC;EAChB;EAEA,OAAOwC,KAAK,CAACxC,KAAK,CAAC,IAAI,IAAI;EAE3B,SAASwC,KAAKA,CAACC,CAA6C,EAAE;IAC5D,OAAOA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEC,MAAM,CAAEC,CAAC,IAAKA,CAAC,IAAIhB,MAAM,CAACgB,CAAC,CAAC,CAAC5C,MAAM,GAAG,CAAC,CAAC;EACpD;AACF,CAAC;AAGD,OAAO,MAAM+B,QAAQ,GAAI9B,KAAmC,IAC1DsC,UAAU,CAACtC,KAAK,CAAC,CACdiC,GAAG,CAAExB,IAAI,IAAK0B,cAAc,CAAC1B,IAAI,CAAC,CAAC,CACnCa,MAAM,CAAC,CAACC,GAAG,EAAEG,GAAG,KAAK;EACpB,IAAIA,GAAG,GAAG,CAAC,EAAE;IACXH,GAAG,IAAIG,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,GAAG,CAAC,EAAE;IAClBH,GAAG,IAAIG,GAAG;EACZ;EACA,OAAOH,GAAG;AACZ,CAAC,EAAE,CAAC,CAAC;AAGT,OAAO,MAAMf,mBAAmB,GAC9BR,KAAgB,IACK;EACrB,OAAO,CAACsC,UAAU,CAACtC,KAAK,CAAC,IAAI,EAAE,EAAEsB,MAAM,CAAC,CAACC,GAAG,EAAEd,IAAI,KAAK;IACrD,IAAIA,IAAI,EAAE;MACR,MAAMmC,WAAW,GAAGjB,MAAM,CAAClB,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC,IAAIoC,UAAU,CAACD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QAEhC,IAAIE,GAAG,GAAGD,UAAU,CAAClB,MAAM,CAAClB,IAAI,CAAC,CAAC;QAGlC,IAAIqC,GAAG,IAAI,CAAC,IAAI,SAAS,CAACV,IAAI,CAACT,MAAM,CAAClB,IAAI,CAAC,CAAC,EAAE;UAC5CqC,GAAG,GAAGA,GAAG,GAAG,EAAE;QAChB;QAGA,MAAMC,SAAS,GAAGC,QAAQ,CAACF,GAAG,CAAC;QAG/B,IAAIC,SAAS,EAAE;UACbtC,IAAI,GAAGsC,SAAS;QAClB,CAAC,MAAM;UACLf,gBAAgB,CAACc,GAAG,CAAC,CAACxC,OAAO,CAAEG,IAAI,IAAK;YACtC,IAAIA,IAAI,EAAE;cACRc,GAAG,CAACb,IAAI,CAACD,IAAI,CAAC;YAChB;UACF,CAAC,CAAC;QACJ;MACF;MAEA,IAAI,EAAEoC,UAAU,CAAClB,MAAM,CAAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACnCc,GAAG,CAACb,IAAI,CAACD,IAAI,CAAC;MAChB;IACF;IACA,OAAOc,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMyB,QAAQ,GAAIF,GAAgB,IAAgB;EACvD,MAAMG,KAAK,GAAGC,WAAW,CAACJ,GAAG,CAAC;EAG9B,IAAIG,KAAK,EAAE;IACT,OAAOA,KAAK,CAAC,CAAC,CAAC;EACjB;EAEA,OAAO,IAAI;AACb,CAAC;AAGD,OAAO,MAAMC,WAAW,GACtBJ,GAAgB,IAGb;EACH,MAAMK,mBAAmB,GAAGnC,MAAM,CAACK,OAAO,CAAC/B,aAAa,CAGrD;EACH,MAAM2D,KAAK,GACTE,mBAAmB,CAACC,IAAI,CAACC,KAAA;IAAA,IAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,GAAAF,KAAA;IAAA,OAAKC,CAAC,IAAIC,CAAC,KAAKT,GAAG;EAAA,EAAC,IAAI,IAAI;EAC9D,OAAOG,KAAK;AACd,CAAC;AAGD,OAAO,MAAMjB,gBAAgB,GAAG,SAAAA,CAACc,GAAgB,EAAuB;EAAA,IAArBU,QAAQ,GAAA1D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgB,SAAA,GAAAhB,SAAA,MAAG,KAAK;EACjE,IAAI2D,GAAG,GAAG,EAAE;EAEZ,MAAMC,IAAI,GAAG1C,MAAM,CAACK,OAAO,CAAC/B,aAAa,CAAC,CACvCqE,OAAO,CAAC,CAAC,CACTjB,MAAM,CAAEY,CAAC,IAAME,QAAQ,GAAG,IAAI,GAAG,CAACF,CAAC,CAAC,CAAC,CAAC,CAACM,QAAQ,CAAC,IAAI,CAAE,CAAC,CACvDR,IAAI,CAACS,KAAA;IAAA,IAAC,CAACP,CAAC,EAAEC,CAAC,CAAC,GAAAM,KAAA;IAAA,OAAKP,CAAC,IAAIR,GAAG,IAAIS,CAAC;EAAA,EAAC;EAClC,MAAMO,OAAO,GAAIJ,IAAI,IAAIA,IAAI,CAAC,CAAC,CAAC,IAAKZ,GAAG;EACxC,MAAM9C,KAAK,GAAGkD,WAAW,CAACY,OAAO,CAAC;EAElC,IAAI9D,KAAK,EAAE;IACT,MAAM+D,QAAQ,GAAG/D,KAAK,CAAC,CAAC,CAAC;IACzByD,GAAG,CAAC/C,IAAI,CAACqD,QAAQ,CAAC;IAClB,MAAMC,QAAQ,GAAGlB,GAAG,GAAGD,UAAU,CAAClB,MAAM,CAAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAMiE,cAAc,GAAGjC,gBAAgB,CAACgC,QAAQ,EAAER,QAAQ,CAAC;IAG3DS,cAAc,CAAC3D,OAAO,CAAEG,IAAI,IAAK;MAC/B,MAAMyD,KAAK,GAAGT,GAAG,CAACU,OAAO,CAAC1D,IAAI,CAAC;MAC/B,IAAIyD,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBT,GAAG,CAACS,KAAK,CAAC,GAAGV,QAAQ,GAAI,GAAE/C,IAAK,KAAI,GAAGA,IAAI;MAC7C;IACF,CAAC,CAAC;IAEFgD,GAAG,GAAG,CAAC,GAAGA,GAAG,EAAE,GAAGQ,cAAc,CAAC;EACnC;EAEA,OAAOR,GAAG;AACZ,CAAC;AAGD,OAAO,MAAMrC,gBAAgB,GAAIgD,QAAgB,IAC/CA,QAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAACR,QAAQ,CAACQ,QAAQ,CAAC;AAEnE,OAAO,MAAMC,gBAAgB,GAC3BzD,KAAyC,IACtC;EACH,MAAMG,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAAC,GAAAM,aAAA,KAAQN,KAAK,IAAKA,KAAK;EACvD,KAAK,MAAMO,CAAC,IAAIJ,CAAC,EAAE;IACjB,IAAIK,gBAAgB,CAACD,CAAC,CAAC,EAAE;MACvB,OAAOJ,CAAC,CAACI,CAAC,CAAC;IACb;EACF;EACA,OAAOJ,CAAC;AACV,CAAC;AAED,OAAO,MAAMmB,QAAQ,GAAIoC,WAAmB,IAAK;EAC/C,QAAQA,WAAW;IACjB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,GAAG;MACN,OAAO,IAAI;EACf;EAEA,OAAO,KAAK;AACd,CAAC"}
1
+ {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","_len","arguments","length","types","Array","_key","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","createSpacingClasses","props","Element","undefined","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","_ref","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","_ref2","k","v","multiply","res","near","reverse","includes","_ref3","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction)) {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
@@ -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;