@tanstack/table-core 8.0.0-alpha.62 → 8.0.0-alpha.65

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 (113) hide show
  1. package/build/cjs/core.js +8 -5
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +3 -3
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +7 -7
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +3 -3
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +158 -80
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +24 -22
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -16
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +6 -5
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +5 -5
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +17 -78
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +8 -8
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +8 -8
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +5 -5
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +51 -108
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +5 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +21 -0
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getExpandedRowModel.js +1 -1
  40. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getFilteredRowModelSync.js +130 -0
  42. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  43. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  44. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  46. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  47. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  48. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  49. package/build/cjs/utils.js +2 -6
  50. package/build/cjs/utils.js.map +1 -1
  51. package/build/esm/index.js +491 -573
  52. package/build/esm/index.js.map +1 -1
  53. package/build/stats-html.html +1 -1
  54. package/build/stats-react.json +388 -402
  55. package/build/types/features/Expanding.d.ts +2 -7
  56. package/build/types/features/Filters.d.ts +27 -29
  57. package/build/types/features/Grouping.d.ts +3 -11
  58. package/build/types/features/Ordering.d.ts +2 -6
  59. package/build/types/features/Pinning.d.ts +2 -15
  60. package/build/types/features/RowSelection.d.ts +3 -8
  61. package/build/types/features/Sorting.d.ts +2 -8
  62. package/build/types/features/Visibility.d.ts +2 -11
  63. package/build/types/filterFns.d.ts +10 -52
  64. package/build/types/index.d.ts +1 -2
  65. package/build/types/types.d.ts +2 -2
  66. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  67. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  68. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  69. package/build/types/utils.d.ts +2 -2
  70. package/build/umd/index.development.js +494 -574
  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 +2 -1
  75. package/src/core.ts +6 -5
  76. package/src/features/Cells.ts +3 -1
  77. package/src/features/ColumnSizing.ts +2 -1
  78. package/src/features/Columns.ts +11 -7
  79. package/src/features/Expanding.ts +4 -2
  80. package/src/features/Filters.ts +216 -116
  81. package/src/features/Grouping.ts +23 -21
  82. package/src/features/Headers.ts +16 -16
  83. package/src/features/Ordering.ts +7 -9
  84. package/src/features/Pagination.ts +4 -3
  85. package/src/features/Pinning.ts +16 -80
  86. package/src/features/RowSelection.ts +14 -9
  87. package/src/features/Sorting.ts +12 -12
  88. package/src/features/Visibility.ts +7 -4
  89. package/src/filterFns.ts +74 -147
  90. package/src/index.ts +1 -2
  91. package/src/types.ts +2 -0
  92. package/src/utils/filterRowsUtils.ts +24 -0
  93. package/src/utils/getCoreRowModelAsync.ts +1 -1
  94. package/src/utils/getCoreRowModelSync.ts +1 -1
  95. package/src/utils/getExpandedRowModel.ts +1 -1
  96. package/src/utils/getFilteredRowModelAsync.ts +49 -0
  97. package/src/utils/getFilteredRowModelSync.ts +150 -0
  98. package/src/utils/getGroupedRowModel.ts +1 -1
  99. package/src/utils/getPaginationRowModel.ts +1 -1
  100. package/src/utils/getSortedRowModelAsync.ts +1 -1
  101. package/src/utils/getSortedRowModelSync.ts +1 -1
  102. package/src/utils.ts +2 -4
  103. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  104. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  105. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  106. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  107. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  108. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  109. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  110. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  111. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  112. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  113. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
@@ -207,9 +207,7 @@ function memo(getDeps, fn, opts) {
207
207
  var a = _ref[0],
208
208
  b = _ref[1];
209
209
  return _extends({}, accu, (_extends3 = {}, _extends3[a] = b, _extends3));
210
- }, {}), {
211
- parent: parent
212
- }));
210
+ }, {})));
213
211
  }
214
212
  }
215
213
 
@@ -293,9 +291,7 @@ function incrementalMemo(getDeps, getInitialValue, schedule, opts) {
293
291
  var a = _ref2[0],
294
292
  b = _ref2[1];
295
293
  return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
296
- }, {}), {
297
- parent: parent
298
- }));
294
+ }, {})));
299
295
  }
300
296
  }
301
297
 
@@ -377,7 +373,7 @@ var Columns = {
377
373
 
378
374
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
379
375
  },
380
- key: 'getDefaultColumn'
376
+ key: process.env.NODE_ENV === 'production' && 'getDefaultColumn'
381
377
  }),
382
378
  getColumnDefs: function getColumnDefs() {
383
379
  return instance.options.columns;
@@ -422,7 +418,7 @@ var Columns = {
422
418
  return d.getFlatColumns();
423
419
  }));
424
420
  }, {
425
- key: 'column.getFlatColumns',
421
+ key: process.env.NODE_ENV === 'production' && 'column.getFlatColumns',
426
422
  debug: function debug() {
427
423
  var _instance$options$deb2;
428
424
 
@@ -443,7 +439,7 @@ var Columns = {
443
439
 
444
440
  return [column];
445
441
  }, {
446
- key: 'column.getLeafColumns',
442
+ key: process.env.NODE_ENV === 'production' && 'column.getLeafColumns',
447
443
  debug: function debug() {
448
444
  var _instance$options$deb3;
449
445
 
@@ -475,7 +471,7 @@ var Columns = {
475
471
 
476
472
  return recurseColumns(columnDefs);
477
473
  }, {
478
- key: 'getAllColumns',
474
+ key: process.env.NODE_ENV === 'production' && 'getAllColumns',
479
475
  debug: function debug() {
480
476
  var _instance$options$deb4;
481
477
 
@@ -489,7 +485,7 @@ var Columns = {
489
485
  return column.getFlatColumns();
490
486
  });
491
487
  }, {
492
- key: 'getAllFlatColumns',
488
+ key: process.env.NODE_ENV === 'production' && 'getAllFlatColumns',
493
489
  debug: function debug() {
494
490
  var _instance$options$deb5;
495
491
 
@@ -504,7 +500,7 @@ var Columns = {
504
500
  return acc;
505
501
  }, {});
506
502
  }, {
507
- key: 'getAllFlatColumnsById',
503
+ key: process.env.NODE_ENV === 'production' && 'getAllFlatColumnsById',
508
504
  debug: function debug() {
509
505
  var _instance$options$deb6;
510
506
 
@@ -519,7 +515,7 @@ var Columns = {
519
515
  });
520
516
  return orderColumns(leafColumns);
521
517
  }, {
522
- key: 'getAllLeafColumns',
518
+ key: process.env.NODE_ENV === 'production' && 'getAllLeafColumns',
523
519
  debug: function debug() {
524
520
  var _instance$options$deb7;
525
521
 
@@ -635,7 +631,7 @@ var Cells = {
635
631
  return acc;
636
632
  }, {});
637
633
  }, {
638
- key: 'row.getAllCellsByColumnId',
634
+ key: process.env.NODE_ENV === 'production' && 'row.getAllCellsByColumnId',
639
635
  debug: function debug() {
640
636
  var _instance$options$deb2;
641
637
 
@@ -708,8 +704,8 @@ var ColumnSizing = {
708
704
  getDefaultColumn: function getDefaultColumn() {
709
705
  return defaultColumnSizing;
710
706
  },
711
- getInitialState: function getInitialState() {
712
- return {
707
+ getInitialState: function getInitialState(state) {
708
+ return _extends({
713
709
  columnSizing: {},
714
710
  columnSizingInfo: {
715
711
  startOffset: null,
@@ -719,7 +715,7 @@ var ColumnSizing = {
719
715
  isResizingColumn: false,
720
716
  columnSizingStart: []
721
717
  }
722
- };
718
+ }, state);
723
719
  },
724
720
  getDefaultOptions: function getDefaultOptions(instance) {
725
721
  return {
@@ -1052,10 +1048,10 @@ function isTouchStartEvent(e) {
1052
1048
 
1053
1049
  //
1054
1050
  var Expanding = {
1055
- getInitialState: function getInitialState() {
1056
- return {
1051
+ getInitialState: function getInitialState(state) {
1052
+ return _extends({
1057
1053
  expanded: {}
1058
- };
1054
+ }, state);
1059
1055
  },
1060
1056
  getDefaultOptions: function getDefaultOptions(instance) {
1061
1057
  return {
@@ -1251,150 +1247,85 @@ var Expanding = {
1251
1247
  }
1252
1248
  };
1253
1249
 
1254
- var filterFns = {
1255
- includesString: includesString,
1256
- includesStringSensitive: includesStringSensitive,
1257
- equalsString: equalsString,
1258
- equalsStringSensitive: equalsStringSensitive,
1259
- arrIncludes: arrIncludes,
1260
- arrIncludesAll: arrIncludesAll,
1261
- arrIncludesSome: arrIncludesSome,
1262
- equals: equals,
1263
- weakEquals: weakEquals,
1264
- betweenNumberRange: betweenNumberRange
1250
+ var includesString = function includesString(row, columnId, filterValue) {
1251
+ var search = filterValue.toLowerCase();
1252
+ return row.values[columnId].toLowerCase().includes(search);
1265
1253
  };
1266
1254
 
1267
- function includesString(rows, columnIds, filterValue) {
1268
- var search = String(filterValue).toLowerCase();
1269
- rows = rows.filter(function (row) {
1270
- return columnIds.some(function (id) {
1271
- return String(row.values[id]).toLowerCase().includes(search);
1272
- });
1273
- });
1274
- return rows;
1275
- }
1276
-
1277
1255
  includesString.autoRemove = function (val) {
1278
1256
  return testFalsey(val);
1279
1257
  };
1280
1258
 
1281
- function includesStringSensitive(rows, columnIds, filterValue) {
1282
- var search = String(filterValue);
1283
- rows = rows.filter(function (row) {
1284
- return columnIds.some(function (id) {
1285
- return String(row.values[id]).includes(search);
1286
- });
1287
- });
1288
- return rows;
1289
- }
1259
+ var includesStringSensitive = function includesStringSensitive(row, columnId, filterValue) {
1260
+ return row.values[columnId].includes(filterValue);
1261
+ };
1290
1262
 
1291
1263
  includesStringSensitive.autoRemove = function (val) {
1292
1264
  return testFalsey(val);
1293
1265
  };
1294
1266
 
1295
- function equalsString(rows, columnIds, filterValue) {
1296
- var search = String(filterValue).toLowerCase();
1297
- return rows.filter(function (row) {
1298
- return columnIds.some(function (id) {
1299
- var rowValue = row.values[id];
1300
- return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
1301
- });
1302
- });
1303
- }
1267
+ var equalsString = function equalsString(row, columnId, filterValue) {
1268
+ return row.values[columnId].toLowerCase() === filterValue.toLowerCase();
1269
+ };
1304
1270
 
1305
1271
  equalsString.autoRemove = function (val) {
1306
1272
  return testFalsey(val);
1307
1273
  };
1308
1274
 
1309
- function equalsStringSensitive(rows, columnIds, filterValue) {
1310
- var search = String(filterValue);
1311
- return rows.filter(function (row) {
1312
- return columnIds.some(function (id) {
1313
- var rowValue = row.values[id];
1314
- return rowValue !== undefined ? String(rowValue) === search : true;
1315
- });
1316
- });
1317
- }
1318
-
1319
- equalsStringSensitive.autoRemove = function (val) {
1320
- return testFalsey(val);
1275
+ var arrIncludes = function arrIncludes(row, columnId, filterValue) {
1276
+ return row.values[columnId].includes(filterValue);
1321
1277
  };
1322
1278
 
1323
- function arrIncludes(rows, columnIds, filterValue) {
1324
- return rows.filter(function (row) {
1325
- return columnIds.some(function (id) {
1326
- var rowValue = row.values[id];
1327
- return rowValue.includes(filterValue);
1328
- });
1329
- });
1330
- }
1331
-
1332
1279
  arrIncludes.autoRemove = function (val) {
1333
1280
  return testFalsey(val) || !(val != null && val.length);
1334
1281
  };
1335
1282
 
1336
- function arrIncludesAll(rows, columnIds, filterValue) {
1337
- return rows.filter(function (row) {
1338
- return columnIds.some(function (id) {
1339
- var rowValue = row.values[id];
1340
- return rowValue && rowValue.length && filterValue.every(function (val) {
1341
- return rowValue.includes(val);
1342
- });
1343
- });
1283
+ var arrIncludesAll = function arrIncludesAll(row, columnId, filterValue) {
1284
+ return !filterValue.some(function (val) {
1285
+ return !row.values[columnId].includes(val);
1344
1286
  });
1345
- }
1287
+ };
1346
1288
 
1347
1289
  arrIncludesAll.autoRemove = function (val) {
1348
1290
  return testFalsey(val) || !(val != null && val.length);
1349
1291
  };
1350
1292
 
1351
- function arrIncludesSome(rows, columnIds, filterValue) {
1352
- return rows.filter(function (row) {
1353
- return columnIds.some(function (id) {
1354
- var rowValue = row.values[id];
1355
- return rowValue && rowValue.length && filterValue.some(function (val) {
1356
- return rowValue.includes(val);
1357
- });
1358
- });
1293
+ var arrIncludesSome = function arrIncludesSome(row, columnId, filterValue) {
1294
+ return filterValue.some(function (val) {
1295
+ return row.values[columnId].includes(val);
1359
1296
  });
1360
- }
1297
+ };
1361
1298
 
1362
1299
  arrIncludesSome.autoRemove = function (val) {
1363
1300
  return testFalsey(val) || !(val != null && val.length);
1364
1301
  };
1365
1302
 
1366
- function equals(rows, columnIds, filterValue) {
1367
- return rows.filter(function (row) {
1368
- return columnIds.some(function (id) {
1369
- var rowValue = row.values[id];
1370
- return rowValue === filterValue;
1371
- });
1372
- });
1373
- }
1303
+ var equals = function equals(row, columnId, filterValue) {
1304
+ return row.values[columnId] === filterValue;
1305
+ };
1374
1306
 
1375
1307
  equals.autoRemove = function (val) {
1376
1308
  return testFalsey(val);
1377
1309
  };
1378
1310
 
1379
- function weakEquals(rows, columnIds, filterValue) {
1380
- return rows.filter(function (row) {
1381
- return columnIds.some(function (id) {
1382
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
1383
-
1384
- return rowValue == filterValue;
1385
- });
1386
- });
1387
- }
1311
+ var weakEquals = function weakEquals(row, columnId, filterValue) {
1312
+ return row.values[columnId] == filterValue;
1313
+ };
1388
1314
 
1389
1315
  weakEquals.autoRemove = function (val) {
1390
1316
  return testFalsey(val);
1391
1317
  };
1392
1318
 
1393
- function betweenNumberRange(rows, columnIds, filterValue) {
1394
- var _ref = filterValue || [],
1395
- unsafeMin = _ref[0],
1396
- unsafeMax = _ref[1];
1319
+ var inNumberRange = function inNumberRange(row, columnId, filterValue) {
1320
+ var min = filterValue[0],
1321
+ max = filterValue[1];
1322
+ var rowValue = row.values[columnId];
1323
+ return rowValue >= min && rowValue <= max;
1324
+ };
1397
1325
 
1326
+ inNumberRange.resolveFilterValue = function (val) {
1327
+ var unsafeMin = val[0],
1328
+ unsafeMax = val[1];
1398
1329
  var parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
1399
1330
  var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
1400
1331
  var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
@@ -1406,23 +1337,134 @@ function betweenNumberRange(rows, columnIds, filterValue) {
1406
1337
  max = temp;
1407
1338
  }
1408
1339
 
1409
- return rows.filter(function (row) {
1410
- return columnIds.some(function (id) {
1411
- var rowValue = row.values[id];
1412
- return rowValue >= min && rowValue <= max;
1413
- });
1414
- });
1415
- }
1340
+ return [min, max];
1341
+ };
1416
1342
 
1417
- betweenNumberRange.autoRemove = function (val) {
1343
+ inNumberRange.autoRemove = function (val) {
1418
1344
  return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
1419
- }; // Utils
1345
+ }; // Export
1346
+
1420
1347
 
1348
+ var filterFns = {
1349
+ includesString: includesString,
1350
+ includesStringSensitive: includesStringSensitive,
1351
+ equalsString: equalsString,
1352
+ arrIncludes: arrIncludes,
1353
+ arrIncludesAll: arrIncludesAll,
1354
+ arrIncludesSome: arrIncludesSome,
1355
+ equals: equals,
1356
+ weakEquals: weakEquals,
1357
+ inNumberRange: inNumberRange
1358
+ };
1421
1359
 
1360
+ // Utils
1422
1361
  function testFalsey(val) {
1423
1362
  return val === undefined || val === null || val === '';
1424
1363
  }
1425
1364
 
1365
+ function filterRows(rows, columnIds, instance) {
1366
+ var filterRowImpl = function filterRowImpl(rowsToFilter) {
1367
+ // Horizontally filter rows through each column
1368
+ return rowsToFilter.filter(function (row) {
1369
+ for (var i = 0; i < columnIds.length; i++) {
1370
+ if (row.columnFilterMap[columnIds[i]] === false) {
1371
+ return false;
1372
+ }
1373
+ }
1374
+
1375
+ return true;
1376
+ });
1377
+ };
1378
+
1379
+ if (instance.options.filterFromLeafRows) {
1380
+ return filterRowModelFromLeafs(rows, filterRowImpl, instance);
1381
+ }
1382
+
1383
+ return filterRowModelFromRoot(rows, filterRowImpl, instance);
1384
+ }
1385
+ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
1386
+ var newFilteredFlatRows = [];
1387
+ var newFilteredRowsById = {};
1388
+
1389
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1390
+ if (depth === void 0) {
1391
+ depth = 0;
1392
+ }
1393
+
1394
+ rowsToFilter = rowsToFilter.slice(); // Filter from children up first
1395
+
1396
+ for (var i = 0; i < rowsToFilter.length; i++) {
1397
+ var _row$subRows;
1398
+
1399
+ var row = rowsToFilter[i];
1400
+
1401
+ if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
1402
+ continue;
1403
+ }
1404
+
1405
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1406
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1407
+
1408
+ if (!rowsToFilter[i].subRows.length) {
1409
+ rowsToFilter.splice(i, 1);
1410
+ i--;
1411
+ }
1412
+ }
1413
+
1414
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1415
+
1416
+ rowsToFilter.forEach(function (row) {
1417
+ newFilteredFlatRows.push(row);
1418
+ newFilteredRowsById[row.id] = row;
1419
+ });
1420
+ return rowsToFilter;
1421
+ };
1422
+
1423
+ return {
1424
+ rows: recurseFilterRows(rowsToFilter),
1425
+ flatRows: newFilteredFlatRows,
1426
+ rowsById: newFilteredRowsById
1427
+ };
1428
+ }
1429
+ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
1430
+ var newFilteredFlatRows = [];
1431
+ var newFilteredRowsById = {}; // Filters top level and nested rows
1432
+
1433
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1434
+ if (depth === void 0) {
1435
+ depth = 0;
1436
+ }
1437
+
1438
+ // Filter from parents downward first
1439
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1440
+
1441
+ for (var i = 0; i < rowsToFilter.length; i++) {
1442
+ var _row$subRows2;
1443
+
1444
+ var row = rowsToFilter[i];
1445
+ newFilteredFlatRows.push(row);
1446
+ newFilteredRowsById[row.id] = row;
1447
+
1448
+ if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
1449
+ rowsToFilter.splice(i, 1);
1450
+ i--;
1451
+ continue;
1452
+ }
1453
+
1454
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1455
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1456
+ }
1457
+
1458
+ return rowsToFilter;
1459
+ };
1460
+
1461
+ return {
1462
+ rows: recurseFilterRows(rowsToFilter),
1463
+ flatRows: newFilteredFlatRows,
1464
+ rowsById: newFilteredRowsById
1465
+ };
1466
+ }
1467
+
1426
1468
  //
1427
1469
  var Filters = {
1428
1470
  getDefaultColumn: function getDefaultColumn() {
@@ -1430,13 +1472,13 @@ var Filters = {
1430
1472
  filterFn: 'auto'
1431
1473
  };
1432
1474
  },
1433
- getInitialState: function getInitialState() {
1434
- return {
1475
+ getInitialState: function getInitialState(state) {
1476
+ return _extends({
1435
1477
  columnFilters: [],
1436
1478
  globalFilter: undefined,
1437
1479
  columnFiltersProgress: 1,
1438
1480
  globalFilterProgress: 1
1439
- };
1481
+ }, state);
1440
1482
  },
1441
1483
  getDefaultOptions: function getDefaultOptions(instance) {
1442
1484
  return {
@@ -1444,7 +1486,7 @@ var Filters = {
1444
1486
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1445
1487
  filterFromLeafRows: true,
1446
1488
  globalFilterFn: 'auto',
1447
- getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1489
+ getColumnCanGlobalFilter: function getColumnCanGlobalFilter(column) {
1448
1490
  var _instance$getCoreRowM, _instance$getCoreRowM2;
1449
1491
 
1450
1492
  var value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.value;
@@ -1453,50 +1495,6 @@ var Filters = {
1453
1495
  };
1454
1496
  },
1455
1497
  createColumn: function createColumn(column, instance) {
1456
- var getFacetInfo = memo(function () {
1457
- return [column.getPreFilteredRows()];
1458
- }, function (rows) {
1459
- var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
1460
-
1461
- if (rows === void 0) {
1462
- rows = [];
1463
- }
1464
-
1465
- var preFilteredUniqueValues = new Map();
1466
- var preFilteredMinMaxValues = [(_rows$0$values$column = (_rows$ = rows[0]) == null ? void 0 : _rows$.values[column.id]) != null ? _rows$0$values$column : null, (_rows$0$values$column2 = (_rows$2 = rows[0]) == null ? void 0 : _rows$2.values[column.id]) != null ? _rows$0$values$column2 : null];
1467
-
1468
- for (var i = 0; i < rows.length; i++) {
1469
- var _rows$i;
1470
-
1471
- var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
1472
-
1473
- if (preFilteredUniqueValues.has(_value)) {
1474
- var _preFilteredUniqueVal;
1475
-
1476
- preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
1477
- } else {
1478
- preFilteredUniqueValues.set(_value, 1);
1479
- }
1480
-
1481
- if (_value < preFilteredMinMaxValues[0]) {
1482
- preFilteredMinMaxValues[0] = _value;
1483
- } else if (_value > preFilteredMinMaxValues[1]) {
1484
- preFilteredMinMaxValues[1] = _value;
1485
- }
1486
- }
1487
-
1488
- return {
1489
- preFilteredUniqueValues: preFilteredUniqueValues,
1490
- preFilteredMinMaxValues: preFilteredMinMaxValues
1491
- };
1492
- }, {
1493
- key: 'column.getFacetInfo',
1494
- debug: function debug() {
1495
- var _instance$options$deb;
1496
-
1497
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1498
- }
1499
- });
1500
1498
  return {
1501
1499
  filterFn: column.filterFn,
1502
1500
  getCanColumnFilter: function getCanColumnFilter() {
@@ -1517,15 +1515,57 @@ var Filters = {
1517
1515
  setColumnFilterValue: function setColumnFilterValue(val) {
1518
1516
  return instance.setColumnFilterValue(column.id, val);
1519
1517
  },
1520
- getPreFilteredUniqueValues: function getPreFilteredUniqueValues() {
1521
- return getFacetInfo().preFilteredUniqueValues;
1522
- },
1523
- getPreFilteredMinMaxValues: function getPreFilteredMinMaxValues() {
1524
- return getFacetInfo().preFilteredMinMaxValues;
1525
- },
1526
- getPreFilteredRows: function getPreFilteredRows() {
1527
- return undefined;
1528
- }
1518
+ getFacetedRowModel: memo(function () {
1519
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1520
+ instance.getFilteredRowModel()];
1521
+ }, function (rowModel, columnFilters, globalFilter, _) {
1522
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1523
+ return rowModel;
1524
+ }
1525
+
1526
+ return filterRows(rowModel.rows, [].concat(columnFilters.map(function (d) {
1527
+ return d.id;
1528
+ }).filter(function (d) {
1529
+ return d !== column.id;
1530
+ }), [globalFilter ? '__global__' : undefined]).filter(Boolean), instance);
1531
+ }, {
1532
+ key: process.env.NODE_ENV === 'production' && 'getFacetedRowModel_' + column.id,
1533
+ debug: function debug() {
1534
+ var _instance$options$deb;
1535
+
1536
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1537
+ }
1538
+ }),
1539
+ getFacetedUniqueValues: memo(function () {
1540
+ return [column.getFacetedRowModel()];
1541
+ }, function (facetedRowModel) {
1542
+ return getRowModelUniqueValues(facetedRowModel, column.id);
1543
+ }, {
1544
+ key: process.env.NODE_ENV === 'production' && 'column.getFacetedUniqueValues',
1545
+ debug: function debug() {
1546
+ var _instance$options$deb2;
1547
+
1548
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
1549
+ }
1550
+ }),
1551
+ getFacetedMinMaxValues: memo(function () {
1552
+ return [column.getFacetedRowModel()];
1553
+ }, function (facetedRowModel) {
1554
+ return getRowModelMinMaxValues(facetedRowModel, column.id);
1555
+ }, {
1556
+ key: process.env.NODE_ENV === 'production' && 'column.getFacetedMinMaxValues',
1557
+ debug: function debug() {
1558
+ var _instance$options$deb3;
1559
+
1560
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
1561
+ }
1562
+ })
1563
+ };
1564
+ },
1565
+ createRow: function createRow(row, instance) {
1566
+ return {
1567
+ columnFilterMap: {},
1568
+ subRowsByFacetId: {}
1529
1569
  };
1530
1570
  },
1531
1571
  createInstance: function createInstance(instance) {
@@ -1539,7 +1579,7 @@ var Filters = {
1539
1579
  }
1540
1580
 
1541
1581
  if (typeof value === 'number') {
1542
- return filterFns.betweenNumberRange;
1582
+ return filterFns.inNumberRange;
1543
1583
  }
1544
1584
 
1545
1585
  if (value !== null && typeof value === 'object') {
@@ -1552,6 +1592,15 @@ var Filters = {
1552
1592
 
1553
1593
  return filterFns.weakEquals;
1554
1594
  },
1595
+ getColumnFacetedRowModel: function getColumnFacetedRowModel(columnId) {
1596
+ var column = instance.getColumn(columnId);
1597
+
1598
+ if (!column) {
1599
+ throw new Error();
1600
+ }
1601
+
1602
+ return column.getFacetedRowModel();
1603
+ },
1555
1604
  getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
1556
1605
  return filterFns.includesString;
1557
1606
  },
@@ -1607,7 +1656,7 @@ var Filters = {
1607
1656
  instance.setGlobalFilter(instance.initialState.globalFilter);
1608
1657
  },
1609
1658
  getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
1610
- var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
1659
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
1611
1660
 
1612
1661
  var column = instance.getColumn(columnId);
1613
1662
 
@@ -1615,10 +1664,10 @@ var Filters = {
1615
1664
  throw new Error();
1616
1665
  }
1617
1666
 
1618
- return (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_ref7 = (_column$enableAllFilt = column.enableAllFilters) != null ? _column$enableAllFilt : column.enableColumnFilter) != null ? _ref7 : instance.options.enableFilters) != null ? _ref6 : instance.options.enableColumnFilters) != null ? _ref5 : column.defaultCanColumnFilter) != null ? _ref4 : column.defaultCanFilter) != null ? _ref3 : !!column.accessorFn;
1667
+ return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
1619
1668
  },
1620
1669
  getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
1621
- var _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _instance$options$ena;
1670
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
1622
1671
 
1623
1672
  var column = instance.getColumn(columnId);
1624
1673
 
@@ -1626,7 +1675,7 @@ var Filters = {
1626
1675
  throw new Error();
1627
1676
  }
1628
1677
 
1629
- return (_ref8 = ((_ref9 = (_ref10 = (_ref11 = (_ref12 = (_ref13 = (_instance$options$ena = instance.options.enableFilters) != null ? _instance$options$ena : instance.options.enableGlobalFilter) != null ? _ref13 : column.enableAllFilters) != null ? _ref12 : column.enableGlobalFilter) != null ? _ref11 : column.defaultCanGlobalFilter) != null ? _ref10 : column.defaultCanFilter) != null ? _ref9 : !!column.accessorFn) && (instance.options.getColumnCanGlobalFilterFn == null ? void 0 : instance.options.getColumnCanGlobalFilterFn(column))) != null ? _ref8 : true;
1678
+ return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
1630
1679
  },
1631
1680
  getColumnIsFiltered: function getColumnIsFiltered(columnId) {
1632
1681
  return instance.getColumnFilterIndex(columnId) > -1;
@@ -1701,40 +1750,107 @@ var Filters = {
1701
1750
 
1702
1751
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
1703
1752
  },
1704
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1753
+ getPreFilteredRowModel: function getPreFilteredRowModel() {
1705
1754
  return instance.getCoreRowModel();
1706
1755
  },
1707
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1708
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1709
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1756
+ getFilteredRowModel: function getFilteredRowModel() {
1757
+ if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
1758
+ instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
1710
1759
  }
1711
1760
 
1712
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
1713
- return instance.getPreColumnFilteredRowModel();
1761
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
1762
+ return instance.getPreFilteredRowModel();
1714
1763
  }
1715
1764
 
1716
- return instance._getColumnFilteredRowModel();
1765
+ return instance._getFilteredRowModel();
1717
1766
  },
1718
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1719
- return instance.getColumnFilteredRowModel();
1720
- },
1721
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1722
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1723
- instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
1767
+ getGlobalFacetedRowModel: memo(function () {
1768
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1769
+ instance.getFilteredRowModel()];
1770
+ }, function (rowModel, columnFilters, globalFilter, _) {
1771
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1772
+ return rowModel;
1724
1773
  }
1725
1774
 
1726
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
1727
- return instance.getPreGlobalFilteredRowModel();
1775
+ return filterRows(rowModel.rows, columnFilters.map(function (d) {
1776
+ return d.id;
1777
+ }), instance);
1778
+ }, {
1779
+ key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedRowModel',
1780
+ debug: function debug() {
1781
+ var _instance$options$deb4;
1782
+
1783
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
1728
1784
  }
1785
+ }),
1786
+ getGlobalFacetedUniqueValues: memo(function () {
1787
+ return [instance.getGlobalFacetedRowModel()];
1788
+ }, function (facetedRowModel) {
1789
+ return getRowModelUniqueValues(facetedRowModel, '__global__');
1790
+ }, {
1791
+ key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedUniqueValues',
1792
+ debug: function debug() {
1793
+ var _instance$options$deb5;
1729
1794
 
1730
- return instance._getGlobalFilteredRowModel();
1731
- }
1795
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
1796
+ }
1797
+ }),
1798
+ getGlobalFacetedMinMaxValues: memo(function () {
1799
+ return [instance.getGlobalFacetedRowModel()];
1800
+ }, function (facetedRowModel) {
1801
+ return getRowModelMinMaxValues(facetedRowModel, '__global__');
1802
+ }, {
1803
+ key: process.env.NODE_ENV === 'production' && 'getGlobalFacetedMinMaxValues',
1804
+ debug: function debug() {
1805
+ var _instance$options$deb6;
1806
+
1807
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
1808
+ }
1809
+ })
1732
1810
  };
1733
1811
  }
1734
1812
  };
1735
1813
  function shouldAutoRemoveFilter(filterFn, value, column) {
1736
1814
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
1737
1815
  }
1816
+ function getRowModelMinMaxValues(rowModel, columnId) {
1817
+ var _rowModel$flatRows$0$, _rowModel$flatRows$, _rowModel$flatRows$0$2, _rowModel$flatRows$2;
1818
+
1819
+ var facetedMinMaxValues = [(_rowModel$flatRows$0$ = (_rowModel$flatRows$ = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$.values[columnId]) != null ? _rowModel$flatRows$0$ : null, (_rowModel$flatRows$0$2 = (_rowModel$flatRows$2 = rowModel.flatRows[0]) == null ? void 0 : _rowModel$flatRows$2.values[columnId]) != null ? _rowModel$flatRows$0$2 : null];
1820
+
1821
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1822
+ var _rowModel$flatRows$i;
1823
+
1824
+ var _value = (_rowModel$flatRows$i = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i.values[columnId];
1825
+
1826
+ if (_value < facetedMinMaxValues[0]) {
1827
+ facetedMinMaxValues[0] = _value;
1828
+ } else if (_value > facetedMinMaxValues[1]) {
1829
+ facetedMinMaxValues[1] = _value;
1830
+ }
1831
+ }
1832
+
1833
+ return facetedMinMaxValues;
1834
+ }
1835
+ function getRowModelUniqueValues(rowModel, columnId) {
1836
+ var facetedUniqueValues = new Map();
1837
+
1838
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1839
+ var _rowModel$flatRows$i2;
1840
+
1841
+ var _value2 = (_rowModel$flatRows$i2 = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i2.values[columnId];
1842
+
1843
+ if (facetedUniqueValues.has(_value2)) {
1844
+ var _facetedUniqueValues$;
1845
+
1846
+ facetedUniqueValues.set(_value2, ((_facetedUniqueValues$ = facetedUniqueValues.get(_value2)) != null ? _facetedUniqueValues$ : 0) + 1);
1847
+ } else {
1848
+ facetedUniqueValues.set(_value2, 1);
1849
+ }
1850
+ }
1851
+
1852
+ return facetedUniqueValues;
1853
+ }
1738
1854
 
1739
1855
  var aggregationFns = {
1740
1856
  sum: sum,
@@ -1857,10 +1973,10 @@ var Grouping = {
1857
1973
  aggregationFn: 'auto'
1858
1974
  };
1859
1975
  },
1860
- getInitialState: function getInitialState() {
1861
- return {
1976
+ getInitialState: function getInitialState(state) {
1977
+ return _extends({
1862
1978
  grouping: []
1863
- };
1979
+ }, state);
1864
1980
  },
1865
1981
  getDefaultOptions: function getDefaultOptions(instance) {
1866
1982
  return {
@@ -2019,35 +2135,35 @@ var Grouping = {
2019
2135
  }) : null;
2020
2136
  }
2021
2137
  };
2022
- },
2023
- orderColumns: function orderColumns(leafColumns, grouping, groupedColumnMode) {
2024
- if (!(grouping != null && grouping.length) || !groupedColumnMode) {
2025
- return leafColumns;
2026
- }
2027
-
2028
- var nonGroupingColumns = leafColumns.filter(function (col) {
2029
- return !grouping.includes(col.id);
2030
- });
2138
+ }
2139
+ };
2140
+ function orderColumns(leafColumns, grouping, groupedColumnMode) {
2141
+ if (!(grouping != null && grouping.length) || !groupedColumnMode) {
2142
+ return leafColumns;
2143
+ }
2031
2144
 
2032
- if (groupedColumnMode === 'remove') {
2033
- return nonGroupingColumns;
2034
- }
2145
+ var nonGroupingColumns = leafColumns.filter(function (col) {
2146
+ return !grouping.includes(col.id);
2147
+ });
2035
2148
 
2036
- var groupingColumns = grouping.map(function (g) {
2037
- return leafColumns.find(function (col) {
2038
- return col.id === g;
2039
- });
2040
- }).filter(Boolean);
2041
- return [].concat(groupingColumns, nonGroupingColumns);
2149
+ if (groupedColumnMode === 'remove') {
2150
+ return nonGroupingColumns;
2042
2151
  }
2043
- };
2152
+
2153
+ var groupingColumns = grouping.map(function (g) {
2154
+ return leafColumns.find(function (col) {
2155
+ return col.id === g;
2156
+ });
2157
+ }).filter(Boolean);
2158
+ return [].concat(groupingColumns, nonGroupingColumns);
2159
+ }
2044
2160
 
2045
2161
  //
2046
2162
  var Ordering = {
2047
- getInitialState: function getInitialState() {
2048
- return {
2163
+ getInitialState: function getInitialState(state) {
2164
+ return _extends({
2049
2165
  columnOrder: []
2050
- };
2166
+ }, state);
2051
2167
  },
2052
2168
  getDefaultOptions: function getDefaultOptions(instance) {
2053
2169
  return {
@@ -2099,10 +2215,10 @@ var Ordering = {
2099
2215
  orderedColumns = [].concat(orderedColumns, columnsCopy);
2100
2216
  }
2101
2217
 
2102
- return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
2218
+ return orderColumns(orderedColumns, grouping, groupedColumnMode);
2103
2219
  };
2104
2220
  }, {
2105
- key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2221
+ key: process.env.NODE_ENV === 'production' && 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2106
2222
 
2107
2223
  })
2108
2224
  };
@@ -2111,14 +2227,14 @@ var Ordering = {
2111
2227
 
2112
2228
  //
2113
2229
  var Pagination = {
2114
- getInitialState: function getInitialState(initialState) {
2115
- return {
2230
+ getInitialState: function getInitialState(state) {
2231
+ return _extends({}, state, {
2116
2232
  pagination: _extends({
2117
2233
  pageCount: -1,
2118
2234
  pageIndex: 0,
2119
2235
  pageSize: 10
2120
- }, initialState == null ? void 0 : initialState.pagination)
2121
- };
2236
+ }, state == null ? void 0 : state.pagination)
2237
+ });
2122
2238
  },
2123
2239
  getDefaultOptions: function getDefaultOptions(instance) {
2124
2240
  return {
@@ -2215,7 +2331,7 @@ var Pagination = {
2215
2331
 
2216
2332
  return pageOptions;
2217
2333
  }, {
2218
- key: 'getPageOptions',
2334
+ key: process.env.NODE_ENV === 'production' && 'getPageOptions',
2219
2335
  debug: function debug() {
2220
2336
  var _instance$options$deb;
2221
2337
 
@@ -2278,13 +2394,13 @@ var Pagination = {
2278
2394
 
2279
2395
  //
2280
2396
  var Pinning = {
2281
- getInitialState: function getInitialState() {
2282
- return {
2397
+ getInitialState: function getInitialState(state) {
2398
+ return _extends({
2283
2399
  columnPinning: {
2284
2400
  left: [],
2285
2401
  right: []
2286
2402
  }
2287
- };
2403
+ }, state);
2288
2404
  },
2289
2405
  getDefaultOptions: function getDefaultOptions(instance) {
2290
2406
  return {
@@ -2317,7 +2433,7 @@ var Pinning = {
2317
2433
  return !leftAndRight.includes(d.columnId);
2318
2434
  });
2319
2435
  }, {
2320
- key: 'row.getCenterVisibleCells',
2436
+ key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
2321
2437
  debug: function debug() {
2322
2438
  var _instance$options$deb;
2323
2439
 
@@ -2338,7 +2454,7 @@ var Pinning = {
2338
2454
  });
2339
2455
  return cells;
2340
2456
  }, {
2341
- key: 'row.getLeftVisibleCells',
2457
+ key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
2342
2458
  debug: function debug() {
2343
2459
  var _instance$options$deb2;
2344
2460
 
@@ -2359,7 +2475,7 @@ var Pinning = {
2359
2475
  });
2360
2476
  return cells;
2361
2477
  }, {
2362
- key: 'row.getRightVisibleCells',
2478
+ key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
2363
2479
  debug: function debug() {
2364
2480
  var _instance$options$deb3;
2365
2481
 
@@ -2368,67 +2484,6 @@ var Pinning = {
2368
2484
  })
2369
2485
  };
2370
2486
  },
2371
- createCell: function createCell(cell, instance) {
2372
- return {
2373
- getCenterVisibleCells: memo(function () {
2374
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
2375
- }, function (allCells, left, right) {
2376
- var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
2377
- return allCells.filter(function (d) {
2378
- return !leftAndRight.includes(d.columnId);
2379
- });
2380
- }, {
2381
- key: 'row.getCenterVisibleCells',
2382
- debug: function debug() {
2383
- var _instance$options$deb4;
2384
-
2385
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
2386
- }
2387
- }),
2388
- getLeftVisibleCells: memo(function () {
2389
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
2390
- }, function (allCells, left) {
2391
- var cells = (left != null ? left : []).map(function (columnId) {
2392
- return allCells.find(function (cell) {
2393
- return cell.columnId === columnId;
2394
- });
2395
- }).filter(Boolean).map(function (d) {
2396
- return _extends({}, d, {
2397
- position: 'left'
2398
- });
2399
- });
2400
- return cells;
2401
- }, {
2402
- key: 'row.getLeftVisibleCells',
2403
- debug: function debug() {
2404
- var _instance$options$deb5;
2405
-
2406
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
2407
- }
2408
- }),
2409
- getRightVisibleCells: memo(function () {
2410
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
2411
- }, function (allCells, right) {
2412
- var cells = (right != null ? right : []).map(function (columnId) {
2413
- return allCells.find(function (cell) {
2414
- return cell.columnId === columnId;
2415
- });
2416
- }).filter(Boolean).map(function (d) {
2417
- return _extends({}, d, {
2418
- position: 'left'
2419
- });
2420
- });
2421
- return cells;
2422
- }, {
2423
- key: 'row.getRightVisibleCells',
2424
- debug: function debug() {
2425
- var _instance$options$deb6;
2426
-
2427
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
2428
- }
2429
- })
2430
- };
2431
- },
2432
2487
  createInstance: function createInstance(instance) {
2433
2488
  return {
2434
2489
  setColumnPinning: function setColumnPinning(updater) {
@@ -2492,9 +2547,9 @@ var Pinning = {
2492
2547
 
2493
2548
  var leafColumns = column.getLeafColumns();
2494
2549
  return leafColumns.some(function (d) {
2495
- var _ref, _ref2, _d$enablePinning;
2550
+ var _d$enablePinning, _instance$options$ena;
2496
2551
 
2497
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
2552
+ return ((_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
2498
2553
  });
2499
2554
  },
2500
2555
  getColumnIsPinned: function getColumnIsPinned(columnId) {
@@ -2539,11 +2594,11 @@ var Pinning = {
2539
2594
  });
2540
2595
  }).filter(Boolean);
2541
2596
  }, {
2542
- key: 'getLeftLeafColumns',
2597
+ key: process.env.NODE_ENV === 'production' && 'getLeftLeafColumns',
2543
2598
  debug: function debug() {
2544
- var _instance$options$deb7;
2599
+ var _instance$options$deb4;
2545
2600
 
2546
- return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
2601
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
2547
2602
  }
2548
2603
  }),
2549
2604
  getRightLeafColumns: memo(function () {
@@ -2555,11 +2610,11 @@ var Pinning = {
2555
2610
  });
2556
2611
  }).filter(Boolean);
2557
2612
  }, {
2558
- key: 'getRightLeafColumns',
2613
+ key: process.env.NODE_ENV === 'production' && 'getRightLeafColumns',
2559
2614
  debug: function debug() {
2560
- var _instance$options$deb8;
2615
+ var _instance$options$deb5;
2561
2616
 
2562
- return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugColumns;
2617
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
2563
2618
  }
2564
2619
  }),
2565
2620
  getCenterLeafColumns: memo(function () {
@@ -2570,11 +2625,11 @@ var Pinning = {
2570
2625
  return !leftAndRight.includes(d.id);
2571
2626
  });
2572
2627
  }, {
2573
- key: 'getCenterLeafColumns',
2628
+ key: process.env.NODE_ENV === 'production' && 'getCenterLeafColumns',
2574
2629
  debug: function debug() {
2575
- var _instance$options$deb9;
2630
+ var _instance$options$deb6;
2576
2631
 
2577
- return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugColumns;
2632
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
2578
2633
  }
2579
2634
  })
2580
2635
  };
@@ -2583,10 +2638,10 @@ var Pinning = {
2583
2638
 
2584
2639
  //
2585
2640
  var RowSelection = {
2586
- getInitialState: function getInitialState() {
2587
- return {
2641
+ getInitialState: function getInitialState(state) {
2642
+ return _extends({
2588
2643
  rowSelection: {}
2589
- };
2644
+ }, state);
2590
2645
  },
2591
2646
  getDefaultOptions: function getDefaultOptions(instance) {
2592
2647
  return {
@@ -2725,7 +2780,7 @@ var RowSelection = {
2725
2780
 
2726
2781
  return selectRowsFn(instance, rowModel);
2727
2782
  }, {
2728
- key: 'getSelectedRowModel',
2783
+ key: process.env.NODE_ENV === 'production' && 'getSelectedRowModel',
2729
2784
  debug: function debug() {
2730
2785
  var _instance$options$deb;
2731
2786
 
@@ -2733,7 +2788,7 @@ var RowSelection = {
2733
2788
  }
2734
2789
  }),
2735
2790
  getFilteredSelectedRowModel: memo(function () {
2736
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
2791
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
2737
2792
  }, function (rowSelection, rowModel) {
2738
2793
  if (!Object.keys(rowSelection).length) {
2739
2794
  return {
@@ -2745,7 +2800,7 @@ var RowSelection = {
2745
2800
 
2746
2801
  return selectRowsFn(instance, rowModel);
2747
2802
  }, {
2748
- key: 'getFilteredSelectedRowModel',
2803
+ key: process.env.NODE_ENV === 'production' && 'getFilteredSelectedRowModel',
2749
2804
  debug: function debug() {
2750
2805
  var _instance$options$deb2;
2751
2806
 
@@ -2765,7 +2820,7 @@ var RowSelection = {
2765
2820
 
2766
2821
  return selectRowsFn(instance, rowModel);
2767
2822
  }, {
2768
- key: 'getGroupedSelectedRowModel',
2823
+ key: process.env.NODE_ENV === 'production' && 'getGroupedSelectedRowModel',
2769
2824
  debug: function debug() {
2770
2825
  var _instance$options$deb3;
2771
2826
 
@@ -2853,7 +2908,7 @@ var RowSelection = {
2853
2908
  // return instance.options.enableGroupingRowSelection ?? false
2854
2909
  // },
2855
2910
  getIsAllRowsSelected: function getIsAllRowsSelected() {
2856
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
2911
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
2857
2912
 
2858
2913
  var _instance$getState3 = instance.getState(),
2859
2914
  rowSelection = _instance$getState3.rowSelection;
@@ -3134,16 +3189,16 @@ function toString(a) {
3134
3189
 
3135
3190
  //
3136
3191
  var Sorting = {
3192
+ getInitialState: function getInitialState(state) {
3193
+ return _extends({
3194
+ sorting: []
3195
+ }, state);
3196
+ },
3137
3197
  getDefaultColumn: function getDefaultColumn() {
3138
3198
  return {
3139
3199
  sortingFn: 'auto'
3140
3200
  };
3141
3201
  },
3142
- getInitialState: function getInitialState() {
3143
- return {
3144
- sorting: []
3145
- };
3146
- },
3147
3202
  getDefaultOptions: function getDefaultOptions(instance) {
3148
3203
  return {
3149
3204
  onSortingChange: makeStateUpdater('sorting', instance),
@@ -3181,7 +3236,7 @@ var Sorting = {
3181
3236
  createInstance: function createInstance(instance) {
3182
3237
  return {
3183
3238
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3184
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3239
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
3185
3240
  var isString = false;
3186
3241
 
3187
3242
  for (var _iterator = _createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
@@ -3208,7 +3263,7 @@ var Sorting = {
3208
3263
  return sortingFns.basic;
3209
3264
  },
3210
3265
  getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
3211
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
3266
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
3212
3267
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
3213
3268
 
3214
3269
  if (typeof value === 'string') {
@@ -3392,7 +3447,7 @@ var Sorting = {
3392
3447
  };
3393
3448
  },
3394
3449
  getPreSortedRowModel: function getPreSortedRowModel() {
3395
- return instance.getGlobalFilteredRowModel();
3450
+ return instance.getFilteredRowModel();
3396
3451
  },
3397
3452
  getSortedRowModel: function getSortedRowModel() {
3398
3453
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
@@ -3411,10 +3466,10 @@ var Sorting = {
3411
3466
 
3412
3467
  //
3413
3468
  var Visibility = {
3414
- getInitialState: function getInitialState() {
3415
- return {
3469
+ getInitialState: function getInitialState(state) {
3470
+ return _extends({
3416
3471
  columnVisibility: {}
3417
- };
3472
+ }, state);
3418
3473
  },
3419
3474
  getDefaultOptions: function getDefaultOptions(instance) {
3420
3475
  return {
@@ -3457,7 +3512,7 @@ var Visibility = {
3457
3512
  return cell.column.getIsVisible();
3458
3513
  });
3459
3514
  }, {
3460
- key: 'row._getAllVisibleCells',
3515
+ key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
3461
3516
  debug: function debug() {
3462
3517
  var _instance$options$deb;
3463
3518
 
@@ -3469,7 +3524,7 @@ var Visibility = {
3469
3524
  }, function (left, center, right) {
3470
3525
  return [].concat(left, center, right);
3471
3526
  }, {
3472
- key: 'row.getVisibleCells',
3527
+ key: process.env.NODE_ENV === 'production' && 'row.getVisibleCells',
3473
3528
  debug: function debug() {
3474
3529
  var _instance$options$deb2;
3475
3530
 
@@ -3678,7 +3733,7 @@ var Headers = {
3678
3733
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
3679
3734
  return headerGroups;
3680
3735
  }, {
3681
- key: 'getHeaderGroups',
3736
+ key: process.env.NODE_ENV === 'production' && 'getHeaderGroups',
3682
3737
  debug: function debug() {
3683
3738
  var _instance$options$deb;
3684
3739
 
@@ -3693,7 +3748,7 @@ var Headers = {
3693
3748
  });
3694
3749
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
3695
3750
  }, {
3696
- key: 'getCenterHeaderGroups',
3751
+ key: process.env.NODE_ENV === 'production' && 'getCenterHeaderGroups',
3697
3752
  debug: function debug() {
3698
3753
  var _instance$options$deb2;
3699
3754
 
@@ -3708,7 +3763,7 @@ var Headers = {
3708
3763
  });
3709
3764
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
3710
3765
  }, {
3711
- key: 'getLeftHeaderGroups',
3766
+ key: process.env.NODE_ENV === 'production' && 'getLeftHeaderGroups',
3712
3767
  debug: function debug() {
3713
3768
  var _instance$options$deb3;
3714
3769
 
@@ -3723,7 +3778,7 @@ var Headers = {
3723
3778
  });
3724
3779
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
3725
3780
  }, {
3726
- key: 'getRightHeaderGroups',
3781
+ key: process.env.NODE_ENV === 'production' && 'getRightHeaderGroups',
3727
3782
  debug: function debug() {
3728
3783
  var _instance$options$deb4;
3729
3784
 
@@ -3736,7 +3791,7 @@ var Headers = {
3736
3791
  }, function (headerGroups) {
3737
3792
  return [].concat(headerGroups).reverse();
3738
3793
  }, {
3739
- key: 'getFooterGroups',
3794
+ key: process.env.NODE_ENV === 'production' && 'getFooterGroups',
3740
3795
  debug: function debug() {
3741
3796
  var _instance$options$deb5;
3742
3797
 
@@ -3748,7 +3803,7 @@ var Headers = {
3748
3803
  }, function (headerGroups) {
3749
3804
  return [].concat(headerGroups).reverse();
3750
3805
  }, {
3751
- key: 'getLeftFooterGroups',
3806
+ key: process.env.NODE_ENV === 'production' && 'getLeftFooterGroups',
3752
3807
  debug: function debug() {
3753
3808
  var _instance$options$deb6;
3754
3809
 
@@ -3760,7 +3815,7 @@ var Headers = {
3760
3815
  }, function (headerGroups) {
3761
3816
  return [].concat(headerGroups).reverse();
3762
3817
  }, {
3763
- key: 'getCenterFooterGroups',
3818
+ key: process.env.NODE_ENV === 'production' && 'getCenterFooterGroups',
3764
3819
  debug: function debug() {
3765
3820
  var _instance$options$deb7;
3766
3821
 
@@ -3772,7 +3827,7 @@ var Headers = {
3772
3827
  }, function (headerGroups) {
3773
3828
  return [].concat(headerGroups).reverse();
3774
3829
  }, {
3775
- key: 'getRightFooterGroups',
3830
+ key: process.env.NODE_ENV === 'production' && 'getRightFooterGroups',
3776
3831
  debug: function debug() {
3777
3832
  var _instance$options$deb8;
3778
3833
 
@@ -3787,7 +3842,7 @@ var Headers = {
3787
3842
  return headerGroup.headers;
3788
3843
  }).flat();
3789
3844
  }, {
3790
- key: 'getFlatHeaders',
3845
+ key: process.env.NODE_ENV === 'production' && 'getFlatHeaders',
3791
3846
  debug: function debug() {
3792
3847
  var _instance$options$deb9;
3793
3848
 
@@ -3801,7 +3856,7 @@ var Headers = {
3801
3856
  return headerGroup.headers;
3802
3857
  }).flat();
3803
3858
  }, {
3804
- key: 'getLeftFlatHeaders',
3859
+ key: process.env.NODE_ENV === 'production' && 'getLeftFlatHeaders',
3805
3860
  debug: function debug() {
3806
3861
  var _instance$options$deb10;
3807
3862
 
@@ -3815,7 +3870,7 @@ var Headers = {
3815
3870
  return headerGroup.headers;
3816
3871
  }).flat();
3817
3872
  }, {
3818
- key: 'getCenterFlatHeaders',
3873
+ key: process.env.NODE_ENV === 'production' && 'getCenterFlatHeaders',
3819
3874
  debug: function debug() {
3820
3875
  var _instance$options$deb11;
3821
3876
 
@@ -3829,7 +3884,7 @@ var Headers = {
3829
3884
  return headerGroup.headers;
3830
3885
  }).flat();
3831
3886
  }, {
3832
- key: 'getRightFlatHeaders',
3887
+ key: process.env.NODE_ENV === 'production' && 'getRightFlatHeaders',
3833
3888
  debug: function debug() {
3834
3889
  var _instance$options$deb12;
3835
3890
 
@@ -3846,7 +3901,7 @@ var Headers = {
3846
3901
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
3847
3902
  });
3848
3903
  }, {
3849
- key: 'getCenterLeafHeaders',
3904
+ key: process.env.NODE_ENV === 'production' && 'getCenterLeafHeaders',
3850
3905
  debug: function debug() {
3851
3906
  var _instance$options$deb13;
3852
3907
 
@@ -3862,7 +3917,7 @@ var Headers = {
3862
3917
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
3863
3918
  });
3864
3919
  }, {
3865
- key: 'getLeftLeafHeaders',
3920
+ key: process.env.NODE_ENV === 'production' && 'getLeftLeafHeaders',
3866
3921
  debug: function debug() {
3867
3922
  var _instance$options$deb14;
3868
3923
 
@@ -3878,7 +3933,7 @@ var Headers = {
3878
3933
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
3879
3934
  });
3880
3935
  }, {
3881
- key: 'getRightLeafHeaders',
3936
+ key: process.env.NODE_ENV === 'production' && 'getRightLeafHeaders',
3882
3937
  debug: function debug() {
3883
3938
  var _instance$options$deb15;
3884
3939
 
@@ -3894,7 +3949,7 @@ var Headers = {
3894
3949
  return header.getLeafHeaders();
3895
3950
  }).flat();
3896
3951
  }, {
3897
- key: 'getLeafHeaders',
3952
+ key: process.env.NODE_ENV === 'production' && 'getLeafHeaders',
3898
3953
  debug: function debug() {
3899
3954
  var _instance$options$deb16;
3900
3955
 
@@ -4080,9 +4135,13 @@ function createTableInstance(options) {
4080
4135
  coreProgress: 1
4081
4136
  };
4082
4137
 
4083
- var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {}, instance._features.reduce(function (obj, feature) {
4084
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState(options.initialState));
4085
- }, {}));
4138
+ var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {});
4139
+
4140
+ instance._features.forEach(function (feature) {
4141
+ var _feature$getInitialSt;
4142
+
4143
+ initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
4144
+ });
4086
4145
 
4087
4146
  var queued = [];
4088
4147
  var queuedTimeout = false;
@@ -4098,9 +4157,8 @@ function createTableInstance(options) {
4098
4157
  // the current call stack (render, etc) has finished.
4099
4158
 
4100
4159
  Promise.resolve().then(function () {
4101
- console.log(queued);
4102
-
4103
4160
  while (queued.length) {
4161
+ console.log('queue');
4104
4162
  queued.shift()();
4105
4163
  }
4106
4164
 
@@ -4293,7 +4351,7 @@ function getCoreRowModelSync() {
4293
4351
  rowsById: rowsById
4294
4352
  };
4295
4353
  }, {
4296
- key: 'getRowModel',
4354
+ key: process.env.NODE_ENV === 'production' && 'getRowModel',
4297
4355
  debug: function debug() {
4298
4356
  var _instance$options$deb;
4299
4357
 
@@ -4391,7 +4449,7 @@ function getCoreRowModelAsync(opts) {
4391
4449
  };
4392
4450
  };
4393
4451
  }, {
4394
- key: 'getRowModel',
4452
+ key: process.env.NODE_ENV === 'production' && 'getRowModel',
4395
4453
  initialSync: opts == null ? void 0 : opts.initialSync,
4396
4454
  onProgress: function onProgress(progress) {
4397
4455
  instance.setState(function (old) {
@@ -4414,243 +4472,103 @@ function getCoreRowModelAsync(opts) {
4414
4472
  };
4415
4473
  }
4416
4474
 
4417
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4418
- var newFilteredFlatRows = [];
4419
- var newFilteredRowsById = {};
4420
-
4421
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4422
- if (depth === void 0) {
4423
- depth = 0;
4424
- }
4425
-
4426
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4427
-
4428
- for (var i = 0; i < rowsToFilter.length; i++) {
4429
- var _row$subRows;
4430
-
4431
- var row = rowsToFilter[i];
4432
-
4433
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4434
- continue;
4435
- }
4436
-
4437
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4438
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4439
-
4440
- if (!rowsToFilter[i].subRows.length) {
4441
- rowsToFilter.splice(i, 1);
4442
- i--;
4443
- }
4444
- }
4445
-
4446
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4447
-
4448
- rowsToFilter.forEach(function (row) {
4449
- newFilteredFlatRows.push(row);
4450
- newFilteredRowsById[row.id] = row;
4451
- });
4452
- return rowsToFilter;
4453
- };
4454
-
4455
- return {
4456
- rows: recurseFilterRows(rowsToFilter),
4457
- flatRows: newFilteredFlatRows,
4458
- rowsById: newFilteredRowsById
4459
- };
4460
- }
4461
- function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4462
- var newFilteredFlatRows = [];
4463
- var newFilteredRowsById = {}; // Filters top level and nested rows
4464
-
4465
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4466
- if (depth === void 0) {
4467
- depth = 0;
4468
- }
4469
-
4470
- // Filter from parents downward first
4471
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4472
-
4473
- for (var i = 0; i < rowsToFilter.length; i++) {
4474
- var _row$subRows2;
4475
-
4476
- var row = rowsToFilter[i];
4477
- newFilteredFlatRows.push(row);
4478
- newFilteredRowsById[row.id] = row;
4479
-
4480
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
4481
- rowsToFilter.splice(i, 1);
4482
- i--;
4483
- continue;
4484
- }
4485
-
4486
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4487
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4488
- }
4489
-
4490
- return rowsToFilter;
4491
- };
4492
-
4493
- return {
4494
- rows: recurseFilterRows(rowsToFilter),
4495
- flatRows: newFilteredFlatRows,
4496
- rowsById: newFilteredRowsById
4497
- };
4498
- }
4499
-
4500
- function getColumnFilteredRowModelSync() {
4475
+ function getFilteredRowModelSync() {
4501
4476
  return function (instance) {
4502
4477
  return memo(function () {
4503
- return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4504
- }, function (columnFilters, rowModel) {
4478
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
4479
+ }, function (rowModel, columnFilters, globalFilter) {
4505
4480
  var columnFilteredRowModel = function () {
4506
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4481
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
4507
4482
  return rowModel;
4508
4483
  }
4509
4484
 
4510
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4485
+ var resolvedColumnFilters = [];
4486
+ var resolvedGlobalFilters = [];
4487
+ (columnFilters != null ? columnFilters : []).forEach(function (d) {
4488
+ var _filterFn$resolveFilt;
4511
4489
 
4512
- var filterRows = function filterRows(rowsToFilter, depth) {
4513
- for (var i = 0; i < columnFilters.length; i++) {
4514
- var _columnFilters$i = columnFilters[i],
4515
- columnId = _columnFilters$i.id,
4516
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4490
+ var column = instance.getColumn(d.id);
4517
4491
 
4518
- var column = instance.getColumn(columnId);
4519
-
4520
- if (!column) {
4521
- if (process.env.NODE_ENV !== 'production') {
4522
- console.warn("Table: Could not find a column with id: " + columnId);
4523
- }
4524
-
4525
- throw new Error();
4492
+ if (!column) {
4493
+ if (process.env.NODE_ENV !== 'production') {
4494
+ console.warn("Table: Could not find a column to filter with columnId: " + d.id);
4526
4495
  }
4496
+ }
4527
4497
 
4528
- if (depth === 0) {
4529
- (function () {
4530
- var preFilteredRows = [].concat(rowsToFilter);
4498
+ var filterFn = instance.getColumnFilterFn(column.id);
4531
4499
 
4532
- column.getPreFilteredRows = function () {
4533
- return preFilteredRows;
4534
- };
4535
- })();
4500
+ if (!filterFn) {
4501
+ if (process.env.NODE_ENV !== 'production') {
4502
+ console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4536
4503
  }
4537
4504
 
4538
- var filterFn = instance.getColumnFilterFn(column.id);
4539
-
4540
- if (!filterFn) {
4541
- if (process.env.NODE_ENV !== 'production') {
4542
- console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4543
- }
4544
-
4545
- continue;
4546
- } // Pass the rows, id, filterValue and column to the filterFn
4547
- // to get the filtered rows back
4548
-
4549
-
4550
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4505
+ return;
4551
4506
  }
4552
4507
 
4553
- return rowsToFilter;
4554
- };
4555
-
4556
- if (filterFromLeafRows) {
4557
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4558
- }
4508
+ resolvedColumnFilters.push({
4509
+ id: d.id,
4510
+ filterFn: filterFn,
4511
+ resolvedFilterValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
4512
+ });
4513
+ });
4514
+ var filterableIds = columnFilters.map(function (d) {
4515
+ return d.id;
4516
+ });
4517
+ var globalFilterFn = instance.getGlobalFilterFn();
4518
+ var globallyFilterableColumns = instance.getAllLeafColumns().filter(function (column) {
4519
+ return column.getCanGlobalFilter();
4520
+ });
4559
4521
 
4560
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4561
- }(); // Now that each filtered column has it's partially filtered rows,
4562
- // lets assign the final filtered rows to all of the other columns
4522
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
4523
+ filterableIds.push('__global__');
4524
+ globallyFilterableColumns.forEach(function (column) {
4525
+ var _globalFilterFn$resol;
4563
4526
 
4527
+ resolvedGlobalFilters.push({
4528
+ id: column.id,
4529
+ filterFn: globalFilterFn,
4530
+ resolvedFilterValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
4531
+ });
4532
+ });
4533
+ } // Flag the prefiltered row model with each filter state
4564
4534
 
4565
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4566
- var _instance$getState$co;
4567
4535
 
4568
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4569
- return d.id === column.id;
4570
- }));
4571
- }); // This essentially enables faceted filter options to be built easily
4572
- // using every column's preFilteredRows value
4536
+ for (var j = 0; j < rowModel.flatRows.length; j++) {
4537
+ var row = rowModel.flatRows[j];
4538
+ row.columnFilterMap = {};
4573
4539
 
4574
- nonFilteredColumns.forEach(function (column) {
4575
- column.getPreFilteredRows = function () {
4576
- return columnFilteredRowModel.rows;
4577
- };
4578
- });
4579
- return columnFilteredRowModel;
4580
- }, {
4581
- key: 'getColumnFilteredRowModelSync',
4582
- debug: function debug() {
4583
- var _instance$options$deb;
4540
+ if (resolvedColumnFilters.length) {
4541
+ for (var i = 0; i < resolvedColumnFilters.length; i++) {
4542
+ var columnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
4584
4543
 
4585
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4586
- },
4587
- onChange: function onChange() {
4588
- instance.queue(function () {
4589
- instance._autoResetPageIndex();
4590
- });
4591
- }
4592
- });
4593
- };
4594
- }
4595
-
4596
- function getGlobalFilteredRowModelSync() {
4597
- return function (instance) {
4598
- return memo(function () {
4599
- return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4600
- }, function (globalFilter, rowModel) {
4601
- var globalFilteredRowModel = function () {
4602
- if (!rowModel.rows.length || !globalFilter) {
4603
- return rowModel;
4604
- }
4605
-
4606
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4607
- var filterFn = instance.getGlobalFilterFn();
4608
-
4609
- if (!filterFn) {
4610
- if (process.env.NODE_ENV !== 'production') {
4611
- console.warn("Could not find a valid 'globalFilterType'");
4544
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedFilterValue);
4545
+ }
4612
4546
  }
4613
4547
 
4614
- return rowModel;
4615
- }
4548
+ if (resolvedGlobalFilters.length) {
4616
4549
 
4617
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4618
- return column.getCanGlobalFilter();
4619
- });
4620
- var filterableColumnIds = filterableColumns.map(function (d) {
4621
- return d.id;
4622
- });
4623
-
4624
- var filterRows = function filterRows(rows) {
4625
- return filterFn(rows, filterableColumnIds, globalFilter);
4626
- };
4627
-
4628
- if (filterFromLeafRows) {
4629
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4630
- }
4550
+ for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
4551
+ var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
4631
4552
 
4632
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4633
- }(); // Now that each filtered column has it's partially filtered rows,
4634
- // lets assign the final filtered rows to all of the other columns
4553
+ if (_globalFilter.filterFn(row, _globalFilter.id, _globalFilter.resolvedFilterValue)) {
4554
+ row.columnFilterMap.__global__ = true;
4555
+ break;
4556
+ }
4557
+ }
4635
4558
 
4559
+ if (row.columnFilterMap.__global__ !== true) {
4560
+ row.columnFilterMap.__global__ = false;
4561
+ }
4562
+ }
4563
+ } // Filter final rows using all of the active filters
4636
4564
 
4637
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4638
- var _instance$getState$co;
4639
4565
 
4640
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4641
- return d.id === column.id;
4642
- }));
4643
- }); // This essentially enables faceted filter options to be built easily
4644
- // using every column's preFilteredRows value
4566
+ return filterRows(rowModel.rows, filterableIds, instance);
4567
+ }();
4645
4568
 
4646
- nonFilteredColumns.forEach(function (column) {
4647
- column.getPreFilteredRows = function () {
4648
- return globalFilteredRowModel.rows;
4649
- };
4650
- });
4651
- return globalFilteredRowModel;
4569
+ return columnFilteredRowModel;
4652
4570
  }, {
4653
- key: 'getGlobalFilteredRowModelSync',
4571
+ key: process.env.NODE_ENV === 'production' && 'getFilteredRowModelSync',
4654
4572
  debug: function debug() {
4655
4573
  var _instance$options$deb;
4656
4574
 
@@ -4750,7 +4668,7 @@ function getSortedRowModelSync() {
4750
4668
  rowsById: rowModel.rowsById
4751
4669
  };
4752
4670
  }, {
4753
- key: 'getSortedRowModel',
4671
+ key: process.env.NODE_ENV === 'production' && 'getSortedRowModel',
4754
4672
  debug: function debug() {
4755
4673
  var _instance$options$deb;
4756
4674
 
@@ -4892,7 +4810,7 @@ function getGroupedRowModelSync() {
4892
4810
  rowsById: groupedRowsById
4893
4811
  };
4894
4812
  }, {
4895
- key: 'getGroupedRowModel',
4813
+ key: process.env.NODE_ENV === 'production' && 'getGroupedRowModel',
4896
4814
  debug: function debug() {
4897
4815
  var _instance$options$deb;
4898
4816
 
@@ -4937,7 +4855,7 @@ function getExpandedRowModel() {
4937
4855
 
4938
4856
  return expandRows(rowModel, instance);
4939
4857
  }, {
4940
- key: 'getExpandedRowModel',
4858
+ key: process.env.NODE_ENV === 'production' && 'getExpandedRowModel',
4941
4859
  debug: function debug() {
4942
4860
  var _instance$options$deb;
4943
4861
 
@@ -4999,7 +4917,7 @@ function getPaginationRowModel(opts) {
4999
4917
  rowsById: rowsById
5000
4918
  };
5001
4919
  }, {
5002
- key: 'getPaginationRowModel',
4920
+ key: process.env.NODE_ENV === 'production' && 'getPaginationRowModel',
5003
4921
  debug: function debug() {
5004
4922
  var _instance$options$deb;
5005
4923
 
@@ -5009,5 +4927,5 @@ function getPaginationRowModel(opts) {
5009
4927
  };
5010
4928
  }
5011
4929
 
5012
- export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getColumnFilteredRowModelSync, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getGlobalFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getSortedRowModelSync, incrementalMemo, isFunction, isRowSelected, makeStateUpdater, memo, noop, passiveEventSupported, selectRowsFn, shouldAutoRemoveFilter };
4930
+ export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getBatchGroups, getCoreRowModelAsync, getCoreRowModelSync, getExpandedRowModel, getFilteredRowModelSync, getGroupedRowModelSync, getPaginationRowModel, getRowModelMinMaxValues, getRowModelUniqueValues, getSortedRowModelSync, incrementalMemo, isFunction, isRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, selectRowsFn, shouldAutoRemoveFilter };
5013
4931
  //# sourceMappingURL=index.js.map