@tanstack/table-core 8.4.0 → 8.5.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/columnHelper.js +2 -1
- package/build/cjs/columnHelper.js.map +1 -1
- package/build/cjs/core/table.js +14 -2
- package/build/cjs/core/table.js.map +1 -1
- package/build/cjs/features/Filters.js +10 -3
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +3 -1
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Sorting.js +3 -1
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/esm/index.js +32 -8
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +319 -319
- package/build/types/index.d.ts +28 -7
- package/build/umd/index.development.js +32 -8
- 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/columnHelper.ts +16 -0
- package/src/core/table.ts +16 -3
- package/src/features/Filters.ts +17 -8
- package/src/features/Grouping.ts +15 -4
- package/src/features/Sorting.ts +20 -6
- package/src/types.ts +4 -0
package/build/types/index.d.ts
CHANGED
|
@@ -239,7 +239,7 @@ declare type FilterFn<TData extends RowData> = {
|
|
|
239
239
|
declare type TransformFilterValueFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => unknown;
|
|
240
240
|
declare type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => boolean;
|
|
241
241
|
declare type CustomFilterFns<TData extends RowData> = Record<string, FilterFn<TData>>;
|
|
242
|
-
declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | FilterFn<TData>;
|
|
242
|
+
declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | keyof FilterFns | FilterFn<TData>;
|
|
243
243
|
declare type FiltersColumnDef<TData extends RowData> = {
|
|
244
244
|
filterFn?: FilterFnOption<TData>;
|
|
245
245
|
enableColumnFilter?: boolean;
|
|
@@ -279,7 +279,11 @@ declare type FiltersOptions<TData extends RowData> = {
|
|
|
279
279
|
getFacetedRowModel?: (table: Table<TData>, columnId: string) => () => RowModel<TData>;
|
|
280
280
|
getFacetedUniqueValues?: (table: Table<TData>, columnId: string) => () => Map<any, number>;
|
|
281
281
|
getFacetedMinMaxValues?: (table: Table<TData>, columnId: string) => () => undefined | [number, number];
|
|
282
|
-
}
|
|
282
|
+
} & (keyof FilterFns extends never ? {
|
|
283
|
+
filterFns?: Record<string, FilterFn<any>>;
|
|
284
|
+
} : {
|
|
285
|
+
filterFns: Record<keyof FilterFns, FilterFn<any>>;
|
|
286
|
+
});
|
|
283
287
|
declare type FiltersInstance<TData extends RowData> = {
|
|
284
288
|
setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
|
|
285
289
|
resetColumnFilters: (defaultState?: boolean) => void;
|
|
@@ -324,7 +328,7 @@ declare type SortingFn<TData extends RowData> = {
|
|
|
324
328
|
(rowA: Row<TData>, rowB: Row<TData>, columnId: string): number;
|
|
325
329
|
};
|
|
326
330
|
declare type CustomSortingFns<TData extends RowData> = Record<string, SortingFn<TData>>;
|
|
327
|
-
declare type SortingFnOption<TData extends RowData> = 'auto' | BuiltInSortingFn | SortingFn<TData>;
|
|
331
|
+
declare type SortingFnOption<TData extends RowData> = 'auto' | keyof SortingFns | BuiltInSortingFn | SortingFn<TData>;
|
|
328
332
|
declare type SortingColumnDef<TData extends RowData> = {
|
|
329
333
|
sortingFn?: SortingFnOption<TData>;
|
|
330
334
|
sortDescFirst?: boolean;
|
|
@@ -358,7 +362,11 @@ declare type SortingOptions<TData extends RowData> = {
|
|
|
358
362
|
getSortedRowModel?: (table: Table<any>) => () => RowModel<any>;
|
|
359
363
|
maxMultiSortColCount?: number;
|
|
360
364
|
isMultiSortEvent?: (e: unknown) => boolean;
|
|
361
|
-
}
|
|
365
|
+
} & (keyof SortingFns extends never ? {
|
|
366
|
+
sortingFns?: Record<string, SortingFn<any>>;
|
|
367
|
+
} : {
|
|
368
|
+
sortingFns: Record<keyof SortingFns, SortingFn<any>>;
|
|
369
|
+
});
|
|
362
370
|
declare type SortingInstance<TData extends RowData> = {
|
|
363
371
|
setSorting: (updater: Updater<SortingState>) => void;
|
|
364
372
|
resetSorting: (defaultState?: boolean) => void;
|
|
@@ -387,7 +395,7 @@ declare type GroupingTableState = {
|
|
|
387
395
|
};
|
|
388
396
|
declare type AggregationFn<TData extends RowData> = (columnId: string, leafRows: Row<TData>[], childRows: Row<TData>[]) => any;
|
|
389
397
|
declare type CustomAggregationFns = Record<string, AggregationFn<any>>;
|
|
390
|
-
declare type AggregationFnOption<TData extends RowData> = 'auto' | BuiltInAggregationFn | AggregationFn<TData>;
|
|
398
|
+
declare type AggregationFnOption<TData extends RowData> = 'auto' | keyof AggregationFns | BuiltInAggregationFn | AggregationFn<TData>;
|
|
391
399
|
declare type GroupingColumnDef<TData extends RowData, TValue> = {
|
|
392
400
|
aggregationFn?: AggregationFnOption<TData>;
|
|
393
401
|
aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData, TValue>['getContext']>>;
|
|
@@ -423,7 +431,11 @@ declare type GroupingOptions = {
|
|
|
423
431
|
enableGrouping?: boolean;
|
|
424
432
|
getGroupedRowModel?: (table: Table<any>) => () => RowModel<any>;
|
|
425
433
|
groupedColumnMode?: false | 'reorder' | 'remove';
|
|
426
|
-
}
|
|
434
|
+
} & (keyof AggregationFns extends never ? {
|
|
435
|
+
aggregationFns?: Record<string, AggregationFn<any>>;
|
|
436
|
+
} : {
|
|
437
|
+
aggregationFns: Record<keyof AggregationFns, AggregationFn<any>>;
|
|
438
|
+
});
|
|
427
439
|
declare type GroupingColumnMode = false | 'reorder' | 'remove';
|
|
428
440
|
declare type GroupingInstance<TData extends RowData> = {
|
|
429
441
|
setGrouping: (updater: Updater<GroupingState>) => void;
|
|
@@ -637,6 +649,12 @@ interface ColumnMeta<TData extends RowData, TValue> {
|
|
|
637
649
|
}
|
|
638
650
|
interface FilterMeta {
|
|
639
651
|
}
|
|
652
|
+
interface FilterFns {
|
|
653
|
+
}
|
|
654
|
+
interface SortingFns {
|
|
655
|
+
}
|
|
656
|
+
interface AggregationFns {
|
|
657
|
+
}
|
|
640
658
|
declare type Updater<T> = T | ((old: T) => T);
|
|
641
659
|
declare type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
|
|
642
660
|
declare type RowData = unknown | object | any[];
|
|
@@ -749,6 +767,9 @@ declare function createTable<TData extends RowData>(options: TableOptionsResolve
|
|
|
749
767
|
declare type ColumnHelper<TData extends RowData> = {
|
|
750
768
|
accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: Omit<ColumnDef<TData, TValue>, 'accessorKey'>) => ColumnDef<TData, TValue>;
|
|
751
769
|
display: (column: RequiredKeys<Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>, 'id'>) => ColumnDef<TData, unknown>;
|
|
770
|
+
group: (column: Omit<ColumnDef<TData, unknown>, 'id' | 'header' | 'accessorKey' | 'accessorFn' | 'columns'> & (CoreColumnDefDisplayWithStringHeader<TData, unknown> | CoreColumnDefDisplay<TData, unknown>) & {
|
|
771
|
+
columns: ColumnDef<TData, any>[];
|
|
772
|
+
}) => ColumnDef<TData, unknown>;
|
|
752
773
|
};
|
|
753
774
|
declare function createColumnHelper<TData extends RowData>(): ColumnHelper<TData>;
|
|
754
775
|
|
|
@@ -777,4 +798,4 @@ declare function getPaginationRowModel<TData extends RowData>(opts?: {
|
|
|
777
798
|
initialSync: boolean;
|
|
778
799
|
}): (table: Table<TData>) => () => RowModel<TData>;
|
|
779
800
|
|
|
780
|
-
export { AccessorFn, AggregationFn, AggregationFnOption, AnyRender, BuiltInAggregationFn, BuiltInFilterFn, BuiltInSortingFn, Cell, CellContext, Column, ColumnDef, ColumnDefTemplate, ColumnDefaultOptions, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, ColumnHelper, 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, CoreCell, CoreColumn, CoreColumnDef, CoreColumnDefAccessorFn, CoreColumnDefAccessorKey, CoreColumnDefBase, CoreColumnDefDisplay, CoreColumnDefDisplayWithStringHeader, CoreColumnDefResolved, CoreHeader, CoreHeaderGroup, CoreInstance, CoreOptions, CoreRow, CoreTableState, CustomAggregationFns, CustomFilterFns, CustomSortingFns, DeepKeys, DeepValue, ExpandedInstance, ExpandedOptions, ExpandedRow, ExpandedState, ExpandedStateList, ExpandedTableState, Expanding, FilterFn, FilterFnOption, FilterMeta, Filters, FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, FiltersRow, FiltersTableState, Getter, Grouping, GroupingCell, GroupingColumn, GroupingColumnDef, GroupingColumnMode, GroupingInstance, GroupingOptions, GroupingRow, GroupingState, GroupingTableState, Header, HeaderContext, HeaderGroup, Headers, HeadersInstance, InitialTableState, IsAny, IsKnown, 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, TableMeta, TableOptions, TableOptionsResolved, TableState, TransformFilterValueFn, UnionToIntersection, Updater, Visibility, VisibilityColumn, VisibilityColumnDef, VisibilityDefaultOptions, VisibilityInstance, VisibilityOptions, VisibilityRow, VisibilityState, VisibilityTableState, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, 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 };
|
|
801
|
+
export { AccessorFn, AggregationFn, AggregationFnOption, AggregationFns, AnyRender, BuiltInAggregationFn, BuiltInFilterFn, BuiltInSortingFn, Cell, CellContext, Column, ColumnDef, ColumnDefTemplate, ColumnDefaultOptions, ColumnFilter, ColumnFilterAutoRemoveTestFn, ColumnFiltersState, ColumnHelper, 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, CoreCell, CoreColumn, CoreColumnDef, CoreColumnDefAccessorFn, CoreColumnDefAccessorKey, CoreColumnDefBase, CoreColumnDefDisplay, CoreColumnDefDisplayWithStringHeader, CoreColumnDefResolved, CoreHeader, CoreHeaderGroup, CoreInstance, CoreOptions, CoreRow, CoreTableState, CustomAggregationFns, CustomFilterFns, CustomSortingFns, DeepKeys, DeepValue, ExpandedInstance, ExpandedOptions, ExpandedRow, ExpandedState, ExpandedStateList, ExpandedTableState, Expanding, FilterFn, FilterFnOption, FilterFns, FilterMeta, Filters, FiltersColumn, FiltersColumnDef, FiltersInstance, FiltersOptions, FiltersRow, FiltersTableState, Getter, Grouping, GroupingCell, GroupingColumn, GroupingColumnDef, GroupingColumnMode, GroupingInstance, GroupingOptions, GroupingRow, GroupingState, GroupingTableState, Header, HeaderContext, HeaderGroup, Headers, HeadersInstance, InitialTableState, IsAny, IsKnown, 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, SortingFns, SortingInstance, SortingOptions, SortingState, SortingTableState, Table, TableFeature, TableMeta, TableOptions, TableOptionsResolved, TableState, TransformFilterValueFn, UnionToIntersection, Updater, Visibility, VisibilityColumn, VisibilityColumnDef, VisibilityDefaultOptions, VisibilityInstance, VisibilityOptions, VisibilityRow, VisibilityState, VisibilityTableState, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, 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 };
|
|
@@ -1149,7 +1149,9 @@
|
|
|
1149
1149
|
return filterFns.weakEquals;
|
|
1150
1150
|
},
|
|
1151
1151
|
getFilterFn: () => {
|
|
1152
|
-
|
|
1152
|
+
var _table$options$filter, _table$options$filter2;
|
|
1153
|
+
|
|
1154
|
+
return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[column.columnDef.filterFn]) != null ? _table$options$filter : filterFns[column.columnDef.filterFn];
|
|
1153
1155
|
},
|
|
1154
1156
|
getCanFilter: () => {
|
|
1155
1157
|
var _column$columnDef$ena, _table$options$enable, _table$options$enable2;
|
|
@@ -1248,10 +1250,12 @@
|
|
|
1248
1250
|
return filterFns.includesString;
|
|
1249
1251
|
},
|
|
1250
1252
|
getGlobalFilterFn: () => {
|
|
1253
|
+
var _table$options$filter3, _table$options$filter4;
|
|
1254
|
+
|
|
1251
1255
|
const {
|
|
1252
1256
|
globalFilterFn: globalFilterFn
|
|
1253
1257
|
} = table.options;
|
|
1254
|
-
return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : filterFns[globalFilterFn];
|
|
1258
|
+
return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter3 = (_table$options$filter4 = table.options.filterFns) == null ? void 0 : _table$options$filter4[globalFilterFn]) != null ? _table$options$filter3 : filterFns[globalFilterFn];
|
|
1255
1259
|
},
|
|
1256
1260
|
setColumnFilters: updater => {
|
|
1257
1261
|
const leafColumns = table.getAllLeafColumns();
|
|
@@ -1288,8 +1292,11 @@
|
|
|
1288
1292
|
table.setColumnFilters(defaultState ? [] : (_table$initialState$c = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.columnFilters) != null ? _table$initialState$c : []);
|
|
1289
1293
|
},
|
|
1290
1294
|
getPreFilteredRowModel: () => table.getCoreRowModel(),
|
|
1291
|
-
_getFilteredRowModel: table.options.getFilteredRowModel && table.options.getFilteredRowModel(table),
|
|
1292
1295
|
getFilteredRowModel: () => {
|
|
1296
|
+
if (!table._getFilteredRowModel && table.options.getFilteredRowModel) {
|
|
1297
|
+
table._getFilteredRowModel = table.options.getFilteredRowModel(table);
|
|
1298
|
+
}
|
|
1299
|
+
|
|
1293
1300
|
if (table.options.manualFiltering || !table._getFilteredRowModel) {
|
|
1294
1301
|
return table.getPreFilteredRowModel();
|
|
1295
1302
|
}
|
|
@@ -1505,11 +1512,13 @@
|
|
|
1505
1512
|
}
|
|
1506
1513
|
},
|
|
1507
1514
|
getAggregationFn: () => {
|
|
1515
|
+
var _table$options$aggreg, _table$options$aggreg2;
|
|
1516
|
+
|
|
1508
1517
|
if (!column) {
|
|
1509
1518
|
throw new Error();
|
|
1510
1519
|
}
|
|
1511
1520
|
|
|
1512
|
-
return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : aggregationFns[column.columnDef.aggregationFn];
|
|
1521
|
+
return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : (_table$options$aggreg = (_table$options$aggreg2 = table.options.aggregationFns) == null ? void 0 : _table$options$aggreg2[column.columnDef.aggregationFn]) != null ? _table$options$aggreg : aggregationFns[column.columnDef.aggregationFn];
|
|
1513
1522
|
}
|
|
1514
1523
|
};
|
|
1515
1524
|
},
|
|
@@ -2526,11 +2535,13 @@
|
|
|
2526
2535
|
return 'desc';
|
|
2527
2536
|
},
|
|
2528
2537
|
getSortingFn: () => {
|
|
2538
|
+
var _table$options$sortin, _table$options$sortin2;
|
|
2539
|
+
|
|
2529
2540
|
if (!column) {
|
|
2530
2541
|
throw new Error();
|
|
2531
2542
|
}
|
|
2532
2543
|
|
|
2533
|
-
return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : sortingFns[column.columnDef.sortingFn];
|
|
2544
|
+
return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_table$options$sortin = (_table$options$sortin2 = table.options.sortingFns) == null ? void 0 : _table$options$sortin2[column.columnDef.sortingFn]) != null ? _table$options$sortin : sortingFns[column.columnDef.sortingFn];
|
|
2534
2545
|
},
|
|
2535
2546
|
toggleSorting: (desc, multi) => {
|
|
2536
2547
|
// if (column.columns.length) {
|
|
@@ -2914,8 +2925,20 @@
|
|
|
2914
2925
|
|
|
2915
2926
|
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
2916
2927
|
return {
|
|
2917
|
-
header: props =>
|
|
2918
|
-
|
|
2928
|
+
header: props => {
|
|
2929
|
+
const resolvedColumnDef = props.header.column.columnDef;
|
|
2930
|
+
|
|
2931
|
+
if (resolvedColumnDef.accessorKey) {
|
|
2932
|
+
return resolvedColumnDef.accessorKey;
|
|
2933
|
+
}
|
|
2934
|
+
|
|
2935
|
+
if (resolvedColumnDef.accessorFn) {
|
|
2936
|
+
return resolvedColumnDef.id;
|
|
2937
|
+
}
|
|
2938
|
+
|
|
2939
|
+
return null;
|
|
2940
|
+
},
|
|
2941
|
+
// footer: props => props.header.column.id,
|
|
2919
2942
|
cell: props => {
|
|
2920
2943
|
var _props$renderValue$to, _props$renderValue;
|
|
2921
2944
|
|
|
@@ -3152,7 +3175,8 @@
|
|
|
3152
3175
|
accessorKey: accessor
|
|
3153
3176
|
};
|
|
3154
3177
|
},
|
|
3155
|
-
display: column => column
|
|
3178
|
+
display: column => column,
|
|
3179
|
+
group: column => column
|
|
3156
3180
|
};
|
|
3157
3181
|
}
|
|
3158
3182
|
|