@tanstack/table-core 8.0.0-alpha.64 → 8.0.0-alpha.68

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 (149) hide show
  1. package/build/cjs/aggregationFns.js +25 -37
  2. package/build/cjs/aggregationFns.js.map +1 -1
  3. package/build/cjs/core.js +167 -47
  4. package/build/cjs/core.js.map +1 -1
  5. package/build/cjs/createTable.js +24 -40
  6. package/build/cjs/createTable.js.map +1 -1
  7. package/build/cjs/features/Cells.js +29 -35
  8. package/build/cjs/features/Cells.js.map +1 -1
  9. package/build/cjs/features/ColumnSizing.js +126 -218
  10. package/build/cjs/features/ColumnSizing.js.map +1 -1
  11. package/build/cjs/features/Columns.js +59 -86
  12. package/build/cjs/features/Columns.js.map +1 -1
  13. package/build/cjs/features/Expanding.js +78 -125
  14. package/build/cjs/features/Expanding.js.map +1 -1
  15. package/build/cjs/features/Filters.js +143 -218
  16. package/build/cjs/features/Filters.js.map +1 -1
  17. package/build/cjs/features/Grouping.js +70 -116
  18. package/build/cjs/features/Grouping.js.map +1 -1
  19. package/build/cjs/features/Headers.js +125 -205
  20. package/build/cjs/features/Headers.js.map +1 -1
  21. package/build/cjs/features/Ordering.js +31 -43
  22. package/build/cjs/features/Ordering.js.map +1 -1
  23. package/build/cjs/features/Pagination.js +64 -72
  24. package/build/cjs/features/Pagination.js.map +1 -1
  25. package/build/cjs/features/Pinning.js +96 -177
  26. package/build/cjs/features/Pinning.js.map +1 -1
  27. package/build/cjs/features/RowSelection.js +134 -205
  28. package/build/cjs/features/RowSelection.js.map +1 -1
  29. package/build/cjs/features/Rows.js +32 -22
  30. package/build/cjs/features/Rows.js.map +1 -1
  31. package/build/cjs/features/Sorting.js +62 -131
  32. package/build/cjs/features/Sorting.js.map +1 -1
  33. package/build/cjs/features/Visibility.js +53 -120
  34. package/build/cjs/features/Visibility.js.map +1 -1
  35. package/build/cjs/filterFns.js +52 -133
  36. package/build/cjs/filterFns.js.map +1 -1
  37. package/build/cjs/index.js +13 -13
  38. package/build/cjs/sortingFns.js +21 -21
  39. package/build/cjs/sortingFns.js.map +1 -1
  40. package/build/cjs/utils/filterRowsUtils.js +56 -41
  41. package/build/cjs/utils/filterRowsUtils.js.map +1 -1
  42. package/build/cjs/utils/getCoreRowModel.js +98 -0
  43. package/build/cjs/utils/getCoreRowModel.js.map +1 -0
  44. package/build/cjs/utils/getExpandedRowModel.js +18 -22
  45. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  46. package/build/cjs/utils/getFacetedMinMaxValues.js +48 -0
  47. package/build/cjs/utils/getFacetedMinMaxValues.js.map +1 -0
  48. package/build/cjs/utils/getFacetedRowModel.js +50 -0
  49. package/build/cjs/utils/getFacetedRowModel.js.map +1 -0
  50. package/build/cjs/utils/getFacetedUniqueValues.js +48 -0
  51. package/build/cjs/utils/getFacetedUniqueValues.js.map +1 -0
  52. package/build/cjs/utils/getFilteredRowModel.js +130 -0
  53. package/build/cjs/utils/getFilteredRowModel.js.map +1 -0
  54. package/build/cjs/utils/getGroupedRowModel.js +126 -136
  55. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  56. package/build/cjs/utils/getPaginationRowModel.js +39 -39
  57. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  58. package/build/cjs/utils/getSortedRowModel.js +112 -0
  59. package/build/cjs/utils/getSortedRowModel.js.map +1 -0
  60. package/build/cjs/utils.js +36 -211
  61. package/build/cjs/utils.js.map +1 -1
  62. package/build/esm/index.js +1970 -2956
  63. package/build/esm/index.js.map +1 -1
  64. package/build/stats-html.html +1 -1
  65. package/build/stats-react.json +390 -482
  66. package/build/types/core.d.ts +3 -5
  67. package/build/types/features/Cells.d.ts +1 -1
  68. package/build/types/features/ColumnSizing.d.ts +2 -13
  69. package/build/types/features/Columns.d.ts +1 -1
  70. package/build/types/features/Expanding.d.ts +1 -6
  71. package/build/types/features/Filters.d.ts +42 -30
  72. package/build/types/features/Grouping.d.ts +4 -10
  73. package/build/types/features/Pinning.d.ts +0 -4
  74. package/build/types/features/RowSelection.d.ts +1 -7
  75. package/build/types/features/Rows.d.ts +4 -3
  76. package/build/types/features/Sorting.d.ts +3 -14
  77. package/build/types/features/Visibility.d.ts +0 -4
  78. package/build/types/filterFns.d.ts +10 -52
  79. package/build/types/index.d.ts +6 -5
  80. package/build/types/types.d.ts +5 -17
  81. package/build/types/utils/filterRowsUtils.d.ts +3 -2
  82. package/build/types/utils/getCoreRowModel.d.ts +2 -0
  83. package/build/types/utils/getFacetedMinMaxValues.d.ts +2 -0
  84. package/build/types/utils/getFacetedRowModel.d.ts +2 -0
  85. package/build/types/utils/getFacetedUniqueValues.d.ts +2 -0
  86. package/build/types/utils/{getCoreRowModelSync.d.ts → getFilteredRowModel.d.ts} +1 -1
  87. package/build/types/utils/getGroupedRowModel.d.ts +1 -1
  88. package/build/types/utils/getSortedRowModel.d.ts +2 -0
  89. package/build/types/utils.d.ts +2 -18
  90. package/build/umd/index.development.js +1948 -2935
  91. package/build/umd/index.development.js.map +1 -1
  92. package/build/umd/index.production.js +1 -1
  93. package/build/umd/index.production.js.map +1 -1
  94. package/package.json +2 -1
  95. package/src/core.ts +197 -46
  96. package/src/features/Cells.ts +10 -12
  97. package/src/features/ColumnSizing.ts +72 -129
  98. package/src/features/Columns.ts +16 -15
  99. package/src/features/Expanding.ts +58 -105
  100. package/src/features/Filters.ts +223 -226
  101. package/src/features/Grouping.ts +51 -79
  102. package/src/features/Headers.ts +18 -40
  103. package/src/features/Ordering.ts +1 -1
  104. package/src/features/Pagination.ts +1 -1
  105. package/src/features/Pinning.ts +73 -92
  106. package/src/features/RowSelection.ts +71 -120
  107. package/src/features/Rows.ts +21 -6
  108. package/src/features/Sorting.ts +39 -99
  109. package/src/features/Visibility.ts +21 -50
  110. package/src/filterFns.ts +74 -147
  111. package/src/index.ts +12 -5
  112. package/src/sortingFns.ts +11 -11
  113. package/src/types.ts +5 -18
  114. package/src/utils/filterRowsUtils.ts +59 -56
  115. package/src/utils/{getCoreRowModelSync.ts → getCoreRowModel.ts} +3 -9
  116. package/src/utils/getExpandedRowModel.ts +2 -2
  117. package/src/utils/getFacetedMinMaxValues.ts +37 -0
  118. package/src/utils/getFacetedRowModel.ts +50 -0
  119. package/src/utils/getFacetedUniqueValues.ts +37 -0
  120. package/src/utils/getFilteredRowModel.ts +150 -0
  121. package/src/utils/getGroupedRowModel.ts +53 -62
  122. package/src/utils/getPaginationRowModel.ts +1 -1
  123. package/src/utils/{getSortedRowModelSync.ts → getSortedRowModel.ts} +7 -7
  124. package/src/utils.ts +29 -239
  125. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -112
  126. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
  127. package/build/cjs/utils/getColumnFilteredRowModelSync.js +0 -115
  128. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +0 -1
  129. package/build/cjs/utils/getCoreRowModelAsync.js +0 -125
  130. package/build/cjs/utils/getCoreRowModelAsync.js.map +0 -1
  131. package/build/cjs/utils/getCoreRowModelSync.js +0 -102
  132. package/build/cjs/utils/getCoreRowModelSync.js.map +0 -1
  133. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +0 -91
  134. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +0 -1
  135. package/build/cjs/utils/getSortedRowModelSync.js +0 -118
  136. package/build/cjs/utils/getSortedRowModelSync.js.map +0 -1
  137. package/build/types/utils/getColumnFilteredRowModelAsync.d.ts +0 -4
  138. package/build/types/utils/getColumnFilteredRowModelSync.d.ts +0 -2
  139. package/build/types/utils/getCoreRowModelAsync.d.ts +0 -4
  140. package/build/types/utils/getGlobalFilteredRowModelAsync.d.ts +0 -4
  141. package/build/types/utils/getGlobalFilteredRowModelSync.d.ts +0 -2
  142. package/build/types/utils/getSortedRowModelAsync.d.ts +0 -13
  143. package/build/types/utils/getSortedRowModelSync.d.ts +0 -2
  144. package/src/utils/getColumnFilteredRowModelAsync.ts +0 -118
  145. package/src/utils/getColumnFilteredRowModelSync.ts +0 -102
  146. package/src/utils/getCoreRowModelAsync.ts +0 -104
  147. package/src/utils/getGlobalFilteredRowModelAsync.ts +0 -96
  148. package/src/utils/getGlobalFilteredRowModelSync.ts +0 -79
  149. package/src/utils/getSortedRowModelAsync.ts +0 -200
@@ -12,127 +12,52 @@
12
12
 
13
13
  Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
- var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
15
  var filterFns = require('../filterFns.js');
17
16
  var utils = require('../utils.js');
18
17
 
19
18
  //
20
- var Filters = {
21
- getDefaultColumn: function getDefaultColumn() {
19
+ const Filters = {
20
+ getDefaultColumn: () => {
22
21
  return {
23
22
  filterFn: 'auto'
24
23
  };
25
24
  },
26
- getInitialState: function getInitialState(state) {
27
- return _rollupPluginBabelHelpers["extends"]({
25
+ getInitialState: state => {
26
+ return {
28
27
  columnFilters: [],
29
28
  globalFilter: undefined,
30
- columnFiltersProgress: 1,
31
- globalFilterProgress: 1
32
- }, state);
29
+ // filtersProgress: 1,
30
+ // facetProgress: {},
31
+ ...state
32
+ };
33
33
  },
34
- getDefaultOptions: function getDefaultOptions(instance) {
34
+ getDefaultOptions: instance => {
35
35
  return {
36
36
  onColumnFiltersChange: utils.makeStateUpdater('columnFilters', instance),
37
37
  onGlobalFilterChange: utils.makeStateUpdater('globalFilter', instance),
38
- filterFromLeafRows: true,
38
+ filterFromLeafRows: false,
39
39
  globalFilterFn: 'auto',
40
- getColumnCanGlobalFilter: function getColumnCanGlobalFilter(column) {
40
+ getColumnCanGlobalFilter: column => {
41
41
  var _instance$getCoreRowM, _instance$getCoreRowM2;
42
42
 
43
- var value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.value;
43
+ const value = (_instance$getCoreRowM = instance.getCoreRowModel().flatRows[0]) == null ? void 0 : (_instance$getCoreRowM2 = _instance$getCoreRowM.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreRowM2.getValue();
44
44
  return typeof value === 'string';
45
45
  }
46
46
  };
47
47
  },
48
- createColumn: function createColumn(column, instance) {
49
- var getFacetInfo = utils.memo(function () {
50
- return [column.getPreFilteredRows()];
51
- }, function (rows) {
52
- var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
53
-
54
- if (rows === void 0) {
55
- rows = [];
56
- }
57
-
58
- var preFilteredUniqueValues = new Map();
59
- var preFilteredMinMaxValues = [(_rows$0$values$column = (_rows$ = rows[0]) == null ? void 0 : _rows$.values[column.id]) != null ? _rows$0$values$column : null, (_rows$0$values$column2 = (_rows$2 = rows[0]) == null ? void 0 : _rows$2.values[column.id]) != null ? _rows$0$values$column2 : null];
60
-
61
- for (var i = 0; i < rows.length; i++) {
62
- var _rows$i;
63
-
64
- var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
65
-
66
- if (preFilteredUniqueValues.has(_value)) {
67
- var _preFilteredUniqueVal;
68
-
69
- preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
70
- } else {
71
- preFilteredUniqueValues.set(_value, 1);
72
- }
73
-
74
- if (_value < preFilteredMinMaxValues[0]) {
75
- preFilteredMinMaxValues[0] = _value;
76
- } else if (_value > preFilteredMinMaxValues[1]) {
77
- preFilteredMinMaxValues[1] = _value;
78
- }
79
- }
80
-
81
- return {
82
- preFilteredUniqueValues: preFilteredUniqueValues,
83
- preFilteredMinMaxValues: preFilteredMinMaxValues
84
- };
85
- }, {
86
- key: 'column.getFacetInfo',
87
- debug: function debug() {
88
- var _instance$options$deb;
89
-
90
- return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
91
- }
92
- });
48
+ createColumn: (column, instance) => {
93
49
  return {
94
50
  filterFn: column.filterFn,
95
- getCanColumnFilter: function getCanColumnFilter() {
96
- return instance.getColumnCanColumnFilter(column.id);
97
- },
98
- getCanGlobalFilter: function getCanGlobalFilter() {
99
- return instance.getColumnCanGlobalFilter(column.id);
100
- },
101
- getColumnFilterIndex: function getColumnFilterIndex() {
102
- return instance.getColumnFilterIndex(column.id);
103
- },
104
- getColumnIsFiltered: function getColumnIsFiltered() {
105
- return instance.getColumnIsFiltered(column.id);
106
- },
107
- getColumnFilterValue: function getColumnFilterValue() {
108
- return instance.getColumnFilterValue(column.id);
109
- },
110
- setColumnFilterValue: function setColumnFilterValue(val) {
111
- return instance.setColumnFilterValue(column.id, val);
112
- },
113
- getPreFilteredUniqueValues: function getPreFilteredUniqueValues() {
114
- return getFacetInfo().preFilteredUniqueValues;
115
- },
116
- getPreFilteredMinMaxValues: function getPreFilteredMinMaxValues() {
117
- return getFacetInfo().preFilteredMinMaxValues;
118
- },
119
- getPreFilteredRows: function getPreFilteredRows() {
120
- return undefined;
121
- }
122
- };
123
- },
124
- createInstance: function createInstance(instance) {
125
- return {
126
- getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
127
- var firstRow = instance.getCoreRowModel().flatRows[0];
128
- var value = firstRow == null ? void 0 : firstRow.values[columnId];
51
+ getAutoFilterFn: () => {
52
+ const firstRow = instance.getCoreRowModel().flatRows[0];
53
+ const value = firstRow == null ? void 0 : firstRow.getValue(column.id);
129
54
 
130
55
  if (typeof value === 'string') {
131
56
  return filterFns.filterFns.includesString;
132
57
  }
133
58
 
134
59
  if (typeof value === 'number') {
135
- return filterFns.filterFns.betweenNumberRange;
60
+ return filterFns.filterFns.inNumberRange;
136
61
  }
137
62
 
138
63
  if (value !== null && typeof value === 'object') {
@@ -145,137 +70,55 @@ var Filters = {
145
70
 
146
71
  return filterFns.filterFns.weakEquals;
147
72
  },
148
- getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
149
- return filterFns.filterFns.includesString;
150
- },
151
- getColumnFilterFn: function getColumnFilterFn(columnId) {
73
+ getFilterFn: () => {
152
74
  var _ref;
153
75
 
154
- var column = instance.getColumn(columnId);
155
- var userFilterFns = instance.options.filterFns;
156
-
157
- if (!column) {
158
- throw new Error();
159
- }
160
-
161
- return utils.isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? instance.getColumnAutoFilterFn(columnId) : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns.filterFns[column.filterFn];
76
+ const userFilterFns = instance.options.filterFns;
77
+ return utils.isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? column.getAutoFilterFn() : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns.filterFns[column.filterFn];
162
78
  },
163
- getGlobalFilterFn: function getGlobalFilterFn() {
164
- var _ref2;
79
+ getCanFilter: () => {
80
+ var _column$enableColumnF, _instance$options$ena, _instance$options$ena2;
165
81
 
166
- var _instance$options = instance.options,
167
- userFilterFns = _instance$options.filterFns,
168
- globalFilterFn = _instance$options.globalFilterFn;
169
- debugger;
170
- return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns.filterFns[globalFilterFn];
82
+ return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
171
83
  },
172
- setColumnFilters: function setColumnFilters(updater) {
173
- var leafColumns = instance.getAllLeafColumns();
174
-
175
- var updateFn = function updateFn(old) {
176
- var _functionalUpdate;
177
-
178
- return (_functionalUpdate = utils.functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(function (filter) {
179
- var column = leafColumns.find(function (d) {
180
- return d.id === filter.id;
181
- });
182
-
183
- if (column) {
184
- var filterFn = instance.getColumnFilterFn(column.id);
185
-
186
- if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
187
- return false;
188
- }
189
- }
190
-
191
- return true;
192
- });
193
- };
194
-
195
- instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
196
- },
197
- setGlobalFilter: function setGlobalFilter(updater) {
198
- instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
199
- },
200
- resetGlobalFilter: function resetGlobalFilter() {
201
- instance.setGlobalFilter(instance.initialState.globalFilter);
202
- },
203
- getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
204
- var _column$enableColumnF, _instance$options$ena;
205
-
206
- var column = instance.getColumn(columnId);
207
-
208
- if (!column) {
209
- throw new Error();
210
- }
84
+ getCanGlobalFilter: () => {
85
+ var _column$enableGlobalF, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
211
86
 
212
- return ((_column$enableColumnF = column.enableColumnFilter) != null ? _column$enableColumnF : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && !!column.accessorFn;
87
+ return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
213
88
  },
214
- getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
215
- var _column$enableGlobalF, _instance$options$ena2, _instance$options$get;
216
-
217
- var column = instance.getColumn(columnId);
218
-
219
- if (!column) {
220
- throw new Error();
221
- }
222
-
223
- return ((_column$enableGlobalF = column.enableGlobalFilter) != null ? _column$enableGlobalF : true) && ((_instance$options$ena2 = instance.options.enableGlobalFilter) != null ? _instance$options$ena2 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
224
- },
225
- getColumnIsFiltered: function getColumnIsFiltered(columnId) {
226
- return instance.getColumnFilterIndex(columnId) > -1;
227
- },
228
- getColumnFilterValue: function getColumnFilterValue(columnId) {
89
+ getIsFiltered: () => column.getFilterIndex() > -1,
90
+ getFilterValue: () => {
229
91
  var _instance$getState$co, _instance$getState$co2;
230
92
 
231
- return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(function (d) {
232
- return d.id === columnId;
233
- })) == null ? void 0 : _instance$getState$co2.value;
93
+ return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(d => d.id === column.id)) == null ? void 0 : _instance$getState$co2.value;
234
94
  },
235
- getColumnFilterIndex: function getColumnFilterIndex(columnId) {
95
+ getFilterIndex: () => {
236
96
  var _instance$getState$co3, _instance$getState$co4;
237
97
 
238
- return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(function (d) {
239
- return d.id === columnId;
240
- })) != null ? _instance$getState$co3 : -1;
98
+ return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(d => d.id === column.id)) != null ? _instance$getState$co3 : -1;
241
99
  },
242
- setColumnFilterValue: function setColumnFilterValue(columnId, value) {
243
- if (!columnId) return;
244
- instance.setColumnFilters(function (old) {
245
- var column = instance.getColumn(columnId);
246
-
247
- if (!column) {
248
- if (process.env.NODE_ENV !== 'production') {
249
- console.warn("Table: Could not find a column with id: " + columnId);
250
- }
251
-
252
- throw new Error();
253
- }
254
-
255
- var filterFn = instance.getColumnFilterFn(column.id);
256
- var previousfilter = old == null ? void 0 : old.find(function (d) {
257
- return d.id === columnId;
258
- });
259
- var newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
100
+ setFilterValue: value => {
101
+ instance.setColumnFilters(old => {
102
+ const filterFn = column.getFilterFn();
103
+ const previousfilter = old == null ? void 0 : old.find(d => d.id === column.id);
104
+ const newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
260
105
 
261
106
  if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
262
107
  var _old$filter;
263
108
 
264
- return (_old$filter = old == null ? void 0 : old.filter(function (d) {
265
- return d.id !== columnId;
266
- })) != null ? _old$filter : [];
109
+ return (_old$filter = old == null ? void 0 : old.filter(d => d.id !== column.id)) != null ? _old$filter : [];
267
110
  }
268
111
 
269
- var newFilterObj = {
270
- id: columnId,
112
+ const newFilterObj = {
113
+ id: column.id,
271
114
  value: newFilter
272
115
  };
273
116
 
274
117
  if (previousfilter) {
275
118
  var _old$map;
276
119
 
277
- return (_old$map = old == null ? void 0 : old.map(function (d) {
278
- if (d.id === columnId) {
120
+ return (_old$map = old == null ? void 0 : old.map(d => {
121
+ if (d.id === column.id) {
279
122
  return newFilterObj;
280
123
  }
281
124
 
@@ -284,44 +127,126 @@ var Filters = {
284
127
  }
285
128
 
286
129
  if (old != null && old.length) {
287
- return [].concat(old, [newFilterObj]);
130
+ return [...old, newFilterObj];
288
131
  }
289
132
 
290
133
  return [newFilterObj];
291
134
  });
292
135
  },
293
- resetColumnFilters: function resetColumnFilters() {
294
- var _instance$initialStat, _instance$initialStat2;
136
+ _getFacetedRowModel: instance.options.getFacetedRowModel && instance.options.getFacetedRowModel(instance, column.id),
137
+ getFacetedRowModel: () => {
138
+ if (!column._getFacetedRowModel) {
139
+ return instance.getPreFilteredRowModel();
140
+ }
295
141
 
296
- instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
142
+ return column._getFacetedRowModel();
297
143
  },
298
- getPreColumnFilteredRowModel: function getPreColumnFilteredRowModel() {
299
- return instance.getCoreRowModel();
144
+ _getFacetedUniqueValues: instance.options.getFacetedUniqueValues && instance.options.getFacetedUniqueValues(instance, column.id),
145
+ getFacetedUniqueValues: () => {
146
+ if (!column._getFacetedUniqueValues) {
147
+ return new Map();
148
+ }
149
+
150
+ return column._getFacetedUniqueValues();
300
151
  },
301
- getColumnFilteredRowModel: function getColumnFilteredRowModel() {
302
- if (!instance._getColumnFilteredRowModel && instance.options.getColumnFilteredRowModel) {
303
- instance._getColumnFilteredRowModel = instance.options.getColumnFilteredRowModel(instance);
152
+ _getFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, column.id),
153
+ getFacetedMinMaxValues: () => {
154
+ if (!column._getFacetedMinMaxValues) {
155
+ return [NaN, NaN];
304
156
  }
305
157
 
306
- if (instance.options.manualColumnFiltering || !instance._getColumnFilteredRowModel) {
307
- return instance.getPreColumnFilteredRowModel();
158
+ return column._getFacetedMinMaxValues();
159
+ } // () => [column.getFacetedRowModel()],
160
+ // facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),
161
+
162
+ };
163
+ },
164
+ createRow: (row, instance) => {
165
+ return {
166
+ columnFilterMap: {},
167
+ subRowsByFacetId: {}
168
+ };
169
+ },
170
+ createInstance: instance => {
171
+ return {
172
+ getGlobalAutoFilterFn: () => {
173
+ return filterFns.filterFns.includesString;
174
+ },
175
+ getGlobalFilterFn: () => {
176
+ var _ref2;
177
+
178
+ const {
179
+ filterFns: userFilterFns,
180
+ globalFilterFn: globalFilterFn
181
+ } = instance.options;
182
+ return utils.isFunction(globalFilterFn) ? globalFilterFn : globalFilterFn === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterFns == null ? void 0 : userFilterFns[globalFilterFn]) != null ? _ref2 : filterFns.filterFns[globalFilterFn];
183
+ },
184
+ setColumnFilters: updater => {
185
+ const leafColumns = instance.getAllLeafColumns();
186
+
187
+ const updateFn = old => {
188
+ var _functionalUpdate;
189
+
190
+ return (_functionalUpdate = utils.functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(filter => {
191
+ const column = leafColumns.find(d => d.id === filter.id);
192
+
193
+ if (column) {
194
+ const filterFn = column.getFilterFn();
195
+
196
+ if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
197
+ return false;
198
+ }
199
+ }
200
+
201
+ return true;
202
+ });
203
+ };
204
+
205
+ instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn);
206
+ },
207
+ setGlobalFilter: updater => {
208
+ instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater);
209
+ },
210
+ resetGlobalFilter: () => {
211
+ instance.setGlobalFilter(instance.initialState.globalFilter);
212
+ },
213
+ resetColumnFilters: () => {
214
+ var _instance$initialStat, _instance$initialStat2;
215
+
216
+ instance.setColumnFilters((_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnFilters) != null ? _instance$initialStat : []);
217
+ },
218
+ getPreFilteredRowModel: () => instance.getCoreRowModel(),
219
+ _getFilteredRowModel: instance.options.getFilteredRowModel && instance.options.getFilteredRowModel(instance),
220
+ getFilteredRowModel: () => {
221
+ if (instance.options.manualFiltering || !instance._getFilteredRowModel) {
222
+ return instance.getPreFilteredRowModel();
308
223
  }
309
224
 
310
- return instance._getColumnFilteredRowModel();
225
+ return instance._getFilteredRowModel();
311
226
  },
312
- getPreGlobalFilteredRowModel: function getPreGlobalFilteredRowModel() {
313
- return instance.getColumnFilteredRowModel();
227
+ _getGlobalFacetedRowModel: instance.options.getFacetedRowModel && instance.options.getFacetedRowModel(instance, '__global__'),
228
+ getGlobalFacetedRowModel: () => {
229
+ if (instance.options.manualFiltering || !instance._getGlobalFacetedRowModel) {
230
+ return instance.getPreFilteredRowModel();
231
+ }
232
+
233
+ return instance._getGlobalFacetedRowModel();
314
234
  },
315
- getGlobalFilteredRowModel: function getGlobalFilteredRowModel() {
316
- if (!instance._getGlobalFilteredRowModel && instance.options.getGlobalFilteredRowModel) {
317
- instance._getGlobalFilteredRowModel = instance.options.getGlobalFilteredRowModel(instance);
235
+ _getGlobalFacetedUniqueValues: instance.options.getFacetedUniqueValues && instance.options.getFacetedUniqueValues(instance, '__global__'),
236
+ getGlobalFacetedUniqueValues: () => {
237
+ if (!instance._getGlobalFacetedUniqueValues) {
238
+ return new Map();
318
239
  }
319
240
 
320
- if (instance.options.manualGlobalFiltering || !instance._getGlobalFilteredRowModel) {
321
- return instance.getPreGlobalFilteredRowModel();
241
+ return instance._getGlobalFacetedUniqueValues();
242
+ },
243
+ _getGlobalFacetedMinMaxValues: instance.options.getFacetedMinMaxValues && instance.options.getFacetedMinMaxValues(instance, '__global__'),
244
+ getGlobalFacetedMinMaxValues: () => {
245
+ if (!instance._getGlobalFacetedMinMaxValues) {
246
+ return [NaN, NaN];
322
247
  }
323
248
 
324
- return instance._getGlobalFilteredRowModel();
249
+ return instance._getGlobalFacetedMinMaxValues();
325
250
  }
326
251
  };
327
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\n/*\nA filter function is any function that takes an array of rows and returns an array of rows. Because filter functions can be used for both column and global filters, they are passed an array of columnIds to filter on. \n*/\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getColumnIsFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (updater: Updater<any>) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n\n // Column\n manualColumnFiltering?: boolean\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n // Global\n manualGlobalFiltering?: boolean\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, updater: Updater<any>) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: true,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterFn: column.filterFn,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterFns = instance.options.filterFns\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n debugger\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n (column.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n (column.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualColumnFiltering ||\n !instance._getColumnFilteredRowModel\n ) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (\n instance.options.manualGlobalFiltering ||\n !instance._getGlobalFilteredRowModel\n ) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","state","_extends","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnFilterIndex","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","createInstance","getColumnAutoFilterFn","columnId","firstRow","filterFns","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterFns","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","shouldAutoRemoveFilter","setGlobalFilter","resetGlobalFilter","initialState","enableColumnFilter","enableColumnFilters","accessorFn","enableGlobalFilter","getState","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","resetColumnFilters","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","manualColumnFiltering","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","manualGlobalFiltering","autoRemove"],"mappings":";;;;;;;;;;;;;;;;;;AAkIA;AAEO,IAAMA,OAAqB,GAAG;AACnCC,EAAAA,gBAAgB,EAAE,SAEkB,gBAAA,GAAA;AAClC,IAAO,OAAA;AACLC,MAAAA,QAAQ,EAAE,MAAA;AADL,KAAP,CAAA;AAGD,GAPkC;AASnCC,EAAAA,eAAe,EAAE,SAACC,eAAAA,CAAAA,KAAD,EAA8B;AAC7C,IAAA,OAAAC,oCAAA,CAAA;AACEC,MAAAA,aAAa,EAAE,EADjB;AAEEC,MAAAA,YAAY,EAAEC,SAFhB;AAGEC,MAAAA,qBAAqB,EAAE,CAHzB;AAIEC,MAAAA,oBAAoB,EAAE,CAAA;AAJxB,KAAA,EAKKN,KALL,CAAA,CAAA;AAOD,GAjBkC;AAmBnCO,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEa;AAC9B,IAAO,OAAA;AACLC,MAAAA,qBAAqB,EAAEC,sBAAgB,CAAC,eAAD,EAAkBF,QAAlB,CADlC;AAELG,MAAAA,oBAAoB,EAAED,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CAFjC;AAGLI,MAAAA,kBAAkB,EAAE,IAHf;AAILC,MAAAA,cAAc,EAAE,MAJX;AAKLC,MAAAA,wBAAwB,EAAE,SAAAC,wBAAAA,CAAAA,MAAM,EAAI;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAClC,QAAMC,IAAAA,KAAK,4BAAGR,QAAQ,CACnBS,eADW,EAEXC,CAAAA,QAFW,CAEF,CAFE,CAAH,+CAAG,qBAEEC,CAAAA,qBAFF,GAE0BJ,MAAM,CAACK,EAFjC,CAAH,KAAA,IAAA,GAAA,KAAA,CAAA,GAAG,uBAEsCJ,KAFpD,CAAA;AAIA,QAAO,OAAA,OAAOA,KAAP,KAAiB,QAAxB,CAAA;AACD,OAAA;AAXI,KAAP,CAAA;AAaD,GAnCkC;AAqCnCK,EAAAA,YAAY,EAAE,SAAA,YAAA,CACZN,MADY,EAEZP,QAFY,EAGiB;AAC7B,IAAMc,IAAAA,YAAY,GAAGC,UAAI,CACvB,YAAA;AAAA,MAAA,OAAM,CAACR,MAAM,CAACS,kBAAP,EAAD,CAAN,CAAA;AAAA,KADuB,EAEvB,UAACC,IAAD,EAAe;AAAA,MAAA,IAAA,qBAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,OAAA,CAAA;;AAAA,MAAA,IAAdA,IAAc,KAAA,KAAA,CAAA,EAAA;AAAdA,QAAAA,IAAc,GAAP,EAAO,CAAA;AAAA,OAAA;;AACb,MAAA,IAAIC,uBAAuB,GAAG,IAAIC,GAAJ,EAA9B,CAAA;AAEA,MAAA,IAAIC,uBAAmC,GAAG,CACxCH,CAAAA,qBAAAA,GAAAA,CAAAA,MAAAA,GAAAA,IAAI,CAAC,CAAD,CADoC,KACxC,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAASI,MAAT,CAAgBd,MAAM,CAACK,EAAvB,CADwC,KAAA,IAAA,GAAA,qBAAA,GACV,IADU,EAAA,CAAA,sBAAA,GAAA,CAAA,OAAA,GAExCK,IAAI,CAAC,CAAD,CAFoC,qBAExC,OAASI,CAAAA,MAAT,CAAgBd,MAAM,CAACK,EAAvB,CAFwC,KAAA,IAAA,GAAA,sBAAA,GAEV,IAFU,CAA1C,CAAA;;AAKA,MAAA,KAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,IAAI,CAACM,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AAAA,QAAA,IAAA,OAAA,CAAA;;AACpC,QAAA,IAAMd,MAAK,GAAA,CAAA,OAAA,GAAGS,IAAI,CAACK,CAAD,CAAP,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAASD,MAAT,CAAgBd,MAAM,CAACK,EAAvB,CAAd,CAAA;;AAEA,QAAA,IAAIM,uBAAuB,CAACM,GAAxB,CAA4BhB,MAA5B,CAAJ,EAAwC;AAAA,UAAA,IAAA,qBAAA,CAAA;;AACtCU,UAAAA,uBAAuB,CAACO,GAAxB,CACEjB,MADF,EAEE,CAACU,CAAAA,qBAAAA,GAAAA,uBAAuB,CAACQ,GAAxB,CAA4BlB,MAA5B,CAAD,KAAuC,IAAA,GAAA,qBAAA,GAAA,CAAvC,IAA4C,CAF9C,CAAA,CAAA;AAID,SALD,MAKO;AACLU,UAAAA,uBAAuB,CAACO,GAAxB,CAA4BjB,MAA5B,EAAmC,CAAnC,CAAA,CAAA;AACD,SAAA;;AAED,QAAA,IAAIA,MAAK,GAAGY,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AACtCA,UAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BZ,MAA7B,CAAA;AACD,SAFD,MAEO,IAAIA,MAAK,GAAGY,uBAAuB,CAAC,CAAD,CAAnC,EAAwC;AAC7CA,UAAAA,uBAAuB,CAAC,CAAD,CAAvB,GAA6BZ,MAA7B,CAAA;AACD,SAAA;AACF,OAAA;;AAED,MAAO,OAAA;AACLU,QAAAA,uBAAuB,EAAvBA,uBADK;AAELE,QAAAA,uBAAuB,EAAvBA,uBAAAA;AAFK,OAAP,CAAA;AAID,KAjCsB,EAkCvB;AACEO,MAAAA,GAAG,EAAE,qBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAM5B,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBC,QAAvB,oCAAmC9B,QAAQ,CAAC6B,OAAT,CAAiBE,YAApD,CAAA;AAAA,OAAA;AAFT,KAlCuB,CAAzB,CAAA;AAwCA,IAAO,OAAA;AACLzC,MAAAA,QAAQ,EAAEiB,MAAM,CAACjB,QADZ;AAEL0C,MAAAA,kBAAkB,EAAE,SAAA,kBAAA,GAAA;AAAA,QAAA,OAAMhC,QAAQ,CAACiC,wBAAT,CAAkC1B,MAAM,CAACK,EAAzC,CAAN,CAAA;AAAA,OAFf;AAGLsB,MAAAA,kBAAkB,EAAE,SAAA,kBAAA,GAAA;AAAA,QAAA,OAAMlC,QAAQ,CAACM,wBAAT,CAAkCC,MAAM,CAACK,EAAzC,CAAN,CAAA;AAAA,OAHf;AAILuB,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,GAAA;AAAA,QAAA,OAAMnC,QAAQ,CAACmC,oBAAT,CAA8B5B,MAAM,CAACK,EAArC,CAAN,CAAA;AAAA,OAJjB;AAKLwB,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,GAAA;AAAA,QAAA,OAAMpC,QAAQ,CAACoC,mBAAT,CAA6B7B,MAAM,CAACK,EAApC,CAAN,CAAA;AAAA,OALhB;AAMLyB,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,GAAA;AAAA,QAAA,OAAMrC,QAAQ,CAACqC,oBAAT,CAA8B9B,MAAM,CAACK,EAArC,CAAN,CAAA;AAAA,OANjB;AAOL0B,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,CAAAC,GAAG,EAAA;AAAA,QACvBvC,OAAAA,QAAQ,CAACsC,oBAAT,CAA8B/B,MAAM,CAACK,EAArC,EAAyC2B,GAAzC,CADuB,CAAA;AAAA,OAPpB;AASLC,MAAAA,0BAA0B,EAAE,SAAA,0BAAA,GAAA;AAAA,QAAM1B,OAAAA,YAAY,GAAGI,uBAArB,CAAA;AAAA,OATvB;AAULuB,MAAAA,0BAA0B,EAAE,SAAA,0BAAA,GAAA;AAAA,QAAM3B,OAAAA,YAAY,GAAGM,uBAArB,CAAA;AAAA,OAVvB;AAWLJ,MAAAA,kBAAkB,EAAE,SAAA,kBAAA,GAAA;AAAA,QAAA,OAAMpB,SAAN,CAAA;AAAA,OAAA;AAXf,KAAP,CAAA;AAaD,GA9FkC;AAgGnC8C,EAAAA,cAAc,EAAE,SACd1C,cAAAA,CAAAA,QADc,EAEiB;AAC/B,IAAO,OAAA;AACL2C,MAAAA,qBAAqB,EAAE,SAAAC,qBAAAA,CAAAA,QAAQ,EAAI;AACjC,QAAMC,IAAAA,QAAQ,GAAG7C,QAAQ,CAACS,eAAT,EAA2BC,CAAAA,QAA3B,CAAoC,CAApC,CAAjB,CAAA;AAEA,QAAMF,IAAAA,KAAK,GAAGqC,QAAH,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGA,QAAQ,CAAExB,MAAV,CAAiBuB,QAAjB,CAAd,CAAA;;AAEA,QAAA,IAAI,OAAOpC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAOsC,OAAAA,mBAAS,CAACC,cAAjB,CAAA;AACD,SAAA;;AAED,QAAA,IAAI,OAAOvC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,UAAOsC,OAAAA,mBAAS,CAACE,kBAAjB,CAAA;AACD,SAAA;;AAED,QAAIxC,IAAAA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAvC,EAAiD;AAC/C,UAAOsC,OAAAA,mBAAS,CAACG,MAAjB,CAAA;AACD,SAAA;;AAED,QAAA,IAAIC,KAAK,CAACC,OAAN,CAAc3C,KAAd,CAAJ,EAA0B;AACxB,UAAOsC,OAAAA,mBAAS,CAACM,WAAjB,CAAA;AACD,SAAA;;AAED,QAAON,OAAAA,mBAAS,CAACO,UAAjB,CAAA;AACD,OAvBI;AAwBLC,MAAAA,qBAAqB,EAAE,SAAM,qBAAA,GAAA;AAC3B,QAAOR,OAAAA,mBAAS,CAACC,cAAjB,CAAA;AACD,OA1BI;AA2BLQ,MAAAA,iBAAiB,EAAE,SAAAX,iBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,IAAA,CAAA;;AAC7B,QAAA,IAAMrC,MAAM,GAAGP,QAAQ,CAACwD,SAAT,CAAmBZ,QAAnB,CAAf,CAAA;AACA,QAAA,IAAMa,aAAa,GAAGzD,QAAQ,CAAC6B,OAAT,CAAiBiB,SAAvC,CAAA;;AAEA,QAAI,IAAA,CAACvC,MAAL,EAAa;AACX,UAAM,MAAA,IAAImD,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAOC,gBAAU,CAACpD,MAAM,CAACjB,QAAR,CAAV,GACHiB,MAAM,CAACjB,QADJ,GAEHiB,MAAM,CAACjB,QAAP,KAAoB,MAApB,GACAU,QAAQ,CAAC2C,qBAAT,CAA+BC,QAA/B,CADA,GAAA,CAAA,IAAA,GAECa,aAFD,IAAA,IAAA,GAAA,KAAA,CAAA,GAECA,aAAD,CACElD,MAAM,CAACjB,QADT,CAFA,KAKCwD,IAAAA,GAAAA,IAAAA,GAAAA,mBAAS,CACRvC,MAAM,CAACjB,QADC,CAPd,CAAA;AAUD,OA7CI;AA+CLsE,MAAAA,iBAAiB,EAAE,SAAM,iBAAA,GAAA;AAAA,QAAA,IAAA,KAAA,CAAA;;AACvB,QACE5D,IAAAA,iBAAAA,GAAAA,QAAQ,CAAC6B,OADX;AAAA,YAAmB4B,aAAnB,qBAAQX,SAAR;AAAA,YAAkDzC,cAAlD,qBAAkCA,cAAlC,CAAA;AAGA,QAAA,SAAA;AAEA,QAAOsD,OAAAA,gBAAU,CAACtD,cAAD,CAAV,GACHA,cADG,GAEHA,cAAc,KAAK,MAAnB,GACAL,QAAQ,CAACsD,qBAAT,EADA,GAAA,CAAA,KAAA,GAECG,aAFD,IAAA,IAAA,GAAA,KAAA,CAAA,GAECA,aAAD,CACEpD,cADF,CAFA,KAKCyC,IAAAA,GAAAA,KAAAA,GAAAA,mBAAS,CACRzC,cADQ,CAPd,CAAA;AAUD,OA/DI;AAiELwD,MAAAA,gBAAgB,EAAE,SAACC,gBAAAA,CAAAA,OAAD,EAA0C;AAC1D,QAAA,IAAMC,WAAW,GAAG/D,QAAQ,CAACgE,iBAAT,EAApB,CAAA;;AAEA,QAAA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAA6B;AAAA,UAAA,IAAA,iBAAA,CAAA;;AAC5C,UAAA,OAAA,CAAA,iBAAA,GAAOC,sBAAgB,CAACL,OAAD,EAAUI,GAAV,CAAvB,KAAO,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAgCE,MAAhC,CAAuC,UAAAA,MAAM,EAAI;AACtD,YAAA,IAAM7D,MAAM,GAAGwD,WAAW,CAACM,IAAZ,CAAiB,UAAAC,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,CAAC1D,EAAF,KAASwD,MAAM,CAACxD,EAApB,CAAA;AAAA,aAAlB,CAAf,CAAA;;AAEA,YAAA,IAAIL,MAAJ,EAAY;AACV,cAAMjB,IAAAA,QAAQ,GAAGU,QAAQ,CAACuD,iBAAT,CAA2BhD,MAAM,CAACK,EAAlC,CAAjB,CAAA;;AAEA,cAAI2D,IAAAA,sBAAsB,CAACjF,QAAD,EAAW8E,MAAM,CAAC5D,KAAlB,EAAyBD,MAAzB,CAA1B,EAA4D;AAC1D,gBAAA,OAAO,KAAP,CAAA;AACD,eAAA;AACF,aAAA;;AAED,YAAA,OAAO,IAAP,CAAA;AACD,WAZM,CAAP,CAAA;AAaD,SAdD,CAAA;;AAgBAP,QAAAA,QAAQ,CAAC6B,OAAT,CAAiB5B,qBAAjB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAD,QAAQ,CAAC6B,OAAT,CAAiB5B,qBAAjB,CAAyCgE,QAAzC,CAAA,CAAA;AACD,OArFI;AAuFLO,MAAAA,eAAe,EAAE,SAAAV,eAAAA,CAAAA,OAAO,EAAI;AAC1B9D,QAAAA,QAAQ,CAAC6B,OAAT,CAAiB1B,oBAAjB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAH,QAAQ,CAAC6B,OAAT,CAAiB1B,oBAAjB,CAAwC2D,OAAxC,CAAA,CAAA;AACD,OAzFI;AA2FLW,MAAAA,iBAAiB,EAAE,SAAM,iBAAA,GAAA;AACvBzE,QAAAA,QAAQ,CAACwE,eAAT,CAAyBxE,QAAQ,CAAC0E,YAAT,CAAsB/E,YAA/C,CAAA,CAAA;AACD,OA7FI;AA+FLsC,MAAAA,wBAAwB,EAAE,SAAAW,wBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,qBAAA,EAAA,qBAAA,CAAA;;AACpC,QAAA,IAAMrC,MAAM,GAAGP,QAAQ,CAACwD,SAAT,CAAmBZ,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACrC,MAAL,EAAa;AACX,UAAM,MAAA,IAAImD,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OACE,0BAACnD,MAAM,CAACoE,kBAAR,KAA8B,IAAA,GAAA,qBAAA,GAAA,IAA9B,+BACC3E,QAAQ,CAAC6B,OAAT,CAAiB+C,mBADlB,oCACyC,IADzC,CAAA,IAEA,CAAC,CAACrE,MAAM,CAACsE,UAHX,CAAA;AAKD,OA3GI;AA6GLvE,MAAAA,wBAAwB,EAAE,SAAAsC,wBAAAA,CAAAA,QAAQ,EAAI;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,EAAA,qBAAA,CAAA;;AACpC,QAAA,IAAMrC,MAAM,GAAGP,QAAQ,CAACwD,SAAT,CAAmBZ,QAAnB,CAAf,CAAA;;AAEA,QAAI,IAAA,CAACrC,MAAL,EAAa;AACX,UAAM,MAAA,IAAImD,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OACE,0BAACnD,MAAM,CAACuE,kBAAR,KAAA,IAAA,GAAA,qBAAA,GAA8B,IAA9B,MACC9E,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC6B,OAAT,CAAiBiD,kBADlB,KAAA,IAAA,GAAA,sBAAA,GACwC,IADxC,CAAA,KAAA,CAAA,qBAAA,GAEC9E,QAAQ,CAAC6B,OAAT,CAAiBvB,wBAFlB,oBAECN,QAAQ,CAAC6B,OAAT,CAAiBvB,wBAAjB,CAA4CC,MAA5C,CAFD,KAAA,IAAA,GAAA,qBAAA,GAEwD,IAFxD,CAGA,IAAA,CAAC,CAACA,MAAM,CAACsE,UAJX,CAAA;AAMD,OA1HI;AA4HLzC,MAAAA,mBAAmB,EAAE,SAAA,mBAAA,CAAAQ,QAAQ,EAAA;AAAA,QAAA,OAC3B5C,QAAQ,CAACmC,oBAAT,CAA8BS,QAA9B,CAAA,GAA0C,CAAC,CADhB,CAAA;AAAA,OA5HxB;AA+HLP,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,CAAAO,QAAQ,EAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AAAA,QAC5B5C,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC+E,QAAT,EAAoBrF,CAAAA,aADQ,+CAC5B,qBAAmC2E,CAAAA,IAAnC,CAAwC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC1D,EAAF,KAASgC,QAAb,CAAA;AAAA,SAAzC,CAD4B,KAC5B,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAiEpC,KADrC,CAAA;AAAA,OA/HzB;AAkIL2B,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,CAAAS,QAAQ,EAAA;AAAA,QAAA,IAAA,sBAAA,EAAA,sBAAA,CAAA;;AAAA,QAC5B5C,OAAAA,CAAAA,sBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC+E,QAAT,EAAoBrF,CAAAA,aADQ,qBAC5B,sBAAmCsF,CAAAA,SAAnC,CAA6C,UAAAV,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAAC1D,EAAF,KAASgC,QAAb,CAAA;AAAA,SAA9C,CAD4B,KAE5B,IAAA,GAAA,sBAAA,GAAA,CAAC,CAF2B,CAAA;AAAA,OAlIzB;AAsILN,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,CAACM,QAAD,EAAWpC,KAAX,EAAqB;AACzC,QAAI,IAAA,CAACoC,QAAL,EAAe,OAAA;AAEf5C,QAAAA,QAAQ,CAAC6D,gBAAT,CAA0B,UAAAK,GAAG,EAAI;AAC/B,UAAA,IAAM3D,MAAM,GAAGP,QAAQ,CAACwD,SAAT,CAAmBZ,QAAnB,CAAf,CAAA;;AAEA,UAAI,IAAA,CAACrC,MAAL,EAAa;AACX,YAAA,IAAI0E,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,cAAAA,OAAO,CAACC,IAAR,CAAA,0CAAA,GAC6CzC,QAD7C,CAAA,CAAA;AAGD,aAAA;;AACD,YAAM,MAAA,IAAIc,KAAJ,EAAN,CAAA;AACD,WAAA;;AAED,UAAMpE,IAAAA,QAAQ,GAAGU,QAAQ,CAACuD,iBAAT,CAA2BhD,MAAM,CAACK,EAAlC,CAAjB,CAAA;AACA,UAAM0E,IAAAA,cAAc,GAAGpB,GAAH,IAAA,IAAA,GAAA,KAAA,CAAA,GAAGA,GAAG,CAAEG,IAAL,CAAU,UAAAC,CAAC,EAAA;AAAA,YAAA,OAAIA,CAAC,CAAC1D,EAAF,KAASgC,QAAb,CAAA;AAAA,WAAX,CAAvB,CAAA;AAEA,UAAA,IAAM2C,SAAS,GAAGpB,sBAAgB,CAChC3D,KADgC,EAEhC8E,cAAc,GAAGA,cAAc,CAAC9E,KAAlB,GAA0BZ,SAFR,CAAlC,CAf+B;;AAqB/B,UACE2E,IAAAA,sBAAsB,CACpBjF,QADoB,EAEpBiG,SAFoB,EAGpBhF,MAHoB,CADxB,EAME;AAAA,YAAA,IAAA,WAAA,CAAA;;AACA,YAAA,OAAA,CAAA,WAAA,GAAO2D,GAAP,IAAOA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAG,CAAEE,MAAL,CAAY,UAAAE,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,CAAC1D,EAAF,KAASgC,QAAb,CAAA;AAAA,aAAb,CAAP,0BAA8C,EAA9C,CAAA;AACD,WAAA;;AAED,UAAA,IAAM4C,YAAY,GAAG;AAAE5E,YAAAA,EAAE,EAAEgC,QAAN;AAAgBpC,YAAAA,KAAK,EAAE+E,SAAAA;AAAvB,WAArB,CAAA;;AAEA,UAAA,IAAID,cAAJ,EAAoB;AAAA,YAAA,IAAA,QAAA,CAAA;;AAClB,YACEpB,OAAAA,CAAAA,QAAAA,GAAAA,GADF,oBACEA,GAAG,CAAEuB,GAAL,CAAS,UAAAnB,CAAC,EAAI;AACZ,cAAA,IAAIA,CAAC,CAAC1D,EAAF,KAASgC,QAAb,EAAuB;AACrB,gBAAA,OAAO4C,YAAP,CAAA;AACD,eAAA;;AACD,cAAA,OAAOlB,CAAP,CAAA;AACD,aALD,CADF,uBAMQ,EANR,CAAA;AAQD,WAAA;;AAED,UAAA,IAAIJ,GAAJ,IAAA,IAAA,IAAIA,GAAG,CAAE3C,MAAT,EAAiB;AACf,YAAW2C,OAAAA,EAAAA,CAAAA,MAAAA,CAAAA,GAAX,GAAgBsB,YAAhB,CAAA,CAAA,CAAA;AACD,WAAA;;AAED,UAAO,OAAA,CAACA,YAAD,CAAP,CAAA;AACD,SAjDD,CAAA,CAAA;AAkDD,OA3LI;AA6LLE,MAAAA,kBAAkB,EAAE,SAAM,kBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AACxB1F,QAAAA,QAAQ,CAAC6D,gBAAT,CAA0B7D,CAAAA,qBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAAC0E,YAAnC,KAA0B,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAuBhF,aAAjD,KAAA,IAAA,GAAA,qBAAA,GAAkE,EAAlE,CAAA,CAAA;AACD,OA/LI;AAiMLiG,MAAAA,4BAA4B,EAAE,SAAA,4BAAA,GAAA;AAAA,QAAM3F,OAAAA,QAAQ,CAACS,eAAT,EAAN,CAAA;AAAA,OAjMzB;AAkMLmF,MAAAA,yBAAyB,EAAE,SAAM,yBAAA,GAAA;AAC/B,QACE,IAAA,CAAC5F,QAAQ,CAAC6F,0BAAV,IACA7F,QAAQ,CAAC6B,OAAT,CAAiB+D,yBAFnB,EAGE;AACA5F,UAAAA,QAAQ,CAAC6F,0BAAT,GACE7F,QAAQ,CAAC6B,OAAT,CAAiB+D,yBAAjB,CAA2C5F,QAA3C,CADF,CAAA;AAED,SAAA;;AAED,QACEA,IAAAA,QAAQ,CAAC6B,OAAT,CAAiBiE,qBAAjB,IACA,CAAC9F,QAAQ,CAAC6F,0BAFZ,EAGE;AACA,UAAO7F,OAAAA,QAAQ,CAAC2F,4BAAT,EAAP,CAAA;AACD,SAAA;;AAED,QAAO3F,OAAAA,QAAQ,CAAC6F,0BAAT,EAAP,CAAA;AACD,OAnNI;AAoNLE,MAAAA,4BAA4B,EAAE,SAAA,4BAAA,GAAA;AAAA,QAAM/F,OAAAA,QAAQ,CAAC4F,yBAAT,EAAN,CAAA;AAAA,OApNzB;AAqNLI,MAAAA,yBAAyB,EAAE,SAAM,yBAAA,GAAA;AAC/B,QACE,IAAA,CAAChG,QAAQ,CAACiG,0BAAV,IACAjG,QAAQ,CAAC6B,OAAT,CAAiBmE,yBAFnB,EAGE;AACAhG,UAAAA,QAAQ,CAACiG,0BAAT,GACEjG,QAAQ,CAAC6B,OAAT,CAAiBmE,yBAAjB,CAA2ChG,QAA3C,CADF,CAAA;AAED,SAAA;;AAED,QACEA,IAAAA,QAAQ,CAAC6B,OAAT,CAAiBqE,qBAAjB,IACA,CAAClG,QAAQ,CAACiG,0BAFZ,EAGE;AACA,UAAOjG,OAAAA,QAAQ,CAAC+F,4BAAT,EAAP,CAAA;AACD,SAAA;;AAED,QAAO/F,OAAAA,QAAQ,CAACiG,0BAAT,EAAP,CAAA;AACD,OAAA;AAtOI,KAAP,CAAA;AAwOD,GAAA;AA3UkC,EAA9B;AA8UA,SAAS1B,sBAAT,CACLjF,QADK,EAELkB,KAFK,EAGLD,MAHK,EAIL;AACA,EAAA,OACE,CAACjB,QAAQ,IAAIA,QAAQ,CAAC6G,UAArB,GACG7G,QAAQ,CAAC6G,UAAT,CAAoB3F,KAApB,EAA2BD,MAA3B,CADH,GAEG,KAFJ,KAGA,OAAOC,KAAP,KAAiB,WAHjB,IAIC,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KALjC,CAAA;AAOD;;;;;"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterFn, filterFns } from '../filterFns'\nimport {\n Column,\n OnChangeFn,\n TableGenerics,\n TableInstance,\n Row,\n Updater,\n TableFeature,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n // filtersProgress: number\n // facetProgress: Record<string, number>\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ResolvedColumnFilter<TGenerics extends TableGenerics> = {\n id: string\n resolvedValue: unknown\n filterFn: FilterFn<TGenerics>\n}\n\nexport type FilterFn<TGenerics extends TableGenerics> = {\n (row: Row<TGenerics>, columnId: string, filterValue: any): boolean\n resolveFilterValue?: TransformFilterValueFn<TGenerics>\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type TransformFilterValueFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => unknown\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends TableGenerics> = (\n value: any,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterFns<TGenerics extends TableGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FilterFnOption<TGenerics extends TableGenerics> =\n | 'auto'\n | BuiltInFilterFn\n | keyof TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends TableGenerics> = {\n filterFn?: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n enableFaceting?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends TableGenerics> = {\n filterFn: FilterFnOption<Overwrite<TGenerics, { Value: any }>>\n getAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getFilterFn: () => FilterFn<TGenerics> | undefined\n setFilterValue: (updater: Updater<any>) => void\n getCanFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getFacetedRowModel: () => RowModel<TGenerics>\n _getFacetedRowModel?: () => RowModel<TGenerics>\n getIsFiltered: () => boolean\n getFilterValue: () => unknown\n getFilterIndex: () => number\n getFacetedUniqueValues: () => Map<any, number>\n _getFacetedUniqueValues?: () => Map<any, number>\n getFacetedMinMaxValues: () => [any, any]\n _getFacetedMinMaxValues?: () => [any, any]\n}\n\nexport type FiltersRow<TGenerics extends TableGenerics> = {\n columnFilterMap: Record<string, boolean>\n subRowsByFacetId: Record<string, Row<TGenerics>[]>\n}\n\nexport type FiltersOptions<TGenerics extends TableGenerics> = {\n enableFilters?: boolean\n manualFiltering?: boolean\n filterFromLeafRows?: boolean\n filterFns?: TGenerics['FilterFns']\n getFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n enableColumnFilters?: boolean\n\n // Global\n globalFilterFn?: FilterFnOption<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilter?: boolean\n getColumnCanGlobalFilter?: (column: Column<TGenerics>) => boolean\n\n // Faceting\n getFacetedRowModel?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => RowModel<TGenerics>\n getFacetedUniqueValues?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => Map<any, number>\n getFacetedMinMaxValues?: (\n instance: TableInstance<TGenerics>,\n columnId: string\n ) => () => [number, number]\n}\n\nexport type FiltersInstance<TGenerics extends TableGenerics> = {\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n\n resetColumnFilters: () => void\n\n // Column Filters\n getPreFilteredRowModel: () => RowModel<TGenerics>\n getFilteredRowModel: () => RowModel<TGenerics>\n _getFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFacetedRowModel: () => RowModel<TGenerics>\n _getGlobalFacetedRowModel?: () => RowModel<TGenerics>\n getGlobalFacetedUniqueValues: () => Map<any, number>\n _getGlobalFacetedUniqueValues?: () => Map<any, number>\n getGlobalFacetedMinMaxValues: () => [number, number]\n _getGlobalFacetedMinMaxValues?: () => [number, number]\n}\n\n//\n\nexport const Filters: TableFeature = {\n getDefaultColumn: <\n TGenerics extends TableGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterFn: 'auto',\n }\n },\n\n getInitialState: (state): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n // filtersProgress: 1,\n // facetProgress: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n filterFromLeafRows: false,\n globalFilterFn: 'auto',\n getColumnCanGlobalFilter: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()\n [column.id]?.getValue()\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends TableGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n return {\n filterFn: column.filterFn,\n getAutoFilterFn: () => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'string') {\n return filterFns.includesString\n }\n\n if (typeof value === 'number') {\n return filterFns.inNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterFns.equals\n }\n\n if (Array.isArray(value)) {\n return filterFns.arrIncludes\n }\n\n return filterFns.weakEquals\n },\n getFilterFn: () => {\n const userFilterFns = instance.options.filterFns\n\n return isFunction(column.filterFn)\n ? column.filterFn\n : column.filterFn === 'auto'\n ? column.getAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n column.filterFn as string\n ] ??\n (filterFns[\n column.filterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n getCanFilter: () => {\n return (\n (column.enableColumnFilter ?? true) &&\n (instance.options.enableColumnFilters ?? true) &&\n (instance.options.enableFilters ?? true) &&\n !!column.accessorFn\n )\n },\n\n getCanGlobalFilter: () => {\n return (\n (column.enableGlobalFilter ?? true) &&\n (instance.options.enableGlobalFilter ?? true) &&\n (instance.options.enableFilters ?? true) &&\n (instance.options.getColumnCanGlobalFilter?.(column) ?? true) &&\n !!column.accessorFn\n )\n },\n\n getIsFiltered: () => column.getFilterIndex() > -1,\n\n getFilterValue: () =>\n instance.getState().columnFilters?.find(d => d.id === column.id)?.value,\n\n getFilterIndex: () =>\n instance.getState().columnFilters?.findIndex(d => d.id === column.id) ??\n -1,\n\n setFilterValue: value => {\n instance.setColumnFilters(old => {\n const filterFn = column.getFilterFn()\n const previousfilter = old?.find(d => d.id === column.id)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== column.id) ?? []\n }\n\n const newFilterObj = { id: column.id, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === column.id) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n _getFacetedRowModel:\n instance.options.getFacetedRowModel &&\n instance.options.getFacetedRowModel(instance, column.id),\n getFacetedRowModel: () => {\n if (!column._getFacetedRowModel) {\n return instance.getPreFilteredRowModel()\n }\n\n return column._getFacetedRowModel()\n },\n _getFacetedUniqueValues:\n instance.options.getFacetedUniqueValues &&\n instance.options.getFacetedUniqueValues(instance, column.id),\n getFacetedUniqueValues: () => {\n if (!column._getFacetedUniqueValues) {\n return new Map()\n }\n\n return column._getFacetedUniqueValues()\n },\n _getFacetedMinMaxValues:\n instance.options.getFacetedMinMaxValues &&\n instance.options.getFacetedMinMaxValues(instance, column.id),\n getFacetedMinMaxValues: () => {\n if (!column._getFacetedMinMaxValues) {\n return [NaN, NaN]\n }\n\n return column._getFacetedMinMaxValues()\n },\n // () => [column.getFacetedRowModel()],\n // facetedRowModel => getRowModelMinMaxValues(facetedRowModel, column.id),\n }\n },\n\n createRow: <TGenerics extends TableGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersRow<TGenerics> => {\n return {\n columnFilterMap: {},\n subRowsByFacetId: {},\n }\n },\n\n createInstance: <TGenerics extends TableGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n return {\n getGlobalAutoFilterFn: () => {\n return filterFns.includesString\n },\n\n getGlobalFilterFn: () => {\n const { filterFns: userFilterFns, globalFilterFn: globalFilterFn } =\n instance.options\n\n return isFunction(globalFilterFn)\n ? globalFilterFn\n : globalFilterFn === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterFns as Record<string, any>)?.[\n globalFilterFn as string\n ] ??\n (filterFns[\n globalFilterFn as BuiltInFilterFn\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = column.getFilterFn()\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(updateFn)\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(updater)\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n _getFilteredRowModel:\n instance.options.getFilteredRowModel &&\n instance.options.getFilteredRowModel(instance),\n getFilteredRowModel: () => {\n if (\n instance.options.manualFiltering ||\n !instance._getFilteredRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getFilteredRowModel()\n },\n\n _getGlobalFacetedRowModel:\n instance.options.getFacetedRowModel &&\n instance.options.getFacetedRowModel(instance, '__global__'),\n\n getGlobalFacetedRowModel: () => {\n if (\n instance.options.manualFiltering ||\n !instance._getGlobalFacetedRowModel\n ) {\n return instance.getPreFilteredRowModel()\n }\n\n return instance._getGlobalFacetedRowModel()\n },\n\n _getGlobalFacetedUniqueValues:\n instance.options.getFacetedUniqueValues &&\n instance.options.getFacetedUniqueValues(instance, '__global__'),\n getGlobalFacetedUniqueValues: () => {\n if (!instance._getGlobalFacetedUniqueValues) {\n return new Map()\n }\n\n return instance._getGlobalFacetedUniqueValues()\n },\n\n _getGlobalFacetedMinMaxValues:\n instance.options.getFacetedMinMaxValues &&\n instance.options.getFacetedMinMaxValues(instance, '__global__'),\n getGlobalFacetedMinMaxValues: () => {\n if (!instance._getGlobalFacetedMinMaxValues) {\n return [NaN, NaN]\n }\n\n return instance._getGlobalFacetedMinMaxValues()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends TableGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterFn","getInitialState","state","columnFilters","globalFilter","undefined","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","filterFromLeafRows","globalFilterFn","getColumnCanGlobalFilter","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","getValue","createColumn","getAutoFilterFn","firstRow","filterFns","includesString","inNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getFilterFn","userFilterFns","options","isFunction","getCanFilter","enableColumnFilter","enableColumnFilters","enableFilters","accessorFn","getCanGlobalFilter","enableGlobalFilter","getIsFiltered","getFilterIndex","getFilterValue","getState","find","d","findIndex","setFilterValue","setColumnFilters","old","previousfilter","newFilter","functionalUpdate","shouldAutoRemoveFilter","filter","newFilterObj","map","length","_getFacetedRowModel","getFacetedRowModel","getPreFilteredRowModel","_getFacetedUniqueValues","getFacetedUniqueValues","Map","_getFacetedMinMaxValues","getFacetedMinMaxValues","NaN","createRow","row","columnFilterMap","subRowsByFacetId","createInstance","getGlobalAutoFilterFn","getGlobalFilterFn","updater","leafColumns","getAllLeafColumns","updateFn","setGlobalFilter","resetGlobalFilter","initialState","resetColumnFilters","_getFilteredRowModel","getFilteredRowModel","manualFiltering","_getGlobalFacetedRowModel","getGlobalFacetedRowModel","_getGlobalFacetedUniqueValues","getGlobalFacetedUniqueValues","_getGlobalFacetedMinMaxValues","getGlobalFacetedMinMaxValues","autoRemove"],"mappings":"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"}