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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -78
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/build/cjs/index.js +96 -12
  4. package/build/cjs/index.js.map +1 -1
  5. package/build/esm/index.js +40 -3330
  6. package/build/esm/index.js.map +1 -1
  7. package/build/stats-html.html +1 -1
  8. package/build/stats-react.json +28 -632
  9. package/build/types/index.d.ts +13 -7
  10. package/build/umd/index.development.js +50 -3332
  11. package/build/umd/index.development.js.map +1 -1
  12. package/build/umd/index.production.js +1 -1
  13. package/build/umd/index.production.js.map +1 -1
  14. package/package.json +4 -1
  15. package/src/index.tsx +105 -7
  16. package/build/cjs/aggregationTypes.js +0 -130
  17. package/build/cjs/aggregationTypes.js.map +0 -1
  18. package/build/cjs/core.js +0 -493
  19. package/build/cjs/core.js.map +0 -1
  20. package/build/cjs/createTable.js +0 -103
  21. package/build/cjs/createTable.js.map +0 -1
  22. package/build/cjs/features/Expanding.js +0 -234
  23. package/build/cjs/features/Expanding.js.map +0 -1
  24. package/build/cjs/features/Filters.js +0 -396
  25. package/build/cjs/features/Filters.js.map +0 -1
  26. package/build/cjs/features/Grouping.js +0 -228
  27. package/build/cjs/features/Grouping.js.map +0 -1
  28. package/build/cjs/features/Headers.js +0 -483
  29. package/build/cjs/features/Headers.js.map +0 -1
  30. package/build/cjs/features/Ordering.js +0 -83
  31. package/build/cjs/features/Ordering.js.map +0 -1
  32. package/build/cjs/features/Pinning.js +0 -163
  33. package/build/cjs/features/Pinning.js.map +0 -1
  34. package/build/cjs/features/Sorting.js +0 -269
  35. package/build/cjs/features/Sorting.js.map +0 -1
  36. package/build/cjs/features/Visibility.js +0 -160
  37. package/build/cjs/features/Visibility.js.map +0 -1
  38. package/build/cjs/filterTypes.js +0 -172
  39. package/build/cjs/filterTypes.js.map +0 -1
  40. package/build/cjs/sortTypes.js +0 -121
  41. package/build/cjs/sortTypes.js.map +0 -1
  42. package/build/cjs/utils/columnFilterRowsFn.js +0 -130
  43. package/build/cjs/utils/columnFilterRowsFn.js.map +0 -1
  44. package/build/cjs/utils/expandRowsFn.js +0 -38
  45. package/build/cjs/utils/expandRowsFn.js.map +0 -1
  46. package/build/cjs/utils/globalFilterRowsFn.js +0 -100
  47. package/build/cjs/utils/globalFilterRowsFn.js.map +0 -1
  48. package/build/cjs/utils/groupRowsFn.js +0 -154
  49. package/build/cjs/utils/groupRowsFn.js.map +0 -1
  50. package/build/cjs/utils/sortRowsFn.js +0 -93
  51. package/build/cjs/utils/sortRowsFn.js.map +0 -1
  52. package/build/cjs/utils.js +0 -143
  53. package/build/cjs/utils.js.map +0 -1
  54. package/build/types/aggregationTypes.d.ts +0 -22
  55. package/build/types/core.d.ts +0 -122
  56. package/build/types/createTable.d.ts +0 -35
  57. package/build/types/features/Expanding.d.ts +0 -52
  58. package/build/types/features/Filters.d.ts +0 -93
  59. package/build/types/features/Grouping.d.ts +0 -82
  60. package/build/types/features/Headers.d.ts +0 -41
  61. package/build/types/features/Ordering.d.ts +0 -19
  62. package/build/types/features/Pinning.d.ts +0 -39
  63. package/build/types/features/Sorting.d.ts +0 -75
  64. package/build/types/features/Visibility.d.ts +0 -47
  65. package/build/types/filterTypes.d.ts +0 -50
  66. package/build/types/sortTypes.d.ts +0 -17
  67. package/build/types/types.d.ts +0 -122
  68. package/build/types/utils/columnFilterRowsFn.d.ts +0 -2
  69. package/build/types/utils/expandRowsFn.d.ts +0 -2
  70. package/build/types/utils/globalFilterRowsFn.d.ts +0 -2
  71. package/build/types/utils/groupRowsFn.d.ts +0 -2
  72. package/build/types/utils/sortRowsFn.d.ts +0 -2
  73. package/build/types/utils.d.ts +0 -24
  74. package/src/aggregationTypes.ts +0 -115
  75. package/src/core.tsx +0 -1194
  76. package/src/createTable.tsx +0 -181
  77. package/src/features/Expanding.ts +0 -388
  78. package/src/features/Filters.ts +0 -707
  79. package/src/features/Grouping.ts +0 -451
  80. package/src/features/Headers.ts +0 -907
  81. package/src/features/Ordering.ts +0 -134
  82. package/src/features/Pinning.ts +0 -213
  83. package/src/features/Sorting.ts +0 -487
  84. package/src/features/Visibility.ts +0 -281
  85. package/src/features/withColumnResizing.oldts +0 -281
  86. package/src/features/withPagination.oldts +0 -208
  87. package/src/features/withRowSelection.oldts +0 -467
  88. package/src/filterTypes.ts +0 -251
  89. package/src/sortTypes.ts +0 -159
  90. package/src/types.ts +0 -285
  91. package/src/utils/columnFilterRowsFn.ts +0 -162
  92. package/src/utils/expandRowsFn.ts +0 -53
  93. package/src/utils/globalFilterRowsFn.ts +0 -129
  94. package/src/utils/groupRowsFn.ts +0 -196
  95. package/src/utils/sortRowsFn.ts +0 -115
  96. package/src/utils.tsx +0 -243
@@ -1,160 +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
- }, 'getVisibleFlatColumns', instance.options.debug),
71
- getVisibleLeafColumns: utils.memo(function () {
72
- return [instance.getAllLeafColumns(), instance.getAllLeafColumns().filter(function (d) {
73
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
74
- }).map(function (d) {
75
- return d.id;
76
- }).join('_')];
77
- }, function (allFlatColumns) {
78
- return allFlatColumns.filter(function (d) {
79
- return d.getIsVisible == null ? void 0 : d.getIsVisible();
80
- });
81
- }, 'getVisibleLeafColumns', instance.options.debug),
82
- setColumnVisibility: function setColumnVisibility(updater) {
83
- return instance.options.onColumnVisibilityChange == null ? void 0 : instance.options.onColumnVisibilityChange(updater, utils.functionalUpdate(updater, instance.getState().columnVisibility));
84
- },
85
- toggleColumnVisibility: function toggleColumnVisibility(columnId, value) {
86
- if (!columnId) return;
87
-
88
- if (instance.getColumnCanHide(columnId)) {
89
- instance.setColumnVisibility(function (old) {
90
- var _extends2;
91
-
92
- return _rollupPluginBabelHelpers["extends"]({}, old, (_extends2 = {}, _extends2[columnId] = value != null ? value : !instance.getColumnIsVisible(columnId), _extends2));
93
- });
94
- }
95
- },
96
- toggleAllColumnsVisible: function toggleAllColumnsVisible(value) {
97
- var _value;
98
-
99
- value = (_value = value) != null ? _value : !instance.getIsAllColumnsVisible();
100
- instance.setColumnVisibility(instance.getAllLeafColumns().reduce(function (obj, column) {
101
- var _extends3;
102
-
103
- return _rollupPluginBabelHelpers["extends"]({}, obj, (_extends3 = {}, _extends3[column.id] = !value ? !(column.getCanHide != null && column.getCanHide()) : value, _extends3));
104
- }, {}));
105
- },
106
- getColumnIsVisible: function getColumnIsVisible(columnId) {
107
- var _ref, _instance$getState$co, _instance$getState$co2;
108
-
109
- var column = instance.getColumn(columnId);
110
-
111
- if (!column) {
112
- throw new Error();
113
- }
114
-
115
- 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;
116
- },
117
- getColumnCanHide: function getColumnCanHide(columnId) {
118
- var _ref2, _ref3, _instance$options$ena;
119
-
120
- var column = instance.getColumn(columnId);
121
-
122
- if (!column) {
123
- throw new Error();
124
- }
125
-
126
- return (_ref2 = (_ref3 = (_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : column.enableHiding) != null ? _ref3 : column.defaultCanHide) != null ? _ref2 : true;
127
- },
128
- getIsAllColumnsVisible: function getIsAllColumnsVisible() {
129
- return !instance.getAllLeafColumns().some(function (column) {
130
- return !(column.getIsVisible != null && column.getIsVisible());
131
- });
132
- },
133
- getIsSomeColumnsVisible: function getIsSomeColumnsVisible() {
134
- return instance.getAllLeafColumns().some(function (column) {
135
- return column.getIsVisible == null ? void 0 : column.getIsVisible();
136
- });
137
- },
138
- getToggleAllColumnsVisibilityProps: function getToggleAllColumnsVisibilityProps(userProps) {
139
- var props = {
140
- onChange: function onChange(e) {
141
- var _e$target;
142
-
143
- instance.toggleAllColumnsVisible((_e$target = e.target) == null ? void 0 : _e$target.checked);
144
- },
145
- type: 'checkbox',
146
- title: 'Toggle visibility for all columns',
147
- checked: instance.getIsAllColumnsVisible(),
148
- indeterminate: !instance.getIsAllColumnsVisible() && instance.getIsSomeColumnsVisible() ? 'indeterminate' : undefined
149
- };
150
- return utils.propGetter(props, userProps);
151
- }
152
- };
153
- }
154
-
155
- exports.createColumn = createColumn;
156
- exports.getDefaultColumn = getDefaultColumn;
157
- exports.getDefaultOptions = getDefaultOptions;
158
- exports.getInitialState = getInitialState;
159
- exports.getInstance = getInstance;
160
- //# 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 'getVisibleFlatColumns',\n 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 'getVisibleLeafColumns',\n 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","options","debug","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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"}
@@ -1,172 +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 filterTypes = {
16
- includesString: includesString,
17
- includesStringSensitive: includesStringSensitive,
18
- equalsString: equalsString,
19
- equalsStringSensitive: equalsStringSensitive,
20
- arrIncludes: arrIncludes,
21
- arrIncludesAll: arrIncludesAll,
22
- equals: equals,
23
- weakEquals: weakEquals,
24
- betweenNumberRange: betweenNumberRange
25
- };
26
-
27
- function includesString(rows, columnIds, filterValue) {
28
- var search = String(filterValue).toLowerCase();
29
- rows = rows.filter(function (row) {
30
- return columnIds.some(function (id) {
31
- return String(row.values[id]).toLowerCase().includes(search);
32
- });
33
- });
34
- return rows;
35
- }
36
-
37
- includesString.autoRemove = function (val) {
38
- return testFalsey(val);
39
- };
40
-
41
- function includesStringSensitive(rows, columnIds, filterValue) {
42
- var search = String(filterValue);
43
- rows = rows.filter(function (row) {
44
- return columnIds.some(function (id) {
45
- return String(row.values[id]).includes(search);
46
- });
47
- });
48
- return rows;
49
- }
50
-
51
- includesStringSensitive.autoRemove = function (val) {
52
- return testFalsey(val);
53
- };
54
-
55
- function equalsString(rows, columnIds, filterValue) {
56
- var search = String(filterValue).toLowerCase();
57
- return rows.filter(function (row) {
58
- return columnIds.some(function (id) {
59
- var rowValue = row.values[id];
60
- return rowValue !== undefined ? String(rowValue).toLowerCase() === search : true;
61
- });
62
- });
63
- }
64
-
65
- equalsString.autoRemove = function (val) {
66
- return testFalsey(val);
67
- };
68
-
69
- function equalsStringSensitive(rows, columnIds, filterValue) {
70
- var search = String(filterValue);
71
- return rows.filter(function (row) {
72
- return columnIds.some(function (id) {
73
- var rowValue = row.values[id];
74
- return rowValue !== undefined ? String(rowValue) === search : true;
75
- });
76
- });
77
- }
78
-
79
- equalsStringSensitive.autoRemove = function (val) {
80
- return testFalsey(val);
81
- };
82
-
83
- function arrIncludes(rows, columnIds, filterValue) {
84
- return rows.filter(function (row) {
85
- return columnIds.some(function (id) {
86
- var rowValue = row.values[id];
87
- return rowValue.includes(filterValue);
88
- });
89
- });
90
- }
91
-
92
- arrIncludes.autoRemove = function (val) {
93
- return testFalsey(val) || !(val != null && val.length);
94
- };
95
-
96
- function arrIncludesAll(rows, columnIds, filterValue) {
97
- return rows.filter(function (row) {
98
- return columnIds.some(function (id) {
99
- var rowValue = row.values[id];
100
- return rowValue && rowValue.length && filterValue.every(function (val) {
101
- return rowValue.includes(val);
102
- });
103
- });
104
- });
105
- }
106
-
107
- arrIncludesAll.autoRemove = function (val) {
108
- return testFalsey(val) || !(val != null && val.length);
109
- };
110
-
111
- function equals(rows, columnIds, filterValue) {
112
- return rows.filter(function (row) {
113
- return columnIds.some(function (id) {
114
- var rowValue = row.values[id];
115
- return rowValue === filterValue;
116
- });
117
- });
118
- }
119
-
120
- equals.autoRemove = function (val) {
121
- return testFalsey(val);
122
- };
123
-
124
- function weakEquals(rows, columnIds, filterValue) {
125
- return rows.filter(function (row) {
126
- return columnIds.some(function (id) {
127
- var rowValue = row.values[id]; // eslint-disable-next-line eqeqeq
128
-
129
- return rowValue == filterValue;
130
- });
131
- });
132
- }
133
-
134
- weakEquals.autoRemove = function (val) {
135
- return testFalsey(val);
136
- };
137
-
138
- function betweenNumberRange(rows, columnIds, filterValue) {
139
- var _ref = filterValue || [],
140
- unsafeMin = _ref[0],
141
- unsafeMax = _ref[1];
142
-
143
- var parsedMin = typeof unsafeMin !== 'number' ? parseFloat(unsafeMin) : unsafeMin;
144
- var parsedMax = typeof unsafeMax !== 'number' ? parseFloat(unsafeMax) : unsafeMax;
145
- var min = unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin;
146
- var max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax;
147
-
148
- if (min > max) {
149
- var temp = min;
150
- min = max;
151
- max = temp;
152
- }
153
-
154
- return rows.filter(function (row) {
155
- return columnIds.some(function (id) {
156
- var rowValue = row.values[id];
157
- return rowValue >= min && rowValue <= max;
158
- });
159
- });
160
- }
161
-
162
- betweenNumberRange.autoRemove = function (val) {
163
- return testFalsey(val) || testFalsey(val[0]) && testFalsey(val[1]);
164
- }; // Utils
165
-
166
-
167
- function testFalsey(val) {
168
- return val === undefined || val === null || val === '';
169
- }
170
-
171
- exports.filterTypes = filterTypes;
172
- //# sourceMappingURL=filterTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterTypes.js","sources":["../../src/filterTypes.ts"],"sourcesContent":["import { AccessorFn, Row } from './types'\n\nexport const filterTypes = {\n includesString,\n includesStringSensitive,\n equalsString,\n equalsStringSensitive,\n arrIncludes,\n arrIncludesAll,\n equals,\n weakEquals,\n betweenNumberRange,\n}\n\nexport type BuiltInFilterType = keyof typeof filterTypes\n\nfunction includesString<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue).toLowerCase()\n\n rows = rows.filter(row => {\n return columnIds.some(id => {\n return String(row.values[id]).toLowerCase().includes(search)\n })\n })\n return rows\n}\n\nincludesString.autoRemove = (val: any) => testFalsey(val)\n\nfunction includesStringSensitive<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue)\n\n rows = rows.filter(row => {\n return columnIds.some(id => {\n return String(row.values[id]).includes(search)\n })\n })\n return rows\n}\n\nincludesStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nfunction equalsString<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue).toLowerCase()\n\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === search\n : true\n })\n })\n}\n\nequalsString.autoRemove = (val: any) => testFalsey(val)\n\nfunction equalsStringSensitive<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n const search = String(filterValue)\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined ? String(rowValue) === search : true\n })\n })\n}\n\nequalsStringSensitive.autoRemove = (val: any) => testFalsey(val)\n\nfunction arrIncludes<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\narrIncludes.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nfunction arrIncludesAll<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown[]\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\narrIncludesAll.autoRemove = (val: any) => testFalsey(val) || !val?.length\n\nfunction equals<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nequals.autoRemove = (val: any) => testFalsey(val)\n\nfunction weakEquals<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: unknown\n) {\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nweakEquals.autoRemove = (val: any) => testFalsey(val)\n\nfunction betweenNumberRange<\n TData,\n TValue,\n TAccessor extends AccessorFn<TData>,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],\n columnIds: string[],\n filterValue: [unknown, unknown]\n) {\n let [unsafeMin, unsafeMax] = filterValue || []\n\n let parsedMin =\n typeof unsafeMin !== 'number' ? parseFloat(unsafeMin as string) : unsafeMin\n let parsedMax =\n typeof unsafeMax !== 'number' ? parseFloat(unsafeMax as string) : unsafeMax\n\n let min =\n unsafeMin === null || Number.isNaN(parsedMin) ? -Infinity : parsedMin\n let max = unsafeMax === null || Number.isNaN(parsedMax) ? Infinity : parsedMax\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return columnIds.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetweenNumberRange.autoRemove = (val: any) =>\n testFalsey(val) || (testFalsey(val[0]) && testFalsey(val[1]))\n\n// Utils\n\nfunction testFalsey(val: any) {\n return val === undefined || val === null || val === ''\n}\n"],"names":["filterTypes","includesString","includesStringSensitive","equalsString","equalsStringSensitive","arrIncludes","arrIncludesAll","equals","weakEquals","betweenNumberRange","rows","columnIds","filterValue","search","String","toLowerCase","filter","row","some","id","values","includes","autoRemove","val","testFalsey","rowValue","undefined","length","every","unsafeMin","unsafeMax","parsedMin","parseFloat","parsedMax","min","Number","isNaN","Infinity","max","temp"],"mappings":"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"}
@@ -1,121 +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 reSplitAlphaNumeric = /([0-9]+)/gm;
16
- var sortTypes = {
17
- alphanumeric: alphanumeric,
18
- alphanumericCaseSensitive: alphanumericCaseSensitive,
19
- text: text,
20
- textCaseSensitive: textCaseSensitive,
21
- datetime: datetime,
22
- basic: basic
23
- };
24
-
25
- function alphanumeric(rowA, rowB, columnId) {
26
- return compareAlphanumeric(toString(rowA.values[columnId]).toLowerCase(), toString(rowB.values[columnId]).toLowerCase());
27
- }
28
-
29
- function alphanumericCaseSensitive(rowA, rowB, columnId) {
30
- return compareAlphanumeric(toString(rowA.values[columnId]), toString(rowB.values[columnId]));
31
- } // Mixed sorting is slow, but very inclusive of many edge cases.
32
- // It handles numbers, mixed alphanumeric combinations, and even
33
- // null, undefined, and Infinity
34
-
35
-
36
- function compareAlphanumeric(aStr, bStr) {
37
- // Split on number groups, but keep the delimiter
38
- // Then remove falsey split values
39
- var a = aStr.split(reSplitAlphaNumeric).filter(Boolean);
40
- var b = bStr.split(reSplitAlphaNumeric).filter(Boolean); // While
41
-
42
- while (a.length && b.length) {
43
- var aa = a.shift();
44
- var bb = b.shift();
45
- var an = parseInt(aa, 10);
46
- var bn = parseInt(bb, 10);
47
- var combo = [an, bn].sort(); // Both are string
48
-
49
- if (isNaN(combo[0])) {
50
- if (aa > bb) {
51
- return 1;
52
- }
53
-
54
- if (bb > aa) {
55
- return -1;
56
- }
57
-
58
- continue;
59
- } // One is a string, one is a number
60
-
61
-
62
- if (isNaN(combo[1])) {
63
- return isNaN(an) ? -1 : 1;
64
- } // Both are numbers
65
-
66
-
67
- if (an > bn) {
68
- return 1;
69
- }
70
-
71
- if (bn > an) {
72
- return -1;
73
- }
74
- }
75
-
76
- return a.length - b.length;
77
- } // The text filter is more basic (less numeric support)
78
- // but is much faster
79
-
80
-
81
- function text(rowA, rowB, columnId) {
82
- return compareBasic(toString(rowA.values[columnId]).toLowerCase(), toString(rowB.values[columnId]).toLowerCase());
83
- } // The text filter is more basic (less numeric support)
84
- // but is much faster
85
-
86
-
87
- function textCaseSensitive(rowA, rowB, columnId) {
88
- return compareBasic(toString(rowA.values[columnId]), toString(rowB.values[columnId]));
89
- }
90
-
91
- function datetime(rowA, rowB, columnId) {
92
- return compareBasic(rowA.values[columnId].getTime(), rowB.values[columnId].getTime());
93
- }
94
-
95
- function basic(rowA, rowB, columnId) {
96
- return compareBasic(rowA.values[columnId], rowB.values[columnId]);
97
- } // Utils
98
-
99
-
100
- function compareBasic(a, b) {
101
- return a === b ? 0 : a > b ? 1 : -1;
102
- }
103
-
104
- function toString(a) {
105
- if (typeof a === 'number') {
106
- if (isNaN(a) || a === Infinity || a === -Infinity) {
107
- return '';
108
- }
109
-
110
- return String(a);
111
- }
112
-
113
- if (typeof a === 'string') {
114
- return a;
115
- }
116
-
117
- return '';
118
- }
119
-
120
- exports.sortTypes = sortTypes;
121
- //# sourceMappingURL=sortTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortTypes.js","sources":["../../src/sortTypes.ts"],"sourcesContent":["import { Row } from './types'\n\nconst reSplitAlphaNumeric = /([0-9]+)/gm\n\nexport const sortTypes = {\n alphanumeric,\n alphanumericCaseSensitive,\n text,\n textCaseSensitive,\n datetime,\n basic,\n}\n\nexport type BuiltInSortType = keyof typeof sortTypes\n\nfunction alphanumeric<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.values[columnId]).toLowerCase(),\n toString(rowB.values[columnId]).toLowerCase()\n )\n}\n\nfunction alphanumericCaseSensitive<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareAlphanumeric(\n toString(rowA.values[columnId]),\n toString(rowB.values[columnId])\n )\n}\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nfunction compareAlphanumeric(aStr: string, bStr: string) {\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n const a = aStr.split(reSplitAlphaNumeric).filter(Boolean)\n const b = bStr.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n const aa = a.shift()!\n const bb = b.shift()!\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0]!)) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1]!)) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction text<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.values[columnId]).toLowerCase(),\n toString(rowB.values[columnId]).toLowerCase()\n )\n}\n\n// The text filter is more basic (less numeric support)\n// but is much faster\nfunction textCaseSensitive<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n toString(rowA.values[columnId]),\n toString(rowB.values[columnId])\n )\n}\n\nfunction datetime<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(\n (rowA.values[columnId] as Date).getTime(),\n (rowB.values[columnId] as Date).getTime()\n )\n}\n\nfunction basic<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>(\n rowA: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n rowB: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnId: string\n) {\n return compareBasic(rowA.values[columnId], rowB.values[columnId])\n}\n\n// Utils\n\nfunction compareBasic(a: any, b: any) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction toString(a: any) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n"],"names":["reSplitAlphaNumeric","sortTypes","alphanumeric","alphanumericCaseSensitive","text","textCaseSensitive","datetime","basic","rowA","rowB","columnId","compareAlphanumeric","toString","values","toLowerCase","aStr","bStr","a","split","filter","Boolean","b","length","aa","shift","bb","an","parseInt","bn","combo","sort","isNaN","compareBasic","getTime","Infinity","String"],"mappings":"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"}
@@ -1,130 +0,0 @@
1
- /**
2
- * react-table
3
- *
4
- * Copyright (c) TanStack
5
- *
6
- * This source code is licensed under the MIT license found in the
7
- * LICENSE.md file in the root directory of this source tree.
8
- *
9
- * @license MIT
10
- */
11
- 'use strict';
12
-
13
- Object.defineProperty(exports, '__esModule', { value: true });
14
-
15
- var columnFilterRowsFn = function columnFilterRowsFn(instance, columnFilters, rowModel) {
16
- var newFilteredFlatRows = [];
17
- var newFilteredRowsById = {};
18
- var filterFromChildrenUp = instance.options.filterFromChildrenUp;
19
-
20
- var filterRows = function filterRows(rowsToFilter, depth) {
21
- columnFilters.forEach(function (_ref) {
22
- var columnId = _ref.id,
23
- filterValue = _ref.value;
24
- // Find the columnFilters column
25
- var column = instance.getColumn(columnId);
26
-
27
- if (!column) {
28
- if (process.env.NODE_ENV !== 'production') {
29
- console.warn("React-Table: Could not find a column with id: " + columnId);
30
- }
31
-
32
- throw new Error();
33
- }
34
-
35
- if (depth === 0) {
36
- var preFilteredRows = [].concat(rowsToFilter);
37
-
38
- column.getPreFilteredRows = function () {
39
- return preFilteredRows;
40
- };
41
- }
42
-
43
- var filterFn = instance.getColumnFilterFn(column.id);
44
-
45
- if (!filterFn) {
46
- if (process.env.NODE_ENV !== 'production') {
47
- console.warn("Could not find a valid 'column.filterType' for column with the ID: " + column.id + ".");
48
- }
49
-
50
- return;
51
- } // Pass the rows, id, filterValue and column to the filterFn
52
- // to get the filtered rows back
53
-
54
-
55
- rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue);
56
- });
57
- return rowsToFilter;
58
- };
59
-
60
- if (filterFromChildrenUp) {
61
- var _recurseFilterRows = function _recurseFilterRows(rowsToFilter, depth) {
62
- if (depth === void 0) {
63
- depth = 0;
64
- }
65
-
66
- // Filter from children up
67
- rowsToFilter = rowsToFilter.filter(function (row) {
68
- var _row$subRows;
69
-
70
- if (!((_row$subRows = row.subRows) != null && _row$subRows.length)) {
71
- return true;
72
- }
73
-
74
- row.subRows = _recurseFilterRows(row.subRows, depth + 1);
75
- return row.subRows.length;
76
- });
77
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
78
-
79
- rowsToFilter.forEach(function (row) {
80
- newFilteredFlatRows.push(row);
81
- newFilteredRowsById[row.id] = row;
82
- });
83
- return rowsToFilter;
84
- };
85
-
86
- return {
87
- rows: _recurseFilterRows(rowModel.rows),
88
- flatRows: newFilteredFlatRows,
89
- rowsById: newFilteredRowsById
90
- };
91
- } // Filters top level and nested rows
92
-
93
-
94
- var recurseFilterRows = function recurseFilterRows(rowsToFilter, depth) {
95
- if (depth === void 0) {
96
- depth = 0;
97
- }
98
-
99
- // Filter from parents downward
100
- rowsToFilter = filterRows(rowsToFilter, depth); // Apply the filter to any subRows
101
- // We technically could do this recursively in the above loop,
102
- // but that would severely hinder the API for the user, since they
103
- // would be required to do that recursion in some scenarios
104
-
105
- rowsToFilter.forEach(function (row) {
106
- newFilteredFlatRows.push(row);
107
- newFilteredRowsById[row.id] = row;
108
-
109
- if (!filterFromChildrenUp) {
110
- var _row$subRows2;
111
-
112
- if (!((_row$subRows2 = row.subRows) != null && _row$subRows2.length)) {
113
- return;
114
- }
115
-
116
- row.subRows = recurseFilterRows(row.subRows, depth + 1);
117
- }
118
- });
119
- return rowsToFilter;
120
- };
121
-
122
- return {
123
- rows: recurseFilterRows(rowModel.rows),
124
- flatRows: newFilteredFlatRows,
125
- rowsById: newFilteredRowsById
126
- };
127
- };
128
-
129
- exports.columnFilterRowsFn = columnFilterRowsFn;
130
- //# sourceMappingURL=columnFilterRowsFn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"columnFilterRowsFn.js","sources":["../../../src/utils/columnFilterRowsFn.ts"],"sourcesContent":["import { ReactTable, Row, RowModel } from '../types'\nimport { ColumnFiltersState } from '../features/Filters'\nimport { Options } from '..'\n\nexport const columnFilterRowsFn: Options<\n any,\n any,\n {},\n {},\n {}\n>['columnFilterRowsFn'] = <\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n columnFilters: ColumnFiltersState,\n rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> => {\n const newFilteredFlatRows: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[] = []\n const newFilteredRowsById: Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n > = {}\n\n const filterFromChildrenUp = instance.options.filterFromChildrenUp\n\n const filterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth: number\n ) => {\n columnFilters.forEach(({ id: columnId, value: filterValue }) => {\n // Find the columnFilters column\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n if (depth === 0) {\n const preFilteredRows = [...rowsToFilter]\n column.getPreFilteredRows = () => preFilteredRows\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterType' for column with the ID: ${column.id}.`\n )\n }\n return\n }\n\n // Pass the rows, id, filterValue and column to the filterFn\n // to get the filtered rows back\n rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue)\n })\n\n return rowsToFilter\n }\n\n if (filterFromChildrenUp) {\n const recurseFilterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth = 0\n ) => {\n // Filter from children up\n rowsToFilter = rowsToFilter.filter(row => {\n if (!row.subRows?.length) {\n return true\n }\n\n row.subRows = recurseFilterRows(row.subRows, depth + 1)\n\n return row.subRows.length\n })\n\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n rowsToFilter.forEach(row => {\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n })\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowModel.rows),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n }\n\n // Filters top level and nested rows\n const recurseFilterRows = (\n rowsToFilter: Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[],\n depth = 0\n ) => {\n // Filter from parents downward\n rowsToFilter = filterRows(rowsToFilter, depth)\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n rowsToFilter.forEach(row => {\n newFilteredFlatRows.push(row)\n newFilteredRowsById[row.id] = row\n\n if (!filterFromChildrenUp) {\n if (!row.subRows?.length) {\n return\n }\n\n row.subRows = recurseFilterRows(row.subRows, depth + 1)\n }\n })\n\n return rowsToFilter\n }\n\n return {\n rows: recurseFilterRows(rowModel.rows),\n flatRows: newFilteredFlatRows,\n rowsById: newFilteredRowsById,\n }\n}\n"],"names":["columnFilterRowsFn","instance","columnFilters","rowModel","newFilteredFlatRows","newFilteredRowsById","filterFromChildrenUp","options","filterRows","rowsToFilter","depth","forEach","columnId","id","filterValue","value","column","getColumn","process","env","NODE_ENV","console","warn","Error","preFilteredRows","getPreFilteredRows","filterFn","getColumnFilterFn","recurseFilterRows","filter","row","subRows","length","push","rows","flatRows","rowsById"],"mappings":"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"}