@tanstack/table-core 8.0.0-alpha.30 → 8.0.0-alpha.32

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 (120) hide show
  1. package/build/cjs/aggregationTypes.js +1 -0
  2. package/build/cjs/aggregationTypes.js.map +1 -1
  3. package/build/cjs/core.js +22 -78
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js.map +1 -1
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Expanding.js +12 -16
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +28 -81
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +10 -16
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js.map +1 -1
  14. package/build/cjs/features/Ordering.js.map +1 -1
  15. package/build/cjs/features/Pagination.js +8 -13
  16. package/build/cjs/features/Pagination.js.map +1 -1
  17. package/build/cjs/features/Pinning.js.map +1 -1
  18. package/build/cjs/features/RowSelection.js.map +1 -1
  19. package/build/cjs/features/Sorting.js +10 -16
  20. package/build/cjs/features/Sorting.js.map +1 -1
  21. package/build/cjs/features/Visibility.js.map +1 -1
  22. package/build/cjs/filterTypes.js.map +1 -1
  23. package/build/cjs/index.js +19 -12
  24. package/build/cjs/index.js.map +1 -1
  25. package/build/cjs/sortTypes.js.map +1 -1
  26. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  27. package/build/cjs/utils/getColumnFilteredRowModelSync.js +113 -0
  28. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -0
  29. package/build/cjs/utils/getCoreRowModelAsync.js +125 -0
  30. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -0
  31. package/build/cjs/utils/getCoreRowModelSync.js +102 -0
  32. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -0
  33. package/build/cjs/utils/getExpandedRowModel.js +61 -0
  34. package/build/cjs/utils/getExpandedRowModel.js.map +1 -0
  35. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +89 -0
  36. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -0
  37. package/build/cjs/utils/getGroupedRowModel.js +174 -0
  38. package/build/cjs/utils/getGroupedRowModel.js.map +1 -0
  39. package/build/cjs/utils/getPaginationRowModel.js +61 -0
  40. package/build/cjs/utils/getPaginationRowModel.js.map +1 -0
  41. package/build/cjs/utils/getSortedRowModelSync.js +116 -0
  42. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -0
  43. package/build/cjs/utils.js +155 -16
  44. package/build/cjs/utils.js.map +1 -1
  45. package/build/esm/index.js +841 -491
  46. package/build/esm/index.js.map +1 -1
  47. package/build/stats-html.html +1 -1
  48. package/build/stats-react.json +406 -298
  49. package/build/types/aggregationTypes.d.ts +1 -1
  50. package/build/types/core.d.ts +7 -1
  51. package/build/types/features/Expanding.d.ts +2 -1
  52. package/build/types/features/Filters.d.ts +6 -2
  53. package/build/types/features/Grouping.d.ts +3 -2
  54. package/build/types/features/Pagination.d.ts +2 -1
  55. package/build/types/features/Sorting.d.ts +2 -1
  56. package/build/types/index.d.ts +8 -6
  57. package/build/types/types.d.ts +2 -2
  58. package/build/types/utils/getColumnFilteredRowModelAsync.d.ts +4 -0
  59. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +2 -0
  60. package/build/types/utils/getCoreRowModelAsync.d.ts +4 -0
  61. package/build/types/utils/getCoreRowModelSync.d.ts +2 -0
  62. package/build/types/utils/getExpandedRowModel.d.ts +7 -0
  63. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +4 -0
  64. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +2 -0
  65. package/build/types/utils/getGroupedRowModel.d.ts +2 -0
  66. package/build/types/utils/getPaginationRowModel.d.ts +4 -0
  67. package/build/types/utils/{sortRowsQuicksortFn.d.ts → getSortedRowModelAsync.d.ts} +3 -1
  68. package/build/types/utils/getSortedRowModelSync.d.ts +2 -0
  69. package/build/types/utils.d.ts +16 -0
  70. package/build/umd/index.development.js +851 -496
  71. package/build/umd/index.development.js.map +1 -1
  72. package/build/umd/index.production.js +1 -1
  73. package/build/umd/index.production.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/aggregationTypes.ts +1 -1
  76. package/src/core.tsx +33 -97
  77. package/src/features/Expanding.ts +19 -27
  78. package/src/features/Filters.ts +52 -99
  79. package/src/features/Grouping.ts +19 -21
  80. package/src/features/Pagination.ts +17 -20
  81. package/src/features/Sorting.ts +19 -23
  82. package/src/index.tsx +8 -6
  83. package/src/types.ts +3 -1
  84. package/src/utils/getColumnFilteredRowModelAsync.ts +117 -0
  85. package/src/utils/getColumnFilteredRowModelSync.ts +97 -0
  86. package/src/utils/getCoreRowModelAsync.ts +103 -0
  87. package/src/utils/getCoreRowModelSync.ts +105 -0
  88. package/src/utils/getExpandedRowModel.ts +58 -0
  89. package/src/utils/getGlobalFilteredRowModelAsync.ts +95 -0
  90. package/src/utils/getGlobalFilteredRowModelSync.ts +74 -0
  91. package/src/utils/getGroupedRowModel.ts +187 -0
  92. package/src/utils/getPaginationRowModel.ts +45 -0
  93. package/src/utils/getSortedRowModelAsync.ts +199 -0
  94. package/src/utils/getSortedRowModelSync.ts +116 -0
  95. package/src/utils.tsx +189 -16
  96. package/build/cjs/utils/columnFilterRowsFn.js +0 -73
  97. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  98. package/build/cjs/utils/expandRowsFn.js +0 -37
  99. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  100. package/build/cjs/utils/globalFilterRowsFn.js +0 -49
  101. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  102. package/build/cjs/utils/groupRowsFn.js +0 -155
  103. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  104. package/build/cjs/utils/paginateRowsFn.js +0 -44
  105. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  106. package/build/cjs/utils/sortRowsFn.js +0 -94
  107. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  108. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  109. package/build/types/utils/expandRowsFn.d.ts +0 -2
  110. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  111. package/build/types/utils/groupRowsFn.d.ts +0 -2
  112. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  113. package/build/types/utils/sortRowsFn.d.ts +0 -2
  114. package/src/utils/columnFilterRowsFn.ts +0 -56
  115. package/src/utils/expandRowsFn.ts +0 -34
  116. package/src/utils/globalFilterRowsFn.ts +0 -39
  117. package/src/utils/groupRowsFn.ts +0 -174
  118. package/src/utils/paginateRowsFn.ts +0 -28
  119. package/src/utils/sortRowsFn.ts +0 -99
  120. package/src/utils/sortRowsQuicksortFn.ts +0 -174
@@ -109,6 +109,32 @@
109
109
  }
110
110
  function noop() {//
111
111
  }
112
+ function getBatchGroups(arr, count) {
113
+ var groups = [{
114
+ start: 0,
115
+ end: count - 1,
116
+ items: []
117
+ }];
118
+ var groupIndex = 0;
119
+ var group = groups[groupIndex];
120
+
121
+ for (var i = 0; i < arr.length; i++) {
122
+ if (i > group.end) {
123
+ groupIndex++;
124
+ groups[groupIndex] = {
125
+ start: i,
126
+ end: i + count - 1,
127
+ items: []
128
+ };
129
+ }
130
+
131
+ group = groups[groupIndex];
132
+ var _item = arr[i];
133
+ group.items.push(_item);
134
+ }
135
+
136
+ return groups;
137
+ }
112
138
  function makeStateUpdater(key, instance) {
113
139
  return function (updater) {
114
140
  instance.setState(function (old) {
@@ -206,22 +232,133 @@
206
232
 
207
233
  return result;
208
234
  };
209
- } // export function hashString(str: string, seed = 0): string {
210
- // let h1 = 0xdeadbeef ^ seed,
211
- // h2 = 0x41c6ce57 ^ seed
212
- // for (let i = 0, ch; i < str.length; i++) {
213
- // ch = str.charCodeAt(i)
214
- // h1 = Math.imul(h1 ^ ch, 2654435761)
215
- // h2 = Math.imul(h2 ^ ch, 1597334677)
216
- // }
217
- // h1 =
218
- // Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^
219
- // Math.imul(h2 ^ (h2 >>> 13), 3266489909)
220
- // h2 =
221
- // Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^
222
- // Math.imul(h1 ^ (h1 >>> 13), 3266489909)
223
- // return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString()
224
- // }
235
+ }
236
+ function incrementalMemo(getDeps, getInitialValue, schedule, opts) {
237
+ var _opts$timeout;
238
+
239
+ var oldDeps;
240
+ var deps;
241
+ var result;
242
+ var nextResultRef;
243
+ var tasks = [];
244
+ var totalTaskCount = 0;
245
+ var resultStartTime;
246
+ var batchIndex = 0;
247
+ var progress = 0;
248
+ var working = false;
249
+ var callback;
250
+ var timeout = (_opts$timeout = opts.timeout) != null ? _opts$timeout : 100;
251
+
252
+ var onProgress = function onProgress(latestResult, previousResult) {
253
+ progress = 1 - tasks.length / totalTaskCount;
254
+ opts.onProgress(progress, latestResult, previousResult);
255
+ };
256
+
257
+ return function () {
258
+ var scheduleFn = function scheduleFn(workFn) {
259
+ totalTaskCount++;
260
+ tasks.push(workFn);
261
+ };
262
+
263
+ var newDeps = getDeps();
264
+ var first = false;
265
+
266
+ if (!deps) {
267
+ first = true;
268
+ deps = [];
269
+ result = getInitialValue.apply(void 0, newDeps);
270
+ }
271
+
272
+ var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {
273
+ return deps[index] !== dep;
274
+ });
275
+
276
+ if (depsChanged) {
277
+ cancelIdleCallback(callback);
278
+ oldDeps = deps;
279
+ deps = newDeps;
280
+ totalTaskCount = 0;
281
+ tasks = [];
282
+ nextResultRef = {
283
+ current: getInitialValue.apply(void 0, newDeps)
284
+ };
285
+ resultStartTime = Date.now();
286
+ schedule.apply(void 0, newDeps)(nextResultRef)(scheduleFn);
287
+ }
288
+
289
+ var commitResult = function commitResult() {
290
+ cancelIdleCallback(callback);
291
+
292
+ if (opts.key && opts.debug) {
293
+ if (opts != null && opts.debug()) {
294
+ var resultEndTime = Math.round((Date.now() - resultStartTime) * 100) / 100;
295
+ var resultFpsPercentage = resultEndTime / batchIndex / 16;
296
+ console.info("%c\u23F1 " + resultEndTime + " ms / " + batchIndex + " tasks = " + Math.round(resultEndTime / batchIndex) + " ms/task", "\n font-size: .6rem;\n font-weight: bold;\n color: hsl(" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + "deg 100% 31%);", opts == null ? void 0 : opts.key, _extends({
297
+ length: oldDeps.length + " -> " + deps.length
298
+ }, deps.map(function (_, index) {
299
+ if (oldDeps[index] !== deps[index]) {
300
+ return [index, oldDeps[index], deps[index]];
301
+ }
302
+
303
+ return false;
304
+ }).filter(Boolean).reduce(function (accu, _ref2) {
305
+ var _extends4;
306
+
307
+ var a = _ref2[0],
308
+ b = _ref2[1];
309
+ return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
310
+ }, {}), {
311
+ parent: parent
312
+ }));
313
+ }
314
+ }
315
+
316
+ working = false;
317
+ var previousResult = result;
318
+ result = nextResultRef.current;
319
+ onProgress(result, previousResult);
320
+ opts.onChange(result, previousResult);
321
+ };
322
+
323
+ if (opts.initialSync && first) {
324
+ batchIndex = 1;
325
+ first = false;
326
+
327
+ for (var i = 0; i < tasks.length; i++) {
328
+ tasks[i]();
329
+ }
330
+
331
+ tasks = [];
332
+ commitResult();
333
+ } else if (!working && tasks.length) {
334
+ cancelIdleCallback(callback);
335
+ working = true;
336
+ batchIndex = 0;
337
+
338
+ var workLoop = function workLoop(deadline) {
339
+ while (tasks.length && deadline.timeRemaining() > 0) {
340
+ tasks.shift()();
341
+ }
342
+
343
+ if (!tasks.length) {
344
+ commitResult();
345
+ } else {
346
+ ++batchIndex;
347
+ onProgress(nextResultRef.current, result);
348
+ callback = requestIdleCallback(workLoop, {
349
+ timeout: timeout
350
+ });
351
+ }
352
+ };
353
+
354
+ callback = requestIdleCallback(workLoop, {
355
+ timeout: timeout
356
+ });
357
+ }
358
+
359
+ return result;
360
+ };
361
+ } // opts?.onChange?.(result, oldResult)
225
362
 
226
363
  //
227
364
  var defaultColumnSizing = {
@@ -552,6 +689,8 @@
552
689
  var registered = false;
553
690
  return {
554
691
  _notifyExpandedReset: function _notifyExpandedReset() {
692
+ instance._notifyPageIndexReset();
693
+
555
694
  if (!registered) {
556
695
  registered = true;
557
696
  return;
@@ -703,25 +842,19 @@
703
842
  });
704
843
  return maxDepth;
705
844
  },
706
- getExpandedRowModel: memo(function () {
707
- return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.expandRowsFn, instance.options.paginateExpandedRows];
708
- }, function (expanded, rowModel, expandRowsFn, paginateExpandedRows) {
709
- if (!expandRowsFn || // Do not expand if rows are not included in pagination
710
- !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
711
- return rowModel;
845
+ getPreExpandedRowModel: function getPreExpandedRowModel() {
846
+ return instance.getGroupedRowModel();
847
+ },
848
+ getExpandedRowModel: function getExpandedRowModel() {
849
+ if (!instance._getExpandedRowModel && instance.options.getExpandedRowModel) {
850
+ instance._getExpandedRowModel = instance.options.getExpandedRowModel(instance);
712
851
  }
713
852
 
714
- return expandRowsFn(instance, rowModel);
715
- }, {
716
- key: 'getExpandedRowModel',
717
- debug: function debug() {
718
- var _instance$options$deb;
719
-
720
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
853
+ if (!instance._getExpandedRowModel) {
854
+ return instance.getPreExpandedRowModel();
721
855
  }
722
- }),
723
- getPreExpandedRowModel: function getPreExpandedRowModel() {
724
- return instance.getGroupedRowModel();
856
+
857
+ return instance._getExpandedRowModel();
725
858
  }
726
859
  };
727
860
  },
@@ -909,7 +1042,9 @@
909
1042
  getInitialState: function getInitialState() {
910
1043
  return {
911
1044
  columnFilters: [],
912
- globalFilter: undefined
1045
+ globalFilter: undefined,
1046
+ columnFiltersProgress: 1,
1047
+ globalFilterProgress: 1
913
1048
  };
914
1049
  },
915
1050
  getDefaultOptions: function getDefaultOptions(instance) {
@@ -1008,6 +1143,8 @@
1008
1143
  var registered = false;
1009
1144
  return {
1010
1145
  _notifyFiltersReset: function _notifyFiltersReset() {
1146
+ instance._notifySortingReset();
1147
+
1011
1148
  if (!registered) {
1012
1149
  registered = true;
1013
1150
  return;
@@ -1017,16 +1154,12 @@
1017
1154
  return;
1018
1155
  }
1019
1156
 
1020
- if (instance.options.autoResetAll === true) {
1021
- instance.resetSorting();
1022
- } else {
1023
- if (instance.options.autoResetColumnFilters) {
1024
- instance.resetColumnFilters();
1025
- }
1157
+ if (instance.options.autoResetAll === true || instance.options.autoResetColumnFilters) {
1158
+ instance.resetColumnFilters();
1159
+ }
1026
1160
 
1027
- if (instance.options.autoResetGlobalFilter) {
1028
- instance.resetGlobalFilter();
1029
- }
1161
+ if (instance.options.autoResetAll === true || instance.options.autoResetGlobalFilter) {
1162
+ instance.resetGlobalFilter();
1030
1163
  }
1031
1164
  },
1032
1165
  getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
@@ -1206,84 +1339,31 @@
1206
1339
  getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1207
1340
  return instance.getCoreRowModel();
1208
1341
  },
1209
- getColumnFilteredRowModel: memo(function () {
1210
- return [instance.getState().columnFilters, instance.getCoreRowModel(), instance.options.columnFilterRowsFn];
1211
- }, function (columnFilters, rowModel, columnFiltersFn) {
1212
- var columnFilteredRowModel = function () {
1213
- if (!(columnFilters != null && columnFilters.length) || !columnFiltersFn) {
1214
- return rowModel;
1215
- }
1216
-
1217
- return columnFiltersFn(instance, rowModel);
1218
- }(); // Now that each filtered column has it's partially filtered rows,
1219
- // lets assign the final filtered rows to all of the other columns
1220
-
1221
-
1222
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
1223
- var _instance$getState$co5;
1224
-
1225
- return !((_instance$getState$co5 = instance.getState().columnFilters) != null && _instance$getState$co5.find(function (d) {
1226
- return d.id === column.id;
1227
- }));
1228
- }); // This essentially enables faceted filter options to be built easily
1229
- // using every column's preFilteredRows value
1230
-
1231
- nonFilteredColumns.forEach(function (column) {
1232
- column.getPreFilteredRows = function () {
1233
- return columnFilteredRowModel.rows;
1234
- };
1235
- });
1236
- return columnFilteredRowModel;
1237
- }, {
1238
- key: 'getColumnFilteredRowModel',
1239
- debug: function debug() {
1240
- var _instance$options$deb2;
1342
+ getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1343
+ if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1344
+ instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1345
+ }
1241
1346
 
1242
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
1347
+ if (!instance._getColumnFilteredRowModel) {
1348
+ return instance.getPreColumnFilteredRowModel();
1243
1349
  }
1244
- }),
1350
+
1351
+ return instance._getColumnFilteredRowModel();
1352
+ },
1245
1353
  getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1246
1354
  return instance.getColumnFilteredRowModel();
1247
1355
  },
1248
- getGlobalFilteredRowModel: memo(function () {
1249
- return [instance.getState().globalFilter, instance.getColumnFilteredRowModel(), instance.options.globalFilterRowsFn];
1250
- }, function (globalFilterValue, columnFilteredRowModel, globalFiltersFn) {
1251
- var globalFilteredRowModel = function () {
1252
- if (!globalFiltersFn || !globalFilterValue) {
1253
- return columnFilteredRowModel;
1254
- }
1255
-
1256
- return globalFiltersFn(instance, columnFilteredRowModel);
1257
- }(); // Now that each filtered column has it's partially filtered rows,
1258
- // lets assign the final filtered rows to all of the other columns
1259
-
1260
-
1261
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
1262
- var _instance$getState$co6;
1263
-
1264
- return !((_instance$getState$co6 = instance.getState().columnFilters) != null && _instance$getState$co6.find(function (d) {
1265
- return d.id === column.id;
1266
- }));
1267
- }); // This essentially enables faceted filter options to be built easily
1268
- // using every column's preFilteredRows value
1269
-
1270
- nonFilteredColumns.forEach(function (column) {
1271
- column.getPreFilteredRows = function () {
1272
- return globalFilteredRowModel.rows;
1273
- };
1274
- });
1275
- return globalFilteredRowModel;
1276
- }, {
1277
- key: 'getGlobalFilteredRowModel',
1278
- debug: function debug() {
1279
- var _instance$options$deb3;
1356
+ getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1357
+ if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1358
+ instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
1359
+ }
1280
1360
 
1281
- return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugTable;
1282
- },
1283
- onChange: function onChange() {
1284
- instance._notifySortingReset();
1361
+ if (!instance._getGlobalFilteredRowModel) {
1362
+ return instance.getPreGlobalFilteredRowModel();
1285
1363
  }
1286
- })
1364
+
1365
+ return instance._getGlobalFilteredRowModel();
1366
+ }
1287
1367
  };
1288
1368
  }
1289
1369
  };
@@ -1448,6 +1528,8 @@
1448
1528
  var registered = false;
1449
1529
  return {
1450
1530
  _notifyGroupingReset: function _notifyGroupingReset() {
1531
+ instance._notifyExpandedReset();
1532
+
1451
1533
  if (!registered) {
1452
1534
  registered = true;
1453
1535
  return;
@@ -1547,25 +1629,17 @@
1547
1629
  getPreGroupedRowModel: function getPreGroupedRowModel() {
1548
1630
  return instance.getSortedRowModel();
1549
1631
  },
1550
- getGroupedRowModel: memo(function () {
1551
- return [instance.getState().grouping, instance.getSortedRowModel(), instance.options.groupRowsFn];
1552
- }, function (grouping, rowModel, groupRowsFn) {
1553
- if (!groupRowsFn || !grouping.length) {
1554
- return rowModel;
1632
+ getGroupedRowModel: function getGroupedRowModel() {
1633
+ if (!instance._getGroupedRowModel && instance.options.getGroupedRowModel) {
1634
+ instance._getGroupedRowModel = instance.options.getGroupedRowModel(instance);
1555
1635
  }
1556
1636
 
1557
- return groupRowsFn(instance, rowModel);
1558
- }, {
1559
- key: 'getGroupedRowModel',
1560
- debug: function debug() {
1561
- var _instance$options$deb;
1562
-
1563
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
1564
- },
1565
- onChange: function onChange() {
1566
- return instance._notifyExpandedReset();
1637
+ if (!instance._getGroupedRowModel) {
1638
+ return instance.getPreGroupedRowModel();
1567
1639
  }
1568
- })
1640
+
1641
+ return instance._getGroupedRowModel();
1642
+ }
1569
1643
  };
1570
1644
  },
1571
1645
  createRow: function createRow(row, instance) {
@@ -1834,22 +1908,17 @@
1834
1908
  getPrePaginationRowModel: function getPrePaginationRowModel() {
1835
1909
  return instance.getExpandedRowModel();
1836
1910
  },
1837
- getPaginationRowModel: memo(function () {
1838
- return [instance.getState().pagination, instance.getExpandedRowModel(), instance.options.paginateRowsFn];
1839
- }, function (_pagination, rowModel, paginateRowsFn) {
1840
- if (!paginateRowsFn || !rowModel.rows.length) {
1841
- return rowModel;
1911
+ getPaginationRowModel: function getPaginationRowModel() {
1912
+ if (!instance._getPaginationRowModel && instance.options.getPaginationRowModel) {
1913
+ instance._getPaginationRowModel = instance.options.getPaginationRowModel(instance);
1842
1914
  }
1843
1915
 
1844
- return paginateRowsFn(instance, rowModel);
1845
- }, {
1846
- key: 'getPaginationRowModel',
1847
- debug: function debug() {
1848
- var _instance$options$deb2;
1849
-
1850
- return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugTable;
1916
+ if (!instance._getPaginationRowModel) {
1917
+ return instance.getPrePaginationRowModel();
1851
1918
  }
1852
- }),
1919
+
1920
+ return instance._getPaginationRowModel();
1921
+ },
1853
1922
  getPageCount: function getPageCount() {
1854
1923
  var pageCount = instance.getState().pagination.pageCount;
1855
1924
 
@@ -2659,6 +2728,8 @@
2659
2728
  var registered = false;
2660
2729
  return {
2661
2730
  _notifySortingReset: function _notifySortingReset() {
2731
+ instance._notifyGroupingReset();
2732
+
2662
2733
  if (!registered) {
2663
2734
  registered = true;
2664
2735
  return;
@@ -2889,25 +2960,17 @@
2889
2960
  getPreSortedRowModel: function getPreSortedRowModel() {
2890
2961
  return instance.getGlobalFilteredRowModel();
2891
2962
  },
2892
- getSortedRowModel: memo(function () {
2893
- return [instance.getState().sorting, instance.getGlobalFilteredRowModel(), instance.options.sortRowsFn];
2894
- }, function (sorting, rowModel, sortingFn) {
2895
- if (!sortingFn || !(sorting != null && sorting.length)) {
2896
- return rowModel;
2963
+ getSortedRowModel: function getSortedRowModel() {
2964
+ if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
2965
+ instance._getSortedRowModel = instance.options.getSortedRowModel(instance);
2897
2966
  }
2898
2967
 
2899
- return sortingFn(instance, rowModel);
2900
- }, {
2901
- key: 'getSortedRowModel',
2902
- debug: function debug() {
2903
- var _instance$options$deb;
2904
-
2905
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
2906
- },
2907
- onChange: function onChange() {
2908
- instance._notifyGroupingReset();
2968
+ if (!instance._getSortedRowModel) {
2969
+ return instance.getPreSortedRowModel();
2909
2970
  }
2910
- })
2971
+
2972
+ return instance._getSortedRowModel();
2973
+ }
2911
2974
  };
2912
2975
  }
2913
2976
  };
@@ -3693,8 +3756,11 @@
3693
3756
  };
3694
3757
 
3695
3758
  instance.options = buildOptions(options);
3759
+ var coreInitialState = {
3760
+ coreProgress: 1
3761
+ };
3696
3762
 
3697
- var initialState = _extends({}, features.reduce(function (obj, feature) {
3763
+ var initialState = _extends({}, coreInitialState, features.reduce(function (obj, feature) {
3698
3764
  return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
3699
3765
  }, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
3700
3766
 
@@ -4006,85 +4072,13 @@
4006
4072
 
4007
4073
  return row;
4008
4074
  },
4009
- getCoreRowModel: memo(function () {
4010
- return [instance.options.data];
4011
- }, function (data) {
4012
- // Access the row model using initial columns
4013
- var rows = [];
4014
- var flatRows = [];
4015
- var rowsById = {};
4016
- var leafColumns = instance.getAllLeafColumns();
4017
-
4018
- var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
4019
- if (depth === void 0) {
4020
- depth = 0;
4021
- }
4022
-
4023
- var id = instance.getRowId(originalRow, rowIndex, parent);
4024
-
4025
- if (!id) {
4026
- {
4027
- throw new Error("getRowId expected an ID, but got " + id);
4028
- }
4029
- }
4030
-
4031
- var values = {};
4032
-
4033
- for (var i = 0; i < leafColumns.length; i++) {
4034
- var _column = leafColumns[i];
4035
-
4036
- if (_column && _column.accessorFn) {
4037
- values[_column.id] = _column.accessorFn(originalRow, rowIndex);
4038
- }
4039
- } // Make the row
4040
-
4041
-
4042
- var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
4043
-
4044
- parentRows.push(row); // Keep track of every row in a flat array
4045
-
4046
- flatRows.push(row); // Also keep track of every row by its ID
4047
-
4048
- rowsById[id] = row; // Get the original subrows
4049
-
4050
- if (instance.options.getSubRows) {
4051
- var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
4052
-
4053
- if (originalSubRows != null && originalSubRows.length) {
4054
- row.originalSubRows = originalSubRows;
4055
- var subRows = [];
4056
-
4057
- for (var _i = 0; _i < row.originalSubRows.length; _i++) {
4058
- accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
4059
- }
4060
-
4061
- row.subRows = subRows;
4062
- }
4063
- }
4064
- };
4065
-
4066
- for (var i = 0; i < data.length; i++) {
4067
- accessRow(data[i], i, 0, rows);
4075
+ getCoreRowModel: function getCoreRowModel() {
4076
+ if (!instance._getCoreRowModel) {
4077
+ instance._getCoreRowModel = instance.options.getCoreRowModel(instance);
4068
4078
  }
4069
4079
 
4070
- return {
4071
- rows: rows,
4072
- flatRows: flatRows,
4073
- rowsById: rowsById
4074
- };
4075
- }, {
4076
- key: 'getRowModel',
4077
- debug: function debug() {
4078
- var _instance$options$deb10;
4079
-
4080
- return (_instance$options$deb10 = instance.options.debugAll) != null ? _instance$options$deb10 : instance.options.debugTable;
4081
- },
4082
- onChange: function onChange() {
4083
- instance._notifyFiltersReset();
4084
-
4085
- instance._notifyRowSelectionReset();
4086
- }
4087
- }),
4080
+ return instance._getCoreRowModel();
4081
+ },
4088
4082
  // The final calls start at the bottom of the model,
4089
4083
  // expanded rows, which then work their way up
4090
4084
  getRowModel: function getRowModel() {
@@ -4181,6 +4175,18 @@
4181
4175
  return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
4182
4176
  return sum + header.getWidth();
4183
4177
  }, 0)) != null ? _instance$getRightHea : 0;
4178
+ },
4179
+ getOverallProgress: function getOverallProgress() {
4180
+ var _instance$getState = instance.getState(),
4181
+ coreProgress = _instance$getState.coreProgress,
4182
+ columnFiltersProgress = _instance$getState.columnFiltersProgress,
4183
+ globalFilterProgress = _instance$getState.globalFilterProgress;
4184
+
4185
+ return mean(function () {
4186
+ return [coreProgress, columnFiltersProgress, globalFilterProgress].filter(function (d) {
4187
+ return d < 1;
4188
+ });
4189
+ });
4184
4190
  }
4185
4191
  });
4186
4192
 
@@ -4249,25 +4255,215 @@
4249
4255
  };
4250
4256
  }
4251
4257
 
4252
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4253
- var newFilteredFlatRows = [];
4254
- var newFilteredRowsById = {};
4258
+ function getCoreRowModelSync() {
4259
+ return function (instance) {
4260
+ return memo(function () {
4261
+ return [instance.options.data];
4262
+ }, function (data) {
4263
+ // Access the row model using initial columns
4264
+ var rows = [];
4265
+ var flatRows = [];
4266
+ var rowsById = {};
4267
+ var leafColumns = instance.getAllLeafColumns();
4255
4268
 
4256
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4257
- if (depth === void 0) {
4258
- depth = 0;
4259
- }
4269
+ var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
4270
+ if (depth === void 0) {
4271
+ depth = 0;
4272
+ }
4260
4273
 
4261
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4274
+ var id = instance.getRowId(originalRow, rowIndex, parent);
4262
4275
 
4263
- for (var i = 0; i < rowsToFilter.length; i++) {
4264
- var _row$subRows;
4276
+ if (!id) {
4277
+ {
4278
+ throw new Error("getRowId expected an ID, but got " + id);
4279
+ }
4280
+ }
4265
4281
 
4266
- var row = rowsToFilter[i];
4282
+ var values = {};
4267
4283
 
4268
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4269
- continue;
4270
- }
4284
+ for (var i = 0; i < leafColumns.length; i++) {
4285
+ var column = leafColumns[i];
4286
+
4287
+ if (column && column.accessorFn) {
4288
+ values[column.id] = column.accessorFn(originalRow, rowIndex);
4289
+ }
4290
+ } // Make the row
4291
+
4292
+
4293
+ var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
4294
+
4295
+ parentRows.push(row); // Keep track of every row in a flat array
4296
+
4297
+ flatRows.push(row); // Also keep track of every row by its ID
4298
+
4299
+ rowsById[id] = row; // Get the original subrows
4300
+
4301
+ if (instance.options.getSubRows) {
4302
+ var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
4303
+
4304
+ if (originalSubRows != null && originalSubRows.length) {
4305
+ row.originalSubRows = originalSubRows;
4306
+ var subRows = [];
4307
+
4308
+ for (var _i = 0; _i < row.originalSubRows.length; _i++) {
4309
+ accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
4310
+ }
4311
+
4312
+ row.subRows = subRows;
4313
+ }
4314
+ }
4315
+ };
4316
+
4317
+ for (var i = 0; i < data.length; i++) {
4318
+ accessRow(data[i], i, 0, rows);
4319
+ }
4320
+
4321
+ return {
4322
+ rows: rows,
4323
+ flatRows: flatRows,
4324
+ rowsById: rowsById
4325
+ };
4326
+ }, {
4327
+ key: 'getRowModel',
4328
+ debug: function debug() {
4329
+ var _instance$options$deb;
4330
+
4331
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4332
+ },
4333
+ onChange: function onChange() {
4334
+ instance._notifyFiltersReset();
4335
+
4336
+ instance._notifyRowSelectionReset();
4337
+ }
4338
+ });
4339
+ };
4340
+ }
4341
+
4342
+ function getCoreRowModelAsync(opts) {
4343
+ return function (instance) {
4344
+ return incrementalMemo(function () {
4345
+ return [instance.options.data, instance.getAllLeafColumns()];
4346
+ }, function () {
4347
+ var rows = [];
4348
+ var flatRows = [];
4349
+ var rowsById = {};
4350
+ return {
4351
+ rows: rows,
4352
+ flatRows: flatRows,
4353
+ rowsById: rowsById
4354
+ };
4355
+ }, function (data, leafColumns) {
4356
+ return function (rowModelRef) {
4357
+ return function (scheduleTask) {
4358
+ var accessRows = function accessRows(originalRows, depth, parent) {
4359
+ if (depth === void 0) {
4360
+ depth = 0;
4361
+ }
4362
+
4363
+ var batchGroups = getBatchGroups(originalRows, 2000);
4364
+
4365
+ var _loop = function _loop(i) {
4366
+ var batchGroup = batchGroups[i];
4367
+ scheduleTask(function () {
4368
+ for (var _i = 0; _i < batchGroup.items.length; _i++) {
4369
+ var originalRow = batchGroup.items[_i];
4370
+ var rowIndex = batchGroup.start + _i;
4371
+ var id = instance.getRowId(originalRow, rowIndex, parent);
4372
+
4373
+ if (!id) {
4374
+ {
4375
+ throw new Error("getRowId expected an ID, but got " + id);
4376
+ }
4377
+ }
4378
+
4379
+ var values = {};
4380
+
4381
+ for (var _i2 = 0; _i2 < leafColumns.length; _i2++) {
4382
+ var column = leafColumns[_i2];
4383
+
4384
+ if (column && column.accessorFn) {
4385
+ values[column.id] = column.accessorFn(originalRow, rowIndex);
4386
+ }
4387
+ } // Make the row
4388
+
4389
+
4390
+ var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
4391
+
4392
+ if (parent) {
4393
+ parent.subRows.push(row);
4394
+ } else {
4395
+ rowModelRef.current.rows.push(row);
4396
+ } // Keep track of every row in a flat array
4397
+
4398
+
4399
+ rowModelRef.current.flatRows.push(row); // Also keep track of every row by its ID
4400
+
4401
+ rowModelRef.current.rowsById[id] = row; // Get the original subrows
4402
+
4403
+ if (instance.options.getSubRows) {
4404
+ var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
4405
+
4406
+ if (originalSubRows != null && originalSubRows.length) {
4407
+ row.originalSubRows = originalSubRows;
4408
+ row.subRows = [];
4409
+ accessRows(row.originalSubRows, depth + 1, row);
4410
+ }
4411
+ }
4412
+ }
4413
+ });
4414
+ };
4415
+
4416
+ for (var i = 0; i < batchGroups.length; i++) {
4417
+ _loop(i);
4418
+ }
4419
+ };
4420
+
4421
+ accessRows(data);
4422
+ };
4423
+ };
4424
+ }, {
4425
+ key: 'getRowModel',
4426
+ initialSync: opts == null ? void 0 : opts.initialSync,
4427
+ onProgress: function onProgress(progress) {
4428
+ instance.setState(function (old) {
4429
+ return _extends({}, old, {
4430
+ coreProgress: progress
4431
+ });
4432
+ });
4433
+ },
4434
+ debug: function debug() {
4435
+ var _instance$options$deb;
4436
+
4437
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4438
+ },
4439
+ onChange: function onChange() {
4440
+ instance._notifyFiltersReset();
4441
+
4442
+ instance._notifyRowSelectionReset();
4443
+ }
4444
+ });
4445
+ };
4446
+ }
4447
+
4448
+ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4449
+ var newFilteredFlatRows = [];
4450
+ var newFilteredRowsById = {};
4451
+
4452
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4453
+ if (depth === void 0) {
4454
+ depth = 0;
4455
+ }
4456
+
4457
+ rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4458
+
4459
+ for (var i = 0; i < rowsToFilter.length; i++) {
4460
+ var _row$subRows;
4461
+
4462
+ var row = rowsToFilter[i];
4463
+
4464
+ if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4465
+ continue;
4466
+ }
4271
4467
 
4272
4468
  rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4273
4469
  rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
@@ -4332,259 +4528,380 @@
4332
4528
  };
4333
4529
  }
4334
4530
 
4335
- function columnFilterRowsFn(instance, rowModel) {
4336
- var columnFilters = instance.getState().columnFilters;
4337
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4338
-
4339
- var filterRows = function filterRows(rowsToFilter, depth) {
4340
- for (var i = 0; i < columnFilters.length; i++) {
4341
- var _columnFilters$i = columnFilters[i],
4342
- columnId = _columnFilters$i.id,
4343
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4531
+ function getColumnFilteredRowModelSync() {
4532
+ return function (instance) {
4533
+ return memo(function () {
4534
+ return [instance.getState().columnFilters, instance.getCoreRowModel()];
4535
+ }, function (columnFilters, rowModel) {
4536
+ var columnFilteredRowModel = function () {
4537
+ if (!rowModel.rows.length || !columnFilters) {
4538
+ return rowModel;
4539
+ }
4344
4540
 
4345
- var column = instance.getColumn(columnId);
4541
+ var filterFromLeafRows = instance.options.filterFromLeafRows;
4346
4542
 
4347
- if (!column) {
4348
- {
4349
- console.warn("Table: Could not find a column with id: " + columnId);
4350
- }
4543
+ var filterRows = function filterRows(rowsToFilter, depth) {
4544
+ for (var i = 0; i < columnFilters.length; i++) {
4545
+ var _columnFilters$i = columnFilters[i],
4546
+ columnId = _columnFilters$i.id,
4547
+ filterValue = _columnFilters$i.value; // Find the columnFilters column
4351
4548
 
4352
- throw new Error();
4353
- }
4549
+ var column = instance.getColumn(columnId);
4354
4550
 
4355
- if (depth === 0) {
4356
- (function () {
4357
- var preFilteredRows = [].concat(rowsToFilter);
4551
+ if (!column) {
4552
+ {
4553
+ console.warn("Table: Could not find a column with id: " + columnId);
4554
+ }
4358
4555
 
4359
- column.getPreFilteredRows = function () {
4360
- return preFilteredRows;
4361
- };
4362
- })();
4363
- }
4556
+ throw new Error();
4557
+ }
4364
4558
 
4365
- var filterFn = instance.getColumnFilterFn(column.id);
4559
+ if (depth === 0) {
4560
+ (function () {
4561
+ var preFilteredRows = [].concat(rowsToFilter);
4366
4562
 
4367
- if (!filterFn) {
4368
- {
4369
- console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
4370
- }
4563
+ column.getPreFilteredRows = function () {
4564
+ return preFilteredRows;
4565
+ };
4566
+ })();
4567
+ }
4371
4568
 
4372
- continue;
4373
- } // Pass the rows, id, filterValue and column to the filterFn
4374
- // to get the filtered rows back
4569
+ var filterFn = instance.getColumnFilterFn(column.id);
4375
4570
 
4571
+ if (!filterFn) {
4572
+ {
4573
+ console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
4574
+ }
4376
4575
 
4377
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4378
- }
4576
+ continue;
4577
+ } // Pass the rows, id, filterValue and column to the filterFn
4578
+ // to get the filtered rows back
4379
4579
 
4380
- return rowsToFilter;
4381
- };
4382
4580
 
4383
- if (filterFromLeafRows) {
4384
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4385
- }
4581
+ rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4582
+ }
4386
4583
 
4387
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4388
- }
4584
+ return rowsToFilter;
4585
+ };
4389
4586
 
4390
- function globalFilterRowsFn(instance, rowModel) {
4391
- var globalFilter = instance.getState().globalFilter;
4392
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4393
- var filterFn = instance.getGlobalFilterFn();
4587
+ if (filterFromLeafRows) {
4588
+ return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4589
+ }
4394
4590
 
4395
- if (!filterFn) {
4396
- {
4397
- console.warn("Could not find a valid 'globalFilterType'");
4398
- }
4591
+ return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4592
+ }(); // Now that each filtered column has it's partially filtered rows,
4593
+ // lets assign the final filtered rows to all of the other columns
4399
4594
 
4400
- return rowModel;
4401
- }
4402
4595
 
4403
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4404
- return column.getCanGlobalFilter();
4405
- });
4406
- var filterableColumnIds = filterableColumns.map(function (d) {
4407
- return d.id;
4408
- });
4596
+ var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4597
+ var _instance$getState$co;
4409
4598
 
4410
- var filterRows = function filterRows(rows) {
4411
- return filterFn(rows, filterableColumnIds, globalFilter);
4412
- };
4599
+ return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4600
+ return d.id === column.id;
4601
+ }));
4602
+ }); // This essentially enables faceted filter options to be built easily
4603
+ // using every column's preFilteredRows value
4413
4604
 
4414
- if (filterFromLeafRows) {
4415
- filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4416
- }
4605
+ nonFilteredColumns.forEach(function (column) {
4606
+ column.getPreFilteredRows = function () {
4607
+ return columnFilteredRowModel.rows;
4608
+ };
4609
+ });
4610
+ return columnFilteredRowModel;
4611
+ }, {
4612
+ key: 'getColumnFilteredRowModelSync',
4613
+ debug: function debug() {
4614
+ var _instance$options$deb;
4417
4615
 
4418
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4616
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4617
+ },
4618
+ onChange: function onChange() {
4619
+ instance._notifySortingReset();
4620
+ }
4621
+ });
4622
+ };
4419
4623
  }
4420
4624
 
4421
- function sortRowsFn(instance, rowModel) {
4422
- var sortingState = instance.getState().sorting;
4423
- var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
4625
+ function getGlobalFilteredRowModelSync() {
4626
+ return function (instance) {
4627
+ return memo(function () {
4628
+ return [instance.getState().globalFilter, instance.getCoreRowModel()];
4629
+ }, function (globalFilter, rowModel) {
4630
+ var globalFilteredRowModel = function () {
4631
+ if (!rowModel.rows.length || !globalFilter) {
4632
+ return rowModel;
4633
+ }
4424
4634
 
4425
- var availableSorting = sortingState.filter(function (sort) {
4426
- return instance.getColumnCanSort(sort.id);
4427
- });
4428
- var columnInfoById = {};
4429
- availableSorting.forEach(function (sortEntry) {
4430
- var column = instance.getColumn(sortEntry.id);
4431
- columnInfoById[sortEntry.id] = {
4432
- sortUndefined: column.sortUndefined,
4433
- invertSorting: column.invertSorting,
4434
- sortingFn: instance.getColumnSortingFn(sortEntry.id)
4435
- };
4436
- });
4635
+ var filterFromLeafRows = instance.options.filterFromLeafRows;
4636
+ var filterFn = instance.getGlobalFilterFn();
4437
4637
 
4438
- var sortData = function sortData(rows) {
4439
- // This will also perform a stable sorting using the row index
4440
- // if needed.
4441
- var sortedData = rows.slice();
4442
- sortedData.sort(function (rowA, rowB) {
4443
- for (var i = 0; i < availableSorting.length; i += 1) {
4444
- var _sortEntry$desc;
4445
-
4446
- var sortEntry = availableSorting[i];
4447
- var columnInfo = columnInfoById[sortEntry.id];
4448
- var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
4449
-
4450
- if (columnInfo.sortUndefined) {
4451
- var aValue = rowA.values[sortEntry.id];
4452
- var bValue = rowB.values[sortEntry.id];
4453
- var aUndefined = typeof aValue === 'undefined';
4454
- var bUndefined = typeof bValue === 'undefined';
4455
-
4456
- if (aUndefined || bUndefined) {
4457
- return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
4638
+ if (!filterFn) {
4639
+ {
4640
+ console.warn("Could not find a valid 'globalFilterType'");
4458
4641
  }
4459
- } // This function should always return in ascending order
4460
4642
 
4643
+ return rowModel;
4644
+ }
4461
4645
 
4462
- var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
4463
-
4464
- if (sortInt !== 0) {
4465
- if (isDesc) {
4466
- sortInt *= -1;
4467
- }
4646
+ var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4647
+ return column.getCanGlobalFilter();
4648
+ });
4649
+ var filterableColumnIds = filterableColumns.map(function (d) {
4650
+ return d.id;
4651
+ });
4468
4652
 
4469
- if (columnInfo.invertSorting) {
4470
- sortInt *= -1;
4471
- }
4653
+ var filterRows = function filterRows(rows) {
4654
+ return filterFn(rows, filterableColumnIds, globalFilter);
4655
+ };
4472
4656
 
4473
- return sortInt;
4657
+ if (filterFromLeafRows) {
4658
+ filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4474
4659
  }
4475
- }
4476
4660
 
4477
- return rowA.index - rowB.index;
4478
- }); // If there are sub-rows, sort them
4661
+ return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4662
+ }(); // Now that each filtered column has it's partially filtered rows,
4663
+ // lets assign the final filtered rows to all of the other columns
4479
4664
 
4480
- sortedData.forEach(function (row) {
4481
- sortedFlatRows.push(row);
4482
4665
 
4483
- if (!row.subRows || row.subRows.length <= 1) {
4484
- return;
4485
- }
4666
+ var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4667
+ var _instance$getState$co;
4486
4668
 
4487
- row.subRows = sortData(row.subRows);
4488
- });
4489
- return sortedData;
4490
- };
4669
+ return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4670
+ return d.id === column.id;
4671
+ }));
4672
+ }); // This essentially enables faceted filter options to be built easily
4673
+ // using every column's preFilteredRows value
4491
4674
 
4492
- return {
4493
- rows: sortData(rowModel.rows),
4494
- flatRows: sortedFlatRows,
4495
- rowsById: rowModel.rowsById
4675
+ nonFilteredColumns.forEach(function (column) {
4676
+ column.getPreFilteredRows = function () {
4677
+ return globalFilteredRowModel.rows;
4678
+ };
4679
+ });
4680
+ return globalFilteredRowModel;
4681
+ }, {
4682
+ key: 'getGlobalFilteredRowModelSync',
4683
+ debug: function debug() {
4684
+ var _instance$options$deb;
4685
+
4686
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4687
+ },
4688
+ onChange: function onChange() {
4689
+ instance._notifySortingReset();
4690
+ }
4691
+ });
4496
4692
  };
4497
4693
  }
4498
4694
 
4499
- function groupRowsFn(instance, sortedRowModel) {
4500
- var groupingState = instance.getState().grouping; // Filter the grouping list down to columns that exist
4695
+ function getSortedRowModelSync() {
4696
+ return function (instance) {
4697
+ return memo(function () {
4698
+ return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
4699
+ }, function (sorting, rowModel) {
4700
+ if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
4701
+ return rowModel;
4702
+ }
4501
4703
 
4502
- var existingGrouping = groupingState.filter(function (columnId) {
4503
- return instance.getColumn(columnId);
4504
- }); // Find the columns that can or are aggregating
4505
- // Uses each column to aggregate rows into a single value
4704
+ var sortingState = instance.getState().sorting;
4705
+ var sortedFlatRows = []; // Filter out sortings that correspond to non existing columns
4506
4706
 
4507
- var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
4508
- var values = {};
4509
- instance.getAllLeafColumns().forEach(function (column) {
4510
- // Don't aggregate columns that are in the grouping
4511
- if (existingGrouping.includes(column.id)) {
4512
- values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
4513
- return;
4514
- } // Aggregate the values
4707
+ var availableSorting = sortingState.filter(function (sort) {
4708
+ return instance.getColumnCanSort(sort.id);
4709
+ });
4710
+ var columnInfoById = {};
4711
+ availableSorting.forEach(function (sortEntry) {
4712
+ var column = instance.getColumn(sortEntry.id);
4713
+ columnInfoById[sortEntry.id] = {
4714
+ sortUndefined: column.sortUndefined,
4715
+ invertSorting: column.invertSorting,
4716
+ sortingFn: instance.getColumnSortingFn(sortEntry.id)
4717
+ };
4718
+ });
4515
4719
 
4720
+ var sortData = function sortData(rows) {
4721
+ // This will also perform a stable sorting using the row index
4722
+ // if needed.
4723
+ var sortedData = rows.slice();
4724
+ sortedData.sort(function (rowA, rowB) {
4725
+ for (var i = 0; i < availableSorting.length; i += 1) {
4726
+ var _sortEntry$desc;
4727
+
4728
+ var sortEntry = availableSorting[i];
4729
+ var columnInfo = columnInfoById[sortEntry.id];
4730
+ var isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
4731
+
4732
+ if (columnInfo.sortUndefined) {
4733
+ var aValue = rowA.values[sortEntry.id];
4734
+ var bValue = rowB.values[sortEntry.id];
4735
+ var aUndefined = typeof aValue === 'undefined';
4736
+ var bUndefined = typeof bValue === 'undefined';
4737
+
4738
+ if (aUndefined || bUndefined) {
4739
+ return aUndefined && bUndefined ? 0 : aUndefined ? columnInfo.sortUndefined : -columnInfo.sortUndefined;
4740
+ }
4741
+ } // This function should always return in ascending order
4516
4742
 
4517
- var aggregateFn = instance.getColumnAggregationFn(column.id);
4518
4743
 
4519
- if (aggregateFn) {
4520
- values[column.id] = aggregateFn(function () {
4521
- return leafRows.map(function (row) {
4522
- var columnValue = row.values[column.id];
4744
+ var sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
4745
+
4746
+ if (sortInt !== 0) {
4747
+ if (isDesc) {
4748
+ sortInt *= -1;
4749
+ }
4523
4750
 
4524
- if (!depth && column.aggregateValue) {
4525
- columnValue = column.aggregateValue(columnValue);
4751
+ if (columnInfo.invertSorting) {
4752
+ sortInt *= -1;
4753
+ }
4754
+
4755
+ return sortInt;
4526
4756
  }
4757
+ }
4527
4758
 
4528
- return columnValue;
4529
- });
4530
- }, function () {
4531
- return groupedRows.map(function (row) {
4532
- return row.values[column.id];
4533
- });
4534
- });
4535
- } else if (column.aggregationType) {
4536
- console.info({
4537
- column: column
4759
+ return rowA.index - rowB.index;
4760
+ }); // If there are sub-rows, sort them
4761
+
4762
+ sortedData.forEach(function (row) {
4763
+ sortedFlatRows.push(row);
4764
+
4765
+ if (!row.subRows || row.subRows.length <= 1) {
4766
+ return;
4767
+ }
4768
+
4769
+ row.subRows = sortData(row.subRows);
4538
4770
  });
4539
- throw new Error("Table: Invalid column.aggregateType option for column listed above" );
4540
- } else {
4541
- values[column.id] = null;
4771
+ return sortedData;
4772
+ };
4773
+
4774
+ return {
4775
+ rows: sortData(rowModel.rows),
4776
+ flatRows: sortedFlatRows,
4777
+ rowsById: rowModel.rowsById
4778
+ };
4779
+ }, {
4780
+ key: 'getSortedRowModel',
4781
+ debug: function debug() {
4782
+ var _instance$options$deb;
4783
+
4784
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4785
+ },
4786
+ onChange: function onChange() {
4787
+ instance._notifyGroupingReset();
4542
4788
  }
4543
4789
  });
4544
- return values;
4545
4790
  };
4791
+ }
4546
4792
 
4547
- var groupedFlatRows = [];
4548
- var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
4549
- // const onlyGroupedRowsById: Record<RowId, Row> = {};
4550
- // const nonGroupedFlatRows: Row[] = [];
4551
- // const nonGroupedRowsById: Record<RowId, Row> = {};
4552
- // Recursively group the data
4793
+ function getGroupedRowModelSync() {
4794
+ return function (instance) {
4795
+ return memo(function () {
4796
+ return [instance.getState().grouping, instance.getSortedRowModel()];
4797
+ }, function (grouping, rowModel) {
4798
+ if (!rowModel.rows.length || !grouping.length) {
4799
+ return rowModel;
4800
+ } // Filter the grouping list down to columns that exist
4553
4801
 
4554
- var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
4555
- if (depth === void 0) {
4556
- depth = 0;
4557
- }
4558
4802
 
4559
- // This is the last level, just return the rows
4560
- if (depth === existingGrouping.length) {
4561
- return rows;
4562
- }
4803
+ var existingGrouping = grouping.filter(function (columnId) {
4804
+ return instance.getColumn(columnId);
4805
+ }); // Find the columns that can or are aggregating
4806
+ // Uses each column to aggregate rows into a single value
4807
+
4808
+ var aggregateRowsToValues = function aggregateRowsToValues(leafRows, groupedRows, depth) {
4809
+ var values = {};
4810
+ instance.getAllLeafColumns().forEach(function (column) {
4811
+ // Don't aggregate columns that are in the grouping
4812
+ if (existingGrouping.includes(column.id)) {
4813
+ values[column.id] = groupedRows[0] ? groupedRows[0].values[column.id] : null;
4814
+ return;
4815
+ } // Aggregate the values
4563
4816
 
4564
- var columnId = existingGrouping[depth]; // Group the rows together for this level
4565
4817
 
4566
- var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
4818
+ var aggregateFn = instance.getColumnAggregationFn(column.id);
4567
4819
 
4568
- var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
4569
- var groupingValue = _ref[0],
4570
- groupedRows = _ref[1];
4571
- var id = columnId + ":" + groupingValue;
4572
- id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
4820
+ if (aggregateFn) {
4821
+ values[column.id] = aggregateFn(function () {
4822
+ return leafRows.map(function (row) {
4823
+ var columnValue = row.values[column.id];
4573
4824
 
4574
- var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
4825
+ if (!depth && column.aggregateValue) {
4826
+ columnValue = column.aggregateValue(columnValue);
4827
+ }
4575
4828
 
4576
- var leafRows = depth ? flattenBy(groupedRows, function (row) {
4577
- return row.subRows;
4578
- }) : groupedRows;
4579
- var values = aggregateRowsToValues(leafRows, groupedRows, depth);
4580
- var row = instance.createRow(id, undefined, index, depth, values);
4581
- Object.assign(row, {
4582
- groupingColumnId: columnId,
4583
- groupingValue: groupingValue,
4584
- subRows: subRows,
4585
- leafRows: leafRows
4586
- });
4587
- subRows.forEach(function (subRow) {
4829
+ return columnValue;
4830
+ });
4831
+ }, function () {
4832
+ return groupedRows.map(function (row) {
4833
+ return row.values[column.id];
4834
+ });
4835
+ });
4836
+ } else if (column.aggregationType) {
4837
+ console.info({
4838
+ column: column
4839
+ });
4840
+ throw new Error("Table: Invalid column.aggregateType option for column listed above" );
4841
+ } else {
4842
+ values[column.id] = null;
4843
+ }
4844
+ });
4845
+ return values;
4846
+ };
4847
+
4848
+ var groupedFlatRows = [];
4849
+ var groupedRowsById = {}; // const onlyGroupedFlatRows: Row[] = [];
4850
+ // const onlyGroupedRowsById: Record<RowId, Row> = {};
4851
+ // const nonGroupedFlatRows: Row[] = [];
4852
+ // const nonGroupedRowsById: Record<RowId, Row> = {};
4853
+ // Recursively group the data
4854
+
4855
+ var groupUpRecursively = function groupUpRecursively(rows, depth, parentId) {
4856
+ if (depth === void 0) {
4857
+ depth = 0;
4858
+ }
4859
+
4860
+ // This is the last level, just return the rows
4861
+ if (depth === existingGrouping.length) {
4862
+ return rows;
4863
+ }
4864
+
4865
+ var columnId = existingGrouping[depth]; // Group the rows together for this level
4866
+
4867
+ var rowGroupsMap = groupBy(rows, columnId); // Peform aggregations for each group
4868
+
4869
+ var aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(function (_ref, index) {
4870
+ var groupingValue = _ref[0],
4871
+ groupedRows = _ref[1];
4872
+ var id = columnId + ":" + groupingValue;
4873
+ id = parentId ? parentId + ">" + id : id; // First, Recurse to group sub rows before aggregation
4874
+
4875
+ var subRows = groupUpRecursively(groupedRows, depth + 1, id); // Flatten the leaf rows of the rows in this group
4876
+
4877
+ var leafRows = depth ? flattenBy(groupedRows, function (row) {
4878
+ return row.subRows;
4879
+ }) : groupedRows;
4880
+ var values = aggregateRowsToValues(leafRows, groupedRows, depth);
4881
+ var row = instance.createRow(id, undefined, index, depth, values);
4882
+ Object.assign(row, {
4883
+ groupingColumnId: columnId,
4884
+ groupingValue: groupingValue,
4885
+ subRows: subRows,
4886
+ leafRows: leafRows
4887
+ });
4888
+ subRows.forEach(function (subRow) {
4889
+ groupedFlatRows.push(subRow);
4890
+ groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
4891
+ // onlyGroupedFlatRows.push(subRow);
4892
+ // onlyGroupedRowsById[subRow.id] = subRow;
4893
+ // } else {
4894
+ // nonGroupedFlatRows.push(subRow);
4895
+ // nonGroupedRowsById[subRow.id] = subRow;
4896
+ // }
4897
+ });
4898
+ return row;
4899
+ });
4900
+ return aggregatedGroupedRows;
4901
+ };
4902
+
4903
+ var groupedRows = groupUpRecursively(rowModel.rows, 0, '');
4904
+ groupedRows.forEach(function (subRow) {
4588
4905
  groupedFlatRows.push(subRow);
4589
4906
  groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
4590
4907
  // onlyGroupedFlatRows.push(subRow);
@@ -4594,26 +4911,22 @@
4594
4911
  // nonGroupedRowsById[subRow.id] = subRow;
4595
4912
  // }
4596
4913
  });
4597
- return row;
4598
- });
4599
- return aggregatedGroupedRows;
4600
- };
4914
+ return {
4915
+ rows: groupedRows,
4916
+ flatRows: groupedFlatRows,
4917
+ rowsById: groupedRowsById
4918
+ };
4919
+ }, {
4920
+ key: 'getGroupedRowModel',
4921
+ debug: function debug() {
4922
+ var _instance$options$deb;
4601
4923
 
4602
- var groupedRows = groupUpRecursively(sortedRowModel.rows, 0, '');
4603
- groupedRows.forEach(function (subRow) {
4604
- groupedFlatRows.push(subRow);
4605
- groupedRowsById[subRow.id] = subRow; // if (subRow.getIsGrouped?.()) {
4606
- // onlyGroupedFlatRows.push(subRow);
4607
- // onlyGroupedRowsById[subRow.id] = subRow;
4608
- // } else {
4609
- // nonGroupedFlatRows.push(subRow);
4610
- // nonGroupedRowsById[subRow.id] = subRow;
4611
- // }
4612
- });
4613
- return {
4614
- rows: groupedRows,
4615
- flatRows: groupedFlatRows,
4616
- rowsById: groupedRowsById
4924
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4925
+ },
4926
+ onChange: function onChange() {
4927
+ return instance._notifyExpandedReset();
4928
+ }
4929
+ });
4617
4930
  };
4618
4931
  }
4619
4932
 
@@ -4633,7 +4946,28 @@
4633
4946
  }, groupMap);
4634
4947
  }
4635
4948
 
4636
- function expandRowsFn(instance, sortedRowModel) {
4949
+ function getExpandedRowModel() {
4950
+ return function (instance) {
4951
+ return memo(function () {
4952
+ return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
4953
+ }, function (expanded, rowModel, paginateExpandedRows) {
4954
+ if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
4955
+ !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
4956
+ return rowModel;
4957
+ }
4958
+
4959
+ return expandRows(rowModel, instance);
4960
+ }, {
4961
+ key: 'getExpandedRowModel',
4962
+ debug: function debug() {
4963
+ var _instance$options$deb;
4964
+
4965
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4966
+ }
4967
+ });
4968
+ };
4969
+ }
4970
+ function expandRows(rowModel, instance) {
4637
4971
  var expandedRows = [];
4638
4972
 
4639
4973
  var handleRow = function handleRow(row) {
@@ -4646,37 +4980,53 @@
4646
4980
  }
4647
4981
  };
4648
4982
 
4649
- sortedRowModel.rows.forEach(handleRow);
4983
+ rowModel.rows.forEach(handleRow);
4650
4984
  return {
4651
4985
  rows: expandedRows,
4652
- flatRows: sortedRowModel.flatRows,
4653
- rowsById: sortedRowModel.rowsById
4986
+ flatRows: rowModel.flatRows,
4987
+ rowsById: rowModel.rowsById
4654
4988
  };
4655
4989
  }
4656
4990
 
4657
- function paginateRowsFn(instance, rowModel) {
4658
- var _instance$getState$pa = instance.getState().pagination,
4659
- pageSize = _instance$getState$pa.pageSize,
4660
- pageIndex = _instance$getState$pa.pageIndex;
4661
- var rows = rowModel.rows,
4662
- flatRows = rowModel.flatRows,
4663
- rowsById = rowModel.rowsById;
4664
- var pageStart = pageSize * pageIndex;
4665
- var pageEnd = pageStart + pageSize;
4666
- rows = rows.slice(pageStart, pageEnd);
4667
-
4668
- if (!instance.options.paginateExpandedRows) {
4669
- return expandRowsFn(instance, {
4670
- rows: rows,
4671
- flatRows: flatRows,
4672
- rowsById: rowsById
4673
- });
4674
- }
4991
+ function getPaginationRowModel(opts) {
4992
+ return function (instance) {
4993
+ return memo(function () {
4994
+ return [instance.getState().pagination, instance.getExpandedRowModel()];
4995
+ }, function (pagination, rowModel) {
4996
+ if (!rowModel.rows.length) {
4997
+ return rowModel;
4998
+ }
4675
4999
 
4676
- return {
4677
- rows: rows,
4678
- flatRows: flatRows,
4679
- rowsById: rowsById
5000
+ var pageSize = pagination.pageSize,
5001
+ pageIndex = pagination.pageIndex;
5002
+ var rows = rowModel.rows,
5003
+ flatRows = rowModel.flatRows,
5004
+ rowsById = rowModel.rowsById;
5005
+ var pageStart = pageSize * pageIndex;
5006
+ var pageEnd = pageStart + pageSize;
5007
+ rows = rows.slice(pageStart, pageEnd);
5008
+
5009
+ if (!instance.options.paginateExpandedRows) {
5010
+ return expandRows({
5011
+ rows: rows,
5012
+ flatRows: flatRows,
5013
+ rowsById: rowsById
5014
+ }, instance);
5015
+ }
5016
+
5017
+ return {
5018
+ rows: rows,
5019
+ flatRows: flatRows,
5020
+ rowsById: rowsById
5021
+ };
5022
+ }, {
5023
+ key: 'getPaginationRowModel',
5024
+ debug: function debug() {
5025
+ var _instance$options$deb;
5026
+
5027
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
5028
+ }
5029
+ });
4680
5030
  };
4681
5031
  }
4682
5032
 
@@ -4692,26 +5042,31 @@
4692
5042
  exports.Sorting = Sorting;
4693
5043
  exports.Visibility = Visibility;
4694
5044
  exports.buildHeaderGroups = buildHeaderGroups;
4695
- exports.columnFilterRowsFn = columnFilterRowsFn;
4696
5045
  exports.createTableInstance = createTableInstance;
4697
5046
  exports.defaultColumnSizing = defaultColumnSizing;
4698
- exports.expandRowsFn = expandRowsFn;
5047
+ exports.expandRows = expandRows;
4699
5048
  exports.flattenBy = flattenBy;
4700
5049
  exports.functionalUpdate = functionalUpdate;
4701
- exports.globalFilterRowsFn = globalFilterRowsFn;
4702
- exports.groupRowsFn = groupRowsFn;
5050
+ exports.getBatchGroups = getBatchGroups;
5051
+ exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
5052
+ exports.getCoreRowModelAsync = getCoreRowModelAsync;
5053
+ exports.getCoreRowModelSync = getCoreRowModelSync;
5054
+ exports.getExpandedRowModel = getExpandedRowModel;
5055
+ exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
5056
+ exports.getGroupedRowModelSync = getGroupedRowModelSync;
5057
+ exports.getPaginationRowModel = getPaginationRowModel;
5058
+ exports.getSortedRowModelSync = getSortedRowModelSync;
5059
+ exports.incrementalMemo = incrementalMemo;
4703
5060
  exports.init = init;
4704
5061
  exports.isFunction = isFunction;
4705
5062
  exports.isRowSelected = isRowSelected;
4706
5063
  exports.makeStateUpdater = makeStateUpdater;
4707
5064
  exports.memo = memo;
4708
5065
  exports.noop = noop;
4709
- exports.paginateRowsFn = paginateRowsFn;
4710
5066
  exports.passiveEventSupported = passiveEventSupported;
4711
5067
  exports.propGetter = propGetter;
4712
5068
  exports.selectRowsFn = selectRowsFn;
4713
5069
  exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
4714
- exports.sortRowsFn = sortRowsFn;
4715
5070
 
4716
5071
  Object.defineProperty(exports, '__esModule', { value: true });
4717
5072