@dnb/eufemia 10.34.1 → 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 (768) hide show
  1. package/CHANGELOG.md +34 -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/autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  7. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  8. package/cjs/components/button/Button.js.map +1 -1
  9. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  10. package/cjs/components/form-row/FormRow.js.map +1 -1
  11. package/cjs/components/form-set/FormSet.js.map +1 -1
  12. package/cjs/components/form-status/FormStatus.js.map +1 -1
  13. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  14. package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
  15. package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
  16. package/cjs/components/help-button/HelpButton.js +3 -0
  17. package/cjs/components/help-button/HelpButton.js.map +1 -1
  18. package/cjs/components/help-button/style/dnb-help-button.css +4 -1
  19. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
  20. package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
  21. package/cjs/components/icon/Icon.js.map +1 -1
  22. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  23. package/cjs/components/input/Input.js.map +1 -1
  24. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  25. package/cjs/components/logo/Logo.d.ts +47 -43
  26. package/cjs/components/logo/Logo.js +77 -221
  27. package/cjs/components/logo/Logo.js.map +1 -1
  28. package/cjs/components/logo/LogoDocs.d.ts +2 -0
  29. package/cjs/components/logo/LogoDocs.js +50 -0
  30. package/cjs/components/logo/LogoDocs.js.map +1 -0
  31. package/cjs/components/logo/LogoSvg.d.ts +7 -0
  32. package/cjs/components/logo/LogoSvg.js +81 -0
  33. package/cjs/components/logo/LogoSvg.js.map +1 -0
  34. package/cjs/components/modal/Modal.d.ts +2 -0
  35. package/cjs/components/modal/Modal.js +25 -10
  36. package/cjs/components/modal/Modal.js.map +1 -1
  37. package/cjs/components/number-format/NumberFormat.d.ts +4 -0
  38. package/cjs/components/number-format/NumberFormat.js +5 -2
  39. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  40. package/cjs/components/number-format/style/dnb-number-format.css +3 -0
  41. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  42. package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
  43. package/cjs/components/pagination/Pagination.js.map +1 -1
  44. package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
  45. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  46. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  48. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  49. package/cjs/components/progress-indicator/types.d.ts +1 -1
  50. package/cjs/components/progress-indicator/types.js.map +1 -1
  51. package/cjs/components/radio/Radio.js.map +1 -1
  52. package/cjs/components/radio/RadioGroup.js.map +1 -1
  53. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  54. package/cjs/components/switch/Switch.js.map +1 -1
  55. package/cjs/components/table/Table.d.ts +6 -0
  56. package/cjs/components/table/Table.js +15 -3
  57. package/cjs/components/table/Table.js.map +1 -1
  58. package/cjs/components/table/TableAccordion.d.ts +7 -11
  59. package/cjs/components/table/TableAccordion.js +32 -21
  60. package/cjs/components/table/TableAccordion.js.map +1 -1
  61. package/cjs/components/table/TableTr.js +24 -25
  62. package/cjs/components/table/TableTr.js.map +1 -1
  63. package/cjs/components/tabs/Tabs.js +1 -5
  64. package/cjs/components/tabs/Tabs.js.map +1 -1
  65. package/cjs/components/tabs/TabsDocs.js +1 -1
  66. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  67. package/cjs/components/textarea/Textarea.js.map +1 -1
  68. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  69. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  71. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  72. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  73. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  74. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  75. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  76. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  77. package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
  78. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  79. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  80. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
  81. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  82. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  83. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  84. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  85. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
  87. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  88. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
  89. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  90. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  91. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  93. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
  94. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
  97. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  98. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  99. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
  100. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  101. package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  102. package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
  103. package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  104. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  105. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
  106. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  107. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  108. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
  109. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  110. package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
  111. package/cjs/extensions/forms/Form/Section/Section.js +10 -2
  112. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  113. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  114. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  116. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  117. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  118. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
  119. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  120. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  121. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
  122. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  124. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
  125. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  126. package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  127. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
  128. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  129. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  130. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
  131. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  132. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  133. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
  134. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  135. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  136. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
  137. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  138. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  139. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
  140. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  141. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  142. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  143. package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  144. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  145. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  147. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  149. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
  151. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  153. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  155. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  156. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  157. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  158. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  159. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  160. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  161. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  162. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  163. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  164. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  165. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  166. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  167. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  168. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  169. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  170. package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
  171. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  172. package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
  173. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  174. package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
  175. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  176. package/cjs/extensions/forms/style/dnb-forms.css +46 -44
  177. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  178. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  179. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  180. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  181. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  182. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  183. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  184. package/cjs/fragments/text-counter/TextCounter.js +3 -2
  185. package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
  186. package/cjs/shared/Context.d.ts +9 -5
  187. package/cjs/shared/Context.js +40 -35
  188. package/cjs/shared/Context.js.map +1 -1
  189. package/cjs/shared/Eufemia.d.ts +1 -1
  190. package/cjs/shared/Eufemia.js +2 -2
  191. package/cjs/shared/Eufemia.js.map +1 -1
  192. package/cjs/shared/Provider.d.ts +1 -1
  193. package/cjs/shared/Provider.js +49 -42
  194. package/cjs/shared/Provider.js.map +1 -1
  195. package/cjs/shared/Translation.d.ts +5 -5
  196. package/cjs/shared/Translation.js +6 -11
  197. package/cjs/shared/Translation.js.map +1 -1
  198. package/cjs/shared/index.d.ts +1 -0
  199. package/cjs/shared/index.js +26 -1
  200. package/cjs/shared/index.js.map +1 -1
  201. package/cjs/shared/locales/en-GB.d.ts +0 -3
  202. package/cjs/shared/locales/en-GB.js +0 -3
  203. package/cjs/shared/locales/en-GB.js.map +1 -1
  204. package/cjs/shared/locales/en-US.d.ts +0 -3
  205. package/cjs/shared/locales/index.d.ts +0 -6
  206. package/cjs/shared/locales/nb-NO.d.ts +0 -3
  207. package/cjs/shared/locales/nb-NO.js +0 -3
  208. package/cjs/shared/locales/nb-NO.js.map +1 -1
  209. package/cjs/shared/useTranslation.d.ts +5 -4
  210. package/cjs/shared/useTranslation.js +14 -12
  211. package/cjs/shared/useTranslation.js.map +1 -1
  212. package/cjs/style/core/scopes.scss +1 -1
  213. package/cjs/style/dnb-ui-basis.css +1 -1
  214. package/cjs/style/dnb-ui-basis.min.css +1 -1
  215. package/cjs/style/dnb-ui-body.css +1 -1
  216. package/cjs/style/dnb-ui-body.min.css +1 -1
  217. package/cjs/style/dnb-ui-components.css +57 -44
  218. package/cjs/style/dnb-ui-components.min.css +2 -2
  219. package/cjs/style/dnb-ui-core.css +1 -1
  220. package/cjs/style/dnb-ui-core.min.css +1 -1
  221. package/cjs/style/dnb-ui-extensions.css +46 -44
  222. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  223. package/cjs/style/dnb-ui-forms.css +46 -44
  224. package/cjs/style/dnb-ui-forms.min.css +1 -1
  225. package/cjs/style/dnb-ui-forms.scss +2 -1
  226. package/cjs/style/dnb-ui-fragments.css +4 -0
  227. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  230. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  231. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  232. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
  237. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  238. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  239. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  240. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  241. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  242. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  245. package/cjs/style/themes/theme-ui/globals.scss +3 -2
  246. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
  247. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  248. package/cjs/style/themes/theme-ui/ui-theme-components.css +103 -88
  249. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  250. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  252. package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  254. package/components/autocomplete/Autocomplete.js.map +1 -1
  255. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  256. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  257. package/components/button/Button.js.map +1 -1
  258. package/components/dropdown/Dropdown.js.map +1 -1
  259. package/components/form-row/FormRow.js.map +1 -1
  260. package/components/form-set/FormSet.js.map +1 -1
  261. package/components/form-status/FormStatus.js.map +1 -1
  262. package/components/global-status/GlobalStatus.js.map +1 -1
  263. package/components/global-status/GlobalStatusController.js.map +1 -1
  264. package/components/global-status/GlobalStatusProvider.js.map +1 -1
  265. package/components/help-button/HelpButton.js +3 -0
  266. package/components/help-button/HelpButton.js.map +1 -1
  267. package/components/help-button/style/dnb-help-button.css +4 -1
  268. package/components/help-button/style/dnb-help-button.min.css +1 -0
  269. package/components/help-button/style/dnb-help-button.scss +6 -0
  270. package/components/icon/Icon.js.map +1 -1
  271. package/components/icon-primary/IconPrimary.js.map +1 -1
  272. package/components/input/Input.js.map +1 -1
  273. package/components/input-masked/InputMasked.js.map +1 -1
  274. package/components/logo/Logo.d.ts +47 -43
  275. package/components/logo/Logo.js +75 -221
  276. package/components/logo/Logo.js.map +1 -1
  277. package/components/logo/LogoDocs.d.ts +2 -0
  278. package/components/logo/LogoDocs.js +43 -0
  279. package/components/logo/LogoDocs.js.map +1 -0
  280. package/components/logo/LogoSvg.d.ts +7 -0
  281. package/components/logo/LogoSvg.js +73 -0
  282. package/components/logo/LogoSvg.js.map +1 -0
  283. package/components/modal/Modal.d.ts +2 -0
  284. package/components/modal/Modal.js +25 -10
  285. package/components/modal/Modal.js.map +1 -1
  286. package/components/number-format/NumberFormat.d.ts +4 -0
  287. package/components/number-format/NumberFormat.js +5 -2
  288. package/components/number-format/NumberFormat.js.map +1 -1
  289. package/components/number-format/style/dnb-number-format.css +3 -0
  290. package/components/number-format/style/dnb-number-format.min.css +1 -1
  291. package/components/number-format/style/dnb-number-format.scss +4 -0
  292. package/components/pagination/Pagination.js.map +1 -1
  293. package/components/pagination/PaginationHelpers.js.map +1 -1
  294. package/components/pagination/PaginationInfinity.js.map +1 -1
  295. package/components/pagination/PaginationProvider.js.map +1 -1
  296. package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  297. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  298. package/components/progress-indicator/types.d.ts +1 -1
  299. package/components/progress-indicator/types.js.map +1 -1
  300. package/components/radio/Radio.js.map +1 -1
  301. package/components/radio/RadioGroup.js.map +1 -1
  302. package/components/skeleton/Skeleton.js.map +1 -1
  303. package/components/switch/Switch.js.map +1 -1
  304. package/components/table/Table.d.ts +6 -0
  305. package/components/table/Table.js +13 -3
  306. package/components/table/Table.js.map +1 -1
  307. package/components/table/TableAccordion.d.ts +7 -11
  308. package/components/table/TableAccordion.js +29 -20
  309. package/components/table/TableAccordion.js.map +1 -1
  310. package/components/table/TableTr.js +25 -26
  311. package/components/table/TableTr.js.map +1 -1
  312. package/components/tabs/Tabs.js +1 -5
  313. package/components/tabs/Tabs.js.map +1 -1
  314. package/components/tabs/TabsDocs.js +1 -1
  315. package/components/tabs/TabsDocs.js.map +1 -1
  316. package/components/textarea/Textarea.js.map +1 -1
  317. package/components/toggle-button/ToggleButton.js.map +1 -1
  318. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  319. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  320. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  321. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  322. package/es/components/button/Button.js.map +1 -1
  323. package/es/components/dropdown/Dropdown.js.map +1 -1
  324. package/es/components/form-row/FormRow.js.map +1 -1
  325. package/es/components/form-set/FormSet.js.map +1 -1
  326. package/es/components/form-status/FormStatus.js.map +1 -1
  327. package/es/components/global-status/GlobalStatus.js.map +1 -1
  328. package/es/components/global-status/GlobalStatusController.js.map +1 -1
  329. package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
  330. package/es/components/help-button/HelpButton.js +3 -0
  331. package/es/components/help-button/HelpButton.js.map +1 -1
  332. package/es/components/help-button/style/dnb-help-button.css +4 -1
  333. package/es/components/help-button/style/dnb-help-button.min.css +1 -0
  334. package/es/components/help-button/style/dnb-help-button.scss +6 -0
  335. package/es/components/icon/Icon.js.map +1 -1
  336. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  337. package/es/components/input/Input.js.map +1 -1
  338. package/es/components/input-masked/InputMasked.js.map +1 -1
  339. package/es/components/logo/Logo.d.ts +47 -43
  340. package/es/components/logo/Logo.js +75 -221
  341. package/es/components/logo/Logo.js.map +1 -1
  342. package/es/components/logo/LogoDocs.d.ts +2 -0
  343. package/es/components/logo/LogoDocs.js +43 -0
  344. package/es/components/logo/LogoDocs.js.map +1 -0
  345. package/es/components/logo/LogoSvg.d.ts +7 -0
  346. package/es/components/logo/LogoSvg.js +72 -0
  347. package/es/components/logo/LogoSvg.js.map +1 -0
  348. package/es/components/modal/Modal.d.ts +2 -0
  349. package/es/components/modal/Modal.js +25 -10
  350. package/es/components/modal/Modal.js.map +1 -1
  351. package/es/components/number-format/NumberFormat.d.ts +4 -0
  352. package/es/components/number-format/NumberFormat.js +5 -2
  353. package/es/components/number-format/NumberFormat.js.map +1 -1
  354. package/es/components/number-format/style/dnb-number-format.css +3 -0
  355. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  356. package/es/components/number-format/style/dnb-number-format.scss +4 -0
  357. package/es/components/pagination/Pagination.js.map +1 -1
  358. package/es/components/pagination/PaginationHelpers.js.map +1 -1
  359. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  360. package/es/components/pagination/PaginationProvider.js.map +1 -1
  361. package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  362. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  363. package/es/components/progress-indicator/types.d.ts +1 -1
  364. package/es/components/progress-indicator/types.js.map +1 -1
  365. package/es/components/radio/Radio.js.map +1 -1
  366. package/es/components/radio/RadioGroup.js.map +1 -1
  367. package/es/components/skeleton/Skeleton.js.map +1 -1
  368. package/es/components/switch/Switch.js.map +1 -1
  369. package/es/components/table/Table.d.ts +6 -0
  370. package/es/components/table/Table.js +13 -3
  371. package/es/components/table/Table.js.map +1 -1
  372. package/es/components/table/TableAccordion.d.ts +7 -11
  373. package/es/components/table/TableAccordion.js +29 -19
  374. package/es/components/table/TableAccordion.js.map +1 -1
  375. package/es/components/table/TableTr.js +25 -26
  376. package/es/components/table/TableTr.js.map +1 -1
  377. package/es/components/tabs/Tabs.js +1 -5
  378. package/es/components/tabs/Tabs.js.map +1 -1
  379. package/es/components/tabs/TabsDocs.js +1 -1
  380. package/es/components/tabs/TabsDocs.js.map +1 -1
  381. package/es/components/textarea/Textarea.js.map +1 -1
  382. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  383. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  384. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  385. package/es/extensions/forms/DataContext/Context.js +1 -0
  386. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  387. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  388. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  389. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  390. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  391. package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
  392. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  393. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  394. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  395. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  396. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  397. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  398. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  399. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  400. package/es/extensions/forms/Field/Selection/Selection.js +7 -2
  401. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  402. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
  403. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  404. package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  405. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  406. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  407. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  408. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  409. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  410. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  411. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  412. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  413. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  414. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  415. package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  416. package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  417. package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  418. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  419. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  420. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  421. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  422. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  423. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  424. package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
  425. package/es/extensions/forms/Form/Section/Section.js +10 -2
  426. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  427. package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  428. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  429. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  430. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  431. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  432. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  433. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  434. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  435. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  436. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  437. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  438. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  439. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  440. package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  441. package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  442. package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  443. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  444. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  445. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  446. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  447. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  448. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  449. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  450. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  451. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  452. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  453. package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  454. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  455. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  456. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  457. package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
  458. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  459. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  460. package/es/extensions/forms/Iterate/Array/Array.js +1 -1
  461. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  462. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  463. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  464. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  465. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  466. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  467. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  468. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  469. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  470. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  471. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  472. package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  473. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  474. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  475. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  476. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  477. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  478. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  479. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  480. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  481. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  482. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  483. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  484. package/es/extensions/forms/hooks/useDataValue.js +30 -5
  485. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  486. package/es/extensions/forms/hooks/useFieldProps.js +14 -9
  487. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  488. package/es/extensions/forms/hooks/useTranslation.js +7 -12
  489. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  490. package/es/extensions/forms/style/dnb-forms.css +46 -44
  491. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  492. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  493. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  494. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  495. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  496. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  497. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  498. package/es/fragments/text-counter/TextCounter.js +3 -2
  499. package/es/fragments/text-counter/TextCounter.js.map +1 -1
  500. package/es/shared/Context.d.ts +9 -5
  501. package/es/shared/Context.js +39 -35
  502. package/es/shared/Context.js.map +1 -1
  503. package/es/shared/Eufemia.d.ts +1 -1
  504. package/es/shared/Eufemia.js +2 -2
  505. package/es/shared/Eufemia.js.map +1 -1
  506. package/es/shared/Provider.d.ts +1 -1
  507. package/es/shared/Provider.js +49 -41
  508. package/es/shared/Provider.js.map +1 -1
  509. package/es/shared/Translation.d.ts +5 -5
  510. package/es/shared/Translation.js +8 -10
  511. package/es/shared/Translation.js.map +1 -1
  512. package/es/shared/index.d.ts +1 -0
  513. package/es/shared/index.js +1 -0
  514. package/es/shared/index.js.map +1 -1
  515. package/es/shared/locales/en-GB.d.ts +0 -3
  516. package/es/shared/locales/en-GB.js +0 -3
  517. package/es/shared/locales/en-GB.js.map +1 -1
  518. package/es/shared/locales/en-US.d.ts +0 -3
  519. package/es/shared/locales/index.d.ts +0 -6
  520. package/es/shared/locales/nb-NO.d.ts +0 -3
  521. package/es/shared/locales/nb-NO.js +0 -3
  522. package/es/shared/locales/nb-NO.js.map +1 -1
  523. package/es/shared/useTranslation.d.ts +5 -4
  524. package/es/shared/useTranslation.js +13 -11
  525. package/es/shared/useTranslation.js.map +1 -1
  526. package/es/style/core/scopes.scss +1 -1
  527. package/es/style/dnb-ui-basis.css +1 -1
  528. package/es/style/dnb-ui-basis.min.css +1 -1
  529. package/es/style/dnb-ui-body.css +1 -1
  530. package/es/style/dnb-ui-body.min.css +1 -1
  531. package/es/style/dnb-ui-components.css +57 -44
  532. package/es/style/dnb-ui-components.min.css +2 -2
  533. package/es/style/dnb-ui-core.css +1 -1
  534. package/es/style/dnb-ui-core.min.css +1 -1
  535. package/es/style/dnb-ui-extensions.css +46 -44
  536. package/es/style/dnb-ui-extensions.min.css +1 -1
  537. package/es/style/dnb-ui-forms.css +46 -44
  538. package/es/style/dnb-ui-forms.min.css +1 -1
  539. package/es/style/dnb-ui-forms.scss +2 -1
  540. package/es/style/dnb-ui-fragments.css +4 -0
  541. package/es/style/dnb-ui-fragments.min.css +1 -1
  542. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  543. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  544. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  545. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  546. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  547. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  548. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  549. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  550. package/es/style/themes/theme-sbanken/globals.scss +3 -2
  551. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  552. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  553. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  554. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  555. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  556. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  557. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  558. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  559. package/es/style/themes/theme-ui/globals.scss +3 -2
  560. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
  561. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  562. package/es/style/themes/theme-ui/ui-theme-components.css +103 -88
  563. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  564. package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  565. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  566. package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
  567. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  568. package/esm/dnb-ui-basis.min.mjs +1 -1
  569. package/esm/dnb-ui-components.min.mjs +1 -1
  570. package/esm/dnb-ui-elements.min.mjs +1 -1
  571. package/esm/dnb-ui-extensions.min.mjs +5 -5
  572. package/esm/dnb-ui-lib.min.mjs +1 -1
  573. package/extensions/forms/DataContext/Context.d.ts +2 -0
  574. package/extensions/forms/DataContext/Context.js +1 -0
  575. package/extensions/forms/DataContext/Context.js.map +1 -1
  576. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  577. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  578. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  579. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  580. package/extensions/forms/DataContext/Provider/Provider.js +50 -4
  581. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  582. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  583. package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  584. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  585. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  586. package/extensions/forms/Field/Option/Option.js.map +1 -1
  587. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  588. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  589. package/extensions/forms/Field/Selection/Selection.js +7 -2
  590. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  591. package/extensions/forms/Field/Toggle/Toggle.js +7 -3
  592. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  593. package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  594. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  595. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  596. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  597. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  598. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  599. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  600. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  601. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  602. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  603. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  604. package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  605. package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  606. package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  607. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  608. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  609. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  610. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  611. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  612. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  613. package/extensions/forms/Form/Section/Section.d.ts +9 -1
  614. package/extensions/forms/Form/Section/Section.js +10 -2
  615. package/extensions/forms/Form/Section/Section.js.map +1 -1
  616. package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  617. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  618. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  619. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  620. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  621. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  622. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  623. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  624. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  625. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  626. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  627. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  628. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  629. package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  630. package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  631. package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  632. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  633. package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  634. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  635. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  636. package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  637. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  638. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  639. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  640. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  641. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  642. package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  643. package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  644. package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  645. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  646. package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  647. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  648. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.js +1 -1
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  652. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  653. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  654. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  655. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  656. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  657. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  658. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  659. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  660. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  661. package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  662. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  663. package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  664. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  665. package/extensions/forms/constants/locales/en-GB.js +3 -2
  666. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  667. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  668. package/extensions/forms/constants/locales/index.d.ts +4 -2
  669. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  670. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  671. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  672. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  673. package/extensions/forms/hooks/useDataValue.js +30 -5
  674. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  675. package/extensions/forms/hooks/useFieldProps.js +14 -9
  676. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  677. package/extensions/forms/hooks/useTranslation.js +7 -12
  678. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  679. package/extensions/forms/style/dnb-forms.css +46 -44
  680. package/extensions/forms/style/dnb-forms.min.css +1 -1
  681. package/extensions/payment-card/PaymentCard.js.map +1 -1
  682. package/fragments/drawer-list/DrawerList.js.map +1 -1
  683. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  684. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  685. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  686. package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  687. package/fragments/text-counter/TextCounter.js +3 -2
  688. package/fragments/text-counter/TextCounter.js.map +1 -1
  689. package/package.json +1 -1
  690. package/shared/Context.d.ts +9 -5
  691. package/shared/Context.js +40 -35
  692. package/shared/Context.js.map +1 -1
  693. package/shared/Eufemia.d.ts +1 -1
  694. package/shared/Eufemia.js +2 -2
  695. package/shared/Eufemia.js.map +1 -1
  696. package/shared/Provider.d.ts +1 -1
  697. package/shared/Provider.js +49 -41
  698. package/shared/Provider.js.map +1 -1
  699. package/shared/Translation.d.ts +5 -5
  700. package/shared/Translation.js +8 -10
  701. package/shared/Translation.js.map +1 -1
  702. package/shared/index.d.ts +1 -0
  703. package/shared/index.js +1 -0
  704. package/shared/index.js.map +1 -1
  705. package/shared/locales/en-GB.d.ts +0 -3
  706. package/shared/locales/en-GB.js +0 -3
  707. package/shared/locales/en-GB.js.map +1 -1
  708. package/shared/locales/en-US.d.ts +0 -3
  709. package/shared/locales/index.d.ts +0 -6
  710. package/shared/locales/nb-NO.d.ts +0 -3
  711. package/shared/locales/nb-NO.js +0 -3
  712. package/shared/locales/nb-NO.js.map +1 -1
  713. package/shared/useTranslation.d.ts +5 -4
  714. package/shared/useTranslation.js +13 -11
  715. package/shared/useTranslation.js.map +1 -1
  716. package/style/core/scopes.scss +1 -1
  717. package/style/dnb-ui-basis.css +1 -1
  718. package/style/dnb-ui-basis.min.css +1 -1
  719. package/style/dnb-ui-body.css +1 -1
  720. package/style/dnb-ui-body.min.css +1 -1
  721. package/style/dnb-ui-components.css +57 -44
  722. package/style/dnb-ui-components.min.css +2 -2
  723. package/style/dnb-ui-core.css +1 -1
  724. package/style/dnb-ui-core.min.css +1 -1
  725. package/style/dnb-ui-extensions.css +46 -44
  726. package/style/dnb-ui-extensions.min.css +1 -1
  727. package/style/dnb-ui-forms.css +46 -44
  728. package/style/dnb-ui-forms.min.css +1 -1
  729. package/style/dnb-ui-forms.scss +2 -1
  730. package/style/dnb-ui-fragments.css +4 -0
  731. package/style/dnb-ui-fragments.min.css +1 -1
  732. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  733. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  734. package/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  735. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  736. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  737. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  738. package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  739. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  740. package/style/themes/theme-sbanken/globals.scss +3 -2
  741. package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  742. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  743. package/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  744. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  745. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  746. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  747. package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  748. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  749. package/style/themes/theme-ui/globals.scss +3 -2
  750. package/style/themes/theme-ui/ui-theme-basis.css +2 -2
  751. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  752. package/style/themes/theme-ui/ui-theme-components.css +103 -88
  753. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  754. package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  755. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  756. package/style/themes/theme-ui/ui-theme-forms.css +46 -44
  757. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  758. package/umd/dnb-ui-basis.min.js +1 -1
  759. package/umd/dnb-ui-components.min.js +1 -1
  760. package/umd/dnb-ui-elements.min.js +1 -1
  761. package/umd/dnb-ui-extensions.min.js +5 -5
  762. package/umd/dnb-ui-lib.min.js +1 -1
  763. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  764. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  765. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  766. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  767. package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  768. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
@@ -1,6 +1,10 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
5
  var _Td;
3
- import React from 'react';
6
+ const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
7
+ import React, { useEffect } from 'react';
4
8
  import classnames from 'classnames';
5
9
  import Button from '../button/Button';
6
10
  import IconPrimary from '../icon/IconPrimary';
@@ -11,19 +15,19 @@ import keycode from 'keycode';
11
15
  import { hasSelectedText } from '../../shared/helpers';
12
16
  import TableAccordionTd from './TableAccordionTd';
13
17
  import TableAccordionTr from './TableAccordionTr';
14
- export function useTableAccordion(_ref) {
15
- var _tableContext$allProp;
16
- let {
17
- children,
18
- className,
19
- props,
20
- expanded,
21
- disabled,
22
- noAnimation,
23
- onClick,
24
- onOpened,
25
- onClosed
26
- } = _ref;
18
+ export function TableAccordion(allProps) {
19
+ const {
20
+ children,
21
+ className,
22
+ expanded,
23
+ disabled,
24
+ noAnimation,
25
+ onClick,
26
+ onOpened,
27
+ onClosed,
28
+ count
29
+ } = allProps,
30
+ props = _objectWithoutProperties(allProps, _excluded);
27
31
  const tableContext = React.useContext(TableContext);
28
32
  const [trIsOpen, setOpen] = React.useState(() => {
29
33
  if (typeof expanded === 'boolean') {
@@ -38,9 +42,6 @@ export function useTableAccordion(_ref) {
38
42
  });
39
43
  const [trIsHover, setHover] = React.useState(false);
40
44
  const [trHadClick, setHadClick] = React.useState(false);
41
- if (!(tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion)) {
42
- return null;
43
- }
44
45
  let headerContent = React.Children.toArray(children);
45
46
  const addExpandIcon = icon => {
46
47
  if (tableContext.allProps.accordionChevronPlacement === 'end') {
@@ -53,6 +54,14 @@ export function useTableAccordion(_ref) {
53
54
  return isAccordionElement(element);
54
55
  });
55
56
  const hasAccordionContent = accordionContent.length !== 0 && accordionContent.every(element => React.isValidElement(element));
57
+ useEffect(() => {
58
+ var _tableContext$collaps;
59
+ if (hasAccordionContent && tableContext !== null && tableContext !== void 0 && (_tableContext$collaps = tableContext.collapseTrCallbacks) !== null && _tableContext$collaps !== void 0 && _tableContext$collaps.current && count) {
60
+ tableContext.collapseTrCallbacks.current[count] = () => {
61
+ setOpen(false);
62
+ };
63
+ }
64
+ }, [count, tableContext === null || tableContext === void 0 ? void 0 : tableContext.collapseTrCallbacks, hasAccordionContent]);
56
65
  const trParams = !disabled && hasAccordionContent ? {
57
66
  onClick: toggleOpenTr,
58
67
  onMouseEnter: onMouseEnterHandler,
@@ -68,12 +77,12 @@ export function useTableAccordion(_ref) {
68
77
  key: "td-icon"
69
78
  }, React.createElement(TableAccordionToggleButton, null))));
70
79
  } else if (isTableHead(headerContent)) {
71
- var _tableContext$allProp2;
80
+ var _tableContext$allProp;
72
81
  addExpandIcon(React.createElement(Th, {
73
82
  "aria-hidden": true,
74
83
  className: "dnb-table__th__accordion-icon",
75
84
  key: "th-icon"
76
- }, React.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp2 = tableContext.allProps) === null || _tableContext$allProp2 === void 0 ? void 0 : _tableContext$allProp2.accordionToggleButtonSR)));
85
+ }, React.createElement("div", null, tableContext === null || tableContext === void 0 ? void 0 : (_tableContext$allProp = tableContext.allProps) === null || _tableContext$allProp === void 0 ? void 0 : _tableContext$allProp.accordionToggleButtonSR)));
77
86
  }
78
87
  const countTds = hasAccordionContent ? headerContent.filter(element => {
79
88
  return element.type === Td;
@@ -93,7 +102,7 @@ export function useTableAccordion(_ref) {
93
102
  className: classnames(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')
94
103
  }, trParams, props), headerContent), accordionContent);
95
104
  function onKeydownHandler(event) {
96
- switch (keycode(event)) {
105
+ switch (keycode(event.nativeEvent)) {
97
106
  case 'space':
98
107
  case 'enter':
99
108
  {
@@ -1 +1 @@
1
- {"version":3,"file":"TableAccordion.js","names":["React","classnames","Button","IconPrimary","Th","Td","TableAccordionContext","TableContext","keycode","hasSelectedText","TableAccordionTd","TableAccordionTr","useTableAccordion","_ref","_tableContext$allProp","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","useContext","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","length","every","isValidElement","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","_Td","createElement","key","TableAccordionToggleButton","isTableHead","_tableContext$allProp2","accordionToggleButtonSR","countTds","type","Provider","value","_extends","tabIndex","undefined","event","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","arguments","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","some"],"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","useEffect","classnames","Button","IconPrimary","Th","Td","TableAccordionContext","TableContext","keycode","hasSelectedText","TableAccordionTd","TableAccordionTr","TableAccordion","allProps","children","className","expanded","disabled","noAnimation","onClick","onOpened","onClosed","count","props","_objectWithoutProperties","_excluded","tableContext","useContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","headerContent","Children","toArray","addExpandIcon","icon","accordionChevronPlacement","push","unshift","accordionContent","filter","element","isAccordionElement","hasAccordionContent","length","every","isValidElement","_tableContext$collaps","collapseTrCallbacks","current","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","_Td","createElement","key","TableAccordionToggleButton","isTableHead","_tableContext$allProp","accordionToggleButtonSR","countTds","type","Provider","value","_extends","tabIndex","undefined","event","nativeEvent","target","document","activeElement","tagName","preventDefault","allowInteractiveElement","arguments","_React$useContext","tableAccordionContext","iconSize","size","Boolean","on_click","some"],"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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"}
@@ -1,50 +1,48 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- const _excluded = ["variant", "noWrap", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "children", "className"];
3
+ const _excluded = ["variant", "noWrap", "className"],
4
+ _excluded2 = ["expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed"];
4
5
  import React from 'react';
5
6
  import classnames from 'classnames';
6
- import { useTableAccordion } from './TableAccordion';
7
+ import { TableAccordion } from './TableAccordion';
7
8
  import { TableContext } from './TableContext';
8
9
  import TableAccordionTr from './TableAccordionTr';
9
10
  export default function Tr(componentProps) {
11
+ var _tableContext$allProp;
10
12
  const {
11
13
  variant,
12
14
  noWrap,
13
- expanded,
14
- disabled,
15
- noAnimation,
16
- onClick,
17
- onOpened,
18
- onClosed,
19
- children,
20
15
  className: _className
21
16
  } = componentProps,
22
- props = _objectWithoutProperties(componentProps, _excluded);
17
+ accordionProps = _objectWithoutProperties(componentProps, _excluded);
23
18
  const {
24
19
  currentVariant,
25
- isLast
20
+ isLast,
21
+ count
26
22
  } = useHandleTrVariant({
27
23
  variant
28
24
  });
29
25
  const className = classnames('dnb-table__tr', _className, currentVariant && `dnb-table__tr--${currentVariant}`, isLast && 'dnb-table__tr--last', noWrap && 'dnb-table--no-wrap');
30
- const accordionTr = useTableAccordion({
31
- className,
32
- children,
33
- props,
34
- expanded,
35
- disabled,
36
- noAnimation,
37
- onClick,
38
- onOpened,
39
- onClosed
40
- });
41
- if (accordionTr) {
42
- return accordionTr;
26
+ const tableContext = React.useContext(TableContext);
27
+ if (tableContext !== null && tableContext !== void 0 && (_tableContext$allProp = tableContext.allProps) !== null && _tableContext$allProp !== void 0 && _tableContext$allProp.accordion) {
28
+ return React.createElement(TableAccordion, _extends({
29
+ count: count,
30
+ className: className
31
+ }, accordionProps));
43
32
  }
33
+ const {
34
+ expanded,
35
+ disabled,
36
+ noAnimation,
37
+ onClick,
38
+ onOpened,
39
+ onClosed
40
+ } = accordionProps,
41
+ trProps = _objectWithoutProperties(accordionProps, _excluded2);
44
42
  return React.createElement("tr", _extends({
45
43
  role: "row",
46
44
  className: className
47
- }, props), children);
45
+ }, trProps));
48
46
  }
49
47
  function useHandleTrVariant(_ref) {
50
48
  let {
@@ -76,7 +74,8 @@ function useHandleTrVariant(_ref) {
76
74
  const isLast = typeof countRef !== 'undefined' && countRef.count === count;
77
75
  return {
78
76
  currentVariant,
79
- isLast
77
+ isLast,
78
+ count
80
79
  };
81
80
  }
82
81
  export function useHandleOddEven(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"file":"TableTr.js","names":["React","classnames","useTableAccordion","TableContext","TableAccordionTr","Tr","componentProps","variant","noWrap","expanded","disabled","noAnimation","onClick","onOpened","onClosed","children","className","_className","props","_objectWithoutProperties","_excluded","currentVariant","isLast","useHandleTrVariant","accordionTr","createElement","_extends","role","_ref","tableContext","useContext","countRef","trCountRef","current","increment","count","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTableAccordion } from './TableAccordion'\nimport { TableContext } from './TableContext'\nimport TableAccordionTr from './TableAccordionTr'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands the table row\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClick?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onOpened?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClosed?: (event?: React.SyntheticEvent) => void\n\n /**\n * The content of the component.\n */\n children: React.ReactNode\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n children,\n className: _className,\n ...props\n } = componentProps\n\n const { currentVariant, isLast } = useHandleTrVariant({\n variant,\n })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n isLast && 'dnb-table__tr--last',\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const accordionTr = useTableAccordion({\n className,\n children,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n })\n\n if (accordionTr) {\n return accordionTr\n }\n\n return (\n <tr role=\"row\" className={className} {...props}>\n {children}\n </tr>\n )\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n const isLast =\n typeof countRef !== 'undefined' && countRef.count === count\n return {\n currentVariant,\n isLast,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is useful, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n\nTr.AccordionContent = TableAccordionTr\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableTr.js","names":["React","classnames","TableAccordion","TableContext","TableAccordionTr","Tr","componentProps","_tableContext$allProp","variant","noWrap","className","_className","accordionProps","_objectWithoutProperties","_excluded","currentVariant","isLast","count","useHandleTrVariant","tableContext","useContext","allProps","accordion","createElement","_extends","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","_excluded2","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { TableAccordion } from './TableAccordion'\nimport { TableContext } from './TableContext'\nimport TableAccordionTr from './TableAccordionTr'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands the table row\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClick?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onOpened?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClosed?: (event?: React.SyntheticEvent) => void\n\n /**\n * The content of the component.\n */\n children: React.ReactNode\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n className: _className,\n ...accordionProps\n } = componentProps\n\n const { currentVariant, isLast, count } = useHandleTrVariant({\n variant,\n })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n isLast && 'dnb-table__tr--last',\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const tableContext = React.useContext(TableContext)\n if (tableContext?.allProps?.accordion) {\n return (\n <TableAccordion\n count={count}\n className={className}\n {...accordionProps}\n />\n )\n }\n\n const {\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n ...trProps\n } = accordionProps\n\n return <tr role=\"row\" className={className} {...trProps} />\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n const isLast =\n typeof countRef !== 'undefined' && countRef.count === count\n return {\n currentVariant,\n isLast,\n count,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is useful, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n\nTr.AccordionContent = TableAccordionTr\n"],"mappings":"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"}
@@ -713,11 +713,7 @@ Tip: Check out other solutions like <Tabs.Content id="unique">Your content, outs
713
713
  warn(e);
714
714
  }
715
715
  };
716
- if (window.IS_TEST) {
717
- delay();
718
- } else {
719
- window.requestAnimationFrame(delay);
720
- }
716
+ window.requestAnimationFrame(delay);
721
717
  }
722
718
  getStepKey(useKey, stateKey) {
723
719
  const currentData = this.state.data.filter(_ref11 => {