@tanstack/table-core 8.0.0-alpha.58 → 8.0.0-alpha.61

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 (98) hide show
  1. package/build/cjs/core.js +10 -21
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +3 -3
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/Cells.js +0 -15
  6. package/build/cjs/features/Cells.js.map +1 -1
  7. package/build/cjs/features/ColumnSizing.js +8 -19
  8. package/build/cjs/features/ColumnSizing.js.map +1 -1
  9. package/build/cjs/features/Columns.js.map +1 -1
  10. package/build/cjs/features/Expanding.js +12 -22
  11. package/build/cjs/features/Expanding.js.map +1 -1
  12. package/build/cjs/features/Filters.js +0 -23
  13. package/build/cjs/features/Filters.js.map +1 -1
  14. package/build/cjs/features/Grouping.js +6 -27
  15. package/build/cjs/features/Grouping.js.map +1 -1
  16. package/build/cjs/features/Headers.js +1 -67
  17. package/build/cjs/features/Headers.js.map +1 -1
  18. package/build/cjs/features/Pagination.js +4 -4
  19. package/build/cjs/features/Pagination.js.map +1 -1
  20. package/build/cjs/features/Pinning.js.map +1 -1
  21. package/build/cjs/features/RowSelection.js +15 -79
  22. package/build/cjs/features/RowSelection.js.map +1 -1
  23. package/build/cjs/features/Rows.js +0 -15
  24. package/build/cjs/features/Rows.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +7 -28
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +8 -21
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +16 -0
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +0 -1
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/getColumnFilteredRowModelSync.js +1 -1
  34. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -2
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -2
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  40. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  41. package/build/cjs/utils/getGroupedRowModel.js +3 -1
  42. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  43. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  44. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  45. package/build/cjs/utils.js +0 -16
  46. package/build/cjs/utils.js.map +1 -1
  47. package/build/esm/index.js +100 -369
  48. package/build/esm/index.js.map +1 -1
  49. package/build/stats-html.html +1 -1
  50. package/build/stats-react.json +360 -360
  51. package/build/types/core.d.ts +8 -10
  52. package/build/types/createTable.d.ts +10 -11
  53. package/build/types/features/Cells.d.ts +1 -2
  54. package/build/types/features/ColumnSizing.d.ts +4 -18
  55. package/build/types/features/Expanding.d.ts +5 -9
  56. package/build/types/features/Filters.d.ts +0 -3
  57. package/build/types/features/Grouping.d.ts +4 -11
  58. package/build/types/features/Headers.d.ts +1 -5
  59. package/build/types/features/Pagination.d.ts +6 -7
  60. package/build/types/features/RowSelection.d.ts +5 -14
  61. package/build/types/features/Rows.d.ts +2 -4
  62. package/build/types/features/Sorting.d.ts +3 -9
  63. package/build/types/features/Visibility.d.ts +3 -6
  64. package/build/types/filterFns.d.ts +5 -0
  65. package/build/types/types.d.ts +10 -60
  66. package/build/types/utils.d.ts +1 -4
  67. package/build/umd/index.development.js +99 -369
  68. package/build/umd/index.development.js.map +1 -1
  69. package/build/umd/index.production.js +1 -1
  70. package/build/umd/index.production.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/core.ts +29 -53
  73. package/src/createTable.ts +13 -17
  74. package/src/features/Cells.ts +1 -27
  75. package/src/features/ColumnSizing.ts +14 -44
  76. package/src/features/Columns.ts +0 -2
  77. package/src/features/Expanding.ts +16 -44
  78. package/src/features/Filters.ts +0 -33
  79. package/src/features/Grouping.ts +10 -62
  80. package/src/features/Headers.ts +1 -95
  81. package/src/features/Pagination.ts +11 -4
  82. package/src/features/Pinning.ts +1 -1
  83. package/src/features/RowSelection.ts +25 -116
  84. package/src/features/Rows.ts +2 -30
  85. package/src/features/Sorting.ts +17 -63
  86. package/src/features/Visibility.ts +15 -43
  87. package/src/filterFns.ts +20 -0
  88. package/src/types.ts +36 -98
  89. package/src/utils/getColumnFilteredRowModelAsync.ts +2 -6
  90. package/src/utils/getColumnFilteredRowModelSync.ts +1 -1
  91. package/src/utils/getCoreRowModelAsync.ts +1 -2
  92. package/src/utils/getCoreRowModelSync.ts +1 -2
  93. package/src/utils/getGlobalFilteredRowModelAsync.ts +3 -7
  94. package/src/utils/getGlobalFilteredRowModelSync.ts +1 -1
  95. package/src/utils/getGroupedRowModel.ts +2 -1
  96. package/src/utils/getSortedRowModelAsync.ts +1 -2
  97. package/src/utils/getSortedRowModelSync.ts +1 -1
  98. package/src/utils.ts +1 -28
@@ -98,13 +98,6 @@ function _toPropertyKey(arg) {
98
98
  return typeof key === "symbol" ? key : String(key);
99
99
  }
100
100
 
101
- // export type DefinedGenericKeys<T extends TableGenerics> = {
102
- // [K in keyof T]: 0 extends 1 & T[K] ? never : T[K] extends {} ? K : never
103
- // }[keyof T]
104
- // export type DefinedGenerics<T extends TableGenerics> = Pick<
105
- // T,
106
- // DefinedGenericKeys<T>
107
- // >
108
101
  function functionalUpdate(updater, input) {
109
102
  return typeof updater === 'function' ? updater(input) : updater;
110
103
  }
@@ -165,14 +158,6 @@ function flattenBy(arr, getChildren) {
165
158
  recurse(arr);
166
159
  return flat;
167
160
  }
168
- // @ts-ignore // Just rely on the type, not the implementation
169
- var propGetter = function propGetter(initial, getter) {
170
- if (isFunction(getter)) {
171
- return getter(initial);
172
- }
173
-
174
- return _extends({}, initial, getter != null ? getter : {});
175
- };
176
161
  function memo(getDeps, fn, opts) {
177
162
  var deps = [];
178
163
  var result;
@@ -585,9 +570,6 @@ var Rows = {
585
570
  return flattenBy(row.subRows, function (d) {
586
571
  return d.subRows;
587
572
  });
588
- },
589
- getRowProps: function getRowProps(userProps) {
590
- return instance.getRowProps(row.id, userProps);
591
573
  }
592
574
  };
593
575
 
@@ -622,18 +604,6 @@ var Rows = {
622
604
  }
623
605
 
624
606
  return row;
625
- },
626
- getRowProps: function getRowProps(rowId, userProps) {
627
- var row = instance.getRow(rowId);
628
-
629
- if (!row) {
630
- return;
631
- }
632
-
633
- return propGetter({
634
- key: row.id,
635
- role: 'row'
636
- }, userProps);
637
607
  }
638
608
  };
639
609
  }
@@ -684,9 +654,6 @@ var Cells = {
684
654
  row: row,
685
655
  column: column,
686
656
  value: value,
687
- getCellProps: function getCellProps(userProps) {
688
- return instance.getCellProps(row.id, column.id, userProps);
689
- },
690
657
  renderCell: function renderCell() {
691
658
  return column.cell ? instance.render(column.cell, {
692
659
  instance: instance,
@@ -726,18 +693,6 @@ var Cells = {
726
693
  }
727
694
 
728
695
  return cell;
729
- },
730
- getCellProps: function getCellProps(rowId, columnId, userProps) {
731
- var cell = instance.getCell(rowId, columnId);
732
-
733
- if (!cell) {
734
- return;
735
- }
736
-
737
- return propGetter({
738
- key: cell.id,
739
- role: 'gridcell'
740
- }, userProps);
741
696
  }
742
697
  };
743
698
  }
@@ -803,8 +758,8 @@ var ColumnSizing = {
803
758
  resetSize: function resetSize() {
804
759
  return instance.resetColumnSize(header.column.id);
805
760
  },
806
- getResizerProps: function getResizerProps(userProps) {
807
- return instance.getHeaderResizerProps(header.id, userProps);
761
+ getResizeHandler: function getResizeHandler() {
762
+ return instance.getResizeHandler(header.id);
808
763
  }
809
764
  };
810
765
  },
@@ -907,12 +862,16 @@ var ColumnSizing = {
907
862
 
908
863
  return instance.getColumnIsResizing(header.column.id);
909
864
  },
910
- getHeaderResizerProps: function getHeaderResizerProps(headerId, userProps) {
865
+ getResizeHandler: function getResizeHandler(headerId) {
911
866
  var header = instance.getHeader(headerId);
912
867
  var column = instance.getColumn(header.column.id);
913
868
  var canResize = column.getCanResize();
869
+ return function (e) {
870
+ if (!canResize) {
871
+ return;
872
+ }
873
+ e.persist == null ? void 0 : e.persist();
914
874
 
915
- var onResizeStart = function onResizeStart(e) {
916
875
  if (isTouchStartEvent(e)) {
917
876
  // lets not respond to multiple touches (e.g. 2 or 3 fingers)
918
877
  if (e.touches && e.touches.length > 1) {
@@ -1029,21 +988,6 @@ var ColumnSizing = {
1029
988
  });
1030
989
  });
1031
990
  };
1032
-
1033
- var initialProps = canResize ? {
1034
- title: 'Toggle Grouping',
1035
- draggable: false,
1036
- role: 'separator',
1037
- onMouseDown: function onMouseDown(e) {
1038
- e.persist == null ? void 0 : e.persist();
1039
- onResizeStart(e);
1040
- },
1041
- onTouchStart: function onTouchStart(e) {
1042
- e.persist == null ? void 0 : e.persist();
1043
- onResizeStart(e);
1044
- }
1045
- } : {};
1046
- return propGetter(initialProps, userProps);
1047
991
  },
1048
992
  getTotalSize: function getTotalSize() {
1049
993
  var _instance$getHeaderGr, _instance$getHeaderGr2;
@@ -1124,9 +1068,7 @@ var Expanding = {
1124
1068
  createInstance: function createInstance(instance) {
1125
1069
  var registered = false;
1126
1070
  return {
1127
- queueResetExpanded: function queueResetExpanded() {
1128
- instance.queueResetPageIndex();
1129
-
1071
+ _autoResetExpanded: function _autoResetExpanded() {
1130
1072
  if (!registered) {
1131
1073
  registered = true;
1132
1074
  return;
@@ -1226,7 +1168,7 @@ var Expanding = {
1226
1168
  return instance.getRowCanExpand(id);
1227
1169
  });
1228
1170
  },
1229
- getToggleExpandedProps: function getToggleExpandedProps(rowId, userProps) {
1171
+ getToggleExpandedHandler: function getToggleExpandedHandler(rowId) {
1230
1172
  var row = instance.getRow(rowId);
1231
1173
 
1232
1174
  if (!row) {
@@ -1234,24 +1176,16 @@ var Expanding = {
1234
1176
  }
1235
1177
 
1236
1178
  var canExpand = instance.getRowCanExpand(rowId);
1237
- var initialProps = {
1238
- title: canExpand ? 'Toggle Expanded' : undefined,
1239
- onClick: canExpand ? function (e) {
1240
- e.persist == null ? void 0 : e.persist();
1241
- instance.toggleRowExpanded(rowId);
1242
- } : undefined
1179
+ return function () {
1180
+ if (!canExpand) return;
1181
+ instance.toggleRowExpanded(rowId);
1243
1182
  };
1244
- return propGetter(initialProps, userProps);
1245
- },
1246
- getToggleAllRowsExpandedProps: function getToggleAllRowsExpandedProps(userProps) {
1247
- var initialProps = {
1248
- title: 'Toggle All Expanded',
1249
- onClick: function onClick(e) {
1250
- e.persist == null ? void 0 : e.persist();
1251
- instance.toggleAllRowsExpanded();
1252
- }
1183
+ },
1184
+ getToggleAllRowsExpandedHandler: function getToggleAllRowsExpandedHandler() {
1185
+ return function (e) {
1186
+ e.persist == null ? void 0 : e.persist();
1187
+ instance.toggleAllRowsExpanded();
1253
1188
  };
1254
- return propGetter(initialProps, userProps);
1255
1189
  },
1256
1190
  getIsSomeRowsExpanded: function getIsSomeRowsExpanded() {
1257
1191
  var expanded = instance.getState().expanded;
@@ -1310,8 +1244,8 @@ var Expanding = {
1310
1244
  getCanExpand: function getCanExpand() {
1311
1245
  return row.subRows && !!row.subRows.length;
1312
1246
  },
1313
- getToggleExpandedProps: function getToggleExpandedProps(userProps) {
1314
- return instance.getToggleExpandedProps(row.id, userProps);
1247
+ getToggleExpandedHandler: function getToggleExpandedHandler() {
1248
+ return instance.getToggleExpandedHandler(row.id);
1315
1249
  }
1316
1250
  };
1317
1251
  }
@@ -1324,6 +1258,7 @@ var filterFns = {
1324
1258
  equalsStringSensitive: equalsStringSensitive,
1325
1259
  arrIncludes: arrIncludes,
1326
1260
  arrIncludesAll: arrIncludesAll,
1261
+ arrIncludesSome: arrIncludesSome,
1327
1262
  equals: equals,
1328
1263
  weakEquals: weakEquals,
1329
1264
  betweenNumberRange: betweenNumberRange
@@ -1413,6 +1348,21 @@ arrIncludesAll.autoRemove = function (val) {
1413
1348
  return testFalsey(val) || !(val != null && val.length);
1414
1349
  };
1415
1350
 
1351
+ function arrIncludesSome(rows, columnIds, filterValue) {
1352
+ return rows.filter(function (row) {
1353
+ return columnIds.some(function (id) {
1354
+ var rowValue = row.values[id];
1355
+ return rowValue && rowValue.length && filterValue.some(function (val) {
1356
+ return rowValue.includes(val);
1357
+ });
1358
+ });
1359
+ });
1360
+ }
1361
+
1362
+ arrIncludesSome.autoRemove = function (val) {
1363
+ return testFalsey(val) || !(val != null && val.length);
1364
+ };
1365
+
1416
1366
  function equals(rows, columnIds, filterValue) {
1417
1367
  return rows.filter(function (row) {
1418
1368
  return columnIds.some(function (id) {
@@ -1492,9 +1442,7 @@ var Filters = {
1492
1442
  return {
1493
1443
  onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
1494
1444
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1495
- autoResetColumnFilters: true,
1496
1445
  filterFromLeafRows: true,
1497
- autoResetGlobalFilter: true,
1498
1446
  globalFilterFn: 'auto',
1499
1447
  getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1500
1448
  var _instance$getCoreRowM, _instance$getCoreRowM2;
@@ -1581,28 +1529,7 @@ var Filters = {
1581
1529
  };
1582
1530
  },
1583
1531
  createInstance: function createInstance(instance) {
1584
- var registered = false;
1585
1532
  return {
1586
- queueResetFilters: function queueResetFilters() {
1587
- instance.queueResetSorting();
1588
-
1589
- if (!registered) {
1590
- registered = true;
1591
- return;
1592
- }
1593
-
1594
- if (instance.options.autoResetAll === false) {
1595
- return;
1596
- }
1597
-
1598
- if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
1599
- instance.resetColumnFilters();
1600
- }
1601
-
1602
- if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
1603
- instance.resetGlobalFilter();
1604
- }
1605
- },
1606
1533
  getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
1607
1534
  var firstRow = instance.getCoreRowModel().flatRows[0];
1608
1535
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -1938,7 +1865,6 @@ var Grouping = {
1938
1865
  getDefaultOptions: function getDefaultOptions(instance) {
1939
1866
  return {
1940
1867
  onGroupingChange: makeStateUpdater('grouping', instance),
1941
- autoResetGrouping: true,
1942
1868
  groupedColumnMode: 'reorder'
1943
1869
  };
1944
1870
  },
@@ -1957,30 +1883,13 @@ var Grouping = {
1957
1883
  toggleGrouping: function toggleGrouping() {
1958
1884
  return instance.toggleColumnGrouping(column.id);
1959
1885
  },
1960
- getToggleGroupingProps: function getToggleGroupingProps(userProps) {
1961
- return instance.getToggleGroupingProps(column.id, userProps);
1886
+ getToggleGroupingHandler: function getToggleGroupingHandler() {
1887
+ return instance.getToggleGroupingHandler(column.id);
1962
1888
  }
1963
1889
  };
1964
1890
  },
1965
1891
  createInstance: function createInstance(instance) {
1966
- var registered = false;
1967
1892
  return {
1968
- queueResetGrouping: function queueResetGrouping() {
1969
- instance.queueResetExpanded();
1970
-
1971
- if (!registered) {
1972
- registered = true;
1973
- return;
1974
- }
1975
-
1976
- if (instance.options.autoResetAll === false) {
1977
- return;
1978
- }
1979
-
1980
- if (instance.options.autoResetAll === true || instance.options.autoResetGrouping) {
1981
- instance.resetGrouping();
1982
- }
1983
- },
1984
1893
  getColumnAutoAggregationFn: function getColumnAutoAggregationFn(columnId) {
1985
1894
  var firstRow = instance.getCoreRowModel().flatRows[0];
1986
1895
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -2048,16 +1957,13 @@ var Grouping = {
2048
1957
 
2049
1958
  instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
2050
1959
  },
2051
- getToggleGroupingProps: function getToggleGroupingProps(columnId, userProps) {
1960
+ getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
2052
1961
  var column = instance.getColumn(columnId);
2053
1962
  var canGroup = column.getCanGroup();
2054
- var initialProps = {
2055
- title: canGroup ? 'Toggle Grouping' : undefined,
2056
- onClick: canGroup ? function (e) {
2057
- column.toggleGrouping == null ? void 0 : column.toggleGrouping();
2058
- } : undefined
1963
+ return function () {
1964
+ if (!canGroup) return;
1965
+ column.toggleGrouping == null ? void 0 : column.toggleGrouping();
2059
1966
  };
2060
- return propGetter(initialProps, userProps);
2061
1967
  },
2062
1968
  getRowIsGrouped: function getRowIsGrouped(rowId) {
2063
1969
  var _instance$getRow;
@@ -2205,13 +2111,13 @@ var Ordering = {
2205
2111
 
2206
2112
  //
2207
2113
  var Pagination = {
2208
- getInitialState: function getInitialState() {
2114
+ getInitialState: function getInitialState(initialState) {
2209
2115
  return {
2210
- pagination: {
2116
+ pagination: _extends({
2211
2117
  pageCount: -1,
2212
2118
  pageIndex: 0,
2213
2119
  pageSize: 10
2214
- }
2120
+ }, initialState == null ? void 0 : initialState.pagination)
2215
2121
  };
2216
2122
  },
2217
2123
  getDefaultOptions: function getDefaultOptions(instance) {
@@ -2223,7 +2129,7 @@ var Pagination = {
2223
2129
  createInstance: function createInstance(instance) {
2224
2130
  var registered = false;
2225
2131
  return {
2226
- queueResetPageIndex: function queueResetPageIndex() {
2132
+ _autoResetPageIndex: function _autoResetPageIndex() {
2227
2133
  if (!registered) {
2228
2134
  registered = true;
2229
2135
  return;
@@ -2685,7 +2591,6 @@ var RowSelection = {
2685
2591
  getDefaultOptions: function getDefaultOptions(instance) {
2686
2592
  return {
2687
2593
  onRowSelectionChange: makeStateUpdater('rowSelection', instance),
2688
- autoResetRowSelection: true,
2689
2594
  enableRowSelection: true,
2690
2595
  enableMultiRowSelection: true,
2691
2596
  enableSubRowSelection: true // enableGroupingRowSelection: false,
@@ -2695,23 +2600,7 @@ var RowSelection = {
2695
2600
  };
2696
2601
  },
2697
2602
  createInstance: function createInstance(instance) {
2698
- var registered = false; // const pageRows = instance.getPageRows()
2699
-
2700
2603
  return {
2701
- queueResetRowSelection: function queueResetRowSelection() {
2702
- if (!registered) {
2703
- registered = true;
2704
- return;
2705
- }
2706
-
2707
- if (instance.options.autoResetAll === false) {
2708
- return;
2709
- }
2710
-
2711
- if (instance.options.autoResetAll === true || instance.options.autoResetRowSelection) {
2712
- instance.resetRowSelection();
2713
- }
2714
- },
2715
2604
  setRowSelection: function setRowSelection(updater) {
2716
2605
  return instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater);
2717
2606
  },
@@ -2841,11 +2730,6 @@ var RowSelection = {
2841
2730
  var _instance$options$deb;
2842
2731
 
2843
2732
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
2844
- },
2845
- onChange: function onChange() {
2846
- instance.queue(function () {
2847
- return instance.queueResetExpanded();
2848
- });
2849
2733
  }
2850
2734
  }),
2851
2735
  getFilteredSelectedRowModel: memo(function () {
@@ -2866,11 +2750,6 @@ var RowSelection = {
2866
2750
  var _instance$options$deb2;
2867
2751
 
2868
2752
  return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
2869
- },
2870
- onChange: function onChange() {
2871
- return instance.queue(function () {
2872
- return instance.queueResetExpanded();
2873
- });
2874
2753
  }
2875
2754
  }),
2876
2755
  getGroupedSelectedRowModel: memo(function () {
@@ -2891,11 +2770,6 @@ var RowSelection = {
2891
2770
  var _instance$options$deb3;
2892
2771
 
2893
2772
  return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
2894
- },
2895
- onChange: function onChange() {
2896
- return instance.queue(function () {
2897
- return instance.queueResetExpanded();
2898
- });
2899
2773
  }
2900
2774
  }),
2901
2775
  ///
@@ -3021,59 +2895,27 @@ var RowSelection = {
3021
2895
  var paginationFlatRows = instance.getPaginationRowModel().flatRows;
3022
2896
  return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
3023
2897
  },
3024
- getToggleRowSelectedProps: function getToggleRowSelectedProps(rowId, userProps) {
2898
+ getToggleRowSelectedHandler: function getToggleRowSelectedHandler(rowId) {
3025
2899
  var row = instance.getRow(rowId);
3026
- var isSelected = row.getIsSelected();
3027
- var isSomeSelected = row.getIsSomeSelected();
2900
+ row.getIsSelected();
2901
+ row.getIsSomeSelected();
3028
2902
  var canSelect = row.getCanSelect();
3029
- var initialProps = {
3030
- onChange: canSelect ? function (e) {
3031
- row.toggleSelected(e.target.checked);
3032
- } : undefined,
3033
- checked: isSelected,
3034
- title: 'Toggle Row Selected',
3035
- indeterminate: isSomeSelected // onChange: forInput
3036
- // ? (e: Event) => e.stopPropagation()
3037
- // : (e: Event) => {
3038
- // if (instance.options.isAdditiveSelectEvent(e)) {
3039
- // row.toggleSelected()
3040
- // } else if (instance.options.isInclusiveSelectEvent(e)) {
3041
- // instance.addRowSelectionRange(row.id)
3042
- // } else {
3043
- // instance.setRowSelection({})
3044
- // row.toggleSelected()
3045
- // }
3046
- // if (props.onClick) props.onClick(e)
3047
- // },
2903
+ return function (e) {
2904
+ var _target;
3048
2905
 
2906
+ if (!canSelect) return;
2907
+ row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
3049
2908
  };
3050
- return propGetter(initialProps, userProps);
3051
- },
3052
- getToggleAllRowsSelectedProps: function getToggleAllRowsSelectedProps(userProps) {
3053
- var isSomeRowsSelected = instance.getIsSomeRowsSelected();
3054
- var isAllRowsSelected = instance.getIsAllRowsSelected();
3055
- var initialProps = {
3056
- onChange: function onChange(e) {
3057
- instance.toggleAllRowsSelected(e.target.checked);
3058
- },
3059
- checked: isAllRowsSelected,
3060
- title: 'Toggle All Rows Selected',
3061
- indeterminate: isSomeRowsSelected
2909
+ },
2910
+ getToggleAllRowsSelectedHandler: function getToggleAllRowsSelectedHandler() {
2911
+ return function (e) {
2912
+ instance.toggleAllRowsSelected(e.target.checked);
3062
2913
  };
3063
- return propGetter(initialProps, userProps);
3064
- },
3065
- getToggleAllPageRowsSelectedProps: function getToggleAllPageRowsSelectedProps(userProps) {
3066
- var isSomePageRowsSelected = instance.getIsSomePageRowsSelected();
3067
- var isAllPageRowsSelected = instance.getIsAllPageRowsSelected();
3068
- var initialProps = {
3069
- onChange: function onChange(e) {
3070
- instance.toggleAllPageRowsSelected(e.target.checked);
3071
- },
3072
- checked: isAllPageRowsSelected,
3073
- title: 'Toggle All Current Page Rows Selected',
3074
- indeterminate: isSomePageRowsSelected
2914
+ },
2915
+ getToggleAllPageRowsSelectedHandler: function getToggleAllPageRowsSelectedHandler() {
2916
+ return function (e) {
2917
+ instance.toggleAllPageRowsSelected(e.target.checked);
3075
2918
  };
3076
- return propGetter(initialProps, userProps);
3077
2919
  }
3078
2920
  };
3079
2921
  },
@@ -3088,8 +2930,8 @@ var RowSelection = {
3088
2930
  toggleSelected: function toggleSelected(value) {
3089
2931
  return instance.toggleRowSelected(row.id, value);
3090
2932
  },
3091
- getToggleSelectedProps: function getToggleSelectedProps(userProps) {
3092
- return instance.getToggleRowSelectedProps(row.id, userProps);
2933
+ getToggleSelectedHandler: function getToggleSelectedHandler() {
2934
+ return instance.getToggleRowSelectedHandler(row.id);
3093
2935
  },
3094
2936
  getCanMultiSelect: function getCanMultiSelect() {
3095
2937
  return instance.getRowCanMultiSelect(row.id);
@@ -3305,7 +3147,6 @@ var Sorting = {
3305
3147
  getDefaultOptions: function getDefaultOptions(instance) {
3306
3148
  return {
3307
3149
  onSortingChange: makeStateUpdater('sorting', instance),
3308
- autoResetSorting: true,
3309
3150
  isMultiSortEvent: function isMultiSortEvent(e) {
3310
3151
  return e.shiftKey;
3311
3152
  }
@@ -3332,30 +3173,13 @@ var Sorting = {
3332
3173
  toggleSorting: function toggleSorting(desc, isMulti) {
3333
3174
  return instance.toggleColumnSorting(column.id, desc, isMulti);
3334
3175
  },
3335
- getToggleSortingProps: function getToggleSortingProps(userProps) {
3336
- return instance.getToggleSortingProps(column.id, userProps);
3176
+ getToggleSortingHandler: function getToggleSortingHandler() {
3177
+ return instance.getToggleSortingHandler(column.id);
3337
3178
  }
3338
3179
  };
3339
3180
  },
3340
3181
  createInstance: function createInstance(instance) {
3341
- var registered = false;
3342
3182
  return {
3343
- queueResetSorting: function queueResetSorting() {
3344
- instance.queueResetGrouping();
3345
-
3346
- if (!registered) {
3347
- registered = true;
3348
- return;
3349
- }
3350
-
3351
- if (instance.options.autoResetAll === false) {
3352
- return;
3353
- }
3354
-
3355
- if (instance.options.autoResetAll === true || instance.options.autoResetSorting) {
3356
- instance.resetSorting();
3357
- }
3358
- },
3359
3183
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3360
3184
  var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3361
3185
  var isString = false;
@@ -3553,7 +3377,7 @@ var Sorting = {
3553
3377
  instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
3554
3378
  }
3555
3379
  },
3556
- getToggleSortingProps: function getToggleSortingProps(columnId, userProps) {
3380
+ getToggleSortingHandler: function getToggleSortingHandler(columnId) {
3557
3381
  var column = instance.getColumn(columnId);
3558
3382
 
3559
3383
  if (!column) {
@@ -3561,14 +3385,11 @@ var Sorting = {
3561
3385
  }
3562
3386
 
3563
3387
  var canSort = column.getCanSort();
3564
- var initialProps = {
3565
- title: canSort ? 'Toggle Sorting' : undefined,
3566
- onClick: canSort ? function (e) {
3567
- e.persist == null ? void 0 : e.persist();
3568
- column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
3569
- } : undefined
3388
+ return function (e) {
3389
+ if (!canSort) return;
3390
+ e.persist == null ? void 0 : e.persist();
3391
+ column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
3570
3392
  };
3571
- return propGetter(initialProps, userProps);
3572
3393
  },
3573
3394
  getPreSortedRowModel: function getPreSortedRowModel() {
3574
3395
  return instance.getGlobalFilteredRowModel();
@@ -3616,16 +3437,10 @@ var Visibility = {
3616
3437
  toggleVisibility: function toggleVisibility(value) {
3617
3438
  return instance.toggleColumnVisibility(column.id, value);
3618
3439
  },
3619
- getToggleVisibilityProps: function getToggleVisibilityProps(userProps) {
3620
- var props = {
3621
- type: 'checkbox',
3622
- checked: column.getIsVisible == null ? void 0 : column.getIsVisible(),
3623
- title: 'Toggle Column Visibility',
3624
- onChange: function onChange(e) {
3625
- column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
3626
- }
3440
+ getToggleVisibilityHandler: function getToggleVisibilityHandler() {
3441
+ return function (e) {
3442
+ column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
3627
3443
  };
3628
- return propGetter(props, userProps);
3629
3444
  }
3630
3445
  };
3631
3446
  },
@@ -3757,19 +3572,12 @@ var Visibility = {
3757
3572
  return column.getIsVisible == null ? void 0 : column.getIsVisible();
3758
3573
  });
3759
3574
  },
3760
- getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
3761
- var props = {
3762
- onChange: function onChange(e) {
3763
- var _e$target;
3575
+ getToggleAllColumnsVisibilityHandler: function getToggleAllColumnsVisibilityHandler() {
3576
+ return function (e) {
3577
+ var _target;
3764
3578
 
3765
- instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
3766
- },
3767
- type: 'checkbox',
3768
- title: 'Toggle visibility for all columns',
3769
- checked: instance.getIsAllColumnsVisible(),
3770
- indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
3579
+ instance.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
3771
3580
  };
3772
- return propGetter(props, userProps);
3773
3581
  }
3774
3582
  };
3775
3583
  }
@@ -3832,12 +3640,6 @@ var Headers = {
3832
3640
  recurseHeader(header);
3833
3641
  return leafHeaders;
3834
3642
  },
3835
- getHeaderProps: function getHeaderProps(userProps) {
3836
- return instance.getHeaderProps(header.id, userProps);
3837
- },
3838
- getFooterProps: function getFooterProps(userProps) {
3839
- return instance.getFooterProps(header.id, userProps);
3840
- },
3841
3643
  renderHeader: function renderHeader() {
3842
3644
  return column.header ? instance.render(column.header, {
3843
3645
  instance: instance,
@@ -4113,60 +3915,6 @@ var Headers = {
4113
3915
  }
4114
3916
 
4115
3917
  return header;
4116
- },
4117
- getHeaderGroupProps: function getHeaderGroupProps(id, userProps) {
4118
- var headerGroup = instance.getHeaderGroups().find(function (d) {
4119
- return d.id === id;
4120
- });
4121
-
4122
- if (!headerGroup) {
4123
- return;
4124
- }
4125
-
4126
- return propGetter({
4127
- key: headerGroup.id,
4128
- role: 'row'
4129
- }, userProps);
4130
- },
4131
- getFooterGroupProps: function getFooterGroupProps(id, userProps) {
4132
- var headerGroup = instance.getFooterGroups().find(function (d) {
4133
- return d.id === id;
4134
- });
4135
-
4136
- if (!headerGroup) {
4137
- return;
4138
- }
4139
-
4140
- var initialProps = {
4141
- key: headerGroup.id,
4142
- role: 'row'
4143
- };
4144
- return propGetter(initialProps, userProps);
4145
- },
4146
- getHeaderProps: function getHeaderProps(id, userProps) {
4147
- var header = instance.getHeader(id);
4148
-
4149
- if (!header) {
4150
- throw new Error();
4151
- }
4152
-
4153
- var initialProps = {
4154
- key: header.id,
4155
- role: 'columnheader',
4156
- colSpan: header.colSpan,
4157
- rowSpan: header.rowSpan
4158
- };
4159
- return propGetter(initialProps, userProps);
4160
- },
4161
- getFooterProps: function getFooterProps(id, userProps) {
4162
- var header = instance.getHeader(id);
4163
- var initialProps = {
4164
- key: header.id,
4165
- role: 'columnfooter',
4166
- colSpan: header.colSpan,
4167
- rowSpan: header.rowSpan
4168
- };
4169
- return propGetter(initialProps, userProps);
4170
3918
  }
4171
3919
  };
4172
3920
  }
@@ -4206,13 +3954,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, instance, headerFamily) {
4206
3954
  var headerGroup = {
4207
3955
  depth: depth,
4208
3956
  id: [headerFamily, "" + depth].filter(Boolean).join('_'),
4209
- headers: [],
4210
- getHeaderGroupProps: function getHeaderGroupProps(getterValue) {
4211
- return instance.getHeaderGroupProps("" + depth, getterValue);
4212
- },
4213
- getFooterGroupProps: function getFooterGroupProps(getterValue) {
4214
- return instance.getFooterGroupProps("" + depth, getterValue);
4215
- }
3957
+ headers: []
4216
3958
  }; // The parent columns we're going to scan next
4217
3959
 
4218
3960
  var pendingParentHeaders = []; // Scan each column for parents
@@ -4325,18 +4067,22 @@ function createTableInstance(options) {
4325
4067
  return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
4326
4068
  }, {});
4327
4069
 
4328
- var buildOptions = function buildOptions(options) {
4070
+ var mergeOptions = function mergeOptions(options) {
4071
+ if (instance.options.mergeOptions) {
4072
+ return instance.options.mergeOptions(defaultOptions, options);
4073
+ }
4074
+
4329
4075
  return _extends({}, defaultOptions, options);
4330
4076
  };
4331
4077
 
4332
- instance.options = buildOptions(options);
4078
+ instance.options = _extends({}, defaultOptions, options);
4333
4079
  var coreInitialState = {
4334
4080
  coreProgress: 1
4335
4081
  };
4336
4082
 
4337
- var initialState = _extends({}, coreInitialState, instance._features.reduce(function (obj, feature) {
4338
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
4339
- }, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
4083
+ var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {}, instance._features.reduce(function (obj, feature) {
4084
+ return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState(options.initialState));
4085
+ }, {}));
4340
4086
 
4341
4087
  var queued = [];
4342
4088
  var queuedTimeout;
@@ -4368,12 +4114,7 @@ function createTableInstance(options) {
4368
4114
  },
4369
4115
  setOptions: function setOptions(updater) {
4370
4116
  var newOptions = functionalUpdate(updater, instance.options);
4371
-
4372
- if (instance.options.mergeOptions) {
4373
- instance.options = instance.options.mergeOptions(defaultOptions, newOptions);
4374
- } else {
4375
- instance.options = buildOptions(newOptions);
4376
- }
4117
+ instance.options = mergeOptions(newOptions);
4377
4118
  },
4378
4119
  render: function render(template, props) {
4379
4120
  if (typeof instance.options.render === 'function') {
@@ -4392,16 +4133,6 @@ function createTableInstance(options) {
4392
4133
  setState: function setState(updater) {
4393
4134
  instance.options.onStateChange == null ? void 0 : instance.options.onStateChange(updater);
4394
4135
  },
4395
- getTableProps: function getTableProps(userProps) {
4396
- return propGetter({
4397
- role: 'table'
4398
- }, userProps);
4399
- },
4400
- getTableBodyProps: function getTableBodyProps(userProps) {
4401
- return propGetter({
4402
- role: 'rowgroup'
4403
- }, userProps);
4404
- },
4405
4136
  getOverallProgress: function getOverallProgress() {
4406
4137
  var _instance$getState = instance.getState(),
4407
4138
  coreProgress = _instance$getState.coreProgress,
@@ -4436,6 +4167,9 @@ function createTable(_, __, options) {
4436
4167
  throw new Error('');
4437
4168
  }()
4438
4169
  },
4170
+ setGenerics: function setGenerics() {
4171
+ return table;
4172
+ },
4439
4173
  setRowType: function setRowType() {
4440
4174
  return table;
4441
4175
  },
@@ -4448,9 +4182,6 @@ function createTable(_, __, options) {
4448
4182
  setOptions: function setOptions(newOptions) {
4449
4183
  return createTable(_, __, _extends({}, options, newOptions));
4450
4184
  },
4451
- createColumns: function createColumns(columns) {
4452
- return columns;
4453
- },
4454
4185
  createDisplayColumn: function createDisplayColumn(column) {
4455
4186
  return _extends({}, column, {
4456
4187
  columnDefType: 'display'
@@ -4565,8 +4296,7 @@ function getCoreRowModelSync() {
4565
4296
  },
4566
4297
  onChange: function onChange() {
4567
4298
  instance.queue(function () {
4568
- instance.queueResetFilters();
4569
- instance.queueResetRowSelection();
4299
+ instance._autoResetPageIndex();
4570
4300
  });
4571
4301
  }
4572
4302
  });
@@ -4672,8 +4402,7 @@ function getCoreRowModelAsync(opts) {
4672
4402
  },
4673
4403
  onChange: function onChange() {
4674
4404
  instance.queue(function () {
4675
- instance.queueResetFilters();
4676
- instance.queueResetRowSelection();
4405
+ instance._autoResetPageIndex();
4677
4406
  });
4678
4407
  }
4679
4408
  });
@@ -4852,7 +4581,7 @@ function getColumnFilteredRowModelSync() {
4852
4581
  },
4853
4582
  onChange: function onChange() {
4854
4583
  instance.queue(function () {
4855
- instance.queueResetSorting();
4584
+ instance._autoResetPageIndex();
4856
4585
  });
4857
4586
  }
4858
4587
  });
@@ -4924,7 +4653,7 @@ function getGlobalFilteredRowModelSync() {
4924
4653
  },
4925
4654
  onChange: function onChange() {
4926
4655
  instance.queue(function () {
4927
- instance.queueResetSorting();
4656
+ instance._autoResetPageIndex();
4928
4657
  });
4929
4658
  }
4930
4659
  });
@@ -5024,7 +4753,7 @@ function getSortedRowModelSync() {
5024
4753
  },
5025
4754
  onChange: function onChange() {
5026
4755
  instance.queue(function () {
5027
- instance.queueResetGrouping();
4756
+ instance._autoResetPageIndex();
5028
4757
  });
5029
4758
  }
5030
4759
  });
@@ -5166,7 +4895,9 @@ function getGroupedRowModelSync() {
5166
4895
  },
5167
4896
  onChange: function onChange() {
5168
4897
  instance.queue(function () {
5169
- instance.queueResetExpanded();
4898
+ instance._autoResetExpanded();
4899
+
4900
+ instance._autoResetPageIndex();
5170
4901
  });
5171
4902
  }
5172
4903
  });
@@ -5273,5 +5004,5 @@ function getPaginationRowModel(opts) {
5273
5004
  };
5274
5005
  }
5275
5006
 
5276
- export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getColumnFilteredRowModelSync, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, incrementalMemo, isFunction, isRowSelected, makeStateUpdater, memo, noop, passiveEventSupported, propGetter, selectRowsFn, shouldAutoRemoveFilter };
5007
+ export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getColumnFilteredRowModelSync, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, incrementalMemo, isFunction, isRowSelected, makeStateUpdater, memo, noop, passiveEventSupported, selectRowsFn, shouldAutoRemoveFilter };
5277
5008
  //# sourceMappingURL=index.js.map