@tanstack/table-core 8.3.6 → 8.5.1

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.
@@ -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[];
@@ -748,6 +766,8 @@ declare function createTable<TData extends RowData>(options: TableOptionsResolve
748
766
 
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>;
769
+ display: (column: RequiredKeys<Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>, 'id'>) => ColumnDef<TData, unknown>;
770
+ group: (column: RequiredKeys<Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>, 'id' | 'columns'>) => ColumnDef<TData, unknown>;
751
771
  };
752
772
  declare function createColumnHelper<TData extends RowData>(): ColumnHelper<TData>;
753
773
 
@@ -776,4 +796,4 @@ declare function getPaginationRowModel<TData extends RowData>(opts?: {
776
796
  initialSync: boolean;
777
797
  }): (table: Table<TData>) => () => RowModel<TData>;
778
798
 
779
- 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 };
799
+ 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
- return isFunction(column.columnDef.filterFn) ? column.columnDef.filterFn : column.columnDef.filterFn === 'auto' ? column.getAutoFilterFn() : filterFns[column.columnDef.filterFn];
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) {
@@ -3151,7 +3162,9 @@
3151
3162
  } : { ...column,
3152
3163
  accessorKey: accessor
3153
3164
  };
3154
- }
3165
+ },
3166
+ display: column => column,
3167
+ group: column => column
3155
3168
  };
3156
3169
  }
3157
3170