@tanstack/react-table 8.0.0-alpha.8 → 8.0.0-alpha.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/build/cjs/react-table/src/index.js +138 -0
  2. package/build/cjs/react-table/src/index.js.map +1 -0
  3. package/build/cjs/table-core/build/esm/index.js +3982 -0
  4. package/build/cjs/table-core/build/esm/index.js.map +1 -0
  5. package/build/esm/index.js +3269 -4049
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +24 -797
  9. package/build/types/index.d.ts +16 -8
  10. package/build/umd/index.development.js +3375 -4119
  11. package/build/umd/index.development.js.map +1 -1
  12. package/build/umd/index.production.js +11 -1
  13. package/build/umd/index.production.js.map +1 -1
  14. package/package.json +7 -9
  15. package/src/index.tsx +111 -8
  16. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  17. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  18. package/build/cjs/aggregationTypes.js +0 -130
  19. package/build/cjs/aggregationTypes.js.map +0 -1
  20. package/build/cjs/core.js +0 -560
  21. package/build/cjs/core.js.map +0 -1
  22. package/build/cjs/createTable.js +0 -108
  23. package/build/cjs/createTable.js.map +0 -1
  24. package/build/cjs/features/ColumnSizing.js +0 -317
  25. package/build/cjs/features/ColumnSizing.js.map +0 -1
  26. package/build/cjs/features/Expanding.js +0 -251
  27. package/build/cjs/features/Expanding.js.map +0 -1
  28. package/build/cjs/features/Filters.js +0 -445
  29. package/build/cjs/features/Filters.js.map +0 -1
  30. package/build/cjs/features/Grouping.js +0 -249
  31. package/build/cjs/features/Grouping.js.map +0 -1
  32. package/build/cjs/features/Headers.js +0 -549
  33. package/build/cjs/features/Headers.js.map +0 -1
  34. package/build/cjs/features/Ordering.js +0 -86
  35. package/build/cjs/features/Ordering.js.map +0 -1
  36. package/build/cjs/features/Pagination.js +0 -198
  37. package/build/cjs/features/Pagination.js.map +0 -1
  38. package/build/cjs/features/Pinning.js +0 -149
  39. package/build/cjs/features/Pinning.js.map +0 -1
  40. package/build/cjs/features/RowSelection.js +0 -541
  41. package/build/cjs/features/RowSelection.js.map +0 -1
  42. package/build/cjs/features/Sorting.js +0 -327
  43. package/build/cjs/features/Sorting.js.map +0 -1
  44. package/build/cjs/features/Visibility.js +0 -166
  45. package/build/cjs/features/Visibility.js.map +0 -1
  46. package/build/cjs/filterTypes.js +0 -172
  47. package/build/cjs/filterTypes.js.map +0 -1
  48. package/build/cjs/index.js +0 -32
  49. package/build/cjs/index.js.map +0 -1
  50. package/build/cjs/sortTypes.js +0 -122
  51. package/build/cjs/sortTypes.js.map +0 -1
  52. package/build/cjs/utils/columnFilterRowsFn.js +0 -131
  53. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  54. package/build/cjs/utils/expandRowsFn.js +0 -38
  55. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  56. package/build/cjs/utils/globalFilterRowsFn.js +0 -101
  57. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  58. package/build/cjs/utils/groupRowsFn.js +0 -155
  59. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  60. package/build/cjs/utils/paginateRowsFn.js +0 -44
  61. package/build/cjs/utils/paginateRowsFn.js.map +0 -1
  62. package/build/cjs/utils/sortRowsFn.js +0 -94
  63. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  64. package/build/cjs/utils.js +0 -141
  65. package/build/cjs/utils.js.map +0 -1
  66. package/build/types/aggregationTypes.d.ts +0 -22
  67. package/build/types/core.d.ts +0 -110
  68. package/build/types/createTable.d.ts +0 -52
  69. package/build/types/features/ColumnSizing.d.ts +0 -67
  70. package/build/types/features/Expanding.d.ts +0 -53
  71. package/build/types/features/Filters.d.ts +0 -98
  72. package/build/types/features/Grouping.d.ts +0 -82
  73. package/build/types/features/Headers.d.ts +0 -41
  74. package/build/types/features/Ordering.d.ts +0 -19
  75. package/build/types/features/Pagination.d.ts +0 -44
  76. package/build/types/features/Pinning.d.ts +0 -39
  77. package/build/types/features/RowSelection.d.ts +0 -66
  78. package/build/types/features/Sorting.d.ts +0 -78
  79. package/build/types/features/Visibility.d.ts +0 -47
  80. package/build/types/filterTypes.d.ts +0 -50
  81. package/build/types/sortTypes.d.ts +0 -18
  82. package/build/types/types.d.ts +0 -127
  83. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  84. package/build/types/utils/expandRowsFn.d.ts +0 -2
  85. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  86. package/build/types/utils/groupRowsFn.d.ts +0 -2
  87. package/build/types/utils/paginateRowsFn.d.ts +0 -2
  88. package/build/types/utils/sortRowsFn.d.ts +0 -2
  89. package/build/types/utils.d.ts +0 -24
  90. package/src/aggregationTypes.ts +0 -115
  91. package/src/core.tsx +0 -1096
  92. package/src/createTable.tsx +0 -244
  93. package/src/features/ColumnSizing.ts +0 -453
  94. package/src/features/Expanding.ts +0 -406
  95. package/src/features/Filters.ts +0 -762
  96. package/src/features/Grouping.ts +0 -466
  97. package/src/features/Headers.ts +0 -912
  98. package/src/features/Ordering.ts +0 -133
  99. package/src/features/Pagination.ts +0 -325
  100. package/src/features/Pinning.ts +0 -198
  101. package/src/features/RowSelection.ts +0 -831
  102. package/src/features/Sorting.ts +0 -547
  103. package/src/features/Visibility.ts +0 -279
  104. package/src/filterTypes.ts +0 -251
  105. package/src/sortTypes.ts +0 -159
  106. package/src/types.ts +0 -331
  107. package/src/utils/columnFilterRowsFn.ts +0 -155
  108. package/src/utils/expandRowsFn.ts +0 -50
  109. package/src/utils/globalFilterRowsFn.ts +0 -122
  110. package/src/utils/groupRowsFn.ts +0 -194
  111. package/src/utils/paginateRowsFn.ts +0 -34
  112. package/src/utils/sortRowsFn.ts +0 -115
  113. package/src/utils.tsx +0 -195
@@ -1,251 +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
-
18
- //
19
- function getInitialState() {
20
- return {
21
- expanded: {}
22
- };
23
- }
24
- function getDefaultOptions(instance) {
25
- return {
26
- onExpandedChange: utils.makeStateUpdater('expanded', instance),
27
- autoResetExpanded: true,
28
- getIsRowExpanded: function getIsRowExpanded(row) {
29
- return !!(row == null ? void 0 : row.original).expanded;
30
- },
31
- expandSubRows: true,
32
- paginateExpandedRows: true
33
- };
34
- }
35
- function getInstance(instance) {
36
- var registered = false;
37
- return {
38
- _notifyExpandedReset: function _notifyExpandedReset() {
39
- if (!registered) {
40
- registered = true;
41
- return;
42
- }
43
-
44
- if (instance.options.autoResetAll === false) {
45
- return;
46
- }
47
-
48
- if (instance.options.autoResetAll === true || instance.options.autoResetExpanded) {
49
- instance.resetExpanded();
50
- }
51
- },
52
- setExpanded: function setExpanded(updater) {
53
- return instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater, utils.functionalUpdate(updater, instance.getState().expanded));
54
- },
55
- toggleRowExpanded: function toggleRowExpanded(rowId, expanded) {
56
- if (!rowId) return;
57
- instance.setExpanded(function (old) {
58
- var _expanded;
59
-
60
- var exists = old === true ? true : !!(old != null && old[rowId]);
61
- var oldExpanded = {};
62
-
63
- if (old === true) {
64
- Object.keys(instance.getRowsById()).forEach(function (rowId) {
65
- oldExpanded[rowId] = true;
66
- });
67
- } else {
68
- oldExpanded = old;
69
- }
70
-
71
- expanded = (_expanded = expanded) != null ? _expanded : !exists;
72
-
73
- if (!exists && expanded) {
74
- var _extends2;
75
-
76
- return _rollupPluginBabelHelpers["extends"]({}, oldExpanded, (_extends2 = {}, _extends2[rowId] = true, _extends2));
77
- }
78
-
79
- if (exists && !expanded) {
80
- var _oldExpanded = oldExpanded;
81
- _oldExpanded[rowId];
82
- var rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_oldExpanded, [rowId].map(_rollupPluginBabelHelpers.toPropertyKey));
83
-
84
- return rest;
85
- }
86
-
87
- return old;
88
- });
89
- },
90
- toggleAllRowsExpanded: function toggleAllRowsExpanded(expanded) {
91
- if (expanded != null ? expanded : !instance.getIsAllRowsExpanded()) {
92
- instance.setExpanded(true);
93
- } else {
94
- instance.setExpanded({});
95
- }
96
- },
97
- resetExpanded: function resetExpanded() {
98
- var _instance$initialStat, _instance$initialStat2;
99
-
100
- instance.setExpanded((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.expanded) != null ? _instance$initialStat : {});
101
- },
102
- getIsRowExpanded: function getIsRowExpanded(rowId) {
103
- var _instance$options$get;
104
-
105
- var row = instance.getRow(rowId);
106
-
107
- if (!row) {
108
- if (process.env.NODE_ENV !== 'production') {
109
- console.warn("[ReactTable] getIsRowExpanded: no row found with id " + rowId);
110
- }
111
-
112
- throw new Error();
113
- }
114
-
115
- var expanded = instance.getState().expanded;
116
- return !!((_instance$options$get = instance.options.getIsRowExpanded == null ? void 0 : instance.options.getIsRowExpanded(row)) != null ? _instance$options$get : expanded || (expanded == null ? void 0 : expanded[rowId]));
117
- },
118
- getRowCanExpand: function getRowCanExpand(rowId) {
119
- var _ref, _ref2, _instance$options$get2, _row$subRows;
120
-
121
- var row = instance.getRow(rowId);
122
-
123
- if (!row) {
124
- if (process.env.NODE_ENV !== 'production') {
125
- console.warn("[ReactTable] getRowCanExpand: no row found with id " + rowId);
126
- }
127
-
128
- throw new Error();
129
- }
130
-
131
- return (_ref = (_ref2 = (_instance$options$get2 = instance.options.getRowCanExpand == null ? void 0 : instance.options.getRowCanExpand(row)) != null ? _instance$options$get2 : instance.options.enableExpanded) != null ? _ref2 : instance.options.defaultCanExpand) != null ? _ref : !!((_row$subRows = row.subRows) != null && _row$subRows.length);
132
- },
133
- getToggleExpandedProps: function getToggleExpandedProps(rowId, userProps) {
134
- var row = instance.getRow(rowId);
135
-
136
- if (!row) {
137
- return;
138
- }
139
-
140
- var canExpand = instance.getRowCanExpand(rowId);
141
- var initialProps = {
142
- title: canExpand ? 'Toggle Expanded' : undefined,
143
- onClick: canExpand ? function (e) {
144
- e.persist();
145
- instance.toggleRowExpanded(rowId);
146
- } : undefined
147
- };
148
- return utils.propGetter(initialProps, userProps);
149
- },
150
- getToggleAllRowsExpandedProps: function getToggleAllRowsExpandedProps(userProps) {
151
- var initialProps = {
152
- title: 'Toggle All Expanded',
153
- onClick: function onClick(e) {
154
- e.persist();
155
- instance.toggleAllRowsExpanded();
156
- }
157
- };
158
- return utils.propGetter(initialProps, userProps);
159
- },
160
- getIsAllRowsExpanded: function getIsAllRowsExpanded() {
161
- var expanded = instance.getState().expanded; // If expanded is true, save some cycles and return true
162
-
163
- if (expanded === true) {
164
- return true;
165
- } // If any row is not expanded, return false
166
-
167
-
168
- if (Object.keys(instance.getRowsById()).some(function (id) {
169
- return !instance.getIsRowExpanded(id);
170
- })) {
171
- return false;
172
- } // They must all be expanded :shrug:
173
-
174
-
175
- return true;
176
- },
177
- getExpandedDepth: function getExpandedDepth() {
178
- var maxDepth = 0;
179
- var rowIds = instance.getState().expanded === true ? Object.keys(instance.getRowsById()) : Object.keys(instance.getState().expanded);
180
- rowIds.forEach(function (id) {
181
- var splitId = id.split('.');
182
- maxDepth = Math.max(maxDepth, splitId.length);
183
- });
184
- return maxDepth;
185
- },
186
- getExpandedRowModel: utils.memo(function () {
187
- return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.expandRowsFn, instance.options.paginateExpandedRows];
188
- }, function (expanded, rowModel, expandRowsFn, paginateExpandedRows) {
189
- if (!expandRowsFn || // Do not expand if rows are not included in pagination
190
- !paginateExpandedRows || !Object.keys(expanded != null ? expanded : {}).length) {
191
- return rowModel;
192
- }
193
-
194
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Expanding...');
195
- return expandRowsFn(instance, rowModel);
196
- }, {
197
- key: 'getExpandedRowModel',
198
- debug: instance.options.debug,
199
- onChange: function onChange() {
200
- instance._notifyPageIndexReset();
201
- }
202
- }),
203
- getPreExpandedRows: function getPreExpandedRows() {
204
- return instance.getGroupedRowModel().rows;
205
- },
206
- getPreExpandedFlatRows: function getPreExpandedFlatRows() {
207
- return instance.getGroupedRowModel().flatRows;
208
- },
209
- getPreExpandedRowsById: function getPreExpandedRowsById() {
210
- return instance.getGroupedRowModel().rowsById;
211
- },
212
- getExpandedRows: function getExpandedRows() {
213
- return instance.getExpandedRowModel().rows;
214
- },
215
- getExpandedFlatRows: function getExpandedFlatRows() {
216
- return instance.getExpandedRowModel().flatRows;
217
- },
218
- getExpandedRowsById: function getExpandedRowsById() {
219
- return instance.getExpandedRowModel().rowsById;
220
- }
221
- };
222
- }
223
- function createRow(row, instance) {
224
- return {
225
- toggleExpanded: function toggleExpanded(expanded) {
226
- return void instance.toggleRowExpanded(row.id, expanded);
227
- },
228
- getIsExpanded: function getIsExpanded() {
229
- return instance.getIsRowExpanded(row.id);
230
- },
231
- getCanExpand: function getCanExpand() {
232
- return row.subRows && !!row.subRows.length;
233
- },
234
- getToggleExpandedProps: function getToggleExpandedProps(userProps) {
235
- var initialProps = {
236
- title: 'Toggle Row Expanded',
237
- onClick: function onClick(e) {
238
- e.stopPropagation();
239
- instance.toggleRowExpanded(row.id);
240
- }
241
- };
242
- return utils.propGetter(initialProps, userProps);
243
- }
244
- };
245
- }
246
-
247
- exports.createRow = createRow;
248
- exports.getDefaultOptions = getDefaultOptions;
249
- exports.getInitialState = getInitialState;
250
- exports.getInstance = getInstance;
251
- //# sourceMappingURL=Expanding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n expandRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n getRowCanExpand?: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type ExpandedInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifyExpandedReset: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreExpandedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreExpandedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreExpandedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getExpandedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getExpandedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getExpandedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): ExpandedTableState {\n return {\n expanded: {},\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n getIsRowExpanded: row => !!(row?.original as { expanded?: any }).expanded,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater =>\n instance.options.onExpandedChange?.(\n updater,\n functionalUpdate(updater, instance.getState().expanded)\n ),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowsById()).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[ReactTable] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[ReactTable] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowsById()).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowsById())\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getExpandedRowModel: memo(\n () => [\n instance.getState().expanded,\n instance.getGroupedRowModel(),\n instance.options.expandRowsFn,\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, expandRowsFn, paginateExpandedRows) => {\n if (\n !expandRowsFn ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n !Object.keys(expanded ?? {}).length\n ) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Expanding...')\n\n return expandRowsFn(instance, rowModel)\n },\n {\n key: 'getExpandedRowModel',\n debug: instance.options.debug,\n onChange: () => {\n instance._notifyPageIndexReset()\n },\n }\n ),\n\n getPreExpandedRows: () => instance.getGroupedRowModel().rows,\n getPreExpandedFlatRows: () => instance.getGroupedRowModel().flatRows,\n getPreExpandedRowsById: () => instance.getGroupedRowModel().rowsById,\n getExpandedRows: () => instance.getExpandedRowModel().rows,\n getExpandedFlatRows: () => instance.getExpandedRowModel().flatRows,\n getExpandedRowsById: () => instance.getExpandedRowModel().rowsById,\n }\n}\n\nexport function createRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedRow {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle Row Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.stopPropagation()\n instance.toggleRowExpanded(row.id)\n },\n }\n return propGetter(initialProps, userProps)\n },\n }\n}\n"],"names":["getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","getIsRowExpanded","row","original","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowsById","forEach","rest","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getRow","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","enableExpanded","defaultCanExpand","subRows","length","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","some","id","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getExpandedRowModel","memo","getGroupedRowModel","expandRowsFn","rowModel","debug","info","key","onChange","_notifyPageIndexReset","getPreExpandedRows","rows","getPreExpandedFlatRows","flatRows","getPreExpandedRowsById","rowsById","getExpandedRows","getExpandedFlatRows","getExpandedRowsById","createRow","toggleExpanded","getIsExpanded","getCanExpand","stopPropagation"],"mappings":"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"}