@dnb/eufemia 10.75.2 → 10.75.3

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 (368) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/components/accordion/Accordion.js +2 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionContext.d.ts +0 -4
  5. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  6. package/cjs/components/accordion/AccordionGroup.js +1 -3
  7. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  8. package/cjs/components/accordion/AccordionProviderContext.d.ts +0 -4
  9. package/cjs/components/accordion/AccordionProviderContext.js +3 -1
  10. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  11. package/cjs/components/accordion/AccordionStore.js +1 -2
  12. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  13. package/cjs/components/accordion/style/dnb-accordion.css +0 -6
  14. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  15. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  16. package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
  17. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  18. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  19. package/cjs/components/autocomplete/AutocompleteDocs.js +1 -1
  20. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  21. package/cjs/components/button/Button.js +8 -7
  22. package/cjs/components/button/Button.js.map +1 -1
  23. package/cjs/components/date-picker/DatePickerDocs.js +3 -3
  24. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerInput.js +2 -2
  26. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  27. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  28. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  29. package/cjs/components/dialog/style/dnb-dialog.css +0 -4
  30. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  31. package/cjs/components/dialog/style/dnb-dialog.scss +0 -5
  32. package/cjs/components/drawer/DrawerDocs.js +2 -2
  33. package/cjs/components/drawer/DrawerDocs.js.map +1 -1
  34. package/cjs/components/drawer/style/dnb-drawer.css +0 -4
  35. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  36. package/cjs/components/drawer/style/dnb-drawer.scss +0 -5
  37. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  38. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  39. package/cjs/components/form-row/FormRow.d.ts +1 -1
  40. package/cjs/components/form-row/FormRowDocs.js +1 -1
  41. package/cjs/components/form-row/FormRowDocs.js.map +1 -1
  42. package/cjs/components/input-masked/style/dnb-input-masked.css +0 -1
  43. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  44. package/cjs/components/list-format/ListFormatDocs.js +2 -2
  45. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  46. package/cjs/components/modal/style/dnb-modal.css +0 -4
  47. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  48. package/cjs/components/modal/style/dnb-modal.scss +0 -5
  49. package/cjs/components/pagination/PaginationDocs.js +2 -2
  50. package/cjs/components/pagination/PaginationDocs.js.map +1 -1
  51. package/cjs/components/slider/SliderDocs.js +1 -1
  52. package/cjs/components/slider/SliderDocs.js.map +1 -1
  53. package/cjs/components/step-indicator/StepIndicatorDocs.js +4 -4
  54. package/cjs/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  55. package/cjs/components/timeline/TimelineItem.js +5 -5
  56. package/cjs/components/timeline/TimelineItem.js.map +1 -1
  57. package/cjs/components/toggle-button/ToggleButtonDocs.js +1 -1
  58. package/cjs/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  59. package/cjs/components/upload/style/dnb-upload.css +0 -1
  60. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  61. package/cjs/core/jest/jestSetupScreenshots.css +6 -0
  62. package/cjs/extensions/forms/Field/Date/Date.js +10 -4
  63. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  64. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  65. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  66. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  67. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  68. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  69. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  70. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  72. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  73. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  74. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  75. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  76. package/cjs/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  77. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  78. package/cjs/extensions/forms/constants/locales/en-GB.js +2 -1
  79. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  80. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -0
  81. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -0
  82. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  83. package/cjs/extensions/forms/constants/locales/nb-NO.js +2 -1
  84. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  85. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  86. package/cjs/extensions/forms/constants/locales/sv-SE.js +2 -1
  87. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  88. package/cjs/extensions/forms/hooks/useFieldProps.js +3 -3
  89. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  90. package/cjs/extensions/payment-card/PaymentCard.js +8 -1
  91. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  92. package/cjs/shared/AlignmentHelper.d.ts +14 -8
  93. package/cjs/shared/AlignmentHelper.js +4 -8
  94. package/cjs/shared/AlignmentHelper.js.map +1 -1
  95. package/cjs/shared/BuildInfo.d.cts +2 -0
  96. package/cjs/shared/BuildInfo.js +5 -0
  97. package/cjs/shared/BuildInfo.js.map +1 -0
  98. package/cjs/shared/Eufemia.d.ts +14 -1
  99. package/cjs/shared/Eufemia.js +31 -3
  100. package/cjs/shared/Eufemia.js.map +1 -1
  101. package/cjs/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  102. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  103. package/cjs/shared/useMedia.js +66 -55
  104. package/cjs/shared/useMedia.js.map +1 -1
  105. package/cjs/style/core/helper-classes/helper-classes.scss +3 -0
  106. package/cjs/style/core/scopes.scss +1 -1
  107. package/cjs/style/core/utilities.scss +3 -1
  108. package/cjs/style/dnb-ui-basis.css +13 -2
  109. package/cjs/style/dnb-ui-basis.min.css +1 -1
  110. package/cjs/style/dnb-ui-body.css +1 -2
  111. package/cjs/style/dnb-ui-body.min.css +1 -1
  112. package/cjs/style/dnb-ui-components.css +0 -22
  113. package/cjs/style/dnb-ui-components.min.css +3 -3
  114. package/cjs/style/dnb-ui-core.css +13 -3
  115. package/cjs/style/dnb-ui-core.min.css +1 -1
  116. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  117. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  118. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  119. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  120. package/cjs/style/themes/theme-ui/ui-theme-components.css +0 -22
  121. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  122. package/components/accordion/Accordion.js +2 -3
  123. package/components/accordion/Accordion.js.map +1 -1
  124. package/components/accordion/AccordionContext.d.ts +0 -4
  125. package/components/accordion/AccordionContext.js.map +1 -1
  126. package/components/accordion/AccordionGroup.js +1 -3
  127. package/components/accordion/AccordionGroup.js.map +1 -1
  128. package/components/accordion/AccordionProviderContext.d.ts +0 -4
  129. package/components/accordion/AccordionProviderContext.js +3 -1
  130. package/components/accordion/AccordionProviderContext.js.map +1 -1
  131. package/components/accordion/AccordionStore.js +1 -2
  132. package/components/accordion/AccordionStore.js.map +1 -1
  133. package/components/accordion/style/dnb-accordion.css +0 -6
  134. package/components/accordion/style/dnb-accordion.min.css +1 -1
  135. package/components/accordion/style/dnb-accordion.scss +0 -5
  136. package/components/autocomplete/Autocomplete.d.ts +1 -1
  137. package/components/autocomplete/Autocomplete.js +2 -2
  138. package/components/autocomplete/Autocomplete.js.map +1 -1
  139. package/components/autocomplete/AutocompleteDocs.js +1 -1
  140. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  141. package/components/button/Button.js +8 -7
  142. package/components/button/Button.js.map +1 -1
  143. package/components/date-picker/DatePickerDocs.js +3 -3
  144. package/components/date-picker/DatePickerDocs.js.map +1 -1
  145. package/components/date-picker/DatePickerInput.js +2 -2
  146. package/components/date-picker/DatePickerInput.js.map +1 -1
  147. package/components/date-picker/style/dnb-date-picker.css +0 -1
  148. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  149. package/components/dialog/style/dnb-dialog.css +0 -4
  150. package/components/dialog/style/dnb-dialog.min.css +1 -1
  151. package/components/dialog/style/dnb-dialog.scss +0 -5
  152. package/components/drawer/DrawerDocs.js +2 -2
  153. package/components/drawer/DrawerDocs.js.map +1 -1
  154. package/components/drawer/style/dnb-drawer.css +0 -4
  155. package/components/drawer/style/dnb-drawer.min.css +1 -1
  156. package/components/drawer/style/dnb-drawer.scss +0 -5
  157. package/components/form-label/style/dnb-form-label.css +0 -1
  158. package/components/form-label/style/dnb-form-label.min.css +1 -1
  159. package/components/form-row/FormRow.d.ts +1 -1
  160. package/components/form-row/FormRowDocs.js +1 -1
  161. package/components/form-row/FormRowDocs.js.map +1 -1
  162. package/components/input-masked/style/dnb-input-masked.css +0 -1
  163. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  164. package/components/list-format/ListFormatDocs.js +2 -2
  165. package/components/list-format/ListFormatDocs.js.map +1 -1
  166. package/components/modal/style/dnb-modal.css +0 -4
  167. package/components/modal/style/dnb-modal.min.css +1 -1
  168. package/components/modal/style/dnb-modal.scss +0 -5
  169. package/components/pagination/PaginationDocs.js +2 -2
  170. package/components/pagination/PaginationDocs.js.map +1 -1
  171. package/components/slider/SliderDocs.js +1 -1
  172. package/components/slider/SliderDocs.js.map +1 -1
  173. package/components/step-indicator/StepIndicatorDocs.js +4 -4
  174. package/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  175. package/components/timeline/TimelineItem.js +5 -5
  176. package/components/timeline/TimelineItem.js.map +1 -1
  177. package/components/toggle-button/ToggleButtonDocs.js +1 -1
  178. package/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  179. package/components/upload/style/dnb-upload.css +0 -1
  180. package/components/upload/style/dnb-upload.min.css +1 -1
  181. package/core/jest/jestSetupScreenshots.css +6 -0
  182. package/es/components/accordion/Accordion.js +2 -3
  183. package/es/components/accordion/Accordion.js.map +1 -1
  184. package/es/components/accordion/AccordionContext.d.ts +0 -4
  185. package/es/components/accordion/AccordionContext.js.map +1 -1
  186. package/es/components/accordion/AccordionGroup.js +1 -3
  187. package/es/components/accordion/AccordionGroup.js.map +1 -1
  188. package/es/components/accordion/AccordionProviderContext.d.ts +0 -4
  189. package/es/components/accordion/AccordionProviderContext.js +3 -1
  190. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  191. package/es/components/accordion/AccordionStore.js +1 -2
  192. package/es/components/accordion/AccordionStore.js.map +1 -1
  193. package/es/components/accordion/style/dnb-accordion.css +0 -6
  194. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  195. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  196. package/es/components/autocomplete/Autocomplete.d.ts +1 -1
  197. package/es/components/autocomplete/Autocomplete.js +2 -2
  198. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  199. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  200. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  201. package/es/components/button/Button.js +8 -7
  202. package/es/components/button/Button.js.map +1 -1
  203. package/es/components/date-picker/DatePickerDocs.js +3 -3
  204. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  205. package/es/components/date-picker/DatePickerInput.js +2 -2
  206. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  207. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  208. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  209. package/es/components/dialog/style/dnb-dialog.css +0 -4
  210. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  211. package/es/components/dialog/style/dnb-dialog.scss +0 -5
  212. package/es/components/drawer/DrawerDocs.js +2 -2
  213. package/es/components/drawer/DrawerDocs.js.map +1 -1
  214. package/es/components/drawer/style/dnb-drawer.css +0 -4
  215. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  216. package/es/components/drawer/style/dnb-drawer.scss +0 -5
  217. package/es/components/form-label/style/dnb-form-label.css +0 -1
  218. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  219. package/es/components/form-row/FormRow.d.ts +1 -1
  220. package/es/components/form-row/FormRowDocs.js +1 -1
  221. package/es/components/form-row/FormRowDocs.js.map +1 -1
  222. package/es/components/input-masked/style/dnb-input-masked.css +0 -1
  223. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  224. package/es/components/list-format/ListFormatDocs.js +2 -2
  225. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  226. package/es/components/modal/style/dnb-modal.css +0 -4
  227. package/es/components/modal/style/dnb-modal.min.css +1 -1
  228. package/es/components/modal/style/dnb-modal.scss +0 -5
  229. package/es/components/pagination/PaginationDocs.js +2 -2
  230. package/es/components/pagination/PaginationDocs.js.map +1 -1
  231. package/es/components/slider/SliderDocs.js +1 -1
  232. package/es/components/slider/SliderDocs.js.map +1 -1
  233. package/es/components/step-indicator/StepIndicatorDocs.js +4 -4
  234. package/es/components/step-indicator/StepIndicatorDocs.js.map +1 -1
  235. package/es/components/timeline/TimelineItem.js +5 -5
  236. package/es/components/timeline/TimelineItem.js.map +1 -1
  237. package/es/components/toggle-button/ToggleButtonDocs.js +1 -1
  238. package/es/components/toggle-button/ToggleButtonDocs.js.map +1 -1
  239. package/es/components/upload/style/dnb-upload.css +0 -1
  240. package/es/components/upload/style/dnb-upload.min.css +1 -1
  241. package/es/core/jest/jestSetupScreenshots.css +6 -0
  242. package/es/extensions/forms/Field/Date/Date.js +10 -4
  243. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  244. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  245. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  246. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  247. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  248. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  249. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  250. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  251. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  252. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  253. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  254. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  255. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  256. package/es/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  257. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  258. package/es/extensions/forms/constants/locales/en-GB.js +2 -1
  259. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  260. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -0
  261. package/es/extensions/forms/constants/locales/index.d.ts +2 -0
  262. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  263. package/es/extensions/forms/constants/locales/nb-NO.js +2 -1
  264. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  265. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  266. package/es/extensions/forms/constants/locales/sv-SE.js +2 -1
  267. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  268. package/es/extensions/forms/hooks/useFieldProps.js +3 -3
  269. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  270. package/es/extensions/payment-card/PaymentCard.js +1 -0
  271. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  272. package/es/shared/AlignmentHelper.d.ts +14 -8
  273. package/es/shared/AlignmentHelper.js +4 -8
  274. package/es/shared/AlignmentHelper.js.map +1 -1
  275. package/es/shared/BuildInfo.cjs +6 -0
  276. package/es/shared/BuildInfo.d.cts +2 -0
  277. package/es/shared/Eufemia.d.ts +14 -1
  278. package/es/shared/Eufemia.js +27 -2
  279. package/es/shared/Eufemia.js.map +1 -1
  280. package/es/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  281. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  282. package/es/shared/useMedia.js +66 -55
  283. package/es/shared/useMedia.js.map +1 -1
  284. package/es/style/core/helper-classes/helper-classes.scss +3 -0
  285. package/es/style/core/scopes.scss +1 -1
  286. package/es/style/core/utilities.scss +3 -1
  287. package/es/style/dnb-ui-basis.css +13 -2
  288. package/es/style/dnb-ui-basis.min.css +1 -1
  289. package/es/style/dnb-ui-body.css +1 -2
  290. package/es/style/dnb-ui-body.min.css +1 -1
  291. package/es/style/dnb-ui-components.css +0 -22
  292. package/es/style/dnb-ui-components.min.css +3 -3
  293. package/es/style/dnb-ui-core.css +13 -3
  294. package/es/style/dnb-ui-core.min.css +1 -1
  295. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  296. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  297. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  298. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  299. package/es/style/themes/theme-ui/ui-theme-components.css +0 -22
  300. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  301. package/esm/dnb-ui-components.min.mjs +1 -1
  302. package/esm/dnb-ui-elements.min.mjs +1 -1
  303. package/esm/dnb-ui-extensions.min.mjs +1 -1
  304. package/esm/dnb-ui-lib.min.mjs +1 -1
  305. package/extensions/forms/Field/Date/Date.js +10 -4
  306. package/extensions/forms/Field/Date/Date.js.map +1 -1
  307. package/extensions/forms/Field/Indeterminate/Indeterminate.js +4 -2
  308. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  309. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +1 -0
  310. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +12 -5
  311. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  312. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +1 -1
  313. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  314. package/extensions/forms/Form/Isolation/IsolationDocs.js +1 -1
  315. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  316. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  317. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  318. package/extensions/forms/Wizard/Container/WizardContainerDocs.js +1 -1
  319. package/extensions/forms/Wizard/Container/WizardContainerDocs.js.map +1 -1
  320. package/extensions/forms/constants/locales/en-GB.d.ts +1 -0
  321. package/extensions/forms/constants/locales/en-GB.js +2 -1
  322. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  323. package/extensions/forms/constants/locales/en-US.d.ts +1 -0
  324. package/extensions/forms/constants/locales/index.d.ts +2 -0
  325. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -0
  326. package/extensions/forms/constants/locales/nb-NO.js +2 -1
  327. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  328. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -0
  329. package/extensions/forms/constants/locales/sv-SE.js +2 -1
  330. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  331. package/extensions/forms/hooks/useFieldProps.js +3 -3
  332. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  333. package/extensions/payment-card/PaymentCard.js +1 -0
  334. package/extensions/payment-card/PaymentCard.js.map +1 -1
  335. package/package.json +1 -1
  336. package/shared/AlignmentHelper.d.ts +14 -8
  337. package/shared/AlignmentHelper.js +4 -8
  338. package/shared/AlignmentHelper.js.map +1 -1
  339. package/shared/BuildInfo.cjs +6 -0
  340. package/shared/BuildInfo.d.cts +2 -0
  341. package/shared/Eufemia.d.ts +14 -1
  342. package/shared/Eufemia.js +27 -2
  343. package/shared/Eufemia.js.map +1 -1
  344. package/shared/helpers/runCssVersionMismatchWarning.d.ts +0 -7
  345. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  346. package/shared/useMedia.js +67 -56
  347. package/shared/useMedia.js.map +1 -1
  348. package/style/core/helper-classes/helper-classes.scss +3 -0
  349. package/style/core/scopes.scss +1 -1
  350. package/style/core/utilities.scss +3 -1
  351. package/style/dnb-ui-basis.css +13 -2
  352. package/style/dnb-ui-basis.min.css +1 -1
  353. package/style/dnb-ui-body.css +1 -2
  354. package/style/dnb-ui-body.min.css +1 -1
  355. package/style/dnb-ui-components.css +0 -22
  356. package/style/dnb-ui-components.min.css +3 -3
  357. package/style/dnb-ui-core.css +13 -3
  358. package/style/dnb-ui-core.min.css +1 -1
  359. package/style/themes/theme-eiendom/eiendom-theme-components.css +0 -22
  360. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  361. package/style/themes/theme-sbanken/sbanken-theme-components.css +0 -22
  362. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  363. package/style/themes/theme-ui/ui-theme-components.css +0 -22
  364. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  365. package/umd/dnb-ui-components.min.js +1 -1
  366. package/umd/dnb-ui-elements.min.js +1 -1
  367. package/umd/dnb-ui-extensions.min.js +1 -1
  368. package/umd/dnb-ui-lib.min.js +1 -1
@@ -214,7 +214,7 @@ function Accordion(_ref) {
214
214
  }
215
215
  const Group = _ref2 => {
216
216
  let {
217
- expandBehaviour = 'single',
217
+ expandBehaviour,
218
218
  expandBehavior = 'single'
219
219
  } = _ref2,
220
220
  props = _objectWithoutProperties(_ref2, _excluded3);
@@ -258,8 +258,7 @@ const Group = _ref2 => {
258
258
  onInit: onInit
259
259
  }, props, {
260
260
  group: group,
261
- expandBehaviour: expandBehaviour,
262
- expandBehavior: expandBehavior,
261
+ expandBehavior: expandBehaviour || expandBehavior,
263
262
  expanded_id: expandedId || props.expanded_id
264
263
  }));
265
264
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["React","useContext","useState","useEffect","useRef","useMemo","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","hasAddedCallbackRef","undefined","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","window","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","collapseAllHandleRef","_context$collapseAcco","collapseAccordionCallbacks","push","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","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","Group","_ref2","expandBehaviour","expandBehavior","_excluded3","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","_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 useMemo,\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?: IconIcon\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: IconIcon\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 components 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 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 const hasAddedCallbackRef = useRef<boolean>(false)\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 }, [\n context.flush_remembered_state,\n context.expanded_id,\n props.expanded,\n props.id,\n store,\n ])\n\n // Add callback for closing all accordions inside a group if collapseAllHandleRef is defined\n if (context?.collapseAllHandleRef && !hasAddedCallbackRef.current) {\n context?.collapseAccordionCallbacks?.current.push(close)\n hasAddedCallbackRef.current = true\n }\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 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 ),\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\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n /**\n * Determines how many accordions can be expanded at once.\n * Default: `single`\n */\n /**\n * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11.\n */\n expandBehaviour?: 'single' | 'multiple'\n /**\n * Determines how many accordions can be expanded at once.\n * Default: `single`\n */\n expandBehavior?: 'single' | 'multiple'\n /**\n * ref handle to collapse all expanded accordions. Send in a ref and use `.current()` to collapse all accordions.\n *\n * Default: `undefined`\n */\n expanded_id?: string\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n}\n\nconst Group = ({\n expandBehaviour = 'single',\n expandBehavior = 'single',\n ...props\n}: 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 = useMemo(() => new Store({ group }), [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 }, [store])\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, store])\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 expandBehaviour={expandBehaviour}\n expandBehavior={expandBehavior}\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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","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.js","names":["React","useContext","useState","useEffect","useRef","useMemo","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","hasAddedCallbackRef","undefined","thisInstance","_id","handleDisabledClick","callOnChange","callOnChangeHandler","close","setExpandedState","state","window","addInstance","onInit","_window","_window$__dnbAccordio","removeInstance","flush_remembered_state","flush","expanded_id","collapseAllHandleRef","_context$collapseAcco","collapseAccordionCallbacks","push","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","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","Group","_ref2","expandBehaviour","expandBehavior","_excluded3","expandedId","setExpandedId","instanceIDs","storedData","getData","currentIDs","includes","fallbackId","instance","_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 useMemo,\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?: IconIcon\n /**\n * If set to `true` the accordion will be expanded as its initial state.\n */\n expanded?: IconIcon\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 components 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 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 const hasAddedCallbackRef = useRef<boolean>(false)\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 }, [\n context.flush_remembered_state,\n context.expanded_id,\n props.expanded,\n props.id,\n store,\n ])\n\n // Add callback for closing all accordions inside a group if collapseAllHandleRef is defined\n if (context?.collapseAllHandleRef && !hasAddedCallbackRef.current) {\n context?.collapseAccordionCallbacks?.current.push(close)\n hasAddedCallbackRef.current = true\n }\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 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 ),\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\nexport type GroupProps = AccordionProps & {\n allow_close_all?: boolean\n /**\n * Determines how many accordions can be expanded at once.\n * Default: `single`\n */\n /**\n * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11.\n */\n expandBehaviour?: 'single' | 'multiple'\n /**\n * Determines how many accordions can be expanded at once.\n * Default: `single`\n */\n expandBehavior?: 'single' | 'multiple'\n /**\n * ref handle to collapse all expanded accordions. Send in a ref and use `.current()` to collapse all accordions.\n *\n * Default: `undefined`\n */\n expanded_id?: string\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n}\n\nconst Group = ({\n // expandBehaviour can be removed in v11\n expandBehaviour,\n expandBehavior = 'single',\n ...props\n}: 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 = useMemo(() => new Store({ group }), [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 }, [store])\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, store])\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 // expandBehaviour can be removed in v11\n expandBehavior={expandBehaviour || expandBehavior}\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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","ignoreList":[]}
@@ -8,10 +8,6 @@ import { AccordionProps } from './Accordion';
8
8
  import { AccordionGroupProps } from './AccordionGroup';
9
9
  export type AccordionContextProps = AccordionProps & SkeletonContextProps & {
10
10
  allow_close_all?: boolean;
11
- /**
12
- * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11
13
- */
14
- expandBehaviour: AccordionGroupProps['expandBehaviour'];
15
11
  expandBehavior: AccordionGroupProps['expandBehavior'];
16
12
  callOnChange?: (parameters: {
17
13
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContext.js","names":["React","AccordionContext","createContext"],"sources":["../../../../src/components/accordion/AccordionContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\nimport { SkeletonContextProps } from '../skeleton/SkeletonHelper'\nimport { AccordionProps } from './Accordion'\nimport { AccordionGroupProps } from './AccordionGroup'\n\nexport type AccordionContextProps = AccordionProps &\n SkeletonContextProps & {\n allow_close_all?: boolean\n /**\n * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11\n */\n expandBehaviour: AccordionGroupProps['expandBehaviour']\n expandBehavior: AccordionGroupProps['expandBehavior']\n callOnChange?: (parameters: {\n id: string\n group: string\n expanded: boolean\n event:\n | React.MouseEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>\n }) => void\n }\n\nconst AccordionContext = React.createContext<AccordionContextProps>({})\n\nexport default AccordionContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAuBzB,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,aAAa,CAAwB,CAAC,CAAC,CAAC;AAEvE,eAAeD,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"AccordionContext.js","names":["React","AccordionContext","createContext"],"sources":["../../../../src/components/accordion/AccordionContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\nimport { SkeletonContextProps } from '../skeleton/SkeletonHelper'\nimport { AccordionProps } from './Accordion'\nimport { AccordionGroupProps } from './AccordionGroup'\n\nexport type AccordionContextProps = AccordionProps &\n SkeletonContextProps & {\n allow_close_all?: boolean\n expandBehavior: AccordionGroupProps['expandBehavior']\n callOnChange?: (parameters: {\n id: string\n group: string\n expanded: boolean\n event:\n | React.MouseEvent<HTMLElement>\n | React.KeyboardEvent<HTMLElement>\n }) => void\n }\n\nconst AccordionContext = React.createContext<AccordionContextProps>({})\n\nexport default AccordionContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAmBzB,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,aAAa,CAAwB,CAAC,CAAC,CAAC;AAEvE,eAAeD,gBAAgB","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["expanded", "expanded_id", "prerender", "prevent_rerender", "single_container", "contentRef", "allow_close_all", "remember_state", "flush_remembered_state", "disabled", "group", "onInit", "className", "id", "children", "collapseAllHandleRef", "expandBehaviour", "expandBehavior"];
6
+ const _excluded = ["expanded", "expanded_id", "prerender", "prevent_rerender", "single_container", "contentRef", "allow_close_all", "remember_state", "flush_remembered_state", "disabled", "group", "onInit", "className", "id", "children", "collapseAllHandleRef", "expandBehavior"];
7
7
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
8
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
9
  import React, { useContext, useEffect, useRef } from 'react';
@@ -47,7 +47,6 @@ const AccordionGroup = props => {
47
47
  id: _id,
48
48
  children,
49
49
  collapseAllHandleRef,
50
- expandBehaviour,
51
50
  expandBehavior
52
51
  } = extendedProps,
53
52
  restOfExtendedProps = _objectWithoutProperties(extendedProps, _excluded);
@@ -70,7 +69,6 @@ const AccordionGroup = props => {
70
69
  onChange: onChangeHandler,
71
70
  collapseAllHandleRef,
72
71
  collapseAccordionCallbacks,
73
- expandBehaviour,
74
72
  expandBehavior
75
73
  });
76
74
  return React.createElement(AccordionGroupContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionGroup.js","names":["React","useContext","useEffect","useRef","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","children","collapseAllHandleRef","expandBehaviour","expandBehavior","restOfExtendedProps","_objectWithoutProperties","_excluded","collapseAccordionCallbacks","current","forEach","callback","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, useEffect, useRef } 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\n id: _id, // eslint-disable-line\n children, // eslint-disable-line\n collapseAllHandleRef,\n expandBehaviour,\n expandBehavior,\n\n ...restOfExtendedProps\n } = extendedProps\n\n const collapseAccordionCallbacks = useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseAccordionCallbacks.current.forEach((callback) =>\n callback()\n )\n }\n }\n }, [collapseAllHandleRef])\n\n const classes = classnames(\n 'dnb-accordion-group',\n isTrue(single_container) && 'dnb-accordion-group--single-container',\n createSpacingClasses(extendedProps),\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 collapseAllHandleRef,\n collapseAccordionCallbacks,\n expandBehaviour, // Deprecated – expandBehaviour is replaced with expandBehavior - can be removed in v11\n expandBehavior,\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":"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","ignoreList":[]}
1
+ {"version":3,"file":"AccordionGroup.js","names":["React","useContext","useEffect","useRef","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","children","collapseAllHandleRef","expandBehavior","restOfExtendedProps","_objectWithoutProperties","_excluded","collapseAccordionCallbacks","current","forEach","callback","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, useEffect, useRef } 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\n id: _id, // eslint-disable-line\n children, // eslint-disable-line\n collapseAllHandleRef,\n expandBehavior,\n\n ...restOfExtendedProps\n } = extendedProps\n\n const collapseAccordionCallbacks = useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseAccordionCallbacks.current.forEach((callback) =>\n callback()\n )\n }\n }\n }, [collapseAllHandleRef])\n\n const classes = classnames(\n 'dnb-accordion-group',\n isTrue(single_container) && 'dnb-accordion-group--single-container',\n createSpacingClasses(extendedProps),\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 collapseAllHandleRef,\n collapseAccordionCallbacks,\n expandBehavior,\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":"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","ignoreList":[]}
@@ -15,10 +15,6 @@ type AccordionGroupContextProps = {
15
15
  onInit?: (...args: any[]) => any;
16
16
  collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>;
17
17
  collapseAllHandleRef?: React.MutableRefObject<() => void>;
18
- /**
19
- * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11
20
- */
21
- expandBehaviour?: AccordionGroupProps['expandBehaviour'];
22
18
  expandBehavior?: AccordionGroupProps['expandBehavior'];
23
19
  };
24
20
  declare const AccordionGroupContext: React.Context<AccordionGroupContextProps>;
@@ -1,4 +1,6 @@
1
1
  import React from 'react';
2
- const AccordionGroupContext = React.createContext({});
2
+ const AccordionGroupContext = React.createContext({
3
+ expandBehavior: 'single'
4
+ });
3
5
  export default AccordionGroupContext;
4
6
  //# sourceMappingURL=AccordionProviderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\nimport { AccordionGroupProps } from './AccordionGroup'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n /**\n * @deprecated – Replaced with expandBehavior, expandBehaviour can be removed in v11\n */\n expandBehaviour?: AccordionGroupProps['expandBehaviour']\n expandBehavior?: AccordionGroupProps['expandBehavior']\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({})\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAqBzB,MAAMC,qBAAqB,GACzBD,KAAK,CAACE,aAAa,CAA6B,CAAC,CAAC,CAAC;AAErD,eAAeD,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"AccordionProviderContext.js","names":["React","AccordionGroupContext","createContext","expandBehavior"],"sources":["../../../../src/components/accordion/AccordionProviderContext.ts"],"sourcesContent":["/**\n * Web AccordionGroup Context\n *\n */\n\nimport React from 'react'\nimport { AccordionGroupProps } from './AccordionGroup'\n\ntype AccordionGroupContextProps = {\n expanded?: boolean\n group?: string\n expanded_ssr?: boolean\n remember_state?: boolean\n flush_remembered_state?: boolean\n expanded_id?: string\n onChange?: (...params: unknown[]) => void\n onInit?: (...args: any[]) => any\n collapseAccordionCallbacks?: React.MutableRefObject<(() => void)[]>\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n expandBehavior?: AccordionGroupProps['expandBehavior']\n}\n\nconst AccordionGroupContext =\n React.createContext<AccordionGroupContextProps>({\n // Make sure the AccordionStore gets the correct `expandBehavior` default value, for when grouped `Accordions` are used outside of an `AccordionGroup`.\n expandBehavior: 'single',\n })\n\nexport default AccordionGroupContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAiBzB,MAAMC,qBAAqB,GACzBD,KAAK,CAACE,aAAa,CAA6B;EAE9CC,cAAc,EAAE;AAClB,CAAC,CAAC;AAEJ,eAAeF,qBAAqB","ignoreList":[]}
@@ -9,8 +9,7 @@ export class AccordionStore {
9
9
  id
10
10
  } = _ref;
11
11
  this._instances.forEach(inst => {
12
- const closeAccordion = inst.context.expandBehaviour === 'single' && inst.context.expandBehavior === 'single';
13
- if (closeAccordion && inst._id !== id) {
12
+ if (inst.context.expandBehavior === 'single' && inst._id !== id) {
14
13
  inst.close();
15
14
  }
16
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionStore.js","names":["warn","AccordionStore","constructor","id","_id","_instances","onChange","_ref","forEach","inst","closeAccordion","context","expandBehaviour","expandBehavior","close","addInstance","instance","push","removeInstance","filter","Store","_ref2","group","storeId","arguments","length","undefined","saveState","expanded","opts","store","getData","force","window","localStorage","setItem","JSON","stringify","e","rememberWarning","Object","prototype","hasOwnProperty","call","parse","getItem","getState","state","flush","type"],"sources":["../../../../src/components/accordion/AccordionStore.ts"],"sourcesContent":["import { warn } from '../../shared/component-helper'\nimport { AccordionContextProps } from './AccordionContext'\n\ntype AccordionStoreInstance = {\n context: AccordionContextProps\n _id: string\n close: () => void\n}\nexport class AccordionStore {\n _instances: Array<AccordionStoreInstance>\n _id: string\n constructor(id: string) {\n this._id = id\n this._instances = []\n }\n onChange({ id }: { id: string }) {\n this._instances.forEach((inst) => {\n // Deprecated – expandBehaviour is replaced with expandBehavior - can be removed in v11\n const closeAccordion =\n inst.context.expandBehaviour === 'single' &&\n inst.context.expandBehavior === 'single'\n if (closeAccordion && inst._id !== id) {\n inst.close()\n }\n })\n }\n addInstance(instance: AccordionStoreInstance) {\n this._instances.push(instance)\n }\n removeInstance(instance) {\n this._instances = this._instances.filter((inst) => inst !== instance)\n }\n}\n\nexport type StoreDataReturn = {\n id: string\n expanded: boolean\n}\nexport type StoreOptions = {\n force?: boolean\n}\n\ntype StoreProps = {\n id?: string\n group?: string\n}\n\nexport class Store {\n id?: string\n group?: string\n\n constructor({ id, group }: StoreProps) {\n this.id = id\n this.group = group\n return this\n }\n\n storeId(id = this.id) {\n if (this.group) {\n // Skip using the random ID\n if (this.group[0] === '#') {\n return null\n }\n id = this.group\n }\n return `dnb-accordion-${id}`\n }\n\n saveState(expanded: boolean, id = this.id, opts: StoreOptions = {}) {\n if (id) {\n try {\n const store = this.getData() || ({} as StoreDataReturn)\n\n if (this.group) {\n if (expanded) {\n store.id = id\n } else if (opts && opts.force) {\n store.id = null\n }\n } else {\n store.expanded = expanded\n }\n\n const storeId = this.storeId(id)\n if (storeId) {\n window.localStorage.setItem(storeId, JSON.stringify(store))\n }\n } catch (e) {\n //\n }\n } else {\n rememberWarning()\n }\n }\n\n getData(id = this.id): StoreDataReturn {\n const storeId = this.storeId(id)\n\n if (storeId) {\n try {\n if (\n Object.prototype.hasOwnProperty.call(\n window.localStorage,\n storeId\n )\n ) {\n return JSON.parse(window.localStorage.getItem(storeId))\n }\n } catch (e) {\n //\n }\n }\n\n return null\n }\n\n getState(id = this.id) {\n let state = null\n\n const store = this.getData(id)\n\n if (store) {\n if (typeof store.id !== 'undefined') {\n state = id === store.id\n } else if (typeof store.expanded !== 'undefined') {\n state = store.expanded\n }\n }\n\n return state\n }\n\n flush(id = this.id) {\n if (id) {\n try {\n const storeId = this.storeId(id)\n if (storeId) {\n window.localStorage.setItem(storeId, null)\n }\n } catch (e) {\n //\n }\n }\n }\n}\n\nexport function rememberWarning(type = 'accordion') {\n warn(`Missing \"id\" prop the ${type}! \"remember_state\" is enabled.`)\n}\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,+BAA+B;AAQpD,OAAO,MAAMC,cAAc,CAAC;EAG1BC,WAAWA,CAACC,EAAU,EAAE;IACtB,IAAI,CAACC,GAAG,GAAGD,EAAE;IACb,IAAI,CAACE,UAAU,GAAG,EAAE;EACtB;EACAC,QAAQA,CAAAC,IAAA,EAAyB;IAAA,IAAxB;MAAEJ;IAAmB,CAAC,GAAAI,IAAA;IAC7B,IAAI,CAACF,UAAU,CAACG,OAAO,CAAEC,IAAI,IAAK;MAEhC,MAAMC,cAAc,GAClBD,IAAI,CAACE,OAAO,CAACC,eAAe,KAAK,QAAQ,IACzCH,IAAI,CAACE,OAAO,CAACE,cAAc,KAAK,QAAQ;MAC1C,IAAIH,cAAc,IAAID,IAAI,CAACL,GAAG,KAAKD,EAAE,EAAE;QACrCM,IAAI,CAACK,KAAK,CAAC,CAAC;MACd;IACF,CAAC,CAAC;EACJ;EACAC,WAAWA,CAACC,QAAgC,EAAE;IAC5C,IAAI,CAACX,UAAU,CAACY,IAAI,CAACD,QAAQ,CAAC;EAChC;EACAE,cAAcA,CAACF,QAAQ,EAAE;IACvB,IAAI,CAACX,UAAU,GAAG,IAAI,CAACA,UAAU,CAACc,MAAM,CAAEV,IAAI,IAAKA,IAAI,KAAKO,QAAQ,CAAC;EACvE;AACF;AAeA,OAAO,MAAMI,KAAK,CAAC;EAIjBlB,WAAWA,CAAAmB,KAAA,EAA4B;IAAA,IAA3B;MAAElB,EAAE;MAAEmB;IAAkB,CAAC,GAAAD,KAAA;IACnC,IAAI,CAAClB,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACmB,KAAK,GAAGA,KAAK;IAClB,OAAO,IAAI;EACb;EAEAC,OAAOA,CAAA,EAAe;IAAA,IAAdpB,EAAE,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACrB,EAAE;IAClB,IAAI,IAAI,CAACmB,KAAK,EAAE;MAEd,IAAI,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACzB,OAAO,IAAI;MACb;MACAnB,EAAE,GAAG,IAAI,CAACmB,KAAK;IACjB;IACA,OAAO,iBAAiBnB,EAAE,EAAE;EAC9B;EAEAwB,SAASA,CAACC,QAAiB,EAAyC;IAAA,IAAvCzB,EAAE,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACrB,EAAE;IAAA,IAAE0B,IAAkB,GAAAL,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAChE,IAAIrB,EAAE,EAAE;MACN,IAAI;QACF,MAAM2B,KAAK,GAAG,IAAI,CAACC,OAAO,CAAC,CAAC,IAAK,CAAC,CAAqB;QAEvD,IAAI,IAAI,CAACT,KAAK,EAAE;UACd,IAAIM,QAAQ,EAAE;YACZE,KAAK,CAAC3B,EAAE,GAAGA,EAAE;UACf,CAAC,MAAM,IAAI0B,IAAI,IAAIA,IAAI,CAACG,KAAK,EAAE;YAC7BF,KAAK,CAAC3B,EAAE,GAAG,IAAI;UACjB;QACF,CAAC,MAAM;UACL2B,KAAK,CAACF,QAAQ,GAAGA,QAAQ;QAC3B;QAEA,MAAML,OAAO,GAAG,IAAI,CAACA,OAAO,CAACpB,EAAE,CAAC;QAChC,IAAIoB,OAAO,EAAE;UACXU,MAAM,CAACC,YAAY,CAACC,OAAO,CAACZ,OAAO,EAAEa,IAAI,CAACC,SAAS,CAACP,KAAK,CAAC,CAAC;QAC7D;MACF,CAAC,CAAC,OAAOQ,CAAC,EAAE,CAEZ;IACF,CAAC,MAAM;MACLC,eAAe,CAAC,CAAC;IACnB;EACF;EAEAR,OAAOA,CAAA,EAAgC;IAAA,IAA/B5B,EAAE,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACrB,EAAE;IAClB,MAAMoB,OAAO,GAAG,IAAI,CAACA,OAAO,CAACpB,EAAE,CAAC;IAEhC,IAAIoB,OAAO,EAAE;MACX,IAAI;QACF,IACEiB,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAClCV,MAAM,CAACC,YAAY,EACnBX,OACF,CAAC,EACD;UACA,OAAOa,IAAI,CAACQ,KAAK,CAACX,MAAM,CAACC,YAAY,CAACW,OAAO,CAACtB,OAAO,CAAC,CAAC;QACzD;MACF,CAAC,CAAC,OAAOe,CAAC,EAAE,CAEZ;IACF;IAEA,OAAO,IAAI;EACb;EAEAQ,QAAQA,CAAA,EAAe;IAAA,IAAd3C,EAAE,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACrB,EAAE;IACnB,IAAI4C,KAAK,GAAG,IAAI;IAEhB,MAAMjB,KAAK,GAAG,IAAI,CAACC,OAAO,CAAC5B,EAAE,CAAC;IAE9B,IAAI2B,KAAK,EAAE;MACT,IAAI,OAAOA,KAAK,CAAC3B,EAAE,KAAK,WAAW,EAAE;QACnC4C,KAAK,GAAG5C,EAAE,KAAK2B,KAAK,CAAC3B,EAAE;MACzB,CAAC,MAAM,IAAI,OAAO2B,KAAK,CAACF,QAAQ,KAAK,WAAW,EAAE;QAChDmB,KAAK,GAAGjB,KAAK,CAACF,QAAQ;MACxB;IACF;IAEA,OAAOmB,KAAK;EACd;EAEAC,KAAKA,CAAA,EAAe;IAAA,IAAd7C,EAAE,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI,CAACrB,EAAE;IAChB,IAAIA,EAAE,EAAE;MACN,IAAI;QACF,MAAMoB,OAAO,GAAG,IAAI,CAACA,OAAO,CAACpB,EAAE,CAAC;QAChC,IAAIoB,OAAO,EAAE;UACXU,MAAM,CAACC,YAAY,CAACC,OAAO,CAACZ,OAAO,EAAE,IAAI,CAAC;QAC5C;MACF,CAAC,CAAC,OAAOe,CAAC,EAAE,CAEZ;IACF;EACF;AACF;AAEA,OAAO,SAASC,eAAeA,CAAA,EAAqB;EAAA,IAApBU,IAAI,GAAAzB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,WAAW;EAChDxB,IAAI,CAAC,yBAAyBiD,IAAI,gCAAgC,CAAC;AACrE","ignoreList":[]}
1
+ {"version":3,"file":"AccordionStore.js","names":["warn","AccordionStore","constructor","id","_id","_instances","onChange","_ref","forEach","inst","context","expandBehavior","close","addInstance","instance","push","removeInstance","filter","Store","_ref2","group","storeId","arguments","length","undefined","saveState","expanded","opts","store","getData","force","window","localStorage","setItem","JSON","stringify","e","rememberWarning","Object","prototype","hasOwnProperty","call","parse","getItem","getState","state","flush","type"],"sources":["../../../../src/components/accordion/AccordionStore.ts"],"sourcesContent":["import { warn } from '../../shared/component-helper'\nimport { AccordionContextProps } from './AccordionContext'\n\ntype AccordionStoreInstance = {\n context: AccordionContextProps\n _id: string\n close: () => void\n}\nexport class AccordionStore {\n _instances: Array<AccordionStoreInstance>\n _id: string\n constructor(id: string) {\n this._id = id\n this._instances = []\n }\n onChange({ id }: { id: string }) {\n this._instances.forEach((inst) => {\n if (inst.context.expandBehavior === 'single' && inst._id !== id) {\n inst.close()\n }\n })\n }\n addInstance(instance: AccordionStoreInstance) {\n this._instances.push(instance)\n }\n removeInstance(instance) {\n this._instances = this._instances.filter((inst) => inst !== instance)\n }\n}\n\nexport type StoreDataReturn = {\n id: string\n expanded: boolean\n}\nexport type StoreOptions = {\n force?: boolean\n}\n\ntype StoreProps = {\n id?: string\n group?: string\n}\n\nexport class Store {\n id?: string\n group?: string\n\n constructor({ id, group }: StoreProps) {\n this.id = id\n this.group = group\n return this\n }\n\n storeId(id = this.id) {\n if (this.group) {\n // Skip using the random ID\n if (this.group[0] === '#') {\n return null\n }\n id = this.group\n }\n return `dnb-accordion-${id}`\n }\n\n saveState(expanded: boolean, id = this.id, opts: StoreOptions = {}) {\n if (id) {\n try {\n const store = this.getData() || ({} as StoreDataReturn)\n\n if (this.group) {\n if (expanded) {\n store.id = id\n } else if (opts && opts.force) {\n store.id = null\n }\n } else {\n store.expanded = expanded\n }\n\n const storeId = this.storeId(id)\n if (storeId) {\n window.localStorage.setItem(storeId, JSON.stringify(store))\n }\n } catch (e) {\n //\n }\n } else {\n rememberWarning()\n }\n }\n\n getData(id = this.id): StoreDataReturn {\n const storeId = this.storeId(id)\n\n if (storeId) {\n try {\n if (\n Object.prototype.hasOwnProperty.call(\n window.localStorage,\n storeId\n )\n ) {\n return JSON.parse(window.localStorage.getItem(storeId))\n }\n } catch (e) {\n //\n }\n }\n\n return null\n }\n\n getState(id = this.id) {\n let state = null\n\n const store = this.getData(id)\n\n if (store) {\n if (typeof store.id !== 'undefined') {\n state = id === store.id\n } else if (typeof store.expanded !== 'undefined') {\n state = store.expanded\n }\n }\n\n return state\n }\n\n flush(id = this.id) {\n if (id) {\n try {\n const storeId = this.storeId(id)\n if (storeId) {\n window.localStorage.setItem(storeId, null)\n }\n } catch (e) {\n //\n }\n }\n }\n}\n\nexport function rememberWarning(type = 'accordion') {\n warn(`Missing \"id\" prop the ${type}! \"remember_state\" is enabled.`)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,16 +34,10 @@
34
34
  border: var(--accordion-border-width) solid transparent;
35
35
  border-radius: var(--accordion-border-radius);
36
36
  }
37
- .dnb-accordion__header:focus {
38
- -webkit-user-select: none;
39
- user-select: none;
40
- }
41
37
  .dnb-accordion__header * {
42
38
  pointer-events: none;
43
39
  }
44
40
  .dnb-accordion__header--prevent-click {
45
- -webkit-user-select: none;
46
- user-select: none;
47
41
  pointer-events: none;
48
42
  }
49
43
  .dnb-accordion__header__wrapper {
@@ -1,3 +1,3 @@
1
- .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.5rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.25rem;--accordion-header-margin-vertical--description:0.75rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;--accordion-header-icon-alignment:flex-start;--accordion-title-font-weight:var(--font-weight-basis);--accordion-title-font-weight--expanded:var(--font-weight-medium);--accordion-content-margin:1rem 0 0 0;--accordion-content-padding:0;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:var(--accordion-header-icon-alignment);font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header--expanded{--accordion-title-font-weight:var(
1
+ .dnb-accordion{--accordion-border-width:0.0625rem;--accordion-border-radius:0.5rem;--accordion-easing:var(--easing-default);--accordion-header-margin-vertical:1.25rem;--accordion-header-margin-vertical--description:0.75rem;--accordion-header-wrapper-margin:1rem;--accordion-header-wrapper-margin--icon-right:1rem;--accordion-header-icon-gutter:1rem;--accordion-header-icon-margin:1rem;--accordion-header-icon-alignment:flex-start;--accordion-title-font-weight:var(--font-weight-basis);--accordion-title-font-weight--expanded:var(--font-weight-medium);--accordion-content-margin:1rem 0 0 0;--accordion-content-padding:0;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 *,.dnb-accordion__header--prevent-click{pointer-events: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:var(--accordion-header-icon-alignment);font-size:var(--font-size-small);line-height:var(--line-height-small);margin:var(--accordion-header-margin-vertical) var(--accordion-header-icon-gutter) var(--accordion-header-margin-vertical) var(--accordion-header-icon-margin);transition:transform .4s var(--accordion-easing)}.dnb-accordion__header--description .dnb-accordion__header__icon{margin-top:var(--accordion-header-margin-vertical--description)}.dnb-accordion__header--icon-right{justify-content:space-between}.dnb-accordion__header--icon-right .dnb-accordion__header__icon{margin-left:var(--accordion-header-icon-gutter);margin-right:var(--accordion-header-icon-margin);order:3}.dnb-accordion__header--icon-right .dnb-accordion__header__container{order:1}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper{margin-left:var(--accordion-header-wrapper-margin--icon-right);margin-right:0;order:2}.dnb-accordion__header--icon-right .dnb-accordion__header__wrapper+.dnb-accordion__header__container{margin-right:0}.dnb-accordion__header--icon-right .dnb-accordion__header__container+.dnb-accordion__header__wrapper{margin-left:0}.dnb-accordion__header--expanded{--accordion-title-font-weight:var(
2
2
  --accordion-title-font-weight--expanded
3
3
  )}.dnb-accordion__header__title{font-size:var(--font-size-basis);font-weight:var(--accordion-title-font-weight);line-height:var(--line-height-basis)}.dnb-accordion__header__description{font-size:var(--font-size-small);font-weight:var(--font-weight-basis);line-height:var(--line-height-small)}.dnb-accordion__header__description+.dnb-accordion__header__title,.dnb-accordion__header__title+.dnb-accordion__header__description{margin-top:.25rem}.dnb-accordion--expanded>.dnb-accordion__header .dnb-accordion__header__icon{transform:rotate(-180deg)}.dnb-accordion__content{display:flex;transition:height .4s var(--accordion-easing),opacity .6s var(--accordion-easing);width:100%;will-change:height}.dnb-accordion__content__inner{margin:var(--accordion-content-margin);padding:var(--accordion-content-padding);width:100%}.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:40.00625em){.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:40.00625em){.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}
@@ -49,17 +49,12 @@
49
49
  border: var(--accordion-border-width) solid transparent;
50
50
  border-radius: var(--accordion-border-radius);
51
51
 
52
- &:focus {
53
- user-select: none;
54
- }
55
-
56
52
  // ensure that onMouseOutHandler works properly
57
53
  * {
58
54
  pointer-events: none;
59
55
  }
60
56
 
61
57
  &--prevent-click {
62
- user-select: none;
63
58
  pointer-events: none;
64
59
  }
65
60
 
@@ -191,7 +191,7 @@ export interface AutocompleteProps {
191
191
  */
192
192
  search_numbers?: boolean;
193
193
  /**
194
- * Lets you define a custom input value.
194
+ * Lets you define a custom input value. Setting it to an empty string `""` will reset the input value.
195
195
  */
196
196
  input_value?: string;
197
197
  /**
@@ -242,9 +242,9 @@ class AutocompleteInstance extends React.PureComponent {
242
242
  }
243
243
  static getDerivedStateFromProps(props, state) {
244
244
  if (state._listenForPropChanges) {
245
- var _props$input_value, _props$data, _state$prevData;
245
+ var _props$data, _state$prevData;
246
246
  state.disableHighlighting = isTrue(props.disable_highlighting);
247
- if (props.input_value !== 'initval' && ((_props$input_value = props.input_value) === null || _props$input_value === void 0 ? void 0 : _props$input_value.length) > 0) {
247
+ if (props.input_value !== 'initval') {
248
248
  state.inputValue = props.input_value;
249
249
  }
250
250
  if ((props === null || props === void 0 ? void 0 : (_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) > 0 && (state === null || state === void 0 ? void 0 : (_state$prevData = state.prevData) === null || _state$prevData === void 0 ? void 0 : _state$prevData.length) === 0) {