@tanstack/react-table 8.0.0-alpha.6 → 8.0.0-alpha.9

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/core.js +66 -73
  2. package/build/cjs/core.js.map +1 -1
  3. package/build/cjs/createTable.js +47 -33
  4. package/build/cjs/createTable.js.map +1 -1
  5. package/build/cjs/features/ColumnSizing.js +23 -22
  6. package/build/cjs/features/ColumnSizing.js.map +1 -1
  7. package/build/cjs/features/Expanding.js +10 -22
  8. package/build/cjs/features/Expanding.js.map +1 -1
  9. package/build/cjs/features/Filters.js +27 -58
  10. package/build/cjs/features/Filters.js.map +1 -1
  11. package/build/cjs/features/Grouping.js +10 -27
  12. package/build/cjs/features/Grouping.js.map +1 -1
  13. package/build/cjs/features/Headers.js +108 -28
  14. package/build/cjs/features/Headers.js.map +1 -1
  15. package/build/cjs/features/Ordering.js +2 -2
  16. package/build/cjs/features/Ordering.js.map +1 -1
  17. package/build/cjs/features/Pagination.js +24 -29
  18. package/build/cjs/features/Pagination.js.map +1 -1
  19. package/build/cjs/features/Pinning.js.map +1 -1
  20. package/build/cjs/features/RowSelection.js +23 -38
  21. package/build/cjs/features/RowSelection.js.map +1 -1
  22. package/build/cjs/features/Sorting.js +10 -22
  23. package/build/cjs/features/Sorting.js.map +1 -1
  24. package/build/cjs/features/Visibility.js +10 -2
  25. package/build/cjs/features/Visibility.js.map +1 -1
  26. package/build/cjs/filterTypes.js.map +1 -1
  27. package/build/cjs/index.js +12 -0
  28. package/build/cjs/index.js.map +1 -1
  29. package/build/cjs/sortTypes.js.map +1 -1
  30. package/build/cjs/types.js +22 -0
  31. package/build/cjs/types.js.map +1 -0
  32. package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
  33. package/build/cjs/utils/expandRowsFn.js.map +1 -1
  34. package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
  35. package/build/cjs/utils/groupRowsFn.js.map +1 -1
  36. package/build/cjs/utils/paginateRowsFn.js.map +1 -1
  37. package/build/cjs/utils/sortRowsFn.js.map +1 -1
  38. package/build/cjs/utils.js +44 -18
  39. package/build/cjs/utils.js.map +1 -1
  40. package/build/esm/index.js +1388 -1355
  41. package/build/esm/index.js.map +1 -1
  42. package/build/stats-html.html +1 -1
  43. package/build/stats-react.json +337 -307
  44. package/build/types/core.d.ts +63 -67
  45. package/build/types/createTable.d.ts +34 -44
  46. package/build/types/features/ColumnSizing.d.ts +13 -7
  47. package/build/types/features/Expanding.d.ts +11 -16
  48. package/build/types/features/Filters.d.ts +39 -47
  49. package/build/types/features/Grouping.d.ts +28 -27
  50. package/build/types/features/Headers.d.ts +30 -30
  51. package/build/types/features/Ordering.d.ts +5 -5
  52. package/build/types/features/Pagination.d.ts +11 -16
  53. package/build/types/features/Pinning.d.ts +5 -5
  54. package/build/types/features/RowSelection.d.ts +15 -23
  55. package/build/types/features/Sorting.d.ts +26 -25
  56. package/build/types/features/Visibility.d.ts +9 -9
  57. package/build/types/filterTypes.d.ts +10 -10
  58. package/build/types/index.d.ts +1 -0
  59. package/build/types/sortTypes.d.ts +7 -7
  60. package/build/types/types.d.ts +34 -23
  61. package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
  62. package/build/types/utils/expandRowsFn.d.ts +2 -2
  63. package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
  64. package/build/types/utils/groupRowsFn.d.ts +2 -2
  65. package/build/types/utils/paginateRowsFn.d.ts +2 -2
  66. package/build/types/utils/sortRowsFn.d.ts +2 -2
  67. package/build/types/utils.d.ts +5 -6
  68. package/build/umd/index.development.js +1397 -1354
  69. package/build/umd/index.development.js.map +1 -1
  70. package/build/umd/index.production.js +1 -1
  71. package/build/umd/index.production.js.map +1 -1
  72. package/package.json +1 -1
  73. package/src/core.tsx +192 -520
  74. package/src/createTable.tsx +137 -192
  75. package/src/features/ColumnSizing.ts +48 -77
  76. package/src/features/Expanding.ts +25 -113
  77. package/src/features/Filters.ts +91 -293
  78. package/src/features/Grouping.ts +60 -165
  79. package/src/features/Headers.ts +148 -331
  80. package/src/features/Ordering.ts +19 -42
  81. package/src/features/Pagination.ts +35 -110
  82. package/src/features/Pinning.ts +16 -40
  83. package/src/features/RowSelection.ts +47 -227
  84. package/src/features/Sorting.ts +49 -143
  85. package/src/features/Visibility.ts +23 -64
  86. package/src/filterTypes.ts +19 -82
  87. package/src/index.tsx +1 -0
  88. package/src/sortTypes.ts +19 -31
  89. package/src/types.ts +80 -100
  90. package/src/utils/columnFilterRowsFn.ts +11 -53
  91. package/src/utils/expandRowsFn.ts +7 -27
  92. package/src/utils/globalFilterRowsFn.ts +10 -43
  93. package/src/utils/groupRowsFn.ts +13 -37
  94. package/src/utils/paginateRowsFn.ts +5 -11
  95. package/src/utils/sortRowsFn.ts +8 -28
  96. package/src/utils.tsx +61 -35
@@ -2,13 +2,19 @@ import { RowModel } from '..'
2
2
  import { BuiltInFilterType, filterTypes } from '../filterTypes'
3
3
  import {
4
4
  Column,
5
- Listener,
6
5
  OnChangeFn,
7
- ReactTable,
6
+ PartialGenerics,
7
+ TableInstance,
8
8
  Row,
9
9
  Updater,
10
10
  } from '../types'
11
- import { functionalUpdate, isFunction, makeStateUpdater, memo } from '../utils'
11
+ import {
12
+ functionalUpdate,
13
+ isFunction,
14
+ makeStateUpdater,
15
+ memo,
16
+ Overwrite,
17
+ } from '../utils'
12
18
 
13
19
  export type ColumnFilter = {
14
20
  id: string
@@ -17,42 +23,19 @@ export type ColumnFilter = {
17
23
 
18
24
  export type ColumnFiltersState = ColumnFilter[]
19
25
 
20
- export type FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> =
21
- {
22
- (
23
- rows: Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[],
24
- columnIds: string[],
25
- filterValue: any
26
- ): any
27
- autoRemove?: ColumnFilterAutoRemoveTestFn<
28
- TData,
29
- TValue,
30
- TFilterFns,
31
- TSortingFns,
32
- TAggregationFns
33
- >
34
- }
26
+ export type FilterFn<TGenerics extends PartialGenerics> = {
27
+ (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any
28
+ autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>
29
+ }
35
30
 
36
- export type ColumnFilterAutoRemoveTestFn<
37
- TData,
38
- TValue,
39
- TFilterFns,
40
- TSortingFns,
41
- TAggregationFns
42
- > = (
31
+ export type ColumnFilterAutoRemoveTestFn<TGenerics extends PartialGenerics> = (
43
32
  value: unknown,
44
- column?: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
33
+ column?: Column<TGenerics>
45
34
  ) => boolean
46
35
 
47
- export type CustomFilterTypes<
48
- TData,
49
- TValue,
50
- TFilterFns,
51
- TSortingFns,
52
- TAggregationFns
53
- > = Record<
36
+ export type CustomFilterTypes<TGenerics extends PartialGenerics> = Record<
54
37
  string,
55
- FilterFn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
38
+ FilterFn<TGenerics>
56
39
  >
57
40
 
58
41
  export type FiltersTableState = {
@@ -60,14 +43,14 @@ export type FiltersTableState = {
60
43
  globalFilter: any
61
44
  }
62
45
 
63
- export type FilterType<TFilterFns> =
46
+ export type FilterType<TGenerics extends PartialGenerics> =
64
47
  | 'auto'
65
48
  | BuiltInFilterType
66
- | keyof TFilterFns
67
- | FilterFn<unknown, unknown, TFilterFns, any, any>
49
+ | TGenerics['FilterFns']
50
+ | FilterFn<TGenerics>
68
51
 
69
- export type FiltersColumnDef<TFilterFns> = {
70
- filterType?: FilterType<TFilterFns>
52
+ export type FiltersColumnDef<TGenerics extends PartialGenerics> = {
53
+ filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>
71
54
  enableAllFilters?: boolean
72
55
  enableColumnFilter?: boolean
73
56
  enableGlobalFilter?: boolean
@@ -76,210 +59,82 @@ export type FiltersColumnDef<TFilterFns> = {
76
59
  defaultCanGlobalFilter?: boolean
77
60
  }
78
61
 
79
- export type FiltersColumn<
80
- TData,
81
- TValue,
82
- TFilterFns,
83
- TSortingFns,
84
- TAggregationFns
85
- > = {
86
- filterType: FilterType<TFilterFns>
62
+ export type FiltersColumn<TGenerics extends PartialGenerics> = {
63
+ filterType: FilterType<Overwrite<TGenerics, { Value: any }>>
87
64
  getCanColumnFilter: () => boolean
88
65
  getCanGlobalFilter: () => boolean
89
66
  getColumnFilterIndex: () => number
90
67
  getIsColumnFiltered: () => boolean
91
68
  getColumnFilterValue: () => unknown
92
69
  setColumnFilterValue: (value: any) => void
93
- getPreFilteredRows: () =>
94
- | Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>[]
95
- | undefined
70
+ getPreFilteredRows: () => Row<TGenerics>[] | undefined
96
71
  getPreFilteredUniqueValues: () => Map<any, number>
97
72
  getPreFilteredMinMaxValues: () => [any, any]
98
73
  }
99
74
 
100
- export type FiltersOptions<
101
- TData,
102
- TValue,
103
- TFilterFns,
104
- TSortingFns,
105
- TAggregationFns
106
- > = {
75
+ export type FiltersOptions<TGenerics extends PartialGenerics> = {
107
76
  filterFromChildrenUp?: boolean
108
- filterTypes?: TFilterFns
77
+ filterTypes?: TGenerics['FilterFns']
109
78
  enableFilters?: boolean
110
79
  // Column
111
80
  onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
112
81
  autoResetColumnFilters?: boolean
113
82
  enableColumnFilters?: boolean
114
83
  columnFilterRowsFn?: (
115
- instance: ReactTable<any, any, any, any, any>,
116
- coreRowModel: RowModel<any, any, any, any, any>
117
- ) => RowModel<any, any, any, any, any>
84
+ instance: TableInstance<TGenerics>,
85
+ coreRowModel: RowModel<TGenerics>
86
+ ) => RowModel<TGenerics>
118
87
  // Global
119
- globalFilterType?: FilterType<TFilterFns>
88
+ globalFilterType?: FilterType<TGenerics>
120
89
  onGlobalFilterChange?: OnChangeFn<any>
121
90
  enableGlobalFilters?: boolean
122
91
  autoResetGlobalFilter?: boolean
123
92
  enableGlobalFilter?: boolean
124
93
  globalFilterRowsFn?: (
125
- instance: ReactTable<any, any, any, any, any>,
126
- rowModel: RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
127
- ) => RowModel<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
128
- getColumnCanGlobalFilterFn?: (
129
- column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
130
- ) => boolean
94
+ instance: TableInstance<TGenerics>,
95
+ rowModel: RowModel<TGenerics>
96
+ ) => RowModel<TGenerics>
97
+ getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
131
98
  }
132
99
 
133
- export type FiltersInstance<
134
- TData,
135
- TValue,
136
- TFilterFns,
137
- TSortingFns,
138
- TAggregationFns
139
- > = {
100
+ export type FiltersInstance<TGenerics extends PartialGenerics> = {
140
101
  _notifyFiltersReset: () => void
141
- getColumnAutoFilterFn: (
142
- columnId: string
143
- ) => FilterFn<any, any, any, any, any> | undefined
102
+ getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
144
103
 
145
- getColumnFilterFn: (
146
- columnId: string
147
- ) => FilterFn<any, any, any, any, any> | undefined
104
+ getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
148
105
 
149
106
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
150
107
  setColumnFilterValue: (columnId: string, value: any) => void
151
108
  resetColumnFilters: () => void
152
109
  getColumnCanColumnFilter: (columnId: string) => boolean
153
- getColumnCanGlobalFilterFn?: (
154
- column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
155
- ) => boolean
110
+ getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
156
111
 
157
112
  getColumnIsFiltered: (columnId: string) => boolean
158
113
  getColumnFilterValue: (columnId: string) => unknown
159
114
  getColumnFilterIndex: (columnId: string) => number
160
- getColumnFilteredRowModel: () => RowModel<
161
- TData,
162
- TValue,
163
- TFilterFns,
164
- TSortingFns,
165
- TAggregationFns
166
- >
167
- getPreFilteredRowModel: () => RowModel<
168
- TData,
169
- TValue,
170
- TFilterFns,
171
- TSortingFns,
172
- TAggregationFns
173
- >
174
- getPreFilteredRows: () => Row<
175
- TData,
176
- TValue,
177
- TFilterFns,
178
- TSortingFns,
179
- TAggregationFns
180
- >[]
181
- getPreFilteredFlatRows: () => Row<
182
- TData,
183
- TValue,
184
- TFilterFns,
185
- TSortingFns,
186
- TAggregationFns
187
- >[]
188
- getPreFilteredRowsById: () => Record<
189
- string,
190
- Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
191
- >
192
- getPreColumnFilteredRows: () => Row<
193
- TData,
194
- TValue,
195
- TFilterFns,
196
- TSortingFns,
197
- TAggregationFns
198
- >[]
199
- getPreColumnFilteredFlatRows: () => Row<
200
- TData,
201
- TValue,
202
- TFilterFns,
203
- TSortingFns,
204
- TAggregationFns
205
- >[]
206
- getPreColumnFilteredRowsById: () => Record<
207
- string,
208
- Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
209
- >
210
- getColumnFilteredRows: () => Row<
211
- TData,
212
- TValue,
213
- TFilterFns,
214
- TSortingFns,
215
- TAggregationFns
216
- >[]
217
- getColumnFilteredFlatRows: () => Row<
218
- TData,
219
- TValue,
220
- TFilterFns,
221
- TSortingFns,
222
- TAggregationFns
223
- >[]
224
- getColumnFilteredRowsById: () => Record<
225
- string,
226
- Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
227
- >
228
115
 
229
- // Global
116
+ // All
117
+ getPreFilteredRowModel: () => RowModel<TGenerics>
118
+
119
+ // Column Filters
120
+ getPreColumnFilteredRowModel: () => RowModel<TGenerics>
121
+ getColumnFilteredRowModel: () => RowModel<TGenerics>
122
+
123
+ // Global Filters
230
124
  setGlobalFilter: (updater: Updater<any>) => void
231
125
  resetGlobalFilter: () => void
232
- getGlobalAutoFilterFn: () => FilterFn<any, any, any, any, any> | undefined
233
- getGlobalFilterFn: () => FilterFn<any, any, any, any, any> | undefined
126
+ getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined
127
+ getGlobalFilterFn: () => FilterFn<TGenerics> | undefined
234
128
  getColumnCanGlobalFilter: (columnId: string) => boolean
235
- getGlobalFilteredRowModel: () => RowModel<
236
- TData,
237
- TValue,
238
- TFilterFns,
239
- TSortingFns,
240
- TAggregationFns
241
- >
242
- getPreGlobalFilteredRows: () => Row<
243
- TData,
244
- TValue,
245
- TFilterFns,
246
- TSortingFns,
247
- TAggregationFns
248
- >[]
249
- getPreGlobalFilteredFlatRows: () => Row<
250
- TData,
251
- TValue,
252
- TFilterFns,
253
- TSortingFns,
254
- TAggregationFns
255
- >[]
256
- getPreGlobalFilteredRowsById: () => Record<
257
- string,
258
- Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
259
- >
260
- getGlobalFilteredRows: () => Row<
261
- TData,
262
- TValue,
263
- TFilterFns,
264
- TSortingFns,
265
- TAggregationFns
266
- >[]
267
- getGlobalFilteredFlatRows: () => Row<
268
- TData,
269
- TValue,
270
- TFilterFns,
271
- TSortingFns,
272
- TAggregationFns
273
- >[]
274
- getGlobalFilteredRowsById: () => Record<
275
- string,
276
- Row<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
277
- >
129
+ getPreGlobalFilteredRowModel: () => RowModel<TGenerics>
130
+ getGlobalFilteredRowModel: () => RowModel<TGenerics>
278
131
  }
279
132
 
280
133
  //
281
134
 
282
- export function getDefaultColumn<TFilterFns>(): FiltersColumnDef<TFilterFns> {
135
+ export function getDefaultColumn<
136
+ TGenerics extends PartialGenerics
137
+ >(): FiltersColumnDef<TGenerics> {
283
138
  return {
284
139
  filterType: 'auto',
285
140
  }
@@ -292,15 +147,9 @@ export function getInitialState(): FiltersTableState {
292
147
  }
293
148
  }
294
149
 
295
- export function getDefaultOptions<
296
- TData,
297
- TValue,
298
- TFilterFns,
299
- TSortingFns,
300
- TAggregationFns
301
- >(
302
- instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
303
- ): FiltersOptions<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
150
+ export function getDefaultOptions<TGenerics extends PartialGenerics>(
151
+ instance: TableInstance<TGenerics>
152
+ ): FiltersOptions<TGenerics> {
304
153
  return {
305
154
  onColumnFiltersChange: makeStateUpdater('columnFilters', instance),
306
155
  onGlobalFilterChange: makeStateUpdater('globalFilter', instance),
@@ -309,25 +158,19 @@ export function getDefaultOptions<
309
158
  autoResetGlobalFilter: true,
310
159
  globalFilterType: 'auto',
311
160
  getColumnCanGlobalFilterFn: column => {
312
- const value = instance.getCoreFlatRows()[0]?.getAllCellsByColumnId()[
313
- column.id
314
- ]?.value
161
+ const value = instance
162
+ .getCoreRowModel()
163
+ .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value
315
164
 
316
165
  return typeof value === 'string'
317
166
  },
318
167
  }
319
168
  }
320
169
 
321
- export function createColumn<
322
- TData,
323
- TValue,
324
- TFilterFns,
325
- TSortingFns,
326
- TAggregationFns
327
- >(
328
- column: Column<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>,
329
- instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
330
- ): FiltersColumn<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
170
+ export function createColumn<TGenerics extends PartialGenerics>(
171
+ column: Column<TGenerics>,
172
+ instance: TableInstance<TGenerics>
173
+ ): FiltersColumn<TGenerics> {
331
174
  const getFacetInfo = memo(
332
175
  () => [column.getPreFilteredRows()],
333
176
  (rows = []) => {
@@ -362,7 +205,10 @@ export function createColumn<
362
205
  preFilteredMinMaxValues,
363
206
  }
364
207
  },
365
- { key: 'column.getFacetInfo', debug: instance.options.debug }
208
+ {
209
+ key: 'column.getFacetInfo',
210
+ debug: () => instance.options.debugAll ?? instance.options.debugColumns,
211
+ }
366
212
  )
367
213
 
368
214
  return {
@@ -379,15 +225,9 @@ export function createColumn<
379
225
  }
380
226
  }
381
227
 
382
- export function getInstance<
383
- TData,
384
- TValue,
385
- TFilterFns,
386
- TSortingFns,
387
- TAggregationFns
388
- >(
389
- instance: ReactTable<TData, TValue, TFilterFns, TSortingFns, TAggregationFns>
390
- ): FiltersInstance<TData, TValue, TFilterFns, TSortingFns, TAggregationFns> {
228
+ export function getInstance<TGenerics extends PartialGenerics>(
229
+ instance: TableInstance<TGenerics>
230
+ ): FiltersInstance<TGenerics> {
391
231
  let registered = false
392
232
 
393
233
  return {
@@ -413,7 +253,7 @@ export function getInstance<
413
253
  }
414
254
  },
415
255
  getColumnAutoFilterFn: columnId => {
416
- const firstRow = instance.getCoreFlatRows()[0]
256
+ const firstRow = instance.getCoreRowModel().flatRows[0]
417
257
 
418
258
  const value = firstRow?.values[columnId]
419
259
 
@@ -453,13 +293,9 @@ export function getInstance<
453
293
  : (userFilterTypes as Record<string, any>)?.[
454
294
  column.filterType as string
455
295
  ] ??
456
- (filterTypes[column.filterType as BuiltInFilterType] as FilterFn<
457
- TData,
458
- TValue,
459
- TFilterFns,
460
- TSortingFns,
461
- TAggregationFns
462
- >)
296
+ (filterTypes[
297
+ column.filterType as BuiltInFilterType
298
+ ] as FilterFn<TGenerics>)
463
299
  },
464
300
 
465
301
  getGlobalFilterFn: () => {
@@ -473,13 +309,9 @@ export function getInstance<
473
309
  : (userFilterTypes as Record<string, any>)?.[
474
310
  globalFilterType as string
475
311
  ] ??
476
- (filterTypes[globalFilterType as BuiltInFilterType] as FilterFn<
477
- TData,
478
- TValue,
479
- TFilterFns,
480
- TSortingFns,
481
- TAggregationFns
482
- >)
312
+ (filterTypes[
313
+ globalFilterType as BuiltInFilterType
314
+ ] as FilterFn<TGenerics>)
483
315
  },
484
316
 
485
317
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => {
@@ -592,13 +424,7 @@ export function getInstance<
592
424
  //
593
425
  if (
594
426
  shouldAutoRemoveFilter(
595
- filterFn as FilterFn<
596
- TData,
597
- TValue,
598
- TFilterFns,
599
- TSortingFns,
600
- TAggregationFns
601
- >,
427
+ filterFn as FilterFn<TGenerics>,
602
428
  newFilter,
603
429
  column
604
430
  )
@@ -631,6 +457,8 @@ export function getInstance<
631
457
  instance.setColumnFilters(instance.initialState?.columnFilters ?? [])
632
458
  },
633
459
 
460
+ getPreFilteredRowModel: () => instance.getCoreRowModel(),
461
+ getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),
634
462
  getColumnFilteredRowModel: memo(
635
463
  () => [
636
464
  instance.getState().columnFilters,
@@ -643,9 +471,6 @@ export function getInstance<
643
471
  return rowModel
644
472
  }
645
473
 
646
- if (process.env.NODE_ENV !== 'production' && instance.options.debug)
647
- console.info('Column Filtering...')
648
-
649
474
  return columnFiltersFn(instance as any, rowModel)
650
475
  })()
651
476
 
@@ -667,25 +492,12 @@ export function getInstance<
667
492
 
668
493
  return columnFilteredRowModel
669
494
  },
670
- { key: 'getColumnFilteredRowModel', debug: instance.options.debug }
495
+ {
496
+ key: 'getColumnFilteredRowModel',
497
+ debug: () => instance.options.debugAll ?? instance.options.debugTable,
498
+ }
671
499
  ),
672
-
673
- // These might be easier to remember than "column" filtered rows
674
- getPreFilteredRowModel: () => instance.getCoreRowModel(),
675
- getPreFilteredRows: () => instance.getCoreRowModel().rows,
676
- getPreFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
677
- getPreFilteredRowsById: () => instance.getCoreRowModel().rowsById,
678
-
679
- // Pre Column Filter
680
- getPreColumnFilteredRows: () => instance.getCoreRowModel().rows,
681
- getPreColumnFilteredFlatRows: () => instance.getCoreRowModel().flatRows,
682
- getPreColumnFilteredRowsById: () => instance.getCoreRowModel().rowsById,
683
- getColumnFilteredRows: () => instance.getColumnFilteredRowModel().rows,
684
-
685
- getColumnFilteredFlatRows: () =>
686
- instance.getColumnFilteredRowModel().flatRows,
687
- getColumnFilteredRowsById: () =>
688
- instance.getColumnFilteredRowModel().rowsById,
500
+ getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),
689
501
  getGlobalFilteredRowModel: memo(
690
502
  () => [
691
503
  instance.getState().globalFilter,
@@ -698,11 +510,8 @@ export function getInstance<
698
510
  return columnFilteredRowModel
699
511
  }
700
512
 
701
- if (process.env.NODE_ENV !== 'production' && instance.options.debug)
702
- console.info('Global Filtering...')
703
-
704
513
  return globalFiltersFn(
705
- instance as ReactTable<any, any, any, any, any>,
514
+ instance as TableInstance<TGenerics>,
706
515
  columnFilteredRowModel
707
516
  )
708
517
  })()
@@ -727,30 +536,19 @@ export function getInstance<
727
536
  },
728
537
  {
729
538
  key: 'getGlobalFilteredRowModel',
730
- debug: instance.options.debug,
539
+ debug: () => instance.options.debugAll ?? instance.options.debugTable,
731
540
  onChange: () => {
732
541
  instance._notifySortingReset()
733
542
  },
734
543
  }
735
544
  ),
736
-
737
- getPreGlobalFilteredRows: () => instance.getColumnFilteredRowModel().rows,
738
- getPreGlobalFilteredFlatRows: () =>
739
- instance.getColumnFilteredRowModel().flatRows,
740
- getPreGlobalFilteredRowsById: () =>
741
- instance.getColumnFilteredRowModel().rowsById,
742
- getGlobalFilteredRows: () => instance.getGlobalFilteredRowModel().rows,
743
- getGlobalFilteredFlatRows: () =>
744
- instance.getGlobalFilteredRowModel().flatRows,
745
- getGlobalFilteredRowsById: () =>
746
- instance.getGlobalFilteredRowModel().rowsById,
747
545
  }
748
546
  }
749
547
 
750
- export function shouldAutoRemoveFilter(
751
- filterFn?: FilterFn<any, any, any, any, any>,
548
+ export function shouldAutoRemoveFilter<TGenerics extends PartialGenerics>(
549
+ filterFn?: FilterFn<TGenerics>,
752
550
  value?: any,
753
- column?: Column<any, any, any, any, any>
551
+ column?: Column<TGenerics>
754
552
  ) {
755
553
  return (
756
554
  (filterFn && filterFn.autoRemove