@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
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  var _AlignmentHelper, _span, _span2;
5
- const _excluded = ["status", "status_state", "status_props", "status_no_animation", "globalStatus", "suffix", "element", "label", "label_sr_only", "label_position", "size", "readOnly", "skeleton", "className", "class", "id", "group", "value", "checked", "disabled", "children", "on_change", "on_state_update"];
5
+ const _excluded = ["status", "status_state", "status_props", "status_no_animation", "globalStatus", "suffix", "element", "label", "label_sr_only", "label_position", "size", "readOnly", "skeleton", "className", "class", "id", "group", "value", "checked", "disabled", "children", "on_change", "on_state_update", "innerRef"];
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
  import React from 'react';
@@ -154,7 +154,7 @@ export default class Radio extends React.PureComponent {
154
154
  this._refInput.current.focus();
155
155
  }
156
156
  });
157
- this._refInput = React.createRef();
157
+ this._refInput = props.innerRef || React.createRef();
158
158
  this._id = props.id || makeUniqueId();
159
159
  this.state = {
160
160
  _listenForPropChanges: true
@@ -189,7 +189,8 @@ export default class Radio extends React.PureComponent {
189
189
  disabled: _disabled,
190
190
  children,
191
191
  on_change,
192
- on_state_update
192
+ on_state_update,
193
+ innerRef
193
194
  } = props,
194
195
  rest = _objectWithoutProperties(props, _excluded);
195
196
  let {
@@ -344,7 +345,8 @@ process.env.NODE_ENV !== "production" ? Radio.propTypes = _objectSpread(_objectS
344
345
  value: PropTypes.string,
345
346
  attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
346
347
  skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
347
- readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
348
+ readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
349
+ innerRef: PropTypes.object
348
350
  }, spacingPropTypes), {}, {
349
351
  class: PropTypes.string,
350
352
  className: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","FormLabel","FormStatus","RadioGroup","RadioGroupContext","Context","Suffix","includeValidProps","Radio","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","key","isInNoGroup","onChangeHandler","isContextGroupOrSingle","value","context","preventDefault","setState","_event","readOnly","target","isPlainGroup","setTimeout","callOnChange","group","onChange","_refInput","current","focus","createRef","_id","id","render","createElement","Consumer","contextProps","defaultProps","skeleton","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","class","_className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","hasContext","name","showStatus","mainParams","inputParams","role","type","Object","assign","labelComp","for_id","text","sr_only","Element","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","undefined","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","_span","_span2","attributes","test","String","process","env","NODE_ENV","propTypes","_objectSpread","oneOfType","string","func","node","bool","oneOf","object","shape","message"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n includeValidProps(context.FormRow),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n class: _className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span className=\"dnb-radio__dot\" aria-hidden />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","FormLabel","FormStatus","RadioGroup","RadioGroupContext","Context","Suffix","includeValidProps","Radio","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","key","isInNoGroup","onChangeHandler","isContextGroupOrSingle","value","context","preventDefault","setState","_event","readOnly","target","isPlainGroup","setTimeout","callOnChange","group","onChange","_refInput","current","focus","innerRef","createRef","_id","id","render","createElement","Consumer","contextProps","defaultProps","skeleton","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","class","_className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","hasContext","name","showStatus","mainParams","inputParams","role","type","Object","assign","labelComp","for_id","text","sr_only","Element","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","undefined","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","_span","_span2","attributes","test","String","process","env","NODE_ENV","propTypes","_objectSpread","oneOfType","string","func","node","bool","oneOf","object","shape","message"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.object,\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = props.innerRef || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n includeValidProps(context.FormRow),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n class: _className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span className=\"dnb-radio__dot\" aria-hidden />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}
@@ -8,7 +8,9 @@
8
8
  .dnb-radio {
9
9
  &__dot {
10
10
  background-color: var(--color-sea-green);
11
- transition: opacity 200ms ease-out, transform 200ms ease-out;
11
+ transition:
12
+ opacity 200ms ease-out,
13
+ transform 200ms ease-out;
12
14
  }
13
15
 
14
16
  // When radio is ON
@@ -62,7 +64,9 @@
62
64
  }
63
65
 
64
66
  // On hover
65
- &__input:not([disabled]):not(:focus):not(:checked):not([data-checked='true']):hover
67
+ &__input:not([disabled]):not(:focus):not(:checked):not(
68
+ [data-checked='true']
69
+ ):hover
66
70
  ~ &__button {
67
71
  background-color: var(--color-mint-green-50);
68
72
  }
@@ -112,7 +116,9 @@
112
116
  @include fakeBorder(var(--color-fire-red), var(--focus-ring-width));
113
117
  }
114
118
  &__status--error
115
- &__input:not([disabled]):not(:focus):not(:checked):not([data-checked='true']):hover
119
+ &__input:not([disabled]):not(:focus):not(:checked):not(
120
+ [data-checked='true']
121
+ ):hover
116
122
  ~ &__button {
117
123
  background-color: var(--color-fire-red-8);
118
124
  }
@@ -120,7 +126,9 @@
120
126
  &__input:not([disabled]):not(:focus):not(:active):not(:hover):checked
121
127
  ~ &__dot,
122
128
  &__status--error
123
- &__input:not([disabled]):not(:focus):not(:active):not(:hover)[data-checked='true']
129
+ &__input:not([disabled]):not(:focus):not(:active):not(
130
+ :hover
131
+ )[data-checked='true']
124
132
  ~ &__dot {
125
133
  background-color: var(--color-fire-red);
126
134
  }
@@ -128,7 +136,9 @@
128
136
  &__input:not([disabled]):not(:focus):not(:active):checked:hover
129
137
  ~ &__dot,
130
138
  &__status--error
131
- &__input:not([disabled]):not(:focus):not(:active)[data-checked='true']:hover
139
+ &__input:not([disabled]):not(:focus):not(
140
+ :active
141
+ )[data-checked='true']:hover
132
142
  ~ &__dot {
133
143
  background-color: var(--color-fire-red-8);
134
144
  }
@@ -5,7 +5,27 @@
5
5
  import React from 'react';
6
6
  import type { DynamicElement, SpacingProps } from '../../shared/types';
7
7
  export type SectionVariants = 'error' | 'info' | 'warning' | 'success';
8
- export type SectionStyleTypes = 'divider' | 'white' | 'transparent' | 'lavender' | 'pistachio' | 'emerald-green' | 'sea-green' | 'fire-red' | 'fire-red-8' | 'sand-yellow' | 'black-3' | 'mint-green' | 'mint-green-12';
8
+ export type SectionStyleTypes = 'divider' | 'white' | 'transparent'
9
+ /** @deprecated in v11 use "variant" prop instead */
10
+ | 'lavender'
11
+ /** @deprecated in v11 use "variant" prop instead */
12
+ | 'pistachio'
13
+ /** @deprecated in v11 use "variant" prop instead */
14
+ | 'emerald-green'
15
+ /** @deprecated in v11 use "variant" prop instead */
16
+ | 'sea-green'
17
+ /** @deprecated in v11 use "variant" prop instead */
18
+ | 'fire-red'
19
+ /** @deprecated in v11 use "variant" prop instead */
20
+ | 'fire-red-8'
21
+ /** @deprecated in v11 use "variant" prop instead */
22
+ | 'sand-yellow'
23
+ /** @deprecated in v11 use "variant" prop instead */
24
+ | 'black-3'
25
+ /** @deprecated in v11 use "variant" prop instead */
26
+ | 'mint-green'
27
+ /** @deprecated in v11 use "variant" prop instead */
28
+ | 'mint-green-12';
9
29
  export type SectionSpacing = boolean | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';
10
30
  export type SectionProps = {
11
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","validateDOMAttributes","extendPropsWithContext","createSpacingClasses","defaultProps","element","Section","localProps","context","useContext","props","variant","style_type","spacing","inner_ref","className","children","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","internalRef","useRef","elementRef","Element","createElement"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type SectionVariants =\n | 'error'\n | 'info'\n | 'warning'\n | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n | 'lavender'\n | 'pistachio'\n | 'emerald-green'\n | 'sea-green'\n | 'fire-red'\n | 'fire-red-8'\n | 'sand-yellow'\n | 'black-3'\n | 'mint-green'\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * To define the style of the visual helper. Use and `Style ID` from below. Defaults to `mint-green-12`.\n */\n style_type?: SectionStyleTypes | string\n\n /**\n * Will add spacing around the given content. If `true`, then `large` is used. See the [available sizes](/uilib/usage/layout/spacing#spacing-helpers). Defaults to `false`.\n */\n spacing?: SectionSpacing\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n inner_ref?: React.RefObject<HTMLElement>\n className?: string\n children?: React.ReactNode\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n element,\n variant,\n style_type,\n spacing,\n inner_ref,\n\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ?? (style_type || 'default')}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n createSpacingClasses(props),\n className\n ),\n ...(attributes as Record<string, unknown>),\n }\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = inner_ref || internalRef\n params['ref'] = elementRef\n\n validateDOMAttributes(props, params)\n\n const Element = element || 'section'\n\n return <Element {...params}>{children}</Element>\n}\n"],"mappings":";;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,MAAM,EACNC,qBAAqB,EACrBC,sBAAsB,QACjB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,wBAAwB;AA+D7D,MAAMC,YAAY,GAAG;EACnBC,OAAO,EAAE;AACX,CAAC;AAED,eAAe,SAASC,OAAOA,CAACC,UAA2B,EAAE;EAC3D,MAAMC,OAAO,GAAGX,KAAK,CAACY,UAAU,CAACV,OAAO,CAAC;EAGzC,MAAMW,KAAK,GAAGR,sBAAsB,CAClCK,UAAU,EACVH,YAAY,EACZI,OAAO,CAACF,OACV,CAAC;EAED,MAAM;MACJD,OAAO;MACPM,OAAO;MACPC,UAAU;MACVC,OAAO;MACPC,SAAS;MAETC,SAAS;MACTC;IAGF,CAAC,GAAGN,KAAK;IADJO,UAAU,GAAAC,wBAAA,CACXR,KAAK,EAAAS,SAAA;EAET,MAAMC,MAAM,GAAAC,aAAA;IACVN,SAAS,EAAEjB,UAAU,6BAEHa,OAAO,KAAKC,UAAU,IAAI,SAAS,CAAE,IAGrDT,oBAAoB,CAACO,KAAK,CAAC,EAC3BK,SAAS,EAHTF,OAAO,IACJ,wBAAuBb,MAAM,CAACa,OAAO,CAAC,GAAG,OAAO,GAAGA,OAAQ,EAGhE;EAAC,GACGI,UAAU,CACf;EAED,MAAMK,WAAW,GAAGzB,KAAK,CAAC0B,MAAM,CAAc,CAAC;EAC/C,MAAMC,UAAU,GAAGV,SAAS,IAAIQ,WAAW;EAC3CF,MAAM,CAAC,KAAK,CAAC,GAAGI,UAAU;EAE1BvB,qBAAqB,CAACS,KAAK,EAAEU,MAAM,CAAC;EAEpC,MAAMK,OAAO,GAAGpB,OAAO,IAAI,SAAS;EAEpC,OAAOR,KAAA,CAAA6B,aAAA,CAACD,OAAO,EAAKL,MAAM,EAAGJ,QAAkB,CAAC;AAClD"}
1
+ {"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","validateDOMAttributes","extendPropsWithContext","createSpacingClasses","defaultProps","element","Section","localProps","context","useContext","props","variant","style_type","spacing","inner_ref","className","children","attributes","_objectWithoutProperties","_excluded","params","_objectSpread","internalRef","useRef","elementRef","Element","createElement"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport type { DynamicElement, SpacingProps } from '../../shared/types'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * To define the style of the visual helper. Use and `Style ID` from below. Defaults to `mint-green-12`.\n */\n style_type?: SectionStyleTypes | string\n\n /**\n * Will add spacing around the given content. If `true`, then `large` is used. See the [available sizes](/uilib/usage/layout/spacing#spacing-helpers). Defaults to `false`.\n */\n spacing?: SectionSpacing\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n inner_ref?: React.RefObject<HTMLElement>\n className?: string\n children?: React.ReactNode\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n element,\n variant,\n style_type,\n spacing,\n inner_ref,\n\n className,\n children,\n\n ...attributes\n } = props\n\n const params = {\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ?? (style_type || 'default')}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n createSpacingClasses(props),\n className\n ),\n ...(attributes as Record<string, unknown>),\n }\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = inner_ref || internalRef\n params['ref'] = elementRef\n\n validateDOMAttributes(props, params)\n\n const Element = element || 'section'\n\n return <Element {...params}>{children}</Element>\n}\n"],"mappings":";;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,MAAM,EACNC,qBAAqB,EACrBC,sBAAsB,QACjB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,wBAAwB;AAsE7D,MAAMC,YAAY,GAAG;EACnBC,OAAO,EAAE;AACX,CAAC;AAED,eAAe,SAASC,OAAOA,CAACC,UAA2B,EAAE;EAC3D,MAAMC,OAAO,GAAGX,KAAK,CAACY,UAAU,CAACV,OAAO,CAAC;EAGzC,MAAMW,KAAK,GAAGR,sBAAsB,CAClCK,UAAU,EACVH,YAAY,EACZI,OAAO,CAACF,OACV,CAAC;EAED,MAAM;MACJD,OAAO;MACPM,OAAO;MACPC,UAAU;MACVC,OAAO;MACPC,SAAS;MAETC,SAAS;MACTC;IAGF,CAAC,GAAGN,KAAK;IADJO,UAAU,GAAAC,wBAAA,CACXR,KAAK,EAAAS,SAAA;EAET,MAAMC,MAAM,GAAAC,aAAA;IACVN,SAAS,EAAEjB,UAAU,6BAEHa,OAAO,KAAKC,UAAU,IAAI,SAAS,CAAE,IAGrDT,oBAAoB,CAACO,KAAK,CAAC,EAC3BK,SAAS,EAHTF,OAAO,IACJ,wBAAuBb,MAAM,CAACa,OAAO,CAAC,GAAG,OAAO,GAAGA,OAAQ,EAGhE;EAAC,GACGI,UAAU,CACf;EAED,MAAMK,WAAW,GAAGzB,KAAK,CAAC0B,MAAM,CAAc,CAAC;EAC/C,MAAMC,UAAU,GAAGV,SAAS,IAAIQ,WAAW;EAC3CF,MAAM,CAAC,KAAK,CAAC,GAAGI,UAAU;EAE1BvB,qBAAqB,CAACS,KAAK,EAAEU,MAAM,CAAC;EAEpC,MAAMK,OAAO,GAAGpB,OAAO,IAAI,SAAS;EAEpC,OAAOR,KAAA,CAAA6B,aAAA,CAACD,OAAO,EAAKL,MAAM,EAAGJ,QAAkB,CAAC;AAClD"}
@@ -17,7 +17,7 @@
17
17
  top: 0;
18
18
  width: 100vw;
19
19
  height: 100%;
20
- color: var(--color-mint-green-12);
20
+ color: var(--color-mint-green-12); /** deprecated: should be white in v11 */
21
21
  background-color: currentcolor;
22
22
  box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor, 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor;
23
23
  }
@@ -20,13 +20,18 @@
20
20
  top: 0;
21
21
  width: 100vw;
22
22
  height: 100%;
23
- color: var(--color-mint-green-12);
23
+ color: var(
24
+ --color-mint-green-12
25
+ ); /** deprecated: should be white in v11 */
24
26
  background-color: currentcolor;
25
27
 
26
28
  // we use box-shadow to avoid a horizontal scrollbar
27
29
  // We lower the left position, so we get an overlap
28
- box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor,
29
- 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor;
30
+ box-shadow:
31
+ 99vw 0 0 0 currentcolor,
32
+ 198vw 0 0 0 currentcolor,
33
+ 297vw 0 0 0 currentcolor,
34
+ 396vw 0 0 0 currentcolor;
30
35
  }
31
36
 
32
37
  & &::after {
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  .dnb-section {
4
2
  &--transparent {
5
3
  &::after {
@@ -7,7 +5,8 @@
7
5
  }
8
6
  }
9
7
 
10
- &--default, &--divider {
8
+ &--default,
9
+ &--divider {
11
10
  color: var(--sb-color-text);
12
11
 
13
12
  &::after {
@@ -54,4 +53,4 @@
54
53
  color: var(--sb-color-green-light-2);
55
54
  }
56
55
  }
57
- }
56
+ }
@@ -9,6 +9,15 @@
9
9
  /*
10
10
  * Utilities
11
11
  */
12
+ .dnb-section {
13
+ /** deprecated: default should be white in v11 */
14
+ /** deprecated */
15
+ /** deprecated */
16
+ /** deprecated */
17
+ /** deprecated */
18
+ /** deprecated */
19
+ /** deprecated */
20
+ }
12
21
  .dnb-section--divider {
13
22
  color: var(--color-black-80);
14
23
  }
@@ -11,8 +11,11 @@
11
11
 
12
12
  &::after {
13
13
  color: var(--color-white);
14
- box-shadow: 99vw 0 0 0 currentcolor, 198vw 0 0 0 currentcolor,
15
- 297vw 0 0 0 currentcolor, 396vw 0 0 0 currentcolor,
14
+ box-shadow:
15
+ 99vw 0 0 0 currentcolor,
16
+ 198vw 0 0 0 currentcolor,
17
+ 297vw 0 0 0 currentcolor,
18
+ 396vw 0 0 0 currentcolor,
16
19
  0 0.0625rem 0 0 var(--color-mint-green-50),
17
20
  99vw 0.0625rem 0 0 var(--color-mint-green-50),
18
21
  0 -0.0625rem 0 0 var(--color-mint-green-50),
@@ -28,7 +31,9 @@
28
31
  }
29
32
  }
30
33
 
31
- &--mint-green-12, &--default {
34
+ /** deprecated: default should be white in v11 */
35
+ &--mint-green-12,
36
+ &--default {
32
37
  color: var(--color-black-80);
33
38
 
34
39
  &::after {
@@ -44,6 +49,7 @@
44
49
  }
45
50
  }
46
51
 
52
+ /** deprecated */
47
53
  &--mint-green {
48
54
  color: var(--color-black-80);
49
55
 
@@ -52,6 +58,7 @@
52
58
  }
53
59
  }
54
60
 
61
+ /** deprecated */
55
62
  &--lavender {
56
63
  color: var(--color-black-80);
57
64
 
@@ -60,7 +67,8 @@
60
67
  }
61
68
  }
62
69
 
63
- &--sand-yellow, &--warning {
70
+ &--sand-yellow,/** deprecated */
71
+ &--warning {
64
72
  color: var(--color-black-80);
65
73
 
66
74
  &::after {
@@ -68,7 +76,8 @@
68
76
  }
69
77
  }
70
78
 
71
- &--pistachio, &--info {
79
+ &--pistachio,/** deprecated */
80
+ &--info {
72
81
  color: var(--color-black-80);
73
82
 
74
83
  &::after {
@@ -76,6 +85,7 @@
76
85
  }
77
86
  }
78
87
 
88
+ /** deprecated */
79
89
  &--black-3 {
80
90
  color: var(--color-black-80);
81
91
 
@@ -84,6 +94,7 @@
84
94
  }
85
95
  }
86
96
 
97
+ /** deprecated */
87
98
  &--emerald-green {
88
99
  color: var(--color-mint-green);
89
100
 
@@ -92,6 +103,7 @@
92
103
  }
93
104
  }
94
105
 
106
+ /** deprecated */
95
107
  &--sea-green {
96
108
  color: var(--color-white);
97
109
 
@@ -100,6 +112,7 @@
100
112
  }
101
113
  }
102
114
 
115
+ /** deprecated */
103
116
  &--fire-red {
104
117
  color: var(--color-white);
105
118
 
@@ -108,7 +121,8 @@
108
121
  }
109
122
  }
110
123
 
111
- &--fire-red-8, &--error {
124
+ &--fire-red-8,/** deprecated */
125
+ &--error {
112
126
  color: var(--color-black-80);
113
127
 
114
128
  &::after {
@@ -125,16 +139,16 @@
125
139
  }
126
140
 
127
141
  // Contrast styles
128
- &--fire-red .dnb-anchor,
129
- &--emerald-green .dnb-anchor,
130
- &--sea-green .dnb-anchor,
142
+ &--fire-red .dnb-anchor,/** deprecated */
143
+ &--emerald-green .dnb-anchor,/** deprecated */
144
+ &--sea-green .dnb-anchor,/** deprecated */
131
145
  &--success .dnb-anchor {
132
146
  @include useAnchorContrastStyle();
133
147
  }
134
148
 
135
- &--fire-red .dnb-button--tertiary,
136
- &--emerald-green .dnb-button--tertiary,
137
- &--sea-green .dnb-button--tertiary {
149
+ &--fire-red .dnb-button--tertiary,/** deprecated */
150
+ &--emerald-green .dnb-button--tertiary,/** deprecated */
151
+ &--sea-green .dnb-button--tertiary /** deprecated */ {
138
152
  color: var(--color-white);
139
153
 
140
154
  &:hover {
@@ -155,8 +169,8 @@
155
169
  }
156
170
 
157
171
  // contrast color
158
- &--fire-red,
159
- &--mint-green {
172
+ &--fire-red,/** deprecated */
173
+ &--mint-green /** deprecated */ {
160
174
  ::selection {
161
175
  background-color: var(--color-white);
162
176
  }
@@ -125,7 +125,8 @@ $fonts-path: '../../assets/fonts/dnb' !default;
125
125
  // Skeleton-Regular
126
126
  @font-face {
127
127
  font-family: DNBSkeleton;
128
- src: url('#{$fonts-path}/skeleton/DNB-Skeleton-Regular.woff2')
128
+ src:
129
+ url('#{$fonts-path}/skeleton/DNB-Skeleton-Regular.woff2')
129
130
  format('woff2'),
130
131
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Regular.woff') format('woff'),
131
132
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Regular.ttf')
@@ -138,7 +139,8 @@ $fonts-path: '../../assets/fonts/dnb' !default;
138
139
  // Skeleton-Medium
139
140
  @font-face {
140
141
  font-family: DNBSkeleton;
141
- src: url('#{$fonts-path}/skeleton/DNB-Skeleton-Medium.woff2')
142
+ src:
143
+ url('#{$fonts-path}/skeleton/DNB-Skeleton-Medium.woff2')
142
144
  format('woff2'),
143
145
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Medium.woff') format('woff'),
144
146
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Medium.ttf')
@@ -151,8 +153,8 @@ $fonts-path: '../../assets/fonts/dnb' !default;
151
153
  // Skeleton-Bold
152
154
  @font-face {
153
155
  font-family: DNBSkeleton;
154
- src: url('#{$fonts-path}/skeleton/DNB-Skeleton-Bold.woff2')
155
- format('woff2'),
156
+ src:
157
+ url('#{$fonts-path}/skeleton/DNB-Skeleton-Bold.woff2') format('woff2'),
156
158
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Bold.woff') format('woff'),
157
159
  url('#{$fonts-path}/skeleton/DNB-Skeleton-Bold.ttf') format('truetype');
158
160
  font-weight: 600;
@@ -163,7 +165,8 @@ $fonts-path: '../../assets/fonts/dnb' !default;
163
165
  // Mono-Skeleton
164
166
  @font-face {
165
167
  font-family: DNBMonoSkeleton;
166
- src: url('#{$fonts-path}/skeleton/DNBMono-Skeleton-Regular.woff2')
168
+ src:
169
+ url('#{$fonts-path}/skeleton/DNBMono-Skeleton-Regular.woff2')
167
170
  format('woff2'),
168
171
  url('#{$fonts-path}/skeleton/DNBMono-Skeleton-Regular.woff')
169
172
  format('woff'),
@@ -199,8 +199,10 @@
199
199
 
200
200
  &__state--animate &__thumb,
201
201
  &__state--animate &__line {
202
- transition: left 250ms var(--easing-default),
203
- top 250ms var(--easing-default), bottom 250ms var(--easing-default),
202
+ transition:
203
+ left 250ms var(--easing-default),
204
+ top 250ms var(--easing-default),
205
+ bottom 250ms var(--easing-default),
204
206
  right 250ms var(--easing-default),
205
207
  box-shadow 250ms var(--easing-default);
206
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingClasses","props","Element","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","includes","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction)) {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SpacingUtils.js","names":["warn","spacingDefaultProps","space","top","right","bottom","left","spacePatterns","small","medium","large","globalThis","CALC_CACHE","calc","types","hash","join","result","forEach","rawTypes","createTypeModifiers","type","push","length","createSpacingClasses","props","Element","p","Object","isFrozen","_objectSpread","i","isValidSpaceProp","entries","reduce","acc","direction","cur","String","typeModifiers","sum","sumTypes","nearestTypes","findNearestTypes","map","isInline","translateSpace","test","replace","splitTypes","split","clean","t","filter","r","firstLetter","parseFloat","num","foundType","findType","found","findTypeAll","listOfSpacePatterns","find","k","v","multiply","res","near","reverse","includes","nearNum","nearType","leftOver","foundMoreTypes","index","indexOf","propName","removeSpaceProps","elementName"],"sources":["../../../../src/components/space/SpacingUtils.ts"],"sourcesContent":["/**\n * Space helper\n *\n */\n\nimport { warn } from '../../shared/component-helper'\n\nimport type {\n SpaceType,\n SpacingUnknownProps,\n SpacingProps,\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n SpaceStringTypes,\n} from './types'\n\ntype SpaceNumber = number\n\nexport const spacingDefaultProps: SpacingProps = {\n space: null,\n top: null,\n right: null,\n bottom: null,\n left: null,\n}\n// IMPORTANT: Keep the shorthand after the long type names\nexport const spacePatterns: Record<\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType\n> = {\n 'xx-small': 0.25,\n 'x-small': 0.5,\n small: 1,\n medium: 1.5,\n large: 2,\n 'x-large': 3,\n 'xx-large': 3.5,\n 'xx-large-x2': 7,\n}\n\n/**\n * Helper function to generate a calc(var(--spacing-large) + var(--spacing-small))\n *\n * @param types 'small', '16px', '1rem'\n * @returns e.g. calc(var(--spacing-large) + var(--spacing-small))\n */\nglobalThis.CALC_CACHE = {}\nexport const calc = (...types: Array<SpaceType>) => {\n const hash = types.join('|')\n if (globalThis.CALC_CACHE[hash]) {\n return globalThis.CALC_CACHE[hash]\n }\n\n const result: Array<string> = []\n\n types.forEach((rawTypes) => {\n createTypeModifiers(rawTypes as SpaceType).forEach((type) => {\n result.push(`var(--spacing-${type})`)\n })\n })\n\n return result.length\n ? (globalThis.CALC_CACHE[hash] = `calc(${result.join(' + ')})`)\n : null\n}\n\n/**\n * Creates a valid space CSS class out from given space types\n *\n * @param props\n * @param Element to check if it should be handled as inline\n * @returns \"dnb-space__large dnb-space__small\"\n */\nexport const createSpacingClasses = (\n props:\n | SpacingProps\n /**\n * To support typical not defined props form components\n */\n | SpacingUnknownProps,\n Element = null\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n\n if (typeof p.space !== 'undefined') {\n if (\n typeof p.space === 'string' ||\n typeof p.space === 'number' ||\n (typeof p.space === 'boolean' && p.space)\n ) {\n p.top = p.right = p.bottom = p.left = p.space\n }\n if (typeof p.space === 'object') {\n for (const i in p.space) {\n if (!p[i] && isValidSpaceProp(i)) {\n p[i] = p.space[i]\n }\n }\n }\n delete p.space\n }\n\n return Object.entries(p).reduce((acc, [direction, cur]) => {\n if (isValidSpaceProp(direction)) {\n if (String(cur) === '0' || String(cur) === 'false') {\n acc.push(`dnb-space__${direction}--zero`)\n } else if (cur) {\n const typeModifiers = createTypeModifiers(cur as SpaceType)\n\n // get the total sum\n const sum = sumTypes(typeModifiers)\n if (sum > 10) {\n warn(\n `Spacing of more than 10rem is not supported! You used ${sum} / (${typeModifiers.join(\n ','\n )})`\n )\n } else {\n // auto combine classes\n const nearestTypes = findNearestTypes(sum, true)\n\n acc = [\n ...acc,\n ...nearestTypes.map(\n (type) => `dnb-space__${direction}--${type}`\n ),\n ]\n }\n }\n } else if (direction === 'no_collapse') {\n acc.push('dnb-space--no-collapse')\n if (Element && isInline(Element)) {\n acc.push('dnb-space--inline')\n }\n }\n\n return acc\n }, [])\n}\n\n// @internal splits types by given string\nexport const translateSpace = (type: SpaceType) => {\n if (/-x2$/.test(String(type))) {\n return spacePatterns[String(type).replace(/-x2$/, '')] * 2\n }\n return spacePatterns[String(type)] || 0\n}\n\n// @internal Splits a string of: \"large x-small\" into an array of the same\nexport const splitTypes = (types: SpaceType | Array<SpaceType>) => {\n if (typeof types === 'string') {\n const test = (types as SpaceStringTypes).split(/ /g)\n return clean(test as Array<SpaceStringTypes>)\n } else if (typeof types === 'boolean') {\n return ['small' as SpaceTypesPositiveValuesType]\n } else if (typeof types === 'number') {\n return [types]\n }\n\n return clean(types) || null\n\n function clean(t: Array<SpaceType> | Array<SpaceStringTypes>) {\n return t?.filter((r) => r && String(r).length > 0)\n }\n}\n\n// @internal Sums e.g. \"large\" + \"x-small\" to be = 2.5rem\nexport const sumTypes = (types: SpaceType | Array<SpaceType>) =>\n splitTypes(types)\n .map((type) => translateSpace(type))\n .reduce((acc, cur) => {\n if (cur > 0) {\n acc += cur\n } else if (cur < 0) {\n acc -= cur\n }\n return acc\n }, 0)\n\n// @internal Returns an array with modifiers e.g. [\"large\", \"x-small\"]\nexport const createTypeModifiers = (\n types: SpaceType\n): Array<SpaceType> => {\n return (splitTypes(types) || []).reduce((acc, type) => {\n if (type) {\n const firstLetter = String(type)[0]\n if (parseFloat(firstLetter) > -1) {\n // can be \"2rem\" or \"32px\" - but we want only a number\n let num = parseFloat(String(type))\n\n // check if we got pixels\n if (num >= 8 && /[0-9]px/.test(String(type))) {\n num = num / 16\n }\n\n // check if the type exists in our extensions\n const foundType = findType(num)\n\n // get the type\n if (foundType) {\n type = foundType\n } else {\n findNearestTypes(num).forEach((type) => {\n if (type) {\n acc.push(type)\n }\n })\n }\n }\n\n if (!(parseFloat(String(type)) > 0)) {\n acc.push(type)\n }\n }\n return acc\n }, [])\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\"\nexport const findType = (num: SpaceNumber): SpaceType => {\n const found = findTypeAll(num)\n\n // get the type\n if (found) {\n return found[0]\n }\n\n return null\n}\n\n// @internal Finds from \"2.0\" the equivalent type \"large\" and returns all results\nexport const findTypeAll = (\n num: SpaceNumber\n): Array<\n SpaceTypesPositiveValuesType | SpaceTypesPositiveRemValuesType\n> => {\n const listOfSpacePatterns = Object.entries(spacePatterns) as [\n SpaceTypesPositiveValuesType,\n SpaceTypesPositiveRemValuesType,\n ][]\n const found =\n listOfSpacePatterns.find(([k, v]) => k && v === num) || null\n return found\n}\n\n// @internal Finds from e.g. a value of \"2.5rem\" the nearest type = [\"large\", \"x-small\"]\nexport const findNearestTypes = (num: SpaceNumber, multiply = false) => {\n let res = []\n\n const near = Object.entries(spacePatterns)\n .reverse()\n .filter((k) => (multiply ? true : !k[0].includes('-x'))) // e.g. -x2\n .find(([k, v]) => k && num >= v)\n const nearNum = (near && near[1]) || num\n const types = findTypeAll(nearNum)\n\n if (types) {\n const nearType = types[0]\n res.push(nearType)\n const leftOver = num - parseFloat(String(types[1]))\n const foundMoreTypes = findNearestTypes(leftOver, multiply)\n\n // if the value already exists, then replace it with an x2\n foundMoreTypes.forEach((type) => {\n const index = res.indexOf(type)\n if (index !== -1) {\n res[index] = multiply ? `${type}-x2` : type\n }\n })\n\n res = [...res, ...foundMoreTypes]\n }\n\n return res\n}\n\n// @internal Checks if a space prop is a valid string like \"top\"\nexport const isValidSpaceProp = (propName: string) =>\n propName && ['top', 'right', 'bottom', 'left'].includes(propName)\n\nexport const removeSpaceProps = (\n props: SpacingProps | SpacingUnknownProps\n) => {\n const p = Object.isFrozen(props) ? { ...props } : props\n for (const i in p) {\n if (isValidSpaceProp(i)) {\n delete p[i]\n }\n }\n return p\n}\n\nexport const isInline = (elementName: string) => {\n switch (elementName) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n case 'p':\n return true\n }\n\n return false\n}\n"],"mappings":";;;AAKA,SAASA,IAAI,QAAQ,+BAA+B;AAapD,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,KAAK,EAAE,IAAI;EACXC,GAAG,EAAE,IAAI;EACTC,KAAK,EAAE,IAAI;EACXC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,aAGZ,GAAG;EACF,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;EACdC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,GAAG;EACXC,KAAK,EAAE,CAAC;EACR,SAAS,EAAE,CAAC;EACZ,UAAU,EAAE,GAAG;EACf,aAAa,EAAE;AACjB,CAAC;AAQDC,UAAU,CAACC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,MAAMC,IAAI,GAAGA,CAAC,GAAGC,KAAuB,KAAK;EAClD,MAAMC,IAAI,GAAGD,KAAK,CAACE,IAAI,CAAC,GAAG,CAAC;EAC5B,IAAIL,UAAU,CAACC,UAAU,CAACG,IAAI,CAAC,EAAE;IAC/B,OAAOJ,UAAU,CAACC,UAAU,CAACG,IAAI,CAAC;EACpC;EAEA,MAAME,MAAqB,GAAG,EAAE;EAEhCH,KAAK,CAACI,OAAO,CAAEC,QAAQ,IAAK;IAC1BC,mBAAmB,CAACD,QAAqB,CAAC,CAACD,OAAO,CAAEG,IAAI,IAAK;MAC3DJ,MAAM,CAACK,IAAI,CAAE,iBAAgBD,IAAK,GAAE,CAAC;IACvC,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOJ,MAAM,CAACM,MAAM,GACfZ,UAAU,CAACC,UAAU,CAACG,IAAI,CAAC,GAAI,QAAOE,MAAM,CAACD,IAAI,CAAC,KAAK,CAAE,GAAE,GAC5D,IAAI;AACV,CAAC;AASD,OAAO,MAAMQ,oBAAoB,GAAGA,CAClCC,KAKuB,EACvBC,OAAO,GAAG,IAAI,KACX;EACH,MAAMC,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACJ,KAAK,CAAC,GAAAK,aAAA,KAAQL,KAAK,IAAKA,KAAK;EAEvD,IAAI,OAAOE,CAAC,CAACzB,KAAK,KAAK,WAAW,EAAE;IAClC,IACE,OAAOyB,CAAC,CAACzB,KAAK,KAAK,QAAQ,IAC3B,OAAOyB,CAAC,CAACzB,KAAK,KAAK,QAAQ,IAC1B,OAAOyB,CAAC,CAACzB,KAAK,KAAK,SAAS,IAAIyB,CAAC,CAACzB,KAAM,EACzC;MACAyB,CAAC,CAACxB,GAAG,GAAGwB,CAAC,CAACvB,KAAK,GAAGuB,CAAC,CAACtB,MAAM,GAAGsB,CAAC,CAACrB,IAAI,GAAGqB,CAAC,CAACzB,KAAK;IAC/C;IACA,IAAI,OAAOyB,CAAC,CAACzB,KAAK,KAAK,QAAQ,EAAE;MAC/B,KAAK,MAAM6B,CAAC,IAAIJ,CAAC,CAACzB,KAAK,EAAE;QACvB,IAAI,CAACyB,CAAC,CAACI,CAAC,CAAC,IAAIC,gBAAgB,CAACD,CAAC,CAAC,EAAE;UAChCJ,CAAC,CAACI,CAAC,CAAC,GAAGJ,CAAC,CAACzB,KAAK,CAAC6B,CAAC,CAAC;QACnB;MACF;IACF;IACA,OAAOJ,CAAC,CAACzB,KAAK;EAChB;EAEA,OAAO0B,MAAM,CAACK,OAAO,CAACN,CAAC,CAAC,CAACO,MAAM,CAAC,CAACC,GAAG,EAAE,CAACC,SAAS,EAAEC,GAAG,CAAC,KAAK;IACzD,IAAIL,gBAAgB,CAACI,SAAS,CAAC,EAAE;MAC/B,IAAIE,MAAM,CAACD,GAAG,CAAC,KAAK,GAAG,IAAIC,MAAM,CAACD,GAAG,CAAC,KAAK,OAAO,EAAE;QAClDF,GAAG,CAACb,IAAI,CAAE,cAAac,SAAU,QAAO,CAAC;MAC3C,CAAC,MAAM,IAAIC,GAAG,EAAE;QACd,MAAME,aAAa,GAAGnB,mBAAmB,CAACiB,GAAgB,CAAC;QAG3D,MAAMG,GAAG,GAAGC,QAAQ,CAACF,aAAa,CAAC;QACnC,IAAIC,GAAG,GAAG,EAAE,EAAE;UACZxC,IAAI,CACD,yDAAwDwC,GAAI,OAAMD,aAAa,CAACvB,IAAI,CACnF,GACF,CAAE,GACJ,CAAC;QACH,CAAC,MAAM;UAEL,MAAM0B,YAAY,GAAGC,gBAAgB,CAACH,GAAG,EAAE,IAAI,CAAC;UAEhDL,GAAG,GAAG,CACJ,GAAGA,GAAG,EACN,GAAGO,YAAY,CAACE,GAAG,CAChBvB,IAAI,IAAM,cAAae,SAAU,KAAIf,IAAK,EAC7C,CAAC,CACF;QACH;MACF;IACF,CAAC,MAAM,IAAIe,SAAS,KAAK,aAAa,EAAE;MACtCD,GAAG,CAACb,IAAI,CAAC,wBAAwB,CAAC;MAClC,IAAII,OAAO,IAAImB,QAAQ,CAACnB,OAAO,CAAC,EAAE;QAChCS,GAAG,CAACb,IAAI,CAAC,mBAAmB,CAAC;MAC/B;IACF;IAEA,OAAOa,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMW,cAAc,GAAIzB,IAAe,IAAK;EACjD,IAAI,MAAM,CAAC0B,IAAI,CAACT,MAAM,CAACjB,IAAI,CAAC,CAAC,EAAE;IAC7B,OAAOd,aAAa,CAAC+B,MAAM,CAACjB,IAAI,CAAC,CAAC2B,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;EAC5D;EACA,OAAOzC,aAAa,CAAC+B,MAAM,CAACjB,IAAI,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAGD,OAAO,MAAM4B,UAAU,GAAInC,KAAmC,IAAK;EACjE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAMiC,IAAI,GAAIjC,KAAK,CAAsBoC,KAAK,CAAC,IAAI,CAAC;IACpD,OAAOC,KAAK,CAACJ,IAA+B,CAAC;EAC/C,CAAC,MAAM,IAAI,OAAOjC,KAAK,KAAK,SAAS,EAAE;IACrC,OAAO,CAAC,OAAO,CAAiC;EAClD,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpC,OAAO,CAACA,KAAK,CAAC;EAChB;EAEA,OAAOqC,KAAK,CAACrC,KAAK,CAAC,IAAI,IAAI;EAE3B,SAASqC,KAAKA,CAACC,CAA6C,EAAE;IAC5D,OAAOA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEC,MAAM,CAAEC,CAAC,IAAKA,CAAC,IAAIhB,MAAM,CAACgB,CAAC,CAAC,CAAC/B,MAAM,GAAG,CAAC,CAAC;EACpD;AACF,CAAC;AAGD,OAAO,MAAMkB,QAAQ,GAAI3B,KAAmC,IAC1DmC,UAAU,CAACnC,KAAK,CAAC,CACd8B,GAAG,CAAEvB,IAAI,IAAKyB,cAAc,CAACzB,IAAI,CAAC,CAAC,CACnCa,MAAM,CAAC,CAACC,GAAG,EAAEE,GAAG,KAAK;EACpB,IAAIA,GAAG,GAAG,CAAC,EAAE;IACXF,GAAG,IAAIE,GAAG;EACZ,CAAC,MAAM,IAAIA,GAAG,GAAG,CAAC,EAAE;IAClBF,GAAG,IAAIE,GAAG;EACZ;EACA,OAAOF,GAAG;AACZ,CAAC,EAAE,CAAC,CAAC;AAGT,OAAO,MAAMf,mBAAmB,GAC9BN,KAAgB,IACK;EACrB,OAAO,CAACmC,UAAU,CAACnC,KAAK,CAAC,IAAI,EAAE,EAAEoB,MAAM,CAAC,CAACC,GAAG,EAAEd,IAAI,KAAK;IACrD,IAAIA,IAAI,EAAE;MACR,MAAMkC,WAAW,GAAGjB,MAAM,CAACjB,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC,IAAImC,UAAU,CAACD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;QAEhC,IAAIE,GAAG,GAAGD,UAAU,CAAClB,MAAM,CAACjB,IAAI,CAAC,CAAC;QAGlC,IAAIoC,GAAG,IAAI,CAAC,IAAI,SAAS,CAACV,IAAI,CAACT,MAAM,CAACjB,IAAI,CAAC,CAAC,EAAE;UAC5CoC,GAAG,GAAGA,GAAG,GAAG,EAAE;QAChB;QAGA,MAAMC,SAAS,GAAGC,QAAQ,CAACF,GAAG,CAAC;QAG/B,IAAIC,SAAS,EAAE;UACbrC,IAAI,GAAGqC,SAAS;QAClB,CAAC,MAAM;UACLf,gBAAgB,CAACc,GAAG,CAAC,CAACvC,OAAO,CAAEG,IAAI,IAAK;YACtC,IAAIA,IAAI,EAAE;cACRc,GAAG,CAACb,IAAI,CAACD,IAAI,CAAC;YAChB;UACF,CAAC,CAAC;QACJ;MACF;MAEA,IAAI,EAAEmC,UAAU,CAAClB,MAAM,CAACjB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;QACnCc,GAAG,CAACb,IAAI,CAACD,IAAI,CAAC;MAChB;IACF;IACA,OAAOc,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAGD,OAAO,MAAMwB,QAAQ,GAAIF,GAAgB,IAAgB;EACvD,MAAMG,KAAK,GAAGC,WAAW,CAACJ,GAAG,CAAC;EAG9B,IAAIG,KAAK,EAAE;IACT,OAAOA,KAAK,CAAC,CAAC,CAAC;EACjB;EAEA,OAAO,IAAI;AACb,CAAC;AAGD,OAAO,MAAMC,WAAW,GACtBJ,GAAgB,IAGb;EACH,MAAMK,mBAAmB,GAAGlC,MAAM,CAACK,OAAO,CAAC1B,aAAa,CAGrD;EACH,MAAMqD,KAAK,GACTE,mBAAmB,CAACC,IAAI,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAKD,CAAC,IAAIC,CAAC,KAAKR,GAAG,CAAC,IAAI,IAAI;EAC9D,OAAOG,KAAK;AACd,CAAC;AAGD,OAAO,MAAMjB,gBAAgB,GAAGA,CAACc,GAAgB,EAAES,QAAQ,GAAG,KAAK,KAAK;EACtE,IAAIC,GAAG,GAAG,EAAE;EAEZ,MAAMC,IAAI,GAAGxC,MAAM,CAACK,OAAO,CAAC1B,aAAa,CAAC,CACvC8D,OAAO,CAAC,CAAC,CACThB,MAAM,CAAEW,CAAC,IAAME,QAAQ,GAAG,IAAI,GAAG,CAACF,CAAC,CAAC,CAAC,CAAC,CAACM,QAAQ,CAAC,IAAI,CAAE,CAAC,CACvDP,IAAI,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAKD,CAAC,IAAIP,GAAG,IAAIQ,CAAC,CAAC;EAClC,MAAMM,OAAO,GAAIH,IAAI,IAAIA,IAAI,CAAC,CAAC,CAAC,IAAKX,GAAG;EACxC,MAAM3C,KAAK,GAAG+C,WAAW,CAACU,OAAO,CAAC;EAElC,IAAIzD,KAAK,EAAE;IACT,MAAM0D,QAAQ,GAAG1D,KAAK,CAAC,CAAC,CAAC;IACzBqD,GAAG,CAAC7C,IAAI,CAACkD,QAAQ,CAAC;IAClB,MAAMC,QAAQ,GAAGhB,GAAG,GAAGD,UAAU,CAAClB,MAAM,CAACxB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM4D,cAAc,GAAG/B,gBAAgB,CAAC8B,QAAQ,EAAEP,QAAQ,CAAC;IAG3DQ,cAAc,CAACxD,OAAO,CAAEG,IAAI,IAAK;MAC/B,MAAMsD,KAAK,GAAGR,GAAG,CAACS,OAAO,CAACvD,IAAI,CAAC;MAC/B,IAAIsD,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBR,GAAG,CAACQ,KAAK,CAAC,GAAGT,QAAQ,GAAI,GAAE7C,IAAK,KAAI,GAAGA,IAAI;MAC7C;IACF,CAAC,CAAC;IAEF8C,GAAG,GAAG,CAAC,GAAGA,GAAG,EAAE,GAAGO,cAAc,CAAC;EACnC;EAEA,OAAOP,GAAG;AACZ,CAAC;AAGD,OAAO,MAAMnC,gBAAgB,GAAI6C,QAAgB,IAC/CA,QAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAACP,QAAQ,CAACO,QAAQ,CAAC;AAEnE,OAAO,MAAMC,gBAAgB,GAC3BrD,KAAyC,IACtC;EACH,MAAME,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACJ,KAAK,CAAC,GAAAK,aAAA,KAAQL,KAAK,IAAKA,KAAK;EACvD,KAAK,MAAMM,CAAC,IAAIJ,CAAC,EAAE;IACjB,IAAIK,gBAAgB,CAACD,CAAC,CAAC,EAAE;MACvB,OAAOJ,CAAC,CAACI,CAAC,CAAC;IACb;EACF;EACA,OAAOJ,CAAC;AACV,CAAC;AAED,OAAO,MAAMkB,QAAQ,GAAIkC,WAAmB,IAAK;EAC/C,QAAQA,WAAW;IACjB,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,IAAI;IACT,KAAK,GAAG;MACN,OAAO,IAAI;EACf;EAEA,OAAO,KAAK;AACd,CAAC"}