@tanstack/table-core 8.9.3 → 8.9.8
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.
- package/build/lib/core/cell.js +1 -1
- package/build/lib/core/cell.js.map +1 -1
- package/build/lib/core/column.js +3 -3
- package/build/lib/core/column.js.map +1 -1
- package/build/lib/core/headers.js +182 -181
- package/build/lib/core/headers.js.map +1 -1
- package/build/lib/core/row.js +1 -1
- package/build/lib/core/row.js.map +1 -1
- package/build/lib/core/table.js +6 -5
- package/build/lib/core/table.js.map +1 -1
- package/build/lib/features/ColumnSizing.js +173 -179
- package/build/lib/features/ColumnSizing.js.map +1 -1
- package/build/lib/features/Expanding.js +119 -123
- package/build/lib/features/Expanding.js.map +1 -1
- package/build/lib/features/Filters.js +159 -167
- package/build/lib/features/Filters.js.map +1 -1
- package/build/lib/features/Grouping.js +72 -80
- package/build/lib/features/Grouping.js.map +1 -1
- package/build/lib/features/Ordering.js +32 -34
- package/build/lib/features/Ordering.js.map +1 -1
- package/build/lib/features/Pagination.js +112 -114
- package/build/lib/features/Pagination.js.map +1 -1
- package/build/lib/features/Pinning.js +120 -126
- package/build/lib/features/Pinning.js.map +1 -1
- package/build/lib/features/RowSelection.js +245 -247
- package/build/lib/features/RowSelection.js.map +1 -1
- package/build/lib/features/Sorting.js +163 -167
- package/build/lib/features/Sorting.js.map +1 -1
- package/build/lib/features/Visibility.js +60 -66
- package/build/lib/features/Visibility.js.map +1 -1
- package/build/lib/filterFns.js +6 -6
- package/build/lib/filterFns.js.map +1 -1
- package/build/lib/index.esm.js +1484 -1530
- package/build/lib/index.esm.js.map +1 -1
- package/build/lib/index.mjs +1484 -1530
- package/build/lib/index.mjs.map +1 -1
- package/build/lib/utils/filterRowsUtils.js +3 -3
- package/build/lib/utils/filterRowsUtils.js.map +1 -1
- package/build/lib/utils.js +1 -1
- package/build/lib/utils.js.map +1 -1
- package/build/umd/index.development.js +1484 -1530
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core/cell.ts +5 -8
- package/src/core/column.ts +3 -3
- package/src/core/headers.ts +264 -280
- package/src/core/row.ts +1 -1
- package/src/core/table.ts +4 -3
- package/src/features/ColumnSizing.ts +220 -231
- package/src/features/Expanding.ts +132 -140
- package/src/features/Filters.ts +193 -206
- package/src/features/Grouping.ts +94 -110
- package/src/features/Ordering.ts +48 -51
- package/src/features/Pagination.ts +150 -154
- package/src/features/Pinning.ts +158 -178
- package/src/features/RowSelection.ts +280 -286
- package/src/features/Sorting.ts +196 -206
- package/src/features/Visibility.ts +98 -107
- package/src/utils/filterRowsUtils.ts +3 -3
|
@@ -32,136 +32,132 @@ const Expanding = {
|
|
|
32
32
|
createTable: table => {
|
|
33
33
|
let registered = false;
|
|
34
34
|
let queued = false;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
table.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const expanded = table.getState().expanded;
|
|
35
|
+
table._autoResetExpanded = () => {
|
|
36
|
+
var _ref, _table$options$autoRe;
|
|
37
|
+
if (!registered) {
|
|
38
|
+
table._queue(() => {
|
|
39
|
+
registered = true;
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if ((_ref = (_table$options$autoRe = table.options.autoResetAll) != null ? _table$options$autoRe : table.options.autoResetExpanded) != null ? _ref : !table.options.manualExpanding) {
|
|
44
|
+
if (queued) return;
|
|
45
|
+
queued = true;
|
|
46
|
+
table._queue(() => {
|
|
47
|
+
table.resetExpanded();
|
|
48
|
+
queued = false;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
table.setExpanded = updater => table.options.onExpandedChange == null ? void 0 : table.options.onExpandedChange(updater);
|
|
53
|
+
table.toggleAllRowsExpanded = expanded => {
|
|
54
|
+
if (expanded != null ? expanded : !table.getIsAllRowsExpanded()) {
|
|
55
|
+
table.setExpanded(true);
|
|
56
|
+
} else {
|
|
57
|
+
table.setExpanded({});
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
table.resetExpanded = defaultState => {
|
|
61
|
+
var _table$initialState$e, _table$initialState;
|
|
62
|
+
table.setExpanded(defaultState ? {} : (_table$initialState$e = (_table$initialState = table.initialState) == null ? void 0 : _table$initialState.expanded) != null ? _table$initialState$e : {});
|
|
63
|
+
};
|
|
64
|
+
table.getCanSomeRowsExpand = () => {
|
|
65
|
+
return table.getPrePaginationRowModel().flatRows.some(row => row.getCanExpand());
|
|
66
|
+
};
|
|
67
|
+
table.getToggleAllRowsExpandedHandler = () => {
|
|
68
|
+
return e => {
|
|
69
|
+
e.persist == null || e.persist();
|
|
70
|
+
table.toggleAllRowsExpanded();
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
table.getIsSomeRowsExpanded = () => {
|
|
74
|
+
const expanded = table.getState().expanded;
|
|
75
|
+
return expanded === true || Object.values(expanded).some(Boolean);
|
|
76
|
+
};
|
|
77
|
+
table.getIsAllRowsExpanded = () => {
|
|
78
|
+
const expanded = table.getState().expanded;
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
// If expanded is true, save some cycles and return true
|
|
81
|
+
if (typeof expanded === 'boolean') {
|
|
82
|
+
return expanded === true;
|
|
83
|
+
}
|
|
84
|
+
if (!Object.keys(expanded).length) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
// If any row is not expanded, return false
|
|
89
|
+
if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
93
92
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
if (table.options.manualExpanding || !table._getExpandedRowModel) {
|
|
112
|
-
return table.getPreExpandedRowModel();
|
|
113
|
-
}
|
|
114
|
-
return table._getExpandedRowModel();
|
|
93
|
+
// They must all be expanded :shrug:
|
|
94
|
+
return true;
|
|
95
|
+
};
|
|
96
|
+
table.getExpandedDepth = () => {
|
|
97
|
+
let maxDepth = 0;
|
|
98
|
+
const rowIds = table.getState().expanded === true ? Object.keys(table.getRowModel().rowsById) : Object.keys(table.getState().expanded);
|
|
99
|
+
rowIds.forEach(id => {
|
|
100
|
+
const splitId = id.split('.');
|
|
101
|
+
maxDepth = Math.max(maxDepth, splitId.length);
|
|
102
|
+
});
|
|
103
|
+
return maxDepth;
|
|
104
|
+
};
|
|
105
|
+
table.getPreExpandedRowModel = () => table.getSortedRowModel();
|
|
106
|
+
table.getExpandedRowModel = () => {
|
|
107
|
+
if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {
|
|
108
|
+
table._getExpandedRowModel = table.options.getExpandedRowModel(table);
|
|
115
109
|
}
|
|
110
|
+
if (table.options.manualExpanding || !table._getExpandedRowModel) {
|
|
111
|
+
return table.getPreExpandedRowModel();
|
|
112
|
+
}
|
|
113
|
+
return table._getExpandedRowModel();
|
|
116
114
|
};
|
|
117
115
|
},
|
|
118
116
|
createRow: (row, table) => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
};
|
|
164
|
-
}
|
|
117
|
+
row.toggleExpanded = expanded => {
|
|
118
|
+
table.setExpanded(old => {
|
|
119
|
+
var _expanded;
|
|
120
|
+
const exists = old === true ? true : !!(old != null && old[row.id]);
|
|
121
|
+
let oldExpanded = {};
|
|
122
|
+
if (old === true) {
|
|
123
|
+
Object.keys(table.getRowModel().rowsById).forEach(rowId => {
|
|
124
|
+
oldExpanded[rowId] = true;
|
|
125
|
+
});
|
|
126
|
+
} else {
|
|
127
|
+
oldExpanded = old;
|
|
128
|
+
}
|
|
129
|
+
expanded = (_expanded = expanded) != null ? _expanded : !exists;
|
|
130
|
+
if (!exists && expanded) {
|
|
131
|
+
return {
|
|
132
|
+
...oldExpanded,
|
|
133
|
+
[row.id]: true
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
if (exists && !expanded) {
|
|
137
|
+
const {
|
|
138
|
+
[row.id]: _,
|
|
139
|
+
...rest
|
|
140
|
+
} = oldExpanded;
|
|
141
|
+
return rest;
|
|
142
|
+
}
|
|
143
|
+
return old;
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
row.getIsExpanded = () => {
|
|
147
|
+
var _table$options$getIsR;
|
|
148
|
+
const expanded = table.getState().expanded;
|
|
149
|
+
return !!((_table$options$getIsR = table.options.getIsRowExpanded == null ? void 0 : table.options.getIsRowExpanded(row)) != null ? _table$options$getIsR : expanded === true || (expanded == null ? void 0 : expanded[row.id]));
|
|
150
|
+
};
|
|
151
|
+
row.getCanExpand = () => {
|
|
152
|
+
var _table$options$getRow, _table$options$enable, _row$subRows;
|
|
153
|
+
return (_table$options$getRow = table.options.getRowCanExpand == null ? void 0 : table.options.getRowCanExpand(row)) != null ? _table$options$getRow : ((_table$options$enable = table.options.enableExpanding) != null ? _table$options$enable : true) && !!((_row$subRows = row.subRows) != null && _row$subRows.length);
|
|
154
|
+
};
|
|
155
|
+
row.getToggleExpandedHandler = () => {
|
|
156
|
+
const canExpand = row.getCanExpand();
|
|
157
|
+
return () => {
|
|
158
|
+
if (!canExpand) return;
|
|
159
|
+
row.toggleExpanded();
|
|
160
|
+
};
|
|
165
161
|
};
|
|
166
162
|
}
|
|
167
163
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, Row, Updater, RowData } from '../types'\nimport { makeStateUpdater } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport interface ExpandedTableState {\n expanded: ExpandedState\n}\n\nexport interface ExpandedRow {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedHandler: () => () => void\n}\n\nexport interface ExpandedOptions<TData extends RowData> {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanding?: boolean\n getExpandedRowModel?: (table: Table<any>) => () => RowModel<any>\n getIsRowExpanded?: (row: Row<TData>) => boolean\n getRowCanExpand?: (row: Row<TData>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport interface ExpandedInstance<TData extends RowData> {\n _autoResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: (defaultState?: boolean) => void\n getCanSomeRowsExpand: () => boolean\n getToggleAllRowsExpandedHandler: () => (event: unknown) => void\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TData>\n _getExpandedRowModel?: () => RowModel<TData>\n getPreExpandedRowModel: () => RowModel<TData>\n}\n\n//\n\nexport const Expanding: TableFeature = {\n getInitialState: (state): ExpandedTableState => {\n return {\n expanded: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ExpandedOptions<TData> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true,\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): ExpandedInstance<TData> => {\n let registered = false\n let queued = false\n\n return {\n _autoResetExpanded: () => {\n if (!registered) {\n table._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n if (queued) return\n queued = true\n table._queue(() => {\n table.resetExpanded()\n queued = false\n })\n }\n },\n setExpanded: updater => table.options.onExpandedChange?.(updater),\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !table.getIsAllRowsExpanded()) {\n table.setExpanded(true)\n } else {\n table.setExpanded({})\n }\n },\n resetExpanded: defaultState => {\n table.setExpanded(\n defaultState ? {} : table.initialState?.expanded ?? {}\n )\n },\n getCanSomeRowsExpand: () => {\n return table\n .getPrePaginationRowModel()\n .flatRows.some(row => row.getCanExpand())\n },\n getToggleAllRowsExpandedHandler: () => {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table.toggleAllRowsExpanded()\n }\n },\n getIsSomeRowsExpanded: () => {\n const expanded = table.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = table.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (typeof expanded === 'boolean') {\n return expanded === true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {\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 table.getState().expanded === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.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 getPreExpandedRowModel: () => table.getSortedRowModel(),\n getExpandedRowModel: () => {\n if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {\n table._getExpandedRowModel = table.options.getExpandedRowModel(table)\n }\n\n if (table.options.manualExpanding || !table._getExpandedRowModel) {\n return table.getPreExpandedRowModel()\n }\n\n return table._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded => {\n table.setExpanded(old => {\n const exists = old === true ? true : !!old?.[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(table.getRowModel().rowsById).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 [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n getIsExpanded: () => {\n const expanded = table.getState().expanded\n\n return !!(\n table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[row.id])\n )\n },\n getCanExpand: () => {\n return (\n table.options.getRowCanExpand?.(row) ??\n ((table.options.enableExpanding ?? true) && !!row.subRows?.length)\n )\n },\n getToggleExpandedHandler: () => {\n const canExpand = row.getCanExpand()\n\n return () => {\n if (!canExpand) return\n row.toggleExpanded()\n }\n },\n }\n },\n}\n"],"names":["Expanding","getInitialState","state","expanded","getDefaultOptions","table","onExpandedChange","makeStateUpdater","paginateExpandedRows","createTable","registered","queued","_autoResetExpanded","_ref","_table$options$autoRe","_queue","options","autoResetAll","autoResetExpanded","manualExpanding","resetExpanded","setExpanded","updater","toggleAllRowsExpanded","getIsAllRowsExpanded","defaultState","_table$initialState$e","_table$initialState","initialState","getCanSomeRowsExpand","getPrePaginationRowModel","flatRows","some","row","getCanExpand","getToggleAllRowsExpandedHandler","e","persist","getIsSomeRowsExpanded","getState","Object","values","Boolean","keys","length","getRowModel","getIsExpanded","getExpandedDepth","maxDepth","rowIds","rowsById","forEach","id","splitId","split","Math","max","getPreExpandedRowModel","getSortedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","old","_expanded","exists","oldExpanded","rowId","_","rest","_table$options$getIsR","getIsRowExpanded","_table$options$getRow","_table$options$enable","_row$subRows","getRowCanExpand","enableExpanding","subRows","getToggleExpandedHandler","canExpand"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, Row, Updater, RowData } from '../types'\nimport { makeStateUpdater } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport interface ExpandedTableState {\n expanded: ExpandedState\n}\n\nexport interface ExpandedRow {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedHandler: () => () => void\n}\n\nexport interface ExpandedOptions<TData extends RowData> {\n manualExpanding?: boolean\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanding?: boolean\n getExpandedRowModel?: (table: Table<any>) => () => RowModel<any>\n getIsRowExpanded?: (row: Row<TData>) => boolean\n getRowCanExpand?: (row: Row<TData>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport interface ExpandedInstance<TData extends RowData> {\n _autoResetExpanded: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: (defaultState?: boolean) => void\n getCanSomeRowsExpand: () => boolean\n getToggleAllRowsExpandedHandler: () => (event: unknown) => void\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TData>\n _getExpandedRowModel?: () => RowModel<TData>\n getPreExpandedRowModel: () => RowModel<TData>\n}\n\n//\n\nexport const Expanding: TableFeature = {\n getInitialState: (state): ExpandedTableState => {\n return {\n expanded: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): ExpandedOptions<TData> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', table),\n paginateExpandedRows: true,\n }\n },\n\n createTable: <TData extends RowData>(table: Table<TData>): void => {\n let registered = false\n let queued = false\n\n table._autoResetExpanded = () => {\n if (!registered) {\n table._queue(() => {\n registered = true\n })\n return\n }\n\n if (\n table.options.autoResetAll ??\n table.options.autoResetExpanded ??\n !table.options.manualExpanding\n ) {\n if (queued) return\n queued = true\n table._queue(() => {\n table.resetExpanded()\n queued = false\n })\n }\n }\n table.setExpanded = updater => table.options.onExpandedChange?.(updater)\n table.toggleAllRowsExpanded = expanded => {\n if (expanded ?? !table.getIsAllRowsExpanded()) {\n table.setExpanded(true)\n } else {\n table.setExpanded({})\n }\n }\n table.resetExpanded = defaultState => {\n table.setExpanded(defaultState ? {} : table.initialState?.expanded ?? {})\n }\n table.getCanSomeRowsExpand = () => {\n return table\n .getPrePaginationRowModel()\n .flatRows.some(row => row.getCanExpand())\n }\n table.getToggleAllRowsExpandedHandler = () => {\n return (e: unknown) => {\n ;(e as any).persist?.()\n table.toggleAllRowsExpanded()\n }\n }\n table.getIsSomeRowsExpanded = () => {\n const expanded = table.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n }\n table.getIsAllRowsExpanded = () => {\n const expanded = table.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (typeof expanded === 'boolean') {\n return expanded === true\n }\n\n if (!Object.keys(expanded).length) {\n return false\n }\n\n // If any row is not expanded, return false\n if (table.getRowModel().flatRows.some(row => !row.getIsExpanded())) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n }\n table.getExpandedDepth = () => {\n let maxDepth = 0\n\n const rowIds =\n table.getState().expanded === true\n ? Object.keys(table.getRowModel().rowsById)\n : Object.keys(table.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 table.getPreExpandedRowModel = () => table.getSortedRowModel()\n table.getExpandedRowModel = () => {\n if (!table._getExpandedRowModel && table.options.getExpandedRowModel) {\n table._getExpandedRowModel = table.options.getExpandedRowModel(table)\n }\n\n if (table.options.manualExpanding || !table._getExpandedRowModel) {\n return table.getPreExpandedRowModel()\n }\n\n return table._getExpandedRowModel()\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): void => {\n row.toggleExpanded = expanded => {\n table.setExpanded(old => {\n const exists = old === true ? true : !!old?.[row.id]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(table.getRowModel().rowsById).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 [row.id]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [row.id]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n }\n row.getIsExpanded = () => {\n const expanded = table.getState().expanded\n\n return !!(\n table.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[row.id])\n )\n }\n row.getCanExpand = () => {\n return (\n table.options.getRowCanExpand?.(row) ??\n ((table.options.enableExpanding ?? true) && !!row.subRows?.length)\n )\n }\n row.getToggleExpandedHandler = () => {\n const canExpand = row.getCanExpand()\n\n return () => {\n if (!canExpand) return\n row.toggleExpanded()\n }\n }\n },\n}\n"],"names":["Expanding","getInitialState","state","expanded","getDefaultOptions","table","onExpandedChange","makeStateUpdater","paginateExpandedRows","createTable","registered","queued","_autoResetExpanded","_ref","_table$options$autoRe","_queue","options","autoResetAll","autoResetExpanded","manualExpanding","resetExpanded","setExpanded","updater","toggleAllRowsExpanded","getIsAllRowsExpanded","defaultState","_table$initialState$e","_table$initialState","initialState","getCanSomeRowsExpand","getPrePaginationRowModel","flatRows","some","row","getCanExpand","getToggleAllRowsExpandedHandler","e","persist","getIsSomeRowsExpanded","getState","Object","values","Boolean","keys","length","getRowModel","getIsExpanded","getExpandedDepth","maxDepth","rowIds","rowsById","forEach","id","splitId","split","Math","max","getPreExpandedRowModel","getSortedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","old","_expanded","exists","oldExpanded","rowId","_","rest","_table$options$getIsR","getIsRowExpanded","_table$options$getRow","_table$options$enable","_row$subRows","getRowCanExpand","enableExpanding","subRows","getToggleExpandedHandler","canExpand"],"mappings":"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"}
|