@tanstack/table-core 9.0.0-beta.65 → 9.0.0-beta.69

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 (145) hide show
  1. package/README.md +3 -1
  2. package/dist/core/cells/constructCell.d.ts +0 -1
  3. package/dist/core/cells/coreCellsFeature.d.ts +0 -1
  4. package/dist/core/cells/coreCellsFeature.types.d.ts +0 -1
  5. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -0
  6. package/dist/core/columns/constructColumn.d.ts +0 -1
  7. package/dist/core/columns/coreColumnsFeature.d.ts +0 -1
  8. package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -6
  9. package/dist/core/columns/coreColumnsFeature.utils.d.ts +0 -1
  10. package/dist/core/coreFeatures.d.ts +1 -0
  11. package/dist/core/headers/buildHeaderGroups.d.ts +0 -1
  12. package/dist/core/headers/buildHeaderGroups.js +11 -7
  13. package/dist/core/headers/constructHeader.d.ts +0 -1
  14. package/dist/core/headers/coreHeadersFeature.d.ts +0 -1
  15. package/dist/core/headers/coreHeadersFeature.types.d.ts +14 -3
  16. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -0
  17. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +0 -1
  18. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +0 -1
  19. package/dist/core/reactivity/renderPhaseReactivity.d.ts +0 -1
  20. package/dist/core/row-models/coreRowModelsFeature.d.ts +0 -1
  21. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +0 -1
  22. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +0 -1
  23. package/dist/core/row-models/createCoreRowModel.d.ts +0 -1
  24. package/dist/core/rows/constructRow.d.ts +0 -1
  25. package/dist/core/rows/coreRowsFeature.d.ts +0 -1
  26. package/dist/core/rows/coreRowsFeature.types.d.ts +0 -1
  27. package/dist/core/rows/coreRowsFeature.utils.d.ts +0 -1
  28. package/dist/core/table/constructTable.d.ts +0 -1
  29. package/dist/core/table/coreTablesFeature.d.ts +0 -1
  30. package/dist/core/table/coreTablesFeature.types.d.ts +6 -7
  31. package/dist/core/table/coreTablesFeature.utils.d.ts +0 -1
  32. package/dist/features/cell-selection/cellSelectionFeature.d.ts +0 -1
  33. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +30 -16
  34. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +9 -10
  35. package/dist/features/cell-selection/cellSelectionFeature.utils.js +37 -24
  36. package/dist/features/cell-selection/cellSelectionGeometry.js +90 -0
  37. package/dist/features/column-faceting/columnFacetingFeature.d.ts +0 -1
  38. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +0 -1
  39. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +0 -1
  40. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +0 -1
  41. package/dist/features/column-faceting/createFacetedRowModel.d.ts +0 -1
  42. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +0 -1
  43. package/dist/features/column-filtering/columnFilteringFeature.d.ts +0 -1
  44. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -4
  45. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +0 -1
  46. package/dist/features/column-filtering/createFilteredRowModel.d.ts +0 -1
  47. package/dist/features/column-filtering/filterFns.d.ts +0 -1
  48. package/dist/features/column-grouping/columnGroupingFeature.d.ts +0 -1
  49. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +0 -1
  50. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +0 -1
  51. package/dist/features/column-grouping/createGroupedRowModel.d.ts +0 -1
  52. package/dist/features/column-ordering/columnOrderingFeature.d.ts +0 -1
  53. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +0 -1
  54. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +0 -1
  55. package/dist/features/column-pinning/columnPinningFeature.d.ts +0 -1
  56. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +0 -1
  57. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +0 -1
  58. package/dist/features/column-resizing/columnResizingFeature.d.ts +0 -1
  59. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +0 -1
  60. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +0 -1
  61. package/dist/features/column-sizing/columnSizingFeature.d.ts +0 -1
  62. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +0 -1
  63. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +0 -1
  64. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +0 -1
  65. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +0 -1
  66. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -0
  67. package/dist/features/global-filtering/globalFilteringFeature.d.ts +0 -1
  68. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +0 -1
  69. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +1 -0
  70. package/dist/features/row-aggregation/aggregationFns.d.ts +0 -1
  71. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +0 -1
  72. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +1 -2
  73. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +0 -1
  74. package/dist/features/row-expanding/createExpandedRowModel.d.ts +0 -1
  75. package/dist/features/row-expanding/rowExpandingFeature.d.ts +0 -1
  76. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +0 -1
  77. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +0 -1
  78. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +0 -1
  79. package/dist/features/row-pagination/rowPaginationFeature.d.ts +0 -1
  80. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +0 -1
  81. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +0 -1
  82. package/dist/features/row-pinning/rowPinningFeature.d.ts +0 -1
  83. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +0 -1
  84. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +0 -1
  85. package/dist/features/row-selection/rowSelectionFeature.d.ts +0 -1
  86. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -3
  87. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +3 -4
  88. package/dist/features/row-selection/rowSelectionFeature.utils.js +3 -3
  89. package/dist/features/row-sorting/createSortedRowModel.d.ts +0 -1
  90. package/dist/features/row-sorting/rowSortingFeature.d.ts +0 -1
  91. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +0 -1
  92. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +0 -1
  93. package/dist/features/row-sorting/sortFns.d.ts +0 -1
  94. package/dist/features/stockFeatures.d.ts +0 -1
  95. package/dist/flex-render.d.ts +0 -1
  96. package/dist/flex-render.js +9 -1
  97. package/dist/helpers/columnHelper.d.ts +0 -1
  98. package/dist/helpers/tableFeatures.d.ts +0 -1
  99. package/dist/helpers/tableOptions.d.ts +0 -1
  100. package/dist/index.d.ts +2 -2
  101. package/dist/store-reactivity-bindings.d.ts +0 -1
  102. package/dist/types/Cell.d.ts +0 -1
  103. package/dist/types/Column.d.ts +0 -1
  104. package/dist/types/ColumnDef.d.ts +0 -1
  105. package/dist/types/Header.d.ts +0 -1
  106. package/dist/types/HeaderGroup.d.ts +0 -1
  107. package/dist/types/Row.d.ts +0 -1
  108. package/dist/types/RowModel.d.ts +0 -1
  109. package/dist/types/RowModelFns.d.ts +0 -1
  110. package/dist/types/Table.d.ts +0 -1
  111. package/dist/types/TableFeatures.d.ts +1 -2
  112. package/dist/types/TableOptions.d.ts +1 -2
  113. package/dist/types/TableState.d.ts +0 -1
  114. package/dist/types/type-utils.d.ts +1 -1
  115. package/dist/utils.d.ts +2 -17
  116. package/dist/utils.js +3 -1
  117. package/dist/worker/createTableWorker.d.ts +2 -3
  118. package/dist/worker/createWorkerRowModel.d.ts +0 -1
  119. package/dist/worker/initTableWorker.d.ts +0 -1
  120. package/dist/worker/rebuildRowModel.d.ts +3 -0
  121. package/dist/worker/tableWorkerProtocol.d.ts +5 -4
  122. package/package.json +1 -1
  123. package/skills/aggregation/SKILL.md +1 -1
  124. package/skills/api-not-found/SKILL.md +1 -1
  125. package/skills/cell-selection/SKILL.md +33 -9
  126. package/skills/client-vs-server/SKILL.md +1 -1
  127. package/skills/column-faceting/SKILL.md +1 -1
  128. package/skills/column-filtering/SKILL.md +1 -1
  129. package/skills/column-ordering/SKILL.md +1 -1
  130. package/skills/column-pinning/SKILL.md +1 -1
  131. package/skills/column-resizing/SKILL.md +1 -1
  132. package/skills/column-sizing/SKILL.md +1 -1
  133. package/skills/column-visibility/SKILL.md +1 -1
  134. package/skills/core/SKILL.md +1 -1
  135. package/skills/custom-features/SKILL.md +1 -1
  136. package/skills/expanding/SKILL.md +1 -1
  137. package/skills/global-filtering/SKILL.md +1 -1
  138. package/skills/grouping/SKILL.md +1 -1
  139. package/skills/migrate-v8-to-v9/SKILL.md +3 -2
  140. package/skills/pagination/SKILL.md +1 -1
  141. package/skills/row-pinning/SKILL.md +1 -1
  142. package/skills/row-selection/SKILL.md +1 -1
  143. package/skills/sorting/SKILL.md +1 -1
  144. package/skills/table-features/SKILL.md +1 -1
  145. package/skills/typescript/SKILL.md +1 -1
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: cell-selection
3
3
  description: >
4
- Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown/mouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.
4
+ Select, add, and subtract rectangular cell ranges with cellSelectionFeature: ordered include/exclude operations keyed by row and column id, modifier dragging, final positive bounds, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load for spreadsheet-style selection, “select all except” behavior, unexpected range changes after sorting or reordering, drag performance, or copy-to-clipboard.
5
5
  metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -15,7 +15,7 @@ sources:
15
15
  - 'TanStack/table:examples/react/cell-selection'
16
16
  ---
17
17
 
18
- This skill builds on `core` and `table-features`. `cellSelection` is an array of rectangles, each stored as two corner cells identified by row and column id. It is not a per-cell map, and it is not positional.
18
+ This skill builds on `core` and `table-features`. `cellSelection` is an ordered operation log of rectangles, each stored as two corner cells identified by row and column id. It is not a per-cell map, and it is not positional. Table resolves the log into disjoint positive rectangles for membership and derived reads.
19
19
 
20
20
  ## Setup
21
21
 
@@ -37,11 +37,12 @@ type CellSelectionRange = {
37
37
  anchorColumnId: string
38
38
  focusRowId: string
39
39
  focusColumnId: string
40
+ operation?: 'include' | 'exclude'
40
41
  }
41
42
  type CellSelectionState = Array<CellSelectionRange>
42
43
  ```
43
44
 
44
- The `anchor` corner stays put; the `focus` corner moves during a drag or Shift-extend. Two corners are what make Shift-extend possible, and they keep a drag across thousands of cells to a two-field write.
45
+ The `anchor` corner stays put; the `focus` corner moves during a drag or Shift-extend. Two corners are what make Shift-extend possible, and they keep a drag across thousands of cells to a two-field write. Operations apply in array order. An omitted `operation` means `include` for backward compatibility; `exclude` subtracts from the selection produced by preceding entries.
45
46
 
46
47
  ## Core Patterns
47
48
 
@@ -54,14 +55,27 @@ const onMouseEnter = cell.getSelectionExtendHandler()
54
55
 
55
56
  The start handler attaches its own document-level `mouseup` listener and removes it when the drag ends, so a pointer released outside the table still finishes correctly. Pass a document explicitly (`cell.getSelectionStartHandler(iframeDocument)`) only when the table renders into another document.
56
57
 
58
+ With the default event predicates, Shift extends the active operation. Ctrl/Cmd starts an inclusion when the starting cell is unselected and an exclusion when it is selected. That choice remains fixed for the drag, so shrinking an exclusion restores cells that leave its rectangle. Set `enableMultiCellRangeSelection: false` to disable both modifier behaviors.
59
+
60
+ ### Apply ranges programmatically
61
+
62
+ ```ts
63
+ table.selectCellRange(range) // replace
64
+ table.selectCellRange(range, { mode: 'include' })
65
+ table.selectCellRange(range, { mode: 'exclude' })
66
+ ```
67
+
68
+ Use `mode` when the operation is known. The deprecated `{ additive: true }` option is only an alias for include mode; an explicit `mode` wins.
69
+
57
70
  ### Read the selection
58
71
 
59
72
  ```ts
60
73
  const count = table.getSelectedCellCount()
74
+ const bounds = table.getCellSelectionBounds()
61
75
  const grids = table.getSelectedCellRangesData() // [range][row][column]
62
76
  ```
63
77
 
64
- Expansion APIs are memoized and pull-based, so a table that only highlights cells never pays to enumerate a large selection.
78
+ `bounds` and `grids` describe the final disjoint positive regions after all operations, not one entry per stored state operation. Expansion APIs are memoized and pull-based, so a table that only highlights cells never pays to enumerate a large selection. Cell count uses rectangle arithmetic unless a per-cell `enableCellSelection` predicate requires enumeration.
65
79
 
66
80
  ### Draw the outline from edges
67
81
 
@@ -69,7 +83,7 @@ Expansion APIs are memoized and pull-based, so a table that only highlights cell
69
83
 
70
84
  ### Drive keyboard navigation externally
71
85
 
72
- The feature ships no keydown handling. Call `table.moveCellSelection(direction)`, `table.extendCellSelection(direction)`, `table.setFocusedCell(rowId, columnId)`, `table.selectAllCells()`, and `table.resetCellSelection(true)` from a hotkey library such as `@tanstack/react-hotkeys`, scoped to the grid element rather than the document.
86
+ The feature ships no keydown handling. Call `table.moveCellSelection(direction)`, `table.extendCellSelection(direction)`, `table.setFocusedCell(rowId, columnId)`, `table.selectAllCells()`, and `table.resetCellSelection(true)` from a hotkey library such as `@tanstack/react-hotkeys`, scoped to the grid element rather than the document. Extending preserves the active operation. `getFocusedCell()` follows the latest anchor, so an excluded cell can remain focused without being selected.
73
87
 
74
88
  ## Common Mistakes
75
89
 
@@ -79,10 +93,20 @@ Wrong: `const isSelected = table.state.cellSelection[cell.id]`
79
93
 
80
94
  Correct: `const isSelected = cell.getIsSelected()`
81
95
 
82
- `cellSelection` holds rectangles, not cell keys. Membership is resolved by comparing the cell's row and column index against the memoized bounds.
96
+ `cellSelection` holds ordered rectangle operations, not cell keys. Membership is resolved against the memoized final positive bounds.
83
97
 
84
98
  Source: `packages/table-core/src/features/cell-selection/cellSelectionFeature.types.ts`
85
99
 
100
+ ### [HIGH] Treating stored operations as final selected regions
101
+
102
+ Wrong: serialize or render each `table.state.cellSelection` entry as a selected rectangle.
103
+
104
+ Correct: use `table.getCellSelectionBounds()`, `cell.getIsSelected()`, or `table.getSelectedCellRangesData()` for the resolved selection.
105
+
106
+ An exclusion is an instruction, not a selected region, and a subtraction can split one included rectangle into four disjoint positive regions. Re-including a later rectangle applies after the exclusion because state order is significant.
107
+
108
+ Source: `packages/table-core/src/features/cell-selection/cellSelectionGeometry.ts`
109
+
86
110
  ### [HIGH] Assuming a range is frozen to the cells it originally covered
87
111
 
88
112
  Ranges are anchored to corner ids, so sorting, filtering, and column reordering keep the corners and recompute what sits between them. A range can therefore widen onto columns or rows the user never selected. Reset in userland when the product needs stricter behavior:
@@ -159,7 +183,7 @@ Source: `docs/framework/react/guide/cell-selection.md#copying-a-selection`
159
183
 
160
184
  ### [MEDIUM] Persisting a selection and expecting drag state with it
161
185
 
162
- `cellSelection` is safe to persist because drag session state is deliberately non-reactive instance data, not part of the slice. Do not add an `isSelecting` field to the persisted state; a stored `true` would rehydrate into a drag that hovering extends and nothing ever ends.
186
+ `cellSelection` is safe to persist because drag session state is deliberately non-reactive instance data, not part of the slice. Preserve array order and each `operation`; sorting or deduplicating the entries changes the resolved selection. Do not add an `isSelecting` field to the persisted state; a stored `true` would rehydrate into a drag that hovering extends and nothing ever ends.
163
187
 
164
188
  Source: `packages/table-core/src/features/cell-selection/cellSelectionFeature.types.ts`
165
189
 
@@ -177,4 +201,4 @@ Source: `packages/table-core/src/features/cell-selection/cellSelectionFeature.ts
177
201
 
178
202
  ## API Discovery
179
203
 
180
- Inspect `node_modules/@tanstack/table-core/dist/features/cell-selection/` for `CellSelectionRange`, `CellSelectionState`, `CellSelectionBounds`, `CellSelectionEdges`, the enablement and `is*Event` options, and the cell and table instance APIs.
204
+ Inspect `node_modules/@tanstack/table-core/dist/features/cell-selection/` for `CellSelectionRange`, `CellSelectionRangeOperation`, `CellSelectionRangeMode`, `CellSelectionState`, `CellSelectionBounds`, `SelectCellRangeOptions`, the enablement and `is*Event` options, and the cell and table instance APIs.
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  requires: ['core', 'table-features']
10
10
  sources:
11
11
  - 'TanStack/table:docs/guide/row-models.md'
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-filtering']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-sizing']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'column-sizing']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: core
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  sources:
10
10
  - 'TanStack/table:docs/overview.md'
11
11
  - 'TanStack/table:docs/guide/tables.md'
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  requires: ['core', 'table-features', 'typescript']
10
10
  sources:
11
11
  - 'TanStack/table:docs/framework/react/guide/custom-features.md'
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server', 'column-filtering']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: lifecycle
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  requires: ['core', 'table-features', 'typescript']
10
10
  sources:
11
11
  - 'TanStack/table:docs/framework/react/guide/migrating.md'
@@ -69,6 +69,7 @@ V8 bundled all stock features. V9 exposes an API only when its feature is presen
69
69
  | Capability | V9 feature |
70
70
  | --------------------------- | ------------------------- |
71
71
  | Aggregation | `rowAggregationFeature` |
72
+ | Cell selection | `cellSelectionFeature` |
72
73
  | Column faceting | `columnFacetingFeature` |
73
74
  | Column filtering | `columnFilteringFeature` |
74
75
  | Column ordering | `columnOrderingFeature` |
@@ -294,7 +295,7 @@ Do not confuse new capabilities with required breakages. After the table works,
294
295
  - [ ] Load the installed framework adapter's migration and table-state skills.
295
296
  - [ ] Replace the v8 adapter constructor/hook/controller with its v9 entrypoint.
296
297
  - [ ] Add a stable `features` object to every table.
297
- - [ ] Inventory every feature API used by table, row, column, cell, and header code; register all 14 required stock features.
298
+ - [ ] Inventory every feature API used by table, row, column, cell, and header code; register all 16 required stock features.
298
299
  - [ ] Use `stockFeatures` only as a temporary parity aid and record an explicit-feature follow-up.
299
300
  - [ ] Remove `getCoreRowModel()` unless supplying a deliberate custom `coreRowModel` slot.
300
301
  - [ ] Move all remaining `get*RowModel()` options or earlier-beta `rowModels` entries to `create*RowModel()` feature slots.
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features']
12
12
  sources:
@@ -6,7 +6,7 @@ metadata:
6
6
  {
7
7
  type: sub-skill,
8
8
  library: '@tanstack/table-core',
9
- library_version: '9.0.0-beta.65',
9
+ library_version: '9.0.0-beta.69',
10
10
  }
11
11
  requires: ['core', 'table-features', 'client-vs-server']
12
12
  sources:
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  requires: ['core']
10
10
  sources:
11
11
  - 'TanStack/table:docs/guide/row-models.md'
@@ -5,7 +5,7 @@ description: >
5
5
  metadata:
6
6
  type: sub-skill
7
7
  library: '@tanstack/table-core'
8
- library_version: '9.0.0-beta.65'
8
+ library_version: '9.0.0-beta.69'
9
9
  requires: ['core', 'table-features']
10
10
  sources:
11
11
  - 'TanStack/table:docs/guide/helpers.md'