@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
@@ -104,13 +104,6 @@
104
104
  return typeof key === "symbol" ? key : String(key);
105
105
  }
106
106
 
107
- // export type DefinedGenericKeys<T extends TableGenerics> = {
108
- // [K in keyof T]: 0 extends 1 & T[K] ? never : T[K] extends {} ? K : never
109
- // }[keyof T]
110
- // export type DefinedGenerics<T extends TableGenerics> = Pick<
111
- // T,
112
- // DefinedGenericKeys<T>
113
- // >
114
107
  function functionalUpdate(updater, input) {
115
108
  return typeof updater === 'function' ? updater(input) : updater;
116
109
  }
@@ -171,14 +164,6 @@
171
164
  recurse(arr);
172
165
  return flat;
173
166
  }
174
- // @ts-ignore // Just rely on the type, not the implementation
175
- var propGetter = function propGetter(initial, getter) {
176
- if (isFunction(getter)) {
177
- return getter(initial);
178
- }
179
-
180
- return _extends({}, initial, getter != null ? getter : {});
181
- };
182
167
  function memo(getDeps, fn, opts) {
183
168
  var deps = [];
184
169
  var result;
@@ -589,9 +574,6 @@
589
574
  return flattenBy(row.subRows, function (d) {
590
575
  return d.subRows;
591
576
  });
592
- },
593
- getRowProps: function getRowProps(userProps) {
594
- return instance.getRowProps(row.id, userProps);
595
577
  }
596
578
  };
597
579
 
@@ -624,18 +606,6 @@
624
606
  }
625
607
 
626
608
  return row;
627
- },
628
- getRowProps: function getRowProps(rowId, userProps) {
629
- var row = instance.getRow(rowId);
630
-
631
- if (!row) {
632
- return;
633
- }
634
-
635
- return propGetter({
636
- key: row.id,
637
- role: 'row'
638
- }, userProps);
639
609
  }
640
610
  };
641
611
  }
@@ -686,9 +656,6 @@
686
656
  row: row,
687
657
  column: column,
688
658
  value: value,
689
- getCellProps: function getCellProps(userProps) {
690
- return instance.getCellProps(row.id, column.id, userProps);
691
- },
692
659
  renderCell: function renderCell() {
693
660
  return column.cell ? instance.render(column.cell, {
694
661
  instance: instance,
@@ -724,18 +691,6 @@
724
691
  }
725
692
 
726
693
  return cell;
727
- },
728
- getCellProps: function getCellProps(rowId, columnId, userProps) {
729
- var cell = instance.getCell(rowId, columnId);
730
-
731
- if (!cell) {
732
- return;
733
- }
734
-
735
- return propGetter({
736
- key: cell.id,
737
- role: 'gridcell'
738
- }, userProps);
739
694
  }
740
695
  };
741
696
  }
@@ -801,8 +756,8 @@
801
756
  resetSize: function resetSize() {
802
757
  return instance.resetColumnSize(header.column.id);
803
758
  },
804
- getResizerProps: function getResizerProps(userProps) {
805
- return instance.getHeaderResizerProps(header.id, userProps);
759
+ getResizeHandler: function getResizeHandler() {
760
+ return instance.getResizeHandler(header.id);
806
761
  }
807
762
  };
808
763
  },
@@ -905,12 +860,16 @@
905
860
 
906
861
  return instance.getColumnIsResizing(header.column.id);
907
862
  },
908
- getHeaderResizerProps: function getHeaderResizerProps(headerId, userProps) {
863
+ getResizeHandler: function getResizeHandler(headerId) {
909
864
  var header = instance.getHeader(headerId);
910
865
  var column = instance.getColumn(header.column.id);
911
866
  var canResize = column.getCanResize();
867
+ return function (e) {
868
+ if (!canResize) {
869
+ return;
870
+ }
871
+ e.persist == null ? void 0 : e.persist();
912
872
 
913
- var onResizeStart = function onResizeStart(e) {
914
873
  if (isTouchStartEvent(e)) {
915
874
  // lets not respond to multiple touches (e.g. 2 or 3 fingers)
916
875
  if (e.touches && e.touches.length > 1) {
@@ -1027,21 +986,6 @@
1027
986
  });
1028
987
  });
1029
988
  };
1030
-
1031
- var initialProps = canResize ? {
1032
- title: 'Toggle Grouping',
1033
- draggable: false,
1034
- role: 'separator',
1035
- onMouseDown: function onMouseDown(e) {
1036
- e.persist == null ? void 0 : e.persist();
1037
- onResizeStart(e);
1038
- },
1039
- onTouchStart: function onTouchStart(e) {
1040
- e.persist == null ? void 0 : e.persist();
1041
- onResizeStart(e);
1042
- }
1043
- } : {};
1044
- return propGetter(initialProps, userProps);
1045
989
  },
1046
990
  getTotalSize: function getTotalSize() {
1047
991
  var _instance$getHeaderGr, _instance$getHeaderGr2;
@@ -1122,9 +1066,7 @@
1122
1066
  createInstance: function createInstance(instance) {
1123
1067
  var registered = false;
1124
1068
  return {
1125
- queueResetExpanded: function queueResetExpanded() {
1126
- instance.queueResetPageIndex();
1127
-
1069
+ _autoResetExpanded: function _autoResetExpanded() {
1128
1070
  if (!registered) {
1129
1071
  registered = true;
1130
1072
  return;
@@ -1224,7 +1166,7 @@
1224
1166
  return instance.getRowCanExpand(id);
1225
1167
  });
1226
1168
  },
1227
- getToggleExpandedProps: function getToggleExpandedProps(rowId, userProps) {
1169
+ getToggleExpandedHandler: function getToggleExpandedHandler(rowId) {
1228
1170
  var row = instance.getRow(rowId);
1229
1171
 
1230
1172
  if (!row) {
@@ -1232,24 +1174,16 @@
1232
1174
  }
1233
1175
 
1234
1176
  var canExpand = instance.getRowCanExpand(rowId);
1235
- var initialProps = {
1236
- title: canExpand ? 'Toggle Expanded' : undefined,
1237
- onClick: canExpand ? function (e) {
1238
- e.persist == null ? void 0 : e.persist();
1239
- instance.toggleRowExpanded(rowId);
1240
- } : undefined
1177
+ return function () {
1178
+ if (!canExpand) return;
1179
+ instance.toggleRowExpanded(rowId);
1241
1180
  };
1242
- return propGetter(initialProps, userProps);
1243
- },
1244
- getToggleAllRowsExpandedProps: function getToggleAllRowsExpandedProps(userProps) {
1245
- var initialProps = {
1246
- title: 'Toggle All Expanded',
1247
- onClick: function onClick(e) {
1248
- e.persist == null ? void 0 : e.persist();
1249
- instance.toggleAllRowsExpanded();
1250
- }
1181
+ },
1182
+ getToggleAllRowsExpandedHandler: function getToggleAllRowsExpandedHandler() {
1183
+ return function (e) {
1184
+ e.persist == null ? void 0 : e.persist();
1185
+ instance.toggleAllRowsExpanded();
1251
1186
  };
1252
- return propGetter(initialProps, userProps);
1253
1187
  },
1254
1188
  getIsSomeRowsExpanded: function getIsSomeRowsExpanded() {
1255
1189
  var expanded = instance.getState().expanded;
@@ -1308,8 +1242,8 @@
1308
1242
  getCanExpand: function getCanExpand() {
1309
1243
  return row.subRows && !!row.subRows.length;
1310
1244
  },
1311
- getToggleExpandedProps: function getToggleExpandedProps(userProps) {
1312
- return instance.getToggleExpandedProps(row.id, userProps);
1245
+ getToggleExpandedHandler: function getToggleExpandedHandler() {
1246
+ return instance.getToggleExpandedHandler(row.id);
1313
1247
  }
1314
1248
  };
1315
1249
  }
@@ -1322,6 +1256,7 @@
1322
1256
  equalsStringSensitive: equalsStringSensitive,
1323
1257
  arrIncludes: arrIncludes,
1324
1258
  arrIncludesAll: arrIncludesAll,
1259
+ arrIncludesSome: arrIncludesSome,
1325
1260
  equals: equals,
1326
1261
  weakEquals: weakEquals,
1327
1262
  betweenNumberRange: betweenNumberRange
@@ -1411,6 +1346,21 @@
1411
1346
  return testFalsey(val) || !(val != null && val.length);
1412
1347
  };
1413
1348
 
1349
+ function arrIncludesSome(rows, columnIds, filterValue) {
1350
+ return rows.filter(function (row) {
1351
+ return columnIds.some(function (id) {
1352
+ var rowValue = row.values[id];
1353
+ return rowValue && rowValue.length && filterValue.some(function (val) {
1354
+ return rowValue.includes(val);
1355
+ });
1356
+ });
1357
+ });
1358
+ }
1359
+
1360
+ arrIncludesSome.autoRemove = function (val) {
1361
+ return testFalsey(val) || !(val != null && val.length);
1362
+ };
1363
+
1414
1364
  function equals(rows, columnIds, filterValue) {
1415
1365
  return rows.filter(function (row) {
1416
1366
  return columnIds.some(function (id) {
@@ -1490,9 +1440,7 @@
1490
1440
  return {
1491
1441
  onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
1492
1442
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1493
- autoResetColumnFilters: true,
1494
1443
  filterFromLeafRows: true,
1495
- autoResetGlobalFilter: true,
1496
1444
  globalFilterFn: 'auto',
1497
1445
  getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1498
1446
  var _instance$getCoreRowM, _instance$getCoreRowM2;
@@ -1579,28 +1527,7 @@
1579
1527
  };
1580
1528
  },
1581
1529
  createInstance: function createInstance(instance) {
1582
- var registered = false;
1583
1530
  return {
1584
- queueResetFilters: function queueResetFilters() {
1585
- instance.queueResetSorting();
1586
-
1587
- if (!registered) {
1588
- registered = true;
1589
- return;
1590
- }
1591
-
1592
- if (instance.options.autoResetAll === false) {
1593
- return;
1594
- }
1595
-
1596
- if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
1597
- instance.resetColumnFilters();
1598
- }
1599
-
1600
- if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
1601
- instance.resetGlobalFilter();
1602
- }
1603
- },
1604
1531
  getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
1605
1532
  var firstRow = instance.getCoreRowModel().flatRows[0];
1606
1533
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -1936,7 +1863,6 @@
1936
1863
  getDefaultOptions: function getDefaultOptions(instance) {
1937
1864
  return {
1938
1865
  onGroupingChange: makeStateUpdater('grouping', instance),
1939
- autoResetGrouping: true,
1940
1866
  groupedColumnMode: 'reorder'
1941
1867
  };
1942
1868
  },
@@ -1955,30 +1881,13 @@
1955
1881
  toggleGrouping: function toggleGrouping() {
1956
1882
  return instance.toggleColumnGrouping(column.id);
1957
1883
  },
1958
- getToggleGroupingProps: function getToggleGroupingProps(userProps) {
1959
- return instance.getToggleGroupingProps(column.id, userProps);
1884
+ getToggleGroupingHandler: function getToggleGroupingHandler() {
1885
+ return instance.getToggleGroupingHandler(column.id);
1960
1886
  }
1961
1887
  };
1962
1888
  },
1963
1889
  createInstance: function createInstance(instance) {
1964
- var registered = false;
1965
1890
  return {
1966
- queueResetGrouping: function queueResetGrouping() {
1967
- instance.queueResetExpanded();
1968
-
1969
- if (!registered) {
1970
- registered = true;
1971
- return;
1972
- }
1973
-
1974
- if (instance.options.autoResetAll === false) {
1975
- return;
1976
- }
1977
-
1978
- if (instance.options.autoResetAll === true || instance.options.autoResetGrouping) {
1979
- instance.resetGrouping();
1980
- }
1981
- },
1982
1891
  getColumnAutoAggregationFn: function getColumnAutoAggregationFn(columnId) {
1983
1892
  var firstRow = instance.getCoreRowModel().flatRows[0];
1984
1893
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
@@ -2046,16 +1955,13 @@
2046
1955
 
2047
1956
  instance.setGrouping((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.grouping) != null ? _instance$initialStat : []);
2048
1957
  },
2049
- getToggleGroupingProps: function getToggleGroupingProps(columnId, userProps) {
1958
+ getToggleGroupingHandler: function getToggleGroupingHandler(columnId) {
2050
1959
  var column = instance.getColumn(columnId);
2051
1960
  var canGroup = column.getCanGroup();
2052
- var initialProps = {
2053
- title: canGroup ? 'Toggle Grouping' : undefined,
2054
- onClick: canGroup ? function (e) {
2055
- column.toggleGrouping == null ? void 0 : column.toggleGrouping();
2056
- } : undefined
1961
+ return function () {
1962
+ if (!canGroup) return;
1963
+ column.toggleGrouping == null ? void 0 : column.toggleGrouping();
2057
1964
  };
2058
- return propGetter(initialProps, userProps);
2059
1965
  },
2060
1966
  getRowIsGrouped: function getRowIsGrouped(rowId) {
2061
1967
  var _instance$getRow;
@@ -2203,13 +2109,13 @@
2203
2109
 
2204
2110
  //
2205
2111
  var Pagination = {
2206
- getInitialState: function getInitialState() {
2112
+ getInitialState: function getInitialState(initialState) {
2207
2113
  return {
2208
- pagination: {
2114
+ pagination: _extends({
2209
2115
  pageCount: -1,
2210
2116
  pageIndex: 0,
2211
2117
  pageSize: 10
2212
- }
2118
+ }, initialState == null ? void 0 : initialState.pagination)
2213
2119
  };
2214
2120
  },
2215
2121
  getDefaultOptions: function getDefaultOptions(instance) {
@@ -2221,7 +2127,7 @@
2221
2127
  createInstance: function createInstance(instance) {
2222
2128
  var registered = false;
2223
2129
  return {
2224
- queueResetPageIndex: function queueResetPageIndex() {
2130
+ _autoResetPageIndex: function _autoResetPageIndex() {
2225
2131
  if (!registered) {
2226
2132
  registered = true;
2227
2133
  return;
@@ -2683,7 +2589,6 @@
2683
2589
  getDefaultOptions: function getDefaultOptions(instance) {
2684
2590
  return {
2685
2591
  onRowSelectionChange: makeStateUpdater('rowSelection', instance),
2686
- autoResetRowSelection: true,
2687
2592
  enableRowSelection: true,
2688
2593
  enableMultiRowSelection: true,
2689
2594
  enableSubRowSelection: true // enableGroupingRowSelection: false,
@@ -2693,23 +2598,7 @@
2693
2598
  };
2694
2599
  },
2695
2600
  createInstance: function createInstance(instance) {
2696
- var registered = false; // const pageRows = instance.getPageRows()
2697
-
2698
2601
  return {
2699
- queueResetRowSelection: function queueResetRowSelection() {
2700
- if (!registered) {
2701
- registered = true;
2702
- return;
2703
- }
2704
-
2705
- if (instance.options.autoResetAll === false) {
2706
- return;
2707
- }
2708
-
2709
- if (instance.options.autoResetAll === true || instance.options.autoResetRowSelection) {
2710
- instance.resetRowSelection();
2711
- }
2712
- },
2713
2602
  setRowSelection: function setRowSelection(updater) {
2714
2603
  return instance.options.onRowSelectionChange == null ? void 0 : instance.options.onRowSelectionChange(updater);
2715
2604
  },
@@ -2839,11 +2728,6 @@
2839
2728
  var _instance$options$deb;
2840
2729
 
2841
2730
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
2842
- },
2843
- onChange: function onChange() {
2844
- instance.queue(function () {
2845
- return instance.queueResetExpanded();
2846
- });
2847
2731
  }
2848
2732
  }),
2849
2733
  getFilteredSelectedRowModel: memo(function () {
@@ -2864,11 +2748,6 @@
2864
2748
  var _instance$options$deb2;
2865
2749
 
2866
2750
  return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
2867
- },
2868
- onChange: function onChange() {
2869
- return instance.queue(function () {
2870
- return instance.queueResetExpanded();
2871
- });
2872
2751
  }
2873
2752
  }),
2874
2753
  getGroupedSelectedRowModel: memo(function () {
@@ -2889,11 +2768,6 @@
2889
2768
  var _instance$options$deb3;
2890
2769
 
2891
2770
  return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
2892
- },
2893
- onChange: function onChange() {
2894
- return instance.queue(function () {
2895
- return instance.queueResetExpanded();
2896
- });
2897
2771
  }
2898
2772
  }),
2899
2773
  ///
@@ -3019,59 +2893,27 @@
3019
2893
  var paginationFlatRows = instance.getPaginationRowModel().flatRows;
3020
2894
  return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
3021
2895
  },
3022
- getToggleRowSelectedProps: function getToggleRowSelectedProps(rowId, userProps) {
2896
+ getToggleRowSelectedHandler: function getToggleRowSelectedHandler(rowId) {
3023
2897
  var row = instance.getRow(rowId);
3024
- var isSelected = row.getIsSelected();
3025
- var isSomeSelected = row.getIsSomeSelected();
2898
+ row.getIsSelected();
2899
+ row.getIsSomeSelected();
3026
2900
  var canSelect = row.getCanSelect();
3027
- var initialProps = {
3028
- onChange: canSelect ? function (e) {
3029
- row.toggleSelected(e.target.checked);
3030
- } : undefined,
3031
- checked: isSelected,
3032
- title: 'Toggle Row Selected',
3033
- indeterminate: isSomeSelected // onChange: forInput
3034
- // ? (e: Event) => e.stopPropagation()
3035
- // : (e: Event) => {
3036
- // if (instance.options.isAdditiveSelectEvent(e)) {
3037
- // row.toggleSelected()
3038
- // } else if (instance.options.isInclusiveSelectEvent(e)) {
3039
- // instance.addRowSelectionRange(row.id)
3040
- // } else {
3041
- // instance.setRowSelection({})
3042
- // row.toggleSelected()
3043
- // }
3044
- // if (props.onClick) props.onClick(e)
3045
- // },
2901
+ return function (e) {
2902
+ var _target;
3046
2903
 
2904
+ if (!canSelect) return;
2905
+ row.toggleSelected((_target = e.target) == null ? void 0 : _target.checked);
3047
2906
  };
3048
- return propGetter(initialProps, userProps);
3049
- },
3050
- getToggleAllRowsSelectedProps: function getToggleAllRowsSelectedProps(userProps) {
3051
- var isSomeRowsSelected = instance.getIsSomeRowsSelected();
3052
- var isAllRowsSelected = instance.getIsAllRowsSelected();
3053
- var initialProps = {
3054
- onChange: function onChange(e) {
3055
- instance.toggleAllRowsSelected(e.target.checked);
3056
- },
3057
- checked: isAllRowsSelected,
3058
- title: 'Toggle All Rows Selected',
3059
- indeterminate: isSomeRowsSelected
2907
+ },
2908
+ getToggleAllRowsSelectedHandler: function getToggleAllRowsSelectedHandler() {
2909
+ return function (e) {
2910
+ instance.toggleAllRowsSelected(e.target.checked);
3060
2911
  };
3061
- return propGetter(initialProps, userProps);
3062
- },
3063
- getToggleAllPageRowsSelectedProps: function getToggleAllPageRowsSelectedProps(userProps) {
3064
- var isSomePageRowsSelected = instance.getIsSomePageRowsSelected();
3065
- var isAllPageRowsSelected = instance.getIsAllPageRowsSelected();
3066
- var initialProps = {
3067
- onChange: function onChange(e) {
3068
- instance.toggleAllPageRowsSelected(e.target.checked);
3069
- },
3070
- checked: isAllPageRowsSelected,
3071
- title: 'Toggle All Current Page Rows Selected',
3072
- indeterminate: isSomePageRowsSelected
2912
+ },
2913
+ getToggleAllPageRowsSelectedHandler: function getToggleAllPageRowsSelectedHandler() {
2914
+ return function (e) {
2915
+ instance.toggleAllPageRowsSelected(e.target.checked);
3073
2916
  };
3074
- return propGetter(initialProps, userProps);
3075
2917
  }
3076
2918
  };
3077
2919
  },
@@ -3086,8 +2928,8 @@
3086
2928
  toggleSelected: function toggleSelected(value) {
3087
2929
  return instance.toggleRowSelected(row.id, value);
3088
2930
  },
3089
- getToggleSelectedProps: function getToggleSelectedProps(userProps) {
3090
- return instance.getToggleRowSelectedProps(row.id, userProps);
2931
+ getToggleSelectedHandler: function getToggleSelectedHandler() {
2932
+ return instance.getToggleRowSelectedHandler(row.id);
3091
2933
  },
3092
2934
  getCanMultiSelect: function getCanMultiSelect() {
3093
2935
  return instance.getRowCanMultiSelect(row.id);
@@ -3303,7 +3145,6 @@
3303
3145
  getDefaultOptions: function getDefaultOptions(instance) {
3304
3146
  return {
3305
3147
  onSortingChange: makeStateUpdater('sorting', instance),
3306
- autoResetSorting: true,
3307
3148
  isMultiSortEvent: function isMultiSortEvent(e) {
3308
3149
  return e.shiftKey;
3309
3150
  }
@@ -3330,30 +3171,13 @@
3330
3171
  toggleSorting: function toggleSorting(desc, isMulti) {
3331
3172
  return instance.toggleColumnSorting(column.id, desc, isMulti);
3332
3173
  },
3333
- getToggleSortingProps: function getToggleSortingProps(userProps) {
3334
- return instance.getToggleSortingProps(column.id, userProps);
3174
+ getToggleSortingHandler: function getToggleSortingHandler() {
3175
+ return instance.getToggleSortingHandler(column.id);
3335
3176
  }
3336
3177
  };
3337
3178
  },
3338
3179
  createInstance: function createInstance(instance) {
3339
- var registered = false;
3340
3180
  return {
3341
- queueResetSorting: function queueResetSorting() {
3342
- instance.queueResetGrouping();
3343
-
3344
- if (!registered) {
3345
- registered = true;
3346
- return;
3347
- }
3348
-
3349
- if (instance.options.autoResetAll === false) {
3350
- return;
3351
- }
3352
-
3353
- if (instance.options.autoResetAll === true || instance.options.autoResetSorting) {
3354
- instance.resetSorting();
3355
- }
3356
- },
3357
3181
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3358
3182
  var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3359
3183
  var isString = false;
@@ -3551,7 +3375,7 @@
3551
3375
  instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
3552
3376
  }
3553
3377
  },
3554
- getToggleSortingProps: function getToggleSortingProps(columnId, userProps) {
3378
+ getToggleSortingHandler: function getToggleSortingHandler(columnId) {
3555
3379
  var column = instance.getColumn(columnId);
3556
3380
 
3557
3381
  if (!column) {
@@ -3559,14 +3383,11 @@
3559
3383
  }
3560
3384
 
3561
3385
  var canSort = column.getCanSort();
3562
- var initialProps = {
3563
- title: canSort ? 'Toggle Sorting' : undefined,
3564
- onClick: canSort ? function (e) {
3565
- e.persist == null ? void 0 : e.persist();
3566
- column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
3567
- } : undefined
3386
+ return function (e) {
3387
+ if (!canSort) return;
3388
+ e.persist == null ? void 0 : e.persist();
3389
+ column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
3568
3390
  };
3569
- return propGetter(initialProps, userProps);
3570
3391
  },
3571
3392
  getPreSortedRowModel: function getPreSortedRowModel() {
3572
3393
  return instance.getGlobalFilteredRowModel();
@@ -3614,16 +3435,10 @@
3614
3435
  toggleVisibility: function toggleVisibility(value) {
3615
3436
  return instance.toggleColumnVisibility(column.id, value);
3616
3437
  },
3617
- getToggleVisibilityProps: function getToggleVisibilityProps(userProps) {
3618
- var props = {
3619
- type: 'checkbox',
3620
- checked: column.getIsVisible == null ? void 0 : column.getIsVisible(),
3621
- title: 'Toggle Column Visibility',
3622
- onChange: function onChange(e) {
3623
- column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
3624
- }
3438
+ getToggleVisibilityHandler: function getToggleVisibilityHandler() {
3439
+ return function (e) {
3440
+ column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
3625
3441
  };
3626
- return propGetter(props, userProps);
3627
3442
  }
3628
3443
  };
3629
3444
  },
@@ -3755,19 +3570,12 @@
3755
3570
  return column.getIsVisible == null ? void 0 : column.getIsVisible();
3756
3571
  });
3757
3572
  },
3758
- getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
3759
- var props = {
3760
- onChange: function onChange(e) {
3761
- var _e$target;
3573
+ getToggleAllColumnsVisibilityHandler: function getToggleAllColumnsVisibilityHandler() {
3574
+ return function (e) {
3575
+ var _target;
3762
3576
 
3763
- instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
3764
- },
3765
- type: 'checkbox',
3766
- title: 'Toggle visibility for all columns',
3767
- checked: instance.getIsAllColumnsVisible(),
3768
- indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
3577
+ instance.toggleAllColumnsVisible((_target = e.target) == null ? void 0 : _target.checked);
3769
3578
  };
3770
- return propGetter(props, userProps);
3771
3579
  }
3772
3580
  };
3773
3581
  }
@@ -3830,12 +3638,6 @@
3830
3638
  recurseHeader(header);
3831
3639
  return leafHeaders;
3832
3640
  },
3833
- getHeaderProps: function getHeaderProps(userProps) {
3834
- return instance.getHeaderProps(header.id, userProps);
3835
- },
3836
- getFooterProps: function getFooterProps(userProps) {
3837
- return instance.getFooterProps(header.id, userProps);
3838
- },
3839
3641
  renderHeader: function renderHeader() {
3840
3642
  return column.header ? instance.render(column.header, {
3841
3643
  instance: instance,
@@ -4111,60 +3913,6 @@
4111
3913
  }
4112
3914
 
4113
3915
  return header;
4114
- },
4115
- getHeaderGroupProps: function getHeaderGroupProps(id, userProps) {
4116
- var headerGroup = instance.getHeaderGroups().find(function (d) {
4117
- return d.id === id;
4118
- });
4119
-
4120
- if (!headerGroup) {
4121
- return;
4122
- }
4123
-
4124
- return propGetter({
4125
- key: headerGroup.id,
4126
- role: 'row'
4127
- }, userProps);
4128
- },
4129
- getFooterGroupProps: function getFooterGroupProps(id, userProps) {
4130
- var headerGroup = instance.getFooterGroups().find(function (d) {
4131
- return d.id === id;
4132
- });
4133
-
4134
- if (!headerGroup) {
4135
- return;
4136
- }
4137
-
4138
- var initialProps = {
4139
- key: headerGroup.id,
4140
- role: 'row'
4141
- };
4142
- return propGetter(initialProps, userProps);
4143
- },
4144
- getHeaderProps: function getHeaderProps(id, userProps) {
4145
- var header = instance.getHeader(id);
4146
-
4147
- if (!header) {
4148
- throw new Error();
4149
- }
4150
-
4151
- var initialProps = {
4152
- key: header.id,
4153
- role: 'columnheader',
4154
- colSpan: header.colSpan,
4155
- rowSpan: header.rowSpan
4156
- };
4157
- return propGetter(initialProps, userProps);
4158
- },
4159
- getFooterProps: function getFooterProps(id, userProps) {
4160
- var header = instance.getHeader(id);
4161
- var initialProps = {
4162
- key: header.id,
4163
- role: 'columnfooter',
4164
- colSpan: header.colSpan,
4165
- rowSpan: header.rowSpan
4166
- };
4167
- return propGetter(initialProps, userProps);
4168
3916
  }
4169
3917
  };
4170
3918
  }
@@ -4204,13 +3952,7 @@
4204
3952
  var headerGroup = {
4205
3953
  depth: depth,
4206
3954
  id: [headerFamily, "" + depth].filter(Boolean).join('_'),
4207
- headers: [],
4208
- getHeaderGroupProps: function getHeaderGroupProps(getterValue) {
4209
- return instance.getHeaderGroupProps("" + depth, getterValue);
4210
- },
4211
- getFooterGroupProps: function getFooterGroupProps(getterValue) {
4212
- return instance.getFooterGroupProps("" + depth, getterValue);
4213
- }
3955
+ headers: []
4214
3956
  }; // The parent columns we're going to scan next
4215
3957
 
4216
3958
  var pendingParentHeaders = []; // Scan each column for parents
@@ -4323,18 +4065,22 @@
4323
4065
  return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
4324
4066
  }, {});
4325
4067
 
4326
- var buildOptions = function buildOptions(options) {
4068
+ var mergeOptions = function mergeOptions(options) {
4069
+ if (instance.options.mergeOptions) {
4070
+ return instance.options.mergeOptions(defaultOptions, options);
4071
+ }
4072
+
4327
4073
  return _extends({}, defaultOptions, options);
4328
4074
  };
4329
4075
 
4330
- instance.options = buildOptions(options);
4076
+ instance.options = _extends({}, defaultOptions, options);
4331
4077
  var coreInitialState = {
4332
4078
  coreProgress: 1
4333
4079
  };
4334
4080
 
4335
- var initialState = _extends({}, coreInitialState, instance._features.reduce(function (obj, feature) {
4336
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
4337
- }, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
4081
+ var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {}, instance._features.reduce(function (obj, feature) {
4082
+ return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState(options.initialState));
4083
+ }, {}));
4338
4084
 
4339
4085
  var queued = [];
4340
4086
  var queuedTimeout;
@@ -4366,12 +4112,7 @@
4366
4112
  },
4367
4113
  setOptions: function setOptions(updater) {
4368
4114
  var newOptions = functionalUpdate(updater, instance.options);
4369
-
4370
- if (instance.options.mergeOptions) {
4371
- instance.options = instance.options.mergeOptions(defaultOptions, newOptions);
4372
- } else {
4373
- instance.options = buildOptions(newOptions);
4374
- }
4115
+ instance.options = mergeOptions(newOptions);
4375
4116
  },
4376
4117
  render: function render(template, props) {
4377
4118
  if (typeof instance.options.render === 'function') {
@@ -4390,16 +4131,6 @@
4390
4131
  setState: function setState(updater) {
4391
4132
  instance.options.onStateChange == null ? void 0 : instance.options.onStateChange(updater);
4392
4133
  },
4393
- getTableProps: function getTableProps(userProps) {
4394
- return propGetter({
4395
- role: 'table'
4396
- }, userProps);
4397
- },
4398
- getTableBodyProps: function getTableBodyProps(userProps) {
4399
- return propGetter({
4400
- role: 'rowgroup'
4401
- }, userProps);
4402
- },
4403
4134
  getOverallProgress: function getOverallProgress() {
4404
4135
  var _instance$getState = instance.getState(),
4405
4136
  coreProgress = _instance$getState.coreProgress,
@@ -4434,6 +4165,9 @@
4434
4165
  throw new Error('');
4435
4166
  }()
4436
4167
  },
4168
+ setGenerics: function setGenerics() {
4169
+ return table;
4170
+ },
4437
4171
  setRowType: function setRowType() {
4438
4172
  return table;
4439
4173
  },
@@ -4446,9 +4180,6 @@
4446
4180
  setOptions: function setOptions(newOptions) {
4447
4181
  return createTable(_, __, _extends({}, options, newOptions));
4448
4182
  },
4449
- createColumns: function createColumns(columns) {
4450
- return columns;
4451
- },
4452
4183
  createDisplayColumn: function createDisplayColumn(column) {
4453
4184
  return _extends({}, column, {
4454
4185
  columnDefType: 'display'
@@ -4563,8 +4294,7 @@
4563
4294
  },
4564
4295
  onChange: function onChange() {
4565
4296
  instance.queue(function () {
4566
- instance.queueResetFilters();
4567
- instance.queueResetRowSelection();
4297
+ instance._autoResetPageIndex();
4568
4298
  });
4569
4299
  }
4570
4300
  });
@@ -4670,8 +4400,7 @@
4670
4400
  },
4671
4401
  onChange: function onChange() {
4672
4402
  instance.queue(function () {
4673
- instance.queueResetFilters();
4674
- instance.queueResetRowSelection();
4403
+ instance._autoResetPageIndex();
4675
4404
  });
4676
4405
  }
4677
4406
  });
@@ -4850,7 +4579,7 @@
4850
4579
  },
4851
4580
  onChange: function onChange() {
4852
4581
  instance.queue(function () {
4853
- instance.queueResetSorting();
4582
+ instance._autoResetPageIndex();
4854
4583
  });
4855
4584
  }
4856
4585
  });
@@ -4922,7 +4651,7 @@
4922
4651
  },
4923
4652
  onChange: function onChange() {
4924
4653
  instance.queue(function () {
4925
- instance.queueResetSorting();
4654
+ instance._autoResetPageIndex();
4926
4655
  });
4927
4656
  }
4928
4657
  });
@@ -5022,7 +4751,7 @@
5022
4751
  },
5023
4752
  onChange: function onChange() {
5024
4753
  instance.queue(function () {
5025
- instance.queueResetGrouping();
4754
+ instance._autoResetPageIndex();
5026
4755
  });
5027
4756
  }
5028
4757
  });
@@ -5164,7 +4893,9 @@
5164
4893
  },
5165
4894
  onChange: function onChange() {
5166
4895
  instance.queue(function () {
5167
- instance.queueResetExpanded();
4896
+ instance._autoResetExpanded();
4897
+
4898
+ instance._autoResetPageIndex();
5168
4899
  });
5169
4900
  }
5170
4901
  });
@@ -5305,7 +5036,6 @@
5305
5036
  exports.memo = memo;
5306
5037
  exports.noop = noop;
5307
5038
  exports.passiveEventSupported = passiveEventSupported;
5308
- exports.propGetter = propGetter;
5309
5039
  exports.selectRowsFn = selectRowsFn;
5310
5040
  exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
5311
5041