@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":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","_ref","state","icon","icon_size","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_this","this","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","arguments","length","undefined","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","_ref2","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","_globalStatus$items","Boolean","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","fallbackProps","context","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","titleToRender","noAnimation","itemsToRender","contentToRender","style","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","style_type","variant","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","_len","args","Array","_key","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n IconToLoad = InfoIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.state.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n const style = state === 'info' ? 'pistachio' : 'fire-red-8'\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" style_type={style}>\n <p className=\"dnb-p dnb-global-status__title\" lang={lang}>\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </p>\n {hasContent && (\n <Section\n element=\"div\"\n style_type={style}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"GlobalStatus.js","names":["React","PropTypes","classnames","keycode","Context","warn","isTrue","makeUniqueId","validateDOMAttributes","dispatchCustomElementEvent","processChildren","extendPropsWithContextInClassComponent","HeightAnimationInstance","skeletonDOMAttributes","createSkeletonClass","spacingPropTypes","createSpacingClasses","Hr","GlobalStatusController","GlobalStatusInterceptor","GlobalStatusProvider","Icon","InfoIcon","ErrorIcon","WarnIcon","Section","Button","GlobalStatus","PureComponent","getContent","props","text","getIcon","_ref","state","icon","icon_size","theme","IconToLoad","createElement","size","inherit_color","getDerivedStateFromProps","_items","items","globalStatus","combineMessages","constructor","_this","this","_defineProperty","isActive","isAnimating","keepContentVisible","show","delay","parseFloat","arguments","length","undefined","isPassive","run","setState","anim","open","clearTimeout","_visibleTimeout","setTimeout","isClosing","close","_hiddenTimeout","e","preventDefault","closeHandler","provider","add","status_id","initialActiveElement","focus","_globalStatus","event","item","persist","keyCode","item_id","document","window","element","getElementById","isElementVisible","elem","addEventListener","target","classList","removeAttribute","setAttribute","preventScroll","scrollIntoView","block","behavior","_ref2","status_anchor_text","lang","i","id","anchorText","isValidElement","status_anchor_label","Fragment","replace","trim","String","useAutolink","status_anchor_url","key","className","href","onClick","gotoItem","onKeyDown","_wrapperRef","createRef","_shellRef","animate","no_animation","onStart","scrollToStatus","onEnd","setFocus","omit_set_focus_on_update","create","init","onUpdate","on_close","height","adjustFrom","adjustHeight","autoclose","_hadContent","hasContent","setHidden","adjustTo","setVisible","componentDidMount","setElement","current","componentWillUnmount","remove","_scrollToStatusTimeout","empty","componentDidUpdate","prevProps","defaultProps","_globalStatus$items","Boolean","correctStatus","activeElement","omit_set_focus","isDone","autoscroll","top","offsetTop","scrollTo","scrollTop","render","_this$context","_this$context$theme","fallbackProps","context","getTranslation","locale","title","default_title","rawState","hide_close_button","close_text","class","_className","skeleton","children","attributes","_objectWithoutProperties","_excluded","wrapperParams","onKeyDownHandler","tabIndex","iconToRender","name","titleToRender","noAnimation","itemsToRender","contentToRender","params","_objectSpread","renderedItems","map","itemsRenderHandler","renderedContent","variant","on_click","icon_position","_Hr","fullscreen","_extends","ref","on_adjust","on_open","on_show","on_hide","process","env","NODE_ENV","propTypes","string","oneOfType","node","bool","func","array","oneOf","number","_len","args","Array","_key","Update","Add","Remove","callback","delayFallback","IntersectionObserver","intersectionObserver","entries","entry","isIntersecting","unobserve","observe"],"sources":["../../../../src/components/global-status/GlobalStatus.js"],"sourcesContent":["/**\n * Web GlobalStatus Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport Context from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n processChildren,\n extendPropsWithContextInClassComponent,\n} from '../../shared/component-helper'\nimport HeightAnimationInstance from '../height-animation/HeightAnimationInstance'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Hr from '../../elements/hr/Hr'\nimport GlobalStatusController, {\n GlobalStatusInterceptor,\n} from './GlobalStatusController'\nimport GlobalStatusProvider from './GlobalStatusProvider'\nimport Icon from '../icon/Icon'\nimport { InfoIcon, ErrorIcon, WarnIcon } from '../form-status/FormStatus'\nimport Section from '../section/Section'\nimport Button from '../button/Button'\n\nexport default class GlobalStatus extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n status_id: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.bool]),\n default_title: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n items: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n icon_size: PropTypes.string,\n state: PropTypes.oneOf(['error', 'info', 'warning', 'success']),\n show: PropTypes.oneOf(['auto', true, false, 'true', 'false']),\n autoscroll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoclose: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n delay: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n close_text: PropTypes.node,\n hide_close_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n omit_set_focus_on_update: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n status_anchor_text: PropTypes.node,\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_adjust: PropTypes.func,\n on_open: PropTypes.func,\n on_show: PropTypes.func,\n on_close: PropTypes.func,\n on_hide: PropTypes.func,\n }\n\n static defaultProps = {\n id: 'main',\n status_id: 'status-main',\n title: null,\n default_title: null,\n text: null,\n items: [],\n icon: 'error',\n icon_size: 'medium',\n state: 'error',\n show: 'auto',\n autoscroll: true,\n autoclose: true,\n no_animation: false,\n close_text: 'Lukk',\n hide_close_button: false,\n omit_set_focus: false,\n omit_set_focus_on_update: true,\n delay: 0,\n status_anchor_text: null,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_adjust: null,\n on_open: null,\n on_show: null,\n on_close: null,\n on_hide: null,\n }\n\n static getContent(props) {\n if (props.text) return props.text\n return processChildren(props)\n }\n\n static getIcon({ state, icon, icon_size, theme }) {\n if (typeof icon === 'string') {\n let IconToLoad = icon\n\n switch (state) {\n case 'info':\n case 'information':\n case 'success':\n IconToLoad = InfoIcon\n break\n case 'warning':\n case 'warn':\n IconToLoad = WarnIcon\n break\n case 'error':\n default:\n IconToLoad = ErrorIcon\n }\n\n icon = (\n <Icon\n icon={<IconToLoad state={state} theme={theme} />}\n size={icon_size}\n inherit_color={false}\n />\n )\n }\n\n return icon\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._items !== props.items) {\n state.globalStatus = GlobalStatusProvider.combineMessages([\n state.globalStatus,\n props,\n ])\n }\n\n state._items = props.items\n\n return state\n }\n\n state = {\n globalStatus: null,\n isActive: false,\n isAnimating: false,\n keepContentVisible: false,\n }\n\n constructor(props) {\n super(props)\n\n this._wrapperRef = React.createRef()\n this._shellRef = React.createRef()\n\n this.anim = new HeightAnimationInstance({\n animate: !isTrue(props.no_animation),\n })\n\n this.anim.onStart((state) => {\n this.setState({\n isAnimating: true,\n })\n if (state === 'opening') {\n this.scrollToStatus()\n }\n })\n\n this.anim.onEnd((state) => {\n this.setState({\n isAnimating: false,\n })\n\n if (this.state.isActive) {\n this.setState({\n keepContentVisible: true,\n })\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_show',\n this._globalStatus\n )\n\n if (state === 'opened') {\n this.setFocus()\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_open',\n this._globalStatus\n )\n }\n\n if (state === 'adjusted') {\n if (!isTrue(this.props.omit_set_focus_on_update)) {\n this.setFocus()\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_adjust',\n this._globalStatus\n )\n }\n } else {\n this.setState({\n keepContentVisible: false,\n })\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_close',\n this._globalStatus\n )\n }\n })\n\n this.provider = GlobalStatusProvider.create(props.id)\n\n // add the props as the first stack\n this.state.globalStatus = this._globalStatus =\n this.provider.init(props)\n\n // and make it visible from start, if needed\n if (isTrue(props.show)) {\n if (isTrue(props.no_animation)) {\n this.state.isActive = true\n }\n }\n\n this.provider.onUpdate((globalStatus) => {\n // we need the on_close later during the close process\n // so we set this here, because it gets removed from the stack\n if (globalStatus.on_close) {\n this._globalStatus = globalStatus\n }\n\n let height\n if (this.state.keepContentVisible) {\n height = this.anim.adjustFrom()\n }\n\n // force re-render\n this.setState({\n globalStatus,\n })\n\n const isActive = isTrue(globalStatus.show)\n if (isActive) {\n this.adjustHeight = this.anim.adjustFrom()\n\n if (!this.isPassive()) {\n this.setState({ isActive })\n }\n }\n\n // make sure to show the new status, inc. scroll\n if (\n (isTrue(this.props.autoclose) &&\n this._hadContent &&\n !this.hasContent(globalStatus) &&\n !isTrue(this.props.show)) ||\n (typeof globalStatus.show !== 'undefined' &&\n !isTrue(globalStatus.show))\n ) {\n this.setHidden({ delay: 0 })\n } else if (\n isTrue(this.props.show) ||\n (typeof globalStatus.show !== 'undefined' &&\n isTrue(globalStatus.show))\n ) {\n this._hadContent = this.hasContent(globalStatus)\n\n if (this.state.keepContentVisible) {\n this.anim.adjustTo(height)\n } else {\n this.setVisible({ delay: 0 })\n }\n }\n })\n\n this.initialActiveElement = null\n }\n\n componentDidMount() {\n this.anim.setElement(this._shellRef.current)\n\n if (isTrue(this.props.show)) {\n this.setVisible()\n }\n }\n\n componentWillUnmount() {\n this.anim.remove()\n clearTimeout(this._scrollToStatusTimeout)\n clearTimeout(this._visibleTimeout)\n clearTimeout(this._hiddenTimeout)\n\n // NB: Never unbind the provider,\n // as a new provider else will be set BEFORE thi unmount is called\n // on the other hand; setting up the provider\n // at the stage of componentDidMount is too late\n // this.provider.unbind()\n\n // so we inly empty the events\n this.provider.empty()\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n const globalStatus = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.state.globalStatus\n )\n this.setState({\n globalStatus,\n })\n }\n\n if (prevProps.show !== this.props.show) {\n if (isTrue(this.props.show)) {\n this.setVisible()\n } else {\n this.setHidden()\n }\n }\n }\n\n hasContent(globalStatus) {\n return Boolean(globalStatus.items?.length > 0 || globalStatus.text)\n }\n\n correctStatus(state) {\n switch (state) {\n case 'information':\n state = 'info'\n break\n }\n return state\n }\n\n isPassive = () => {\n return this.props.show !== 'auto' && isTrue(this.props.show) === false\n }\n\n setVisible = ({ delay = parseFloat(this.props.delay) } = {}) => {\n if (this.isPassive()) {\n return // stop here\n }\n\n const run = () => {\n this.setState(\n {\n isActive: true,\n },\n () => {\n this.anim.open()\n }\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._visibleTimeout)\n this._visibleTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n setHidden = ({ delay = parseFloat(this.props.delay) } = {}) => {\n const { isActive } = this.state\n\n if (isActive === false) {\n return // stop here\n }\n\n this.setState({\n isClosing: true,\n })\n\n const run = () => {\n this.setState(\n {\n isClosing: false,\n isActive: false,\n },\n () => this.anim.close()\n )\n }\n\n if (delay > 0) {\n clearTimeout(this._hiddenTimeout)\n this._hiddenTimeout = setTimeout(() => {\n run()\n }, delay)\n } else {\n run()\n }\n }\n\n onKeyDownHandler = (e) => {\n switch (keycode(e)) {\n case 'esc':\n e.preventDefault()\n this.closeHandler()\n break\n }\n }\n\n setFocus() {\n if (\n typeof document !== 'undefined' &&\n document.activeElement !== this._wrapperRef.current\n ) {\n this.initialActiveElement = document.activeElement\n }\n if (this._wrapperRef.current && !isTrue(this.props.omit_set_focus)) {\n this._wrapperRef.current.focus({ preventScroll: true })\n }\n }\n\n closeHandler = () => {\n this.provider.add({\n status_id: 'internal-close',\n show: false,\n })\n\n if (this.initialActiveElement) {\n try {\n this.initialActiveElement.focus()\n this.initialActiveElement = null\n } catch (e) {\n warn(e)\n }\n }\n\n dispatchCustomElementEvent(\n this._globalStatus,\n 'on_hide',\n this._globalStatus\n )\n }\n\n scrollToStatus(isDone = null) {\n if (\n typeof window === 'undefined' ||\n isTrue(this.state.globalStatus.autoscroll) === false\n ) {\n return // stop here\n }\n try {\n const element = this._wrapperRef.current\n this._scrollToStatusTimeout = isElementVisible(element, isDone)\n if (element && typeof element.scrollIntoView === 'function') {\n element.scrollIntoView({\n block: 'center',\n behavior: 'smooth',\n })\n } else {\n const top = element.offsetTop\n if (window.scrollTo) {\n window.scrollTo({\n top,\n behavior: 'smooth',\n })\n } else {\n window.scrollTop = top\n }\n }\n } catch (e) {\n warn('GlobalStatus: Could not scroll into view!', e)\n }\n }\n\n gotoItem = (event, item) => {\n event.persist()\n const keyCode = keycode(event)\n if (\n (item.item_id &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n keyCode === 'space') ||\n keyCode === 'enter' ||\n typeof keyCode === 'undefined'\n ) {\n event.preventDefault()\n try {\n // find the element\n const element = document.getElementById(item.item_id)\n\n if (!element) {\n return\n }\n\n isElementVisible(element, (elem) => {\n try {\n // remove the blink animation again\n elem.addEventListener('blur', (e) => {\n if (e.target.classList) {\n e.target.removeAttribute('tabindex')\n }\n })\n\n // we don't want a visual focus style, we have our own\n elem.classList.add('dnb-no-focus')\n\n // in order to use the blur event\n elem.setAttribute('tabindex', '-1')\n\n // now show the animation\n // we use \"attention-focus\" in #form-status theme\n elem.focus({ preventScroll: true })\n } catch (e) {\n warn(e)\n }\n })\n\n if (typeof element.scrollIntoView === 'function') {\n // then go there\n element.scrollIntoView({\n block: 'center', // center of page\n behavior: 'smooth',\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n itemsRenderHandler =\n ({ status_anchor_text, lang }) =>\n (item, i) => {\n const text = item?.text\n ? item.text\n : typeof item === 'string'\n ? item\n : null\n\n if (!text) {\n return null // skip this item if no content is given\n }\n\n const id =\n item.id || item.item_id ? `${item.item_id}-${i}` : makeUniqueId()\n\n let anchorText = status_anchor_text\n\n if (React.isValidElement(item.status_anchor_label)) {\n anchorText = (\n <>\n {typeof status_anchor_text === 'string'\n ? status_anchor_text.replace('%s', '').trim()\n : status_anchor_text}{' '}\n {item.status_anchor_label}\n </>\n )\n } else {\n anchorText = String(item.status_anchor_text || status_anchor_text)\n .replace('%s', item.status_anchor_label || '')\n .replace(/[: ]$/g, '')\n }\n\n const useAutolink = item.item_id && isTrue(item.status_anchor_url)\n\n return (\n <li key={i}>\n <p id={id} className=\"dnb-p\">\n {text}\n </p>\n\n {item && (useAutolink || item.status_anchor_url) && (\n <a\n className=\"dnb-anchor\"\n aria-describedby={id}\n lang={lang}\n href={\n useAutolink ? `#${item.item_id}` : item.status_anchor_url\n }\n onClick={(e) => this.gotoItem(e, item)}\n onKeyDown={(e) => this.gotoItem(e, item)}\n >\n {anchorText}\n </a>\n )}\n </li>\n )\n }\n\n render() {\n const { isActive, isAnimating, keepContentVisible } = this.state\n\n const fallbackProps = extendPropsWithContextInClassComponent(\n this.props,\n GlobalStatus.defaultProps,\n this.context.getTranslation(this.props).GlobalStatus\n )\n\n const props = extendPropsWithContextInClassComponent(\n GlobalStatusProvider.combineMessages([\n this.context.globalStatus,\n this.state.globalStatus,\n ]),\n GlobalStatus.defaultProps,\n fallbackProps\n )\n\n const lang = this.context.locale\n\n const {\n title,\n default_title, // eslint-disable-line\n state: rawState,\n className,\n no_animation,\n hide_close_button,\n close_text,\n class: _className,\n status_anchor_text,\n skeleton,\n\n id,\n item, // eslint-disable-line\n items, // eslint-disable-line\n autoclose, // eslint-disable-line\n show, // eslint-disable-line\n delay, // eslint-disable-line\n autoscroll, // eslint-disable-line\n text, // eslint-disable-line\n icon,\n icon_size,\n children, // eslint-disable-line\n\n ...attributes\n } = props\n\n const wrapperParams = {\n id,\n key: 'global-status',\n className: classnames(\n 'dnb-global-status__wrapper',\n 'dnb-no-focus',\n createSkeletonClass('font', skeleton, this.context),\n createSpacingClasses(props),\n className,\n _className\n ),\n 'aria-live': isActive ? 'assertive' : 'off',\n onKeyDown: this.onKeyDownHandler,\n tabIndex: '-1',\n }\n\n const state = this.correctStatus(rawState)\n const iconToRender = GlobalStatus.getIcon({\n state,\n icon: icon || fallbackProps.icon,\n icon_size: icon_size || fallbackProps.icon_size,\n theme: this.context?.theme?.name || 'ui',\n })\n const titleToRender =\n title || fallbackProps.title || fallbackProps.default_title\n const noAnimation = isTrue(no_animation)\n const itemsToRender = props.items || []\n const contentToRender = GlobalStatus.getContent(props)\n\n /**\n * Show aria-live=\"assertive\" when:\n * 1. once \"show\" is true and before content is applied\n * so \"isActive\" has to have been false on first render\n */\n\n /**\n * Show aria-live=\"off\" when:\n * 1. start hiding\n * 2. \"show\" is true from beginning+\n * + and \"isActive\" is also true from beginning\n * NB: This is to avoid SR reading the content once it's appearing\n */\n\n const params = {\n className: classnames(\n 'dnb-global-status',\n `dnb-global-status--${state}`,\n !isActive && 'dnb-global-status--hidden',\n isActive && keepContentVisible && 'dnb-global-status--visible',\n isAnimating && 'dnb-global-status--is-animating',\n noAnimation && 'dnb-global-status--no-animation'\n ),\n ...attributes,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const renderedItems = itemsToRender.length > 0 && (\n <ul className=\"dnb-ul\">\n {itemsToRender.map(\n this.itemsRenderHandler({ status_anchor_text, lang })\n )}\n </ul>\n )\n\n const hasContent = renderedItems || contentToRender\n\n const renderedContent = (\n <div className=\"dnb-global-status__content\">\n {title !== false && (\n <Section element=\"div\" variant={state}>\n <p className=\"dnb-p dnb-global-status__title\" lang={lang}>\n <span className=\"dnb-global-status__icon\">\n {iconToRender}\n </span>\n {titleToRender}\n {!isTrue(hide_close_button) && (\n <Button\n text={close_text}\n title={close_text}\n variant=\"tertiary\"\n className=\"dnb-global-status__close-button\"\n icon=\"close\"\n on_click={this.closeHandler}\n size=\"medium\"\n icon_position=\"left\"\n />\n )}\n </p>\n {hasContent && (\n <Section\n element=\"div\"\n variant={state}\n className=\"dnb-global-status__message\"\n >\n <div className=\"dnb-global-status__message__content\">\n {typeof contentToRender === 'string' ? (\n <p className=\"dnb-p\">{contentToRender}</p>\n ) : (\n contentToRender\n )}\n {renderedItems}\n </div>\n </Section>\n )}\n <Hr fullscreen />\n </Section>\n )}\n </div>\n )\n\n return (\n <div {...wrapperParams} ref={this._wrapperRef}>\n <section {...params}>\n <div className=\"dnb-global-status__shell\" ref={this._shellRef}>\n {(isAnimating || keepContentVisible || isActive) &&\n renderedContent}\n </div>\n </section>\n </div>\n )\n }\n}\n\n// Extend our component with controllers\nGlobalStatus.create = (...args) => new GlobalStatusInterceptor(...args)\nGlobalStatus.Update = GlobalStatus.create\nGlobalStatus.Add = GlobalStatusController\nGlobalStatus.Remove = GlobalStatusController.Remove\n\nconst isElementVisible = (elem, callback, delayFallback = 1e3) => {\n if (typeof IntersectionObserver !== 'undefined') {\n const intersectionObserver = new IntersectionObserver((entries) => {\n const [entry] = entries\n if (entry.isIntersecting) {\n intersectionObserver.unobserve(elem)\n if (typeof callback === 'function') {\n callback(elem)\n }\n }\n })\n // start observing\n intersectionObserver.observe(elem)\n } else {\n if (typeof callback === 'function') {\n return setTimeout(() => callback(elem), delayFallback)\n }\n }\n return null\n}\n"],"mappings":"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"}
@@ -22,7 +22,8 @@
22
22
  opacity: 1;
23
23
 
24
24
  will-change: height;
25
- transition: height 800ms var(--global-status-easing),
25
+ transition:
26
+ height 800ms var(--global-status-easing),
26
27
  opacity 600ms var(--global-status-easing);
27
28
  }
28
29
 
@@ -0,0 +1,22 @@
1
+ /*
2
+ * GlobalStatus theme
3
+ *
4
+ */
5
+ /*
6
+ * Utilities
7
+ */
8
+ .dnb-global-status__close-button {
9
+ display: none;
10
+ }
11
+ .dnb-global-status--error .dnb-global-status__content .dnb-hr {
12
+ color: var(--sb-color-red);
13
+ }
14
+ .dnb-global-status--info .dnb-global-status__content .dnb-hr {
15
+ color: var(--sb-color-gray-dark-2);
16
+ }
17
+ .dnb-global-status--warning .dnb-global-status__content .dnb-hr {
18
+ color: var(--sb-color-yellow-dark);
19
+ }
20
+ .dnb-global-status--success .dnb-global-status__content .dnb-hr {
21
+ color: var(--sb-color-green-dark-3);
22
+ }
@@ -0,0 +1 @@
1
+ .dnb-global-status__close-button{display:none}.dnb-global-status--error .dnb-global-status__content .dnb-hr{color:var(--sb-color-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--sb-color-gray-dark-2)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--sb-color-yellow-dark)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--sb-color-green-dark-3)}
@@ -0,0 +1,28 @@
1
+ /*
2
+ * GlobalStatus theme
3
+ *
4
+ */
5
+
6
+ @import '../../../../style/core/utilities.scss';
7
+
8
+ .dnb-global-status {
9
+ &__close-button {
10
+ display: none;
11
+ }
12
+
13
+ &--error &__content .dnb-hr {
14
+ color: var(--sb-color-red);
15
+ }
16
+
17
+ &--info &__content .dnb-hr {
18
+ color: var(--sb-color-gray-dark-2);
19
+ }
20
+
21
+ &--warning &__content .dnb-hr {
22
+ color: var(--sb-color-yellow-dark);
23
+ }
24
+
25
+ &--success &__content .dnb-hr {
26
+ color: var(--sb-color-green-dark-3);
27
+ }
28
+ }
@@ -11,9 +11,6 @@
11
11
  .dnb-global-status__icon {
12
12
  font-size: 1rem;
13
13
  }
14
- .dnb-global-status__message__content {
15
- color: var(--color-black-80);
16
- }
17
14
  .dnb-global-status__message.dnb-section--white ::selection {
18
15
  background-color: var(--color-mint-green);
19
16
  }
@@ -22,4 +19,10 @@
22
19
  }
23
20
  .dnb-global-status--info .dnb-global-status__content .dnb-hr {
24
21
  color: var(--color-sea-green);
22
+ }
23
+ .dnb-global-status--warning .dnb-global-status__content .dnb-hr {
24
+ color: var(--color-accent-yellow);
25
+ }
26
+ .dnb-global-status--success .dnb-global-status__content .dnb-hr {
27
+ color: var(--color-ocean-green);
25
28
  }
@@ -1 +1 @@
1
- .dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section:after{box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor,0 .0625rem 0 0 var(--color-black-80),100vw .0625rem 0 0 var(--color-black-80)}.dnb-global-status__icon{font-size:1rem}.dnb-global-status__message__content{color:var(--color-black-80)}.dnb-global-status__message.dnb-section--white ::selection{background-color:var(--color-mint-green)}.dnb-global-status__content .dnb-hr{color:var(--color-fire-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--color-sea-green)}
1
+ .dnb-global-status:not(.dnb-global-status--no-animation).dnb-global-status--fade-in.dnb-global-status.dnb-section:after{box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor,0 .0625rem 0 0 var(--color-black-80),100vw .0625rem 0 0 var(--color-black-80)}.dnb-global-status__icon{font-size:1rem}.dnb-global-status__message.dnb-section--white ::selection{background-color:var(--color-mint-green)}.dnb-global-status__content .dnb-hr{color:var(--color-fire-red)}.dnb-global-status--info .dnb-global-status__content .dnb-hr{color:var(--color-sea-green)}.dnb-global-status--warning .dnb-global-status__content .dnb-hr{color:var(--color-accent-yellow)}.dnb-global-status--success .dnb-global-status__content .dnb-hr{color:var(--color-ocean-green)}
@@ -7,8 +7,11 @@
7
7
 
8
8
  .dnb-global-status {
9
9
  &:not(#{&}--no-animation)#{&}--fade-in#{&}.dnb-section::after {
10
- box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor,
11
- 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor,
10
+ box-shadow:
11
+ 99vw 0 0 0 currentcolor,
12
+ 198vw 0 0 0 currentcolor,
13
+ 297vw 0 0 0 currentcolor,
14
+ 396vw 0 0 0 currentcolor,
12
15
  0 0.0625rem 0 0 var(--color-black-80),
13
16
  100vw 0.0625rem 0 0 var(--color-black-80);
14
17
  }
@@ -18,10 +21,6 @@
18
21
  }
19
22
 
20
23
  &__message {
21
- &__content {
22
- color: var(--color-black-80);
23
- }
24
-
25
24
  &.dnb-section--white ::selection {
26
25
  background-color: var(--color-mint-green);
27
26
  }
@@ -34,4 +33,12 @@
34
33
  &--info &__content .dnb-hr {
35
34
  color: var(--color-sea-green);
36
35
  }
36
+
37
+ &--warning &__content .dnb-hr {
38
+ color: var(--color-accent-yellow);
39
+ }
40
+
41
+ &--success &__content .dnb-hr {
42
+ color: var(--color-ocean-green);
43
+ }
37
44
  }
@@ -10,15 +10,15 @@ import { HeadingCounter, HeadingDebugCounter } from './HeadingCounter';
10
10
  import { SpacingProps } from '../space/types';
11
11
  import { SkeletonShow } from '../Skeleton';
12
12
  import { DynamicElement } from '../../shared/types';
13
- export declare const levelResolution: {
14
- 1: string;
15
- 2: string;
16
- 3: string;
17
- 4: string;
18
- 5: string;
19
- 6: string;
13
+ export type HeadingLevelSizeResolutions = {
14
+ 1: HeadingSize;
15
+ 3: HeadingSize;
16
+ 2: HeadingSize;
17
+ 4: HeadingSize;
18
+ 5: HeadingSize;
19
+ 6: HeadingSize;
20
20
  };
21
- export type HeadingSize = 'auto' | 'xx-large' | 'x-large' | 'large' | 'medium' | 'basis' | 'small' | 'x-small';
21
+ export type HeadingSize = 'xx-large' | 'x-large' | 'large' | 'medium' | 'basis' | 'small' | 'x-small';
22
22
  export type HeadingLevel = '1' | '2' | '3' | '4' | '5' | '6' | 1 | 2 | 3 | 4 | 5 | 6;
23
23
  export type InternalHeadingLevel = number;
24
24
  export type HeadingProps = {
@@ -13,16 +13,9 @@ import HeadingContext from './HeadingContext';
13
13
  import Context from '../../shared/Context';
14
14
  import HeadingProvider from './HeadingProvider';
15
15
  import { createSkeletonClass } from '../skeleton/SkeletonHelper';
16
- import { correctInternalHeadingLevel, resetLevels, resetAllLevels, setNextLevel, globalSyncCounter, globalHeadingCounter, windupHeadings, teardownHeadings, debugCounter } from './HeadingHelpers';
16
+ import { correctInternalHeadingLevel, resetLevels, resetAllLevels, setNextLevel, globalSyncCounter, globalHeadingCounter, windupHeadings, teardownHeadings, debugCounter, getHeadingSize, getHeadingElement } from './HeadingHelpers';
17
17
  import { initCounter } from './HeadingCounter';
18
- export const levelResolution = {
19
- 1: 'xx-large',
20
- 2: 'large',
21
- 3: 'medium',
22
- 4: 'basis',
23
- 5: 'small',
24
- 6: 'x-small'
25
- };
18
+ import { useTheme } from '../../shared';
26
19
  export default function Heading(props) {
27
20
  var _headingContext$headi2, _headingContext$headi3;
28
21
  const context = React.useContext(Context);
@@ -41,7 +34,7 @@ export default function Heading(props) {
41
34
  down: _down,
42
35
  inherit: _inherit,
43
36
  level: _level,
44
- size: _size = 'auto',
37
+ size: _size,
45
38
  skeleton: _skeleton,
46
39
  element: _element,
47
40
  className,
@@ -103,9 +96,10 @@ export default function Heading(props) {
103
96
  setState(_objectSpread({}, state));
104
97
  }
105
98
  }, [props.level]);
99
+ const theme = useTheme();
106
100
  let {
107
101
  size,
108
- element = 'auto',
102
+ element,
109
103
  skeleton
110
104
  } = props;
111
105
  const {
@@ -114,10 +108,10 @@ export default function Heading(props) {
114
108
  const debug = _debug || (headingContext === null || headingContext === void 0 ? void 0 : (_headingContext$headi2 = headingContext.heading) === null || _headingContext$headi2 === void 0 ? void 0 : _headingContext$headi2.debug);
115
109
  const debug_counter = _debug_counter || (headingContext === null || headingContext === void 0 ? void 0 : (_headingContext$headi3 = headingContext.heading) === null || _headingContext$headi3 === void 0 ? void 0 : _headingContext$headi3.debug_counter);
116
110
  const attributes = _objectSpread({}, rest);
117
- if (element === 'auto' || element === null) {
118
- element = `h${level || 'x-small'}`;
119
- if (_size === 'auto' || _size === null) {
120
- size = levelResolution[level || 'x-small'];
111
+ if (element == null) {
112
+ element = getHeadingElement(level);
113
+ if (size == null) {
114
+ size = getHeadingSize(theme === null || theme === void 0 ? void 0 : theme.name)[level];
121
115
  }
122
116
  } else {
123
117
  if (!attributes.role) {
@@ -1 +1 @@
1
- {"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","Context","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","initCounter","levelResolution","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","attributes","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport Context from '../../shared/Context'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { DynamicElement } from '../../shared/types'\n\nexport const levelResolution = {\n 1: 'xx-large',\n 2: 'large',\n 3: 'medium',\n 4: 'basis',\n 5: 'small',\n 6: 'x-small',\n}\n\nexport type HeadingSize =\n | 'auto'\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size = 'auto', // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n let { size, element = 'auto', skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element === 'auto' || element === null) {\n element = `h${level || 'x-small'}`\n if (_size === 'auto' || _size === null) {\n size = levelResolution[level || 'x-small']\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
1
+ {"version":3,"file":"Heading.js","names":["React","classnames","isTrue","validateDOMAttributes","createSpacingClasses","HeadingContext","Context","HeadingProvider","createSkeletonClass","correctInternalHeadingLevel","resetLevels","resetAllLevels","setNextLevel","globalSyncCounter","globalHeadingCounter","windupHeadings","teardownHeadings","debugCounter","getHeadingSize","getHeadingElement","initCounter","useTheme","Heading","props","_headingContext$headi2","_headingContext$headi3","context","useContext","headingContext","_ref","useRef","text","group","_group","debug","_debug","debug_counter","_debug_counter","reset","_reset","skip_correction","_skip_correction","increase","_increase","decrease","_decrease","up","_up","down","_down","inherit","_inherit","level","_level","size","_size","skeleton","_skeleton","element","_element","className","children","rest","_objectWithoutProperties","_excluded","state","setState","useState","_headingContext$headi","_state$headingContext","_state$headingContext2","_state$headingContext3","_state$headingContext4","counter","heading","current","setContextCounter","isHeading","ref","parseFloat","String","bypassChecks","source","prevLevel","useEffect","windup","teardown","_state$headingContext5","_state$headingContext6","_state$headingContext7","_state$headingContext8","newLevel","isRerender","_objectSpread","theme","attributes","name","role","Element","createElement","_extends","Fragment","Level","Increase","Decrease","Up","Down","Reset","_globalHeadingCounter"],"sources":["../../../../src/components/heading/Heading.tsx"],"sourcesContent":["/**\n * Web Heading Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport '../../shared/helpers'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HeadingContext, { HeadingContextProps } from './HeadingContext'\nimport Context from '../../shared/Context'\nimport HeadingProvider from './HeadingProvider'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n correctInternalHeadingLevel,\n resetLevels,\n resetAllLevels,\n setNextLevel,\n globalSyncCounter,\n globalHeadingCounter,\n windupHeadings,\n teardownHeadings,\n debugCounter,\n getHeadingSize,\n getHeadingElement,\n} from './HeadingHelpers'\nimport {\n HeadingCounter,\n HeadingDebugCounter,\n initCounter,\n} from './HeadingCounter'\nimport { SpacingProps } from '../space/types'\nimport { SkeletonShow } from '../Skeleton'\nimport { useTheme } from '../../shared'\nimport { DynamicElement } from '../../shared/types'\n\nexport type HeadingLevelSizeResolutions = {\n 1: HeadingSize\n 3: HeadingSize\n 2: HeadingSize\n 4: HeadingSize\n 5: HeadingSize\n 6: HeadingSize\n}\n\nexport type HeadingSize =\n | 'xx-large'\n | 'x-large'\n | 'large'\n | 'medium'\n | 'basis'\n | 'small'\n | 'x-small'\n\nexport type HeadingLevel =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | 1\n | 2\n | 3\n | 4\n | 5\n | 6\nexport type InternalHeadingLevel = number\n\nexport type HeadingProps = {\n id?: string\n group?: string\n\n /**\n * <em>(required)</em> a heading, can be text or React.Node.\n */\n text?: React.ReactNode\n\n /**\n * Define the typography <a href=\"/uilib/typography/font-size\">font-size</a> by a size <em>type</em>, e.g. `x-large`. Defaults to the predefined heading sizes.\n */\n size?: HeadingSize\n level?: HeadingLevel\n\n /**\n * If set to `true`, the heading level will be incremented by 1.\n */\n increase?: boolean\n\n /**\n * If set to `true`, the heading level will be decremented by 1.\n */\n decrease?: boolean\n up?: boolean\n down?: boolean\n\n /**\n * If set to `true`, the heading will not be corrected and warnings will not be shown. Warnings do not show up in \"production builds\" else either.\n */\n skip_correction?: boolean\n\n /**\n * If set to `true`, the content will have a prefix, showing the heading level.\n */\n debug?: boolean | (() => void)\n\n /**\n * If set to `true`, the content will have both a prefix and a JSON log attached to both headings and level contexts.\n */\n debug_counter?: HeadingDebugCounter\n counter?: HeadingCounter\n\n /**\n * If set to `true`, the heading last used level will be inherited. Also from inside a level context.\n */\n inherit?: boolean\n\n /**\n * If set to `true`, the heading level will be reset to 2. You can give it a custom level if you need to, e.g. `reset(1)`.\n */\n reset?: number | boolean\n\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what HTML element should be used. If you use, e.g. a `span`, then `role=\"heading\"` and `aria-level` gets set. Defaults to semantic heading element.\n */\n element?: DynamicElement\n}\n\nexport type HeadingAllProps = HeadingProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'> &\n SpacingProps\n\nexport default function Heading(props: HeadingAllProps) {\n const context = React.useContext(Context)\n const headingContext = React.useContext(HeadingContext)\n const _ref = React.useRef()\n\n const {\n text,\n group: _group, // eslint-disable-line\n debug: _debug, // eslint-disable-line\n debug_counter: _debug_counter, // eslint-disable-line\n reset: _reset, // eslint-disable-line\n skip_correction: _skip_correction, // eslint-disable-line\n increase: _increase, // eslint-disable-line\n decrease: _decrease, // eslint-disable-line\n up: _up, // eslint-disable-line\n down: _down, // eslint-disable-line\n inherit: _inherit, // eslint-disable-line\n level: _level, // eslint-disable-line\n size: _size, // eslint-disable-line\n skeleton: _skeleton, // eslint-disable-line\n element: _element, // eslint-disable-line\n className,\n children,\n ...rest\n } = props\n\n const [state, setState] = React.useState(() => {\n type State = {\n level: InternalHeadingLevel\n prevLevel?: InternalHeadingLevel\n counter: HeadingCounter\n context: HeadingContextProps\n headingContext?: HeadingContextProps\n }\n const state: State = {\n level: null,\n counter: null,\n context,\n headingContext,\n }\n\n state.counter = initCounter(props)\n\n // If a heading runs inside a context, use that counter\n // else we use the global counter, or create a new one\n const counter = headingContext.heading?.counter\n ? headingContext.heading.counter\n : globalHeadingCounter.current\n\n state.counter.setContextCounter(counter)\n state.counter.isHeading = true\n\n state.counter = correctInternalHeadingLevel({\n counter: state.counter,\n ref: props, // Do that only to make sure we run the correction only if props has changed\n level: parseFloat(String(props.level)),\n inherit: isTrue(props.inherit),\n reset: props.reset,\n increase: isTrue(props.increase) || isTrue(props.up),\n decrease: isTrue(props.decrease) || isTrue(props.down),\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n\n globalSyncCounter.current = state.counter\n\n state.level = state.counter.level\n state.prevLevel = parseFloat(String(props.level))\n\n return state\n })\n\n React.useEffect(() => {\n windupHeadings()\n state.counter.windup()\n\n return () => {\n teardownHeadings()\n state.counter.teardown()\n }\n }, [])\n\n React.useEffect(() => {\n const level = parseFloat(String(props.level))\n if (\n state.prevLevel !== props.level &&\n level > 0 &&\n level !== state.level\n ) {\n // Run this again here, so we can get a recalculated \"useLevel\" from the counter\n const { level: newLevel } = correctInternalHeadingLevel({\n counter: state.counter,\n isRerender: true,\n level,\n bypassChecks:\n isTrue(props.skip_correction) ||\n isTrue(state.headingContext?.heading?.skip_correction),\n source: props.text || props.children, // only for debugging\n debug: props.debug || state.headingContext?.heading?.debug,\n })\n state.level = state.prevLevel = newLevel\n\n setState({ ...state })\n }\n }, [props.level])\n\n const theme = useTheme()\n\n let { size, element, skeleton } = props as HeadingProps\n const { level } = state\n\n const debug = _debug || headingContext?.heading?.debug\n const debug_counter =\n _debug_counter || headingContext?.heading?.debug_counter\n\n const attributes: Record<string, unknown> = {\n ...rest,\n }\n\n if (element == null) {\n element = getHeadingElement(level)\n if (size == null) {\n size = getHeadingSize(theme?.name)[level]\n }\n } else {\n if (!attributes.role) {\n attributes.role = 'heading'\n }\n if (!attributes['aria-level']) {\n attributes['aria-level'] = String(level)\n }\n }\n\n validateDOMAttributes(props, attributes)\n\n if (typeof context?.skeleton !== 'undefined') {\n skeleton = context.skeleton\n }\n\n const Element = element as\n | string\n | React.FunctionComponent<React.HTMLProps<HTMLElement>> // typecasting to avoid typescript parser error ts(2590)\n\n return (\n <Element\n {...attributes}\n ref={_ref}\n className={classnames(\n 'dnb-heading',\n `dnb-h--${size}`,\n createSkeletonClass('font', skeleton, headingContext),\n className,\n createSpacingClasses(props)\n )}\n >\n {debug && (\n <span className=\"dnb-heading__debug\">\n {`[h${level || '6'}] `}\n {debug_counter && (\n <>\n {' '}\n <span className=\"dnb-code\">\n {debugCounter(state.counter)}\n </span>\n </>\n )}\n </span>\n )}\n {text || children}\n </Element>\n )\n}\n\ntype HeadingStaticProps = Omit<HeadingAllProps, 'ref' | 'size'>\n\nHeading.Level = HeadingProvider\nHeading.Increase = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Decrease = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Up = (props: HeadingStaticProps) => (\n <HeadingProvider increase {...props} />\n)\nHeading.Down = (props: HeadingStaticProps) => (\n <HeadingProvider decrease {...props} />\n)\nHeading.Reset = (props: HeadingStaticProps) => {\n globalHeadingCounter.current?.reset()\n return <HeadingProvider {...props} />\n}\nHeading.resetLevels = resetLevels\nHeading.setNextLevel = setNextLevel\n\n// Interceptor to reset leveling\nexport { resetAllLevels, resetLevels, setNextLevel }\n"],"mappings":"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"}
@@ -2,7 +2,9 @@
2
2
  * Web Heading Counter
3
3
  *
4
4
  */
5
- import { HeadingAllProps, InternalHeadingLevel } from './Heading';
5
+ import { HeadingAllProps, InternalHeadingLevel, HeadingLevelSizeResolutions } from './Heading';
6
+ import { ThemeNames } from '../../shared';
7
+ import { DynamicElement } from '../../shared/types';
6
8
  import { HeadingCounter } from './HeadingCounter';
7
9
  type GlobalSyncCounter = {
8
10
  current: HeadingCounter;
@@ -46,4 +48,6 @@ export declare function setNextLevel(level: InternalHeadingLevel, { overwriteCon
46
48
  export declare function windupHeadings(): void;
47
49
  export declare function teardownHeadings(): void;
48
50
  export declare function debugCounter(counter: any): string;
51
+ export declare const getHeadingSize: (theme: ThemeNames) => HeadingLevelSizeResolutions;
52
+ export declare const getHeadingElement: (level: InternalHeadingLevel) => DynamicElement;
49
53
  export {};
@@ -178,4 +178,43 @@ export function debugCounter(counter) {
178
178
  contextLEntry: counter.contextCounter.entry
179
179
  }, null, 2);
180
180
  }
181
+ export const getHeadingSize = theme => {
182
+ switch (theme) {
183
+ case 'sbanken':
184
+ return {
185
+ 1: 'xx-large',
186
+ 2: 'x-large',
187
+ 3: 'large',
188
+ 4: 'medium',
189
+ 5: 'basis',
190
+ 6: 'small'
191
+ };
192
+ case 'ui':
193
+ default:
194
+ return {
195
+ 1: 'xx-large',
196
+ 2: 'large',
197
+ 3: 'medium',
198
+ 4: 'basis',
199
+ 5: 'small',
200
+ 6: 'x-small'
201
+ };
202
+ }
203
+ };
204
+ export const getHeadingElement = level => {
205
+ switch (level) {
206
+ case 1:
207
+ return 'h1';
208
+ case 2:
209
+ return 'h2';
210
+ case 3:
211
+ return 'h3';
212
+ case 4:
213
+ return 'h4';
214
+ case 5:
215
+ return 'h5';
216
+ case 6:
217
+ return 'h6';
218
+ }
219
+ };
181
220
  //# sourceMappingURL=HeadingHelpers.js.map