@tanstack/table-core 8.3.5 → 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.
@@ -8,8 +8,6 @@
8
8
  *
9
9
  * @license MIT
10
10
  */
11
- declare type NoInfer$1<T> = [T][T extends any ? 0 : never];
12
- declare type Getter<TValue> = <TTValue = TValue>() => NoInfer$1<TTValue>;
13
11
  declare type CellContext<TData extends RowData, TValue> = {
14
12
  table: Table<TData>;
15
13
  column: Column<TData, TValue>;
@@ -241,7 +239,7 @@ declare type FilterFn<TData extends RowData> = {
241
239
  declare type TransformFilterValueFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => unknown;
242
240
  declare type ColumnFilterAutoRemoveTestFn<TData extends RowData> = (value: any, column?: Column<TData, unknown>) => boolean;
243
241
  declare type CustomFilterFns<TData extends RowData> = Record<string, FilterFn<TData>>;
244
- declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | FilterFn<TData>;
242
+ declare type FilterFnOption<TData extends RowData> = 'auto' | BuiltInFilterFn | keyof FilterFns | FilterFn<TData>;
245
243
  declare type FiltersColumnDef<TData extends RowData> = {
246
244
  filterFn?: FilterFnOption<TData>;
247
245
  enableColumnFilter?: boolean;
@@ -281,7 +279,11 @@ declare type FiltersOptions<TData extends RowData> = {
281
279
  getFacetedRowModel?: (table: Table<TData>, columnId: string) => () => RowModel<TData>;
282
280
  getFacetedUniqueValues?: (table: Table<TData>, columnId: string) => () => Map<any, number>;
283
281
  getFacetedMinMaxValues?: (table: Table<TData>, columnId: string) => () => undefined | [number, number];
284
- };
282
+ } & (keyof FilterFns extends never ? {
283
+ filterFns?: Record<string, FilterFn<any>>;
284
+ } : {
285
+ filterFns: Record<keyof FilterFns, FilterFn<any>>;
286
+ });
285
287
  declare type FiltersInstance<TData extends RowData> = {
286
288
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
287
289
  resetColumnFilters: (defaultState?: boolean) => void;
@@ -326,7 +328,7 @@ declare type SortingFn<TData extends RowData> = {
326
328
  (rowA: Row<TData>, rowB: Row<TData>, columnId: string): number;
327
329
  };
328
330
  declare type CustomSortingFns<TData extends RowData> = Record<string, SortingFn<TData>>;
329
- declare type SortingFnOption<TData extends RowData> = 'auto' | BuiltInSortingFn | SortingFn<TData>;
331
+ declare type SortingFnOption<TData extends RowData> = 'auto' | keyof SortingFns | BuiltInSortingFn | SortingFn<TData>;
330
332
  declare type SortingColumnDef<TData extends RowData> = {
331
333
  sortingFn?: SortingFnOption<TData>;
332
334
  sortDescFirst?: boolean;
@@ -360,7 +362,11 @@ declare type SortingOptions<TData extends RowData> = {
360
362
  getSortedRowModel?: (table: Table<any>) => () => RowModel<any>;
361
363
  maxMultiSortColCount?: number;
362
364
  isMultiSortEvent?: (e: unknown) => boolean;
363
- };
365
+ } & (keyof SortingFns extends never ? {
366
+ sortingFns?: Record<string, SortingFn<any>>;
367
+ } : {
368
+ sortingFns: Record<keyof SortingFns, SortingFn<any>>;
369
+ });
364
370
  declare type SortingInstance<TData extends RowData> = {
365
371
  setSorting: (updater: Updater<SortingState>) => void;
366
372
  resetSorting: (defaultState?: boolean) => void;
@@ -389,7 +395,7 @@ declare type GroupingTableState = {
389
395
  };
390
396
  declare type AggregationFn<TData extends RowData> = (columnId: string, leafRows: Row<TData>[], childRows: Row<TData>[]) => any;
391
397
  declare type CustomAggregationFns = Record<string, AggregationFn<any>>;
392
- declare type AggregationFnOption<TData extends RowData> = 'auto' | BuiltInAggregationFn | AggregationFn<TData>;
398
+ declare type AggregationFnOption<TData extends RowData> = 'auto' | keyof AggregationFns | BuiltInAggregationFn | AggregationFn<TData>;
393
399
  declare type GroupingColumnDef<TData extends RowData, TValue> = {
394
400
  aggregationFn?: AggregationFnOption<TData>;
395
401
  aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TData, TValue>['getContext']>>;
@@ -425,7 +431,11 @@ declare type GroupingOptions = {
425
431
  enableGrouping?: boolean;
426
432
  getGroupedRowModel?: (table: Table<any>) => () => RowModel<any>;
427
433
  groupedColumnMode?: false | 'reorder' | 'remove';
428
- };
434
+ } & (keyof AggregationFns extends never ? {
435
+ aggregationFns?: Record<string, AggregationFn<any>>;
436
+ } : {
437
+ aggregationFns: Record<keyof AggregationFns, AggregationFn<any>>;
438
+ });
429
439
  declare type GroupingColumnMode = false | 'reorder' | 'remove';
430
440
  declare type GroupingInstance<TData extends RowData> = {
431
441
  setGrouping: (updater: Updater<GroupingState>) => void;
@@ -639,6 +649,12 @@ interface ColumnMeta<TData extends RowData, TValue> {
639
649
  }
640
650
  interface FilterMeta {
641
651
  }
652
+ interface FilterFns {
653
+ }
654
+ interface SortingFns {
655
+ }
656
+ interface AggregationFns {
657
+ }
642
658
  declare type Updater<T> = T | ((old: T) => T);
643
659
  declare type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
644
660
  declare type RowData = unknown | object | any[];
@@ -661,7 +677,6 @@ declare type Column<TData extends RowData, TValue> = CoreColumn<TData, TValue> &
661
677
  declare type Cell<TData extends RowData, TValue> = CoreCell<TData, TValue> & GroupingCell;
662
678
  declare type Header<TData extends RowData, TValue> = CoreHeader<TData, TValue> & ColumnSizingHeader;
663
679
  declare type HeaderGroup<TData extends RowData> = CoreHeaderGroup<TData>;
664
- declare type NoInfer<A extends any> = [A][A extends any ? 0 : never];
665
680
 
666
681
  declare type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
667
682
  declare type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
@@ -680,6 +695,8 @@ declare type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends numbe
680
695
  declare type DeepKeys<T> = unknown extends T ? keyof T : object extends T ? string : T extends readonly any[] & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>> : T extends any[] ? never & 'Dynamic length array indexing is not supported' : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T> : never;
681
696
  declare type DeepKeysPrefix<T, TPrefix> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix]> & string}` : never;
682
697
  declare type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
698
+ declare type NoInfer<T> = [T][T extends any ? 0 : never];
699
+ declare type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
683
700
  declare function functionalUpdate<T>(updater: Updater<T>, input: T): T;
684
701
  declare function noop(): void;
685
702
  declare function makeStateUpdater<K extends keyof TableState>(key: K, instance: unknown): (updater: Updater<TableState[K]>) => void;
@@ -749,6 +766,8 @@ declare function createTable<TData extends RowData>(options: TableOptionsResolve
749
766
 
750
767
  declare type ColumnHelper<TData extends RowData> = {
751
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>;
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, 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) {
@@ -3151,7 +3159,9 @@
3151
3159
  } : { ...column,
3152
3160
  accessorKey: accessor
3153
3161
  };
3154
- }
3162
+ },
3163
+ display: column => column,
3164
+ group: column => column
3155
3165
  };
3156
3166
  }
3157
3167