@dnb/eufemia 10.34.0 → 10.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (984) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
  3. package/assets/images/sbanken/sbanken-compact.svg +3 -0
  4. package/assets/images/sbanken/sbanken.svg +3 -0
  5. package/cjs/components/accordion/Accordion.d.ts +0 -2
  6. package/cjs/components/accordion/Accordion.js +2 -3
  7. package/cjs/components/accordion/Accordion.js.map +1 -1
  8. package/cjs/components/accordion/AccordionGroup.js +2 -3
  9. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  10. package/cjs/components/anchor/Anchor.d.ts +3 -0
  11. package/cjs/components/anchor/Anchor.js +22 -15
  12. package/cjs/components/anchor/Anchor.js.map +1 -1
  13. package/cjs/components/autocomplete/Autocomplete.js +2 -4
  14. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  15. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  16. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  17. package/cjs/components/button/Button.d.ts +0 -4
  18. package/cjs/components/button/Button.js +2 -5
  19. package/cjs/components/button/Button.js.map +1 -1
  20. package/cjs/components/date-picker/DatePicker.d.ts +0 -1
  21. package/cjs/components/date-picker/DatePicker.js +2 -5
  22. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  23. package/cjs/components/dropdown/Dropdown.js +2 -5
  24. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  25. package/cjs/components/form-row/FormRow.d.ts +0 -1
  26. package/cjs/components/form-row/FormRow.js +2 -5
  27. package/cjs/components/form-row/FormRow.js.map +1 -1
  28. package/cjs/components/form-set/FormSet.d.ts +0 -1
  29. package/cjs/components/form-set/FormSet.js +3 -4
  30. package/cjs/components/form-set/FormSet.js.map +1 -1
  31. package/cjs/components/form-status/FormStatus.d.ts +0 -1
  32. package/cjs/components/form-status/FormStatus.js +2 -5
  33. package/cjs/components/form-status/FormStatus.js.map +1 -1
  34. package/cjs/components/global-status/GlobalStatus.d.ts +0 -1
  35. package/cjs/components/global-status/GlobalStatus.js +2 -5
  36. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  37. package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
  38. package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
  39. package/cjs/components/help-button/HelpButton.js +3 -0
  40. package/cjs/components/help-button/HelpButton.js.map +1 -1
  41. package/cjs/components/help-button/HelpButtonInstance.js +3 -4
  42. package/cjs/components/help-button/HelpButtonInstance.js.map +1 -1
  43. package/cjs/components/help-button/style/dnb-help-button.css +4 -1
  44. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
  45. package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
  46. package/cjs/components/icon/Icon.js +2 -3
  47. package/cjs/components/icon/Icon.js.map +1 -1
  48. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  49. package/cjs/components/input/Input.d.ts +0 -1
  50. package/cjs/components/input/Input.js +2 -5
  51. package/cjs/components/input/Input.js.map +1 -1
  52. package/cjs/components/input-masked/InputMasked.d.ts +0 -1
  53. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  54. package/cjs/components/logo/Logo.d.ts +47 -43
  55. package/cjs/components/logo/Logo.js +77 -224
  56. package/cjs/components/logo/Logo.js.map +1 -1
  57. package/cjs/components/logo/LogoDocs.d.ts +2 -0
  58. package/cjs/components/logo/LogoDocs.js +50 -0
  59. package/cjs/components/logo/LogoDocs.js.map +1 -0
  60. package/cjs/components/logo/LogoSvg.d.ts +7 -0
  61. package/cjs/components/logo/LogoSvg.js +81 -0
  62. package/cjs/components/logo/LogoSvg.js.map +1 -0
  63. package/cjs/components/modal/Modal.d.ts +2 -1
  64. package/cjs/components/modal/Modal.js +26 -12
  65. package/cjs/components/modal/Modal.js.map +1 -1
  66. package/cjs/components/modal/types.d.ts +0 -4
  67. package/cjs/components/modal/types.js.map +1 -1
  68. package/cjs/components/number-format/NumberFormat.d.ts +4 -0
  69. package/cjs/components/number-format/NumberFormat.js +5 -5
  70. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  71. package/cjs/components/number-format/style/dnb-number-format.css +3 -0
  72. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  73. package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
  74. package/cjs/components/pagination/Pagination.d.ts +0 -3
  75. package/cjs/components/pagination/Pagination.js +2 -5
  76. package/cjs/components/pagination/Pagination.js.map +1 -1
  77. package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
  78. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  79. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  80. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  81. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  82. package/cjs/components/progress-indicator/types.d.ts +1 -1
  83. package/cjs/components/progress-indicator/types.js.map +1 -1
  84. package/cjs/components/radio/Radio.d.ts +0 -1
  85. package/cjs/components/radio/Radio.js +2 -5
  86. package/cjs/components/radio/Radio.js.map +1 -1
  87. package/cjs/components/radio/RadioGroup.d.ts +0 -1
  88. package/cjs/components/radio/RadioGroup.js +2 -5
  89. package/cjs/components/radio/RadioGroup.js.map +1 -1
  90. package/cjs/components/skeleton/Skeleton.d.ts +0 -1
  91. package/cjs/components/skeleton/Skeleton.js +2 -5
  92. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  93. package/cjs/components/switch/Switch.d.ts +0 -1
  94. package/cjs/components/switch/Switch.js +2 -5
  95. package/cjs/components/switch/Switch.js.map +1 -1
  96. package/cjs/components/table/Table.d.ts +6 -0
  97. package/cjs/components/table/Table.js +15 -3
  98. package/cjs/components/table/Table.js.map +1 -1
  99. package/cjs/components/table/TableAccordion.d.ts +7 -11
  100. package/cjs/components/table/TableAccordion.js +32 -21
  101. package/cjs/components/table/TableAccordion.js.map +1 -1
  102. package/cjs/components/table/TableTr.js +24 -25
  103. package/cjs/components/table/TableTr.js.map +1 -1
  104. package/cjs/components/tabs/Tabs.d.ts +0 -1
  105. package/cjs/components/tabs/Tabs.js +1 -7
  106. package/cjs/components/tabs/Tabs.js.map +1 -1
  107. package/cjs/components/tabs/TabsCustomContent.d.ts +0 -1
  108. package/cjs/components/tabs/TabsCustomContent.js +5 -8
  109. package/cjs/components/tabs/TabsCustomContent.js.map +1 -1
  110. package/cjs/components/tabs/TabsDocs.js +1 -1
  111. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  112. package/cjs/components/textarea/Textarea.d.ts +0 -1
  113. package/cjs/components/textarea/Textarea.js +2 -5
  114. package/cjs/components/textarea/Textarea.js.map +1 -1
  115. package/cjs/components/toggle-button/ToggleButton.d.ts +0 -1
  116. package/cjs/components/toggle-button/ToggleButton.js +2 -5
  117. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  118. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  119. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -5
  120. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  121. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  122. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  123. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  124. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  125. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  126. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  127. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  128. package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
  129. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  130. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  131. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
  132. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  135. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  136. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  137. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  138. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  139. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  140. package/cjs/extensions/forms/Field/Password/Password.js +2 -1
  141. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -1
  142. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  143. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
  145. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  146. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  147. package/cjs/extensions/forms/Field/Toggle/Toggle.js +13 -1
  148. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  149. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  150. package/cjs/extensions/forms/Form/Appearance/Appearance.js +1 -0
  151. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  152. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  153. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +20 -37
  154. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  155. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  156. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
  157. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  158. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  159. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
  160. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  161. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  162. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
  163. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  164. package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  165. package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
  166. package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  167. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  168. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
  169. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  170. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  171. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
  172. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  173. package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
  174. package/cjs/extensions/forms/Form/Section/Section.js +10 -2
  175. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  176. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  177. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  178. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  179. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  180. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  181. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
  182. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  183. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  184. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
  185. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  186. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  187. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
  188. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  189. package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  190. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
  191. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  192. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  193. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
  194. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  195. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  196. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
  197. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  198. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  199. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
  200. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  201. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  202. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
  203. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  204. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  205. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  206. package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  207. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  208. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  209. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  210. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  211. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  212. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  213. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
  214. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  215. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  216. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  217. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  218. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  219. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  220. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  221. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  222. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  223. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  224. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  225. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  226. package/cjs/extensions/forms/Wizard/Step/Step.js +1 -1
  227. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  228. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  229. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  230. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  231. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  232. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  233. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  234. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  235. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  236. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  237. package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
  238. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  239. package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
  240. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  241. package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
  242. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  243. package/cjs/extensions/forms/style/dnb-forms.css +56 -44
  244. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  245. package/cjs/extensions/payment-card/PaymentCard.js +0 -2
  246. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  247. package/cjs/fragments/drawer-list/DrawerList.d.ts +0 -1
  248. package/cjs/fragments/drawer-list/DrawerList.js +6 -13
  249. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  250. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  251. package/cjs/fragments/drawer-list/DrawerListHelpers.js +0 -2
  252. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  253. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  254. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  255. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  256. package/cjs/fragments/text-counter/TextCounter.js +3 -2
  257. package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
  258. package/cjs/shared/Context.d.ts +9 -5
  259. package/cjs/shared/Context.js +40 -35
  260. package/cjs/shared/Context.js.map +1 -1
  261. package/cjs/shared/Eufemia.d.ts +1 -1
  262. package/cjs/shared/Eufemia.js +2 -2
  263. package/cjs/shared/Eufemia.js.map +1 -1
  264. package/cjs/shared/Provider.d.ts +1 -1
  265. package/cjs/shared/Provider.js +49 -42
  266. package/cjs/shared/Provider.js.map +1 -1
  267. package/cjs/shared/Translation.d.ts +5 -5
  268. package/cjs/shared/Translation.js +6 -11
  269. package/cjs/shared/Translation.js.map +1 -1
  270. package/cjs/shared/index.d.ts +1 -0
  271. package/cjs/shared/index.js +26 -1
  272. package/cjs/shared/index.js.map +1 -1
  273. package/cjs/shared/locales/en-GB.d.ts +0 -3
  274. package/cjs/shared/locales/en-GB.js +0 -3
  275. package/cjs/shared/locales/en-GB.js.map +1 -1
  276. package/cjs/shared/locales/en-US.d.ts +0 -3
  277. package/cjs/shared/locales/index.d.ts +0 -6
  278. package/cjs/shared/locales/nb-NO.d.ts +0 -3
  279. package/cjs/shared/locales/nb-NO.js +0 -3
  280. package/cjs/shared/locales/nb-NO.js.map +1 -1
  281. package/cjs/shared/useTranslation.d.ts +5 -4
  282. package/cjs/shared/useTranslation.js +14 -12
  283. package/cjs/shared/useTranslation.js.map +1 -1
  284. package/cjs/style/core/scopes.scss +1 -1
  285. package/cjs/style/dnb-ui-basis.css +1 -1
  286. package/cjs/style/dnb-ui-basis.min.css +1 -1
  287. package/cjs/style/dnb-ui-body.css +1 -1
  288. package/cjs/style/dnb-ui-body.min.css +1 -1
  289. package/cjs/style/dnb-ui-components.css +67 -44
  290. package/cjs/style/dnb-ui-components.min.css +2 -2
  291. package/cjs/style/dnb-ui-core.css +1 -1
  292. package/cjs/style/dnb-ui-core.min.css +1 -1
  293. package/cjs/style/dnb-ui-extensions.css +56 -44
  294. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  295. package/cjs/style/dnb-ui-forms.css +56 -44
  296. package/cjs/style/dnb-ui-forms.min.css +1 -1
  297. package/cjs/style/dnb-ui-forms.scss +2 -1
  298. package/cjs/style/dnb-ui-fragments.css +4 -0
  299. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  300. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  301. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  302. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
  303. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  304. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
  305. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  306. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
  307. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  308. package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
  309. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  310. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  311. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
  312. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  313. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
  314. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  315. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
  316. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  317. package/cjs/style/themes/theme-ui/globals.scss +3 -2
  318. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
  319. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  320. package/cjs/style/themes/theme-ui/ui-theme-components.css +123 -88
  321. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  322. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +56 -44
  323. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  324. package/cjs/style/themes/theme-ui/ui-theme-forms.css +56 -44
  325. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  326. package/components/accordion/Accordion.d.ts +0 -2
  327. package/components/accordion/Accordion.js +2 -3
  328. package/components/accordion/Accordion.js.map +1 -1
  329. package/components/accordion/AccordionGroup.js +2 -3
  330. package/components/accordion/AccordionGroup.js.map +1 -1
  331. package/components/anchor/Anchor.d.ts +3 -0
  332. package/components/anchor/Anchor.js +21 -15
  333. package/components/anchor/Anchor.js.map +1 -1
  334. package/components/autocomplete/Autocomplete.js +2 -4
  335. package/components/autocomplete/Autocomplete.js.map +1 -1
  336. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  337. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  338. package/components/button/Button.d.ts +0 -4
  339. package/components/button/Button.js +2 -5
  340. package/components/button/Button.js.map +1 -1
  341. package/components/date-picker/DatePicker.d.ts +0 -1
  342. package/components/date-picker/DatePicker.js +2 -5
  343. package/components/date-picker/DatePicker.js.map +1 -1
  344. package/components/dropdown/Dropdown.js +2 -5
  345. package/components/dropdown/Dropdown.js.map +1 -1
  346. package/components/form-row/FormRow.d.ts +0 -1
  347. package/components/form-row/FormRow.js +2 -5
  348. package/components/form-row/FormRow.js.map +1 -1
  349. package/components/form-set/FormSet.d.ts +0 -1
  350. package/components/form-set/FormSet.js +3 -4
  351. package/components/form-set/FormSet.js.map +1 -1
  352. package/components/form-status/FormStatus.d.ts +0 -1
  353. package/components/form-status/FormStatus.js +2 -5
  354. package/components/form-status/FormStatus.js.map +1 -1
  355. package/components/global-status/GlobalStatus.d.ts +0 -1
  356. package/components/global-status/GlobalStatus.js +2 -5
  357. package/components/global-status/GlobalStatus.js.map +1 -1
  358. package/components/global-status/GlobalStatusController.js.map +1 -1
  359. package/components/global-status/GlobalStatusProvider.js.map +1 -1
  360. package/components/help-button/HelpButton.js +3 -0
  361. package/components/help-button/HelpButton.js.map +1 -1
  362. package/components/help-button/HelpButtonInstance.js +3 -4
  363. package/components/help-button/HelpButtonInstance.js.map +1 -1
  364. package/components/help-button/style/dnb-help-button.css +4 -1
  365. package/components/help-button/style/dnb-help-button.min.css +1 -0
  366. package/components/help-button/style/dnb-help-button.scss +6 -0
  367. package/components/icon/Icon.js +2 -3
  368. package/components/icon/Icon.js.map +1 -1
  369. package/components/icon-primary/IconPrimary.js.map +1 -1
  370. package/components/input/Input.d.ts +0 -1
  371. package/components/input/Input.js +2 -5
  372. package/components/input/Input.js.map +1 -1
  373. package/components/input-masked/InputMasked.d.ts +0 -1
  374. package/components/input-masked/InputMasked.js.map +1 -1
  375. package/components/logo/Logo.d.ts +47 -43
  376. package/components/logo/Logo.js +75 -224
  377. package/components/logo/Logo.js.map +1 -1
  378. package/components/logo/LogoDocs.d.ts +2 -0
  379. package/components/logo/LogoDocs.js +43 -0
  380. package/components/logo/LogoDocs.js.map +1 -0
  381. package/components/logo/LogoSvg.d.ts +7 -0
  382. package/components/logo/LogoSvg.js +73 -0
  383. package/components/logo/LogoSvg.js.map +1 -0
  384. package/components/modal/Modal.d.ts +2 -1
  385. package/components/modal/Modal.js +26 -12
  386. package/components/modal/Modal.js.map +1 -1
  387. package/components/modal/types.d.ts +0 -4
  388. package/components/modal/types.js.map +1 -1
  389. package/components/number-format/NumberFormat.d.ts +4 -0
  390. package/components/number-format/NumberFormat.js +5 -5
  391. package/components/number-format/NumberFormat.js.map +1 -1
  392. package/components/number-format/style/dnb-number-format.css +3 -0
  393. package/components/number-format/style/dnb-number-format.min.css +1 -1
  394. package/components/number-format/style/dnb-number-format.scss +4 -0
  395. package/components/pagination/Pagination.d.ts +0 -3
  396. package/components/pagination/Pagination.js +2 -5
  397. package/components/pagination/Pagination.js.map +1 -1
  398. package/components/pagination/PaginationHelpers.js.map +1 -1
  399. package/components/pagination/PaginationInfinity.js.map +1 -1
  400. package/components/pagination/PaginationProvider.js.map +1 -1
  401. package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  402. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  403. package/components/progress-indicator/types.d.ts +1 -1
  404. package/components/progress-indicator/types.js.map +1 -1
  405. package/components/radio/Radio.d.ts +0 -1
  406. package/components/radio/Radio.js +2 -5
  407. package/components/radio/Radio.js.map +1 -1
  408. package/components/radio/RadioGroup.d.ts +0 -1
  409. package/components/radio/RadioGroup.js +2 -5
  410. package/components/radio/RadioGroup.js.map +1 -1
  411. package/components/skeleton/Skeleton.d.ts +0 -1
  412. package/components/skeleton/Skeleton.js +2 -5
  413. package/components/skeleton/Skeleton.js.map +1 -1
  414. package/components/switch/Switch.d.ts +0 -1
  415. package/components/switch/Switch.js +2 -5
  416. package/components/switch/Switch.js.map +1 -1
  417. package/components/table/Table.d.ts +6 -0
  418. package/components/table/Table.js +13 -3
  419. package/components/table/Table.js.map +1 -1
  420. package/components/table/TableAccordion.d.ts +7 -11
  421. package/components/table/TableAccordion.js +29 -20
  422. package/components/table/TableAccordion.js.map +1 -1
  423. package/components/table/TableTr.js +25 -26
  424. package/components/table/TableTr.js.map +1 -1
  425. package/components/tabs/Tabs.d.ts +0 -1
  426. package/components/tabs/Tabs.js +1 -7
  427. package/components/tabs/Tabs.js.map +1 -1
  428. package/components/tabs/TabsCustomContent.d.ts +0 -1
  429. package/components/tabs/TabsCustomContent.js +5 -8
  430. package/components/tabs/TabsCustomContent.js.map +1 -1
  431. package/components/tabs/TabsDocs.js +1 -1
  432. package/components/tabs/TabsDocs.js.map +1 -1
  433. package/components/textarea/Textarea.d.ts +0 -1
  434. package/components/textarea/Textarea.js +2 -5
  435. package/components/textarea/Textarea.js.map +1 -1
  436. package/components/toggle-button/ToggleButton.d.ts +0 -1
  437. package/components/toggle-button/ToggleButton.js +2 -5
  438. package/components/toggle-button/ToggleButton.js.map +1 -1
  439. package/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  440. package/components/toggle-button/ToggleButtonGroup.js +2 -5
  441. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  442. package/es/components/accordion/Accordion.d.ts +0 -2
  443. package/es/components/accordion/Accordion.js +2 -3
  444. package/es/components/accordion/Accordion.js.map +1 -1
  445. package/es/components/accordion/AccordionGroup.js +2 -3
  446. package/es/components/accordion/AccordionGroup.js.map +1 -1
  447. package/es/components/anchor/Anchor.d.ts +3 -0
  448. package/es/components/anchor/Anchor.js +21 -15
  449. package/es/components/anchor/Anchor.js.map +1 -1
  450. package/es/components/autocomplete/Autocomplete.js +2 -4
  451. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  452. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  453. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  454. package/es/components/button/Button.d.ts +0 -4
  455. package/es/components/button/Button.js +2 -5
  456. package/es/components/button/Button.js.map +1 -1
  457. package/es/components/date-picker/DatePicker.d.ts +0 -1
  458. package/es/components/date-picker/DatePicker.js +2 -5
  459. package/es/components/date-picker/DatePicker.js.map +1 -1
  460. package/es/components/dropdown/Dropdown.js +2 -5
  461. package/es/components/dropdown/Dropdown.js.map +1 -1
  462. package/es/components/form-row/FormRow.d.ts +0 -1
  463. package/es/components/form-row/FormRow.js +2 -5
  464. package/es/components/form-row/FormRow.js.map +1 -1
  465. package/es/components/form-set/FormSet.d.ts +0 -1
  466. package/es/components/form-set/FormSet.js +3 -4
  467. package/es/components/form-set/FormSet.js.map +1 -1
  468. package/es/components/form-status/FormStatus.d.ts +0 -1
  469. package/es/components/form-status/FormStatus.js +2 -5
  470. package/es/components/form-status/FormStatus.js.map +1 -1
  471. package/es/components/global-status/GlobalStatus.d.ts +0 -1
  472. package/es/components/global-status/GlobalStatus.js +2 -5
  473. package/es/components/global-status/GlobalStatus.js.map +1 -1
  474. package/es/components/global-status/GlobalStatusController.js.map +1 -1
  475. package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
  476. package/es/components/help-button/HelpButton.js +3 -0
  477. package/es/components/help-button/HelpButton.js.map +1 -1
  478. package/es/components/help-button/HelpButtonInstance.js +3 -4
  479. package/es/components/help-button/HelpButtonInstance.js.map +1 -1
  480. package/es/components/help-button/style/dnb-help-button.css +4 -1
  481. package/es/components/help-button/style/dnb-help-button.min.css +1 -0
  482. package/es/components/help-button/style/dnb-help-button.scss +6 -0
  483. package/es/components/icon/Icon.js +2 -3
  484. package/es/components/icon/Icon.js.map +1 -1
  485. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  486. package/es/components/input/Input.d.ts +0 -1
  487. package/es/components/input/Input.js +2 -5
  488. package/es/components/input/Input.js.map +1 -1
  489. package/es/components/input-masked/InputMasked.d.ts +0 -1
  490. package/es/components/input-masked/InputMasked.js.map +1 -1
  491. package/es/components/logo/Logo.d.ts +47 -43
  492. package/es/components/logo/Logo.js +75 -224
  493. package/es/components/logo/Logo.js.map +1 -1
  494. package/es/components/logo/LogoDocs.d.ts +2 -0
  495. package/es/components/logo/LogoDocs.js +43 -0
  496. package/es/components/logo/LogoDocs.js.map +1 -0
  497. package/es/components/logo/LogoSvg.d.ts +7 -0
  498. package/es/components/logo/LogoSvg.js +72 -0
  499. package/es/components/logo/LogoSvg.js.map +1 -0
  500. package/es/components/modal/Modal.d.ts +2 -1
  501. package/es/components/modal/Modal.js +26 -12
  502. package/es/components/modal/Modal.js.map +1 -1
  503. package/es/components/modal/types.d.ts +0 -4
  504. package/es/components/modal/types.js.map +1 -1
  505. package/es/components/number-format/NumberFormat.d.ts +4 -0
  506. package/es/components/number-format/NumberFormat.js +5 -5
  507. package/es/components/number-format/NumberFormat.js.map +1 -1
  508. package/es/components/number-format/style/dnb-number-format.css +3 -0
  509. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  510. package/es/components/number-format/style/dnb-number-format.scss +4 -0
  511. package/es/components/pagination/Pagination.d.ts +0 -3
  512. package/es/components/pagination/Pagination.js +2 -5
  513. package/es/components/pagination/Pagination.js.map +1 -1
  514. package/es/components/pagination/PaginationHelpers.js.map +1 -1
  515. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  516. package/es/components/pagination/PaginationProvider.js.map +1 -1
  517. package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  518. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  519. package/es/components/progress-indicator/types.d.ts +1 -1
  520. package/es/components/progress-indicator/types.js.map +1 -1
  521. package/es/components/radio/Radio.d.ts +0 -1
  522. package/es/components/radio/Radio.js +2 -5
  523. package/es/components/radio/Radio.js.map +1 -1
  524. package/es/components/radio/RadioGroup.d.ts +0 -1
  525. package/es/components/radio/RadioGroup.js +2 -5
  526. package/es/components/radio/RadioGroup.js.map +1 -1
  527. package/es/components/skeleton/Skeleton.d.ts +0 -1
  528. package/es/components/skeleton/Skeleton.js +2 -5
  529. package/es/components/skeleton/Skeleton.js.map +1 -1
  530. package/es/components/switch/Switch.d.ts +0 -1
  531. package/es/components/switch/Switch.js +2 -5
  532. package/es/components/switch/Switch.js.map +1 -1
  533. package/es/components/table/Table.d.ts +6 -0
  534. package/es/components/table/Table.js +13 -3
  535. package/es/components/table/Table.js.map +1 -1
  536. package/es/components/table/TableAccordion.d.ts +7 -11
  537. package/es/components/table/TableAccordion.js +29 -19
  538. package/es/components/table/TableAccordion.js.map +1 -1
  539. package/es/components/table/TableTr.js +25 -26
  540. package/es/components/table/TableTr.js.map +1 -1
  541. package/es/components/tabs/Tabs.d.ts +0 -1
  542. package/es/components/tabs/Tabs.js +1 -7
  543. package/es/components/tabs/Tabs.js.map +1 -1
  544. package/es/components/tabs/TabsCustomContent.d.ts +0 -1
  545. package/es/components/tabs/TabsCustomContent.js +5 -8
  546. package/es/components/tabs/TabsCustomContent.js.map +1 -1
  547. package/es/components/tabs/TabsDocs.js +1 -1
  548. package/es/components/tabs/TabsDocs.js.map +1 -1
  549. package/es/components/textarea/Textarea.d.ts +0 -1
  550. package/es/components/textarea/Textarea.js +2 -5
  551. package/es/components/textarea/Textarea.js.map +1 -1
  552. package/es/components/toggle-button/ToggleButton.d.ts +0 -1
  553. package/es/components/toggle-button/ToggleButton.js +2 -5
  554. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  555. package/es/components/toggle-button/ToggleButtonGroup.d.ts +0 -1
  556. package/es/components/toggle-button/ToggleButtonGroup.js +2 -5
  557. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  558. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  559. package/es/extensions/forms/DataContext/Context.js +1 -0
  560. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  561. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  562. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  563. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  564. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  565. package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
  566. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  567. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  568. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  569. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  570. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  571. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  572. package/es/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  573. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  574. package/es/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  575. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  576. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  577. package/es/extensions/forms/Field/Password/Password.js +2 -1
  578. package/es/extensions/forms/Field/Password/Password.js.map +1 -1
  579. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  580. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  581. package/es/extensions/forms/Field/Selection/Selection.js +7 -2
  582. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  583. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  584. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -2
  585. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  586. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  587. package/es/extensions/forms/Form/Appearance/Appearance.js +1 -0
  588. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  589. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  590. package/es/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
  591. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  592. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  593. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  594. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  595. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  596. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  597. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  598. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  599. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  600. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  601. package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  602. package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  603. package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  604. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  605. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  606. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  607. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  608. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  609. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  610. package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
  611. package/es/extensions/forms/Form/Section/Section.js +10 -2
  612. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  613. package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  614. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  615. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  616. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  617. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  618. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  619. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  620. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  621. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  622. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  623. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  624. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  625. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  626. package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  627. package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  628. package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  629. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  630. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  631. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  632. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  633. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  634. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  635. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  636. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  637. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  638. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  639. package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  640. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  641. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  642. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  643. package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
  644. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  645. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  646. package/es/extensions/forms/Iterate/Array/Array.js +1 -1
  647. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  648. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  649. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  650. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  651. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  652. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  653. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  654. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  655. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  656. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  657. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  658. package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  659. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  660. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  661. package/es/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  662. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  663. package/es/extensions/forms/Wizard/Step/Step.js +1 -1
  664. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  665. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  666. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  667. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  668. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  669. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  670. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  671. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  672. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  673. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  674. package/es/extensions/forms/hooks/useDataValue.js +30 -5
  675. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  676. package/es/extensions/forms/hooks/useFieldProps.js +14 -9
  677. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  678. package/es/extensions/forms/hooks/useTranslation.js +7 -12
  679. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  680. package/es/extensions/forms/style/dnb-forms.css +56 -44
  681. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  682. package/es/extensions/payment-card/PaymentCard.js +0 -2
  683. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  684. package/es/fragments/drawer-list/DrawerList.d.ts +0 -1
  685. package/es/fragments/drawer-list/DrawerList.js +6 -13
  686. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  687. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  688. package/es/fragments/drawer-list/DrawerListHelpers.js +0 -2
  689. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  690. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  691. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  692. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  693. package/es/fragments/text-counter/TextCounter.js +3 -2
  694. package/es/fragments/text-counter/TextCounter.js.map +1 -1
  695. package/es/shared/Context.d.ts +9 -5
  696. package/es/shared/Context.js +39 -35
  697. package/es/shared/Context.js.map +1 -1
  698. package/es/shared/Eufemia.d.ts +1 -1
  699. package/es/shared/Eufemia.js +2 -2
  700. package/es/shared/Eufemia.js.map +1 -1
  701. package/es/shared/Provider.d.ts +1 -1
  702. package/es/shared/Provider.js +49 -41
  703. package/es/shared/Provider.js.map +1 -1
  704. package/es/shared/Translation.d.ts +5 -5
  705. package/es/shared/Translation.js +8 -10
  706. package/es/shared/Translation.js.map +1 -1
  707. package/es/shared/index.d.ts +1 -0
  708. package/es/shared/index.js +1 -0
  709. package/es/shared/index.js.map +1 -1
  710. package/es/shared/locales/en-GB.d.ts +0 -3
  711. package/es/shared/locales/en-GB.js +0 -3
  712. package/es/shared/locales/en-GB.js.map +1 -1
  713. package/es/shared/locales/en-US.d.ts +0 -3
  714. package/es/shared/locales/index.d.ts +0 -6
  715. package/es/shared/locales/nb-NO.d.ts +0 -3
  716. package/es/shared/locales/nb-NO.js +0 -3
  717. package/es/shared/locales/nb-NO.js.map +1 -1
  718. package/es/shared/useTranslation.d.ts +5 -4
  719. package/es/shared/useTranslation.js +13 -11
  720. package/es/shared/useTranslation.js.map +1 -1
  721. package/es/style/core/scopes.scss +1 -1
  722. package/es/style/dnb-ui-basis.css +1 -1
  723. package/es/style/dnb-ui-basis.min.css +1 -1
  724. package/es/style/dnb-ui-body.css +1 -1
  725. package/es/style/dnb-ui-body.min.css +1 -1
  726. package/es/style/dnb-ui-components.css +67 -44
  727. package/es/style/dnb-ui-components.min.css +2 -2
  728. package/es/style/dnb-ui-core.css +1 -1
  729. package/es/style/dnb-ui-core.min.css +1 -1
  730. package/es/style/dnb-ui-extensions.css +56 -44
  731. package/es/style/dnb-ui-extensions.min.css +1 -1
  732. package/es/style/dnb-ui-forms.css +56 -44
  733. package/es/style/dnb-ui-forms.min.css +1 -1
  734. package/es/style/dnb-ui-forms.scss +2 -1
  735. package/es/style/dnb-ui-fragments.css +4 -0
  736. package/es/style/dnb-ui-fragments.min.css +1 -1
  737. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  738. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  739. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
  740. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  741. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
  742. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  743. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
  744. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  745. package/es/style/themes/theme-sbanken/globals.scss +3 -2
  746. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  747. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  748. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
  749. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  750. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
  751. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  752. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
  753. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  754. package/es/style/themes/theme-ui/globals.scss +3 -2
  755. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
  756. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  757. package/es/style/themes/theme-ui/ui-theme-components.css +123 -88
  758. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  759. package/es/style/themes/theme-ui/ui-theme-extensions.css +56 -44
  760. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  761. package/es/style/themes/theme-ui/ui-theme-forms.css +56 -44
  762. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  763. package/esm/dnb-ui-basis.min.mjs +1 -1
  764. package/esm/dnb-ui-components.min.mjs +1 -1
  765. package/esm/dnb-ui-elements.min.mjs +1 -1
  766. package/esm/dnb-ui-extensions.min.mjs +5 -5
  767. package/esm/dnb-ui-lib.min.mjs +1 -1
  768. package/extensions/forms/DataContext/Context.d.ts +2 -0
  769. package/extensions/forms/DataContext/Context.js +1 -0
  770. package/extensions/forms/DataContext/Context.js.map +1 -1
  771. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  772. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  773. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  774. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  775. package/extensions/forms/DataContext/Provider/Provider.js +50 -4
  776. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  777. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  778. package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  779. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  780. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  781. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  782. package/extensions/forms/Field/Number/style/dnb-number.css +10 -0
  783. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  784. package/extensions/forms/Field/Number/style/dnb-number.scss +11 -0
  785. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  786. package/extensions/forms/Field/Option/Option.js.map +1 -1
  787. package/extensions/forms/Field/Password/Password.js +2 -1
  788. package/extensions/forms/Field/Password/Password.js.map +1 -1
  789. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  790. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  791. package/extensions/forms/Field/Selection/Selection.js +7 -2
  792. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  793. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  794. package/extensions/forms/Field/Toggle/Toggle.js +14 -2
  795. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  796. package/extensions/forms/Form/Appearance/Appearance.d.ts +3 -0
  797. package/extensions/forms/Form/Appearance/Appearance.js +1 -0
  798. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -1
  799. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +5 -1
  800. package/extensions/forms/Form/FieldProps/FieldProps.js +19 -37
  801. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  802. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  803. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  804. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  805. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  806. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  807. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  808. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  809. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  810. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  811. package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  812. package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  813. package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  814. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  815. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  816. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  817. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  818. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  819. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  820. package/extensions/forms/Form/Section/Section.d.ts +9 -1
  821. package/extensions/forms/Form/Section/Section.js +10 -2
  822. package/extensions/forms/Form/Section/Section.js.map +1 -1
  823. package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  824. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  825. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  826. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  827. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  828. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  829. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  830. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  831. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  832. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  833. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  834. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  835. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  836. package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  837. package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  838. package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  839. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  840. package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  841. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  842. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  843. package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  844. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  845. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  846. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  847. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  848. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  849. package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  850. package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  851. package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  852. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  853. package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  854. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  855. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  856. package/extensions/forms/Iterate/Array/Array.js +1 -1
  857. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  858. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  859. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  860. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  861. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  862. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  863. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  864. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  865. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  866. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  867. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  868. package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  869. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  870. package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  871. package/extensions/forms/Wizard/Container/WizardContainer.js +1 -1
  872. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  873. package/extensions/forms/Wizard/Step/Step.js +1 -1
  874. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  875. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  876. package/extensions/forms/constants/locales/en-GB.js +3 -2
  877. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  878. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  879. package/extensions/forms/constants/locales/index.d.ts +4 -2
  880. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  881. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  882. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  883. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  884. package/extensions/forms/hooks/useDataValue.js +30 -5
  885. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  886. package/extensions/forms/hooks/useFieldProps.js +14 -9
  887. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  888. package/extensions/forms/hooks/useTranslation.js +7 -12
  889. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  890. package/extensions/forms/style/dnb-forms.css +56 -44
  891. package/extensions/forms/style/dnb-forms.min.css +1 -1
  892. package/extensions/payment-card/PaymentCard.js +0 -2
  893. package/extensions/payment-card/PaymentCard.js.map +1 -1
  894. package/fragments/drawer-list/DrawerList.d.ts +0 -1
  895. package/fragments/drawer-list/DrawerList.js +6 -13
  896. package/fragments/drawer-list/DrawerList.js.map +1 -1
  897. package/fragments/drawer-list/DrawerListHelpers.d.ts +43 -46
  898. package/fragments/drawer-list/DrawerListHelpers.js +0 -2
  899. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  900. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  901. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  902. package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  903. package/fragments/text-counter/TextCounter.js +3 -2
  904. package/fragments/text-counter/TextCounter.js.map +1 -1
  905. package/package.json +1 -1
  906. package/shared/Context.d.ts +9 -5
  907. package/shared/Context.js +40 -35
  908. package/shared/Context.js.map +1 -1
  909. package/shared/Eufemia.d.ts +1 -1
  910. package/shared/Eufemia.js +2 -2
  911. package/shared/Eufemia.js.map +1 -1
  912. package/shared/Provider.d.ts +1 -1
  913. package/shared/Provider.js +49 -41
  914. package/shared/Provider.js.map +1 -1
  915. package/shared/Translation.d.ts +5 -5
  916. package/shared/Translation.js +8 -10
  917. package/shared/Translation.js.map +1 -1
  918. package/shared/index.d.ts +1 -0
  919. package/shared/index.js +1 -0
  920. package/shared/index.js.map +1 -1
  921. package/shared/locales/en-GB.d.ts +0 -3
  922. package/shared/locales/en-GB.js +0 -3
  923. package/shared/locales/en-GB.js.map +1 -1
  924. package/shared/locales/en-US.d.ts +0 -3
  925. package/shared/locales/index.d.ts +0 -6
  926. package/shared/locales/nb-NO.d.ts +0 -3
  927. package/shared/locales/nb-NO.js +0 -3
  928. package/shared/locales/nb-NO.js.map +1 -1
  929. package/shared/useTranslation.d.ts +5 -4
  930. package/shared/useTranslation.js +13 -11
  931. package/shared/useTranslation.js.map +1 -1
  932. package/style/core/scopes.scss +1 -1
  933. package/style/dnb-ui-basis.css +1 -1
  934. package/style/dnb-ui-basis.min.css +1 -1
  935. package/style/dnb-ui-body.css +1 -1
  936. package/style/dnb-ui-body.min.css +1 -1
  937. package/style/dnb-ui-components.css +67 -44
  938. package/style/dnb-ui-components.min.css +2 -2
  939. package/style/dnb-ui-core.css +1 -1
  940. package/style/dnb-ui-core.min.css +1 -1
  941. package/style/dnb-ui-extensions.css +56 -44
  942. package/style/dnb-ui-extensions.min.css +1 -1
  943. package/style/dnb-ui-forms.css +56 -44
  944. package/style/dnb-ui-forms.min.css +1 -1
  945. package/style/dnb-ui-forms.scss +2 -1
  946. package/style/dnb-ui-fragments.css +4 -0
  947. package/style/dnb-ui-fragments.min.css +1 -1
  948. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  949. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  950. package/style/themes/theme-eiendom/eiendom-theme-components.css +123 -88
  951. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  952. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +56 -44
  953. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  954. package/style/themes/theme-eiendom/eiendom-theme-forms.css +56 -44
  955. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  956. package/style/themes/theme-sbanken/globals.scss +3 -2
  957. package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  958. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  959. package/style/themes/theme-sbanken/sbanken-theme-components.css +124 -89
  960. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  961. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +56 -44
  962. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  963. package/style/themes/theme-sbanken/sbanken-theme-forms.css +56 -44
  964. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  965. package/style/themes/theme-ui/globals.scss +3 -2
  966. package/style/themes/theme-ui/ui-theme-basis.css +2 -2
  967. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  968. package/style/themes/theme-ui/ui-theme-components.css +123 -88
  969. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  970. package/style/themes/theme-ui/ui-theme-extensions.css +56 -44
  971. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  972. package/style/themes/theme-ui/ui-theme-forms.css +56 -44
  973. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  974. package/umd/dnb-ui-basis.min.js +1 -1
  975. package/umd/dnb-ui-components.min.js +1 -1
  976. package/umd/dnb-ui-elements.min.js +1 -1
  977. package/umd/dnb-ui-extensions.min.js +5 -5
  978. package/umd/dnb-ui-lib.min.js +1 -1
  979. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  980. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  981. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  982. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  983. package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  984. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_filterValidProps","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_FormLabel","_FormStatus","_AlignmentHelper","_span","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Switch","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","event","keycode","onChangeHandler","isTrue","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","makeUniqueId","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","getTranslation","pickFormElementProps","FormRow","formElement","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","class","_className","children","on_change","on_state_update","rest","showStatus","getStatusState","mainParams","classnames","createSkeletonClass","createSpacingClasses","inputParams","skeletonDOMAttributes","combineDescribedBy","validateDOMAttributes","labelComp","createElement","for_id","text","sr_only","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","exports","Context","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","string","func","node","oneOf","bool","shape","message","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n class: _className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_filterValidProps","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_FormLabel","_FormStatus","_AlignmentHelper","_span","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Switch","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","event","keycode","onChangeHandler","isTrue","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","makeUniqueId","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","getTranslation","pickFormElementProps","FormRow","formElement","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","children","on_change","on_state_update","rest","showStatus","getStatusState","mainParams","classnames","createSkeletonClass","createSpacingClasses","inputParams","skeletonDOMAttributes","combineDescribedBy","validateDOMAttributes","labelComp","createElement","for_id","text","sr_only","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","exports","Context","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","string","func","node","oneOf","bool","shape","message","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAOA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AASA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAIA,IAAAQ,eAAA,GAAAR,OAAA;AAKA,IAAAS,QAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,OAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,WAAA,GAAAb,sBAAA,CAAAC,OAAA;AAAkD,IAAAa,gBAAA,EAAAC,KAAA;AAAA,MAAAC,SAAA;AAAA,SAAAhB,uBAAAiB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAhB,MAAA,CAAAgB,IAAA,CAAAF,MAAA,OAAAd,MAAA,CAAAiB,qBAAA,QAAAC,OAAA,GAAAlB,MAAA,CAAAiB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAApB,MAAA,CAAAqB,wBAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAE,UAAA,OAAAN,IAAA,CAAAO,IAAA,CAAAX,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAArB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAS,OAAA,CAAAb,MAAA,CAAAO,MAAA,OAAAkB,OAAA,WAAAjB,GAAA,IAAAkB,eAAA,CAAAvB,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAA2B,yBAAA,GAAA3B,MAAA,CAAA4B,gBAAA,CAAAzB,MAAA,EAAAH,MAAA,CAAA2B,yBAAA,CAAApB,MAAA,KAAAM,OAAA,CAAAb,MAAA,CAAAO,MAAA,GAAAkB,OAAA,WAAAjB,GAAA,IAAAR,MAAA,CAAA6B,cAAA,CAAA1B,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAAqB,wBAAA,CAAAd,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA2B,yBAAAvB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,GAAA6B,6BAAA,CAAAzB,MAAA,EAAAwB,QAAA,OAAAvB,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAiB,qBAAA,QAAAgB,gBAAA,GAAAjC,MAAA,CAAAiB,qBAAA,CAAAV,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6B,gBAAA,CAAA3B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAyB,gBAAA,CAAA7B,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAA0B,oBAAA,CAAAxB,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAA6B,8BAAAzB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,WAAAiC,UAAA,GAAApC,MAAA,CAAAgB,IAAA,CAAAT,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgC,UAAA,CAAA9B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAA4B,UAAA,CAAAhC,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAuB,gBAAA9B,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAA6B,cAAA,CAAAjC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAKnC,MAAMS,MAAM,SAASC,cAAK,CAACC,aAAa,CAAC;EAqFtD,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,IAAIA,KAAK,CAACC,qBAAqB,EAAE;MAC/B,IAAIF,KAAK,CAACG,OAAO,KAAKF,KAAK,CAACG,QAAQ,EAAE;QACpCH,KAAK,CAACE,OAAO,GAAGP,MAAM,CAACS,YAAY,CAACL,KAAK,CAACG,OAAO,CAAC;MACpD;IACF;IACAF,KAAK,CAACC,qBAAqB,GAAG,IAAI;IAElC,IAAID,KAAK,CAACE,OAAO,KAAKF,KAAK,CAACK,SAAS,EAAE;MACrC,IAAAC,2CAA0B,EAAC;QAAEP;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvDG,OAAO,EAAEF,KAAK,CAACE;MACjB,CAAC,CAAC;IACJ;IAEAF,KAAK,CAACG,QAAQ,GAAGJ,KAAK,CAACG,OAAO;IAC9BF,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACE,OAAO;IAE/B,OAAOF,KAAK;EACd;EAEAO,WAAWA,CAACR,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAA/B,eAAA,2BAqBMwC,KAAK,IAAK;MAC5B,QAAQ,IAAAC,gBAAO,EAACD,KAAK,CAAC;QACpB,KAAK,OAAO;UACV,IAAI,CAACE,eAAe,CAACF,KAAK,CAAC;UAC3B;MACJ;IACF,CAAC;IAAAxC,eAAA,0BAEkBwC,KAAK,IAAK;MAC3B,IAAI,IAAAG,uBAAM,EAAC,IAAI,CAACZ,KAAK,CAACa,QAAQ,CAAC,EAAE;QAC/B,OAAOJ,KAAK,CAACK,cAAc,CAAC,CAAC;MAC/B;MACA,MAAMX,OAAO,GAAG,CAAC,IAAI,CAACF,KAAK,CAACE,OAAO;MACnC,IAAI,CAACY,QAAQ,CAAC;QAAEZ,OAAO;QAAED,qBAAqB,EAAE;MAAM,CAAC,CAAC;MACxD,IAAAK,2CAA0B,EAAC,IAAI,EAAE,WAAW,EAAE;QAAEJ,OAAO;QAAEM;MAAM,CAAC,CAAC;MAEjE,IAAI,IAAI,CAACT,KAAK,CAACgB,aAAa,EAAE;QAC5BC,YAAY,CAAC,IAAI,CAACC,cAAc,CAAC;QACjC,IAAIT,KAAK,IAAIA,KAAK,CAACU,OAAO,EAAE;UAC1BV,KAAK,CAACU,OAAO,CAAC,CAAC;QACjB;QACA,IAAI,CAACD,cAAc,GAAGE,UAAU,CAC9B,MACE,IAAAb,2CAA0B,EAAC,IAAI,EAAE,eAAe,EAAE;UAChDJ,OAAO;UACPM;QACF,CAAC,CAAC,EACJ,GACF,CAAC;MACH;MAGA,IAAI,IAAI,CAACY,SAAS,CAACC,OAAO,EAAE;QAC1B,IAAI,CAACD,SAAS,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;MAChC;IACF,CAAC;IAvDC,IAAI,CAACF,SAAS,GAAGxB,cAAK,CAAC2B,SAAS,CAAC,CAAC;IAClC,IAAI,CAACC,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,IAAI,IAAAC,6BAAY,EAAC,CAAC;IACrC,IAAI,CAAC1B,KAAK,GAAG;MACXC,qBAAqB,EAAE;IACzB,CAAC;IACD,IAAI,CAAC0B,YAAY,GAAG;MAAEC,WAAW,EAAGC,CAAC,IAAKA,CAAC,CAAChB,cAAc,CAAC;IAAE,CAAC;EAChE;EAEAiB,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAAC/B,KAAK,CAACgC,QAAQ,EAAE;MACvB,OAAO,IAAI,CAAChC,KAAK,CAACgC,QAAQ,KAAK,UAAU,GACrC,IAAI,CAAChC,KAAK,CAACgC,QAAQ,CAAC,IAAI,CAACX,SAAS,CAACC,OAAO,CAAC,GAC1C,IAAI,CAACtB,KAAK,CAACgC,QAAQ,CAACV,OAAO,GAAG,IAAI,CAACD,SAAS,CAACC,OAAQ;IAC5D;EACF;EAEAW,oBAAoBA,CAAA,EAAG;IACrBhB,YAAY,CAAC,IAAI,CAACC,cAAc,CAAC;EACnC;EAuCAgB,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA,EAAAC,cAAA,EAAAC,cAAA;IAEP,MAAMrC,KAAK,GAAG,IAAAsC,uDAAsC,EAClD,IAAI,CAACtC,KAAK,EACVJ,MAAM,CAAC2C,YAAY,EACnB;MAAEC,QAAQ,GAAAL,aAAA,GAAE,IAAI,CAACM,OAAO,cAAAN,aAAA,uBAAZA,aAAA,CAAcK;IAAS,CAAC,EACpC,IAAI,CAACC,OAAO,CAACC,cAAc,CAAC,IAAI,CAAC1C,KAAK,CAAC,CAACJ,MAAM,EAE9C,IAAA+C,sCAAoB,GAAAP,cAAA,GAAC,IAAI,CAACK,OAAO,cAAAL,cAAA,uBAAZA,cAAA,CAAcQ,OAAO,CAAC,EAC3C,IAAAD,sCAAoB,GAAAN,cAAA,GAAC,IAAI,CAACI,OAAO,cAAAJ,cAAA,uBAAZA,cAAA,CAAcQ,WAAW,CAAC,EAC/C,IAAI,CAACJ,OAAO,CAAC7C,MACf,CAAC;IAED,MAAM;QACJhB,KAAK;QACLkE,IAAI;QACJC,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,MAAM;QACNC,KAAK;QACLC,cAAc;QACdC,aAAa;QACbC,KAAK;QACLC,QAAQ;QACR5C,QAAQ;QACR2B,QAAQ;QACRkB,SAAS;QAEThC,EAAE,EAAED,GAAG;QACPtB,OAAO,EAAEC,QAAQ;QACjBuD,QAAQ;QACRC,SAAS;QACTC,eAAe;QACf7B;MAGF,CAAC,GAAGhC,KAAK;MADJ8D,IAAI,GAAAzF,wBAAA,CACL2B,KAAK,EAAA9D,SAAA;IAET,MAAM;MAAEiE;IAAQ,CAAC,GAAG,IAAI,CAACF,KAAK;IAE9B,MAAMyB,EAAE,GAAG,IAAI,CAACD,GAAG;IACnB,MAAMsC,UAAU,GAAG,IAAAC,+BAAc,EAACjB,MAAM,CAAC;IAEzC,MAAMkB,UAAU,GAAG;MACjBP,SAAS,EAAE,IAAAQ,mBAAU,2CAIWZ,cAAc,IAAI,OAAO,uBAEvD,IAAAa,mCAAmB,EAAC,IAAI,EAAE3B,QAAQ,CAAC,EACnC,IAAA4B,mCAAoB,EAACpE,KAAK,CAAC,EAC3B0D,SAAS,EANTZ,IAAI,IAAK,eAAcA,IAAK,EAAC,EAC7BC,MAAM,IAAK,uBAAsBC,YAAa,EAMhD;IACF,CAAC;IAED,MAAMqB,WAAW,GAAAtG,aAAA;MACf0F,QAAQ,EAAE,IAAA7C,uBAAM,EAAC6C,QAAQ,CAAC;MAC1BtD;IAAO,GACJ2D,IAAI,CACR;IAED,IAAAQ,qCAAqB,EAACD,WAAW,EAAE7B,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAE1D,IAAIsB,UAAU,IAAIX,MAAM,EAAE;MACxBiB,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAAE,mCAAkB,EAClDF,WAAW,EACXN,UAAU,GAAGrC,EAAE,GAAG,SAAS,GAAG,IAAI,EAClC0B,MAAM,GAAG1B,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IACA,IAAIb,QAAQ,EAAE;MACZwD,WAAW,CAAC,eAAe,CAAC,GAAGA,WAAW,CAACxD,QAAQ,GAAG,IAAI;IAC5D;IAGA,IAAA2D,sCAAqB,EAAC,IAAI,CAACxE,KAAK,EAAEqE,WAAW,CAAC;IAE9C,MAAMI,SAAS,GAAGpB,KAAK,IACrBpI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,CAAC5I,UAAA,CAAAO,OAAS;MACRqF,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClBiD,MAAM,EAAEjD,EAAG;MACXkD,IAAI,EAAEvB,KAAM;MACZI,QAAQ,EAAEA,QAAS;MACnBjB,QAAQ,EAAEA,QAAS;MACnBqC,OAAO,EAAEtB;IAAc,CACxB,CACF;IAED,OACEtI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,SAAUT,UAAU,EAClBhJ,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAAmB,GAChCJ,cAAc,KAAK,MAAM,IAAImB,SAAS,EAEvCxJ,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAAmB,GAAA1H,gBAAA,KAAAA,gBAAA,GACjCf,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,CAACjJ,iBAAA,CAAAY,OAAe,MAAE,CAAC,GAEnBpB,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,CAAC3I,WAAA,CAAAM,OAAU,EAAAC,QAAA;MACTwI,IAAI,EAAEf,UAAW;MACjBrC,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxBwB,YAAY,EAAEA,YAAa;MAC3BG,KAAK,EAAEA,KAAM;MACb0B,OAAO,EAAErD,EAAE,GAAG,SAAU;MACxBsD,cAAc,EAAEtD,EAAE,GAAG,IAAI,GAAGA,EAAE,GAAG,QAAS;MAC1CkD,IAAI,EAAE7B,MAAO;MACb9C,KAAK,EAAE+C,YAAa;MACpBR,QAAQ,EAAEA,QAAS;MACnByC,YAAY,EAAE9B;IAAoB,GAC9BF,YAAY,CACjB,CAAC,EAEFhI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAAmB,GAChC,CAACJ,cAAc,KAAK,OAAO,IAAI,CAACA,cAAc,KAC7CmB,SAAS,EAEXxJ,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAAiB,GAC/BzI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,UAAApI,QAAA;MACEoF,EAAE,EAAEA,EAAG;MACPwD,IAAI,EAAExD,EAAG;MACTyD,IAAI,EAAC,UAAU;MACfC,IAAI,EAAC,QAAQ;MACb5B,KAAK,EAAEA,KAAM;MACb,gBAAcrD,OAAQ;MACtBuD,SAAS,EAAC,mBAAmB;MAC7B9E,KAAK,EAAEuB,OAAO,GAAGvB,KAAK,IAAI,EAAE,GAAG,EAAG;MAClCyG,GAAG,EAAE,IAAI,CAAChE;IAAU,GAChBgD,WAAW;MACfiB,QAAQ,EAAE,IAAI,CAAC3E,eAAgB;MAC/B4E,SAAS,EAAE,IAAI,CAACC;IAAiB,EAClC,CAAC,EACFvK,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,SAAApI,QAAA;MACEmJ,SAAS;MACT,mBAAW;MACX/B,SAAS,EAAC,wBAAwB;MAClCgC,WAAW,EAAE,IAAI,CAAC/E;IAAgB,GAC9B,IAAI,CAACiB,YAAY,CACtB,CAAC,EACF3G,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MACEhB,SAAS,EAAE,IAAAQ,mBAAU,EACnB,oBAAoB,EACpB,IAAAC,mCAAmB,EAAC,OAAO,EAAE3B,QAAQ,EAAE,IAAI,CAACC,OAAO,CACrD,CAAE;MACF;IAAW,GAAAxG,KAAA,KAAAA,KAAA,GAEXhB,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAAmB,GACjCzI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA;MAAMhB,SAAS,EAAC;IAA0B,CAAE,CACxC,CAAC,CACH,CACF,CAAC,EAENN,MAAM,IACLnI,MAAA,CAAAoB,OAAA,CAAAqI,aAAA,CAAC7I,OAAA,CAAAQ,OAAM;MACLqH,SAAS,EAAC,oBAAoB;MAC9BhC,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnBe,OAAO,EAAEzC;IAAM,GAEdoD,MACK,CAEN,CACF,CACF,CACF,CAAC;EAEX;AACF;AAACuC,OAAA,CAAAtJ,OAAA,GAAAuD,MAAA;AAAA3B,eAAA,CA5UoB2B,MAAM,iBACJgG,gBAAO;AAAA3H,eAAA,CADT2B,MAAM,kBAqDH;EACpByD,KAAK,EAAE,IAAI;EACXC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,IAAI;EACXrD,OAAO,EAAE,IAAI;EACbsD,QAAQ,EAAE,IAAI;EACd/B,EAAE,EAAE,IAAI;EACRoB,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,MAAM,EAAE,IAAI;EACZxE,KAAK,EAAE,IAAI;EACXiH,UAAU,EAAE,IAAI;EAChBhF,QAAQ,EAAE,KAAK;EACf2B,QAAQ,EAAE,IAAI;EAEdkB,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACf5C,aAAa,EAAE,IAAI;EACnB6C,eAAe,EAAE,IAAI;EAErB7B,QAAQ,EAAE;AACZ,CAAC;AAAA/D,eAAA,CAjFkB2B,MAAM,kBAmFFK,KAAK,IAAK,SAAS,CAAC6F,IAAI,CAAC5G,MAAM,CAACe,KAAK,CAAC,CAAC;AAAA8F,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAnF3CrG,MAAM,CAGlBsG,SAAS,GAAAnI,aAAA,CAAAA,aAAA;EACdsF,KAAK,EAAE8C,kBAAS,CAACC,SAAS,CAAC,CACzBD,kBAAS,CAACE,MAAM,EAChBF,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACFjD,cAAc,EAAE6C,kBAAS,CAACK,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAClDjD,aAAa,EAAE4C,kBAAS,CAACM,IAAI;EAC7BjD,KAAK,EAAE2C,kBAAS,CAACE,MAAM;EACvBlG,OAAO,EAAEgG,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACM,IAAI,CAAC,CAAC;EAChEhD,QAAQ,EAAE0C,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjE/E,EAAE,EAAEyE,kBAAS,CAACE,MAAM;EACpBvD,IAAI,EAAEqD,kBAAS,CAACK,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EACrDzD,MAAM,EAAEoD,kBAAS,CAACC,SAAS,CAAC,CAC1BD,kBAAS,CAACE,MAAM,EAChBF,kBAAS,CAACM,IAAI,EACdN,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACFvD,YAAY,EAAEmD,kBAAS,CAACE,MAAM;EAC9BpD,YAAY,EAAEkD,kBAAS,CAAC9I,MAAM;EAC9B6F,YAAY,EAAEiD,kBAAS,CAACO,KAAK,CAAC;IAC5BhF,EAAE,EAAEyE,kBAAS,CAACE,MAAM;IACpBM,OAAO,EAAER,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACI,IAAI,CAAC;EACjE,CAAC,CAAC;EACFpD,mBAAmB,EAAEgD,kBAAS,CAACC,SAAS,CAAC,CACvCD,kBAAS,CAACE,MAAM,EAChBF,kBAAS,CAACM,IAAI,CACf,CAAC;EACFrD,MAAM,EAAE+C,kBAAS,CAACC,SAAS,CAAC,CAC1BD,kBAAS,CAACE,MAAM,EAChBF,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACF3H,KAAK,EAAEuH,kBAAS,CAACE,MAAM;EACvBR,UAAU,EAAEM,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAAC9I,MAAM,CAAC,CAAC;EACrEwD,QAAQ,EAAEsF,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjEjE,QAAQ,EAAE2D,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjEzE,QAAQ,EAAEmE,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACG,IAAI,EAAEH,kBAAS,CAAC9I,MAAM,CAAC;AAAC,GAE9DuJ,+BAAgB;EAEnBlD,SAAS,EAAEyC,kBAAS,CAACE,MAAM;EAC3B1C,QAAQ,EAAEwC,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACG,IAAI,CAAC,CAAC;EAEjE1C,SAAS,EAAEuC,kBAAS,CAACG,IAAI;EACzBtF,aAAa,EAAEmF,kBAAS,CAACG,IAAI;EAC7BzC,eAAe,EAAEsC,kBAAS,CAACG;AAAI;AA4RnC1G,MAAM,CAACiH,YAAY,GAAG,IAAI;AAC1BjH,MAAM,CAACkH,qBAAqB,GAAG,IAAI"}
@@ -54,6 +54,12 @@ export type TableProps = {
54
54
  * Default: null.
55
55
  */
56
56
  fixed?: boolean;
57
+ /**
58
+ * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.
59
+ *
60
+ * Default: `undefined`
61
+ */
62
+ collapseAllHandleRef?: React.MutableRefObject<() => void>;
57
63
  } & StickyTableHeaderProps;
58
64
  export type TableAllProps = TableProps & Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> & LocaleProps & SpacingProps;
59
65
  export declare const defaultProps: {
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "ScrollView", {
11
11
  }
12
12
  });
13
13
  exports.defaultProps = exports.default = void 0;
14
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _Context = _interopRequireDefault(require("../../shared/Context"));
17
17
  var _Provider = _interopRequireDefault(require("../../shared/Provider"));
@@ -22,8 +22,10 @@ var _TableScrollView = _interopRequireDefault(require("./TableScrollView"));
22
22
  var _TableContext = require("./TableContext");
23
23
  var _TableStickyHeader = require("./TableStickyHeader");
24
24
  var _TableTr = require("./TableTr");
25
- const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement"];
25
+ const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement", "collapseAllHandleRef"];
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
29
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
28
30
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
31
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -54,7 +56,8 @@ const Table = componentProps => {
54
56
  border,
55
57
  outline,
56
58
  accordion,
57
- accordionChevronPlacement
59
+ accordionChevronPlacement,
60
+ collapseAllHandleRef
58
61
  } = allProps,
59
62
  props = _objectWithoutProperties(allProps, _excluded);
60
63
  const {
@@ -66,6 +69,14 @@ const Table = componentProps => {
66
69
  } = (0, _TableTr.useHandleOddEven)({
67
70
  children
68
71
  });
72
+ const collapseTrCallbacks = _react.default.useRef([]);
73
+ (0, _react.useEffect)(() => {
74
+ if (collapseAllHandleRef) {
75
+ collapseAllHandleRef.current = () => {
76
+ collapseTrCallbacks.current.forEach(callback => callback());
77
+ };
78
+ }
79
+ }, [collapseAllHandleRef]);
69
80
  const skeletonClasses = (0, _SkeletonHelper.createSkeletonClass)('font', skeleton, context);
70
81
  const spacingClasses = (0, _SpacingHelper.createSpacingClasses)(props);
71
82
  (0, _componentHelper.validateDOMAttributes)(allProps, props);
@@ -75,6 +86,7 @@ const Table = componentProps => {
75
86
  value: {
76
87
  trCountRef,
77
88
  rerenderAlias,
89
+ collapseTrCallbacks,
78
90
  allProps: _objectSpread(_objectSpread({}, allProps), context.getTranslation(componentProps).Table)
79
91
  }
80
92
  }, _react.default.createElement("table", _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["_react","_interopRequireDefault","require","_classnames","_Context","_Provider","_SpacingHelper","_SkeletonHelper","_componentHelper","_TableScrollView","_TableContext","_TableStickyHeader","_TableTr","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","size","variant","exports","Table","componentProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","props","elementRef","useStickyHeader","trCountRef","rerenderAlias","useHandleOddEven","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","validateDOMAttributes","createElement","Boolean","TableContext","Provider","getTranslation","classnames","ref","_supportsSpacingProps","_default","ScrollView"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_Provider","_SpacingHelper","_SkeletonHelper","_componentHelper","_TableScrollView","_TableContext","_TableStickyHeader","_TableTr","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","defaultProps","size","variant","exports","Table","componentProps","context","React","useContext","Context","allProps","extendPropsWithContext","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","collapseAllHandleRef","props","elementRef","useStickyHeader","trCountRef","rerenderAlias","useHandleOddEven","collapseTrCallbacks","useRef","useEffect","current","callback","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","validateDOMAttributes","createElement","Boolean","TableContext","Provider","getTranslation","classnames","ref","_supportsSpacingProps","_default","ScrollView"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n\n /**\n * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.\n *\n * Default: `undefined`\n */\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n collapseAllHandleRef,\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n const collapseTrCallbacks = React.useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseTrCallbacks.current.forEach((callback) => callback())\n }\n }\n }, [collapseAllHandleRef])\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n collapseTrCallbacks,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- export declare function useTableAccordion({ children, className, props, expanded, disabled, noAnimation, onClick, onOpened, onClosed, }: {
2
- children: any;
3
- className: any;
4
- props: any;
5
- expanded: any;
6
- disabled: any;
7
- noAnimation: any;
8
- onClick: any;
9
- onOpened: any;
10
- onClosed: any;
11
- }): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import type { TableTrProps } from './TableTr';
3
+ type TableAccordionProps = {
4
+ count: number;
5
+ };
6
+ export declare function TableAccordion(allProps: TableAccordionProps & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>): import("react/jsx-runtime").JSX.Element;
12
7
  export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
7
+ exports.TableAccordion = TableAccordion;
6
8
  exports.TableAccordionToggleButton = TableAccordionToggleButton;
7
- exports.useTableAccordion = useTableAccordion;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
9
10
  var _classnames = _interopRequireDefault(require("classnames"));
10
11
  var _Button = _interopRequireDefault(require("../button/Button"));
11
12
  var _IconPrimary = _interopRequireDefault(require("../icon/IconPrimary"));
@@ -17,21 +18,26 @@ var _helpers = require("../../shared/helpers");
17
18
  var _TableAccordionTd = _interopRequireDefault(require("./TableAccordionTd"));
18
19
  var _TableAccordionTr = _interopRequireDefault(require("./TableAccordionTr"));
19
20
  var _Td;
21
+ const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
- function useTableAccordion(_ref) {
23
- var _tableContext$allProp;
24
- let {
25
- children,
26
- className,
27
- props,
28
- expanded,
29
- disabled,
30
- noAnimation,
31
- onClick,
32
- onOpened,
33
- onClosed
34
- } = _ref;
26
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
+ function TableAccordion(allProps) {
29
+ const {
30
+ children,
31
+ className,
32
+ expanded,
33
+ disabled,
34
+ noAnimation,
35
+ onClick,
36
+ onOpened,
37
+ onClosed,
38
+ count
39
+ } = allProps,
40
+ props = _objectWithoutProperties(allProps, _excluded);
35
41
  const tableContext = _react.default.useContext(_TableContext.TableContext);
36
42
  const [trIsOpen, setOpen] = _react.default.useState(() => {
37
43
  if (typeof expanded === 'boolean') {
@@ -46,9 +52,6 @@ function useTableAccordion(_ref) {
46
52
  });
47
53
  const [trIsHover, setHover] = _react.default.useState(false);
48
54
  const [trHadClick, setHadClick] = _react.default.useState(false);
49
- if (!(tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion)) {
50
- return null;
51
- }
52
55
  let headerContent = _react.default.Children.toArray(children);
53
56
  const addExpandIcon = icon => {
54
57
  if (tableContext.allProps.accordionChevronPlacement === 'end') {
@@ -61,6 +64,14 @@ function useTableAccordion(_ref) {
61
64
  return isAccordionElement(element);
62
65
  });
63
66
  const hasAccordionContent = accordionContent.length !== 0 && accordionContent.every(element => _react.default.isValidElement(element));
67
+ (0, _react.useEffect)(() => {
68
+ var _tableContext$collaps;
69
+ if (hasAccordionContent && tableContext !== null && tableContext !== void 0 && (_tableContext$collaps = tableContext.collapseTrCallbacks) !== null && _tableContext$collaps !== void 0 && _tableContext$collaps.current && count) {
70
+ tableContext.collapseTrCallbacks.current[count] = () => {
71
+ setOpen(false);
72
+ };
73
+ }
74
+ }, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
64
75
  const trParams = !disabled && hasAccordionContent ? {
65
76
  onClick: toggleOpenTr,
66
77
  onMouseEnter: onMouseEnterHandler,
@@ -76,12 +87,12 @@ function useTableAccordion(_ref) {
76
87
  key: "td-icon"
77
88
  }, _react.default.createElement(TableAccordionToggleButton, null))));
78
89
  } else if (isTableHead(headerContent)) {
79
- var _tableContext$allProp2;
90
+ var _tableContext$allProp;
80
91
  addExpandIcon(_react.default.createElement(_TableTh.default, {
81
92
  "aria-hidden": true,
82
93
  className: "dnb-table__th__accordion-icon",
83
94
  key: "th-icon"
84
- }, _react.default.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp2 = tableContext.allProps) === null || _tableContext$allProp2 === void 0 ? void 0 : _tableContext$allProp2.accordionToggleButtonSR)));
95
+ }, _react.default.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
85
96
  }
86
97
  const countTds = hasAccordionContent ? headerContent.filter(element => {
87
98
  return element.type === _TableTd.default;
@@ -101,7 +112,7 @@ function useTableAccordion(_ref) {
101
112
  className: (0, _classnames.default)(className, hasAccordionContent && 'dnb-table__tr--has-accordion-content', trIsOpen && 'dnb-table__tr--expanded', disabled && 'dnb-table__tr--disabled', noAnimation && 'dnb-table__tr--no-animation', trIsHover && trHadClick && 'dnb-table__tr--hover')
102
113
  }, trParams, props), headerContent), accordionContent);
103
114
  function onKeydownHandler(event) {
104
- switch ((0, _keycode.default)(event)) {
115
+ switch ((0, _keycode.default)(event.nativeEvent)) {
105
116
  case 'space':
106
117
  case 'enter':
107
118
  {
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordion.js","names":["_react","_interopRequireDefault","require","_classnames","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_keycode","_helpers","_TableAccordionTd","_TableAccordionTr","_Td","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","useTableAccordion","_ref","_tableContext$allProp","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","allProps","accordion","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","createElement","TableAccordionToggleButton","isTableHead","_tableContext$allProp2","accordionToggleButtonSR","countTds","type","Td","TableAccordionContext","Provider","value","tabIndex","undefined","classnames","event","keycode","document","activeElement","tagName","preventDefault","allowInteractiveElement","hasSelectedText","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","TableAccordionTd","TableAccordionTr","some","Th"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport { TableAccordionContext, TableContext } from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\n\nimport TableAccordionTd from './TableAccordionTd'\nimport TableAccordionTr from './TableAccordionTr'\nimport type { TableAccordionTdProps } from './TableAccordionTd'\nimport type { TableAccordionTrProps } from './TableAccordionTr'\n\ntype TableAccordionContentProps =\n | TableAccordionTdProps\n | TableAccordionTrProps\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<TableAccordionContentProps>[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: MouseEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionTd || element.type === TableAccordionTr\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordion.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_keycode","_helpers","_TableAccordionTd","_TableAccordionTr","_Td","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","TableAccordion","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","every","isValidElement","useEffect","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","createElement","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Td","TableAccordionContext","Provider","value","tabIndex","undefined","classnames","event","keycode","nativeEvent","document","activeElement","tagName","preventDefault","allowInteractiveElement","hasSelectedText","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","TableAccordionTd","TableAccordionTr","some","Th"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport { TableAccordionContext, TableContext } from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\n\nimport TableAccordionTd from './TableAccordionTd'\nimport TableAccordionTr from './TableAccordionTr'\nimport type { TableAccordionTdProps } from './TableAccordionTd'\nimport type { TableAccordionTrProps } from './TableAccordionTr'\nimport type { TableTrProps } from './TableTr'\n\ntype TableAccordionContentProps =\n | TableAccordionTdProps\n | TableAccordionTrProps\n\ntype TableAccordionProps = {\n count: number\n}\n\nexport function TableAccordion(\n allProps: TableAccordionProps &\n TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n children,\n className,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n count,\n ...props\n } = allProps\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let headerContent = React.Children.toArray(children)\n\n const addExpandIcon = (icon) => {\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n headerContent.push(icon)\n } else {\n headerContent.unshift(icon)\n }\n }\n /**\n * Handle Accordion Content\n */\n const accordionContent = headerContent.filter(\n (element: React.ReactElement) => {\n return isAccordionElement(element)\n }\n ) as React.ReactElement<TableAccordionContentProps>[]\n\n const hasAccordionContent =\n accordionContent.length !== 0 &&\n accordionContent.every((element) => React.isValidElement(element))\n\n useEffect(() => {\n if (\n hasAccordionContent &&\n tableContext?.collapseTrCallbacks?.current &&\n count\n ) {\n tableContext.collapseTrCallbacks.current[count] = () => {\n setOpen(false)\n }\n }\n }, [count, tableContext?.collapseTrCallbacks, hasAccordionContent])\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n headerContent = headerContent.filter((element: React.ReactElement) => {\n return !isAccordionElement(element)\n })\n\n addExpandIcon(\n <Td className=\"dnb-table__td__accordion-icon\" key=\"td-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n } else if (isTableHead(headerContent)) {\n addExpandIcon(\n <Th\n aria-hidden\n className=\"dnb-table__th__accordion-icon\"\n key=\"th-icon\"\n >\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n }\n\n const countTds = hasAccordionContent\n ? headerContent.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length\n : null\n\n return (\n <TableAccordionContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {headerContent}\n </tr>\n {accordionContent}\n </TableAccordionContext.Provider>\n )\n\n function onKeydownHandler(event: React.SyntheticEvent) {\n switch (keycode(event.nativeEvent)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(\n event: React.SyntheticEvent,\n allowInteractiveElement = false\n ) {\n const target = event.target as HTMLElement\n if (\n /**\n * Do not toggle if user clicked an interactive element (input, button, etc.).\n * Interactive to set activeElement on mouseDown, we we can check against it.\n */\n ((document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n target.tagName !== 'LABEL') ||\n allowInteractiveElement) &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(tableAccordionContext?.trIsOpen)}\n on_click={(event) =>\n tableAccordionContext?.toggleOpenTr(event, true)\n }\n />\n </span>\n )\n}\n\nconst isAccordionElement = (element: React.ReactElement) =>\n element.type === TableAccordionTd || element.type === TableAccordionTr\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":"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"}
@@ -10,50 +10,48 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _TableAccordion = require("./TableAccordion");
11
11
  var _TableContext = require("./TableContext");
12
12
  var _TableAccordionTr = _interopRequireDefault(require("./TableAccordionTr"));
13
- const _excluded = ["variant", "noWrap", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "children", "className"];
13
+ const _excluded = ["variant", "noWrap", "className"],
14
+ _excluded2 = ["expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed"];
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
17
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
18
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
19
  function Tr(componentProps) {
20
+ var _tableContext$allProp;
19
21
  const {
20
22
  variant,
21
23
  noWrap,
22
- expanded,
23
- disabled,
24
- noAnimation,
25
- onClick,
26
- onOpened,
27
- onClosed,
28
- children,
29
24
  className: _className
30
25
  } = componentProps,
31
- props = _objectWithoutProperties(componentProps, _excluded);
26
+ accordionProps = _objectWithoutProperties(componentProps, _excluded);
32
27
  const {
33
28
  currentVariant,
34
- isLast
29
+ isLast,
30
+ count
35
31
  } = useHandleTrVariant({
36
32
  variant
37
33
  });
38
34
  const className = (0, _classnames.default)('dnb-table__tr', _className, currentVariant && `dnb-table__tr--${currentVariant}`, isLast && 'dnb-table__tr--last', noWrap && 'dnb-table--no-wrap');
39
- const accordionTr = (0, _TableAccordion.useTableAccordion)({
40
- className,
41
- children,
42
- props,
43
- expanded,
44
- disabled,
45
- noAnimation,
46
- onClick,
47
- onOpened,
48
- onClosed
49
- });
50
- if (accordionTr) {
51
- return accordionTr;
35
+ const tableContext = _react.default.useContext(_TableContext.TableContext);
36
+ if (tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion) {
37
+ return _react.default.createElement(_TableAccordion.TableAccordion, _extends({
38
+ count: count,
39
+ className: className
40
+ }, accordionProps));
52
41
  }
42
+ const {
43
+ expanded,
44
+ disabled,
45
+ noAnimation,
46
+ onClick,
47
+ onOpened,
48
+ onClosed
49
+ } = accordionProps,
50
+ trProps = _objectWithoutProperties(accordionProps, _excluded2);
53
51
  return _react.default.createElement("tr", _extends({
54
52
  role: "row",
55
53
  className: className
56
- }, props), children);
54
+ }, trProps));
57
55
  }
58
56
  function useHandleTrVariant(_ref) {
59
57
  let {
@@ -85,7 +83,8 @@ function useHandleTrVariant(_ref) {
85
83
  const isLast = typeof countRef !== 'undefined' && countRef.count === count;
86
84
  return {
87
85
  currentVariant,
88
- isLast
86
+ isLast,
87
+ count
89
88
  };
90
89
  }
91
90
  function useHandleOddEven(_ref2) {