@tanstack/react-table 8.0.0-alpha.1 → 8.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -78
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/build/cjs/index.js +67 -12
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/esm/index.js +30 -3346
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +28 -632
  9. package/build/types/index.d.ts +3 -7
  10. package/build/umd/index.development.js +37 -3348
  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 +56 -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 -493
  19. package/build/cjs/core.js.map +0 -1
  20. package/build/cjs/createTable.js +0 -103
  21. package/build/cjs/createTable.js.map +0 -1
  22. package/build/cjs/features/Expanding.js +0 -234
  23. package/build/cjs/features/Expanding.js.map +0 -1
  24. package/build/cjs/features/Filters.js +0 -396
  25. package/build/cjs/features/Filters.js.map +0 -1
  26. package/build/cjs/features/Grouping.js +0 -228
  27. package/build/cjs/features/Grouping.js.map +0 -1
  28. package/build/cjs/features/Headers.js +0 -483
  29. package/build/cjs/features/Headers.js.map +0 -1
  30. package/build/cjs/features/Ordering.js +0 -83
  31. package/build/cjs/features/Ordering.js.map +0 -1
  32. package/build/cjs/features/Pinning.js +0 -163
  33. package/build/cjs/features/Pinning.js.map +0 -1
  34. package/build/cjs/features/Sorting.js +0 -269
  35. package/build/cjs/features/Sorting.js.map +0 -1
  36. package/build/cjs/features/Visibility.js +0 -160
  37. package/build/cjs/features/Visibility.js.map +0 -1
  38. package/build/cjs/filterTypes.js +0 -172
  39. package/build/cjs/filterTypes.js.map +0 -1
  40. package/build/cjs/sortTypes.js +0 -121
  41. package/build/cjs/sortTypes.js.map +0 -1
  42. package/build/cjs/utils/columnFilterRowsFn.js +0 -130
  43. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  44. package/build/cjs/utils/expandRowsFn.js +0 -38
  45. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  46. package/build/cjs/utils/globalFilterRowsFn.js +0 -100
  47. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  48. package/build/cjs/utils/groupRowsFn.js +0 -154
  49. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  50. package/build/cjs/utils/sortRowsFn.js +0 -93
  51. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  52. package/build/cjs/utils.js +0 -143
  53. package/build/cjs/utils.js.map +0 -1
  54. package/build/types/aggregationTypes.d.ts +0 -22
  55. package/build/types/core.d.ts +0 -122
  56. package/build/types/createTable.d.ts +0 -35
  57. package/build/types/features/Expanding.d.ts +0 -52
  58. package/build/types/features/Filters.d.ts +0 -93
  59. package/build/types/features/Grouping.d.ts +0 -82
  60. package/build/types/features/Headers.d.ts +0 -41
  61. package/build/types/features/Ordering.d.ts +0 -19
  62. package/build/types/features/Pinning.d.ts +0 -39
  63. package/build/types/features/Sorting.d.ts +0 -75
  64. package/build/types/features/Visibility.d.ts +0 -47
  65. package/build/types/filterTypes.d.ts +0 -50
  66. package/build/types/sortTypes.d.ts +0 -17
  67. package/build/types/types.d.ts +0 -122
  68. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  69. package/build/types/utils/expandRowsFn.d.ts +0 -2
  70. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  71. package/build/types/utils/groupRowsFn.d.ts +0 -2
  72. package/build/types/utils/sortRowsFn.d.ts +0 -2
  73. package/build/types/utils.d.ts +0 -24
  74. package/src/aggregationTypes.ts +0 -115
  75. package/src/core.tsx +0 -1194
  76. package/src/createTable.tsx +0 -181
  77. package/src/features/Expanding.ts +0 -388
  78. package/src/features/Filters.ts +0 -707
  79. package/src/features/Grouping.ts +0 -451
  80. package/src/features/Headers.ts +0 -907
  81. package/src/features/Ordering.ts +0 -134
  82. package/src/features/Pinning.ts +0 -213
  83. package/src/features/Sorting.ts +0 -487
  84. package/src/features/Visibility.ts +0 -281
  85. package/src/features/withColumnResizing.oldts +0 -281
  86. package/src/features/withPagination.oldts +0 -208
  87. package/src/features/withRowSelection.oldts +0 -467
  88. package/src/filterTypes.ts +0 -251
  89. package/src/sortTypes.ts +0 -159
  90. package/src/types.ts +0 -285
  91. package/src/utils/columnFilterRowsFn.ts +0 -162
  92. package/src/utils/expandRowsFn.ts +0 -53
  93. package/src/utils/globalFilterRowsFn.ts +0 -129
  94. package/src/utils/groupRowsFn.ts +0 -196
  95. package/src/utils/sortRowsFn.ts +0 -115
  96. package/src/utils.tsx +0 -243
package/src/index.tsx CHANGED
@@ -1,7 +1,56 @@
1
- export * from './types'
2
- export * from './utils/columnFilterRowsFn'
3
- export * from './utils/globalFilterRowsFn'
4
- export * from './utils/sortRowsFn'
5
- export * from './utils/groupRowsFn'
6
- export * from './utils/expandRowsFn'
7
- export { createTable } from './createTable'
1
+ import * as React from 'react'
2
+ export * from '@tanstack/table-core'
3
+
4
+ import {
5
+ createTableInstance,
6
+ _NonGenerated,
7
+ PartialKeys,
8
+ Options,
9
+ TableInstance,
10
+ PartialGenerics,
11
+ CreateTableFactoryOptions,
12
+ TableFactory,
13
+ } from '@tanstack/table-core'
14
+
15
+ export function useTable<TGenerics extends PartialGenerics>(
16
+ table: TableFactory<TGenerics>,
17
+ options: PartialKeys<
18
+ Omit<Options<TGenerics>, keyof CreateTableFactoryOptions<any, any, any>>,
19
+ 'state' | 'onStateChange'
20
+ >
21
+ ): TableInstance<TGenerics> {
22
+ // Compose in the generic options to the user options
23
+ const resolvedOptions = {
24
+ ...(table.__options ?? {}),
25
+ state: {}, // Dummy state
26
+ onStateChange: () => {}, // noop
27
+ ...options,
28
+ }
29
+
30
+ // Create a new table instance and store it in state
31
+ const [instance] = React.useState(() =>
32
+ createTableInstance<TGenerics>(resolvedOptions)
33
+ )
34
+
35
+ // By default, manage table state here using the instance's initial state
36
+ const [state, setState] = React.useState(() => instance.initialState)
37
+
38
+ // Compose the default state above with any user state. This will allow the user
39
+ // to only control a subset of the state if desired.
40
+ instance.setOptions(prev => ({
41
+ ...prev,
42
+ ...options,
43
+ state: {
44
+ ...state,
45
+ ...options.state,
46
+ },
47
+ // Similarly, we'll maintain both our internal state and any user-provided
48
+ // state.
49
+ onStateChange: updater => {
50
+ setState(updater)
51
+ options.onStateChange?.(updater)
52
+ },
53
+ }))
54
+
55
+ return instance
56
+ }
@@ -1,130 +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
-
17
- var aggregationTypes = {
18
- sum: sum,
19
- min: min,
20
- max: max,
21
- extent: extent,
22
- mean: mean,
23
- median: median,
24
- unique: unique,
25
- uniqueCount: uniqueCount,
26
- count: count
27
- };
28
-
29
- function sum(_leafValues, childValues) {
30
- // It's faster to just add the aggregations together instead of
31
- // process leaf nodes individually
32
- return childValues.reduce(function (sum, next) {
33
- return sum + (typeof next === 'number' ? next : 0);
34
- }, 0);
35
- }
36
-
37
- function min(_leafValues, childValues) {
38
- var min;
39
-
40
- for (var _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(childValues), _step; !(_step = _iterator()).done;) {
41
- var value = _step.value;
42
-
43
- if (value != null && (min > value || min === undefined && value >= value)) {
44
- min = value;
45
- }
46
- }
47
-
48
- return min;
49
- }
50
-
51
- function max(_leafValues, childValues) {
52
- var max;
53
-
54
- for (var _iterator2 = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(childValues), _step2; !(_step2 = _iterator2()).done;) {
55
- var value = _step2.value;
56
-
57
- if (value != null && (max < value || max === undefined && value >= value)) {
58
- max = value;
59
- }
60
- }
61
-
62
- return max;
63
- }
64
-
65
- function extent(_leafValues, childValues) {
66
- var min;
67
- var max;
68
-
69
- for (var _iterator3 = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(childValues), _step3; !(_step3 = _iterator3()).done;) {
70
- var value = _step3.value;
71
-
72
- if (value != null) {
73
- if (min === undefined) {
74
- if (value >= value) min = max = value;
75
- } else {
76
- if (min > value) min = value;
77
- if (max < value) max = value;
78
- }
79
- }
80
- }
81
-
82
- return [min, max];
83
- }
84
-
85
- function mean(leafValues) {
86
- var count = 0;
87
- var sum = 0;
88
-
89
- for (var _iterator4 = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(leafValues), _step4; !(_step4 = _iterator4()).done;) {
90
- var value = _step4.value;
91
-
92
- if (value != null && (value = +value) >= value) {
93
- ++count, sum += value;
94
- }
95
- }
96
-
97
- if (count) return sum / count;
98
- return;
99
- }
100
-
101
- function median(values) {
102
- if (!values.length) {
103
- return;
104
- }
105
-
106
- var min = 0;
107
- var max = 0;
108
- values.forEach(function (value) {
109
- if (typeof value === 'number') {
110
- min = Math.min(min, value);
111
- max = Math.max(max, value);
112
- }
113
- });
114
- return (min + max) / 2;
115
- }
116
-
117
- function unique(values) {
118
- return Array.from(new Set(values).values());
119
- }
120
-
121
- function uniqueCount(values) {
122
- return new Set(values).size;
123
- }
124
-
125
- function count(values) {
126
- return values.length;
127
- }
128
-
129
- exports.aggregationTypes = aggregationTypes;
130
- //# sourceMappingURL=aggregationTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregationTypes.js","sources":["../../src/aggregationTypes.ts"],"sourcesContent":["export const aggregationTypes = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationType = keyof typeof aggregationTypes\n\nfunction sum(_leafValues: unknown[], childValues: unknown[]) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childValues.reduce(\n (sum: number, next: unknown) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nfunction min(_leafValues: unknown[], childValues: unknown[]) {\n let min: number | undefined\n\n for (const value of childValues as number[]) {\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n }\n\n return min\n}\n\nfunction max(_leafValues: unknown[], childValues: unknown[]) {\n let max: number | undefined\n\n for (const value of childValues as number[]) {\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n }\n\n return max\n}\n\nfunction extent(_leafValues: unknown[], childValues: unknown[]) {\n let min: number | undefined\n let max: number | undefined\n\n for (const value of childValues as number[]) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n }\n\n return [min, max]\n}\n\nfunction mean(leafValues: unknown[]) {\n let count = 0\n let sum = 0\n\n for (let value of leafValues as number[]) {\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n }\n\n if (count) return sum / count\n\n return\n}\n\nfunction median(values: unknown[]) {\n if (!values.length) {\n return\n }\n\n let min = 0\n let max = 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return (min + max) / 2\n}\n\nfunction unique<T>(values: T[]) {\n return Array.from(new Set(values).values())\n}\n\nfunction uniqueCount(values: unknown[]) {\n return new Set(values).size\n}\n\nfunction count(values: unknown[]) {\n return values.length\n}\n"],"names":["aggregationTypes","sum","min","max","extent","mean","median","unique","uniqueCount","count","_leafValues","childValues","reduce","next","value","undefined","leafValues","values","length","forEach","Math","Array","from","Set","size"],"mappings":"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"}
package/build/cjs/core.js DELETED
@@ -1,493 +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
-
26
- function createTableInstance(options, rerender) {
27
- var _options$initialState;
28
-
29
- if (process.env.NODE_ENV !== 'production' && options.debug) {
30
- console.info('Creating React Table Instance...');
31
- }
32
-
33
- var instance = {};
34
-
35
- var defaultOptions = _rollupPluginBabelHelpers["extends"]({}, Visibility.getDefaultOptions(instance), Ordering.getDefaultOptions(instance), Pinning.getDefaultOptions(instance), Filters.getDefaultOptions(instance), Sorting.getDefaultOptions(instance), Grouping.getDefaultOptions(instance), Expanding.getDefaultOptions(instance));
36
-
37
- var defaultState = {};
38
-
39
- var buildOptions = function buildOptions(options) {
40
- return _rollupPluginBabelHelpers["extends"]({
41
- state: defaultState
42
- }, defaultOptions, options);
43
- };
44
-
45
- instance.options = buildOptions(options);
46
-
47
- var initialState = _rollupPluginBabelHelpers["extends"]({}, Visibility.getInitialState(), Ordering.getInitialState(), Pinning.getInitialState(), Filters.getInitialState(), Sorting.getInitialState(), Grouping.getInitialState(), Expanding.getInitialState(), (_options$initialState = options.initialState) != null ? _options$initialState : {});
48
-
49
- var finalInstance = _rollupPluginBabelHelpers["extends"]({}, instance, Visibility.getInstance(instance), Ordering.getInstance(instance), Pinning.getInstance(instance), Headers.getInstance(instance), Filters.getInstance(instance), Sorting.getInstance(instance), Grouping.getInstance(instance), Expanding.getInstance(instance), {
50
- rerender: rerender,
51
- initialState: initialState,
52
- internalState: initialState,
53
- reset: function reset() {
54
- instance.setState(instance.initialState);
55
- },
56
- updateOptions: function updateOptions(newOptions) {
57
- instance.options = buildOptions(newOptions);
58
- },
59
- getRowId: function getRowId(_, index, parent) {
60
- return "" + (parent ? [parent.id, index].join('.') : index);
61
- },
62
- getState: function getState() {
63
- return _rollupPluginBabelHelpers["extends"]({}, instance.internalState, instance.options.state);
64
- },
65
- setState: function setState(updater, shouldRerender) {
66
- if (shouldRerender === void 0) {
67
- shouldRerender = true;
68
- }
69
-
70
- var newState = utils.functionalUpdate(updater, instance.internalState);
71
- var onStateChange = instance.options.onStateChange;
72
- instance.internalState = newState;
73
-
74
- if (onStateChange) {
75
- onStateChange(newState);
76
- return;
77
- }
78
-
79
- if (shouldRerender) {
80
- instance.rerender();
81
- }
82
- },
83
- getDefaultColumn: utils.memo(function () {
84
- return [instance.options.defaultColumn];
85
- }, function (defaultColumn) {
86
- var _defaultColumn;
87
-
88
- defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
89
- return _rollupPluginBabelHelpers["extends"]({
90
- header: function header(props) {
91
- return props.header.column.id;
92
- },
93
- footer: function footer(props) {
94
- return props.header.column.id;
95
- },
96
- cell: function cell(_ref) {
97
- var _ref$value = _ref.value,
98
- value = _ref$value === void 0 ? '' : _ref$value;
99
- return typeof value === 'boolean' ? value.toString() : value;
100
- }
101
- }, Visibility.getDefaultColumn(), Filters.getDefaultColumn(), Sorting.getDefaultColumn(), Grouping.getDefaultColumn(), defaultColumn);
102
- }, 'getDefaultColumn', instance.options.debug),
103
- getColumnDefs: function getColumnDefs() {
104
- return instance.options.columns;
105
- },
106
- createColumn: function createColumn(columnDef, depth, parent) {
107
- var _ref2, _columnDef$id;
108
-
109
- var defaultColumn = instance.getDefaultColumn();
110
- var id = (_ref2 = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref2 : typeof columnDef.header === 'string' ? columnDef.header : undefined;
111
- var accessorFn;
112
-
113
- if (columnDef.accessorFn) {
114
- accessorFn = columnDef.accessorFn;
115
- } else if (columnDef.accessorKey) {
116
- accessorFn = function accessorFn(originalRow) {
117
- return originalRow[columnDef.accessorKey];
118
- };
119
- }
120
-
121
- if (!id) {
122
- if (process.env.NODE_ENV !== 'production') {
123
- throw new Error(columnDef.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header");
124
- }
125
-
126
- throw new Error();
127
- }
128
-
129
- var column = _rollupPluginBabelHelpers["extends"]({
130
- width: 150,
131
- minWidth: 20,
132
- maxWidth: Number.MAX_SAFE_INTEGER
133
- }, defaultColumn, columnDef, {
134
- id: "" + id,
135
- accessorFn: accessorFn,
136
- parent: parent,
137
- depth: depth,
138
- columnDef: columnDef,
139
- columns: [],
140
- getWidth: function getWidth() {
141
- return instance.getColumnWidth(column.id);
142
- },
143
- getFlatColumns: utils.memo(function () {
144
- return [true];
145
- }, function () {
146
- var _column$columns;
147
-
148
- return [column].concat((_column$columns = column.columns) == null ? void 0 : _column$columns.flatMap(function (d) {
149
- return d.getFlatColumns();
150
- }));
151
- }, 'column.getFlatColumns', instance.options.debug),
152
- getLeafColumns: utils.memo(function () {
153
- return [instance.getOrderColumnsFn()];
154
- }, function (orderColumns) {
155
- var _column$columns2;
156
-
157
- if ((_column$columns2 = column.columns) != null && _column$columns2.length) {
158
- var leafColumns = column.columns.flatMap(function (column) {
159
- return column.getLeafColumns();
160
- });
161
- return orderColumns(leafColumns);
162
- }
163
-
164
- return [column];
165
- }, 'column.getLeafColumns', instance.options.debug)
166
- });
167
-
168
- column = Object.assign(column, Visibility.createColumn(column, instance), Pinning.createColumn(column, instance), Filters.createColumn(column, instance), Sorting.createColumn(column, instance), Grouping.createColumn(column, instance)); // Yes, we have to convert instance to uknown, because we know more than the compiler here.
169
-
170
- return column;
171
- },
172
- getAllColumns: utils.memo(function () {
173
- return [instance.getColumnDefs()];
174
- }, function (columnDefs) {
175
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Building Columns...');
176
-
177
- var recurseColumns = function recurseColumns(columnDefs, parent, depth) {
178
- if (depth === void 0) {
179
- depth = 0;
180
- }
181
-
182
- return columnDefs.map(function (columnDef) {
183
- var column = instance.createColumn(columnDef, depth, parent);
184
- column.columns = columnDef.columns ? recurseColumns(columnDef.columns, column, depth + 1) : [];
185
- return column;
186
- });
187
- };
188
-
189
- return recurseColumns(columnDefs);
190
- }, 'getAllColumns', instance.options.debug),
191
- getAllFlatColumns: utils.memo(function () {
192
- return [instance.getAllColumns()];
193
- }, function (allColumns) {
194
- return allColumns.flatMap(function (column) {
195
- return column.getFlatColumns();
196
- });
197
- }, 'getAllFlatColumns', instance.options.debug),
198
- getAllFlatColumnsById: utils.memo(function () {
199
- return [instance.getAllFlatColumns()];
200
- }, function (flatColumns) {
201
- return flatColumns.reduce(function (acc, column) {
202
- acc[column.id] = column;
203
- return acc;
204
- }, {});
205
- }, 'getAllFlatColumnsById', instance.options.debug),
206
- getAllLeafColumns: utils.memo(function () {
207
- return [instance.getAllColumns(), instance.getOrderColumnsFn()];
208
- }, function (allColumns, orderColumns) {
209
- var leafColumns = allColumns.flatMap(function (column) {
210
- return column.getLeafColumns();
211
- });
212
- return orderColumns(leafColumns);
213
- }, 'getAllLeafColumns', instance.options.debug),
214
- getColumn: function getColumn(columnId) {
215
- var column = instance.getAllFlatColumnsById()[columnId];
216
-
217
- if (!column) {
218
- if (process.env.NODE_ENV !== 'production') {
219
- console.warn("[React Table] Column with id " + columnId + " does not exist.");
220
- }
221
-
222
- throw new Error();
223
- }
224
-
225
- return column;
226
- },
227
- getColumnWidth: function getColumnWidth(columnId) {
228
- var _column$minWidth, _column$width, _column$maxWidth;
229
-
230
- var column = instance.getColumn(columnId);
231
-
232
- if (!column) {
233
- throw new Error();
234
- }
235
-
236
- return Math.min(Math.max((_column$minWidth = column.minWidth) != null ? _column$minWidth : 0, (_column$width = column.width) != null ? _column$width : 0), (_column$maxWidth = column.maxWidth) != null ? _column$maxWidth : 0);
237
- },
238
- createCell: function createCell(row, column, value) {
239
- var cell = {
240
- id: row.id + "_" + column.id,
241
- rowId: row.id,
242
- columnId: column.id,
243
- row: row,
244
- column: column,
245
- value: value,
246
- getCellProps: function getCellProps(userProps) {
247
- return instance.getCellProps(row.id, column.id, userProps);
248
- },
249
- renderCell: function renderCell() {
250
- return utils.flexRender(column.cell, {
251
- column: column,
252
- cell: cell,
253
- value: value
254
- });
255
- }
256
- };
257
- Object.assign(cell, _rollupPluginBabelHelpers["extends"]({}, Grouping.createCell(cell, column, row)));
258
- return cell;
259
- },
260
- createRow: function createRow(id, original, rowIndex, depth, values) {
261
- var row = {
262
- id: id,
263
- index: rowIndex,
264
- original: original,
265
- depth: depth,
266
- values: values,
267
- subRows: [],
268
- leafRows: [],
269
- getRowProps: function getRowProps(userProps) {
270
- return instance.getRowProps(row.id, userProps);
271
- },
272
- getAllCells: undefined,
273
- getAllCellsByColumnId: undefined
274
- };
275
- row.getAllCells = utils.memo(function () {
276
- return [instance.getAllLeafColumns()];
277
- }, function (leafColumns) {
278
- return leafColumns.map(function (column) {
279
- return instance.createCell(row, column, row.values[column.id]);
280
- });
281
- }, process.env.NODE_ENV !== 'production' ? 'row.getAllCells' : '', instance.options.debug);
282
- row.getAllCellsByColumnId = utils.memo(function () {
283
- return [row.getAllCells()];
284
- }, function (allCells) {
285
- return allCells.reduce(function (acc, cell) {
286
- acc[cell.columnId] = cell;
287
- return acc;
288
- }, {});
289
- }, 'row.getAllCellsByColumnId', instance.options.debug);
290
- row = Object.assign(row, Headers.createRow(row, instance), Grouping.createRow(row, instance), Expanding.createRow(row, instance));
291
- return row;
292
- },
293
- getCoreRowModel: utils.memo(function () {
294
- return [instance.options.data];
295
- }, function (data) {
296
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Accessing...'); // Auto-reset data-dependent states if configured
297
-
298
- if (instance.options.autoResetColumnFilters && // @ts-ignore
299
- instance.getRowModelNonFirst) {
300
- instance.resetColumnFilters();
301
- }
302
-
303
- if (instance.options.autoResetGlobalFilter && // @ts-ignore
304
- instance.getRowModelNonFirst) {
305
- instance.resetGlobalFilter();
306
- }
307
-
308
- if (instance.options.autoResetSorting && // @ts-ignore
309
- instance.getRowModelNonFirst) {
310
- instance.resetSorting();
311
- }
312
-
313
- if (instance.options.autoResetGrouping && // @ts-ignore
314
- instance.getRowModelNonFirst) {
315
- instance.resetGrouping();
316
- }
317
-
318
- if (instance.options.autoResetExpanded && // @ts-ignore
319
- instance.getRowModelNonFirst) {
320
- instance.resetExpanded();
321
- } // @ts-ignore
322
-
323
-
324
- instance.getRowModelNonFirst = true; // Access the row model using initial columns
325
-
326
- var rows = [];
327
- var flatRows = [];
328
- var rowsById = {};
329
- var leafColumns = instance.getAllLeafColumns();
330
-
331
- var accessRow = function accessRow(originalRow, rowIndex, depth, parentRows, parent) {
332
- if (depth === void 0) {
333
- depth = 0;
334
- }
335
-
336
- var id = instance.getRowId(originalRow, rowIndex, parent);
337
-
338
- if (!id) {
339
- if (process.env.NODE_ENV !== 'production') {
340
- throw new Error("getRowId expected an ID, but got " + id);
341
- }
342
- }
343
-
344
- var values = {};
345
-
346
- for (var i = 0; i < leafColumns.length; i++) {
347
- var _column = leafColumns[i];
348
-
349
- if (_column && _column.accessorFn) {
350
- values[_column.id] = _column.accessorFn(originalRow, rowIndex);
351
- }
352
- } // Make the row
353
-
354
-
355
- var row = instance.createRow(id, originalRow, rowIndex, depth, values); // Push instance row into the parentRows array
356
-
357
- parentRows.push(row); // Keep track of every row in a flat array
358
-
359
- flatRows.push(row); // Also keep track of every row by its ID
360
-
361
- rowsById[id] = row; // Get the original subrows
362
-
363
- if (instance.options.getSubRows) {
364
- var originalSubRows = instance.options.getSubRows(originalRow, rowIndex); // Then recursively access them
365
-
366
- if (originalSubRows != null && originalSubRows.length) {
367
- row.originalSubRows = originalSubRows;
368
- var subRows = [];
369
-
370
- for (var _i = 0; _i < row.originalSubRows.length; _i++) {
371
- accessRow(row.originalSubRows[_i], _i, depth + 1, subRows, row);
372
- } // Keep the new subRows array on the row
373
-
374
-
375
- row.subRows = subRows;
376
- row.leafRows = utils.flattenBy(subRows, function (d) {
377
- return d.leafRows;
378
- });
379
- }
380
- }
381
- };
382
-
383
- for (var i = 0; i < data.length; i++) {
384
- accessRow(data[i], i, 0, rows);
385
- }
386
-
387
- return {
388
- rows: rows,
389
- flatRows: flatRows,
390
- rowsById: rowsById
391
- };
392
- }, 'getRowModel', instance.options.debug),
393
- // The standard
394
- getCoreRows: function getCoreRows() {
395
- return instance.getCoreRowModel().rows;
396
- },
397
- getCoreFlatRows: function getCoreFlatRows() {
398
- return instance.getCoreRowModel().flatRows;
399
- },
400
- getCoreRowsById: function getCoreRowsById() {
401
- return instance.getCoreRowModel().rowsById;
402
- },
403
- // The final calls start at the bottom of the model,
404
- // expanded rows, which then work their way up
405
- getRowModel: function getRowModel() {
406
- return instance.getExpandedRowModel();
407
- },
408
- getRows: function getRows() {
409
- return instance.getRowModel().rows;
410
- },
411
- getFlatRows: function getFlatRows() {
412
- return instance.getRowModel().flatRows;
413
- },
414
- getRowsById: function getRowsById() {
415
- return instance.getRowModel().rowsById;
416
- },
417
- getRow: function getRow(id) {
418
- var row = instance.getRowsById()[id];
419
-
420
- if (!row) {
421
- if (process.env.NODE_ENV !== 'production') {
422
- throw new Error("getRow expected an ID, but got " + id);
423
- }
424
-
425
- throw new Error();
426
- }
427
-
428
- return row;
429
- },
430
- getCell: function getCell(rowId, columnId) {
431
- var row = instance.getRow(rowId);
432
-
433
- if (!row) {
434
- if (process.env.NODE_ENV !== 'production') {
435
- throw new Error("[React Table] could not find row with id " + rowId);
436
- }
437
-
438
- throw new Error();
439
- }
440
-
441
- var cell = row.getAllCellsByColumnId()[columnId];
442
-
443
- if (!cell) {
444
- if (process.env.NODE_ENV !== 'production') {
445
- throw new Error("[React Table] could not find cell " + columnId + " in row " + rowId);
446
- }
447
-
448
- throw new Error();
449
- }
450
-
451
- return cell;
452
- },
453
- getTableProps: function getTableProps(userProps) {
454
- return utils.propGetter({
455
- role: 'table'
456
- }, userProps);
457
- },
458
- getTableBodyProps: function getTableBodyProps(userProps) {
459
- return utils.propGetter({
460
- role: 'rowgroup'
461
- }, userProps);
462
- },
463
- getRowProps: function getRowProps(rowId, userProps) {
464
- var row = instance.getRow(rowId);
465
-
466
- if (!row) {
467
- return;
468
- }
469
-
470
- return utils.propGetter({
471
- key: row.id,
472
- role: 'row'
473
- }, userProps);
474
- },
475
- getCellProps: function getCellProps(rowId, columnId, userProps) {
476
- var cell = instance.getCell(rowId, columnId);
477
-
478
- if (!cell) {
479
- return;
480
- }
481
-
482
- return utils.propGetter({
483
- key: cell.id,
484
- role: 'gridcell'
485
- }, userProps);
486
- }
487
- });
488
-
489
- return Object.assign(instance, finalInstance);
490
- }
491
-
492
- exports.createTableInstance = createTableInstance;
493
- //# sourceMappingURL=core.js.map