@dnb/eufemia 10.12.0 → 10.13.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 (582) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/cjs/components/accordion/Accordion.js +1 -0
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionGroup.js +1 -0
  5. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  6. package/cjs/components/accordion/AccordionHeader.js +5 -15
  7. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  8. package/cjs/components/accordion/style/dnb-accordion.css +2 -2
  9. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  10. package/cjs/components/accordion/style/dnb-accordion.scss +3 -8
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  12. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  13. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  14. package/cjs/components/anchor/Anchor.js.map +1 -1
  15. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  16. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  17. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  18. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  19. package/cjs/components/autocomplete/Autocomplete.js +41 -16
  20. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  21. package/cjs/components/breadcrumb/Breadcrumb.js +1 -0
  22. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  23. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  24. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  25. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  26. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  27. package/cjs/components/card/Card.js +2 -2
  28. package/cjs/components/card/Card.js.map +1 -1
  29. package/cjs/components/dialog/Dialog.js +1 -0
  30. package/cjs/components/dialog/Dialog.js.map +1 -1
  31. package/cjs/components/dialog/DialogContent.js +1 -0
  32. package/cjs/components/dialog/DialogContent.js.map +1 -1
  33. package/cjs/components/dialog/parts/DialogAction.js +1 -0
  34. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  35. package/cjs/components/drawer/Drawer.js +1 -0
  36. package/cjs/components/drawer/Drawer.js.map +1 -1
  37. package/cjs/components/drawer/DrawerContent.js +1 -0
  38. package/cjs/components/drawer/DrawerContent.js.map +1 -1
  39. package/cjs/components/drawer/parts/DrawerContentContext.js +1 -0
  40. package/cjs/components/drawer/parts/DrawerContentContext.js.map +1 -1
  41. package/cjs/components/flex/Container.js +6 -4
  42. package/cjs/components/flex/Container.js.map +1 -1
  43. package/cjs/components/flex/utils.js +2 -2
  44. package/cjs/components/flex/utils.js.map +1 -1
  45. package/cjs/components/form-row/style/dnb-form-row.scss +1 -1
  46. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  47. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  48. package/cjs/components/input-masked/MultiInputMask.d.ts +3 -3
  49. package/cjs/components/input-masked/MultiInputMask.js +2 -1
  50. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  51. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +1 -0
  52. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  53. package/cjs/components/input-masked/hooks/useMultiInputValues.js +1 -0
  54. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  55. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  56. package/cjs/components/number-format/useNumberFormat.js +1 -0
  57. package/cjs/components/number-format/useNumberFormat.js.map +1 -1
  58. package/cjs/components/pagination/PaginationBar.js +1 -0
  59. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  60. package/cjs/components/step-indicator/StepIndicatorContext.js +1 -0
  61. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  62. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -2
  63. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  64. package/cjs/components/step-indicator/StepIndicatorList.js +1 -0
  65. package/cjs/components/step-indicator/StepIndicatorList.js.map +1 -1
  66. package/cjs/components/step-indicator/StepIndicatorModal.js +1 -0
  67. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  68. package/cjs/components/step-indicator/StepIndicatorSidebar.js +1 -0
  69. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  70. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -0
  71. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  72. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  73. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  74. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  75. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  76. package/cjs/components/tooltip/TooltipWithEvents.js.map +1 -1
  77. package/cjs/components/upload/UploadContext.js +1 -0
  78. package/cjs/components/upload/UploadContext.js.map +1 -1
  79. package/cjs/components/upload/UploadFileInput.js +1 -0
  80. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  81. package/cjs/components/upload/UploadFileListCell.js +1 -0
  82. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  83. package/cjs/elements/lists/Dl.d.ts +1 -1
  84. package/cjs/elements/lists/Dl.js.map +1 -1
  85. package/cjs/elements/typography/style/dnb-typography.scss +1 -1
  86. package/cjs/elements/typography/style/typography-mixins.scss +2 -2
  87. package/cjs/extensions/forms/DataContext/At/At.js +1 -0
  88. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  89. package/cjs/extensions/forms/DataContext/Provider/Provider.js +5 -3
  90. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  91. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  92. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  93. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +5 -3
  94. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  95. package/cjs/extensions/forms/Field/Boolean/Boolean.js +3 -2
  96. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  97. package/cjs/extensions/forms/Field/Currency/Currency.js +3 -2
  98. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  99. package/cjs/extensions/forms/Field/Date/Date.js +2 -1
  100. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Email/Email.js +5 -3
  102. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  103. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -3
  104. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  105. package/cjs/extensions/forms/Field/Number/Number.js +3 -2
  106. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  107. package/cjs/extensions/forms/Field/Option/Option.js +1 -1
  108. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  109. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +5 -3
  110. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  111. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  112. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +58 -18
  113. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  114. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +6 -4
  115. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  116. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +12 -8
  117. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  118. package/cjs/extensions/forms/Field/Selection/Selection.js +29 -20
  119. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  120. package/cjs/extensions/forms/Field/String/String.js +10 -9
  121. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  122. package/cjs/extensions/forms/Field/Toggle/Toggle.js +5 -4
  123. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  124. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +1 -0
  125. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  126. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +1 -0
  127. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  129. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +3 -2
  131. package/cjs/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +2 -1
  133. package/cjs/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  134. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js +1 -0
  135. package/cjs/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  136. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +1 -0
  137. package/cjs/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  138. package/cjs/extensions/forms/StepsLayout/Step/Step.js +1 -0
  139. package/cjs/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  140. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +3 -1
  141. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  142. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +3 -1
  143. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  144. package/cjs/extensions/forms/Value/Boolean/Boolean.js +1 -0
  145. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  146. package/cjs/extensions/forms/Value/Currency/Currency.js +3 -2
  147. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  148. package/cjs/extensions/forms/Value/Date/Date.js +3 -1
  149. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  150. package/cjs/extensions/forms/Value/Email/Email.js +3 -1
  151. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  152. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +3 -1
  153. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  154. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +3 -1
  155. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  156. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  157. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  158. package/cjs/extensions/forms/Visibility/Visibility.js +1 -0
  159. package/cjs/extensions/forms/Visibility/Visibility.js.map +1 -1
  160. package/cjs/extensions/forms/hooks/useDataValue.js +21 -17
  161. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  162. package/cjs/extensions/forms/types.js +6 -6
  163. package/cjs/extensions/forms/types.js.map +1 -1
  164. package/cjs/extensions/forms/utils/ajv.js +3 -2
  165. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  166. package/cjs/extensions/forms/utils/numbers.js +2 -2
  167. package/cjs/extensions/forms/utils/numbers.js.map +1 -1
  168. package/cjs/extensions/forms/utils/useWasChanged.js +8 -6
  169. package/cjs/extensions/forms/utils/useWasChanged.js.map +1 -1
  170. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -1
  171. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  172. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  173. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +1 -1
  174. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  175. package/cjs/shared/Eufemia.d.ts +1 -1
  176. package/cjs/shared/Eufemia.js +2 -2
  177. package/cjs/shared/Eufemia.js.map +1 -1
  178. package/cjs/style/dnb-ui-components.css +2 -2
  179. package/cjs/style/dnb-ui-components.min.css +1 -1
  180. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  181. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  182. package/cjs/style/themes/theme-sbanken/fonts.scss +5 -4
  183. package/cjs/style/themes/theme-sbanken/properties.js +2 -2
  184. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  185. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  186. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  187. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +8 -7
  188. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  189. package/cjs/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  190. package/cjs/style/themes/theme-ui/ui-theme-components.css +2 -2
  191. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  192. package/components/accordion/Accordion.js +2 -0
  193. package/components/accordion/Accordion.js.map +1 -1
  194. package/components/accordion/AccordionGroup.js +2 -0
  195. package/components/accordion/AccordionGroup.js.map +1 -1
  196. package/components/accordion/AccordionHeader.js +6 -15
  197. package/components/accordion/AccordionHeader.js.map +1 -1
  198. package/components/accordion/style/dnb-accordion.css +2 -2
  199. package/components/accordion/style/dnb-accordion.min.css +1 -1
  200. package/components/accordion/style/dnb-accordion.scss +3 -8
  201. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  202. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  203. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  204. package/components/anchor/Anchor.js.map +1 -1
  205. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  206. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  207. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  208. package/components/autocomplete/Autocomplete.d.ts +2 -2
  209. package/components/autocomplete/Autocomplete.js +42 -17
  210. package/components/autocomplete/Autocomplete.js.map +1 -1
  211. package/components/breadcrumb/Breadcrumb.js +2 -0
  212. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  213. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  214. package/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  215. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  216. package/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  217. package/components/card/Card.js +2 -2
  218. package/components/card/Card.js.map +1 -1
  219. package/components/dialog/Dialog.js +2 -0
  220. package/components/dialog/Dialog.js.map +1 -1
  221. package/components/dialog/DialogContent.js +2 -0
  222. package/components/dialog/DialogContent.js.map +1 -1
  223. package/components/dialog/parts/DialogAction.js +2 -0
  224. package/components/dialog/parts/DialogAction.js.map +1 -1
  225. package/components/drawer/Drawer.js +2 -0
  226. package/components/drawer/Drawer.js.map +1 -1
  227. package/components/drawer/DrawerContent.js +2 -0
  228. package/components/drawer/DrawerContent.js.map +1 -1
  229. package/components/drawer/parts/DrawerContentContext.js +2 -0
  230. package/components/drawer/parts/DrawerContentContext.js.map +1 -1
  231. package/components/flex/Container.js +6 -4
  232. package/components/flex/Container.js.map +1 -1
  233. package/components/flex/utils.js +2 -2
  234. package/components/flex/utils.js.map +1 -1
  235. package/components/form-row/style/dnb-form-row.scss +1 -1
  236. package/components/icon/style/dnb-icon.scss +1 -1
  237. package/components/input-masked/InputMasked.d.ts +1 -1
  238. package/components/input-masked/MultiInputMask.d.ts +3 -3
  239. package/components/input-masked/MultiInputMask.js +3 -1
  240. package/components/input-masked/MultiInputMask.js.map +1 -1
  241. package/components/input-masked/hooks/useHandleCursorPosition.js +2 -0
  242. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  243. package/components/input-masked/hooks/useMultiInputValues.js +2 -0
  244. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  245. package/components/number-format/NumberUtils.js.map +1 -1
  246. package/components/number-format/useNumberFormat.js +2 -0
  247. package/components/number-format/useNumberFormat.js.map +1 -1
  248. package/components/pagination/PaginationBar.js +2 -0
  249. package/components/pagination/PaginationBar.js.map +1 -1
  250. package/components/step-indicator/StepIndicatorContext.js +2 -0
  251. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  252. package/components/step-indicator/StepIndicatorItem.js +4 -2
  253. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  254. package/components/step-indicator/StepIndicatorList.js +2 -0
  255. package/components/step-indicator/StepIndicatorList.js.map +1 -1
  256. package/components/step-indicator/StepIndicatorModal.js +2 -0
  257. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  258. package/components/step-indicator/StepIndicatorSidebar.js +2 -0
  259. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  260. package/components/step-indicator/StepIndicatorTriggerButton.js +2 -0
  261. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  262. package/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  263. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  264. package/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  265. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  266. package/components/tooltip/TooltipWithEvents.js.map +1 -1
  267. package/components/upload/UploadContext.js +2 -0
  268. package/components/upload/UploadContext.js.map +1 -1
  269. package/components/upload/UploadFileInput.js +2 -0
  270. package/components/upload/UploadFileInput.js.map +1 -1
  271. package/components/upload/UploadFileListCell.js +2 -0
  272. package/components/upload/UploadFileListCell.js.map +1 -1
  273. package/elements/lists/Dl.d.ts +1 -1
  274. package/elements/lists/Dl.js.map +1 -1
  275. package/elements/typography/style/dnb-typography.scss +1 -1
  276. package/elements/typography/style/typography-mixins.scss +2 -2
  277. package/es/components/accordion/Accordion.js +2 -0
  278. package/es/components/accordion/Accordion.js.map +1 -1
  279. package/es/components/accordion/AccordionGroup.js +2 -0
  280. package/es/components/accordion/AccordionGroup.js.map +1 -1
  281. package/es/components/accordion/AccordionHeader.js +6 -15
  282. package/es/components/accordion/AccordionHeader.js.map +1 -1
  283. package/es/components/accordion/style/dnb-accordion.css +2 -2
  284. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  285. package/es/components/accordion/style/dnb-accordion.scss +3 -8
  286. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +1 -1
  287. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  288. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +1 -1
  289. package/es/components/anchor/Anchor.js.map +1 -1
  290. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +2 -2
  291. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  292. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +1 -2
  293. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  294. package/es/components/autocomplete/Autocomplete.js +42 -17
  295. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  296. package/es/components/breadcrumb/Breadcrumb.js +2 -0
  297. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  298. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  299. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +2 -2
  300. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +1 -1
  301. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +2 -2
  302. package/es/components/card/Card.js +2 -2
  303. package/es/components/card/Card.js.map +1 -1
  304. package/es/components/dialog/Dialog.js +2 -0
  305. package/es/components/dialog/Dialog.js.map +1 -1
  306. package/es/components/dialog/DialogContent.js +2 -0
  307. package/es/components/dialog/DialogContent.js.map +1 -1
  308. package/es/components/dialog/parts/DialogAction.js +2 -0
  309. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  310. package/es/components/drawer/Drawer.js +2 -0
  311. package/es/components/drawer/Drawer.js.map +1 -1
  312. package/es/components/drawer/DrawerContent.js +2 -0
  313. package/es/components/drawer/DrawerContent.js.map +1 -1
  314. package/es/components/drawer/parts/DrawerContentContext.js +2 -0
  315. package/es/components/drawer/parts/DrawerContentContext.js.map +1 -1
  316. package/es/components/flex/Container.js +6 -4
  317. package/es/components/flex/Container.js.map +1 -1
  318. package/es/components/flex/utils.js +2 -2
  319. package/es/components/flex/utils.js.map +1 -1
  320. package/es/components/form-row/style/dnb-form-row.scss +1 -1
  321. package/es/components/icon/style/dnb-icon.scss +1 -1
  322. package/es/components/input-masked/InputMasked.d.ts +1 -1
  323. package/es/components/input-masked/MultiInputMask.d.ts +3 -3
  324. package/es/components/input-masked/MultiInputMask.js +3 -1
  325. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  326. package/es/components/input-masked/hooks/useHandleCursorPosition.js +2 -0
  327. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  328. package/es/components/input-masked/hooks/useMultiInputValues.js +2 -0
  329. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  330. package/es/components/number-format/NumberUtils.js.map +1 -1
  331. package/es/components/number-format/useNumberFormat.js +2 -0
  332. package/es/components/number-format/useNumberFormat.js.map +1 -1
  333. package/es/components/pagination/PaginationBar.js +2 -0
  334. package/es/components/pagination/PaginationBar.js.map +1 -1
  335. package/es/components/step-indicator/StepIndicatorContext.js +2 -0
  336. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  337. package/es/components/step-indicator/StepIndicatorItem.js +4 -2
  338. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  339. package/es/components/step-indicator/StepIndicatorList.js +2 -0
  340. package/es/components/step-indicator/StepIndicatorList.js.map +1 -1
  341. package/es/components/step-indicator/StepIndicatorModal.js +2 -0
  342. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  343. package/es/components/step-indicator/StepIndicatorSidebar.js +2 -0
  344. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  345. package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -0
  346. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  347. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +1 -0
  348. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  349. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +1 -0
  350. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +1 -1
  351. package/es/components/tooltip/TooltipWithEvents.js.map +1 -1
  352. package/es/components/upload/UploadContext.js +2 -0
  353. package/es/components/upload/UploadContext.js.map +1 -1
  354. package/es/components/upload/UploadFileInput.js +2 -0
  355. package/es/components/upload/UploadFileInput.js.map +1 -1
  356. package/es/components/upload/UploadFileListCell.js +2 -0
  357. package/es/components/upload/UploadFileListCell.js.map +1 -1
  358. package/es/elements/lists/Dl.d.ts +1 -1
  359. package/es/elements/lists/Dl.js.map +1 -1
  360. package/es/elements/typography/style/dnb-typography.scss +1 -1
  361. package/es/elements/typography/style/typography-mixins.scss +2 -2
  362. package/es/extensions/forms/DataContext/At/At.js +2 -0
  363. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  364. package/es/extensions/forms/DataContext/Provider/Provider.js +6 -3
  365. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  366. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  367. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  368. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -3
  369. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  370. package/es/extensions/forms/Field/Boolean/Boolean.js +4 -2
  371. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  372. package/es/extensions/forms/Field/Currency/Currency.js +3 -2
  373. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  374. package/es/extensions/forms/Field/Date/Date.js +3 -1
  375. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  376. package/es/extensions/forms/Field/Email/Email.js +6 -3
  377. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  378. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -3
  379. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  380. package/es/extensions/forms/Field/Number/Number.js +3 -2
  381. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  382. package/es/extensions/forms/Field/Option/Option.js +1 -1
  383. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  384. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -3
  385. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  386. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  387. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +48 -16
  388. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  389. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -4
  390. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  391. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -8
  392. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  393. package/es/extensions/forms/Field/Selection/Selection.js +30 -20
  394. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  395. package/es/extensions/forms/Field/String/String.js +11 -9
  396. package/es/extensions/forms/Field/String/String.js.map +1 -1
  397. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -4
  398. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  399. package/es/extensions/forms/FieldBlock/FieldBlock.js +2 -0
  400. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  401. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +2 -0
  402. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  403. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  404. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  405. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +4 -2
  406. package/es/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  407. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +3 -1
  408. package/es/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  409. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js +2 -0
  410. package/es/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  411. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +2 -0
  412. package/es/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  413. package/es/extensions/forms/StepsLayout/Step/Step.js +2 -0
  414. package/es/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  415. package/es/extensions/forms/StepsLayout/StepsLayout.js +4 -1
  416. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  417. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -1
  418. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  419. package/es/extensions/forms/Value/Boolean/Boolean.js +2 -0
  420. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  421. package/es/extensions/forms/Value/Currency/Currency.js +3 -2
  422. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  423. package/es/extensions/forms/Value/Date/Date.js +4 -1
  424. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  425. package/es/extensions/forms/Value/Email/Email.js +4 -1
  426. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  427. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -1
  428. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  429. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -1
  430. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  431. package/es/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  432. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  433. package/es/extensions/forms/Visibility/Visibility.js +2 -0
  434. package/es/extensions/forms/Visibility/Visibility.js.map +1 -1
  435. package/es/extensions/forms/hooks/useDataValue.js +22 -17
  436. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  437. package/es/extensions/forms/types.js +6 -6
  438. package/es/extensions/forms/types.js.map +1 -1
  439. package/es/extensions/forms/utils/ajv.js +3 -2
  440. package/es/extensions/forms/utils/ajv.js.map +1 -1
  441. package/es/extensions/forms/utils/numbers.js +2 -2
  442. package/es/extensions/forms/utils/numbers.js.map +1 -1
  443. package/es/extensions/forms/utils/useWasChanged.js +9 -6
  444. package/es/extensions/forms/utils/useWasChanged.js.map +1 -1
  445. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -1
  446. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  447. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  448. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +1 -1
  449. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  450. package/es/shared/Eufemia.d.ts +1 -1
  451. package/es/shared/Eufemia.js +2 -2
  452. package/es/shared/Eufemia.js.map +1 -1
  453. package/es/style/dnb-ui-components.css +2 -2
  454. package/es/style/dnb-ui-components.min.css +1 -1
  455. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  456. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  457. package/es/style/themes/theme-sbanken/fonts.scss +5 -4
  458. package/es/style/themes/theme-sbanken/properties.js +2 -2
  459. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  460. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  461. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  462. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +8 -7
  463. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  464. package/es/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  465. package/es/style/themes/theme-ui/ui-theme-components.css +2 -2
  466. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  467. package/esm/dnb-ui-basis.min.mjs +1 -1
  468. package/esm/dnb-ui-components.min.mjs +1 -1
  469. package/esm/dnb-ui-elements.min.mjs +1 -1
  470. package/esm/dnb-ui-extensions.min.mjs +2 -2
  471. package/esm/dnb-ui-lib.min.mjs +1 -1
  472. package/extensions/forms/DataContext/At/At.js +2 -0
  473. package/extensions/forms/DataContext/At/At.js.map +1 -1
  474. package/extensions/forms/DataContext/Provider/Provider.js +6 -3
  475. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  476. package/extensions/forms/Field/ArraySelection/ArraySelection.js +12 -9
  477. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  478. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -3
  479. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  480. package/extensions/forms/Field/Boolean/Boolean.js +4 -2
  481. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  482. package/extensions/forms/Field/Currency/Currency.js +3 -2
  483. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  484. package/extensions/forms/Field/Date/Date.js +3 -1
  485. package/extensions/forms/Field/Date/Date.js.map +1 -1
  486. package/extensions/forms/Field/Email/Email.js +6 -3
  487. package/extensions/forms/Field/Email/Email.js.map +1 -1
  488. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -3
  489. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  490. package/extensions/forms/Field/Number/Number.js +3 -2
  491. package/extensions/forms/Field/Number/Number.js.map +1 -1
  492. package/extensions/forms/Field/Option/Option.js +1 -1
  493. package/extensions/forms/Field/Option/Option.js.map +1 -1
  494. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -3
  495. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  496. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +5 -0
  497. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +59 -18
  498. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  499. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -4
  500. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  501. package/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -8
  502. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  503. package/extensions/forms/Field/Selection/Selection.js +30 -20
  504. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  505. package/extensions/forms/Field/String/String.js +11 -9
  506. package/extensions/forms/Field/String/String.js.map +1 -1
  507. package/extensions/forms/Field/Toggle/Toggle.js +6 -4
  508. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  509. package/extensions/forms/FieldBlock/FieldBlock.js +2 -0
  510. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  511. package/extensions/forms/Form/SubmitButton/SubmitButton.js +2 -0
  512. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  513. package/extensions/forms/Iterate/Array/Array.js +2 -2
  514. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  515. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js +4 -2
  516. package/extensions/forms/Iterate/ArrayPushButton/ArrayPushButton.js.map +1 -1
  517. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js +3 -1
  518. package/extensions/forms/Iterate/ArrayRemoveElementButton/ArrayRemoveElementButton.js.map +1 -1
  519. package/extensions/forms/StepsLayout/NextButton/NextButton.js +2 -0
  520. package/extensions/forms/StepsLayout/NextButton/NextButton.js.map +1 -1
  521. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js +2 -0
  522. package/extensions/forms/StepsLayout/PreviousButton/PreviousButton.js.map +1 -1
  523. package/extensions/forms/StepsLayout/Step/Step.js +2 -0
  524. package/extensions/forms/StepsLayout/Step/Step.js.map +1 -1
  525. package/extensions/forms/StepsLayout/StepsLayout.js +4 -1
  526. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  527. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +4 -1
  528. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  529. package/extensions/forms/Value/Boolean/Boolean.js +2 -0
  530. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  531. package/extensions/forms/Value/Currency/Currency.js +3 -2
  532. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  533. package/extensions/forms/Value/Date/Date.js +4 -1
  534. package/extensions/forms/Value/Date/Date.js.map +1 -1
  535. package/extensions/forms/Value/Email/Email.js +4 -1
  536. package/extensions/forms/Value/Email/Email.js.map +1 -1
  537. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +4 -1
  538. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  539. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +4 -1
  540. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  541. package/extensions/forms/ValueBlock/ValueBlock.js +1 -1
  542. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  543. package/extensions/forms/Visibility/Visibility.js +2 -0
  544. package/extensions/forms/Visibility/Visibility.js.map +1 -1
  545. package/extensions/forms/hooks/useDataValue.js +22 -17
  546. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  547. package/extensions/forms/types.js +6 -6
  548. package/extensions/forms/types.js.map +1 -1
  549. package/extensions/forms/utils/ajv.js +3 -2
  550. package/extensions/forms/utils/ajv.js.map +1 -1
  551. package/extensions/forms/utils/numbers.js +2 -2
  552. package/extensions/forms/utils/numbers.js.map +1 -1
  553. package/extensions/forms/utils/useWasChanged.js +9 -6
  554. package/extensions/forms/utils/useWasChanged.js.map +1 -1
  555. package/fragments/drawer-list/DrawerListHelpers.js +1 -1
  556. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  557. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  558. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-sbanken.scss +1 -1
  559. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +2 -2
  560. package/package.json +11 -1
  561. package/shared/Eufemia.d.ts +1 -1
  562. package/shared/Eufemia.js +2 -2
  563. package/shared/Eufemia.js.map +1 -1
  564. package/style/dnb-ui-components.css +2 -2
  565. package/style/dnb-ui-components.min.css +1 -1
  566. package/style/themes/theme-eiendom/eiendom-theme-components.css +2 -2
  567. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  568. package/style/themes/theme-sbanken/fonts.scss +5 -4
  569. package/style/themes/theme-sbanken/properties.js +2 -2
  570. package/style/themes/theme-sbanken/properties.js.map +1 -1
  571. package/style/themes/theme-sbanken/sbanken-theme-basis.css +3 -2
  572. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  573. package/style/themes/theme-sbanken/sbanken-theme-components.css +8 -7
  574. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +4 -4
  575. package/style/themes/theme-sbanken/theme-mapping.scss +2 -1
  576. package/style/themes/theme-ui/ui-theme-components.css +2 -2
  577. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  578. package/umd/dnb-ui-basis.min.js +1 -1
  579. package/umd/dnb-ui-components.min.js +1 -1
  580. package/umd/dnb-ui-elements.min.js +1 -1
  581. package/umd/dnb-ui-extensions.min.js +2 -2
  582. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["React","useContext","useState","useEffect","useRef","classnames","makeUniqueId","findElementInChildren","extendPropsWithContext","validateDOMAttributes","dispatchCustomElementEvent","createSpacingClasses","AccordionGroup","AccordionHeader","AccordionContent","AccordionContext","AccordionProviderContext","Context","AccordionStore","Store","rememberWarning","accordionDefaultProps","Accordion","_ref","variant","icon_size","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","context","group","id","current","store","previousExpanded","setPreviousExpanded","expanded","setExpanded","getInitialExpandedState","undefined","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","window","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","expanded_ssr","remember_state","storedExpanded","getState","changeOpened","saveState","e","preventDefault","_len","arguments","length","params","Array","_key","onChange","_window2","_window2$__dnbAccordi","event","createElement","Consumer","globalContext","nestedContext","expandedState","extendedProps","skeleton","translation","className","class","_className","prerender","prevent_rerender","prevent_rerender_conditional","single_container","disabled","no_animation","_expanded_ssr","children","_group","title","description","left_component","icon","icon_position","on_change","on_state_update","contentRef","restOfExtendedProps","_excluded2","mainParams","onClick","extendedPropsForContext","accordionContext","Provider","value","cur","type","_AccordionHeader","defaultProps","Group","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","push","_extends","Header","Content","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, {\n useContext,\n useState,\n useEffect,\n useRef,\n HTMLProps,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n findElementInChildren,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { ButtonIconPosition } from '../Button'\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { SpacingProps } from '../space/types'\n\nimport AccordionGroup from './AccordionGroup'\nimport AccordionHeader from './AccordionHeader'\nimport AccordionContent from './AccordionContent'\nimport AccordionContext from './AccordionContext'\nimport AccordionProviderContext from './AccordionProviderContext'\nimport Context from '../../shared/Context'\n\nimport { AccordionStore, Store, rememberWarning } from './AccordionStore'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled'\n\nexport type AccordionHeading = boolean | React.ReactNode\n\nexport type AccordionIcon =\n | IconIcon\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionAttributes = string | Record<string, unknown>\n\nexport type AccordionIconPosition = ButtonIconPosition\n\nexport type AccordionProps = Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps & {\n /**\n * A title as a string or React element. It will be used as the button text.\n */\n title?: React.ReactNode\n description?: React.ReactNode\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: boolean\n /**\n * If set to `true`, the open and close animation will be omitted.\n */\n no_animation?: boolean\n /**\n * If set to `true` the accordion will be expanded during SSR. Can be potentially useful for SEO, although it will disturb client hydration, where React expects the same state. But that&#39;s mainly a technical aspect to consider.\n */\n expanded_ssr?: boolean\n /**\n */\n prerender?: boolean\n /**\n * If set to `true` the accordion component will not re-render its content – can be useful for widgets you don&#39;t have control of storing the temporary state during an interaction.\n */\n prevent_rerender?: boolean\n /**\n * Use this prop together with `prevent_rerender` – and if it is to `true`, the accordion component will re-render if the children are a new React element and does not match the previous one anymore.\n */\n prevent_rerender_conditional?: boolean\n /**\n * If set to `true`, it will remember a changed state initiated by the user. It requires a unique `id`. It will store the sate in the local storage.\n */\n remember_state?: boolean\n /**\n * Send along a custom React Ref for `.dnb-accordion__content`.\n */\n contentRef?: React.MutableRefObject<unknown>\n /**\n * If set to `true`, the saved (remembered) will be removed and the initial component state will be used and set.\n */\n flush_remembered_state?: boolean\n /**\n * If set to `true`, a group of accordions will be wrapped to sidebar looking menu for medium and larger screens.\n */\n single_container?: boolean\n /**\n * Defines the used styling. As of now, only `outlined` is available. Use `plain` for no styles. It defaults to `outlined`.\n */\n variant?: AccordionVariant\n /**\n * Will add a React element on the left side of the `title`, inside `AccordionHeaderContainer`.\n */\n left_component?: React.ReactNode\n /**\n * If set to `true`, the accordion button will be disabled (dimmed).\n */\n disabled?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * A unique `id` that will be used on the button element. If you use `remember_state`, an id is required.\n */\n id?: string\n group?: string\n /**\n * Gives you the option to replace the used `button` element. Provide a React element, including a string (HTML element). Defaults to a `div` with all the needed accessibility features included.\n */\n element?: React.ReactNode\n /**\n * If set to `true`, level 2 (h2) will be used. You can provide your own HTML heading (`h3`), or provide a `heading_level` property.\n */\n heading?: AccordionHeading\n /**\n * If `heading` is set to `true`, you can provide a numeric value to define a different heading level. Defaults to `2`.\n */\n heading_level?: HeadingLevel\n /**\n * Will replace the `chevron` icon. The icon will still rotate (by CSS). You can use an object to use two different icons, one for the closed state and one for the expanded state `{ closed, expanded }`.\n */\n icon?: AccordionIcon\n /**\n * Will set the placement of the icon. Defaults to `left`.\n */\n icon_position?: AccordionIconPosition\n /**\n * Define a different icon size. Defaults to `medium` (1.5rem).\n */\n icon_size?: IconSize\n attributes?: AccordionAttributes\n class?: string\n className?: string\n children?: React.ReactNode\n /**\n * Will be called by user click interaction. Returns an object with a boolean state `expanded` inside `{ expanded, id, event, ...event }`.\n */\n on_change?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n }\n\nfunction Accordion({\n variant = 'outlined',\n icon_size = 'medium',\n ...restOfProps\n}: AccordionProps) {\n const props = { variant, icon_size, ...restOfProps }\n\n const context = useContext(AccordionProviderContext)\n\n const group = props.group || context?.group\n const id = useRef(props.id || makeUniqueId()).current\n\n const store = new Store({ id: props.id, group })\n\n // States ordered last here to make sure that the getInitialExpandedState have access to the store\n const [previousExpanded, setPreviousExpanded] = useState(props.expanded)\n const [expanded, setExpanded] = useState<boolean>(\n getInitialExpandedState()\n )\n\n // replacement for getDerivedStateFromProps\n if (props.expanded !== previousExpanded) {\n setExpanded(props.expanded !== undefined ? props.expanded : false)\n setPreviousExpanded(props.expanded)\n }\n\n const thisInstance = {\n _id: id,\n context,\n handleDisabledClick,\n callOnChange,\n callOnChangeHandler,\n close,\n setExpandedState,\n state: { expanded, group },\n props,\n store,\n }\n\n // Constructor\n useEffect(() => {\n if (group && typeof window !== 'undefined') {\n window['__dnbAccordion'] = window['__dnbAccordion'] || {}\n window['__dnbAccordion'][group] =\n window['__dnbAccordion'][group] || new AccordionStore(group)\n\n window['__dnbAccordion'][group].addInstance(thisInstance)\n }\n\n if (context && typeof context?.onInit === 'function') {\n context.onInit(thisInstance)\n }\n\n return () => {\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.removeInstance(thisInstance)\n }\n }\n }, [])\n\n // componentDidUpdate\n useEffect(() => {\n if (context.flush_remembered_state) {\n store.flush()\n setExpanded(props.expanded)\n }\n\n if (context?.expanded_id && context.expanded_id === props.id) {\n setExpanded(true)\n }\n }, [context.flush_remembered_state, context.expanded_id])\n\n // Gets the initial expanded sate, to prevent the opening and closing of Accordion\n // That happens when if we put this logic in a useEffect that runs after the inital expanded state is set\n // Since useEffect runs after every render\n function getInitialExpandedState() {\n if (props.expanded_ssr || context?.expanded_ssr) {\n return typeof window === 'undefined'\n }\n\n if (props.remember_state || context.remember_state) {\n const storedExpanded = store.getState()\n\n if (props.expanded && storedExpanded === false) {\n return false\n }\n\n if (storedExpanded) {\n return true\n }\n }\n\n return props.expanded !== undefined\n ? props.expanded\n : context?.expanded !== undefined\n ? context.expanded\n : false\n }\n\n function setExpandedState(expanded: boolean) {\n setExpanded(expanded)\n }\n\n function close() {\n changeOpened(false)\n }\n\n function changeOpened(expanded: boolean) {\n setExpanded(expanded)\n\n // check if a event exists, because, then it's a user click\n if (props.remember_state || context.remember_state) {\n store.saveState(expanded)\n }\n }\n\n function handleDisabledClick(e: React.MouseEvent<HTMLElement>) {\n e.preventDefault()\n return false\n }\n\n function callOnChangeHandler(...params: any[]) {\n callOnChange(...params)\n if (context?.onChange) {\n context?.onChange(...params)\n }\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.onChange(...params)\n }\n }\n\n function callOnChange(...params: any[]) {\n const { expanded, event } = params[0]\n\n changeOpened(expanded)\n\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n expanded,\n event,\n })\n }\n\n return (\n <Context.Consumer>\n {(globalContext) => (\n <AccordionContext.Consumer>\n {(nestedContext) => {\n // use only the props from context, who are available here anyway\n let expandedState = expanded\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context, // group context\n nestedContext as Record<string, unknown>, // internal context\n { skeleton: globalContext?.skeleton },\n globalContext.Accordion, // global context\n globalContext.translation.Accordion\n )\n\n if (expandedState === undefined && globalContext.Accordion) {\n if (globalContext.Accordion.expanded) {\n expandedState = extendedProps.expanded\n }\n }\n\n const {\n variant,\n className,\n class: _className,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n single_container,\n remember_state,\n disabled,\n skeleton,\n no_animation,\n expanded_ssr: _expanded_ssr, // eslint-disable-line\n children,\n\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n // expanded: _expanded, // eslint-disable-line\n\n title, // eslint-disable-line\n description, // eslint-disable-line\n left_component, // eslint-disable-line\n icon, // eslint-disable-line\n icon_position, // eslint-disable-line\n icon_size, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n contentRef, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const mainParams = {\n id,\n className: classnames(\n 'dnb-accordion',\n expandedState && 'dnb-accordion--expanded',\n variant && `dnb-accordion__variant--${variant}`,\n prerender && 'dnb-accordion--prerender',\n createSpacingClasses(extendedProps),\n className,\n _className\n ),\n } as HTMLProps<HTMLDivElement>\n\n if (disabled) {\n mainParams.onClick = handleDisabledClick\n }\n\n // to remove spacing props\n validateDOMAttributes(props, restOfExtendedProps)\n\n const extendedPropsForContext = extendPropsWithContext(\n props,\n accordionDefaultProps,\n { expanded, group },\n context\n )\n\n const accordionContext = {\n ...extendedPropsForContext,\n id,\n expanded: expandedState,\n prerender: prerender,\n prevent_rerender: prevent_rerender,\n prevent_rerender_conditional: prevent_rerender_conditional,\n single_container: single_container,\n remember_state: remember_state,\n disabled: disabled,\n skeleton: skeleton,\n no_animation: no_animation,\n callOnChange: callOnChangeHandler,\n }\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <div {...mainParams}>\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionHeader\n ) ? null : (\n <AccordionHeader />\n )}\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionContent\n ) ? (\n children\n ) : (\n <AccordionContent>{children}</AccordionContent>\n )}\n </div>\n </AccordionContext.Provider>\n )\n }}\n </AccordionContext.Consumer>\n )}\n </Context.Consumer>\n )\n}\n// TEMPORARY SOLUTION (defaultProps will be deprecated at one point). Needs to replacement with default prop parameters for example \"({expaned: null})\"\n// Only solved this way to prevent tests from failing, for when expanded is undefined instead of null\nAccordion.defaultProps = accordionDefaultProps\n\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n expanded_id?: string\n}\n\nconst Group = (props: GroupProps) => {\n if (props.remember_state && !props.id) {\n rememberWarning('accordion group')\n }\n\n const [expandedId, setExpandedId] = useState<string | null>(null)\n\n const instanceIDs = useRef<string[]>([])\n\n const group = props?.id\n ? props.id\n : !props.group\n ? '#' + makeUniqueId()\n : undefined\n\n const store = new Store({ group })\n\n // Set stored expanded_id on mount\n useEffect(() => {\n const storedData = store.getData()\n const currentIDs = instanceIDs?.current\n\n if (!storedData?.id) {\n return\n }\n\n if (currentIDs.includes(storedData?.id)) {\n return\n }\n\n // 1. get the fallback id\n const fallbackId = currentIDs[0]\n\n if (!fallbackId) {\n return\n }\n\n // 2. set the fallback ids\n setExpandedId(fallbackId)\n }, [])\n\n // Store and reset fallback id\n useEffect(() => {\n if (!expandedId) {\n return\n }\n\n // 3. save the fallback id\n store.saveState(true, expandedId)\n\n // 4. and reset the fallback id\n setExpandedId(null)\n }, [expandedId])\n\n function onInit(instance) {\n if (\n instance.props.id &&\n !instanceIDs.current.includes(instance.props.id)\n ) {\n instanceIDs.current.push(instance.props.id)\n }\n }\n\n return (\n <AccordionGroup\n onInit={onInit}\n {...props}\n group={group}\n expanded_id={expandedId || props.expanded_id}\n />\n )\n}\n\nAccordion.Provider = AccordionGroup\nAccordion.Header = AccordionHeader\nAccordion.Content = AccordionContent\n\nAccordion.Group = Group\n\nGroup.Store = (group: string, id: string = null) => {\n return new Store({ group, id })\n}\n\nAccordion.Store = (id: string) => {\n return new Store({ id })\n}\n\nAccordion._supportsSpacingProps = true\n\nexport default Accordion\n"],"mappings":";;;;;;;;AAKA,OAAOA,KAAK,IACVC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,MAAM,QAED,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,YAAY,EACZC,qBAAqB,EACrBC,sBAAsB,EACtBC,qBAAqB,EACrBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,wBAAwB;AAQ7D,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,OAAO,MAAM,sBAAsB;AAE1C,SAASC,cAAc,EAAEC,KAAK,EAAEC,eAAe,QAAQ,kBAAkB;AACzE,SAASC,qBAAqB,QAAQ,gBAAgB;AA0HtD,SAASC,SAASA,CAAAC,IAAA,EAIC;EAAA,IAJA;MACjBC,OAAO,GAAG,UAAU;MACpBC,SAAS,GAAG;IAEE,CAAC,GAAAF,IAAA;IADZG,WAAW,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEd,MAAMC,KAAK,GAAAC,aAAA;IAAKN,OAAO;IAAEC;EAAS,GAAKC,WAAW,CAAE;EAEpD,MAAMK,OAAO,GAAG9B,UAAU,CAACe,wBAAwB,CAAC;EAEpD,MAAMgB,KAAK,GAAGH,KAAK,CAACG,KAAK,KAAID,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,KAAK;EAC3C,MAAMC,EAAE,GAAG7B,MAAM,CAACyB,KAAK,CAACI,EAAE,IAAI3B,YAAY,CAAC,CAAC,CAAC,CAAC4B,OAAO;EAErD,MAAMC,KAAK,GAAG,IAAIhB,KAAK,CAAC;IAAEc,EAAE,EAAEJ,KAAK,CAACI,EAAE;IAAED;EAAM,CAAC,CAAC;EAGhD,MAAM,CAACI,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGnC,QAAQ,CAAC2B,KAAK,CAACS,QAAQ,CAAC;EACxE,MAAM,CAACA,QAAQ,EAAEC,WAAW,CAAC,GAAGrC,QAAQ,CACtCsC,uBAAuB,CAAC,CAC1B,CAAC;EAGD,IAAIX,KAAK,CAACS,QAAQ,KAAKF,gBAAgB,EAAE;IACvCG,WAAW,CAACV,KAAK,CAACS,QAAQ,KAAKG,SAAS,GAAGZ,KAAK,CAACS,QAAQ,GAAG,KAAK,CAAC;IAClED,mBAAmB,CAACR,KAAK,CAACS,QAAQ,CAAC;EACrC;EAEA,MAAMI,YAAY,GAAG;IACnBC,GAAG,EAAEV,EAAE;IACPF,OAAO;IACPa,mBAAmB;IACnBC,YAAY;IACZC,mBAAmB;IACnBC,KAAK;IACLC,gBAAgB;IAChBC,KAAK,EAAE;MAAEX,QAAQ;MAAEN;IAAM,CAAC;IAC1BH,KAAK;IACLM;EACF,CAAC;EAGDhC,SAAS,CAAC,MAAM;IACd,IAAI6B,KAAK,IAAI,OAAOkB,MAAM,KAAK,WAAW,EAAE;MAC1CA,MAAM,CAAC,gBAAgB,CAAC,GAAGA,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;MACzDA,MAAM,CAAC,gBAAgB,CAAC,CAAClB,KAAK,CAAC,GAC7BkB,MAAM,CAAC,gBAAgB,CAAC,CAAClB,KAAK,CAAC,IAAI,IAAId,cAAc,CAACc,KAAK,CAAC;MAE9DkB,MAAM,CAAC,gBAAgB,CAAC,CAAClB,KAAK,CAAC,CAACmB,WAAW,CAACT,YAAY,CAAC;IAC3D;IAEA,IAAIX,OAAO,IAAI,QAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqB,MAAM,MAAK,UAAU,EAAE;MACpDrB,OAAO,CAACqB,MAAM,CAACV,YAAY,CAAC;IAC9B;IAEA,OAAO,MAAM;MACX,IAAIV,KAAK,IAAI,OAAOkB,MAAM,KAAK,WAAW,EAAE;QAAA,IAAAG,OAAA,EAAAC,qBAAA;QAC1C,CAAAD,OAAA,GAAAH,MAAM,cAAAG,OAAA,wBAAAC,qBAAA,GAAND,OAAA,CAAS,gBAAgB,CAAC,CAACrB,KAAK,CAAC,cAAAsB,qBAAA,uBAAjCA,qBAAA,CAAmCC,cAAc,CAACb,YAAY,CAAC;MACjE;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAGNvC,SAAS,CAAC,MAAM;IACd,IAAI4B,OAAO,CAACyB,sBAAsB,EAAE;MAClCrB,KAAK,CAACsB,KAAK,CAAC,CAAC;MACblB,WAAW,CAACV,KAAK,CAACS,QAAQ,CAAC;IAC7B;IAEA,IAAIP,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE2B,WAAW,IAAI3B,OAAO,CAAC2B,WAAW,KAAK7B,KAAK,CAACI,EAAE,EAAE;MAC5DM,WAAW,CAAC,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACR,OAAO,CAACyB,sBAAsB,EAAEzB,OAAO,CAAC2B,WAAW,CAAC,CAAC;EAKzD,SAASlB,uBAAuBA,CAAA,EAAG;IACjC,IAAIX,KAAK,CAAC8B,YAAY,IAAI5B,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE4B,YAAY,EAAE;MAC/C,OAAO,OAAOT,MAAM,KAAK,WAAW;IACtC;IAEA,IAAIrB,KAAK,CAAC+B,cAAc,IAAI7B,OAAO,CAAC6B,cAAc,EAAE;MAClD,MAAMC,cAAc,GAAG1B,KAAK,CAAC2B,QAAQ,CAAC,CAAC;MAEvC,IAAIjC,KAAK,CAACS,QAAQ,IAAIuB,cAAc,KAAK,KAAK,EAAE;QAC9C,OAAO,KAAK;MACd;MAEA,IAAIA,cAAc,EAAE;QAClB,OAAO,IAAI;MACb;IACF;IAEA,OAAOhC,KAAK,CAACS,QAAQ,KAAKG,SAAS,GAC/BZ,KAAK,CAACS,QAAQ,GACd,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEO,QAAQ,MAAKG,SAAS,GAC/BV,OAAO,CAACO,QAAQ,GAChB,KAAK;EACX;EAEA,SAASU,gBAAgBA,CAACV,QAAiB,EAAE;IAC3CC,WAAW,CAACD,QAAQ,CAAC;EACvB;EAEA,SAASS,KAAKA,CAAA,EAAG;IACfgB,YAAY,CAAC,KAAK,CAAC;EACrB;EAEA,SAASA,YAAYA,CAACzB,QAAiB,EAAE;IACvCC,WAAW,CAACD,QAAQ,CAAC;IAGrB,IAAIT,KAAK,CAAC+B,cAAc,IAAI7B,OAAO,CAAC6B,cAAc,EAAE;MAClDzB,KAAK,CAAC6B,SAAS,CAAC1B,QAAQ,CAAC;IAC3B;EACF;EAEA,SAASM,mBAAmBA,CAACqB,CAAgC,EAAE;IAC7DA,CAAC,CAACC,cAAc,CAAC,CAAC;IAClB,OAAO,KAAK;EACd;EAEA,SAASpB,mBAAmBA,CAAA,EAAmB;IAAA,SAAAqB,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAfC,MAAM,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAANF,MAAM,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IACpC3B,YAAY,CAAC,GAAGyB,MAAM,CAAC;IACvB,IAAIvC,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE0C,QAAQ,EAAE;MACrB1C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE0C,QAAQ,CAAC,GAAGH,MAAM,CAAC;IAC9B;IACA,IAAItC,KAAK,IAAI,OAAOkB,MAAM,KAAK,WAAW,EAAE;MAAA,IAAAwB,QAAA,EAAAC,qBAAA;MAC1C,CAAAD,QAAA,GAAAxB,MAAM,cAAAwB,QAAA,wBAAAC,qBAAA,GAAND,QAAA,CAAS,gBAAgB,CAAC,CAAC1C,KAAK,CAAC,cAAA2C,qBAAA,uBAAjCA,qBAAA,CAAmCF,QAAQ,CAAC,GAAGH,MAAM,CAAC;IACxD;EACF;EAEA,SAASzB,YAAYA,CAAA,EAAmB;IACtC,MAAM;MAAEP,QAAQ;MAAEsC;IAAM,CAAC,GAAAR,SAAA,CAAAC,MAAA,QAAA5B,SAAA,GAAA2B,SAAA,GAAY;IAErCL,YAAY,CAACzB,QAAQ,CAAC;IAEtB5B,0BAA0B,CAACgC,YAAY,EAAE,WAAW,EAAE;MACpDJ,QAAQ;MACRsC;IACF,CAAC,CAAC;EACJ;EAEA,OACE5E,KAAA,CAAA6E,aAAA,CAAC5D,OAAO,CAAC6D,QAAQ,QACbC,aAAa,IACb/E,KAAA,CAAA6E,aAAA,CAAC9D,gBAAgB,CAAC+D,QAAQ,QACtBE,aAAa,IAAK;IAElB,IAAIC,aAAa,GAAG3C,QAAQ;IAE5B,MAAM4C,aAAa,GAAG1E,sBAAsB,CAC1CqB,KAAK,EACLR,qBAAqB,EACrBU,OAAO,EACPiD,aAAa,EACb;MAAEG,QAAQ,EAAEJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI;IAAS,CAAC,EACrCJ,aAAa,CAACzD,SAAS,EACvByD,aAAa,CAACK,WAAW,CAAC9D,SAC5B,CAAC;IAED,IAAI2D,aAAa,KAAKxC,SAAS,IAAIsC,aAAa,CAACzD,SAAS,EAAE;MAC1D,IAAIyD,aAAa,CAACzD,SAAS,CAACgB,QAAQ,EAAE;QACpC2C,aAAa,GAAGC,aAAa,CAAC5C,QAAQ;MACxC;IACF;IAEA,MAAM;QACJd,OAAO;QACP6D,SAAS;QACTC,KAAK,EAAEC,UAAU;QACjBC,SAAS;QACTC,gBAAgB;QAChBC,4BAA4B;QAC5BC,gBAAgB;QAChB/B,cAAc;QACdgC,QAAQ;QACRT,QAAQ;QACRU,YAAY;QACZlC,YAAY,EAAEmC,aAAa;QAC3BC,QAAQ;QAER9D,EAAE,EAAEU,GAAG;QACPX,KAAK,EAAEgE,MAAM;QAGbC,KAAK;QACLC,WAAW;QACXC,cAAc;QACdC,IAAI;QACJC,aAAa;QACb5E,SAAS;QACT6E,SAAS;QACTC,eAAe;QAEfC;MAGF,CAAC,GAAGtB,aAAa;MADZuB,mBAAmB,GAAA9E,wBAAA,CACpBuD,aAAa,EAAAwB,UAAA;IAEjB,MAAMC,UAAU,GAAG;MACjB1E,EAAE;MACFoD,SAAS,EAAEhF,UAAU,CACnB,eAAe,EAIfM,oBAAoB,CAACuE,aAAa,CAAC,EACnCG,SAAS,EACTE,UAAU,EALVN,aAAa,IAAI,yBAAyB,EAC1CzD,OAAO,IAAK,2BAA0BA,OAAQ,EAAC,EAC/CgE,SAAS,IAAI,0BAIf;IACF,CAA8B;IAE9B,IAAII,QAAQ,EAAE;MACZe,UAAU,CAACC,OAAO,GAAGhE,mBAAmB;IAC1C;IAGAnC,qBAAqB,CAACoB,KAAK,EAAE4E,mBAAmB,CAAC;IAEjD,MAAMI,uBAAuB,GAAGrG,sBAAsB,CACpDqB,KAAK,EACLR,qBAAqB,EACrB;MAAEiB,QAAQ;MAAEN;IAAM,CAAC,EACnBD,OACF,CAAC;IAED,MAAM+E,gBAAgB,GAAAhF,aAAA,CAAAA,aAAA,KACjB+E,uBAAuB;MAC1B5E,EAAE;MACFK,QAAQ,EAAE2C,aAAa;MACvBO,SAAS,EAAEA,SAAS;MACpBC,gBAAgB,EAAEA,gBAAgB;MAClCC,4BAA4B,EAAEA,4BAA4B;MAC1DC,gBAAgB,EAAEA,gBAAgB;MAClC/B,cAAc,EAAEA,cAAc;MAC9BgC,QAAQ,EAAEA,QAAQ;MAClBT,QAAQ,EAAEA,QAAQ;MAClBU,YAAY,EAAEA,YAAY;MAC1BhD,YAAY,EAAEC;IAAmB,EAClC;IAED,OACE9C,KAAA,CAAA6E,aAAA,CAAC9D,gBAAgB,CAACgG,QAAQ;MAACC,KAAK,EAAEF;IAAiB,GACjD9G,KAAA,CAAA6E,aAAA,QAAS8B,UAAU,EAChBpG,qBAAqB,CACpBwF,QAAQ,EACPkB,GAAG,IAAKA,GAAG,CAACC,IAAI,KAAKrG,eACxB,CAAC,GAAG,IAAI,GAAAsG,gBAAA,KAAAA,gBAAA,GACNnH,KAAA,CAAA6E,aAAA,CAAChE,eAAe,MAAE,CAAC,CACpB,EACAN,qBAAqB,CACpBwF,QAAQ,EACPkB,GAAG,IAAKA,GAAG,CAACC,IAAI,KAAKpG,gBACxB,CAAC,GACCiF,QAAQ,GAER/F,KAAA,CAAA6E,aAAA,CAAC/D,gBAAgB,QAAEiF,QAA2B,CAE7C,CACoB,CAAC;EAEhC,CACyB,CAEb,CAAC;AAEvB;AAGAzE,SAAS,CAAC8F,YAAY,GAAG/F,qBAAqB;AAO9C,MAAMgG,KAAK,GAAIxF,KAAiB,IAAK;EACnC,IAAIA,KAAK,CAAC+B,cAAc,IAAI,CAAC/B,KAAK,CAACI,EAAE,EAAE;IACrCb,eAAe,CAAC,iBAAiB,CAAC;EACpC;EAEA,MAAM,CAACkG,UAAU,EAAEC,aAAa,CAAC,GAAGrH,QAAQ,CAAgB,IAAI,CAAC;EAEjE,MAAMsH,WAAW,GAAGpH,MAAM,CAAW,EAAE,CAAC;EAExC,MAAM4B,KAAK,GAAGH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEI,EAAE,GACnBJ,KAAK,CAACI,EAAE,GACR,CAACJ,KAAK,CAACG,KAAK,GACZ,GAAG,GAAG1B,YAAY,CAAC,CAAC,GACpBmC,SAAS;EAEb,MAAMN,KAAK,GAAG,IAAIhB,KAAK,CAAC;IAAEa;EAAM,CAAC,CAAC;EAGlC7B,SAAS,CAAC,MAAM;IACd,MAAMsH,UAAU,GAAGtF,KAAK,CAACuF,OAAO,CAAC,CAAC;IAClC,MAAMC,UAAU,GAAGH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEtF,OAAO;IAEvC,IAAI,EAACuF,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAExF,EAAE,GAAE;MACnB;IACF;IAEA,IAAI0F,UAAU,CAACC,QAAQ,CAACH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExF,EAAE,CAAC,EAAE;MACvC;IACF;IAGA,MAAM4F,UAAU,GAAGF,UAAU,CAAC,CAAC,CAAC;IAEhC,IAAI,CAACE,UAAU,EAAE;MACf;IACF;IAGAN,aAAa,CAACM,UAAU,CAAC;EAC3B,CAAC,EAAE,EAAE,CAAC;EAGN1H,SAAS,CAAC,MAAM;IACd,IAAI,CAACmH,UAAU,EAAE;MACf;IACF;IAGAnF,KAAK,CAAC6B,SAAS,CAAC,IAAI,EAAEsD,UAAU,CAAC;IAGjCC,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,CAACD,UAAU,CAAC,CAAC;EAEhB,SAASlE,MAAMA,CAAC0E,QAAQ,EAAE;IACxB,IACEA,QAAQ,CAACjG,KAAK,CAACI,EAAE,IACjB,CAACuF,WAAW,CAACtF,OAAO,CAAC0F,QAAQ,CAACE,QAAQ,CAACjG,KAAK,CAACI,EAAE,CAAC,EAChD;MACAuF,WAAW,CAACtF,OAAO,CAAC6F,IAAI,CAACD,QAAQ,CAACjG,KAAK,CAACI,EAAE,CAAC;IAC7C;EACF;EAEA,OACEjC,KAAA,CAAA6E,aAAA,CAACjE,cAAc,EAAAoH,QAAA;IACb5E,MAAM,EAAEA;EAAO,GACXvB,KAAK;IACTG,KAAK,EAAEA,KAAM;IACb0B,WAAW,EAAE4D,UAAU,IAAIzF,KAAK,CAAC6B;EAAY,EAC9C,CAAC;AAEN,CAAC;AAEDpC,SAAS,CAACyF,QAAQ,GAAGnG,cAAc;AACnCU,SAAS,CAAC2G,MAAM,GAAGpH,eAAe;AAClCS,SAAS,CAAC4G,OAAO,GAAGpH,gBAAgB;AAEpCQ,SAAS,CAAC+F,KAAK,GAAGA,KAAK;AAEvBA,KAAK,CAAClG,KAAK,GAAG,UAACa,KAAa,EAAwB;EAAA,IAAtBC,EAAU,GAAAmC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA3B,SAAA,GAAA2B,SAAA,MAAG,IAAI;EAC7C,OAAO,IAAIjD,KAAK,CAAC;IAAEa,KAAK;IAAEC;EAAG,CAAC,CAAC;AACjC,CAAC;AAEDX,SAAS,CAACH,KAAK,GAAIc,EAAU,IAAK;EAChC,OAAO,IAAId,KAAK,CAAC;IAAEc;EAAG,CAAC,CAAC;AAC1B,CAAC;AAEDX,SAAS,CAAC6G,qBAAqB,GAAG,IAAI;AAEtC,eAAe7G,SAAS"}
1
+ {"version":3,"file":"Accordion.js","names":["React","useContext","useState","useEffect","useRef","classnames","makeUniqueId","findElementInChildren","extendPropsWithContext","validateDOMAttributes","dispatchCustomElementEvent","createSpacingClasses","AccordionGroup","AccordionHeader","AccordionContent","AccordionContext","AccordionProviderContext","Context","AccordionStore","Store","rememberWarning","accordionDefaultProps","Accordion","_ref","variant","icon_size","restOfProps","_objectWithoutProperties","_excluded","props","_objectSpread","context","group","id","current","store","previousExpanded","setPreviousExpanded","expanded","setExpanded","getInitialExpandedState","undefined","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","window","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","expanded_ssr","remember_state","storedExpanded","getState","changeOpened","saveState","e","preventDefault","_len","arguments","length","params","Array","_key","onChange","_window2","_window2$__dnbAccordi","event","createElement","Consumer","globalContext","nestedContext","expandedState","extendedProps","skeleton","translation","className","class","_className","prerender","prevent_rerender","prevent_rerender_conditional","single_container","disabled","no_animation","_expanded_ssr","children","_group","title","description","left_component","icon","icon_position","on_change","on_state_update","contentRef","restOfExtendedProps","_excluded2","mainParams","onClick","extendedPropsForContext","accordionContext","Provider","value","cur","type","_AccordionHeader","defaultProps","Group","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","push","_extends","Header","Content","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["/**\n * Web Accordion Component\n *\n */\n\nimport React, {\n useContext,\n useState,\n useEffect,\n useRef,\n HTMLProps,\n} from 'react'\n\nimport classnames from 'classnames'\nimport {\n makeUniqueId,\n findElementInChildren,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport type { ButtonIconPosition } from '../Button'\nimport type { HeadingLevel } from '../Heading'\nimport type { IconIcon, IconSize } from '../Icon'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { SpacingProps } from '../space/types'\n\nimport AccordionGroup from './AccordionGroup'\nimport AccordionHeader from './AccordionHeader'\nimport AccordionContent from './AccordionContent'\nimport AccordionContext from './AccordionContext'\nimport AccordionProviderContext from './AccordionProviderContext'\nimport Context from '../../shared/Context'\n\nimport { AccordionStore, Store, rememberWarning } from './AccordionStore'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled'\n\nexport type AccordionHeading = boolean | React.ReactNode\n\nexport type AccordionIcon =\n | IconIcon\n | {\n closed?: React.ReactNode | ((...args: any[]) => any)\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: React.ReactNode | ((...args: any[]) => any)\n }\n\nexport type AccordionAttributes = string | Record<string, unknown>\n\nexport type AccordionIconPosition = ButtonIconPosition\n\nexport type AccordionProps = Omit<React.HTMLProps<HTMLElement>, 'ref'> &\n SpacingProps & {\n /**\n * A title as a string or React element. It will be used as the button text.\n */\n title?: React.ReactNode\n description?: React.ReactNode\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: boolean\n /**\n * If set to `true`, the open and close animation will be omitted.\n */\n no_animation?: boolean\n /**\n * If set to `true` the accordion will be expanded during SSR. Can be potentially useful for SEO, although it will disturb client hydration, where React expects the same state. But that&#39;s mainly a technical aspect to consider.\n */\n expanded_ssr?: boolean\n /**\n */\n prerender?: boolean\n /**\n * If set to `true` the accordion component will not re-render its content – can be useful for widgets you don&#39;t have control of storing the temporary state during an interaction.\n */\n prevent_rerender?: boolean\n /**\n * Use this prop together with `prevent_rerender` – and if it is to `true`, the accordion component will re-render if the children are a new React element and does not match the previous one anymore.\n */\n prevent_rerender_conditional?: boolean\n /**\n * If set to `true`, it will remember a changed state initiated by the user. It requires a unique `id`. It will store the sate in the local storage.\n */\n remember_state?: boolean\n /**\n * Send along a custom React Ref for `.dnb-accordion__content`.\n */\n contentRef?: React.MutableRefObject<unknown>\n /**\n * If set to `true`, the saved (remembered) will be removed and the initial component state will be used and set.\n */\n flush_remembered_state?: boolean\n /**\n * If set to `true`, a group of accordions will be wrapped to sidebar looking menu for medium and larger screens.\n */\n single_container?: boolean\n /**\n * Defines the used styling. As of now, only `outlined` is available. Use `plain` for no styles. It defaults to `outlined`.\n */\n variant?: AccordionVariant\n /**\n * Will add a React element on the left side of the `title`, inside `AccordionHeaderContainer`.\n */\n left_component?: React.ReactNode\n /**\n * If set to `true`, the accordion button will be disabled (dimmed).\n */\n disabled?: boolean\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * A unique `id` that will be used on the button element. If you use `remember_state`, an id is required.\n */\n id?: string\n group?: string\n /**\n * Gives you the option to replace the used `button` element. Provide a React element, including a string (HTML element). Defaults to a `div` with all the needed accessibility features included.\n */\n element?: React.ReactNode\n /**\n * If set to `true`, level 2 (h2) will be used. You can provide your own HTML heading (`h3`), or provide a `heading_level` property.\n */\n heading?: AccordionHeading\n /**\n * If `heading` is set to `true`, you can provide a numeric value to define a different heading level. Defaults to `2`.\n */\n heading_level?: HeadingLevel\n /**\n * Will replace the `chevron` icon. The icon will still rotate (by CSS). You can use an object to use two different icons, one for the closed state and one for the expanded state `{ closed, expanded }`.\n */\n icon?: AccordionIcon\n /**\n * Will set the placement of the icon. Defaults to `left`.\n */\n icon_position?: AccordionIconPosition\n /**\n * Define a different icon size. Defaults to `medium` (1.5rem).\n */\n icon_size?: IconSize\n attributes?: AccordionAttributes\n class?: string\n className?: string\n children?: React.ReactNode\n /**\n * Will be called by user click interaction. Returns an object with a boolean state `expanded` inside `{ expanded, id, event, ...event }`.\n */\n on_change?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n }\n\nfunction Accordion({\n variant = 'outlined',\n icon_size = 'medium',\n ...restOfProps\n}: AccordionProps) {\n const props = { variant, icon_size, ...restOfProps }\n\n const context = useContext(AccordionProviderContext)\n\n const group = props.group || context?.group\n const id = useRef(props.id || makeUniqueId()).current\n\n const store = new Store({ id: props.id, group })\n\n // States ordered last here to make sure that the getInitialExpandedState have access to the store\n const [previousExpanded, setPreviousExpanded] = useState(props.expanded)\n const [expanded, setExpanded] = useState<boolean>(\n getInitialExpandedState()\n )\n\n // replacement for getDerivedStateFromProps\n if (props.expanded !== previousExpanded) {\n setExpanded(props.expanded !== undefined ? props.expanded : false)\n setPreviousExpanded(props.expanded)\n }\n\n const thisInstance = {\n _id: id,\n context,\n handleDisabledClick,\n callOnChange,\n callOnChangeHandler,\n close,\n setExpandedState,\n state: { expanded, group },\n props,\n store,\n }\n\n // Constructor\n useEffect(() => {\n if (group && typeof window !== 'undefined') {\n window['__dnbAccordion'] = window['__dnbAccordion'] || {}\n window['__dnbAccordion'][group] =\n window['__dnbAccordion'][group] || new AccordionStore(group)\n\n window['__dnbAccordion'][group].addInstance(thisInstance)\n }\n\n if (context && typeof context?.onInit === 'function') {\n context.onInit(thisInstance)\n }\n\n return () => {\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.removeInstance(thisInstance)\n }\n }\n }, [])\n\n // componentDidUpdate\n useEffect(() => {\n if (context.flush_remembered_state) {\n store.flush()\n setExpanded(props.expanded)\n }\n\n if (context?.expanded_id && context.expanded_id === props.id) {\n setExpanded(true)\n }\n }, [context.flush_remembered_state, context.expanded_id])\n\n // Gets the initial expanded sate, to prevent the opening and closing of Accordion\n // That happens when if we put this logic in a useEffect that runs after the initial expanded state is set\n // Since useEffect runs after every render\n function getInitialExpandedState() {\n if (props.expanded_ssr || context?.expanded_ssr) {\n return typeof window === 'undefined'\n }\n\n if (props.remember_state || context.remember_state) {\n const storedExpanded = store.getState()\n\n if (props.expanded && storedExpanded === false) {\n return false\n }\n\n if (storedExpanded) {\n return true\n }\n }\n\n return props.expanded !== undefined\n ? props.expanded\n : context?.expanded !== undefined\n ? context.expanded\n : false\n }\n\n function setExpandedState(expanded: boolean) {\n setExpanded(expanded)\n }\n\n function close() {\n changeOpened(false)\n }\n\n function changeOpened(expanded: boolean) {\n setExpanded(expanded)\n\n // check if a event exists, because, then it's a user click\n if (props.remember_state || context.remember_state) {\n store.saveState(expanded)\n }\n }\n\n function handleDisabledClick(e: React.MouseEvent<HTMLElement>) {\n e.preventDefault()\n return false\n }\n\n function callOnChangeHandler(...params: any[]) {\n callOnChange(...params)\n if (context?.onChange) {\n context?.onChange(...params)\n }\n if (group && typeof window !== 'undefined') {\n window?.['__dnbAccordion'][group]?.onChange(...params)\n }\n }\n\n function callOnChange(...params: any[]) {\n const { expanded, event } = params[0]\n\n changeOpened(expanded)\n\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n expanded,\n event,\n })\n }\n\n return (\n <Context.Consumer>\n {(globalContext) => (\n <AccordionContext.Consumer>\n {(nestedContext) => {\n // use only the props from context, who are available here anyway\n let expandedState = expanded\n\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context, // group context\n nestedContext as Record<string, unknown>, // internal context\n { skeleton: globalContext?.skeleton },\n globalContext.Accordion, // global context\n globalContext.translation.Accordion\n )\n\n if (expandedState === undefined && globalContext.Accordion) {\n if (globalContext.Accordion.expanded) {\n expandedState = extendedProps.expanded\n }\n }\n\n const {\n variant,\n className,\n class: _className,\n prerender,\n prevent_rerender,\n prevent_rerender_conditional,\n single_container,\n remember_state,\n disabled,\n skeleton,\n no_animation,\n expanded_ssr: _expanded_ssr, // eslint-disable-line\n children,\n\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n // expanded: _expanded, // eslint-disable-line\n\n title, // eslint-disable-line\n description, // eslint-disable-line\n left_component, // eslint-disable-line\n icon, // eslint-disable-line\n icon_position, // eslint-disable-line\n icon_size, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n contentRef, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const mainParams = {\n id,\n className: classnames(\n 'dnb-accordion',\n expandedState && 'dnb-accordion--expanded',\n variant && `dnb-accordion__variant--${variant}`,\n prerender && 'dnb-accordion--prerender',\n createSpacingClasses(extendedProps),\n className,\n _className\n ),\n } as HTMLProps<HTMLDivElement>\n\n if (disabled) {\n mainParams.onClick = handleDisabledClick\n }\n\n // to remove spacing props\n validateDOMAttributes(props, restOfExtendedProps)\n\n const extendedPropsForContext = extendPropsWithContext(\n props,\n accordionDefaultProps,\n { expanded, group },\n context\n )\n\n const accordionContext = {\n ...extendedPropsForContext,\n id,\n expanded: expandedState,\n prerender: prerender,\n prevent_rerender: prevent_rerender,\n prevent_rerender_conditional: prevent_rerender_conditional,\n single_container: single_container,\n remember_state: remember_state,\n disabled: disabled,\n skeleton: skeleton,\n no_animation: no_animation,\n callOnChange: callOnChangeHandler,\n }\n\n return (\n <AccordionContext.Provider value={accordionContext}>\n <div {...mainParams}>\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionHeader\n ) ? null : (\n <AccordionHeader />\n )}\n {findElementInChildren(\n children,\n (cur) => cur.type === AccordionContent\n ) ? (\n children\n ) : (\n <AccordionContent>{children}</AccordionContent>\n )}\n </div>\n </AccordionContext.Provider>\n )\n }}\n </AccordionContext.Consumer>\n )}\n </Context.Consumer>\n )\n}\n// TEMPORARY SOLUTION (defaultProps will be deprecated at one point). Needs to replacement with default prop parameters for example \"({expanded: null})\"\n// Only solved this way to prevent tests from failing, for when expanded is undefined instead of null\nAccordion.defaultProps = accordionDefaultProps\n\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n expanded_id?: string\n}\n\nconst Group = (props: GroupProps) => {\n if (props.remember_state && !props.id) {\n rememberWarning('accordion group')\n }\n\n const [expandedId, setExpandedId] = useState<string | null>(null)\n\n const instanceIDs = useRef<string[]>([])\n\n const group = props?.id\n ? props.id\n : !props.group\n ? '#' + makeUniqueId()\n : undefined\n\n const store = new Store({ group })\n\n // Set stored expanded_id on mount\n useEffect(() => {\n const storedData = store.getData()\n const currentIDs = instanceIDs?.current\n\n if (!storedData?.id) {\n return\n }\n\n if (currentIDs.includes(storedData?.id)) {\n return\n }\n\n // 1. get the fallback id\n const fallbackId = currentIDs[0]\n\n if (!fallbackId) {\n return\n }\n\n // 2. set the fallback ids\n setExpandedId(fallbackId)\n }, [])\n\n // Store and reset fallback id\n useEffect(() => {\n if (!expandedId) {\n return\n }\n\n // 3. save the fallback id\n store.saveState(true, expandedId)\n\n // 4. and reset the fallback id\n setExpandedId(null)\n }, [expandedId])\n\n function onInit(instance) {\n if (\n instance.props.id &&\n !instanceIDs.current.includes(instance.props.id)\n ) {\n instanceIDs.current.push(instance.props.id)\n }\n }\n\n return (\n <AccordionGroup\n onInit={onInit}\n {...props}\n group={group}\n expanded_id={expandedId || props.expanded_id}\n />\n )\n}\n\nAccordion.Provider = AccordionGroup\nAccordion.Header = AccordionHeader\nAccordion.Content = AccordionContent\n\nAccordion.Group = Group\n\nGroup.Store = (group: string, id: string = null) => {\n return new Store({ group, id })\n}\n\nAccordion.Store = (id: string) => {\n return new Store({ id })\n}\n\nAccordion._supportsSpacingProps = true\n\nexport default Accordion\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionGroup.js","names":["React","useContext","classnames","isTrue","makeUniqueId","extendPropsWithContext","validateDOMAttributes","dispatchCustomElementEvent","createSpacingClasses","Context","AccordionGroupContext","accordionDefaultProps","AccordionGroup","props","context","id","thisInstance","_id","onChangeHandler","event","expanded","extendedProps","Accordion","getTranslation","expanded_id","prerender","prevent_rerender","single_container","contentRef","allow_close_all","remember_state","flush_remembered_state","disabled","group","onInit","className","class","_className","children","restOfExtendedProps","_objectWithoutProperties","_excluded","classes","params","_objectSpread","contextForProvider","onChange","createElement","Provider","value","_extends","role","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionGroup.tsx"],"sourcesContent":["/**\n * Web AccordionGroup Component\n *\n */\n\nimport React, { useContext } from 'react'\n\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport Context from '../../shared/Context'\nimport AccordionGroupContext from './AccordionProviderContext'\n\nimport type { GroupProps } from './Accordion'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionGroupProps = React.HTMLProps<HTMLElement> &\n GroupProps & {\n onInit?: (...args: any[]) => any\n }\n\nconst AccordionGroup = (props: AccordionGroupProps) => {\n const context = useContext(Context)\n const id = props.id || makeUniqueId()\n\n const thisInstance = {\n _id: id,\n props,\n context,\n onChangeHandler,\n }\n\n function onChangeHandler(event) {\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n id: event.id,\n expanded: event.expanded,\n event,\n })\n }\n\n // use only the props from context, who are available here anyway\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context.Accordion,\n context.getTranslation(props).Accordion\n )\n\n const {\n expanded, // eslint-disable-line\n expanded_id, // eslint-disable-line\n prerender, // eslint-disable-line\n prevent_rerender, // eslint-disable-line\n single_container, // eslint-disable-line\n contentRef, // eslint-disable-line\n allow_close_all, // eslint-disable-line\n remember_state, // eslint-disable-line\n flush_remembered_state, // eslint-disable-line\n disabled, // eslint-disable-line\n group, // eslint-disable-line\n onInit, // eslint-disable-line\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n children, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const classes = classnames(\n 'dnb-accordion-group',\n isTrue(single_container) && 'dnb-accordion-group--single-container',\n createSpacingClasses(extendedProps),\n className,\n _className\n )\n\n const params = {\n ...restOfExtendedProps,\n }\n\n // also used for code markup simulation\n validateDOMAttributes(props, params)\n\n if (!extendedProps?.group && isTrue(props.single_container)) {\n extendedProps.group = makeUniqueId()\n }\n\n const contextForProvider = {\n ...extendedProps,\n id,\n onChange: onChangeHandler,\n }\n\n return (\n <AccordionGroupContext.Provider value={contextForProvider}>\n <div className={classes}>\n <span\n id={id}\n className=\"dnb-accordion-group__shell\"\n role=\"group\"\n {...params}\n >\n <span className=\"dnb-accordion-group__children\">{children}</span>\n </span>\n </div>\n </AccordionGroupContext.Provider>\n )\n}\n\nAccordionGroup._supportsSpacingProps = true\n\nexport default AccordionGroup\n"],"mappings":";;;;;;AAKA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,YAAY,EACZC,sBAAsB,EACtBC,qBAAqB,EACrBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,qBAAqB,MAAM,4BAA4B;AAG9D,SAASC,qBAAqB,QAAQ,gBAAgB;AAOtD,MAAMC,cAAc,GAAIC,KAA0B,IAAK;EACrD,MAAMC,OAAO,GAAGb,UAAU,CAACQ,OAAO,CAAC;EACnC,MAAMM,EAAE,GAAGF,KAAK,CAACE,EAAE,IAAIX,YAAY,CAAC,CAAC;EAErC,MAAMY,YAAY,GAAG;IACnBC,GAAG,EAAEF,EAAE;IACPF,KAAK;IACLC,OAAO;IACPI;EACF,CAAC;EAED,SAASA,eAAeA,CAACC,KAAK,EAAE;IAC9BZ,0BAA0B,CAACS,YAAY,EAAE,WAAW,EAAE;MACpDD,EAAE,EAAEI,KAAK,CAACJ,EAAE;MACZK,QAAQ,EAAED,KAAK,CAACC,QAAQ;MACxBD;IACF,CAAC,CAAC;EACJ;EAGA,MAAME,aAAa,GAAGhB,sBAAsB,CAC1CQ,KAAK,EACLF,qBAAqB,EACrBG,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,cAAc,CAACV,KAAK,CAAC,CAACS,SAChC,CAAC;EAED,MAAM;MACJF,QAAQ;MACRI,WAAW;MACXC,SAAS;MACTC,gBAAgB;MAChBC,gBAAgB;MAChBC,UAAU;MACVC,eAAe;MACfC,cAAc;MACdC,sBAAsB;MACtBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC,SAAS;MACTC,KAAK,EAAEC,UAAU;MAEjBtB,EAAE,EAAEE,GAAG;MACPqB;IAGF,CAAC,GAAGjB,aAAa;IADZkB,mBAAmB,GAAAC,wBAAA,CACpBnB,aAAa,EAAAoB,SAAA;EAEjB,MAAMC,OAAO,GAAGxC,UAAU,CACxB,qBAAqB,EAErBM,oBAAoB,CAACa,aAAa,CAAC,EACnCc,SAAS,EACTE,UAAU,EAHVlC,MAAM,CAACwB,gBAAgB,CAAC,IAAI,uCAI9B,CAAC;EAED,MAAMgB,MAAM,GAAAC,aAAA,KACPL,mBAAmB,CACvB;EAGDjC,qBAAqB,CAACO,KAAK,EAAE8B,MAAM,CAAC;EAEpC,IAAI,EAACtB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEY,KAAK,KAAI9B,MAAM,CAACU,KAAK,CAACc,gBAAgB,CAAC,EAAE;IAC3DN,aAAa,CAACY,KAAK,GAAG7B,YAAY,CAAC,CAAC;EACtC;EAEA,MAAMyC,kBAAkB,GAAAD,aAAA,CAAAA,aAAA,KACnBvB,aAAa;IAChBN,EAAE;IACF+B,QAAQ,EAAE5B;EAAe,EAC1B;EAED,OACElB,KAAA,CAAA+C,aAAA,CAACrC,qBAAqB,CAACsC,QAAQ;IAACC,KAAK,EAAEJ;EAAmB,GACxD7C,KAAA,CAAA+C,aAAA;IAAKZ,SAAS,EAAEO;EAAQ,GACtB1C,KAAA,CAAA+C,aAAA,SAAAG,QAAA;IACEnC,EAAE,EAAEA,EAAG;IACPoB,SAAS,EAAC,4BAA4B;IACtCgB,IAAI,EAAC;EAAO,GACRR,MAAM,GAEV3C,KAAA,CAAA+C,aAAA;IAAMZ,SAAS,EAAC;EAA+B,GAAEG,QAAe,CAC5D,CACH,CACyB,CAAC;AAErC,CAAC;AAED1B,cAAc,CAACwC,qBAAqB,GAAG,IAAI;AAE3C,eAAexC,cAAc"}
1
+ {"version":3,"file":"AccordionGroup.js","names":["React","useContext","classnames","isTrue","makeUniqueId","extendPropsWithContext","validateDOMAttributes","dispatchCustomElementEvent","createSpacingClasses","Context","AccordionGroupContext","accordionDefaultProps","AccordionGroup","props","context","id","thisInstance","_id","onChangeHandler","event","expanded","extendedProps","Accordion","getTranslation","expanded_id","prerender","prevent_rerender","single_container","contentRef","allow_close_all","remember_state","flush_remembered_state","disabled","group","onInit","className","class","_className","children","restOfExtendedProps","_objectWithoutProperties","_excluded","classes","params","_objectSpread","contextForProvider","onChange","createElement","Provider","value","_extends","role","_supportsSpacingProps"],"sources":["../../../../src/components/accordion/AccordionGroup.tsx"],"sourcesContent":["/**\n * Web AccordionGroup Component\n *\n */\n\nimport React, { useContext } from 'react'\n\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContext,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\n\nimport Context from '../../shared/Context'\nimport AccordionGroupContext from './AccordionProviderContext'\n\nimport type { GroupProps } from './Accordion'\nimport { accordionDefaultProps } from './defaultProps'\n\nexport type AccordionGroupProps = React.HTMLProps<HTMLElement> &\n GroupProps & {\n onInit?: (...args: any[]) => any\n }\n\nconst AccordionGroup = (props: AccordionGroupProps) => {\n const context = useContext(Context)\n const id = props.id || makeUniqueId()\n\n const thisInstance = {\n _id: id,\n props,\n context,\n onChangeHandler,\n }\n\n function onChangeHandler(event) {\n dispatchCustomElementEvent(thisInstance, 'on_change', {\n id: event.id,\n expanded: event.expanded,\n event,\n })\n }\n\n // use only the props from context, who are available here anyway\n const extendedProps = extendPropsWithContext(\n props,\n accordionDefaultProps,\n context.Accordion,\n context.getTranslation(props).Accordion\n )\n\n const {\n expanded, // eslint-disable-line\n expanded_id, // eslint-disable-line\n prerender, // eslint-disable-line\n prevent_rerender, // eslint-disable-line\n single_container, // eslint-disable-line\n contentRef, // eslint-disable-line\n allow_close_all, // eslint-disable-line\n remember_state, // eslint-disable-line\n flush_remembered_state, // eslint-disable-line\n disabled, // eslint-disable-line\n group, // eslint-disable-line\n onInit, // eslint-disable-line\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n children, // eslint-disable-line\n\n ...restOfExtendedProps\n } = extendedProps\n\n const classes = classnames(\n 'dnb-accordion-group',\n isTrue(single_container) && 'dnb-accordion-group--single-container',\n createSpacingClasses(extendedProps),\n className,\n _className\n )\n\n const params = {\n ...restOfExtendedProps,\n }\n\n // also used for code markup simulation\n validateDOMAttributes(props, params)\n\n if (!extendedProps?.group && isTrue(props.single_container)) {\n extendedProps.group = makeUniqueId()\n }\n\n const contextForProvider = {\n ...extendedProps,\n id,\n onChange: onChangeHandler,\n }\n\n return (\n <AccordionGroupContext.Provider value={contextForProvider}>\n <div className={classes}>\n <span\n id={id}\n className=\"dnb-accordion-group__shell\"\n role=\"group\"\n {...params}\n >\n <span className=\"dnb-accordion-group__children\">{children}</span>\n </span>\n </div>\n </AccordionGroupContext.Provider>\n )\n}\n\nAccordionGroup._supportsSpacingProps = true\n\nexport default AccordionGroup\n"],"mappings":";;;;;;;;AAKA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AAEzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,MAAM,EACNC,YAAY,EACZC,sBAAsB,EACtBC,qBAAqB,EACrBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,qBAAqB,MAAM,4BAA4B;AAG9D,SAASC,qBAAqB,QAAQ,gBAAgB;AAOtD,MAAMC,cAAc,GAAIC,KAA0B,IAAK;EACrD,MAAMC,OAAO,GAAGb,UAAU,CAACQ,OAAO,CAAC;EACnC,MAAMM,EAAE,GAAGF,KAAK,CAACE,EAAE,IAAIX,YAAY,CAAC,CAAC;EAErC,MAAMY,YAAY,GAAG;IACnBC,GAAG,EAAEF,EAAE;IACPF,KAAK;IACLC,OAAO;IACPI;EACF,CAAC;EAED,SAASA,eAAeA,CAACC,KAAK,EAAE;IAC9BZ,0BAA0B,CAACS,YAAY,EAAE,WAAW,EAAE;MACpDD,EAAE,EAAEI,KAAK,CAACJ,EAAE;MACZK,QAAQ,EAAED,KAAK,CAACC,QAAQ;MACxBD;IACF,CAAC,CAAC;EACJ;EAGA,MAAME,aAAa,GAAGhB,sBAAsB,CAC1CQ,KAAK,EACLF,qBAAqB,EACrBG,OAAO,CAACQ,SAAS,EACjBR,OAAO,CAACS,cAAc,CAACV,KAAK,CAAC,CAACS,SAChC,CAAC;EAED,MAAM;MACJF,QAAQ;MACRI,WAAW;MACXC,SAAS;MACTC,gBAAgB;MAChBC,gBAAgB;MAChBC,UAAU;MACVC,eAAe;MACfC,cAAc;MACdC,sBAAsB;MACtBC,QAAQ;MACRC,KAAK;MACLC,MAAM;MACNC,SAAS;MACTC,KAAK,EAAEC,UAAU;MAEjBtB,EAAE,EAAEE,GAAG;MACPqB;IAGF,CAAC,GAAGjB,aAAa;IADZkB,mBAAmB,GAAAC,wBAAA,CACpBnB,aAAa,EAAAoB,SAAA;EAEjB,MAAMC,OAAO,GAAGxC,UAAU,CACxB,qBAAqB,EAErBM,oBAAoB,CAACa,aAAa,CAAC,EACnCc,SAAS,EACTE,UAAU,EAHVlC,MAAM,CAACwB,gBAAgB,CAAC,IAAI,uCAI9B,CAAC;EAED,MAAMgB,MAAM,GAAAC,aAAA,KACPL,mBAAmB,CACvB;EAGDjC,qBAAqB,CAACO,KAAK,EAAE8B,MAAM,CAAC;EAEpC,IAAI,EAACtB,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAEY,KAAK,KAAI9B,MAAM,CAACU,KAAK,CAACc,gBAAgB,CAAC,EAAE;IAC3DN,aAAa,CAACY,KAAK,GAAG7B,YAAY,CAAC,CAAC;EACtC;EAEA,MAAMyC,kBAAkB,GAAAD,aAAA,CAAAA,aAAA,KACnBvB,aAAa;IAChBN,EAAE;IACF+B,QAAQ,EAAE5B;EAAe,EAC1B;EAED,OACElB,KAAA,CAAA+C,aAAA,CAACrC,qBAAqB,CAACsC,QAAQ;IAACC,KAAK,EAAEJ;EAAmB,GACxD7C,KAAA,CAAA+C,aAAA;IAAKZ,SAAS,EAAEO;EAAQ,GACtB1C,KAAA,CAAA+C,aAAA,SAAAG,QAAA;IACEnC,EAAE,EAAEA,EAAG;IACPoB,SAAS,EAAC,4BAA4B;IACtCgB,IAAI,EAAC;EAAO,GACRR,MAAM,GAEV3C,KAAA,CAAA+C,aAAA;IAAMZ,SAAS,EAAC;EAA+B,GAAEG,QAAe,CAC5D,CACH,CACyB,CAAC;AAErC,CAAC;AAED1B,cAAc,CAACwC,qBAAqB,GAAG,IAAI;AAE3C,eAAexC,cAAc"}
@@ -1,3 +1,5 @@
1
+ "use client";
2
+
1
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
5
  const _excluded = ["children"],
@@ -9,7 +11,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
9
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
12
  import React, { useContext, useState } from 'react';
11
13
  import { validateDOMAttributes, extendPropsWithContext } from '../../shared/component-helper';
12
- import { useTheme } from '../../shared';
13
14
  import IconPrimary from '../icon-primary/IconPrimary';
14
15
  import classnames from 'classnames';
15
16
  import AccordionContext from './AccordionContext';
@@ -43,27 +44,17 @@ function AccordionHeaderContainer(_ref3) {
43
44
  }, children) : null;
44
45
  }
45
46
  function AccordionHeaderIcon(_ref4) {
46
- var _icon2;
47
47
  let {
48
48
  icon,
49
49
  expanded,
50
50
  size = 'medium',
51
51
  icon_position
52
52
  } = _ref4;
53
- const theme = useTheme();
54
- let animateIcon = true;
55
- if (!icon && (theme === null || theme === void 0 ? void 0 : theme.name) === 'sbanken') {
56
- animateIcon = false;
57
- icon = {
58
- expanded: 'subtract-medium',
59
- closed: 'add-medium'
60
- };
61
- }
62
53
  return React.createElement("span", {
63
- className: classnames('dnb-accordion__header__icon', !animateIcon && 'dnb-accordion__header__icon--no-animation', icon_position && `dnb-accordion__header__icon--${icon_position}`)
54
+ className: 'dnb-accordion__header__icon' + (icon_position ? ` dnb-accordion__header__icon--${icon_position}` : "")
64
55
  }, React.createElement(IconPrimary, {
65
56
  size: size,
66
- icon: icon && typeof icon === 'object' && 'expanded' in icon && typeof ((_icon2 = icon) === null || _icon2 === void 0 ? void 0 : _icon2.expanded) !== 'undefined' ? icon[expanded ? 'expanded' : 'closed'] : icon || 'chevron-down',
57
+ icon: icon && typeof icon === 'object' && 'expanded' in icon && typeof (icon === null || icon === void 0 ? void 0 : icon.expanded) !== 'undefined' ? icon[expanded ? 'expanded' : 'closed'] : icon || 'chevron-down',
67
58
  "aria-hidden": true
68
59
  }));
69
60
  }
@@ -78,7 +69,7 @@ export const AccordionHeader = _ref5 => {
78
69
  const props = _objectSpread({
79
70
  icon_size: icon_size_default
80
71
  }, restOfProps);
81
- const [isHoverring, setIsHovering] = useState(false);
72
+ const [isHovering, setIsHovering] = useState(false);
82
73
  const [hasClicked, setHasClicked] = useState(false);
83
74
  const context = useContext(AccordionContext);
84
75
  function onKeyDownHandler(event) {
@@ -212,7 +203,7 @@ export const AccordionHeader = _ref5 => {
212
203
  'aria-expanded': context.expanded,
213
204
  role: 'button',
214
205
  tabIndex: 0,
215
- className: classnames('dnb-accordion__header', createSkeletonClass('font', skeleton, context), createSpacingClasses(rest), className, icon_position && `dnb-accordion__header--icon-${icon_position}`, isHoverring && 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, 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'),
216
207
  disabled
217
208
  }, rest);
218
209
  if (disabled || skeleton) {
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeader.js","names":["React","useContext","useState","validateDOMAttributes","extendPropsWithContext","useTheme","IconPrimary","classnames","AccordionContext","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","AccordionHeaderTitle","_ref","children","rest","_objectWithoutProperties","_excluded","createElement","className","AccordionHeaderDescription","_ref2","_excluded2","AccordionHeaderContainer","_ref3","_excluded3","AccordionHeaderIcon","_ref4","_icon2","icon","expanded","size","icon_position","theme","animateIcon","name","closed","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","icon_size_default","restOfProps","_excluded4","props","_objectSpread","isHoverring","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 { useTheme } from '../../shared'\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 const theme = useTheme()\n let animateIcon = true\n if (!icon && theme?.name === 'sbanken') {\n animateIcon = false\n icon = {\n expanded: 'subtract-medium',\n closed: 'add-medium',\n }\n }\n\n return (\n <span\n className={classnames(\n 'dnb-accordion__header__icon',\n !animateIcon && 'dnb-accordion__header__icon--no-animation',\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 [isHoverring, 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 isHoverring && 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","_ref4","icon","expanded","size","icon_position","accordionHeaderDefaultProps","icon_size","AccordionHeader","_ref5","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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"}
@@ -101,7 +101,7 @@
101
101
  .dnb-accordion__header__description + .dnb-accordion__header__title {
102
102
  margin-top: 0.25rem;
103
103
  }
104
- .dnb-accordion--expanded > .dnb-accordion__header .dnb-accordion__header__icon:not(.dnb-accordion__header__icon--no-animation) {
104
+ .dnb-accordion--expanded > .dnb-accordion__header .dnb-accordion__header__icon {
105
105
  transform: rotate(-180deg);
106
106
  }
107
107
  .dnb-accordion__content {
@@ -137,7 +137,7 @@
137
137
  }
138
138
  }
139
139
  @media screen and (min-width: 40em) {
140
- .dnb-accordion-group--single-container .dnb-accordion > .dnb-accordion__header .dnb-accordion__header__icon:not(.dnb-accordion__header__icon--no-animation) {
140
+ .dnb-accordion-group--single-container .dnb-accordion > .dnb-accordion__header .dnb-accordion__header__icon {
141
141
  transform: rotate(-90deg);
142
142
  }
143
143
  }
@@ -1 +1 @@
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:not(.dnb-accordion__header__icon--no-animation){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:not(.dnb-accordion__header__icon--no-animation){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.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}
@@ -129,9 +129,7 @@
129
129
  }
130
130
  }
131
131
 
132
- &--expanded
133
- > &__header
134
- &__header__icon:not(#{&}__header__icon--no-animation) {
132
+ &--expanded > &__header &__header__icon {
135
133
  transform: rotate(-180deg);
136
134
  }
137
135
 
@@ -168,7 +166,7 @@
168
166
  width: 40%; // 40% / 60%
169
167
  }
170
168
 
171
- // Only to make sure we have a spacing. But would be typcally project specific
169
+ // Only to make sure we have a spacing. But would be typically project specific
172
170
  &__content {
173
171
  margin-left: 1rem;
174
172
 
@@ -188,10 +186,7 @@
188
186
  // }
189
187
  // }
190
188
  }
191
- &-group--single-container
192
- &
193
- > &__header
194
- &__header__icon:not(#{&}__header__icon--no-animation) {
189
+ &-group--single-container & > &__header &__header__icon {
195
190
  @include allAbove(small) {
196
191
  transform: rotate(-90deg);
197
192
  }
@@ -115,7 +115,7 @@ html:not([data-whatintent=touch]) .dnb-accordion__header:hover:not([disabled]) {
115
115
  --accordion-frame-width--active: 0.125rem;
116
116
  }
117
117
  .dnb-accordion--expanded > .dnb-accordion__header {
118
- font-weight: var(--sb-font-weight-bold);
118
+ font-weight: var(--font-weight-medium);
119
119
  }
120
120
  .dnb-accordion--expanded > .dnb-accordion__header[disabled],
121
121
  .dnb-accordion--expanded > .dnb-accordion__header[disabled] + .dnb-accordion__content {
@@ -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(--sb-font-weight-bold)}.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: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)}
@@ -112,7 +112,7 @@
112
112
  --accordion-frame-width--active: 0.125rem;
113
113
 
114
114
  > .dnb-accordion__header {
115
- font-weight: var(--sb-font-weight-bold);
115
+ font-weight: var(--font-weight-medium);
116
116
  }
117
117
 
118
118
  // disabled
@@ -1 +1 @@
1
- {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","prefix","suffix","href","to","showLaunchicon","target","test","showTooltip","title","_IconPrimary","createElement","iconNode","pickIcon","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","includes","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps, ElementIsType } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: ElementIsType\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = (element || 'a') as string\n\n let prefix: React.ReactNode\n let suffix: React.ReactNode\n\n const href = allProps.href || allProps.to\n const showLaunchicon =\n allProps.target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n const showTooltip = (tooltip || showLaunchicon) && !allProps.title\n\n // WCAG guide: https://www.w3.org/TR/WCAG20-TECHS/G201.html\n if (showLaunchicon) {\n suffix = <IconPrimary icon={launchIcon} />\n }\n\n if (icon) {\n const iconNode = pickIcon(icon) || <IconPrimary icon={icon} />\n if (iconPosition === 'left') {\n prefix = <>{iconNode} </>\n } else if (iconPosition === 'right') {\n suffix = <> {iconNode}</>\n }\n }\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true && 'dnb-anchor',\n className,\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n showLaunchicon && 'dnb-anchor--launch-icon'\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, srollts to it.\n * We want Chromium browsers to scorll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nexport function pickIcon(icon) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, 'dnb-button__icon'),\n })\n : null\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Anchor.js","names":["React","classnames","E","Context","makeUniqueId","extendPropsWithContext","getOffsetTop","IconPrimary","Tooltip","launch","launchIcon","defaultProps","AnchorInstance","localProps","context","useContext","allProps","skeleton","getTranslation","Anchor","inner_ref","innerRef","createRef","id","element","className","children","tooltip","icon","iconPosition","omitClass","targetBlankTitle","rest","_objectWithoutProperties","_excluded","attributes","internalId","as","prefix","suffix","href","to","showLaunchicon","target","test","showTooltip","title","_IconPrimary","createElement","iconNode","pickIcon","Fragment","_extends","showDelay","targetElement","forwardRef","props","ref","_supportsSpacingProps","scrollToHashHandler","event","_element$pathname","currentTarget","getAttribute","document","includes","isSamePath","startsWith","window","location","pathname","replace","split","reverse","anchorElem","getElementById","HTMLElement","scrollPadding","parseFloat","getComputedStyle","documentElement","scrollPaddingTop","top","scroll","error","console","_icon$props","_icon$props2","_icon$props2$classNam","_icon$props3","cloneElement","key"],"sources":["../../../../src/components/anchor/Anchor.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport E, { ElementProps, ElementIsType } from '../../elements/Element'\nimport Context from '../../shared/Context'\nimport {\n makeUniqueId,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { getOffsetTop } from '../../shared/helpers'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport Tooltip from '../tooltip/Tooltip'\nimport { launch as launchIcon } from '../../icons'\nimport type { IconIcon } from '../icon/Icon'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { SpacingProps } from '../../shared/types'\n\nexport type AnchorProps = {\n element?: ElementIsType\n href?: string\n to?: string\n targetBlankTitle?: string\n target?: string\n tooltip?: React.ReactNode\n icon?: IconIcon\n iconPosition?: 'left' | 'right'\n skeleton?: SkeletonShow\n omitClass?: boolean\n innerRef?: React.RefObject<HTMLAnchorElement>\n\n /** @deprecated use innerRef instead */\n inner_ref?: React.RefObject<HTMLAnchorElement>\n}\n\nexport type AnchorAllProps = AnchorProps &\n Omit<React.HTMLProps<HTMLAnchorElement>, 'ref'> &\n SpacingProps\n\nconst defaultProps = {}\n\nexport function AnchorInstance(localProps: AnchorAllProps) {\n const context = React.useContext(Context)\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps as AnchorAllProps).Anchor,\n context?.Anchor\n )\n\n // deprecated: inner_ref is still needed to support Button's usage of Anchor\n if (typeof allProps.inner_ref !== 'undefined') {\n allProps.innerRef = allProps.inner_ref\n delete allProps.inner_ref\n }\n\n if (!allProps.innerRef) {\n allProps.innerRef = React.createRef()\n }\n\n const {\n id,\n element,\n className,\n children,\n tooltip,\n icon,\n iconPosition = 'left',\n omitClass,\n innerRef,\n targetBlankTitle,\n ...rest\n } = allProps\n\n const attributes = rest as ElementProps\n const internalId = id || 'id' + makeUniqueId()\n const as = (element || 'a') as string\n\n let prefix: React.ReactNode\n let suffix: React.ReactNode\n\n const href = allProps.href || allProps.to\n const showLaunchicon =\n allProps.target === '_blank' && !/^(mailto|tel|sms)/.test(href)\n const showTooltip = (tooltip || showLaunchicon) && !allProps.title\n\n // WCAG guide: https://www.w3.org/TR/WCAG20-TECHS/G201.html\n if (showLaunchicon) {\n suffix = <IconPrimary icon={launchIcon} />\n }\n\n if (icon) {\n const iconNode = pickIcon(icon) || <IconPrimary icon={icon} />\n if (iconPosition === 'left') {\n prefix = <>{iconNode} </>\n } else if (iconPosition === 'right') {\n suffix = <> {iconNode}</>\n }\n }\n\n return (\n <>\n <E\n as={as}\n id={id}\n className={classnames(\n omitClass !== true && 'dnb-anchor',\n className,\n prefix && 'dnb-anchor--icon-left',\n suffix && 'dnb-anchor--icon-right',\n typeof children !== 'string' && 'dnb-anchor--was-node',\n showLaunchicon && 'dnb-anchor--launch-icon'\n )}\n {...attributes}\n innerRef={innerRef}\n >\n {prefix}\n {children}\n {suffix}\n </E>\n\n {showTooltip && (\n <Tooltip\n showDelay={100}\n id={internalId + '-tooltip'}\n targetElement={innerRef}\n tooltip={tooltip}\n >\n {allProps.title || targetBlankTitle}\n </Tooltip>\n )}\n </>\n )\n}\n\nconst Anchor = React.forwardRef(\n (props: AnchorAllProps, ref: React.RefObject<HTMLAnchorElement>) => {\n return <AnchorInstance innerRef={ref} {...props} />\n }\n)\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nAnchor._supportsSpacingProps = true\n\nexport default Anchor\n\nexport function scrollToHashHandler(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n) {\n const element = event.currentTarget as HTMLAnchorElement\n const href = element.getAttribute('href')\n\n if (typeof document === 'undefined' || !href.includes('#')) {\n return // stop here\n }\n\n /**\n * What happens here?\n * When `scroll-behavior: smooth;` in CSS is set,\n * Blink/Chromium wants the user to click two times in order to actually scroll to the anchor hash.\n * The first click, sets the hash, the second one, scrolls to it.\n * We want Chromium browsers to scroll to the element on the first click.\n */\n const isSamePath =\n href.startsWith('#') ||\n window.location.href.includes(element.pathname?.replace(/\\/$/, ''))\n\n // Only continue, when we are sure we are on the same page,\n // because, the same ID may exists occasionally on the current page.\n if (isSamePath) {\n const id = href.split(/#/g).reverse()[0]\n const anchorElem = document.getElementById(id)\n\n if (anchorElem instanceof HTMLElement) {\n try {\n const scrollPadding = parseFloat(\n window.getComputedStyle(document.documentElement)\n .scrollPaddingTop\n )\n const top = getOffsetTop(anchorElem) - scrollPadding || 0\n\n window.scroll({ top })\n\n return { element: anchorElem }\n } catch (error) {\n console.error(error)\n }\n }\n }\n}\n\nexport function pickIcon(icon) {\n return icon?.props?.icon || icon?.props?.className?.includes('dnb-icon')\n ? React.cloneElement(icon, {\n key: 'button-icon-clone',\n className: classnames(icon.props?.className, 'dnb-button__icon'),\n })\n : null\n}\n"],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  --anchor-underline-thickness: 0.125rem;
15
15
  --anchor-background: transparent;
16
16
  --anchor-color--contrast: var(--sb-color-text);
17
- font-weight: var(--sb-font-weight-bold);
17
+ font-weight: var(--font-weight-medium);
18
18
  color: var(--sb-color-gray-dark-3);
19
19
  -webkit-text-decoration-color: var(--sb-color-green-dark);
20
20
  text-decoration-color: var(--sb-color-green-dark);
@@ -118,7 +118,7 @@
118
118
  --anchor-underline-thickness: 0.125rem;
119
119
  --anchor-background: transparent;
120
120
  --anchor-color--contrast: var(--sb-color-text);
121
- font-weight: var(--sb-font-weight-bold);
121
+ font-weight: var(--font-weight-medium);
122
122
  color: var(--sb-color-gray-dark-3);
123
123
  -webkit-text-decoration-color: var(--sb-color-green-dark);
124
124
  text-decoration-color: var(--sb-color-green-dark);
@@ -1 +1 @@
1
- @charset "UTF-8";:where(:not(.dnb-anchor--no-style)).dnb-anchor{--anchor-underline-thickness:0.125rem;--anchor-background:transparent;--anchor-color--contrast:var(--sb-color-text);border-radius:.5em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background);color:var(--sb-color-gray-dark-3);font-weight:var(--sb-font-weight-bold);padding:.15625em 0;-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor--inline,:where(:not(.dnb-anchor--no-style)).dnb-anchor--no-underline,:where(:not(.dnb-anchor--no-style)).dnb-anchor--was-node{--anchor-background-gutter:0.25em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background),calc(var(--anchor-background-gutter)*-1) 0 0 0 var(--anchor-background),var(--anchor-background-gutter) 0 0 0 var(--anchor-background)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:hover:where(:not(.dnb-anchor--no-hover)){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}@supports not (selector(*:where(*))){:where(:not(.dnb-anchor--no-style)).dnb-anchor:hover:not(.dnb-anchor--no-hover){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}}:where(:not(.dnb-anchor--no-style)).dnb-anchor:active{--anchor-background:var(--sb-color-green);border-radius:.5em;color:var(--sb-color-text);transition:none}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-left{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-left{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-right{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-right{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right{margin-right:1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right .dnb-icon{font-size:1em;margin-left:.125em;margin-right:-1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left{margin-left:1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left .dnb-icon:first-of-type{font-size:1em;margin-left:-1.125em;margin-right:.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-left):before{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-right):after{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}@supports not (selector(*:where(*))){:not(.dnb-anchor--no-style).dnb-anchor{--anchor-underline-thickness:0.125rem;--anchor-background:transparent;--anchor-color--contrast:var(--sb-color-text);border-radius:.5em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background);color:var(--sb-color-gray-dark-3);font-weight:var(--sb-font-weight-bold);padding:.15625em 0;-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:not(.dnb-anchor--no-style).dnb-anchor--inline,:not(.dnb-anchor--no-style).dnb-anchor--no-underline,:not(.dnb-anchor--no-style).dnb-anchor--was-node{--anchor-background-gutter:0.25em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background),calc(var(--anchor-background-gutter)*-1) 0 0 0 var(--anchor-background),var(--anchor-background-gutter) 0 0 0 var(--anchor-background)}:not(.dnb-anchor--no-style).dnb-anchor:hover:where(:not(.dnb-anchor--no-hover)){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}@supports not (selector(*:where(*))){:not(.dnb-anchor--no-style).dnb-anchor:hover:not(.dnb-anchor--no-hover){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}}:not(.dnb-anchor--no-style).dnb-anchor:active{--anchor-background:var(--sb-color-green);border-radius:.5em;color:var(--sb-color-text);transition:none}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-left{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-left{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-right{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-right{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor--icon-right{margin-right:1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-right .dnb-icon{font-size:1em;margin-left:.125em;margin-right:-1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-left{margin-left:1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-left .dnb-icon:first-of-type{font-size:1em;margin-left:-1.125em;margin-right:.125em}:not(.dnb-anchor--no-style).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-left):before,:not(.dnb-anchor--no-style).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-right):after{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}}.dnb-anchor--hover{--anchor-background:var(--sb-color-green-dark)}.dnb-anchor--active,.dnb-anchor--hover{border-radius:.5em;color:var(--sb-color-text);transition:none}.dnb-anchor--active{--anchor-background:var(--sb-color-green)}.dnb-anchor--focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:transparent;background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.25em;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-blue-dark);outline:none;transition:none}.dnb-anchor--focus,.dnb-section .dnb-anchor--focus.dnb-anchor{text-decoration:none}.dnb-anchor--focus.dnb-anchor--icon-left,.dnb-anchor--focus.dnb-anchor--icon-left .dnb-icon{margin-left:0}.dnb-anchor--focus.dnb-anchor--icon-right,.dnb-anchor--focus.dnb-anchor--icon-right .dnb-icon{margin-right:0}.dnb-anchor--no-radius,.dnb-anchor--no-radius.focus-visible,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--no-radius,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:focus-visible,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--inline{-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor}
1
+ @charset "UTF-8";:where(:not(.dnb-anchor--no-style)).dnb-anchor{--anchor-underline-thickness:0.125rem;--anchor-background:transparent;--anchor-color--contrast:var(--sb-color-text);border-radius:.5em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background);color:var(--sb-color-gray-dark-3);font-weight:var(--font-weight-medium);padding:.15625em 0;-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor--inline,:where(:not(.dnb-anchor--no-style)).dnb-anchor--no-underline,:where(:not(.dnb-anchor--no-style)).dnb-anchor--was-node{--anchor-background-gutter:0.25em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background),calc(var(--anchor-background-gutter)*-1) 0 0 0 var(--anchor-background),var(--anchor-background-gutter) 0 0 0 var(--anchor-background)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:hover:where(:not(.dnb-anchor--no-hover)){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}@supports not (selector(*:where(*))){:where(:not(.dnb-anchor--no-style)).dnb-anchor:hover:not(.dnb-anchor--no-hover){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}}:where(:not(.dnb-anchor--no-style)).dnb-anchor:active{--anchor-background:var(--sb-color-green);border-radius:.5em;color:var(--sb-color-text);transition:none}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-left{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-left{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-right{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-right{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor.focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor:focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right{margin-right:1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-right .dnb-icon{font-size:1em;margin-left:.125em;margin-right:-1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left{margin-left:1.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor--icon-left .dnb-icon:first-of-type{font-size:1em;margin-left:-1.125em;margin-right:.125em}:where(:not(.dnb-anchor--no-style)).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-left):before{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:where(:not(.dnb-anchor--no-style)).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-right):after{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}@supports not (selector(*:where(*))){:not(.dnb-anchor--no-style).dnb-anchor{--anchor-underline-thickness:0.125rem;--anchor-background:transparent;--anchor-color--contrast:var(--sb-color-text);border-radius:.5em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background);color:var(--sb-color-gray-dark-3);font-weight:var(--font-weight-medium);padding:.15625em 0;-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}:not(.dnb-anchor--no-style).dnb-anchor--inline,:not(.dnb-anchor--no-style).dnb-anchor--no-underline,:not(.dnb-anchor--no-style).dnb-anchor--was-node{--anchor-background-gutter:0.25em;box-shadow:inset 100vw 100vw 0 0 var(--anchor-background),calc(var(--anchor-background-gutter)*-1) 0 0 0 var(--anchor-background),var(--anchor-background-gutter) 0 0 0 var(--anchor-background)}:not(.dnb-anchor--no-style).dnb-anchor:hover:where(:not(.dnb-anchor--no-hover)){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}@supports not (selector(*:where(*))){:not(.dnb-anchor--no-style).dnb-anchor:hover:not(.dnb-anchor--no-hover){--anchor-background:var(--sb-color-green-dark);border-radius:.5em;color:var(--sb-color-text);transition:none}}:not(.dnb-anchor--no-style).dnb-anchor:active{--anchor-background:var(--sb-color-green);border-radius:.5em;color:var(--sb-color-text);transition:none}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible{background-color:var(--sb-color-blue-light-3);border-radius:.25em;color:var(--sb-color-blue-dark)}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-left{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-left{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-left .dnb-icon{margin-left:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-right{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-right{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor.focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor:focus-visible.dnb-anchor--icon-right .dnb-icon{margin-right:0}:not(.dnb-anchor--no-style).dnb-anchor--icon-right{margin-right:1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-right .dnb-icon{font-size:1em;margin-left:.125em;margin-right:-1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-left{margin-left:1.125em}:not(.dnb-anchor--no-style).dnb-anchor--icon-left .dnb-icon:first-of-type{font-size:1em;margin-left:-1.125em;margin-right:.125em}:not(.dnb-anchor--no-style).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-left):before,:not(.dnb-anchor--no-style).dnb-anchor:not(.dnb-anchor--no-underline):not(.dnb-anchor--was-node):not(.anchor-hash):not(.dnb-anchor--inline):not(.dnb-anchor--icon-right):after{content:" ";-webkit-text-decoration-color:var(--sb-color-green-dark);text-decoration-color:var(--sb-color-green-dark)}}.dnb-anchor--hover{--anchor-background:var(--sb-color-green-dark)}.dnb-anchor--active,.dnb-anchor--hover{border-radius:.5em;color:var(--sb-color-text);transition:none}.dnb-anchor--active{--anchor-background:var(--sb-color-green)}.dnb-anchor--focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);background-color:transparent;background-color:var(--sb-color-blue-light-3);border-color:transparent;border-radius:.25em;box-shadow:0 0 0 var(--border-width) var(--border-color);color:var(--sb-color-blue-dark);outline:none;transition:none}.dnb-anchor--focus,.dnb-section .dnb-anchor--focus.dnb-anchor{text-decoration:none}.dnb-anchor--focus.dnb-anchor--icon-left,.dnb-anchor--focus.dnb-anchor--icon-left .dnb-icon{margin-left:0}.dnb-anchor--focus.dnb-anchor--icon-right,.dnb-anchor--focus.dnb-anchor--icon-right .dnb-icon{margin-right:0}.dnb-anchor--no-radius,.dnb-anchor--no-radius.focus-visible,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--no-radius,.dnb-anchor--no-radius:active,.dnb-anchor--no-radius:focus-visible,.dnb-anchor--no-radius:hover{border-radius:0}.dnb-anchor--inline{-webkit-text-decoration-color:currentcolor;text-decoration-color:currentcolor}