@dnb/eufemia 10.35.0 → 10.36.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 (416) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/cjs/components/accordion/Accordion.d.ts +3 -3
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionHeader.d.ts +5 -5
  5. package/cjs/components/accordion/AccordionHeader.js +3 -2
  6. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  7. package/cjs/components/anchor/Anchor.d.ts +20 -0
  8. package/cjs/components/anchor/Anchor.js +13 -4
  9. package/cjs/components/anchor/Anchor.js.map +1 -1
  10. package/cjs/components/anchor/AnchorDocs.d.ts +3 -0
  11. package/cjs/components/anchor/AnchorDocs.js +82 -0
  12. package/cjs/components/anchor/AnchorDocs.js.map +1 -0
  13. package/cjs/components/autocomplete/Autocomplete.js +16 -2
  14. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  15. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  16. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  17. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  18. package/cjs/components/height-animation/useHeightAnimation.d.ts +5 -1
  19. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  20. package/cjs/components/icon/Icon.d.ts +493 -61
  21. package/cjs/components/icon/Icon.js +97 -134
  22. package/cjs/components/icon/Icon.js.map +1 -1
  23. package/cjs/components/icon/IconHelpers.d.ts +2 -1
  24. package/cjs/components/icon/IconHelpers.js +1 -1
  25. package/cjs/components/icon/IconHelpers.js.map +1 -1
  26. package/cjs/components/icon/IconPrimary.d.ts +2 -2
  27. package/cjs/components/icon/IconPrimary.js.map +1 -1
  28. package/cjs/components/icon-primary/IconPrimary.d.ts +8 -11
  29. package/cjs/components/icon-primary/IconPrimary.js +37 -38
  30. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  31. package/cjs/components/step-indicator/StepIndicatorContext.js +66 -59
  32. package/cjs/components/step-indicator/StepIndicatorContext.js.map +1 -1
  33. package/cjs/components/step-indicator/StepIndicatorItem.js +15 -23
  34. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  35. package/cjs/components/step-indicator/StepIndicatorModal.js +5 -5
  36. package/cjs/components/step-indicator/StepIndicatorModal.js.map +1 -1
  37. package/cjs/components/step-indicator/StepIndicatorSidebar.js +9 -7
  38. package/cjs/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  39. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  40. package/cjs/components/table/Table.d.ts +1 -1
  41. package/cjs/components/table/Table.js.map +1 -1
  42. package/cjs/components/table/TableContext.d.ts +12 -2
  43. package/cjs/components/table/TableContext.js +1 -3
  44. package/cjs/components/table/TableContext.js.map +1 -1
  45. package/cjs/components/table/TableDocs.d.ts +7 -0
  46. package/cjs/components/table/TableDocs.js +202 -0
  47. package/cjs/components/table/TableDocs.js.map +1 -0
  48. package/cjs/components/table/TableTd.d.ts +3 -3
  49. package/cjs/components/table/TableTd.js +2 -2
  50. package/cjs/components/table/TableTd.js.map +1 -1
  51. package/cjs/components/table/TableTr.d.ts +9 -5
  52. package/cjs/components/table/TableTr.js +4 -4
  53. package/cjs/components/table/TableTr.js.map +1 -1
  54. package/cjs/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  55. package/cjs/components/table/{TableAccordionTd.js → table-accordion/TableAccordionContent.js} +52 -17
  56. package/cjs/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  57. package/cjs/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  58. package/cjs/components/table/table-accordion/TableAccordionContext.js +11 -0
  59. package/cjs/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  60. package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  61. package/cjs/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +17 -18
  62. package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  63. package/{es/components/table → cjs/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  64. package/cjs/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +4 -4
  65. package/cjs/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  66. package/cjs/components/tabs/Tabs.d.ts +0 -3
  67. package/cjs/components/tabs/TabsDocs.d.ts +1 -0
  68. package/cjs/components/tabs/TabsDocs.js +32 -4
  69. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  70. package/cjs/components/toggle-button/ToggleButtonGroup.js +2 -2
  71. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  72. package/cjs/components/toggle-button/style/dnb-toggle-button.css +15 -6
  73. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  74. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js +1 -1
  76. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  78. package/cjs/extensions/forms/Form/Visibility/Visibility.js +20 -72
  79. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  80. package/cjs/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  81. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +101 -0
  82. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  83. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  84. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  85. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  86. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  87. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  88. package/cjs/extensions/forms/Wizard/Step/Step.js +6 -2
  89. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  90. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  91. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  93. package/cjs/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  94. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  95. package/cjs/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  96. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  97. package/cjs/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  98. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  99. package/cjs/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  100. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  101. package/cjs/extensions/forms/constants/locales/en-GB.js +7 -9
  102. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  103. package/cjs/extensions/forms/constants/locales/en-US.d.ts +7 -9
  104. package/cjs/extensions/forms/constants/locales/index.d.ts +14 -18
  105. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  106. package/cjs/extensions/forms/constants/locales/nb-NO.js +7 -9
  107. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  108. package/cjs/shared/Context.d.ts +4 -0
  109. package/cjs/shared/Context.js.map +1 -1
  110. package/cjs/shared/Eufemia.d.ts +1 -1
  111. package/cjs/shared/Eufemia.js +2 -2
  112. package/cjs/shared/Eufemia.js.map +1 -1
  113. package/cjs/style/core/scopes.scss +1 -1
  114. package/cjs/style/dnb-ui-basis.css +1 -1
  115. package/cjs/style/dnb-ui-basis.min.css +1 -1
  116. package/cjs/style/dnb-ui-body.css +1 -1
  117. package/cjs/style/dnb-ui-body.min.css +1 -1
  118. package/cjs/style/dnb-ui-components.css +15 -6
  119. package/cjs/style/dnb-ui-components.min.css +1 -1
  120. package/cjs/style/dnb-ui-core.css +1 -1
  121. package/cjs/style/dnb-ui-core.min.css +1 -1
  122. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  123. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  124. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  125. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  126. package/cjs/style/themes/theme-ui/ui-theme-components.css +15 -6
  127. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  128. package/components/accordion/Accordion.d.ts +3 -3
  129. package/components/accordion/Accordion.js.map +1 -1
  130. package/components/accordion/AccordionHeader.d.ts +5 -5
  131. package/components/accordion/AccordionHeader.js +3 -2
  132. package/components/accordion/AccordionHeader.js.map +1 -1
  133. package/components/anchor/Anchor.d.ts +20 -0
  134. package/components/anchor/Anchor.js +13 -4
  135. package/components/anchor/Anchor.js.map +1 -1
  136. package/components/anchor/AnchorDocs.d.ts +3 -0
  137. package/components/anchor/AnchorDocs.js +74 -0
  138. package/components/anchor/AnchorDocs.js.map +1 -0
  139. package/components/autocomplete/Autocomplete.js +17 -3
  140. package/components/autocomplete/Autocomplete.js.map +1 -1
  141. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  142. package/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  143. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  144. package/components/height-animation/useHeightAnimation.d.ts +5 -1
  145. package/components/height-animation/useHeightAnimation.js.map +1 -1
  146. package/components/icon/Icon.d.ts +493 -61
  147. package/components/icon/Icon.js +89 -127
  148. package/components/icon/Icon.js.map +1 -1
  149. package/components/icon/IconHelpers.d.ts +2 -1
  150. package/components/icon/IconHelpers.js +1 -1
  151. package/components/icon/IconHelpers.js.map +1 -1
  152. package/components/icon/IconPrimary.d.ts +2 -2
  153. package/components/icon/IconPrimary.js.map +1 -1
  154. package/components/icon-primary/IconPrimary.d.ts +8 -11
  155. package/components/icon-primary/IconPrimary.js +25 -31
  156. package/components/icon-primary/IconPrimary.js.map +1 -1
  157. package/components/step-indicator/StepIndicatorContext.js +67 -60
  158. package/components/step-indicator/StepIndicatorContext.js.map +1 -1
  159. package/components/step-indicator/StepIndicatorItem.js +16 -24
  160. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  161. package/components/step-indicator/StepIndicatorModal.js +6 -6
  162. package/components/step-indicator/StepIndicatorModal.js.map +1 -1
  163. package/components/step-indicator/StepIndicatorSidebar.js +10 -8
  164. package/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  165. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  166. package/components/table/Table.d.ts +1 -1
  167. package/components/table/Table.js.map +1 -1
  168. package/components/table/TableContext.d.ts +12 -2
  169. package/components/table/TableContext.js +0 -1
  170. package/components/table/TableContext.js.map +1 -1
  171. package/components/table/TableDocs.d.ts +7 -0
  172. package/components/table/TableDocs.js +190 -0
  173. package/components/table/TableDocs.js.map +1 -0
  174. package/components/table/TableTd.d.ts +3 -3
  175. package/components/table/TableTd.js +2 -2
  176. package/components/table/TableTd.js.map +1 -1
  177. package/components/table/TableTr.d.ts +9 -5
  178. package/components/table/TableTr.js +4 -4
  179. package/components/table/TableTr.js.map +1 -1
  180. package/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  181. package/components/table/table-accordion/TableAccordionContent.js +95 -0
  182. package/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  183. package/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  184. package/components/table/table-accordion/TableAccordionContext.js +3 -0
  185. package/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  186. package/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  187. package/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  188. package/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  189. package/{cjs/components/table → components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  190. package/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  191. package/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  192. package/components/tabs/Tabs.d.ts +0 -3
  193. package/components/tabs/TabsDocs.d.ts +1 -0
  194. package/components/tabs/TabsDocs.js +30 -3
  195. package/components/tabs/TabsDocs.js.map +1 -1
  196. package/components/toggle-button/ToggleButtonGroup.js +2 -2
  197. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  198. package/components/toggle-button/style/dnb-toggle-button.css +15 -6
  199. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  200. package/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  201. package/es/components/accordion/Accordion.d.ts +3 -3
  202. package/es/components/accordion/Accordion.js.map +1 -1
  203. package/es/components/accordion/AccordionHeader.d.ts +5 -5
  204. package/es/components/accordion/AccordionHeader.js +3 -2
  205. package/es/components/accordion/AccordionHeader.js.map +1 -1
  206. package/es/components/anchor/Anchor.d.ts +20 -0
  207. package/es/components/anchor/Anchor.js +13 -4
  208. package/es/components/anchor/Anchor.js.map +1 -1
  209. package/es/components/anchor/AnchorDocs.d.ts +3 -0
  210. package/es/components/anchor/AnchorDocs.js +74 -0
  211. package/es/components/anchor/AnchorDocs.js.map +1 -0
  212. package/es/components/autocomplete/Autocomplete.js +17 -3
  213. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  214. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  215. package/es/components/height-animation/HeightAnimationInstance.d.ts +3 -3
  216. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  217. package/es/components/height-animation/useHeightAnimation.d.ts +5 -1
  218. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  219. package/es/components/icon/Icon.d.ts +493 -61
  220. package/es/components/icon/Icon.js +82 -116
  221. package/es/components/icon/Icon.js.map +1 -1
  222. package/es/components/icon/IconHelpers.d.ts +2 -1
  223. package/es/components/icon/IconHelpers.js +1 -1
  224. package/es/components/icon/IconHelpers.js.map +1 -1
  225. package/es/components/icon/IconPrimary.d.ts +2 -2
  226. package/es/components/icon/IconPrimary.js.map +1 -1
  227. package/es/components/icon-primary/IconPrimary.d.ts +8 -11
  228. package/es/components/icon-primary/IconPrimary.js +25 -31
  229. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  230. package/es/components/step-indicator/StepIndicatorContext.js +67 -60
  231. package/es/components/step-indicator/StepIndicatorContext.js.map +1 -1
  232. package/es/components/step-indicator/StepIndicatorItem.js +17 -25
  233. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  234. package/es/components/step-indicator/StepIndicatorModal.js +6 -6
  235. package/es/components/step-indicator/StepIndicatorModal.js.map +1 -1
  236. package/es/components/step-indicator/StepIndicatorSidebar.js +10 -8
  237. package/es/components/step-indicator/StepIndicatorSidebar.js.map +1 -1
  238. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  239. package/es/components/table/Table.d.ts +1 -1
  240. package/es/components/table/Table.js.map +1 -1
  241. package/es/components/table/TableContext.d.ts +12 -2
  242. package/es/components/table/TableContext.js +0 -1
  243. package/es/components/table/TableContext.js.map +1 -1
  244. package/es/components/table/TableDocs.d.ts +7 -0
  245. package/es/components/table/TableDocs.js +190 -0
  246. package/es/components/table/TableDocs.js.map +1 -0
  247. package/es/components/table/TableTd.d.ts +3 -3
  248. package/es/components/table/TableTd.js +2 -2
  249. package/es/components/table/TableTd.js.map +1 -1
  250. package/es/components/table/TableTr.d.ts +9 -5
  251. package/es/components/table/TableTr.js +4 -4
  252. package/es/components/table/TableTr.js.map +1 -1
  253. package/es/components/table/table-accordion/TableAccordionContent.d.ts +15 -0
  254. package/es/components/table/table-accordion/TableAccordionContent.js +92 -0
  255. package/es/components/table/table-accordion/TableAccordionContent.js.map +1 -0
  256. package/es/components/table/table-accordion/TableAccordionContext.d.ts +16 -0
  257. package/es/components/table/table-accordion/TableAccordionContext.js +3 -0
  258. package/es/components/table/table-accordion/TableAccordionContext.js.map +1 -0
  259. package/es/components/table/table-accordion/TableAccordionHead.d.ts +8 -0
  260. package/es/components/table/{TableAccordion.js → table-accordion/TableAccordionHead.js} +14 -15
  261. package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -0
  262. package/{components/table → es/components/table/table-accordion}/useTableAnimationHandler.d.ts +7 -3
  263. package/es/components/table/{useTableAnimationHandler.js → table-accordion/useTableAnimationHandler.js} +3 -3
  264. package/es/components/table/table-accordion/useTableAnimationHandler.js.map +1 -0
  265. package/es/components/tabs/Tabs.d.ts +0 -3
  266. package/es/components/tabs/TabsDocs.d.ts +1 -0
  267. package/es/components/tabs/TabsDocs.js +30 -3
  268. package/es/components/tabs/TabsDocs.js.map +1 -1
  269. package/es/components/toggle-button/ToggleButtonGroup.js +2 -2
  270. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  271. package/es/components/toggle-button/style/dnb-toggle-button.css +15 -6
  272. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  273. package/es/components/toggle-button/style/dnb-toggle-button.scss +16 -9
  274. package/es/extensions/forms/DataContext/Provider/Provider.js +1 -1
  275. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  276. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  277. package/es/extensions/forms/Form/Visibility/Visibility.js +20 -71
  278. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  279. package/es/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  280. package/es/extensions/forms/Form/Visibility/useVisibility.js +94 -0
  281. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  282. package/es/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  283. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  284. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  285. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  286. package/es/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  287. package/es/extensions/forms/Wizard/Step/Step.js +6 -2
  288. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  289. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  290. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  291. package/es/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  292. package/es/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  293. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  294. package/es/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  295. package/es/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  296. package/es/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  297. package/es/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  298. package/es/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  299. package/es/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  300. package/es/extensions/forms/constants/locales/en-GB.js +7 -9
  301. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  302. package/es/extensions/forms/constants/locales/en-US.d.ts +7 -9
  303. package/es/extensions/forms/constants/locales/index.d.ts +14 -18
  304. package/es/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  305. package/es/extensions/forms/constants/locales/nb-NO.js +7 -9
  306. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  307. package/es/shared/Context.d.ts +4 -0
  308. package/es/shared/Context.js.map +1 -1
  309. package/es/shared/Eufemia.d.ts +1 -1
  310. package/es/shared/Eufemia.js +2 -2
  311. package/es/shared/Eufemia.js.map +1 -1
  312. package/es/style/core/scopes.scss +1 -1
  313. package/es/style/dnb-ui-basis.css +1 -1
  314. package/es/style/dnb-ui-basis.min.css +1 -1
  315. package/es/style/dnb-ui-body.css +1 -1
  316. package/es/style/dnb-ui-body.min.css +1 -1
  317. package/es/style/dnb-ui-components.css +15 -6
  318. package/es/style/dnb-ui-components.min.css +1 -1
  319. package/es/style/dnb-ui-core.css +1 -1
  320. package/es/style/dnb-ui-core.min.css +1 -1
  321. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  322. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  323. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  324. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  325. package/es/style/themes/theme-ui/ui-theme-components.css +15 -6
  326. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  327. package/esm/dnb-ui-basis.min.mjs +1 -1
  328. package/esm/dnb-ui-components.min.mjs +1 -1
  329. package/esm/dnb-ui-elements.min.mjs +1 -1
  330. package/esm/dnb-ui-extensions.min.mjs +5 -5
  331. package/esm/dnb-ui-lib.min.mjs +1 -1
  332. package/extensions/forms/DataContext/Provider/Provider.js +1 -1
  333. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  334. package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  335. package/extensions/forms/Form/Visibility/Visibility.js +20 -71
  336. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  337. package/extensions/forms/Form/Visibility/useVisibility.d.ts +5 -0
  338. package/extensions/forms/Form/Visibility/useVisibility.js +95 -0
  339. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -0
  340. package/extensions/forms/Wizard/Container/WizardContainer.js +15 -9
  341. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  342. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  343. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  344. package/extensions/forms/Wizard/Step/Step.d.ts +5 -0
  345. package/extensions/forms/Wizard/Step/Step.js +6 -2
  346. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  347. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  348. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  349. package/extensions/forms/Wizard/hooks/useNextRouter.js +1 -1
  350. package/extensions/forms/Wizard/hooks/useNextRouter.js.map +1 -1
  351. package/extensions/forms/Wizard/hooks/useQueryLocator.js +1 -1
  352. package/extensions/forms/Wizard/hooks/useQueryLocator.js.map +1 -1
  353. package/extensions/forms/Wizard/hooks/useReachRouter.js +1 -1
  354. package/extensions/forms/Wizard/hooks/useReachRouter.js.map +1 -1
  355. package/extensions/forms/Wizard/hooks/useReactRouter.js +1 -1
  356. package/extensions/forms/Wizard/hooks/useReactRouter.js.map +1 -1
  357. package/extensions/forms/constants/locales/en-GB.d.ts +7 -9
  358. package/extensions/forms/constants/locales/en-GB.js +7 -9
  359. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  360. package/extensions/forms/constants/locales/en-US.d.ts +7 -9
  361. package/extensions/forms/constants/locales/index.d.ts +14 -18
  362. package/extensions/forms/constants/locales/nb-NO.d.ts +7 -9
  363. package/extensions/forms/constants/locales/nb-NO.js +7 -9
  364. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  365. package/package.json +1 -1
  366. package/shared/Context.d.ts +4 -0
  367. package/shared/Context.js.map +1 -1
  368. package/shared/Eufemia.d.ts +1 -1
  369. package/shared/Eufemia.js +2 -2
  370. package/shared/Eufemia.js.map +1 -1
  371. package/style/core/scopes.scss +1 -1
  372. package/style/dnb-ui-basis.css +1 -1
  373. package/style/dnb-ui-basis.min.css +1 -1
  374. package/style/dnb-ui-body.css +1 -1
  375. package/style/dnb-ui-body.min.css +1 -1
  376. package/style/dnb-ui-components.css +15 -6
  377. package/style/dnb-ui-components.min.css +1 -1
  378. package/style/dnb-ui-core.css +1 -1
  379. package/style/dnb-ui-core.min.css +1 -1
  380. package/style/themes/theme-eiendom/eiendom-theme-components.css +15 -6
  381. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  382. package/style/themes/theme-sbanken/sbanken-theme-components.css +15 -6
  383. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  384. package/style/themes/theme-ui/ui-theme-components.css +15 -6
  385. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  386. package/umd/dnb-ui-basis.min.js +1 -1
  387. package/umd/dnb-ui-components.min.js +1 -1
  388. package/umd/dnb-ui-elements.min.js +1 -1
  389. package/umd/dnb-ui-extensions.min.js +5 -5
  390. package/umd/dnb-ui-lib.min.js +1 -1
  391. package/cjs/components/table/TableAccordion.d.ts +0 -8
  392. package/cjs/components/table/TableAccordion.js.map +0 -1
  393. package/cjs/components/table/TableAccordionTd.d.ts +0 -9
  394. package/cjs/components/table/TableAccordionTd.js.map +0 -1
  395. package/cjs/components/table/TableAccordionTr.d.ts +0 -13
  396. package/cjs/components/table/TableAccordionTr.js +0 -61
  397. package/cjs/components/table/TableAccordionTr.js.map +0 -1
  398. package/cjs/components/table/useTableAnimationHandler.js.map +0 -1
  399. package/components/table/TableAccordion.d.ts +0 -8
  400. package/components/table/TableAccordion.js.map +0 -1
  401. package/components/table/TableAccordionTd.d.ts +0 -9
  402. package/components/table/TableAccordionTd.js +0 -61
  403. package/components/table/TableAccordionTd.js.map +0 -1
  404. package/components/table/TableAccordionTr.d.ts +0 -13
  405. package/components/table/TableAccordionTr.js +0 -51
  406. package/components/table/TableAccordionTr.js.map +0 -1
  407. package/components/table/useTableAnimationHandler.js.map +0 -1
  408. package/es/components/table/TableAccordion.d.ts +0 -8
  409. package/es/components/table/TableAccordion.js.map +0 -1
  410. package/es/components/table/TableAccordionTd.d.ts +0 -9
  411. package/es/components/table/TableAccordionTd.js +0 -61
  412. package/es/components/table/TableAccordionTd.js.map +0 -1
  413. package/es/components/table/TableAccordionTr.d.ts +0 -13
  414. package/es/components/table/TableAccordionTr.js +0 -51
  415. package/es/components/table/TableAccordionTr.js.map +0 -1
  416. package/es/components/table/useTableAnimationHandler.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableTd.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordionTd","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Td","componentProps","className","children","noSpacing","spacing","props","createElement","role","classnames","AccordionContent","TableAccordionTd"],"sources":["../../../../src/components/table/TableTd.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport TableAccordionTd from './TableAccordionTd'\n\nexport type TableTdProps = {\n /**\n * if set to `true`, no padding will be added\n * Default: false\n */\n noSpacing?: boolean\n\n /**\n * Set to `horizontal` for padding on left and right side\n * Default: false\n */\n spacing?: 'horizontal'\n\n /**\n * The content of the component.\n * Default: null\n */\n children?: React.ReactNode\n}\n\nexport default function Td(\n componentProps: TableTdProps &\n React.TdHTMLAttributes<HTMLTableCellElement>\n) {\n const { className, children, noSpacing, spacing, ...props } =\n componentProps\n\n return (\n <td\n role=\"cell\"\n className={classnames(\n 'dnb-table__td',\n noSpacing && 'dnb-table__td--no-spacing',\n spacing && `dnb-table__td--spacing-${spacing}`,\n className\n )}\n {...props}\n >\n {children}\n </td>\n )\n}\n\nTd.AccordionContent = TableAccordionTd\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAiD,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,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,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAsBlC,SAASmB,EAAEA,CACxBC,cAC8C,EAC9C;EACA,MAAM;MAAEC,SAAS;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GACzDJ,cAAc;IADoCK,KAAK,GAAAf,wBAAA,CACvDU,cAAc,EAAA5B,SAAA;EAEhB,OACEL,MAAA,CAAAQ,OAAA,CAAA+B,aAAA,OAAA9B,QAAA;IACE+B,IAAI,EAAC,MAAM;IACXN,SAAS,EAAE,IAAAO,mBAAU,EACnB,eAAe,EAGfP,SAAS,EAFTE,SAAS,IAAI,2BAA2B,EACxCC,OAAO,IAAK,0BAAyBA,OAAQ,EAE/C;EAAE,GACEC,KAAK,GAERH,QACC,CAAC;AAET;AAEAH,EAAE,CAACU,gBAAgB,GAAGC,yBAAgB"}
1
+ {"version":3,"file":"TableTd.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordionContent","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Td","componentProps","className","children","noSpacing","spacing","props","createElement","role","classnames","AccordionContent","TableAccordionContentSingle"],"sources":["../../../../src/components/table/TableTd.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { TableAccordionContentSingle } from './table-accordion/TableAccordionContent'\n\nexport type TableTdProps = {\n /**\n * if set to `true`, no padding will be added\n * Default: false\n */\n noSpacing?: boolean\n\n /**\n * Set to `horizontal` for padding on left and right side\n * Default: undefined\n */\n spacing?: 'horizontal'\n\n /**\n * The content of the component.\n * Default: null\n */\n children?: React.ReactNode\n}\n\nexport default function Td(\n componentProps: TableTdProps &\n React.TdHTMLAttributes<HTMLTableCellElement>\n) {\n const { className, children, noSpacing, spacing, ...props } =\n componentProps\n\n return (\n <td\n role=\"cell\"\n className={classnames(\n 'dnb-table__td',\n noSpacing && 'dnb-table__td--no-spacing',\n spacing && `dnb-table__td--spacing-${spacing}`,\n className\n )}\n {...props}\n >\n {children}\n </td>\n )\n}\n\nTd.AccordionContent = TableAccordionContentSingle\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAAqF,MAAAG,SAAA;AAAA,SAAAJ,uBAAAK,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,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAsBtE,SAASmB,EAAEA,CACxBC,cAC8C,EAC9C;EACA,MAAM;MAAEC,SAAS;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAkB,CAAC,GACzDJ,cAAc;IADoCK,KAAK,GAAAf,wBAAA,CACvDU,cAAc,EAAA5B,SAAA;EAEhB,OACEL,MAAA,CAAAQ,OAAA,CAAA+B,aAAA,OAAA9B,QAAA;IACE+B,IAAI,EAAC,MAAM;IACXN,SAAS,EAAE,IAAAO,mBAAU,EACnB,eAAe,EAGfP,SAAS,EAFTE,SAAS,IAAI,2BAA2B,EACxCC,OAAO,IAAK,0BAAyBA,OAAQ,EAE/C;EAAE,GACEC,KAAK,GAERH,QACC,CAAC;AAET;AAEAH,EAAE,CAACU,gBAAgB,GAAGC,kDAA2B"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import TableAccordionTr from './TableAccordionTr';
2
+ import { TableAccordionContentRow } from './table-accordion/TableAccordionContent';
3
3
  export type TableTrProps = {
4
4
  /**
5
5
  * The variant of the tr
@@ -32,17 +32,21 @@ export type TableTrProps = {
32
32
  * Will emit when user clicks/expands the table row
33
33
  * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
34
34
  */
35
- onClick?: (event?: React.SyntheticEvent) => void;
35
+ onClick?: (event: React.SyntheticEvent) => void;
36
36
  /**
37
37
  * Will emit when table row is expanded
38
38
  * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
39
39
  */
40
- onOpened?: (event?: React.SyntheticEvent) => void;
40
+ onOpened?: ({ target }: {
41
+ target: HTMLTableRowElement;
42
+ }) => void;
41
43
  /**
42
44
  * Will emit when table row is closed (after it was open)
43
45
  * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table
44
46
  */
45
- onClosed?: (event?: React.SyntheticEvent) => void;
47
+ onClosed?: ({ target }: {
48
+ target: HTMLTableRowElement;
49
+ }) => void;
46
50
  /**
47
51
  * The content of the component.
48
52
  */
@@ -50,7 +54,7 @@ export type TableTrProps = {
50
54
  };
51
55
  declare function Tr(componentProps: TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>): import("react/jsx-runtime").JSX.Element;
52
56
  declare namespace Tr {
53
- var AccordionContent: typeof TableAccordionTr;
57
+ var AccordionContent: typeof TableAccordionContentRow;
54
58
  }
55
59
  export default Tr;
56
60
  /**
@@ -7,9 +7,9 @@ exports.default = Tr;
7
7
  exports.useHandleOddEven = useHandleOddEven;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _TableAccordion = require("./TableAccordion");
10
+ var _TableAccordionHead = require("./table-accordion/TableAccordionHead");
11
+ var _TableAccordionContent = require("./table-accordion/TableAccordionContent");
11
12
  var _TableContext = require("./TableContext");
12
- var _TableAccordionTr = _interopRequireDefault(require("./TableAccordionTr"));
13
13
  const _excluded = ["variant", "noWrap", "className"],
14
14
  _excluded2 = ["expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed"];
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -34,7 +34,7 @@ function Tr(componentProps) {
34
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');
35
35
  const tableContext = _react.default.useContext(_TableContext.TableContext);
36
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({
37
+ return _react.default.createElement(_TableAccordionHead.TableAccordionHead, _extends({
38
38
  count: count,
39
39
  className: className
40
40
  }, accordionProps));
@@ -112,5 +112,5 @@ function useHandleOddEven(_ref2) {
112
112
  setRerenderAlias({});
113
113
  }
114
114
  }
115
- Tr.AccordionContent = _TableAccordionTr.default;
115
+ Tr.AccordionContent = _TableAccordionContent.TableAccordionContentRow;
116
116
  //# sourceMappingURL=TableTr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableTr.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordion","_TableContext","_TableAccordionTr","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Tr","componentProps","_tableContext$allProp","variant","noWrap","className","_className","accordionProps","currentVariant","isLast","count","useHandleTrVariant","classnames","tableContext","React","useContext","TableContext","allProps","accordion","createElement","TableAccordion","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent","TableAccordionTr"],"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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"}
1
+ {"version":3,"file":"TableTr.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordionHead","_TableAccordionContent","_TableContext","_excluded","_excluded2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Tr","componentProps","_tableContext$allProp","variant","noWrap","className","_className","accordionProps","currentVariant","isLast","count","useHandleTrVariant","classnames","tableContext","React","useContext","TableContext","allProps","accordion","createElement","TableAccordionHead","expanded","disabled","noAnimation","onClick","onOpened","onClosed","trProps","role","_ref","countRef","trCountRef","current","increment","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","children","useRef","setRerenderAlias","isMounted","forceRerender","AccordionContent","TableAccordionContentRow"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { TableAccordionHead } from './table-accordion/TableAccordionHead'\nimport { TableAccordionContentRow } from './table-accordion/TableAccordionContent'\nimport { TableContext } from './TableContext'\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?: ({ target }: { target: HTMLTableRowElement }) => 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?: ({ target }: { target: HTMLTableRowElement }) => 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 <TableAccordionHead\n count={count}\n className={className}\n {...accordionProps}\n />\n )\n }\n\n const {\n expanded, // eslint-disable-line @typescript-eslint/no-unused-vars\n disabled, // eslint-disable-line @typescript-eslint/no-unused-vars\n noAnimation, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClick, // eslint-disable-line @typescript-eslint/no-unused-vars\n onOpened, // eslint-disable-line @typescript-eslint/no-unused-vars\n onClosed, // eslint-disable-line @typescript-eslint/no-unused-vars\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 = TableAccordionContentRow\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,MAAAK,SAAA;EAAAC,UAAA;AAAA,SAAAP,uBAAAQ,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,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AA2D9B,SAASmB,EAAEA,CACxBC,cACgD,EAChD;EAAA,IAAAC,qBAAA;EACA,MAAM;MACJC,OAAO;MACPC,MAAM;MACNC,SAAS,EAAEC;IAEb,CAAC,GAAGL,cAAc;IADbM,cAAc,GAAAhB,wBAAA,CACfU,cAAc,EAAA7B,SAAA;EAElB,MAAM;IAAEoC,cAAc;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGC,kBAAkB,CAAC;IAC3DR;EACF,CAAC,CAAC;EAEF,MAAME,SAAS,GAAG,IAAAO,mBAAU,EAC1B,eAAe,EAIfN,UAAU,EAHVE,cAAc,IAAK,kBAAiBA,cAAe,EAAC,EACpDC,MAAM,IAAI,qBAAqB,EAC/BL,MAAM,IAAI,oBAEZ,CAAC;EAED,MAAMS,YAAY,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EACnD,IAAIH,YAAY,aAAZA,YAAY,gBAAAX,qBAAA,GAAZW,YAAY,CAAEI,QAAQ,cAAAf,qBAAA,eAAtBA,qBAAA,CAAwBgB,SAAS,EAAE;IACrC,OACErD,MAAA,CAAAW,OAAA,CAAA2C,aAAA,CAAClD,mBAAA,CAAAmD,kBAAkB,EAAA3C,QAAA;MACjBiC,KAAK,EAAEA,KAAM;MACbL,SAAS,EAAEA;IAAU,GACjBE,cAAc,CACnB,CAAC;EAEN;EAEA,MAAM;MACJc,QAAQ;MACRC,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,QAAQ;MACRC;IAEF,CAAC,GAAGnB,cAAc;IADboB,OAAO,GAAApC,wBAAA,CACRgB,cAAc,EAAAlC,UAAA;EAElB,OAAOR,MAAA,CAAAW,OAAA,CAAA2C,aAAA,OAAA1C,QAAA;IAAImD,IAAI,EAAC,KAAK;IAACvB,SAAS,EAAEA;EAAU,GAAKsB,OAAO,CAAG,CAAC;AAC7D;AAEA,SAAShB,kBAAkBA,CAAAkB,IAAA,EAAc;EAAA,IAAb;IAAE1B;EAAQ,CAAC,GAAA0B,IAAA;EACrC,MAAMhB,YAAY,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EAKnD,MAAMc,QAAQ,GAAGjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkB,UAAU,CAACC,OAAO;EACjD,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOH,QAAQ,KAAK,WAAW,EAAE;MACnC,OAAO,CAAC;IACV;IACA,IACE,CAAC3B,OAAO,IACPA,OAAO,KAAK,MAAM,IAAI2B,QAAQ,CAACpB,KAAK,GAAG,CAAC,KAAK,CAAE,IAC/CP,OAAO,KAAK,KAAK,IAAI2B,QAAQ,CAACpB,KAAK,GAAG,CAAC,KAAK,CAAE,EAC/C;MACAoB,QAAQ,CAACpB,KAAK,EAAE;IAClB;IAEA,OAAOoB,QAAQ,CAACpB,KAAK;EACvB,CAAC;EAED,MAAM,CAACA,KAAK,EAAEwB,QAAQ,CAAC,GAAGpB,cAAK,CAACqB,QAAQ,CAAC,MAAM;IAE7C,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MACjC,OAAOH,SAAS,CAAC,CAAC;IACpB;EACF,CAAC,CAAC;EAGFnB,cAAK,CAACuB,SAAS,CAAC,MAAM;IAEpBH,QAAQ,CAACD,SAAS,CAAC,CAAC,CAAC;EACvB,CAAC,EAAE,CAACpB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEyB,aAAa,CAAC,CAAC;EAQjC,IAAI9B,cAAc,GAAGL,OAAO;EAC5B,IAAI,CAACK,cAAc,EAAE;IACnBA,cAAc,GAAGE,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM;EAC7C;EACA,MAAMD,MAAM,GACV,OAAOqB,QAAQ,KAAK,WAAW,IAAIA,QAAQ,CAACpB,KAAK,KAAKA,KAAK;EAC7D,OAAO;IACLF,cAAc;IACdC,MAAM;IACNC;EACF,CAAC;AACH;AAKO,SAAS6B,gBAAgBA,CAAAC,KAAA,EAAe;EAAA,IAAd;IAAEC;EAAS,CAAC,GAAAD,KAAA;EAE3C,MAAMT,UAAU,GAAGjB,cAAK,CAAC4B,MAAM,CAAC;IAAEhC,KAAK,EAAE;EAAE,CAAC,CAAC;EAI7C,MAAM,CAAC4B,aAAa,EAAEK,gBAAgB,CAAC,GAAG7B,cAAK,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAAC;EAE5D,MAAMS,SAAS,GAAG9B,cAAK,CAAC4B,MAAM,CAAC,KAAK,CAAC;EACrC5B,cAAK,CAACuB,SAAS,CAAC,MAAM;IACpB,IAAIO,SAAS,CAACZ,OAAO,EAAE;MACrBa,aAAa,CAAC,CAAC;IACjB;IACAD,SAAS,CAACZ,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,CAACS,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEV,UAAU;IAAEO,aAAa;IAAEK;EAAiB,CAAC;EAEtD,SAASE,aAAaA,CAAA,EAAG;IACvBd,UAAU,CAACC,OAAO,CAACtB,KAAK,GAAG,CAAC;IAC5BiC,gBAAgB,CAAC,CAAC,CAAC,CAAC;EACtB;AACF;AAEA3C,EAAE,CAAC8C,gBAAgB,GAAGC,+CAAwB"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ type TableAccordionContentProps = {
3
+ /** Set to true to expanded the content on initial render */
4
+ expanded?: boolean;
5
+ /** Set to true to skip animation */
6
+ noAnimation?: boolean;
7
+ /** Overwrite the internal collected colSpan (add +1) */
8
+ colSpan?: number;
9
+ variant: 'row' | 'single';
10
+ } & React.TableHTMLAttributes<HTMLTableRowElement>;
11
+ export type TableAccordionContentRowProps = Omit<TableAccordionContentProps, 'variant' | 'colSpan'>;
12
+ export type TableAccordionContentSingleProps = Omit<TableAccordionContentProps, 'variant'>;
13
+ export declare function TableAccordionContentRow(props: TableAccordionContentRowProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function TableAccordionContentSingle({ colSpan, ...props }: TableAccordionContentSingleProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -3,12 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = TableAccordionTd;
6
+ exports.TableAccordionContentRow = TableAccordionContentRow;
7
+ exports.TableAccordionContentSingle = TableAccordionContentSingle;
7
8
  var _react = _interopRequireDefault(require("react"));
8
9
  var _classnames = _interopRequireDefault(require("classnames"));
9
10
  var _useTableAnimationHandler = _interopRequireDefault(require("./useTableAnimationHandler"));
10
- var _TableContext = require("./TableContext");
11
- const _excluded = ["expanded", "noAnimation", "className", "children", "colSpan", "style"];
11
+ var _TableContext = require("../TableContext");
12
+ var _TableAccordionContext = require("./TableAccordionContext");
13
+ const _excluded = ["variant", "expanded", "noAnimation", "className", "children", "colSpan", "style"],
14
+ _excluded2 = ["colSpan"];
12
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
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); }
14
17
  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; }
@@ -18,19 +21,19 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
18
21
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
22
  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; }
20
23
  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; }
21
- function TableAccordionTd(componentProps) {
24
+ function TableAccordionContent(componentProps) {
22
25
  var _React$useContext;
23
26
  const {
27
+ variant,
24
28
  expanded = null,
25
29
  noAnimation = null,
26
30
  className,
27
31
  children,
28
- colSpan = 100,
32
+ colSpan,
29
33
  style
30
34
  } = componentProps,
31
35
  props = _objectWithoutProperties(componentProps, _excluded);
32
- const allProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
33
- const tableAccordionContext = _react.default.useContext(_TableContext.TableAccordionContext);
36
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
34
37
  const innerRef = _react.default.useRef(null);
35
38
  const trRef = _react.default.useRef(null);
36
39
  const {
@@ -45,27 +48,59 @@ function TableAccordionTd(componentProps) {
45
48
  expanded,
46
49
  noAnimation
47
50
  });
48
- const countTds = (tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.countTds) || colSpan;
51
+ const chevronTdProps = {
52
+ ariaLive,
53
+ isInDOM,
54
+ accordionMoreContentSR: tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionMoreContentSR
55
+ };
49
56
  return _react.default.createElement("tr", _extends({
50
57
  "aria-hidden": !isInDOM,
51
58
  hidden: isInDOM ? undefined : true,
52
59
  role: isInDOM ? 'row' : undefined,
53
60
  style: _objectSpread(_objectSpread({}, firstPaintStyle), style),
54
- className: (0, _classnames.default)("dnb-table__tr__accordion-content dnb-table__tr__accordion-content--single", className, isInDOM && "dnb-table__tr dnb-table__tr__accordion-content--expanded", isAnimating && 'dnb-table__tr__accordion-content--animating', isVisibleParallax && 'dnb-table__tr__accordion-content--parallax'),
61
+ className: (0, _classnames.default)(`dnb-table__tr__accordion-content dnb-table__tr__accordion-content--${variant}`, className, isInDOM && "dnb-table__tr dnb-table__tr__accordion-content--expanded", isAnimating && 'dnb-table__tr__accordion-content--animating', isVisibleParallax && 'dnb-table__tr__accordion-content--parallax'),
55
62
  ref: trRef
56
- }, props), _react.default.createElement("td", {
57
- role: isInDOM ? 'cell' : undefined,
58
- colSpan: countTds,
59
- className: "dnb-table__td"
60
- }, isInDOM && _react.default.createElement("div", {
63
+ }, props), variant === 'row' && _react.default.createElement(_react.default.Fragment, null, (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionChevronPlacement) !== 'end' && _react.default.createElement(ChevronTd, chevronTdProps), isInDOM && children, (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionChevronPlacement) === 'end' && _react.default.createElement(ChevronTd, chevronTdProps)), variant === 'single' && _react.default.createElement(ChevronTd, _extends({}, chevronTdProps, {
64
+ colSpan: colSpan
65
+ }), isInDOM && _react.default.createElement("div", {
61
66
  className: "dnb-table__tr__accordion-content__inner",
62
67
  ref: innerRef
63
68
  }, _react.default.createElement("div", {
64
69
  className: "dnb-table__tr__accordion-content__inner__spacing"
65
- }, children)), _react.default.createElement("span", {
70
+ }, children))));
71
+ }
72
+ const ChevronTd = _ref => {
73
+ let {
74
+ children = undefined,
75
+ colSpan = undefined,
76
+ ariaLive,
77
+ isInDOM,
78
+ accordionMoreContentSR
79
+ } = _ref;
80
+ return _react.default.createElement("td", {
81
+ role: isInDOM ? 'cell' : undefined,
82
+ className: "dnb-table__td",
83
+ colSpan: colSpan
84
+ }, children, _react.default.createElement("span", {
66
85
  className: "dnb-sr-only"
67
86
  }, _react.default.createElement("span", {
68
87
  "aria-live": "assertive"
69
- }, isInDOM && ariaLive ? allProps === null || allProps === void 0 ? void 0 : allProps.accordionMoreContentSR : null))));
88
+ }, isInDOM && ariaLive ? accordionMoreContentSR : null)));
89
+ };
90
+ function TableAccordionContentRow(props) {
91
+ return _react.default.createElement(TableAccordionContent, _extends({
92
+ variant: "row"
93
+ }, props));
94
+ }
95
+ function TableAccordionContentSingle(_ref2) {
96
+ let {
97
+ colSpan = 100
98
+ } = _ref2,
99
+ props = _objectWithoutProperties(_ref2, _excluded2);
100
+ const tableAccordionContext = _react.default.useContext(_TableAccordionContext.TableAccordionContext);
101
+ return _react.default.createElement(TableAccordionContent, _extends({
102
+ variant: "single",
103
+ colSpan: (tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.countTds) || colSpan
104
+ }, props));
70
105
  }
71
- //# sourceMappingURL=TableAccordionTd.js.map
106
+ //# sourceMappingURL=TableAccordionContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableAccordionContent.js","names":["_react","_interopRequireDefault","require","_classnames","_useTableAnimationHandler","_TableContext","_TableAccordionContext","_excluded","_excluded2","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","TableAccordionContent","componentProps","_React$useContext","variant","expanded","noAnimation","className","children","colSpan","style","props","tableContextAllProps","React","useContext","TableContext","allProps","innerRef","useRef","trRef","ariaLive","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","useTableAnimationHandler","chevronTdProps","accordionMoreContentSR","createElement","hidden","role","classnames","ref","Fragment","accordionChevronPlacement","ChevronTd","_ref","TableAccordionContentRow","TableAccordionContentSingle","_ref2","tableAccordionContext","TableAccordionContext","countTds"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionContent.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport useTableAnimationHandler from './useTableAnimationHandler'\nimport { TableContext } from '../TableContext'\nimport { TableAccordionContext } from './TableAccordionContext'\n\ntype TableAccordionContentProps = {\n /** Set to true to expanded the content on initial render */\n expanded?: boolean\n /** Set to true to skip animation */\n noAnimation?: boolean\n /** Overwrite the internal collected colSpan (add +1) */\n colSpan?: number\n variant: 'row' | 'single'\n} & React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport type TableAccordionContentRowProps = Omit<\n TableAccordionContentProps,\n 'variant' | 'colSpan'\n>\n\nexport type TableAccordionContentSingleProps = Omit<\n TableAccordionContentProps,\n 'variant'\n>\n\nfunction TableAccordionContent(\n componentProps: TableAccordionContentProps\n) {\n const {\n variant,\n expanded = null,\n noAnimation = null,\n className,\n children,\n colSpan,\n style,\n ...props\n } = componentProps\n\n const tableContextAllProps = React.useContext(TableContext)?.allProps\n const innerRef = React.useRef<HTMLDivElement>(null)\n const trRef = React.useRef<HTMLTableRowElement>(null)\n const {\n ariaLive,\n isInDOM,\n isAnimating,\n isVisibleParallax,\n firstPaintStyle,\n } = useTableAnimationHandler({\n innerRef,\n trRef,\n expanded,\n noAnimation,\n })\n\n const chevronTdProps = {\n ariaLive,\n isInDOM,\n accordionMoreContentSR: tableContextAllProps?.accordionMoreContentSR,\n }\n\n return (\n <tr\n /**\n * VoiceOver needs the \"tr\" to be in the DOM in order to be able to continue reading downwards,\n * even it is either closed or opened. Else VO pretends that this current table row is the end of the table.\n *\n * + All the browsers do count the correct number (childCount) of rows + NVDA counts correct when used with Chrome.\n * - Firefox on Windows does it as well, but not when used with NVDA.\n */\n aria-hidden={!isInDOM} // NVDA and VoiceOver needs \"aria-hidden\" to remove it from the accessibility tree\n hidden={isInDOM ? undefined : true} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"tr\" element)\n role={isInDOM ? 'row' : undefined} // NVDA and VoiceOver needs \"hidden\" to be true in order to not count invisible table rows (based on \"role\" element)\n style={{ ...firstPaintStyle, ...style }}\n className={classnames(\n isInDOM && 'dnb-table__tr',\n 'dnb-table__tr__accordion-content',\n `dnb-table__tr__accordion-content--${variant}`,\n isInDOM && 'dnb-table__tr__accordion-content--expanded',\n isAnimating && 'dnb-table__tr__accordion-content--animating',\n isVisibleParallax && 'dnb-table__tr__accordion-content--parallax',\n className\n )}\n ref={trRef}\n {...props}\n >\n {variant === 'row' && (\n <>\n {tableContextAllProps?.accordionChevronPlacement !== 'end' && (\n <ChevronTd {...chevronTdProps} />\n )}\n {isInDOM && children}\n {tableContextAllProps?.accordionChevronPlacement === 'end' && (\n <ChevronTd {...chevronTdProps} />\n )}\n </>\n )}\n {variant === 'single' && (\n <ChevronTd {...chevronTdProps} colSpan={colSpan}>\n {isInDOM && (\n <div\n className=\"dnb-table__tr__accordion-content__inner\"\n ref={innerRef}\n >\n <div className=\"dnb-table__tr__accordion-content__inner__spacing\">\n {children}\n </div>\n </div>\n )}\n </ChevronTd>\n )}\n </tr>\n )\n}\n\nconst ChevronTd = ({\n children = undefined,\n colSpan = undefined,\n ariaLive,\n isInDOM,\n accordionMoreContentSR,\n}) => (\n <td\n role={isInDOM ? 'cell' : undefined} // remove the \"role\", because the parent role is removed as well\n className=\"dnb-table__td\"\n colSpan={colSpan}\n >\n {children}\n <span className=\"dnb-sr-only\">\n <span aria-live=\"assertive\">\n {isInDOM && ariaLive ? accordionMoreContentSR : null}\n </span>\n </span>\n </td>\n)\n\nexport function TableAccordionContentRow(\n props: TableAccordionContentRowProps\n) {\n return <TableAccordionContent variant=\"row\" {...props} />\n}\n\nexport function TableAccordionContentSingle({\n colSpan = 100,\n ...props\n}: TableAccordionContentSingleProps) {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n\n return (\n <TableAccordionContent\n variant=\"single\"\n colSpan={tableAccordionContext?.countTds || colSpan}\n {...props}\n />\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Web TableContext Context
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import type { TableTrProps } from '../TableTr';
7
+ type TableAccordionContextProps = {
8
+ toggleOpenTr: (event: React.SyntheticEvent, allowInteractiveElement?: boolean) => void;
9
+ trIsOpen: boolean;
10
+ countTds: number;
11
+ noAnimation: TableTrProps['noAnimation'];
12
+ onOpened: TableTrProps['onOpened'];
13
+ onClosed: TableTrProps['onClosed'];
14
+ };
15
+ export declare const TableAccordionContext: React.Context<TableAccordionContextProps>;
16
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TableAccordionContext = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const TableAccordionContext = _react.default.createContext(null);
10
+ exports.TableAccordionContext = TableAccordionContext;
11
+ //# sourceMappingURL=TableAccordionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableAccordionContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","TableAccordionContext","React","createContext","exports"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionContext.tsx"],"sourcesContent":["/**\n * Web TableContext Context\n *\n */\n\nimport React from 'react'\nimport type { TableTrProps } from '../TableTr'\n\ntype TableAccordionContextProps = {\n toggleOpenTr: (\n event: React.SyntheticEvent,\n allowInteractiveElement?: boolean\n ) => void\n trIsOpen: boolean\n countTds: number\n noAnimation: TableTrProps['noAnimation']\n onOpened: TableTrProps['onOpened']\n onClosed: TableTrProps['onClosed']\n}\n\nexport const TableAccordionContext =\n React.createContext<TableAccordionContextProps>(null)\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAelB,MAAMG,qBAAqB,GAChCC,cAAK,CAACC,aAAa,CAA6B,IAAI,CAAC;AAAAC,OAAA,CAAAH,qBAAA,GAAAA,qBAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { TableTrProps } from '../TableTr';
3
+ export type TableAccordionHeadProps = {
4
+ /** The row number */
5
+ count: number;
6
+ } & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>;
7
+ export declare function TableAccordionHead(allProps: TableAccordionHeadProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
@@ -4,19 +4,19 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.TableAccordion = TableAccordion;
7
+ exports.TableAccordionHead = TableAccordionHead;
8
8
  exports.TableAccordionToggleButton = TableAccordionToggleButton;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
- var _Button = _interopRequireDefault(require("../button/Button"));
12
- var _IconPrimary = _interopRequireDefault(require("../icon/IconPrimary"));
13
- var _TableTh = _interopRequireDefault(require("./TableTh"));
14
- var _TableTd = _interopRequireDefault(require("./TableTd"));
15
- var _TableContext = require("./TableContext");
16
11
  var _keycode = _interopRequireDefault(require("keycode"));
17
- var _helpers = require("../../shared/helpers");
18
- var _TableAccordionTd = _interopRequireDefault(require("./TableAccordionTd"));
19
- var _TableAccordionTr = _interopRequireDefault(require("./TableAccordionTr"));
12
+ var _helpers = require("../../../shared/helpers");
13
+ var _Button = _interopRequireDefault(require("../../button/Button"));
14
+ var _IconPrimary = _interopRequireDefault(require("../../icon/IconPrimary"));
15
+ var _TableTh = _interopRequireDefault(require("../TableTh"));
16
+ var _TableTd = _interopRequireDefault(require("../TableTd"));
17
+ var _TableContext = require("../TableContext");
18
+ var _TableAccordionContext = require("./TableAccordionContext");
19
+ var _TableAccordionContent = require("./TableAccordionContent");
20
20
  var _Td;
21
21
  const _excluded = ["children", "className", "expanded", "disabled", "noAnimation", "onClick", "onOpened", "onClosed", "count"];
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -25,7 +25,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
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); }
26
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
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) {
28
+ function TableAccordionHead(allProps) {
29
29
  const {
30
30
  children,
31
31
  className,
@@ -97,13 +97,12 @@ function TableAccordion(allProps) {
97
97
  const countTds = hasAccordionContent ? headerContent.filter(element => {
98
98
  return element.type === _TableTd.default;
99
99
  }).length : null;
100
- return _react.default.createElement(_TableContext.TableAccordionContext.Provider, {
100
+ return _react.default.createElement(_TableAccordionContext.TableAccordionContext.Provider, {
101
101
  value: {
102
102
  toggleOpenTr,
103
103
  trIsOpen,
104
104
  noAnimation,
105
105
  countTds,
106
- hasAccordionContent,
107
106
  onOpened,
108
107
  onClosed
109
108
  }
@@ -144,9 +143,9 @@ function TableAccordion(allProps) {
144
143
  }
145
144
  function TableAccordionToggleButton() {
146
145
  var _React$useContext;
147
- const tableAccordionContext = _react.default.useContext(_TableContext.TableAccordionContext);
148
- const allProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
149
- const iconSize = allProps.size === 'medium' || allProps.size === 'small' ? 'basis' : 'medium';
146
+ const tableAccordionContext = _react.default.useContext(_TableAccordionContext.TableAccordionContext);
147
+ const tableContextAllProps = (_React$useContext = _react.default.useContext(_TableContext.TableContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.allProps;
148
+ const iconSize = (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'medium' || (tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.size) === 'small' ? 'basis' : 'medium';
150
149
  return _react.default.createElement("span", {
151
150
  className: "dnb-table__toggle-button"
152
151
  }, _react.default.createElement(_IconPrimary.default, {
@@ -155,11 +154,11 @@ function TableAccordionToggleButton() {
155
154
  }), _react.default.createElement(_Button.default, {
156
155
  className: "dnb-sr-only",
157
156
  tabIndex: -1,
158
- "aria-label": allProps === null || allProps === void 0 ? void 0 : allProps.accordionToggleButtonSR,
157
+ "aria-label": tableContextAllProps === null || tableContextAllProps === void 0 ? void 0 : tableContextAllProps.accordionToggleButtonSR,
159
158
  "aria-expanded": Boolean(tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen),
160
159
  on_click: event => tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.toggleOpenTr(event, true)
161
160
  }));
162
161
  }
163
- const isAccordionElement = element => element.type === _TableAccordionTd.default || element.type === _TableAccordionTr.default;
162
+ const isAccordionElement = element => element.type === _TableAccordionContent.TableAccordionContentSingle || element.type === _TableAccordionContent.TableAccordionContentRow;
164
163
  const isTableHead = children => children.some(element => element.type === _TableTh.default);
165
- //# sourceMappingURL=TableAccordion.js.map
164
+ //# sourceMappingURL=TableAccordionHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableAccordionHead.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_keycode","_helpers","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_TableAccordionContext","_TableAccordionContent","_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","TableAccordionHead","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","tableContextAllProps","iconSize","size","Boolean","on_click","TableAccordionContentSingle","TableAccordionContentRow","some","Th"],"sources":["../../../../../src/components/table/table-accordion/TableAccordionHead.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../../shared/helpers'\nimport Button from '../../button/Button'\nimport IconPrimary from '../../icon/IconPrimary'\nimport Th from '../TableTh'\nimport Td from '../TableTd'\nimport { TableContext } from '../TableContext'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport {\n TableAccordionContentSingle,\n TableAccordionContentRow,\n} from './TableAccordionContent'\n\nimport type {\n TableAccordionContentSingleProps,\n TableAccordionContentRowProps,\n} from './TableAccordionContent'\nimport type { TableTrProps } from '../TableTr'\n\nexport type TableAccordionHeadProps = {\n /** The row number */\n count: number\n} & TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n\nexport function TableAccordionHead(allProps: TableAccordionHeadProps) {\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<\n TableAccordionContentSingleProps | TableAccordionContentRowProps\n >[]\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 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 tableContextAllProps = React.useContext(TableContext)?.allProps\n const iconSize =\n tableContextAllProps?.size === 'medium' ||\n tableContextAllProps?.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={tableContextAllProps?.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 === TableAccordionContentSingle ||\n element.type === TableAccordionContentRow\n\nconst isTableHead = (children: React.ReactNode[]) =>\n children.some((element: React.ReactElement) => element.type === Th)\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,QAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,QAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AACA,IAAAW,sBAAA,GAAAX,OAAA;AAGgC,IAAAY,GAAA;AAAA,MAAAC,SAAA;AAAA,SAAAX,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAnB,wBAAAe,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAczB,SAASe,kBAAkBA,CAACC,QAAiC,EAAE;EACpE,MAAM;MACJC,QAAQ;MACRC,SAAS;MACTC,QAAQ;MACRC,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,QAAQ;MACRC,QAAQ;MACRC;IAEF,CAAC,GAAGT,QAAQ;IADPU,KAAK,GAAApB,wBAAA,CACNU,QAAQ,EAAA1C,SAAA;EACZ,MAAMqD,YAAY,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EAEnD,MAAM,CAACC,QAAQ,EAAEC,OAAO,CAAC,GAAGJ,cAAK,CAACK,QAAQ,CAAC,MAAM;IAC/C,IAAI,OAAOd,QAAQ,KAAK,SAAS,EAAE;MACjC,OAAOA,QAAQ;IACjB,CAAC,MAAM,IAAI,OAAOe,QAAQ,KAAK,WAAW,EAAE;MAC1C,MAAMC,EAAE,GAAGT,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,EAAE;MACpB,IAAIA,EAAE,IAAI,GAAG,GAAGA,EAAE,KAAKD,QAAQ,CAACE,IAAI,EAAE;QACpC,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd,CAAC,CAAC;EACF,MAAM,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAGV,cAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACM,UAAU,EAAEC,WAAW,CAAC,GAAGZ,cAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EAEvD,IAAIQ,aAAa,GAAGb,cAAK,CAACc,QAAQ,CAACC,OAAO,CAAC1B,QAAQ,CAAC;EAEpD,MAAM2B,aAAa,GAAIC,IAAI,IAAK;IAC9B,IAAIlB,YAAY,CAACX,QAAQ,CAAC8B,yBAAyB,KAAK,KAAK,EAAE;MAC7DL,aAAa,CAACM,IAAI,CAACF,IAAI,CAAC;IAC1B,CAAC,MAAM;MACLJ,aAAa,CAACO,OAAO,CAACH,IAAI,CAAC;IAC7B;EACF,CAAC;EAID,MAAMI,gBAAgB,GAAGR,aAAa,CAACS,MAAM,CAC1CC,OAA2B,IAAK;IAC/B,OAAOC,kBAAkB,CAACD,OAAO,CAAC;EACpC,CACF,CAEG;EAEH,MAAME,mBAAmB,GACvBJ,gBAAgB,CAAC9C,MAAM,KAAK,CAAC,IAC7B8C,gBAAgB,CAACK,KAAK,CAAEH,OAAO,IAAKvB,cAAK,CAAC2B,cAAc,CAACJ,OAAO,CAAC,CAAC;EAEpE,IAAAK,gBAAS,EAAC,MAAM;IAAA,IAAAC,qBAAA;IACd,IACEJ,mBAAmB,IACnB1B,YAAY,aAAZA,YAAY,gBAAA8B,qBAAA,GAAZ9B,YAAY,CAAE+B,mBAAmB,cAAAD,qBAAA,eAAjCA,qBAAA,CAAmCE,OAAO,IAC1ClC,KAAK,EACL;MACAE,YAAY,CAAC+B,mBAAmB,CAACC,OAAO,CAAClC,KAAK,CAAC,GAAG,MAAM;QACtDO,OAAO,CAAC,KAAK,CAAC;MAChB,CAAC;IACH;EACF,CAAC,EAAE,CAACP,KAAK,EAAEE,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE+B,mBAAmB,EAAEL,mBAAmB,CAAC,CAAC;EAEnE,MAAMO,QAAQ,GACZ,CAACxC,QAAQ,IAAIiC,mBAAmB,GAC5B;IACE/B,OAAO,EAAEuC,YAAY;IACrBC,YAAY,EAAEC,mBAAmB;IACjCC,YAAY,EAAEC,mBAAmB;IACjCC,SAAS,EAAEC;EACb,CAAC,GACD,CAAC,CAAC;EAER,IAAId,mBAAmB,EAAE;IAEvBZ,aAAa,GAAGA,aAAa,CAACS,MAAM,CAAEC,OAA2B,IAAK;MACpE,OAAO,CAACC,kBAAkB,CAACD,OAAO,CAAC;IACrC,CAAC,CAAC;IAEFP,aAAa,CAAAvE,GAAA,KAAAA,GAAA,GACXd,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACnG,QAAA,CAAAQ,OAAE;MAACyC,SAAS,EAAC,+BAA+B;MAAC3B,GAAG,EAAC;IAAS,GACzDhC,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACC,0BAA0B,MAAE,CAC3B,CAAC,CACP,CAAC;EACH,CAAC,MAAM,IAAIC,WAAW,CAAC7B,aAAa,CAAC,EAAE;IAAA,IAAA8B,qBAAA;IACrC3B,aAAa,CACXrF,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACpG,QAAA,CAAAS,OAAE;MACD,mBAAW;MACXyC,SAAS,EAAC,+BAA+B;MACzC3B,GAAG,EAAC;IAAS,GAEbhC,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,cAAMzC,YAAY,aAAZA,YAAY,wBAAA4C,qBAAA,GAAZ5C,YAAY,CAAEX,QAAQ,cAAAuD,qBAAA,uBAAtBA,qBAAA,CAAwBC,uBAA6B,CACzD,CACN,CAAC;EACH;EAEA,MAAMC,QAAQ,GAAGpB,mBAAmB,GAChCZ,aAAa,CAACS,MAAM,CAAEC,OAA2B,IAAK;IACpD,OAAOA,OAAO,CAACuB,IAAI,KAAKC,gBAAE;EAC5B,CAAC,CAAC,CAACxE,MAAM,GACT,IAAI;EAER,OACE5C,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACjG,sBAAA,CAAAyG,qBAAqB,CAACC,QAAQ;IAC7BC,KAAK,EAAE;MACLjB,YAAY;MACZ9B,QAAQ;MACRV,WAAW;MACXoD,QAAQ;MACRlD,QAAQ;MACRC;IACF;EAAE,GAEFjE,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,OAAAvE,QAAA;IACEkF,QAAQ,EAAE9B,gBAAgB,IAAI,CAAC7B,QAAQ,GAAG,CAAC,GAAG4D,SAAU;IACxD9D,SAAS,EAAE,IAAA+D,mBAAU,EACnB/D,SAAS,EACTmC,mBAAmB,IAAI,sCAAsC,EAC7DtB,QAAQ,IAAI,yBAAyB,EACrCX,QAAQ,IAAI,yBAAyB,EACrCC,WAAW,IAAI,6BAA6B,EAC5CgB,SAAS,IAAIE,UAAU,IAAI,sBAC7B;EAAE,GACEqB,QAAQ,EACRlC,KAAK,GAERe,aACC,CAAC,EACJQ,gBAC6B,CAAC;EAGnC,SAASkB,gBAAgBA,CAACe,KAA2B,EAAE;IACrD,QAAQ,IAAAC,gBAAO,EAACD,KAAK,CAACE,WAAW,CAAC;MAChC,KAAK,OAAO;MACZ,KAAK,OAAO;QACV;UACE,MAAMpF,MAAM,GAAGkF,KAAK,CAAClF,MAAqB;UAC1C,IACEqF,QAAQ,CAACC,aAAa,KAAKtF,MAAM,IACjCA,MAAM,CAACuF,OAAO,KAAK,IAAI,EACvB;YACAvD,OAAO,CAAC,CAACD,QAAQ,CAAC;YAClBmD,KAAK,CAACM,cAAc,CAAC,CAAC;UACxB;QACF;QACA;IACJ;EACF;EACA,SAASzB,mBAAmBA,CAAA,EAAG;IAC7BzB,QAAQ,CAAC,IAAI,CAAC;EAChB;EACA,SAAS2B,mBAAmBA,CAAA,EAAG;IAC7B3B,QAAQ,CAAC,KAAK,CAAC;IACfE,WAAW,CAAC,KAAK,CAAC;EACpB;EACA,SAASqB,YAAYA,CACnBqB,KAA2B,EAE3B;IAAA,IADAO,uBAAuB,GAAAvF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8E,SAAA,GAAA9E,SAAA,MAAG,KAAK;IAE/B,MAAMF,MAAM,GAAGkF,KAAK,CAAClF,MAAqB;IAC1C,IAKE,CAAEqF,QAAQ,CAACC,aAAa,KAAKtF,MAAM,IAOjCA,MAAM,CAACuF,OAAO,KAAK,OAAO,IAC1BvF,MAAM,CAACuF,OAAO,KAAK,OAAO,IAC1BE,uBAAuB,KAKzB,CAAC,IAAAC,wBAAe,EAAC,CAAC,EAClB;MACA1D,OAAO,CAAC,CAACD,QAAQ,CAAC;MAClBS,WAAW,CAAC,IAAI,CAAC;MAEjBlB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG4D,KAAK,CAAC;IAClB;EACF;AACF;AAEO,SAASb,0BAA0BA,CAAA,EAAG;EAAA,IAAAsB,iBAAA;EAC3C,MAAMC,qBAAqB,GAAGhE,cAAK,CAACC,UAAU,CAAC+C,4CAAqB,CAAC;EACrE,MAAMiB,oBAAoB,IAAAF,iBAAA,GAAG/D,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC,cAAA6D,iBAAA,uBAA9BA,iBAAA,CAAgC3E,QAAQ;EACrE,MAAM8E,QAAQ,GACZ,CAAAD,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEE,IAAI,MAAK,QAAQ,IACvC,CAAAF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEE,IAAI,MAAK,OAAO,GAClC,OAAO,GACP,QAAQ;EAEd,OACExI,MAAA,CAAAkB,OAAA,CAAA2F,aAAA;IAAMlD,SAAS,EAAC;EAA0B,GACxC3D,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACrG,YAAA,CAAAU,OAAW;IAACoE,IAAI,EAAC,cAAc;IAACkD,IAAI,EAAED;EAAS,CAAE,CAAC,EACnDvI,MAAA,CAAAkB,OAAA,CAAA2F,aAAA,CAACtG,OAAA,CAAAW,OAAM;IACLyC,SAAS,EAAC,aAAa;IACvB6D,QAAQ,EAAE,CAAC,CAAE;IACb,cAAYc,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAErB,uBAAwB;IAC1D,iBAAewB,OAAO,CAACJ,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAE7D,QAAQ,CAAE;IACxDkE,QAAQ,EAAGf,KAAK,IACdU,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAE/B,YAAY,CAACqB,KAAK,EAAE,IAAI;EAChD,CACF,CACG,CAAC;AAEX;AAEA,MAAM9B,kBAAkB,GAAID,OAA2B,IACrDA,OAAO,CAACuB,IAAI,KAAKwB,kDAA2B,IAC5C/C,OAAO,CAACuB,IAAI,KAAKyB,+CAAwB;AAE3C,MAAM7B,WAAW,GAAIrD,QAA2B,IAC9CA,QAAQ,CAACmF,IAAI,CAAEjD,OAA2B,IAAKA,OAAO,CAACuB,IAAI,KAAK2B,gBAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { TableAccordionTrProps } from './TableAccordionTr';
2
+ import type { TableAccordionContentRowProps } from './TableAccordionContent';
3
3
  export type useTableAnimationHandlerProps = {
4
4
  /**
5
5
  * Ref to <div> inside the <tr> element being expanded/collapsed
@@ -10,11 +10,15 @@ export type useTableAnimationHandlerProps = {
10
10
  */
11
11
  trRef: React.MutableRefObject<HTMLTableRowElement>;
12
12
  };
13
- export declare function useTableAnimationHandler({ innerRef, trRef, expanded, noAnimation, }: useTableAnimationHandlerProps & TableAccordionTrProps): {
13
+ export declare function useTableAnimationHandler({ innerRef, trRef, expanded, noAnimation, }: useTableAnimationHandlerProps & TableAccordionContentRowProps): {
14
14
  ariaLive: any;
15
15
  isInDOM: boolean;
16
16
  isAnimating: boolean;
17
17
  isVisibleParallax: boolean;
18
- firstPaintStyle: React.CSSProperties;
18
+ firstPaintStyle: {
19
+ readonly visibility: "hidden";
20
+ readonly opacity: "0";
21
+ readonly height: "auto";
22
+ } | Record<string, never>;
19
23
  };
20
24
  export default useTableAnimationHandler;
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  exports.useTableAnimationHandler = useTableAnimationHandler;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _componentHelper = require("../../shared/component-helper");
10
- var _useHeightAnimation = require("../height-animation/useHeightAnimation");
11
- var _TableContext = require("./TableContext");
9
+ var _componentHelper = require("../../../shared/component-helper");
10
+ var _useHeightAnimation = require("../../height-animation/useHeightAnimation");
11
+ var _TableAccordionContext = require("./TableAccordionContext");
12
12
  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); }
13
13
  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; }
14
14
  function useTableAnimationHandler(_ref) {
@@ -18,7 +18,7 @@ function useTableAnimationHandler(_ref) {
18
18
  expanded,
19
19
  noAnimation
20
20
  } = _ref;
21
- const tableAccordionContext = _react.default.useContext(_TableContext.TableAccordionContext);
21
+ const tableAccordionContext = _react.default.useContext(_TableAccordionContext.TableAccordionContext);
22
22
  const [ariaLive, setAriaLive] = _react.default.useState(null);
23
23
  const open = Boolean(expanded || (tableAccordionContext === null || tableAccordionContext === void 0 ? void 0 : tableAccordionContext.trIsOpen));
24
24
  const scrollViewHandler = (0, _react.useCallback)(clip => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableAnimationHandler.js","names":["_react","_interopRequireWildcard","require","_componentHelper","_useHeightAnimation","_TableAccordionContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useTableAnimationHandler","_ref","innerRef","trRef","expanded","noAnimation","tableAccordionContext","React","useContext","TableAccordionContext","ariaLive","setAriaLive","useState","open","Boolean","trIsOpen","scrollViewHandler","useCallback","clip","scrollView","getClosestScrollViewElement","current","HTMLElement","style","overflowY","onOpen","state","onAnimationStart","onAnimationEnd","_tableAccordionContex","_tableAccordionContex2","event","target","onOpened","onClosed","isInDOM","isAnimating","isVisibleParallax","firstPaintStyle","useHeightAnimation","animate","_default","exports"],"sources":["../../../../../src/components/table/table-accordion/useTableAnimationHandler.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { getClosestScrollViewElement } from '../../../shared/component-helper'\nimport { useHeightAnimation } from '../../height-animation/useHeightAnimation'\nimport { TableAccordionContext } from './TableAccordionContext'\nimport type { TableAccordionContentRowProps } from './TableAccordionContent'\n\nexport type useTableAnimationHandlerProps = {\n /**\n * Ref to <div> inside the <tr> element being expanded/collapsed\n */\n innerRef: React.MutableRefObject<HTMLDivElement>\n /**\n * Ref to the <tr> element being clicked\n */\n trRef: React.MutableRefObject<HTMLTableRowElement>\n}\n\nexport function useTableAnimationHandler({\n innerRef,\n trRef,\n expanded,\n noAnimation,\n}: useTableAnimationHandlerProps & TableAccordionContentRowProps) {\n const tableAccordionContext = React.useContext(TableAccordionContext)\n const [ariaLive, setAriaLive] = React.useState(null)\n const open = Boolean(expanded || tableAccordionContext?.trIsOpen)\n\n const scrollViewHandler = useCallback(\n (clip: boolean) => {\n const scrollView = getClosestScrollViewElement(\n trRef.current\n ) as HTMLElement\n if (scrollView instanceof HTMLElement) {\n scrollView.style.overflowY = clip ? 'clip' : ''\n }\n },\n [trRef]\n )\n\n const onOpen = useCallback((state) => {\n setAriaLive(state ? true : null)\n }, [])\n\n const onAnimationStart = useCallback(() => {\n scrollViewHandler(true)\n }, [scrollViewHandler])\n\n const onAnimationEnd = useCallback(\n (state) => {\n const event = { target: trRef.current }\n switch (state) {\n case 'opened':\n tableAccordionContext.onOpened?.(event)\n break\n\n case 'closed':\n tableAccordionContext.onClosed?.(event)\n break\n }\n\n scrollViewHandler(false)\n },\n [scrollViewHandler, tableAccordionContext, trRef]\n )\n\n const { isInDOM, isAnimating, isVisibleParallax, firstPaintStyle } =\n useHeightAnimation(innerRef, {\n open,\n animate: Boolean(\n !noAnimation && !tableAccordionContext?.noAnimation\n ),\n onOpen,\n onAnimationStart,\n onAnimationEnd,\n })\n\n return {\n ariaLive,\n isInDOM,\n isAnimating,\n isVisibleParallax,\n firstPaintStyle,\n }\n}\n\nexport default useTableAnimationHandler\n"],"mappings":"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"}
@@ -33,9 +33,6 @@ export type TabsChildren =
33
33
  export interface TabsProps
34
34
  extends Omit<React.HTMLProps<HTMLElement>, 'ref'>,
35
35
  SpacingProps {
36
- /**
37
- * defines the data structure to load as a JSON. e.g. `[{title: '...', content: 'Current tab', key: '...', hash: '...'}]`
38
- */
39
36
  data?: TabsData;
40
37
  /**
41
38
  * the content to render. Can be a function, returning the current tab content `(key) => ('Current tab')`, a React Component or an object with the keys and content `{key1: 'Current tab'}`.
@@ -1,3 +1,4 @@
1
1
  import { PropertiesTableProps } from '../../shared/types';
2
2
  export declare const TabsProperties: PropertiesTableProps;
3
+ export declare const TabsDataObject: PropertiesTableProps;
3
4
  export declare const TabsEvents: PropertiesTableProps;