@tanstack/table-core 8.0.0-alpha.64 → 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 (96) hide show
  1. package/build/cjs/core.js +1 -0
  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/Columns.js +7 -7
  6. package/build/cjs/features/Columns.js.map +1 -1
  7. package/build/cjs/features/Filters.js +153 -77
  8. package/build/cjs/features/Filters.js.map +1 -1
  9. package/build/cjs/features/Headers.js +16 -16
  10. package/build/cjs/features/Headers.js.map +1 -1
  11. package/build/cjs/features/Ordering.js +1 -1
  12. package/build/cjs/features/Ordering.js.map +1 -1
  13. package/build/cjs/features/Pagination.js +1 -1
  14. package/build/cjs/features/Pagination.js.map +1 -1
  15. package/build/cjs/features/Pinning.js +6 -6
  16. package/build/cjs/features/Pinning.js.map +1 -1
  17. package/build/cjs/features/RowSelection.js +5 -5
  18. package/build/cjs/features/RowSelection.js.map +1 -1
  19. package/build/cjs/features/Sorting.js +3 -3
  20. package/build/cjs/features/Sorting.js.map +1 -1
  21. package/build/cjs/features/Visibility.js +2 -2
  22. package/build/cjs/features/Visibility.js.map +1 -1
  23. package/build/cjs/filterFns.js +51 -108
  24. package/build/cjs/filterFns.js.map +1 -1
  25. package/build/cjs/index.js +4 -4
  26. package/build/cjs/utils/filterRowsUtils.js +21 -0
  27. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  28. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  29. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  30. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  31. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  32. package/build/cjs/utils/getExpandedRowModel.js +1 -1
  33. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  34. package/build/cjs/utils/getFilteredRowModelSync.js +130 -0
  35. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  36. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  37. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  38. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  39. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  40. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  41. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  42. package/build/cjs/utils.js +2 -6
  43. package/build/cjs/utils.js.map +1 -1
  44. package/build/esm/index.js +422 -446
  45. package/build/esm/index.js.map +1 -1
  46. package/build/stats-html.html +1 -1
  47. package/build/stats-react.json +363 -395
  48. package/build/types/features/Filters.d.ts +24 -15
  49. package/build/types/filterFns.d.ts +10 -52
  50. package/build/types/index.d.ts +1 -2
  51. package/build/types/types.d.ts +2 -2
  52. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  53. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  54. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  55. package/build/types/utils.d.ts +2 -2
  56. package/build/umd/index.development.js +424 -447
  57. package/build/umd/index.development.js.map +1 -1
  58. package/build/umd/index.production.js +1 -1
  59. package/build/umd/index.production.js.map +1 -1
  60. package/package.json +2 -1
  61. package/src/core.ts +1 -0
  62. package/src/features/Cells.ts +3 -1
  63. package/src/features/Columns.ts +11 -7
  64. package/src/features/Filters.ts +202 -94
  65. package/src/features/Headers.ts +16 -16
  66. package/src/features/Ordering.ts +1 -1
  67. package/src/features/Pagination.ts +1 -1
  68. package/src/features/Pinning.ts +10 -6
  69. package/src/features/RowSelection.ts +9 -6
  70. package/src/features/Sorting.ts +3 -5
  71. package/src/features/Visibility.ts +3 -2
  72. package/src/filterFns.ts +74 -147
  73. package/src/index.ts +1 -2
  74. package/src/types.ts +2 -0
  75. package/src/utils/filterRowsUtils.ts +24 -0
  76. package/src/utils/getCoreRowModelAsync.ts +1 -1
  77. package/src/utils/getCoreRowModelSync.ts +1 -1
  78. package/src/utils/getExpandedRowModel.ts +1 -1
  79. package/src/utils/getFilteredRowModelAsync.ts +49 -0
  80. package/src/utils/getFilteredRowModelSync.ts +150 -0
  81. package/src/utils/getGroupedRowModel.ts +1 -1
  82. package/src/utils/getPaginationRowModel.ts +1 -1
  83. package/src/utils/getSortedRowModelAsync.ts +1 -1
  84. package/src/utils/getSortedRowModelSync.ts +1 -1
  85. package/src/utils.ts +2 -4
  86. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  87. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  88. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  89. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  90. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  91. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  92. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  93. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  94. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  95. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  96. 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
 
@@ -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
1420
1346
 
1421
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
+ };
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() {
@@ -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
  },
@@ -1573,7 +1622,6 @@ var Filters = {
1573
1622
  var _instance$options = instance.options,
1574
1623
  userFilterFns = _instance$options.filterFns,
1575
1624
  globalFilterFn = _instance$options.globalFilterFn;
1576
- debugger;
1577
1625
  return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns[globalFilterFn];
1578
1626
  },
1579
1627
  setColumnFilters: function setColumnFilters(updater) {
@@ -1608,7 +1656,7 @@ var Filters = {
1608
1656
  instance.setGlobalFilter(instance.initialState.globalFilter);
1609
1657
  },
1610
1658
  getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
1611
- var _column$enableColumnF, _instance$options$ena;
1659
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
1612
1660
 
1613
1661
  var column = instance.getColumn(columnId);
1614
1662
 
@@ -1616,10 +1664,10 @@ var Filters = {
1616
1664
  throw new Error();
1617
1665
  }
1618
1666
 
1619
- return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && !!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;
1620
1668
  },
1621
1669
  getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
1622
- var _column$enableGlobalF, _instance$options$ena2, _instance$options$get;
1670
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
1623
1671
 
1624
1672
  var column = instance.getColumn(columnId);
1625
1673
 
@@ -1627,7 +1675,7 @@ var Filters = {
1627
1675
  throw new Error();
1628
1676
  }
1629
1677
 
1630
- return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena2 = instance.options.enableGlobalFilter) != null ? _instance$options$ena2 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
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;
1631
1679
  },
1632
1680
  getColumnIsFiltered: function getColumnIsFiltered(columnId) {
1633
1681
  return instance.getColumnFilterIndex(columnId) > -1;
@@ -1702,40 +1750,107 @@ var Filters = {
1702
1750
 
1703
1751
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
1704
1752
  },
1705
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1753
+ getPreFilteredRowModel: function getPreFilteredRowModel() {
1706
1754
  return instance.getCoreRowModel();
1707
1755
  },
1708
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1709
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1710
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1756
+ getFilteredRowModel: function getFilteredRowModel() {
1757
+ if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
1758
+ instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
1711
1759
  }
1712
1760
 
1713
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
1714
- return instance.getPreColumnFilteredRowModel();
1761
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
1762
+ return instance.getPreFilteredRowModel();
1715
1763
  }
1716
1764
 
1717
- return instance._getColumnFilteredRowModel();
1765
+ return instance._getFilteredRowModel();
1718
1766
  },
1719
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1720
- return instance.getColumnFilteredRowModel();
1721
- },
1722
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1723
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1724
- 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;
1725
1773
  }
1726
1774
 
1727
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
1728
- 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;
1729
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;
1730
1794
 
1731
- return instance._getGlobalFilteredRowModel();
1732
- }
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
+ })
1733
1810
  };
1734
1811
  }
1735
1812
  };
1736
1813
  function shouldAutoRemoveFilter(filterFn, value, column) {
1737
1814
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
1738
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
+ }
1739
1854
 
1740
1855
  var aggregationFns = {
1741
1856
  sum: sum,
@@ -2103,7 +2218,7 @@ var Ordering = {
2103
2218
  return orderColumns(orderedColumns, grouping, groupedColumnMode);
2104
2219
  };
2105
2220
  }, {
2106
- key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2221
+ key: process.env.NODE_ENV === 'production' && 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2107
2222
 
2108
2223
  })
2109
2224
  };
@@ -2216,7 +2331,7 @@ var Pagination = {
2216
2331
 
2217
2332
  return pageOptions;
2218
2333
  }, {
2219
- key: 'getPageOptions',
2334
+ key: process.env.NODE_ENV === 'production' && 'getPageOptions',
2220
2335
  debug: function debug() {
2221
2336
  var _instance$options$deb;
2222
2337
 
@@ -2318,7 +2433,7 @@ var Pinning = {
2318
2433
  return !leftAndRight.includes(d.columnId);
2319
2434
  });
2320
2435
  }, {
2321
- key: 'row.getCenterVisibleCells',
2436
+ key: process.env.NODE_ENV === 'production' && 'row.getCenterVisibleCells',
2322
2437
  debug: function debug() {
2323
2438
  var _instance$options$deb;
2324
2439
 
@@ -2339,7 +2454,7 @@ var Pinning = {
2339
2454
  });
2340
2455
  return cells;
2341
2456
  }, {
2342
- key: 'row.getLeftVisibleCells',
2457
+ key: process.env.NODE_ENV === 'production' && 'row.getLeftVisibleCells',
2343
2458
  debug: function debug() {
2344
2459
  var _instance$options$deb2;
2345
2460
 
@@ -2360,7 +2475,7 @@ var Pinning = {
2360
2475
  });
2361
2476
  return cells;
2362
2477
  }, {
2363
- key: 'row.getRightVisibleCells',
2478
+ key: process.env.NODE_ENV === 'production' && 'row.getRightVisibleCells',
2364
2479
  debug: function debug() {
2365
2480
  var _instance$options$deb3;
2366
2481
 
@@ -2479,7 +2594,7 @@ var Pinning = {
2479
2594
  });
2480
2595
  }).filter(Boolean);
2481
2596
  }, {
2482
- key: 'getLeftLeafColumns',
2597
+ key: process.env.NODE_ENV === 'production' && 'getLeftLeafColumns',
2483
2598
  debug: function debug() {
2484
2599
  var _instance$options$deb4;
2485
2600
 
@@ -2495,7 +2610,7 @@ var Pinning = {
2495
2610
  });
2496
2611
  }).filter(Boolean);
2497
2612
  }, {
2498
- key: 'getRightLeafColumns',
2613
+ key: process.env.NODE_ENV === 'production' && 'getRightLeafColumns',
2499
2614
  debug: function debug() {
2500
2615
  var _instance$options$deb5;
2501
2616
 
@@ -2510,7 +2625,7 @@ var Pinning = {
2510
2625
  return !leftAndRight.includes(d.id);
2511
2626
  });
2512
2627
  }, {
2513
- key: 'getCenterLeafColumns',
2628
+ key: process.env.NODE_ENV === 'production' && 'getCenterLeafColumns',
2514
2629
  debug: function debug() {
2515
2630
  var _instance$options$deb6;
2516
2631
 
@@ -2665,7 +2780,7 @@ var RowSelection = {
2665
2780
 
2666
2781
  return selectRowsFn(instance, rowModel);
2667
2782
  }, {
2668
- key: 'getSelectedRowModel',
2783
+ key: process.env.NODE_ENV === 'production' && 'getSelectedRowModel',
2669
2784
  debug: function debug() {
2670
2785
  var _instance$options$deb;
2671
2786
 
@@ -2673,7 +2788,7 @@ var RowSelection = {
2673
2788
  }
2674
2789
  }),
2675
2790
  getFilteredSelectedRowModel: memo(function () {
2676
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
2791
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
2677
2792
  }, function (rowSelection, rowModel) {
2678
2793
  if (!Object.keys(rowSelection).length) {
2679
2794
  return {
@@ -2685,7 +2800,7 @@ var RowSelection = {
2685
2800
 
2686
2801
  return selectRowsFn(instance, rowModel);
2687
2802
  }, {
2688
- key: 'getFilteredSelectedRowModel',
2803
+ key: process.env.NODE_ENV === 'production' && 'getFilteredSelectedRowModel',
2689
2804
  debug: function debug() {
2690
2805
  var _instance$options$deb2;
2691
2806
 
@@ -2705,7 +2820,7 @@ var RowSelection = {
2705
2820
 
2706
2821
  return selectRowsFn(instance, rowModel);
2707
2822
  }, {
2708
- key: 'getGroupedSelectedRowModel',
2823
+ key: process.env.NODE_ENV === 'production' && 'getGroupedSelectedRowModel',
2709
2824
  debug: function debug() {
2710
2825
  var _instance$options$deb3;
2711
2826
 
@@ -2793,7 +2908,7 @@ var RowSelection = {
2793
2908
  // return instance.options.enableGroupingRowSelection ?? false
2794
2909
  // },
2795
2910
  getIsAllRowsSelected: function getIsAllRowsSelected() {
2796
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
2911
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
2797
2912
 
2798
2913
  var _instance$getState3 = instance.getState(),
2799
2914
  rowSelection = _instance$getState3.rowSelection;
@@ -3121,7 +3236,7 @@ var Sorting = {
3121
3236
  createInstance: function createInstance(instance) {
3122
3237
  return {
3123
3238
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3124
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3239
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
3125
3240
  var isString = false;
3126
3241
 
3127
3242
  for (var _iterator = _createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
@@ -3148,7 +3263,7 @@ var Sorting = {
3148
3263
  return sortingFns.basic;
3149
3264
  },
3150
3265
  getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
3151
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
3266
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
3152
3267
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
3153
3268
 
3154
3269
  if (typeof value === 'string') {
@@ -3332,7 +3447,7 @@ var Sorting = {
3332
3447
  };
3333
3448
  },
3334
3449
  getPreSortedRowModel: function getPreSortedRowModel() {
3335
- return instance.getGlobalFilteredRowModel();
3450
+ return instance.getFilteredRowModel();
3336
3451
  },
3337
3452
  getSortedRowModel: function getSortedRowModel() {
3338
3453
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
@@ -3397,7 +3512,7 @@ var Visibility = {
3397
3512
  return cell.column.getIsVisible();
3398
3513
  });
3399
3514
  }, {
3400
- key: 'row._getAllVisibleCells',
3515
+ key: process.env.NODE_ENV === 'production' && 'row._getAllVisibleCells',
3401
3516
  debug: function debug() {
3402
3517
  var _instance$options$deb;
3403
3518
 
@@ -3409,7 +3524,7 @@ var Visibility = {
3409
3524
  }, function (left, center, right) {
3410
3525
  return [].concat(left, center, right);
3411
3526
  }, {
3412
- key: 'row.getVisibleCells',
3527
+ key: process.env.NODE_ENV === 'production' && 'row.getVisibleCells',
3413
3528
  debug: function debug() {
3414
3529
  var _instance$options$deb2;
3415
3530
 
@@ -3618,7 +3733,7 @@ var Headers = {
3618
3733
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
3619
3734
  return headerGroups;
3620
3735
  }, {
3621
- key: 'getHeaderGroups',
3736
+ key: process.env.NODE_ENV === 'production' && 'getHeaderGroups',
3622
3737
  debug: function debug() {
3623
3738
  var _instance$options$deb;
3624
3739
 
@@ -3633,7 +3748,7 @@ var Headers = {
3633
3748
  });
3634
3749
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
3635
3750
  }, {
3636
- key: 'getCenterHeaderGroups',
3751
+ key: process.env.NODE_ENV === 'production' && 'getCenterHeaderGroups',
3637
3752
  debug: function debug() {
3638
3753
  var _instance$options$deb2;
3639
3754
 
@@ -3648,7 +3763,7 @@ var Headers = {
3648
3763
  });
3649
3764
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
3650
3765
  }, {
3651
- key: 'getLeftHeaderGroups',
3766
+ key: process.env.NODE_ENV === 'production' && 'getLeftHeaderGroups',
3652
3767
  debug: function debug() {
3653
3768
  var _instance$options$deb3;
3654
3769
 
@@ -3663,7 +3778,7 @@ var Headers = {
3663
3778
  });
3664
3779
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
3665
3780
  }, {
3666
- key: 'getRightHeaderGroups',
3781
+ key: process.env.NODE_ENV === 'production' && 'getRightHeaderGroups',
3667
3782
  debug: function debug() {
3668
3783
  var _instance$options$deb4;
3669
3784
 
@@ -3676,7 +3791,7 @@ var Headers = {
3676
3791
  }, function (headerGroups) {
3677
3792
  return [].concat(headerGroups).reverse();
3678
3793
  }, {
3679
- key: 'getFooterGroups',
3794
+ key: process.env.NODE_ENV === 'production' && 'getFooterGroups',
3680
3795
  debug: function debug() {
3681
3796
  var _instance$options$deb5;
3682
3797
 
@@ -3688,7 +3803,7 @@ var Headers = {
3688
3803
  }, function (headerGroups) {
3689
3804
  return [].concat(headerGroups).reverse();
3690
3805
  }, {
3691
- key: 'getLeftFooterGroups',
3806
+ key: process.env.NODE_ENV === 'production' && 'getLeftFooterGroups',
3692
3807
  debug: function debug() {
3693
3808
  var _instance$options$deb6;
3694
3809
 
@@ -3700,7 +3815,7 @@ var Headers = {
3700
3815
  }, function (headerGroups) {
3701
3816
  return [].concat(headerGroups).reverse();
3702
3817
  }, {
3703
- key: 'getCenterFooterGroups',
3818
+ key: process.env.NODE_ENV === 'production' && 'getCenterFooterGroups',
3704
3819
  debug: function debug() {
3705
3820
  var _instance$options$deb7;
3706
3821
 
@@ -3712,7 +3827,7 @@ var Headers = {
3712
3827
  }, function (headerGroups) {
3713
3828
  return [].concat(headerGroups).reverse();
3714
3829
  }, {
3715
- key: 'getRightFooterGroups',
3830
+ key: process.env.NODE_ENV === 'production' && 'getRightFooterGroups',
3716
3831
  debug: function debug() {
3717
3832
  var _instance$options$deb8;
3718
3833
 
@@ -3727,7 +3842,7 @@ var Headers = {
3727
3842
  return headerGroup.headers;
3728
3843
  }).flat();
3729
3844
  }, {
3730
- key: 'getFlatHeaders',
3845
+ key: process.env.NODE_ENV === 'production' && 'getFlatHeaders',
3731
3846
  debug: function debug() {
3732
3847
  var _instance$options$deb9;
3733
3848
 
@@ -3741,7 +3856,7 @@ var Headers = {
3741
3856
  return headerGroup.headers;
3742
3857
  }).flat();
3743
3858
  }, {
3744
- key: 'getLeftFlatHeaders',
3859
+ key: process.env.NODE_ENV === 'production' && 'getLeftFlatHeaders',
3745
3860
  debug: function debug() {
3746
3861
  var _instance$options$deb10;
3747
3862
 
@@ -3755,7 +3870,7 @@ var Headers = {
3755
3870
  return headerGroup.headers;
3756
3871
  }).flat();
3757
3872
  }, {
3758
- key: 'getCenterFlatHeaders',
3873
+ key: process.env.NODE_ENV === 'production' && 'getCenterFlatHeaders',
3759
3874
  debug: function debug() {
3760
3875
  var _instance$options$deb11;
3761
3876
 
@@ -3769,7 +3884,7 @@ var Headers = {
3769
3884
  return headerGroup.headers;
3770
3885
  }).flat();
3771
3886
  }, {
3772
- key: 'getRightFlatHeaders',
3887
+ key: process.env.NODE_ENV === 'production' && 'getRightFlatHeaders',
3773
3888
  debug: function debug() {
3774
3889
  var _instance$options$deb12;
3775
3890
 
@@ -3786,7 +3901,7 @@ var Headers = {
3786
3901
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
3787
3902
  });
3788
3903
  }, {
3789
- key: 'getCenterLeafHeaders',
3904
+ key: process.env.NODE_ENV === 'production' && 'getCenterLeafHeaders',
3790
3905
  debug: function debug() {
3791
3906
  var _instance$options$deb13;
3792
3907
 
@@ -3802,7 +3917,7 @@ var Headers = {
3802
3917
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
3803
3918
  });
3804
3919
  }, {
3805
- key: 'getLeftLeafHeaders',
3920
+ key: process.env.NODE_ENV === 'production' && 'getLeftLeafHeaders',
3806
3921
  debug: function debug() {
3807
3922
  var _instance$options$deb14;
3808
3923
 
@@ -3818,7 +3933,7 @@ var Headers = {
3818
3933
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
3819
3934
  });
3820
3935
  }, {
3821
- key: 'getRightLeafHeaders',
3936
+ key: process.env.NODE_ENV === 'production' && 'getRightLeafHeaders',
3822
3937
  debug: function debug() {
3823
3938
  var _instance$options$deb15;
3824
3939
 
@@ -3834,7 +3949,7 @@ var Headers = {
3834
3949
  return header.getLeafHeaders();
3835
3950
  }).flat();
3836
3951
  }, {
3837
- key: 'getLeafHeaders',
3952
+ key: process.env.NODE_ENV === 'production' && 'getLeafHeaders',
3838
3953
  debug: function debug() {
3839
3954
  var _instance$options$deb16;
3840
3955
 
@@ -4043,6 +4158,7 @@ function createTableInstance(options) {
4043
4158
 
4044
4159
  Promise.resolve().then(function () {
4045
4160
  while (queued.length) {
4161
+ console.log('queue');
4046
4162
  queued.shift()();
4047
4163
  }
4048
4164
 
@@ -4235,7 +4351,7 @@ function getCoreRowModelSync() {
4235
4351
  rowsById: rowsById
4236
4352
  };
4237
4353
  }, {
4238
- key: 'getRowModel',
4354
+ key: process.env.NODE_ENV === 'production' && 'getRowModel',
4239
4355
  debug: function debug() {
4240
4356
  var _instance$options$deb;
4241
4357
 
@@ -4333,7 +4449,7 @@ function getCoreRowModelAsync(opts) {
4333
4449
  };
4334
4450
  };
4335
4451
  }, {
4336
- key: 'getRowModel',
4452
+ key: process.env.NODE_ENV === 'production' && 'getRowModel',
4337
4453
  initialSync: opts == null ? void 0 : opts.initialSync,
4338
4454
  onProgress: function onProgress(progress) {
4339
4455
  instance.setState(function (old) {
@@ -4356,243 +4472,103 @@ function getCoreRowModelAsync(opts) {
4356
4472
  };
4357
4473
  }
4358
4474
 
4359
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4360
- var newFilteredFlatRows = [];
4361
- var newFilteredRowsById = {};
4362
-
4363
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4364
- if (depth === void 0) {
4365
- depth = 0;
4366
- }
4367
-
4368
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4369
-
4370
- for (var i = 0; i < rowsToFilter.length; i++) {
4371
- var _row$subRows;
4372
-
4373
- var row = rowsToFilter[i];
4374
-
4375
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4376
- continue;
4377
- }
4378
-
4379
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4380
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4381
-
4382
- if (!rowsToFilter[i].subRows.length) {
4383
- rowsToFilter.splice(i, 1);
4384
- i--;
4385
- }
4386
- }
4387
-
4388
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4389
-
4390
- rowsToFilter.forEach(function (row) {
4391
- newFilteredFlatRows.push(row);
4392
- newFilteredRowsById[row.id] = row;
4393
- });
4394
- return rowsToFilter;
4395
- };
4396
-
4397
- return {
4398
- rows: recurseFilterRows(rowsToFilter),
4399
- flatRows: newFilteredFlatRows,
4400
- rowsById: newFilteredRowsById
4401
- };
4402
- }
4403
- function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4404
- var newFilteredFlatRows = [];
4405
- var newFilteredRowsById = {}; // Filters top level and nested rows
4406
-
4407
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4408
- if (depth === void 0) {
4409
- depth = 0;
4410
- }
4411
-
4412
- // Filter from parents downward first
4413
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4414
-
4415
- for (var i = 0; i < rowsToFilter.length; i++) {
4416
- var _row$subRows2;
4417
-
4418
- var row = rowsToFilter[i];
4419
- newFilteredFlatRows.push(row);
4420
- newFilteredRowsById[row.id] = row;
4421
-
4422
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
4423
- rowsToFilter.splice(i, 1);
4424
- i--;
4425
- continue;
4426
- }
4427
-
4428
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4429
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4430
- }
4431
-
4432
- return rowsToFilter;
4433
- };
4434
-
4435
- return {
4436
- rows: recurseFilterRows(rowsToFilter),
4437
- flatRows: newFilteredFlatRows,
4438
- rowsById: newFilteredRowsById
4439
- };
4440
- }
4441
-
4442
- function getColumnFilteredRowModelSync() {
4475
+ function getFilteredRowModelSync() {
4443
4476
  return function (instance) {
4444
4477
  return memo(function () {
4445
- return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4446
- }, function (columnFilters, rowModel) {
4478
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
4479
+ }, function (rowModel, columnFilters, globalFilter) {
4447
4480
  var columnFilteredRowModel = function () {
4448
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4481
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
4449
4482
  return rowModel;
4450
4483
  }
4451
4484
 
4452
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4453
-
4454
- var filterRows = function filterRows(rowsToFilter, depth) {
4455
- for (var i = 0; i < columnFilters.length; i++) {
4456
- var _columnFilters$i = columnFilters[i],
4457
- columnId = _columnFilters$i.id,
4458
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4459
-
4460
- var column = instance.getColumn(columnId);
4485
+ var resolvedColumnFilters = [];
4486
+ var resolvedGlobalFilters = [];
4487
+ (columnFilters != null ? columnFilters : []).forEach(function (d) {
4488
+ var _filterFn$resolveFilt;
4461
4489
 
4462
- if (!column) {
4463
- if (process.env.NODE_ENV !== 'production') {
4464
- console.warn("Table: Could not find a column with id: " + columnId);
4465
- }
4490
+ var column = instance.getColumn(d.id);
4466
4491
 
4467
- 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);
4468
4495
  }
4496
+ }
4469
4497
 
4470
- if (depth === 0) {
4471
- (function () {
4472
- var preFilteredRows = [].concat(rowsToFilter);
4498
+ var filterFn = instance.getColumnFilterFn(column.id);
4473
4499
 
4474
- column.getPreFilteredRows = function () {
4475
- return preFilteredRows;
4476
- };
4477
- })();
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 + ".");
4478
4503
  }
4479
4504
 
4480
- var filterFn = instance.getColumnFilterFn(column.id);
4481
-
4482
- if (!filterFn) {
4483
- if (process.env.NODE_ENV !== 'production') {
4484
- console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4485
- }
4486
-
4487
- continue;
4488
- } // Pass the rows, id, filterValue and column to the filterFn
4489
- // to get the filtered rows back
4490
-
4491
-
4492
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4505
+ return;
4493
4506
  }
4494
4507
 
4495
- return rowsToFilter;
4496
- };
4497
-
4498
- if (filterFromLeafRows) {
4499
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4500
- }
4501
-
4502
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4503
- }(); // Now that each filtered column has it's partially filtered rows,
4504
- // lets assign the final filtered rows to all of the other columns
4505
-
4506
-
4507
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4508
- var _instance$getState$co;
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
+ });
4509
4521
 
4510
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4511
- return d.id === column.id;
4512
- }));
4513
- }); // This essentially enables faceted filter options to be built easily
4514
- // using every column's preFilteredRows value
4522
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
4523
+ filterableIds.push('__global__');
4524
+ globallyFilterableColumns.forEach(function (column) {
4525
+ var _globalFilterFn$resol;
4515
4526
 
4516
- nonFilteredColumns.forEach(function (column) {
4517
- column.getPreFilteredRows = function () {
4518
- return columnFilteredRowModel.rows;
4519
- };
4520
- });
4521
- return columnFilteredRowModel;
4522
- }, {
4523
- key: 'getColumnFilteredRowModelSync',
4524
- debug: function debug() {
4525
- var _instance$options$deb;
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
4526
4534
 
4527
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4528
- },
4529
- onChange: function onChange() {
4530
- instance.queue(function () {
4531
- instance._autoResetPageIndex();
4532
- });
4533
- }
4534
- });
4535
- };
4536
- }
4537
4535
 
4538
- function getGlobalFilteredRowModelSync() {
4539
- return function (instance) {
4540
- return memo(function () {
4541
- return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4542
- }, function (globalFilter, rowModel) {
4543
- var globalFilteredRowModel = function () {
4544
- if (!rowModel.rows.length || !globalFilter) {
4545
- return rowModel;
4546
- }
4536
+ for (var j = 0; j < rowModel.flatRows.length; j++) {
4537
+ var row = rowModel.flatRows[j];
4538
+ row.columnFilterMap = {};
4547
4539
 
4548
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4549
- var filterFn = instance.getGlobalFilterFn();
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
4550
4543
 
4551
- if (!filterFn) {
4552
- if (process.env.NODE_ENV !== 'production') {
4553
- console.warn("Could not find a valid 'globalFilterType'");
4544
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedFilterValue);
4545
+ }
4554
4546
  }
4555
4547
 
4556
- return rowModel;
4557
- }
4548
+ if (resolvedGlobalFilters.length) {
4558
4549
 
4559
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4560
- return column.getCanGlobalFilter();
4561
- });
4562
- var filterableColumnIds = filterableColumns.map(function (d) {
4563
- return d.id;
4564
- });
4565
-
4566
- var filterRows = function filterRows(rows) {
4567
- return filterFn(rows, filterableColumnIds, globalFilter);
4568
- };
4550
+ for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
4551
+ var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
4569
4552
 
4570
- if (filterFromLeafRows) {
4571
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4572
- }
4573
-
4574
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4575
- }(); // Now that each filtered column has it's partially filtered rows,
4576
- // 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
+ }
4577
4558
 
4559
+ if (row.columnFilterMap.__global__ !== true) {
4560
+ row.columnFilterMap.__global__ = false;
4561
+ }
4562
+ }
4563
+ } // Filter final rows using all of the active filters
4578
4564
 
4579
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4580
- var _instance$getState$co;
4581
4565
 
4582
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4583
- return d.id === column.id;
4584
- }));
4585
- }); // This essentially enables faceted filter options to be built easily
4586
- // using every column's preFilteredRows value
4566
+ return filterRows(rowModel.rows, filterableIds, instance);
4567
+ }();
4587
4568
 
4588
- nonFilteredColumns.forEach(function (column) {
4589
- column.getPreFilteredRows = function () {
4590
- return globalFilteredRowModel.rows;
4591
- };
4592
- });
4593
- return globalFilteredRowModel;
4569
+ return columnFilteredRowModel;
4594
4570
  }, {
4595
- key: 'getGlobalFilteredRowModelSync',
4571
+ key: process.env.NODE_ENV === 'production' && 'getFilteredRowModelSync',
4596
4572
  debug: function debug() {
4597
4573
  var _instance$options$deb;
4598
4574
 
@@ -4692,7 +4668,7 @@ function getSortedRowModelSync() {
4692
4668
  rowsById: rowModel.rowsById
4693
4669
  };
4694
4670
  }, {
4695
- key: 'getSortedRowModel',
4671
+ key: process.env.NODE_ENV === 'production' && 'getSortedRowModel',
4696
4672
  debug: function debug() {
4697
4673
  var _instance$options$deb;
4698
4674
 
@@ -4834,7 +4810,7 @@ function getGroupedRowModelSync() {
4834
4810
  rowsById: groupedRowsById
4835
4811
  };
4836
4812
  }, {
4837
- key: 'getGroupedRowModel',
4813
+ key: process.env.NODE_ENV === 'production' && 'getGroupedRowModel',
4838
4814
  debug: function debug() {
4839
4815
  var _instance$options$deb;
4840
4816
 
@@ -4879,7 +4855,7 @@ function getExpandedRowModel() {
4879
4855
 
4880
4856
  return expandRows(rowModel, instance);
4881
4857
  }, {
4882
- key: 'getExpandedRowModel',
4858
+ key: process.env.NODE_ENV === 'production' && 'getExpandedRowModel',
4883
4859
  debug: function debug() {
4884
4860
  var _instance$options$deb;
4885
4861
 
@@ -4941,7 +4917,7 @@ function getPaginationRowModel(opts) {
4941
4917
  rowsById: rowsById
4942
4918
  };
4943
4919
  }, {
4944
- key: 'getPaginationRowModel',
4920
+ key: process.env.NODE_ENV === 'production' && 'getPaginationRowModel',
4945
4921
  debug: function debug() {
4946
4922
  var _instance$options$deb;
4947
4923
 
@@ -4951,5 +4927,5 @@ function getPaginationRowModel(opts) {
4951
4927
  };
4952
4928
  }
4953
4929
 
4954
- 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, orderColumns, 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 };
4955
4931
  //# sourceMappingURL=index.js.map