@tanstack/react-table 8.0.0-alpha.3 → 8.0.0-alpha.34

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 (107) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -78
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/build/cjs/index.js +99 -12
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/esm/index.js +41 -4686
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +29 -747
  9. package/build/types/index.d.ts +13 -7
  10. package/build/umd/index.development.js +51 -4688
  11. package/build/umd/index.development.js.map +1 -1
  12. package/build/umd/index.production.js +1 -1
  13. package/build/umd/index.production.js.map +1 -1
  14. package/package.json +4 -1
  15. package/src/index.tsx +107 -7
  16. package/build/cjs/aggregationTypes.js +0 -130
  17. package/build/cjs/aggregationTypes.js.map +0 -1
  18. package/build/cjs/core.js +0 -552
  19. package/build/cjs/core.js.map +0 -1
  20. package/build/cjs/createTable.js +0 -108
  21. package/build/cjs/createTable.js.map +0 -1
  22. package/build/cjs/features/ColumnSizing.js +0 -317
  23. package/build/cjs/features/ColumnSizing.js.map +0 -1
  24. package/build/cjs/features/Expanding.js +0 -255
  25. package/build/cjs/features/Expanding.js.map +0 -1
  26. package/build/cjs/features/Filters.js +0 -445
  27. package/build/cjs/features/Filters.js.map +0 -1
  28. package/build/cjs/features/Grouping.js +0 -249
  29. package/build/cjs/features/Grouping.js.map +0 -1
  30. package/build/cjs/features/Headers.js +0 -549
  31. package/build/cjs/features/Headers.js.map +0 -1
  32. package/build/cjs/features/Ordering.js +0 -86
  33. package/build/cjs/features/Ordering.js.map +0 -1
  34. package/build/cjs/features/Pagination.js +0 -194
  35. package/build/cjs/features/Pagination.js.map +0 -1
  36. package/build/cjs/features/Pinning.js +0 -149
  37. package/build/cjs/features/Pinning.js.map +0 -1
  38. package/build/cjs/features/RowSelection.js +0 -541
  39. package/build/cjs/features/RowSelection.js.map +0 -1
  40. package/build/cjs/features/Sorting.js +0 -327
  41. package/build/cjs/features/Sorting.js.map +0 -1
  42. package/build/cjs/features/Visibility.js +0 -166
  43. package/build/cjs/features/Visibility.js.map +0 -1
  44. package/build/cjs/filterTypes.js +0 -172
  45. package/build/cjs/filterTypes.js.map +0 -1
  46. package/build/cjs/sortTypes.js +0 -122
  47. package/build/cjs/sortTypes.js.map +0 -1
  48. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  49. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  50. package/build/cjs/utils/expandRowsFn.js +0 -38
  51. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  52. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  53. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  54. package/build/cjs/utils/groupRowsFn.js +0 -155
  55. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  56. package/build/cjs/utils/sortRowsFn.js +0 -94
  57. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  58. package/build/cjs/utils.js +0 -146
  59. package/build/cjs/utils.js.map +0 -1
  60. package/build/types/aggregationTypes.d.ts +0 -22
  61. package/build/types/core.d.ts +0 -111
  62. package/build/types/createTable.d.ts +0 -53
  63. package/build/types/features/ColumnSizing.d.ts +0 -67
  64. package/build/types/features/Expanding.d.ts +0 -53
  65. package/build/types/features/Filters.d.ts +0 -98
  66. package/build/types/features/Grouping.d.ts +0 -82
  67. package/build/types/features/Headers.d.ts +0 -41
  68. package/build/types/features/Ordering.d.ts +0 -19
  69. package/build/types/features/Pagination.d.ts +0 -43
  70. package/build/types/features/Pinning.d.ts +0 -39
  71. package/build/types/features/RowSelection.d.ts +0 -66
  72. package/build/types/features/Sorting.d.ts +0 -78
  73. package/build/types/features/Visibility.d.ts +0 -47
  74. package/build/types/filterTypes.d.ts +0 -50
  75. package/build/types/sortTypes.d.ts +0 -18
  76. package/build/types/types.d.ts +0 -127
  77. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  78. package/build/types/utils/expandRowsFn.d.ts +0 -2
  79. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  80. package/build/types/utils/groupRowsFn.d.ts +0 -2
  81. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  82. package/build/types/utils/sortRowsFn.d.ts +0 -2
  83. package/build/types/utils.d.ts +0 -28
  84. package/src/aggregationTypes.ts +0 -115
  85. package/src/core.tsx +0 -1182
  86. package/src/createTable.tsx +0 -241
  87. package/src/features/ColumnSizing.ts +0 -453
  88. package/src/features/Expanding.ts +0 -404
  89. package/src/features/Filters.ts +0 -762
  90. package/src/features/Grouping.ts +0 -466
  91. package/src/features/Headers.ts +0 -912
  92. package/src/features/Ordering.ts +0 -133
  93. package/src/features/Pagination.ts +0 -314
  94. package/src/features/Pinning.ts +0 -200
  95. package/src/features/RowSelection.ts +0 -831
  96. package/src/features/Sorting.ts +0 -547
  97. package/src/features/Visibility.ts +0 -279
  98. package/src/filterTypes.ts +0 -251
  99. package/src/sortTypes.ts +0 -159
  100. package/src/types.ts +0 -331
  101. package/src/utils/columnFilterRowsFn.ts +0 -155
  102. package/src/utils/expandRowsFn.ts +0 -50
  103. package/src/utils/globalFilterRowsFn.ts +0 -122
  104. package/src/utils/groupRowsFn.ts +0 -194
  105. package/src/utils/paginateRowsFn.ts +0 -34
  106. package/src/utils/sortRowsFn.ts +0 -115
  107. package/src/utils.tsx +0 -257
package/build/cjs/core.js DELETED
@@ -1,552 +0,0 @@
1
- /**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var _rollupPluginBabelHelpers = require('./_virtual/_rollupPluginBabelHelpers.js');
16
- var utils = require('./utils.js');
17
- var Visibility = require('./features/Visibility.js');
18
- var Ordering = require('./features/Ordering.js');
19
- var Pinning = require('./features/Pinning.js');
20
- var Headers = require('./features/Headers.js');
21
- var Filters = require('./features/Filters.js');
22
- var Sorting = require('./features/Sorting.js');
23
- var Grouping = require('./features/Grouping.js');
24
- var Expanding = require('./features/Expanding.js');
25
- var ColumnSizing = require('./features/ColumnSizing.js');
26
- var Pagination = require('./features/Pagination.js');
27
- var RowSelection = require('./features/RowSelection.js');
28
-
29
- var features = [Visibility, Ordering, Pinning, Headers, Filters, Sorting, Grouping, Expanding, ColumnSizing, Pagination, RowSelection];
30
- function createTableInstance(options, rerender) {
31
- var _options$initialState;
32
-
33
- if (process.env.NODE_ENV !== 'production' && options.debug) {
34
- console.info('Creating React Table Instance...');
35
- }
36
-
37
- var instance = {};
38
- var defaultOptions = features.reduce(function (obj, feature) {
39
- return Object.assign(obj, feature.getDefaultOptions == null ? void 0 : feature.getDefaultOptions(instance));
40
- }, {});
41
- var defaultState = {};
42
-
43
- var buildOptions = function buildOptions(options) {
44
- return _rollupPluginBabelHelpers["extends"]({
45
- state: defaultState
46
- }, defaultOptions, options);
47
- };
48
-
49
- instance.options = buildOptions(options);
50
-
51
- var initialState = _rollupPluginBabelHelpers["extends"]({}, features.reduce(function (obj, feature) {
52
- return Object.assign(obj, feature.getInitialState == null ? void 0 : feature.getInitialState());
53
- }, {}), (_options$initialState = options.initialState) != null ? _options$initialState : {});
54
-
55
- var finalInstance = _rollupPluginBabelHelpers["extends"]({}, instance, features.reduce(function (obj, feature) {
56
- return Object.assign(obj, feature.getInstance == null ? void 0 : feature.getInstance(instance));
57
- }, {}), {
58
- rerender: rerender,
59
- initialState: initialState,
60
- internalState: initialState,
61
- reset: function reset() {
62
- instance.setState(instance.initialState);
63
- },
64
- updateOptions: function updateOptions(newOptions) {
65
- instance.options = buildOptions(newOptions);
66
- },
67
- getRowId: function getRowId(_, index, parent) {
68
- return "" + (parent ? [parent.id, index].join('.') : index);
69
- },
70
- getState: function getState() {
71
- var state = _rollupPluginBabelHelpers["extends"]({}, instance.internalState, instance.options.state);
72
-
73
- return state;
74
- },
75
- setState: function setState(updater, shouldRerender) {
76
- if (shouldRerender === void 0) {
77
- shouldRerender = true;
78
- }
79
-
80
- var onStateChange = instance.options.onStateChange;
81
- var internalState = instance.internalState;
82
- var newState = utils.functionalUpdate(updater, internalState);
83
- instance.internalState = newState;
84
-
85
- if (onStateChange) {
86
- onStateChange(newState);
87
- return;
88
- }
89
-
90
- if (shouldRerender) {
91
- instance.rerender();
92
- }
93
- },
94
- getDefaultColumn: utils.memo(function () {
95
- return [instance.options.defaultColumn];
96
- }, function (defaultColumn) {
97
- var _defaultColumn;
98
-
99
- defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
100
- return _rollupPluginBabelHelpers["extends"]({
101
- header: function header(props) {
102
- return props.header.column.id;
103
- },
104
- footer: function footer(props) {
105
- return props.header.column.id;
106
- },
107
- cell: function cell(_ref) {
108
- var _ref$value = _ref.value,
109
- value = _ref$value === void 0 ? '' : _ref$value;
110
- return typeof value === 'boolean' ? value.toString() : value;
111
- }
112
- }, features.reduce(function (obj, feature) {
113
- return Object.assign(obj, feature.getDefaultColumn == null ? void 0 : feature.getDefaultColumn());
114
- }, {}), defaultColumn);
115
- }, {
116
- debug: instance.options.debug,
117
- key: 'getDefaultColumn'
118
- }),
119
- getColumnDefs: function getColumnDefs() {
120
- return instance.options.columns;
121
- },
122
- createColumn: function createColumn(columnDef, depth, parent) {
123
- var _ref2, _columnDef$id;
124
-
125
- var defaultColumn = instance.getDefaultColumn();
126
- var id = (_ref2 = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref2 : typeof columnDef.header === 'string' ? columnDef.header : undefined;
127
- var accessorFn;
128
-
129
- if (columnDef.accessorFn) {
130
- accessorFn = columnDef.accessorFn;
131
- } else if (columnDef.accessorKey) {
132
- accessorFn = function accessorFn(originalRow) {
133
- return originalRow[columnDef.accessorKey];
134
- };
135
- }
136
-
137
- if (!id) {
138
- if (process.env.NODE_ENV !== 'production') {
139
- throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
140
- }
141
-
142
- throw new Error();
143
- }
144
-
145
- var column = _rollupPluginBabelHelpers["extends"]({}, ColumnSizing.defaultColumnSizing, defaultColumn, columnDef, {
146
- id: "" + id,
147
- accessorFn: accessorFn,
148
- parent: parent,
149
- depth: depth,
150
- columnDef: columnDef,
151
- columns: [],
152
- getWidth: function getWidth() {
153
- return instance.getColumnWidth(column.id);
154
- },
155
- getFlatColumns: utils.memo(function () {
156
- return [true];
157
- }, function () {
158
- var _column$columns;
159
-
160
- return [column].concat((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(function (d) {
161
- return d.getFlatColumns();
162
- }));
163
- }, {
164
- key: 'column.getFlatColumns',
165
- debug: instance.options.debug
166
- }),
167
- getLeafColumns: utils.memo(function () {
168
- return [instance.getOrderColumnsFn()];
169
- }, function (orderColumns) {
170
- var _column$columns2;
171
-
172
- if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
173
- var leafColumns = column.columns.flatMap(function (column) {
174
- return column.getLeafColumns();
175
- });
176
- return orderColumns(leafColumns);
177
- }
178
-
179
- return [column];
180
- }, {
181
- key: 'column.getLeafColumns',
182
- debug: instance.options.debug
183
- })
184
- });
185
-
186
- column = features.reduce(function (obj, feature) {
187
- return Object.assign(obj, feature.createColumn == null ? void 0 : feature.createColumn(column, instance));
188
- }, column); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
189
-
190
- return column;
191
- },
192
- getAllColumns: utils.memo(function () {
193
- return [instance.getColumnDefs()];
194
- }, function (columnDefs) {
195
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Building Columns...');
196
-
197
- var recurseColumns = function recurseColumns(columnDefs, parent, depth) {
198
- if (depth === void 0) {
199
- depth = 0;
200
- }
201
-
202
- return columnDefs.map(function (columnDef) {
203
- var column = instance.createColumn(columnDef, depth, parent);
204
- column.columns = columnDef.columns ? recurseColumns(columnDef.columns, column, depth + 1) : [];
205
- return column;
206
- });
207
- };
208
-
209
- return recurseColumns(columnDefs);
210
- }, {
211
- key: 'getAllColumns',
212
- debug: instance.options.debug
213
- }),
214
- getAllFlatColumns: utils.memo(function () {
215
- return [instance.getAllColumns()];
216
- }, function (allColumns) {
217
- return allColumns.flatMap(function (column) {
218
- return column.getFlatColumns();
219
- });
220
- }, {
221
- key: 'getAllFlatColumns',
222
- debug: instance.options.debug
223
- }),
224
- getAllFlatColumnsById: utils.memo(function () {
225
- return [instance.getAllFlatColumns()];
226
- }, function (flatColumns) {
227
- return flatColumns.reduce(function (acc, column) {
228
- acc[column.id] = column;
229
- return acc;
230
- }, {});
231
- }, {
232
- key: 'getAllFlatColumnsById',
233
- debug: instance.options.debug
234
- }),
235
- getAllLeafColumns: utils.memo(function () {
236
- return [instance.getAllColumns(), instance.getOrderColumnsFn()];
237
- }, function (allColumns, orderColumns) {
238
- var leafColumns = allColumns.flatMap(function (column) {
239
- return column.getLeafColumns();
240
- });
241
- return orderColumns(leafColumns);
242
- }, {
243
- key: 'getAllLeafColumns',
244
- debug: instance.options.debug
245
- }),
246
- getColumn: function getColumn(columnId) {
247
- var column = instance.getAllFlatColumnsById()[columnId];
248
-
249
- if (!column) {
250
- if (process.env.NODE_ENV !== 'production') {
251
- console.warn("[React Table] Column with id " + columnId + " does not exist.");
252
- }
253
-
254
- throw new Error();
255
- }
256
-
257
- return column;
258
- },
259
- getColumnWidth: function getColumnWidth(columnId) {
260
- var _column$minWidth, _ref3, _column$maxWidth;
261
-
262
- var column = instance.getColumn(columnId);
263
-
264
- if (!column) {
265
- throw new Error();
266
- }
267
-
268
- var columnSize = instance.getState().columnSizing[column.id];
269
- return Math.min(Math.max((_column$minWidth = column.minWidth) != null ? _column$minWidth : ColumnSizing.defaultColumnSizing.minWidth, (_ref3 = columnSize != null ? columnSize : column.width) != null ? _ref3 : ColumnSizing.defaultColumnSizing.width), (_column$maxWidth = column.maxWidth) != null ? _column$maxWidth : ColumnSizing.defaultColumnSizing.maxWidth);
270
- },
271
- createCell: function createCell(row, column, value) {
272
- var cell = {
273
- id: row.id + "_" + column.id,
274
- rowId: row.id,
275
- columnId: column.id,
276
- row: row,
277
- column: column,
278
- value: value,
279
- getCellProps: function getCellProps(userProps) {
280
- return instance.getCellProps(row.id, column.id, userProps);
281
- },
282
- renderCell: function renderCell() {
283
- return utils.flexRender(column.cell, {
284
- instance: instance,
285
- column: column,
286
- row: row,
287
- cell: cell,
288
- value: value
289
- });
290
- }
291
- };
292
- features.forEach(function (feature) {
293
- Object.assign(cell, feature.createCell == null ? void 0 : feature.createCell(cell, column, row, instance));
294
- }, {});
295
- return cell;
296
- },
297
- createRow: function createRow(id, original, rowIndex, depth, values) {
298
- var row = {
299
- id: id,
300
- index: rowIndex,
301
- original: original,
302
- depth: depth,
303
- values: values,
304
- subRows: [],
305
- leafRows: [],
306
- getRowProps: function getRowProps(userProps) {
307
- return instance.getRowProps(row.id, userProps);
308
- },
309
- getAllCells: undefined,
310
- getAllCellsByColumnId: undefined
311
- };
312
- row.getAllCells = utils.memo(function () {
313
- return [instance.getAllLeafColumns()];
314
- }, function (leafColumns) {
315
- return leafColumns.map(function (column) {
316
- return instance.createCell(row, column, row.values[column.id]);
317
- });
318
- }, {
319
- key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',
320
- debug: instance.options.debug
321
- });
322
- row.getAllCellsByColumnId = utils.memo(function () {
323
- return [row.getAllCells()];
324
- }, function (allCells) {
325
- return allCells.reduce(function (acc, cell) {
326
- acc[cell.columnId] = cell;
327
- return acc;
328
- }, {});
329
- }, {
330
- key: 'row.getAllCellsByColumnId',
331
- debug: instance.options.debug
332
- });
333
- features.forEach(function (feature) {
334
- Object.assign(row, feature.createRow == null ? void 0 : feature.createRow(row, instance));
335
- });
336
- return row;
337
- },
338
- getCoreRowModel: utils.memo(function () {
339
- return [instance.options.data];
340
- }, function (data) {
341
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Accessing...'); // Access the row model using initial columns
342
-
343
- var rows = [];
344
- var flatRows = [];
345
- var rowsById = {};
346
- var leafColumns = instance.getAllLeafColumns();
347
-
348
- var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
349
- if (depth === void 0) {
350
- depth = 0;
351
- }
352
-
353
- var id = instance.getRowId(originalRow, rowIndex, parent);
354
-
355
- if (!id) {
356
- if (process.env.NODE_ENV !== 'production') {
357
- throw new Error("getRowId expected an ID, but got " + id);
358
- }
359
- }
360
-
361
- var values = {};
362
-
363
- for (var i = 0; i < leafColumns.length; i++) {
364
- var _column = leafColumns[i];
365
-
366
- if (_column && _column.accessorFn) {
367
- values[_column.id] = _column.accessorFn(originalRow, rowIndex);
368
- }
369
- } // Make the row
370
-
371
-
372
- var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
373
-
374
- parentRows.push(row); // Keep track of every row in a flat array
375
-
376
- flatRows.push(row); // Also keep track of every row by its ID
377
-
378
- rowsById[id] = row; // Get the original subrows
379
-
380
- if (instance.options.getSubRows) {
381
- var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
382
-
383
- if (originalSubRows != null && originalSubRows.length) {
384
- row.originalSubRows = originalSubRows;
385
- var subRows = [];
386
-
387
- for (var _i = 0; _i < row.originalSubRows.length; _i++) {
388
- accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
389
- } // Keep the new subRows array on the row
390
-
391
-
392
- row.subRows = subRows;
393
- row.leafRows = utils.flattenBy(subRows, function (d) {
394
- return d.leafRows;
395
- });
396
- }
397
- }
398
- };
399
-
400
- for (var i = 0; i < data.length; i++) {
401
- accessRow(data[i], i, 0, rows);
402
- }
403
-
404
- return {
405
- rows: rows,
406
- flatRows: flatRows,
407
- rowsById: rowsById
408
- };
409
- }, {
410
- key: 'getRowModel',
411
- debug: instance.options.debug,
412
- onChange: function onChange() {
413
- instance._notifyRowSelectionReset();
414
-
415
- instance._notifyFiltersReset();
416
- }
417
- }),
418
- // The standard
419
- getCoreRows: function getCoreRows() {
420
- return instance.getCoreRowModel().rows;
421
- },
422
- getCoreFlatRows: function getCoreFlatRows() {
423
- return instance.getCoreRowModel().flatRows;
424
- },
425
- getCoreRowsById: function getCoreRowsById() {
426
- return instance.getCoreRowModel().rowsById;
427
- },
428
- // The final calls start at the bottom of the model,
429
- // expanded rows, which then work their way up
430
- getRowModel: function getRowModel() {
431
- return instance.getExpandedRowModel();
432
- },
433
- getRows: function getRows() {
434
- return instance.getRowModel().rows;
435
- },
436
- getFlatRows: function getFlatRows() {
437
- return instance.getRowModel().flatRows;
438
- },
439
- getRowsById: function getRowsById() {
440
- return instance.getRowModel().rowsById;
441
- },
442
- getRow: function getRow(id) {
443
- var row = instance.getRowsById()[id];
444
-
445
- if (!row) {
446
- if (process.env.NODE_ENV !== 'production') {
447
- throw new Error("getRow expected an ID, but got " + id);
448
- }
449
-
450
- throw new Error();
451
- }
452
-
453
- return row;
454
- },
455
- getCell: function getCell(rowId, columnId) {
456
- var row = instance.getRow(rowId);
457
-
458
- if (!row) {
459
- if (process.env.NODE_ENV !== 'production') {
460
- throw new Error("[React Table] could not find row with id " + rowId);
461
- }
462
-
463
- throw new Error();
464
- }
465
-
466
- var cell = row.getAllCellsByColumnId()[columnId];
467
-
468
- if (!cell) {
469
- if (process.env.NODE_ENV !== 'production') {
470
- throw new Error("[React Table] could not find cell " + columnId + " in row " + rowId);
471
- }
472
-
473
- throw new Error();
474
- }
475
-
476
- return cell;
477
- },
478
- getTableProps: function getTableProps(userProps) {
479
- return utils.propGetter({
480
- role: 'table'
481
- }, userProps);
482
- },
483
- getTableBodyProps: function getTableBodyProps(userProps) {
484
- return utils.propGetter({
485
- role: 'rowgroup'
486
- }, userProps);
487
- },
488
- getRowProps: function getRowProps(rowId, userProps) {
489
- var row = instance.getRow(rowId);
490
-
491
- if (!row) {
492
- return;
493
- }
494
-
495
- return utils.propGetter({
496
- key: row.id,
497
- role: 'row'
498
- }, userProps);
499
- },
500
- getCellProps: function getCellProps(rowId, columnId, userProps) {
501
- var cell = instance.getCell(rowId, columnId);
502
-
503
- if (!cell) {
504
- return;
505
- }
506
-
507
- return utils.propGetter({
508
- key: cell.id,
509
- role: 'gridcell'
510
- }, userProps);
511
- },
512
- getTableWidth: function getTableWidth() {
513
- var _instance$getHeaderGr, _instance$getHeaderGr2;
514
-
515
- return (_instance$getHeaderGr = (_instance$getHeaderGr2 = instance.getHeaderGroups()[0]) == null ? void 0 : _instance$getHeaderGr2.headers.reduce(function (sum, header) {
516
- return sum + header.getWidth();
517
- }, 0)) != null ? _instance$getHeaderGr : 0;
518
- },
519
- getLeftTableWidth: function getLeftTableWidth() {
520
- var _instance$getLeftHead, _instance$getLeftHead2;
521
-
522
- return (_instance$getLeftHead = (_instance$getLeftHead2 = instance.getLeftHeaderGroups()[0]) == null ? void 0 : _instance$getLeftHead2.headers.reduce(function (sum, header) {
523
- return sum + header.getWidth();
524
- }, 0)) != null ? _instance$getLeftHead : 0;
525
- },
526
- getCenterTableWidth: function getCenterTableWidth() {
527
- var _instance$getCenterHe, _instance$getCenterHe2;
528
-
529
- return (_instance$getCenterHe = (_instance$getCenterHe2 = instance.getCenterHeaderGroups()[0]) == null ? void 0 : _instance$getCenterHe2.headers.reduce(function (sum, header) {
530
- return sum + header.getWidth();
531
- }, 0)) != null ? _instance$getCenterHe : 0;
532
- },
533
- getRightTableWidth: function getRightTableWidth() {
534
- var _instance$getRightHea, _instance$getRightHea2;
535
-
536
- return (_instance$getRightHea = (_instance$getRightHea2 = instance.getRightHeaderGroups()[0]) == null ? void 0 : _instance$getRightHea2.headers.reduce(function (sum, header) {
537
- return sum + header.getWidth();
538
- }, 0)) != null ? _instance$getRightHea : 0;
539
- }
540
- });
541
-
542
- instance = Object.assign(instance, finalInstance); // This won't trigger a rerender yet, but it will force
543
- // pagination derivation to run (particularly pageSize detection)
544
-
545
- instance.setPagination(function (d) {
546
- return d;
547
- });
548
- return instance;
549
- }
550
-
551
- exports.createTableInstance = createTableInstance;
552
- //# sourceMappingURL=core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sources":["../../src/core.tsx"],"sourcesContent":["import {\n flattenBy,\n functionalUpdate,\n propGetter,\n memo,\n flexRender,\n RequiredKeys,\n} from './utils'\n\nimport {\n Updater,\n PropGetterValue,\n Options,\n TableState,\n ColumnDef,\n Row,\n Column,\n Cell,\n Header,\n AccessorFn,\n HeaderRenderProps,\n TableProps,\n TableBodyProps,\n PropGetter,\n Getter,\n RowProps,\n CellProps,\n ReactTable,\n RowValues,\n Renderable,\n} from './types'\n\nimport * as Visibility from './features/Visibility'\nimport * as Ordering from './features/Ordering'\nimport * as Pinning from './features/Pinning'\nimport * as Headers from './features/Headers'\nimport * as Filters from './features/Filters'\nimport * as Sorting from './features/Sorting'\nimport * as Grouping from './features/Grouping'\nimport * as Expanding from './features/Expanding'\nimport * as ColumnSizing from './features/ColumnSizing'\nimport * as Pagination from './features/Pagination'\nimport * as RowSelection from './features/RowSelection'\nimport { RowModel } from '.'\n\nconst features = [\n Visibility,\n Ordering,\n Pinning,\n Headers,\n Filters,\n Sorting,\n Grouping,\n Expanding,\n ColumnSizing,\n Pagination,\n RowSelection,\n]\n\nexport type CoreOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n data: TData[]\n columns: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n debug?: boolean\n defaultColumn?: Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n initialState?: Partial<TableState>\n state?: Partial<TableState>\n getSubRows?: (originalRow: TData, index: number) => TData[]\n getRowId?: (\n originalRow: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n onStateChange?: (newState: TableState) => void\n autoResetAll?: boolean\n}\n\nexport type TableCore<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n rerender: () => void\n initialState: TableState\n internalState: TableState\n reset: () => void\n options: RequiredKeys<\n Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n 'state'\n >\n updateOptions: (\n newOptions: Options<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n ) => void\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => string\n getState: () => TableState\n setState: (updater: Updater<TableState>) => void\n getDefaultColumn: () => Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getColumnDefs: () => ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n createColumn: (\n columnDef: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth: number,\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getAllColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllFlatColumnsById: () => Record<\n string,\n Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getAllLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getColumn: (\n columnId: string\n ) => Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getColumnWidth: (columnId: string) => number\n getTotalWidth: () => number\n createCell: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n value: any\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n createRow: (\n id: string,\n original: TData | undefined,\n rowIndex: number,\n depth: number,\n values: Record<string, any>\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCoreRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getCoreRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getCoreRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getRow: (\n id: string\n ) => Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getCell: (\n rowId: string,\n columnId: string\n ) => Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getTableProps: PropGetter<TableProps>\n getTableBodyProps: PropGetter<TableBodyProps>\n getRowProps: <TGetter extends Getter<RowProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<RowProps, TGetter>\n getCellProps: <TGetter extends Getter<CellProps>>(\n rowId: string,\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<CellProps, TGetter>\n getTableWidth: () => number\n getLeftTableWidth: () => number\n getCenterTableWidth: () => number\n getRightTableWidth: () => number\n }\n\nexport type CoreRow<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> = {\n id: string\n index: number\n original?: TData\n depth: number\n values: RowValues\n leafRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n subRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n getRowProps: PropGetter<RowProps>\n originalSubRows?: TData[]\n getAllCells: () => Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getAllCellsByColumnId: () => Record<\n string,\n Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\nexport type CoreColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n id: string\n accessorKey?: string & keyof TData\n accessorFn?: AccessorFn<TData>\n header?:\n | string\n | Renderable<{\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }>\n} & // | Renderable<{ // | string // header?: // accessorKey?: never // id: string // accessorFn: AccessorFn<TData> // | {\n// instance: ReactTable<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// header: Header<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// column: Column<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// }>\n// }\n// | {\n// accessorKey: string & keyof TData\n// id?: string\n// accessorFn?: never\n// header?:\n// | string\n// | Renderable<{\n// instance: ReactTable<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// header: Header<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// column: Column<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// }>\n// }\n// | {\n// id: string\n// accessorKey?: never\n// accessorFn?: never\n// header?:\n// | string\n// | Renderable<{\n// instance: ReactTable<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// header: Header<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// column: Column<\n// TData,\n// TValue,\n// TFilterFns,\n// TSortingFns,\n// TAggregationFns\n// >\n// }>\n// }\n// | {\n// header: string\n// id?: string\n// accessorKey?: never\n// accessorFn?: never\n// }\n{\n __generated: true\n width?: number\n minWidth?: number\n maxWidth?: number\n columns?: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n footer?: Renderable<{\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n header: Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n }>\n cell?: Renderable<{\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n cell: Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n value: TValue\n }>\n defaultIsVisible?: boolean\n}\n\nexport type CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n id: string\n depth: number\n accessorFn?: AccessorFn<TData>\n columnDef: ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getWidth: () => number\n columns: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n parent?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n getFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n}\n\nexport function createTableInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rerender: () => void\n): ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n if (process.env.NODE_ENV !== 'production' && options.debug) {\n console.info('Creating React Table Instance...')\n }\n\n let instance = {} as ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n\n const defaultOptions = features.reduce((obj, feature) => {\n return Object.assign(obj, (feature as any).getDefaultOptions?.(instance))\n }, {})\n\n const defaultState = {}\n\n const buildOptions = (\n options: Options<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => ({\n state: defaultState,\n ...defaultOptions,\n ...options,\n })\n\n instance.options = buildOptions(options)\n\n const initialState = {\n ...features.reduce((obj, feature) => {\n return Object.assign(obj, (feature as any).getInitialState?.())\n }, {}),\n ...(options.initialState ?? {}),\n } as TableState\n\n const finalInstance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n ...instance,\n ...features.reduce((obj, feature) => {\n return Object.assign(obj, (feature as any).getInstance?.(instance))\n }, {}),\n rerender,\n initialState,\n internalState: initialState,\n reset: () => {\n instance.setState(instance.initialState)\n },\n updateOptions: newOptions => {\n instance.options = buildOptions(newOptions)\n },\n\n getRowId: (\n _: TData,\n index: number,\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => `${parent ? [parent.id, index].join('.') : index}`,\n\n getState: () => {\n let state = {\n ...instance.internalState,\n ...instance.options.state,\n }\n\n return state\n },\n\n setState: (\n updater: Updater<TableState>,\n shouldRerender: boolean = true\n ) => {\n const onStateChange = instance.options.onStateChange\n\n let internalState = instance.internalState\n let newState = functionalUpdate(updater, internalState)\n\n instance.internalState = newState\n\n if (onStateChange) {\n onStateChange(newState)\n return\n }\n\n if (shouldRerender) {\n instance.rerender()\n }\n },\n\n getDefaultColumn: memo(\n () => [instance.options.defaultColumn],\n defaultColumn => {\n defaultColumn = (defaultColumn ?? {}) as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n\n return {\n header: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n footer: (\n props: HeaderRenderProps<\n Header<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n ) => props.header.column.id,\n cell: ({ value = '' }: { value: any }): JSX.Element =>\n typeof value === 'boolean' ? value.toString() : value,\n ...features.reduce((obj, feature) => {\n return Object.assign(obj, (feature as any).getDefaultColumn?.())\n }, {}),\n ...defaultColumn,\n } as Partial<\n ColumnDef<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n },\n { debug: instance.options.debug, key: 'getDefaultColumn' }\n ),\n\n getColumnDefs: () => instance.options.columns,\n\n createColumn: (columnDef, depth: number, parent) => {\n const defaultColumn = instance.getDefaultColumn()\n\n let id =\n columnDef.id ??\n columnDef.accessorKey ??\n (typeof columnDef.header === 'string' ? columnDef.header : undefined)\n\n let accessorFn: AccessorFn<TData> | undefined\n\n if (columnDef.accessorFn) {\n accessorFn = columnDef.accessorFn\n } else if (columnDef.accessorKey) {\n accessorFn = (originalRow?: TData) =>\n (originalRow as any)[columnDef.accessorKey]\n }\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n columnDef.accessorFn\n ? `Columns require an id when using an accessorFn`\n : `Columns require an id when using a non-string header`\n )\n }\n throw new Error()\n }\n\n let column: CoreColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n ...ColumnSizing.defaultColumnSizing,\n ...defaultColumn,\n ...columnDef,\n id: `${id}`,\n accessorFn,\n parent: parent as any,\n depth,\n columnDef,\n columns: [],\n getWidth: () => instance.getColumnWidth(column.id),\n getFlatColumns: memo(\n () => [true],\n () => {\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ...column.columns?.flatMap(d => d.getFlatColumns()),\n ]\n },\n {\n key: 'column.getFlatColumns',\n debug: instance.options.debug,\n }\n ),\n getLeafColumns: memo(\n () => [instance.getOrderColumnsFn()],\n orderColumns => {\n if (column.columns?.length) {\n let leafColumns = column.columns.flatMap(column =>\n column.getLeafColumns()\n )\n\n return orderColumns(leafColumns)\n }\n\n return [\n column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n ]\n },\n {\n key: 'column.getLeafColumns',\n debug: instance.options.debug,\n }\n ),\n }\n\n column = features.reduce((obj, feature) => {\n return Object.assign(\n obj,\n (feature as any).createColumn?.(column, instance)\n )\n }, column)\n\n // Yes, we have to convert instance to uknown, because we know more than the compiler here.\n return column as Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n },\n\n getAllColumns: memo(\n () => [instance.getColumnDefs()],\n columnDefs => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Building Columns...')\n\n const recurseColumns = (\n columnDefs: ColumnDef<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n depth = 0\n ): Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] => {\n return columnDefs.map(columnDef => {\n const column = instance.createColumn(columnDef, depth, parent)\n\n column.columns = columnDef.columns\n ? recurseColumns(columnDef.columns, column, depth + 1)\n : []\n\n return column\n })\n }\n\n return recurseColumns(columnDefs)\n },\n { key: 'getAllColumns', debug: instance.options.debug }\n ),\n\n getAllFlatColumns: memo(\n () => [instance.getAllColumns()],\n allColumns => {\n return allColumns.flatMap(column => {\n return column.getFlatColumns()\n })\n },\n { key: 'getAllFlatColumns', debug: instance.options.debug }\n ),\n\n getAllFlatColumnsById: memo(\n () => [instance.getAllFlatColumns()],\n flatColumns => {\n return flatColumns.reduce((acc, column) => {\n acc[column.id] = column\n return acc\n }, {} as Record<string, Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n { key: 'getAllFlatColumnsById', debug: instance.options.debug }\n ),\n\n getAllLeafColumns: memo(\n () => [instance.getAllColumns(), instance.getOrderColumnsFn()],\n (allColumns, orderColumns) => {\n let leafColumns = allColumns.flatMap(column => column.getLeafColumns())\n return orderColumns(leafColumns)\n },\n { key: 'getAllLeafColumns', debug: instance.options.debug }\n ),\n\n getColumn: columnId => {\n const column = instance.getAllFlatColumnsById()[columnId]\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[React Table] Column with id ${columnId} does not exist.`\n )\n }\n throw new Error()\n }\n\n return column\n },\n\n getColumnWidth: (columnId: string) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const columnSize = instance.getState().columnSizing[column.id]\n\n return Math.min(\n Math.max(\n column.minWidth ?? ColumnSizing.defaultColumnSizing.minWidth,\n columnSize ?? column.width ?? ColumnSizing.defaultColumnSizing.width\n ),\n column.maxWidth ?? ColumnSizing.defaultColumnSizing.maxWidth\n )\n },\n\n createCell: (row, column, value) => {\n const cell: Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id: `${row.id}_${column.id}`,\n rowId: row.id,\n columnId: column.id,\n row,\n column,\n value,\n getCellProps: userProps =>\n instance.getCellProps(row.id, column.id, userProps)!,\n renderCell: () =>\n flexRender(column.cell, { instance, column, row, cell, value }),\n }\n\n features.forEach(feature => {\n Object.assign(\n cell,\n (feature as any).createCell?.(\n cell as Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > &\n Grouping.GroupingCell,\n column,\n row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance\n )\n )\n }, {})\n\n return cell\n },\n\n createRow: (id, original, rowIndex, depth, values) => {\n let row: CoreRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n > = {\n id,\n index: rowIndex,\n original,\n depth,\n values,\n subRows: [],\n leafRows: [],\n getRowProps: userProps => instance.getRowProps(row.id, userProps)!,\n getAllCells: undefined!,\n getAllCellsByColumnId: undefined!,\n }\n\n row.getAllCells = memo(\n () => [instance.getAllLeafColumns()],\n leafColumns => {\n return leafColumns.map(column => {\n return instance.createCell(\n row as Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n column,\n row.values[column.id]\n )\n })\n },\n {\n key: process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '',\n debug: instance.options.debug,\n }\n )\n\n row.getAllCellsByColumnId = memo(\n () => [row.getAllCells()],\n allCells => {\n return allCells.reduce((acc, cell) => {\n acc[cell.columnId] = cell\n return acc\n }, {} as Record<string, Cell<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>>)\n },\n {\n key: 'row.getAllCellsByColumnId',\n debug: instance.options.debug,\n }\n )\n\n features.forEach(feature => {\n Object.assign(row, (feature as any).createRow?.(row, instance))\n })\n\n return row as Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n },\n\n getCoreRowModel: memo(\n () => [instance.options.data],\n (\n data\n ): {\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n flatRows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]\n rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n } => {\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Accessing...')\n\n // Access the row model using initial columns\n const rows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const flatRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const rowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n > = {}\n\n const leafColumns = instance.getAllLeafColumns()\n\n const accessRow = (\n originalRow: TData,\n rowIndex: number,\n depth = 0,\n parentRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n parent?: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => {\n const id = instance.getRowId(originalRow, rowIndex, parent)\n\n if (!id) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRowId expected an ID, but got ${id}`)\n }\n }\n\n const values: Record<string, any> = {}\n\n for (let i = 0; i < leafColumns.length; i++) {\n const column = leafColumns[i]\n if (column && column.accessorFn) {\n values[column.id] = column.accessorFn(originalRow, rowIndex)\n }\n }\n\n // Make the row\n const row = instance.createRow(\n id,\n originalRow,\n rowIndex,\n depth,\n values\n )\n\n // Push instance row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n if (instance.options.getSubRows) {\n const originalSubRows = instance.options.getSubRows(\n originalRow,\n rowIndex\n )\n\n // Then recursively access them\n if (originalSubRows?.length) {\n row.originalSubRows = originalSubRows\n const subRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n\n for (let i = 0; i < row.originalSubRows.length; i++) {\n accessRow(\n row.originalSubRows[i] as TData,\n i,\n depth + 1,\n subRows,\n row\n )\n }\n // Keep the new subRows array on the row\n row.subRows = subRows\n row.leafRows = flattenBy(subRows, d => d.leafRows)\n }\n }\n }\n\n for (let i = 0; i < data.length; i++) {\n accessRow(data[i] as TData, i, 0, rows)\n }\n\n return { rows, flatRows, rowsById }\n },\n {\n key: 'getRowModel',\n debug: instance.options.debug,\n onChange: () => {\n instance._notifyRowSelectionReset()\n instance._notifyFiltersReset()\n },\n }\n ),\n\n // The standard\n\n getCoreRows: () => {\n return instance.getCoreRowModel().rows\n },\n\n getCoreFlatRows: () => {\n return instance.getCoreRowModel().flatRows\n },\n\n getCoreRowsById: () => {\n return instance.getCoreRowModel().rowsById\n },\n\n // The final calls start at the bottom of the model,\n // expanded rows, which then work their way up\n\n getRowModel: () => {\n return instance.getExpandedRowModel()\n },\n\n getRows: () => {\n return instance.getRowModel().rows\n },\n\n getFlatRows: () => {\n return instance.getRowModel().flatRows\n },\n\n getRowsById: () => {\n return instance.getRowModel().rowsById\n },\n\n getRow: (id: string) => {\n const row = instance.getRowsById()[id]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`getRow expected an ID, but got ${id}`)\n }\n throw new Error()\n }\n\n return row\n },\n\n getCell: (rowId: string, columnId: string) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`[React Table] could not find row with id ${rowId}`)\n }\n throw new Error()\n }\n\n const cell = row.getAllCellsByColumnId()[columnId]\n\n if (!cell) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `[React Table] could not find cell ${columnId} in row ${rowId}`\n )\n }\n throw new Error()\n }\n\n return cell\n },\n\n getTableProps: userProps => {\n return propGetter(\n {\n role: 'table',\n },\n userProps\n )\n },\n\n getTableBodyProps: userProps => {\n return propGetter(\n {\n role: 'rowgroup',\n },\n userProps\n )\n },\n\n getRowProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n if (!row) {\n return\n }\n\n return propGetter(\n {\n key: row.id,\n role: 'row',\n },\n userProps\n )\n },\n\n getCellProps: (rowId, columnId, userProps) => {\n const cell = instance.getCell(rowId, columnId)\n\n if (!cell) {\n return\n }\n\n return propGetter(\n {\n key: cell.id,\n role: 'gridcell',\n },\n userProps\n )\n },\n\n getTableWidth: () =>\n instance.getHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getLeftTableWidth: () =>\n instance.getLeftHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getCenterTableWidth: () =>\n instance.getCenterHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n getRightTableWidth: () =>\n instance.getRightHeaderGroups()[0]?.headers.reduce((sum, header) => {\n return sum + header.getWidth()\n }, 0) ?? 0,\n }\n\n instance = Object.assign(instance, finalInstance)\n\n // This won't trigger a rerender yet, but it will force\n // pagination derivation to run (particularly pageSize detection)\n instance.setPagination(d => d)\n\n return instance\n}\n"],"names":["features","Visibility","Ordering","Pinning","Headers","Filters","Sorting","Grouping","Expanding","ColumnSizing","Pagination","RowSelection","createTableInstance","options","rerender","process","env","NODE_ENV","debug","console","info","instance","defaultOptions","reduce","obj","feature","Object","assign","getDefaultOptions","defaultState","buildOptions","state","initialState","getInitialState","finalInstance","getInstance","internalState","reset","setState","updateOptions","newOptions","getRowId","_","index","parent","id","join","getState","updater","shouldRerender","onStateChange","newState","functionalUpdate","getDefaultColumn","memo","defaultColumn","header","props","column","footer","cell","value","toString","key","getColumnDefs","columns","createColumn","columnDef","depth","accessorKey","undefined","accessorFn","originalRow","Error","getWidth","getColumnWidth","getFlatColumns","flatMap","d","getLeafColumns","getOrderColumnsFn","orderColumns","length","leafColumns","getAllColumns","columnDefs","recurseColumns","map","getAllFlatColumns","allColumns","getAllFlatColumnsById","flatColumns","acc","getAllLeafColumns","getColumn","columnId","warn","columnSize","columnSizing","Math","min","max","minWidth","width","maxWidth","createCell","row","rowId","getCellProps","userProps","renderCell","flexRender","forEach","createRow","original","rowIndex","values","subRows","leafRows","getRowProps","getAllCells","getAllCellsByColumnId","allCells","getCoreRowModel","data","rows","flatRows","rowsById","accessRow","parentRows","i","push","getSubRows","originalSubRows","flattenBy","onChange","_notifyRowSelectionReset","_notifyFiltersReset","getCoreRows","getCoreFlatRows","getCoreRowsById","getRowModel","getExpandedRowModel","getRows","getFlatRows","getRowsById","getRow","getCell","getTableProps","propGetter","role","getTableBodyProps","getTableWidth","getHeaderGroups","headers","sum","getLeftTableWidth","getLeftHeaderGroups","getCenterTableWidth","getCenterHeaderGroups","getRightTableWidth","getRightHeaderGroups","setPagination"],"mappings":"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"}