@tanstack/table-core 8.0.0-alpha.49 → 8.0.0-alpha.53

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 (69) hide show
  1. package/build/cjs/features/ColumnSizing.js +2 -2
  2. package/build/cjs/features/ColumnSizing.js.map +1 -1
  3. package/build/cjs/features/Expanding.js +3 -3
  4. package/build/cjs/features/Expanding.js.map +1 -1
  5. package/build/cjs/features/Filters.js +5 -8
  6. package/build/cjs/features/Filters.js.map +1 -1
  7. package/build/cjs/features/Grouping.js +3 -3
  8. package/build/cjs/features/Grouping.js.map +1 -1
  9. package/build/cjs/features/Ordering.js +1 -1
  10. package/build/cjs/features/Ordering.js.map +1 -1
  11. package/build/cjs/features/Pagination.js +2 -2
  12. package/build/cjs/features/Pagination.js.map +1 -1
  13. package/build/cjs/features/Pinning.js +1 -1
  14. package/build/cjs/features/Pinning.js.map +1 -1
  15. package/build/cjs/features/RowSelection.js +5 -5
  16. package/build/cjs/features/RowSelection.js.map +1 -1
  17. package/build/cjs/features/Sorting.js +3 -3
  18. package/build/cjs/features/Sorting.js.map +1 -1
  19. package/build/cjs/features/Visibility.js +1 -1
  20. package/build/cjs/features/Visibility.js.map +1 -1
  21. package/build/cjs/utils/getColumnFilteredRowModelSync.js +1 -1
  22. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  23. package/build/cjs/utils/getCoreRowModelAsync.js +2 -3
  24. package/build/cjs/utils/getCoreRowModelAsync.js.map +1 -1
  25. package/build/cjs/utils/getCoreRowModelSync.js +2 -3
  26. package/build/cjs/utils/getCoreRowModelSync.js.map +1 -1
  27. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  28. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  29. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  30. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  31. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  32. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  33. package/build/esm/index.js +34 -39
  34. package/build/esm/index.js.map +1 -1
  35. package/build/stats-html.html +1 -1
  36. package/build/stats-react.json +321 -321
  37. package/build/types/features/Expanding.d.ts +1 -1
  38. package/build/types/features/Filters.d.ts +4 -6
  39. package/build/types/features/Grouping.d.ts +1 -1
  40. package/build/types/features/Ordering.d.ts +1 -1
  41. package/build/types/features/Pagination.d.ts +1 -1
  42. package/build/types/features/RowSelection.d.ts +1 -1
  43. package/build/types/features/Sorting.d.ts +1 -1
  44. package/build/types/types.d.ts +1 -1
  45. package/build/umd/index.development.js +34 -39
  46. package/build/umd/index.development.js.map +1 -1
  47. package/build/umd/index.production.js +1 -1
  48. package/build/umd/index.production.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/features/ColumnSizing.ts +2 -8
  51. package/src/features/Expanding.ts +4 -8
  52. package/src/features/Filters.ts +9 -20
  53. package/src/features/Grouping.ts +4 -8
  54. package/src/features/Ordering.ts +4 -7
  55. package/src/features/Pagination.ts +3 -6
  56. package/src/features/Pinning.ts +1 -4
  57. package/src/features/RowSelection.ts +6 -9
  58. package/src/features/Sorting.ts +4 -8
  59. package/src/features/Visibility.ts +1 -4
  60. package/src/types.ts +1 -1
  61. package/src/utils/getColumnFilteredRowModelAsync.ts +1 -1
  62. package/src/utils/getColumnFilteredRowModelSync.ts +1 -1
  63. package/src/utils/getCoreRowModelAsync.ts +2 -2
  64. package/src/utils/getCoreRowModelSync.ts +2 -2
  65. package/src/utils/getGlobalFilteredRowModelAsync.ts +1 -1
  66. package/src/utils/getGlobalFilteredRowModelSync.ts +1 -1
  67. package/src/utils/getGroupedRowModel.ts +1 -1
  68. package/src/utils/getSortedRowModelAsync.ts +1 -1
  69. package/src/utils/getSortedRowModelSync.ts +1 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanstack/table-core",
3
3
  "author": "Tanner Linsley",
4
- "version": "8.0.0-alpha.49",
4
+ "version": "8.0.0-alpha.53",
5
5
  "description": "Hooks for building lightweight, fast and extendable datagrids for React",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/react-table#readme",
@@ -151,15 +151,9 @@ export const ColumnSizing = {
151
151
  )
152
152
  },
153
153
  setColumnSizing: updater =>
154
- instance.options.onColumnSizingChange?.(
155
- updater,
156
- functionalUpdate(updater, instance.getState().columnSizing)
157
- ),
154
+ instance.options.onColumnSizingChange?.(updater),
158
155
  setColumnSizingInfo: updater =>
159
- instance.options.onColumnSizingInfoChange?.(
160
- updater,
161
- functionalUpdate(updater, instance.getState().columnSizingInfo)
162
- ),
156
+ instance.options.onColumnSizingInfoChange?.(updater),
163
157
  resetColumnSizing: () => {
164
158
  instance.setColumnSizing(instance.initialState.columnSizing ?? {})
165
159
  },
@@ -46,7 +46,7 @@ export type ToggleExpandedProps = {
46
46
  }
47
47
 
48
48
  export type ExpandedInstance<TGenerics extends AnyGenerics> = {
49
- _notifyExpandedReset: () => void
49
+ queueResetExpanded: () => void
50
50
  setExpanded: (updater: Updater<ExpandedState>) => void
51
51
  toggleRowExpanded: (rowId: string, expanded?: boolean) => void
52
52
  toggleAllRowsExpanded: (expanded?: boolean) => void
@@ -95,8 +95,8 @@ export const Expanding = {
95
95
  let registered = false
96
96
 
97
97
  return {
98
- _notifyExpandedReset: () => {
99
- instance._notifyPageIndexReset()
98
+ queueResetExpanded: () => {
99
+ instance.queueResetPageIndex()
100
100
 
101
101
  if (!registered) {
102
102
  registered = true
@@ -114,11 +114,7 @@ export const Expanding = {
114
114
  instance.resetExpanded()
115
115
  }
116
116
  },
117
- setExpanded: updater =>
118
- instance.options.onExpandedChange?.(
119
- updater,
120
- functionalUpdate(updater, instance.getState().expanded)
121
- ),
117
+ setExpanded: updater => instance.options.onExpandedChange?.(updater),
122
118
  toggleRowExpanded: (rowId, expanded) => {
123
119
  if (!rowId) return
124
120
 
@@ -71,9 +71,9 @@ export type FiltersColumn<TGenerics extends AnyGenerics> = {
71
71
  getCanColumnFilter: () => boolean
72
72
  getCanGlobalFilter: () => boolean
73
73
  getColumnFilterIndex: () => number
74
- getIsColumnFiltered: () => boolean
74
+ getColumnIsFiltered: () => boolean
75
75
  getColumnFilterValue: () => unknown
76
- setColumnFilterValue: (value: any) => void
76
+ setColumnFilterValue: (updater: Updater<any>) => void
77
77
  getPreFilteredRows: () => Row<TGenerics>[] | undefined
78
78
  getPreFilteredUniqueValues: () => Map<any, number>
79
79
  getPreFilteredMinMaxValues: () => [any, any]
@@ -102,24 +102,20 @@ export type FiltersOptions<TGenerics extends AnyGenerics> = {
102
102
  }
103
103
 
104
104
  export type FiltersInstance<TGenerics extends AnyGenerics> = {
105
- _notifyFiltersReset: () => void
105
+ queueResetFilters: () => void
106
106
  getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
107
107
 
108
108
  getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined
109
109
 
110
110
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
111
- setColumnFilterValue: (columnId: string, value: any) => void
111
+ setColumnFilterValue: (columnId: string, updater: Updater<any>) => void
112
112
  resetColumnFilters: () => void
113
113
  getColumnCanColumnFilter: (columnId: string) => boolean
114
- getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean
115
114
 
116
115
  getColumnIsFiltered: (columnId: string) => boolean
117
116
  getColumnFilterValue: (columnId: string) => unknown
118
117
  getColumnFilterIndex: (columnId: string) => number
119
118
 
120
- // All
121
- getPreFilteredRowModel: () => RowModel<TGenerics>
122
-
123
119
  // Column Filters
124
120
  getPreColumnFilteredRowModel: () => RowModel<TGenerics>
125
121
  getColumnFilteredRowModel: () => RowModel<TGenerics>
@@ -225,7 +221,7 @@ export const Filters = {
225
221
  getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),
226
222
  getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),
227
223
  getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),
228
- getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),
224
+ getColumnIsFiltered: () => instance.getColumnIsFiltered(column.id),
229
225
  getColumnFilterValue: () => instance.getColumnFilterValue(column.id),
230
226
  setColumnFilterValue: val =>
231
227
  instance.setColumnFilterValue(column.id, val),
@@ -241,8 +237,8 @@ export const Filters = {
241
237
  let registered = false
242
238
 
243
239
  return {
244
- _notifyFiltersReset: () => {
245
- instance._notifySortingReset()
240
+ queueResetFilters: () => {
241
+ instance.queueResetSorting()
246
242
 
247
243
  if (!registered) {
248
244
  registered = true
@@ -348,17 +344,11 @@ export const Filters = {
348
344
  })
349
345
  }
350
346
 
351
- instance.options.onColumnFiltersChange?.(
352
- updateFn,
353
- updateFn(instance.getState().columnFilters)
354
- )
347
+ instance.options.onColumnFiltersChange?.(updateFn)
355
348
  },
356
349
 
357
350
  setGlobalFilter: updater => {
358
- instance.options.onGlobalFilterChange?.(
359
- updater,
360
- functionalUpdate(updater, instance.getState().globalFilter)
361
- )
351
+ instance.options.onGlobalFilterChange?.(updater)
362
352
  },
363
353
 
364
354
  resetGlobalFilter: () => {
@@ -472,7 +462,6 @@ export const Filters = {
472
462
  instance.setColumnFilters(instance.initialState?.columnFilters ?? [])
473
463
  },
474
464
 
475
- getPreFilteredRowModel: () => instance.getCoreRowModel(),
476
465
  getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),
477
466
  getColumnFilteredRowModel: () => {
478
467
  if (
@@ -114,7 +114,7 @@ export type ToggleGroupingProps = {
114
114
  }
115
115
 
116
116
  export type GroupingInstance<TGenerics extends AnyGenerics> = {
117
- _notifyGroupingReset: () => void
117
+ queueResetGrouping: () => void
118
118
  getColumnAutoAggregationFn: (
119
119
  columnId: string
120
120
  ) => AggregationFn<TGenerics> | undefined
@@ -185,8 +185,8 @@ export const Grouping = {
185
185
  let registered = false
186
186
 
187
187
  return {
188
- _notifyGroupingReset: () => {
189
- instance._notifyExpandedReset()
188
+ queueResetGrouping: () => {
189
+ instance.queueResetExpanded()
190
190
 
191
191
  if (!registered) {
192
192
  registered = true
@@ -239,11 +239,7 @@ export const Grouping = {
239
239
  ] as AggregationFn<TGenerics>)
240
240
  },
241
241
 
242
- setGrouping: updater =>
243
- instance.options.onGroupingChange?.(
244
- updater,
245
- functionalUpdate(updater, instance.getState().grouping)
246
- ),
242
+ setGrouping: updater => instance.options.onGroupingChange?.(updater),
247
243
 
248
244
  toggleColumnGrouping: columnId => {
249
245
  instance.setGrouping(old => {
@@ -1,4 +1,4 @@
1
- import { functionalUpdate, makeStateUpdater, memo } from '../utils'
1
+ import { makeStateUpdater, memo } from '../utils'
2
2
 
3
3
  import {
4
4
  TableInstance,
@@ -11,12 +11,12 @@ import {
11
11
 
12
12
  import { Grouping } from './Grouping'
13
13
 
14
- export type ColumnOrderState = string[]
15
-
16
14
  export type ColumnOrderTableState = {
17
15
  columnOrder: ColumnOrderState
18
16
  }
19
17
 
18
+ export type ColumnOrderState = string[]
19
+
20
20
  export type ColumnOrderOptions = {
21
21
  onColumnOrderChange?: OnChangeFn<ColumnOrderState>
22
22
  }
@@ -53,10 +53,7 @@ export const Ordering = {
53
53
  ): ColumnOrderInstance<TGenerics> => {
54
54
  return {
55
55
  setColumnOrder: updater =>
56
- instance.options.onColumnOrderChange?.(
57
- updater,
58
- functionalUpdate(updater, instance.getState().columnOrder)
59
- ),
56
+ instance.options.onColumnOrderChange?.(updater),
60
57
  resetColumnOrder: () => {
61
58
  instance.setColumnOrder(instance.initialState.columnOrder ?? [])
62
59
  },
@@ -32,7 +32,7 @@ export type PaginationDefaultOptions = {
32
32
  }
33
33
 
34
34
  export type PaginationInstance<TGenerics extends AnyGenerics> = {
35
- _notifyPageIndexReset: () => void
35
+ queueResetPageIndex: () => void
36
36
  setPagination: (updater: Updater<PaginationState>) => void
37
37
  resetPagination: () => void
38
38
  setPageIndex: (updater: Updater<number>) => void
@@ -78,7 +78,7 @@ export const Pagination = {
78
78
  ): PaginationInstance<TGenerics> => {
79
79
  let registered = false
80
80
  return {
81
- _notifyPageIndexReset: () => {
81
+ queueResetPageIndex: () => {
82
82
  if (!registered) {
83
83
  registered = true
84
84
  return
@@ -102,10 +102,7 @@ export const Pagination = {
102
102
  return newState
103
103
  }
104
104
 
105
- return instance.options.onPaginationChange?.(
106
- safeUpdater,
107
- functionalUpdate(safeUpdater, instance.getState().pagination)
108
- )
105
+ return instance.options.onPaginationChange?.(safeUpdater)
109
106
  },
110
107
  resetPagination: () => {
111
108
  instance.setPagination(
@@ -87,10 +87,7 @@ export const Pinning = {
87
87
  ): ColumnPinningInstance<TGenerics> => {
88
88
  return {
89
89
  setColumnPinning: updater =>
90
- instance.options.onColumnPinningChange?.(
91
- updater,
92
- functionalUpdate(updater, instance.getState().columnPinning)
93
- ),
90
+ instance.options.onColumnPinningChange?.(updater),
94
91
 
95
92
  resetColumnPinning: () =>
96
93
  instance.setColumnPinning(instance.initialState?.columnPinning ?? {}),
@@ -61,7 +61,7 @@ export type RowSelectionRow = {
61
61
  }
62
62
 
63
63
  export type RowSelectionInstance<TGenerics extends AnyGenerics> = {
64
- _notifyRowSelectionReset: () => void
64
+ queueResetRowSelection: () => void
65
65
  getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(
66
66
  rowId: string,
67
67
  userProps?: TGetter
@@ -129,7 +129,7 @@ export const RowSelection = {
129
129
  // const pageRows = instance.getPageRows()
130
130
 
131
131
  return {
132
- _notifyRowSelectionReset: () => {
132
+ queueResetRowSelection: () => {
133
133
  if (!registered) {
134
134
  registered = true
135
135
  return
@@ -147,10 +147,7 @@ export const RowSelection = {
147
147
  }
148
148
  },
149
149
  setRowSelection: updater =>
150
- instance.options.onRowSelectionChange?.(
151
- updater,
152
- functionalUpdate(updater, instance.getState().rowSelection)
153
- ),
150
+ instance.options.onRowSelectionChange?.(updater),
154
151
  resetRowSelection: () =>
155
152
  instance.setRowSelection(instance.initialState.rowSelection ?? {}),
156
153
  toggleAllRowsSelected: value => {
@@ -288,7 +285,7 @@ export const RowSelection = {
288
285
  key: 'getSelectedRowModel',
289
286
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
290
287
  onChange: () => {
291
- instance.queue(() => instance._notifyExpandedReset())
288
+ instance.queue(() => instance.queueResetExpanded())
292
289
  },
293
290
  }
294
291
  ),
@@ -312,7 +309,7 @@ export const RowSelection = {
312
309
  {
313
310
  key: 'getFilteredSelectedRowModel',
314
311
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
315
- onChange: () => instance.queue(() => instance._notifyExpandedReset()),
312
+ onChange: () => instance.queue(() => instance.queueResetExpanded()),
316
313
  }
317
314
  ),
318
315
 
@@ -332,7 +329,7 @@ export const RowSelection = {
332
329
  {
333
330
  key: 'getGroupedSelectedRowModel',
334
331
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
335
- onChange: () => instance.queue(() => instance._notifyExpandedReset()),
332
+ onChange: () => instance.queue(() => instance.queueResetExpanded()),
336
333
  }
337
334
  ),
338
335
 
@@ -100,7 +100,7 @@ export type ToggleSortingProps = {
100
100
  }
101
101
 
102
102
  export type SortingInstance<TGenerics extends AnyGenerics> = {
103
- _notifySortingReset: () => void
103
+ queueResetSorting: () => void
104
104
  getColumnAutoSortingFn: (columnId: string) => SortingFn<TGenerics> | undefined
105
105
  getColumnAutoSortDir: (columnId: string) => SortDirection
106
106
 
@@ -179,8 +179,8 @@ export const Sorting = {
179
179
  let registered = false
180
180
 
181
181
  return {
182
- _notifySortingReset: () => {
183
- instance._notifyGroupingReset()
182
+ queueResetSorting: () => {
183
+ instance.queueResetGrouping()
184
184
 
185
185
  if (!registered) {
186
186
  registered = true
@@ -258,11 +258,7 @@ export const Sorting = {
258
258
  ] as SortingFn<TGenerics>)
259
259
  },
260
260
 
261
- setSorting: updater =>
262
- instance.options.onSortingChange?.(
263
- updater,
264
- functionalUpdate(updater, instance.getState().sorting)
265
- ),
261
+ setSorting: updater => instance.options.onSortingChange?.(updater),
266
262
 
267
263
  toggleColumnSorting: (columnId, desc, multi) => {
268
264
  const column = instance.getColumn(columnId)
@@ -157,10 +157,7 @@ export const Visibility = {
157
157
  ),
158
158
 
159
159
  setColumnVisibility: updater =>
160
- instance.options.onColumnVisibilityChange?.(
161
- updater,
162
- functionalUpdate(updater, instance.getState().columnVisibility)
163
- ),
160
+ instance.options.onColumnVisibilityChange?.(updater),
164
161
 
165
162
  toggleColumnVisibility: (columnId, value) => {
166
163
  if (!columnId) return
package/src/types.ts CHANGED
@@ -138,7 +138,7 @@ export type Options<TGenerics extends AnyGenerics> = CoreOptions<TGenerics> &
138
138
  RowSelectionOptions<TGenerics>
139
139
 
140
140
  export type Updater<T> = T | ((old: T) => T)
141
- export type OnChangeFn<T> = (updaterOrValue: Updater<T>, value: T) => void
141
+ export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void
142
142
 
143
143
  export type TableState = CoreTableState &
144
144
  VisibilityTableState &
@@ -114,7 +114,7 @@ export function getColumnFilteredRowModelAsync<
114
114
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
115
115
  onChange: () => {
116
116
  instance.queue(() => {
117
- instance._notifySortingReset()
117
+ instance.queueResetSorting()
118
118
  })
119
119
  },
120
120
  }
@@ -94,7 +94,7 @@ export function getColumnFilteredRowModelSync<
94
94
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
95
95
  onChange: () => {
96
96
  instance.queue(() => {
97
- instance._notifySortingReset()
97
+ instance.queueResetSorting()
98
98
  })
99
99
  },
100
100
  }
@@ -96,8 +96,8 @@ export function getCoreRowModelAsync<TGenerics extends AnyGenerics>(opts?: {
96
96
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
97
97
  onChange: () => {
98
98
  instance.queue(() => {
99
- instance._notifyFiltersReset()
100
- instance._notifyRowSelectionReset()
99
+ instance.queueResetFilters()
100
+ instance.queueResetRowSelection()
101
101
  })
102
102
  },
103
103
  }
@@ -98,8 +98,8 @@ export function getCoreRowModelSync<TGenerics extends AnyGenerics>(): (
98
98
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
99
99
  onChange: () => {
100
100
  instance.queue(() => {
101
- instance._notifyFiltersReset()
102
- instance._notifyRowSelectionReset()
101
+ instance.queueResetFilters()
102
+ instance.queueResetRowSelection()
103
103
  })
104
104
  },
105
105
  }
@@ -92,7 +92,7 @@ export function getGlobalFilteredRowModelAsync<
92
92
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
93
93
  onChange: () => {
94
94
  instance.queue(() => {
95
- instance._notifySortingReset()
95
+ instance.queueResetSorting()
96
96
  })
97
97
  },
98
98
  }
@@ -71,7 +71,7 @@ export function getGlobalFilteredRowModelSync<
71
71
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
72
72
  onChange: () => {
73
73
  instance.queue(() => {
74
- instance._notifySortingReset()
74
+ instance.queueResetSorting()
75
75
  })
76
76
  },
77
77
  }
@@ -165,7 +165,7 @@ export function getGroupedRowModelSync<TGenerics extends AnyGenerics>(): (
165
165
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
166
166
  onChange: () => {
167
167
  instance.queue(() => {
168
- instance._notifyExpandedReset()
168
+ instance.queueResetExpanded()
169
169
  })
170
170
  },
171
171
  }
@@ -84,7 +84,7 @@ export function getSortedRowModelSync<TGenerics extends AnyGenerics>(opts?: {
84
84
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
85
85
  onChange: () => {
86
86
  instance.queue(() => {
87
- instance._notifyGroupingReset()
87
+ instance.queueResetGrouping()
88
88
  })
89
89
  },
90
90
  }
@@ -110,7 +110,7 @@ export function getSortedRowModelSync<TGenerics extends AnyGenerics>(): (
110
110
  debug: () => instance.options.debugAll ?? instance.options.debugTable,
111
111
  onChange: () => {
112
112
  instance.queue(() => {
113
- instance._notifyGroupingReset()
113
+ instance.queueResetGrouping()
114
114
  })
115
115
  },
116
116
  }