@navikt/ds-react 8.10.6 → 8.11.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.
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +1 -1
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +2 -2
- package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/cjs/data/stories/Data.test-data.d.ts +2 -2
- package/cjs/data/stories/Data.test-data.js +37 -42
- package/cjs/data/stories/Data.test-data.js.map +1 -1
- package/cjs/data/table/base-cell/DataTableBaseCell.d.ts +4 -4
- package/cjs/data/table/base-cell/DataTableBaseCell.js +2 -2
- package/cjs/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +3 -15
- package/cjs/data/table/column-header/DataTableColumnHeader.js +8 -5
- package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/cjs/data/table/column-header/useTableColumnResize.d.ts +2 -2
- package/cjs/data/table/column-header/useTableColumnResize.js +10 -10
- package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/cjs/data/table/helpers/collectTableRowEntries.d.ts +1 -1
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +6 -5
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +6 -2
- package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +3 -3
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js +1 -1
- package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/cjs/data/table/helpers/selection/selection.types.d.ts +19 -27
- package/cjs/data/table/helpers/selection/selection.utils.d.ts +1 -1
- package/cjs/data/table/hooks/useColumnOptions.d.ts +3 -3
- package/cjs/data/table/hooks/useColumnOptions.js +2 -2
- package/cjs/data/table/hooks/useColumnOptions.js.map +1 -1
- package/cjs/data/table/hooks/useTableDetailsPanel.d.ts +8 -9
- package/cjs/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/cjs/data/table/hooks/useTableItems.d.ts +10 -11
- package/cjs/data/table/hooks/useTableItems.js +11 -3
- package/cjs/data/table/hooks/useTableItems.js.map +1 -1
- package/cjs/data/table/hooks/useTableSelection.d.ts +2 -1
- package/cjs/data/table/hooks/useTableSelection.js +46 -29
- package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
- package/cjs/data/table/hooks/useTableSort.d.ts +13 -7
- package/cjs/data/table/hooks/useTableSort.js +8 -9
- package/cjs/data/table/hooks/useTableSort.js.map +1 -1
- package/cjs/data/table/index.d.ts +1 -1
- package/cjs/data/table/index.js +3 -23
- package/cjs/data/table/index.js.map +1 -1
- package/cjs/data/table/root/{DataTable.types.d.ts → DataGridTable.types.d.ts} +16 -26
- package/cjs/data/table/root/DataGridTable.types.js +3 -0
- package/cjs/data/table/root/DataGridTable.types.js.map +1 -0
- package/cjs/data/table/root/DataGridTableRoot.d.ts +104 -0
- package/cjs/data/table/root/{DataTableRoot.js → DataGridTableRoot.js} +57 -37
- package/cjs/data/table/root/DataGridTableRoot.js.map +1 -0
- package/cjs/data/table/root/DataTableRoot.context.d.ts +6 -2
- package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
- package/cjs/data/table/tbody/DataTableTbody.js +3 -3
- package/cjs/data/table/tbody/DataTableTbody.js.map +1 -1
- package/cjs/data/table/tr/DataTableTr.d.ts +3 -3
- package/cjs/data/table/tr/DataTableTr.js +44 -20
- package/cjs/data/table/tr/DataTableTr.js.map +1 -1
- package/cjs/data/token-filter/TokenFilter.d.ts +0 -6
- package/cjs/data/token-filter/TokenFilter.js +1 -1
- package/cjs/data-grid/index.d.ts +2 -0
- package/cjs/data-grid/index.js +9 -0
- package/cjs/data-grid/index.js.map +1 -0
- package/cjs/data-grid/root/DataGrid.types.d.ts +35 -0
- package/cjs/{data/table/root/DataTable.types.js → data-grid/root/DataGrid.types.js} +1 -1
- package/cjs/data-grid/root/DataGrid.types.js.map +1 -0
- package/cjs/data-grid/root/DataGridRoot.context.d.ts +16 -0
- package/cjs/{data/data-grid → data-grid}/root/DataGridRoot.context.js +1 -1
- package/cjs/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/cjs/data-grid/root/DataGridRoot.d.ts +89 -0
- package/cjs/{data/data-grid → data-grid}/root/DataGridRoot.js +33 -8
- package/cjs/data-grid/root/DataGridRoot.js.map +1 -0
- package/cjs/preview.d.ts +1 -0
- package/cjs/{data/data-grid/index.js → preview.js} +3 -3
- package/cjs/preview.js.map +1 -0
- package/cjs/table/ColumnHeader.js.map +1 -1
- package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +1 -1
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js +2 -2
- package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
- package/esm/data/stories/Data.test-data.d.ts +2 -2
- package/esm/data/stories/Data.test-data.js +37 -42
- package/esm/data/stories/Data.test-data.js.map +1 -1
- package/esm/data/table/base-cell/DataTableBaseCell.d.ts +4 -4
- package/esm/data/table/base-cell/DataTableBaseCell.js +2 -2
- package/esm/data/table/base-cell/DataTableBaseCell.js.map +1 -1
- package/esm/data/table/column-header/DataTableColumnHeader.d.ts +3 -15
- package/esm/data/table/column-header/DataTableColumnHeader.js +8 -5
- package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -1
- package/esm/data/table/column-header/useTableColumnResize.d.ts +2 -2
- package/esm/data/table/column-header/useTableColumnResize.js +10 -10
- package/esm/data/table/column-header/useTableColumnResize.js.map +1 -1
- package/esm/data/table/helpers/collectTableRowEntries.d.ts +1 -1
- package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +6 -5
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js +6 -2
- package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +3 -3
- package/esm/data/table/helpers/selection/getSingleSelectProps.js +1 -1
- package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
- package/esm/data/table/helpers/selection/selection.types.d.ts +19 -27
- package/esm/data/table/helpers/selection/selection.utils.d.ts +1 -1
- package/esm/data/table/hooks/useColumnOptions.d.ts +3 -3
- package/esm/data/table/hooks/useColumnOptions.js +2 -2
- package/esm/data/table/hooks/useColumnOptions.js.map +1 -1
- package/esm/data/table/hooks/useTableDetailsPanel.d.ts +8 -9
- package/esm/data/table/hooks/useTableDetailsPanel.js.map +1 -1
- package/esm/data/table/hooks/useTableItems.d.ts +10 -11
- package/esm/data/table/hooks/useTableItems.js +11 -3
- package/esm/data/table/hooks/useTableItems.js.map +1 -1
- package/esm/data/table/hooks/useTableSelection.d.ts +2 -1
- package/esm/data/table/hooks/useTableSelection.js +46 -29
- package/esm/data/table/hooks/useTableSelection.js.map +1 -1
- package/esm/data/table/hooks/useTableSort.d.ts +13 -7
- package/esm/data/table/hooks/useTableSort.js +9 -10
- package/esm/data/table/hooks/useTableSort.js.map +1 -1
- package/esm/data/table/index.d.ts +1 -1
- package/esm/data/table/index.js +1 -21
- package/esm/data/table/index.js.map +1 -1
- package/esm/data/table/root/{DataTable.types.d.ts → DataGridTable.types.d.ts} +16 -26
- package/esm/data/table/root/DataGridTable.types.js +2 -0
- package/esm/data/table/root/DataGridTable.types.js.map +1 -0
- package/esm/data/table/root/DataGridTableRoot.d.ts +104 -0
- package/esm/data/table/root/{DataTableRoot.js → DataGridTableRoot.js} +59 -38
- package/esm/data/table/root/DataGridTableRoot.js.map +1 -0
- package/esm/data/table/root/DataTableRoot.context.d.ts +6 -2
- package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
- package/esm/data/table/tbody/DataTableTbody.js +3 -3
- package/esm/data/table/tbody/DataTableTbody.js.map +1 -1
- package/esm/data/table/tr/DataTableTr.d.ts +3 -3
- package/esm/data/table/tr/DataTableTr.js +44 -20
- package/esm/data/table/tr/DataTableTr.js.map +1 -1
- package/esm/data/token-filter/TokenFilter.d.ts +0 -6
- package/esm/data/token-filter/TokenFilter.js +1 -1
- package/esm/data-grid/index.d.ts +2 -0
- package/esm/data-grid/index.js +4 -0
- package/esm/data-grid/index.js.map +1 -0
- package/esm/data-grid/root/DataGrid.types.d.ts +35 -0
- package/esm/data-grid/root/DataGrid.types.js +2 -0
- package/esm/data-grid/root/DataGrid.types.js.map +1 -0
- package/esm/data-grid/root/DataGridRoot.context.d.ts +16 -0
- package/esm/{data/data-grid → data-grid}/root/DataGridRoot.context.js +1 -1
- package/esm/data-grid/root/DataGridRoot.context.js.map +1 -0
- package/esm/data-grid/root/DataGridRoot.d.ts +89 -0
- package/esm/data-grid/root/DataGridRoot.js +57 -0
- package/esm/data-grid/root/DataGridRoot.js.map +1 -0
- package/esm/preview.d.ts +1 -0
- package/esm/preview.js +3 -0
- package/esm/preview.js.map +1 -0
- package/esm/table/ColumnHeader.js.map +1 -1
- package/package.json +23 -3
- package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +3 -3
- package/src/data/stories/Data.test-data.tsx +53 -51
- package/src/data/table/base-cell/DataTableBaseCell.tsx +6 -6
- package/src/data/table/column-header/DataTableColumnHeader.tsx +17 -20
- package/src/data/table/column-header/useTableColumnResize.ts +14 -14
- package/src/data/table/helpers/collectTableRowEntries.ts +1 -1
- package/src/data/table/helpers/selection/getMultipleSelectProps.ts +11 -5
- package/src/data/table/helpers/selection/getSingleSelectProps.ts +4 -4
- package/src/data/table/helpers/selection/selection.types.ts +19 -29
- package/src/data/table/helpers/selection/selection.utils.test.ts +1 -1
- package/src/data/table/helpers/selection/selection.utils.ts +1 -1
- package/src/data/table/hooks/__tests__/useTableItems.test.ts +1 -1
- package/src/data/table/hooks/useColumnOptions.ts +5 -5
- package/src/data/table/hooks/useTableDetailsPanel.tsx +14 -18
- package/src/data/table/hooks/useTableItems.ts +37 -23
- package/src/data/table/hooks/useTableSelection.ts +62 -45
- package/src/data/table/hooks/useTableSort.ts +29 -17
- package/src/data/table/index.tsx +4 -21
- package/src/data/table/root/{DataTable.types.ts → DataGridTable.types.ts} +17 -30
- package/src/data/table/root/{DataTableRoot.tsx → DataGridTableRoot.tsx} +196 -143
- package/src/data/table/root/DataTableRoot.context.ts +10 -8
- package/src/data/table/sub-row-toggle/DataTableSubRowToggle.tsx +1 -1
- package/src/data/table/tbody/DataTableTbody.tsx +3 -3
- package/src/data/table/tr/DataTableTr.tsx +51 -16
- package/src/data/token-filter/TokenFilter.tsx +1 -1
- package/src/data-grid/index.ts +3 -0
- package/src/data-grid/root/DataGrid.types.ts +36 -0
- package/src/data-grid/root/DataGridRoot.context.ts +21 -0
- package/src/data-grid/root/DataGridRoot.tsx +152 -0
- package/src/preview.ts +2 -0
- package/src/table/ColumnHeader.tsx +1 -0
- package/cjs/data/data-grid/index.d.ts +0 -2
- package/cjs/data/data-grid/index.js.map +0 -1
- package/cjs/data/data-grid/root/DataGridRoot.context.d.ts +0 -11
- package/cjs/data/data-grid/root/DataGridRoot.context.js.map +0 -1
- package/cjs/data/data-grid/root/DataGridRoot.d.ts +0 -38
- package/cjs/data/data-grid/root/DataGridRoot.js.map +0 -1
- package/cjs/data/table/root/DataTable.types.js.map +0 -1
- package/cjs/data/table/root/DataTableRoot.d.ts +0 -118
- package/cjs/data/table/root/DataTableRoot.js.map +0 -1
- package/cjs/data/table/root/DataTableRoot.legacy.d.ts +0 -172
- package/cjs/data/table/root/DataTableRoot.legacy.js +0 -118
- package/cjs/data/table/root/DataTableRoot.legacy.js.map +0 -1
- package/esm/data/data-grid/index.d.ts +0 -2
- package/esm/data/data-grid/index.js +0 -3
- package/esm/data/data-grid/index.js.map +0 -1
- package/esm/data/data-grid/root/DataGridRoot.context.d.ts +0 -11
- package/esm/data/data-grid/root/DataGridRoot.context.js.map +0 -1
- package/esm/data/data-grid/root/DataGridRoot.d.ts +0 -38
- package/esm/data/data-grid/root/DataGridRoot.js +0 -32
- package/esm/data/data-grid/root/DataGridRoot.js.map +0 -1
- package/esm/data/table/root/DataTable.types.js +0 -2
- package/esm/data/table/root/DataTable.types.js.map +0 -1
- package/esm/data/table/root/DataTableRoot.d.ts +0 -118
- package/esm/data/table/root/DataTableRoot.js.map +0 -1
- package/esm/data/table/root/DataTableRoot.legacy.d.ts +0 -172
- package/esm/data/table/root/DataTableRoot.legacy.js +0 -73
- package/esm/data/table/root/DataTableRoot.legacy.js.map +0 -1
- package/src/data/data-grid/index.ts +0 -3
- package/src/data/data-grid/root/DataGridRoot.context.ts +0 -16
- package/src/data/data-grid/root/DataGridRoot.tsx +0 -71
- package/src/data/table/Readme.md +0 -11
- package/src/data/table/agent-component-review.md +0 -175
- package/src/data/table/root/DataTableRoot.legacy.tsx +0 -305
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from "react";
|
|
2
|
-
import { useId } from "../../../utils-external";
|
|
3
|
-
import { cl } from "../../../utils/helpers";
|
|
4
|
-
import { useMergeRefs } from "../../../utils/hooks";
|
|
5
|
-
import {
|
|
6
|
-
DataTableCaption,
|
|
7
|
-
type DataTableCaptionProps,
|
|
8
|
-
} from "../caption/DataTableCaption";
|
|
9
|
-
import {
|
|
10
|
-
DataTableEmptyState,
|
|
11
|
-
type DataTableEmptyStateProps,
|
|
12
|
-
} from "../empty-state/DataTableEmptyState";
|
|
13
|
-
import { DataTableDetailsPanelProvider } from "../hooks/useTableDetailsPanel";
|
|
14
|
-
import { useTableKeyboardNav } from "../hooks/useTableKeyboardNav";
|
|
15
|
-
import {
|
|
16
|
-
type SelectionProps,
|
|
17
|
-
noSelectionState,
|
|
18
|
-
} from "../hooks/useTableSelection";
|
|
19
|
-
import {
|
|
20
|
-
DataTableLoadingState,
|
|
21
|
-
type DataTableLoadingStateProps,
|
|
22
|
-
} from "../loading-state/DataTableLoadingState";
|
|
23
|
-
import {
|
|
24
|
-
DataTableTbody,
|
|
25
|
-
type DataTableTbodyProps,
|
|
26
|
-
} from "../tbody/DataTableTbody";
|
|
27
|
-
import { DataTableTd, type DataTableTdProps } from "../td/DataTableTd";
|
|
28
|
-
import {
|
|
29
|
-
DataTableTfoot,
|
|
30
|
-
type DataTableTfootProps,
|
|
31
|
-
} from "../tfoot/DataTableTfoot";
|
|
32
|
-
import { DataTableTh, type DataTableThProps } from "../th/DataTableTh";
|
|
33
|
-
import {
|
|
34
|
-
DataTableThead,
|
|
35
|
-
type DataTableTheadProps,
|
|
36
|
-
} from "../thead/DataTableThead";
|
|
37
|
-
import { DataTableTr, type DataTableTrProps } from "../tr/DataTableTr";
|
|
38
|
-
import { DataTableContextProvider } from "./DataTableRoot.context";
|
|
39
|
-
|
|
40
|
-
interface DataTableProps extends React.HTMLAttributes<HTMLTableElement> {
|
|
41
|
-
children: React.ReactNode;
|
|
42
|
-
/**
|
|
43
|
-
* Controls vertical cell padding.
|
|
44
|
-
* @default "normal"
|
|
45
|
-
*/
|
|
46
|
-
rowDensity?: "condensed" | "normal" | "spacious";
|
|
47
|
-
/**
|
|
48
|
-
* Zebra striped table
|
|
49
|
-
* @default false
|
|
50
|
-
*/
|
|
51
|
-
zebraStripes?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Truncate content in cells and show ellipsis for overflowed text.
|
|
54
|
-
*
|
|
55
|
-
* **NB:** When using `layout="auto"`, you have to manually set a `maxWidth` on columns that should be truncated.
|
|
56
|
-
* @default true
|
|
57
|
-
*/
|
|
58
|
-
truncateContent?: boolean; // TODO: Consider making this default false when layout=auto, and maybe disallow it but add a wrap prop on the td-comp.
|
|
59
|
-
/**
|
|
60
|
-
* Enables keyboard navigation for table rows and cells.
|
|
61
|
-
* @default false
|
|
62
|
-
*/
|
|
63
|
-
withKeyboardNav?: boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Controls table layout.
|
|
66
|
-
*
|
|
67
|
-
* ### fixed
|
|
68
|
-
* Gives you full control of column widths. This is required for resizable columns.
|
|
69
|
-
*
|
|
70
|
-
* ### auto
|
|
71
|
-
* Makes the columns resize automatically based on the content.
|
|
72
|
-
* The table will take up at least 100% of available width.
|
|
73
|
-
*
|
|
74
|
-
* **NB:** When using this with `truncateContent`, you have to manually
|
|
75
|
-
* set a `contentMaxWidth` on cells that should be truncated.
|
|
76
|
-
* @default "fixed"
|
|
77
|
-
*/
|
|
78
|
-
layout?: "fixed" | "auto";
|
|
79
|
-
selection?: SelectionProps;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
interface DataTableRootComponent extends React.ForwardRefExoticComponent<
|
|
83
|
-
DataTableProps & React.RefAttributes<HTMLTableElement>
|
|
84
|
-
> {
|
|
85
|
-
/**
|
|
86
|
-
* @see 🏷️ {@link DataTableCaptionProps}
|
|
87
|
-
* @example
|
|
88
|
-
* ```jsx
|
|
89
|
-
* <DataTable>
|
|
90
|
-
* <DataTable.Caption>
|
|
91
|
-
* Lorem ipsum
|
|
92
|
-
* </DataTable.Caption
|
|
93
|
-
* </DataTable>
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
Caption: typeof DataTableCaption;
|
|
97
|
-
/**
|
|
98
|
-
* @see 🏷️ {@link DataTableTheadProps}
|
|
99
|
-
* @example
|
|
100
|
-
* ```jsx
|
|
101
|
-
* <DataTable>
|
|
102
|
-
* <DataTable.Thead>
|
|
103
|
-
* ... TODO
|
|
104
|
-
* </DataTable.Thead>
|
|
105
|
-
* </DataTable>
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
Thead: typeof DataTableThead;
|
|
109
|
-
/**
|
|
110
|
-
* @see 🏷️ {@link DataTableTbodyProps}
|
|
111
|
-
* @example
|
|
112
|
-
* ```jsx
|
|
113
|
-
* <DataTable>
|
|
114
|
-
* <DataTable.Tbody>
|
|
115
|
-
* ... TODO
|
|
116
|
-
* </DataTable.Tbody>
|
|
117
|
-
* </DataTable>
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
Tbody: typeof DataTableTbody;
|
|
121
|
-
/**
|
|
122
|
-
* @see 🏷️ {@link DataTableTrProps}
|
|
123
|
-
* @example
|
|
124
|
-
* ```jsx
|
|
125
|
-
* <DataTable>
|
|
126
|
-
* <DataTable.Tr>
|
|
127
|
-
* ... TODO
|
|
128
|
-
* </DataTable.Tr
|
|
129
|
-
* </DataTable>
|
|
130
|
-
* ```
|
|
131
|
-
*/
|
|
132
|
-
Tr: typeof DataTableTr;
|
|
133
|
-
/**
|
|
134
|
-
* @see 🏷️ {@link DataTableThProps}
|
|
135
|
-
* @example
|
|
136
|
-
* ```jsx
|
|
137
|
-
* ```
|
|
138
|
-
*/
|
|
139
|
-
Th: typeof DataTableTh;
|
|
140
|
-
/**
|
|
141
|
-
* @see 🏷️ {@link DataTableTdProps}
|
|
142
|
-
* @example
|
|
143
|
-
* ```jsx
|
|
144
|
-
* <DataTable>
|
|
145
|
-
* <DataTable.Tbody>
|
|
146
|
-
* <DataTable.Td>
|
|
147
|
-
* Lorem ipsum
|
|
148
|
-
* </DataTable.Td>
|
|
149
|
-
* <DataTable.Td>
|
|
150
|
-
* Dolor sit amet
|
|
151
|
-
* </DataTable.Td>
|
|
152
|
-
* </DataTable.Tbody>
|
|
153
|
-
* </DataTable>
|
|
154
|
-
* ```
|
|
155
|
-
*/
|
|
156
|
-
Td: typeof DataTableTd;
|
|
157
|
-
/**
|
|
158
|
-
* @see 🏷️ {@link DataTableTfootProps}
|
|
159
|
-
* @example
|
|
160
|
-
* ```jsx
|
|
161
|
-
* <DataTable>
|
|
162
|
-
* <DataTable.Tfoot>
|
|
163
|
-
* ...
|
|
164
|
-
* </DataTable.Tfoot>
|
|
165
|
-
* </DataTable>
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
Tfoot: typeof DataTableTfoot;
|
|
169
|
-
/**
|
|
170
|
-
* @see 🏷️ {@link DataTableEmptyStateProps}
|
|
171
|
-
* @example
|
|
172
|
-
* ```jsx
|
|
173
|
-
* <DataTable>
|
|
174
|
-
* <DataTable.TBody>
|
|
175
|
-
* <DataTable.EmptyState />
|
|
176
|
-
* </DataTable.TBody>
|
|
177
|
-
* </DataTable>
|
|
178
|
-
* ```
|
|
179
|
-
*/
|
|
180
|
-
EmptyState: typeof DataTableEmptyState;
|
|
181
|
-
/**
|
|
182
|
-
* @see 🏷️ {@link DataTableEmptyStateProps}
|
|
183
|
-
* @example
|
|
184
|
-
* ```jsx
|
|
185
|
-
* <DataTable>
|
|
186
|
-
* <DataTable.TBody>
|
|
187
|
-
* <DataTable.LoadingState />
|
|
188
|
-
* </DataTable.TBody>
|
|
189
|
-
* </DataTable>
|
|
190
|
-
* ```
|
|
191
|
-
*/
|
|
192
|
-
LoadingState: typeof DataTableLoadingState;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* TODO Component description etc.
|
|
197
|
-
*
|
|
198
|
-
* **NB:** To get sticky headers, you have to set a height restriction on the table container. You can use VStack for this:
|
|
199
|
-
* TODO example
|
|
200
|
-
*/
|
|
201
|
-
const DataTable = forwardRef<HTMLTableElement, DataTableProps>(
|
|
202
|
-
(
|
|
203
|
-
{
|
|
204
|
-
className,
|
|
205
|
-
rowDensity = "normal",
|
|
206
|
-
withKeyboardNav = false,
|
|
207
|
-
zebraStripes = false,
|
|
208
|
-
truncateContent = true,
|
|
209
|
-
layout = "fixed",
|
|
210
|
-
...rest
|
|
211
|
-
},
|
|
212
|
-
forwardedRef,
|
|
213
|
-
) => {
|
|
214
|
-
const { tabIndex, setTableRef } = useTableKeyboardNav({
|
|
215
|
-
enabled: withKeyboardNav,
|
|
216
|
-
});
|
|
217
|
-
|
|
218
|
-
const mergedRef = useMergeRefs(forwardedRef, setTableRef);
|
|
219
|
-
|
|
220
|
-
return (
|
|
221
|
-
<DataTableContextProvider
|
|
222
|
-
layout={layout}
|
|
223
|
-
withKeyboardNav={withKeyboardNav}
|
|
224
|
-
selectionState={noSelectionState}
|
|
225
|
-
stickyStart={{
|
|
226
|
-
expansion: false,
|
|
227
|
-
selection: false,
|
|
228
|
-
selectionOffset: 0,
|
|
229
|
-
firstColumnOffset: 0,
|
|
230
|
-
}}
|
|
231
|
-
stickyHeader={true}
|
|
232
|
-
tableId={useId()}
|
|
233
|
-
loading={undefined}
|
|
234
|
-
onRowClick={undefined}
|
|
235
|
-
columns={[]}
|
|
236
|
-
totalColSpan={9999}
|
|
237
|
-
tableItems={{
|
|
238
|
-
childRowIdsById: new Map(),
|
|
239
|
-
visibleRowIds: [],
|
|
240
|
-
itemDetails: new Map(),
|
|
241
|
-
items: [],
|
|
242
|
-
isSubRowExpanded: () => false,
|
|
243
|
-
onExpandedRowIdsChange: () => null,
|
|
244
|
-
}}
|
|
245
|
-
sortingState={{
|
|
246
|
-
onSortClick: () => null,
|
|
247
|
-
sortState: [],
|
|
248
|
-
}}
|
|
249
|
-
>
|
|
250
|
-
<DataTableDetailsPanelProvider>
|
|
251
|
-
<div className="aksel-data-table__border-wrapper">
|
|
252
|
-
<div className="aksel-data-table__scroll-wrapper">
|
|
253
|
-
<table
|
|
254
|
-
{...rest}
|
|
255
|
-
ref={mergedRef}
|
|
256
|
-
className={cl("aksel-data-table", className)}
|
|
257
|
-
data-zebra-stripes={zebraStripes}
|
|
258
|
-
data-truncate-content={truncateContent}
|
|
259
|
-
data-density={rowDensity}
|
|
260
|
-
data-layout={layout}
|
|
261
|
-
tabIndex={tabIndex}
|
|
262
|
-
/>
|
|
263
|
-
</div>
|
|
264
|
-
</div>
|
|
265
|
-
</DataTableDetailsPanelProvider>
|
|
266
|
-
</DataTableContextProvider>
|
|
267
|
-
);
|
|
268
|
-
},
|
|
269
|
-
) as DataTableRootComponent;
|
|
270
|
-
|
|
271
|
-
DataTable.Caption = DataTableCaption;
|
|
272
|
-
DataTable.Thead = DataTableThead;
|
|
273
|
-
DataTable.Tbody = DataTableTbody;
|
|
274
|
-
DataTable.Th = DataTableTh;
|
|
275
|
-
DataTable.Tr = DataTableTr;
|
|
276
|
-
DataTable.Td = DataTableTd;
|
|
277
|
-
DataTable.Tfoot = DataTableTfoot;
|
|
278
|
-
DataTable.EmptyState = DataTableEmptyState;
|
|
279
|
-
DataTable.LoadingState = DataTableLoadingState;
|
|
280
|
-
|
|
281
|
-
export {
|
|
282
|
-
DataTable,
|
|
283
|
-
DataTableCaption,
|
|
284
|
-
DataTableEmptyState,
|
|
285
|
-
DataTableLoadingState,
|
|
286
|
-
DataTableTbody,
|
|
287
|
-
DataTableTd,
|
|
288
|
-
DataTableTfoot,
|
|
289
|
-
DataTableTh,
|
|
290
|
-
DataTableThead,
|
|
291
|
-
DataTableTr,
|
|
292
|
-
};
|
|
293
|
-
export default DataTable;
|
|
294
|
-
export type {
|
|
295
|
-
DataTableCaptionProps,
|
|
296
|
-
DataTableEmptyStateProps,
|
|
297
|
-
DataTableLoadingStateProps,
|
|
298
|
-
DataTableProps,
|
|
299
|
-
DataTableTbodyProps,
|
|
300
|
-
DataTableTdProps,
|
|
301
|
-
DataTableTfootProps,
|
|
302
|
-
DataTableTheadProps,
|
|
303
|
-
DataTableThProps,
|
|
304
|
-
DataTableTrProps,
|
|
305
|
-
};
|