@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
@@ -213,9 +213,7 @@
213
213
  var a = _ref[0],
214
214
  b = _ref[1];
215
215
  return _extends({}, accu, (_extends3 = {}, _extends3[a] = b, _extends3));
216
- }, {}), {
217
- parent: parent
218
- }));
216
+ }, {})));
219
217
  }
220
218
  }
221
219
 
@@ -299,9 +297,7 @@
299
297
  var a = _ref2[0],
300
298
  b = _ref2[1];
301
299
  return _extends({}, accu, (_extends4 = {}, _extends4[a] = b, _extends4));
302
- }, {}), {
303
- parent: parent
304
- }));
300
+ }, {})));
305
301
  }
306
302
  }
307
303
 
@@ -383,7 +379,7 @@
383
379
 
384
380
  return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
385
381
  },
386
- key: 'getDefaultColumn'
382
+ key: "development" === 'production'
387
383
  }),
388
384
  getColumnDefs: function getColumnDefs() {
389
385
  return instance.options.columns;
@@ -426,7 +422,7 @@
426
422
  return d.getFlatColumns();
427
423
  }));
428
424
  }, {
429
- key: 'column.getFlatColumns',
425
+ key: "development" === 'production' ,
430
426
  debug: function debug() {
431
427
  var _instance$options$deb2;
432
428
 
@@ -447,7 +443,7 @@
447
443
 
448
444
  return [column];
449
445
  }, {
450
- key: 'column.getLeafColumns',
446
+ key: "development" === 'production' ,
451
447
  debug: function debug() {
452
448
  var _instance$options$deb3;
453
449
 
@@ -479,7 +475,7 @@
479
475
 
480
476
  return recurseColumns(columnDefs);
481
477
  }, {
482
- key: 'getAllColumns',
478
+ key: "development" === 'production' ,
483
479
  debug: function debug() {
484
480
  var _instance$options$deb4;
485
481
 
@@ -493,7 +489,7 @@
493
489
  return column.getFlatColumns();
494
490
  });
495
491
  }, {
496
- key: 'getAllFlatColumns',
492
+ key: "development" === 'production' ,
497
493
  debug: function debug() {
498
494
  var _instance$options$deb5;
499
495
 
@@ -508,7 +504,7 @@
508
504
  return acc;
509
505
  }, {});
510
506
  }, {
511
- key: 'getAllFlatColumnsById',
507
+ key: "development" === 'production' ,
512
508
  debug: function debug() {
513
509
  var _instance$options$deb6;
514
510
 
@@ -523,7 +519,7 @@
523
519
  });
524
520
  return orderColumns(leafColumns);
525
521
  }, {
526
- key: 'getAllLeafColumns',
522
+ key: "development" === 'production' ,
527
523
  debug: function debug() {
528
524
  var _instance$options$deb7;
529
525
 
@@ -637,7 +633,7 @@
637
633
  return acc;
638
634
  }, {});
639
635
  }, {
640
- key: 'row.getAllCellsByColumnId',
636
+ key: "development" === 'production' ,
641
637
  debug: function debug() {
642
638
  var _instance$options$deb2;
643
639
 
@@ -1249,150 +1245,85 @@
1249
1245
  }
1250
1246
  };
1251
1247
 
1252
- var filterFns = {
1253
- includesString: includesString,
1254
- includesStringSensitive: includesStringSensitive,
1255
- equalsString: equalsString,
1256
- equalsStringSensitive: equalsStringSensitive,
1257
- arrIncludes: arrIncludes,
1258
- arrIncludesAll: arrIncludesAll,
1259
- arrIncludesSome: arrIncludesSome,
1260
- equals: equals,
1261
- weakEquals: weakEquals,
1262
- betweenNumberRange: betweenNumberRange
1248
+ var includesString = function includesString(row, columnId, filterValue) {
1249
+ var search = filterValue.toLowerCase();
1250
+ return row.values[columnId].toLowerCase().includes(search);
1263
1251
  };
1264
1252
 
1265
- function includesString(rows, columnIds, filterValue) {
1266
- var search = String(filterValue).toLowerCase();
1267
- rows = rows.filter(function (row) {
1268
- return columnIds.some(function (id) {
1269
- return String(row.values[id]).toLowerCase().includes(search);
1270
- });
1271
- });
1272
- return rows;
1273
- }
1274
-
1275
1253
  includesString.autoRemove = function (val) {
1276
1254
  return testFalsey(val);
1277
1255
  };
1278
1256
 
1279
- function includesStringSensitive(rows, columnIds, filterValue) {
1280
- var search = String(filterValue);
1281
- rows = rows.filter(function (row) {
1282
- return columnIds.some(function (id) {
1283
- return String(row.values[id]).includes(search);
1284
- });
1285
- });
1286
- return rows;
1287
- }
1257
+ var includesStringSensitive = function includesStringSensitive(row, columnId, filterValue) {
1258
+ return row.values[columnId].includes(filterValue);
1259
+ };
1288
1260
 
1289
1261
  includesStringSensitive.autoRemove = function (val) {
1290
1262
  return testFalsey(val);
1291
1263
  };
1292
1264
 
1293
- function equalsString(rows, columnIds, filterValue) {
1294
- var search = String(filterValue).toLowerCase();
1295
- return rows.filter(function (row) {
1296
- return columnIds.some(function (id) {
1297
- var rowValue = row.values[id];
1298
- return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
1299
- });
1300
- });
1301
- }
1265
+ var equalsString = function equalsString(row, columnId, filterValue) {
1266
+ return row.values[columnId].toLowerCase() === filterValue.toLowerCase();
1267
+ };
1302
1268
 
1303
1269
  equalsString.autoRemove = function (val) {
1304
1270
  return testFalsey(val);
1305
1271
  };
1306
1272
 
1307
- function equalsStringSensitive(rows, columnIds, filterValue) {
1308
- var search = String(filterValue);
1309
- return rows.filter(function (row) {
1310
- return columnIds.some(function (id) {
1311
- var rowValue = row.values[id];
1312
- return rowValue !== undefined ? String(rowValue) === search : true;
1313
- });
1314
- });
1315
- }
1316
-
1317
- equalsStringSensitive.autoRemove = function (val) {
1318
- return testFalsey(val);
1273
+ var arrIncludes = function arrIncludes(row, columnId, filterValue) {
1274
+ return row.values[columnId].includes(filterValue);
1319
1275
  };
1320
1276
 
1321
- function arrIncludes(rows, columnIds, filterValue) {
1322
- return rows.filter(function (row) {
1323
- return columnIds.some(function (id) {
1324
- var rowValue = row.values[id];
1325
- return rowValue.includes(filterValue);
1326
- });
1327
- });
1328
- }
1329
-
1330
1277
  arrIncludes.autoRemove = function (val) {
1331
1278
  return testFalsey(val) || !(val != null && val.length);
1332
1279
  };
1333
1280
 
1334
- function arrIncludesAll(rows, columnIds, filterValue) {
1335
- return rows.filter(function (row) {
1336
- return columnIds.some(function (id) {
1337
- var rowValue = row.values[id];
1338
- return rowValue && rowValue.length && filterValue.every(function (val) {
1339
- return rowValue.includes(val);
1340
- });
1341
- });
1281
+ var arrIncludesAll = function arrIncludesAll(row, columnId, filterValue) {
1282
+ return !filterValue.some(function (val) {
1283
+ return !row.values[columnId].includes(val);
1342
1284
  });
1343
- }
1285
+ };
1344
1286
 
1345
1287
  arrIncludesAll.autoRemove = function (val) {
1346
1288
  return testFalsey(val) || !(val != null && val.length);
1347
1289
  };
1348
1290
 
1349
- function arrIncludesSome(rows, columnIds, filterValue) {
1350
- return rows.filter(function (row) {
1351
- return columnIds.some(function (id) {
1352
- var rowValue = row.values[id];
1353
- return rowValue && rowValue.length && filterValue.some(function (val) {
1354
- return rowValue.includes(val);
1355
- });
1356
- });
1291
+ var arrIncludesSome = function arrIncludesSome(row, columnId, filterValue) {
1292
+ return filterValue.some(function (val) {
1293
+ return row.values[columnId].includes(val);
1357
1294
  });
1358
- }
1295
+ };
1359
1296
 
1360
1297
  arrIncludesSome.autoRemove = function (val) {
1361
1298
  return testFalsey(val) || !(val != null && val.length);
1362
1299
  };
1363
1300
 
1364
- function equals(rows, columnIds, filterValue) {
1365
- return rows.filter(function (row) {
1366
- return columnIds.some(function (id) {
1367
- var rowValue = row.values[id];
1368
- return rowValue === filterValue;
1369
- });
1370
- });
1371
- }
1301
+ var equals = function equals(row, columnId, filterValue) {
1302
+ return row.values[columnId] === filterValue;
1303
+ };
1372
1304
 
1373
1305
  equals.autoRemove = function (val) {
1374
1306
  return testFalsey(val);
1375
1307
  };
1376
1308
 
1377
- function weakEquals(rows, columnIds, filterValue) {
1378
- return rows.filter(function (row) {
1379
- return columnIds.some(function (id) {
1380
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
1381
-
1382
- return rowValue == filterValue;
1383
- });
1384
- });
1385
- }
1309
+ var weakEquals = function weakEquals(row, columnId, filterValue) {
1310
+ return row.values[columnId] == filterValue;
1311
+ };
1386
1312
 
1387
1313
  weakEquals.autoRemove = function (val) {
1388
1314
  return testFalsey(val);
1389
1315
  };
1390
1316
 
1391
- function betweenNumberRange(rows, columnIds, filterValue) {
1392
- var _ref = filterValue || [],
1393
- unsafeMin = _ref[0],
1394
- unsafeMax = _ref[1];
1317
+ var inNumberRange = function inNumberRange(row, columnId, filterValue) {
1318
+ var min = filterValue[0],
1319
+ max = filterValue[1];
1320
+ var rowValue = row.values[columnId];
1321
+ return rowValue >= min && rowValue <= max;
1322
+ };
1395
1323
 
1324
+ inNumberRange.resolveFilterValue = function (val) {
1325
+ var unsafeMin = val[0],
1326
+ unsafeMax = val[1];
1396
1327
  var parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
1397
1328
  var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
1398
1329
  var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
@@ -1404,23 +1335,134 @@
1404
1335
  max = temp;
1405
1336
  }
1406
1337
 
1407
- return rows.filter(function (row) {
1408
- return columnIds.some(function (id) {
1409
- var rowValue = row.values[id];
1410
- return rowValue >= min && rowValue <= max;
1411
- });
1412
- });
1413
- }
1338
+ return [min, max];
1339
+ };
1414
1340
 
1415
- betweenNumberRange.autoRemove = function (val) {
1341
+ inNumberRange.autoRemove = function (val) {
1416
1342
  return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
1417
- }; // Utils
1343
+ }; // Export
1418
1344
 
1419
1345
 
1346
+ var filterFns = {
1347
+ includesString: includesString,
1348
+ includesStringSensitive: includesStringSensitive,
1349
+ equalsString: equalsString,
1350
+ arrIncludes: arrIncludes,
1351
+ arrIncludesAll: arrIncludesAll,
1352
+ arrIncludesSome: arrIncludesSome,
1353
+ equals: equals,
1354
+ weakEquals: weakEquals,
1355
+ inNumberRange: inNumberRange
1356
+ };
1357
+
1358
+ // Utils
1420
1359
  function testFalsey(val) {
1421
1360
  return val === undefined || val === null || val === '';
1422
1361
  }
1423
1362
 
1363
+ function filterRows(rows, columnIds, instance) {
1364
+ var filterRowImpl = function filterRowImpl(rowsToFilter) {
1365
+ // Horizontally filter rows through each column
1366
+ return rowsToFilter.filter(function (row) {
1367
+ for (var i = 0; i < columnIds.length; i++) {
1368
+ if (row.columnFilterMap[columnIds[i]] === false) {
1369
+ return false;
1370
+ }
1371
+ }
1372
+
1373
+ return true;
1374
+ });
1375
+ };
1376
+
1377
+ if (instance.options.filterFromLeafRows) {
1378
+ return filterRowModelFromLeafs(rows, filterRowImpl, instance);
1379
+ }
1380
+
1381
+ return filterRowModelFromRoot(rows, filterRowImpl, instance);
1382
+ }
1383
+ function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
1384
+ var newFilteredFlatRows = [];
1385
+ var newFilteredRowsById = {};
1386
+
1387
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1388
+ if (depth === void 0) {
1389
+ depth = 0;
1390
+ }
1391
+
1392
+ rowsToFilter = rowsToFilter.slice(); // Filter from children up first
1393
+
1394
+ for (var i = 0; i < rowsToFilter.length; i++) {
1395
+ var _row$subRows;
1396
+
1397
+ var row = rowsToFilter[i];
1398
+
1399
+ if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
1400
+ continue;
1401
+ }
1402
+
1403
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1404
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1405
+
1406
+ if (!rowsToFilter[i].subRows.length) {
1407
+ rowsToFilter.splice(i, 1);
1408
+ i--;
1409
+ }
1410
+ }
1411
+
1412
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1413
+
1414
+ rowsToFilter.forEach(function (row) {
1415
+ newFilteredFlatRows.push(row);
1416
+ newFilteredRowsById[row.id] = row;
1417
+ });
1418
+ return rowsToFilter;
1419
+ };
1420
+
1421
+ return {
1422
+ rows: recurseFilterRows(rowsToFilter),
1423
+ flatRows: newFilteredFlatRows,
1424
+ rowsById: newFilteredRowsById
1425
+ };
1426
+ }
1427
+ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
1428
+ var newFilteredFlatRows = [];
1429
+ var newFilteredRowsById = {}; // Filters top level and nested rows
1430
+
1431
+ var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
1432
+ if (depth === void 0) {
1433
+ depth = 0;
1434
+ }
1435
+
1436
+ // Filter from parents downward first
1437
+ rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
1438
+
1439
+ for (var i = 0; i < rowsToFilter.length; i++) {
1440
+ var _row$subRows2;
1441
+
1442
+ var row = rowsToFilter[i];
1443
+ newFilteredFlatRows.push(row);
1444
+ newFilteredRowsById[row.id] = row;
1445
+
1446
+ if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
1447
+ rowsToFilter.splice(i, 1);
1448
+ i--;
1449
+ continue;
1450
+ }
1451
+
1452
+ rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
1453
+ rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
1454
+ }
1455
+
1456
+ return rowsToFilter;
1457
+ };
1458
+
1459
+ return {
1460
+ rows: recurseFilterRows(rowsToFilter),
1461
+ flatRows: newFilteredFlatRows,
1462
+ rowsById: newFilteredRowsById
1463
+ };
1464
+ }
1465
+
1424
1466
  //
1425
1467
  var Filters = {
1426
1468
  getDefaultColumn: function getDefaultColumn() {
@@ -1451,50 +1493,6 @@
1451
1493
  };
1452
1494
  },
1453
1495
  createColumn: function createColumn(column, instance) {
1454
- var getFacetInfo = memo(function () {
1455
- return [column.getPreFilteredRows()];
1456
- }, function (rows) {
1457
- var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
1458
-
1459
- if (rows === void 0) {
1460
- rows = [];
1461
- }
1462
-
1463
- var preFilteredUniqueValues = new Map();
1464
- 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];
1465
-
1466
- for (var i = 0; i < rows.length; i++) {
1467
- var _rows$i;
1468
-
1469
- var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
1470
-
1471
- if (preFilteredUniqueValues.has(_value)) {
1472
- var _preFilteredUniqueVal;
1473
-
1474
- preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
1475
- } else {
1476
- preFilteredUniqueValues.set(_value, 1);
1477
- }
1478
-
1479
- if (_value < preFilteredMinMaxValues[0]) {
1480
- preFilteredMinMaxValues[0] = _value;
1481
- } else if (_value > preFilteredMinMaxValues[1]) {
1482
- preFilteredMinMaxValues[1] = _value;
1483
- }
1484
- }
1485
-
1486
- return {
1487
- preFilteredUniqueValues: preFilteredUniqueValues,
1488
- preFilteredMinMaxValues: preFilteredMinMaxValues
1489
- };
1490
- }, {
1491
- key: 'column.getFacetInfo',
1492
- debug: function debug() {
1493
- var _instance$options$deb;
1494
-
1495
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1496
- }
1497
- });
1498
1496
  return {
1499
1497
  filterFn: column.filterFn,
1500
1498
  getCanColumnFilter: function getCanColumnFilter() {
@@ -1515,15 +1513,57 @@
1515
1513
  setColumnFilterValue: function setColumnFilterValue(val) {
1516
1514
  return instance.setColumnFilterValue(column.id, val);
1517
1515
  },
1518
- getPreFilteredUniqueValues: function getPreFilteredUniqueValues() {
1519
- return getFacetInfo().preFilteredUniqueValues;
1520
- },
1521
- getPreFilteredMinMaxValues: function getPreFilteredMinMaxValues() {
1522
- return getFacetInfo().preFilteredMinMaxValues;
1523
- },
1524
- getPreFilteredRows: function getPreFilteredRows() {
1525
- return undefined;
1526
- }
1516
+ getFacetedRowModel: memo(function () {
1517
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1518
+ instance.getFilteredRowModel()];
1519
+ }, function (rowModel, columnFilters, globalFilter, _) {
1520
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1521
+ return rowModel;
1522
+ }
1523
+
1524
+ return filterRows(rowModel.rows, [].concat(columnFilters.map(function (d) {
1525
+ return d.id;
1526
+ }).filter(function (d) {
1527
+ return d !== column.id;
1528
+ }), [globalFilter ? '__global__' : undefined]).filter(Boolean), instance);
1529
+ }, {
1530
+ key: "development" === 'production' ,
1531
+ debug: function debug() {
1532
+ var _instance$options$deb;
1533
+
1534
+ return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
1535
+ }
1536
+ }),
1537
+ getFacetedUniqueValues: memo(function () {
1538
+ return [column.getFacetedRowModel()];
1539
+ }, function (facetedRowModel) {
1540
+ return getRowModelUniqueValues(facetedRowModel, column.id);
1541
+ }, {
1542
+ key: "development" === 'production' ,
1543
+ debug: function debug() {
1544
+ var _instance$options$deb2;
1545
+
1546
+ return (_instance$options$deb2 = instance.options.debugAll) != null ? _instance$options$deb2 : instance.options.debugColumns;
1547
+ }
1548
+ }),
1549
+ getFacetedMinMaxValues: memo(function () {
1550
+ return [column.getFacetedRowModel()];
1551
+ }, function (facetedRowModel) {
1552
+ return getRowModelMinMaxValues(facetedRowModel, column.id);
1553
+ }, {
1554
+ key: "development" === 'production' ,
1555
+ debug: function debug() {
1556
+ var _instance$options$deb3;
1557
+
1558
+ return (_instance$options$deb3 = instance.options.debugAll) != null ? _instance$options$deb3 : instance.options.debugColumns;
1559
+ }
1560
+ })
1561
+ };
1562
+ },
1563
+ createRow: function createRow(row, instance) {
1564
+ return {
1565
+ columnFilterMap: {},
1566
+ subRowsByFacetId: {}
1527
1567
  };
1528
1568
  },
1529
1569
  createInstance: function createInstance(instance) {
@@ -1537,7 +1577,7 @@
1537
1577
  }
1538
1578
 
1539
1579
  if (typeof value === 'number') {
1540
- return filterFns.betweenNumberRange;
1580
+ return filterFns.inNumberRange;
1541
1581
  }
1542
1582
 
1543
1583
  if (value !== null && typeof value === 'object') {
@@ -1550,6 +1590,15 @@
1550
1590
 
1551
1591
  return filterFns.weakEquals;
1552
1592
  },
1593
+ getColumnFacetedRowModel: function getColumnFacetedRowModel(columnId) {
1594
+ var column = instance.getColumn(columnId);
1595
+
1596
+ if (!column) {
1597
+ throw new Error();
1598
+ }
1599
+
1600
+ return column.getFacetedRowModel();
1601
+ },
1553
1602
  getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
1554
1603
  return filterFns.includesString;
1555
1604
  },
@@ -1571,7 +1620,6 @@
1571
1620
  var _instance$options = instance.options,
1572
1621
  userFilterFns = _instance$options.filterFns,
1573
1622
  globalFilterFn = _instance$options.globalFilterFn;
1574
- debugger;
1575
1623
  return isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns[globalFilterFn];
1576
1624
  },
1577
1625
  setColumnFilters: function setColumnFilters(updater) {
@@ -1606,7 +1654,7 @@
1606
1654
  instance.setGlobalFilter(instance.initialState.globalFilter);
1607
1655
  },
1608
1656
  getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
1609
- var _column$enableColumnF, _instance$options$ena;
1657
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
1610
1658
 
1611
1659
  var column = instance.getColumn(columnId);
1612
1660
 
@@ -1614,10 +1662,10 @@
1614
1662
  throw new Error();
1615
1663
  }
1616
1664
 
1617
- return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && !!column.accessorFn;
1665
+ 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;
1618
1666
  },
1619
1667
  getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
1620
- var _column$enableGlobalF, _instance$options$ena2, _instance$options$get;
1668
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
1621
1669
 
1622
1670
  var column = instance.getColumn(columnId);
1623
1671
 
@@ -1625,7 +1673,7 @@
1625
1673
  throw new Error();
1626
1674
  }
1627
1675
 
1628
- 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;
1676
+ 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;
1629
1677
  },
1630
1678
  getColumnIsFiltered: function getColumnIsFiltered(columnId) {
1631
1679
  return instance.getColumnFilterIndex(columnId) > -1;
@@ -1700,40 +1748,107 @@
1700
1748
 
1701
1749
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
1702
1750
  },
1703
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1751
+ getPreFilteredRowModel: function getPreFilteredRowModel() {
1704
1752
  return instance.getCoreRowModel();
1705
1753
  },
1706
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1707
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1708
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1754
+ getFilteredRowModel: function getFilteredRowModel() {
1755
+ if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
1756
+ instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
1709
1757
  }
1710
1758
 
1711
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
1712
- return instance.getPreColumnFilteredRowModel();
1759
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
1760
+ return instance.getPreFilteredRowModel();
1713
1761
  }
1714
1762
 
1715
- return instance._getColumnFilteredRowModel();
1763
+ return instance._getFilteredRowModel();
1716
1764
  },
1717
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1718
- return instance.getColumnFilteredRowModel();
1719
- },
1720
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1721
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1722
- instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
1765
+ getGlobalFacetedRowModel: memo(function () {
1766
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter, // Include this to force the filtered facet info to be calculated
1767
+ instance.getFilteredRowModel()];
1768
+ }, function (rowModel, columnFilters, globalFilter, _) {
1769
+ if (!(columnFilters != null && columnFilters.length) && !globalFilter) {
1770
+ return rowModel;
1723
1771
  }
1724
1772
 
1725
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
1726
- return instance.getPreGlobalFilteredRowModel();
1773
+ return filterRows(rowModel.rows, columnFilters.map(function (d) {
1774
+ return d.id;
1775
+ }), instance);
1776
+ }, {
1777
+ key: "development" === 'production' ,
1778
+ debug: function debug() {
1779
+ var _instance$options$deb4;
1780
+
1781
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
1727
1782
  }
1783
+ }),
1784
+ getGlobalFacetedUniqueValues: memo(function () {
1785
+ return [instance.getGlobalFacetedRowModel()];
1786
+ }, function (facetedRowModel) {
1787
+ return getRowModelUniqueValues(facetedRowModel, '__global__');
1788
+ }, {
1789
+ key: "development" === 'production' ,
1790
+ debug: function debug() {
1791
+ var _instance$options$deb5;
1728
1792
 
1729
- return instance._getGlobalFilteredRowModel();
1730
- }
1793
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
1794
+ }
1795
+ }),
1796
+ getGlobalFacetedMinMaxValues: memo(function () {
1797
+ return [instance.getGlobalFacetedRowModel()];
1798
+ }, function (facetedRowModel) {
1799
+ return getRowModelMinMaxValues(facetedRowModel, '__global__');
1800
+ }, {
1801
+ key: "development" === 'production' ,
1802
+ debug: function debug() {
1803
+ var _instance$options$deb6;
1804
+
1805
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
1806
+ }
1807
+ })
1731
1808
  };
1732
1809
  }
1733
1810
  };
1734
1811
  function shouldAutoRemoveFilter(filterFn, value, column) {
1735
1812
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
1736
1813
  }
1814
+ function getRowModelMinMaxValues(rowModel, columnId) {
1815
+ var _rowModel$flatRows$0$, _rowModel$flatRows$, _rowModel$flatRows$0$2, _rowModel$flatRows$2;
1816
+
1817
+ 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];
1818
+
1819
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1820
+ var _rowModel$flatRows$i;
1821
+
1822
+ var _value = (_rowModel$flatRows$i = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i.values[columnId];
1823
+
1824
+ if (_value < facetedMinMaxValues[0]) {
1825
+ facetedMinMaxValues[0] = _value;
1826
+ } else if (_value > facetedMinMaxValues[1]) {
1827
+ facetedMinMaxValues[1] = _value;
1828
+ }
1829
+ }
1830
+
1831
+ return facetedMinMaxValues;
1832
+ }
1833
+ function getRowModelUniqueValues(rowModel, columnId) {
1834
+ var facetedUniqueValues = new Map();
1835
+
1836
+ for (var i = 0; i < rowModel.flatRows.length; i++) {
1837
+ var _rowModel$flatRows$i2;
1838
+
1839
+ var _value2 = (_rowModel$flatRows$i2 = rowModel.flatRows[i]) == null ? void 0 : _rowModel$flatRows$i2.values[columnId];
1840
+
1841
+ if (facetedUniqueValues.has(_value2)) {
1842
+ var _facetedUniqueValues$;
1843
+
1844
+ facetedUniqueValues.set(_value2, ((_facetedUniqueValues$ = facetedUniqueValues.get(_value2)) != null ? _facetedUniqueValues$ : 0) + 1);
1845
+ } else {
1846
+ facetedUniqueValues.set(_value2, 1);
1847
+ }
1848
+ }
1849
+
1850
+ return facetedUniqueValues;
1851
+ }
1737
1852
 
1738
1853
  var aggregationFns = {
1739
1854
  sum: sum,
@@ -2101,7 +2216,7 @@
2101
2216
  return orderColumns(orderedColumns, grouping, groupedColumnMode);
2102
2217
  };
2103
2218
  }, {
2104
- key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2219
+ key: "development" === 'production' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2105
2220
 
2106
2221
  })
2107
2222
  };
@@ -2214,7 +2329,7 @@
2214
2329
 
2215
2330
  return pageOptions;
2216
2331
  }, {
2217
- key: 'getPageOptions',
2332
+ key: "development" === 'production' ,
2218
2333
  debug: function debug() {
2219
2334
  var _instance$options$deb;
2220
2335
 
@@ -2316,7 +2431,7 @@
2316
2431
  return !leftAndRight.includes(d.columnId);
2317
2432
  });
2318
2433
  }, {
2319
- key: 'row.getCenterVisibleCells',
2434
+ key: "development" === 'production' ,
2320
2435
  debug: function debug() {
2321
2436
  var _instance$options$deb;
2322
2437
 
@@ -2337,7 +2452,7 @@
2337
2452
  });
2338
2453
  return cells;
2339
2454
  }, {
2340
- key: 'row.getLeftVisibleCells',
2455
+ key: "development" === 'production' ,
2341
2456
  debug: function debug() {
2342
2457
  var _instance$options$deb2;
2343
2458
 
@@ -2358,7 +2473,7 @@
2358
2473
  });
2359
2474
  return cells;
2360
2475
  }, {
2361
- key: 'row.getRightVisibleCells',
2476
+ key: "development" === 'production' ,
2362
2477
  debug: function debug() {
2363
2478
  var _instance$options$deb3;
2364
2479
 
@@ -2477,7 +2592,7 @@
2477
2592
  });
2478
2593
  }).filter(Boolean);
2479
2594
  }, {
2480
- key: 'getLeftLeafColumns',
2595
+ key: "development" === 'production' ,
2481
2596
  debug: function debug() {
2482
2597
  var _instance$options$deb4;
2483
2598
 
@@ -2493,7 +2608,7 @@
2493
2608
  });
2494
2609
  }).filter(Boolean);
2495
2610
  }, {
2496
- key: 'getRightLeafColumns',
2611
+ key: "development" === 'production' ,
2497
2612
  debug: function debug() {
2498
2613
  var _instance$options$deb5;
2499
2614
 
@@ -2508,7 +2623,7 @@
2508
2623
  return !leftAndRight.includes(d.id);
2509
2624
  });
2510
2625
  }, {
2511
- key: 'getCenterLeafColumns',
2626
+ key: "development" === 'production' ,
2512
2627
  debug: function debug() {
2513
2628
  var _instance$options$deb6;
2514
2629
 
@@ -2663,7 +2778,7 @@
2663
2778
 
2664
2779
  return selectRowsFn(instance, rowModel);
2665
2780
  }, {
2666
- key: 'getSelectedRowModel',
2781
+ key: "development" === 'production' ,
2667
2782
  debug: function debug() {
2668
2783
  var _instance$options$deb;
2669
2784
 
@@ -2671,7 +2786,7 @@
2671
2786
  }
2672
2787
  }),
2673
2788
  getFilteredSelectedRowModel: memo(function () {
2674
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
2789
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
2675
2790
  }, function (rowSelection, rowModel) {
2676
2791
  if (!Object.keys(rowSelection).length) {
2677
2792
  return {
@@ -2683,7 +2798,7 @@
2683
2798
 
2684
2799
  return selectRowsFn(instance, rowModel);
2685
2800
  }, {
2686
- key: 'getFilteredSelectedRowModel',
2801
+ key: "development" === 'production' ,
2687
2802
  debug: function debug() {
2688
2803
  var _instance$options$deb2;
2689
2804
 
@@ -2703,7 +2818,7 @@
2703
2818
 
2704
2819
  return selectRowsFn(instance, rowModel);
2705
2820
  }, {
2706
- key: 'getGroupedSelectedRowModel',
2821
+ key: "development" === 'production' ,
2707
2822
  debug: function debug() {
2708
2823
  var _instance$options$deb3;
2709
2824
 
@@ -2791,7 +2906,7 @@
2791
2906
  // return instance.options.enableGroupingRowSelection ?? false
2792
2907
  // },
2793
2908
  getIsAllRowsSelected: function getIsAllRowsSelected() {
2794
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
2909
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
2795
2910
 
2796
2911
  var _instance$getState3 = instance.getState(),
2797
2912
  rowSelection = _instance$getState3.rowSelection;
@@ -3119,7 +3234,7 @@
3119
3234
  createInstance: function createInstance(instance) {
3120
3235
  return {
3121
3236
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3122
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3237
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
3123
3238
  var isString = false;
3124
3239
 
3125
3240
  for (var _iterator = _createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
@@ -3146,7 +3261,7 @@
3146
3261
  return sortingFns.basic;
3147
3262
  },
3148
3263
  getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
3149
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
3264
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
3150
3265
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
3151
3266
 
3152
3267
  if (typeof value === 'string') {
@@ -3330,7 +3445,7 @@
3330
3445
  };
3331
3446
  },
3332
3447
  getPreSortedRowModel: function getPreSortedRowModel() {
3333
- return instance.getGlobalFilteredRowModel();
3448
+ return instance.getFilteredRowModel();
3334
3449
  },
3335
3450
  getSortedRowModel: function getSortedRowModel() {
3336
3451
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
@@ -3395,7 +3510,7 @@
3395
3510
  return cell.column.getIsVisible();
3396
3511
  });
3397
3512
  }, {
3398
- key: 'row._getAllVisibleCells',
3513
+ key: "development" === 'production' ,
3399
3514
  debug: function debug() {
3400
3515
  var _instance$options$deb;
3401
3516
 
@@ -3407,7 +3522,7 @@
3407
3522
  }, function (left, center, right) {
3408
3523
  return [].concat(left, center, right);
3409
3524
  }, {
3410
- key: 'row.getVisibleCells',
3525
+ key: "development" === 'production' ,
3411
3526
  debug: function debug() {
3412
3527
  var _instance$options$deb2;
3413
3528
 
@@ -3616,7 +3731,7 @@
3616
3731
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
3617
3732
  return headerGroups;
3618
3733
  }, {
3619
- key: 'getHeaderGroups',
3734
+ key: "development" === 'production' ,
3620
3735
  debug: function debug() {
3621
3736
  var _instance$options$deb;
3622
3737
 
@@ -3631,7 +3746,7 @@
3631
3746
  });
3632
3747
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
3633
3748
  }, {
3634
- key: 'getCenterHeaderGroups',
3749
+ key: "development" === 'production' ,
3635
3750
  debug: function debug() {
3636
3751
  var _instance$options$deb2;
3637
3752
 
@@ -3646,7 +3761,7 @@
3646
3761
  });
3647
3762
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
3648
3763
  }, {
3649
- key: 'getLeftHeaderGroups',
3764
+ key: "development" === 'production' ,
3650
3765
  debug: function debug() {
3651
3766
  var _instance$options$deb3;
3652
3767
 
@@ -3661,7 +3776,7 @@
3661
3776
  });
3662
3777
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
3663
3778
  }, {
3664
- key: 'getRightHeaderGroups',
3779
+ key: "development" === 'production' ,
3665
3780
  debug: function debug() {
3666
3781
  var _instance$options$deb4;
3667
3782
 
@@ -3674,7 +3789,7 @@
3674
3789
  }, function (headerGroups) {
3675
3790
  return [].concat(headerGroups).reverse();
3676
3791
  }, {
3677
- key: 'getFooterGroups',
3792
+ key: "development" === 'production' ,
3678
3793
  debug: function debug() {
3679
3794
  var _instance$options$deb5;
3680
3795
 
@@ -3686,7 +3801,7 @@
3686
3801
  }, function (headerGroups) {
3687
3802
  return [].concat(headerGroups).reverse();
3688
3803
  }, {
3689
- key: 'getLeftFooterGroups',
3804
+ key: "development" === 'production' ,
3690
3805
  debug: function debug() {
3691
3806
  var _instance$options$deb6;
3692
3807
 
@@ -3698,7 +3813,7 @@
3698
3813
  }, function (headerGroups) {
3699
3814
  return [].concat(headerGroups).reverse();
3700
3815
  }, {
3701
- key: 'getCenterFooterGroups',
3816
+ key: "development" === 'production' ,
3702
3817
  debug: function debug() {
3703
3818
  var _instance$options$deb7;
3704
3819
 
@@ -3710,7 +3825,7 @@
3710
3825
  }, function (headerGroups) {
3711
3826
  return [].concat(headerGroups).reverse();
3712
3827
  }, {
3713
- key: 'getRightFooterGroups',
3828
+ key: "development" === 'production' ,
3714
3829
  debug: function debug() {
3715
3830
  var _instance$options$deb8;
3716
3831
 
@@ -3725,7 +3840,7 @@
3725
3840
  return headerGroup.headers;
3726
3841
  }).flat();
3727
3842
  }, {
3728
- key: 'getFlatHeaders',
3843
+ key: "development" === 'production' ,
3729
3844
  debug: function debug() {
3730
3845
  var _instance$options$deb9;
3731
3846
 
@@ -3739,7 +3854,7 @@
3739
3854
  return headerGroup.headers;
3740
3855
  }).flat();
3741
3856
  }, {
3742
- key: 'getLeftFlatHeaders',
3857
+ key: "development" === 'production' ,
3743
3858
  debug: function debug() {
3744
3859
  var _instance$options$deb10;
3745
3860
 
@@ -3753,7 +3868,7 @@
3753
3868
  return headerGroup.headers;
3754
3869
  }).flat();
3755
3870
  }, {
3756
- key: 'getCenterFlatHeaders',
3871
+ key: "development" === 'production' ,
3757
3872
  debug: function debug() {
3758
3873
  var _instance$options$deb11;
3759
3874
 
@@ -3767,7 +3882,7 @@
3767
3882
  return headerGroup.headers;
3768
3883
  }).flat();
3769
3884
  }, {
3770
- key: 'getRightFlatHeaders',
3885
+ key: "development" === 'production' ,
3771
3886
  debug: function debug() {
3772
3887
  var _instance$options$deb12;
3773
3888
 
@@ -3784,7 +3899,7 @@
3784
3899
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
3785
3900
  });
3786
3901
  }, {
3787
- key: 'getCenterLeafHeaders',
3902
+ key: "development" === 'production' ,
3788
3903
  debug: function debug() {
3789
3904
  var _instance$options$deb13;
3790
3905
 
@@ -3800,7 +3915,7 @@
3800
3915
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
3801
3916
  });
3802
3917
  }, {
3803
- key: 'getLeftLeafHeaders',
3918
+ key: "development" === 'production' ,
3804
3919
  debug: function debug() {
3805
3920
  var _instance$options$deb14;
3806
3921
 
@@ -3816,7 +3931,7 @@
3816
3931
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
3817
3932
  });
3818
3933
  }, {
3819
- key: 'getRightLeafHeaders',
3934
+ key: "development" === 'production' ,
3820
3935
  debug: function debug() {
3821
3936
  var _instance$options$deb15;
3822
3937
 
@@ -3832,7 +3947,7 @@
3832
3947
  return header.getLeafHeaders();
3833
3948
  }).flat();
3834
3949
  }, {
3835
- key: 'getLeafHeaders',
3950
+ key: "development" === 'production' ,
3836
3951
  debug: function debug() {
3837
3952
  var _instance$options$deb16;
3838
3953
 
@@ -4041,6 +4156,7 @@
4041
4156
 
4042
4157
  Promise.resolve().then(function () {
4043
4158
  while (queued.length) {
4159
+ console.log('queue');
4044
4160
  queued.shift()();
4045
4161
  }
4046
4162
 
@@ -4233,7 +4349,7 @@
4233
4349
  rowsById: rowsById
4234
4350
  };
4235
4351
  }, {
4236
- key: 'getRowModel',
4352
+ key: "development" === 'production' ,
4237
4353
  debug: function debug() {
4238
4354
  var _instance$options$deb;
4239
4355
 
@@ -4331,7 +4447,7 @@
4331
4447
  };
4332
4448
  };
4333
4449
  }, {
4334
- key: 'getRowModel',
4450
+ key: "development" === 'production' ,
4335
4451
  initialSync: opts == null ? void 0 : opts.initialSync,
4336
4452
  onProgress: function onProgress(progress) {
4337
4453
  instance.setState(function (old) {
@@ -4354,243 +4470,103 @@
4354
4470
  };
4355
4471
  }
4356
4472
 
4357
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4358
- var newFilteredFlatRows = [];
4359
- var newFilteredRowsById = {};
4360
-
4361
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4362
- if (depth === void 0) {
4363
- depth = 0;
4364
- }
4365
-
4366
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4367
-
4368
- for (var i = 0; i < rowsToFilter.length; i++) {
4369
- var _row$subRows;
4370
-
4371
- var row = rowsToFilter[i];
4372
-
4373
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4374
- continue;
4375
- }
4376
-
4377
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4378
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4379
-
4380
- if (!rowsToFilter[i].subRows.length) {
4381
- rowsToFilter.splice(i, 1);
4382
- i--;
4383
- }
4384
- }
4385
-
4386
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4387
-
4388
- rowsToFilter.forEach(function (row) {
4389
- newFilteredFlatRows.push(row);
4390
- newFilteredRowsById[row.id] = row;
4391
- });
4392
- return rowsToFilter;
4393
- };
4394
-
4395
- return {
4396
- rows: recurseFilterRows(rowsToFilter),
4397
- flatRows: newFilteredFlatRows,
4398
- rowsById: newFilteredRowsById
4399
- };
4400
- }
4401
- function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4402
- var newFilteredFlatRows = [];
4403
- var newFilteredRowsById = {}; // Filters top level and nested rows
4404
-
4405
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4406
- if (depth === void 0) {
4407
- depth = 0;
4408
- }
4409
-
4410
- // Filter from parents downward first
4411
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4412
-
4413
- for (var i = 0; i < rowsToFilter.length; i++) {
4414
- var _row$subRows2;
4415
-
4416
- var row = rowsToFilter[i];
4417
- newFilteredFlatRows.push(row);
4418
- newFilteredRowsById[row.id] = row;
4419
-
4420
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
4421
- rowsToFilter.splice(i, 1);
4422
- i--;
4423
- continue;
4424
- }
4425
-
4426
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4427
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4428
- }
4429
-
4430
- return rowsToFilter;
4431
- };
4432
-
4433
- return {
4434
- rows: recurseFilterRows(rowsToFilter),
4435
- flatRows: newFilteredFlatRows,
4436
- rowsById: newFilteredRowsById
4437
- };
4438
- }
4439
-
4440
- function getColumnFilteredRowModelSync() {
4473
+ function getFilteredRowModelSync() {
4441
4474
  return function (instance) {
4442
4475
  return memo(function () {
4443
- return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4444
- }, function (columnFilters, rowModel) {
4476
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
4477
+ }, function (rowModel, columnFilters, globalFilter) {
4445
4478
  var columnFilteredRowModel = function () {
4446
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4479
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
4447
4480
  return rowModel;
4448
4481
  }
4449
4482
 
4450
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4451
-
4452
- var filterRows = function filterRows(rowsToFilter, depth) {
4453
- for (var i = 0; i < columnFilters.length; i++) {
4454
- var _columnFilters$i = columnFilters[i],
4455
- columnId = _columnFilters$i.id,
4456
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4457
-
4458
- var column = instance.getColumn(columnId);
4483
+ var resolvedColumnFilters = [];
4484
+ var resolvedGlobalFilters = [];
4485
+ (columnFilters != null ? columnFilters : []).forEach(function (d) {
4486
+ var _filterFn$resolveFilt;
4459
4487
 
4460
- if (!column) {
4461
- {
4462
- console.warn("Table: Could not find a column with id: " + columnId);
4463
- }
4488
+ var column = instance.getColumn(d.id);
4464
4489
 
4465
- throw new Error();
4490
+ if (!column) {
4491
+ {
4492
+ console.warn("Table: Could not find a column to filter with columnId: " + d.id);
4466
4493
  }
4494
+ }
4467
4495
 
4468
- if (depth === 0) {
4469
- (function () {
4470
- var preFilteredRows = [].concat(rowsToFilter);
4496
+ var filterFn = instance.getColumnFilterFn(column.id);
4471
4497
 
4472
- column.getPreFilteredRows = function () {
4473
- return preFilteredRows;
4474
- };
4475
- })();
4498
+ if (!filterFn) {
4499
+ {
4500
+ console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4476
4501
  }
4477
4502
 
4478
- var filterFn = instance.getColumnFilterFn(column.id);
4479
-
4480
- if (!filterFn) {
4481
- {
4482
- console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4483
- }
4484
-
4485
- continue;
4486
- } // Pass the rows, id, filterValue and column to the filterFn
4487
- // to get the filtered rows back
4488
-
4489
-
4490
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4503
+ return;
4491
4504
  }
4492
4505
 
4493
- return rowsToFilter;
4494
- };
4495
-
4496
- if (filterFromLeafRows) {
4497
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4498
- }
4499
-
4500
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4501
- }(); // Now that each filtered column has it's partially filtered rows,
4502
- // lets assign the final filtered rows to all of the other columns
4503
-
4504
-
4505
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4506
- var _instance$getState$co;
4506
+ resolvedColumnFilters.push({
4507
+ id: d.id,
4508
+ filterFn: filterFn,
4509
+ resolvedFilterValue: (_filterFn$resolveFilt = filterFn.resolveFilterValue == null ? void 0 : filterFn.resolveFilterValue(d.value)) != null ? _filterFn$resolveFilt : d.value
4510
+ });
4511
+ });
4512
+ var filterableIds = columnFilters.map(function (d) {
4513
+ return d.id;
4514
+ });
4515
+ var globalFilterFn = instance.getGlobalFilterFn();
4516
+ var globallyFilterableColumns = instance.getAllLeafColumns().filter(function (column) {
4517
+ return column.getCanGlobalFilter();
4518
+ });
4507
4519
 
4508
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4509
- return d.id === column.id;
4510
- }));
4511
- }); // This essentially enables faceted filter options to be built easily
4512
- // using every column's preFilteredRows value
4520
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
4521
+ filterableIds.push('__global__');
4522
+ globallyFilterableColumns.forEach(function (column) {
4523
+ var _globalFilterFn$resol;
4513
4524
 
4514
- nonFilteredColumns.forEach(function (column) {
4515
- column.getPreFilteredRows = function () {
4516
- return columnFilteredRowModel.rows;
4517
- };
4518
- });
4519
- return columnFilteredRowModel;
4520
- }, {
4521
- key: 'getColumnFilteredRowModelSync',
4522
- debug: function debug() {
4523
- var _instance$options$deb;
4525
+ resolvedGlobalFilters.push({
4526
+ id: column.id,
4527
+ filterFn: globalFilterFn,
4528
+ resolvedFilterValue: (_globalFilterFn$resol = globalFilterFn.resolveFilterValue == null ? void 0 : globalFilterFn.resolveFilterValue(globalFilter)) != null ? _globalFilterFn$resol : globalFilter
4529
+ });
4530
+ });
4531
+ } // Flag the prefiltered row model with each filter state
4524
4532
 
4525
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4526
- },
4527
- onChange: function onChange() {
4528
- instance.queue(function () {
4529
- instance._autoResetPageIndex();
4530
- });
4531
- }
4532
- });
4533
- };
4534
- }
4535
4533
 
4536
- function getGlobalFilteredRowModelSync() {
4537
- return function (instance) {
4538
- return memo(function () {
4539
- return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4540
- }, function (globalFilter, rowModel) {
4541
- var globalFilteredRowModel = function () {
4542
- if (!rowModel.rows.length || !globalFilter) {
4543
- return rowModel;
4544
- }
4534
+ for (var j = 0; j < rowModel.flatRows.length; j++) {
4535
+ var row = rowModel.flatRows[j];
4536
+ row.columnFilterMap = {};
4545
4537
 
4546
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4547
- var filterFn = instance.getGlobalFilterFn();
4538
+ if (resolvedColumnFilters.length) {
4539
+ for (var i = 0; i < resolvedColumnFilters.length; i++) {
4540
+ var columnFilter = resolvedColumnFilters[i]; // Tag the row with the column filter state
4548
4541
 
4549
- if (!filterFn) {
4550
- {
4551
- console.warn("Could not find a valid 'globalFilterType'");
4542
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedFilterValue);
4543
+ }
4552
4544
  }
4553
4545
 
4554
- return rowModel;
4555
- }
4546
+ if (resolvedGlobalFilters.length) {
4556
4547
 
4557
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4558
- return column.getCanGlobalFilter();
4559
- });
4560
- var filterableColumnIds = filterableColumns.map(function (d) {
4561
- return d.id;
4562
- });
4563
-
4564
- var filterRows = function filterRows(rows) {
4565
- return filterFn(rows, filterableColumnIds, globalFilter);
4566
- };
4548
+ for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
4549
+ var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
4567
4550
 
4568
- if (filterFromLeafRows) {
4569
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4570
- }
4571
-
4572
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4573
- }(); // Now that each filtered column has it's partially filtered rows,
4574
- // lets assign the final filtered rows to all of the other columns
4551
+ if (_globalFilter.filterFn(row, _globalFilter.id, _globalFilter.resolvedFilterValue)) {
4552
+ row.columnFilterMap.__global__ = true;
4553
+ break;
4554
+ }
4555
+ }
4575
4556
 
4557
+ if (row.columnFilterMap.__global__ !== true) {
4558
+ row.columnFilterMap.__global__ = false;
4559
+ }
4560
+ }
4561
+ } // Filter final rows using all of the active filters
4576
4562
 
4577
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4578
- var _instance$getState$co;
4579
4563
 
4580
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4581
- return d.id === column.id;
4582
- }));
4583
- }); // This essentially enables faceted filter options to be built easily
4584
- // using every column's preFilteredRows value
4564
+ return filterRows(rowModel.rows, filterableIds, instance);
4565
+ }();
4585
4566
 
4586
- nonFilteredColumns.forEach(function (column) {
4587
- column.getPreFilteredRows = function () {
4588
- return globalFilteredRowModel.rows;
4589
- };
4590
- });
4591
- return globalFilteredRowModel;
4567
+ return columnFilteredRowModel;
4592
4568
  }, {
4593
- key: 'getGlobalFilteredRowModelSync',
4569
+ key: "development" === 'production' ,
4594
4570
  debug: function debug() {
4595
4571
  var _instance$options$deb;
4596
4572
 
@@ -4690,7 +4666,7 @@
4690
4666
  rowsById: rowModel.rowsById
4691
4667
  };
4692
4668
  }, {
4693
- key: 'getSortedRowModel',
4669
+ key: "development" === 'production' ,
4694
4670
  debug: function debug() {
4695
4671
  var _instance$options$deb;
4696
4672
 
@@ -4832,7 +4808,7 @@
4832
4808
  rowsById: groupedRowsById
4833
4809
  };
4834
4810
  }, {
4835
- key: 'getGroupedRowModel',
4811
+ key: "development" === 'production' ,
4836
4812
  debug: function debug() {
4837
4813
  var _instance$options$deb;
4838
4814
 
@@ -4877,7 +4853,7 @@
4877
4853
 
4878
4854
  return expandRows(rowModel, instance);
4879
4855
  }, {
4880
- key: 'getExpandedRowModel',
4856
+ key: "development" === 'production' ,
4881
4857
  debug: function debug() {
4882
4858
  var _instance$options$deb;
4883
4859
 
@@ -4939,7 +4915,7 @@
4939
4915
  rowsById: rowsById
4940
4916
  };
4941
4917
  }, {
4942
- key: 'getPaginationRowModel',
4918
+ key: "development" === 'production' ,
4943
4919
  debug: function debug() {
4944
4920
  var _instance$options$deb;
4945
4921
 
@@ -4968,13 +4944,14 @@
4968
4944
  exports.flattenBy = flattenBy;
4969
4945
  exports.functionalUpdate = functionalUpdate;
4970
4946
  exports.getBatchGroups = getBatchGroups;
4971
- exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
4972
4947
  exports.getCoreRowModelAsync = getCoreRowModelAsync;
4973
4948
  exports.getCoreRowModelSync = getCoreRowModelSync;
4974
4949
  exports.getExpandedRowModel = getExpandedRowModel;
4975
- exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
4950
+ exports.getFilteredRowModelSync = getFilteredRowModelSync;
4976
4951
  exports.getGroupedRowModelSync = getGroupedRowModelSync;
4977
4952
  exports.getPaginationRowModel = getPaginationRowModel;
4953
+ exports.getRowModelMinMaxValues = getRowModelMinMaxValues;
4954
+ exports.getRowModelUniqueValues = getRowModelUniqueValues;
4978
4955
  exports.getSortedRowModelSync = getSortedRowModelSync;
4979
4956
  exports.incrementalMemo = incrementalMemo;
4980
4957
  exports.isFunction = isFunction;