@tanstack/table-core 8.1.4 → 8.2.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.
- package/build/cjs/aggregationFns.js.map +1 -1
- package/build/cjs/core/cell.js.map +1 -1
- package/build/cjs/core/column.js.map +1 -1
- package/build/cjs/core/headers.js.map +1 -1
- package/build/cjs/core/row.js.map +1 -1
- package/build/cjs/core/table.js +2 -2
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Ordering.js.map +1 -1
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/Sorting.js +33 -26
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/filterFns.js.map +1 -1
- package/build/cjs/sortingFns.js +6 -1
- package/build/cjs/sortingFns.js.map +1 -1
- package/build/cjs/utils/getCoreRowModel.js.map +1 -1
- package/build/cjs/utils/getFacetedMinMaxValues.js +1 -3
- package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +1 -1
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/esm/index.js +43 -33
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +310 -310
- package/build/types/index.d.ts +94 -90
- package/build/umd/index.development.js +43 -33
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/aggregationFns.ts +8 -11
- package/src/core/cell.ts +14 -14
- package/src/core/column.ts +58 -47
- package/src/core/headers.ts +32 -32
- package/src/core/row.ts +9 -9
- package/src/core/table.ts +11 -10
- package/src/features/ColumnSizing.ts +5 -5
- package/src/features/Filters.ts +9 -14
- package/src/features/Grouping.ts +15 -10
- package/src/features/Ordering.ts +4 -2
- package/src/features/Pinning.ts +10 -10
- package/src/features/Sorting.ts +40 -29
- package/src/features/Visibility.ts +11 -11
- package/src/filterFns.ts +13 -7
- package/src/sortingFns.ts +7 -4
- package/src/types.ts +16 -12
- package/src/utils/getCoreRowModel.ts +1 -1
- package/src/utils/getFacetedMinMaxValues.ts +1 -1
- package/src/utils/getGroupedRowModel.ts +7 -1
package/build/types/index.d.ts
CHANGED
|
@@ -8,43 +8,43 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
declare type CoreCell<TData extends RowData> = {
|
|
11
|
+
declare type CoreCell<TData extends RowData, TValue> = {
|
|
12
12
|
id: string;
|
|
13
|
-
getValue: () =>
|
|
14
|
-
renderValue: () =>
|
|
13
|
+
getValue: <TTValue = TValue>() => TTValue;
|
|
14
|
+
renderValue: <TTValue = TValue>() => TTValue | null;
|
|
15
15
|
row: Row<TData>;
|
|
16
|
-
column: Column<TData>;
|
|
16
|
+
column: Column<TData, TValue>;
|
|
17
17
|
getContext: () => {
|
|
18
18
|
table: Table<TData>;
|
|
19
|
-
column: Column<TData>;
|
|
19
|
+
column: Column<TData, TValue>;
|
|
20
20
|
row: Row<TData>;
|
|
21
|
-
cell: Cell<TData>;
|
|
22
|
-
getValue: () =>
|
|
23
|
-
renderValue: () =>
|
|
21
|
+
cell: Cell<TData, TValue>;
|
|
22
|
+
getValue: <TTValue = TValue>() => TTValue;
|
|
23
|
+
renderValue: <TTValue = TValue>() => TTValue | null;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
declare type CoreHeaderGroup<TData extends RowData> = {
|
|
28
28
|
id: string;
|
|
29
29
|
depth: number;
|
|
30
|
-
headers: Header<TData>[];
|
|
30
|
+
headers: Header<TData, unknown>[];
|
|
31
31
|
};
|
|
32
|
-
declare type CoreHeader<TData extends RowData> = {
|
|
32
|
+
declare type CoreHeader<TData extends RowData, TValue> = {
|
|
33
33
|
id: string;
|
|
34
34
|
index: number;
|
|
35
35
|
depth: number;
|
|
36
|
-
column: Column<TData>;
|
|
36
|
+
column: Column<TData, TValue>;
|
|
37
37
|
headerGroup: HeaderGroup<TData>;
|
|
38
|
-
subHeaders: Header<TData>[];
|
|
38
|
+
subHeaders: Header<TData, TValue>[];
|
|
39
39
|
colSpan: number;
|
|
40
40
|
rowSpan: number;
|
|
41
|
-
getLeafHeaders: () => Header<TData>[];
|
|
41
|
+
getLeafHeaders: () => Header<TData, unknown>[];
|
|
42
42
|
isPlaceholder: boolean;
|
|
43
43
|
placeholderId?: string;
|
|
44
44
|
getContext: () => {
|
|
45
45
|
table: Table<TData>;
|
|
46
|
-
header: Header<TData>;
|
|
47
|
-
column: Column<TData>;
|
|
46
|
+
header: Header<TData, TValue>;
|
|
47
|
+
column: Column<TData, TValue>;
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
declare type HeadersInstance<TData extends RowData> = {
|
|
@@ -56,54 +56,54 @@ declare type HeadersInstance<TData extends RowData> = {
|
|
|
56
56
|
getLeftFooterGroups: () => HeaderGroup<TData>[];
|
|
57
57
|
getCenterFooterGroups: () => HeaderGroup<TData>[];
|
|
58
58
|
getRightFooterGroups: () => HeaderGroup<TData>[];
|
|
59
|
-
getFlatHeaders: () => Header<TData>[];
|
|
60
|
-
getLeftFlatHeaders: () => Header<TData>[];
|
|
61
|
-
getCenterFlatHeaders: () => Header<TData>[];
|
|
62
|
-
getRightFlatHeaders: () => Header<TData>[];
|
|
63
|
-
getLeafHeaders: () => Header<TData>[];
|
|
64
|
-
getLeftLeafHeaders: () => Header<TData>[];
|
|
65
|
-
getCenterLeafHeaders: () => Header<TData>[];
|
|
66
|
-
getRightLeafHeaders: () => Header<TData>[];
|
|
59
|
+
getFlatHeaders: () => Header<TData, unknown>[];
|
|
60
|
+
getLeftFlatHeaders: () => Header<TData, unknown>[];
|
|
61
|
+
getCenterFlatHeaders: () => Header<TData, unknown>[];
|
|
62
|
+
getRightFlatHeaders: () => Header<TData, unknown>[];
|
|
63
|
+
getLeafHeaders: () => Header<TData, unknown>[];
|
|
64
|
+
getLeftLeafHeaders: () => Header<TData, unknown>[];
|
|
65
|
+
getCenterLeafHeaders: () => Header<TData, unknown>[];
|
|
66
|
+
getRightLeafHeaders: () => Header<TData, unknown>[];
|
|
67
67
|
};
|
|
68
68
|
declare const Headers: TableFeature;
|
|
69
|
-
declare function buildHeaderGroups<TData extends RowData>(allColumns: Column<TData>[], columnsToGroup: Column<TData>[], table: Table<TData>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TData>[];
|
|
69
|
+
declare function buildHeaderGroups<TData extends RowData>(allColumns: Column<TData, unknown>[], columnsToGroup: Column<TData, unknown>[], table: Table<TData>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TData>[];
|
|
70
70
|
|
|
71
71
|
declare type CoreColumnDefType = 'data' | 'display' | 'group';
|
|
72
|
-
declare type CoreColumnDefBase<TData extends RowData> = {
|
|
72
|
+
declare type CoreColumnDefBase<TData extends RowData, TValue> = {
|
|
73
73
|
columns?: ColumnDef<TData>[];
|
|
74
|
-
header?: ColumnDefTemplate<ReturnType<CoreHeader<TData>['getContext']>>;
|
|
75
|
-
footer?: ColumnDefTemplate<ReturnType<CoreHeader<TData>['getContext']>>;
|
|
76
|
-
cell?: ColumnDefTemplate<ReturnType<CoreCell<TData>['getContext']>>;
|
|
77
|
-
meta?:
|
|
74
|
+
header?: ColumnDefTemplate<ReturnType<CoreHeader<TData, TValue>['getContext']>>;
|
|
75
|
+
footer?: ColumnDefTemplate<ReturnType<CoreHeader<TData, TValue>['getContext']>>;
|
|
76
|
+
cell?: ColumnDefTemplate<ReturnType<CoreCell<TData, TValue>['getContext']>>;
|
|
77
|
+
meta?: ColumnMeta;
|
|
78
78
|
};
|
|
79
|
-
declare type CoreColumnDefDisplay<TData extends RowData> = CoreColumnDefBase<TData> & {
|
|
79
|
+
declare type CoreColumnDefDisplay<TData extends RowData, TValue> = CoreColumnDefBase<TData, TValue> & {
|
|
80
80
|
id: string;
|
|
81
81
|
};
|
|
82
|
-
declare type CoreColumnDefDisplayWithStringHeader<TData extends RowData> = CoreColumnDefBase<TData> & {
|
|
82
|
+
declare type CoreColumnDefDisplayWithStringHeader<TData extends RowData, TValue> = CoreColumnDefBase<TData, TValue> & {
|
|
83
83
|
header: string;
|
|
84
84
|
id?: string;
|
|
85
85
|
};
|
|
86
|
-
declare type CoreColumnDefAccessorFn<TData extends RowData> = CoreColumnDefBase<TData> & {
|
|
87
|
-
accessorFn: AccessorFn<TData>;
|
|
86
|
+
declare type CoreColumnDefAccessorFn<TData extends RowData, TValue = unknown> = CoreColumnDefBase<TData, TValue> & {
|
|
87
|
+
accessorFn: AccessorFn<TData, TValue>;
|
|
88
88
|
id: string;
|
|
89
89
|
};
|
|
90
|
-
declare type CoreColumnDefAccessorKey<TData extends RowData> = CoreColumnDefBase<TData> & {
|
|
90
|
+
declare type CoreColumnDefAccessorKey<TData extends RowData, TValue> = CoreColumnDefBase<TData, TValue> & {
|
|
91
91
|
accessorKey: keyof TData;
|
|
92
92
|
id?: string;
|
|
93
93
|
};
|
|
94
|
-
declare type CoreColumnDef<TData extends RowData> = CoreColumnDefDisplay<TData> | CoreColumnDefDisplayWithStringHeader<TData> | CoreColumnDefAccessorFn<TData> | CoreColumnDefAccessorKey<TData>;
|
|
95
|
-
declare type CoreColumnDefResolved<TData extends RowData> = Partial<UnionToIntersection<CoreColumnDef<TData>>>;
|
|
96
|
-
declare type CoreColumn<TData extends RowData> = {
|
|
94
|
+
declare type CoreColumnDef<TData extends RowData, TValue> = CoreColumnDefDisplay<TData, TValue> | CoreColumnDefDisplayWithStringHeader<TData, TValue> | CoreColumnDefAccessorFn<TData> | CoreColumnDefAccessorKey<TData, TValue>;
|
|
95
|
+
declare type CoreColumnDefResolved<TData extends RowData, TValue = unknown> = Partial<UnionToIntersection<CoreColumnDef<TData, TValue>>>;
|
|
96
|
+
declare type CoreColumn<TData extends RowData, TValue> = {
|
|
97
97
|
id: string;
|
|
98
98
|
depth: number;
|
|
99
|
-
accessorFn?: AccessorFn<TData>;
|
|
99
|
+
accessorFn?: AccessorFn<TData, TValue>;
|
|
100
100
|
columnDef: ColumnDef<TData>;
|
|
101
|
-
columns: Column<TData>[];
|
|
102
|
-
parent?: Column<TData>;
|
|
103
|
-
getFlatColumns: () => Column<TData>[];
|
|
104
|
-
getLeafColumns: () => Column<TData>[];
|
|
101
|
+
columns: Column<TData, TValue>[];
|
|
102
|
+
parent?: Column<TData, TValue>;
|
|
103
|
+
getFlatColumns: () => Column<TData, TValue>[];
|
|
104
|
+
getLeafColumns: () => Column<TData, TValue>[];
|
|
105
105
|
};
|
|
106
|
-
declare function createColumn<TData extends RowData>(table: Table<TData>, columnDef: ColumnDef<TData>, depth: number, parent?: Column<TData>): Column<TData>;
|
|
106
|
+
declare function createColumn<TData extends RowData, TValue>(table: Table<TData>, columnDef: ColumnDef<TData>, depth: number, parent?: Column<TData, TValue>): Column<TData, TValue>;
|
|
107
107
|
|
|
108
108
|
declare type VisibilityState = Record<string, boolean>;
|
|
109
109
|
declare type VisibilityTableState = {
|
|
@@ -117,11 +117,11 @@ declare type VisibilityDefaultOptions = {
|
|
|
117
117
|
onColumnVisibilityChange: OnChangeFn<VisibilityState>;
|
|
118
118
|
};
|
|
119
119
|
declare type VisibilityInstance<TData extends RowData> = {
|
|
120
|
-
getVisibleFlatColumns: () => Column<TData>[];
|
|
121
|
-
getVisibleLeafColumns: () => Column<TData>[];
|
|
122
|
-
getLeftVisibleLeafColumns: () => Column<TData>[];
|
|
123
|
-
getRightVisibleLeafColumns: () => Column<TData>[];
|
|
124
|
-
getCenterVisibleLeafColumns: () => Column<TData>[];
|
|
120
|
+
getVisibleFlatColumns: () => Column<TData, unknown>[];
|
|
121
|
+
getVisibleLeafColumns: () => Column<TData, unknown>[];
|
|
122
|
+
getLeftVisibleLeafColumns: () => Column<TData, unknown>[];
|
|
123
|
+
getRightVisibleLeafColumns: () => Column<TData, unknown>[];
|
|
124
|
+
getCenterVisibleLeafColumns: () => Column<TData, unknown>[];
|
|
125
125
|
setColumnVisibility: (updater: Updater<VisibilityState>) => void;
|
|
126
126
|
resetColumnVisibility: (defaultState?: boolean) => void;
|
|
127
127
|
toggleAllColumnsVisible: (value?: boolean) => void;
|
|
@@ -133,8 +133,8 @@ declare type VisibilityColumnDef = {
|
|
|
133
133
|
enableHiding?: boolean;
|
|
134
134
|
};
|
|
135
135
|
declare type VisibilityRow<TData extends RowData> = {
|
|
136
|
-
_getAllVisibleCells: () => Cell<TData>[];
|
|
137
|
-
getVisibleCells: () => Cell<TData>[];
|
|
136
|
+
_getAllVisibleCells: () => Cell<TData, unknown>[];
|
|
137
|
+
getVisibleCells: () => Cell<TData, unknown>[];
|
|
138
138
|
};
|
|
139
139
|
declare type VisibilityColumn = {
|
|
140
140
|
getCanHide: () => boolean;
|
|
@@ -157,7 +157,7 @@ declare type ColumnOrderDefaultOptions = {
|
|
|
157
157
|
declare type ColumnOrderInstance<TData extends RowData> = {
|
|
158
158
|
setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
|
|
159
159
|
resetColumnOrder: (defaultState?: boolean) => void;
|
|
160
|
-
_getOrderColumnsFn: () => (columns: Column<TData>[]) => Column<TData>[];
|
|
160
|
+
_getOrderColumnsFn: () => (columns: Column<TData, unknown>[]) => Column<TData, unknown>[];
|
|
161
161
|
};
|
|
162
162
|
declare const Ordering: TableFeature;
|
|
163
163
|
|
|
@@ -186,17 +186,17 @@ declare type ColumnPinningColumn = {
|
|
|
186
186
|
pin: (position: ColumnPinningPosition) => void;
|
|
187
187
|
};
|
|
188
188
|
declare type ColumnPinningRow<TData extends RowData> = {
|
|
189
|
-
getLeftVisibleCells: () => Cell<TData>[];
|
|
190
|
-
getCenterVisibleCells: () => Cell<TData>[];
|
|
191
|
-
getRightVisibleCells: () => Cell<TData>[];
|
|
189
|
+
getLeftVisibleCells: () => Cell<TData, unknown>[];
|
|
190
|
+
getCenterVisibleCells: () => Cell<TData, unknown>[];
|
|
191
|
+
getRightVisibleCells: () => Cell<TData, unknown>[];
|
|
192
192
|
};
|
|
193
193
|
declare type ColumnPinningInstance<TData extends RowData> = {
|
|
194
194
|
setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
|
|
195
195
|
resetColumnPinning: (defaultState?: boolean) => void;
|
|
196
196
|
getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean;
|
|
197
|
-
getLeftLeafColumns: () => Column<TData>[];
|
|
198
|
-
getRightLeafColumns: () => Column<TData>[];
|
|
199
|
-
getCenterLeafColumns: () => Column<TData>[];
|
|
197
|
+
getLeftLeafColumns: () => Column<TData, unknown>[];
|
|
198
|
+
getRightLeafColumns: () => Column<TData, unknown>[];
|
|
199
|
+
getCenterLeafColumns: () => Column<TData, unknown>[];
|
|
200
200
|
};
|
|
201
201
|
declare const Pinning: TableFeature;
|
|
202
202
|
|
|
@@ -228,12 +228,12 @@ declare type ResolvedColumnFilter<TData extends RowData> = {
|
|
|
228
228
|
filterFn: FilterFn<TData>;
|
|
229
229
|
};
|
|
230
230
|
declare type FilterFn<TData extends RowData> = {
|
|
231
|
-
(row: Row<TData>, columnId: string, filterValue: any, addMeta: (meta:
|
|
231
|
+
(row: Row<TData>, columnId: string, filterValue: any, addMeta: (meta: FilterMeta) => void): boolean;
|
|
232
232
|
resolveFilterValue?: TransformFilterValueFn<TData>;
|
|
233
233
|
autoRemove?: ColumnFilterAutoRemoveTestFn<TData>;
|
|
234
234
|
};
|
|
235
|
-
declare type TransformFilterValueFn<TData extends RowData> = (value: any, column?: Column<TData>) => unknown;
|
|
236
|
-
declare type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (value: any, column?: Column<TData>) => boolean;
|
|
235
|
+
declare type TransformFilterValueFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => unknown;
|
|
236
|
+
declare type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => boolean;
|
|
237
237
|
declare type CustomFilterFns<TData extends RowData> = Record<string, FilterFn<TData>>;
|
|
238
238
|
declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | FilterFn<TData>;
|
|
239
239
|
declare type FiltersColumnDef<TData extends RowData> = {
|
|
@@ -259,7 +259,7 @@ declare type FiltersColumn<TData extends RowData> = {
|
|
|
259
259
|
};
|
|
260
260
|
declare type FiltersRow<TData extends RowData> = {
|
|
261
261
|
columnFilters: Record<string, boolean>;
|
|
262
|
-
columnFiltersMeta: Record<string,
|
|
262
|
+
columnFiltersMeta: Record<string, FilterMeta>;
|
|
263
263
|
};
|
|
264
264
|
declare type FiltersOptions<TData extends RowData> = {
|
|
265
265
|
enableFilters?: boolean;
|
|
@@ -271,7 +271,7 @@ declare type FiltersOptions<TData extends RowData> = {
|
|
|
271
271
|
globalFilterFn?: FilterFnOption<TData>;
|
|
272
272
|
onGlobalFilterChange?: OnChangeFn<any>;
|
|
273
273
|
enableGlobalFilter?: boolean;
|
|
274
|
-
getColumnCanGlobalFilter?: (column: Column<TData>) => boolean;
|
|
274
|
+
getColumnCanGlobalFilter?: (column: Column<TData, unknown>) => boolean;
|
|
275
275
|
getFacetedRowModel?: (table: Table<TData>, columnId: string) => () => RowModel<TData>;
|
|
276
276
|
getFacetedUniqueValues?: (table: Table<TData>, columnId: string) => () => Map<any, number>;
|
|
277
277
|
getFacetedMinMaxValues?: (table: Table<TData>, columnId: string) => () => undefined | [number, number];
|
|
@@ -294,7 +294,7 @@ declare type FiltersInstance<TData extends RowData> = {
|
|
|
294
294
|
_getGlobalFacetedMinMaxValues?: () => undefined | [number, number];
|
|
295
295
|
};
|
|
296
296
|
declare const Filters: TableFeature;
|
|
297
|
-
declare function shouldAutoRemoveFilter<TData extends RowData>(filterFn?: FilterFn<TData>, value?: any, column?: Column<TData>): boolean;
|
|
297
|
+
declare function shouldAutoRemoveFilter<TData extends RowData>(filterFn?: FilterFn<TData>, value?: any, column?: Column<TData, unknown>): boolean;
|
|
298
298
|
|
|
299
299
|
declare const reSplitAlphaNumeric: RegExp;
|
|
300
300
|
declare const sortingFns: {
|
|
@@ -333,6 +333,7 @@ declare type SortingColumn<TData extends RowData> = {
|
|
|
333
333
|
getAutoSortingFn: () => SortingFn<TData>;
|
|
334
334
|
getAutoSortDir: () => SortDirection;
|
|
335
335
|
getSortingFn: () => SortingFn<TData>;
|
|
336
|
+
getFirstSortDir: () => SortDirection;
|
|
336
337
|
getNextSortingOrder: () => SortDirection | false;
|
|
337
338
|
getCanSort: () => boolean;
|
|
338
339
|
getCanMultiSort: () => boolean;
|
|
@@ -383,9 +384,9 @@ declare type GroupingTableState = {
|
|
|
383
384
|
declare type AggregationFn<TData extends RowData> = (columnId: string, leafRows: Row<TData>[], childRows: Row<TData>[]) => any;
|
|
384
385
|
declare type CustomAggregationFns = Record<string, AggregationFn<any>>;
|
|
385
386
|
declare type AggregationFnOption<TData extends RowData> = 'auto' | BuiltInAggregationFn | AggregationFn<TData>;
|
|
386
|
-
declare type GroupingColumnDef<TData extends RowData> = {
|
|
387
|
+
declare type GroupingColumnDef<TData extends RowData, TValue> = {
|
|
387
388
|
aggregationFn?: AggregationFnOption<TData>;
|
|
388
|
-
aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData>['getContext']>>;
|
|
389
|
+
aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData, TValue>['getContext']>>;
|
|
389
390
|
enableGrouping?: boolean;
|
|
390
391
|
};
|
|
391
392
|
declare type GroupingColumn<TData extends RowData> = {
|
|
@@ -399,7 +400,7 @@ declare type GroupingColumn<TData extends RowData> = {
|
|
|
399
400
|
};
|
|
400
401
|
declare type GroupingRow = {
|
|
401
402
|
groupingColumnId?: string;
|
|
402
|
-
groupingValue?:
|
|
403
|
+
groupingValue?: unknown;
|
|
403
404
|
getIsGrouped: () => boolean;
|
|
404
405
|
_groupingValuesCache: Record<string, any>;
|
|
405
406
|
};
|
|
@@ -428,7 +429,7 @@ declare type GroupingInstance<TData extends RowData> = {
|
|
|
428
429
|
_getGroupedRowModel?: () => RowModel<TData>;
|
|
429
430
|
};
|
|
430
431
|
declare const Grouping: TableFeature;
|
|
431
|
-
declare function orderColumns<TData extends RowData>(leafColumns: Column<TData>[], grouping: string[], groupedColumnMode?: GroupingColumnMode): Column<TData>[];
|
|
432
|
+
declare function orderColumns<TData extends RowData>(leafColumns: Column<TData, unknown>[], grouping: string[], groupedColumnMode?: GroupingColumnMode): Column<TData, unknown>[];
|
|
432
433
|
|
|
433
434
|
declare type ExpandedStateList = Record<string, boolean>;
|
|
434
435
|
declare type ExpandedState = true | Record<string, boolean>;
|
|
@@ -613,22 +614,28 @@ declare function isSubRowSelected<TData extends RowData>(row: Row<TData>, select
|
|
|
613
614
|
declare type CoreRow<TData extends RowData> = {
|
|
614
615
|
id: string;
|
|
615
616
|
index: number;
|
|
616
|
-
original
|
|
617
|
+
original: TData;
|
|
617
618
|
depth: number;
|
|
618
|
-
_valuesCache: Record<string,
|
|
619
|
-
getValue: (columnId: string) =>
|
|
620
|
-
renderValue: (columnId: string) =>
|
|
619
|
+
_valuesCache: Record<string, unknown>;
|
|
620
|
+
getValue: <TValue>(columnId: string) => TValue;
|
|
621
|
+
renderValue: <TValue>(columnId: string) => TValue;
|
|
621
622
|
subRows: Row<TData>[];
|
|
622
623
|
getLeafRows: () => Row<TData>[];
|
|
623
624
|
originalSubRows?: TData[];
|
|
624
|
-
getAllCells: () => Cell<TData>[];
|
|
625
|
-
_getAllCellsByColumnId: () => Record<string, Cell<TData>>;
|
|
625
|
+
getAllCells: () => Cell<TData, unknown>[];
|
|
626
|
+
_getAllCellsByColumnId: () => Record<string, Cell<TData, unknown>>;
|
|
626
627
|
};
|
|
627
|
-
declare const createRow: <TData extends
|
|
628
|
+
declare const createRow: <TData extends unknown>(table: Table<TData>, id: string, original: TData, rowIndex: number, depth: number, subRows?: Row<TData>[] | undefined) => Row<TData>;
|
|
628
629
|
|
|
630
|
+
interface TableMeta {
|
|
631
|
+
}
|
|
632
|
+
interface ColumnMeta {
|
|
633
|
+
}
|
|
634
|
+
interface FilterMeta {
|
|
635
|
+
}
|
|
629
636
|
declare type Updater<T> = T | ((old: T) => T);
|
|
630
637
|
declare type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
|
|
631
|
-
declare type RowData = object | any[];
|
|
638
|
+
declare type RowData = unknown | object | any[];
|
|
632
639
|
declare type TableGenerics = {
|
|
633
640
|
Row?: any;
|
|
634
641
|
Value?: any;
|
|
@@ -642,20 +649,17 @@ declare type TableOptions<TData extends RowData> = PartialKeys<TableOptionsResol
|
|
|
642
649
|
declare type TableState = CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationTableState & RowSelectionTableState;
|
|
643
650
|
declare type InitialTableState = Partial<CoreTableState & VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationInitialTableState & RowSelectionTableState>;
|
|
644
651
|
declare type Row<TData extends RowData> = CoreRow<TData> & VisibilityRow<TData> & ColumnPinningRow<TData> & FiltersRow<TData> & GroupingRow & RowSelectionRow & ExpandedRow;
|
|
645
|
-
declare type RowValues = {
|
|
646
|
-
[key: string]: any;
|
|
647
|
-
};
|
|
648
652
|
declare type RowModel<TData extends RowData> = {
|
|
649
653
|
rows: Row<TData>[];
|
|
650
654
|
flatRows: Row<TData>[];
|
|
651
655
|
rowsById: Record<string, Row<TData>>;
|
|
652
656
|
};
|
|
653
|
-
declare type AccessorFn<TData extends RowData> = (originalRow: TData, index: number) =>
|
|
657
|
+
declare type AccessorFn<TData extends RowData, TValue = unknown> = (originalRow: TData, index: number) => TValue;
|
|
654
658
|
declare type ColumnDefTemplate<TProps extends object> = string | ((props: TProps) => any);
|
|
655
|
-
declare type ColumnDef<TData extends RowData> = CoreColumnDef<TData> & VisibilityColumnDef & ColumnPinningColumnDef & FiltersColumnDef<TData> & SortingColumnDef<TData> & GroupingColumnDef<TData> & ColumnSizingColumnDef;
|
|
656
|
-
declare type Column<TData extends RowData> = CoreColumn<TData> & VisibilityColumn & ColumnPinningColumn & FiltersColumn<TData> & SortingColumn<TData> & GroupingColumn<TData> & ColumnSizingColumn;
|
|
657
|
-
declare type Cell<TData extends RowData> = CoreCell<TData> & GroupingCell;
|
|
658
|
-
declare type Header<TData extends RowData> = CoreHeader<TData> & ColumnSizingHeader;
|
|
659
|
+
declare type ColumnDef<TData extends RowData, TValue extends any = unknown> = CoreColumnDef<TData, TValue> & VisibilityColumnDef & ColumnPinningColumnDef & FiltersColumnDef<TData> & SortingColumnDef<TData> & GroupingColumnDef<TData, TValue> & ColumnSizingColumnDef;
|
|
660
|
+
declare type Column<TData extends RowData, TValue> = CoreColumn<TData, TValue> & VisibilityColumn & ColumnPinningColumn & FiltersColumn<TData> & SortingColumn<TData> & GroupingColumn<TData> & ColumnSizingColumn;
|
|
661
|
+
declare type Cell<TData extends RowData, TValue> = CoreCell<TData, TValue> & GroupingCell;
|
|
662
|
+
declare type Header<TData extends RowData, TValue> = CoreHeader<TData, TValue> & ColumnSizingHeader;
|
|
659
663
|
declare type HeaderGroup<TData extends RowData> = CoreHeaderGroup<TData>;
|
|
660
664
|
declare type NoInfer<A extends any> = [A][A extends any ? 0 : never];
|
|
661
665
|
|
|
@@ -701,7 +705,7 @@ declare type CoreOptions<TData extends RowData> = {
|
|
|
701
705
|
initialState?: InitialTableState;
|
|
702
706
|
autoResetAll?: boolean;
|
|
703
707
|
mergeOptions?: (defaultOptions: TableOptions<TData>, options: Partial<TableOptions<TData>>) => TableOptions<TData>;
|
|
704
|
-
meta?:
|
|
708
|
+
meta?: TableMeta;
|
|
705
709
|
getCoreRowModel: (table: Table<any>) => () => RowModel<any>;
|
|
706
710
|
getSubRows?: (originalRow: TData, index: number) => undefined | TData[];
|
|
707
711
|
getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;
|
|
@@ -725,11 +729,11 @@ declare type CoreInstance<TData extends RowData> = {
|
|
|
725
729
|
getRow: (id: string) => Row<TData>;
|
|
726
730
|
_getDefaultColumnDef: () => Partial<ColumnDef<TData>>;
|
|
727
731
|
_getColumnDefs: () => ColumnDef<TData>[];
|
|
728
|
-
_getAllFlatColumnsById: () => Record<string, Column<TData>>;
|
|
729
|
-
getAllColumns: () => Column<TData>[];
|
|
730
|
-
getAllFlatColumns: () => Column<TData>[];
|
|
731
|
-
getAllLeafColumns: () => Column<TData>[];
|
|
732
|
-
getColumn: (columnId: string) => Column<TData>;
|
|
732
|
+
_getAllFlatColumnsById: () => Record<string, Column<TData, unknown>>;
|
|
733
|
+
getAllColumns: () => Column<TData, unknown>[];
|
|
734
|
+
getAllFlatColumns: () => Column<TData, unknown>[];
|
|
735
|
+
getAllLeafColumns: () => Column<TData, unknown>[];
|
|
736
|
+
getColumn: (columnId: string) => Column<TData, unknown>;
|
|
733
737
|
};
|
|
734
738
|
declare function createTable<TData extends RowData>(options: TableOptionsResolved<TData>): Table<TData>;
|
|
735
739
|
|
|
@@ -758,4 +762,4 @@ declare function getPaginationRowModel<TData extends RowData>(opts?: {
|
|
|
758
762
|
initialSync: boolean;
|
|
759
763
|
}): (table: Table<TData>) => () => RowModel<TData>;
|
|
760
764
|
|
|
761
|
-
export { AccessorFn, AggregationFn, AggregationFnOption, AnyRender, BuiltInAggregationFn, BuiltInFilterFn, BuiltInSortingFn, Cell, Column, ColumnDef, ColumnDefTemplate, ColumnDefaultOptions, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, ColumnOrderDefaultOptions, ColumnOrderInstance, ColumnOrderOptions, ColumnOrderState, ColumnOrderTableState, ColumnPinningColumn, ColumnPinningColumnDef, ColumnPinningDefaultOptions, ColumnPinningInstance, ColumnPinningOptions, ColumnPinningPosition, ColumnPinningRow, ColumnPinningState, ColumnPinningTableState, ColumnResizeMode, ColumnSizing, ColumnSizingColumn, ColumnSizingColumnDef, ColumnSizingDefaultOptions, ColumnSizingHeader, ColumnSizingInfoState, ColumnSizingInstance, ColumnSizingOptions, ColumnSizingState, ColumnSizingTableState, ColumnSort, CoreColumn, CoreColumnDef, CoreColumnDefResolved, CoreColumnDefType, CoreHeader, CoreHeaderGroup, CoreInstance, CoreOptions, CoreRow, CoreTableState, CustomAggregationFns, CustomFilterFns, CustomSortingFns, ExpandedInstance, ExpandedOptions, ExpandedRow, ExpandedState, ExpandedStateList, ExpandedTableState, Expanding, FilterFn, FilterFnOption, Filters, FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, FiltersRow, FiltersTableState, Grouping, GroupingCell, GroupingColumn, GroupingColumnDef, GroupingColumnMode, GroupingInstance, GroupingOptions, GroupingRow, GroupingState, GroupingTableState, Header, HeaderGroup, Headers, HeadersInstance, IfDefined, InitialTableState, NoInfer, OnChangeFn, Ordering, Overwrite, Pagination, PaginationDefaultOptions, PaginationInitialTableState, PaginationInstance, PaginationOptions, PaginationState, PaginationTableState, PartialKeys, Pinning, RequiredKeys, ResolvedColumnFilter, Row, RowData, RowModel, RowSelection, RowSelectionInstance, RowSelectionOptions, RowSelectionRow, RowSelectionState, RowSelectionTableState,
|
|
765
|
+
export { AccessorFn, AggregationFn, AggregationFnOption, AnyRender, BuiltInAggregationFn, BuiltInFilterFn, BuiltInSortingFn, Cell, Column, ColumnDef, ColumnDefTemplate, ColumnDefaultOptions, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, ColumnMeta, ColumnOrderDefaultOptions, ColumnOrderInstance, ColumnOrderOptions, ColumnOrderState, ColumnOrderTableState, ColumnPinningColumn, ColumnPinningColumnDef, ColumnPinningDefaultOptions, ColumnPinningInstance, ColumnPinningOptions, ColumnPinningPosition, ColumnPinningRow, ColumnPinningState, ColumnPinningTableState, ColumnResizeMode, ColumnSizing, ColumnSizingColumn, ColumnSizingColumnDef, ColumnSizingDefaultOptions, ColumnSizingHeader, ColumnSizingInfoState, ColumnSizingInstance, ColumnSizingOptions, ColumnSizingState, ColumnSizingTableState, ColumnSort, CoreColumn, CoreColumnDef, CoreColumnDefResolved, CoreColumnDefType, CoreHeader, CoreHeaderGroup, CoreInstance, CoreOptions, CoreRow, CoreTableState, CustomAggregationFns, CustomFilterFns, CustomSortingFns, ExpandedInstance, ExpandedOptions, ExpandedRow, ExpandedState, ExpandedStateList, ExpandedTableState, Expanding, FilterFn, FilterFnOption, FilterMeta, Filters, FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, FiltersRow, FiltersTableState, Grouping, GroupingCell, GroupingColumn, GroupingColumnDef, GroupingColumnMode, GroupingInstance, GroupingOptions, GroupingRow, GroupingState, GroupingTableState, Header, HeaderGroup, Headers, HeadersInstance, IfDefined, InitialTableState, NoInfer, OnChangeFn, Ordering, Overwrite, Pagination, PaginationDefaultOptions, PaginationInitialTableState, PaginationInstance, PaginationOptions, PaginationState, PaginationTableState, PartialKeys, Pinning, RequiredKeys, ResolvedColumnFilter, Row, RowData, RowModel, RowSelection, RowSelectionInstance, RowSelectionOptions, RowSelectionRow, RowSelectionState, RowSelectionTableState, SortDirection, Sorting, SortingColumn, SortingColumnDef, SortingFn, SortingFnOption, SortingInstance, SortingOptions, SortingState, SortingTableState, Table, TableFeature, TableGenerics, TableMeta, TableOptions, TableOptionsResolved, TableState, TransformFilterValueFn, UnionToIntersection, Updater, Visibility, VisibilityColumn, VisibilityColumnDef, VisibilityDefaultOptions, VisibilityInstance, VisibilityOptions, VisibilityRow, VisibilityState, VisibilityTableState, aggregationFns, buildHeaderGroups, createColumn, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, isFunction, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };
|
|
@@ -2353,7 +2353,12 @@
|
|
|
2353
2353
|
};
|
|
2354
2354
|
|
|
2355
2355
|
const datetime = (rowA, rowB, columnId) => {
|
|
2356
|
-
|
|
2356
|
+
const a = rowA.getValue(columnId);
|
|
2357
|
+
const b = rowB.getValue(columnId); // Can handle nullish values
|
|
2358
|
+
// Use > and < because == (and ===) doesn't work with
|
|
2359
|
+
// Date objects (would require calling getTime()).
|
|
2360
|
+
|
|
2361
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
2357
2362
|
};
|
|
2358
2363
|
|
|
2359
2364
|
const basic = (rowA, rowB, columnId) => {
|
|
@@ -2514,18 +2519,17 @@
|
|
|
2514
2519
|
// }
|
|
2515
2520
|
// this needs to be outside of table.setSorting to be in sync with rerender
|
|
2516
2521
|
const nextSortingOrder = column.getNextSortingOrder();
|
|
2522
|
+
const hasManualValue = typeof desc !== 'undefined' && desc !== null;
|
|
2517
2523
|
table.setSorting(old => {
|
|
2518
|
-
var _table$options$enable, _table$options$enable2;
|
|
2519
|
-
|
|
2520
2524
|
// Find any existing sorting for this column
|
|
2521
2525
|
const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
2522
2526
|
const existingIndex = old == null ? void 0 : old.findIndex(d => d.id === column.id);
|
|
2523
|
-
const hasDescDefined = typeof desc !== 'undefined' && desc !== null;
|
|
2524
2527
|
let newSorting = []; // What should we do with this sort action?
|
|
2525
2528
|
|
|
2526
2529
|
let sortAction;
|
|
2530
|
+
let nextDesc = hasManualValue ? desc : nextSortingOrder === 'desc'; // Multi-mode
|
|
2527
2531
|
|
|
2528
|
-
if (column.getCanMultiSort() && multi) {
|
|
2532
|
+
if (old != null && old.length && column.getCanMultiSort() && multi) {
|
|
2529
2533
|
if (existingSorting) {
|
|
2530
2534
|
sortAction = 'toggle';
|
|
2531
2535
|
} else {
|
|
@@ -2543,63 +2547,71 @@
|
|
|
2543
2547
|
} // Handle toggle states that will remove the sorting
|
|
2544
2548
|
|
|
2545
2549
|
|
|
2546
|
-
if (sortAction === 'toggle'
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2550
|
+
if (sortAction === 'toggle') {
|
|
2551
|
+
// If we are "actually" toggling (not a manual set value), should we remove the sorting?
|
|
2552
|
+
if (!hasManualValue) {
|
|
2553
|
+
// Is our intention to remove?
|
|
2554
|
+
if (!nextSortingOrder) {
|
|
2555
|
+
sortAction = 'remove';
|
|
2556
|
+
}
|
|
2557
|
+
}
|
|
2553
2558
|
}
|
|
2554
2559
|
|
|
2555
|
-
if (sortAction === '
|
|
2556
|
-
newSorting = [{
|
|
2557
|
-
id: column.id,
|
|
2558
|
-
desc: hasDescDefined ? desc : nextSortingOrder === 'desc'
|
|
2559
|
-
}];
|
|
2560
|
-
} else if (sortAction === 'add' && old != null && old.length) {
|
|
2560
|
+
if (sortAction === 'add') {
|
|
2561
2561
|
var _table$options$maxMul;
|
|
2562
2562
|
|
|
2563
2563
|
newSorting = [...old, {
|
|
2564
2564
|
id: column.id,
|
|
2565
|
-
desc:
|
|
2565
|
+
desc: nextDesc
|
|
2566
2566
|
}]; // Take latest n columns
|
|
2567
2567
|
|
|
2568
2568
|
newSorting.splice(0, newSorting.length - ((_table$options$maxMul = table.options.maxMultiSortColCount) != null ? _table$options$maxMul : Number.MAX_SAFE_INTEGER));
|
|
2569
|
-
} else if (sortAction === 'toggle'
|
|
2569
|
+
} else if (sortAction === 'toggle') {
|
|
2570
2570
|
// This flips (or sets) the
|
|
2571
2571
|
newSorting = old.map(d => {
|
|
2572
2572
|
if (d.id === column.id) {
|
|
2573
2573
|
return { ...d,
|
|
2574
|
-
desc:
|
|
2574
|
+
desc: nextDesc
|
|
2575
2575
|
};
|
|
2576
2576
|
}
|
|
2577
2577
|
|
|
2578
2578
|
return d;
|
|
2579
2579
|
});
|
|
2580
|
-
} else if (sortAction === 'remove'
|
|
2580
|
+
} else if (sortAction === 'remove') {
|
|
2581
2581
|
newSorting = old.filter(d => d.id !== column.id);
|
|
2582
|
+
} else {
|
|
2583
|
+
newSorting = [{
|
|
2584
|
+
id: column.id,
|
|
2585
|
+
desc: nextDesc
|
|
2586
|
+
}];
|
|
2582
2587
|
}
|
|
2583
2588
|
|
|
2584
2589
|
return newSorting;
|
|
2585
2590
|
});
|
|
2586
2591
|
},
|
|
2587
|
-
|
|
2592
|
+
getFirstSortDir: () => {
|
|
2588
2593
|
var _ref, _column$columnDef$sor;
|
|
2589
2594
|
|
|
2590
2595
|
const sortDescFirst = (_ref = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : table.options.sortDescFirst) != null ? _ref : column.getAutoSortDir() === 'desc';
|
|
2591
|
-
|
|
2596
|
+
return sortDescFirst ? 'desc' : 'asc';
|
|
2597
|
+
},
|
|
2598
|
+
getNextSortingOrder: multi => {
|
|
2599
|
+
var _table$options$enable, _table$options$enable2;
|
|
2600
|
+
|
|
2601
|
+
const firstSortDirection = column.getFirstSortDir();
|
|
2592
2602
|
const isSorted = column.getIsSorted();
|
|
2593
2603
|
|
|
2594
2604
|
if (!isSorted) {
|
|
2595
2605
|
return firstSortDirection;
|
|
2596
2606
|
}
|
|
2597
2607
|
|
|
2598
|
-
if (isSorted
|
|
2599
|
-
|
|
2600
|
-
|
|
2608
|
+
if (isSorted !== firstSortDirection && ((_table$options$enable = table.options.enableSortingRemoval) != null ? _table$options$enable : true) && ( // If enableSortRemove, enable in general
|
|
2609
|
+
multi ? (_table$options$enable2 = table.options.enableMultiRemove) != null ? _table$options$enable2 : true : true) // If multi, don't allow if enableMultiRemove))
|
|
2610
|
+
) {
|
|
2601
2611
|
return false;
|
|
2602
2612
|
}
|
|
2613
|
+
|
|
2614
|
+
return isSorted === 'desc' ? 'asc' : 'desc';
|
|
2603
2615
|
},
|
|
2604
2616
|
getCanSort: () => {
|
|
2605
2617
|
var _column$columnDef$ena, _table$options$enable3;
|
|
@@ -2881,9 +2893,9 @@
|
|
|
2881
2893
|
header: props => props.header.column.id,
|
|
2882
2894
|
footer: props => props.header.column.id,
|
|
2883
2895
|
cell: props => {
|
|
2884
|
-
var
|
|
2896
|
+
var _props$renderValue$to, _props$renderValue;
|
|
2885
2897
|
|
|
2886
|
-
return (
|
|
2898
|
+
return (_props$renderValue$to = (_props$renderValue = props.renderValue()) == null ? void 0 : _props$renderValue.toString == null ? void 0 : _props$renderValue.toString()) != null ? _props$renderValue$to : null;
|
|
2887
2899
|
},
|
|
2888
2900
|
...table._features.reduce((obj, feature) => {
|
|
2889
2901
|
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
@@ -3413,9 +3425,7 @@
|
|
|
3413
3425
|
let facetedMinMaxValues = [firstValue, firstValue];
|
|
3414
3426
|
|
|
3415
3427
|
for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
const value = (_facetedRowModel$flat2 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId);
|
|
3428
|
+
const value = facetedRowModel.flatRows[i].getValue(columnId);
|
|
3419
3429
|
|
|
3420
3430
|
if (value < facetedMinMaxValues[0]) {
|
|
3421
3431
|
facetedMinMaxValues[0] = value;
|
|
@@ -3565,7 +3575,7 @@
|
|
|
3565
3575
|
const subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
|
|
3566
3576
|
|
|
3567
3577
|
const leafRows = depth ? flattenBy(groupedRows, row => row.subRows) : groupedRows;
|
|
3568
|
-
const row = createRow(table, id,
|
|
3578
|
+
const row = createRow(table, id, leafRows[0].original, index, depth);
|
|
3569
3579
|
Object.assign(row, {
|
|
3570
3580
|
groupingColumnId: columnId,
|
|
3571
3581
|
groupingValue,
|