@tanstack/table-core 8.14.0 → 8.15.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.
@@ -5,6 +5,7 @@ import { ColumnPinningColumn, ColumnPinningColumnDef, ColumnPinningInstance, Col
5
5
  import { RowPinningInstance, RowPinningOptions, RowPinningRow, RowPinningTableState } from './features/RowPinning';
6
6
  import { CoreHeader, CoreHeaderGroup, HeaderContext, HeadersInstance } from './core/headers';
7
7
  import { FacetedColumn, FacetedOptions } from './features/ColumnFaceting';
8
+ import { GlobalFacetingInstance } from './features/GlobalFaceting';
8
9
  import { ColumnFiltersColumn, ColumnFiltersColumnDef, ColumnFiltersInstance, ColumnFiltersOptions, ColumnFiltersRow, ColumnFiltersTableState } from './features/ColumnFiltering';
9
10
  import { GlobalFilterColumn, GlobalFilterColumnDef, GlobalFilterInstance, GlobalFilterOptions, GlobalFilterTableState } from './features/GlobalFiltering';
10
11
  import { SortingColumn, SortingColumnDef, SortingInstance, SortingOptions, SortingTableState } from './features/RowSorting';
@@ -43,7 +44,7 @@ export type Updater<T> = T | ((old: T) => T);
43
44
  export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
44
45
  export type RowData = unknown | object | any[];
45
46
  export type AnyRender = (Comp: any, props: any) => any;
46
- export interface Table<TData extends RowData> extends CoreInstance<TData>, HeadersInstance<TData>, VisibilityInstance<TData>, ColumnOrderInstance<TData>, ColumnPinningInstance<TData>, RowPinningInstance<TData>, ColumnFiltersInstance<TData>, GlobalFilterInstance<TData>, SortingInstance<TData>, GroupingInstance<TData>, ColumnSizingInstance, ExpandedInstance<TData>, PaginationInstance<TData>, RowSelectionInstance<TData> {
47
+ export interface Table<TData extends RowData> extends CoreInstance<TData>, HeadersInstance<TData>, VisibilityInstance<TData>, ColumnOrderInstance<TData>, ColumnPinningInstance<TData>, RowPinningInstance<TData>, ColumnFiltersInstance<TData>, GlobalFilterInstance<TData>, GlobalFacetingInstance<TData>, SortingInstance<TData>, GroupingInstance<TData>, ColumnSizingInstance, ExpandedInstance<TData>, PaginationInstance<TData>, RowSelectionInstance<TData> {
47
48
  }
48
49
  interface FeatureOptions<TData extends RowData> extends VisibilityOptions, ColumnOrderOptions, ColumnPinningOptions, RowPinningOptions<TData>, FacetedOptions<TData>, ColumnFiltersOptions<TData>, GlobalFilterOptions<TData>, SortingOptions<TData>, GroupingOptions, ExpandedOptions<TData>, ColumnSizingOptions, PaginationOptions, RowSelectionOptions<TData> {
49
50
  }
@@ -93,7 +94,7 @@ interface GroupColumnDefBase<TData extends RowData, TValue = unknown> extends Co
93
94
  columns?: ColumnDef<TData, any>[];
94
95
  }
95
96
  export type GroupColumnDef<TData extends RowData, TValue = unknown> = GroupColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>;
96
- interface AccessorFnColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
97
+ export interface AccessorFnColumnDefBase<TData extends RowData, TValue = unknown> extends ColumnDefBase<TData, TValue> {
97
98
  accessorFn: AccessorFn<TData, TValue>;
98
99
  }
99
100
  export type AccessorFnColumnDef<TData extends RowData, TValue = unknown> = AccessorFnColumnDefBase<TData, TValue> & ColumnIdentifiers<TData, TValue>;
@@ -1549,6 +1549,34 @@
1549
1549
 
1550
1550
  //
1551
1551
 
1552
+ const GlobalFaceting = {
1553
+ createTable: table => {
1554
+ table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');
1555
+ table.getGlobalFacetedRowModel = () => {
1556
+ if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {
1557
+ return table.getPreFilteredRowModel();
1558
+ }
1559
+ return table._getGlobalFacetedRowModel();
1560
+ };
1561
+ table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__');
1562
+ table.getGlobalFacetedUniqueValues = () => {
1563
+ if (!table._getGlobalFacetedUniqueValues) {
1564
+ return new Map();
1565
+ }
1566
+ return table._getGlobalFacetedUniqueValues();
1567
+ };
1568
+ table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__');
1569
+ table.getGlobalFacetedMinMaxValues = () => {
1570
+ if (!table._getGlobalFacetedMinMaxValues) {
1571
+ return;
1572
+ }
1573
+ return table._getGlobalFacetedMinMaxValues();
1574
+ };
1575
+ }
1576
+ };
1577
+
1578
+ //
1579
+
1552
1580
  const GlobalFiltering = {
1553
1581
  getInitialState: state => {
1554
1582
  return {
@@ -1582,8 +1610,7 @@
1582
1610
  const {
1583
1611
  globalFilterFn: globalFilterFn
1584
1612
  } = table.options;
1585
- return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : // @ts-ignore
1586
- (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];
1613
+ return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? table.getGlobalAutoFilterFn() : (_table$options$filter = (_table$options$filter2 = table.options.filterFns) == null ? void 0 : _table$options$filter2[globalFilterFn]) != null ? _table$options$filter : filterFns[globalFilterFn];
1587
1614
  };
1588
1615
  table.setGlobalFilter = updater => {
1589
1616
  table.options.onGlobalFilterChange == null || table.options.onGlobalFilterChange(updater);
@@ -1591,27 +1618,6 @@
1591
1618
  table.resetGlobalFilter = defaultState => {
1592
1619
  table.setGlobalFilter(defaultState ? undefined : table.initialState.globalFilter);
1593
1620
  };
1594
- table._getGlobalFacetedRowModel = table.options.getFacetedRowModel && table.options.getFacetedRowModel(table, '__global__');
1595
- table.getGlobalFacetedRowModel = () => {
1596
- if (table.options.manualFiltering || !table._getGlobalFacetedRowModel) {
1597
- return table.getPreFilteredRowModel();
1598
- }
1599
- return table._getGlobalFacetedRowModel();
1600
- };
1601
- table._getGlobalFacetedUniqueValues = table.options.getFacetedUniqueValues && table.options.getFacetedUniqueValues(table, '__global__');
1602
- table.getGlobalFacetedUniqueValues = () => {
1603
- if (!table._getGlobalFacetedUniqueValues) {
1604
- return new Map();
1605
- }
1606
- return table._getGlobalFacetedUniqueValues();
1607
- };
1608
- table._getGlobalFacetedMinMaxValues = table.options.getFacetedMinMaxValues && table.options.getFacetedMinMaxValues(table, '__global__');
1609
- table.getGlobalFacetedMinMaxValues = () => {
1610
- if (!table._getGlobalFacetedMinMaxValues) {
1611
- return;
1612
- }
1613
- return table._getGlobalFacetedMinMaxValues();
1614
- };
1615
1621
  }
1616
1622
  };
1617
1623
 
@@ -2740,8 +2746,10 @@
2740
2746
  }
2741
2747
  };
2742
2748
 
2743
- const builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFiltering,
2744
- //depends on ColumnFiltering and ColumnFaceting
2749
+ const builtInFeatures = [Headers, ColumnVisibility, ColumnOrdering, ColumnPinning, ColumnFaceting, ColumnFiltering, GlobalFaceting,
2750
+ //depends on ColumnFaceting
2751
+ GlobalFiltering,
2752
+ //depends on ColumnFiltering
2745
2753
  RowSorting, ColumnGrouping,
2746
2754
  //depends on RowSorting
2747
2755
  RowExpanding, RowPagination, RowPinning, RowSelection, ColumnSizing];
@@ -3518,6 +3526,7 @@
3518
3526
  exports.ColumnPinning = ColumnPinning;
3519
3527
  exports.ColumnSizing = ColumnSizing;
3520
3528
  exports.ColumnVisibility = ColumnVisibility;
3529
+ exports.GlobalFaceting = GlobalFaceting;
3521
3530
  exports.GlobalFiltering = GlobalFiltering;
3522
3531
  exports.Headers = Headers;
3523
3532
  exports.RowExpanding = RowExpanding;