@tanstack/react-table 0.0.1-alpha.8 → 8.0.0-alpha.2

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 (107) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +112 -0
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/build/cjs/aggregationTypes.js +130 -0
  4. package/build/cjs/aggregationTypes.js.map +1 -0
  5. package/build/cjs/core.js +519 -0
  6. package/build/cjs/core.js.map +1 -0
  7. package/build/cjs/createTable.js +103 -0
  8. package/build/cjs/createTable.js.map +1 -0
  9. package/build/cjs/features/ColumnSizing.js +331 -0
  10. package/build/cjs/features/ColumnSizing.js.map +1 -0
  11. package/build/cjs/features/Expanding.js +234 -0
  12. package/build/cjs/features/Expanding.js.map +1 -0
  13. package/build/cjs/features/Filters.js +396 -0
  14. package/build/cjs/features/Filters.js.map +1 -0
  15. package/build/cjs/features/Grouping.js +228 -0
  16. package/build/cjs/features/Grouping.js.map +1 -0
  17. package/build/cjs/features/Headers.js +486 -0
  18. package/build/cjs/features/Headers.js.map +1 -0
  19. package/build/cjs/features/Ordering.js +83 -0
  20. package/build/cjs/features/Ordering.js.map +1 -0
  21. package/build/cjs/features/Pinning.js +163 -0
  22. package/build/cjs/features/Pinning.js.map +1 -0
  23. package/build/cjs/features/Sorting.js +269 -0
  24. package/build/cjs/features/Sorting.js.map +1 -0
  25. package/build/cjs/features/Visibility.js +160 -0
  26. package/build/cjs/features/Visibility.js.map +1 -0
  27. package/build/cjs/filterTypes.js +172 -0
  28. package/build/cjs/filterTypes.js.map +1 -0
  29. package/build/cjs/index.js +30 -0
  30. package/build/cjs/index.js.map +1 -0
  31. package/build/cjs/sortTypes.js +121 -0
  32. package/build/cjs/sortTypes.js.map +1 -0
  33. package/build/cjs/utils/columnFilterRowsFn.js +130 -0
  34. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -0
  35. package/build/cjs/utils/expandRowsFn.js +38 -0
  36. package/build/cjs/utils/expandRowsFn.js.map +1 -0
  37. package/build/cjs/utils/globalFilterRowsFn.js +100 -0
  38. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -0
  39. package/build/cjs/utils/groupRowsFn.js +154 -0
  40. package/build/cjs/utils/groupRowsFn.js.map +1 -0
  41. package/build/cjs/utils/sortRowsFn.js +93 -0
  42. package/build/cjs/utils/sortRowsFn.js.map +1 -0
  43. package/build/cjs/utils.js +143 -0
  44. package/build/cjs/utils.js.map +1 -0
  45. package/build/esm/index.js +3722 -0
  46. package/build/esm/index.js.map +1 -0
  47. package/build/stats-html.html +2689 -0
  48. package/build/stats-react.json +747 -0
  49. package/build/types/aggregationTypes.d.ts +22 -0
  50. package/build/types/core.d.ts +126 -0
  51. package/build/types/createTable.d.ts +35 -0
  52. package/build/types/features/ColumnSizing.d.ts +73 -0
  53. package/build/types/features/Expanding.d.ts +52 -0
  54. package/build/types/features/Filters.d.ts +93 -0
  55. package/build/types/features/Grouping.d.ts +82 -0
  56. package/build/types/features/Headers.d.ts +41 -0
  57. package/build/types/features/Ordering.d.ts +19 -0
  58. package/build/types/features/Pinning.d.ts +39 -0
  59. package/build/types/features/Sorting.d.ts +75 -0
  60. package/build/types/features/Visibility.d.ts +47 -0
  61. package/build/types/filterTypes.d.ts +50 -0
  62. package/build/types/index.d.ts +7 -0
  63. package/build/types/sortTypes.d.ts +17 -0
  64. package/build/types/types.d.ts +124 -0
  65. package/build/types/utils/columnFilterRowsFn.d.ts +2 -0
  66. package/build/types/utils/expandRowsFn.d.ts +2 -0
  67. package/build/types/utils/globalFilterRowsFn.d.ts +2 -0
  68. package/build/types/utils/groupRowsFn.d.ts +2 -0
  69. package/build/types/utils/sortRowsFn.d.ts +2 -0
  70. package/build/types/utils.d.ts +24 -0
  71. package/{dist/react-table.development.js → build/umd/index.development.js} +372 -29
  72. package/build/umd/index.development.js.map +1 -0
  73. package/build/umd/index.production.js +12 -0
  74. package/build/umd/index.production.js.map +1 -0
  75. package/package.json +9 -94
  76. package/src/core.tsx +43 -5
  77. package/src/createTable.tsx +1 -1
  78. package/src/features/ColumnSizing.ts +482 -0
  79. package/src/features/Filters.ts +1 -1
  80. package/src/features/Headers.ts +43 -6
  81. package/src/features/{withPagination.ts → withPagination.oldts} +0 -0
  82. package/src/features/{withRowSelection.ts → withRowSelection.oldts} +0 -0
  83. package/src/types.ts +35 -6
  84. package/src/utils.tsx +8 -2
  85. package/dist/react-table.development.js.map +0 -1
  86. package/dist/react-table.production.min.js +0 -2
  87. package/dist/react-table.production.min.js.map +0 -1
  88. package/lib/index.js +0 -65
  89. package/src/features/notest/useAbsoluteLayout.test.js +0 -152
  90. package/src/features/notest/useBlockLayout.test.js +0 -158
  91. package/src/features/notest/useColumnOrder.test.js +0 -186
  92. package/src/features/notest/useExpanded.test.js +0 -125
  93. package/src/features/notest/useFilters.test.js +0 -393
  94. package/src/features/notest/useFiltersAndRowSelect.test.js +0 -256
  95. package/src/features/notest/useFlexLayout.test.js +0 -152
  96. package/src/features/notest/useGroupBy.test.js +0 -259
  97. package/src/features/notest/usePagination.test.js +0 -231
  98. package/src/features/notest/useResizeColumns.test.js +0 -229
  99. package/src/features/notest/useRowSelect.test.js +0 -250
  100. package/src/features/notest/useRowState.test.js +0 -178
  101. package/src/features/tests/Visibility.test.tsx +0 -225
  102. package/src/features/tests/__snapshots__/Visibility.test.tsx.snap +0 -390
  103. package/src/features/tests/withSorting.notest.tsx +0 -341
  104. package/src/features/withColumnResizing.ts +0 -281
  105. package/src/test-utils/makeTestData.ts +0 -41
  106. package/src/tests/__snapshots__/core.test.tsx.snap +0 -148
  107. package/src/tests/core.test.tsx +0 -241
@@ -0,0 +1,234 @@
1
+ /**
2
+ * react-table
3
+ *
4
+ * Copyright (c) TanStack
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ 'use strict';
12
+
13
+ Object.defineProperty(exports, '__esModule', { value: true });
14
+
15
+ var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
16
+ var utils = require('../utils.js');
17
+
18
+ //
19
+ function getInitialState() {
20
+ return {
21
+ expanded: {}
22
+ };
23
+ }
24
+ function getDefaultOptions(instance) {
25
+ return {
26
+ onExpandedChange: utils.makeStateUpdater('expanded', instance),
27
+ autoResetExpanded: true,
28
+ getIsRowExpanded: function getIsRowExpanded(row) {
29
+ return !!(row == null ? void 0 : row.original).expanded;
30
+ },
31
+ expandSubRows: true,
32
+ paginateExpandedRows: true
33
+ };
34
+ }
35
+ function getInstance(instance) {
36
+ return {
37
+ setExpanded: function setExpanded(updater) {
38
+ return instance.options.onExpandedChange == null ? void 0 : instance.options.onExpandedChange(updater, utils.functionalUpdate(updater, instance.getState().expanded));
39
+ },
40
+ toggleRowExpanded: function toggleRowExpanded(rowId, expanded) {
41
+ if (!rowId) return;
42
+ instance.setExpanded(function (old) {
43
+ var _old, _expanded;
44
+
45
+ if (old === void 0) {
46
+ old = {};
47
+ }
48
+
49
+ var exists = old === true ? true : !!((_old = old) != null && _old[rowId]);
50
+ var oldExpanded = {};
51
+
52
+ if (old === true) {
53
+ Object.keys(instance.getRowsById()).forEach(function (rowId) {
54
+ oldExpanded[rowId] = true;
55
+ });
56
+ } else {
57
+ oldExpanded = old;
58
+ }
59
+
60
+ expanded = (_expanded = expanded) != null ? _expanded : !exists;
61
+
62
+ if (!exists && expanded) {
63
+ var _extends2;
64
+
65
+ return _rollupPluginBabelHelpers["extends"]({}, oldExpanded, (_extends2 = {}, _extends2[rowId] = true, _extends2));
66
+ }
67
+
68
+ if (exists && !expanded) {
69
+ var _oldExpanded = oldExpanded;
70
+ _oldExpanded[rowId];
71
+ var rest = _rollupPluginBabelHelpers.objectWithoutPropertiesLoose(_oldExpanded, [rowId].map(_rollupPluginBabelHelpers.toPropertyKey));
72
+
73
+ return rest;
74
+ }
75
+
76
+ return old;
77
+ });
78
+ },
79
+ toggleAllRowsExpanded: function toggleAllRowsExpanded(expanded) {
80
+ if (expanded != null ? expanded : !instance.getIsAllRowsExpanded()) {
81
+ instance.setExpanded(true);
82
+ } else {
83
+ instance.setExpanded({});
84
+ }
85
+ },
86
+ resetExpanded: function resetExpanded() {
87
+ var _instance$options$ini, _instance$options, _instance$options$ini2;
88
+
89
+ instance.setExpanded((_instance$options$ini = (_instance$options = instance.options) == null ? void 0 : (_instance$options$ini2 = _instance$options.initialState) == null ? void 0 : _instance$options$ini2.expanded) != null ? _instance$options$ini : {});
90
+ },
91
+ getIsRowExpanded: function getIsRowExpanded(rowId) {
92
+ var _instance$options$get;
93
+
94
+ var row = instance.getRow(rowId);
95
+
96
+ if (!row) {
97
+ if (process.env.NODE_ENV !== 'production') {
98
+ console.warn("[ReactTable] getIsRowExpanded: no row found with id " + rowId);
99
+ }
100
+
101
+ throw new Error();
102
+ }
103
+
104
+ var expanded = instance.getState().expanded;
105
+ return !!((_instance$options$get = instance.options.getIsRowExpanded == null ? void 0 : instance.options.getIsRowExpanded(row)) != null ? _instance$options$get : expanded || (expanded == null ? void 0 : expanded[rowId]));
106
+ },
107
+ getRowCanExpand: function getRowCanExpand(rowId) {
108
+ var _ref, _ref2, _instance$options$get2, _row$subRows;
109
+
110
+ var row = instance.getRow(rowId);
111
+
112
+ if (!row) {
113
+ if (process.env.NODE_ENV !== 'production') {
114
+ console.warn("[ReactTable] getRowCanExpand: no row found with id " + rowId);
115
+ }
116
+
117
+ throw new Error();
118
+ }
119
+
120
+ return (_ref = (_ref2 = (_instance$options$get2 = instance.options.getRowCanExpand == null ? void 0 : instance.options.getRowCanExpand(row)) != null ? _instance$options$get2 : instance.options.enableExpanded) != null ? _ref2 : instance.options.defaultCanExpand) != null ? _ref : !!((_row$subRows = row.subRows) != null && _row$subRows.length);
121
+ },
122
+ getToggleExpandedProps: function getToggleExpandedProps(rowId, userProps) {
123
+ var row = instance.getRow(rowId);
124
+
125
+ if (!row) {
126
+ return;
127
+ }
128
+
129
+ var canExpand = instance.getRowCanExpand(rowId);
130
+ var initialProps = {
131
+ title: canExpand ? 'Toggle Expanded' : undefined,
132
+ onClick: canExpand ? function (e) {
133
+ e.persist();
134
+ instance.toggleRowExpanded(rowId);
135
+ } : undefined
136
+ };
137
+ return utils.propGetter(initialProps, userProps);
138
+ },
139
+ getToggleAllRowsExpandedProps: function getToggleAllRowsExpandedProps(userProps) {
140
+ var initialProps = {
141
+ title: 'Toggle All Expanded',
142
+ onClick: function onClick(e) {
143
+ e.persist();
144
+ instance.toggleAllRowsExpanded();
145
+ }
146
+ };
147
+ return utils.propGetter(initialProps, userProps);
148
+ },
149
+ getIsAllRowsExpanded: function getIsAllRowsExpanded() {
150
+ var expanded = instance.getState().expanded; // If expanded is true, save some cycles and return true
151
+
152
+ if (expanded === true) {
153
+ return true;
154
+ } // If any row is not expanded, return false
155
+
156
+
157
+ if (Object.keys(instance.getRowsById()).some(function (id) {
158
+ return !instance.getIsRowExpanded(id);
159
+ })) {
160
+ return false;
161
+ } // They must all be expanded :shrug:
162
+
163
+
164
+ return true;
165
+ },
166
+ getExpandedDepth: function getExpandedDepth() {
167
+ var maxDepth = 0;
168
+ var rowIds = instance.getState().expanded === true ? Object.keys(instance.getRowsById()) : Object.keys(instance.getState().expanded);
169
+ rowIds.forEach(function (id) {
170
+ var splitId = id.split('.');
171
+ maxDepth = Math.max(maxDepth, splitId.length);
172
+ });
173
+ return maxDepth;
174
+ },
175
+ getExpandedRowModel: utils.memo(function () {
176
+ return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.expandRowsFn, instance.options.paginateExpandedRows];
177
+ }, function (expanded, rowModel, expandRowsFn, paginateExpandedRows) {
178
+ if (!expandRowsFn || // Do not expand if rows are not included in pagination
179
+ !paginateExpandedRows || !Object.keys(expanded != null ? expanded : {}).length) {
180
+ return rowModel;
181
+ }
182
+
183
+ if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Expanding...');
184
+ return expandRowsFn(instance, expanded, rowModel);
185
+ }, 'getExpandedRowModel', instance.options.debug),
186
+ getPreExpandedRows: function getPreExpandedRows() {
187
+ return instance.getGroupedRowModel().rows;
188
+ },
189
+ getPreExpandedFlatRows: function getPreExpandedFlatRows() {
190
+ return instance.getGroupedRowModel().flatRows;
191
+ },
192
+ getPreExpandedRowsById: function getPreExpandedRowsById() {
193
+ return instance.getGroupedRowModel().rowsById;
194
+ },
195
+ getExpandedRows: function getExpandedRows() {
196
+ return instance.getExpandedRowModel().rows;
197
+ },
198
+ getExpandedFlatRows: function getExpandedFlatRows() {
199
+ return instance.getExpandedRowModel().flatRows;
200
+ },
201
+ getExpandedRowsById: function getExpandedRowsById() {
202
+ return instance.getExpandedRowModel().rowsById;
203
+ }
204
+ };
205
+ }
206
+ function createRow(row, instance) {
207
+ return {
208
+ toggleExpanded: function toggleExpanded(expanded) {
209
+ return void instance.toggleRowExpanded(row.id, expanded);
210
+ },
211
+ getIsExpanded: function getIsExpanded() {
212
+ return instance.getIsRowExpanded(row.id);
213
+ },
214
+ getCanExpand: function getCanExpand() {
215
+ return row.subRows && !!row.subRows.length;
216
+ },
217
+ getToggleExpandedProps: function getToggleExpandedProps(userProps) {
218
+ var initialProps = {
219
+ title: 'Toggle Row Expanded',
220
+ onClick: function onClick(e) {
221
+ e.stopPropagation();
222
+ instance.toggleRowExpanded(row.id);
223
+ }
224
+ };
225
+ return utils.propGetter(initialProps, userProps);
226
+ }
227
+ };
228
+ }
229
+
230
+ exports.createRow = createRow;
231
+ exports.getDefaultOptions = getDefaultOptions;
232
+ exports.getInitialState = getInitialState;
233
+ exports.getInstance = getInstance;
234
+ //# sourceMappingURL=Expanding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n PropGetterValue,\n ReactTable,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n expandRowsFn?: (\n instance: ReactTable<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >,\n expandedState: ExpandedState,\n groupedRowModel: RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n getRowCanExpand?: (\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n ) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type ExpandedInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n> = {\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >\n getPreExpandedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreExpandedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getPreExpandedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n getExpandedRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getExpandedFlatRows: () => Row<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n >[]\n getExpandedRowsById: () => Record<\n string,\n Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n >\n}\n\n//\n\nexport function getInitialState(): ExpandedTableState {\n return {\n expanded: {},\n }\n}\n\nexport function getDefaultOptions<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n getIsRowExpanded: row => !!(row?.original as { expanded?: any }).expanded,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n}\n\nexport function getInstance<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {\n return {\n setExpanded: updater =>\n instance.options.onExpandedChange?.(\n updater,\n functionalUpdate(updater, instance.getState().expanded)\n ),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded((old = {}) => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowsById()).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.options?.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[ReactTable] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[ReactTable] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowsById()).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowsById())\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getExpandedRowModel: memo(\n () => [\n instance.getState().expanded,\n instance.getGroupedRowModel(),\n instance.options.expandRowsFn,\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, expandRowsFn, paginateExpandedRows) => {\n if (\n !expandRowsFn ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n !Object.keys(expanded ?? {}).length\n ) {\n return rowModel\n }\n\n if (process.env.NODE_ENV !== 'production' && instance.options.debug)\n console.info('Expanding...')\n\n return expandRowsFn(instance, expanded, rowModel)\n },\n 'getExpandedRowModel',\n instance.options.debug\n ),\n\n getPreExpandedRows: () => instance.getGroupedRowModel().rows,\n getPreExpandedFlatRows: () => instance.getGroupedRowModel().flatRows,\n getPreExpandedRowsById: () => instance.getGroupedRowModel().rowsById,\n getExpandedRows: () => instance.getExpandedRowModel().rows,\n getExpandedFlatRows: () => instance.getExpandedRowModel().flatRows,\n getExpandedRowsById: () => instance.getExpandedRowModel().rowsById,\n }\n}\n\nexport function createRow<\n TData,\n TValue,\n TFilterFns,\n TSortingFns,\n TAggregationFns\n>(\n row: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,\n instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>\n): ExpandedRow {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle Row Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.stopPropagation()\n instance.toggleRowExpanded(row.id)\n },\n }\n return propGetter(initialProps, userProps)\n },\n }\n}\n"],"names":["getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","getIsRowExpanded","row","original","expandSubRows","paginateExpandedRows","getInstance","setExpanded","updater","options","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowsById","forEach","rest","toggleAllRowsExpanded","getIsAllRowsExpanded","resetExpanded","initialState","getRow","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","enableExpanded","defaultCanExpand","subRows","length","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","some","id","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getExpandedRowModel","memo","getGroupedRowModel","expandRowsFn","rowModel","debug","info","getPreExpandedRows","rows","getPreExpandedFlatRows","flatRows","getPreExpandedRowsById","rowsById","getExpandedRows","getExpandedFlatRows","getExpandedRowsById","createRow","toggleExpanded","getIsExpanded","getCanExpand","stopPropagation"],"mappings":"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"}
@@ -0,0 +1,396 @@
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 = require('../filterTypes.js');
16
+ var utils = require('../utils.js');
17
+
18
+ //
19
+ function getDefaultColumn() {
20
+ return {
21
+ filterType: 'auto'
22
+ };
23
+ }
24
+ function getInitialState() {
25
+ return {
26
+ columnFilters: [],
27
+ globalFilter: undefined
28
+ };
29
+ }
30
+ function getDefaultOptions(instance) {
31
+ return {
32
+ onColumnFiltersChange: utils.makeStateUpdater('columnFilters', instance),
33
+ onGlobalFilterChange: utils.makeStateUpdater('globalFilter', instance),
34
+ autoResetColumnFilters: true,
35
+ filterFromChildrenUp: true,
36
+ autoResetGlobalFilter: true,
37
+ globalFilterType: 'auto',
38
+ getColumnCanGlobalFilterFn: function getColumnCanGlobalFilterFn(column) {
39
+ var _instance$getCoreFlat, _instance$getCoreFlat2;
40
+
41
+ var value = (_instance$getCoreFlat = instance.getCoreFlatRows()[0]) == null ? void 0 : (_instance$getCoreFlat2 = _instance$getCoreFlat.getAllCellsByColumnId()[column.id]) == null ? void 0 : _instance$getCoreFlat2.value;
42
+ return typeof value === 'string';
43
+ }
44
+ };
45
+ }
46
+ function createColumn(column, instance) {
47
+ var getFacetInfo = utils.memo(function () {
48
+ return [column.getPreFilteredRows()];
49
+ }, function (rows) {
50
+ var _rows$0$values$column, _rows$, _rows$0$values$column2, _rows$2;
51
+
52
+ if (rows === void 0) {
53
+ rows = [];
54
+ }
55
+
56
+ var preFilteredUniqueValues = new Map();
57
+ 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];
58
+
59
+ for (var i = 0; i < rows.length; i++) {
60
+ var _rows$i;
61
+
62
+ var _value = (_rows$i = rows[i]) == null ? void 0 : _rows$i.values[column.id];
63
+
64
+ if (preFilteredUniqueValues.has(_value)) {
65
+ var _preFilteredUniqueVal;
66
+
67
+ preFilteredUniqueValues.set(_value, ((_preFilteredUniqueVal = preFilteredUniqueValues.get(_value)) != null ? _preFilteredUniqueVal : 0) + 1);
68
+ } else {
69
+ preFilteredUniqueValues.set(_value, 1);
70
+ }
71
+
72
+ if (_value < preFilteredMinMaxValues[0]) {
73
+ preFilteredMinMaxValues[0] = _value;
74
+ } else if (_value > preFilteredMinMaxValues[1]) {
75
+ preFilteredMinMaxValues[1] = _value;
76
+ }
77
+ }
78
+
79
+ return {
80
+ preFilteredUniqueValues: preFilteredUniqueValues,
81
+ preFilteredMinMaxValues: preFilteredMinMaxValues
82
+ };
83
+ }, 'column.getFacetInfo', instance.options.debug);
84
+ return {
85
+ filterType: column.filterType,
86
+ getCanColumnFilter: function getCanColumnFilter() {
87
+ return instance.getColumnCanColumnFilter(column.id);
88
+ },
89
+ getCanGlobalFilter: function getCanGlobalFilter() {
90
+ return instance.getColumnCanGlobalFilter(column.id);
91
+ },
92
+ getColumnFilterIndex: function getColumnFilterIndex() {
93
+ return instance.getColumnFilterIndex(column.id);
94
+ },
95
+ getIsColumnFiltered: function getIsColumnFiltered() {
96
+ return instance.getColumnIsFiltered(column.id);
97
+ },
98
+ getColumnFilterValue: function getColumnFilterValue() {
99
+ return instance.getColumnFilterValue(column.id);
100
+ },
101
+ setColumnFilterValue: function setColumnFilterValue(val) {
102
+ return instance.setColumnFilterValue(column.id, val);
103
+ },
104
+ getPreFilteredUniqueValues: function getPreFilteredUniqueValues() {
105
+ return getFacetInfo().preFilteredUniqueValues;
106
+ },
107
+ getPreFilteredMinMaxValues: function getPreFilteredMinMaxValues() {
108
+ return getFacetInfo().preFilteredMinMaxValues;
109
+ },
110
+ getPreFilteredRows: function getPreFilteredRows() {
111
+ return undefined;
112
+ }
113
+ };
114
+ }
115
+ function getInstance(instance) {
116
+ return {
117
+ getColumnAutoFilterFn: function getColumnAutoFilterFn(columnId) {
118
+ var firstRow = instance.getCoreFlatRows()[0];
119
+ var value = firstRow == null ? void 0 : firstRow.values[columnId];
120
+
121
+ if (typeof value === 'string') {
122
+ return filterTypes.filterTypes.includesString;
123
+ }
124
+
125
+ if (typeof value === 'number') {
126
+ return filterTypes.filterTypes.betweenNumberRange;
127
+ }
128
+
129
+ if (value !== null && typeof value === 'object') {
130
+ return filterTypes.filterTypes.equals;
131
+ }
132
+
133
+ if (Array.isArray(value)) {
134
+ return filterTypes.filterTypes.arrIncludes;
135
+ }
136
+
137
+ return filterTypes.filterTypes.weakEquals;
138
+ },
139
+ getGlobalAutoFilterFn: function getGlobalAutoFilterFn() {
140
+ return filterTypes.filterTypes.includesString;
141
+ },
142
+ getColumnFilterFn: function getColumnFilterFn(columnId) {
143
+ var _ref;
144
+
145
+ var column = instance.getColumn(columnId);
146
+ var userFilterTypes = instance.options.filterTypes;
147
+
148
+ if (!column) {
149
+ throw new Error();
150
+ }
151
+
152
+ return utils.isFunction(column.filterType) ? column.filterType : column.filterType === 'auto' ? instance.getColumnAutoFilterFn(columnId) : (_ref = userFilterTypes == null ? void 0 : userFilterTypes[column.filterType]) != null ? _ref : filterTypes.filterTypes[column.filterType];
153
+ },
154
+ getGlobalFilterFn: function getGlobalFilterFn() {
155
+ var _ref2;
156
+
157
+ var _instance$options = instance.options,
158
+ userFilterTypes = _instance$options.filterTypes,
159
+ globalFilterType = _instance$options.globalFilterType;
160
+ return utils.isFunction(globalFilterType) ? globalFilterType : globalFilterType === 'auto' ? instance.getGlobalAutoFilterFn() : (_ref2 = userFilterTypes == null ? void 0 : userFilterTypes[globalFilterType]) != null ? _ref2 : filterTypes.filterTypes[globalFilterType];
161
+ },
162
+ setColumnFilters: function setColumnFilters(updater) {
163
+ var leafColumns = instance.getAllLeafColumns();
164
+
165
+ var updateFn = function updateFn(old) {
166
+ var _functionalUpdate;
167
+
168
+ return (_functionalUpdate = utils.functionalUpdate(updater, old)) == null ? void 0 : _functionalUpdate.filter(function (filter) {
169
+ var column = leafColumns.find(function (d) {
170
+ return d.id === filter.id;
171
+ });
172
+
173
+ if (column) {
174
+ var filterFn = instance.getColumnFilterFn(column.id);
175
+
176
+ if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {
177
+ return false;
178
+ }
179
+ }
180
+
181
+ return true;
182
+ });
183
+ };
184
+
185
+ instance.options.onColumnFiltersChange == null ? void 0 : instance.options.onColumnFiltersChange(updateFn, updateFn(instance.getState().columnFilters));
186
+ },
187
+ setGlobalFilter: function setGlobalFilter(updater) {
188
+ instance.options.onGlobalFilterChange == null ? void 0 : instance.options.onGlobalFilterChange(updater, utils.functionalUpdate(updater, instance.getState().globalFilter));
189
+ },
190
+ resetGlobalFilter: function resetGlobalFilter() {
191
+ instance.setGlobalFilter(undefined);
192
+ },
193
+ getColumnCanColumnFilter: function getColumnCanColumnFilter(columnId) {
194
+ var _ref3, _ref4, _ref5, _ref6, _ref7, _column$enableAllFilt;
195
+
196
+ var column = instance.getColumn(columnId);
197
+
198
+ if (!column) {
199
+ throw new Error();
200
+ }
201
+
202
+ return (_ref3 = (_ref4 = (_ref5 = (_ref6 = (_ref7 = (_column$enableAllFilt = column.enableAllFilters) != null ? _column$enableAllFilt : column.enableColumnFilter) != null ? _ref7 : instance.options.enableFilters) != null ? _ref6 : instance.options.enableColumnFilters) != null ? _ref5 : column.defaultCanFilter) != null ? _ref4 : column.defaultCanColumnFilter) != null ? _ref3 : !!column.accessorFn;
203
+ },
204
+ getColumnCanGlobalFilter: function getColumnCanGlobalFilter(columnId) {
205
+ var _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _instance$options$ena;
206
+
207
+ var column = instance.getColumn(columnId);
208
+
209
+ if (!column) {
210
+ throw new Error();
211
+ }
212
+
213
+ return (_ref8 = ((_ref9 = (_ref10 = (_ref11 = (_ref12 = (_ref13 = (_instance$options$ena = instance.options.enableFilters) != null ? _instance$options$ena : instance.options.enableGlobalFilter) != null ? _ref13 : column.enableAllFilters) != null ? _ref12 : column.enableGlobalFilter) != null ? _ref11 : column.defaultCanFilter) != null ? _ref10 : column.defaultCanGlobalFilter) != null ? _ref9 : !!column.accessorFn) && (instance.options.getColumnCanGlobalFilterFn == null ? void 0 : instance.options.getColumnCanGlobalFilterFn(column))) != null ? _ref8 : true;
214
+ },
215
+ getColumnIsFiltered: function getColumnIsFiltered(columnId) {
216
+ return instance.getColumnFilterIndex(columnId) > -1;
217
+ },
218
+ getColumnFilterValue: function getColumnFilterValue(columnId) {
219
+ var _instance$getState$co, _instance$getState$co2;
220
+
221
+ return (_instance$getState$co = instance.getState().columnFilters) == null ? void 0 : (_instance$getState$co2 = _instance$getState$co.find(function (d) {
222
+ return d.id === columnId;
223
+ })) == null ? void 0 : _instance$getState$co2.value;
224
+ },
225
+ getColumnFilterIndex: function getColumnFilterIndex(columnId) {
226
+ var _instance$getState$co3, _instance$getState$co4;
227
+
228
+ return (_instance$getState$co3 = (_instance$getState$co4 = instance.getState().columnFilters) == null ? void 0 : _instance$getState$co4.findIndex(function (d) {
229
+ return d.id === columnId;
230
+ })) != null ? _instance$getState$co3 : -1;
231
+ },
232
+ setColumnFilterValue: function setColumnFilterValue(columnId, value) {
233
+ if (!columnId) return;
234
+ instance.setColumnFilters(function (old) {
235
+ var column = instance.getColumn(columnId);
236
+
237
+ if (!column) {
238
+ if (process.env.NODE_ENV !== 'production') {
239
+ console.warn("React-Table: Could not find a column with id: " + columnId);
240
+ }
241
+
242
+ throw new Error();
243
+ }
244
+
245
+ var filterFn = instance.getColumnFilterFn(column.id);
246
+ var previousfilter = old == null ? void 0 : old.find(function (d) {
247
+ return d.id === columnId;
248
+ });
249
+ var newFilter = utils.functionalUpdate(value, previousfilter ? previousfilter.value : undefined); //
250
+
251
+ if (shouldAutoRemoveFilter(filterFn, newFilter, column)) {
252
+ var _old$filter;
253
+
254
+ return (_old$filter = old == null ? void 0 : old.filter(function (d) {
255
+ return d.id !== columnId;
256
+ })) != null ? _old$filter : [];
257
+ }
258
+
259
+ var newFilterObj = {
260
+ id: columnId,
261
+ value: newFilter
262
+ };
263
+
264
+ if (previousfilter) {
265
+ var _old$map;
266
+
267
+ return (_old$map = old == null ? void 0 : old.map(function (d) {
268
+ if (d.id === columnId) {
269
+ return newFilterObj;
270
+ }
271
+
272
+ return d;
273
+ })) != null ? _old$map : [];
274
+ }
275
+
276
+ if (old != null && old.length) {
277
+ return [].concat(old, [newFilterObj]);
278
+ }
279
+
280
+ return [newFilterObj];
281
+ });
282
+ },
283
+ resetColumnFilters: function resetColumnFilters() {
284
+ var _instance$options$ini, _instance$options2, _instance$options2$in;
285
+
286
+ instance.setColumnFilters((_instance$options$ini = (_instance$options2 = instance.options) == null ? void 0 : (_instance$options2$in = _instance$options2.initialState) == null ? void 0 : _instance$options2$in.columnFilters) != null ? _instance$options$ini : []);
287
+ },
288
+ getColumnFilteredRowModel: utils.memo(function () {
289
+ return [instance.getState().columnFilters, instance.getCoreRowModel(), instance.options.columnFilterRowsFn];
290
+ }, function (columnFilters, rowModel, columnFiltersFn) {
291
+ var columnFilteredRowModel = function () {
292
+ if (!(columnFilters != null && columnFilters.length) || !columnFiltersFn) {
293
+ return rowModel;
294
+ }
295
+
296
+ if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Column Filtering...');
297
+ return columnFiltersFn(instance, columnFilters, rowModel);
298
+ }(); // Now that each filtered column has it's partially filtered rows,
299
+ // lets assign the final filtered rows to all of the other columns
300
+
301
+
302
+ var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
303
+ var _instance$getState$co5;
304
+
305
+ return !((_instance$getState$co5 = instance.getState().columnFilters) != null && _instance$getState$co5.find(function (d) {
306
+ return d.id === column.id;
307
+ }));
308
+ }); // This essentially enables faceted filter options to be built easily
309
+ // using every column's preFilteredRows value
310
+
311
+ nonFilteredColumns.forEach(function (column) {
312
+ column.getPreFilteredRows = function () {
313
+ return columnFilteredRowModel.rows;
314
+ };
315
+ });
316
+ return columnFilteredRowModel;
317
+ }, 'getColumnFilteredRowModel', instance.options.debug),
318
+ getPreColumnFilteredRows: function getPreColumnFilteredRows() {
319
+ return instance.getCoreRowModel().rows;
320
+ },
321
+ getPreColumnFilteredFlatRows: function getPreColumnFilteredFlatRows() {
322
+ return instance.getCoreRowModel().flatRows;
323
+ },
324
+ getPreColumnFilteredRowsById: function getPreColumnFilteredRowsById() {
325
+ return instance.getCoreRowModel().rowsById;
326
+ },
327
+ getColumnFilteredRows: function getColumnFilteredRows() {
328
+ return instance.getColumnFilteredRowModel().rows;
329
+ },
330
+ getColumnFilteredFlatRows: function getColumnFilteredFlatRows() {
331
+ return instance.getColumnFilteredRowModel().flatRows;
332
+ },
333
+ getColumnFilteredRowsById: function getColumnFilteredRowsById() {
334
+ return instance.getColumnFilteredRowModel().rowsById;
335
+ },
336
+ getGlobalFilteredRowModel: utils.memo(function () {
337
+ return [instance.getState().globalFilter, instance.getColumnFilteredRowModel(), instance.options.globalFilterRowsFn];
338
+ }, function (globalFilterValue, columnFilteredRowModel, globalFiltersFn) {
339
+ var globalFilteredRowModel = function () {
340
+ if (!globalFiltersFn || !globalFilterValue) {
341
+ return columnFilteredRowModel;
342
+ }
343
+
344
+ if (process.env.NODE_ENV !== 'production' && instance.options.debug) console.info('Global Filtering...');
345
+ return globalFiltersFn(instance, globalFilterValue, columnFilteredRowModel);
346
+ }(); // Now that each filtered column has it's partially filtered rows,
347
+ // lets assign the final filtered rows to all of the other columns
348
+
349
+
350
+ var nonFilteredColumns = instance.getAllLeafColumns().filter(function (column) {
351
+ var _instance$getState$co6;
352
+
353
+ return !((_instance$getState$co6 = instance.getState().columnFilters) != null && _instance$getState$co6.find(function (d) {
354
+ return d.id === column.id;
355
+ }));
356
+ }); // This essentially enables faceted filter options to be built easily
357
+ // using every column's preFilteredRows value
358
+
359
+ nonFilteredColumns.forEach(function (column) {
360
+ column.getPreFilteredRows = function () {
361
+ return globalFilteredRowModel.rows;
362
+ };
363
+ });
364
+ return globalFilteredRowModel;
365
+ }, 'getGlobalFilteredRowModel', instance.options.debug),
366
+ getPreGlobalFilteredRows: function getPreGlobalFilteredRows() {
367
+ return instance.getColumnFilteredRowModel().rows;
368
+ },
369
+ getPreGlobalFilteredFlatRows: function getPreGlobalFilteredFlatRows() {
370
+ return instance.getColumnFilteredRowModel().flatRows;
371
+ },
372
+ getPreGlobalFilteredRowsById: function getPreGlobalFilteredRowsById() {
373
+ return instance.getColumnFilteredRowModel().rowsById;
374
+ },
375
+ getGlobalFilteredRows: function getGlobalFilteredRows() {
376
+ return instance.getGlobalFilteredRowModel().rows;
377
+ },
378
+ getGlobalFilteredFlatRows: function getGlobalFilteredFlatRows() {
379
+ return instance.getGlobalFilteredRowModel().flatRows;
380
+ },
381
+ getGlobalFilteredRowsById: function getGlobalFilteredRowsById() {
382
+ return instance.getGlobalFilteredRowModel().rowsById;
383
+ }
384
+ };
385
+ }
386
+ function shouldAutoRemoveFilter(filterFn, value, column) {
387
+ return (filterFn && filterFn.autoRemove ? filterFn.autoRemove(value, column) : false) || typeof value === 'undefined' || typeof value === 'string' && !value;
388
+ }
389
+
390
+ exports.createColumn = createColumn;
391
+ exports.getDefaultColumn = getDefaultColumn;
392
+ exports.getDefaultOptions = getDefaultOptions;
393
+ exports.getInitialState = getInitialState;
394
+ exports.getInstance = getInstance;
395
+ exports.shouldAutoRemoveFilter = shouldAutoRemoveFilter;
396
+ //# sourceMappingURL=Filters.js.map