@tanstack/table-core 8.0.0-alpha.70 → 8.0.0-alpha.73

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.
Files changed (52) hide show
  1. package/build/cjs/core.js +2 -2
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +4 -4
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Expanding.js +12 -2
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +2 -2
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +1 -1
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js +2 -2
  14. package/build/cjs/features/Headers.js.map +1 -1
  15. package/build/cjs/features/Pagination.js +16 -9
  16. package/build/cjs/features/Pagination.js.map +1 -1
  17. package/build/cjs/utils/getCoreRowModel.js +1 -3
  18. package/build/cjs/utils/getCoreRowModel.js.map +1 -1
  19. package/build/cjs/utils/getFacetedMinMaxValues.js +10 -4
  20. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -1
  21. package/build/cjs/utils/getFilteredRowModel.js +1 -3
  22. package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
  23. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  24. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  25. package/build/cjs/utils/getSortedRowModel.js +1 -3
  26. package/build/cjs/utils/getSortedRowModel.js.map +1 -1
  27. package/build/esm/index.js +54 -37
  28. package/build/esm/index.js.map +1 -1
  29. package/build/stats-html.html +1 -1
  30. package/build/stats-react.json +317 -317
  31. package/build/types/core.d.ts +2 -3
  32. package/build/types/features/Filters.d.ts +5 -5
  33. package/build/types/features/Pagination.d.ts +0 -1
  34. package/build/types/utils/getFacetedMinMaxValues.d.ts +1 -1
  35. package/build/umd/index.development.js +54 -37
  36. package/build/umd/index.development.js.map +1 -1
  37. package/build/umd/index.production.js +1 -1
  38. package/build/umd/index.production.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/core.ts +6 -6
  41. package/src/features/Cells.ts +1 -1
  42. package/src/features/ColumnSizing.ts +4 -4
  43. package/src/features/Expanding.ts +10 -2
  44. package/src/features/Filters.ts +7 -7
  45. package/src/features/Grouping.ts +1 -1
  46. package/src/features/Headers.ts +2 -2
  47. package/src/features/Pagination.ts +14 -11
  48. package/src/utils/getCoreRowModel.ts +1 -3
  49. package/src/utils/getFacetedMinMaxValues.ts +8 -5
  50. package/src/utils/getFilteredRowModel.ts +1 -3
  51. package/src/utils/getGroupedRowModel.ts +1 -1
  52. package/src/utils/getSortedRowModel.ts +1 -3
@@ -14,7 +14,6 @@ export declare type CoreOptions<TGenerics extends TableGenerics> = {
14
14
  initialState?: InitialTableState;
15
15
  autoResetAll?: boolean;
16
16
  mergeOptions?: <T>(defaultOptions: T, options: Partial<T>) => T;
17
- keepPreviousData?: boolean;
18
17
  meta?: TGenerics['TableMeta'];
19
18
  };
20
19
  export declare type CoreInstance<TGenerics extends TableGenerics> = {
@@ -22,10 +21,10 @@ export declare type CoreInstance<TGenerics extends TableGenerics> = {
22
21
  reset: () => void;
23
22
  options: RequiredKeys<TableOptions<TGenerics>, 'state'>;
24
23
  setOptions: (newOptions: Updater<TableOptions<TGenerics>>) => void;
25
- queue: (cb: () => void) => void;
26
24
  getState: () => TableState;
27
25
  setState: (updater: Updater<TableState>) => void;
28
- render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | TGenerics['Rendered'];
26
+ _queue: (cb: () => void) => void;
27
+ _render: <TProps>(template: Renderable<TGenerics, TProps>, props: TProps) => string | null | TGenerics['Rendered'];
29
28
  _features: readonly TableFeature[];
30
29
  };
31
30
  export declare function createTableInstance<TGenerics extends TableGenerics>(options: TableOptions<TGenerics>): TableInstance<TGenerics>;
@@ -49,8 +49,8 @@ export declare type FiltersColumn<TGenerics extends TableGenerics> = {
49
49
  getFilterIndex: () => number;
50
50
  getFacetedUniqueValues: () => Map<any, number>;
51
51
  _getFacetedUniqueValues?: () => Map<any, number>;
52
- getFacetedMinMaxValues: () => [any, any];
53
- _getFacetedMinMaxValues?: () => [any, any];
52
+ getFacetedMinMaxValues: () => undefined | [number, number];
53
+ _getFacetedMinMaxValues?: () => undefined | [number, number];
54
54
  };
55
55
  export declare type FiltersRow<TGenerics extends TableGenerics> = {
56
56
  columnFilterMap: Record<string, boolean>;
@@ -70,7 +70,7 @@ export declare type FiltersOptions<TGenerics extends TableGenerics> = {
70
70
  getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean;
71
71
  getFacetedRowModel?: (instance: TableInstance<TGenerics>, columnId: string) => () => RowModel<TGenerics>;
72
72
  getFacetedUniqueValues?: (instance: TableInstance<TGenerics>, columnId: string) => () => Map<any, number>;
73
- getFacetedMinMaxValues?: (instance: TableInstance<TGenerics>, columnId: string) => () => [number, number];
73
+ getFacetedMinMaxValues?: (instance: TableInstance<TGenerics>, columnId: string) => () => undefined | [number, number];
74
74
  };
75
75
  export declare type FiltersInstance<TGenerics extends TableGenerics> = {
76
76
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void;
@@ -86,8 +86,8 @@ export declare type FiltersInstance<TGenerics extends TableGenerics> = {
86
86
  _getGlobalFacetedRowModel?: () => RowModel<TGenerics>;
87
87
  getGlobalFacetedUniqueValues: () => Map<any, number>;
88
88
  _getGlobalFacetedUniqueValues?: () => Map<any, number>;
89
- getGlobalFacetedMinMaxValues: () => [number, number];
90
- _getGlobalFacetedMinMaxValues?: () => [number, number];
89
+ getGlobalFacetedMinMaxValues: () => undefined | [number, number];
90
+ _getGlobalFacetedMinMaxValues?: () => undefined | [number, number];
91
91
  };
92
92
  export declare const Filters: TableFeature;
93
93
  export declare function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(filterFn?: FilterFn<TGenerics>, value?: any, column?: Column<TGenerics>): boolean;
@@ -18,7 +18,6 @@ export declare type PaginationOptions<TGenerics extends TableGenerics> = {
18
18
  };
19
19
  export declare type PaginationDefaultOptions = {
20
20
  onPaginationChange: OnChangeFn<PaginationState>;
21
- autoResetPageIndex: boolean;
22
21
  };
23
22
  export declare type PaginationInstance<TGenerics extends TableGenerics> = {
24
23
  _autoResetPageIndex: () => void;
@@ -1,2 +1,2 @@
1
1
  import { TableInstance, TableGenerics } from '../types';
2
- export declare function getFacetedMinMaxValues<TGenerics extends TableGenerics>(): (instance: TableInstance<TGenerics>, columnId: string) => () => [number, number];
2
+ export declare function getFacetedMinMaxValues<TGenerics extends TableGenerics>(): (instance: TableInstance<TGenerics>, columnId: string) => () => undefined | [number, number];
@@ -375,7 +375,7 @@
375
375
  row,
376
376
  column,
377
377
  getValue: () => row.getValue(columnId),
378
- renderCell: () => column.cell ? instance.render(column.cell, {
378
+ renderCell: () => column.cell ? instance._render(column.cell, {
379
379
  instance,
380
380
  column,
381
381
  row,
@@ -620,28 +620,28 @@
620
620
  var _instance$getHeaderGr, _instance$getHeaderGr2;
621
621
 
622
622
  return (_instance$getHeaderGr = (_instance$getHeaderGr2 = instance.getHeaderGroups()[0]) == null ? void 0 : _instance$getHeaderGr2.headers.reduce((sum, header) => {
623
- return sum + header.column.getSize();
623
+ return sum + header.getSize();
624
624
  }, 0)) != null ? _instance$getHeaderGr : 0;
625
625
  },
626
626
  getLeftTotalSize: () => {
627
627
  var _instance$getLeftHead, _instance$getLeftHead2;
628
628
 
629
629
  return (_instance$getLeftHead = (_instance$getLeftHead2 = instance.getLeftHeaderGroups()[0]) == null ? void 0 : _instance$getLeftHead2.headers.reduce((sum, header) => {
630
- return sum + header.column.getSize();
630
+ return sum + header.getSize();
631
631
  }, 0)) != null ? _instance$getLeftHead : 0;
632
632
  },
633
633
  getCenterTotalSize: () => {
634
634
  var _instance$getCenterHe, _instance$getCenterHe2;
635
635
 
636
636
  return (_instance$getCenterHe = (_instance$getCenterHe2 = instance.getCenterHeaderGroups()[0]) == null ? void 0 : _instance$getCenterHe2.headers.reduce((sum, header) => {
637
- return sum + header.column.getSize();
637
+ return sum + header.getSize();
638
638
  }, 0)) != null ? _instance$getCenterHe : 0;
639
639
  },
640
640
  getRightTotalSize: () => {
641
641
  var _instance$getRightHea, _instance$getRightHea2;
642
642
 
643
643
  return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce((sum, header) => {
644
- return sum + header.column.getSize();
644
+ return sum + header.getSize();
645
645
  }, 0)) != null ? _instance$getRightHea : 0;
646
646
  }
647
647
  };
@@ -695,10 +695,14 @@
695
695
  },
696
696
  createInstance: instance => {
697
697
  let registered = false;
698
+ let queued = false;
698
699
  return {
699
700
  _autoResetExpanded: () => {
700
701
  if (!registered) {
701
- registered = true;
702
+ instance._queue(() => {
703
+ registered = true;
704
+ });
705
+
702
706
  return;
703
707
  }
704
708
 
@@ -707,7 +711,13 @@
707
711
  }
708
712
 
709
713
  if (instance.options.autoResetAll === true || instance.options.autoResetExpanded) {
710
- instance.resetExpanded();
714
+ if (queued) return;
715
+ queued = true;
716
+
717
+ instance._queue(() => {
718
+ instance.resetExpanded();
719
+ queued = false;
720
+ });
711
721
  }
712
722
  },
713
723
  setExpanded: updater => instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater),
@@ -1060,7 +1070,7 @@
1060
1070
  _getFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, column.id),
1061
1071
  getFacetedMinMaxValues: () => {
1062
1072
  if (!column._getFacetedMinMaxValues) {
1063
- return [NaN, NaN];
1073
+ return undefined;
1064
1074
  }
1065
1075
 
1066
1076
  return column._getFacetedMinMaxValues();
@@ -1151,7 +1161,7 @@
1151
1161
  _getGlobalFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, '__global__'),
1152
1162
  getGlobalFacetedMinMaxValues: () => {
1153
1163
  if (!instance._getGlobalFacetedMinMaxValues) {
1154
- return [NaN, NaN];
1164
+ return;
1155
1165
  }
1156
1166
 
1157
1167
  return instance._getGlobalFacetedMinMaxValues();
@@ -1388,7 +1398,7 @@
1388
1398
  var _column$aggregatedCel;
1389
1399
 
1390
1400
  const template = (_column$aggregatedCel = column.aggregatedCell) != null ? _column$aggregatedCel : column.cell;
1391
- return template ? instance.render(template, {
1401
+ return template ? instance._render(template, {
1392
1402
  instance,
1393
1403
  column,
1394
1404
  row,
@@ -1489,25 +1499,32 @@
1489
1499
  },
1490
1500
  getDefaultOptions: instance => {
1491
1501
  return {
1492
- onPaginationChange: makeStateUpdater('pagination', instance),
1493
- autoResetPageIndex: true
1502
+ onPaginationChange: makeStateUpdater('pagination', instance)
1494
1503
  };
1495
1504
  },
1496
1505
  createInstance: instance => {
1497
1506
  let registered = false;
1507
+ let queued = false;
1498
1508
  return {
1499
1509
  _autoResetPageIndex: () => {
1510
+ var _ref, _instance$options$aut;
1511
+
1500
1512
  if (!registered) {
1501
- registered = true;
1502
- return;
1503
- }
1513
+ instance._queue(() => {
1514
+ registered = true;
1515
+ });
1504
1516
 
1505
- if (instance.options.autoResetAll === false) {
1506
1517
  return;
1507
1518
  }
1508
1519
 
1509
- if (instance.options.autoResetAll === true || instance.options.autoResetPageIndex) {
1510
- instance.resetPageIndex();
1520
+ if ((_ref = (_instance$options$aut = instance.options.autoResetAll) != null ? _instance$options$aut : instance.options.autoResetPageIndex) != null ? _ref : !instance.options.manualPagination) {
1521
+ if (queued) return;
1522
+ queued = true;
1523
+
1524
+ instance._queue(() => {
1525
+ instance.resetPageIndex();
1526
+ queued = false;
1527
+ });
1511
1528
  }
1512
1529
  },
1513
1530
  setPagination: updater => {
@@ -1526,7 +1543,7 @@
1526
1543
  setPageIndex: updater => {
1527
1544
  instance.setPagination(old => {
1528
1545
  let pageIndex = functionalUpdate(updater, old.pageIndex);
1529
- const maxPageIndex = old.pageCount && old.pageCount > 0 ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
1546
+ const maxPageIndex = typeof old.pageCount !== 'undefined' ? old.pageCount - 1 : Number.MAX_SAFE_INTEGER;
1530
1547
  pageIndex = Math.min(Math.max(0, pageIndex), maxPageIndex);
1531
1548
  return { ...old,
1532
1549
  pageIndex
@@ -2637,12 +2654,12 @@
2637
2654
  recurseHeader(header);
2638
2655
  return leafHeaders;
2639
2656
  },
2640
- renderHeader: () => column.header ? instance.render(column.header, {
2657
+ renderHeader: () => column.header ? instance._render(column.header, {
2641
2658
  instance,
2642
2659
  header: header,
2643
2660
  column
2644
2661
  }) : null,
2645
- renderFooter: () => column.footer ? instance.render(column.footer, {
2662
+ renderFooter: () => column.footer ? instance._render(column.footer, {
2646
2663
  instance,
2647
2664
  header: header,
2648
2665
  column
@@ -3116,7 +3133,7 @@
3116
3133
  ...options
3117
3134
  },
3118
3135
  initialState,
3119
- queue: cb => {
3136
+ _queue: cb => {
3120
3137
  queued.push(cb);
3121
3138
 
3122
3139
  if (!queuedTimeout) {
@@ -3174,7 +3191,7 @@
3174
3191
  const newOptions = functionalUpdate(updater, instance.options);
3175
3192
  instance.options = mergeOptions(newOptions);
3176
3193
  },
3177
- render: (template, props) => {
3194
+ _render: (template, props) => {
3178
3195
  if (typeof instance.options.render === 'function') {
3179
3196
  return instance.options.render(template, props);
3180
3197
  }
@@ -3348,9 +3365,7 @@
3348
3365
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
3349
3366
  },
3350
3367
  onChange: () => {
3351
- instance.queue(() => {
3352
- instance._autoResetPageIndex();
3353
- });
3368
+ instance._autoResetPageIndex();
3354
3369
  }
3355
3370
  });
3356
3371
  }
@@ -3556,9 +3571,7 @@
3556
3571
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
3557
3572
  },
3558
3573
  onChange: () => {
3559
- instance.queue(() => {
3560
- instance._autoResetPageIndex();
3561
- });
3574
+ instance._autoResetPageIndex();
3562
3575
  }
3563
3576
  });
3564
3577
  }
@@ -3626,14 +3639,20 @@
3626
3639
 
3627
3640
  function getFacetedMinMaxValues() {
3628
3641
  return (instance, columnId) => memo(() => [instance.getColumn(columnId).getFacetedRowModel()], facetedRowModel => {
3629
- var _facetedRowModel$flat, _facetedRowModel$flat2, _facetedRowModel$flat3, _facetedRowModel$flat4;
3642
+ var _facetedRowModel$flat;
3630
3643
 
3631
- let facetedMinMaxValues = [(_facetedRowModel$flat = (_facetedRowModel$flat2 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId)) != null ? _facetedRowModel$flat : null, (_facetedRowModel$flat3 = (_facetedRowModel$flat4 = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat4.getValue(columnId)) != null ? _facetedRowModel$flat3 : null];
3644
+ const firstValue = (_facetedRowModel$flat = facetedRowModel.flatRows[0]) == null ? void 0 : _facetedRowModel$flat.getValue(columnId);
3645
+
3646
+ if (typeof firstValue === 'undefined') {
3647
+ return undefined;
3648
+ }
3649
+
3650
+ let facetedMinMaxValues = [firstValue, firstValue];
3632
3651
 
3633
3652
  for (let i = 0; i < facetedRowModel.flatRows.length; i++) {
3634
- var _facetedRowModel$flat5;
3653
+ var _facetedRowModel$flat2;
3635
3654
 
3636
- const value = (_facetedRowModel$flat5 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat5.getValue(columnId);
3655
+ const value = (_facetedRowModel$flat2 = facetedRowModel.flatRows[i]) == null ? void 0 : _facetedRowModel$flat2.getValue(columnId);
3637
3656
 
3638
3657
  if (value < facetedMinMaxValues[0]) {
3639
3658
  facetedMinMaxValues[0] = value;
@@ -3741,9 +3760,7 @@
3741
3760
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
3742
3761
  },
3743
3762
  onChange: () => {
3744
- instance.queue(() => {
3745
- instance._autoResetPageIndex();
3746
- });
3763
+ instance._autoResetPageIndex();
3747
3764
  }
3748
3765
  });
3749
3766
  }
@@ -3873,7 +3890,7 @@
3873
3890
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
3874
3891
  },
3875
3892
  onChange: () => {
3876
- instance.queue(() => {
3893
+ instance._queue(() => {
3877
3894
  instance._autoResetExpanded();
3878
3895
 
3879
3896
  instance._autoResetPageIndex();