@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.11

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 (454) hide show
  1. package/dist/core/cells/constructCell.d.cts +1 -1
  2. package/dist/core/cells/constructCell.d.ts +1 -1
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +4 -4
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
  13. package/dist/core/columns/constructColumn.d.cts +1 -1
  14. package/dist/core/columns/constructColumn.d.ts +1 -1
  15. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  16. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  17. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  18. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  19. package/dist/core/columns/coreColumnsFeature.js +60 -68
  20. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.types.d.cts +5 -5
  22. package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -5
  23. package/dist/core/columns/coreColumnsFeature.utils.d.cts +1 -1
  24. package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -1
  25. package/dist/core/coreFeatures.cjs.map +1 -1
  26. package/dist/core/coreFeatures.d.cts +1 -1
  27. package/dist/core/coreFeatures.d.ts +1 -1
  28. package/dist/core/coreFeatures.js.map +1 -1
  29. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  30. package/dist/core/headers/buildHeaderGroups.d.cts +1 -1
  31. package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
  32. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  33. package/dist/core/headers/constructHeader.d.cts +1 -1
  34. package/dist/core/headers/constructHeader.d.ts +1 -1
  35. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  36. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  37. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  38. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  39. package/dist/core/headers/coreHeadersFeature.js +45 -53
  40. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  41. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  42. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  43. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  44. package/dist/core/headers/coreHeadersFeature.utils.d.cts +1 -1
  45. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -1
  46. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  47. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  48. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  49. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  50. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  51. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  52. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  53. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +5 -15
  54. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +5 -15
  55. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  56. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +2 -2
  58. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +2 -2
  59. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  60. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  61. package/dist/core/row-models/createCoreRowModel.cjs +1 -2
  62. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  63. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  64. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  65. package/dist/core/row-models/createCoreRowModel.js +1 -2
  66. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  67. package/dist/core/rows/constructRow.d.cts +1 -1
  68. package/dist/core/rows/constructRow.d.ts +1 -1
  69. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  70. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  71. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  72. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  73. package/dist/core/rows/coreRowsFeature.js +28 -36
  74. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  75. package/dist/core/rows/coreRowsFeature.types.d.cts +5 -5
  76. package/dist/core/rows/coreRowsFeature.types.d.ts +5 -5
  77. package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
  78. package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -1
  79. package/dist/core/table/constructTable.cjs +21 -6
  80. package/dist/core/table/constructTable.cjs.map +1 -1
  81. package/dist/core/table/constructTable.d.cts +1 -1
  82. package/dist/core/table/constructTable.d.ts +1 -1
  83. package/dist/core/table/constructTable.js +21 -6
  84. package/dist/core/table/constructTable.js.map +1 -1
  85. package/dist/core/table/coreTablesFeature.cjs +7 -16
  86. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  87. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  88. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  89. package/dist/core/table/coreTablesFeature.js +8 -16
  90. package/dist/core/table/coreTablesFeature.js.map +1 -1
  91. package/dist/core/table/coreTablesFeature.types.d.cts +27 -15
  92. package/dist/core/table/coreTablesFeature.types.d.ts +27 -15
  93. package/dist/core/table/coreTablesFeature.utils.cjs +1 -2
  94. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  95. package/dist/core/table/coreTablesFeature.utils.d.cts +1 -1
  96. package/dist/core/table/coreTablesFeature.utils.d.ts +1 -1
  97. package/dist/core/table/coreTablesFeature.utils.js +1 -2
  98. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  99. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  100. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  101. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  102. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  103. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  104. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  105. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  106. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  107. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  108. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  109. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
  111. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  112. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  113. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  114. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  115. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  116. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  117. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  118. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  119. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  120. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  121. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  125. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  126. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  127. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  128. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  129. package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
  130. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  131. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  132. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  133. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  134. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  135. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +2 -2
  136. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +2 -2
  137. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  139. package/dist/features/column-filtering/createFilteredRowModel.cjs +4 -2
  140. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  141. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  142. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  143. package/dist/features/column-filtering/createFilteredRowModel.js +4 -2
  144. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  145. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  146. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  147. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  148. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  149. package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
  150. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  151. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +23 -19
  152. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
  153. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +1 -1
  154. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -1
  155. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -2
  156. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  157. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  158. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  159. package/dist/features/column-grouping/createGroupedRowModel.js +5 -2
  160. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  161. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  162. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  163. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  164. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  165. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  166. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  167. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  168. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  169. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +1 -1
  170. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -1
  171. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  172. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  173. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  174. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  175. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  176. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  177. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  178. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  179. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  180. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +13 -13
  181. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +13 -13
  182. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  183. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  184. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  185. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  186. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  187. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  188. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  189. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +1 -1
  190. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -1
  191. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  192. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  193. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  194. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  195. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  196. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  197. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +4 -4
  198. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +4 -4
  199. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  200. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  201. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  202. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  203. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  204. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  205. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  206. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  207. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +1 -1
  208. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -1
  209. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  210. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  211. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  212. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  213. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  214. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  215. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +3 -3
  216. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +3 -3
  217. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  218. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +7 -5
  219. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +7 -5
  220. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  221. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  222. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  223. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  224. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  225. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  226. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  227. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  228. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  229. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  230. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  231. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  232. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  233. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +1 -1
  234. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -1
  235. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  236. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  237. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  238. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  239. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  240. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  241. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  242. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  243. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  244. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  245. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  246. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  247. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +1 -1
  248. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -1
  249. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  250. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  251. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  252. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  253. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  254. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  255. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  256. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  257. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +1 -1
  258. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
  259. package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
  260. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  261. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  262. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  263. package/dist/features/row-selection/rowSelectionFeature.js +66 -77
  264. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  265. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +2 -2
  266. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -2
  267. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +10 -6
  268. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  269. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
  270. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
  271. package/dist/features/row-selection/rowSelectionFeature.utils.js +10 -6
  272. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  273. package/dist/features/row-sorting/createSortedRowModel.cjs +4 -2
  274. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  275. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  276. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  277. package/dist/features/row-sorting/createSortedRowModel.js +4 -2
  278. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  279. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  280. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  281. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  282. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  283. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  284. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  285. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +23 -20
  286. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +23 -20
  287. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  288. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  289. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +1 -1
  290. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -1
  291. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  292. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  293. package/dist/fns/aggregationFns.cjs +18 -18
  294. package/dist/fns/aggregationFns.cjs.map +1 -1
  295. package/dist/fns/aggregationFns.d.cts +21 -19
  296. package/dist/fns/aggregationFns.d.ts +21 -19
  297. package/dist/fns/aggregationFns.js +18 -18
  298. package/dist/fns/aggregationFns.js.map +1 -1
  299. package/dist/fns/filterFns.cjs +51 -65
  300. package/dist/fns/filterFns.cjs.map +1 -1
  301. package/dist/fns/filterFns.d.cts +82 -28
  302. package/dist/fns/filterFns.d.ts +82 -28
  303. package/dist/fns/filterFns.js +51 -65
  304. package/dist/fns/filterFns.js.map +1 -1
  305. package/dist/fns/sortFns.cjs +18 -6
  306. package/dist/fns/sortFns.cjs.map +1 -1
  307. package/dist/fns/sortFns.d.cts +15 -13
  308. package/dist/fns/sortFns.d.ts +15 -13
  309. package/dist/fns/sortFns.js +18 -6
  310. package/dist/fns/sortFns.js.map +1 -1
  311. package/dist/helpers/metaHelper.cjs +30 -0
  312. package/dist/helpers/metaHelper.cjs.map +1 -0
  313. package/dist/helpers/metaHelper.d.cts +26 -0
  314. package/dist/helpers/metaHelper.d.ts +26 -0
  315. package/dist/helpers/metaHelper.js +29 -0
  316. package/dist/helpers/metaHelper.js.map +1 -0
  317. package/dist/helpers/tableFeatures.cjs +31 -3
  318. package/dist/helpers/tableFeatures.cjs.map +1 -1
  319. package/dist/helpers/tableFeatures.d.cts +33 -5
  320. package/dist/helpers/tableFeatures.d.ts +33 -5
  321. package/dist/helpers/tableFeatures.js +31 -3
  322. package/dist/helpers/tableFeatures.js.map +1 -1
  323. package/dist/index.cjs +2 -20
  324. package/dist/index.d.cts +44 -43
  325. package/dist/index.d.ts +44 -43
  326. package/dist/index.js +22 -21
  327. package/dist/store-reactivity-bindings.cjs +1 -1
  328. package/dist/store-reactivity-bindings.cjs.map +1 -1
  329. package/dist/store-reactivity-bindings.d.cts +1 -1
  330. package/dist/store-reactivity-bindings.d.ts +1 -1
  331. package/dist/store-reactivity-bindings.js +1 -1
  332. package/dist/store-reactivity-bindings.js.map +1 -1
  333. package/dist/types/Cell.d.cts +8 -10
  334. package/dist/types/Cell.d.ts +8 -10
  335. package/dist/types/Column.d.cts +19 -12
  336. package/dist/types/Column.d.ts +19 -12
  337. package/dist/types/ColumnDef.d.cts +30 -11
  338. package/dist/types/ColumnDef.d.ts +30 -11
  339. package/dist/types/Header.d.cts +10 -11
  340. package/dist/types/Header.d.ts +10 -11
  341. package/dist/types/HeaderGroup.d.cts +4 -9
  342. package/dist/types/HeaderGroup.d.ts +4 -9
  343. package/dist/types/Row.d.cts +15 -11
  344. package/dist/types/Row.d.ts +15 -11
  345. package/dist/types/RowModel.d.cts +19 -19
  346. package/dist/types/RowModel.d.ts +19 -19
  347. package/dist/types/RowModelFns.d.cts +9 -9
  348. package/dist/types/RowModelFns.d.ts +9 -9
  349. package/dist/types/Table.d.cts +52 -24
  350. package/dist/types/Table.d.ts +52 -24
  351. package/dist/types/TableFeatures.d.cts +178 -41
  352. package/dist/types/TableFeatures.d.ts +178 -41
  353. package/dist/types/TableOptions.d.cts +31 -10
  354. package/dist/types/TableOptions.d.ts +31 -10
  355. package/dist/types/TableState.d.cts +22 -13
  356. package/dist/types/TableState.d.ts +22 -13
  357. package/dist/utils.cjs.map +1 -1
  358. package/dist/utils.d.cts +8 -3
  359. package/dist/utils.d.ts +8 -3
  360. package/dist/utils.js.map +1 -1
  361. package/package.json +1 -1
  362. package/skills/column-definitions/SKILL.md +3 -6
  363. package/skills/column-layout/SKILL.md +0 -2
  364. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  365. package/skills/filtering/SKILL.md +60 -42
  366. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  367. package/skills/grouping/SKILL.md +49 -54
  368. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  369. package/skills/pagination/SKILL.md +22 -20
  370. package/skills/row-expanding/SKILL.md +33 -25
  371. package/skills/row-pinning/SKILL.md +11 -7
  372. package/skills/row-selection/SKILL.md +0 -3
  373. package/skills/setup/SKILL.md +55 -65
  374. package/skills/sorting/SKILL.md +21 -21
  375. package/skills/state-management/SKILL.md +40 -25
  376. package/src/core/cells/coreCellsFeature.ts +17 -39
  377. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  378. package/src/core/columns/coreColumnsFeature.ts +56 -83
  379. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  380. package/src/core/coreFeatures.ts +1 -1
  381. package/src/core/headers/buildHeaderGroups.ts +1 -1
  382. package/src/core/headers/coreHeadersFeature.ts +42 -64
  383. package/src/core/headers/coreHeadersFeature.types.ts +10 -10
  384. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  385. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  386. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  387. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  388. package/src/core/row-models/createCoreRowModel.ts +5 -4
  389. package/src/core/rows/coreRowsFeature.ts +45 -72
  390. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  391. package/src/core/table/constructTable.ts +50 -13
  392. package/src/core/table/coreTablesFeature.ts +13 -35
  393. package/src/core/table/coreTablesFeature.types.ts +40 -17
  394. package/src/core/table/coreTablesFeature.utils.ts +10 -5
  395. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  396. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  397. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  398. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  399. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  400. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  401. package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
  402. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  403. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  404. package/src/features/column-filtering/createFilteredRowModel.ts +5 -7
  405. package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
  406. package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
  407. package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
  408. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  409. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  410. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  411. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  412. package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
  413. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  414. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  415. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  416. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  417. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  418. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  419. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
  420. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  421. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  422. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  423. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  424. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  425. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  426. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  427. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  428. package/src/features/row-selection/rowSelectionFeature.ts +103 -135
  429. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -4
  430. package/src/features/row-selection/rowSelectionFeature.utils.ts +12 -7
  431. package/src/features/row-sorting/createSortedRowModel.ts +6 -6
  432. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  433. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  434. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  435. package/src/fns/aggregationFns.ts +26 -42
  436. package/src/fns/filterFns.ts +231 -264
  437. package/src/fns/sortFns.ts +51 -29
  438. package/src/helpers/metaHelper.ts +24 -0
  439. package/src/helpers/tableFeatures.ts +36 -5
  440. package/src/index.ts +1 -0
  441. package/src/store-reactivity-bindings.ts +1 -1
  442. package/src/types/Cell.ts +10 -30
  443. package/src/types/Column.ts +21 -56
  444. package/src/types/ColumnDef.ts +48 -49
  445. package/src/types/Header.ts +10 -32
  446. package/src/types/HeaderGroup.ts +4 -15
  447. package/src/types/Row.ts +18 -39
  448. package/src/types/RowModel.ts +24 -114
  449. package/src/types/RowModelFns.ts +12 -31
  450. package/src/types/Table.ts +85 -80
  451. package/src/types/TableFeatures.ts +253 -108
  452. package/src/types/TableOptions.ts +70 -60
  453. package/src/types/TableState.ts +20 -73
  454. package/src/utils.ts +16 -6
@@ -36,14 +36,16 @@ import {
36
36
  sortFns,
37
37
  } from '@tanstack/table-core'
38
38
 
39
- const features = tableFeatures({ rowSortingFeature, rowPaginationFeature })
39
+ const features = tableFeatures({
40
+ rowSortingFeature,
41
+ rowPaginationFeature,
42
+ sortedRowModel: createSortedRowModel(),
43
+ paginatedRowModel: createPaginatedRowModel(),
44
+ sortFns,
45
+ })
40
46
 
41
47
  const table = constructTable({
42
48
  features,
43
- rowModels: {
44
- sortedRowModel: createSortedRowModel(sortFns),
45
- paginatedRowModel: createPaginatedRowModel(),
46
- },
47
49
  columns,
48
50
  data,
49
51
  // 1. initialState — set starting values; read once at construction
@@ -79,7 +81,6 @@ The four ownership patterns per slice:
79
81
  ```ts
80
82
  const table = constructTable({
81
83
  features,
82
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
83
84
  columns,
84
85
  data,
85
86
  initialState: { sorting: [{ id: 'age', desc: false }] },
@@ -95,7 +96,6 @@ const [sorting, setSorting] = React.useState<SortingState>([])
95
96
 
96
97
  const table = useTable({
97
98
  features,
98
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
99
99
  columns,
100
100
  data,
101
101
  state: { sorting },
@@ -119,7 +119,6 @@ function MyTable() {
119
119
 
120
120
  const table = useTable({
121
121
  features,
122
- rowModels: { paginatedRowModel: createPaginatedRowModel() },
123
122
  columns,
124
123
  data,
125
124
  atoms: { pagination: paginationAtom },
@@ -146,7 +145,7 @@ const dataQuery = useQuery({
146
145
 
147
146
  const table = useTable({
148
147
  features: tableFeatures({ rowPaginationFeature }),
149
- rowModels: {}, // can drop paginatedRowModel — server paginates
148
+ // no paginatedRowModel registered — server paginates
150
149
  columns,
151
150
  data: dataQuery.data?.rows ?? EMPTY,
152
151
  rowCount: dataQuery.data?.rowCount, // server tells the table the total
@@ -170,7 +169,9 @@ const paginationAtom = useCreateAtom<PaginationState>({ pageIndex: 0, pageSize:
170
169
  const [pagination, setPagination] = React.useState(...)
171
170
 
172
171
  const table = useTable({
173
- features, rowModels: {...}, columns, data,
172
+ features,
173
+ columns,
174
+ data,
174
175
  state: { pagination }, // ignored
175
176
  onPaginationChange: setPagination,
176
177
  atoms: { pagination: paginationAtom }, // wins
@@ -181,10 +182,15 @@ Correct:
181
182
 
182
183
  ```tsx
183
184
  // pick one ownership path per slice — here, external atoms
184
- const paginationAtom = useCreateAtom<PaginationState>({ pageIndex: 0, pageSize: 10 })
185
+ const paginationAtom = useCreateAtom<PaginationState>({
186
+ pageIndex: 0,
187
+ pageSize: 10,
188
+ })
185
189
 
186
190
  const table = useTable({
187
- features, rowModels: {...}, columns, data,
191
+ features,
192
+ columns,
193
+ data,
188
194
  atoms: { pagination: paginationAtom },
189
195
  })
190
196
  ```
@@ -201,7 +207,6 @@ Wrong:
201
207
  const [sorting, setSorting] = React.useState<SortingState>([])
202
208
  const table = useTable({
203
209
  features,
204
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
205
210
  columns,
206
211
  data,
207
212
  state: { sorting }, // no onSortingChange
@@ -214,7 +219,6 @@ Correct:
214
219
  const [sorting, setSorting] = React.useState<SortingState>([])
215
220
  const table = useTable({
216
221
  features,
217
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
218
222
  columns,
219
223
  data,
220
224
  state: { sorting },
@@ -235,7 +239,6 @@ Wrong:
235
239
  function MyTable({ defaultSort }: { defaultSort: SortingState }) {
236
240
  const table = useTable({
237
241
  features,
238
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
239
242
  columns,
240
243
  data,
241
244
  initialState: { sorting: defaultSort }, // later changes never sync
@@ -250,7 +253,6 @@ function MyTable({ defaultSort }: { defaultSort: SortingState }) {
250
253
  const [sorting, setSorting] = React.useState(defaultSort)
251
254
  const table = useTable({
252
255
  features,
253
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
254
256
  columns,
255
257
  data,
256
258
  state: { sorting },
@@ -268,8 +270,16 @@ Source: docs/framework/vanilla/guide/table-state.md; docs/framework/react/guide/
268
270
  Wrong:
269
271
 
270
272
  ```ts
271
- const paginationAtom = useCreateAtom<PaginationState>({ pageIndex: 0, pageSize: 10 })
272
- const table = useTable({ features, rowModels: {...}, columns, data, atoms: { pagination: paginationAtom } })
273
+ const paginationAtom = useCreateAtom<PaginationState>({
274
+ pageIndex: 0,
275
+ pageSize: 10,
276
+ })
277
+ const table = useTable({
278
+ features,
279
+ columns,
280
+ data,
281
+ atoms: { pagination: paginationAtom },
282
+ })
273
283
 
274
284
  table.baseAtoms.pagination.set((old) => ({ ...old, pageIndex: 0 }))
275
285
  // baseAtom updated, but table.atoms.pagination still reads from paginationAtom
@@ -298,9 +308,9 @@ const dataQuery = useQuery({
298
308
  queryKey: ['data', pagination],
299
309
  queryFn: fetchPage,
300
310
  })
311
+ // features has paginatedRowModel registered
301
312
  const table = useTable({
302
313
  features,
303
- rowModels: { paginatedRowModel: createPaginatedRowModel() },
304
314
  columns,
305
315
  data: dataQuery.data?.rows ?? [],
306
316
  rowCount: dataQuery.data?.rowCount,
@@ -312,9 +322,9 @@ const table = useTable({
312
322
  Correct:
313
323
 
314
324
  ```tsx
325
+ // Use features WITHOUT paginatedRowModel for fully server-side pagination
315
326
  const table = useTable({
316
- features,
317
- rowModels: {}, // drop paginatedRowModel if fully server-side
327
+ features: tableFeatures({ rowPaginationFeature }),
318
328
  columns,
319
329
  data: dataQuery.data?.rows ?? [],
320
330
  rowCount: dataQuery.data?.rowCount,
@@ -335,7 +345,9 @@ Wrong:
335
345
  // external atom keeps its current value; only baseAtoms reset
336
346
  const sortingAtom = useCreateAtom<SortingState>([])
337
347
  const table = useTable({
338
- features, rowModels: {...}, columns, data,
348
+ features,
349
+ columns,
350
+ data,
339
351
  atoms: { sorting: sortingAtom },
340
352
  })
341
353
  table.reset() // sortingAtom is NOT cleared
@@ -369,8 +381,11 @@ Correct:
369
381
 
370
382
  ```ts
371
383
  const table = useTable({
372
- features: tableFeatures({ rowSortingFeature }),
373
- rowModels: { sortedRowModel: createSortedRowModel(sortFns) },
384
+ features: tableFeatures({
385
+ rowSortingFeature,
386
+ sortedRowModel: createSortedRowModel(),
387
+ sortFns,
388
+ }),
374
389
  columns,
375
390
  data,
376
391
  })
@@ -383,6 +398,6 @@ Source: maintainer interview (Phase 4, 2026-05-17)
383
398
 
384
399
  ## See also
385
400
 
386
- - `tanstack-table/setup` — how `features` and `rowModels` are wired
401
+ - `tanstack-table/setup` — how `features` (with row model factory and fn slots) is wired
387
402
  - `tanstack-table/pagination`, `tanstack-table/sorting`, `tanstack-table/filtering` — feature-specific `manual*` and reset semantics
388
403
  - `tanstack-table/migrate-v8-to-v9` — `table.getState()` → `table.store.state` / `table.atoms.<slice>.get()`
@@ -4,46 +4,24 @@ import {
4
4
  cell_getValue,
5
5
  cell_renderValue,
6
6
  } from './coreCellsFeature.utils'
7
- import type { RowData } from '../../types/type-utils'
8
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
9
- // import type { Cell_Cell, TableOptions_Cell } from './coreCellsFeature.types'
10
-
11
- export interface CoreCellsFeatureConstructors<
12
- TFeatures extends TableFeatures,
13
- TData extends RowData,
14
- > {
15
- // Cell: Cell_Cell<TableFeatures, RowData>
16
- // TableOptions: TableOptions_Cell
17
- }
7
+ import type { TableFeature } from '../../types/TableFeatures'
18
8
 
19
9
  /**
20
- * Creates the stock core cells feature.
21
- *
22
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ * Core feature that adds cell value, render, and context APIs.
23
11
  */
24
- export function constructCoreCellsFeature<
25
- TFeatures extends TableFeatures,
26
- TData extends RowData,
27
- >(): TableFeature<CoreCellsFeatureConstructors<TFeatures, TData>> {
28
- return {
29
- assignCellPrototype: (prototype, table) => {
30
- assignPrototypeAPIs('coreCellsFeature', prototype, table, {
31
- cell_getValue: {
32
- fn: (cell) => cell_getValue(cell),
33
- },
34
- cell_renderValue: {
35
- fn: (cell) => cell_renderValue(cell),
36
- },
37
- cell_getContext: {
38
- fn: (cell) => cell_getContext(cell),
39
- memoDeps: (cell) => [cell],
40
- },
41
- })
42
- },
43
- }
12
+ export const coreCellsFeature: TableFeature = {
13
+ assignCellPrototype: (prototype, table) => {
14
+ assignPrototypeAPIs('coreCellsFeature', prototype, table, {
15
+ cell_getValue: {
16
+ fn: (cell) => cell_getValue(cell),
17
+ },
18
+ cell_renderValue: {
19
+ fn: (cell) => cell_renderValue(cell),
20
+ },
21
+ cell_getContext: {
22
+ fn: (cell) => cell_getContext(cell),
23
+ memoDeps: (cell) => [cell],
24
+ },
25
+ })
26
+ },
44
27
  }
45
-
46
- /**
47
- * The Core Cells feature provides the core cell functionality.
48
- */
49
- export const coreCellsFeature = constructCoreCellsFeature()
@@ -6,8 +6,8 @@ import type { Cell } from '../../types/Cell'
6
6
  import type { Column } from '../../types/Column'
7
7
 
8
8
  export interface CellContext<
9
- TFeatures extends TableFeatures,
10
- TData extends RowData,
9
+ in out TFeatures extends TableFeatures,
10
+ in out TData extends RowData,
11
11
  TValue extends CellData = CellData,
12
12
  > {
13
13
  cell: Cell<TFeatures, TData, TValue>
@@ -19,8 +19,8 @@ export interface CellContext<
19
19
  }
20
20
 
21
21
  export interface Cell_CoreProperties<
22
- TFeatures extends TableFeatures,
23
- TData extends RowData,
22
+ in out TFeatures extends TableFeatures,
23
+ in out TData extends RowData,
24
24
  TValue extends CellData = CellData,
25
25
  > {
26
26
  /**
@@ -42,8 +42,8 @@ export interface Cell_CoreProperties<
42
42
  }
43
43
 
44
44
  export interface Cell_Cell<
45
- TFeatures extends TableFeatures,
46
- TData extends RowData,
45
+ in out TFeatures extends TableFeatures,
46
+ in out TData extends RowData,
47
47
  TValue extends CellData = CellData,
48
48
  > extends Cell_CoreProperties<TFeatures, TData, TValue> {
49
49
  /**
@@ -10,91 +10,64 @@ import {
10
10
  table_getColumn,
11
11
  table_getDefaultColumnDef,
12
12
  } from './coreColumnsFeature.utils'
13
- import type { RowData } from '../../types/type-utils'
14
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
15
- // import type {
16
- // Column_Column,
17
- // TableOptions_Columns,
18
- // Table_Columns,
19
- // } from './coreColumnsFeature.types'
20
-
21
- export interface CoreColumnsFeatureConstructors<
22
- TFeatures extends TableFeatures,
23
- TData extends RowData,
24
- > {
25
- // Column: Column_Column<TFeatures, TData>
26
- // Table: Table_Columns<TFeatures, TData>
27
- // TableOptions: TableOptions_Columns<TFeatures, TData>
28
- }
13
+ import type { TableFeature } from '../../types/TableFeatures'
29
14
 
30
15
  /**
31
- * Creates the stock core columns feature.
32
- *
33
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
16
+ * Core feature that builds the column tree and exposes table/column column APIs.
34
17
  */
35
- export function constructCoreColumnsFeature<
36
- TFeatures extends TableFeatures,
37
- TData extends RowData,
38
- >(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {
39
- return {
40
- assignColumnPrototype: (prototype, table) => {
41
- assignPrototypeAPIs('coreColumnsFeature', prototype, table, {
42
- column_getFlatColumns: {
43
- fn: (column) => column_getFlatColumns(column),
44
- memoDeps: (column) => [column.table.options.columns],
45
- },
46
- column_getLeafColumns: {
47
- fn: (column) => column_getLeafColumns(column),
48
- memoDeps: (column) => [
49
- column.table.atoms.columnOrder?.get(),
50
- column.table.atoms.grouping?.get(),
51
- column.table.options.columns,
52
- column.table.options.groupedColumnMode,
53
- ],
54
- },
55
- })
56
- },
18
+ export const coreColumnsFeature: TableFeature = {
19
+ assignColumnPrototype: (prototype, table) => {
20
+ assignPrototypeAPIs('coreColumnsFeature', prototype, table, {
21
+ column_getFlatColumns: {
22
+ fn: (column) => column_getFlatColumns(column),
23
+ memoDeps: (column) => [column.table.options.columns],
24
+ },
25
+ column_getLeafColumns: {
26
+ fn: (column) => column_getLeafColumns(column),
27
+ memoDeps: (column) => [
28
+ column.table.atoms.columnOrder?.get(),
29
+ column.table.atoms.grouping?.get(),
30
+ column.table.options.columns,
31
+ column.table.options.groupedColumnMode,
32
+ ],
33
+ },
34
+ })
35
+ },
57
36
 
58
- constructTableAPIs: (table) => {
59
- assignTableAPIs('coreColumnsFeature', table, {
60
- table_getDefaultColumnDef: {
61
- fn: () => table_getDefaultColumnDef(table),
62
- memoDeps: () => [table.options.defaultColumn],
63
- },
64
- table_getAllColumns: {
65
- fn: () => table_getAllColumns(table),
66
- memoDeps: () => [table.options.columns],
67
- },
68
- table_getAllFlatColumns: {
69
- fn: () => table_getAllFlatColumns(table),
70
- memoDeps: () => [table.options.columns],
71
- },
72
- table_getAllFlatColumnsById: {
73
- fn: () => table_getAllFlatColumnsById(table),
74
- memoDeps: () => [table.options.columns],
75
- },
76
- table_getAllLeafColumns: {
77
- fn: () => table_getAllLeafColumns(table),
78
- memoDeps: () => [
79
- table.atoms.columnOrder?.get(),
80
- table.atoms.grouping?.get(),
81
- table.options.columns,
82
- table.options.groupedColumnMode,
83
- ],
84
- },
85
- table_getAllLeafColumnsById: {
86
- fn: () => table_getAllLeafColumnsById(table),
87
- memoDeps: () => [table.getAllLeafColumns()],
88
- },
89
- table_getColumn: {
90
- fn: (columnId) => table_getColumn(table, columnId),
91
- },
92
- })
93
- },
94
- }
37
+ constructTableAPIs: (table) => {
38
+ assignTableAPIs('coreColumnsFeature', table, {
39
+ table_getDefaultColumnDef: {
40
+ fn: () => table_getDefaultColumnDef(table),
41
+ memoDeps: () => [table.options.defaultColumn],
42
+ },
43
+ table_getAllColumns: {
44
+ fn: () => table_getAllColumns(table),
45
+ memoDeps: () => [table.options.columns],
46
+ },
47
+ table_getAllFlatColumns: {
48
+ fn: () => table_getAllFlatColumns(table),
49
+ memoDeps: () => [table.options.columns],
50
+ },
51
+ table_getAllFlatColumnsById: {
52
+ fn: () => table_getAllFlatColumnsById(table),
53
+ memoDeps: () => [table.options.columns],
54
+ },
55
+ table_getAllLeafColumns: {
56
+ fn: () => table_getAllLeafColumns(table),
57
+ memoDeps: () => [
58
+ table.atoms.columnOrder?.get(),
59
+ table.atoms.grouping?.get(),
60
+ table.options.columns,
61
+ table.options.groupedColumnMode,
62
+ ],
63
+ },
64
+ table_getAllLeafColumnsById: {
65
+ fn: () => table_getAllLeafColumnsById(table),
66
+ memoDeps: () => [table.getAllLeafColumns()],
67
+ },
68
+ table_getColumn: {
69
+ fn: (columnId) => table_getColumn(table, columnId),
70
+ },
71
+ })
72
+ },
95
73
  }
96
-
97
- /**
98
- * The Core Columns feature provides the core column functionality.
99
- */
100
- export const coreColumnsFeature = constructCoreColumnsFeature()
@@ -5,8 +5,8 @@ import type { AccessorFn, ColumnDef } from '../../types/ColumnDef'
5
5
  import type { Column } from '../../types/Column'
6
6
 
7
7
  export interface Column_CoreProperties<
8
- TFeatures extends TableFeatures,
9
- TData extends RowData,
8
+ in out TFeatures extends TableFeatures,
9
+ in out TData extends RowData,
10
10
  TValue extends CellData = CellData,
11
11
  > {
12
12
  /**
@@ -43,8 +43,8 @@ export interface Column_CoreProperties<
43
43
  }
44
44
 
45
45
  export interface Column_Column<
46
- TFeatures extends TableFeatures,
47
- TData extends RowData,
46
+ in out TFeatures extends TableFeatures,
47
+ in out TData extends RowData,
48
48
  TValue extends CellData = CellData,
49
49
  > extends Column_CoreProperties<TFeatures, TData, TValue> {
50
50
  /**
@@ -59,8 +59,8 @@ export interface Column_Column<
59
59
  }
60
60
 
61
61
  export interface TableOptions_Columns<
62
- TFeatures extends TableFeatures,
63
- TData extends RowData,
62
+ in out TFeatures extends TableFeatures,
63
+ in out TData extends RowData,
64
64
  TValue extends CellData = CellData,
65
65
  > {
66
66
  /**
@@ -74,8 +74,8 @@ export interface TableOptions_Columns<
74
74
  }
75
75
 
76
76
  export interface Table_Columns<
77
- TFeatures extends TableFeatures,
78
- TData extends RowData,
77
+ in out TFeatures extends TableFeatures,
78
+ in out TData extends RowData,
79
79
  > {
80
80
  /**
81
81
  * Returns a map of all flat columns by their ID.
@@ -7,7 +7,7 @@ import { coreTablesFeature } from './table/coreTablesFeature'
7
7
  import type { TableReactivityBindings } from '../reactivity'
8
8
 
9
9
  export interface CoreFeatures {
10
- coreReativityFeature?: TableReactivityBindings
10
+ coreReactivityFeature?: TableReactivityBindings
11
11
  coreCellsFeature: typeof coreCellsFeature
12
12
  coreColumnsFeature: typeof coreColumnsFeature
13
13
  coreHeadersFeature: typeof coreHeadersFeature
@@ -60,7 +60,7 @@ export function buildHeaderGroups<
60
60
  depth,
61
61
  id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
62
62
  headers: [],
63
- } as any
63
+ }
64
64
 
65
65
  // The parent columns we're going to scan next
66
66
  const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []
@@ -7,72 +7,50 @@ import {
7
7
  table_getHeaderGroups,
8
8
  table_getLeafHeaders,
9
9
  } from './coreHeadersFeature.utils'
10
- import type { RowData } from '../../types/type-utils'
11
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
12
- // import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'
13
-
14
- export interface CoreHeadersFeatureConstructors<
15
- TFeatures extends TableFeatures,
16
- TData extends RowData,
17
- > {
18
- // Header: Header_Header<TFeatures, TData>
19
- // Table: Table_Headers<TFeatures, TData>
20
- }
10
+ import type { TableFeature } from '../../types/TableFeatures'
21
11
 
22
12
  /**
23
- * Creates the stock core headers feature.
24
- *
25
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
13
+ * Core feature that builds header groups and exposes header context APIs.
26
14
  */
27
- export function constructCoreHeadersFeature<
28
- TFeatures extends TableFeatures,
29
- TData extends RowData,
30
- >(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {
31
- return {
32
- assignHeaderPrototype: (prototype, table) => {
33
- assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
34
- header_getLeafHeaders: {
35
- fn: (header) => header_getLeafHeaders(header),
36
- memoDeps: (header) => [header.column.table.options.columns],
37
- },
38
- header_getContext: {
39
- fn: (header) => header_getContext(header),
40
- memoDeps: (header) => [header.column.table.options.columns],
41
- },
42
- })
43
- },
15
+ export const coreHeadersFeature: TableFeature = {
16
+ assignHeaderPrototype: (prototype, table) => {
17
+ assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
18
+ header_getLeafHeaders: {
19
+ fn: (header) => header_getLeafHeaders(header),
20
+ memoDeps: (header) => [header.column.table.options.columns],
21
+ },
22
+ header_getContext: {
23
+ fn: (header) => header_getContext(header),
24
+ memoDeps: (header) => [header.column.table.options.columns],
25
+ },
26
+ })
27
+ },
44
28
 
45
- constructTableAPIs: (table) => {
46
- assignTableAPIs('coreHeadersFeature', table, {
47
- table_getHeaderGroups: {
48
- fn: () => table_getHeaderGroups(table),
49
- memoDeps: () => [
50
- table.options.columns,
51
- table.atoms.columnOrder?.get(),
52
- table.atoms.grouping?.get(),
53
- table.atoms.columnPinning?.get(),
54
- table.atoms.columnVisibility?.get(),
55
- table.options.groupedColumnMode,
56
- ],
57
- },
58
- table_getFooterGroups: {
59
- fn: () => table_getFooterGroups(table),
60
- memoDeps: () => [table.getHeaderGroups()],
61
- },
62
- table_getFlatHeaders: {
63
- fn: () => table_getFlatHeaders(table),
64
- memoDeps: () => [table.getHeaderGroups()],
65
- },
66
- table_getLeafHeaders: {
67
- fn: () => table_getLeafHeaders(table),
68
- memoDeps: () => [table.getHeaderGroups()],
69
- },
70
- })
71
- },
72
- }
29
+ constructTableAPIs: (table) => {
30
+ assignTableAPIs('coreHeadersFeature', table, {
31
+ table_getHeaderGroups: {
32
+ fn: () => table_getHeaderGroups(table),
33
+ memoDeps: () => [
34
+ table.options.columns,
35
+ table.atoms.columnOrder?.get(),
36
+ table.atoms.grouping?.get(),
37
+ table.atoms.columnPinning?.get(),
38
+ table.atoms.columnVisibility?.get(),
39
+ table.options.groupedColumnMode,
40
+ ],
41
+ },
42
+ table_getFooterGroups: {
43
+ fn: () => table_getFooterGroups(table),
44
+ memoDeps: () => [table.getHeaderGroups()],
45
+ },
46
+ table_getFlatHeaders: {
47
+ fn: () => table_getFlatHeaders(table),
48
+ memoDeps: () => [table.getHeaderGroups()],
49
+ },
50
+ table_getLeafHeaders: {
51
+ fn: () => table_getLeafHeaders(table),
52
+ memoDeps: () => [table.getHeaderGroups()],
53
+ },
54
+ })
55
+ },
73
56
  }
74
-
75
- /**
76
- * The Core Headers feature provides the core header functionality.
77
- */
78
- export const coreHeadersFeature = constructCoreHeadersFeature()
@@ -6,8 +6,8 @@ import type { HeaderGroup } from '../../types/HeaderGroup'
6
6
  import type { Column } from '../../types/Column'
7
7
 
8
8
  export interface Table_Headers<
9
- TFeatures extends TableFeatures,
10
- TData extends RowData,
9
+ in out TFeatures extends TableFeatures,
10
+ in out TData extends RowData,
11
11
  > {
12
12
  /**
13
13
  * Builds the visible header groups for the current column tree, visibility,
@@ -30,8 +30,8 @@ export interface Table_Headers<
30
30
  }
31
31
 
32
32
  export interface HeaderContext<
33
- TFeatures extends TableFeatures,
34
- TData extends RowData,
33
+ in out TFeatures extends TableFeatures,
34
+ in out TData extends RowData,
35
35
  TValue extends CellData = CellData,
36
36
  > {
37
37
  /**
@@ -49,8 +49,8 @@ export interface HeaderContext<
49
49
  }
50
50
 
51
51
  export interface Header_CoreProperties<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData,
52
+ in out TFeatures extends TableFeatures,
53
+ in out TData extends RowData,
54
54
  TValue extends CellData = CellData,
55
55
  > {
56
56
  /**
@@ -100,8 +100,8 @@ export interface Header_CoreProperties<
100
100
  }
101
101
 
102
102
  export interface Header_Header<
103
- TFeatures extends TableFeatures,
104
- TData extends RowData,
103
+ in out TFeatures extends TableFeatures,
104
+ in out TData extends RowData,
105
105
  TValue extends CellData = CellData,
106
106
  > extends Header_CoreProperties<TFeatures, TData, TValue> {
107
107
  /**
@@ -115,8 +115,8 @@ export interface Header_Header<
115
115
  }
116
116
 
117
117
  export interface HeaderGroup_Header<
118
- TFeatures extends TableFeatures,
119
- TData extends RowData,
118
+ in out TFeatures extends TableFeatures,
119
+ in out TData extends RowData,
120
120
  TValue extends CellData = CellData,
121
121
  > {
122
122
  depth: number
@@ -86,7 +86,7 @@ export function table_getHeaderGroups<
86
86
  table,
87
87
  'getVisibleLeafColumns',
88
88
  table_getVisibleLeafColumns,
89
- ) as Array<Column<TFeatures, TData, unknown>>
89
+ )
90
90
 
91
91
  // Fast path: no columns are pinned — skip per-side lookups, partition, and spread.
92
92
  if (!left.length && !right.length) {