@tanstack/table-core 8.4.0 → 8.5.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.
@@ -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,7 @@ 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: RequiredKeys<Omit<ColumnDef<TData, unknown>, 'accessorKey' | 'accessorFn'>, 'id' | 'columns'>) => ColumnDef<TData, unknown>;
752
771
  };
753
772
  declare function createColumnHelper<TData extends RowData>(): ColumnHelper<TData>;
754
773
 
@@ -777,4 +796,4 @@ declare function getPaginationRowModel<TData extends RowData>(opts?: {
777
796
  initialSync: boolean;
778
797
  }): (table: Table<TData>) => () => RowModel<TData>;
779
798
 
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 };
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();
@@ -1505,11 +1509,13 @@
1505
1509
  }
1506
1510
  },
1507
1511
  getAggregationFn: () => {
1512
+ var _table$options$aggreg, _table$options$aggreg2;
1513
+
1508
1514
  if (!column) {
1509
1515
  throw new Error();
1510
1516
  }
1511
1517
 
1512
- return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === 'auto' ? column.getAutoAggregationFn() : aggregationFns[column.columnDef.aggregationFn];
1518
+ 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
1519
  }
1514
1520
  };
1515
1521
  },
@@ -2526,11 +2532,13 @@
2526
2532
  return 'desc';
2527
2533
  },
2528
2534
  getSortingFn: () => {
2535
+ var _table$options$sortin, _table$options$sortin2;
2536
+
2529
2537
  if (!column) {
2530
2538
  throw new Error();
2531
2539
  }
2532
2540
 
2533
- return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : sortingFns[column.columnDef.sortingFn];
2541
+ 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
2542
  },
2535
2543
  toggleSorting: (desc, multi) => {
2536
2544
  // if (column.columns.length) {
@@ -3152,7 +3160,8 @@
3152
3160
  accessorKey: accessor
3153
3161
  };
3154
3162
  },
3155
- display: column => column
3163
+ display: column => column,
3164
+ group: column => column
3156
3165
  };
3157
3166
  }
3158
3167