@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":"StepIndicatorSidebar.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","Context","StepIndicatorList","stepIndicatorPropTypes","stepIndicatorDefaultProps","StepIndicatorProvider","createSpacingClasses","StepIndicatorSidebar","PureComponent","constructor","arguments","_defineProperty","showInitialData","componentDidMount","props","setState","_hasSkeletonData","skeleton","getContextAndProps","_this$context","_this$context2","_providerProps$data","providerProps","context","getTranslation","StepIndicator","data","length","text","slice","render","state","createElement","id","sidebar_id","className","_extends","isSidebar","internalId","_StepIndicatorList","mode","current_step","process","env","NODE_ENV","propTypes","string","isRequired","bool"],"sources":["../../../../src/components/step-indicator/StepIndicatorSidebar.js"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport { extendPropsWithContextInClassComponent } from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport StepIndicatorList from './StepIndicatorList'\nimport {\n stepIndicatorPropTypes,\n stepIndicatorDefaultProps,\n} from './StepIndicatorProps'\nimport { StepIndicatorProvider } from './StepIndicatorContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nexport default class StepIndicatorSidebar extends React.PureComponent {\n static contextType = Context\n static propTypes = {\n sidebar_id: PropTypes.string.isRequired,\n mode: stepIndicatorPropTypes.mode,\n current_step: stepIndicatorPropTypes.current_step,\n data: stepIndicatorPropTypes.data,\n\n /** Used for testing */\n internalId: PropTypes.string,\n showInitialData: PropTypes.bool,\n }\n\n static defaultProps = {\n mode: stepIndicatorDefaultProps.mode,\n current_step: stepIndicatorDefaultProps.current_step,\n data: stepIndicatorDefaultProps.data,\n }\n\n state = { showInitialData: true }\n\n componentDidMount() {\n if (!this.props.showInitialData) {\n this.setState({ showInitialData: false })\n }\n\n if (this._hasSkeletonData) {\n this.setState({\n skeleton: false,\n })\n }\n }\n\n getContextAndProps() {\n const providerProps = extendPropsWithContextInClassComponent(\n this.props,\n stepIndicatorDefaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.context).StepIndicator,\n this.context?.StepIndicator\n )\n\n if (!(providerProps.data?.length > 0)) {\n const text = 'Skeleton text'\n providerProps.data = [text.slice(10), text, text, text.slice(4)]\n providerProps.skeleton = true\n this._hasSkeletonData = true\n }\n\n return providerProps\n }\n\n render() {\n const providerProps = this.state.showInitialData\n ? this.getContextAndProps()\n : null\n\n return (\n <div\n id={'sidebar__' + this.props.sidebar_id}\n className={classnames(\n 'dnb-step-indicator-wrapper',\n 'dnb-step-indicator__sidebar',\n this._hasSkeletonData &&\n providerProps?.skeleton &&\n 'dnb-step-indicator__sidebar--ssr-skeleton',\n createSpacingClasses(this.props)\n )}\n >\n {providerProps && (\n <StepIndicatorProvider\n isSidebar\n sidebar_id={this.props.internalId || this.props.sidebar_id}\n {...providerProps}\n >\n <StepIndicatorList />\n </StepIndicatorProvider>\n )}\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepIndicatorSidebar.js","names":["React","useContext","useEffect","useRef","useState","classnames","extendPropsWithContext","Context","StepIndicatorList","stepIndicatorDefaultProps","StepIndicatorProvider","createSpacingClasses","StepIndicatorSidebar","_ref","current_step","data","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","context","showInitialData","setShowInitialData","hasSkeletonData","getContextAndProps","_providerProps$data","providerProps","skeleton","getTranslation","StepIndicator","length","text","slice","current","createElement","id","sidebar_id","className","_extends","isSidebar","_StepIndicatorList"],"sources":["../../../../src/components/step-indicator/StepIndicatorSidebar.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport React, { useContext, useEffect, useRef, useState } from 'react'\n\nimport classnames from 'classnames'\nimport { extendPropsWithContext } from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport StepIndicatorList from './StepIndicatorList'\nimport { stepIndicatorDefaultProps } from './StepIndicatorProps'\nimport { StepIndicatorProvider } from './StepIndicatorContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { SpacingProps } from '../../shared/types'\nimport {\n StepIndicatorData,\n StepIndicatorMode,\n StepIndicatorProps,\n} from '../StepIndicator'\n\nexport type StepIndicatorSidebarProps = SpacingProps &\n Pick<StepIndicatorProps, 'current_step' | 'skeleton'> &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref' | 'data'> & {\n /**\n * 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 * 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 * Stuff\n */\n showInitialData?: boolean\n /**\n * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.\n */\n sidebar_id: string\n }\n\nfunction StepIndicatorSidebar({\n current_step = stepIndicatorDefaultProps.current_step,\n data = stepIndicatorDefaultProps.data,\n ...restOfProps\n}: StepIndicatorSidebarProps) {\n const props = { current_step, data, ...restOfProps }\n\n const context = useContext(Context)\n\n const [showInitialData, setShowInitialData] = useState<boolean>(true)\n\n const hasSkeletonData = useRef<boolean>(null)\n\n useEffect(() => {\n if (!props.showInitialData) {\n setShowInitialData(false)\n }\n }, [])\n\n function getContextAndProps() {\n const providerProps = extendPropsWithContext(\n props,\n stepIndicatorDefaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(context).StepIndicator,\n context?.StepIndicator\n )\n\n if (!(providerProps.data?.length > 0)) {\n const text = 'Skeleton text'\n providerProps.data = [text.slice(10), text, text, text.slice(4)]\n providerProps.skeleton = true\n hasSkeletonData.current = true\n }\n\n return providerProps\n }\n\n const providerProps = showInitialData ? getContextAndProps() : null\n\n return (\n <div\n id={'sidebar__' + props.sidebar_id}\n className={classnames(\n 'dnb-step-indicator-wrapper',\n 'dnb-step-indicator__sidebar',\n hasSkeletonData.current &&\n providerProps?.skeleton &&\n 'dnb-step-indicator__sidebar--ssr-skeleton',\n createSpacingClasses(props)\n )}\n >\n {providerProps && (\n <StepIndicatorProvider\n isSidebar\n sidebar_id={props.sidebar_id}\n {...providerProps}\n >\n <StepIndicatorList />\n </StepIndicatorProvider>\n )}\n </div>\n )\n}\n\nexport default StepIndicatorSidebar\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEtE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,yBAAyB,QAAQ,sBAAsB;AAChE,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,oBAAoB,QAAQ,wBAAwB;AA6B7D,SAASC,oBAAoBA,CAAAC,IAAA,EAIC;EAAA,IAJA;MAC5BC,YAAY,GAAGL,yBAAyB,CAACK,YAAY;MACrDC,IAAI,GAAGN,yBAAyB,CAACM;IAER,CAAC,GAAAF,IAAA;IADvBG,WAAW,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEd,MAAMC,KAAK,GAAAC,aAAA;IAAKN,YAAY;IAAEC;EAAI,GAAKC,WAAW,CAAE;EAEpD,MAAMK,OAAO,GAAGpB,UAAU,CAACM,OAAO,CAAC;EAEnC,MAAM,CAACe,eAAe,EAAEC,kBAAkB,CAAC,GAAGnB,QAAQ,CAAU,IAAI,CAAC;EAErE,MAAMoB,eAAe,GAAGrB,MAAM,CAAU,IAAI,CAAC;EAE7CD,SAAS,CAAC,MAAM;IACd,IAAI,CAACiB,KAAK,CAACG,eAAe,EAAE;MAC1BC,kBAAkB,CAAC,KAAK,CAAC;IAC3B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,SAASE,kBAAkBA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IAC5B,MAAMC,aAAa,GAAGrB,sBAAsB,CAC1Ca,KAAK,EACLV,yBAAyB,EACzB;MAAEmB,QAAQ,EAAEP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO;IAAS,CAAC,EAC/BP,OAAO,CAACQ,cAAc,CAACR,OAAO,CAAC,CAACS,aAAa,EAC7CT,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,aACX,CAAC;IAED,IAAI,EAAE,EAAAJ,mBAAA,GAAAC,aAAa,CAACZ,IAAI,cAAAW,mBAAA,uBAAlBA,mBAAA,CAAoBK,MAAM,IAAG,CAAC,CAAC,EAAE;MACrC,MAAMC,IAAI,GAAG,eAAe;MAC5BL,aAAa,CAACZ,IAAI,GAAG,CAACiB,IAAI,CAACC,KAAK,CAAC,EAAE,CAAC,EAAED,IAAI,EAAEA,IAAI,EAAEA,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;MAChEN,aAAa,CAACC,QAAQ,GAAG,IAAI;MAC7BJ,eAAe,CAACU,OAAO,GAAG,IAAI;IAChC;IAEA,OAAOP,aAAa;EACtB;EAEA,MAAMA,aAAa,GAAGL,eAAe,GAAGG,kBAAkB,CAAC,CAAC,GAAG,IAAI;EAEnE,OACEzB,KAAA,CAAAmC,aAAA;IACEC,EAAE,EAAE,WAAW,GAAGjB,KAAK,CAACkB,UAAW;IACnCC,SAAS,EAAEjC,UAAU,2DAMnBM,oBAAoB,CAACQ,KAAK,CAAC,EAH3BK,eAAe,CAACU,OAAO,KACrBP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,QAAQ,KACvB,2CAEJ;EAAE,GAEDD,aAAa,IACZ3B,KAAA,CAAAmC,aAAA,CAACzB,qBAAqB,EAAA6B,QAAA;IACpBC,SAAS;IACTH,UAAU,EAAElB,KAAK,CAACkB;EAAW,GACzBV,aAAa,GAAAc,kBAAA,KAAAA,kBAAA,GAEjBzC,KAAA,CAAAmC,aAAA,CAAC3B,iBAAiB,MAAE,CAAC,CACA,CAEtB,CAAC;AAEV;AAEA,eAAeI,oBAAoB"}
@@ -1,17 +1,16 @@
1
- import * as React from 'react';
2
- export interface StepIndicatorTriggerButtonProps
3
- extends React.HTMLProps<HTMLElement> {
4
- /**
5
- * <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.
6
- */
7
- sidebar_id?: string;
8
- className?: string;
9
- inner_ref?: React.RefObject<HTMLElement>;
10
- }
11
- export default class StepIndicatorTriggerButton extends React.Component<
12
- StepIndicatorTriggerButtonProps,
13
- any
14
- > {
15
- static defaultProps: object;
16
- render(): JSX.Element;
17
- }
1
+ /**
2
+ * Web StepIndicator Component
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import { ButtonProps } from '../button/Button';
7
+ export type StepIndicatorTriggerButtonProps = ButtonProps & {
8
+ /**
9
+ * <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.
10
+ */
11
+ sidebar_id?: string;
12
+ className?: string;
13
+ inner_ref?: React.RefObject<HTMLElement>;
14
+ };
15
+ declare function StepIndicatorTriggerButton(props: StepIndicatorTriggerButtonProps): import("react/jsx-runtime").JSX.Element;
16
+ export default StepIndicatorTriggerButton;
@@ -1,94 +1,78 @@
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";
4
+ const _excluded = ["data"];
3
5
  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; }
4
6
  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; }
5
7
  import classnames from 'classnames';
6
- import React from 'react';
7
- import PropTypes from 'prop-types';
8
+ import React, { useContext, useEffect, useLayoutEffect, useRef } from 'react';
8
9
  import Button from '../button/Button';
9
10
  import chevron_icon from '../../icons/chevron_right_medium';
10
- import { validateDOMAttributes, combineDescribedBy, isTrue } from '../../shared/component-helper';
11
+ import { validateDOMAttributes, combineDescribedBy } from '../../shared/component-helper';
11
12
  import HeightAnimationInstance from '../height-animation/HeightAnimationInstance';
12
13
  import { createSpacingClasses } from '../space/SpacingHelper';
13
14
  import FormLabel from '../form-label/FormLabel';
14
15
  import StepIndicatorContext from './StepIndicatorContext';
15
16
  import { StepItemWrapper } from './StepIndicatorItem';
16
17
  import { skeletonDOMAttributes, createSkeletonClass } from '../skeleton/SkeletonHelper';
17
- export default class StepIndicatorTriggerButton extends React.PureComponent {
18
- constructor(props, context) {
19
- super(props);
20
- this._heightAnim = new HeightAnimationInstance({
21
- animate: !isTrue(context.no_animation)
22
- });
23
- this._buttonRef = props.inner_ref || React.createRef();
24
- }
25
- getSnapshotBeforeUpdate() {
26
- return this._heightAnim.getHeight();
27
- }
28
- componentDidMount() {
29
- this._heightAnim.setElement(this._buttonRef.current);
30
- this._prevStep = this.context.activeStep;
31
- }
32
- componentWillUnmount() {
33
- this._heightAnim.remove();
34
- }
35
- componentDidUpdate(a, b, height) {
36
- if (this._prevStep !== this.context.activeStep) {
37
- const toHeight = this._heightAnim.getUnknownHeight();
38
- this._heightAnim.adjustTo(height, toHeight);
39
- this._prevStep = this.context.activeStep;
18
+ function StepIndicatorTriggerButton(props) {
19
+ const context = useContext(StepIndicatorContext);
20
+ const buttonRef = useRef((props === null || props === void 0 ? void 0 : props.inner_ref) || null);
21
+ const heightAnim = useRef(new HeightAnimationInstance({
22
+ animate: !(context !== null && context !== void 0 && context.no_animation)
23
+ })).current;
24
+ useEffect(() => {
25
+ heightAnim.setElement(buttonRef.current);
26
+ return () => {
27
+ heightAnim.remove();
28
+ };
29
+ }, []);
30
+ useLayoutEffect(() => {
31
+ const height = heightAnim.getHeight();
32
+ const toHeight = heightAnim.getUnknownHeight();
33
+ heightAnim.adjustTo(height, toHeight);
34
+ }, [context.activeStep, heightAnim]);
35
+ const item = context.data[context.activeStep || 0];
36
+ const label = context.stepsLabel;
37
+ const {
38
+ data
39
+ } = context,
40
+ contextWithoutData = _objectWithoutProperties(context, _excluded);
41
+ const triggerParams = _objectSpread(_objectSpread({}, contextWithoutData), {}, {
42
+ className: classnames('dnb-step-indicator__trigger', createSkeletonClass('font', context.skeleton), createSpacingClasses(context)),
43
+ 'aria-live': 'polite'
44
+ });
45
+ const buttonParams = _objectSpread(_objectSpread({}, props), {}, {
46
+ className: classnames('dnb-step-indicator__trigger__button', props.className)
47
+ });
48
+ buttonParams['aria-describedby'] = combineDescribedBy(buttonParams, context.sidebar_id + '-overview');
49
+ Object.keys(triggerParams).forEach(key => {
50
+ if (context.filterAttributes.includes(key)) {
51
+ delete triggerParams[key];
40
52
  }
41
- }
42
- render() {
43
- const item = this.context.data[this.context.activeStep || 0];
44
- const label = this.context.stepsLabel;
45
- const triggerParams = _objectSpread(_objectSpread({}, this.context), {}, {
46
- sidebar_id: null,
47
- className: classnames('dnb-step-indicator__trigger', createSkeletonClass('font', this.context.skeleton), createSpacingClasses(this.context)),
48
- 'aria-live': 'polite'
49
- });
50
- const buttonParams = _objectSpread(_objectSpread({}, this.props), {}, {
51
- className: classnames('dnb-step-indicator__trigger__button', this.props.className)
52
- });
53
- buttonParams['aria-describedby'] = combineDescribedBy(buttonParams, this.context.sidebar_id + '-overview');
54
- Object.keys(triggerParams).forEach(key => {
55
- if (this.context.filterAttributes.includes(key)) {
56
- delete triggerParams[key];
57
- }
58
- });
59
- skeletonDOMAttributes(triggerParams, this.context.skeleton);
60
- validateDOMAttributes(this.context, triggerParams);
61
- return React.createElement("div", triggerParams, React.createElement("span", {
62
- className: "dnb-sr-only",
63
- id: this.context.sidebar_id + '-overview'
64
- }, this.context.overview_title), React.createElement(FormLabel, {
65
- "aria-describedby": this.context.sidebar_id,
66
- for_id: this.context.sidebar_id,
67
- className: "dnb-step-indicator__label"
68
- }, label), React.createElement(Button, _extends({}, buttonParams, {
69
- id: this.context.sidebar_id,
70
- wrap: true,
71
- stretch: true,
72
- variant: "secondary",
73
- icon: chevron_icon,
74
- icon_size: "medium",
75
- icon_position: "right",
76
- inner_ref: this._buttonRef
77
- }), React.createElement(StepItemWrapper, {
78
- number: (this.context.activeStep || 0) + 1,
79
- hide_numbers: this.context.hide_numbers
80
- }, (typeof item === 'string' ? item : item && item.title) || '')));
81
- }
53
+ });
54
+ skeletonDOMAttributes(triggerParams, context.skeleton);
55
+ validateDOMAttributes(context, triggerParams);
56
+ return React.createElement("div", triggerParams, React.createElement("span", {
57
+ className: "dnb-sr-only",
58
+ id: context.sidebar_id + '-overview'
59
+ }, context.overview_title), React.createElement(FormLabel, {
60
+ "aria-describedby": context.sidebar_id,
61
+ for_id: context.sidebar_id,
62
+ className: "dnb-step-indicator__label"
63
+ }, label), React.createElement(Button, _extends({}, buttonParams, {
64
+ id: context.sidebar_id,
65
+ wrap: true,
66
+ stretch: true,
67
+ variant: "secondary",
68
+ icon: chevron_icon,
69
+ icon_size: "medium",
70
+ icon_position: "right",
71
+ inner_ref: buttonRef
72
+ }), React.createElement(StepItemWrapper, {
73
+ number: (context.activeStep || 0) + 1,
74
+ hide_numbers: context.hide_numbers
75
+ }, (typeof item === 'string' ? item : item && item.title) || '')));
82
76
  }
83
- _defineProperty(StepIndicatorTriggerButton, "contextType", StepIndicatorContext);
84
- _defineProperty(StepIndicatorTriggerButton, "defaultProps", {
85
- sidebar_id: null,
86
- className: null,
87
- inner_ref: null
88
- });
89
- process.env.NODE_ENV !== "production" ? StepIndicatorTriggerButton.propTypes = {
90
- sidebar_id: PropTypes.string,
91
- className: PropTypes.string,
92
- inner_ref: PropTypes.object
93
- } : void 0;
77
+ export default StepIndicatorTriggerButton;
94
78
  //# sourceMappingURL=StepIndicatorTriggerButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepIndicatorTriggerButton.js","names":["classnames","React","PropTypes","Button","chevron_icon","validateDOMAttributes","combineDescribedBy","isTrue","HeightAnimationInstance","createSpacingClasses","FormLabel","StepIndicatorContext","StepItemWrapper","skeletonDOMAttributes","createSkeletonClass","StepIndicatorTriggerButton","PureComponent","constructor","props","context","_heightAnim","animate","no_animation","_buttonRef","inner_ref","createRef","getSnapshotBeforeUpdate","getHeight","componentDidMount","setElement","current","_prevStep","activeStep","componentWillUnmount","remove","componentDidUpdate","a","b","height","toHeight","getUnknownHeight","adjustTo","render","item","data","label","stepsLabel","triggerParams","_objectSpread","sidebar_id","className","skeleton","buttonParams","Object","keys","forEach","key","filterAttributes","includes","createElement","id","overview_title","for_id","_extends","wrap","stretch","variant","icon","icon_size","icon_position","number","hide_numbers","title","_defineProperty","process","env","NODE_ENV","propTypes","string","object"],"sources":["../../../../src/components/step-indicator/StepIndicatorTriggerButton.js"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport classnames from 'classnames'\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport Button from '../button/Button'\nimport chevron_icon from '../../icons/chevron_right_medium'\nimport {\n validateDOMAttributes,\n combineDescribedBy,\n isTrue,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport FormLabel from '../form-label/FormLabel'\nimport StepIndicatorContext from './StepIndicatorContext'\nimport { StepItemWrapper } from './StepIndicatorItem'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nexport default class StepIndicatorTriggerButton extends React.PureComponent {\n static contextType = StepIndicatorContext\n\n static propTypes = {\n sidebar_id: PropTypes.string,\n className: PropTypes.string,\n inner_ref: PropTypes.object,\n }\n static defaultProps = {\n sidebar_id: null,\n className: null,\n inner_ref: null,\n }\n\n constructor(props, context) {\n super(props)\n this._heightAnim = new HeightAnimationInstance({\n animate: !isTrue(context.no_animation),\n })\n this._buttonRef = props.inner_ref || React.createRef()\n }\n\n getSnapshotBeforeUpdate() {\n return this._heightAnim.getHeight()\n }\n\n componentDidMount() {\n this._heightAnim.setElement(this._buttonRef.current)\n this._prevStep = this.context.activeStep\n }\n\n componentWillUnmount() {\n this._heightAnim.remove()\n }\n\n componentDidUpdate(a, b, height) {\n if (this._prevStep !== this.context.activeStep) {\n const toHeight = this._heightAnim.getUnknownHeight()\n\n this._heightAnim.adjustTo(height, toHeight)\n this._prevStep = this.context.activeStep\n }\n }\n\n render() {\n const item = this.context.data[this.context.activeStep || 0]\n const label = this.context.stepsLabel\n\n const triggerParams = {\n ...this.context,\n sidebar_id: null,\n className: classnames(\n 'dnb-step-indicator__trigger',\n createSkeletonClass('font', this.context.skeleton),\n createSpacingClasses(this.context)\n ),\n 'aria-live': 'polite',\n }\n\n const buttonParams = {\n ...this.props,\n className: classnames(\n 'dnb-step-indicator__trigger__button',\n this.props.className\n ),\n }\n\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n this.context.sidebar_id + '-overview'\n )\n\n Object.keys(triggerParams).forEach((key) => {\n if (this.context.filterAttributes.includes(key)) {\n delete triggerParams[key]\n }\n })\n\n skeletonDOMAttributes(triggerParams, this.context.skeleton)\n\n // also used for code markup simulation\n validateDOMAttributes(this.context, triggerParams)\n\n return (\n <div {...triggerParams}>\n <span\n className=\"dnb-sr-only\"\n id={this.context.sidebar_id + '-overview'}\n >\n {this.context.overview_title}\n </span>\n <FormLabel\n aria-describedby={this.context.sidebar_id}\n for_id={this.context.sidebar_id}\n className=\"dnb-step-indicator__label\"\n >\n {label}\n </FormLabel>\n <Button\n {...buttonParams}\n id={this.context.sidebar_id}\n wrap\n stretch\n variant=\"secondary\"\n icon={chevron_icon}\n icon_size=\"medium\"\n icon_position=\"right\"\n inner_ref={this._buttonRef}\n >\n <StepItemWrapper\n number={(this.context.activeStep || 0) + 1}\n hide_numbers={this.context.hide_numbers}\n >\n {(typeof item === 'string' ? item : item && item.title) || ''}\n </StepItemWrapper>\n </Button>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepIndicatorTriggerButton.js","names":["classnames","React","useContext","useEffect","useLayoutEffect","useRef","Button","chevron_icon","validateDOMAttributes","combineDescribedBy","HeightAnimationInstance","createSpacingClasses","FormLabel","StepIndicatorContext","StepItemWrapper","skeletonDOMAttributes","createSkeletonClass","StepIndicatorTriggerButton","props","context","buttonRef","inner_ref","heightAnim","animate","no_animation","current","setElement","remove","height","getHeight","toHeight","getUnknownHeight","adjustTo","activeStep","item","data","label","stepsLabel","contextWithoutData","_objectWithoutProperties","_excluded","triggerParams","_objectSpread","className","skeleton","buttonParams","sidebar_id","Object","keys","forEach","key","filterAttributes","includes","createElement","id","overview_title","for_id","_extends","wrap","stretch","variant","icon","icon_size","icon_position","number","hide_numbers","title"],"sources":["../../../../src/components/step-indicator/StepIndicatorTriggerButton.tsx"],"sourcesContent":["/**\n * Web StepIndicator Component\n *\n */\n\nimport classnames from 'classnames'\nimport React, {\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n} from 'react'\nimport Button, { ButtonProps } from '../button/Button'\nimport chevron_icon from '../../icons/chevron_right_medium'\nimport {\n validateDOMAttributes,\n combineDescribedBy,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport FormLabel from '../form-label/FormLabel'\nimport StepIndicatorContext from './StepIndicatorContext'\nimport { StepItemWrapper } from './StepIndicatorItem'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nexport type StepIndicatorTriggerButtonProps = ButtonProps & {\n /**\n * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.\n */\n sidebar_id?: string\n className?: string\n inner_ref?: React.RefObject<HTMLElement>\n}\nfunction StepIndicatorTriggerButton(\n props: StepIndicatorTriggerButtonProps\n) {\n const context = useContext(StepIndicatorContext)\n\n const buttonRef = useRef(props?.inner_ref || null)\n\n const heightAnim = useRef(\n new HeightAnimationInstance({\n animate: !context?.no_animation,\n })\n ).current\n\n useEffect(() => {\n heightAnim.setElement(buttonRef.current)\n\n return () => {\n heightAnim.remove()\n }\n }, [])\n\n // Adjust height\n useLayoutEffect(() => {\n const height = heightAnim.getHeight()\n const toHeight = heightAnim.getUnknownHeight()\n\n heightAnim.adjustTo(height, toHeight)\n }, [context.activeStep, heightAnim])\n\n const item = context.data[context.activeStep || 0]\n const label = context.stepsLabel\n\n const { data, ...contextWithoutData } = context\n\n const triggerParams = {\n ...contextWithoutData,\n className: classnames(\n 'dnb-step-indicator__trigger',\n createSkeletonClass('font', context.skeleton),\n createSpacingClasses(context)\n ),\n 'aria-live': 'polite',\n } as React.HTMLProps<HTMLElement>\n\n const buttonParams = {\n ...props,\n className: classnames(\n 'dnb-step-indicator__trigger__button',\n props.className\n ),\n }\n\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n context.sidebar_id + '-overview'\n )\n\n Object.keys(triggerParams).forEach((key) => {\n if (context.filterAttributes.includes(key)) {\n delete triggerParams[key]\n }\n })\n\n skeletonDOMAttributes(triggerParams, context.skeleton)\n\n // also used for code markup simulation\n validateDOMAttributes(context, triggerParams)\n\n return (\n <div {...(triggerParams as React.HTMLProps<HTMLDivElement>)}>\n <span className=\"dnb-sr-only\" id={context.sidebar_id + '-overview'}>\n {context.overview_title}\n </span>\n <FormLabel\n aria-describedby={context.sidebar_id}\n for_id={context.sidebar_id}\n className=\"dnb-step-indicator__label\"\n >\n {label}\n </FormLabel>\n <Button\n {...buttonParams}\n id={context.sidebar_id}\n wrap\n stretch\n variant=\"secondary\"\n icon={chevron_icon}\n icon_size=\"medium\"\n icon_position=\"right\"\n inner_ref={buttonRef}\n >\n <StepItemWrapper\n number={(context.activeStep || 0) + 1}\n hide_numbers={context.hide_numbers}\n >\n {(typeof item === 'string' ? item : item && item.title) || ''}\n </StepItemWrapper>\n </Button>\n </div>\n )\n}\n\nexport default StepIndicatorTriggerButton\n"],"mappings":"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"}
@@ -84,6 +84,10 @@ export interface SwitchProps
84
84
  */
85
85
  on_change_end?: (...args: any[]) => any;
86
86
  on_state_update?: (...args: any[]) => any;
87
+ /**
88
+ * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.
89
+ */
90
+ innerRef?: React.Ref;
87
91
  }
88
92
  export default class Switch extends React.Component<SwitchProps, any> {
89
93
  static defaultProps: object;
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  var _AlignmentHelper, _span;
5
- const _excluded = ["value", "size", "status", "status_state", "status_props", "globalStatus", "status_no_animation", "suffix", "label", "label_position", "label_sr_only", "title", "disabled", "readOnly", "skeleton", "className", "class", "id", "checked", "children", "on_change", "on_state_update"];
5
+ const _excluded = ["value", "size", "status", "status_state", "status_props", "globalStatus", "status_no_animation", "suffix", "label", "label_position", "label_sr_only", "title", "disabled", "readOnly", "skeleton", "className", "class", "id", "checked", "children", "on_change", "on_state_update", "innerRef"];
6
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; }
7
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; }
8
8
  import React from 'react';
@@ -73,7 +73,7 @@ export default class Switch extends React.PureComponent {
73
73
  this._refInput.current.focus();
74
74
  }
75
75
  });
76
- this._refInput = React.createRef();
76
+ this._refInput = props.innerRef || React.createRef();
77
77
  this._id = props.id || makeUniqueId();
78
78
  this.state = {
79
79
  _listenForPropChanges: true
@@ -112,7 +112,8 @@ export default class Switch extends React.PureComponent {
112
112
  checked: _checked,
113
113
  children,
114
114
  on_change,
115
- on_state_update
115
+ on_state_update,
116
+ innerRef
116
117
  } = props,
117
118
  rest = _objectWithoutProperties(props, _excluded);
118
119
  const {
@@ -243,7 +244,8 @@ process.env.NODE_ENV !== "production" ? Switch.propTypes = _objectSpread(_object
243
244
  value: PropTypes.string,
244
245
  attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
245
246
  readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
246
- skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
247
+ skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
248
+ innerRef: PropTypes.object
247
249
  }, spacingPropTypes), {}, {
248
250
  class: PropTypes.string,
249
251
  className: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","includeValidProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","helperParams","onMouseDown","e","componentWillUnmount","render","_this$context","defaultProps","skeleton","context","getTranslation","FormRow","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","class","_className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n includeValidProps(this.context.FormRow),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","includeValidProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","innerRef","createRef","_id","id","helperParams","onMouseDown","e","componentWillUnmount","render","_this$context","defaultProps","skeleton","context","getTranslation","FormRow","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","class","_className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.object,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = props.innerRef || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n includeValidProps(this.context.FormRow),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n"],"mappings":"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"}
@@ -20,7 +20,9 @@
20
20
  &::after {
21
21
  content: '';
22
22
  position: absolute;
23
- transition: transform 0.3s ease-out, position 0.3s ease-out;
23
+ transition:
24
+ transform 0.3s ease-out,
25
+ position 0.3s ease-out;
24
26
  }
25
27
  }
26
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"TableContainer.js","names":["React","classnames","TableScrollView","createSpacingClasses","validateDOMAttributes","TableContainer","props","_content$","_content$2","children","className","rest","_objectWithoutProperties","_excluded","spacingClasses","ScrollView","isArray","Array","content","type","Head","unshift","_TableContainer$Head","createElement","key","Foot","push","_TableContainer$Foot","_extends","TableContainerBody","_excluded2","TableContainerHead","_excluded3","TableContainerFoot","_excluded4","Body"],"sources":["../../../../src/components/table/TableContainer.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport TableScrollView, { TableScrollViewProps } from './TableScrollView'\nimport { createSpacingClasses } from '../space/SpacingUtils'\n\nimport type { TableProps } from './Table'\nimport type { SpacingProps } from '../space/types'\nimport { validateDOMAttributes } from '../../shared/component-helper'\n\nexport type TableContainerProps = {\n /**\n * The content of the component.\n */\n children:\n | [\n React.ReactElement<TableContainerHeadProps>,\n React.ReactElement<TableContainerBodyProps>,\n React.ReactElement<TableContainerFootProps>\n ]\n | React.ReactElement<TableContainerBodyProps>\n}\n\nexport type TableContainerAllProps = TableContainerProps &\n React.TableHTMLAttributes<HTMLTableRowElement> &\n SpacingProps\n\ntype InternalTableContainerTableScrollView = Omit<\n TableScrollViewProps,\n 'children'\n> & {\n children: React.ReactNode\n}\n\nexport default function TableContainer(props: TableContainerAllProps) {\n const { children, className, ...rest } = props\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(props, rest)\n\n const ScrollView =\n TableScrollView as React.FunctionComponent<InternalTableContainerTableScrollView>\n\n const isArray = Array.isArray(children)\n const content = isArray ? children : [children]\n\n if (content[0]?.type !== TableContainer.Head) {\n content.unshift(<TableContainer.Head key=\"head\" />)\n }\n if (content[2]?.type !== TableContainer.Foot) {\n content.push(<TableContainer.Foot key=\"foot\" />)\n }\n\n return (\n <section\n className={classnames(\n 'dnb-table__container',\n className,\n spacingClasses\n )}\n {...rest}\n >\n <ScrollView>{content}</ScrollView>\n </section>\n )\n}\n\nexport type TableContainerBodyProps = {\n /**\n * The content of the component.\n */\n children:\n | React.ReactElement<TableProps>\n | Array<React.ReactElement<TableProps>>\n}\n\nexport function TableContainerBody(\n props: TableContainerBodyProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames('dnb-table__container__body', className)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nexport type TableContainerHeadProps = {\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nexport function TableContainerHead(\n props: TableContainerHeadProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames(\n 'dnb-table__container__head',\n !children && 'dnb-table__container__head--empty',\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nexport type TableContainerFootProps = {\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nexport function TableContainerFoot(\n props: TableContainerFootProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames(\n 'dnb-table__container__foot',\n !children && 'dnb-table__container__foot--empty',\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nTableContainer.Body = TableContainerBody\nTableContainer.Head = TableContainerHead\nTableContainer.Foot = TableContainerFoot\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableContainer.js","names":["React","classnames","TableScrollView","createSpacingClasses","validateDOMAttributes","TableContainer","props","_content$","_content$2","children","className","rest","_objectWithoutProperties","_excluded","spacingClasses","ScrollView","isArray","Array","content","type","Head","unshift","_TableContainer$Head","createElement","key","Foot","push","_TableContainer$Foot","_extends","TableContainerBody","_excluded2","TableContainerHead","_excluded3","TableContainerFoot","_excluded4","Body"],"sources":["../../../../src/components/table/TableContainer.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport TableScrollView, { TableScrollViewProps } from './TableScrollView'\nimport { createSpacingClasses } from '../space/SpacingUtils'\n\nimport type { TableProps } from './Table'\nimport type { SpacingProps } from '../space/types'\nimport { validateDOMAttributes } from '../../shared/component-helper'\n\nexport type TableContainerProps = {\n /**\n * The content of the component.\n */\n children:\n | [\n React.ReactElement<TableContainerHeadProps>,\n React.ReactElement<TableContainerBodyProps>,\n React.ReactElement<TableContainerFootProps>,\n ]\n | React.ReactElement<TableContainerBodyProps>\n}\n\nexport type TableContainerAllProps = TableContainerProps &\n React.TableHTMLAttributes<HTMLTableRowElement> &\n SpacingProps\n\ntype InternalTableContainerTableScrollView = Omit<\n TableScrollViewProps,\n 'children'\n> & {\n children: React.ReactNode\n}\n\nexport default function TableContainer(props: TableContainerAllProps) {\n const { children, className, ...rest } = props\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(props, rest)\n\n const ScrollView =\n TableScrollView as React.FunctionComponent<InternalTableContainerTableScrollView>\n\n const isArray = Array.isArray(children)\n const content = isArray ? children : [children]\n\n if (content[0]?.type !== TableContainer.Head) {\n content.unshift(<TableContainer.Head key=\"head\" />)\n }\n if (content[2]?.type !== TableContainer.Foot) {\n content.push(<TableContainer.Foot key=\"foot\" />)\n }\n\n return (\n <section\n className={classnames(\n 'dnb-table__container',\n className,\n spacingClasses\n )}\n {...rest}\n >\n <ScrollView>{content}</ScrollView>\n </section>\n )\n}\n\nexport type TableContainerBodyProps = {\n /**\n * The content of the component.\n */\n children:\n | React.ReactElement<TableProps>\n | Array<React.ReactElement<TableProps>>\n}\n\nexport function TableContainerBody(\n props: TableContainerBodyProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames('dnb-table__container__body', className)}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nexport type TableContainerHeadProps = {\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nexport function TableContainerHead(\n props: TableContainerHeadProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames(\n 'dnb-table__container__head',\n !children && 'dnb-table__container__head--empty',\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nexport type TableContainerFootProps = {\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nexport function TableContainerFoot(\n props: TableContainerFootProps & React.HTMLAttributes<HTMLDivElement>\n) {\n const { children, className, ...rest } = props\n\n return (\n <div\n className={classnames(\n 'dnb-table__container__foot',\n !children && 'dnb-table__container__foot--empty',\n className\n )}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nTableContainer.Body = TableContainerBody\nTableContainer.Head = TableContainerHead\nTableContainer.Foot = TableContainerFoot\n"],"mappings":"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"}
@@ -135,7 +135,9 @@
135
135
 
136
136
  &--outline
137
137
  tbody
138
- &__tr--has-accordion-content:not(#{&}__tr--expanded):not(:nth-last-child(2))
138
+ &__tr--has-accordion-content:not(#{&}__tr--expanded):not(
139
+ :nth-last-child(2)
140
+ )
139
141
  &__td::before {
140
142
  bottom: -0.0625rem;
141
143
  }
@@ -145,7 +147,9 @@
145
147
  background-color: var(--color-white);
146
148
  }
147
149
 
148
- &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):not(:active):not(:hover):focus {
150
+ &__tr--has-accordion-content#{&}__tr:not(&__tr--disabled):not(
151
+ :active
152
+ ):not(:hover):focus {
149
153
  td::before {
150
154
  @include whatInput(keyboard) {
151
155
  top: 0;
@@ -175,7 +179,9 @@
175
179
  @include tableAccordionActiveColor();
176
180
  }
177
181
 
178
- &__tr--has-accordion-content#{&}__tr--expanded:not(&__tr--disabled)#{&}__tr--hover:not(:active):hover
182
+ &__tr--has-accordion-content#{&}__tr--expanded:not(
183
+ &__tr--disabled
184
+ )#{&}__tr--hover:not(:active):hover
179
185
  &__td {
180
186
  background-color: var(--accordion-background);
181
187
 
@@ -185,7 +191,9 @@
185
191
  }
186
192
  }
187
193
 
188
- &__tr--has-accordion-content#{&}__tr#{&}__tr--expanded:not(&__tr--disabled):not(:active):not(:hover) {
194
+ &__tr--has-accordion-content#{&}__tr#{&}__tr--expanded:not(
195
+ &__tr--disabled
196
+ ):not(:active):not(:hover) {
189
197
  @include whatInputNot('keyboard') {
190
198
  background-color: var(--accordion-background);
191
199
 
@@ -294,7 +302,9 @@
294
302
 
295
303
  &--outline
296
304
  tbody
297
- &__tr#{&}__tr--has-accordion-content:not(#{&}__tr--expanded):nth-last-child(2)
305
+ &__tr#{&}__tr--has-accordion-content:not(
306
+ #{&}__tr--expanded
307
+ ):nth-last-child(2)
298
308
  &__td:first-of-type {
299
309
  &,
300
310
  &::before,
@@ -305,7 +315,9 @@
305
315
  &--outline tbody &__tr:last-of-type &__td:last-of-type,
306
316
  &--outline
307
317
  tbody
308
- &__tr#{&}__tr--has-accordion-content:not(#{&}__tr--expanded):nth-last-child(2)
318
+ &__tr#{&}__tr--has-accordion-content:not(
319
+ #{&}__tr--expanded
320
+ ):nth-last-child(2)
309
321
  &__td:last-of-type {
310
322
  &,
311
323
  &::before,
@@ -20,7 +20,9 @@
20
20
  .dnb-table__sort-button.dnb-button {
21
21
  > .dnb-icon {
22
22
  opacity: 0;
23
- transition: opacity 200ms ease-out, transform 500ms ease-out;
23
+ transition:
24
+ opacity 200ms ease-out,
25
+ transform 500ms ease-out;
24
26
 
25
27
  html[data-visual-test] & {
26
28
  transition: none;
@@ -23,7 +23,9 @@
23
23
  &--outline thead &__tr:first-of-type,
24
24
  &--outline
25
25
  tbody
26
- &__tr#{&}__tr--has-accordion-content:not(#{&}__tr--expanded):nth-last-child(2) {
26
+ &__tr#{&}__tr--has-accordion-content:not(
27
+ #{&}__tr--expanded
28
+ ):nth-last-child(2) {
27
29
  // use clip-path, because border-radius does not clip on tr's
28
30
  // use "-1rem" to add room for sticky shadow
29
31
  clip-path: inset(0 0 -1rem 0 round 0.5rem 0.5rem 0 0);
@@ -31,7 +33,9 @@
31
33
  &--outline tbody &__tr:last-of-type,
32
34
  &--outline
33
35
  tbody
34
- &__tr#{&}__tr--has-accordion-content:not(#{&}__tr--expanded):nth-last-child(2) {
36
+ &__tr#{&}__tr--has-accordion-content:not(
37
+ #{&}__tr--expanded
38
+ ):nth-last-child(2) {
35
39
  // use clip-path, because border-radius does not clip on tr's
36
40
  clip-path: inset(0 round 0 0 0.5rem 0.5rem);
37
41
  }