@dnb/eufemia 10.14.0 → 10.15.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 (846) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/cjs/components/accordion/AccordionHeader.d.ts +2 -1
  3. package/cjs/components/accordion/AccordionHeader.js +3 -2
  4. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  5. package/cjs/components/accordion/style/dnb-accordion.css +13 -5
  6. package/cjs/components/accordion/style/dnb-accordion.min.css +3 -1
  7. package/cjs/components/accordion/style/dnb-accordion.scss +16 -5
  8. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
  12. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  13. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  14. package/cjs/components/anchor/Anchor.d.ts +1 -0
  15. package/cjs/components/anchor/Anchor.js +7 -5
  16. package/cjs/components/anchor/Anchor.js.map +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.d.ts +4 -0
  18. package/cjs/components/autocomplete/Autocomplete.js +98 -80
  19. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  20. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
  21. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  22. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  23. package/cjs/components/button/Button.d.ts +1 -1
  24. package/cjs/components/button/Button.js +9 -5
  25. package/cjs/components/button/Button.js.map +1 -1
  26. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  28. package/cjs/components/card/style/dnb-card.css +10 -0
  29. package/cjs/components/card/style/dnb-card.min.css +1 -1
  30. package/cjs/components/card/style/dnb-card.scss +8 -0
  31. package/cjs/components/checkbox/Checkbox.js +9 -3
  32. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  33. package/cjs/components/checkbox/style/dnb-checkbox.css +129 -0
  34. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  35. package/cjs/components/checkbox/style/dnb-checkbox.scss +199 -0
  36. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  37. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  38. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  39. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  40. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  41. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  42. package/cjs/components/date-picker/DatePicker.d.ts +1 -1
  43. package/cjs/components/date-picker/DatePicker.js +4 -1
  44. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  45. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  46. package/cjs/components/dropdown/Dropdown.js +2 -2
  47. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  48. package/cjs/components/flex/Container.js +2 -1
  49. package/cjs/components/flex/Container.js.map +1 -1
  50. package/cjs/components/flex/style/dnb-flex.css +1 -1
  51. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  52. package/cjs/components/flex/style/flex-container.scss +1 -1
  53. package/cjs/components/form-label/FormLabel.d.ts +8 -3
  54. package/cjs/components/form-label/FormLabel.js +14 -11
  55. package/cjs/components/form-label/FormLabel.js.map +1 -1
  56. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  57. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  58. package/cjs/components/form-label/style/dnb-form-label.scss +0 -5
  59. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  60. package/cjs/components/global-status/GlobalStatus.js +3 -1
  61. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  62. package/cjs/components/global-status/style/dnb-global-status.css +0 -7
  63. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  64. package/cjs/components/global-status/style/dnb-global-status.scss +0 -11
  65. package/cjs/components/input/style/dnb-input.css +7 -3
  66. package/cjs/components/input/style/dnb-input.min.css +1 -1
  67. package/cjs/components/input/style/dnb-input.scss +14 -8
  68. package/cjs/components/input-masked/MultiInputMask.d.ts +6 -2
  69. package/cjs/components/input-masked/MultiInputMask.js +21 -17
  70. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  71. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -3
  72. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  73. package/cjs/components/input-masked/style/dnb-input-masked.scss +1 -1
  74. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  75. package/cjs/components/radio/Radio.js +13 -7
  76. package/cjs/components/radio/Radio.js.map +1 -1
  77. package/cjs/components/radio/RadioGroup.js +3 -2
  78. package/cjs/components/radio/RadioGroup.js.map +1 -1
  79. package/cjs/components/radio/style/dnb-radio.css +33 -8
  80. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  81. package/cjs/components/radio/style/dnb-radio.scss +59 -9
  82. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  83. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  84. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  85. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  86. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  87. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  88. package/cjs/components/section/Section.d.ts +5 -0
  89. package/cjs/components/section/Section.js +3 -2
  90. package/cjs/components/section/Section.js.map +1 -1
  91. package/cjs/components/section/style/dnb-section.css +12 -0
  92. package/cjs/components/section/style/dnb-section.min.css +3 -3
  93. package/cjs/components/section/style/dnb-section.scss +10 -0
  94. package/cjs/components/switch/Switch.js +9 -3
  95. package/cjs/components/switch/Switch.js.map +1 -1
  96. package/cjs/components/switch/style/dnb-switch.css +43 -9
  97. package/cjs/components/switch/style/dnb-switch.min.css +1 -1
  98. package/cjs/components/switch/style/dnb-switch.scss +49 -22
  99. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  100. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  101. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  102. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  103. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  104. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  105. package/cjs/components/textarea/Textarea.js +4 -1
  106. package/cjs/components/textarea/Textarea.js.map +1 -1
  107. package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -2
  108. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  109. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -7
  110. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  111. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  112. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  113. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  114. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  115. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  116. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  117. package/cjs/elements/hr/style/dnb-hr.scss +16 -30
  118. package/cjs/elements/hr/style/hr-mixins.scss +5 -7
  119. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  120. package/cjs/extensions/forms/DataContext/Context.js +1 -1
  121. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  122. package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -5
  123. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  124. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
  125. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  126. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  127. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  128. package/cjs/extensions/forms/Field/Currency/Currency.js +7 -2
  129. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -4
  131. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  132. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  133. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  134. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  135. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  136. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  137. package/cjs/extensions/forms/Field/Number/Number.js +11 -12
  138. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  139. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  140. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +134 -70
  141. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  142. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  143. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  144. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  145. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  146. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  147. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  148. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -15
  149. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  150. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  151. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  152. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +189 -17
  153. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -0
  155. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  156. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  157. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  158. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  159. package/cjs/extensions/forms/Field/String/String.js +8 -9
  160. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  161. package/cjs/extensions/forms/Field/Toggle/Toggle.js +4 -2
  162. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  163. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  164. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -19
  165. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  166. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  167. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  168. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  169. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  170. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  171. package/cjs/extensions/forms/constants/countries.d.ts +9 -6
  172. package/cjs/extensions/forms/constants/countries.js +15 -7
  173. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  174. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
  175. package/cjs/extensions/forms/hooks/useDataValue.js +31 -21
  176. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  177. package/cjs/extensions/forms/index.d.ts +1 -1
  178. package/cjs/extensions/forms/index.js +12 -0
  179. package/cjs/extensions/forms/index.js.map +1 -1
  180. package/cjs/extensions/forms/style/dnb-forms.css +101 -129
  181. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  182. package/cjs/extensions/forms/style/dnb-forms.scss +1 -6
  183. package/cjs/extensions/forms/types.d.ts +5 -4
  184. package/cjs/extensions/forms/types.js.map +1 -1
  185. package/cjs/extensions/payment-card/PaymentCard.d.ts +3 -2
  186. package/cjs/extensions/payment-card/PaymentCard.js +16 -37
  187. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  188. package/cjs/extensions/payment-card/icons/index.js +3 -1
  189. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  190. package/cjs/extensions/style/index.d.ts +5 -1
  191. package/cjs/extensions/style/index.js +2 -0
  192. package/cjs/extensions/style/index.js.map +1 -1
  193. package/cjs/icons/dnb/icons-meta.json +2 -2
  194. package/cjs/icons/icons-meta.json +2 -2
  195. package/cjs/shared/Eufemia.d.ts +1 -1
  196. package/cjs/shared/Eufemia.js +2 -2
  197. package/cjs/shared/Eufemia.js.map +1 -1
  198. package/cjs/shared/helpers/filterValidProps.d.ts +3 -7
  199. package/cjs/shared/helpers/filterValidProps.js +8 -4
  200. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  201. package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -0
  202. package/cjs/shared/helpers/withCamelCaseProps.js +6 -4
  203. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  204. package/cjs/shared/helpers/withSnakeCaseProps.js +5 -4
  205. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  206. package/cjs/shared/locales/en-GB.d.ts +1 -1
  207. package/cjs/shared/locales/en-GB.js +4 -4
  208. package/cjs/shared/locales/en-GB.js.map +1 -1
  209. package/cjs/shared/locales/en-US.d.ts +1 -1
  210. package/cjs/shared/locales/index.d.ts +2 -2
  211. package/cjs/shared/locales/nb-NO.d.ts +1 -1
  212. package/cjs/shared/locales/nb-NO.js +4 -4
  213. package/cjs/shared/locales/nb-NO.js.map +1 -1
  214. package/cjs/style/core/utilities.scss +1 -1
  215. package/cjs/style/dnb-ui-components.css +567 -113
  216. package/cjs/style/dnb-ui-components.min.css +6 -4
  217. package/cjs/style/dnb-ui-components.scss +2 -1
  218. package/cjs/style/dnb-ui-elements.css +19 -26
  219. package/cjs/style/dnb-ui-elements.min.css +1 -1
  220. package/cjs/style/dnb-ui-extensions.css +101 -129
  221. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  222. package/cjs/style/dnb-ui-forms.css +243 -0
  223. package/cjs/style/dnb-ui-forms.min.css +1 -0
  224. package/cjs/style/dnb-ui-forms.scss +19 -0
  225. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  230. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
  231. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  232. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  236. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  237. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
  238. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  239. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
  240. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
  241. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  242. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  249. package/cjs/style/themes/theme-ui/ui-theme-basis.css +19 -26
  250. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  251. package/cjs/style/themes/theme-ui/ui-theme-components.css +1033 -359
  252. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  253. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  254. package/cjs/style/themes/theme-ui/ui-theme-elements.css +19 -26
  255. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  256. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +101 -129
  257. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  258. package/cjs/style/themes/theme-ui/ui-theme-forms.css +252 -0
  259. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  260. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  261. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -7
  262. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  263. package/components/accordion/AccordionHeader.d.ts +2 -1
  264. package/components/accordion/AccordionHeader.js +3 -2
  265. package/components/accordion/AccordionHeader.js.map +1 -1
  266. package/components/accordion/style/dnb-accordion.css +13 -5
  267. package/components/accordion/style/dnb-accordion.min.css +3 -1
  268. package/components/accordion/style/dnb-accordion.scss +16 -5
  269. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
  270. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  271. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  272. package/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
  273. package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  274. package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  275. package/components/anchor/Anchor.d.ts +1 -0
  276. package/components/anchor/Anchor.js +5 -4
  277. package/components/anchor/Anchor.js.map +1 -1
  278. package/components/autocomplete/Autocomplete.d.ts +4 -0
  279. package/components/autocomplete/Autocomplete.js +98 -80
  280. package/components/autocomplete/Autocomplete.js.map +1 -1
  281. package/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
  282. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  283. package/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  284. package/components/button/Button.d.ts +1 -1
  285. package/components/button/Button.js +10 -6
  286. package/components/button/Button.js.map +1 -1
  287. package/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  288. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  289. package/components/card/style/dnb-card.css +10 -0
  290. package/components/card/style/dnb-card.min.css +1 -1
  291. package/components/card/style/dnb-card.scss +8 -0
  292. package/components/checkbox/Checkbox.js +9 -3
  293. package/components/checkbox/Checkbox.js.map +1 -1
  294. package/components/checkbox/style/dnb-checkbox.css +129 -0
  295. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  296. package/components/checkbox/style/dnb-checkbox.scss +199 -0
  297. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  298. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  299. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  300. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  301. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  302. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  303. package/components/date-picker/DatePicker.d.ts +1 -1
  304. package/components/date-picker/DatePicker.js +4 -1
  305. package/components/date-picker/DatePicker.js.map +1 -1
  306. package/components/date-picker/DatePickerInput.d.ts +1 -1
  307. package/components/dropdown/Dropdown.js +2 -2
  308. package/components/dropdown/Dropdown.js.map +1 -1
  309. package/components/flex/Container.js +2 -1
  310. package/components/flex/Container.js.map +1 -1
  311. package/components/flex/style/dnb-flex.css +1 -1
  312. package/components/flex/style/dnb-flex.min.css +1 -1
  313. package/components/flex/style/flex-container.scss +1 -1
  314. package/components/form-label/FormLabel.d.ts +8 -3
  315. package/components/form-label/FormLabel.js +14 -11
  316. package/components/form-label/FormLabel.js.map +1 -1
  317. package/components/form-label/style/dnb-form-label.css +0 -1
  318. package/components/form-label/style/dnb-form-label.min.css +1 -1
  319. package/components/form-label/style/dnb-form-label.scss +0 -5
  320. package/components/global-status/GlobalStatus.d.ts +1 -1
  321. package/components/global-status/GlobalStatus.js +3 -1
  322. package/components/global-status/GlobalStatus.js.map +1 -1
  323. package/components/global-status/style/dnb-global-status.css +0 -7
  324. package/components/global-status/style/dnb-global-status.min.css +1 -1
  325. package/components/global-status/style/dnb-global-status.scss +0 -11
  326. package/components/input/style/dnb-input.css +7 -3
  327. package/components/input/style/dnb-input.min.css +1 -1
  328. package/components/input/style/dnb-input.scss +14 -8
  329. package/components/input-masked/MultiInputMask.d.ts +6 -2
  330. package/components/input-masked/MultiInputMask.js +22 -18
  331. package/components/input-masked/MultiInputMask.js.map +1 -1
  332. package/components/input-masked/style/dnb-input-masked.css +3 -3
  333. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  334. package/components/input-masked/style/dnb-input-masked.scss +1 -1
  335. package/components/number-format/NumberUtils.d.ts +1 -1
  336. package/components/radio/Radio.js +13 -7
  337. package/components/radio/Radio.js.map +1 -1
  338. package/components/radio/RadioGroup.js +3 -2
  339. package/components/radio/RadioGroup.js.map +1 -1
  340. package/components/radio/style/dnb-radio.css +33 -8
  341. package/components/radio/style/dnb-radio.min.css +1 -1
  342. package/components/radio/style/dnb-radio.scss +59 -9
  343. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  344. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  345. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  346. package/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  347. package/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  348. package/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  349. package/components/section/Section.d.ts +5 -0
  350. package/components/section/Section.js +3 -2
  351. package/components/section/Section.js.map +1 -1
  352. package/components/section/style/dnb-section.css +12 -0
  353. package/components/section/style/dnb-section.min.css +3 -3
  354. package/components/section/style/dnb-section.scss +10 -0
  355. package/components/switch/Switch.js +9 -3
  356. package/components/switch/Switch.js.map +1 -1
  357. package/components/switch/style/dnb-switch.css +43 -9
  358. package/components/switch/style/dnb-switch.min.css +1 -1
  359. package/components/switch/style/dnb-switch.scss +49 -22
  360. package/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  361. package/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  362. package/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  363. package/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  364. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  365. package/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  366. package/components/textarea/Textarea.js +4 -1
  367. package/components/textarea/Textarea.js.map +1 -1
  368. package/components/toggle-button/ToggleButtonGroup.js +3 -2
  369. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  370. package/components/toggle-button/style/dnb-toggle-button.css +3 -7
  371. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  372. package/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  373. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  374. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  375. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  376. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  377. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  378. package/elements/hr/style/dnb-hr.scss +16 -30
  379. package/elements/hr/style/hr-mixins.scss +5 -7
  380. package/es/components/accordion/AccordionHeader.d.ts +2 -1
  381. package/es/components/accordion/AccordionHeader.js +3 -2
  382. package/es/components/accordion/AccordionHeader.js.map +1 -1
  383. package/es/components/accordion/style/dnb-accordion.css +13 -5
  384. package/es/components/accordion/style/dnb-accordion.min.css +3 -1
  385. package/es/components/accordion/style/dnb-accordion.scss +16 -5
  386. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -32
  387. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  388. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  389. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +149 -101
  390. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  391. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  392. package/es/components/anchor/Anchor.d.ts +1 -0
  393. package/es/components/anchor/Anchor.js +5 -4
  394. package/es/components/anchor/Anchor.js.map +1 -1
  395. package/es/components/autocomplete/Autocomplete.d.ts +4 -0
  396. package/es/components/autocomplete/Autocomplete.js +94 -75
  397. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  398. package/es/components/breadcrumb/style/dnb-breadcrumb.css +4 -4
  399. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  400. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  401. package/es/components/button/Button.d.ts +1 -1
  402. package/es/components/button/Button.js +10 -6
  403. package/es/components/button/Button.js.map +1 -1
  404. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  405. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  406. package/es/components/card/style/dnb-card.css +10 -0
  407. package/es/components/card/style/dnb-card.min.css +1 -1
  408. package/es/components/card/style/dnb-card.scss +8 -0
  409. package/es/components/checkbox/Checkbox.js +9 -3
  410. package/es/components/checkbox/Checkbox.js.map +1 -1
  411. package/es/components/checkbox/style/dnb-checkbox.css +129 -0
  412. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  413. package/es/components/checkbox/style/dnb-checkbox.scss +199 -0
  414. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  415. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  416. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  417. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  418. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  419. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  420. package/es/components/date-picker/DatePicker.d.ts +1 -1
  421. package/es/components/date-picker/DatePicker.js +4 -1
  422. package/es/components/date-picker/DatePicker.js.map +1 -1
  423. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  424. package/es/components/dropdown/Dropdown.js +2 -2
  425. package/es/components/dropdown/Dropdown.js.map +1 -1
  426. package/es/components/flex/Container.js +2 -1
  427. package/es/components/flex/Container.js.map +1 -1
  428. package/es/components/flex/style/dnb-flex.css +1 -1
  429. package/es/components/flex/style/dnb-flex.min.css +1 -1
  430. package/es/components/flex/style/flex-container.scss +1 -1
  431. package/es/components/form-label/FormLabel.d.ts +8 -3
  432. package/es/components/form-label/FormLabel.js +14 -11
  433. package/es/components/form-label/FormLabel.js.map +1 -1
  434. package/es/components/form-label/style/dnb-form-label.css +0 -1
  435. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  436. package/es/components/form-label/style/dnb-form-label.scss +0 -5
  437. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  438. package/es/components/global-status/GlobalStatus.js +3 -1
  439. package/es/components/global-status/GlobalStatus.js.map +1 -1
  440. package/es/components/global-status/style/dnb-global-status.css +0 -7
  441. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  442. package/es/components/global-status/style/dnb-global-status.scss +0 -11
  443. package/es/components/input/style/dnb-input.css +7 -3
  444. package/es/components/input/style/dnb-input.min.css +1 -1
  445. package/es/components/input/style/dnb-input.scss +14 -8
  446. package/es/components/input-masked/MultiInputMask.d.ts +6 -2
  447. package/es/components/input-masked/MultiInputMask.js +24 -19
  448. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  449. package/es/components/input-masked/style/dnb-input-masked.css +3 -3
  450. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  451. package/es/components/input-masked/style/dnb-input-masked.scss +1 -1
  452. package/es/components/number-format/NumberUtils.d.ts +1 -1
  453. package/es/components/radio/Radio.js +13 -7
  454. package/es/components/radio/Radio.js.map +1 -1
  455. package/es/components/radio/RadioGroup.js +3 -2
  456. package/es/components/radio/RadioGroup.js.map +1 -1
  457. package/es/components/radio/style/dnb-radio.css +33 -8
  458. package/es/components/radio/style/dnb-radio.min.css +1 -1
  459. package/es/components/radio/style/dnb-radio.scss +59 -9
  460. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  461. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  462. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  463. package/es/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  464. package/es/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  465. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  466. package/es/components/section/Section.d.ts +5 -0
  467. package/es/components/section/Section.js +3 -2
  468. package/es/components/section/Section.js.map +1 -1
  469. package/es/components/section/style/dnb-section.css +12 -0
  470. package/es/components/section/style/dnb-section.min.css +3 -3
  471. package/es/components/section/style/dnb-section.scss +10 -0
  472. package/es/components/switch/Switch.js +9 -3
  473. package/es/components/switch/Switch.js.map +1 -1
  474. package/es/components/switch/style/dnb-switch.css +43 -9
  475. package/es/components/switch/style/dnb-switch.min.css +1 -1
  476. package/es/components/switch/style/dnb-switch.scss +49 -22
  477. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  478. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  479. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  480. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  481. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  482. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  483. package/es/components/textarea/Textarea.js +4 -1
  484. package/es/components/textarea/Textarea.js.map +1 -1
  485. package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
  486. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  487. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -7
  488. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  489. package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  490. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  491. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  492. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  493. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  494. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  495. package/es/elements/hr/style/dnb-hr.scss +16 -30
  496. package/es/elements/hr/style/hr-mixins.scss +5 -7
  497. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  498. package/es/extensions/forms/DataContext/Context.js +1 -1
  499. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  500. package/es/extensions/forms/DataContext/Provider/Provider.js +9 -5
  501. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  502. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
  503. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  504. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  505. package/es/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  506. package/es/extensions/forms/Field/Currency/Currency.js +8 -2
  507. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  508. package/es/extensions/forms/Field/Expiry/Expiry.js +6 -4
  509. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  510. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  511. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  512. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  513. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  514. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  515. package/es/extensions/forms/Field/Number/Number.js +11 -12
  516. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  517. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  518. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +128 -61
  519. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  520. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  521. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  522. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  523. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  524. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  525. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  526. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -15
  527. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  528. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  529. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  530. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +176 -18
  531. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  532. package/es/extensions/forms/Field/Selection/Selection.js +1 -0
  533. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  534. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  535. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  536. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  537. package/es/extensions/forms/Field/String/String.js +8 -9
  538. package/es/extensions/forms/Field/String/String.js.map +1 -1
  539. package/es/extensions/forms/Field/Toggle/Toggle.js +4 -2
  540. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  541. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  542. package/es/extensions/forms/FieldBlock/FieldBlock.js +16 -19
  543. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  544. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  545. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  546. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  547. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  548. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  549. package/es/extensions/forms/constants/countries.d.ts +9 -6
  550. package/es/extensions/forms/constants/countries.js +13 -6
  551. package/es/extensions/forms/constants/countries.js.map +1 -1
  552. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
  553. package/es/extensions/forms/hooks/useDataValue.js +26 -20
  554. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  555. package/es/extensions/forms/index.d.ts +1 -1
  556. package/es/extensions/forms/index.js +1 -0
  557. package/es/extensions/forms/index.js.map +1 -1
  558. package/es/extensions/forms/style/dnb-forms.css +101 -129
  559. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  560. package/es/extensions/forms/style/dnb-forms.scss +1 -6
  561. package/es/extensions/forms/types.d.ts +5 -4
  562. package/es/extensions/forms/types.js.map +1 -1
  563. package/es/extensions/payment-card/PaymentCard.d.ts +3 -2
  564. package/es/extensions/payment-card/PaymentCard.js +16 -37
  565. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  566. package/es/extensions/payment-card/icons/index.js +4 -2
  567. package/es/extensions/payment-card/icons/index.js.map +1 -1
  568. package/es/extensions/style/index.d.ts +5 -1
  569. package/es/extensions/style/index.js +4 -1
  570. package/es/extensions/style/index.js.map +1 -1
  571. package/es/icons/dnb/icons-meta.json +2 -2
  572. package/es/icons/icons-meta.json +2 -2
  573. package/es/shared/Eufemia.d.ts +1 -1
  574. package/es/shared/Eufemia.js +2 -2
  575. package/es/shared/Eufemia.js.map +1 -1
  576. package/es/shared/helpers/filterValidProps.d.ts +3 -7
  577. package/es/shared/helpers/filterValidProps.js +9 -3
  578. package/es/shared/helpers/filterValidProps.js.map +1 -1
  579. package/es/shared/helpers/withCamelCaseProps.d.ts +1 -0
  580. package/es/shared/helpers/withCamelCaseProps.js +6 -5
  581. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  582. package/es/shared/helpers/withSnakeCaseProps.js +5 -4
  583. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  584. package/es/shared/locales/en-GB.d.ts +1 -1
  585. package/es/shared/locales/en-GB.js +4 -4
  586. package/es/shared/locales/en-GB.js.map +1 -1
  587. package/es/shared/locales/en-US.d.ts +1 -1
  588. package/es/shared/locales/index.d.ts +2 -2
  589. package/es/shared/locales/nb-NO.d.ts +1 -1
  590. package/es/shared/locales/nb-NO.js +4 -4
  591. package/es/shared/locales/nb-NO.js.map +1 -1
  592. package/es/style/core/utilities.scss +1 -1
  593. package/es/style/dnb-ui-components.css +567 -113
  594. package/es/style/dnb-ui-components.min.css +6 -4
  595. package/es/style/dnb-ui-components.scss +2 -1
  596. package/es/style/dnb-ui-elements.css +19 -26
  597. package/es/style/dnb-ui-elements.min.css +1 -1
  598. package/es/style/dnb-ui-extensions.css +101 -129
  599. package/es/style/dnb-ui-extensions.min.css +1 -1
  600. package/es/style/dnb-ui-forms.css +243 -0
  601. package/es/style/dnb-ui-forms.min.css +1 -0
  602. package/es/style/dnb-ui-forms.scss +19 -0
  603. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
  604. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  605. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
  606. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  607. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  608. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
  609. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  610. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
  611. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  612. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
  613. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  614. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  615. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
  616. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  617. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
  618. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
  619. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  620. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
  621. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  622. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
  623. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  624. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
  625. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  626. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  627. package/es/style/themes/theme-ui/ui-theme-basis.css +19 -26
  628. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  629. package/es/style/themes/theme-ui/ui-theme-components.css +1033 -359
  630. package/es/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  631. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  632. package/es/style/themes/theme-ui/ui-theme-elements.css +19 -26
  633. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  634. package/es/style/themes/theme-ui/ui-theme-extensions.css +101 -129
  635. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  636. package/es/style/themes/theme-ui/ui-theme-forms.css +252 -0
  637. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  638. package/es/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  639. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -7
  640. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  641. package/esm/dnb-ui-basis.min.mjs +1 -1
  642. package/esm/dnb-ui-components.min.mjs +1 -1
  643. package/esm/dnb-ui-elements.min.mjs +1 -1
  644. package/esm/dnb-ui-extensions.min.mjs +3 -3
  645. package/esm/dnb-ui-lib.min.mjs +1 -1
  646. package/extensions/forms/DataContext/Context.d.ts +1 -1
  647. package/extensions/forms/DataContext/Context.js +1 -1
  648. package/extensions/forms/DataContext/Context.js.map +1 -1
  649. package/extensions/forms/DataContext/Provider/Provider.js +9 -5
  650. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  651. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -6
  652. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  653. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  654. package/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  655. package/extensions/forms/Field/Currency/Currency.js +8 -2
  656. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  657. package/extensions/forms/Field/Expiry/Expiry.js +6 -4
  658. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  659. package/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  660. package/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  661. package/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  662. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  663. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  664. package/extensions/forms/Field/Number/Number.js +11 -12
  665. package/extensions/forms/Field/Number/Number.js.map +1 -1
  666. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  667. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +135 -71
  668. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  669. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  670. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  671. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  672. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  673. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  674. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  675. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -15
  676. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  677. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  678. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  679. package/extensions/forms/Field/SelectCountry/SelectCountry.js +188 -18
  680. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  681. package/extensions/forms/Field/Selection/Selection.js +1 -0
  682. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  683. package/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  684. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  685. package/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  686. package/extensions/forms/Field/String/String.js +8 -9
  687. package/extensions/forms/Field/String/String.js.map +1 -1
  688. package/extensions/forms/Field/Toggle/Toggle.js +4 -2
  689. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  690. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  691. package/extensions/forms/FieldBlock/FieldBlock.js +17 -20
  692. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  693. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  694. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  695. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  696. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  697. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  698. package/extensions/forms/constants/countries.d.ts +9 -6
  699. package/extensions/forms/constants/countries.js +13 -6
  700. package/extensions/forms/constants/countries.js.map +1 -1
  701. package/extensions/forms/hooks/useDataValue.d.ts +2 -0
  702. package/extensions/forms/hooks/useDataValue.js +31 -21
  703. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  704. package/extensions/forms/index.d.ts +1 -1
  705. package/extensions/forms/index.js +1 -0
  706. package/extensions/forms/index.js.map +1 -1
  707. package/extensions/forms/style/dnb-forms.css +101 -129
  708. package/extensions/forms/style/dnb-forms.min.css +1 -1
  709. package/extensions/forms/style/dnb-forms.scss +1 -6
  710. package/extensions/forms/types.d.ts +5 -4
  711. package/extensions/forms/types.js.map +1 -1
  712. package/extensions/payment-card/PaymentCard.d.ts +3 -2
  713. package/extensions/payment-card/PaymentCard.js +16 -37
  714. package/extensions/payment-card/PaymentCard.js.map +1 -1
  715. package/extensions/payment-card/icons/index.js +4 -2
  716. package/extensions/payment-card/icons/index.js.map +1 -1
  717. package/extensions/style/index.d.ts +5 -1
  718. package/extensions/style/index.js +4 -1
  719. package/extensions/style/index.js.map +1 -1
  720. package/icons/dnb/icons-meta.json +2 -2
  721. package/icons/icons-meta.json +2 -2
  722. package/package.json +1 -1
  723. package/shared/Eufemia.d.ts +1 -1
  724. package/shared/Eufemia.js +2 -2
  725. package/shared/Eufemia.js.map +1 -1
  726. package/shared/helpers/filterValidProps.d.ts +3 -7
  727. package/shared/helpers/filterValidProps.js +9 -3
  728. package/shared/helpers/filterValidProps.js.map +1 -1
  729. package/shared/helpers/withCamelCaseProps.d.ts +1 -0
  730. package/shared/helpers/withCamelCaseProps.js +6 -5
  731. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  732. package/shared/helpers/withSnakeCaseProps.js +5 -4
  733. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  734. package/shared/locales/en-GB.d.ts +1 -1
  735. package/shared/locales/en-GB.js +4 -4
  736. package/shared/locales/en-GB.js.map +1 -1
  737. package/shared/locales/en-US.d.ts +1 -1
  738. package/shared/locales/index.d.ts +2 -2
  739. package/shared/locales/nb-NO.d.ts +1 -1
  740. package/shared/locales/nb-NO.js +4 -4
  741. package/shared/locales/nb-NO.js.map +1 -1
  742. package/style/core/utilities.scss +1 -1
  743. package/style/dnb-ui-components.css +567 -113
  744. package/style/dnb-ui-components.min.css +6 -4
  745. package/style/dnb-ui-components.scss +2 -1
  746. package/style/dnb-ui-elements.css +19 -26
  747. package/style/dnb-ui-elements.min.css +1 -1
  748. package/style/dnb-ui-extensions.css +101 -129
  749. package/style/dnb-ui-extensions.min.css +1 -1
  750. package/style/dnb-ui-forms.css +243 -0
  751. package/style/dnb-ui-forms.min.css +1 -0
  752. package/style/dnb-ui-forms.scss +19 -0
  753. package/style/themes/theme-eiendom/eiendom-theme-basis.css +19 -26
  754. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  755. package/style/themes/theme-eiendom/eiendom-theme-components.css +1033 -359
  756. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  757. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  758. package/style/themes/theme-eiendom/eiendom-theme-elements.css +19 -26
  759. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  760. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +101 -129
  761. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  762. package/style/themes/theme-eiendom/eiendom-theme-forms.css +252 -0
  763. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  764. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  765. package/style/themes/theme-sbanken/sbanken-theme-basis.css +19 -26
  766. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  767. package/style/themes/theme-sbanken/sbanken-theme-components.css +1211 -595
  768. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +16 -8
  769. package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  770. package/style/themes/theme-sbanken/sbanken-theme-elements.css +19 -26
  771. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  772. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +101 -129
  773. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-forms.css +252 -0
  775. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  776. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  777. package/style/themes/theme-ui/ui-theme-basis.css +19 -26
  778. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  779. package/style/themes/theme-ui/ui-theme-components.css +1033 -359
  780. package/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  781. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  782. package/style/themes/theme-ui/ui-theme-elements.css +19 -26
  783. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  784. package/style/themes/theme-ui/ui-theme-extensions.css +101 -129
  785. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  786. package/style/themes/theme-ui/ui-theme-forms.css +252 -0
  787. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  788. package/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  789. package/style/themes/theme-ui/ui-theme-tags.css +8 -7
  790. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  791. package/umd/dnb-ui-basis.min.js +1 -1
  792. package/umd/dnb-ui-components.min.js +1 -1
  793. package/umd/dnb-ui-elements.min.js +1 -1
  794. package/umd/dnb-ui-extensions.min.js +3 -3
  795. package/umd/dnb-ui-lib.min.js +1 -1
  796. package/cjs/components/button/style/dnb-button--tertiary.css +0 -216
  797. package/cjs/components/button/style/dnb-button--tertiary.min.css +0 -5
  798. package/cjs/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  799. package/cjs/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  800. package/cjs/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  801. package/cjs/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  802. package/cjs/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  803. package/cjs/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  804. package/cjs/extensions/forms/Form/style/index.d.ts +0 -5
  805. package/cjs/extensions/forms/Form/style/index.js +0 -4
  806. package/cjs/extensions/forms/Form/style/index.js.map +0 -1
  807. package/cjs/extensions/forms/StepsLayout/style/index.scss +0 -1
  808. package/cjs/extensions/forms/ValueBlock/style/index.scss +0 -1
  809. package/cjs/extensions/forms/style/index.d.ts +0 -1
  810. package/cjs/extensions/forms/style/index.js +0 -4
  811. package/cjs/extensions/forms/style/index.js.map +0 -1
  812. package/components/button/style/dnb-button--tertiary.css +0 -216
  813. package/components/button/style/dnb-button--tertiary.min.css +0 -5
  814. package/es/components/button/style/dnb-button--tertiary.css +0 -216
  815. package/es/components/button/style/dnb-button--tertiary.min.css +0 -5
  816. package/es/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  817. package/es/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  818. package/es/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  819. package/es/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  820. package/es/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  821. package/es/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  822. package/es/extensions/forms/Form/style/index.d.ts +0 -5
  823. package/es/extensions/forms/Form/style/index.js +0 -1
  824. package/es/extensions/forms/Form/style/index.js.map +0 -1
  825. package/es/extensions/forms/StepsLayout/style/index.scss +0 -1
  826. package/es/extensions/forms/ValueBlock/style/index.scss +0 -1
  827. package/es/extensions/forms/style/index.d.ts +0 -1
  828. package/es/extensions/forms/style/index.js +0 -1
  829. package/es/extensions/forms/style/index.js.map +0 -1
  830. package/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  831. package/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  832. package/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  833. package/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  834. package/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  835. package/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  836. package/extensions/forms/Form/style/index.d.ts +0 -5
  837. package/extensions/forms/Form/style/index.js +0 -1
  838. package/extensions/forms/Form/style/index.js.map +0 -1
  839. package/extensions/forms/StepsLayout/style/index.scss +0 -1
  840. package/extensions/forms/ValueBlock/style/index.scss +0 -1
  841. package/extensions/forms/style/index.d.ts +0 -1
  842. package/extensions/forms/style/index.js +0 -1
  843. package/extensions/forms/style/index.js.map +0 -1
  844. /package/cjs/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
  845. /package/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
  846. /package/es/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
@@ -11,40 +11,26 @@
11
11
 
12
12
  &--fullscreen::after {
13
13
  left: -100vw;
14
- width: 200vw;
14
+ box-shadow: 100vw 0 0 0 currentcolor;
15
+ border-radius: 0;
15
16
  }
16
17
 
17
- &--light::after {
18
- border-radius: 0.25px;
18
+ --thickness: calc(var(--hr-thickness, 1px) + var(--modifier, 0px));
19
19
 
20
- /*
21
- * 60% and 65% for best result on low res screens, like on Chromebook (Acer)
22
- * Else the line will disappear!
23
- */
24
- background-image: linear-gradient(
25
- to bottom,
26
- currentcolor 60%,
27
- transparent 65%
28
- );
29
- background-size: 100% 1px;
30
- background-color: transparent;
31
- }
32
-
33
- &--medium::after {
34
- height: 2px;
35
- border-radius: 0.75px;
20
+ &--light {
21
+ --hr-thickness: 0.4px;
36
22
 
37
- /* Revert the hairline halv */
38
- background-image: linear-gradient(
39
- to bottom,
40
- currentcolor 51%,
41
- transparent 51%
42
- );
43
- background-size: 100% 3px;
44
- background-color: transparent;
23
+ // Modify the thickness, because the screenshot does not pick up the line when its under 1px.
24
+ // This may change in a later Playwright/Firefox version.
25
+ html[data-visual-test] & {
26
+ --modifier: 0.7px;
27
+ }
28
+ }
29
+ &--medium {
30
+ --hr-thickness: 1.5px;
45
31
  }
46
- }
47
32
 
48
- .dnb-spacing .dnb-hr {
49
- @include ui-spacing.defaultSpacing();
33
+ .dnb-spacing & {
34
+ @include ui-spacing.defaultSpacing();
35
+ }
50
36
  }
@@ -3,9 +3,10 @@
3
3
  @mixin hrStyle() {
4
4
  position: relative;
5
5
  padding: 0;
6
+ width: 100%; // when nested in a flex container, we need this.
6
7
  height: 0;
7
8
 
8
- display: flex;
9
+ display: flow-root; // avoid margin collapsing on Safari
9
10
 
10
11
  &:not([class*='dnb-space']) {
11
12
  margin: 0;
@@ -16,17 +17,14 @@
16
17
  &::after {
17
18
  content: '';
18
19
  position: absolute;
20
+ inset: 0;
19
21
  z-index: 1;
20
- left: 0;
21
- right: 0;
22
- top: 0;
23
22
 
24
- width: 100%;
25
- height: 1px;
23
+ height: var(--thickness);
26
24
 
27
25
  color: inherit;
28
26
  background-color: currentcolor;
29
- border-radius: 0.5px;
27
+ border-radius: calc(var(--thickness) / 2);
30
28
  }
31
29
  }
32
30
 
@@ -7,7 +7,7 @@ import type { SpacingProps } from '../space/types';
7
7
  import type { HeadingLevel } from '../Heading';
8
8
  import type { IconSize } from '../Icon';
9
9
  import type { SkeletonShow } from '../Skeleton';
10
- import type { AccordionIcon, AccordionIconPosition } from './Accordion';
10
+ import type { AccordionIcon, AccordionIconPosition, AccordionVariant } from './Accordion';
11
11
  export type AccordionHeaderTitleProps = SpacingProps & {
12
12
  children?: React.ReactNode;
13
13
  };
@@ -56,6 +56,7 @@ export type AccordionHeaderProps = React.HTMLProps<HTMLElement> & SpacingProps &
56
56
  no_animation?: boolean;
57
57
  className?: string;
58
58
  children?: string | React.ReactNode | ((...args: any[]) => any);
59
+ variant?: AccordionVariant;
59
60
  };
60
61
  export declare const AccordionHeader: {
61
62
  ({ icon_size: icon_size_default, ...restOfProps }: AccordionHeaderProps): import("react/jsx-runtime").JSX.Element;
@@ -123,7 +123,8 @@ export const AccordionHeader = _ref4 => {
123
123
  icon_size,
124
124
  disabled,
125
125
  skeleton,
126
- no_animation
126
+ no_animation,
127
+ variant
127
128
  } = extendedProps;
128
129
  let {
129
130
  icon_position
@@ -202,7 +203,7 @@ export const AccordionHeader = _ref4 => {
202
203
  'aria-expanded': context.expanded,
203
204
  role: 'button',
204
205
  tabIndex: 0,
205
- className: classnames('dnb-accordion__header', createSkeletonClass('font', skeleton, context), createSpacingClasses(rest), className, icon_position && `dnb-accordion__header--icon-${icon_position}`, isHovering && hasClicked && 'dnb-accordion--hover', !canClick() && 'dnb-accordion__header--prevent-click', description && 'dnb-accordion__header--description', no_animation && 'dnb-accordion__header--no-animation'),
206
+ className: classnames('dnb-accordion__header', createSkeletonClass('font', skeleton, context), createSpacingClasses(rest), className, context.expanded && 'dnb-accordion__header--expanded' + (isHovering && hasClicked ? " dnb-accordion__header--after-click" : ""), variant && `dnb-accordion__header--${variant}`, icon_position && `dnb-accordion__header--icon-${icon_position}`, !canClick() && 'dnb-accordion__header--prevent-click', description && 'dnb-accordion__header--description', no_animation && 'dnb-accordion__header--no-animation'),
206
207
  disabled
207
208
  }, rest);
208
209
  if (disabled || skeleton) {
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref4","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { AccordionIcon, AccordionIconPosition } from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | React.ReactNode\n | ((...args: any[]) => React.ReactNode)\n | {\n closed?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n expanded?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary\n size={size}\n // There has to be a better way than to do so much casting\n icon={\n icon &&\n typeof icon === 'object' &&\n 'expanded' in icon &&\n typeof icon?.expanded !== 'undefined'\n ? icon[expanded ? 'expanded' : 'closed']\n : (icon as React.ReactNode | ((...args: any[]) => any)) ||\n 'chevron-down'\n }\n aria-hidden\n />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering && hasClicked && 'dnb-accordion--hover',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref4","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHovering","setIsHovering","hasClicked","setHasClicked","context","onKeyDownHandler","event","keyPressed","key","preventDefault","onClickHandler","id","group","canClick","callOnChange","onMouseOverHandler","onMouseOutHandler","allow_close_all","extendedProps","left_component","title","description","element","heading","heading_level","disabled","skeleton","no_animation","variant","_left_component","_expanded","_title","_description","_icon","_icon_size","_disabled","_excluded5","defaultParts","Array","isArray","filter","cur","isValidElement","removeParts","forEach","part","find","c","type","push","index","findIndex","splice","partsToRender","wrapperParts","wrapperComp","undefined","iconIndex","headerParams","role","tabIndex","onClick","onKeyDown","onMouseOver","onMouseOut","Element","String","Number","Container","Icon","Title","Description","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionHeader.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, { HTMLProps, useContext, useState } from 'react'\nimport type { SpacingProps } from '../space/types'\n\nimport {\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport classnames from 'classnames'\nimport AccordionContext from './AccordionContext'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport type { HeadingLevel } from '../Heading'\nimport type { IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type {\n AccordionIcon,\n AccordionIconPosition,\n AccordionVariant,\n} from './Accordion'\n\nexport type AccordionHeaderTitleProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderTitle({\n children = null,\n ...rest\n}: AccordionHeaderTitleProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__title',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n )\n}\n\nexport type AccordionHeaderDescriptionProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderDescription({\n children = null,\n ...rest\n}: AccordionHeaderDescriptionProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__description',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\nexport type AccordionHeaderContainerProps = SpacingProps & {\n children?: React.ReactNode\n}\n\nfunction AccordionHeaderContainer({\n children = null,\n ...rest\n}: AccordionHeaderContainerProps) {\n return children ? (\n <span\n className={classnames(\n 'dnb-accordion__header__container',\n createSpacingClasses(rest)\n )}\n >\n {children}\n </span>\n ) : null\n}\n\ntype AccordionHeaderIconIcon =\n | React.ReactNode\n | ((...args: any[]) => React.ReactNode)\n | {\n closed?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n expanded?: React.ReactNode | ((...args: any[]) => React.ReactNode)\n }\n\nexport type AccordionHeaderIconProps = {\n icon?: AccordionHeaderIconIcon\n size?: IconSize\n expanded?: boolean\n icon_position?: AccordionIconPosition\n}\n\nfunction AccordionHeaderIcon({\n icon,\n expanded,\n size = 'medium',\n icon_position,\n}: AccordionHeaderIconProps) {\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n icon_position && `dnb-accordion__header__icon--${icon_position}`\n )}\n >\n <IconPrimary\n size={size}\n // There has to be a better way than to do so much casting\n icon={\n icon &&\n typeof icon === 'object' &&\n 'expanded' in icon &&\n typeof icon?.expanded !== 'undefined'\n ? icon[expanded ? 'expanded' : 'closed']\n : (icon as React.ReactNode | ((...args: any[]) => any)) ||\n 'chevron-down'\n }\n aria-hidden\n />\n </span>\n )\n}\n\nexport type AccordionHeaderTitle =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderDescription =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderLeftComponent =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderElement =\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderHeading =\n | boolean\n | string\n | React.ReactNode\n | ((...args: any[]) => any)\nexport type AccordionHeaderIcon =\n | React.ReactNode\n | ((...args: any[]) => any)\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionHeaderProps = React.HTMLProps<HTMLElement> &\n SpacingProps & {\n title?: AccordionHeaderTitle\n expanded?: boolean\n description?: AccordionHeaderDescription\n left_component?: AccordionHeaderLeftComponent\n element?: AccordionHeaderElement\n heading?: AccordionHeaderHeading\n heading_level?: HeadingLevel\n icon?: AccordionIcon\n icon_position?: AccordionIconPosition\n icon_size?: IconSize\n disabled?: boolean\n skeleton?: SkeletonShow\n no_animation?: boolean\n className?: string\n children?: string | React.ReactNode | ((...args: any[]) => any)\n variant?: AccordionVariant\n }\n\nconst accordionHeaderDefaultProps = {\n icon_size: 'medium',\n}\n\nexport const AccordionHeader = ({\n icon_size: icon_size_default = 'medium',\n ...restOfProps\n}: AccordionHeaderProps) => {\n const props = { icon_size: icon_size_default, ...restOfProps }\n\n const [isHovering, setIsHovering] = useState<boolean>(false)\n const [hasClicked, setHasClicked] = useState<boolean>(false)\n\n const context = useContext(AccordionContext)\n\n function onKeyDownHandler(event: React.KeyboardEvent<HTMLElement>) {\n const keyPressed = event.key\n\n if (keyPressed === 'Enter' || keyPressed === ' ') {\n event.preventDefault()\n onClickHandler(event)\n }\n }\n\n function onClickHandler(\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>\n ) {\n const { id, group } = context\n\n if (canClick()) {\n const expanded = !context.expanded\n context.callOnChange({ id, group, expanded, event })\n\n setHasClicked(true)\n }\n }\n\n function onMouseOverHandler() {\n setIsHovering(true)\n }\n\n function onMouseOutHandler() {\n setIsHovering(false)\n setHasClicked(false)\n }\n\n function canClick() {\n const { expanded, allow_close_all, group } = context\n return !group || (group && !expanded) || allow_close_all\n }\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionHeaderDefaultProps,\n context as Record<string, unknown>\n )\n\n const {\n id,\n\n // 1. these props should be the same as ...\n left_component,\n expanded, // eslint-disable-line\n title,\n description,\n element,\n heading,\n heading_level,\n icon,\n icon_size,\n disabled,\n skeleton,\n no_animation,\n variant,\n } = extendedProps\n\n let { icon_position } = extendedProps\n\n const {\n children,\n className,\n\n // 2. ... these\n left_component: _left_component, // eslint-disable-line\n expanded: _expanded, // eslint-disable-line\n title: _title, // eslint-disable-line\n description: _description, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_size: _icon_size, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n\n ...rest\n } = props\n\n const defaultParts = [\n <AccordionHeaderIcon\n key=\"icon\"\n icon={icon}\n size={icon_size}\n expanded={context.expanded}\n icon_position={icon_position}\n />,\n <AccordionHeaderContainer key=\"container\">\n {left_component as React.ReactNode}\n </AccordionHeaderContainer>,\n <AccordionHeaderTitle key=\"title\">\n {title ||\n (Array.isArray(children)\n ? children.filter((cur) => !React.isValidElement(cur))\n : children)}\n </AccordionHeaderTitle>,\n <AccordionHeaderDescription key=\"description\">\n {description as React.ReactNode}\n </AccordionHeaderDescription>,\n ]\n\n if (Array.isArray(children)) {\n const removeParts = []\n children.forEach((cur) => {\n if (React.isValidElement(cur)) {\n const part = defaultParts.find((c) => c.type === cur.type)\n if (part) {\n removeParts.push(part)\n }\n\n // if (cur.type === AccordionHeaderTitle) {\n // defaultParts.unshift(cur)\n // } else {\n // defaultParts.push(cur)\n // }\n\n defaultParts.push(cur)\n }\n })\n removeParts.forEach((part) => {\n const index = defaultParts.findIndex((c) => c === part)\n if (index > -1) {\n defaultParts.splice(index, 1)\n }\n })\n }\n\n const partsToRender = []\n const wrapperParts = []\n const wrapperComp = (\n <span className=\"dnb-accordion__header__wrapper\" key=\"wrapper\">\n {wrapperParts}\n </span>\n )\n\n defaultParts.forEach((part) => {\n if (\n React.isValidElement(part) &&\n (part.type === AccordionHeaderTitle ||\n part.type === AccordionHeaderDescription)\n ) {\n wrapperParts.push(part)\n if (partsToRender.findIndex((c) => c === wrapperComp) === -1) {\n partsToRender.push(wrapperComp)\n }\n } else {\n partsToRender.push(part)\n }\n })\n\n // position the icon to the right, if the element is not in the beginning\n if (icon_position === undefined) {\n const iconIndex = partsToRender.findIndex(\n (c) => c.type === AccordionHeaderIcon\n )\n // because of the container at the beginning, we use 1\n if (iconIndex > 1) {\n icon_position = 'right'\n }\n\n if (left_component) {\n icon_position = 'right'\n }\n }\n\n const headerParams = {\n id: `${id}-header`,\n 'aria-controls': `${id}-content`,\n 'aria-expanded': context.expanded,\n role: 'button',\n tabIndex: 0,\n className: classnames(\n 'dnb-accordion__header',\n variant && `dnb-accordion__header--${variant}`,\n context.expanded && 'dnb-accordion__header--expanded',\n icon_position && `dnb-accordion__header--icon-${icon_position}`,\n isHovering &&\n hasClicked &&\n context.expanded &&\n 'dnb-accordion__header--after-click',\n !canClick() && 'dnb-accordion__header--prevent-click',\n description && 'dnb-accordion__header--description',\n no_animation && 'dnb-accordion__header--no-animation',\n createSkeletonClass('font', skeleton, context),\n createSpacingClasses(rest),\n className\n ),\n disabled,\n ...rest,\n } satisfies HTMLProps<HTMLElement>\n\n if (disabled || skeleton) {\n headerParams.tabIndex = -1\n headerParams.disabled = true\n headerParams['aria-disabled'] = true\n } else {\n headerParams.onClick = onClickHandler\n headerParams.onKeyDown = onKeyDownHandler\n headerParams.onMouseOver = onMouseOverHandler\n headerParams.onMouseOut = onMouseOutHandler\n }\n\n skeletonDOMAttributes(headerParams, skeleton, context)\n\n validateDOMAttributes(props, headerParams)\n\n let Element = 'div'\n\n // (String(heading) === 'true' || String(heading) === '1') extracted from isTrue function\n if (heading && (String(heading) === 'true' || String(heading) === '1')) {\n headerParams.role = 'heading'\n headerParams['aria-level'] = heading_level ? Number(heading_level) : 2\n } else if (heading) {\n headerParams.role = null\n Element = heading as string\n } else if (element) {\n headerParams.role = null\n Element = element as string\n }\n\n return <Element {...headerParams}>{partsToRender}</Element>\n}\n\nAccordionHeader.Container = AccordionHeaderContainer\nAccordionHeader.Icon = AccordionHeaderIcon\nAccordionHeader.Title = AccordionHeaderTitle\nAccordionHeader.Description = AccordionHeaderDescription\n\nAccordionHeader._supportsSpacingProps = true\n\nexport default AccordionHeader\n"],"mappings":"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"}
@@ -7,14 +7,16 @@
7
7
  */
8
8
  .dnb-accordion {
9
9
  --accordion-border-width: 0.0625rem;
10
- --accordion-border-radius: 0.25rem;
10
+ --accordion-border-radius: 0.5rem;
11
11
  --accordion-easing: var(--easing-default);
12
- --accordion-header-margin-vertical: 1.5rem;
13
- --accordion-header-margin-vertical--description: 1rem;
14
- --accordion-header-wrapper-margin: 2rem;
12
+ --accordion-header-margin-vertical: 1.25rem;
13
+ --accordion-header-margin-vertical--description: 0.75rem;
14
+ --accordion-header-wrapper-margin: 1rem;
15
15
  --accordion-header-wrapper-margin--icon-right: 1rem;
16
16
  --accordion-header-icon-gutter: 1rem;
17
17
  --accordion-header-icon-margin: 1rem;
18
+ --accordion-title-font-weight: var(--font-weight-basis);
19
+ --accordion-title-font-weight--expanded: var(--font-weight-medium);
18
20
  position: relative;
19
21
  display: flex;
20
22
  flex-direction: column;
@@ -62,7 +64,7 @@
62
64
  transition: transform 400ms var(--accordion-easing);
63
65
  }
64
66
  .dnb-accordion__header--description .dnb-accordion__header__icon {
65
- margin-top: 1rem;
67
+ margin-top: var(--accordion-header-margin-vertical--description);
66
68
  }
67
69
  .dnb-accordion__header--icon-right {
68
70
  justify-content: space-between;
@@ -86,9 +88,15 @@
86
88
  .dnb-accordion__header--icon-right .dnb-accordion__header__container + .dnb-accordion__header__wrapper {
87
89
  margin-left: 0;
88
90
  }
91
+ .dnb-accordion__header--expanded {
92
+ --accordion-title-font-weight: var(
93
+ --accordion-title-font-weight--expanded
94
+ );
95
+ }
89
96
  .dnb-accordion__header__title {
90
97
  font-size: var(--font-size-basis);
91
98
  line-height: var(--line-height-basis);
99
+ font-weight: var(--accordion-title-font-weight);
92
100
  }
93
101
  .dnb-accordion__header__description {
94
102
  font-size: var(--font-size-small);
@@ -1 +1,3 @@
1
- .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.25rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.5rem;--accordion-header-margin-vertical--description:1rem;--accordion-header-wrapper-margin:2rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;display:flex;flex-direction:column;font-size:var(--font-size-small);line-height:var(--line-height-basis);position:relative}.dnb-accordion__header{align-items:center;border:var(--accordion-border-width) solid transparent;border-radius:var(--accordion-border-radius);cursor:pointer;display:flex;outline:none}.dnb-accordion__header:focus{-webkit-user-select:none;user-select:none}.dnb-accordion__header *{pointer-events:none}.dnb-accordion__header--prevent-click{pointer-events:none;-webkit-user-select:none;user-select:none}.dnb-accordion__header__wrapper{display:flex;flex-direction:column;margin:var(--accordion-header-margin-vertical) var(--accordion-header-wrapper-margin) var(--accordion-header-margin-vertical) 0;width:100%}.dnb-accordion__header--description .dnb-accordion__header__wrapper{margin-bottom:var(--accordion-header-margin-vertical--description);margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header__container{margin:0 1rem}.dnb-accordion__header__icon{align-self:flex-start;font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:1rem}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header__title{font-size:var(--font-size-basis);line-height:var(--line-height-basis)}.dnb-accordion__header__description{font-size:var(--font-size-small);font-weight:var(--font-weight-basis);line-height:var(--line-height-small)}.dnb-accordion__header__description+.dnb-accordion__header__title,.dnb-accordion__header__title+.dnb-accordion__header__description{margin-top:.25rem}.dnb-accordion--expanded>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-180deg)}.dnb-accordion__content{display:flex;transition:height .4s var(--accordion-easing),opacity .6s var(--accordion-easing);width:100%;will-change:height}.dnb-accordion__content__inner{margin-top:1rem;width:100%}.dnb-accordion__content.dnb-height-animation--hidden .dnb-accordion__content__inner{display:none}.dnb-accordion-group--single-container{transition:min-height 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion{max-width:60rem;position:static}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion__header{width:40%}.dnb-accordion-group--single-container .dnb-accordion__content{margin-left:1rem;transition:opacity 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion__content__inner{margin-top:0}.dnb-accordion-group--single-container .dnb-accordion>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-90deg)}}.dnb-accordion-group--single-container .dnb-accordion-group__children{max-width:60rem}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion-group__children{display:flex;flex-direction:column;position:relative}.dnb-accordion-group--single-container .dnb-accordion-group__children .dnb-accordion__content{position:absolute;right:0;top:0;width:60%;z-index:10}}.dnb-accordion>.dnb-accordion__header--no-animation .dnb-accordion__header__icon,html[data-visual-test] .dnb-accordion .dnb-accordion__header .dnb-accordion__header__icon{transition:none}
1
+ .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.5rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.25rem;--accordion-header-margin-vertical--description:0.75rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;--accordion-title-font-weight:var(--font-weight-basis);--accordion-title-font-weight--expanded:var(--font-weight-medium);display:flex;flex-direction:column;font-size:var(--font-size-small);line-height:var(--line-height-basis);position:relative}.dnb-accordion__header{align-items:center;border:var(--accordion-border-width) solid transparent;border-radius:var(--accordion-border-radius);cursor:pointer;display:flex;outline:none}.dnb-accordion__header:focus{-webkit-user-select:none;user-select:none}.dnb-accordion__header *{pointer-events:none}.dnb-accordion__header--prevent-click{pointer-events:none;-webkit-user-select:none;user-select:none}.dnb-accordion__header__wrapper{display:flex;flex-direction:column;margin:var(--accordion-header-margin-vertical) var(--accordion-header-wrapper-margin) var(--accordion-header-margin-vertical) 0;width:100%}.dnb-accordion__header--description .dnb-accordion__header__wrapper{margin-bottom:var(--accordion-header-margin-vertical--description);margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header__container{margin:0 1rem}.dnb-accordion__header__icon{align-self:flex-start;font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header--expanded{--accordion-title-font-weight:var(
2
+ --accordion-title-font-weight--expanded
3
+ )}.dnb-accordion__header__title{font-size:var(--font-size-basis);font-weight:var(--accordion-title-font-weight);line-height:var(--line-height-basis)}.dnb-accordion__header__description{font-size:var(--font-size-small);font-weight:var(--font-weight-basis);line-height:var(--line-height-small)}.dnb-accordion__header__description+.dnb-accordion__header__title,.dnb-accordion__header__title+.dnb-accordion__header__description{margin-top:.25rem}.dnb-accordion--expanded>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-180deg)}.dnb-accordion__content{display:flex;transition:height .4s var(--accordion-easing),opacity .6s var(--accordion-easing);width:100%;will-change:height}.dnb-accordion__content__inner{margin-top:1rem;width:100%}.dnb-accordion__content.dnb-height-animation--hidden .dnb-accordion__content__inner{display:none}.dnb-accordion-group--single-container{transition:min-height 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion{max-width:60rem;position:static}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion__header{width:40%}.dnb-accordion-group--single-container .dnb-accordion__content{margin-left:1rem;transition:opacity 1s var(--accordion-easing)}.dnb-accordion-group--single-container .dnb-accordion__content__inner{margin-top:0}.dnb-accordion-group--single-container .dnb-accordion>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-90deg)}}.dnb-accordion-group--single-container .dnb-accordion-group__children{max-width:60rem}@media screen and (min-width:40em){.dnb-accordion-group--single-container .dnb-accordion-group__children{display:flex;flex-direction:column;position:relative}.dnb-accordion-group--single-container .dnb-accordion-group__children .dnb-accordion__content{position:absolute;right:0;top:0;width:60%;z-index:10}}.dnb-accordion>.dnb-accordion__header--no-animation .dnb-accordion__header__icon,html[data-visual-test] .dnb-accordion .dnb-accordion__header .dnb-accordion__header__icon{transition:none}
@@ -7,21 +7,25 @@
7
7
 
8
8
  .dnb-accordion {
9
9
  --accordion-border-width: 0.0625rem;
10
- --accordion-border-radius: 0.25rem;
10
+ --accordion-border-radius: 0.5rem;
11
11
  --accordion-easing: var(--easing-default);
12
12
 
13
13
  // vertical spacing
14
- --accordion-header-margin-vertical: 1.5rem;
15
- --accordion-header-margin-vertical--description: 1rem;
14
+ --accordion-header-margin-vertical: 1.25rem;
15
+ --accordion-header-margin-vertical--description: 0.75rem;
16
16
 
17
17
  // wrapper
18
- --accordion-header-wrapper-margin: 2rem;
18
+ --accordion-header-wrapper-margin: 1rem;
19
19
  --accordion-header-wrapper-margin--icon-right: 1rem;
20
20
 
21
21
  // icon
22
22
  --accordion-header-icon-gutter: 1rem;
23
23
  --accordion-header-icon-margin: 1rem;
24
24
 
25
+ // Title
26
+ --accordion-title-font-weight: var(--font-weight-basis);
27
+ --accordion-title-font-weight--expanded: var(--font-weight-medium);
28
+
25
29
  position: relative;
26
30
 
27
31
  display: flex;
@@ -86,7 +90,7 @@
86
90
  transition: transform 400ms var(--accordion-easing);
87
91
  }
88
92
  &--description &__icon {
89
- margin-top: 1rem;
93
+ margin-top: var(--accordion-header-margin-vertical--description);
90
94
  }
91
95
  &--icon-right {
92
96
  justify-content: space-between;
@@ -111,9 +115,16 @@
111
115
  margin-left: 0;
112
116
  }
113
117
 
118
+ &--expanded {
119
+ --accordion-title-font-weight: var(
120
+ --accordion-title-font-weight--expanded
121
+ );
122
+ }
123
+
114
124
  &__title {
115
125
  font-size: var(--font-size-basis);
116
126
  line-height: var(--line-height-basis);
127
+ font-weight: var(--accordion-title-font-weight);
117
128
  }
118
129
 
119
130
  &__description {
@@ -5,39 +5,29 @@
5
5
  /*
6
6
  * Utilities
7
7
  */
8
- /*
9
- * Button mixins
10
- *
11
- */
12
8
  .dnb-accordion {
13
9
  --accordion-border-width: 0;
14
10
  --accordion-border-radius: 0;
15
11
  --accordion-header-margin-vertical: 1rem;
16
12
  --accordion-header-margin-vertical--description: 0.5rem;
17
- --accordion-header-wrapper-margin: 1rem;
18
13
  --accordion-header-wrapper-margin--icon-right: calc(
19
- 1.5rem - var(--accordion-frame-width)
14
+ 1.5rem - var(--sb-accordion-frame-width)
20
15
  );
21
16
  --accordion-header-icon-gutter: 0.5rem;
22
17
  --accordion-header-icon-margin: calc(
23
- 1.5rem - var(--accordion-frame-width)
18
+ 1.5rem - var(--sb-accordion-frame-width)
24
19
  );
25
- --accordion-frame-color: transparent;
26
- --accordion-frame-color--expanded: var(--sb-color-violet);
27
- --accordion-frame-color--disabled: var(--sb-color-gray-dark-2);
28
- --accordion-frame-width: 0.1875rem;
29
- --accordion-frame-width--active: 0rem;
30
- --accordion-bg: transparent;
31
- --accordion-bg--expanded: var(--sb-color-violet-light-4);
32
- --accordion-bg--disabled: var(--sb-color-gray-light-2);
33
- --accordion-content-padding-left: calc(
34
- 3.5rem - var(--accordion-frame-width)
20
+ --sb-accordion-frame-color: transparent;
21
+ --sb-accordion-frame-width: 0.1875rem;
22
+ --sb-accordion-frame-width--active: 0rem;
23
+ --sb-accordion-content-padding-left: calc(
24
+ 3.5rem - var(--sb-accordion-frame-width)
35
25
  );
36
26
  color: var(--sb-color-text);
37
27
  }
38
28
  .dnb-accordion__header, .dnb-accordion__content {
39
- background-color: var(--accordion-bg);
40
- border-left: var(--accordion-frame-width) solid var(--accordion-frame-color);
29
+ background-color: var(--sb-accordion-background, transparent);
30
+ border-left: var(--sb-accordion-frame-width) solid var(--sb-accordion-frame-color);
41
31
  }
42
32
  html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible[disabled] {
43
33
  cursor: not-allowed;
@@ -88,8 +78,8 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
88
78
  --border-width: 0.0625rem;
89
79
  box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
90
80
  --border-color: var(--sb-color-violet);
91
- border-left-width: var(--accordion-frame-width--active);
92
- padding-left: calc(var(--accordion-frame-width) - var(--accordion-frame-width--active));
81
+ border-left-width: var(--sb-accordion-frame-width--active);
82
+ padding-left: calc(var(--sb-accordion-frame-width) - var(--sb-accordion-frame-width--active));
93
83
  }
94
84
  .dnb-accordion__header__icon, .dnb-accordion__header__container {
95
85
  color: var(--sb-color-violet);
@@ -98,8 +88,8 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
98
88
  --accordion-header-icon-margin: 1.5rem;
99
89
  }
100
90
  .dnb-accordion__header--icon-right + .dnb-accordion__content {
101
- --accordion-content-padding-left: calc(
102
- 1.5rem - var(--accordion-frame-width)
91
+ --sb-accordion-content-padding-left: calc(
92
+ 1.5rem - var(--sb-accordion-frame-width)
103
93
  );
104
94
  }
105
95
  .dnb-accordion__header[disabled] * {
@@ -107,18 +97,15 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
107
97
  }
108
98
  .dnb-accordion__content__inner {
109
99
  margin-top: 0;
110
- padding: 0 1rem 1rem var(--accordion-content-padding-left);
100
+ padding: 0 1rem 1rem var(--sb-accordion-content-padding-left);
111
101
  }
112
102
  .dnb-accordion--expanded {
113
- --accordion-bg: var(--accordion-bg--expanded);
114
- --accordion-frame-color: var(--accordion-frame-color--expanded);
115
- --accordion-frame-width--active: 0.125rem;
116
- }
117
- .dnb-accordion--expanded > .dnb-accordion__header {
118
- font-weight: var(--font-weight-medium);
103
+ --sb-accordion-background: var(--sb-color-violet-light-4);
104
+ --sb-accordion-frame-color: var(--sb-color-violet);
105
+ --sb-accordion-frame-width--active: 0.125rem;
119
106
  }
120
107
  .dnb-accordion--expanded > .dnb-accordion__header[disabled],
121
108
  .dnb-accordion--expanded > .dnb-accordion__header[disabled] + .dnb-accordion__content {
122
- --accordion-bg: var(--accordion-bg--disabled);
123
- --accordion-frame-color: var(--accordion-frame-color--disabled);
109
+ --sb-accordion-background: var(--sb-color-gray-light-2);
110
+ --sb-accordion-frame-color: var(--sb-color-gray-dark-2);
124
111
  }
@@ -1 +1 @@
1
- .dnb-accordion{--accordion-border-width:0;--accordion-border-radius:0;--accordion-header-margin-vertical:1rem;--accordion-header-margin-vertical--description:0.5rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:calc(1.5rem - var(--accordion-frame-width));--accordion-header-icon-gutter:0.5rem;--accordion-header-icon-margin:calc(1.5rem - var(--accordion-frame-width));--accordion-frame-color:transparent;--accordion-frame-color--expanded:var(--sb-color-violet);--accordion-frame-color--disabled:var(--sb-color-gray-dark-2);--accordion-frame-width:0.1875rem;--accordion-frame-width--active:0rem;--accordion-bg:transparent;--accordion-bg--expanded:var(--sb-color-violet-light-4);--accordion-bg--disabled:var(--sb-color-gray-light-2);--accordion-content-padding-left:calc(3.5rem - var(--accordion-frame-width));color:var(--sb-color-text)}.dnb-accordion__content,.dnb-accordion__header{background-color:var(--accordion-bg);border-left:var(--accordion-frame-width) solid var(--accordion-frame-color)}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]){background-color:var(--sb-color-violet-light-2)}.dnb-accordion__header:active[disabled],html:not([data-whatintent=touch]) .dnb-accordion__header:active[disabled]{cursor:not-allowed}.dnb-accordion__header:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-accordion__header:active:not([disabled]){--border-color: ;--border-width:0.0625rem;--border-color:var(--sb-color-violet);background-color:var(--sb-color-white);border-left-width:var(--accordion-frame-width--active);box-shadow:inset 0 0 0 var(--border-width) var(--border-color);padding-left:calc(var(--accordion-frame-width) - var(--accordion-frame-width--active))}.dnb-accordion__header__container,.dnb-accordion__header__icon{color:var(--sb-color-violet)}.dnb-accordion__header--icon-right{--accordion-header-icon-margin:1.5rem}.dnb-accordion__header--icon-right+.dnb-accordion__content{--accordion-content-padding-left:calc(1.5rem - var(--accordion-frame-width))}.dnb-accordion__header[disabled] *{color:var(--sb-color-gray-dark-2)}.dnb-accordion__content__inner{margin-top:0;padding:0 1rem 1rem var(--accordion-content-padding-left)}.dnb-accordion--expanded{--accordion-bg:var(--accordion-bg--expanded);--accordion-frame-color:var(--accordion-frame-color--expanded);--accordion-frame-width--active:0.125rem}.dnb-accordion--expanded>.dnb-accordion__header{font-weight:var(--font-weight-medium)}.dnb-accordion--expanded>.dnb-accordion__header[disabled],.dnb-accordion--expanded>.dnb-accordion__header[disabled]+.dnb-accordion__content{--accordion-bg:var(--accordion-bg--disabled);--accordion-frame-color:var(--accordion-frame-color--disabled)}
1
+ .dnb-accordion{--accordion-border-width:0;--accordion-border-radius:0;--accordion-header-margin-vertical:1rem;--accordion-header-margin-vertical--description:0.5rem;--accordion-header-wrapper-margin--icon-right:calc(1.5rem - var(--sb-accordion-frame-width));--accordion-header-icon-gutter:0.5rem;--accordion-header-icon-margin:calc(1.5rem - var(--sb-accordion-frame-width));--sb-accordion-frame-color:transparent;--sb-accordion-frame-width:0.1875rem;--sb-accordion-frame-width--active:0rem;--sb-accordion-content-padding-left:calc(3.5rem - var(--sb-accordion-frame-width));color:var(--sb-color-text)}.dnb-accordion__content,.dnb-accordion__header{background-color:var(--sb-accordion-background,transparent);border-left:var(--sb-accordion-frame-width) solid var(--sb-accordion-frame-color)}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]){--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.125rem;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--border-color);outline:none;z-index:1}html:not([data-whatintent=touch]) .dnb-accordion__header.focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:focus-visible:not([disabled]) .dnb-accordion__header__icon{color:var(--border-color)}html:not([data-whatintent=touch]) .dnb-accordion__header:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]){background-color:var(--sb-color-violet-light-2)}.dnb-accordion__header:active[disabled],html:not([data-whatintent=touch]) .dnb-accordion__header:active[disabled]{cursor:not-allowed}.dnb-accordion__header:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-accordion__header:active:not([disabled]){--border-color: ;--border-width:0.0625rem;--border-color:var(--sb-color-violet);background-color:var(--sb-color-white);border-left-width:var(--sb-accordion-frame-width--active);box-shadow:inset 0 0 0 var(--border-width) var(--border-color);padding-left:calc(var(--sb-accordion-frame-width) - var(--sb-accordion-frame-width--active))}.dnb-accordion__header__container,.dnb-accordion__header__icon{color:var(--sb-color-violet)}.dnb-accordion__header--icon-right{--accordion-header-icon-margin:1.5rem}.dnb-accordion__header--icon-right+.dnb-accordion__content{--sb-accordion-content-padding-left:calc(1.5rem - var(--sb-accordion-frame-width))}.dnb-accordion__header[disabled] *{color:var(--sb-color-gray-dark-2)}.dnb-accordion__content__inner{margin-top:0;padding:0 1rem 1rem var(--sb-accordion-content-padding-left)}.dnb-accordion--expanded{--sb-accordion-background:var(--sb-color-violet-light-4);--sb-accordion-frame-color:var(--sb-color-violet);--sb-accordion-frame-width--active:0.125rem}.dnb-accordion--expanded>.dnb-accordion__header[disabled],.dnb-accordion--expanded>.dnb-accordion__header[disabled]+.dnb-accordion__content{--sb-accordion-background:var(--sb-color-gray-light-2);--sb-accordion-frame-color:var(--sb-color-gray-dark-2)}
@@ -4,7 +4,6 @@
4
4
  */
5
5
 
6
6
  @import '../../../../style/core/utilities.scss';
7
- @import '../../../button/style/themes/button-mixins.scss';
8
7
 
9
8
  .dnb-accordion {
10
9
  --accordion-border-width: 0;
@@ -15,41 +14,33 @@
15
14
  --accordion-header-margin-vertical--description: 0.5rem;
16
15
 
17
16
  // header
18
- --accordion-header-wrapper-margin: 1rem;
19
17
  --accordion-header-wrapper-margin--icon-right: calc(
20
- 1.5rem - var(--accordion-frame-width)
18
+ 1.5rem - var(--sb-accordion-frame-width)
21
19
  );
22
20
 
23
21
  // icon
24
22
  --accordion-header-icon-gutter: 0.5rem;
25
23
  --accordion-header-icon-margin: calc(
26
- 1.5rem - var(--accordion-frame-width)
24
+ 1.5rem - var(--sb-accordion-frame-width)
27
25
  );
28
26
 
29
27
  // frame (left border on expand)
30
- --accordion-frame-color: transparent;
31
- --accordion-frame-color--expanded: var(--sb-color-violet);
32
- --accordion-frame-color--disabled: var(--sb-color-gray-dark-2);
33
- --accordion-frame-width: 0.1875rem;
34
- --accordion-frame-width--active: 0rem;
35
-
36
- // background
37
- --accordion-bg: transparent;
38
- --accordion-bg--expanded: var(--sb-color-violet-light-4);
39
- --accordion-bg--disabled: var(--sb-color-gray-light-2);
28
+ --sb-accordion-frame-color: transparent;
29
+ --sb-accordion-frame-width: 0.1875rem;
30
+ --sb-accordion-frame-width--active: 0rem;
40
31
 
41
32
  // other
42
- --accordion-content-padding-left: calc(
43
- 3.5rem - var(--accordion-frame-width)
33
+ --sb-accordion-content-padding-left: calc(
34
+ 3.5rem - var(--sb-accordion-frame-width)
44
35
  );
45
36
 
46
37
  color: var(--sb-color-text);
47
38
 
48
39
  &__header,
49
40
  &__content {
50
- background-color: var(--accordion-bg);
51
- border-left: var(--accordion-frame-width) solid
52
- var(--accordion-frame-color);
41
+ background-color: var(--sb-accordion-background, transparent);
42
+ border-left: var(--sb-accordion-frame-width) solid
43
+ var(--sb-accordion-frame-color);
53
44
  }
54
45
 
55
46
  &__header {
@@ -73,9 +64,11 @@
73
64
  @include fakeBorder(null, null, inset);
74
65
  // must be set after fakeBorder()
75
66
  --border-color: var(--sb-color-violet);
76
- border-left-width: var(--accordion-frame-width--active);
67
+ border-left-width: var(--sb-accordion-frame-width--active);
77
68
  padding-left: calc(
78
- var(--accordion-frame-width) - var(--accordion-frame-width--active)
69
+ var(--sb-accordion-frame-width) - var(
70
+ --sb-accordion-frame-width--active
71
+ )
79
72
  );
80
73
  }
81
74
 
@@ -87,8 +80,8 @@
87
80
  &--icon-right {
88
81
  --accordion-header-icon-margin: 1.5rem;
89
82
  + .dnb-accordion__content {
90
- --accordion-content-padding-left: calc(
91
- 1.5rem - var(--accordion-frame-width)
83
+ --sb-accordion-content-padding-left: calc(
84
+ 1.5rem - var(--sb-accordion-frame-width)
92
85
  );
93
86
  }
94
87
  }
@@ -103,23 +96,19 @@
103
96
 
104
97
  &__content__inner {
105
98
  margin-top: 0;
106
- padding: 0 1rem 1rem var(--accordion-content-padding-left);
99
+ padding: 0 1rem 1rem var(--sb-accordion-content-padding-left);
107
100
  }
108
101
 
109
102
  &--expanded {
110
- --accordion-bg: var(--accordion-bg--expanded);
111
- --accordion-frame-color: var(--accordion-frame-color--expanded);
112
- --accordion-frame-width--active: 0.125rem;
113
-
114
- > .dnb-accordion__header {
115
- font-weight: var(--font-weight-medium);
116
- }
103
+ --sb-accordion-background: var(--sb-color-violet-light-4);
104
+ --sb-accordion-frame-color: var(--sb-color-violet);
105
+ --sb-accordion-frame-width--active: 0.125rem;
117
106
 
118
107
  // disabled
119
108
  > .dnb-accordion__header[disabled],
120
109
  > .dnb-accordion__header[disabled] + .dnb-accordion__content {
121
- --accordion-bg: var(--accordion-bg--disabled);
122
- --accordion-frame-color: var(--accordion-frame-color--disabled);
110
+ --sb-accordion-background: var(--sb-color-gray-light-2);
111
+ --sb-accordion-frame-color: var(--sb-color-gray-dark-2);
123
112
  }
124
113
  }
125
114
  }