@tanstack/table-core 8.11.8 → 8.12.0

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 (81) hide show
  1. package/build/lib/core/cell.js +1 -4
  2. package/build/lib/core/cell.js.map +1 -1
  3. package/build/lib/core/column.js +2 -14
  4. package/build/lib/core/column.js.map +1 -1
  5. package/build/lib/core/headers.js +17 -112
  6. package/build/lib/core/headers.js.map +1 -1
  7. package/build/lib/core/row.js +2 -14
  8. package/build/lib/core/row.js.map +1 -1
  9. package/build/lib/core/table.d.ts +6 -0
  10. package/build/lib/core/table.js +5 -35
  11. package/build/lib/core/table.js.map +1 -1
  12. package/build/lib/features/ColumnSizing.d.ts +6 -2
  13. package/build/lib/features/ColumnSizing.js +3 -9
  14. package/build/lib/features/ColumnSizing.js.map +1 -1
  15. package/build/lib/features/Ordering.d.ts +21 -0
  16. package/build/lib/features/Ordering.js +15 -4
  17. package/build/lib/features/Ordering.js.map +1 -1
  18. package/build/lib/features/Pagination.js +1 -7
  19. package/build/lib/features/Pagination.js.map +1 -1
  20. package/build/lib/features/Pinning.js +9 -57
  21. package/build/lib/features/Pinning.js.map +1 -1
  22. package/build/lib/features/RowSelection.js +3 -21
  23. package/build/lib/features/RowSelection.js.map +1 -1
  24. package/build/lib/features/Visibility.d.ts +3 -1
  25. package/build/lib/features/Visibility.js +7 -21
  26. package/build/lib/features/Visibility.js.map +1 -1
  27. package/build/lib/index.esm.js +89 -382
  28. package/build/lib/index.esm.js.map +1 -1
  29. package/build/lib/index.js +2 -0
  30. package/build/lib/index.js.map +1 -1
  31. package/build/lib/index.mjs +89 -382
  32. package/build/lib/index.mjs.map +1 -1
  33. package/build/lib/types.d.ts +2 -2
  34. package/build/lib/utils/getCoreRowModel.js +1 -10
  35. package/build/lib/utils/getCoreRowModel.js.map +1 -1
  36. package/build/lib/utils/getExpandedRowModel.js +1 -7
  37. package/build/lib/utils/getExpandedRowModel.js.map +1 -1
  38. package/build/lib/utils/getFacetedMinMaxValues.js +1 -8
  39. package/build/lib/utils/getFacetedMinMaxValues.js.map +1 -1
  40. package/build/lib/utils/getFacetedRowModel.js +1 -8
  41. package/build/lib/utils/getFacetedRowModel.js.map +1 -1
  42. package/build/lib/utils/getFacetedUniqueValues.js +1 -8
  43. package/build/lib/utils/getFacetedUniqueValues.js.map +1 -1
  44. package/build/lib/utils/getFilteredRowModel.js +1 -10
  45. package/build/lib/utils/getFilteredRowModel.js.map +1 -1
  46. package/build/lib/utils/getGroupedRowModel.js +6 -13
  47. package/build/lib/utils/getGroupedRowModel.js.map +1 -1
  48. package/build/lib/utils/getPaginationRowModel.js +1 -7
  49. package/build/lib/utils/getPaginationRowModel.js.map +1 -1
  50. package/build/lib/utils/getSortedRowModel.js +1 -10
  51. package/build/lib/utils/getSortedRowModel.js.map +1 -1
  52. package/build/lib/utils.d.ts +8 -3
  53. package/build/lib/utils.js +13 -2
  54. package/build/lib/utils.js.map +1 -1
  55. package/build/umd/index.development.js +90 -381
  56. package/build/umd/index.development.js.map +1 -1
  57. package/build/umd/index.production.js +1 -1
  58. package/build/umd/index.production.js.map +1 -1
  59. package/package.json +1 -1
  60. package/src/core/cell.ts +2 -5
  61. package/src/core/column.ts +3 -9
  62. package/src/core/headers.ts +19 -65
  63. package/src/core/row.ts +3 -10
  64. package/src/core/table.ts +12 -21
  65. package/src/features/ColumnSizing.ts +33 -20
  66. package/src/features/Ordering.ts +74 -35
  67. package/src/features/Pagination.ts +7 -5
  68. package/src/features/Pinning.ts +34 -60
  69. package/src/features/RowSelection.ts +4 -16
  70. package/src/features/Visibility.ts +18 -13
  71. package/src/types.ts +3 -1
  72. package/src/utils/getCoreRowModel.ts +4 -8
  73. package/src/utils/getExpandedRowModel.ts +2 -5
  74. package/src/utils/getFacetedMinMaxValues.ts +2 -8
  75. package/src/utils/getFacetedRowModel.ts +2 -8
  76. package/src/utils/getFacetedUniqueValues.ts +6 -8
  77. package/src/utils/getFilteredRowModel.ts +4 -8
  78. package/src/utils/getGroupedRowModel.ts +7 -11
  79. package/src/utils/getPaginationRowModel.ts +2 -5
  80. package/src/utils/getSortedRowModel.ts +4 -8
  81. package/src/utils.ts +25 -6
@@ -59,10 +59,10 @@
59
59
  function memo(getDeps, fn, opts) {
60
60
  let deps = [];
61
61
  let result;
62
- return () => {
62
+ return depArgs => {
63
63
  let depTime;
64
64
  if (opts.key && opts.debug) depTime = Date.now();
65
- const newDeps = getDeps();
65
+ const newDeps = getDeps(depArgs);
66
66
  const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
67
67
  if (!depsChanged) {
68
68
  return result;
@@ -93,6 +93,16 @@
93
93
  return result;
94
94
  };
95
95
  }
96
+ function getMemoOptions(tableOptions, debugLevel, key, onChange) {
97
+ return {
98
+ debug: () => {
99
+ var _tableOptions$debugAl;
100
+ return (_tableOptions$debugAl = tableOptions == null ? void 0 : tableOptions.debugAll) != null ? _tableOptions$debugAl : tableOptions[debugLevel];
101
+ },
102
+ key: key,
103
+ onChange
104
+ };
105
+ }
96
106
 
97
107
  function createColumn(table, columnDef, depth, parent) {
98
108
  var _ref, _resolvedColumnDef$id;
@@ -139,13 +149,7 @@
139
149
  getFlatColumns: memo(() => [true], () => {
140
150
  var _column$columns;
141
151
  return [column, ...((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(d => d.getFlatColumns()))];
142
- }, {
143
- key: "development" === 'production' ,
144
- debug: () => {
145
- var _table$options$debugA;
146
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
147
- }
148
- }),
152
+ }, getMemoOptions(table.options, 'debugColumns', 'column.getFlatColumns')),
149
153
  getLeafColumns: memo(() => [table._getOrderColumnsFn()], orderColumns => {
150
154
  var _column$columns2;
151
155
  if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
@@ -153,13 +157,7 @@
153
157
  return orderColumns(leafColumns);
154
158
  }
155
159
  return [column];
156
- }, {
157
- key: "development" === 'production' ,
158
- debug: () => {
159
- var _table$options$debugA2;
160
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
161
- }
162
- })
160
+ }, getMemoOptions(table.options, 'debugColumns', 'column.getLeafColumns'))
163
161
  };
164
162
  for (const feature of table._features) {
165
163
  feature.createColumn == null || feature.createColumn(column, table);
@@ -169,6 +167,7 @@
169
167
  return column;
170
168
  }
171
169
 
170
+ const debug = 'debugHeaders';
172
171
  //
173
172
 
174
173
  function createHeader(table, column, options) {
@@ -218,84 +217,36 @@
218
217
  const centerColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
219
218
  const headerGroups = buildHeaderGroups(allColumns, [...leftColumns, ...centerColumns, ...rightColumns], table);
220
219
  return headerGroups;
221
- }, {
222
- key: 'getHeaderGroups',
223
- debug: () => {
224
- var _table$options$debugA;
225
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugHeaders;
226
- }
227
- });
220
+ }, getMemoOptions(table.options, debug, 'getHeaderGroups'));
228
221
  table.getCenterHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, leafColumns, left, right) => {
229
222
  leafColumns = leafColumns.filter(column => !(left != null && left.includes(column.id)) && !(right != null && right.includes(column.id)));
230
223
  return buildHeaderGroups(allColumns, leafColumns, table, 'center');
231
- }, {
232
- key: 'getCenterHeaderGroups',
233
- debug: () => {
234
- var _table$options$debugA2;
235
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugHeaders;
236
- }
237
- });
224
+ }, getMemoOptions(table.options, debug, 'getCenterHeaderGroups'));
238
225
  table.getLeftHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.left], (allColumns, leafColumns, left) => {
239
226
  var _left$map$filter2;
240
227
  const orderedLeafColumns = (_left$map$filter2 = left == null ? void 0 : left.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _left$map$filter2 : [];
241
228
  return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'left');
242
- }, {
243
- key: 'getLeftHeaderGroups',
244
- debug: () => {
245
- var _table$options$debugA3;
246
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugHeaders;
247
- }
248
- });
229
+ }, getMemoOptions(table.options, debug, 'getLeftHeaderGroups'));
249
230
  table.getRightHeaderGroups = memo(() => [table.getAllColumns(), table.getVisibleLeafColumns(), table.getState().columnPinning.right], (allColumns, leafColumns, right) => {
250
231
  var _right$map$filter2;
251
232
  const orderedLeafColumns = (_right$map$filter2 = right == null ? void 0 : right.map(columnId => leafColumns.find(d => d.id === columnId)).filter(Boolean)) != null ? _right$map$filter2 : [];
252
233
  return buildHeaderGroups(allColumns, orderedLeafColumns, table, 'right');
253
- }, {
254
- key: 'getRightHeaderGroups',
255
- debug: () => {
256
- var _table$options$debugA4;
257
- return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugHeaders;
258
- }
259
- });
234
+ }, getMemoOptions(table.options, debug, 'getRightHeaderGroups'));
260
235
 
261
236
  // Footer Groups
262
237
 
263
238
  table.getFooterGroups = memo(() => [table.getHeaderGroups()], headerGroups => {
264
239
  return [...headerGroups].reverse();
265
- }, {
266
- key: 'getFooterGroups',
267
- debug: () => {
268
- var _table$options$debugA5;
269
- return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugHeaders;
270
- }
271
- });
240
+ }, getMemoOptions(table.options, debug, 'getFooterGroups'));
272
241
  table.getLeftFooterGroups = memo(() => [table.getLeftHeaderGroups()], headerGroups => {
273
242
  return [...headerGroups].reverse();
274
- }, {
275
- key: 'getLeftFooterGroups',
276
- debug: () => {
277
- var _table$options$debugA6;
278
- return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugHeaders;
279
- }
280
- });
243
+ }, getMemoOptions(table.options, debug, 'getLeftFooterGroups'));
281
244
  table.getCenterFooterGroups = memo(() => [table.getCenterHeaderGroups()], headerGroups => {
282
245
  return [...headerGroups].reverse();
283
- }, {
284
- key: 'getCenterFooterGroups',
285
- debug: () => {
286
- var _table$options$debugA7;
287
- return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugHeaders;
288
- }
289
- });
246
+ }, getMemoOptions(table.options, debug, 'getCenterFooterGroups'));
290
247
  table.getRightFooterGroups = memo(() => [table.getRightHeaderGroups()], headerGroups => {
291
248
  return [...headerGroups].reverse();
292
- }, {
293
- key: 'getRightFooterGroups',
294
- debug: () => {
295
- var _table$options$debugA8;
296
- return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugHeaders;
297
- }
298
- });
249
+ }, getMemoOptions(table.options, debug, 'getRightFooterGroups'));
299
250
 
300
251
  // Flat Headers
301
252
 
@@ -303,46 +254,22 @@
303
254
  return headerGroups.map(headerGroup => {
304
255
  return headerGroup.headers;
305
256
  }).flat();
306
- }, {
307
- key: 'getFlatHeaders',
308
- debug: () => {
309
- var _table$options$debugA9;
310
- return (_table$options$debugA9 = table.options.debugAll) != null ? _table$options$debugA9 : table.options.debugHeaders;
311
- }
312
- });
257
+ }, getMemoOptions(table.options, debug, 'getFlatHeaders'));
313
258
  table.getLeftFlatHeaders = memo(() => [table.getLeftHeaderGroups()], left => {
314
259
  return left.map(headerGroup => {
315
260
  return headerGroup.headers;
316
261
  }).flat();
317
- }, {
318
- key: 'getLeftFlatHeaders',
319
- debug: () => {
320
- var _table$options$debugA10;
321
- return (_table$options$debugA10 = table.options.debugAll) != null ? _table$options$debugA10 : table.options.debugHeaders;
322
- }
323
- });
262
+ }, getMemoOptions(table.options, debug, 'getLeftFlatHeaders'));
324
263
  table.getCenterFlatHeaders = memo(() => [table.getCenterHeaderGroups()], left => {
325
264
  return left.map(headerGroup => {
326
265
  return headerGroup.headers;
327
266
  }).flat();
328
- }, {
329
- key: 'getCenterFlatHeaders',
330
- debug: () => {
331
- var _table$options$debugA11;
332
- return (_table$options$debugA11 = table.options.debugAll) != null ? _table$options$debugA11 : table.options.debugHeaders;
333
- }
334
- });
267
+ }, getMemoOptions(table.options, debug, 'getCenterFlatHeaders'));
335
268
  table.getRightFlatHeaders = memo(() => [table.getRightHeaderGroups()], left => {
336
269
  return left.map(headerGroup => {
337
270
  return headerGroup.headers;
338
271
  }).flat();
339
- }, {
340
- key: 'getRightFlatHeaders',
341
- debug: () => {
342
- var _table$options$debugA12;
343
- return (_table$options$debugA12 = table.options.debugAll) != null ? _table$options$debugA12 : table.options.debugHeaders;
344
- }
345
- });
272
+ }, getMemoOptions(table.options, debug, 'getRightFlatHeaders'));
346
273
 
347
274
  // Leaf Headers
348
275
 
@@ -351,49 +278,25 @@
351
278
  var _header$subHeaders;
352
279
  return !((_header$subHeaders = header.subHeaders) != null && _header$subHeaders.length);
353
280
  });
354
- }, {
355
- key: 'getCenterLeafHeaders',
356
- debug: () => {
357
- var _table$options$debugA13;
358
- return (_table$options$debugA13 = table.options.debugAll) != null ? _table$options$debugA13 : table.options.debugHeaders;
359
- }
360
- });
281
+ }, getMemoOptions(table.options, debug, 'getCenterLeafHeaders'));
361
282
  table.getLeftLeafHeaders = memo(() => [table.getLeftFlatHeaders()], flatHeaders => {
362
283
  return flatHeaders.filter(header => {
363
284
  var _header$subHeaders2;
364
285
  return !((_header$subHeaders2 = header.subHeaders) != null && _header$subHeaders2.length);
365
286
  });
366
- }, {
367
- key: 'getLeftLeafHeaders',
368
- debug: () => {
369
- var _table$options$debugA14;
370
- return (_table$options$debugA14 = table.options.debugAll) != null ? _table$options$debugA14 : table.options.debugHeaders;
371
- }
372
- });
287
+ }, getMemoOptions(table.options, debug, 'getLeftLeafHeaders'));
373
288
  table.getRightLeafHeaders = memo(() => [table.getRightFlatHeaders()], flatHeaders => {
374
289
  return flatHeaders.filter(header => {
375
290
  var _header$subHeaders3;
376
291
  return !((_header$subHeaders3 = header.subHeaders) != null && _header$subHeaders3.length);
377
292
  });
378
- }, {
379
- key: 'getRightLeafHeaders',
380
- debug: () => {
381
- var _table$options$debugA15;
382
- return (_table$options$debugA15 = table.options.debugAll) != null ? _table$options$debugA15 : table.options.debugHeaders;
383
- }
384
- });
293
+ }, getMemoOptions(table.options, debug, 'getRightLeafHeaders'));
385
294
  table.getLeafHeaders = memo(() => [table.getLeftHeaderGroups(), table.getCenterHeaderGroups(), table.getRightHeaderGroups()], (left, center, right) => {
386
295
  var _left$0$headers, _left$, _center$0$headers, _center$, _right$0$headers, _right$;
387
296
  return [...((_left$0$headers = (_left$ = left[0]) == null ? void 0 : _left$.headers) != null ? _left$0$headers : []), ...((_center$0$headers = (_center$ = center[0]) == null ? void 0 : _center$.headers) != null ? _center$0$headers : []), ...((_right$0$headers = (_right$ = right[0]) == null ? void 0 : _right$.headers) != null ? _right$0$headers : [])].map(header => {
388
297
  return header.getLeafHeaders();
389
298
  }).flat();
390
- }, {
391
- key: 'getLeafHeaders',
392
- debug: () => {
393
- var _table$options$debugA16;
394
- return (_table$options$debugA16 = table.options.debugAll) != null ? _table$options$debugA16 : table.options.debugHeaders;
395
- }
396
- });
299
+ }, getMemoOptions(table.options, debug, 'getLeafHeaders'));
397
300
  }
398
301
  };
399
302
  function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
@@ -559,15 +462,8 @@
559
462
  const columnSize = table.getState().columnSizing[column.id];
560
463
  return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);
561
464
  };
562
- column.getStart = position => {
563
- const columns = !position ? table.getVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();
564
- const index = columns.findIndex(d => d.id === column.id);
565
- if (index > 0) {
566
- const prevSiblingColumn = columns[index - 1];
567
- return prevSiblingColumn.getStart(position) + prevSiblingColumn.getSize();
568
- }
569
- return 0;
570
- };
465
+ column.getStart = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(0, column.getIndex(position)).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getStart'));
466
+ column.getAfter = memo(position => [position, _getVisibleLeafColumns(table, position), table.getState().columnSizing], (position, columns) => columns.slice(column.getIndex(position) + 1).reduce((sum, column) => sum + column.getSize(), 0), getMemoOptions(table.options, 'debugColumns', 'getAfter'));
571
467
  column.resetSize = () => {
572
468
  table.setColumnSizing(_ref2 => {
573
469
  let {
@@ -1452,6 +1348,19 @@
1452
1348
  onColumnOrderChange: makeStateUpdater('columnOrder', table)
1453
1349
  };
1454
1350
  },
1351
+ createColumn: (column, table) => {
1352
+ column.getIndex = memo(position => [_getVisibleLeafColumns(table, position)], columns => columns.findIndex(d => d.id === column.id), getMemoOptions(table.options, 'debugColumns', 'getIndex'));
1353
+ column.getIsFirstColumn = position => {
1354
+ var _columns$;
1355
+ const columns = _getVisibleLeafColumns(table, position);
1356
+ return ((_columns$ = columns[0]) == null ? void 0 : _columns$.id) === column.id;
1357
+ };
1358
+ column.getIsLastColumn = position => {
1359
+ var _columns;
1360
+ const columns = _getVisibleLeafColumns(table, position);
1361
+ return ((_columns = columns[columns.length - 1]) == null ? void 0 : _columns.id) === column.id;
1362
+ };
1363
+ },
1455
1364
  createTable: table => {
1456
1365
  table.setColumnOrder = updater => table.options.onColumnOrderChange == null ? void 0 : table.options.onColumnOrderChange(updater);
1457
1366
  table.resetColumnOrder = defaultState => {
@@ -1487,10 +1396,7 @@
1487
1396
  orderedColumns = [...orderedColumns, ...columnsCopy];
1488
1397
  }
1489
1398
  return orderColumns(orderedColumns, grouping, groupedColumnMode);
1490
- }, {
1491
- key: 'getOrderColumnsFn'
1492
- // debug: () => table.options.debugAll ?? table.options.debugTable,
1493
- });
1399
+ }, getMemoOptions(table.options, 'debugTable', '_getOrderColumnsFn'));
1494
1400
  }
1495
1401
  };
1496
1402
 
@@ -1596,13 +1502,7 @@
1596
1502
  pageOptions = [...new Array(pageCount)].fill(null).map((_, i) => i);
1597
1503
  }
1598
1504
  return pageOptions;
1599
- }, {
1600
- key: 'getPageOptions',
1601
- debug: () => {
1602
- var _table$options$debugA;
1603
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
1604
- }
1605
- });
1505
+ }, getMemoOptions(table.options, 'debugTable', 'getPageOptions'));
1606
1506
  table.getCanPreviousPage = () => table.getState().pagination.pageIndex > 0;
1607
1507
  table.getCanNextPage = () => {
1608
1508
  const {
@@ -1787,39 +1687,21 @@
1787
1687
  row.getCenterVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allCells, left, right) => {
1788
1688
  const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
1789
1689
  return allCells.filter(d => !leftAndRight.includes(d.column.id));
1790
- }, {
1791
- key: 'row.getCenterVisibleCells',
1792
- debug: () => {
1793
- var _table$options$debugA;
1794
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
1795
- }
1796
- });
1690
+ }, getMemoOptions(table.options, 'debugRows', 'getCenterVisibleCells'));
1797
1691
  row.getLeftVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.left,,], (allCells, left) => {
1798
1692
  const cells = (left != null ? left : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
1799
1693
  ...d,
1800
1694
  position: 'left'
1801
1695
  }));
1802
1696
  return cells;
1803
- }, {
1804
- key: 'row.getLeftVisibleCells',
1805
- debug: () => {
1806
- var _table$options$debugA2;
1807
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
1808
- }
1809
- });
1697
+ }, getMemoOptions(table.options, 'debugRows', 'getLeftVisibleCells'));
1810
1698
  row.getRightVisibleCells = memo(() => [row._getAllVisibleCells(), table.getState().columnPinning.right], (allCells, right) => {
1811
1699
  const cells = (right != null ? right : []).map(columnId => allCells.find(cell => cell.column.id === columnId)).filter(Boolean).map(d => ({
1812
1700
  ...d,
1813
1701
  position: 'right'
1814
1702
  }));
1815
1703
  return cells;
1816
- }, {
1817
- key: 'row.getRightVisibleCells',
1818
- debug: () => {
1819
- var _table$options$debugA3;
1820
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugRows;
1821
- }
1822
- });
1704
+ }, getMemoOptions(table.options, 'debugRows', 'getRightVisibleCells'));
1823
1705
  },
1824
1706
  createTable: table => {
1825
1707
  table.setColumnPinning = updater => table.options.onColumnPinningChange == null ? void 0 : table.options.onColumnPinningChange(updater);
@@ -1838,32 +1720,14 @@
1838
1720
  };
1839
1721
  table.getLeftLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left], (allColumns, left) => {
1840
1722
  return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
1841
- }, {
1842
- key: 'getLeftLeafColumns',
1843
- debug: () => {
1844
- var _table$options$debugA4;
1845
- return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
1846
- }
1847
- });
1723
+ }, getMemoOptions(table.options, 'debugColumns', 'getLeftLeafColumns'));
1848
1724
  table.getRightLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.right], (allColumns, right) => {
1849
1725
  return (right != null ? right : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
1850
- }, {
1851
- key: 'getRightLeafColumns',
1852
- debug: () => {
1853
- var _table$options$debugA5;
1854
- return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
1855
- }
1856
- });
1726
+ }, getMemoOptions(table.options, 'debugColumns', 'getRightLeafColumns'));
1857
1727
  table.getCenterLeafColumns = memo(() => [table.getAllLeafColumns(), table.getState().columnPinning.left, table.getState().columnPinning.right], (allColumns, left, right) => {
1858
1728
  const leftAndRight = [...(left != null ? left : []), ...(right != null ? right : [])];
1859
1729
  return allColumns.filter(d => !leftAndRight.includes(d.id));
1860
- }, {
1861
- key: 'getCenterLeafColumns',
1862
- debug: () => {
1863
- var _table$options$debugA6;
1864
- return (_table$options$debugA6 = table.options.debugAll) != null ? _table$options$debugA6 : table.options.debugColumns;
1865
- }
1866
- });
1730
+ }, getMemoOptions(table.options, 'debugColumns', 'getCenterLeafColumns'));
1867
1731
  table.setRowPinning = updater => table.options.onRowPinningChange == null ? void 0 : table.options.onRowPinningChange(updater);
1868
1732
  table.resetRowPinning = defaultState => {
1869
1733
  var _table$initialState$r, _table$initialState2;
@@ -1878,7 +1742,7 @@
1878
1742
  }
1879
1743
  return Boolean((_pinningState$positio2 = pinningState[position]) == null ? void 0 : _pinningState$positio2.length);
1880
1744
  };
1881
- table._getPinnedRows = position => memo(() => [table.getRowModel().rows, table.getState().rowPinning[position]], (visibleRows, pinnedRowIds) => {
1745
+ table._getPinnedRows = memo(position => [table.getRowModel().rows, table.getState().rowPinning[position], position], (visibleRows, pinnedRowIds, position) => {
1882
1746
  var _table$options$keepPi;
1883
1747
  const rows = ((_table$options$keepPi = table.options.keepPinnedRows) != null ? _table$options$keepPi : true) ?
1884
1748
  //get all rows that are pinned even if they would not be otherwise visible
@@ -1893,25 +1757,13 @@
1893
1757
  ...d,
1894
1758
  position
1895
1759
  }));
1896
- }, {
1897
- key: `row.get${position === 'top' ? 'Top' : 'Bottom'}Rows`,
1898
- debug: () => {
1899
- var _table$options$debugA7;
1900
- return (_table$options$debugA7 = table.options.debugAll) != null ? _table$options$debugA7 : table.options.debugRows;
1901
- }
1902
- })();
1760
+ }, getMemoOptions(table.options, 'debugRows', '_getPinnedRows'));
1903
1761
  table.getTopRows = () => table._getPinnedRows('top');
1904
1762
  table.getBottomRows = () => table._getPinnedRows('bottom');
1905
1763
  table.getCenterRows = memo(() => [table.getRowModel().rows, table.getState().rowPinning.top, table.getState().rowPinning.bottom], (allRows, top, bottom) => {
1906
1764
  const topAndBottom = new Set([...(top != null ? top : []), ...(bottom != null ? bottom : [])]);
1907
1765
  return allRows.filter(d => !topAndBottom.has(d.id));
1908
- }, {
1909
- key: 'row.getCenterRows',
1910
- debug: () => {
1911
- var _table$options$debugA8;
1912
- return (_table$options$debugA8 = table.options.debugAll) != null ? _table$options$debugA8 : table.options.debugRows;
1913
- }
1914
- });
1766
+ }, getMemoOptions(table.options, 'debugRows', 'getCenterRows'));
1915
1767
  }
1916
1768
  };
1917
1769
 
@@ -2045,13 +1897,7 @@
2045
1897
  };
2046
1898
  }
2047
1899
  return selectRowsFn(table, rowModel);
2048
- }, {
2049
- key: 'getSelectedRowModel',
2050
- debug: () => {
2051
- var _table$options$debugA;
2052
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
2053
- }
2054
- });
1900
+ }, getMemoOptions(table.options, 'debugTable', 'getSelectedRowModel'));
2055
1901
  table.getFilteredSelectedRowModel = memo(() => [table.getState().rowSelection, table.getFilteredRowModel()], (rowSelection, rowModel) => {
2056
1902
  if (!Object.keys(rowSelection).length) {
2057
1903
  return {
@@ -2061,13 +1907,7 @@
2061
1907
  };
2062
1908
  }
2063
1909
  return selectRowsFn(table, rowModel);
2064
- }, {
2065
- key: "development" === 'production' ,
2066
- debug: () => {
2067
- var _table$options$debugA2;
2068
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugTable;
2069
- }
2070
- });
1910
+ }, getMemoOptions(table.options, 'debugTable', 'getFilteredSelectedRowModel'));
2071
1911
  table.getGroupedSelectedRowModel = memo(() => [table.getState().rowSelection, table.getSortedRowModel()], (rowSelection, rowModel) => {
2072
1912
  if (!Object.keys(rowSelection).length) {
2073
1913
  return {
@@ -2077,13 +1917,7 @@
2077
1917
  };
2078
1918
  }
2079
1919
  return selectRowsFn(table, rowModel);
2080
- }, {
2081
- key: "development" === 'production' ,
2082
- debug: () => {
2083
- var _table$options$debugA3;
2084
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugTable;
2085
- }
2086
- });
1920
+ }, getMemoOptions(table.options, 'debugTable', 'getGroupedSelectedRowModel'));
2087
1921
 
2088
1922
  ///
2089
1923
 
@@ -2659,32 +2493,14 @@
2659
2493
  createRow: (row, table) => {
2660
2494
  row._getAllVisibleCells = memo(() => [row.getAllCells(), table.getState().columnVisibility], cells => {
2661
2495
  return cells.filter(cell => cell.column.getIsVisible());
2662
- }, {
2663
- key: "development" === 'production' ,
2664
- debug: () => {
2665
- var _table$options$debugA;
2666
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
2667
- }
2668
- });
2669
- row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], {
2670
- key: 'row.getVisibleCells',
2671
- debug: () => {
2672
- var _table$options$debugA2;
2673
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
2674
- }
2675
- });
2496
+ }, getMemoOptions(table.options, 'debugRows', '_getAllVisibleCells'));
2497
+ row.getVisibleCells = memo(() => [row.getLeftVisibleCells(), row.getCenterVisibleCells(), row.getRightVisibleCells()], (left, center, right) => [...left, ...center, ...right], getMemoOptions(table.options, 'debugRows', 'getVisibleCells'));
2676
2498
  },
2677
2499
  createTable: table => {
2678
2500
  const makeVisibleColumnsMethod = (key, getColumns) => {
2679
2501
  return memo(() => [getColumns(), getColumns().filter(d => d.getIsVisible()).map(d => d.id).join('_')], columns => {
2680
2502
  return columns.filter(d => d.getIsVisible == null ? void 0 : d.getIsVisible());
2681
- }, {
2682
- key,
2683
- debug: () => {
2684
- var _table$options$debugA3;
2685
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugColumns;
2686
- }
2687
- });
2503
+ }, getMemoOptions(table.options, 'debugColumns', key));
2688
2504
  };
2689
2505
  table.getVisibleFlatColumns = makeVisibleColumnsMethod('getVisibleFlatColumns', () => table.getAllFlatColumns());
2690
2506
  table.getVisibleLeafColumns = makeVisibleColumnsMethod('getVisibleLeafColumns', () => table.getAllLeafColumns());
@@ -2714,6 +2530,9 @@
2714
2530
  };
2715
2531
  }
2716
2532
  };
2533
+ function _getVisibleLeafColumns(table, position) {
2534
+ return !position ? table.getVisibleLeafColumns() : position === 'center' ? table.getCenterVisibleLeafColumns() : position === 'left' ? table.getLeftVisibleLeafColumns() : table.getRightVisibleLeafColumns();
2535
+ }
2717
2536
 
2718
2537
  const features = [Headers, Visibility, Ordering, Pinning, Filters, Sorting, Grouping, Expanding, Pagination, RowSelection, ColumnSizing];
2719
2538
 
@@ -2840,13 +2659,7 @@
2840
2659
  }, {}),
2841
2660
  ...defaultColumn
2842
2661
  };
2843
- }, {
2844
- debug: () => {
2845
- var _table$options$debugA;
2846
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugColumns;
2847
- },
2848
- key: 'getDefaultColumnDef'
2849
- }),
2662
+ }, getMemoOptions(options, 'debugColumns', '_getDefaultColumnDef')),
2850
2663
  _getColumnDefs: () => table.options.columns,
2851
2664
  getAllColumns: memo(() => [table._getColumnDefs()], columnDefs => {
2852
2665
  const recurseColumns = function (columnDefs, parent, depth) {
@@ -2861,46 +2674,22 @@
2861
2674
  });
2862
2675
  };
2863
2676
  return recurseColumns(columnDefs);
2864
- }, {
2865
- key: 'getAllColumns',
2866
- debug: () => {
2867
- var _table$options$debugA2;
2868
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugColumns;
2869
- }
2870
- }),
2677
+ }, getMemoOptions(options, 'debugColumns', 'getAllColumns')),
2871
2678
  getAllFlatColumns: memo(() => [table.getAllColumns()], allColumns => {
2872
2679
  return allColumns.flatMap(column => {
2873
2680
  return column.getFlatColumns();
2874
2681
  });
2875
- }, {
2876
- key: 'getAllFlatColumns',
2877
- debug: () => {
2878
- var _table$options$debugA3;
2879
- return (_table$options$debugA3 = table.options.debugAll) != null ? _table$options$debugA3 : table.options.debugColumns;
2880
- }
2881
- }),
2682
+ }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumns')),
2882
2683
  _getAllFlatColumnsById: memo(() => [table.getAllFlatColumns()], flatColumns => {
2883
2684
  return flatColumns.reduce((acc, column) => {
2884
2685
  acc[column.id] = column;
2885
2686
  return acc;
2886
2687
  }, {});
2887
- }, {
2888
- key: 'getAllFlatColumnsById',
2889
- debug: () => {
2890
- var _table$options$debugA4;
2891
- return (_table$options$debugA4 = table.options.debugAll) != null ? _table$options$debugA4 : table.options.debugColumns;
2892
- }
2893
- }),
2688
+ }, getMemoOptions(options, 'debugColumns', 'getAllFlatColumnsById')),
2894
2689
  getAllLeafColumns: memo(() => [table.getAllColumns(), table._getOrderColumnsFn()], (allColumns, orderColumns) => {
2895
2690
  let leafColumns = allColumns.flatMap(column => column.getLeafColumns());
2896
2691
  return orderColumns(leafColumns);
2897
- }, {
2898
- key: 'getAllLeafColumns',
2899
- debug: () => {
2900
- var _table$options$debugA5;
2901
- return (_table$options$debugA5 = table.options.debugAll) != null ? _table$options$debugA5 : table.options.debugColumns;
2902
- }
2903
- }),
2692
+ }, getMemoOptions(options, 'debugColumns', 'getAllLeafColumns')),
2904
2693
  getColumn: columnId => {
2905
2694
  const column = table._getAllFlatColumnsById()[columnId];
2906
2695
  if (!column) {
@@ -2935,10 +2724,7 @@
2935
2724
  cell: cell,
2936
2725
  getValue: cell.getValue,
2937
2726
  renderValue: cell.renderValue
2938
- }), {
2939
- key: 'cell.getContext',
2940
- debug: () => table.options.debugAll
2941
- })
2727
+ }), getMemoOptions(table.options, 'debugCells', 'cell.getContext'))
2942
2728
  };
2943
2729
  table._features.forEach(feature => {
2944
2730
  feature.createCell == null || feature.createCell(cell, column, row, table);
@@ -3003,25 +2789,13 @@
3003
2789
  return leafColumns.map(column => {
3004
2790
  return createCell(table, row, column, column.id);
3005
2791
  });
3006
- }, {
3007
- key: 'row.getAllCells',
3008
- debug: () => {
3009
- var _table$options$debugA;
3010
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugRows;
3011
- }
3012
- }),
2792
+ }, getMemoOptions(table.options, 'debugRows', 'getAllCells')),
3013
2793
  _getAllCellsByColumnId: memo(() => [row.getAllCells()], allCells => {
3014
2794
  return allCells.reduce((acc, cell) => {
3015
2795
  acc[cell.column.id] = cell;
3016
2796
  return acc;
3017
2797
  }, {});
3018
- }, {
3019
- key: "development" === 'production' ,
3020
- debug: () => {
3021
- var _table$options$debugA2;
3022
- return (_table$options$debugA2 = table.options.debugAll) != null ? _table$options$debugA2 : table.options.debugRows;
3023
- }
3024
- })
2798
+ }, getMemoOptions(table.options, 'debugRows', 'getAllCellsByColumnId'))
3025
2799
  };
3026
2800
  for (let i = 0; i < table._features.length; i++) {
3027
2801
  const feature = table._features[i];
@@ -3132,16 +2906,7 @@
3132
2906
  };
3133
2907
  rowModel.rows = accessRows(data);
3134
2908
  return rowModel;
3135
- }, {
3136
- key: 'getRowModel',
3137
- debug: () => {
3138
- var _table$options$debugA;
3139
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3140
- },
3141
- onChange: () => {
3142
- table._autoResetPageIndex();
3143
- }
3144
- });
2909
+ }, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));
3145
2910
  }
3146
2911
 
3147
2912
  function filterRows(rows, filterRowImpl, table) {
@@ -3330,16 +3095,7 @@
3330
3095
 
3331
3096
  // Filter final rows using all of the active filters
3332
3097
  return filterRows(rowModel.rows, filterRowsImpl, table);
3333
- }, {
3334
- key: 'getFilteredRowModel',
3335
- debug: () => {
3336
- var _table$options$debugA;
3337
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3338
- },
3339
- onChange: () => {
3340
- table._autoResetPageIndex();
3341
- }
3342
- });
3098
+ }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));
3343
3099
  }
3344
3100
 
3345
3101
  function getFacetedRowModel() {
@@ -3358,14 +3114,7 @@
3358
3114
  return true;
3359
3115
  };
3360
3116
  return filterRows(preRowModel.rows, filterRowsImpl, table);
3361
- }, {
3362
- key: 'getFacetedRowModel_' + columnId,
3363
- debug: () => {
3364
- var _table$options$debugA;
3365
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3366
- },
3367
- onChange: () => {}
3368
- });
3117
+ }, getMemoOptions(table.options, 'debugTable', 'getFacetedRowModel'));
3369
3118
  }
3370
3119
 
3371
3120
  function getFacetedUniqueValues() {
@@ -3388,14 +3137,7 @@
3388
3137
  }
3389
3138
  }
3390
3139
  return facetedUniqueValues;
3391
- }, {
3392
- key: 'getFacetedUniqueValues_' + columnId,
3393
- debug: () => {
3394
- var _table$options$debugA;
3395
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3396
- },
3397
- onChange: () => {}
3398
- });
3140
+ }, getMemoOptions(table.options, 'debugTable', `getFacetedUniqueValues_${columnId}`));
3399
3141
  }
3400
3142
 
3401
3143
  function getFacetedMinMaxValues() {
@@ -3422,14 +3164,7 @@
3422
3164
  }
3423
3165
  }
3424
3166
  return facetedMinMaxValues;
3425
- }, {
3426
- key: 'getFacetedMinMaxValues_' + columnId,
3427
- debug: () => {
3428
- var _table$options$debugA;
3429
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3430
- },
3431
- onChange: () => {}
3432
- });
3167
+ }, getMemoOptions(table.options, 'debugTable', 'getFacetedMinMaxValues'));
3433
3168
  }
3434
3169
 
3435
3170
  function getSortedRowModel() {
@@ -3512,16 +3247,7 @@
3512
3247
  flatRows: sortedFlatRows,
3513
3248
  rowsById: rowModel.rowsById
3514
3249
  };
3515
- }, {
3516
- key: 'getSortedRowModel',
3517
- debug: () => {
3518
- var _table$options$debugA;
3519
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3520
- },
3521
- onChange: () => {
3522
- table._autoResetPageIndex();
3523
- }
3524
- });
3250
+ }, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));
3525
3251
  }
3526
3252
 
3527
3253
  function getGroupedRowModel() {
@@ -3636,19 +3362,12 @@
3636
3362
  flatRows: groupedFlatRows,
3637
3363
  rowsById: groupedRowsById
3638
3364
  };
3639
- }, {
3640
- key: 'getGroupedRowModel',
3641
- debug: () => {
3642
- var _table$options$debugA;
3643
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3644
- },
3645
- onChange: () => {
3646
- table._queue(() => {
3647
- table._autoResetExpanded();
3648
- table._autoResetPageIndex();
3649
- });
3650
- }
3651
- });
3365
+ }, getMemoOptions(table.options, 'debugTable', 'getGroupedRowModel', () => {
3366
+ table._queue(() => {
3367
+ table._autoResetExpanded();
3368
+ table._autoResetPageIndex();
3369
+ });
3370
+ }));
3652
3371
  }
3653
3372
  function groupBy(rows, columnId) {
3654
3373
  const groupMap = new Map();
@@ -3674,13 +3393,7 @@
3674
3393
  return rowModel;
3675
3394
  }
3676
3395
  return expandRows(rowModel);
3677
- }, {
3678
- key: 'getExpandedRowModel',
3679
- debug: () => {
3680
- var _table$options$debugA;
3681
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3682
- }
3683
- });
3396
+ }, getMemoOptions(table.options, 'debugTable', 'getExpandedRowModel'));
3684
3397
  }
3685
3398
  function expandRows(rowModel) {
3686
3399
  const expandedRows = [];
@@ -3739,13 +3452,7 @@
3739
3452
  };
3740
3453
  paginatedRowModel.rows.forEach(handleRow);
3741
3454
  return paginatedRowModel;
3742
- }, {
3743
- key: 'getPaginationRowModel',
3744
- debug: () => {
3745
- var _table$options$debugA;
3746
- return (_table$options$debugA = table.options.debugAll) != null ? _table$options$debugA : table.options.debugTable;
3747
- }
3748
- });
3455
+ }, getMemoOptions(table.options, 'debugTable', 'getPaginationRowModel'));
3749
3456
  }
3750
3457
 
3751
3458
  exports.ColumnSizing = ColumnSizing;
@@ -3759,6 +3466,7 @@
3759
3466
  exports.RowSelection = RowSelection;
3760
3467
  exports.Sorting = Sorting;
3761
3468
  exports.Visibility = Visibility;
3469
+ exports._getVisibleLeafColumns = _getVisibleLeafColumns;
3762
3470
  exports.aggregationFns = aggregationFns;
3763
3471
  exports.buildHeaderGroups = buildHeaderGroups;
3764
3472
  exports.createCell = createCell;
@@ -3778,6 +3486,7 @@
3778
3486
  exports.getFacetedUniqueValues = getFacetedUniqueValues;
3779
3487
  exports.getFilteredRowModel = getFilteredRowModel;
3780
3488
  exports.getGroupedRowModel = getGroupedRowModel;
3489
+ exports.getMemoOptions = getMemoOptions;
3781
3490
  exports.getPaginationRowModel = getPaginationRowModel;
3782
3491
  exports.getSortedRowModel = getSortedRowModel;
3783
3492
  exports.isFunction = isFunction;