@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71

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 (667) hide show
  1. package/README.md +5 -1
  2. package/dist/core/cells/constructCell.d.ts +4 -6
  3. package/dist/core/cells/constructCell.js +4 -6
  4. package/dist/core/cells/coreCellsFeature.d.ts +1 -3
  5. package/dist/core/cells/coreCellsFeature.js +1 -2
  6. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
  7. package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
  8. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  9. package/dist/core/columns/constructColumn.d.ts +4 -6
  10. package/dist/core/columns/constructColumn.js +8 -9
  11. package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
  12. package/dist/core/columns/coreColumnsFeature.js +13 -20
  13. package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
  14. package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
  15. package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
  16. package/dist/core/coreFeatures.d.ts +3 -3
  17. package/dist/core/coreFeatures.js +1 -2
  18. package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
  19. package/dist/core/headers/buildHeaderGroups.js +99 -85
  20. package/dist/core/headers/constructHeader.d.ts +3 -5
  21. package/dist/core/headers/constructHeader.js +4 -6
  22. package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
  23. package/dist/core/headers/coreHeadersFeature.js +9 -13
  24. package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
  25. package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
  26. package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
  27. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
  28. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
  29. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  30. package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
  31. package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
  32. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
  33. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  34. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
  35. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
  36. package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
  37. package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
  38. package/dist/core/row-models/createCoreRowModel.js +27 -24
  39. package/dist/core/rows/constructRow.d.ts +3 -5
  40. package/dist/core/rows/constructRow.js +9 -13
  41. package/dist/core/rows/coreRowsFeature.d.ts +1 -3
  42. package/dist/core/rows/coreRowsFeature.js +20 -5
  43. package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
  44. package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
  45. package/dist/core/rows/coreRowsFeature.utils.js +65 -14
  46. package/dist/core/table/constructTable.d.ts +2 -4
  47. package/dist/core/table/constructTable.js +52 -23
  48. package/dist/core/table/coreTablesFeature.d.ts +1 -3
  49. package/dist/core/table/coreTablesFeature.js +1 -2
  50. package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +69 -24
  53. package/dist/experimental-worker-plugin.d.ts +5 -0
  54. package/dist/experimental-worker-plugin.js +6 -0
  55. package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
  56. package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
  57. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
  58. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
  59. package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
  60. package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
  61. package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
  62. package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
  63. package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
  64. package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
  65. package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
  66. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
  68. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
  69. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
  70. package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
  71. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
  72. package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
  73. package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
  74. package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
  75. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
  76. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
  77. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
  78. package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
  79. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
  84. package/dist/features/column-filtering/filterFns.d.ts +208 -0
  85. package/dist/features/column-filtering/filterFns.js +374 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +4 -4
  87. package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
  88. package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
  89. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
  90. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
  91. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
  92. package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
  93. package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
  94. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
  95. package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
  96. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
  97. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
  98. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
  99. package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
  100. package/dist/features/column-pinning/columnPinningFeature.js +126 -146
  101. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
  102. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
  103. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
  104. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
  105. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  106. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
  107. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
  108. package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
  109. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
  110. package/dist/features/column-sizing/columnSizingFeature.js +35 -70
  111. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
  112. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
  113. package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
  114. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
  115. package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
  116. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
  117. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
  119. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
  120. package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
  121. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
  122. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
  123. package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
  124. package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
  125. package/dist/features/row-aggregation/aggregationFns.js +279 -0
  126. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
  127. package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
  128. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
  129. package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
  130. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
  131. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
  132. package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
  133. package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
  134. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
  135. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  136. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
  141. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
  142. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  143. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
  144. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
  145. package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
  146. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
  147. package/dist/features/row-pinning/rowPinningFeature.js +5 -18
  148. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
  149. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
  150. package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +68 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +71 -53
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +2 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -25
  163. package/dist/features/row-sorting/sortFns.d.ts +96 -0
  164. package/dist/features/row-sorting/sortFns.js +216 -0
  165. package/dist/features/stockFeatures.d.ts +7 -3
  166. package/dist/features/stockFeatures.js +7 -2
  167. package/dist/flex-render.d.ts +2 -4
  168. package/dist/flex-render.js +10 -3
  169. package/dist/helpers/columnHelper.d.ts +3 -5
  170. package/dist/helpers/columnHelper.js +1 -2
  171. package/dist/helpers/metaHelper.d.ts +25 -0
  172. package/dist/helpers/metaHelper.js +28 -0
  173. package/dist/helpers/tableFeatures.d.ts +35 -8
  174. package/dist/helpers/tableFeatures.js +33 -5
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +34 -27
  178. package/dist/index.js +10 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +12 -9
  182. package/dist/static-functions.js +12 -9
  183. package/dist/store-reactivity-bindings.d.ts +2 -4
  184. package/dist/store-reactivity-bindings.js +4 -5
  185. package/dist/types/Cell.d.ts +9 -5
  186. package/dist/types/Column.d.ts +13 -15
  187. package/dist/types/ColumnDef.d.ts +39 -21
  188. package/dist/types/Header.d.ts +3 -5
  189. package/dist/types/HeaderGroup.d.ts +3 -5
  190. package/dist/types/Row.d.ts +7 -7
  191. package/dist/types/RowModel.d.ts +11 -25
  192. package/dist/types/RowModelFns.d.ts +5 -7
  193. package/dist/types/Table.d.ts +29 -32
  194. package/dist/types/TableFeatures.d.ts +388 -24
  195. package/dist/types/TableOptions.d.ts +24 -14
  196. package/dist/types/TableState.d.ts +8 -8
  197. package/dist/types/type-utils.d.ts +10 -4
  198. package/dist/utils.d.ts +32 -26
  199. package/dist/utils.js +52 -32
  200. package/dist/worker/createTableWorker.d.ts +100 -0
  201. package/dist/worker/createTableWorker.js +185 -0
  202. package/dist/worker/createWorkerRowModel.d.ts +40 -0
  203. package/dist/worker/createWorkerRowModel.js +77 -0
  204. package/dist/worker/initTableWorker.d.ts +31 -0
  205. package/dist/worker/initTableWorker.js +99 -0
  206. package/dist/worker/rebuildRowModel.d.ts +11 -0
  207. package/dist/worker/rebuildRowModel.js +71 -0
  208. package/dist/worker/serializeRowModel.js +51 -0
  209. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  210. package/dist/worker/tableWorkerProtocol.js +26 -0
  211. package/package.json +12 -28
  212. package/skills/aggregation/SKILL.md +141 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +204 -0
  215. package/skills/cell-spanning/SKILL.md +162 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +97 -0
  218. package/skills/column-filtering/SKILL.md +87 -0
  219. package/skills/column-ordering/SKILL.md +75 -0
  220. package/skills/column-pinning/SKILL.md +89 -0
  221. package/skills/column-resizing/SKILL.md +91 -0
  222. package/skills/column-sizing/SKILL.md +72 -0
  223. package/skills/column-visibility/SKILL.md +75 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +80 -0
  227. package/skills/global-filtering/SKILL.md +84 -0
  228. package/skills/grouping/SKILL.md +51 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +37 -344
  231. package/skills/row-pinning/SKILL.md +47 -234
  232. package/skills/row-selection/SKILL.md +75 -302
  233. package/skills/sorting/SKILL.md +45 -303
  234. package/skills/table-features/SKILL.md +159 -0
  235. package/skills/typescript/SKILL.md +126 -0
  236. package/dist/core/cells/constructCell.cjs +0 -34
  237. package/dist/core/cells/constructCell.cjs.map +0 -1
  238. package/dist/core/cells/constructCell.d.cts +0 -17
  239. package/dist/core/cells/constructCell.js.map +0 -1
  240. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  241. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  242. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  243. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  244. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  245. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  246. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  247. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  248. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  249. package/dist/core/columns/constructColumn.cjs +0 -61
  250. package/dist/core/columns/constructColumn.cjs.map +0 -1
  251. package/dist/core/columns/constructColumn.d.cts +0 -16
  252. package/dist/core/columns/constructColumn.js.map +0 -1
  253. package/dist/core/columns/coreColumnsFeature.cjs +0 -70
  254. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  255. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  256. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  257. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  258. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
  259. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  260. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  261. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  262. package/dist/core/coreFeatures.cjs +0 -25
  263. package/dist/core/coreFeatures.cjs.map +0 -1
  264. package/dist/core/coreFeatures.d.cts +0 -26
  265. package/dist/core/coreFeatures.js.map +0 -1
  266. package/dist/core/headers/buildHeaderGroups.cjs +0 -103
  267. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  268. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  269. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  270. package/dist/core/headers/constructHeader.cjs +0 -41
  271. package/dist/core/headers/constructHeader.cjs.map +0 -1
  272. package/dist/core/headers/constructHeader.d.cts +0 -22
  273. package/dist/core/headers/constructHeader.js.map +0 -1
  274. package/dist/core/headers/coreHeadersFeature.cjs +0 -55
  275. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  276. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  277. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  278. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  279. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
  280. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  281. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  282. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  283. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  284. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  285. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  286. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  287. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  288. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  289. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  290. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  291. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  292. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
  293. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
  294. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  295. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  296. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  297. package/dist/core/row-models/createCoreRowModel.cjs +0 -52
  298. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  299. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  300. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  301. package/dist/core/rows/constructRow.cjs +0 -44
  302. package/dist/core/rows/constructRow.cjs.map +0 -1
  303. package/dist/core/rows/constructRow.d.cts +0 -15
  304. package/dist/core/rows/constructRow.js.map +0 -1
  305. package/dist/core/rows/coreRowsFeature.cjs +0 -37
  306. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  307. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  308. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  309. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
  310. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
  311. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  312. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
  313. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  314. package/dist/core/table/constructTable.cjs +0 -118
  315. package/dist/core/table/constructTable.cjs.map +0 -1
  316. package/dist/core/table/constructTable.d.cts +0 -22
  317. package/dist/core/table/constructTable.js.map +0 -1
  318. package/dist/core/table/coreTablesFeature.cjs +0 -17
  319. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  320. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  321. package/dist/core/table/coreTablesFeature.js.map +0 -1
  322. package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
  323. package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
  324. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  325. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
  326. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  327. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
  328. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  329. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  330. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  331. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
  332. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
  333. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  334. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  335. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  336. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
  337. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  338. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  339. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  340. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
  341. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  342. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  343. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  344. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
  345. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  346. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  347. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  348. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  349. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  350. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  351. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  352. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
  353. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
  354. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
  356. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  357. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
  358. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  359. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
  360. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  361. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
  362. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  363. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  364. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
  365. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  366. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  367. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  368. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
  369. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
  370. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  371. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
  372. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  373. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
  374. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  375. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
  376. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  377. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
  378. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  379. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  380. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  381. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
  382. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
  383. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
  385. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  386. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
  387. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  388. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
  389. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  390. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
  391. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
  392. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
  394. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  395. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  396. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  397. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  398. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  399. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
  400. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
  401. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  403. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  404. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
  405. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  406. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  407. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  408. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
  409. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
  410. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  411. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
  412. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  413. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
  414. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  415. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  416. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  417. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  418. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
  419. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  420. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  421. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  422. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
  423. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  424. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  425. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  426. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  427. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  428. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  429. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
  430. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/stockFeatures.cjs +0 -41
  489. package/dist/features/stockFeatures.cjs.map +0 -1
  490. package/dist/features/stockFeatures.d.cts +0 -41
  491. package/dist/features/stockFeatures.js.map +0 -1
  492. package/dist/flex-render.cjs +0 -29
  493. package/dist/flex-render.cjs.map +0 -1
  494. package/dist/flex-render.d.cts +0 -34
  495. package/dist/flex-render.js.map +0 -1
  496. package/dist/fns/aggregationFns.cjs +0 -161
  497. package/dist/fns/aggregationFns.cjs.map +0 -1
  498. package/dist/fns/aggregationFns.d.cts +0 -85
  499. package/dist/fns/aggregationFns.d.ts +0 -85
  500. package/dist/fns/aggregationFns.js +0 -151
  501. package/dist/fns/aggregationFns.js.map +0 -1
  502. package/dist/fns/filterFns.cjs +0 -201
  503. package/dist/fns/filterFns.cjs.map +0 -1
  504. package/dist/fns/filterFns.d.cts +0 -167
  505. package/dist/fns/filterFns.d.ts +0 -167
  506. package/dist/fns/filterFns.js +0 -185
  507. package/dist/fns/filterFns.js.map +0 -1
  508. package/dist/fns/sortFns.cjs +0 -130
  509. package/dist/fns/sortFns.cjs.map +0 -1
  510. package/dist/fns/sortFns.d.cts +0 -65
  511. package/dist/fns/sortFns.d.ts +0 -65
  512. package/dist/fns/sortFns.js +0 -122
  513. package/dist/fns/sortFns.js.map +0 -1
  514. package/dist/helpers/columnHelper.cjs +0 -41
  515. package/dist/helpers/columnHelper.cjs.map +0 -1
  516. package/dist/helpers/columnHelper.d.cts +0 -71
  517. package/dist/helpers/columnHelper.js.map +0 -1
  518. package/dist/helpers/tableFeatures.cjs +0 -20
  519. package/dist/helpers/tableFeatures.cjs.map +0 -1
  520. package/dist/helpers/tableFeatures.d.cts +0 -18
  521. package/dist/helpers/tableFeatures.js.map +0 -1
  522. package/dist/helpers/tableOptions.cjs +0 -15
  523. package/dist/helpers/tableOptions.cjs.map +0 -1
  524. package/dist/helpers/tableOptions.d.cts +0 -57
  525. package/dist/helpers/tableOptions.js.map +0 -1
  526. package/dist/index.cjs +0 -133
  527. package/dist/index.d.cts +0 -78
  528. package/dist/reactivity.cjs +0 -4
  529. package/dist/reactivity.d.cts +0 -3
  530. package/dist/static-functions.cjs +0 -263
  531. package/dist/static-functions.d.cts +0 -21
  532. package/dist/store-reactivity-bindings.cjs +0 -44
  533. package/dist/store-reactivity-bindings.cjs.map +0 -1
  534. package/dist/store-reactivity-bindings.d.cts +0 -22
  535. package/dist/store-reactivity-bindings.js.map +0 -1
  536. package/dist/types/Cell.d.cts +0 -14
  537. package/dist/types/Column.d.cts +0 -36
  538. package/dist/types/ColumnDef.d.cts +0 -109
  539. package/dist/types/Header.d.cts +0 -16
  540. package/dist/types/HeaderGroup.d.cts +0 -10
  541. package/dist/types/Row.d.cts +0 -26
  542. package/dist/types/RowModel.d.cts +0 -36
  543. package/dist/types/RowModelFns.d.cts +0 -18
  544. package/dist/types/Table.d.cts +0 -70
  545. package/dist/types/TableFeatures.d.cts +0 -53
  546. package/dist/types/TableOptions.d.cts +0 -69
  547. package/dist/types/TableState.d.cts +0 -48
  548. package/dist/types/type-utils.d.cts +0 -23
  549. package/dist/utils.cjs +0 -243
  550. package/dist/utils.cjs.map +0 -1
  551. package/dist/utils.d.cts +0 -114
  552. package/dist/utils.js.map +0 -1
  553. package/skills/column-definitions/SKILL.md +0 -333
  554. package/skills/column-layout/SKILL.md +0 -328
  555. package/skills/column-layout/references/subsystems.md +0 -220
  556. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  557. package/skills/filtering/SKILL.md +0 -357
  558. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  559. package/skills/row-expanding/SKILL.md +0 -348
  560. package/skills/setup/SKILL.md +0 -400
  561. package/skills/state-management/SKILL.md +0 -388
  562. package/src/core/cells/constructCell.ts +0 -55
  563. package/src/core/cells/coreCellsFeature.ts +0 -27
  564. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  565. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  566. package/src/core/columns/constructColumn.ts +0 -119
  567. package/src/core/columns/coreColumnsFeature.ts +0 -73
  568. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  569. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  570. package/src/core/coreFeatures.ts +0 -31
  571. package/src/core/headers/buildHeaderGroups.ts +0 -182
  572. package/src/core/headers/constructHeader.ts +0 -67
  573. package/src/core/headers/coreHeadersFeature.ts +0 -56
  574. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  575. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  576. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  577. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  578. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  579. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  580. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  581. package/src/core/row-models/createCoreRowModel.ts +0 -93
  582. package/src/core/rows/constructRow.ts +0 -66
  583. package/src/core/rows/coreRowsFeature.ts +0 -62
  584. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  585. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  586. package/src/core/table/constructTable.ts +0 -172
  587. package/src/core/table/coreTablesFeature.ts +0 -19
  588. package/src/core/table/coreTablesFeature.types.ts +0 -216
  589. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  590. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  591. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  592. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  593. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  594. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  595. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  596. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  597. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  598. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  599. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  600. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  601. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  602. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  603. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  604. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  605. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  606. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  607. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  608. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  609. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  610. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  611. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  612. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  613. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  614. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  615. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  616. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  617. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  618. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  619. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  620. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  621. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  622. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  623. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  624. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  625. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  626. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  627. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  628. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  629. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  630. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  631. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  632. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  633. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  634. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  635. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  636. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
  637. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  638. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  639. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  640. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  641. package/src/features/stockFeatures.ts +0 -53
  642. package/src/flex-render.ts +0 -70
  643. package/src/fns/aggregationFns.ts +0 -245
  644. package/src/fns/filterFns.ts +0 -382
  645. package/src/fns/sortFns.ts +0 -240
  646. package/src/helpers/columnHelper.ts +0 -122
  647. package/src/helpers/tableFeatures.ts +0 -24
  648. package/src/helpers/tableOptions.ts +0 -117
  649. package/src/index.ts +0 -138
  650. package/src/process-env.d.ts +0 -6
  651. package/src/reactivity.ts +0 -2
  652. package/src/static-functions.ts +0 -31
  653. package/src/store-reactivity-bindings.ts +0 -47
  654. package/src/types/Cell.ts +0 -21
  655. package/src/types/Column.ts +0 -51
  656. package/src/types/ColumnDef.ts +0 -228
  657. package/src/types/Header.ts +0 -23
  658. package/src/types/HeaderGroup.ts +0 -13
  659. package/src/types/Row.ts +0 -34
  660. package/src/types/RowModel.ts +0 -98
  661. package/src/types/RowModelFns.ts +0 -32
  662. package/src/types/Table.ts +0 -91
  663. package/src/types/TableFeatures.ts +0 -101
  664. package/src/types/TableOptions.ts +0 -101
  665. package/src/types/TableState.ts +0 -47
  666. package/src/types/type-utils.ts +0 -84
  667. package/src/utils.ts +0 -441
@@ -1,495 +1,354 @@
1
1
  ---
2
2
  name: migrate-v8-to-v9
3
3
  description: >
4
- Mechanical breaking-change migration from TanStack Table v8 to v9 at the
5
- `@tanstack/table-core` level. Covers hook/entry rename
6
- (`useReactTable`/`createSolidTable`/… → `useTable`/`injectTable`/`createTable`/
7
- `constructTable`), the new required `features` + `rowModels` options,
8
- `createColumnHelper<TData>()` → `createColumnHelper<typeof features, TData>()`,
9
- row-model factory rename (`getCoreRowModel()` → automatic; `getSortedRowModel()`
10
- → `createSortedRowModel(sortFns)`; same for filtered/paginated/grouped/expanded/
11
- faceted), `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()`,
12
- sorting renames (`sortingFn` → `sortFn`, etc.), `enablePinning` split, column
13
- sizing/resizing split, underscore-prefixed APIs becoming public, `RowData`
14
- type tightening, TFeatures-first generics, the `useLegacyTable` React escape
15
- hatch (deprecated, removed in v10), and the `stockFeatures` v8-style "everything
16
- on" registry.
17
- type: lifecycle
18
- library: tanstack-table
19
- library_version: '9.0.0-alpha.48'
20
- requires:
21
- - setup
22
- - state-management
23
- - column-definitions
4
+ Perform a complete TanStack Table v8-to-v9 migration audit: feature registration, row-model and function-registry slots, state/store changes, prototype methods, column pinning and resizing renames, sorting and selection semantics, removed internals, helpers, meta typing, and generic changes. Load this shared inventory before the installed framework adapter's migration skill.
5
+ metadata:
6
+ type: lifecycle
7
+ library: '@tanstack/table-core'
8
+ library_version: '9.0.0-beta.71'
9
+ requires: ['core', 'table-features', 'typescript']
24
10
  sources:
25
- - TanStack/table:docs/framework/table-core/guide/migrating.md
26
- - TanStack/table:docs/framework/react/guide/use-legacy-table.md
27
- - TanStack/table:packages/react-table/src/legacy.ts
11
+ - 'TanStack/table:docs/framework/react/guide/migrating.md'
12
+ - 'TanStack/table:docs/framework/preact/guide/migrating.md'
13
+ - 'TanStack/table:docs/framework/solid/guide/migrating.md'
14
+ - 'TanStack/table:docs/framework/svelte/guide/migrating.md'
15
+ - 'TanStack/table:docs/framework/vue/guide/migrating.md'
16
+ - 'TanStack/table:docs/framework/angular/guide/migrating.md'
17
+ - 'TanStack/table:docs/framework/lit/guide/migrating.md'
18
+ - 'TanStack/table:packages/table-core/src/index.ts'
19
+ - 'TanStack/table:packages/table-core/src/types/TableFeatures.ts'
20
+ - 'TanStack/table:packages/table-core/src/features/column-pinning/columnPinningFeature.types.ts'
21
+ - 'TanStack/table:packages/table-core/src/features/column-resizing/columnResizingFeature.types.ts'
22
+ - 'TanStack/table:packages/react-table/src/legacy.ts'
28
23
  ---
29
24
 
30
- ## Setup
25
+ Apply this complete shared inventory before loading the installed adapter's `migrate-v8-to-v9` skill. The adapter skill owns hook/controller construction, reactive inputs, rendering helpers, and framework subscription APIs.
31
26
 
32
- v9 is a substantial reshape, not a tweak. The breaking changes group into:
27
+ ## Migration strategy
33
28
 
34
- 1. **Hook/entry rename** per adapter.
35
- 2. **`features` + `rowModels` are required** features are tree-shaken.
36
- 3. **Column helper generic order** `<TFeatures, TData>` not `<TData>`.
37
- 4. **Row-model factories** moved out of root options, into `rowModels`, and now take their `*Fns` argument.
38
- 5. **State surface renamed** — `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()` / `table.state` (selector).
39
- 6. **Sorting names**: `sortingFn` `sortFn`, `sortingFns` `sortFns`, `getSortingFn()` → `getSortFn()`, type `SortingFn` → `SortFn`.
40
- 7. **`enablePinning` split** into `enableColumnPinning` + `enableRowPinning` (table-level); per-column `enablePinning` stays.
41
- 8. **Column resizing split out** of column sizing. `columnSizingInfo` state → `columnResizing`. `onColumnSizingInfoChange` → `onColumnResizingChange`.
42
- 9. **Underscore-prefixed APIs are public now** — drop the `_` prefix (`row._getAllCellsByColumnId()` → `row.getAllCellsByColumnId()`, `table._getFacetedRowModel()` → public, etc.).
43
- 10. **Generics now lead with `TFeatures`** — `Column<TFeatures, TData, TValue>`, `Row<TFeatures, TData>`, `ColumnMeta<TFeatures, TData, TValue>`.
44
- 11. **`RowData` tightened** from `unknown | object | any[]` to `Record<string, any> | Array<any>`.
45
- 12. **`data` and `columns` are readonly** in v9 — flow changes through state, don't mutate.
29
+ 1. Make the v8 table pass its existing tests before changing it.
30
+ 2. Migrate construction and features while preserving behavior.
31
+ 3. Let TypeScript expose missing features and stale names.
32
+ 4. Migrate state ownership and rendering through the adapter skill.
33
+ 5. Test every enabled client/server row-model stage and interaction.
34
+ 6. Replace temporary `stockFeatures` usage with explicit features when practical.
46
35
 
47
- For React projects that cannot migrate every table at once, `useLegacyTable` from `@tanstack/react-table/legacy` accepts the v8 shape on top of the v9 engine. Deprecated, ships every feature, no `table.Subscribe`. Removed in v10.
36
+ Treat `useLegacyTable` as a deprecated, React-only emergency bridge. It bundles every feature, can exceed the v8 bundle, and must not become the target architecture. Import it only from `@tanstack/react-table/legacy` when an existing incremental migration requires it.
48
37
 
49
- ## Core Patterns
50
-
51
- ### Full v9 equivalent for the most common v8 shape
38
+ ## Minimal v9 shape
52
39
 
53
40
  ```ts
54
- // === v9 (correct) ===
55
41
  import {
56
- useTable,
57
- tableFeatures,
58
- rowSortingFeature,
59
- rowPaginationFeature,
60
- columnFilteringFeature,
61
- columnSizingFeature,
62
- columnResizingFeature,
63
- createColumnHelper,
64
- createSortedRowModel,
65
42
  createFilteredRowModel,
66
- createPaginatedRowModel,
67
- sortFns,
68
- filterFns,
69
- } from '@tanstack/react-table'
70
- import type { ColumnDef } from '@tanstack/react-table'
71
-
72
- const features = tableFeatures({
73
- rowSortingFeature,
74
- rowPaginationFeature,
43
+ createSortedRowModel,
75
44
  columnFilteringFeature,
76
- columnSizingFeature,
77
- columnResizingFeature, // explicit — formerly part of ColumnSizing
78
- })
79
-
80
- const columnHelper = createColumnHelper<typeof features, Person>()
81
-
82
- const columns: ColumnDef<typeof features, Person>[] = columnHelper.columns([
83
- columnHelper.accessor('name', {
84
- header: 'Name',
85
- sortFn: 'alphanumeric', // renamed from sortingFn
86
- }),
87
- ])
88
-
89
- const table = useTable({
90
- features,
91
- rowModels: {
92
- sortedRowModel: createSortedRowModel(sortFns),
93
- filteredRowModel: createFilteredRowModel(filterFns),
94
- paginatedRowModel: createPaginatedRowModel(),
95
- },
96
- columns,
97
- data,
98
- enableColumnPinning: true, // split from enablePinning
99
- enableRowPinning: true,
100
- })
101
-
102
- // State reads
103
- const allState = table.store.state // full snapshot
104
- const sorting = table.atoms.sorting.get() // per-slice atom
105
- const cells = row.getAllCellsByColumnId() // no underscore
106
-
107
- // Rendering
108
- // <table.FlexRender header={header} />
109
- // <table.FlexRender cell={cell} />
110
- ```
111
-
112
- ### v8 muscle-memory anti-shape
113
-
114
- ```ts
115
- // === v8 muscle memory — every line is broken in v9. ===
116
- import {
117
- useReactTable, // (1) renamed → useTable
118
- getCoreRowModel, // (2) no longer a root option
119
- getFilteredRowModel, // move to rowModels as factories
120
- getSortedRowModel, // createSortedRowModel(sortFns) etc.
121
- getPaginationRowModel,
122
- createColumnHelper, // (3) needs <TFeatures, TData> now
123
- sortingFns, // (4) renamed → sortFns
124
- filterFns,
125
- flexRender, // still exists, prefer table.FlexRender
126
- } from '@tanstack/react-table'
127
- import type { ColumnDef, Row } from '@tanstack/react-table'
128
-
129
- const columnHelper = createColumnHelper<Person>() // wrong arity
130
-
131
- const columns: ColumnDef<Person>[] = [
132
- // (5) ColumnDef<TFeatures, TData, TValue> now
133
- { accessorKey: 'name', header: 'Name', sortingFn: 'alphanumeric' }, // (6) renamed → sortFn
134
- ]
135
-
136
- const table = useReactTable({
137
- columns,
138
- data,
139
- getCoreRowModel: getCoreRowModel(), // (2) move into rowModels
140
- getFilteredRowModel: getFilteredRowModel(),
141
- getSortedRowModel: getSortedRowModel(),
142
- getPaginationRowModel: getPaginationRowModel(),
143
- filterFns, // (7) no longer a root option
144
- sortingFns, // (4)+(7)
145
- enablePinning: true, // (8) split → enableColumnPinning / enableRowPinning
146
- onColumnSizingInfoChange: setInfo, // (9) renamed → onColumnResizingChange
147
- })
148
-
149
- const all = table.getState() // (10) → table.store.state
150
- const cells = row._getAllCellsByColumnId() // underscore removed
151
- ```
152
-
153
- ### Transitional `useLegacyTable` (React only)
154
-
155
- ```ts
156
- import {
157
- useLegacyTable,
158
- getCoreRowModel,
159
- legacyCreateColumnHelper,
160
- } from '@tanstack/react-table/legacy'
161
-
162
- const legacyHelper = legacyCreateColumnHelper<Person>()
163
- const legacyTable = useLegacyTable({
164
- columns,
165
- data,
166
- getCoreRowModel: getCoreRowModel(),
167
- })
168
- ```
169
-
170
- This accepts the v8 shape on top of the v9 engine. Deprecated, ships every feature, no `table.Subscribe`, no atoms. Removed in v10. Use to unblock incremental migration only — not as a long-term API. Angular has no `useLegacyTable` equivalent; Angular projects must migrate directly.
171
-
172
- ## Common Mistakes
173
-
174
- ### [CRITICAL] Hallucinating react-table v7 / pre-v9 API names
175
-
176
- Wrong:
177
-
178
- ```ts
179
- // v7
180
- import { useTable, useSortBy } from 'react-table'
181
- const table = useTable({ columns, data }, useSortBy)
182
-
183
- // v8
184
- import { useReactTable, getCoreRowModel } from '@tanstack/react-table'
185
- const table = useReactTable({
186
- columns,
187
- data,
188
- getCoreRowModel: getCoreRowModel(),
189
- })
190
- ```
191
-
192
- Correct:
193
-
194
- ```ts
195
- import {
196
- useTable,
197
- tableFeatures,
45
+ filterFn_includesString,
198
46
  rowSortingFeature,
199
- createSortedRowModel,
200
- sortFns,
201
- } from '@tanstack/react-table'
202
-
203
- const features = tableFeatures({ rowSortingFeature })
204
- const table = useTable({
205
- features,
206
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
207
- columns,
208
- data,
209
- })
210
- ```
211
-
212
- Every major release of TanStack Table has been a substantial upgrade. Agents trained on v7 or v8 will confidently emit shapes that no longer exist. This is the #2 AI failure (after reimplementing built-ins).
213
-
214
- Source: maintainer interview (Phase 4, 2026-05-17)
215
-
216
- ### [CRITICAL] Importing pre-bundled `getCoreRowModel` / `getSortedRowModel` etc.
217
-
218
- Wrong:
219
-
220
- ```ts
221
- // v8 pattern — won't drive v9 row models
222
- const table = useTable({
223
- features,
224
- data,
225
- columns,
226
- getCoreRowModel: getCoreRowModel(),
227
- getSortedRowModel: getSortedRowModel(),
228
- })
229
- ```
230
-
231
- Correct:
232
-
233
- ```ts
234
- import {
235
- useTable,
47
+ sortFn_alphanumeric,
236
48
  tableFeatures,
49
+ } from '@tanstack/table-core'
50
+
51
+ export const features = tableFeatures({
52
+ columnFilteringFeature,
237
53
  rowSortingFeature,
238
- createSortedRowModel,
239
- sortFns,
240
- } from '@tanstack/react-table'
241
-
242
- const features = tableFeatures({ rowSortingFeature })
243
- const table = useTable({
244
- features,
245
- rowModels: {
246
- sortedRowModel: createSortedRowModel(sortFns), // factory takes sortFns argument
247
- },
248
- columns,
249
- data,
54
+ filteredRowModel: createFilteredRowModel(),
55
+ sortedRowModel: createSortedRowModel(),
56
+ filterFns: { includesString: filterFn_includesString },
57
+ sortFns: { alphanumeric: sortFn_alphanumeric },
250
58
  })
251
59
  ```
252
60
 
253
- In v9, row models live under `rowModels` and the factories REQUIRE their \*Fns argument for tree-shaking: `createFilteredRowModel(filterFns)`, `createSortedRowModel(sortFns)`, `createGroupedRowModel(aggregationFns)`. Core is automatic.
254
-
255
- Source: PR #6234 (atoms refactor); packages/table-core/src/index.ts
256
-
257
- ### [CRITICAL] `createColumnHelper<TData>()` (v8 arity)
258
-
259
- Wrong:
61
+ Pass `features` to the adapter's v9 table constructor. Define it statically outside render/setup work when possible.
62
+
63
+ ## Complete shared breaking-change inventory
64
+
65
+ ### 1. Register every non-core feature explicitly
66
+
67
+ V8 bundled all stock features. V9 exposes an API only when its feature is present in `tableFeatures({...})`.
68
+
69
+ | Capability | V9 feature |
70
+ | --------------------------- | ------------------------- |
71
+ | Aggregation | `rowAggregationFeature` |
72
+ | Cell selection | `cellSelectionFeature` |
73
+ | Column faceting | `columnFacetingFeature` |
74
+ | Column filtering | `columnFilteringFeature` |
75
+ | Column ordering | `columnOrderingFeature` |
76
+ | Column pinning | `columnPinningFeature` |
77
+ | Column sizes and offsets | `columnSizingFeature` |
78
+ | Column visibility | `columnVisibilityFeature` |
79
+ | Global filtering | `globalFilteringFeature` |
80
+ | Grouping | `columnGroupingFeature` |
81
+ | Interactive column resizing | `columnResizingFeature` |
82
+ | Pagination | `rowPaginationFeature` |
83
+ | Row expansion | `rowExpandingFeature` |
84
+ | Row pinning | `rowPinningFeature` |
85
+ | Row selection | `rowSelectionFeature` |
86
+ | Sorting | `rowSortingFeature` |
87
+
88
+ The core row model and core table/row/column/header/cell behavior are automatic. `stockFeatures` restores a v8-like all-features surface, but use it as an audit shortcut rather than the default production recommendation.
89
+
90
+ Honor feature prerequisites in the same `tableFeatures` call:
91
+
92
+ - `columnResizingFeature` requires `columnSizingFeature`.
93
+ - `globalFilteringFeature` requires `columnFilteringFeature`.
94
+ - Every row-model or function-registry slot requires its associated feature.
95
+ - `aggregationFns` requires `rowAggregationFeature`; grouped aggregation uses both `rowAggregationFeature` and `columnGroupingFeature`.
96
+ - Put prerequisite feature properties before dependent slots so inference and diagnostics remain clear.
97
+
98
+ ### 2. Move row models into feature slots and rename factories
99
+
100
+ V8 `get*RowModel()` table options and the earlier-v9-beta `rowModels` object are gone. V9 `create*RowModel()` factories take no registry arguments and are registered as named feature slots.
101
+
102
+ | V8 table option | V9 `tableFeatures` slot | V9 factory |
103
+ | -------------------------------------------------- | -------------------------------------- | ---------------------------------------------- |
104
+ | `getCoreRowModel: getCoreRowModel()` | automatic; omit for the built-in model | built-in `createCoreRowModel()` is the default |
105
+ | `getFilteredRowModel: getFilteredRowModel()` | `filteredRowModel` | `createFilteredRowModel()` |
106
+ | `getSortedRowModel: getSortedRowModel()` | `sortedRowModel` | `createSortedRowModel()` |
107
+ | `getPaginationRowModel: getPaginationRowModel()` | `paginatedRowModel` | `createPaginatedRowModel()` |
108
+ | `getExpandedRowModel: getExpandedRowModel()` | `expandedRowModel` | `createExpandedRowModel()` |
109
+ | `getGroupedRowModel: getGroupedRowModel()` | `groupedRowModel` | `createGroupedRowModel()` |
110
+ | `getFacetedRowModel: getFacetedRowModel()` | `facetedRowModel` | `createFacetedRowModel()` |
111
+ | `getFacetedMinMaxValues: getFacetedMinMaxValues()` | `facetedMinMaxValues` | `createFacetedMinMaxValues()` |
112
+ | `getFacetedUniqueValues: getFacetedUniqueValues()` | `facetedUniqueValues` | `createFacetedUniqueValues()` |
113
+
114
+ For a custom core model, use the `coreRowModel` slot rather than restoring the v8 table option.
115
+
116
+ Move registries from table options or factory arguments into these feature slots:
117
+
118
+ | V8 | V9 |
119
+ | ---------------- | ---------------- |
120
+ | `sortingFns` | `sortFns` |
121
+ | `filterFns` | `filterFns` |
122
+ | `aggregationFns` | `aggregationFns` |
123
+
124
+ Register only the built-ins the table references by string name, importing each individually (`filterFn_includesString`, `sortFn_alphanumeric`, `aggregationFn_sum`, and so on) alongside any custom functions. The full registry objects (`filterFns`, `sortFns`, `aggregationFns` exports) still work but bundle every built-in. A slot's keys become the valid string names in column definitions, and `'auto'` resolves only registered functions.
125
+
126
+ Aggregation is independent from grouping. Add `rowAggregationFeature` for
127
+ `aggregationFn`, `aggregatedCell`, `column.getAggregationValue(options?)`, and
128
+ `cell.getIsAggregated`. A root total does not require grouping. Convert legacy
129
+ custom callables `(columnId, leafRows, childRows) => result` to
130
+ `constructAggregationFn({ aggregate: (context) => result, merge? })`
131
+ definitions. Replace `column.getAggregationFn()` with
132
+ `column.getAggregationFns()`; arrays in `aggregationFn` return keyed objects.
133
+ Replace the old `AggregationFn` and `CreatedAggregationFn` types with
134
+ `AggregationFnDef`. Aggregation row selection is shared across every definition
135
+ on a column: `maxAggregationDepth` defaults to `0`, while `1` selects direct
136
+ sub-rows and `Infinity` selects terminal rows. Explicit totals can override it
137
+ with the single object signature
138
+ `column.getAggregationValue({ rows, maxDepth })`; positional row and depth
139
+ arguments are not supported. All built-ins consume the same selected `rows`.
140
+ Custom definitions can inspect grouped `subRows`, and `merge` receives matching
141
+ `subRowResults`. Use `table.getMaxSubRowDepth()` when a depth should derive from
142
+ the deepest structural row in the core model.
143
+
144
+ ### 3. Migrate state reads and whole-state observation
145
+
146
+ `table.getState()` and the top-level `onStateChange` option are removed. Individual `on[Slice]Change` callbacks remain.
147
+
148
+ | V8 need | V9 shared surface |
149
+ | ------------------------------- | --------------------------------------------------- |
150
+ | Full current snapshot | `table.store.state` |
151
+ | One current slice | `table.atoms.<slice>.get()` |
152
+ | Adapter-selected reactive state | `table.state` where the adapter exposes it |
153
+ | Observe all changes | `table.store.subscribe(...)` |
154
+ | Control one slice | `state.<slice>` plus `on<Slice>Change` |
155
+ | Externally own one slice | `atoms.<slice>` with a writable TanStack Store atom |
156
+ | Internal state | omit both `state.<slice>` and `atoms.<slice>` |
157
+
158
+ Load the adapter `table-state` skill before choosing reactive reads; adapters intentionally differ. When both an external atom and `state` provide a slice, the atom wins. Table writes go directly to that atom, and `table.reset()` does not reset externally owned atoms.
159
+
160
+ ### 4. Keep instance methods bound
161
+
162
+ Row, cell, column, header, and related object methods moved to shared prototypes. Destructuring, passing a bare callback, spreading, `Object.keys`, and `JSON.stringify` no longer preserve or reveal those methods.
260
163
 
261
164
  ```ts
262
- const columnHelper = createColumnHelper<Person>()
263
- ```
165
+ // v8 code that breaks
166
+ const { getValue } = row
167
+ rows.map(row.getVisibleCells)
264
168
 
265
- Correct:
266
-
267
- ```ts
268
- const features = tableFeatures({ rowSortingFeature })
269
- const columnHelper = createColumnHelper<typeof features, Person>()
169
+ // v9
170
+ const value = row.getValue('name')
171
+ rows.map((row) => row.getVisibleCells())
270
172
  ```
271
173
 
272
- v9 requires `<TFeatures, TData>`. `typeof features` is the standard idiom declare features once at module scope and reuse the type.
174
+ Audit all methods extracted from rows, cells, columns, headers, and header groups. Table-instance methods are not subject to this specific migration rule.
273
175
 
274
- Source: packages/table-core/src/helpers/columnHelper.ts; docs/framework/react/guide/migrating.md
176
+ ### 5. Replace physical column pinning with logical pinning
275
177
 
276
- ### [HIGH] Reading state via `table.getState()`
178
+ V9 beta.38 has no `left`/`right` aliases. Replace all state keys, return-value comparisons, arguments, and API families:
277
179
 
278
- Wrong:
180
+ | V8 | V9 |
181
+ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------- |
182
+ | `columnPinning.left` / `.right` | `.start` / `.end` |
183
+ | `column.pin('left' \| 'right')` | `column.pin('start' \| 'end')` |
184
+ | `column.getIsPinned() === 'left' \| 'right'` | compare with `'start' \| 'end'` |
185
+ | `row.getLeftVisibleCells()` / `getRightVisibleCells()` | `getStartVisibleCells()` / `getEndVisibleCells()` |
186
+ | `table.getLeftHeaderGroups()` / `getRightHeaderGroups()` | `getStartHeaderGroups()` / `getEndHeaderGroups()` |
187
+ | `table.getLeftFooterGroups()` / `getRightFooterGroups()` | `getStartFooterGroups()` / `getEndFooterGroups()` |
188
+ | `table.getLeftFlatHeaders()` / `getRightFlatHeaders()` | `getStartFlatHeaders()` / `getEndFlatHeaders()` |
189
+ | `table.getLeftLeafHeaders()` / `getRightLeafHeaders()` | `getStartLeafHeaders()` / `getEndLeafHeaders()` |
190
+ | `table.getLeftLeafColumns()` / `getRightLeafColumns()` | `getStartLeafColumns()` / `getEndLeafColumns()` |
191
+ | `table.getLeftVisibleLeafColumns()` / `getRightVisibleLeafColumns()` | `getStartVisibleLeafColumns()` / `getEndVisibleLeafColumns()` |
192
+ | `table.getLeftTotalSize()` / `getRightTotalSize()` | `getStartTotalSize()` / `getEndTotalSize()` |
193
+ | `'left' \| 'right'` passed to `getStart`, `getAfter`, `getIndex`, or pinned-region helpers | `'start' \| 'end'` |
279
194
 
280
- ```ts
281
- const all = table.getState()
282
- ```
195
+ This names logical regions; it does not automatically apply DOM direction or sticky CSS. Use logical CSS such as `inset-inline-start`/`insetInlineStart` and `inset-inline-end`/`insetInlineEnd`. `columnResizeDirection` remains `'ltr' | 'rtl'`.
283
196
 
284
- Correct:
197
+ ### 6. Split column sizing from resizing
285
198
 
286
- ```ts
287
- const all = table.store.state // flat snapshot, no subscription
288
- const sorting = table.atoms.sorting.get() // per-slice
289
- const selected = table.state // typed selector output (framework adapters)
290
- ```
199
+ V8's combined sizing feature became two tree-shakeable features:
291
200
 
292
- `table.getState()` was removed. There are three reads now, picked by what you need.
201
+ - Register `columnSizingFeature` for sizes, offsets, and total-size APIs.
202
+ - Also register `columnResizingFeature` for drag handles and transient interaction state.
203
+ - `columnResizingFeature` cannot stand alone.
293
204
 
294
- Source: docs/framework/table-core/guide/migrating.md
205
+ | V8 | V9 |
206
+ | -------------------------- | ------------------------ |
207
+ | `columnSizingInfo` state | `columnResizing` state |
208
+ | `setColumnSizingInfo(...)` | `setColumnResizing(...)` |
209
+ | `onColumnSizingInfoChange` | `onColumnResizingChange` |
295
210
 
296
- ### [HIGH] Sorting renames missed
211
+ The current source spelling is `setColumnResizing` with an uppercase `C`.
297
212
 
298
- Wrong:
213
+ ### 7. Rename sorting APIs
299
214
 
300
- ```ts
301
- { accessorKey: 'age', sortingFn: 'alphanumeric' } // v8 name
302
- useTable({ sortingFns: { ... } }) // v8 option
303
- column.getSortingFn() // v8 method
304
- ```
215
+ | V8 | V9 |
216
+ | --------------------------- | ------------------------ |
217
+ | column-def `sortingFn` | `sortFn` |
218
+ | `column.getSortingFn()` | `column.getSortFn()` |
219
+ | `column.getAutoSortingFn()` | `column.getAutoSortFn()` |
220
+ | `SortingFn` | `SortFn` |
221
+ | `SortingFns` | `SortFns` |
222
+ | built-in `sortingFns` | `sortFns` |
305
223
 
306
- Correct:
224
+ Also move the registry to `tableFeatures`, as described above.
307
225
 
308
- ```ts
309
- columnHelper.accessor('age', { sortFn: 'alphanumeric' })
310
- createSortedRowModel(sortFns) // pass registry to the factory
311
- column.getSortFn()
312
- ```
226
+ ### 8. Split the table-level pinning switch
313
227
 
314
- v9 renamed every sorting API: `sortingFn` `sortFn`, `sortingFns` `sortFns`, type `SortingFn` `SortFn`, `getSortingFn()` `getSortFn()`. TypeScript surfaces these but agents try v8 names first.
228
+ Replace the v8 table option `enablePinning` with `enableColumnPinning` and/or `enableRowPinning`. Do not mechanically rename a column definition's `enablePinning`: that column-level option still exists.
315
229
 
316
- Source: packages/table-core/src/features/row-sorting/rowSortingFeature.types.ts
230
+ ### 9. Remove internal APIs and use public surfaces
317
231
 
318
- ### [HIGH] Using `enablePinning` at the table level
232
+ All underscore-prefixed internals are unsupported and removed. Known migration points include:
319
233
 
320
- Wrong:
234
+ | Removed v8 internal | V9 public direction |
235
+ | --------------------------------- | ------------------------------------------------------------- |
236
+ | `row._getAllCellsByColumnId()` | `row.getAllCellsByColumnId()` |
237
+ | `table._getPinnedRows()` | `table.getTopRows()`, `getCenterRows()`, or `getBottomRows()` |
238
+ | `table._getFacetedRowModel()` | public faceting APIs on the relevant column/table |
239
+ | `table._getFacetedMinMaxValues()` | `getFacetedMinMaxValues()` |
240
+ | `table._getFacetedUniqueValues()` | `getFacetedUniqueValues()` |
321
241
 
322
- ```ts
323
- const table = useTable({
324
- features: tableFeatures({ columnPinningFeature, rowPinningFeature }),
325
- enablePinning: true, // ignored at table level in v9
326
- })
327
- ```
328
-
329
- Correct:
330
-
331
- ```ts
332
- const table = useTable({
333
- features: tableFeatures({ columnPinningFeature, rowPinningFeature }),
334
- enableColumnPinning: true,
335
- enableRowPinning: true,
336
- })
337
-
338
- // Per-column opt-out is still `enablePinning`:
339
- columnHelper.accessor('id', { enablePinning: false })
340
- ```
341
-
342
- v9 split `enablePinning` (table-level) into `enableColumnPinning` + `enableRowPinning`. The bare name now refers ONLY to per-column opt-out.
343
-
344
- Source: packages/table-core/src/features/column-pinning/columnPinningFeature.types.ts
345
-
346
- ### [HIGH] Treating column resizing as part of column sizing
242
+ For any other `_` API, do not guess. Inspect the installed v9 package source for the public replacement or redesign the integration.
347
243
 
348
- Wrong:
349
-
350
- ```ts
351
- // v8 — ColumnSizing implied resizing too
352
- const table = useTable({
353
- features: tableFeatures({ columnSizingFeature }),
354
- onColumnSizingInfoChange: setInfo, // v8 name
355
- })
356
- ```
244
+ ### 10. Update row-selection predicates
357
245
 
358
- Correct:
246
+ `getIsSomeRowsSelected()` and `getIsSomePageRowsSelected()` now mean **at least one**, including the all-selected case. They no longer mean “some but not all.” Build an indeterminate checkbox with both predicates:
359
247
 
360
248
  ```ts
361
- const table = useTable({
362
- features: tableFeatures({
363
- columnSizingFeature,
364
- columnResizingFeature, // explicit in v9
365
- }),
366
- onColumnResizingChange: setResizing, // renamed
367
- // state key columnSizingInfo → columnResizing
368
- })
249
+ const indeterminate =
250
+ table.getIsSomeRowsSelected() && !table.getIsAllRowsSelected()
369
251
  ```
370
252
 
371
- v9 split them: `columnSizingFeature` for fixed widths, `columnResizingFeature` for drag-to-resize. State key `columnSizingInfo` → `columnResizing`; option `onColumnSizingInfoChange` → `onColumnResizingChange`.
372
-
373
- Source: docs/framework/table-core/guide/migrating.md
374
-
375
- ### [MEDIUM] Calling underscore-prefixed APIs
253
+ For a page checkbox, use `table.getIsSomePageRowsSelected() && !table.getIsAllPageRowsSelected()`.
376
254
 
377
- Wrong:
255
+ ### 11. Update TypeScript feature generics and helpers
378
256
 
379
- ```ts
380
- row._getAllCellsByColumnId()
381
- table._getFacetedRowModel()
382
- table._getFacetedMinMaxValues()
383
- table._getFacetedUniqueValues()
384
- table._getPinnedRows()
385
- ```
257
+ Most core types add `TFeatures` before their data/value parameters:
386
258
 
387
- Correct:
259
+ | V8 | V9 |
260
+ | ----------------------------- | ---------------------------------------- |
261
+ | `Column<TData>` | `Column<TFeatures, TData, TValue>` |
262
+ | `ColumnDef<TData>` | `ColumnDef<TFeatures, TData, TValue>` |
263
+ | `Table<TData>` | `Table<TFeatures, TData>` |
264
+ | `Row<TData>` | `Row<TFeatures, TData>` |
265
+ | `Cell<TData, TValue>` | `Cell<TFeatures, TData, TValue>` |
266
+ | `createColumnHelper<TData>()` | `createColumnHelper<TFeatures, TData>()` |
388
267
 
389
- ```ts
390
- row.getAllCellsByColumnId()
391
- table.getFacetedRowModel()
392
- table.getFacetedMinMaxValues()
393
- table.getFacetedUniqueValues()
394
- table.getPinnedRows()
395
- ```
268
+ Prefer inference. Use `typeof features` only where an explicit type boundary is necessary; use `StockFeatures` when that is genuinely the selected feature set. Wrap column arrays with `columnHelper.columns([...])` to preserve individual and nested `TValue` inference.
396
269
 
397
- All became public drop the underscore.
270
+ `RowData` is now `Record<string, any> | Array<any>`, not `unknown`. Wrap primitive records in an object or array shape.
398
271
 
399
- Source: docs/framework/table-core/guide/migrating.md
400
-
401
- ### [MEDIUM] Module augmentation with v8 generic arity
402
-
403
- Wrong:
272
+ Global `TableMeta`/`ColumnMeta` declaration merging can remain, but add `TFeatures` as the first generic. Prefer per-table type-only slots where isolation helps:
404
273
 
405
274
  ```ts
406
- declare module '@tanstack/react-table' {
407
- interface ColumnMeta<TData, TValue> {
408
- customProp: string
409
- }
410
- }
275
+ const features = tableFeatures({
276
+ columnFilteringFeature,
277
+ tableMeta: metaHelper<MyTableMeta>(),
278
+ columnMeta: metaHelper<MyColumnMeta>(),
279
+ filterMeta: metaHelper<MyFilterMeta>(),
280
+ })
411
281
  ```
412
282
 
413
- Correct:
283
+ Replace global `FilterFns`, `SortFns`, and `AggregationFns` augmentation with the matching registry slots; their object keys supply the string-literal names. Replace `FilterMeta` augmentation with the `filterMeta` slot unless global behavior is intentional.
414
284
 
415
- ```ts
416
- declare module '@tanstack/react-table' {
417
- interface ColumnMeta<TFeatures, TData, TValue> {
418
- customProp: string
419
- }
420
- }
421
- ```
285
+ ### 12. Migrate adapter construction and rendering separately
422
286
 
423
- v9 added `TFeatures` as the first generic. Module augmentation silently widens types if arity is wrong.
287
+ The following are breaking but not shared core mappings: adapter hook/factory/controller names, Svelte 5 requirements, reactive getter rules, state-selection components/helpers, and `FlexRender` syntax. Load the installed adapter's migration skill and follow its exact source. Do not apply React names to Preact, Solid, Svelte, Vue, Angular, or Lit.
424
288
 
425
- Source: docs/framework/table-core/guide/migrating.md
289
+ ## Optional v9 adoption after parity
426
290
 
427
- ### [MEDIUM] Mutating `data` or `columns` in place
291
+ Do not confuse new capabilities with required breakages. After the table works, consider `tableOptions()` for reusable partial configuration, `createTableHook()` for app-level table conventions, per-slice atoms/subscriptions for narrower rendering, per-table meta slots, and explicit features for smaller bundles.
428
292
 
429
- Wrong:
293
+ ## Complete audit checklist
430
294
 
431
- ```ts
432
- // v8 pattern, breaks at TS layer in v9
433
- const data: Person[] = []
434
- function addRow(row: Person) {
435
- data.push(row)
436
- rerender()
437
- }
438
- ```
295
+ - [ ] Load the installed framework adapter's migration and table-state skills.
296
+ - [ ] Replace the v8 adapter constructor/hook/controller with its v9 entrypoint.
297
+ - [ ] Add a stable `features` object to every table.
298
+ - [ ] Inventory every feature API used by table, row, column, cell, and header code; register all 16 required stock features.
299
+ - [ ] Use `stockFeatures` only as a temporary parity aid and record an explicit-feature follow-up.
300
+ - [ ] Remove `getCoreRowModel()` unless supplying a deliberate custom `coreRowModel` slot.
301
+ - [ ] Move all remaining `get*RowModel()` options or earlier-beta `rowModels` entries to `create*RowModel()` feature slots.
302
+ - [ ] Register each dependent feature before its row-model slot.
303
+ - [ ] Move `filterFns`, `sortingFns`/`sortFns`, and `aggregationFns` into feature slots, registering individually imported built-ins; pass no registries to factories.
304
+ - [ ] Register `rowAggregationFeature` independently and migrate custom aggregation callables to context-based `AggregationFnDef` definitions.
305
+ - [ ] Register `columnFilteringFeature` before global filtering and filter/facet dependencies.
306
+ - [ ] Register `columnSizingFeature` before `columnResizingFeature`.
307
+ - [ ] Replace `table.getState()` and top-level `onStateChange` according to the adapter state guide.
308
+ - [ ] Verify every controlled slice has an update path; verify externally owned atoms are reset by their owner.
309
+ - [ ] Audit destructured, spread, serialized, or bare-callback instance methods.
310
+ - [ ] Replace every column-pinning `left`/`right` key, argument, comparison, method family, and sticky CSS declaration with logical start/end equivalents.
311
+ - [ ] Split table-level `enablePinning`; preserve column-def `enablePinning` where intended.
312
+ - [ ] Split sizing/resizing features and rename the resizing state, setter, and callback.
313
+ - [ ] Replace every `sortingFn`/`SortingFn`/`sortingFns` spelling with its v9 `sort*` spelling.
314
+ - [ ] Remove every consumed underscore-prefixed internal API.
315
+ - [ ] Recheck indeterminate selection logic against the new “at least one” semantics.
316
+ - [ ] Add `TFeatures` to unavoidable explicit core types, helpers, and retained meta augmentation; otherwise restore inference.
317
+ - [ ] Replace function-registry and filter-meta declaration merging with per-table slots where appropriate.
318
+ - [ ] Ensure every row is a record or array under the stricter `RowData` constraint.
319
+ - [ ] Migrate adapter-specific rendering, reactive data inputs, and subscription primitives.
320
+ - [ ] Type-check without `any`/casts added merely to suppress migration failures.
321
+ - [ ] Test sorting, filtering, faceting, grouping, expansion, pagination, selection, ordering, pinning, sizing, and resizing—only where enabled.
322
+ - [ ] Test client/server ownership for every row-model pipeline stage and ensure manual modes receive already-processed data.
323
+ - [ ] Test LTR and RTL layouts when column pinning or resizing is enabled.
324
+ - [ ] Remove `useLegacyTable` after the incremental migration step that required it.
439
325
 
440
- Correct:
326
+ ## Common migration failures
441
327
 
442
- ```ts
443
- const [data, setData] = useState<Person[]>([])
444
- function addRow(row: Person) {
445
- setData((prev) => [...prev, row])
446
- }
447
- ```
328
+ ### [CRITICAL] Silencing a missing API instead of registering its feature
448
329
 
449
- PR #6183 makes `data` and `columns` readonly to force changes through state.
330
+ If `table.nextPage`, `column.toggleSorting`, or a state slice disappears, add the associated feature. Do not cast the table to a broader type.
450
331
 
451
- Source: PR #6183
332
+ ### [CRITICAL] Mixing v8, early-v9-beta, and beta.38 configuration
452
333
 
453
- ### [MEDIUM] Reaching for `useLegacyTable` in new code
334
+ Do not combine v8 `get*RowModel` options, an earlier beta's `rowModels` object, or physical pinning names with the current `tableFeatures` slots.
454
335
 
455
- Wrong:
336
+ ### [HIGH] Treating `stockFeatures` or `useLegacyTable` as the finished migration
456
337
 
457
- ```ts
458
- // Long-term use of the legacy shim
459
- import { useLegacyTable, getCoreRowModel } from '@tanstack/react-table/legacy'
460
- const table = useLegacyTable({
461
- columns,
462
- data,
463
- getCoreRowModel: getCoreRowModel(),
464
- })
465
- ```
338
+ Both obscure missing feature decisions; `useLegacyTable` is deprecated and React-only. Reach behavior parity, then complete the explicit v9 setup.
466
339
 
467
- Correct:
340
+ ### [HIGH] Copying one adapter's state or rendering API into another
468
341
 
469
- ```ts
470
- // Migrate to native v9 shape
471
- import {
472
- useTable,
473
- tableFeatures,
474
- rowSortingFeature,
475
- createSortedRowModel,
476
- sortFns,
477
- } from '@tanstack/react-table'
478
- const features = tableFeatures({ rowSortingFeature })
479
- const table = useTable({
480
- features,
481
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
482
- columns,
483
- data,
484
- })
485
- ```
342
+ Core concepts are shared, but reactive reads, constructors, and rendering helpers are not. Load the package-local adapter skills.
486
343
 
487
- `useLegacyTable` is React-only, deprecated, bundles every feature, doesn't support `table.Subscribe`, and is removed in v10. It exists to unblock incremental migration — not as a long-term API.
344
+ ## Installed API discovery
488
345
 
489
- Source: packages/react-table/src/legacy.ts; docs/framework/react/guide/use-legacy-table.md
346
+ Use the installed version, not main-branch memory:
490
347
 
491
- ## See also
348
+ 1. Inspect `node_modules/@tanstack/table-core/dist/index.d.ts` for exports.
349
+ 2. Inspect `dist/types/TableFeatures.d.ts` for valid slots and prerequisites.
350
+ 3. Inspect `dist/features/<feature>/*.types.d.ts` for current options, state, and APIs.
351
+ 4. Inspect the installed adapter's `dist/index.d.ts` and its migration skill for entrypoints and rendering.
352
+ 5. Inspect `dist/legacy.d.ts` only to remove an existing bridge, never to design new v9 code.
492
353
 
493
- - `tanstack-table/setup` what the v9-native shape looks like
494
- - `tanstack-table/state-management` — `table.store.state` / `table.atoms` / `table.state` ownership
495
- - `tanstack-table/column-definitions` — `createColumnHelper<typeof features, TData>()` generic order
354
+ If package-manager layout prevents that exact path, resolve the installed package root first. Do not substitute APIs from a different v9 beta.