@navikt/ds-react 8.10.0 → 8.10.2

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 (79) hide show
  1. package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +1 -2
  2. package/cjs/data/table/column-header/DataTableColumnHeader.js +13 -11
  3. package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  4. package/cjs/data/table/column-header/useTableColumnResize.d.ts +5 -3
  5. package/cjs/data/table/column-header/useTableColumnResize.js +128 -53
  6. package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
  7. package/cjs/data/table/helpers/collectTableRowEntries.d.ts +16 -0
  8. package/cjs/data/table/helpers/collectTableRowEntries.js +27 -0
  9. package/cjs/data/table/helpers/collectTableRowEntries.js.map +1 -0
  10. package/cjs/data/table/helpers/table-keyboard.js +3 -3
  11. package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
  12. package/cjs/data/table/hooks/useTableExpansion.d.ts +9 -6
  13. package/cjs/data/table/hooks/useTableExpansion.js +36 -15
  14. package/cjs/data/table/hooks/useTableExpansion.js.map +1 -1
  15. package/cjs/data/table/hooks/useTableItems.d.ts +29 -0
  16. package/cjs/data/table/hooks/useTableItems.js +63 -0
  17. package/cjs/data/table/hooks/useTableItems.js.map +1 -0
  18. package/cjs/data/table/hooks/useTableKeyboardNav.js +3 -3
  19. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  20. package/cjs/data/table/root/DataTableAuto.d.ts +18 -0
  21. package/cjs/data/table/root/DataTableAuto.js +71 -29
  22. package/cjs/data/table/root/DataTableAuto.js.map +1 -1
  23. package/cjs/data/table/root/DataTableRoot.context.d.ts +5 -3
  24. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
  25. package/cjs/data/table/root/DataTableRoot.js +7 -4
  26. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  27. package/cjs/data/table/tr/DataTableTr.js +30 -32
  28. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  29. package/cjs/modal/Modal.js +3 -3
  30. package/cjs/modal/Modal.js.map +1 -1
  31. package/cjs/modal/types.d.ts +1 -0
  32. package/esm/data/table/column-header/DataTableColumnHeader.d.ts +1 -2
  33. package/esm/data/table/column-header/DataTableColumnHeader.js +14 -12
  34. package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
  35. package/esm/data/table/column-header/useTableColumnResize.d.ts +5 -3
  36. package/esm/data/table/column-header/useTableColumnResize.js +129 -54
  37. package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
  38. package/esm/data/table/helpers/collectTableRowEntries.d.ts +16 -0
  39. package/esm/data/table/helpers/collectTableRowEntries.js +25 -0
  40. package/esm/data/table/helpers/collectTableRowEntries.js.map +1 -0
  41. package/esm/data/table/helpers/table-keyboard.js +3 -3
  42. package/esm/data/table/helpers/table-keyboard.js.map +1 -1
  43. package/esm/data/table/hooks/useTableExpansion.d.ts +9 -6
  44. package/esm/data/table/hooks/useTableExpansion.js +36 -16
  45. package/esm/data/table/hooks/useTableExpansion.js.map +1 -1
  46. package/esm/data/table/hooks/useTableItems.d.ts +29 -0
  47. package/esm/data/table/hooks/useTableItems.js +58 -0
  48. package/esm/data/table/hooks/useTableItems.js.map +1 -0
  49. package/esm/data/table/hooks/useTableKeyboardNav.js +3 -3
  50. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  51. package/esm/data/table/root/DataTableAuto.d.ts +18 -0
  52. package/esm/data/table/root/DataTableAuto.js +72 -30
  53. package/esm/data/table/root/DataTableAuto.js.map +1 -1
  54. package/esm/data/table/root/DataTableRoot.context.d.ts +5 -3
  55. package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
  56. package/esm/data/table/root/DataTableRoot.js +7 -4
  57. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  58. package/esm/data/table/tr/DataTableTr.js +32 -34
  59. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  60. package/esm/modal/Modal.js +3 -3
  61. package/esm/modal/Modal.js.map +1 -1
  62. package/esm/modal/types.d.ts +1 -0
  63. package/package.json +7 -7
  64. package/src/data/table/column-header/DataTableColumnHeader.tsx +22 -14
  65. package/src/data/table/column-header/useTableColumnResize.ts +152 -79
  66. package/src/data/table/helpers/collectTableRowEntries.ts +58 -0
  67. package/src/data/table/helpers/table-keyboard.ts +4 -4
  68. package/src/data/table/hooks/__tests__/useTableExpansion.test.tsx +115 -0
  69. package/src/data/table/hooks/__tests__/useTableItems.test.ts +131 -0
  70. package/src/data/table/hooks/useTableExpansion.tsx +63 -22
  71. package/src/data/table/hooks/useTableItems.ts +123 -0
  72. package/src/data/table/hooks/useTableKeyboardNav.ts +3 -3
  73. package/src/data/table/root/DataTableAuto.test.tsx +118 -0
  74. package/src/data/table/root/DataTableAuto.tsx +159 -49
  75. package/src/data/table/root/DataTableRoot.context.ts +4 -2
  76. package/src/data/table/root/DataTableRoot.tsx +20 -13
  77. package/src/data/table/tr/DataTableTr.tsx +48 -47
  78. package/src/modal/Modal.tsx +12 -6
  79. package/src/modal/types.ts +1 -0
@@ -5,27 +5,47 @@ const { Provider: DataTableExpansionContextProvider, useContext: useDataTableExp
5
5
  name: "DataTableExpansionContext",
6
6
  errorMessage: "useDataTableExpansion must be used within a DataTableExpansionProvider.",
7
7
  });
8
- function DataTableExpansionProvider({ children, detailsPanelRowIds, defaultDetailsPanelRowIds = [], onDetailsPanelChange, allRowKeys, getDetailsPanelContent, getDetailsPanelHeight, showExpandAll = false, }) {
8
+ function getDataTableExpansionId(tableId, rowId) {
9
+ return `${tableId}-expansion-${rowId}`;
10
+ }
11
+ function DataTableExpansionProvider({ children, detailsPanelRowIds, defaultDetailsPanelRowIds = [], onDetailsPanelChange, itemDetails, getDetailsPanelContent, isDetailsPanelExpandable, getDetailsPanelHeight, showExpandAll = false, }) {
9
12
  const [expandedIds, setExpandedIds] = useControllableState({
10
13
  value: detailsPanelRowIds,
11
14
  defaultValue: defaultDetailsPanelRowIds,
15
+ onChange: onDetailsPanelChange,
12
16
  });
13
- const isExpanded = useCallback((id) => expandedIds.includes(id), [expandedIds]);
17
+ const expandableIds = React.useMemo(() => {
18
+ if (!getDetailsPanelContent) {
19
+ return new Set();
20
+ }
21
+ const ids = new Set();
22
+ for (const [rowData, { id, level }] of itemDetails.entries()) {
23
+ /* We only allow Master - Details pattern on top level rows */
24
+ if (level > 0) {
25
+ continue;
26
+ }
27
+ if (!isDetailsPanelExpandable || isDetailsPanelExpandable(rowData)) {
28
+ ids.add(id);
29
+ }
30
+ }
31
+ return ids;
32
+ }, [getDetailsPanelContent, isDetailsPanelExpandable, itemDetails]);
33
+ const isDetailsPanelExpandableById = useCallback((id) => expandableIds.has(id), [expandableIds]);
34
+ const isExpanded = useCallback((id) => isDetailsPanelExpandableById(id) && expandedIds.includes(id), [expandedIds, isDetailsPanelExpandableById]);
14
35
  const toggleExpansion = useCallback((id) => {
15
- const next = expandedIds.includes(id)
16
- ? expandedIds.filter((eid) => eid !== id)
17
- : [...expandedIds, id];
18
- setExpandedIds(next);
19
- onDetailsPanelChange === null || onDetailsPanelChange === void 0 ? void 0 : onDetailsPanelChange(next);
20
- }, [expandedIds, setExpandedIds, onDetailsPanelChange]);
21
- const isAllExpanded = allRowKeys.length > 0 &&
22
- allRowKeys.every((key) => expandedIds.includes(key));
36
+ if (!isDetailsPanelExpandableById(id)) {
37
+ return;
38
+ }
39
+ setExpandedIds((currentExpandedIds) => currentExpandedIds.includes(id)
40
+ ? currentExpandedIds.filter((expandedId) => expandedId !== id)
41
+ : [...currentExpandedIds, id]);
42
+ }, [isDetailsPanelExpandableById, setExpandedIds]);
43
+ const isAllExpanded = expandableIds.size > 0 &&
44
+ Array.from(expandableIds).every((key) => expandedIds.includes(key));
23
45
  const toggleAll = useCallback(() => {
24
- const next = isAllExpanded ? [] : [...allRowKeys];
25
- setExpandedIds(next);
26
- onDetailsPanelChange === null || onDetailsPanelChange === void 0 ? void 0 : onDetailsPanelChange(next);
27
- }, [isAllExpanded, allRowKeys, setExpandedIds, onDetailsPanelChange]);
28
- return (React.createElement(DataTableExpansionContextProvider, { expandedIds: expandedIds, isExpanded: isExpanded, toggleExpansion: toggleExpansion, toggleAll: toggleAll, isAllExpanded: isAllExpanded, getDetailsPanelContent: getDetailsPanelContent, getDetailsPanelHeight: getDetailsPanelHeight, showExpandAll: showExpandAll, enableExpansion: !!getDetailsPanelContent }, children));
46
+ setExpandedIds(isAllExpanded ? [] : Array.from(expandableIds));
47
+ }, [expandableIds, isAllExpanded, setExpandedIds]);
48
+ return (React.createElement(DataTableExpansionContextProvider, { isExpanded: isExpanded, isDetailsPanelExpandable: isDetailsPanelExpandableById, toggleExpansion: toggleExpansion, toggleAll: toggleAll, isAllExpanded: isAllExpanded, getDetailsPanelContent: getDetailsPanelContent, getDetailsPanelHeight: getDetailsPanelHeight, showExpandAll: showExpandAll, enableDetailsPanel: !!getDetailsPanelContent }, children));
29
49
  }
30
- export { DataTableExpansionProvider, useDataTableExpansion };
50
+ export { DataTableExpansionProvider, getDataTableExpansionId, useDataTableExpansion, };
31
51
  //# sourceMappingURL=useTableExpansion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableExpansion.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableExpansion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAc5D,MAAM,EACJ,QAAQ,EAAE,iCAAiC,EAC3C,UAAU,EAAE,qBAAqB,GAClC,GAAG,mBAAmB,CAA6B;IAClD,IAAI,EAAE,2BAA2B;IACjC,YAAY,EACV,yEAAyE;CAC5E,CAAC,CAAC;AAYH,SAAS,0BAA0B,CAAI,EACrC,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,GAAG,EAAE,EAC9B,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,GAAG,KAAK,GACoC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAAC;QACzD,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,yBAAyB;KACxC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAmB,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EACjD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAmB,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,IAAI,CAAC,CAAC;IAC/B,CAAC,EACD,CAAC,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,CACpD,CAAC;IAEF,MAAM,aAAa,GACjB,UAAU,CAAC,MAAM,GAAG,CAAC;QACrB,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;QAClD,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAG,IAAI,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEtE,OAAO,CACL,oBAAC,iCAAiC,IAChC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EACpB,sBAEa,EAEf,qBAAqB,EACnB,qBAAwE,EAE1E,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,CAAC,CAAC,sBAAsB,IAExC,QAAQ,CACyB,CACrC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"useTableExpansion.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableExpansion.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type ItemDetail } from "../helpers/collectTableRowEntries.js";
2
+ type UseTableItemsArgs<T> = {
3
+ items: T[];
4
+ getRowId?: (rowData: T, index: number) => string | number;
5
+ /**
6
+ * Master - Detail pattern props
7
+ */
8
+ /**
9
+ * Expanded/Nested rows pattern props
10
+ */
11
+ getSubRows?: (rowData: T) => T[];
12
+ expandedSubRowIds?: (string | number)[];
13
+ defaultExpandedSubRowIds?: (string | number)[];
14
+ isSubRowExpandable?: (rowData: T) => boolean;
15
+ onExpandedSubRowIdsChange?: (ids: (string | number)[]) => void;
16
+ };
17
+ type useTableItemsReturn<T> = {
18
+ items: T[];
19
+ itemDetails: Map<T, ItemDetail<T>>;
20
+ onExpandedSubRowIdsChange: (id: string | number) => void;
21
+ isSubRowExpanded: (id: string | number) => boolean;
22
+ };
23
+ declare function useTableItems<T>(args: UseTableItemsArgs<T>): useTableItemsReturn<T>;
24
+ declare const TableItemsProvider: import("react").FC<useTableItemsReturn<any> & {
25
+ children: React.ReactNode;
26
+ ref?: never;
27
+ }>, useTableItemsContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? useTableItemsReturn<any> : useTableItemsReturn<any> | undefined;
28
+ export { useTableItems, TableItemsProvider, useTableItemsContext };
29
+ export type { ItemDetail };
@@ -0,0 +1,58 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { createStrictContext } from "../../../utils/helpers/index.js";
3
+ import { useControllableState } from "../../../utils/hooks/index.js";
4
+ import { collectTableRowEntries, } from "../helpers/collectTableRowEntries.js";
5
+ function useTableItems(args) {
6
+ const { items, expandedSubRowIds, defaultExpandedSubRowIds, getSubRows, getRowId, onExpandedSubRowIdsChange, isSubRowExpandable, } = args;
7
+ const [nestedSubRowsExpandedIds, setNestedSubRowsExpandedIds] = useControllableState({
8
+ value: expandedSubRowIds,
9
+ defaultValue: defaultExpandedSubRowIds !== null && defaultExpandedSubRowIds !== void 0 ? defaultExpandedSubRowIds : [],
10
+ onChange: onExpandedSubRowIdsChange,
11
+ });
12
+ const expandedIdsSet = useMemo(() => new Set(nestedSubRowsExpandedIds), [nestedSubRowsExpandedIds]);
13
+ const { itemDetails, visibleItems } = useMemo(() => {
14
+ const rowEntriesMap = collectTableRowEntries({
15
+ items,
16
+ getRowId,
17
+ getSubRows,
18
+ isSubRowExpandable,
19
+ });
20
+ const localVisibleItems = [];
21
+ const addVisibleRows = (rowData) => {
22
+ localVisibleItems.push(rowData);
23
+ const details = rowEntriesMap.get(rowData);
24
+ if (!details || !expandedIdsSet.has(details.id)) {
25
+ return;
26
+ }
27
+ for (const childRow of details.children) {
28
+ addVisibleRows(childRow);
29
+ }
30
+ };
31
+ for (const rowData of items) {
32
+ addVisibleRows(rowData);
33
+ }
34
+ return {
35
+ visibleItems: localVisibleItems,
36
+ itemDetails: rowEntriesMap,
37
+ };
38
+ }, [getSubRows, items, getRowId, isSubRowExpandable, expandedIdsSet]);
39
+ const handleExpandedSubRowIdChange = useCallback((id) => {
40
+ setNestedSubRowsExpandedIds((prev) => prev.includes(id)
41
+ ? prev.filter((expandedId) => expandedId !== id)
42
+ : [...prev, id]);
43
+ }, [setNestedSubRowsExpandedIds]);
44
+ return {
45
+ items: visibleItems,
46
+ itemDetails,
47
+ onExpandedSubRowIdsChange: handleExpandedSubRowIdChange,
48
+ isSubRowExpanded: (id) => expandedIdsSet.has(id),
49
+ };
50
+ }
51
+ const { Provider: TableItemsProvider, useContext: useTableItemsContext } =
52
+ /* TODO: Can we type this better? */
53
+ createStrictContext({
54
+ name: "TableItemsContext",
55
+ errorMessage: "useTableItemsContext must be used within a TableItemsProvider",
56
+ });
57
+ export { useTableItems, TableItemsProvider, useTableItemsContext };
58
+ //# sourceMappingURL=useTableItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableItems.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableItems.ts"],"names":[],"mappings":"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"}
@@ -67,13 +67,13 @@ function useTableKeyboardNav({ enabled, shouldBlockNavigation: customBlockFn, })
67
67
  if (customBlockFn === null || customBlockFn === void 0 ? void 0 : customBlockFn(event)) {
68
68
  return;
69
69
  }
70
- if (shouldBlockNavigation(event)) {
71
- return;
72
- }
73
70
  const action = getNavigationAction(event);
74
71
  if (!action) {
75
72
  return;
76
73
  }
74
+ if (shouldBlockNavigation(event)) {
75
+ return;
76
+ }
77
77
  event.preventDefault();
78
78
  const newCell = executeNavigationAction(action);
79
79
  newCell && setActiveCell(newCell);
@@ -1 +1 @@
1
- {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
@@ -124,6 +124,11 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, Sele
124
124
  * When provided, an expand toggle column is added automatically.
125
125
  */
126
126
  getDetailsPanelContent?: (rowData: T) => React.ReactNode;
127
+ /**
128
+ * Determines whether a row can be expanded to show details panel content.
129
+ * @default () => true
130
+ */
131
+ isDetailsPanelExpandable?: (rowData: T) => boolean;
127
132
  /**
128
133
  * Controlled list of expanded row IDs.
129
134
  * Use with `onDetailsPanelChange` for controlled usage, or `defaultDetailsPanelRowIds` for uncontrolled.
@@ -136,6 +141,10 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, Sele
136
141
  defaultDetailsPanelRowIds?: (string | number)[];
137
142
  /**
138
143
  * Called when the list of expanded row IDs changes.
144
+ *
145
+ *
146
+ * TODO:
147
+ * - Docs: This pattern is called "Master / Detail" in general terms
139
148
  */
140
149
  onDetailsPanelChange?: (ids: (string | number)[]) => void;
141
150
  /**
@@ -149,6 +158,15 @@ interface DataTableProps<T> extends React.HTMLAttributes<HTMLTableElement>, Sele
149
158
  * @default false
150
159
  */
151
160
  showExpandAll?: boolean;
161
+ /**
162
+ * Function to get sub-rows for a given row, used for nested rows.
163
+ * When provided, an expand toggle column is added automatically.
164
+ */
165
+ getSubRows?: (rowData: T) => T[];
166
+ expandedSubRowIds?: (string | number)[];
167
+ defaultExpandedSubRowIds?: (string | number)[];
168
+ isSubRowExpandable?: (rowData: T) => boolean;
169
+ onExpandedSubRowIdsChange?: (ids: (string | number)[]) => void;
152
170
  }
153
171
  declare const DataTableAuto: <T>(props: DataTableProps<T> & React.RefAttributes<HTMLTableElement>) => React.ReactElement | null;
154
172
  export { DataTableAuto };
@@ -11,6 +11,8 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  /** biome-ignore-all lint/correctness/useHookAtTopLevel: False positive because of the way forwardRef() is added */
13
13
  import React, { forwardRef, useMemo } from "react";
14
+ import { ChevronDownIcon, ChevronRightIcon } from "@navikt/aksel-icons";
15
+ import { Button } from "../../../button/index.js";
14
16
  import { Skeleton } from "../../../skeleton/index.js";
15
17
  import { useId } from "../../../utils-external/index.js";
16
18
  import { cl } from "../../../utils/helpers/index.js";
@@ -19,7 +21,8 @@ import { DataTableBaseCell } from "../base-cell/DataTableBaseCell.js";
19
21
  import { DataTableColumnHeader } from "../column-header/DataTableColumnHeader.js";
20
22
  import { DataTableEmptyState } from "../empty-state/DataTableEmptyState.js";
21
23
  import { useColumnOptions } from "../hooks/useColumnOptions.js";
22
- import { DataTableExpansionProvider, useDataTableExpansion, } from "../hooks/useTableExpansion.js";
24
+ import { DataTableExpansionProvider, getDataTableExpansionId, useDataTableExpansion, } from "../hooks/useTableExpansion.js";
25
+ import { TableItemsProvider, useTableItems, useTableItemsContext, } from "../hooks/useTableItems.js";
23
26
  import { useTableKeyboardNav } from "../hooks/useTableKeyboardNav.js";
24
27
  import { useTableSelection, } from "../hooks/useTableSelection.js";
25
28
  import { useTableSort } from "../hooks/useTableSort.js";
@@ -29,7 +32,7 @@ import { DataTableThead } from "../thead/DataTableThead.js";
29
32
  import { DataTableTr } from "../tr/DataTableTr.js";
30
33
  import { DataTableContextProvider, useDataTableContext, } from "./DataTableRoot.context.js";
31
34
  function DataTableAutoInner(_a, forwardedRef) {
32
- var { className, id, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed", selectionMode: selectionModeProp = "none", selectedKeys, defaultSelectedKeys, onSelectionChange, disabledSelectionKeys = [], data, columnDefinitions, getRowId, stickyColumns, stickyHeader = false, sort: sortProp, defaultSort = [], onSortChange, onRowClick, emptyState, isLoading = false, loadingState, loadingRows, loadingLabel = "Laster innhold", disableRowSelectionOnClick = false, getDetailsPanelContent, getDetailsPanelHeight, showExpandAll = false, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange } = _a, rest = __rest(_a, ["className", "id", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout", "selectionMode", "selectedKeys", "defaultSelectedKeys", "onSelectionChange", "disabledSelectionKeys", "data", "columnDefinitions", "getRowId", "stickyColumns", "stickyHeader", "sort", "defaultSort", "onSortChange", "onRowClick", "emptyState", "isLoading", "loadingState", "loadingRows", "loadingLabel", "disableRowSelectionOnClick", "getDetailsPanelContent", "getDetailsPanelHeight", "showExpandAll", "detailsPanelRowIds", "defaultDetailsPanelRowIds", "onDetailsPanelChange"]);
35
+ var { className, id, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed", selectionMode: selectionModeProp = "none", selectedKeys, defaultSelectedKeys, onSelectionChange, disabledSelectionKeys = [], data, columnDefinitions, getRowId, stickyColumns, stickyHeader = false, sort: sortProp, defaultSort = [], onSortChange, onRowClick, emptyState, isLoading = false, loadingState, loadingRows, loadingLabel = "Laster innhold", disableRowSelectionOnClick = false, getDetailsPanelContent, isDetailsPanelExpandable, getDetailsPanelHeight, showExpandAll = false, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange, getSubRows, expandedSubRowIds, defaultExpandedSubRowIds, isSubRowExpandable, onExpandedSubRowIdsChange } = _a, rest = __rest(_a, ["className", "id", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout", "selectionMode", "selectedKeys", "defaultSelectedKeys", "onSelectionChange", "disabledSelectionKeys", "data", "columnDefinitions", "getRowId", "stickyColumns", "stickyHeader", "sort", "defaultSort", "onSortChange", "onRowClick", "emptyState", "isLoading", "loadingState", "loadingRows", "loadingLabel", "disableRowSelectionOnClick", "getDetailsPanelContent", "isDetailsPanelExpandable", "getDetailsPanelHeight", "showExpandAll", "detailsPanelRowIds", "defaultDetailsPanelRowIds", "onDetailsPanelChange", "getSubRows", "expandedSubRowIds", "defaultExpandedSubRowIds", "isSubRowExpandable", "onExpandedSubRowIdsChange"]);
33
36
  const { tabIndex, setTableRef } = useTableKeyboardNav({
34
37
  enabled: withKeyboardNav,
35
38
  shouldBlockNavigation,
@@ -40,10 +43,22 @@ function DataTableAutoInner(_a, forwardedRef) {
40
43
  sort: sortProp,
41
44
  });
42
45
  const mergedRef = useMergeRefs(forwardedRef, setTableRef);
46
+ const tableItems = useTableItems({
47
+ items: data,
48
+ getRowId,
49
+ getSubRows,
50
+ expandedSubRowIds,
51
+ defaultExpandedSubRowIds,
52
+ isSubRowExpandable,
53
+ onExpandedSubRowIdsChange,
54
+ });
43
55
  const allRowKeys = useMemo(() => {
44
- const resolvedGetRowId = (item, index) => { var _a; return (_a = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item, index)) !== null && _a !== void 0 ? _a : index; };
45
- return data.map((item, index) => resolvedGetRowId(item, index));
46
- }, [data, getRowId]);
56
+ const rowKeys = [];
57
+ for (const details of tableItems.itemDetails.values()) {
58
+ rowKeys.push(details.id);
59
+ }
60
+ return rowKeys;
61
+ }, [tableItems.itemDetails]);
47
62
  const tableSelectionState = useTableSelection({
48
63
  selectionMode: selectionModeProp,
49
64
  selectedKeys,
@@ -56,9 +71,13 @@ function DataTableAutoInner(_a, forwardedRef) {
56
71
  stickyColumns,
57
72
  selectionMode: tableSelectionState.selection.selectionMode,
58
73
  });
74
+ const fullWidthColSpan = columns.length +
75
+ (layout === "fixed" ? 1 : 0) +
76
+ (tableSelectionState.selection.selectionMode !== "none" ? 1 : 0) +
77
+ (getDetailsPanelContent ? 1 : 0);
59
78
  const tableId = useId(id);
60
- return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: tableSelectionState, stickySelection: stickySelection, stickyHeader: stickyHeader, tableId: tableId, showLoadingSkeletons: isLoading && loadingState == null, onRowClick: onRowClick, disableRowSelectionOnClick: disableRowSelectionOnClick, isLoading: isLoading, showLoadingOverlay: isLoading && !loadingState && !loadingRows },
61
- React.createElement(DataTableExpansionProvider, { detailsPanelRowIds: detailsPanelRowIds, defaultDetailsPanelRowIds: defaultDetailsPanelRowIds, onDetailsPanelChange: onDetailsPanelChange, allRowKeys: allRowKeys, getDetailsPanelContent: getDetailsPanelContent, getDetailsPanelHeight: getDetailsPanelHeight, showExpandAll: showExpandAll },
79
+ return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: tableSelectionState, stickySelection: stickySelection, stickyHeader: stickyHeader, tableId: tableId, showLoadingSkeletons: isLoading && loadingState == null, onRowClick: onRowClick, disableRowSelectionOnClick: disableRowSelectionOnClick, isLoading: isLoading, showLoadingOverlay: isLoading && !loadingState && !loadingRows, columns: columns },
80
+ React.createElement(DataTableExpansionProvider, { detailsPanelRowIds: detailsPanelRowIds, defaultDetailsPanelRowIds: defaultDetailsPanelRowIds, onDetailsPanelChange: onDetailsPanelChange, itemDetails: tableItems.itemDetails, getDetailsPanelContent: getDetailsPanelContent, isDetailsPanelExpandable: isDetailsPanelExpandable, getDetailsPanelHeight: getDetailsPanelHeight, showExpandAll: showExpandAll },
62
81
  React.createElement("div", { className: "aksel-data-table__border-wrapper" },
63
82
  React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
64
83
  React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, "data-loading": isLoading || undefined, tabIndex: tabIndex, "aria-busy": isLoading || undefined }),
@@ -69,57 +88,80 @@ function DataTableAutoInner(_a, forwardedRef) {
69
88
  const sortDirection = (_a = sortEntry === null || sortEntry === void 0 ? void 0 : sortEntry.direction) !== null && _a !== void 0 ? _a : "none";
70
89
  return (React.createElement(DataTableColumnHeader, { maxWidth: colDef.maxWidth, minWidth: colDef.minWidth, width: colDef.width, defaultWidth: (_b = colDef.defaultWidth) !== null && _b !== void 0 ? _b : "100%", textAlign: colDef.type === "number" ? "right" : "left", key: colDef.id, isSticky: isSticky, sortable: colDef.sortable, sortDirection: sortDirection, onSortClick: (event) => onSortClick(colDef.id, event) }, colDef.header));
71
90
  }))),
72
- React.createElement(DataTableTbody, null,
73
- React.createElement(DataTableAutoTBodyContent, { columns: columns, data: data, allRowKeys: allRowKeys, loadingState: loadingState, loadingRows: loadingRows, loadingLabel: loadingLabel, emptyState: emptyState }))))))));
91
+ React.createElement(TableItemsProvider, { itemDetails: tableItems.itemDetails, items: tableItems.items, onExpandedSubRowIdsChange: tableItems.onExpandedSubRowIdsChange, isSubRowExpanded: tableItems.isSubRowExpanded },
92
+ React.createElement(DataTableTbody, null,
93
+ React.createElement(DataTableAutoTBodyContent, { loadingState: loadingState, loadingRows: loadingRows, loadingLabel: loadingLabel, emptyState: emptyState, fullWidthColSpan: fullWidthColSpan })))))))));
74
94
  }
75
- function DataTableAutoTBodyContent({ columns, data, allRowKeys, loadingState, loadingRows, loadingLabel, emptyState, }) {
76
- const { isLoading } = useDataTableContext();
95
+ function DataTableAutoTBodyContent({ loadingState, loadingRows, loadingLabel, emptyState, fullWidthColSpan, }) {
96
+ const { items, itemDetails } = useTableItemsContext();
97
+ const { columns, isLoading } = useDataTableContext();
77
98
  if (isLoading && loadingState != null) {
78
- return (React.createElement(DataTableLoadingState, { colSpan: columns.length }, loadingState));
99
+ return (React.createElement(DataTableLoadingState, { colSpan: fullWidthColSpan }, loadingState));
79
100
  }
80
101
  if (isLoading && loadingRows) {
81
102
  return (React.createElement(React.Fragment, null,
82
103
  React.createElement("tr", null,
83
- React.createElement("td", { colSpan: columns.length, className: "aksel-sr-only" }, loadingLabel)),
104
+ React.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel)),
84
105
  Array.from({ length: loadingRows }, (_, rowIndex) => (React.createElement(DataTableTr, { key: `skeleton-row-${rowIndex}`, "aria-hidden": true }, columns.map(({ isSticky, colDef }, colDefIndex) => (React.createElement(DataTableBaseCell, { textAlign: colDef.type === "number" ? "right" : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky },
85
106
  React.createElement(Skeleton, { variant: "text" })))))))));
86
107
  }
87
- if (data.length === 0 && emptyState !== undefined) {
88
- return (React.createElement(DataTableEmptyState, { colSpan: columns.length }, emptyState));
108
+ if (items.length === 0 && emptyState !== undefined) {
109
+ return (React.createElement(DataTableEmptyState, { colSpan: fullWidthColSpan }, emptyState));
89
110
  }
90
- const renderLoadingAnnoucement = isLoading && !loadingState && !loadingRows;
91
- return data.map((rowData, rowIndex) => {
92
- const rowId = allRowKeys[rowIndex];
93
- return (React.createElement(React.Fragment, { key: rowId },
94
- renderLoadingAnnoucement && (React.createElement("tr", null,
95
- React.createElement("td", { colSpan: columns.length, className: "aksel-sr-only" }, loadingLabel))),
96
- React.createElement(DataTableTr, { rowId: rowId }, columns.map(({ isSticky, colDef }, colDefIndex) => {
111
+ const renderLoadingAnnouncement = isLoading && !loadingState && !loadingRows;
112
+ return items.map((rowData) => {
113
+ const details = itemDetails.get(rowData);
114
+ /* Should in theory be impossible. Look about typing this? */
115
+ if (!details) {
116
+ return null;
117
+ }
118
+ const hasSubRows = details.children.length > 0;
119
+ return (React.createElement(React.Fragment, { key: details.id },
120
+ renderLoadingAnnouncement && (React.createElement("tr", null,
121
+ React.createElement("td", { colSpan: fullWidthColSpan, className: "aksel-sr-only" }, loadingLabel))),
122
+ React.createElement(DataTableTr, { rowId: details.id }, columns.map(({ isSticky, colDef }, colDefIndex) => {
123
+ const renderNestedToggle = colDefIndex === 0 && hasSubRows;
124
+ const renderNestedIndent = colDefIndex === 0 && (details.level > 0 || hasSubRows);
125
+ const style = {
126
+ "--__axc-data-table-nested-depth": details.level,
127
+ };
97
128
  return (React.createElement(DataTableBaseCell
98
129
  /* TODO: Make this configurable */
99
130
  , {
100
131
  /* TODO: Make this configurable */
101
- textAlign: colDef.type === "number" ? "right" : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky }, colDef.cell(rowData)));
132
+ textAlign: colDef.type === "number" ? "right" : "left", key: colDef.id || colDefIndex, as: colDef.isRowHeader ? "th" : "td", isSticky: isSticky, "data-nested": renderNestedIndent || undefined, style: style },
133
+ renderNestedToggle && React.createElement(NestedRowToggle, { details: details }),
134
+ colDef.cell(rowData)));
102
135
  })),
103
- React.createElement(DataTableExpandedRow, { rowId: rowId, rowData: rowData, columnCount: columns.length })));
136
+ React.createElement(DataTableExpandedRow, { rowId: details.id, rowData: rowData, fullWidthColSpan: fullWidthColSpan })));
104
137
  });
105
138
  }
106
- function DataTableExpandedRow({ rowId, rowData, columnCount, }) {
139
+ function NestedRowToggle({ details }) {
140
+ const { isSubRowExpanded, onExpandedSubRowIdsChange } = useTableItemsContext();
141
+ const subRows = details.children;
142
+ const hasSubRows = subRows && subRows.length > 0;
143
+ const isRowExpanded = isSubRowExpanded(details.id);
144
+ return (React.createElement("div", { className: "aksel-data-table__nested-toggle" }, hasSubRows && (React.createElement(Button, { variant: "tertiary", "data-color": "neutral", size: "small", onClick: (e) => {
145
+ e.stopPropagation();
146
+ onExpandedSubRowIdsChange(details.id);
147
+ }, "aria-expanded": isRowExpanded, "aria-label": isRowExpanded ? "Skjul under-rader" : "Vis under-rader", icon: isRowExpanded ? (React.createElement(ChevronDownIcon, { "aria-hidden": true })) : (React.createElement(ChevronRightIcon, { "aria-hidden": true })) }))));
148
+ }
149
+ function DataTableExpandedRow({ rowId, rowData, fullWidthColSpan, }) {
107
150
  const { tableId } = useDataTableContext();
108
- const expansionContext = useDataTableExpansion(false);
109
- /* TODO: Is this the way we want to opt out? Might just be temp until auto and root is merged so they use same context */
110
- if (!expansionContext) {
151
+ const { enableDetailsPanel, isExpanded, getDetailsPanelContent, getDetailsPanelHeight, } = useDataTableExpansion();
152
+ if (!enableDetailsPanel) {
111
153
  return null;
112
154
  }
113
- const { isExpanded, getDetailsPanelContent, getDetailsPanelHeight } = expansionContext;
114
155
  if (!isExpanded(rowId)) {
115
156
  return null;
116
157
  }
117
158
  const content = getDetailsPanelContent === null || getDetailsPanelContent === void 0 ? void 0 : getDetailsPanelContent(rowData);
159
+ const expansionId = getDataTableExpansionId(tableId, rowId);
118
160
  if (!content) {
119
161
  return null;
120
162
  }
121
163
  return (React.createElement("tr", null,
122
- React.createElement("td", { id: `${tableId}-expansion-${rowId}`, colSpan: columnCount },
164
+ React.createElement("td", { id: expansionId, colSpan: fullWidthColSpan },
123
165
  React.createElement("div", { style: { height: getDetailsPanelHeight === null || getDetailsPanelHeight === void 0 ? void 0 : getDetailsPanelHeight(rowData) } }, content))));
124
166
  }
125
167
  const DataTableAuto = forwardRef(DataTableAutoInner);
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableAuto.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableAuto.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTableAuto.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableAuto.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import type { UseColumnOptionsResult } from "../hooks/useColumnOptions.js";
1
2
  import type { UseTableSelectionReturn } from "../hooks/useTableSelection.js";
2
- type DataTableContextProps = {
3
+ type DataTableContextProps<T> = {
3
4
  layout: "fixed" | "auto";
4
5
  withKeyboardNav: boolean;
5
6
  selectionState: UseTableSelectionReturn;
@@ -11,11 +12,12 @@ type DataTableContextProps = {
11
12
  disableRowSelectionOnClick: boolean;
12
13
  isLoading?: boolean;
13
14
  showLoadingOverlay: boolean;
15
+ columns: UseColumnOptionsResult<T>["columns"];
14
16
  };
15
- declare const DataTableContextProvider: import("react").FC<DataTableContextProps & {
17
+ declare const DataTableContextProvider: import("react").FC<DataTableContextProps<any> & {
16
18
  children: React.ReactNode;
17
19
  ref?: never;
18
- }>, useDataTableContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DataTableContextProps : DataTableContextProps | undefined;
20
+ }>, useDataTableContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DataTableContextProps<any> : DataTableContextProps<any> | undefined;
19
21
  type DataTableLocation = "thead" | "tbody" | "tfoot";
20
22
  declare const DataTableLocationProvider: import("react").FC<{
21
23
  location: DataTableLocation;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.context.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAoB7D,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAC3E,mBAAmB,CAAwB;IACzC,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE,mDAAmD;CAClE,CAAC,CAAC;AAIL,MAAM,EACJ,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,oBAAoB,GACjC,GAAG,mBAAmB,CAAkC;IACvD,IAAI,EAAE,mBAAmB;IACzB,YAAY,EACV,mIAAmI;CACtI,CAAC,CAAC;AAEH,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"DataTableRoot.context.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAsB7D,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAC3E,mBAAmB,CAA6B;IAC9C,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE,mDAAmD;CAClE,CAAC,CAAC;AAIL,MAAM,EACJ,QAAQ,EAAE,yBAAyB,EACnC,UAAU,EAAE,oBAAoB,GACjC,GAAG,mBAAmB,CAAkC;IACvD,IAAI,EAAE,mBAAmB;IACzB,YAAY,EACV,mIAAmI;CACtI,CAAC,CAAC;AAEH,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,GACrB,CAAC"}
@@ -15,6 +15,7 @@ import { cl } from "../../../utils/helpers/index.js";
15
15
  import { useMergeRefs } from "../../../utils/hooks/index.js";
16
16
  import { DataTableCaption, } from "../caption/DataTableCaption.js";
17
17
  import { DataTableEmptyState, } from "../empty-state/DataTableEmptyState.js";
18
+ import { DataTableExpansionProvider } from "../hooks/useTableExpansion.js";
18
19
  import { useTableKeyboardNav } from "../hooks/useTableKeyboardNav.js";
19
20
  import { noSelectionState } from "../hooks/useTableSelection.js";
20
21
  import { DataTableLoadingState, } from "../loading-state/DataTableLoadingState.js";
@@ -25,6 +26,7 @@ import { DataTableTh } from "../th/DataTableTh.js";
25
26
  import { DataTableThead, } from "../thead/DataTableThead.js";
26
27
  import { DataTableTr } from "../tr/DataTableTr.js";
27
28
  import { DataTableContextProvider } from "./DataTableRoot.context.js";
29
+ const EMPTY_ITEM_DETAILS = new Map();
28
30
  /**
29
31
  * TODO Component description etc.
30
32
  *
@@ -38,10 +40,11 @@ const DataTable = forwardRef((_a, forwardedRef) => {
38
40
  shouldBlockNavigation,
39
41
  });
40
42
  const mergedRef = useMergeRefs(forwardedRef, setTableRef);
41
- return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: noSelectionState, stickySelection: false, stickyHeader: false, tableId: useId(), showLoadingSkeletons: false, onRowClick: undefined, disableRowSelectionOnClick: false, showLoadingOverlay: false },
42
- React.createElement("div", { className: "aksel-data-table__border-wrapper" },
43
- React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
44
- React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, tabIndex: tabIndex }))))));
43
+ return (React.createElement(DataTableContextProvider, { layout: layout, withKeyboardNav: withKeyboardNav, selectionState: noSelectionState, stickySelection: false, stickyHeader: false, tableId: useId(), showLoadingSkeletons: false, onRowClick: undefined, disableRowSelectionOnClick: false, showLoadingOverlay: false, columns: [] },
44
+ React.createElement(DataTableExpansionProvider, { itemDetails: EMPTY_ITEM_DETAILS },
45
+ React.createElement("div", { className: "aksel-data-table__border-wrapper" },
46
+ React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
47
+ React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, tabIndex: tabIndex })))))));
45
48
  });
46
49
  DataTable.Caption = DataTableCaption;
47
50
  DataTable.Thead = DataTableThead;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":"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"}