@tanstack/react-table 8.0.0-alpha.7 → 8.0.0-alpha.72

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 +133 -0
  2. package/build/cjs/react-table/src/index.js.map +1 -0
  3. package/build/cjs/table-core/build/esm/index.js +4049 -0
  4. package/build/cjs/table-core/build/esm/index.js.map +1 -0
  5. package/build/esm/index.js +3357 -4071
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +24 -783
  9. package/build/types/index.d.ts +16 -8
  10. package/build/umd/index.development.js +3396 -4080
  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 +5 -1
  15. package/src/index.tsx +113 -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 -552
  21. package/build/cjs/core.js.map +0 -1
  22. package/build/cjs/createTable.js +0 -122
  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 -109
  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 -1091
  92. package/src/createTable.tsx +0 -264
  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,327 +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 sortTypes = require('../sortTypes.js');
17
- var utils = require('../utils.js');
18
-
19
- //
20
- function getDefaultColumn() {
21
- return {
22
- sortType: 'auto'
23
- };
24
- }
25
- function getInitialState() {
26
- return {
27
- sorting: []
28
- };
29
- }
30
- function getDefaultOptions(instance) {
31
- return {
32
- onSortingChange: utils.makeStateUpdater('sorting', instance),
33
- autoResetSorting: true,
34
- isMultiSortEvent: function isMultiSortEvent(e) {
35
- return e.shiftKey;
36
- }
37
- };
38
- }
39
- function createColumn(column, instance) {
40
- return {
41
- sortType: column.sortType,
42
- getCanSort: function getCanSort() {
43
- return instance.getColumnCanSort(column.id);
44
- },
45
- getCanMultiSort: function getCanMultiSort() {
46
- return instance.getColumnCanMultiSort(column.id);
47
- },
48
- getSortIndex: function getSortIndex() {
49
- return instance.getColumnSortIndex(column.id);
50
- },
51
- getIsSorted: function getIsSorted() {
52
- return instance.getColumnIsSorted(column.id);
53
- },
54
- toggleSorting: function toggleSorting(desc, isMulti) {
55
- return instance.toggleColumnSorting(column.id, desc, isMulti);
56
- },
57
- getToggleSortingProps: function getToggleSortingProps(userProps) {
58
- return instance.getToggleSortingProps(column.id, userProps);
59
- }
60
- };
61
- }
62
- function getInstance(instance) {
63
- var registered = false;
64
- return {
65
- _notifySortingReset: function _notifySortingReset() {
66
- if (!registered) {
67
- registered = true;
68
- return;
69
- }
70
-
71
- if (instance.options.autoResetAll === false) {
72
- return;
73
- }
74
-
75
- if (instance.options.autoResetAll === true || instance.options.autoResetSorting) {
76
- instance.resetSorting();
77
- }
78
- },
79
- getColumnAutoSortingFn: function getColumnAutoSortingFn(columnId) {
80
- var firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100);
81
- var isString = false;
82
-
83
- for (var _iterator = _rollupPluginBabelHelpers.createForOfIteratorHelperLoose(firstRows), _step; !(_step = _iterator()).done;) {
84
- var row = _step.value;
85
- var value = row == null ? void 0 : row.values[columnId];
86
-
87
- if (Object.prototype.toString.call(value) === '[object Date]') {
88
- return sortTypes.sortTypes.datetime;
89
- }
90
-
91
- if (typeof value === 'string') {
92
- isString = true;
93
-
94
- if (value.split(sortTypes.reSplitAlphaNumeric).length > 1) {
95
- return sortTypes.sortTypes.alphanumeric;
96
- }
97
- }
98
- }
99
-
100
- if (isString) {
101
- return sortTypes.sortTypes.text;
102
- }
103
-
104
- return sortTypes.sortTypes.basic;
105
- },
106
- getColumnAutoSortDir: function getColumnAutoSortDir(columnId) {
107
- var firstRow = instance.getGlobalFilteredRowModel().flatRows[0];
108
- var value = firstRow == null ? void 0 : firstRow.values[columnId];
109
-
110
- if (typeof value === 'string') {
111
- return 'asc';
112
- }
113
-
114
- return 'desc';
115
- },
116
- getColumnSortingFn: function getColumnSortingFn(columnId) {
117
- var _ref;
118
-
119
- var column = instance.getColumn(columnId);
120
- var userSortTypes = instance.options.sortTypes;
121
-
122
- if (!column) {
123
- throw new Error();
124
- }
125
-
126
- return utils.isFunction(column.sortType) ? column.sortType : column.sortType === 'auto' ? instance.getColumnAutoSortingFn(columnId) : (_ref = userSortTypes == null ? void 0 : userSortTypes[column.sortType]) != null ? _ref : sortTypes.sortTypes[column.sortType];
127
- },
128
- setSorting: function setSorting(updater) {
129
- return instance.options.onSortingChange == null ? void 0 : instance.options.onSortingChange(updater, utils.functionalUpdate(updater, instance.getState().sorting));
130
- },
131
- toggleColumnSorting: function toggleColumnSorting(columnId, desc, multi) {
132
- var column = instance.getColumn(columnId);
133
-
134
- if (!column) {
135
- throw new Error();
136
- } // if (column.columns.length) {
137
- // column.columns.forEach((c, i) => {
138
- // if (c.id) {
139
- // instance.toggleColumnSorting(c.id, undefined, multi || !!i)
140
- // }
141
- // })
142
- // return
143
- // }
144
-
145
-
146
- instance.setSorting(function (old) {
147
- var _ref2, _column$sortDescFirst, _instance$options$ena, _instance$options$ena2;
148
-
149
- // Find any existing sorting for this column
150
- var existingSorting = old == null ? void 0 : old.find(function (d) {
151
- return d.id === columnId;
152
- });
153
- var existingIndex = old == null ? void 0 : old.findIndex(function (d) {
154
- return d.id === columnId;
155
- });
156
- var hasDescDefined = typeof desc !== 'undefined' && desc !== null;
157
- var newSorting = []; // What should we do with this sort action?
158
-
159
- var sortAction;
160
-
161
- if (column.getCanMultiSort() && multi) {
162
- if (existingSorting) {
163
- sortAction = 'toggle';
164
- } else {
165
- sortAction = 'add';
166
- }
167
- } else {
168
- // Normal mode
169
- if (old != null && old.length && existingIndex !== old.length - 1) {
170
- sortAction = 'replace';
171
- } else if (existingSorting) {
172
- sortAction = 'toggle';
173
- } else {
174
- sortAction = 'replace';
175
- }
176
- }
177
-
178
- var sortDescFirst = (_ref2 = (_column$sortDescFirst = column.sortDescFirst) != null ? _column$sortDescFirst : instance.options.sortDescFirst) != null ? _ref2 : instance.getColumnAutoSortDir(columnId) === 'desc'; // Handle toggle states that will remove the sorting
179
-
180
- if (sortAction === 'toggle' && ( // Must be toggling
181
- (_instance$options$ena = instance.options.enableSortingRemoval) != null ? _instance$options$ena : true) && // If enableSortRemove, enable in general
182
- !hasDescDefined && ( // Must not be setting desc
183
- multi ? (_instance$options$ena2 = instance.options.enableMultiRemove) != null ? _instance$options$ena2 : true : true) && ( // If multi, don't allow if enableMultiRemove
184
- existingSorting != null && existingSorting.desc // Finally, detect if it should indeed be removed
185
- ? !sortDescFirst : sortDescFirst)) {
186
- sortAction = 'remove';
187
- }
188
-
189
- if (sortAction === 'replace') {
190
- newSorting = [{
191
- id: columnId,
192
- desc: hasDescDefined ? desc : !!sortDescFirst
193
- }];
194
- } else if (sortAction === 'add' && old != null && old.length) {
195
- var _instance$options$max;
196
-
197
- newSorting = [].concat(old, [{
198
- id: columnId,
199
- desc: hasDescDefined ? desc : !!sortDescFirst
200
- }]); // Take latest n columns
201
-
202
- newSorting.splice(0, newSorting.length - ((_instance$options$max = instance.options.maxMultiSortColCount) != null ? _instance$options$max : Number.MAX_SAFE_INTEGER));
203
- } else if (sortAction === 'toggle' && old != null && old.length) {
204
- // This flips (or sets) the
205
- newSorting = old.map(function (d) {
206
- if (d.id === columnId) {
207
- return _rollupPluginBabelHelpers["extends"]({}, d, {
208
- desc: hasDescDefined ? desc : !(existingSorting != null && existingSorting.desc)
209
- });
210
- }
211
-
212
- return d;
213
- });
214
- } else if (sortAction === 'remove' && old != null && old.length) {
215
- newSorting = old.filter(function (d) {
216
- return d.id !== columnId;
217
- });
218
- }
219
-
220
- return newSorting;
221
- });
222
- },
223
- getColumnCanSort: function getColumnCanSort(columnId) {
224
- var _ref3, _ref4, _column$enableSorting;
225
-
226
- var column = instance.getColumn(columnId);
227
-
228
- if (!column) {
229
- throw new Error();
230
- }
231
-
232
- return (_ref3 = (_ref4 = (_column$enableSorting = column.enableSorting) != null ? _column$enableSorting : instance.options.enableSorting) != null ? _ref4 : column.defaultCanSort) != null ? _ref3 : !!column.accessorFn // (!!column.accessorFn ||
233
- // column.columns?.some(c => c.id && instance.getColumnCanSort(c.id))) ??
234
- // false
235
- ;
236
- },
237
- getColumnCanMultiSort: function getColumnCanMultiSort(columnId) {
238
- var _ref5, _column$enableMultiSo;
239
-
240
- var column = instance.getColumn(columnId);
241
-
242
- if (!column) {
243
- throw new Error();
244
- }
245
-
246
- return (_ref5 = (_column$enableMultiSo = column.enableMultiSort) != null ? _column$enableMultiSo : instance.options.enableMultiSort) != null ? _ref5 : !!column.accessorFn;
247
- },
248
- getColumnIsSorted: function getColumnIsSorted(columnId) {
249
- var _instance$getState$so;
250
-
251
- var columnSort = (_instance$getState$so = instance.getState().sorting) == null ? void 0 : _instance$getState$so.find(function (d) {
252
- return d.id === columnId;
253
- });
254
- return !columnSort ? false : columnSort.desc ? 'desc' : 'asc';
255
- },
256
- getColumnSortIndex: function getColumnSortIndex(columnId) {
257
- var _instance$getState$so2, _instance$getState$so3;
258
-
259
- return (_instance$getState$so2 = (_instance$getState$so3 = instance.getState().sorting) == null ? void 0 : _instance$getState$so3.findIndex(function (d) {
260
- return d.id === columnId;
261
- })) != null ? _instance$getState$so2 : -1;
262
- },
263
- resetSorting: function resetSorting() {
264
- var _instance$initialStat, _instance$initialStat2;
265
-
266
- instance.setSorting((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.sorting) != null ? _instance$initialStat : []);
267
- },
268
- getToggleSortingProps: function getToggleSortingProps(columnId, userProps) {
269
- var column = instance.getColumn(columnId);
270
-
271
- if (!column) {
272
- throw new Error();
273
- }
274
-
275
- var canSort = column.getCanSort();
276
- var initialProps = {
277
- title: canSort ? 'Toggle Sorting' : undefined,
278
- onClick: canSort ? function (e) {
279
- e.persist();
280
- column.toggleSorting == null ? void 0 : column.toggleSorting(undefined, column.getCanMultiSort() ? instance.options.isMultiSortEvent == null ? void 0 : instance.options.isMultiSortEvent(e) : false);
281
- } : undefined
282
- };
283
- return utils.propGetter(initialProps, userProps);
284
- },
285
- getSortedRowModel: utils.memo(function () {
286
- return [instance.getState().sorting, instance.getGlobalFilteredRowModel(), instance.options.sortRowsFn];
287
- }, function (sorting, rowModel, sortingFn) {
288
- if (!sortingFn || !(sorting != null && sorting.length)) {
289
- return rowModel;
290
- }
291
-
292
- if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Sorting...');
293
- return sortingFn(instance, rowModel);
294
- }, {
295
- key: 'getSortedRowModel',
296
- debug: instance.options.debug,
297
- onChange: function onChange() {
298
- return instance._notifyGroupingReset();
299
- }
300
- }),
301
- getPreSortedRows: function getPreSortedRows() {
302
- return instance.getGlobalFilteredRowModel().rows;
303
- },
304
- getPreSortedFlatRows: function getPreSortedFlatRows() {
305
- return instance.getGlobalFilteredRowModel().flatRows;
306
- },
307
- getPreSortedRowsById: function getPreSortedRowsById() {
308
- return instance.getGlobalFilteredRowModel().rowsById;
309
- },
310
- getSortedRows: function getSortedRows() {
311
- return instance.getSortedRowModel().rows;
312
- },
313
- getSortedFlatRows: function getSortedFlatRows() {
314
- return instance.getSortedRowModel().flatRows;
315
- },
316
- getSortedRowsById: function getSortedRowsById() {
317
- return instance.getSortedRowModel().rowsById;
318
- }
319
- };
320
- }
321
-
322
- exports.createColumn = createColumn;
323
- exports.getDefaultColumn = getDefaultColumn;
324
- exports.getDefaultOptions = getDefaultOptions;
325
- exports.getInitialState = getInitialState;
326
- exports.getInstance = getInstance;
327
- //# sourceMappingURL=Sorting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sorting.js","sources":["../../../src/features/Sorting.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport { BuiltInSortType, reSplitAlphaNumeric, sortTypes } from '../sortTypes'\n\nimport {\n Column,\n Getter,\n Header,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\n\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n propGetter,\n} from '../utils'\n\nexport type SortDirection = 'asc' | 'desc'\n\nexport type ColumnSort = {\n id: string\n desc: boolean\n}\n\nexport type SortingState = ColumnSort[]\n\nexport type SortingFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =\n {\n (\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n ): number\n }\n\nexport type SortingTableState = {\n sorting: SortingState\n}\n\nexport type SortType<TSortingFns> =\n | 'auto'\n | BuiltInSortType\n | keyof TSortingFns\n | SortingFn<any, any, any, TSortingFns, any>\n\nexport type SortingColumnDef<TFilterFns> = {\n sortType?: SortType<TFilterFns>\n sortDescFirst?: boolean\n enableSorting?: boolean\n enableMultiSort?: boolean\n defaultCanSort?: boolean\n invertSorting?: boolean\n sortUndefined?: false | -1 | 1\n}\n\nexport type SortingColumn<\n _TData,\n _TValue,\n TFilterFns,\n _TSortingFns,\n _TAggregationFns\n> = {\n sortType: SortType<TFilterFns>\n getCanSort: () => boolean\n getCanMultiSort: () => boolean\n getSortIndex: () => number\n getIsSorted: () => false | SortDirection\n toggleSorting: (desc?: boolean, isMulti?: boolean) => void\n getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleSortingProps, TGetter>\n}\n\nexport type SortingOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n sortTypes?: TSortingFns\n onSortingChange?: OnChangeFn<SortingState>\n autoResetSorting?: boolean\n enableSorting?: boolean\n enableSortingRemoval?: boolean\n enableMultiRemove?: boolean\n enableMultiSort?: boolean\n sortDescFirst?: boolean\n sortRowsFn?: (\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 maxMultiSortColCount?: number\n isMultiSortEvent?: (e: MouseEvent | TouchEvent) => boolean\n}\n\nexport type ToggleSortingProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type SortingInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n _notifySortingReset: () => void\n getColumnAutoSortingFn: (\n columnId: string\n ) => SortingFn<any, any, any, any, any> | undefined\n getColumnAutoSortDir: (columnId: string) => SortDirection\n\n getColumnSortingFn: (\n columnId: string\n ) => SortingFn<any, any, any, any, any> | undefined\n\n setSorting: (updater: Updater<SortingState>) => void\n toggleColumnSorting: (\n columnId: string,\n desc?: boolean,\n multi?: boolean\n ) => void\n resetSorting: () => void\n getColumnCanSort: (columnId: string) => boolean\n getColumnCanMultiSort: (columnId: string) => boolean\n getColumnIsSorted: (columnId: string) => false | 'asc' | 'desc'\n getColumnSortIndex: (columnId: string) => number\n getToggleSortingProps: <TGetter extends Getter<ToggleSortingProps>>(\n columnId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleSortingProps, TGetter>\n getSortedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreSortedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreSortedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreSortedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getSortedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getSortedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getSortedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getDefaultColumn<TFilterFns>(): SortingColumnDef<TFilterFns> {\n return {\n sortType: 'auto',\n }\n}\n\nexport function getInitialState(): SortingTableState {\n return {\n sorting: [],\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): SortingOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onSortingChange: makeStateUpdater('sorting', instance),\n autoResetSorting: true,\n isMultiSortEvent: (e: MouseEvent | TouchEvent) => {\n return e.shiftKey\n },\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): SortingColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n sortType: column.sortType,\n getCanSort: () => instance.getColumnCanSort(column.id),\n getCanMultiSort: () => instance.getColumnCanMultiSort(column.id),\n getSortIndex: () => instance.getColumnSortIndex(column.id),\n getIsSorted: () => instance.getColumnIsSorted(column.id),\n toggleSorting: (desc, isMulti) =>\n instance.toggleColumnSorting(column.id, desc, isMulti),\n getToggleSortingProps: userProps =>\n instance.getToggleSortingProps(column.id, userProps),\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): SortingInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n let registered = false\n\n return {\n _notifySortingReset: () => {\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.autoResetSorting\n ) {\n instance.resetSorting()\n }\n },\n getColumnAutoSortingFn: columnId => {\n const firstRows = instance.getGlobalFilteredRowModel().flatRows.slice(100)\n\n let isString = false\n\n for (const row of firstRows) {\n const value = row?.values[columnId]\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return sortTypes.datetime\n }\n\n if (typeof value === 'string') {\n isString = true\n\n if (value.split(reSplitAlphaNumeric).length > 1) {\n return sortTypes.alphanumeric\n }\n }\n }\n\n if (isString) {\n return sortTypes.text\n }\n\n return sortTypes.basic\n },\n getColumnAutoSortDir: columnId => {\n const firstRow = instance.getGlobalFilteredRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return 'asc'\n }\n\n return 'desc'\n },\n getColumnSortingFn: columnId => {\n const column = instance.getColumn(columnId)\n const userSortTypes = instance.options.sortTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.sortType)\n ? column.sortType\n : column.sortType === 'auto'\n ? instance.getColumnAutoSortingFn(columnId)\n : (userSortTypes as Record<string, any>)?.[column.sortType as string] ??\n (sortTypes[column.sortType as BuiltInSortType] as SortingFn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >)\n },\n\n setSorting: updater =>\n instance.options.onSortingChange?.(\n updater,\n functionalUpdate(updater, instance.getState().sorting)\n ),\n\n toggleColumnSorting: (columnId, desc, multi) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n // if (column.columns.length) {\n // column.columns.forEach((c, i) => {\n // if (c.id) {\n // instance.toggleColumnSorting(c.id, undefined, multi || !!i)\n // }\n // })\n // return\n // }\n\n instance.setSorting(old => {\n // Find any existing sorting for this column\n const existingSorting = old?.find(d => d.id === columnId)\n const existingIndex = old?.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSorting: SortingState = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (column.getCanMultiSort() && multi) {\n if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (old?.length && existingIndex !== old.length - 1) {\n sortAction = 'replace'\n } else if (existingSorting) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n const sortDescFirst =\n column.sortDescFirst ??\n instance.options.sortDescFirst ??\n instance.getColumnAutoSortDir(columnId) === 'desc'\n\n // Handle toggle states that will remove the sorting\n if (\n sortAction === 'toggle' && // Must be toggling\n (instance.options.enableSortingRemoval ?? true) && // If enableSortRemove, enable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? instance.options.enableMultiRemove ?? true : true) && // If multi, don't allow if enableMultiRemove\n (existingSorting?.desc // Finally, detect if it should indeed be removed\n ? !sortDescFirst\n : sortDescFirst)\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSorting = [\n {\n id: columnId,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n } else if (sortAction === 'add' && old?.length) {\n newSorting = [\n ...old,\n {\n id: columnId,\n desc: hasDescDefined ? desc! : !!sortDescFirst,\n },\n ]\n // Take latest n columns\n newSorting.splice(\n 0,\n newSorting.length -\n (instance.options.maxMultiSortColCount ?? Number.MAX_SAFE_INTEGER)\n )\n } else if (sortAction === 'toggle' && old?.length) {\n // This flips (or sets) the\n newSorting = old.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc! : !existingSorting?.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove' && old?.length) {\n newSorting = old.filter(d => d.id !== columnId)\n }\n\n return newSorting\n })\n },\n\n getColumnCanSort: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableSorting ??\n instance.options.enableSorting ??\n column.defaultCanSort ??\n !!column.accessorFn\n // (!!column.accessorFn ||\n // column.columns?.some(c => c.id && instance.getColumnCanSort(c.id))) ??\n // false\n )\n },\n\n getColumnCanMultiSort: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableMultiSort ??\n instance.options.enableMultiSort ??\n !!column.accessorFn\n )\n },\n\n getColumnIsSorted: columnId => {\n const columnSort = instance\n .getState()\n .sorting?.find(d => d.id === columnId)\n\n return !columnSort ? false : columnSort.desc ? 'desc' : 'asc'\n },\n\n getColumnSortIndex: columnId =>\n instance.getState().sorting?.findIndex(d => d.id === columnId) ?? -1,\n\n resetSorting: () => {\n instance.setSorting(instance.initialState?.sorting ?? [])\n },\n\n getToggleSortingProps: (columnId, userProps) => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n const canSort = column.getCanSort()\n\n const initialProps: ToggleSortingProps = {\n title: canSort ? 'Toggle Sorting' : undefined,\n onClick: canSort\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n column.toggleSorting?.(\n undefined,\n column.getCanMultiSort()\n ? instance.options.isMultiSortEvent?.(e)\n : false\n )\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getSortedRowModel: memo(\n () => [\n instance.getState().sorting,\n instance.getGlobalFilteredRowModel(),\n instance.options.sortRowsFn,\n ],\n (sorting, rowModel, sortingFn) => {\n if (!sortingFn || !sorting?.length) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Sorting...')\n\n return sortingFn(instance, rowModel)\n },\n {\n key: 'getSortedRowModel',\n debug: instance.options.debug,\n onChange: () => instance._notifyGroupingReset(),\n }\n ),\n\n getPreSortedRows: () => instance.getGlobalFilteredRowModel().rows,\n getPreSortedFlatRows: () => instance.getGlobalFilteredRowModel().flatRows,\n getPreSortedRowsById: () => instance.getGlobalFilteredRowModel().rowsById,\n getSortedRows: () => instance.getSortedRowModel().rows,\n getSortedFlatRows: () => instance.getSortedRowModel().flatRows,\n getSortedRowsById: () => instance.getSortedRowModel().rowsById,\n }\n}\n"],"names":["getDefaultColumn","sortType","getInitialState","sorting","getDefaultOptions","instance","onSortingChange","makeStateUpdater","autoResetSorting","isMultiSortEvent","e","shiftKey","createColumn","column","getCanSort","getColumnCanSort","id","getCanMultiSort","getColumnCanMultiSort","getSortIndex","getColumnSortIndex","getIsSorted","getColumnIsSorted","toggleSorting","desc","isMulti","toggleColumnSorting","getToggleSortingProps","userProps","getInstance","registered","_notifySortingReset","options","autoResetAll","resetSorting","getColumnAutoSortingFn","columnId","firstRows","getGlobalFilteredRowModel","flatRows","slice","isString","row","value","values","Object","prototype","toString","call","sortTypes","datetime","split","reSplitAlphaNumeric","length","alphanumeric","text","basic","getColumnAutoSortDir","firstRow","getColumnSortingFn","getColumn","userSortTypes","Error","isFunction","setSorting","updater","functionalUpdate","getState","multi","old","existingSorting","find","d","existingIndex","findIndex","hasDescDefined","newSorting","sortAction","sortDescFirst","enableSortingRemoval","enableMultiRemove","splice","maxMultiSortColCount","Number","MAX_SAFE_INTEGER","map","filter","enableSorting","defaultCanSort","accessorFn","enableMultiSort","columnSort","initialState","canSort","initialProps","title","undefined","onClick","persist","propGetter","getSortedRowModel","memo","sortRowsFn","rowModel","sortingFn","process","env","NODE_ENV","debug","console","info","key","onChange","_notifyGroupingReset","getPreSortedRows","rows","getPreSortedFlatRows","getPreSortedRowsById","rowsById","getSortedRows","getSortedFlatRows","getSortedRowsById"],"mappings":";;;;;;;;;;;;;;;;;;AA8LA;AAEO,SAASA,gBAAT,GAAsE;AAC3E,SAAO;AACLC,IAAAA,QAAQ,EAAE;AADL,GAAP;AAGD;AAEM,SAASC,eAAT,GAA8C;AACnD,SAAO;AACLC,IAAAA,OAAO,EAAE;AADJ,GAAP;AAGD;AAEM,SAASC,iBAAT,CAOLC,QAPK,EAQoE;AACzE,SAAO;AACLC,IAAAA,eAAe,EAAEC,sBAAgB,CAAC,SAAD,EAAYF,QAAZ,CAD5B;AAELG,IAAAA,gBAAgB,EAAE,IAFb;AAGLC,IAAAA,gBAAgB,EAAE,0BAACC,CAAD,EAAgC;AAChD,aAAOA,CAAC,CAACC,QAAT;AACD;AALI,GAAP;AAOD;AAEM,SAASC,YAAT,CAOLC,MAPK,EAQLR,QARK,EASmE;AACxE,SAAO;AACLJ,IAAAA,QAAQ,EAAEY,MAAM,CAACZ,QADZ;AAELa,IAAAA,UAAU,EAAE;AAAA,aAAMT,QAAQ,CAACU,gBAAT,CAA0BF,MAAM,CAACG,EAAjC,CAAN;AAAA,KAFP;AAGLC,IAAAA,eAAe,EAAE;AAAA,aAAMZ,QAAQ,CAACa,qBAAT,CAA+BL,MAAM,CAACG,EAAtC,CAAN;AAAA,KAHZ;AAILG,IAAAA,YAAY,EAAE;AAAA,aAAMd,QAAQ,CAACe,kBAAT,CAA4BP,MAAM,CAACG,EAAnC,CAAN;AAAA,KAJT;AAKLK,IAAAA,WAAW,EAAE;AAAA,aAAMhB,QAAQ,CAACiB,iBAAT,CAA2BT,MAAM,CAACG,EAAlC,CAAN;AAAA,KALR;AAMLO,IAAAA,aAAa,EAAE,uBAACC,IAAD,EAAOC,OAAP;AAAA,aACbpB,QAAQ,CAACqB,mBAAT,CAA6Bb,MAAM,CAACG,EAApC,EAAwCQ,IAAxC,EAA8CC,OAA9C,CADa;AAAA,KANV;AAQLE,IAAAA,qBAAqB,EAAE,+BAAAC,SAAS;AAAA,aAC9BvB,QAAQ,CAACsB,qBAAT,CAA+Bd,MAAM,CAACG,EAAtC,EAA0CY,SAA1C,CAD8B;AAAA;AAR3B,GAAP;AAWD;AAEM,SAASC,WAAT,CAOLxB,QAPK,EAQqE;AAC1E,MAAIyB,UAAU,GAAG,KAAjB;AAEA,SAAO;AACLC,IAAAA,mBAAmB,EAAE,+BAAM;AACzB,UAAI,CAACD,UAAL,EAAiB;AACfA,QAAAA,UAAU,GAAG,IAAb;AACA;AACD;;AAED,UAAIzB,QAAQ,CAAC2B,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C;AACD;;AAED,UACE5B,QAAQ,CAAC2B,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACA5B,QAAQ,CAAC2B,OAAT,CAAiBxB,gBAFnB,EAGE;AACAH,QAAAA,QAAQ,CAAC6B,YAAT;AACD;AACF,KAjBI;AAkBLC,IAAAA,sBAAsB,EAAE,gCAAAC,QAAQ,EAAI;AAClC,UAAMC,SAAS,GAAGhC,QAAQ,CAACiC,yBAAT,GAAqCC,QAArC,CAA8CC,KAA9C,CAAoD,GAApD,CAAlB;AAEA,UAAIC,QAAQ,GAAG,KAAf;;AAEA,oFAAkBJ,SAAlB,wCAA6B;AAAA,YAAlBK,GAAkB;AAC3B,YAAMC,KAAK,GAAGD,GAAH,oBAAGA,GAAG,CAAEE,MAAL,CAAYR,QAAZ,CAAd;;AAEA,YAAIS,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BL,KAA/B,MAA0C,eAA9C,EAA+D;AAC7D,iBAAOM,mBAAS,CAACC,QAAjB;AACD;;AAED,YAAI,OAAOP,KAAP,KAAiB,QAArB,EAA+B;AAC7BF,UAAAA,QAAQ,GAAG,IAAX;;AAEA,cAAIE,KAAK,CAACQ,KAAN,CAAYC,6BAAZ,EAAiCC,MAAjC,GAA0C,CAA9C,EAAiD;AAC/C,mBAAOJ,mBAAS,CAACK,YAAjB;AACD;AACF;AACF;;AAED,UAAIb,QAAJ,EAAc;AACZ,eAAOQ,mBAAS,CAACM,IAAjB;AACD;;AAED,aAAON,mBAAS,CAACO,KAAjB;AACD,KA5CI;AA6CLC,IAAAA,oBAAoB,EAAE,8BAAArB,QAAQ,EAAI;AAChC,UAAMsB,QAAQ,GAAGrD,QAAQ,CAACiC,yBAAT,GAAqCC,QAArC,CAA8C,CAA9C,CAAjB;AAEA,UAAMI,KAAK,GAAGe,QAAH,oBAAGA,QAAQ,CAAEd,MAAV,CAAiBR,QAAjB,CAAd;;AAEA,UAAI,OAAOO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,eAAO,KAAP;AACD;;AAED,aAAO,MAAP;AACD,KAvDI;AAwDLgB,IAAAA,kBAAkB,EAAE,4BAAAvB,QAAQ,EAAI;AAAA;;AAC9B,UAAMvB,MAAM,GAAGR,QAAQ,CAACuD,SAAT,CAAmBxB,QAAnB,CAAf;AACA,UAAMyB,aAAa,GAAGxD,QAAQ,CAAC2B,OAAT,CAAiBiB,SAAvC;;AAEA,UAAI,CAACpC,MAAL,EAAa;AACX,cAAM,IAAIiD,KAAJ,EAAN;AACD;;AAED,aAAOC,gBAAU,CAAClD,MAAM,CAACZ,QAAR,CAAV,GACHY,MAAM,CAACZ,QADJ,GAEHY,MAAM,CAACZ,QAAP,KAAoB,MAApB,GACAI,QAAQ,CAAC8B,sBAAT,CAAgCC,QAAhC,CADA,WAECyB,aAFD,oBAECA,aAAD,CAAyChD,MAAM,CAACZ,QAAhD,CAFA,mBAGCgD,mBAAS,CAACpC,MAAM,CAACZ,QAAR,CALd;AAYD,KA5EI;AA8EL+D,IAAAA,UAAU,EAAE,oBAAAC,OAAO;AAAA,aACjB5D,QAAQ,CAAC2B,OAAT,CAAiB1B,eADA,oBACjBD,QAAQ,CAAC2B,OAAT,CAAiB1B,eAAjB,CACE2D,OADF,EAEEC,sBAAgB,CAACD,OAAD,EAAU5D,QAAQ,CAAC8D,QAAT,GAAoBhE,OAA9B,CAFlB,CADiB;AAAA,KA9Ed;AAoFLuB,IAAAA,mBAAmB,EAAE,6BAACU,QAAD,EAAWZ,IAAX,EAAiB4C,KAAjB,EAA2B;AAC9C,UAAMvD,MAAM,GAAGR,QAAQ,CAACuD,SAAT,CAAmBxB,QAAnB,CAAf;;AAEA,UAAI,CAACvB,MAAL,EAAa;AACX,cAAM,IAAIiD,KAAJ,EAAN;AACD,OAL6C;AAQ9C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEAzD,MAAAA,QAAQ,CAAC2D,UAAT,CAAoB,UAAAK,GAAG,EAAI;AAAA;;AACzB;AACA,YAAMC,eAAe,GAAGD,GAAH,oBAAGA,GAAG,CAAEE,IAAL,CAAU,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb;AAAA,SAAX,CAAxB;AACA,YAAMqC,aAAa,GAAGJ,GAAH,oBAAGA,GAAG,CAAEK,SAAL,CAAe,UAAAF,CAAC;AAAA,iBAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb;AAAA,SAAhB,CAAtB;AACA,YAAMuC,cAAc,GAAG,OAAOnD,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,KAAK,IAA/D;AAEA,YAAIoD,UAAwB,GAAG,EAA/B,CANyB;;AASzB,YAAIC,UAAJ;;AAEA,YAAIhE,MAAM,CAACI,eAAP,MAA4BmD,KAAhC,EAAuC;AACrC,cAAIE,eAAJ,EAAqB;AACnBO,YAAAA,UAAU,GAAG,QAAb;AACD,WAFD,MAEO;AACLA,YAAAA,UAAU,GAAG,KAAb;AACD;AACF,SAND,MAMO;AACL;AACA,cAAIR,GAAG,QAAH,IAAAA,GAAG,CAAEhB,MAAL,IAAeoB,aAAa,KAAKJ,GAAG,CAAChB,MAAJ,GAAa,CAAlD,EAAqD;AACnDwB,YAAAA,UAAU,GAAG,SAAb;AACD,WAFD,MAEO,IAAIP,eAAJ,EAAqB;AAC1BO,YAAAA,UAAU,GAAG,QAAb;AACD,WAFM,MAEA;AACLA,YAAAA,UAAU,GAAG,SAAb;AACD;AACF;;AAED,YAAMC,aAAa,qCACjBjE,MAAM,CAACiE,aADU,oCAEjBzE,QAAQ,CAAC2B,OAAT,CAAiB8C,aAFA,oBAGjBzE,QAAQ,CAACoD,oBAAT,CAA8BrB,QAA9B,MAA4C,MAH9C,CA5ByB;;AAkCzB,YACEyC,UAAU,KAAK,QAAf;AAAA,iCACCxE,QAAQ,CAAC2B,OAAT,CAAiB+C,oBADlB,oCAC0C,IAD1C;AAEA,SAACJ,cAFD;AAGCP,QAAAA,KAAK,6BAAG/D,QAAQ,CAAC2B,OAAT,CAAiBgD,iBAApB,qCAAyC,IAAzC,GAAgD,IAHtD;AAICV,QAAAA,eAAe,QAAf,IAAAA,eAAe,CAAE9C,IAAjB;AAAA,UACG,CAACsD,aADJ,GAEGA,aANJ,CADF,EAQE;AACAD,UAAAA,UAAU,GAAG,QAAb;AACD;;AAED,YAAIA,UAAU,KAAK,SAAnB,EAA8B;AAC5BD,UAAAA,UAAU,GAAG,CACX;AACE5D,YAAAA,EAAE,EAAEoB,QADN;AAEEZ,YAAAA,IAAI,EAAEmD,cAAc,GAAGnD,IAAH,GAAW,CAAC,CAACsD;AAFnC,WADW,CAAb;AAMD,SAPD,MAOO,IAAID,UAAU,KAAK,KAAf,IAAwBR,GAAxB,YAAwBA,GAAG,CAAEhB,MAAjC,EAAyC;AAAA;;AAC9CuB,UAAAA,UAAU,aACLP,GADK,GAER;AACErD,YAAAA,EAAE,EAAEoB,QADN;AAEEZ,YAAAA,IAAI,EAAEmD,cAAc,GAAGnD,IAAH,GAAW,CAAC,CAACsD;AAFnC,WAFQ,EAAV,CAD8C;;AAS9CF,UAAAA,UAAU,CAACK,MAAX,CACE,CADF,EAEEL,UAAU,CAACvB,MAAX,6BACGhD,QAAQ,CAAC2B,OAAT,CAAiBkD,oBADpB,oCAC4CC,MAAM,CAACC,gBADnD,CAFF;AAKD,SAdM,MAcA,IAAIP,UAAU,KAAK,QAAf,IAA2BR,GAA3B,YAA2BA,GAAG,CAAEhB,MAApC,EAA4C;AACjD;AACAuB,UAAAA,UAAU,GAAGP,GAAG,CAACgB,GAAJ,CAAQ,UAAAb,CAAC,EAAI;AACxB,gBAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb,EAAuB;AACrB,8DACKoC,CADL;AAEEhD,gBAAAA,IAAI,EAAEmD,cAAc,GAAGnD,IAAH,GAAW,EAAC8C,eAAD,YAACA,eAAe,CAAE9C,IAAlB;AAFjC;AAID;;AACD,mBAAOgD,CAAP;AACD,WARY,CAAb;AASD,SAXM,MAWA,IAAIK,UAAU,KAAK,QAAf,IAA2BR,GAA3B,YAA2BA,GAAG,CAAEhB,MAApC,EAA4C;AACjDuB,UAAAA,UAAU,GAAGP,GAAG,CAACiB,MAAJ,CAAW,UAAAd,CAAC;AAAA,mBAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb;AAAA,WAAZ,CAAb;AACD;;AAED,eAAOwC,UAAP;AACD,OAnFD;AAoFD,KAxLI;AA0LL7D,IAAAA,gBAAgB,EAAE,0BAAAqB,QAAQ,EAAI;AAAA;;AAC5B,UAAMvB,MAAM,GAAGR,QAAQ,CAACuD,SAAT,CAAmBxB,QAAnB,CAAf;;AAEA,UAAI,CAACvB,MAAL,EAAa;AACX,cAAM,IAAIiD,KAAJ,EAAN;AACD;;AAED,wDACEjD,MAAM,CAAC0E,aADT,oCAEElF,QAAQ,CAAC2B,OAAT,CAAiBuD,aAFnB,oBAGE1E,MAAM,CAAC2E,cAHT,oBAIE,CAAC,CAAC3E,MAAM,CAAC4E,UAJX;AAME;AACA;AAPF;AASD,KA1MI;AA4MLvE,IAAAA,qBAAqB,EAAE,+BAAAkB,QAAQ,EAAI;AAAA;;AACjC,UAAMvB,MAAM,GAAGR,QAAQ,CAACuD,SAAT,CAAmBxB,QAAnB,CAAf;;AAEA,UAAI,CAACvB,MAAL,EAAa;AACX,cAAM,IAAIiD,KAAJ,EAAN;AACD;;AAED,+CACEjD,MAAM,CAAC6E,eADT,oCAEErF,QAAQ,CAAC2B,OAAT,CAAiB0D,eAFnB,oBAGE,CAAC,CAAC7E,MAAM,CAAC4E,UAHX;AAKD,KAxNI;AA0NLnE,IAAAA,iBAAiB,EAAE,2BAAAc,QAAQ,EAAI;AAAA;;AAC7B,UAAMuD,UAAU,4BAAGtF,QAAQ,CACxB8D,QADgB,GAEhBhE,OAFa,qBAAG,sBAEPoE,IAFO,CAEF,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb;AAAA,OAFC,CAAnB;AAIA,aAAO,CAACuD,UAAD,GAAc,KAAd,GAAsBA,UAAU,CAACnE,IAAX,GAAkB,MAAlB,GAA2B,KAAxD;AACD,KAhOI;AAkOLJ,IAAAA,kBAAkB,EAAE,4BAAAgB,QAAQ;AAAA;;AAAA,iEAC1B/B,QAAQ,CAAC8D,QAAT,GAAoBhE,OADM,qBAC1B,uBAA6BuE,SAA7B,CAAuC,UAAAF,CAAC;AAAA,eAAIA,CAAC,CAACxD,EAAF,KAASoB,QAAb;AAAA,OAAxC,CAD0B,qCACwC,CAAC,CADzC;AAAA,KAlOvB;AAqOLF,IAAAA,YAAY,EAAE,wBAAM;AAAA;;AAClB7B,MAAAA,QAAQ,CAAC2D,UAAT,oDAAoB3D,QAAQ,CAACuF,YAA7B,qBAAoB,uBAAuBzF,OAA3C,oCAAsD,EAAtD;AACD,KAvOI;AAyOLwB,IAAAA,qBAAqB,EAAE,+BAACS,QAAD,EAAWR,SAAX,EAAyB;AAC9C,UAAMf,MAAM,GAAGR,QAAQ,CAACuD,SAAT,CAAmBxB,QAAnB,CAAf;;AAEA,UAAI,CAACvB,MAAL,EAAa;AACX,cAAM,IAAIiD,KAAJ,EAAN;AACD;;AAED,UAAM+B,OAAO,GAAGhF,MAAM,CAACC,UAAP,EAAhB;AAEA,UAAMgF,YAAgC,GAAG;AACvCC,QAAAA,KAAK,EAAEF,OAAO,GAAG,gBAAH,GAAsBG,SADG;AAEvCC,QAAAA,OAAO,EAAEJ,OAAO,GACZ,UAACnF,CAAD,EAAgC;AAC9BA,UAAAA,CAAC,CAACwF,OAAF;AACArF,UAAAA,MAAM,CAACU,aAAP,oBAAAV,MAAM,CAACU,aAAP,CACEyE,SADF,EAEEnF,MAAM,CAACI,eAAP,KACIZ,QAAQ,CAAC2B,OAAT,CAAiBvB,gBADrB,oBACIJ,QAAQ,CAAC2B,OAAT,CAAiBvB,gBAAjB,CAAoCC,CAApC,CADJ,GAEI,KAJN;AAMD,SATW,GAUZsF;AAZmC,OAAzC;AAeA,aAAOG,gBAAU,CAACL,YAAD,EAAelE,SAAf,CAAjB;AACD,KAlQI;AAoQLwE,IAAAA,iBAAiB,EAAEC,UAAI,CACrB;AAAA,aAAM,CACJhG,QAAQ,CAAC8D,QAAT,GAAoBhE,OADhB,EAEJE,QAAQ,CAACiC,yBAAT,EAFI,EAGJjC,QAAQ,CAAC2B,OAAT,CAAiBsE,UAHb,CAAN;AAAA,KADqB,EAMrB,UAACnG,OAAD,EAAUoG,QAAV,EAAoBC,SAApB,EAAkC;AAChC,UAAI,CAACA,SAAD,IAAc,EAACrG,OAAD,YAACA,OAAO,CAAEkD,MAAV,CAAlB,EAAoC;AAClC,eAAOkD,QAAP;AACD;;AAED,UAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCtG,QAAQ,CAAC2B,OAAT,CAAiB4E,KAA9D,EACEC,OAAO,CAACC,IAAR,CAAa,YAAb;AAEF,aAAON,SAAS,CAACnG,QAAD,EAAWkG,QAAX,CAAhB;AACD,KAfoB,EAgBrB;AACEQ,MAAAA,GAAG,EAAE,mBADP;AAEEH,MAAAA,KAAK,EAAEvG,QAAQ,CAAC2B,OAAT,CAAiB4E,KAF1B;AAGEI,MAAAA,QAAQ,EAAE;AAAA,eAAM3G,QAAQ,CAAC4G,oBAAT,EAAN;AAAA;AAHZ,KAhBqB,CApQlB;AA2RLC,IAAAA,gBAAgB,EAAE;AAAA,aAAM7G,QAAQ,CAACiC,yBAAT,GAAqC6E,IAA3C;AAAA,KA3Rb;AA4RLC,IAAAA,oBAAoB,EAAE;AAAA,aAAM/G,QAAQ,CAACiC,yBAAT,GAAqCC,QAA3C;AAAA,KA5RjB;AA6RL8E,IAAAA,oBAAoB,EAAE;AAAA,aAAMhH,QAAQ,CAACiC,yBAAT,GAAqCgF,QAA3C;AAAA,KA7RjB;AA8RLC,IAAAA,aAAa,EAAE;AAAA,aAAMlH,QAAQ,CAAC+F,iBAAT,GAA6Be,IAAnC;AAAA,KA9RV;AA+RLK,IAAAA,iBAAiB,EAAE;AAAA,aAAMnH,QAAQ,CAAC+F,iBAAT,GAA6B7D,QAAnC;AAAA,KA/Rd;AAgSLkF,IAAAA,iBAAiB,EAAE;AAAA,aAAMpH,QAAQ,CAAC+F,iBAAT,GAA6BkB,QAAnC;AAAA;AAhSd,GAAP;AAkSD;;;;;;;;"}
@@ -1,166 +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
- columnVisibility: {}
22
- };
23
- }
24
- function getDefaultOptions(instance) {
25
- return {
26
- onColumnVisibilityChange: utils.makeStateUpdater('columnVisibility', instance)
27
- };
28
- }
29
- function getDefaultColumn() {
30
- return {
31
- defaultIsVisible: true
32
- };
33
- }
34
- function createColumn(column, instance) {
35
- return {
36
- getCanHide: function getCanHide() {
37
- return instance.getColumnCanHide(column.id);
38
- },
39
- getIsVisible: function getIsVisible() {
40
- return instance.getColumnIsVisible(column.id);
41
- },
42
- toggleVisibility: function toggleVisibility(value) {
43
- return instance.toggleColumnVisibility(column.id, value);
44
- },
45
- getToggleVisibilityProps: function getToggleVisibilityProps(userProps) {
46
- var props = {
47
- type: 'checkbox',
48
- checked: column.getIsVisible == null ? void 0 : column.getIsVisible(),
49
- title: 'Toggle Column Visibility',
50
- onChange: function onChange(e) {
51
- column.toggleVisibility == null ? void 0 : column.toggleVisibility(e.target.checked);
52
- }
53
- };
54
- return utils.propGetter(props, userProps);
55
- }
56
- };
57
- }
58
- function getInstance(instance) {
59
- return {
60
- getVisibleFlatColumns: utils.memo(function () {
61
- return [instance.getAllFlatColumns(), instance.getAllFlatColumns().filter(function (d) {
62
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
63
- }).map(function (d) {
64
- return d.id;
65
- }).join('_')];
66
- }, function (allFlatColumns) {
67
- return allFlatColumns.filter(function (d) {
68
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
69
- });
70
- }, {
71
- key: 'getVisibleFlatColumns',
72
- debug: instance.options.debug
73
- }),
74
- getVisibleLeafColumns: utils.memo(function () {
75
- return [instance.getAllLeafColumns(), instance.getAllLeafColumns().filter(function (d) {
76
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
77
- }).map(function (d) {
78
- return d.id;
79
- }).join('_')];
80
- }, function (allFlatColumns) {
81
- return allFlatColumns.filter(function (d) {
82
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
83
- });
84
- }, {
85
- key: 'getVisibleLeafColumns',
86
- debug: instance.options.debug
87
- }),
88
- setColumnVisibility: function setColumnVisibility(updater) {
89
- return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater, utils.functionalUpdate(updater, instance.getState().columnVisibility));
90
- },
91
- toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
92
- if (!columnId) return;
93
-
94
- if (instance.getColumnCanHide(columnId)) {
95
- instance.setColumnVisibility(function (old) {
96
- var _extends2;
97
-
98
- return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
99
- });
100
- }
101
- },
102
- toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
103
- var _value;
104
-
105
- value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
106
- instance.setColumnVisibility(instance.getAllLeafColumns().reduce(function (obj, column) {
107
- var _extends3;
108
-
109
- return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
110
- }, {}));
111
- },
112
- getColumnIsVisible: function getColumnIsVisible(columnId) {
113
- var _ref, _instance$getState$co, _instance$getState$co2;
114
-
115
- var column = instance.getColumn(columnId);
116
-
117
- if (!column) {
118
- throw new Error();
119
- }
120
-
121
- return (_ref = (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[columnId]) != null ? _instance$getState$co : column.defaultIsVisible) != null ? _ref : true;
122
- },
123
- getColumnCanHide: function getColumnCanHide(columnId) {
124
- var _ref2, _ref3, _instance$options$ena;
125
-
126
- var column = instance.getColumn(columnId);
127
-
128
- if (!column) {
129
- throw new Error();
130
- }
131
-
132
- return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
133
- },
134
- getIsAllColumnsVisible: function getIsAllColumnsVisible() {
135
- return !instance.getAllLeafColumns().some(function (column) {
136
- return !(column.getIsVisible != null && column.getIsVisible());
137
- });
138
- },
139
- getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
140
- return instance.getAllLeafColumns().some(function (column) {
141
- return column.getIsVisible == null ? void 0 : column.getIsVisible();
142
- });
143
- },
144
- getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
145
- var props = {
146
- onChange: function onChange(e) {
147
- var _e$target;
148
-
149
- instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
150
- },
151
- type: 'checkbox',
152
- title: 'Toggle visibility for all columns',
153
- checked: instance.getIsAllColumnsVisible(),
154
- indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
155
- };
156
- return utils.propGetter(props, userProps);
157
- }
158
- };
159
- }
160
-
161
- exports.createColumn = createColumn;
162
- exports.getDefaultColumn = getDefaultColumn;
163
- exports.getDefaultOptions = getDefaultOptions;
164
- exports.getInitialState = getInitialState;
165
- exports.getInstance = getInstance;
166
- //# sourceMappingURL=Visibility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Visibility.js","sources":["../../../src/features/Visibility.ts"],"sourcesContent":["import {\n Cell,\n Column,\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type VisibilityOptions = {\n onColumnVisibilityChange?: OnChangeFn<VisibilityState>\n enableHiding?: boolean\n}\n\nexport type VisibilityDefaultOptions = {\n onColumnVisibilityChange: OnChangeFn<VisibilityState>\n}\n\nexport type VisibilityState = Record<string, boolean>\n\nexport type VisibilityTableState = {\n columnVisibility: VisibilityState\n}\n\nexport type VisibilityInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n getVisibleFlatColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getVisibleLeafColumns: () => Column<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n setColumnVisibility: (updater: Updater<VisibilityState>) => void\n toggleColumnVisibility: (columnId: string, value?: boolean) => void\n toggleAllColumnsVisible: (value?: boolean) => void\n getColumnIsVisible: (columId: string) => boolean\n getColumnCanHide: (columnId: string) => boolean\n getIsAllColumnsVisible: () => boolean\n getIsSomeColumnsVisible: () => boolean\n getToggleAllColumnsVisibilityProps: <\n TGetter extends Getter<ToggleAllColumnsVisibilityProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleAllColumnsVisibilityProps, TGetter>\n}\n\ntype ToggleVisibilityProps = {}\ntype ToggleAllColumnsVisibilityProps = {}\n\nexport type VisibilityColumnDef = {\n enableHiding?: boolean\n defaultCanHide?: boolean\n}\n\nexport type VisibilityRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n getVisibleCells: () => Cell<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n}\n\nexport type VisibilityColumn = {\n getCanHide: () => boolean\n getIsVisible: () => boolean\n toggleVisibility: (value?: boolean) => void\n getToggleVisibilityProps: <TGetter extends Getter<ToggleVisibilityProps>>(\n userProps?: TGetter\n ) => PropGetterValue<ToggleVisibilityProps, TGetter>\n}\n\n//\n\nexport function getInitialState(): VisibilityTableState {\n return {\n columnVisibility: {},\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): VisibilityDefaultOptions {\n return {\n onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance),\n }\n}\n\nexport function getDefaultColumn() {\n return {\n defaultIsVisible: true,\n }\n}\n\nexport function createColumn<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): VisibilityColumn {\n return {\n getCanHide: () => instance.getColumnCanHide(column.id),\n getIsVisible: () => instance.getColumnIsVisible(column.id),\n toggleVisibility: value =>\n instance.toggleColumnVisibility(column.id, value),\n getToggleVisibilityProps: userProps => {\n const props: ToggleVisibilityProps = {\n type: 'checkbox',\n checked: column.getIsVisible?.(),\n title: 'Toggle Column Visibility',\n onChange: (e: MouseEvent | TouchEvent) => {\n column.toggleVisibility?.((e.target as HTMLInputElement).checked)\n },\n }\n\n return propGetter(props, userProps)\n },\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): VisibilityInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n getVisibleFlatColumns: memo(\n () => [\n instance.getAllFlatColumns(),\n instance\n .getAllFlatColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n { key: 'getVisibleFlatColumns', debug: instance.options.debug }\n ),\n\n getVisibleLeafColumns: memo(\n () => [\n instance.getAllLeafColumns(),\n instance\n .getAllLeafColumns()\n .filter(d => d.getIsVisible?.())\n .map(d => d.id)\n .join('_'),\n ],\n allFlatColumns => {\n return allFlatColumns.filter(d => d.getIsVisible?.())\n },\n { key: 'getVisibleLeafColumns', debug: instance.options.debug }\n ),\n\n setColumnVisibility: updater =>\n instance.options.onColumnVisibilityChange?.(\n updater,\n functionalUpdate(updater, instance.getState().columnVisibility)\n ),\n\n toggleColumnVisibility: (columnId, value) => {\n if (!columnId) return\n\n if (instance.getColumnCanHide(columnId)) {\n instance.setColumnVisibility(old => ({\n ...old,\n [columnId]: value ?? !instance.getColumnIsVisible(columnId),\n }))\n }\n },\n\n toggleAllColumnsVisible: value => {\n value = value ?? !instance.getIsAllColumnsVisible()\n\n instance.setColumnVisibility(\n instance.getAllLeafColumns().reduce(\n (obj, column) => ({\n ...obj,\n [column.id]: !value ? !column.getCanHide?.() : value,\n }),\n {}\n )\n )\n },\n\n getColumnIsVisible: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.getState().columnVisibility?.[columnId] ??\n column.defaultIsVisible ??\n true\n )\n },\n\n getColumnCanHide: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n instance.options.enableHiding ??\n column.enableHiding ??\n column.defaultCanHide ??\n true\n )\n },\n\n getIsAllColumnsVisible: () =>\n !instance.getAllLeafColumns().some(column => !column.getIsVisible?.()),\n\n getIsSomeColumnsVisible: () =>\n instance.getAllLeafColumns().some(column => column.getIsVisible?.()),\n\n getToggleAllColumnsVisibilityProps: userProps => {\n const props: ToggleAllColumnsVisibilityProps = {\n onChange: (e: MouseEvent) => {\n instance.toggleAllColumnsVisible(\n (e.target as HTMLInputElement)?.checked\n )\n },\n type: 'checkbox',\n title: 'Toggle visibility for all columns',\n checked: instance.getIsAllColumnsVisible(),\n indeterminate:\n !instance.getIsAllColumnsVisible() &&\n instance.getIsSomeColumnsVisible()\n ? 'indeterminate'\n : undefined,\n }\n\n return propGetter(props, userProps)\n },\n }\n}\n"],"names":["getInitialState","columnVisibility","getDefaultOptions","instance","onColumnVisibilityChange","makeStateUpdater","getDefaultColumn","defaultIsVisible","createColumn","column","getCanHide","getColumnCanHide","id","getIsVisible","getColumnIsVisible","toggleVisibility","value","toggleColumnVisibility","getToggleVisibilityProps","userProps","props","type","checked","title","onChange","e","target","propGetter","getInstance","getVisibleFlatColumns","memo","getAllFlatColumns","filter","d","map","join","allFlatColumns","key","debug","options","getVisibleLeafColumns","getAllLeafColumns","setColumnVisibility","updater","functionalUpdate","getState","columnId","old","toggleAllColumnsVisible","getIsAllColumnsVisible","reduce","obj","getColumn","Error","enableHiding","defaultCanHide","some","getIsSomeColumnsVisible","getToggleAllColumnsVisibilityProps","indeterminate","undefined"],"mappings":"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"}