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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/build/cjs/core.js +8 -5
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/features/Cells.js +1 -1
  4. package/build/cjs/features/Cells.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +3 -3
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Columns.js +7 -7
  8. package/build/cjs/features/Columns.js.map +1 -1
  9. package/build/cjs/features/Expanding.js +3 -3
  10. package/build/cjs/features/Expanding.js.map +1 -1
  11. package/build/cjs/features/Filters.js +158 -80
  12. package/build/cjs/features/Filters.js.map +1 -1
  13. package/build/cjs/features/Grouping.js +24 -22
  14. package/build/cjs/features/Grouping.js.map +1 -1
  15. package/build/cjs/features/Headers.js +16 -16
  16. package/build/cjs/features/Headers.js.map +1 -1
  17. package/build/cjs/features/Ordering.js +6 -5
  18. package/build/cjs/features/Ordering.js.map +1 -1
  19. package/build/cjs/features/Pagination.js +5 -5
  20. package/build/cjs/features/Pagination.js.map +1 -1
  21. package/build/cjs/features/Pinning.js +17 -78
  22. package/build/cjs/features/Pinning.js.map +1 -1
  23. package/build/cjs/features/RowSelection.js +8 -8
  24. package/build/cjs/features/RowSelection.js.map +1 -1
  25. package/build/cjs/features/Sorting.js +8 -8
  26. package/build/cjs/features/Sorting.js.map +1 -1
  27. package/build/cjs/features/Visibility.js +5 -5
  28. package/build/cjs/features/Visibility.js.map +1 -1
  29. package/build/cjs/filterFns.js +51 -108
  30. package/build/cjs/filterFns.js.map +1 -1
  31. package/build/cjs/index.js +5 -4
  32. package/build/cjs/index.js.map +1 -1
  33. package/build/cjs/utils/filterRowsUtils.js +21 -0
  34. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  35. package/build/cjs/utils/getCoreRowModelAsync.js +1 -1
  36. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  37. package/build/cjs/utils/getCoreRowModelSync.js +1 -1
  38. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  39. package/build/cjs/utils/getExpandedRowModel.js +1 -1
  40. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  41. package/build/cjs/utils/getFilteredRowModelSync.js +130 -0
  42. package/build/cjs/utils/getFilteredRowModelSync.js.map +1 -0
  43. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  44. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  45. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  46. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  47. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  48. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  49. package/build/cjs/utils.js +2 -6
  50. package/build/cjs/utils.js.map +1 -1
  51. package/build/esm/index.js +491 -573
  52. package/build/esm/index.js.map +1 -1
  53. package/build/stats-html.html +1 -1
  54. package/build/stats-react.json +388 -402
  55. package/build/types/features/Expanding.d.ts +2 -7
  56. package/build/types/features/Filters.d.ts +27 -29
  57. package/build/types/features/Grouping.d.ts +3 -11
  58. package/build/types/features/Ordering.d.ts +2 -6
  59. package/build/types/features/Pinning.d.ts +2 -15
  60. package/build/types/features/RowSelection.d.ts +3 -8
  61. package/build/types/features/Sorting.d.ts +2 -8
  62. package/build/types/features/Visibility.d.ts +2 -11
  63. package/build/types/filterFns.d.ts +10 -52
  64. package/build/types/index.d.ts +1 -2
  65. package/build/types/types.d.ts +2 -2
  66. package/build/types/utils/filterRowsUtils.d.ts +1 -0
  67. package/build/types/utils/{getColumnFilteredRowModelAsync.d.ts → getFilteredRowModelAsync.d.ts} +1 -1
  68. package/build/types/utils/getFilteredRowModelSync.d.ts +2 -0
  69. package/build/types/utils.d.ts +2 -2
  70. package/build/umd/index.development.js +494 -574
  71. package/build/umd/index.development.js.map +1 -1
  72. package/build/umd/index.production.js +1 -1
  73. package/build/umd/index.production.js.map +1 -1
  74. package/package.json +2 -1
  75. package/src/core.ts +6 -5
  76. package/src/features/Cells.ts +3 -1
  77. package/src/features/ColumnSizing.ts +2 -1
  78. package/src/features/Columns.ts +11 -7
  79. package/src/features/Expanding.ts +4 -2
  80. package/src/features/Filters.ts +216 -116
  81. package/src/features/Grouping.ts +23 -21
  82. package/src/features/Headers.ts +16 -16
  83. package/src/features/Ordering.ts +7 -9
  84. package/src/features/Pagination.ts +4 -3
  85. package/src/features/Pinning.ts +16 -80
  86. package/src/features/RowSelection.ts +14 -9
  87. package/src/features/Sorting.ts +12 -12
  88. package/src/features/Visibility.ts +7 -4
  89. package/src/filterFns.ts +74 -147
  90. package/src/index.ts +1 -2
  91. package/src/types.ts +2 -0
  92. package/src/utils/filterRowsUtils.ts +24 -0
  93. package/src/utils/getCoreRowModelAsync.ts +1 -1
  94. package/src/utils/getCoreRowModelSync.ts +1 -1
  95. package/src/utils/getExpandedRowModel.ts +1 -1
  96. package/src/utils/getFilteredRowModelAsync.ts +49 -0
  97. package/src/utils/getFilteredRowModelSync.ts +150 -0
  98. package/src/utils/getGroupedRowModel.ts +1 -1
  99. package/src/utils/getPaginationRowModel.ts +1 -1
  100. package/src/utils/getSortedRowModelAsync.ts +1 -1
  101. package/src/utils/getSortedRowModelSync.ts +1 -1
  102. package/src/utils.ts +2 -4
  103. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  104. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  105. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  106. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  107. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  108. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  109. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  110. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  111. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  112. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  113. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
@@ -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
 
@@ -706,8 +702,8 @@
706
702
  getDefaultColumn: function getDefaultColumn() {
707
703
  return defaultColumnSizing;
708
704
  },
709
- getInitialState: function getInitialState() {
710
- return {
705
+ getInitialState: function getInitialState(state) {
706
+ return _extends({
711
707
  columnSizing: {},
712
708
  columnSizingInfo: {
713
709
  startOffset: null,
@@ -717,7 +713,7 @@
717
713
  isResizingColumn: false,
718
714
  columnSizingStart: []
719
715
  }
720
- };
716
+ }, state);
721
717
  },
722
718
  getDefaultOptions: function getDefaultOptions(instance) {
723
719
  return {
@@ -1050,10 +1046,10 @@
1050
1046
 
1051
1047
  //
1052
1048
  var Expanding = {
1053
- getInitialState: function getInitialState() {
1054
- return {
1049
+ getInitialState: function getInitialState(state) {
1050
+ return _extends({
1055
1051
  expanded: {}
1056
- };
1052
+ }, state);
1057
1053
  },
1058
1054
  getDefaultOptions: function getDefaultOptions(instance) {
1059
1055
  return {
@@ -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
1344
+
1418
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
+ };
1419
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() {
@@ -1428,13 +1470,13 @@
1428
1470
  filterFn: 'auto'
1429
1471
  };
1430
1472
  },
1431
- getInitialState: function getInitialState() {
1432
- return {
1473
+ getInitialState: function getInitialState(state) {
1474
+ return _extends({
1433
1475
  columnFilters: [],
1434
1476
  globalFilter: undefined,
1435
1477
  columnFiltersProgress: 1,
1436
1478
  globalFilterProgress: 1
1437
- };
1479
+ }, state);
1438
1480
  },
1439
1481
  getDefaultOptions: function getDefaultOptions(instance) {
1440
1482
  return {
@@ -1442,7 +1484,7 @@
1442
1484
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
1443
1485
  filterFromLeafRows: true,
1444
1486
  globalFilterFn: 'auto',
1445
- getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
1487
+ getColumnCanGlobalFilter: function getColumnCanGlobalFilter(column) {
1446
1488
  var _instance$getCoreRowM, _instance$getCoreRowM2;
1447
1489
 
1448
1490
  var value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.value;
@@ -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
  },
@@ -1605,7 +1654,7 @@
1605
1654
  instance.setGlobalFilter(instance.initialState.globalFilter);
1606
1655
  },
1607
1656
  getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
1608
- var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
1657
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
1609
1658
 
1610
1659
  var column = instance.getColumn(columnId);
1611
1660
 
@@ -1613,10 +1662,10 @@
1613
1662
  throw new Error();
1614
1663
  }
1615
1664
 
1616
- return (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_ref7 = (_column$enableAllFilt = column.enableAllFilters) != null ? _column$enableAllFilt : column.enableColumnFilter) != null ? _ref7 : instance.options.enableFilters) != null ? _ref6 : instance.options.enableColumnFilters) != null ? _ref5 : column.defaultCanColumnFilter) != null ? _ref4 : column.defaultCanFilter) != null ? _ref3 : !!column.accessorFn;
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;
1617
1666
  },
1618
1667
  getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
1619
- var _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _instance$options$ena;
1668
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
1620
1669
 
1621
1670
  var column = instance.getColumn(columnId);
1622
1671
 
@@ -1624,7 +1673,7 @@
1624
1673
  throw new Error();
1625
1674
  }
1626
1675
 
1627
- return (_ref8 = ((_ref9 = (_ref10 = (_ref11 = (_ref12 = (_ref13 = (_instance$options$ena = instance.options.enableFilters) != null ? _instance$options$ena : instance.options.enableGlobalFilter) != null ? _ref13 : column.enableAllFilters) != null ? _ref12 : column.enableGlobalFilter) != null ? _ref11 : column.defaultCanGlobalFilter) != null ? _ref10 : column.defaultCanFilter) != null ? _ref9 : !!column.accessorFn) && (instance.options.getColumnCanGlobalFilterFn == null ? void 0 : instance.options.getColumnCanGlobalFilterFn(column))) != null ? _ref8 : true;
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;
1628
1677
  },
1629
1678
  getColumnIsFiltered: function getColumnIsFiltered(columnId) {
1630
1679
  return instance.getColumnFilterIndex(columnId) > -1;
@@ -1699,40 +1748,107 @@
1699
1748
 
1700
1749
  instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
1701
1750
  },
1702
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
1751
+ getPreFilteredRowModel: function getPreFilteredRowModel() {
1703
1752
  return instance.getCoreRowModel();
1704
1753
  },
1705
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
1706
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
1707
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
1754
+ getFilteredRowModel: function getFilteredRowModel() {
1755
+ if (!instance._getFilteredRowModel && instance.options.getFilteredRowModel) {
1756
+ instance._getFilteredRowModel = instance.options.getFilteredRowModel(instance);
1708
1757
  }
1709
1758
 
1710
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
1711
- return instance.getPreColumnFilteredRowModel();
1759
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
1760
+ return instance.getPreFilteredRowModel();
1712
1761
  }
1713
1762
 
1714
- return instance._getColumnFilteredRowModel();
1763
+ return instance._getFilteredRowModel();
1715
1764
  },
1716
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
1717
- return instance.getColumnFilteredRowModel();
1718
- },
1719
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
1720
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
1721
- 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;
1722
1771
  }
1723
1772
 
1724
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
1725
- 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;
1726
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;
1727
1792
 
1728
- return instance._getGlobalFilteredRowModel();
1729
- }
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
+ })
1730
1808
  };
1731
1809
  }
1732
1810
  };
1733
1811
  function shouldAutoRemoveFilter(filterFn, value, column) {
1734
1812
  return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
1735
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
+ }
1736
1852
 
1737
1853
  var aggregationFns = {
1738
1854
  sum: sum,
@@ -1855,10 +1971,10 @@
1855
1971
  aggregationFn: 'auto'
1856
1972
  };
1857
1973
  },
1858
- getInitialState: function getInitialState() {
1859
- return {
1974
+ getInitialState: function getInitialState(state) {
1975
+ return _extends({
1860
1976
  grouping: []
1861
- };
1977
+ }, state);
1862
1978
  },
1863
1979
  getDefaultOptions: function getDefaultOptions(instance) {
1864
1980
  return {
@@ -2017,35 +2133,35 @@
2017
2133
  }) : null;
2018
2134
  }
2019
2135
  };
2020
- },
2021
- orderColumns: function orderColumns(leafColumns, grouping, groupedColumnMode) {
2022
- if (!(grouping != null && grouping.length) || !groupedColumnMode) {
2023
- return leafColumns;
2024
- }
2025
-
2026
- var nonGroupingColumns = leafColumns.filter(function (col) {
2027
- return !grouping.includes(col.id);
2028
- });
2136
+ }
2137
+ };
2138
+ function orderColumns(leafColumns, grouping, groupedColumnMode) {
2139
+ if (!(grouping != null && grouping.length) || !groupedColumnMode) {
2140
+ return leafColumns;
2141
+ }
2029
2142
 
2030
- if (groupedColumnMode === 'remove') {
2031
- return nonGroupingColumns;
2032
- }
2143
+ var nonGroupingColumns = leafColumns.filter(function (col) {
2144
+ return !grouping.includes(col.id);
2145
+ });
2033
2146
 
2034
- var groupingColumns = grouping.map(function (g) {
2035
- return leafColumns.find(function (col) {
2036
- return col.id === g;
2037
- });
2038
- }).filter(Boolean);
2039
- return [].concat(groupingColumns, nonGroupingColumns);
2147
+ if (groupedColumnMode === 'remove') {
2148
+ return nonGroupingColumns;
2040
2149
  }
2041
- };
2150
+
2151
+ var groupingColumns = grouping.map(function (g) {
2152
+ return leafColumns.find(function (col) {
2153
+ return col.id === g;
2154
+ });
2155
+ }).filter(Boolean);
2156
+ return [].concat(groupingColumns, nonGroupingColumns);
2157
+ }
2042
2158
 
2043
2159
  //
2044
2160
  var Ordering = {
2045
- getInitialState: function getInitialState() {
2046
- return {
2161
+ getInitialState: function getInitialState(state) {
2162
+ return _extends({
2047
2163
  columnOrder: []
2048
- };
2164
+ }, state);
2049
2165
  },
2050
2166
  getDefaultOptions: function getDefaultOptions(instance) {
2051
2167
  return {
@@ -2097,10 +2213,10 @@
2097
2213
  orderedColumns = [].concat(orderedColumns, columnsCopy);
2098
2214
  }
2099
2215
 
2100
- return Grouping.orderColumns(orderedColumns, grouping, groupedColumnMode);
2216
+ return orderColumns(orderedColumns, grouping, groupedColumnMode);
2101
2217
  };
2102
2218
  }, {
2103
- key: 'getOrderColumnsFn' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2219
+ key: "development" === 'production' // debug: () => instance.options.debugAll ?? instance.options.debugTable,
2104
2220
 
2105
2221
  })
2106
2222
  };
@@ -2109,14 +2225,14 @@
2109
2225
 
2110
2226
  //
2111
2227
  var Pagination = {
2112
- getInitialState: function getInitialState(initialState) {
2113
- return {
2228
+ getInitialState: function getInitialState(state) {
2229
+ return _extends({}, state, {
2114
2230
  pagination: _extends({
2115
2231
  pageCount: -1,
2116
2232
  pageIndex: 0,
2117
2233
  pageSize: 10
2118
- }, initialState == null ? void 0 : initialState.pagination)
2119
- };
2234
+ }, state == null ? void 0 : state.pagination)
2235
+ });
2120
2236
  },
2121
2237
  getDefaultOptions: function getDefaultOptions(instance) {
2122
2238
  return {
@@ -2213,7 +2329,7 @@
2213
2329
 
2214
2330
  return pageOptions;
2215
2331
  }, {
2216
- key: 'getPageOptions',
2332
+ key: "development" === 'production' ,
2217
2333
  debug: function debug() {
2218
2334
  var _instance$options$deb;
2219
2335
 
@@ -2276,13 +2392,13 @@
2276
2392
 
2277
2393
  //
2278
2394
  var Pinning = {
2279
- getInitialState: function getInitialState() {
2280
- return {
2395
+ getInitialState: function getInitialState(state) {
2396
+ return _extends({
2281
2397
  columnPinning: {
2282
2398
  left: [],
2283
2399
  right: []
2284
2400
  }
2285
- };
2401
+ }, state);
2286
2402
  },
2287
2403
  getDefaultOptions: function getDefaultOptions(instance) {
2288
2404
  return {
@@ -2315,7 +2431,7 @@
2315
2431
  return !leftAndRight.includes(d.columnId);
2316
2432
  });
2317
2433
  }, {
2318
- key: 'row.getCenterVisibleCells',
2434
+ key: "development" === 'production' ,
2319
2435
  debug: function debug() {
2320
2436
  var _instance$options$deb;
2321
2437
 
@@ -2336,7 +2452,7 @@
2336
2452
  });
2337
2453
  return cells;
2338
2454
  }, {
2339
- key: 'row.getLeftVisibleCells',
2455
+ key: "development" === 'production' ,
2340
2456
  debug: function debug() {
2341
2457
  var _instance$options$deb2;
2342
2458
 
@@ -2357,7 +2473,7 @@
2357
2473
  });
2358
2474
  return cells;
2359
2475
  }, {
2360
- key: 'row.getRightVisibleCells',
2476
+ key: "development" === 'production' ,
2361
2477
  debug: function debug() {
2362
2478
  var _instance$options$deb3;
2363
2479
 
@@ -2366,67 +2482,6 @@
2366
2482
  })
2367
2483
  };
2368
2484
  },
2369
- createCell: function createCell(cell, instance) {
2370
- return {
2371
- getCenterVisibleCells: memo(function () {
2372
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left, instance.getState().columnPinning.right];
2373
- }, function (allCells, left, right) {
2374
- var leftAndRight = [].concat(left != null ? left : [], right != null ? right : []);
2375
- return allCells.filter(function (d) {
2376
- return !leftAndRight.includes(d.columnId);
2377
- });
2378
- }, {
2379
- key: 'row.getCenterVisibleCells',
2380
- debug: function debug() {
2381
- var _instance$options$deb4;
2382
-
2383
- return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugRows;
2384
- }
2385
- }),
2386
- getLeftVisibleCells: memo(function () {
2387
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.left,,];
2388
- }, function (allCells, left) {
2389
- var cells = (left != null ? left : []).map(function (columnId) {
2390
- return allCells.find(function (cell) {
2391
- return cell.columnId === columnId;
2392
- });
2393
- }).filter(Boolean).map(function (d) {
2394
- return _extends({}, d, {
2395
- position: 'left'
2396
- });
2397
- });
2398
- return cells;
2399
- }, {
2400
- key: 'row.getLeftVisibleCells',
2401
- debug: function debug() {
2402
- var _instance$options$deb5;
2403
-
2404
- return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugRows;
2405
- }
2406
- }),
2407
- getRightVisibleCells: memo(function () {
2408
- return [cell.row._getAllVisibleCells(), instance.getState().columnPinning.right];
2409
- }, function (allCells, right) {
2410
- var cells = (right != null ? right : []).map(function (columnId) {
2411
- return allCells.find(function (cell) {
2412
- return cell.columnId === columnId;
2413
- });
2414
- }).filter(Boolean).map(function (d) {
2415
- return _extends({}, d, {
2416
- position: 'left'
2417
- });
2418
- });
2419
- return cells;
2420
- }, {
2421
- key: 'row.getRightVisibleCells',
2422
- debug: function debug() {
2423
- var _instance$options$deb6;
2424
-
2425
- return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugRows;
2426
- }
2427
- })
2428
- };
2429
- },
2430
2485
  createInstance: function createInstance(instance) {
2431
2486
  return {
2432
2487
  setColumnPinning: function setColumnPinning(updater) {
@@ -2490,9 +2545,9 @@
2490
2545
 
2491
2546
  var leafColumns = column.getLeafColumns();
2492
2547
  return leafColumns.some(function (d) {
2493
- var _ref, _ref2, _d$enablePinning;
2548
+ var _d$enablePinning, _instance$options$ena;
2494
2549
 
2495
- return (_ref = (_ref2 = (_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : instance.options.enablePinning) != null ? _ref2 : d.defaultCanPin) != null ? _ref : !!d.accessorFn;
2550
+ return ((_d$enablePinning = d.enablePinning) != null ? _d$enablePinning : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
2496
2551
  });
2497
2552
  },
2498
2553
  getColumnIsPinned: function getColumnIsPinned(columnId) {
@@ -2537,11 +2592,11 @@
2537
2592
  });
2538
2593
  }).filter(Boolean);
2539
2594
  }, {
2540
- key: 'getLeftLeafColumns',
2595
+ key: "development" === 'production' ,
2541
2596
  debug: function debug() {
2542
- var _instance$options$deb7;
2597
+ var _instance$options$deb4;
2543
2598
 
2544
- return (_instance$options$deb7 = instance.options.debugAll) != null ? _instance$options$deb7 : instance.options.debugColumns;
2599
+ return (_instance$options$deb4 = instance.options.debugAll) != null ? _instance$options$deb4 : instance.options.debugColumns;
2545
2600
  }
2546
2601
  }),
2547
2602
  getRightLeafColumns: memo(function () {
@@ -2553,11 +2608,11 @@
2553
2608
  });
2554
2609
  }).filter(Boolean);
2555
2610
  }, {
2556
- key: 'getRightLeafColumns',
2611
+ key: "development" === 'production' ,
2557
2612
  debug: function debug() {
2558
- var _instance$options$deb8;
2613
+ var _instance$options$deb5;
2559
2614
 
2560
- return (_instance$options$deb8 = instance.options.debugAll) != null ? _instance$options$deb8 : instance.options.debugColumns;
2615
+ return (_instance$options$deb5 = instance.options.debugAll) != null ? _instance$options$deb5 : instance.options.debugColumns;
2561
2616
  }
2562
2617
  }),
2563
2618
  getCenterLeafColumns: memo(function () {
@@ -2568,11 +2623,11 @@
2568
2623
  return !leftAndRight.includes(d.id);
2569
2624
  });
2570
2625
  }, {
2571
- key: 'getCenterLeafColumns',
2626
+ key: "development" === 'production' ,
2572
2627
  debug: function debug() {
2573
- var _instance$options$deb9;
2628
+ var _instance$options$deb6;
2574
2629
 
2575
- return (_instance$options$deb9 = instance.options.debugAll) != null ? _instance$options$deb9 : instance.options.debugColumns;
2630
+ return (_instance$options$deb6 = instance.options.debugAll) != null ? _instance$options$deb6 : instance.options.debugColumns;
2576
2631
  }
2577
2632
  })
2578
2633
  };
@@ -2581,10 +2636,10 @@
2581
2636
 
2582
2637
  //
2583
2638
  var RowSelection = {
2584
- getInitialState: function getInitialState() {
2585
- return {
2639
+ getInitialState: function getInitialState(state) {
2640
+ return _extends({
2586
2641
  rowSelection: {}
2587
- };
2642
+ }, state);
2588
2643
  },
2589
2644
  getDefaultOptions: function getDefaultOptions(instance) {
2590
2645
  return {
@@ -2723,7 +2778,7 @@
2723
2778
 
2724
2779
  return selectRowsFn(instance, rowModel);
2725
2780
  }, {
2726
- key: 'getSelectedRowModel',
2781
+ key: "development" === 'production' ,
2727
2782
  debug: function debug() {
2728
2783
  var _instance$options$deb;
2729
2784
 
@@ -2731,7 +2786,7 @@
2731
2786
  }
2732
2787
  }),
2733
2788
  getFilteredSelectedRowModel: memo(function () {
2734
- return [instance.getState().rowSelection, instance.getGlobalFilteredRowModel()];
2789
+ return [instance.getState().rowSelection, instance.getFilteredRowModel()];
2735
2790
  }, function (rowSelection, rowModel) {
2736
2791
  if (!Object.keys(rowSelection).length) {
2737
2792
  return {
@@ -2743,7 +2798,7 @@
2743
2798
 
2744
2799
  return selectRowsFn(instance, rowModel);
2745
2800
  }, {
2746
- key: 'getFilteredSelectedRowModel',
2801
+ key: "development" === 'production' ,
2747
2802
  debug: function debug() {
2748
2803
  var _instance$options$deb2;
2749
2804
 
@@ -2763,7 +2818,7 @@
2763
2818
 
2764
2819
  return selectRowsFn(instance, rowModel);
2765
2820
  }, {
2766
- key: 'getGroupedSelectedRowModel',
2821
+ key: "development" === 'production' ,
2767
2822
  debug: function debug() {
2768
2823
  var _instance$options$deb3;
2769
2824
 
@@ -2851,7 +2906,7 @@
2851
2906
  // return instance.options.enableGroupingRowSelection ?? false
2852
2907
  // },
2853
2908
  getIsAllRowsSelected: function getIsAllRowsSelected() {
2854
- var preFilteredFlatRows = instance.getPreGlobalFilteredRowModel().flatRows;
2909
+ var preFilteredFlatRows = instance.getPreFilteredRowModel().flatRows;
2855
2910
 
2856
2911
  var _instance$getState3 = instance.getState(),
2857
2912
  rowSelection = _instance$getState3.rowSelection;
@@ -3132,16 +3187,16 @@
3132
3187
 
3133
3188
  //
3134
3189
  var Sorting = {
3190
+ getInitialState: function getInitialState(state) {
3191
+ return _extends({
3192
+ sorting: []
3193
+ }, state);
3194
+ },
3135
3195
  getDefaultColumn: function getDefaultColumn() {
3136
3196
  return {
3137
3197
  sortingFn: 'auto'
3138
3198
  };
3139
3199
  },
3140
- getInitialState: function getInitialState() {
3141
- return {
3142
- sorting: []
3143
- };
3144
- },
3145
3200
  getDefaultOptions: function getDefaultOptions(instance) {
3146
3201
  return {
3147
3202
  onSortingChange: makeStateUpdater('sorting', instance),
@@ -3179,7 +3234,7 @@
3179
3234
  createInstance: function createInstance(instance) {
3180
3235
  return {
3181
3236
  getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
3182
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
3237
+ var firstRows = instance.getFilteredRowModel().flatRows.slice(100);
3183
3238
  var isString = false;
3184
3239
 
3185
3240
  for (var _iterator = _createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
@@ -3206,7 +3261,7 @@
3206
3261
  return sortingFns.basic;
3207
3262
  },
3208
3263
  getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
3209
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
3264
+ var firstRow = instance.getFilteredRowModel().flatRows[0];
3210
3265
  var value = firstRow == null ? void 0 : firstRow.values[columnId];
3211
3266
 
3212
3267
  if (typeof value === 'string') {
@@ -3390,7 +3445,7 @@
3390
3445
  };
3391
3446
  },
3392
3447
  getPreSortedRowModel: function getPreSortedRowModel() {
3393
- return instance.getGlobalFilteredRowModel();
3448
+ return instance.getFilteredRowModel();
3394
3449
  },
3395
3450
  getSortedRowModel: function getSortedRowModel() {
3396
3451
  if (!instance._getSortedRowModel && instance.options.getSortedRowModel) {
@@ -3409,10 +3464,10 @@
3409
3464
 
3410
3465
  //
3411
3466
  var Visibility = {
3412
- getInitialState: function getInitialState() {
3413
- return {
3467
+ getInitialState: function getInitialState(state) {
3468
+ return _extends({
3414
3469
  columnVisibility: {}
3415
- };
3470
+ }, state);
3416
3471
  },
3417
3472
  getDefaultOptions: function getDefaultOptions(instance) {
3418
3473
  return {
@@ -3455,7 +3510,7 @@
3455
3510
  return cell.column.getIsVisible();
3456
3511
  });
3457
3512
  }, {
3458
- key: 'row._getAllVisibleCells',
3513
+ key: "development" === 'production' ,
3459
3514
  debug: function debug() {
3460
3515
  var _instance$options$deb;
3461
3516
 
@@ -3467,7 +3522,7 @@
3467
3522
  }, function (left, center, right) {
3468
3523
  return [].concat(left, center, right);
3469
3524
  }, {
3470
- key: 'row.getVisibleCells',
3525
+ key: "development" === 'production' ,
3471
3526
  debug: function debug() {
3472
3527
  var _instance$options$deb2;
3473
3528
 
@@ -3676,7 +3731,7 @@
3676
3731
  var headerGroups = buildHeaderGroups(allColumns, [].concat(leftColumns, centerColumns, rightColumns), instance);
3677
3732
  return headerGroups;
3678
3733
  }, {
3679
- key: 'getHeaderGroups',
3734
+ key: "development" === 'production' ,
3680
3735
  debug: function debug() {
3681
3736
  var _instance$options$deb;
3682
3737
 
@@ -3691,7 +3746,7 @@
3691
3746
  });
3692
3747
  return buildHeaderGroups(allColumns, leafColumns, instance, 'center');
3693
3748
  }, {
3694
- key: 'getCenterHeaderGroups',
3749
+ key: "development" === 'production' ,
3695
3750
  debug: function debug() {
3696
3751
  var _instance$options$deb2;
3697
3752
 
@@ -3706,7 +3761,7 @@
3706
3761
  });
3707
3762
  return buildHeaderGroups(allColumns, leafColumns, instance, 'left');
3708
3763
  }, {
3709
- key: 'getLeftHeaderGroups',
3764
+ key: "development" === 'production' ,
3710
3765
  debug: function debug() {
3711
3766
  var _instance$options$deb3;
3712
3767
 
@@ -3721,7 +3776,7 @@
3721
3776
  });
3722
3777
  return buildHeaderGroups(allColumns, leafColumns, instance, 'right');
3723
3778
  }, {
3724
- key: 'getRightHeaderGroups',
3779
+ key: "development" === 'production' ,
3725
3780
  debug: function debug() {
3726
3781
  var _instance$options$deb4;
3727
3782
 
@@ -3734,7 +3789,7 @@
3734
3789
  }, function (headerGroups) {
3735
3790
  return [].concat(headerGroups).reverse();
3736
3791
  }, {
3737
- key: 'getFooterGroups',
3792
+ key: "development" === 'production' ,
3738
3793
  debug: function debug() {
3739
3794
  var _instance$options$deb5;
3740
3795
 
@@ -3746,7 +3801,7 @@
3746
3801
  }, function (headerGroups) {
3747
3802
  return [].concat(headerGroups).reverse();
3748
3803
  }, {
3749
- key: 'getLeftFooterGroups',
3804
+ key: "development" === 'production' ,
3750
3805
  debug: function debug() {
3751
3806
  var _instance$options$deb6;
3752
3807
 
@@ -3758,7 +3813,7 @@
3758
3813
  }, function (headerGroups) {
3759
3814
  return [].concat(headerGroups).reverse();
3760
3815
  }, {
3761
- key: 'getCenterFooterGroups',
3816
+ key: "development" === 'production' ,
3762
3817
  debug: function debug() {
3763
3818
  var _instance$options$deb7;
3764
3819
 
@@ -3770,7 +3825,7 @@
3770
3825
  }, function (headerGroups) {
3771
3826
  return [].concat(headerGroups).reverse();
3772
3827
  }, {
3773
- key: 'getRightFooterGroups',
3828
+ key: "development" === 'production' ,
3774
3829
  debug: function debug() {
3775
3830
  var _instance$options$deb8;
3776
3831
 
@@ -3785,7 +3840,7 @@
3785
3840
  return headerGroup.headers;
3786
3841
  }).flat();
3787
3842
  }, {
3788
- key: 'getFlatHeaders',
3843
+ key: "development" === 'production' ,
3789
3844
  debug: function debug() {
3790
3845
  var _instance$options$deb9;
3791
3846
 
@@ -3799,7 +3854,7 @@
3799
3854
  return headerGroup.headers;
3800
3855
  }).flat();
3801
3856
  }, {
3802
- key: 'getLeftFlatHeaders',
3857
+ key: "development" === 'production' ,
3803
3858
  debug: function debug() {
3804
3859
  var _instance$options$deb10;
3805
3860
 
@@ -3813,7 +3868,7 @@
3813
3868
  return headerGroup.headers;
3814
3869
  }).flat();
3815
3870
  }, {
3816
- key: 'getCenterFlatHeaders',
3871
+ key: "development" === 'production' ,
3817
3872
  debug: function debug() {
3818
3873
  var _instance$options$deb11;
3819
3874
 
@@ -3827,7 +3882,7 @@
3827
3882
  return headerGroup.headers;
3828
3883
  }).flat();
3829
3884
  }, {
3830
- key: 'getRightFlatHeaders',
3885
+ key: "development" === 'production' ,
3831
3886
  debug: function debug() {
3832
3887
  var _instance$options$deb12;
3833
3888
 
@@ -3844,7 +3899,7 @@
3844
3899
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
3845
3900
  });
3846
3901
  }, {
3847
- key: 'getCenterLeafHeaders',
3902
+ key: "development" === 'production' ,
3848
3903
  debug: function debug() {
3849
3904
  var _instance$options$deb13;
3850
3905
 
@@ -3860,7 +3915,7 @@
3860
3915
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
3861
3916
  });
3862
3917
  }, {
3863
- key: 'getLeftLeafHeaders',
3918
+ key: "development" === 'production' ,
3864
3919
  debug: function debug() {
3865
3920
  var _instance$options$deb14;
3866
3921
 
@@ -3876,7 +3931,7 @@
3876
3931
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
3877
3932
  });
3878
3933
  }, {
3879
- key: 'getRightLeafHeaders',
3934
+ key: "development" === 'production' ,
3880
3935
  debug: function debug() {
3881
3936
  var _instance$options$deb15;
3882
3937
 
@@ -3892,7 +3947,7 @@
3892
3947
  return header.getLeafHeaders();
3893
3948
  }).flat();
3894
3949
  }, {
3895
- key: 'getLeafHeaders',
3950
+ key: "development" === 'production' ,
3896
3951
  debug: function debug() {
3897
3952
  var _instance$options$deb16;
3898
3953
 
@@ -4078,9 +4133,13 @@
4078
4133
  coreProgress: 1
4079
4134
  };
4080
4135
 
4081
- var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {}, instance._features.reduce(function (obj, feature) {
4082
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState(options.initialState));
4083
- }, {}));
4136
+ var initialState = _extends({}, coreInitialState, (_options$initialState = options.initialState) != null ? _options$initialState : {});
4137
+
4138
+ instance._features.forEach(function (feature) {
4139
+ var _feature$getInitialSt;
4140
+
4141
+ initialState = (_feature$getInitialSt = feature.getInitialState == null ? void 0 : feature.getInitialState(initialState)) != null ? _feature$getInitialSt : initialState;
4142
+ });
4084
4143
 
4085
4144
  var queued = [];
4086
4145
  var queuedTimeout = false;
@@ -4096,9 +4155,8 @@
4096
4155
  // the current call stack (render, etc) has finished.
4097
4156
 
4098
4157
  Promise.resolve().then(function () {
4099
- console.log(queued);
4100
-
4101
4158
  while (queued.length) {
4159
+ console.log('queue');
4102
4160
  queued.shift()();
4103
4161
  }
4104
4162
 
@@ -4291,7 +4349,7 @@
4291
4349
  rowsById: rowsById
4292
4350
  };
4293
4351
  }, {
4294
- key: 'getRowModel',
4352
+ key: "development" === 'production' ,
4295
4353
  debug: function debug() {
4296
4354
  var _instance$options$deb;
4297
4355
 
@@ -4389,7 +4447,7 @@
4389
4447
  };
4390
4448
  };
4391
4449
  }, {
4392
- key: 'getRowModel',
4450
+ key: "development" === 'production' ,
4393
4451
  initialSync: opts == null ? void 0 : opts.initialSync,
4394
4452
  onProgress: function onProgress(progress) {
4395
4453
  instance.setState(function (old) {
@@ -4412,243 +4470,103 @@
4412
4470
  };
4413
4471
  }
4414
4472
 
4415
- function filterRowModelFromLeafs(rowsToFilter, filterRows, instance) {
4416
- var newFilteredFlatRows = [];
4417
- var newFilteredRowsById = {};
4418
-
4419
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4420
- if (depth === void 0) {
4421
- depth = 0;
4422
- }
4423
-
4424
- rowsToFilter = rowsToFilter.slice(); // Filter from children up first
4425
-
4426
- for (var i = 0; i < rowsToFilter.length; i++) {
4427
- var _row$subRows;
4428
-
4429
- var row = rowsToFilter[i];
4430
-
4431
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
4432
- continue;
4433
- }
4434
-
4435
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4436
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4437
-
4438
- if (!rowsToFilter[i].subRows.length) {
4439
- rowsToFilter.splice(i, 1);
4440
- i--;
4441
- }
4442
- }
4443
-
4444
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4445
-
4446
- rowsToFilter.forEach(function (row) {
4447
- newFilteredFlatRows.push(row);
4448
- newFilteredRowsById[row.id] = row;
4449
- });
4450
- return rowsToFilter;
4451
- };
4452
-
4453
- return {
4454
- rows: recurseFilterRows(rowsToFilter),
4455
- flatRows: newFilteredFlatRows,
4456
- rowsById: newFilteredRowsById
4457
- };
4458
- }
4459
- function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4460
- var newFilteredFlatRows = [];
4461
- var newFilteredRowsById = {}; // Filters top level and nested rows
4462
-
4463
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
4464
- if (depth === void 0) {
4465
- depth = 0;
4466
- }
4467
-
4468
- // Filter from parents downward first
4469
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
4470
-
4471
- for (var i = 0; i < rowsToFilter.length; i++) {
4472
- var _row$subRows2;
4473
-
4474
- var row = rowsToFilter[i];
4475
- newFilteredFlatRows.push(row);
4476
- newFilteredRowsById[row.id] = row;
4477
-
4478
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
4479
- rowsToFilter.splice(i, 1);
4480
- i--;
4481
- continue;
4482
- }
4483
-
4484
- rowsToFilter[i] = instance.createRow(row.id, row.original, row.index, row.depth, row.values);
4485
- rowsToFilter[i].subRows = recurseFilterRows(row.subRows, depth + 1);
4486
- }
4487
-
4488
- return rowsToFilter;
4489
- };
4490
-
4491
- return {
4492
- rows: recurseFilterRows(rowsToFilter),
4493
- flatRows: newFilteredFlatRows,
4494
- rowsById: newFilteredRowsById
4495
- };
4496
- }
4497
-
4498
- function getColumnFilteredRowModelSync() {
4473
+ function getFilteredRowModelSync() {
4499
4474
  return function (instance) {
4500
4475
  return memo(function () {
4501
- return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4502
- }, function (columnFilters, rowModel) {
4476
+ return [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter];
4477
+ }, function (rowModel, columnFilters, globalFilter) {
4503
4478
  var columnFilteredRowModel = function () {
4504
- if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4479
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
4505
4480
  return rowModel;
4506
4481
  }
4507
4482
 
4508
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4483
+ var resolvedColumnFilters = [];
4484
+ var resolvedGlobalFilters = [];
4485
+ (columnFilters != null ? columnFilters : []).forEach(function (d) {
4486
+ var _filterFn$resolveFilt;
4509
4487
 
4510
- var filterRows = function filterRows(rowsToFilter, depth) {
4511
- for (var i = 0; i < columnFilters.length; i++) {
4512
- var _columnFilters$i = columnFilters[i],
4513
- columnId = _columnFilters$i.id,
4514
- filterValue = _columnFilters$i.value; // Find the columnFilters column
4488
+ var column = instance.getColumn(d.id);
4515
4489
 
4516
- var column = instance.getColumn(columnId);
4517
-
4518
- if (!column) {
4519
- {
4520
- console.warn("Table: Could not find a column with id: " + columnId);
4521
- }
4522
-
4523
- throw new Error();
4490
+ if (!column) {
4491
+ {
4492
+ console.warn("Table: Could not find a column to filter with columnId: " + d.id);
4524
4493
  }
4494
+ }
4525
4495
 
4526
- if (depth === 0) {
4527
- (function () {
4528
- var preFilteredRows = [].concat(rowsToFilter);
4496
+ var filterFn = instance.getColumnFilterFn(column.id);
4529
4497
 
4530
- column.getPreFilteredRows = function () {
4531
- return preFilteredRows;
4532
- };
4533
- })();
4498
+ if (!filterFn) {
4499
+ {
4500
+ console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4534
4501
  }
4535
4502
 
4536
- var filterFn = instance.getColumnFilterFn(column.id);
4537
-
4538
- if (!filterFn) {
4539
- {
4540
- console.warn("Could not find a valid 'column.filterFn' for column with the ID: " + column.id + ".");
4541
- }
4542
-
4543
- continue;
4544
- } // Pass the rows, id, filterValue and column to the filterFn
4545
- // to get the filtered rows back
4546
-
4547
-
4548
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
4503
+ return;
4549
4504
  }
4550
4505
 
4551
- return rowsToFilter;
4552
- };
4553
-
4554
- if (filterFromLeafRows) {
4555
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4556
- }
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
+ });
4557
4519
 
4558
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4559
- }(); // Now that each filtered column has it's partially filtered rows,
4560
- // lets assign the final filtered rows to all of the other columns
4520
+ if (globalFilter && globalFilterFn && globallyFilterableColumns.length) {
4521
+ filterableIds.push('__global__');
4522
+ globallyFilterableColumns.forEach(function (column) {
4523
+ var _globalFilterFn$resol;
4561
4524
 
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
4562
4532
 
4563
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4564
- var _instance$getState$co;
4565
4533
 
4566
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4567
- return d.id === column.id;
4568
- }));
4569
- }); // This essentially enables faceted filter options to be built easily
4570
- // using every column's preFilteredRows value
4534
+ for (var j = 0; j < rowModel.flatRows.length; j++) {
4535
+ var row = rowModel.flatRows[j];
4536
+ row.columnFilterMap = {};
4571
4537
 
4572
- nonFilteredColumns.forEach(function (column) {
4573
- column.getPreFilteredRows = function () {
4574
- return columnFilteredRowModel.rows;
4575
- };
4576
- });
4577
- return columnFilteredRowModel;
4578
- }, {
4579
- key: 'getColumnFilteredRowModelSync',
4580
- debug: function debug() {
4581
- var _instance$options$deb;
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
4582
4541
 
4583
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugTable;
4584
- },
4585
- onChange: function onChange() {
4586
- instance.queue(function () {
4587
- instance._autoResetPageIndex();
4588
- });
4589
- }
4590
- });
4591
- };
4592
- }
4593
-
4594
- function getGlobalFilteredRowModelSync() {
4595
- return function (instance) {
4596
- return memo(function () {
4597
- return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4598
- }, function (globalFilter, rowModel) {
4599
- var globalFilteredRowModel = function () {
4600
- if (!rowModel.rows.length || !globalFilter) {
4601
- return rowModel;
4602
- }
4603
-
4604
- var filterFromLeafRows = instance.options.filterFromLeafRows;
4605
- var filterFn = instance.getGlobalFilterFn();
4606
-
4607
- if (!filterFn) {
4608
- {
4609
- console.warn("Could not find a valid 'globalFilterType'");
4542
+ row.columnFilterMap[columnFilter.id] = columnFilter.filterFn(row, columnFilter.id, columnFilter.resolvedFilterValue);
4543
+ }
4610
4544
  }
4611
4545
 
4612
- return rowModel;
4613
- }
4546
+ if (resolvedGlobalFilters.length) {
4614
4547
 
4615
- var filterableColumns = instance.getAllLeafColumns().filter(function (column) {
4616
- return column.getCanGlobalFilter();
4617
- });
4618
- var filterableColumnIds = filterableColumns.map(function (d) {
4619
- return d.id;
4620
- });
4621
-
4622
- var filterRows = function filterRows(rows) {
4623
- return filterFn(rows, filterableColumnIds, globalFilter);
4624
- };
4625
-
4626
- if (filterFromLeafRows) {
4627
- return filterRowModelFromLeafs(rowModel.rows, filterRows, instance);
4628
- }
4548
+ for (var _i = 0; _i < resolvedGlobalFilters.length; _i++) {
4549
+ var _globalFilter = resolvedGlobalFilters[_i]; // Tag the row with the first truthy global filter state
4629
4550
 
4630
- return filterRowModelFromRoot(rowModel.rows, filterRows, instance);
4631
- }(); // Now that each filtered column has it's partially filtered rows,
4632
- // 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
+ }
4633
4556
 
4557
+ if (row.columnFilterMap.__global__ !== true) {
4558
+ row.columnFilterMap.__global__ = false;
4559
+ }
4560
+ }
4561
+ } // Filter final rows using all of the active filters
4634
4562
 
4635
- var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
4636
- var _instance$getState$co;
4637
4563
 
4638
- return !((_instance$getState$co = instance.getState().columnFilters) != null && _instance$getState$co.find(function (d) {
4639
- return d.id === column.id;
4640
- }));
4641
- }); // This essentially enables faceted filter options to be built easily
4642
- // using every column's preFilteredRows value
4564
+ return filterRows(rowModel.rows, filterableIds, instance);
4565
+ }();
4643
4566
 
4644
- nonFilteredColumns.forEach(function (column) {
4645
- column.getPreFilteredRows = function () {
4646
- return globalFilteredRowModel.rows;
4647
- };
4648
- });
4649
- return globalFilteredRowModel;
4567
+ return columnFilteredRowModel;
4650
4568
  }, {
4651
- key: 'getGlobalFilteredRowModelSync',
4569
+ key: "development" === 'production' ,
4652
4570
  debug: function debug() {
4653
4571
  var _instance$options$deb;
4654
4572
 
@@ -4748,7 +4666,7 @@
4748
4666
  rowsById: rowModel.rowsById
4749
4667
  };
4750
4668
  }, {
4751
- key: 'getSortedRowModel',
4669
+ key: "development" === 'production' ,
4752
4670
  debug: function debug() {
4753
4671
  var _instance$options$deb;
4754
4672
 
@@ -4890,7 +4808,7 @@
4890
4808
  rowsById: groupedRowsById
4891
4809
  };
4892
4810
  }, {
4893
- key: 'getGroupedRowModel',
4811
+ key: "development" === 'production' ,
4894
4812
  debug: function debug() {
4895
4813
  var _instance$options$deb;
4896
4814
 
@@ -4935,7 +4853,7 @@
4935
4853
 
4936
4854
  return expandRows(rowModel, instance);
4937
4855
  }, {
4938
- key: 'getExpandedRowModel',
4856
+ key: "development" === 'production' ,
4939
4857
  debug: function debug() {
4940
4858
  var _instance$options$deb;
4941
4859
 
@@ -4997,7 +4915,7 @@
4997
4915
  rowsById: rowsById
4998
4916
  };
4999
4917
  }, {
5000
- key: 'getPaginationRowModel',
4918
+ key: "development" === 'production' ,
5001
4919
  debug: function debug() {
5002
4920
  var _instance$options$deb;
5003
4921
 
@@ -5026,13 +4944,14 @@
5026
4944
  exports.flattenBy = flattenBy;
5027
4945
  exports.functionalUpdate = functionalUpdate;
5028
4946
  exports.getBatchGroups = getBatchGroups;
5029
- exports.getColumnFilteredRowModelSync = getColumnFilteredRowModelSync;
5030
4947
  exports.getCoreRowModelAsync = getCoreRowModelAsync;
5031
4948
  exports.getCoreRowModelSync = getCoreRowModelSync;
5032
4949
  exports.getExpandedRowModel = getExpandedRowModel;
5033
- exports.getGlobalFilteredRowModelSync = getGlobalFilteredRowModelSync;
4950
+ exports.getFilteredRowModelSync = getFilteredRowModelSync;
5034
4951
  exports.getGroupedRowModelSync = getGroupedRowModelSync;
5035
4952
  exports.getPaginationRowModel = getPaginationRowModel;
4953
+ exports.getRowModelMinMaxValues = getRowModelMinMaxValues;
4954
+ exports.getRowModelUniqueValues = getRowModelUniqueValues;
5036
4955
  exports.getSortedRowModelSync = getSortedRowModelSync;
5037
4956
  exports.incrementalMemo = incrementalMemo;
5038
4957
  exports.isFunction = isFunction;
@@ -5040,6 +4959,7 @@
5040
4959
  exports.makeStateUpdater = makeStateUpdater;
5041
4960
  exports.memo = memo;
5042
4961
  exports.noop = noop;
4962
+ exports.orderColumns = orderColumns;
5043
4963
  exports.passiveEventSupported = passiveEventSupported;
5044
4964
  exports.selectRowsFn = selectRowsFn;
5045
4965
  exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;