@navikt/ds-react 8.10.3 → 8.10.5

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 (242) hide show
  1. package/cjs/action-menu/ActionMenu.js +1 -1
  2. package/cjs/action-menu/ActionMenu.js.map +1 -1
  3. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
  4. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  5. package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
  6. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
  7. package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
  8. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
  9. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  10. package/cjs/data/drag-and-drop/types.d.ts +0 -4
  11. package/cjs/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
  12. package/cjs/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +5 -5
  13. package/cjs/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
  14. package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
  15. package/cjs/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +12 -12
  16. package/cjs/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
  17. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
  18. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +6 -0
  19. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
  20. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
  21. package/cjs/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +10 -10
  22. package/cjs/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
  23. package/cjs/data/stories/Data.test-data.d.ts +24 -0
  24. package/cjs/data/stories/Data.test-data.js +1615 -0
  25. package/cjs/data/stories/Data.test-data.js.map +1 -0
  26. package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +4 -1
  27. package/cjs/data/table/column-header/DataTableColumnHeader.js +4 -4
  28. package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  29. package/cjs/data/table/column-header/useTableColumnResize.d.ts +21 -18
  30. package/cjs/data/table/column-header/useTableColumnResize.js +7 -25
  31. package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
  32. package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +6 -0
  33. package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js +32 -0
  34. package/cjs/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -0
  35. package/cjs/data/table/helpers/collectTableRowEntries.d.ts +9 -7
  36. package/cjs/data/table/helpers/collectTableRowEntries.js +21 -14
  37. package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -1
  38. package/cjs/data/table/helpers/table-focus.d.ts +0 -3
  39. package/cjs/data/table/helpers/table-focus.js +38 -8
  40. package/cjs/data/table/helpers/table-focus.js.map +1 -1
  41. package/cjs/data/table/hooks/useColumnOptions.js +18 -5
  42. package/cjs/data/table/hooks/useColumnOptions.js.map +1 -1
  43. package/cjs/data/table/hooks/useGridCache.js +2 -2
  44. package/cjs/data/table/hooks/useGridCache.js.map +1 -1
  45. package/cjs/data/table/hooks/useTableDetailsPanel.d.ts +62 -0
  46. package/cjs/data/table/hooks/{useTableExpansion.js → useTableDetailsPanel.js} +21 -20
  47. package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -0
  48. package/cjs/data/table/hooks/useTableItems.d.ts +14 -17
  49. package/cjs/data/table/hooks/useTableItems.js +17 -16
  50. package/cjs/data/table/hooks/useTableItems.js.map +1 -1
  51. package/cjs/data/table/hooks/useTableKeyboardNav.js +5 -1
  52. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  53. package/cjs/data/table/hooks/useTableSelection.d.ts +4 -2
  54. package/cjs/data/table/hooks/useTableSelection.js +6 -1
  55. package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
  56. package/cjs/data/table/index.d.ts +1 -2
  57. package/cjs/data/table/index.js +22 -12
  58. package/cjs/data/table/index.js.map +1 -1
  59. package/cjs/data/table/root/DataTable.types.d.ts +7 -9
  60. package/cjs/data/table/root/DataTableRoot.context.d.ts +5 -1
  61. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
  62. package/cjs/data/table/root/DataTableRoot.d.ts +79 -115
  63. package/cjs/data/table/root/DataTableRoot.js +163 -38
  64. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  65. package/cjs/data/table/root/DataTableRoot.legacy.d.ts +177 -0
  66. package/cjs/data/table/root/DataTableRoot.legacy.js +104 -0
  67. package/cjs/data/table/root/DataTableRoot.legacy.js.map +1 -0
  68. package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.d.ts +6 -0
  69. package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js +21 -0
  70. package/cjs/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -0
  71. package/cjs/data/table/tr/DataTableTr.js +11 -11
  72. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  73. package/cjs/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  74. package/cjs/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  75. package/cjs/utils/components/floating/Floating.d.ts +16 -1
  76. package/cjs/utils/components/floating/Floating.js +50 -13
  77. package/cjs/utils/components/floating/Floating.js.map +1 -1
  78. package/cjs/utils/components/floating-menu/Menu.js +1 -1
  79. package/cjs/utils/components/floating-menu/Menu.js.map +1 -1
  80. package/cjs/utils/helpers/create-strict-context.js +1 -1
  81. package/cjs/utils/helpers/create-strict-context.js.map +1 -1
  82. package/cjs/utils/hooks/useControllableState.d.ts +5 -5
  83. package/cjs/utils/hooks/useControllableState.js.map +1 -1
  84. package/cjs/utils/hooks/useValueAsRef.js +1 -1
  85. package/cjs/utils/hooks/useValueAsRef.js.map +1 -1
  86. package/cjs/utils-external/hooks/useId.js +1 -1
  87. package/cjs/utils-external/hooks/useId.js.map +1 -1
  88. package/esm/action-menu/ActionMenu.js +1 -1
  89. package/esm/action-menu/ActionMenu.js.map +1 -1
  90. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +11 -12
  91. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  92. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +4 -2
  93. package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -1
  94. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +5 -5
  95. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +49 -28
  96. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  97. package/esm/data/drag-and-drop/types.d.ts +0 -4
  98. package/esm/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.d.ts} +3 -3
  99. package/esm/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js} +4 -4
  100. package/esm/data/drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.js.map +1 -0
  101. package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.d.ts +27 -0
  102. package/esm/data/{drag-and-drop-old/item/DataDragAndDropItem.js → drag-and-drop-legacy/item/DragAndDropItemLegacy.js} +11 -11
  103. package/esm/data/drag-and-drop-legacy/item/DragAndDropItemLegacy.js.map +1 -0
  104. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.d.ts +5 -0
  105. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js +3 -0
  106. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacy.context.js.map +1 -0
  107. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.d.ts +24 -0
  108. package/esm/data/{drag-and-drop-old/root/DataDragAndDropRoot.js → drag-and-drop-legacy/root/DragAndDropLegacyRoot.js} +8 -8
  109. package/esm/data/drag-and-drop-legacy/root/DragAndDropLegacyRoot.js.map +1 -0
  110. package/esm/data/stories/Data.test-data.d.ts +24 -0
  111. package/esm/data/stories/Data.test-data.js +1606 -0
  112. package/esm/data/stories/Data.test-data.js.map +1 -0
  113. package/esm/data/table/column-header/DataTableColumnHeader.d.ts +4 -1
  114. package/esm/data/table/column-header/DataTableColumnHeader.js +4 -4
  115. package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  116. package/esm/data/table/column-header/useTableColumnResize.d.ts +21 -18
  117. package/esm/data/table/column-header/useTableColumnResize.js +7 -25
  118. package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
  119. package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.d.ts +6 -0
  120. package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js +27 -0
  121. package/esm/data/table/details-panel-row/DataTableDetailsPanelRow.js.map +1 -0
  122. package/esm/data/table/helpers/collectTableRowEntries.d.ts +9 -7
  123. package/esm/data/table/helpers/collectTableRowEntries.js +21 -14
  124. package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -1
  125. package/esm/data/table/helpers/table-focus.d.ts +0 -3
  126. package/esm/data/table/helpers/table-focus.js +38 -8
  127. package/esm/data/table/helpers/table-focus.js.map +1 -1
  128. package/esm/data/table/hooks/useColumnOptions.js +18 -5
  129. package/esm/data/table/hooks/useColumnOptions.js.map +1 -1
  130. package/esm/data/table/hooks/useGridCache.js +2 -2
  131. package/esm/data/table/hooks/useGridCache.js.map +1 -1
  132. package/esm/data/table/hooks/useTableDetailsPanel.d.ts +62 -0
  133. package/esm/data/table/hooks/{useTableExpansion.js → useTableDetailsPanel.js} +18 -17
  134. package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -0
  135. package/esm/data/table/hooks/useTableItems.d.ts +14 -17
  136. package/esm/data/table/hooks/useTableItems.js +17 -16
  137. package/esm/data/table/hooks/useTableItems.js.map +1 -1
  138. package/esm/data/table/hooks/useTableKeyboardNav.js +6 -2
  139. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  140. package/esm/data/table/hooks/useTableSelection.d.ts +4 -2
  141. package/esm/data/table/hooks/useTableSelection.js +6 -1
  142. package/esm/data/table/hooks/useTableSelection.js.map +1 -1
  143. package/esm/data/table/index.d.ts +1 -2
  144. package/esm/data/table/index.js +21 -1
  145. package/esm/data/table/index.js.map +1 -1
  146. package/esm/data/table/root/DataTable.types.d.ts +7 -9
  147. package/esm/data/table/root/DataTableRoot.context.d.ts +5 -1
  148. package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
  149. package/esm/data/table/root/DataTableRoot.d.ts +79 -115
  150. package/esm/data/table/root/DataTableRoot.js +170 -36
  151. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  152. package/esm/data/table/root/DataTableRoot.legacy.d.ts +177 -0
  153. package/esm/data/table/root/DataTableRoot.legacy.js +59 -0
  154. package/esm/data/table/root/DataTableRoot.legacy.js.map +1 -0
  155. package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.d.ts +6 -0
  156. package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js +16 -0
  157. package/esm/data/table/sub-row-toggle/DataTableSubRowToggle.js.map +1 -0
  158. package/esm/data/table/tr/DataTableTr.js +11 -11
  159. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  160. package/esm/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  161. package/esm/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  162. package/esm/utils/components/floating/Floating.d.ts +16 -1
  163. package/esm/utils/components/floating/Floating.js +48 -13
  164. package/esm/utils/components/floating/Floating.js.map +1 -1
  165. package/esm/utils/components/floating-menu/Menu.js +2 -2
  166. package/esm/utils/components/floating-menu/Menu.js.map +1 -1
  167. package/esm/utils/helpers/create-strict-context.js +1 -1
  168. package/esm/utils/helpers/create-strict-context.js.map +1 -1
  169. package/esm/utils/hooks/useControllableState.d.ts +5 -5
  170. package/esm/utils/hooks/useControllableState.js.map +1 -1
  171. package/esm/utils/hooks/useValueAsRef.js +1 -1
  172. package/esm/utils/hooks/useValueAsRef.js.map +1 -1
  173. package/esm/utils-external/hooks/useId.js +1 -1
  174. package/esm/utils-external/hooks/useId.js.map +1 -1
  175. package/package.json +8 -7
  176. package/src/action-menu/ActionMenu.tsx +1 -1
  177. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +11 -16
  178. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +4 -2
  179. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +85 -40
  180. package/src/data/drag-and-drop/types.ts +0 -5
  181. package/src/data/{drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx → drag-and-drop-legacy/drag-handler/DragAndDropDragHandlerLegacy.tsx} +5 -5
  182. package/src/data/{drag-and-drop-old/item/DataDragAndDropItem.tsx → drag-and-drop-legacy/item/DragAndDropItemLegacy.tsx} +13 -13
  183. package/src/data/{drag-and-drop-old/root/DataDragAndDrop.context.tsx → drag-and-drop-legacy/root/DragAndDropLegacy.context.tsx} +3 -3
  184. package/src/data/{drag-and-drop-old/root/DataDragAndDropRoot.tsx → drag-and-drop-legacy/root/DragAndDropLegacyRoot.tsx} +19 -21
  185. package/src/data/stories/Data.test-data.tsx +1702 -0
  186. package/src/data/table/column-header/DataTableColumnHeader.tsx +8 -6
  187. package/src/data/table/column-header/useTableColumnResize.ts +29 -44
  188. package/src/data/table/details-panel-row/DataTableDetailsPanelRow.tsx +57 -0
  189. package/src/data/table/helpers/collectTableRowEntries.ts +36 -30
  190. package/src/data/table/helpers/table-focus.ts +63 -9
  191. package/src/data/table/hooks/__tests__/useTableItems.test.ts +58 -12
  192. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +57 -44
  193. package/src/data/table/hooks/useColumnOptions.ts +19 -5
  194. package/src/data/table/hooks/useGridCache.ts +3 -2
  195. package/src/data/table/hooks/useTableDetailsPanel.tsx +185 -0
  196. package/src/data/table/hooks/useTableItems.ts +44 -52
  197. package/src/data/table/hooks/useTableKeyboardNav.ts +6 -2
  198. package/src/data/table/hooks/useTableSelection.ts +17 -6
  199. package/src/data/table/index.tsx +5 -3
  200. package/src/data/table/root/DataTable.types.ts +20 -9
  201. package/src/data/table/root/DataTableRoot.context.ts +5 -1
  202. package/src/data/table/root/DataTableRoot.legacy.tsx +297 -0
  203. package/src/data/table/root/DataTableRoot.tsx +484 -219
  204. package/src/data/table/root/agent-feature-gap.md +96 -0
  205. package/src/data/table/sub-row-toggle/DataTableSubRowToggle.tsx +39 -0
  206. package/src/data/table/tr/DataTableTr.tsx +14 -13
  207. package/src/utils/components/dismissablelayer/DismissableLayer.tsx +1 -1
  208. package/src/utils/components/floating/Floating.tsx +56 -13
  209. package/src/utils/components/floating-menu/Menu.tsx +4 -1
  210. package/src/utils/helpers/create-strict-context.tsx +1 -1
  211. package/src/utils/hooks/useControllableState.ts +11 -8
  212. package/src/utils/hooks/useValueAsRef.ts +1 -1
  213. package/src/utils-external/hooks/useId.ts +1 -1
  214. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  215. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
  216. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
  217. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
  218. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -6
  219. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
  220. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
  221. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
  222. package/cjs/data/table/hooks/useTableExpansion.d.ts +0 -27
  223. package/cjs/data/table/hooks/useTableExpansion.js.map +0 -1
  224. package/cjs/data/table/root/DataTableAuto.d.ts +0 -182
  225. package/cjs/data/table/root/DataTableAuto.js +0 -206
  226. package/cjs/data/table/root/DataTableAuto.js.map +0 -1
  227. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  228. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +0 -27
  229. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +0 -1
  230. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +0 -5
  231. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js +0 -3
  232. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +0 -1
  233. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +0 -24
  234. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +0 -1
  235. package/esm/data/table/hooks/useTableExpansion.d.ts +0 -27
  236. package/esm/data/table/hooks/useTableExpansion.js.map +0 -1
  237. package/esm/data/table/root/DataTableAuto.d.ts +0 -182
  238. package/esm/data/table/root/DataTableAuto.js +0 -170
  239. package/esm/data/table/root/DataTableAuto.js.map +0 -1
  240. package/src/data/table/hooks/useTableExpansion.tsx +0 -146
  241. package/src/data/table/root/DataTableAuto.test.tsx +0 -244
  242. package/src/data/table/root/DataTableAuto.tsx +0 -612
@@ -1,16 +1,12 @@
1
+ /** biome-ignore-all lint/correctness/useHookAtTopLevel: False positive because of the way forwardRef() is added */
1
2
  import React from "react";
2
- import { DataTableCaption, type DataTableCaptionProps } from "../caption/DataTableCaption";
3
- import { DataTableEmptyState, type DataTableEmptyStateProps } from "../empty-state/DataTableEmptyState";
3
+ import { type DetailsPanelProps } from "../hooks/useTableDetailsPanel";
4
+ import { type SubRowsProps } from "../hooks/useTableItems";
4
5
  import { type SelectionProps } from "../hooks/useTableSelection";
5
- import { DataTableLoadingState, type DataTableLoadingStateProps } from "../loading-state/DataTableLoadingState";
6
- import { DataTableTbody, type DataTableTbodyProps } from "../tbody/DataTableTbody";
7
- import { DataTableTd, type DataTableTdProps } from "../td/DataTableTd";
8
- import { DataTableTfoot, type DataTableTfootProps } from "../tfoot/DataTableTfoot";
9
- import { DataTableTh, type DataTableThProps } from "../th/DataTableTh";
10
- import { DataTableThead, type DataTableTheadProps } from "../thead/DataTableThead";
11
- import { DataTableTr, type DataTableTrProps } from "../tr/DataTableTr";
12
- interface DataTableProps extends React.HTMLAttributes<HTMLTableElement>, SelectionProps {
13
- children: React.ReactNode;
6
+ import { type TableSortOptions } from "../hooks/useTableSort";
7
+ import type { ColumnDefinitions } from "./DataTable.types";
8
+ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, TableSortOptions {
9
+ children?: never;
14
10
  /**
15
11
  * Controls vertical cell padding.
16
12
  * @default "normal"
@@ -30,7 +26,7 @@ interface DataTableProps extends React.HTMLAttributes<HTMLTableElement>, Selecti
30
26
  truncateContent?: boolean;
31
27
  /**
32
28
  * Enables keyboard navigation for table rows and cells.
33
- * @default false
29
+ * @default true
34
30
  */
35
31
  withKeyboardNav?: boolean;
36
32
  /**
@@ -54,124 +50,92 @@ interface DataTableProps extends React.HTMLAttributes<HTMLTableElement>, Selecti
54
50
  * @default "fixed"
55
51
  */
56
52
  layout?: "fixed" | "auto";
57
- }
58
- interface DataTableRootComponent extends React.ForwardRefExoticComponent<DataTableProps & React.RefAttributes<HTMLTableElement>> {
59
- /**
60
- * @see 🏷️ {@link DataTableCaptionProps}
61
- * @example
62
- * ```jsx
63
- * <DataTable>
64
- * <DataTable.Caption>
65
- * Lorem ipsum
66
- * </DataTable.Caption
67
- * </DataTable>
68
- * ```
69
- */
70
- Caption: typeof DataTableCaption;
71
53
  /**
72
- * @see 🏷️ {@link DataTableTheadProps}
73
- * @example
74
- * ```jsx
75
- * <DataTable>
76
- * <DataTable.Thead>
77
- * ... TODO
78
- * </DataTable.Thead>
79
- * </DataTable>
80
- * ```
54
+ * Defines the columns of the table and how to render them.
55
+ *
56
+ *
57
+ * Each column definition should have a unique `id` (or use the column index as fallback) and a `cell`-renderer function that takes the row data as argument and returns a React node.
81
58
  */
82
- Thead: typeof DataTableThead;
59
+ columnDefinitions: ColumnDefinitions<T>;
83
60
  /**
84
- * @see 🏷️ {@link DataTableTbodyProps}
85
- * @example
86
- * ```jsx
87
- * <DataTable>
88
- * <DataTable.Tbody>
89
- * ... TODO
90
- * </DataTable.Tbody>
91
- * </DataTable>
92
- * ```
61
+ * The data to display in the table.
62
+ *
63
+ *
64
+ * Each object in the array represents a row, and the properties of the object are used to render the cells based on the `columnDefinitions`.
93
65
  */
94
- Tbody: typeof DataTableTbody;
66
+ data: T[];
95
67
  /**
96
- * @see 🏷️ {@link DataTableTrProps}
97
- * @example
98
- * ```jsx
99
- * <DataTable>
100
- * <DataTable.Tr>
101
- * ... TODO
102
- * </DataTable.Tr
103
- * </DataTable>
104
- * ```
68
+ * Function to get unique row id from row data.
69
+ *
70
+ *
71
+ * If not provided, the row index will be used as id. This can cause issues if your data changes dynamically, so it's recommended to provide a stable id if possible.
105
72
  */
106
- Tr: typeof DataTableTr;
73
+ getRowId?: (rowData: T) => string | number;
107
74
  /**
108
- * @see 🏷️ {@link DataTableThProps}
109
- * @example
110
- * ```jsx
111
- * ```
75
+ * Sticky columns that remain visible when horizontally scrolling the table.
76
+ *
77
+ * You can specify 1 sticky column on the left and 1 on the right.
112
78
  */
113
- Th: typeof DataTableTh;
79
+ stickyColumns?: {
80
+ first?: "1";
81
+ last?: "1";
82
+ };
114
83
  /**
115
- * @see 🏷️ {@link DataTableTdProps}
116
- * @example
117
- * ```jsx
118
- * <DataTable>
119
- * <DataTable.Tbody>
120
- * <DataTable.Td>
121
- * Lorem ipsum
122
- * </DataTable.Td>
123
- * <DataTable.Td>
124
- * Dolor sit amet
125
- * </DataTable.Td>
126
- * </DataTable.Tbody>
127
- * </DataTable>
128
- * ```
84
+ * @default true
129
85
  */
130
- Td: typeof DataTableTd;
86
+ stickyHeader?: boolean;
131
87
  /**
132
- * @see 🏷️ {@link DataTableTfootProps}
133
- * @example
134
- * ```jsx
135
- * <DataTable>
136
- * <DataTable.Tfoot>
137
- * ...
138
- * </DataTable.Tfoot>
139
- * </DataTable>
140
- * ```
88
+ * Callback invoked when a data row is clicked.
89
+ * Not called when clicking header, loading, or empty-state rows.
141
90
  */
142
- Tfoot: typeof DataTableTfoot;
91
+ onRowClick?: (rowId: string | number, event: React.MouseEvent<HTMLTableRowElement>) => void;
143
92
  /**
144
- * @see 🏷️ {@link DataTableEmptyStateProps}
145
- * @example
146
- * ```jsx
147
- * <DataTable>
148
- * <DataTable.TBody>
149
- * <DataTable.EmptyState />
150
- * </DataTable.TBody>
151
- * </DataTable>
152
- * ```
93
+ * Content to render when `data` is empty.
94
+ * Rendered inside a `DataTable.EmptyState` row spanning all columns.
153
95
  */
154
- EmptyState: typeof DataTableEmptyState;
96
+ emptyState?: React.ReactNode;
97
+ loading?: {
98
+ /**
99
+ * Shows the table in a loading state.
100
+ *
101
+ * - When `loadingState` is provided, it is rendered inside a `DataTable.LoadingState` row.
102
+ * - When `loadingState` is **not** provided, skeleton placeholder rows are rendered instead.
103
+ * @default false
104
+ */
105
+ isLoading?: boolean;
106
+ /**
107
+ * Custom content to render when `isLoading` is `true`.
108
+ * Rendered inside a `DataTable.LoadingState` row spanning all columns.
109
+ * When omitted, skeleton rows are rendered based on `loadingRows`.
110
+ */
111
+ loadingState?: React.ReactNode;
112
+ /**
113
+ * Number of skeleton rows to render when `isLoading` is `true` and no `loadingState` is provided.
114
+ *
115
+ *
116
+ * If not provided, the rendered content will get a temporarily overlay while loading
117
+ */
118
+ loadingRows?: number;
119
+ /**
120
+ * Visually hidden label announced to screen readers when skeleton rows are shown.
121
+ * Only used when `isLoading` is `true` and no `loadingState` is provided.
122
+ * @default "Laster innhold"
123
+ */
124
+ loadingLabel?: string;
125
+ };
155
126
  /**
156
- * @see 🏷️ {@link DataTableEmptyStateProps}
157
- * @example
158
- * ```jsx
159
- * <DataTable>
160
- * <DataTable.TBody>
161
- * <DataTable.LoadingState />
162
- * </DataTable.TBody>
163
- * </DataTable>
164
- * ```
127
+ * Function to get sub-rows for a given row, used for nested rows.
128
+ * When provided, an expand toggle column is added automatically.
129
+ *
130
+ *
131
+ * TODO:
132
+ * - Table might need to be implemented with role="treegrid" for a11y when having nested rows.
165
133
  */
166
- LoadingState: typeof DataTableLoadingState;
134
+ selection?: SelectionProps;
135
+ subRows?: SubRowsProps<T>;
136
+ detailsPanel?: DetailsPanelProps<T>;
167
137
  }
168
- /**
169
- * TODO Component description etc.
170
- *
171
- * **NB:** To get sticky headers, you have to set a height restriction on the table container. You can use VStack for this:
172
- * TODO example
173
- */
174
- declare const DataTable: DataTableRootComponent;
175
- export { DataTable, DataTableCaption, DataTableEmptyState, DataTableLoadingState, DataTableTbody, DataTableTd, DataTableTfoot, DataTableTh, DataTableThead, DataTableTr, };
138
+ declare const DataTable: <T>(props: DataTableProps<T> & React.RefAttributes<HTMLTableElement>) => React.ReactElement | null;
139
+ export { DataTable };
140
+ export type { DataTableProps };
176
141
  export default DataTable;
177
- export type { DataTableCaptionProps, DataTableEmptyStateProps, DataTableLoadingStateProps, DataTableProps, DataTableTbodyProps, DataTableTdProps, DataTableTfootProps, DataTableTheadProps, DataTableThProps, DataTableTrProps, };
@@ -44,61 +44,186 @@ var __rest = (this && this.__rest) || function (s, e) {
44
44
  return t;
45
45
  };
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.DataTableTr = exports.DataTableThead = exports.DataTableTh = exports.DataTableTfoot = exports.DataTableTd = exports.DataTableTbody = exports.DataTableLoadingState = exports.DataTableEmptyState = exports.DataTableCaption = exports.DataTable = void 0;
47
+ exports.DataTable = void 0;
48
+ /** biome-ignore-all lint/correctness/useHookAtTopLevel: False positive because of the way forwardRef() is added */
48
49
  const react_1 = __importStar(require("react"));
50
+ const skeleton_1 = require("../../../skeleton");
49
51
  const utils_external_1 = require("../../../utils-external");
52
+ const Slot_1 = require("../../../utils/components/slot/Slot");
50
53
  const helpers_1 = require("../../../utils/helpers");
51
54
  const hooks_1 = require("../../../utils/hooks");
52
- const DataTableCaption_1 = require("../caption/DataTableCaption");
53
- Object.defineProperty(exports, "DataTableCaption", { enumerable: true, get: function () { return DataTableCaption_1.DataTableCaption; } });
55
+ const DataTableBaseCell_1 = require("../base-cell/DataTableBaseCell");
56
+ const DataTableColumnHeader_1 = require("../column-header/DataTableColumnHeader");
57
+ const DataTableDetailsPanelRow_1 = require("../details-panel-row/DataTableDetailsPanelRow");
54
58
  const DataTableEmptyState_1 = require("../empty-state/DataTableEmptyState");
55
- Object.defineProperty(exports, "DataTableEmptyState", { enumerable: true, get: function () { return DataTableEmptyState_1.DataTableEmptyState; } });
56
- const useTableExpansion_1 = require("../hooks/useTableExpansion");
59
+ const useColumnOptions_1 = require("../hooks/useColumnOptions");
60
+ const useTableDetailsPanel_1 = require("../hooks/useTableDetailsPanel");
61
+ const useTableItems_1 = require("../hooks/useTableItems");
57
62
  const useTableKeyboardNav_1 = require("../hooks/useTableKeyboardNav");
58
63
  const useTableSelection_1 = require("../hooks/useTableSelection");
64
+ const useTableSort_1 = require("../hooks/useTableSort");
59
65
  const DataTableLoadingState_1 = require("../loading-state/DataTableLoadingState");
60
- Object.defineProperty(exports, "DataTableLoadingState", { enumerable: true, get: function () { return DataTableLoadingState_1.DataTableLoadingState; } });
66
+ const DataTableSubRowToggle_1 = require("../sub-row-toggle/DataTableSubRowToggle");
61
67
  const DataTableTbody_1 = require("../tbody/DataTableTbody");
62
- Object.defineProperty(exports, "DataTableTbody", { enumerable: true, get: function () { return DataTableTbody_1.DataTableTbody; } });
63
- const DataTableTd_1 = require("../td/DataTableTd");
64
- Object.defineProperty(exports, "DataTableTd", { enumerable: true, get: function () { return DataTableTd_1.DataTableTd; } });
65
- const DataTableTfoot_1 = require("../tfoot/DataTableTfoot");
66
- Object.defineProperty(exports, "DataTableTfoot", { enumerable: true, get: function () { return DataTableTfoot_1.DataTableTfoot; } });
67
- const DataTableTh_1 = require("../th/DataTableTh");
68
- Object.defineProperty(exports, "DataTableTh", { enumerable: true, get: function () { return DataTableTh_1.DataTableTh; } });
69
68
  const DataTableThead_1 = require("../thead/DataTableThead");
70
- Object.defineProperty(exports, "DataTableThead", { enumerable: true, get: function () { return DataTableThead_1.DataTableThead; } });
71
69
  const DataTableTr_1 = require("../tr/DataTableTr");
72
- Object.defineProperty(exports, "DataTableTr", { enumerable: true, get: function () { return DataTableTr_1.DataTableTr; } });
73
70
  const DataTableRoot_context_1 = require("./DataTableRoot.context");
71
+ function DataTableInner(_a, forwardedRef) {
72
+ var { className, id, rowDensity = "normal", withKeyboardNav = true, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed", selection, data, columnDefinitions, getRowId, stickyColumns, stickyHeader = true, sort: sortProp, defaultSort = [], onSortChange, onRowClick, emptyState, loading, detailsPanel, subRows } = _a, rest = __rest(_a, ["className", "id", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout", "selection", "data", "columnDefinitions", "getRowId", "stickyColumns", "stickyHeader", "sort", "defaultSort", "onSortChange", "onRowClick", "emptyState", "loading", "detailsPanel", "subRows"]);
73
+ const { sortState, onSortClick } = (0, useTableSort_1.useTableSort)({
74
+ defaultSort,
75
+ onSortChange,
76
+ sort: sortProp,
77
+ });
78
+ const tableItems = (0, useTableItems_1.useTableItems)({
79
+ items: data,
80
+ getRowId,
81
+ subRows,
82
+ });
83
+ const tableSelectionState = (0, useTableSelection_1.useTableSelection)({
84
+ selection,
85
+ visibleRowIds: tableItems.visibleRowIds,
86
+ childRowIdsById: tableItems.childRowIdsById,
87
+ });
88
+ const { columns, stickySelection } = (0, useColumnOptions_1.useColumnOptions)(columnDefinitions, {
89
+ stickyColumns,
90
+ selectionMode: tableSelectionState.selection.selectionMode,
91
+ });
92
+ const { isLoading = false, loadingState, loadingRows, loadingLabel = "Laster innhold", } = loading || {};
93
+ const fullWidthColSpan = (0, react_1.useMemo)(() => {
94
+ return (columns.length +
95
+ (layout === "fixed" ? 1 : 0) +
96
+ (tableSelectionState.selection.selectionMode !== "none" ? 1 : 0) +
97
+ ((detailsPanel === null || detailsPanel === void 0 ? void 0 : detailsPanel.getContent) ? 1 : 0));
98
+ }, [
99
+ columns,
100
+ layout,
101
+ tableSelectionState.selection.selectionMode,
102
+ detailsPanel,
103
+ ]);
104
+ const tableId = (0, utils_external_1.useId)(id);
105
+ return (react_1.default.createElement(DataTableRoot_context_1.DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: tableSelectionState, stickySelection: stickySelection, stickyHeader: stickyHeader, tableId: tableId, showLoadingSkeletons: isLoading && loadingState == null, onRowClick: onRowClick, isLoading: isLoading, showLoadingOverlay: isLoading && !loadingState && !loadingRows, columns: columns, fullWidthColSpan: fullWidthColSpan },
106
+ react_1.default.createElement(useTableItems_1.TableItemsProvider, { itemDetails: tableItems.itemDetails, items: tableItems.items, visibleRowIds: tableItems.visibleRowIds, onExpandedRowIdsChange: tableItems.onExpandedRowIdsChange, isSubRowExpanded: tableItems.isSubRowExpanded },
107
+ react_1.default.createElement(useTableDetailsPanel_1.DataTableDetailsPanelProvider, { detailsPanel: detailsPanel },
108
+ react_1.default.createElement(TableElementWrapper, { shouldBlockNavigation: shouldBlockNavigation, enabled: withKeyboardNav },
109
+ react_1.default.createElement("table", Object.assign({}, rest, { ref: forwardedRef, className: (0, helpers_1.cl)("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, "data-loading": isLoading || undefined, "aria-busy": isLoading || undefined }),
110
+ react_1.default.createElement(DataTableThead_1.DataTableThead, null,
111
+ react_1.default.createElement(DataTableTr_1.DataTableTr, null, columns.map(({ isSticky, colDef }) => {
112
+ var _a, _b, _c;
113
+ const sortEntry = sortState.find((s) => s.columnId === colDef.id);
114
+ const sortDirection = (_a = sortEntry === null || sortEntry === void 0 ? void 0 : sortEntry.direction) !== null && _a !== void 0 ? _a : "none";
115
+ return (react_1.default.createElement(DataTableColumnHeader_1.DataTableColumnHeader, { resizable: colDef.resizable, width: colDef.width, defaultWidth: colDef.defaultWidth, autoWidth: colDef.autoWidth, minWidth: colDef.minWidth, maxWidth: colDef.maxWidth, onWidthChange: colDef.onWidthChange, textAlign: (_b = colDef.align) !== null && _b !== void 0 ? _b : "left", key: colDef.id, isSticky: isSticky, sortable: colDef.sortable, sortDirection: sortDirection, onSortClick: (event) => onSortClick(colDef.id, event), label: colDef.label }, (_c = colDef.header) !== null && _c !== void 0 ? _c : colDef.label));
116
+ }))),
117
+ react_1.default.createElement(DataTableTbody_1.DataTableTbody, null,
118
+ react_1.default.createElement(DataTableTBodyContent, { loadingState: loadingState, loadingRows: loadingRows, loadingLabel: loadingLabel, emptyState: emptyState }))))))));
119
+ }
74
120
  /**
75
- * TODO Component description etc.
76
- *
77
- * **NB:** To get sticky headers, you have to set a height restriction on the table container. You can use VStack for this:
78
- * TODO example
121
+ * Temp optimization to avoid re-renders on every keyboard-move, selection change etc
79
122
  */
80
- const DataTable = (0, react_1.forwardRef)((_a, forwardedRef) => {
81
- var { className, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed" } = _a, rest = __rest(_a, ["className", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout"]);
123
+ function TableElementWrapper({ children, enabled, shouldBlockNavigation, }) {
124
+ const [applyStickyStyles, setApplyStickyStyles] = (0, react_1.useState)(false);
125
+ const tableWrapperRef = (0, react_1.useRef)(null);
126
+ const tableRef = (0, react_1.useRef)(null);
127
+ const rafRef = (0, react_1.useRef)(null);
82
128
  const { tabIndex, setTableRef } = (0, useTableKeyboardNav_1.useTableKeyboardNav)({
83
- enabled: withKeyboardNav,
129
+ enabled,
84
130
  shouldBlockNavigation,
85
131
  });
86
- const mergedRef = (0, hooks_1.useMergeRefs)(forwardedRef, setTableRef);
87
- return (react_1.default.createElement(DataTableRoot_context_1.DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: useTableSelection_1.noSelectionState, stickySelection: false, stickyHeader: true, tableId: (0, utils_external_1.useId)(), showLoadingSkeletons: false, onRowClick: undefined, disableRowSelectionOnClick: false, showLoadingOverlay: false, columns: [] },
88
- react_1.default.createElement(useTableExpansion_1.DataTableExpansionProvider, null,
89
- react_1.default.createElement("div", { className: "aksel-data-table__border-wrapper" },
90
- react_1.default.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
91
- react_1.default.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: (0, helpers_1.cl)("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, tabIndex: tabIndex })))))));
92
- });
132
+ const mergedTableRefs = (0, hooks_1.useMergeRefs)(tableRef, setTableRef);
133
+ const updateStickyStyles = (0, react_1.useCallback)(() => {
134
+ if (!tableWrapperRef.current) {
135
+ return;
136
+ }
137
+ const doesWrapperHasScroll = tableWrapperRef.current.scrollWidth > tableWrapperRef.current.clientWidth;
138
+ setApplyStickyStyles(doesWrapperHasScroll);
139
+ }, []);
140
+ const scheduleStickyStylesUpdate = (0, react_1.useCallback)(() => {
141
+ if (rafRef.current !== null) {
142
+ return;
143
+ }
144
+ rafRef.current = requestAnimationFrame(() => {
145
+ rafRef.current = null;
146
+ updateStickyStyles();
147
+ });
148
+ }, [updateStickyStyles]);
149
+ (0, react_1.useEffect)(function observeAndUpdateStickyStyles() {
150
+ const tableWrapperElement = tableWrapperRef.current;
151
+ if (!tableWrapperElement) {
152
+ return;
153
+ }
154
+ const handleResize = () => scheduleStickyStylesUpdate();
155
+ window.addEventListener("resize", handleResize);
156
+ let resizeObserver;
157
+ if (typeof ResizeObserver !== "undefined") {
158
+ resizeObserver = new ResizeObserver(handleResize);
159
+ resizeObserver.observe(tableWrapperElement);
160
+ if (tableRef.current) {
161
+ resizeObserver.observe(tableRef.current);
162
+ }
163
+ }
164
+ scheduleStickyStylesUpdate();
165
+ return () => {
166
+ window.removeEventListener("resize", handleResize);
167
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
168
+ if (rafRef.current !== null) {
169
+ cancelAnimationFrame(rafRef.current);
170
+ rafRef.current = null;
171
+ }
172
+ };
173
+ }, [scheduleStickyStylesUpdate]);
174
+ return (react_1.default.createElement("div", { className: "aksel-data-table__border-wrapper" },
175
+ react_1.default.createElement("div", { ref: tableWrapperRef, className: "aksel-data-table__scroll-wrapper" },
176
+ react_1.default.createElement(Slot_1.Slot, { tabIndex: tabIndex,
177
+ /* @ts-expect-error Ref is not typed correctly to handle this case */
178
+ ref: mergedTableRefs, "data-scroll": applyStickyStyles ? "true" : undefined }, children))));
179
+ }
180
+ function DataTableTBodyContent({ loadingState, loadingRows, loadingLabel, emptyState, }) {
181
+ const { items, itemDetails, visibleRowIds } = (0, useTableItems_1.useTableItemsContext)();
182
+ const { columns, isLoading, fullWidthColSpan } = (0, DataTableRoot_context_1.useDataTableContext)();
183
+ if (isLoading && loadingState != null) {
184
+ return (react_1.default.createElement(DataTableLoadingState_1.DataTableLoadingState, { colSpan: fullWidthColSpan }, loadingState));
185
+ }
186
+ if (isLoading && loadingRows) {
187
+ return (react_1.default.createElement(react_1.default.Fragment, null,
188
+ react_1.default.createElement("tr", null,
189
+ react_1.default.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel)),
190
+ Array.from({ length: loadingRows }, (_, rowIndex) => (react_1.default.createElement(DataTableTr_1.DataTableTr, { key: `skeleton-row-${rowIndex}`, "aria-hidden": true }, columns.map(({ isSticky, colDef }, colDefIndex) => {
191
+ var _a;
192
+ return (react_1.default.createElement(DataTableBaseCell_1.DataTableBaseCell, { textAlign: (_a = colDef.align) !== null && _a !== void 0 ? _a : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky },
193
+ react_1.default.createElement(skeleton_1.Skeleton, { variant: "text" })));
194
+ }))))));
195
+ }
196
+ if (items.length === 0 && emptyState !== undefined) {
197
+ return (react_1.default.createElement(DataTableEmptyState_1.DataTableEmptyState, { colSpan: fullWidthColSpan }, emptyState));
198
+ }
199
+ const renderLoadingAnnouncement = isLoading && !loadingState && !loadingRows;
200
+ return (react_1.default.createElement(react_1.default.Fragment, null,
201
+ renderLoadingAnnouncement && (react_1.default.createElement("tr", null,
202
+ react_1.default.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel))),
203
+ items.map((rowData, rowIndex) => {
204
+ const rowId = visibleRowIds[rowIndex];
205
+ const details = rowId != null ? itemDetails.get(rowId) : undefined;
206
+ /* Should in theory be impossible. Look about typing this? */
207
+ if (!details) {
208
+ return null;
209
+ }
210
+ const hasSubRows = details.children.length > 0;
211
+ return (react_1.default.createElement(react_1.default.Fragment, { key: details.id },
212
+ react_1.default.createElement(DataTableTr_1.DataTableTr, { rowId: details.id }, columns.map(({ isSticky, colDef }, colDefIndex) => {
213
+ var _a;
214
+ const renderNestedToggle = colDefIndex === 0 && hasSubRows;
215
+ const renderNestedIndent = colDefIndex === 0 && (details.level > 0 || hasSubRows);
216
+ const style = {
217
+ "--__axc-data-table-nested-depth": details.level,
218
+ };
219
+ return (react_1.default.createElement(DataTableBaseCell_1.DataTableBaseCell, { textAlign: (_a = colDef.align) !== null && _a !== void 0 ? _a : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky, "data-nested": renderNestedIndent || undefined, style: style },
220
+ renderNestedToggle && (react_1.default.createElement(DataTableSubRowToggle_1.DataTableSubRowToggle, { details: details })),
221
+ colDef.cell(rowData)));
222
+ })),
223
+ react_1.default.createElement(DataTableDetailsPanelRow_1.DataTableDetailsPanelRow, { rowId: details.id, rowData: rowData })));
224
+ })));
225
+ }
226
+ const DataTable = (0, react_1.forwardRef)(DataTableInner);
93
227
  exports.DataTable = DataTable;
94
- DataTable.Caption = DataTableCaption_1.DataTableCaption;
95
- DataTable.Thead = DataTableThead_1.DataTableThead;
96
- DataTable.Tbody = DataTableTbody_1.DataTableTbody;
97
- DataTable.Th = DataTableTh_1.DataTableTh;
98
- DataTable.Tr = DataTableTr_1.DataTableTr;
99
- DataTable.Td = DataTableTd_1.DataTableTd;
100
- DataTable.Tfoot = DataTableTfoot_1.DataTableTfoot;
101
- DataTable.EmptyState = DataTableEmptyState_1.DataTableEmptyState;
102
- DataTable.LoadingState = DataTableLoadingState_1.DataTableLoadingState;
103
228
  exports.default = DataTable;
104
229
  //# sourceMappingURL=DataTableRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,4DAAgD;AAChD,oDAA4C;AAC5C,gDAAoD;AACpD,kEAGqC;AA2QnC,iGA7QA,mCAAgB,OA6QA;AA1QlB,4EAG4C;AAwQ1C,oGA1QA,yCAAmB,OA0QA;AAvQrB,kEAAwE;AACxE,sEAAmE;AACnE,kEAGoC;AACpC,kFAGgD;AA+P9C,sGAjQA,6CAAqB,OAiQA;AA9PvB,4DAGiC;AA4P/B,+FA9PA,+BAAc,OA8PA;AA3PhB,mDAAuE;AA4PrE,4FA5PO,yBAAW,OA4PP;AA3Pb,4DAGiC;AAyP/B,+FA3PA,+BAAc,OA2PA;AAxPhB,mDAAuE;AAyPrE,4FAzPO,yBAAW,OAyPP;AAxPb,4DAGiC;AAsP/B,+FAxPA,+BAAc,OAwPA;AArPhB,mDAAuE;AAsPrE,4FAtPO,yBAAW,OAsPP;AArPb,mEAAmE;AAmKnE;;;;;GAKG;AACH,MAAM,SAAS,GAAG,IAAA,kBAAU,EAC1B,CACE,EASC,EACD,YAAY,EACZ,EAAE;QAXF,EACE,SAAS,EACT,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,KAAK,EACvB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,IAAI,EACtB,qBAAqB,EACrB,MAAM,GAAG,OAAO,OAEjB,EADI,IAAI,cART,oHASC,CADQ;IAIT,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAA,yCAAmB,EAAC;QACpD,OAAO,EAAE,eAAe;QACxB,qBAAqB;KACtB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO,CACL,8BAAC,gDAAwB,IACvB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,oCAAgB,EAChC,eAAe,EAAE,KAAK,EACtB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,IAAA,sBAAK,GAAE,EAChB,oBAAoB,EAAE,KAAK,EAC3B,UAAU,EAAE,SAAS,EACrB,0BAA0B,EAAE,KAAK,EACjC,kBAAkB,EAAE,KAAK,EACzB,OAAO,EAAE,EAAE;QAEX,8BAAC,8CAA0B;YACzB,uCAAK,SAAS,EAAC,kCAAkC;gBAC/C,uCAAK,SAAS,EAAC,kCAAkC;oBAC/C,yDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,IAAA,YAAE,EAAC,kBAAkB,EAAE,SAAS,CAAC,wBACxB,YAAY,2BACT,eAAe,kBACxB,UAAU,iBACX,MAAM,EACnB,QAAQ,EAAE,QAAQ,IAClB,CACE,CACF,CACqB,CACJ,CAC5B,CAAC;AACJ,CAAC,CACwB,CAAC;AAa1B,8BAAS;AAXX,SAAS,CAAC,OAAO,GAAG,mCAAgB,CAAC;AACrC,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AACjC,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AACjC,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AACjC,SAAS,CAAC,UAAU,GAAG,yCAAmB,CAAC;AAC3C,SAAS,CAAC,YAAY,GAAG,6CAAqB,CAAC;AAc/C,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":"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"}