@tanstack/table-core 9.0.0-alpha.46 → 9.0.0-alpha.48

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 (339) hide show
  1. package/README.md +10 -0
  2. package/dist/core/cells/constructCell.cjs +4 -3
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.js +4 -3
  5. package/dist/core/cells/constructCell.js.map +1 -1
  6. package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
  7. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
  9. package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
  10. package/dist/core/cells/coreCellsFeature.utils.js +11 -8
  11. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  12. package/dist/core/columns/constructColumn.cjs +6 -4
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.js +6 -4
  15. package/dist/core/columns/constructColumn.js.map +1 -1
  16. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
  17. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
  18. package/dist/core/columns/coreColumnsFeature.utils.cjs +47 -29
  19. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
  21. package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
  22. package/dist/core/columns/coreColumnsFeature.utils.js +47 -29
  23. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  24. package/dist/core/headers/buildHeaderGroups.cjs +27 -19
  25. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  26. package/dist/core/headers/buildHeaderGroups.js +27 -19
  27. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  28. package/dist/core/headers/constructHeader.cjs +4 -3
  29. package/dist/core/headers/constructHeader.cjs.map +1 -1
  30. package/dist/core/headers/constructHeader.js +4 -3
  31. package/dist/core/headers/constructHeader.js.map +1 -1
  32. package/dist/core/headers/coreHeadersFeature.cjs +1 -6
  33. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  34. package/dist/core/headers/coreHeadersFeature.js +2 -7
  35. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  36. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
  37. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
  38. package/dist/core/headers/coreHeadersFeature.utils.cjs +43 -36
  39. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  40. package/dist/core/headers/coreHeadersFeature.utils.d.cts +24 -19
  41. package/dist/core/headers/coreHeadersFeature.utils.d.ts +24 -19
  42. package/dist/core/headers/coreHeadersFeature.utils.js +44 -37
  43. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  44. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  45. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  46. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
  47. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  48. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
  49. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
  50. package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
  51. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  52. package/dist/core/rows/constructRow.cjs +8 -6
  53. package/dist/core/rows/constructRow.cjs.map +1 -1
  54. package/dist/core/rows/constructRow.js +8 -6
  55. package/dist/core/rows/constructRow.js.map +1 -1
  56. package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
  57. package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
  58. package/dist/core/rows/coreRowsFeature.utils.cjs +43 -32
  59. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  60. package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
  61. package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
  62. package/dist/core/rows/coreRowsFeature.utils.js +43 -32
  63. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  64. package/dist/core/table/constructTable.cjs +9 -5
  65. package/dist/core/table/constructTable.cjs.map +1 -1
  66. package/dist/core/table/constructTable.js +9 -5
  67. package/dist/core/table/constructTable.js.map +1 -1
  68. package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
  69. package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
  70. package/dist/core/table/coreTablesFeature.utils.cjs +7 -3
  71. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  72. package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
  73. package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
  74. package/dist/core/table/coreTablesFeature.utils.js +7 -3
  75. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  76. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
  77. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
  78. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
  79. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  80. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
  81. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
  82. package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
  83. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  84. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +8 -5
  85. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  86. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  87. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  88. package/dist/features/column-faceting/createFacetedRowModel.cjs +8 -3
  89. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  90. package/dist/features/column-faceting/createFacetedRowModel.js +8 -3
  91. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  92. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +7 -4
  93. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  94. package/dist/features/column-faceting/createFacetedUniqueValues.js +7 -4
  95. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  96. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
  97. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
  98. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
  99. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  100. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
  101. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
  102. package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
  103. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  104. package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -5
  105. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  106. package/dist/features/column-filtering/createFilteredRowModel.js +11 -5
  107. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  108. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
  109. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
  110. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
  111. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  112. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
  113. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
  114. package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
  115. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  116. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
  117. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
  118. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +46 -29
  119. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  120. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
  121. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
  122. package/dist/features/column-ordering/columnOrderingFeature.utils.js +46 -29
  123. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  124. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
  125. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
  126. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +152 -115
  127. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  128. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +116 -95
  129. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +116 -95
  130. package/dist/features/column-pinning/columnPinningFeature.utils.js +153 -116
  131. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  132. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
  133. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
  134. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
  135. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  136. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
  137. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
  138. package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
  139. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  140. package/dist/features/column-sizing/columnSizingFeature.cjs +28 -4
  141. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  142. package/dist/features/column-sizing/columnSizingFeature.js +28 -4
  143. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  144. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
  145. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
  146. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
  147. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  148. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
  149. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
  150. package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
  151. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  152. package/dist/features/column-visibility/columnVisibilityFeature.cjs +23 -14
  153. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  154. package/dist/features/column-visibility/columnVisibilityFeature.js +24 -15
  155. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  156. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +19 -12
  157. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +19 -12
  158. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +91 -52
  159. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  160. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +63 -40
  161. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +63 -40
  162. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +91 -53
  163. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  164. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
  165. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
  166. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
  167. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  168. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
  169. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
  170. package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
  171. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  172. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
  173. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
  174. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +58 -43
  175. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  176. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
  177. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
  178. package/dist/features/row-expanding/rowExpandingFeature.utils.js +58 -43
  179. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  180. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
  181. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
  182. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
  183. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  184. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
  185. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
  186. package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
  187. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  188. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
  189. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
  190. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +52 -36
  191. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  192. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
  193. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
  194. package/dist/features/row-pinning/rowPinningFeature.utils.js +52 -36
  195. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  196. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
  197. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
  198. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +95 -72
  199. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  200. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
  201. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
  202. package/dist/features/row-selection/rowSelectionFeature.utils.js +95 -72
  203. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  204. package/dist/features/row-sorting/createSortedRowModel.cjs +13 -8
  205. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  206. package/dist/features/row-sorting/createSortedRowModel.js +13 -8
  207. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  208. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
  209. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
  210. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +63 -46
  211. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  212. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
  213. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
  214. package/dist/features/row-sorting/rowSortingFeature.utils.js +63 -46
  215. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  216. package/dist/fns/aggregationFns.cjs +47 -16
  217. package/dist/fns/aggregationFns.cjs.map +1 -1
  218. package/dist/fns/aggregationFns.d.cts +33 -9
  219. package/dist/fns/aggregationFns.d.ts +33 -9
  220. package/dist/fns/aggregationFns.js +47 -17
  221. package/dist/fns/aggregationFns.js.map +1 -1
  222. package/dist/fns/filterFns.cjs +48 -17
  223. package/dist/fns/filterFns.cjs.map +1 -1
  224. package/dist/fns/filterFns.d.cts +42 -15
  225. package/dist/fns/filterFns.d.ts +42 -15
  226. package/dist/fns/filterFns.js +48 -17
  227. package/dist/fns/filterFns.js.map +1 -1
  228. package/dist/helpers/columnHelper.cjs +9 -4
  229. package/dist/helpers/columnHelper.cjs.map +1 -1
  230. package/dist/helpers/columnHelper.d.cts +9 -4
  231. package/dist/helpers/columnHelper.d.ts +9 -4
  232. package/dist/helpers/columnHelper.js +9 -4
  233. package/dist/helpers/columnHelper.js.map +1 -1
  234. package/dist/helpers/tableOptions.cjs.map +1 -1
  235. package/dist/helpers/tableOptions.d.cts +12 -9
  236. package/dist/helpers/tableOptions.d.ts +12 -9
  237. package/dist/helpers/tableOptions.js.map +1 -1
  238. package/dist/index.cjs +0 -4
  239. package/dist/index.d.cts +2 -2
  240. package/dist/index.d.ts +2 -2
  241. package/dist/index.js +2 -2
  242. package/dist/static-functions.cjs +1 -0
  243. package/dist/static-functions.d.cts +2 -2
  244. package/dist/static-functions.d.ts +2 -2
  245. package/dist/static-functions.js +2 -2
  246. package/dist/store-reactivity-bindings.cjs +1 -0
  247. package/dist/store-reactivity-bindings.cjs.map +1 -1
  248. package/dist/store-reactivity-bindings.js +1 -0
  249. package/dist/store-reactivity-bindings.js.map +1 -1
  250. package/dist/types/ColumnDef.d.cts +38 -0
  251. package/dist/types/ColumnDef.d.ts +38 -0
  252. package/dist/types/TableOptions.d.cts +15 -0
  253. package/dist/types/TableOptions.d.ts +15 -0
  254. package/dist/types/TableState.d.cts +12 -0
  255. package/dist/types/TableState.d.ts +12 -0
  256. package/dist/utils.cjs +18 -39
  257. package/dist/utils.cjs.map +1 -1
  258. package/dist/utils.d.cts +1 -23
  259. package/dist/utils.d.ts +1 -23
  260. package/dist/utils.js +19 -36
  261. package/dist/utils.js.map +1 -1
  262. package/package.json +5 -3
  263. package/skills/column-definitions/SKILL.md +333 -0
  264. package/skills/column-layout/SKILL.md +328 -0
  265. package/skills/column-layout/references/subsystems.md +220 -0
  266. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  267. package/skills/filtering/SKILL.md +357 -0
  268. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  269. package/skills/grouping/SKILL.md +448 -0
  270. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  271. package/skills/pagination/SKILL.md +385 -0
  272. package/skills/row-expanding/SKILL.md +348 -0
  273. package/skills/row-pinning/SKILL.md +269 -0
  274. package/skills/row-selection/SKILL.md +391 -0
  275. package/skills/setup/SKILL.md +400 -0
  276. package/skills/sorting/SKILL.md +344 -0
  277. package/skills/state-management/SKILL.md +388 -0
  278. package/src/core/cells/constructCell.ts +3 -2
  279. package/src/core/cells/coreCellsFeature.utils.ts +11 -8
  280. package/src/core/columns/constructColumn.ts +5 -3
  281. package/src/core/columns/coreColumnsFeature.types.ts +7 -6
  282. package/src/core/columns/coreColumnsFeature.utils.ts +43 -29
  283. package/src/core/headers/buildHeaderGroups.ts +29 -30
  284. package/src/core/headers/constructHeader.ts +3 -2
  285. package/src/core/headers/coreHeadersFeature.ts +2 -27
  286. package/src/core/headers/coreHeadersFeature.types.ts +6 -4
  287. package/src/core/headers/coreHeadersFeature.utils.ts +52 -61
  288. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  289. package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
  290. package/src/core/rows/constructRow.ts +6 -4
  291. package/src/core/rows/coreRowsFeature.types.ts +4 -4
  292. package/src/core/rows/coreRowsFeature.utils.ts +45 -32
  293. package/src/core/table/constructTable.ts +6 -4
  294. package/src/core/table/coreTablesFeature.types.ts +6 -2
  295. package/src/core/table/coreTablesFeature.utils.ts +5 -3
  296. package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
  297. package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
  298. package/src/features/column-faceting/createFacetedMinMaxValues.ts +8 -10
  299. package/src/features/column-faceting/createFacetedRowModel.ts +10 -6
  300. package/src/features/column-faceting/createFacetedUniqueValues.ts +4 -3
  301. package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
  302. package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
  303. package/src/features/column-filtering/createFilteredRowModel.ts +14 -8
  304. package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
  305. package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
  306. package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
  307. package/src/features/column-ordering/columnOrderingFeature.utils.ts +44 -29
  308. package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
  309. package/src/features/column-pinning/columnPinningFeature.utils.ts +164 -128
  310. package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
  311. package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
  312. package/src/features/column-sizing/columnSizingFeature.ts +16 -0
  313. package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
  314. package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
  315. package/src/features/column-visibility/columnVisibilityFeature.ts +8 -0
  316. package/src/features/column-visibility/columnVisibilityFeature.types.ts +22 -12
  317. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +101 -56
  318. package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
  319. package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
  320. package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
  321. package/src/features/row-expanding/rowExpandingFeature.utils.ts +58 -43
  322. package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
  323. package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
  324. package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
  325. package/src/features/row-pinning/rowPinningFeature.utils.ts +59 -47
  326. package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
  327. package/src/features/row-selection/rowSelectionFeature.utils.ts +109 -88
  328. package/src/features/row-sorting/createSortedRowModel.ts +16 -13
  329. package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
  330. package/src/features/row-sorting/rowSortingFeature.utils.ts +63 -46
  331. package/src/fns/aggregationFns.ts +53 -17
  332. package/src/fns/filterFns.ts +48 -17
  333. package/src/helpers/columnHelper.ts +9 -4
  334. package/src/helpers/tableOptions.ts +12 -9
  335. package/src/store-reactivity-bindings.ts +1 -0
  336. package/src/types/ColumnDef.ts +38 -0
  337. package/src/types/TableOptions.ts +15 -0
  338. package/src/types/TableState.ts +12 -0
  339. package/src/utils.ts +19 -46
@@ -5,13 +5,14 @@ import type { Table_Internal } from '../../types/Table'
5
5
  import type { Column_Internal } from '../../types/Column'
6
6
 
7
7
  /**
8
- * Returns faceted min max values for a column.
8
+ * Computes min and max numeric facet values for one column.
9
9
  *
10
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
10
+ * The configured `facetedMinMaxValues` row-model factory owns the calculation.
11
+ * If no factory is registered, the result is `undefined`.
11
12
  *
12
13
  * @example
13
14
  * ```ts
14
- * const value = column_getFacetedMinMaxValues(column)
15
+ * const range = column_getFacetedMinMaxValues(column, table)
15
16
  * ```
16
17
  */
17
18
  export function column_getFacetedMinMaxValues<
@@ -29,13 +30,15 @@ export function column_getFacetedMinMaxValues<
29
30
  }
30
31
 
31
32
  /**
32
- * Returns faceted row model for a column.
33
+ * Computes the row model used to derive one column's facet values.
33
34
  *
34
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
35
+ * The faceted row model normally applies every other active filter while
36
+ * excluding this column's own filter. If no factory is registered, the
37
+ * pre-filtered row model is returned.
35
38
  *
36
39
  * @example
37
40
  * ```ts
38
- * const value = column_getFacetedRowModel(column)
41
+ * const rows = column_getFacetedRowModel(column, table)
39
42
  * ```
40
43
  */
41
44
  export function column_getFacetedRowModel<
@@ -53,13 +56,14 @@ export function column_getFacetedRowModel<
53
56
  }
54
57
 
55
58
  /**
56
- * Returns faceted unique values for a column.
59
+ * Computes unique facet values and their occurrence counts for one column.
57
60
  *
58
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
61
+ * The configured `facetedUniqueValues` row-model factory owns the calculation.
62
+ * If no factory is registered, an empty `Map` is returned.
59
63
  *
60
64
  * @example
61
65
  * ```ts
62
- * const value = column_getFacetedUniqueValues(column)
66
+ * const values = column_getFacetedUniqueValues(column, table)
63
67
  * ```
64
68
  */
65
69
  export function column_getFacetedUniqueValues<
@@ -77,13 +81,14 @@ export function column_getFacetedUniqueValues<
77
81
  }
78
82
 
79
83
  /**
80
- * Returns global faceted min max values for the table.
84
+ * Computes min and max numeric facet values for the global filter context.
81
85
  *
82
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
86
+ * The global context is requested with the internal `__global__` column id. If
87
+ * no factory is registered, the result is `undefined`.
83
88
  *
84
89
  * @example
85
90
  * ```ts
86
- * const value = table_getGlobalFacetedMinMaxValues(table)
91
+ * const range = table_getGlobalFacetedMinMaxValues(table)
87
92
  * ```
88
93
  */
89
94
  export function table_getGlobalFacetedMinMaxValues<
@@ -97,13 +102,15 @@ export function table_getGlobalFacetedMinMaxValues<
97
102
  }
98
103
 
99
104
  /**
100
- * Returns global faceted row model for the table.
105
+ * Computes the row model used to derive global facet values.
101
106
  *
102
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
107
+ * The global context is requested with the internal `__global__` column id. If
108
+ * no faceted row-model factory is registered, the pre-filtered row model is
109
+ * returned.
103
110
  *
104
111
  * @example
105
112
  * ```ts
106
- * const value = table_getGlobalFacetedRowModel(table)
113
+ * const rows = table_getGlobalFacetedRowModel(table)
107
114
  * ```
108
115
  */
109
116
  export function table_getGlobalFacetedRowModel<
@@ -117,13 +124,14 @@ export function table_getGlobalFacetedRowModel<
117
124
  }
118
125
 
119
126
  /**
120
- * Returns global faceted unique values for the table.
127
+ * Computes unique values and occurrence counts for the global filter context.
121
128
  *
122
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
129
+ * The global context is requested with the internal `__global__` column id. If
130
+ * no factory is registered, an empty `Map` is returned.
123
131
  *
124
132
  * @example
125
133
  * ```ts
126
- * const value = table_getGlobalFacetedUniqueValues(table)
134
+ * const values = table_getGlobalFacetedUniqueValues(table)
127
135
  * ```
128
136
  */
129
137
  export function table_getGlobalFacetedUniqueValues<
@@ -49,20 +49,18 @@ function _createFacetedMinMaxValues<
49
49
  ): undefined | [number, number] {
50
50
  if (!flatRows.length) return undefined
51
51
 
52
- const numericValues = flatRows
53
- .map((flatRow) => flatRow.getValue(columnId))
54
- .map(Number)
55
- .filter((value) => !Number.isNaN(value))
52
+ let facetedMinValue = Number.POSITIVE_INFINITY
53
+ let facetedMaxValue = Number.NEGATIVE_INFINITY
54
+ let foundAny = false
56
55
 
57
- if (!numericValues.length) return undefined
58
-
59
- let facetedMinValue = numericValues[0]!
60
- let facetedMaxValue = numericValues[0]!
61
-
62
- for (const value of numericValues) {
56
+ for (let i = 0; i < flatRows.length; i++) {
57
+ const value = Number(flatRows[i]!.getValue(columnId))
58
+ if (Number.isNaN(value)) continue
59
+ foundAny = true
63
60
  if (value < facetedMinValue) facetedMinValue = value
64
61
  if (value > facetedMaxValue) facetedMaxValue = value
65
62
  }
66
63
 
64
+ if (!foundAny) return undefined
67
65
  return [facetedMinValue, facetedMaxValue]
68
66
  }
@@ -60,17 +60,21 @@ function _createFacetedRowModel<
60
60
  return preRowModel
61
61
  }
62
62
 
63
- const filterableIds = [
64
- ...(columnFilters?.map((d) => d.id).filter((d) => d !== columnId) ?? []),
65
- globalFilter ? '__global__' : undefined,
66
- ].filter(Boolean) as Array<string>
63
+ const filterableIds: Array<string> = []
64
+ if (columnFilters) {
65
+ for (let i = 0; i < columnFilters.length; i++) {
66
+ const id = columnFilters[i]!.id
67
+ if (id !== columnId) filterableIds.push(id)
68
+ }
69
+ }
70
+ if (globalFilter) filterableIds.push('__global__')
67
71
 
68
72
  const filterRowsImpl = (
69
73
  row: Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>,
70
74
  ) => {
71
75
  // Horizontally filter rows through each column
72
- for (const colId of filterableIds) {
73
- if (row.columnFilters?.[colId] === false) {
76
+ for (let i = 0; i < filterableIds.length; i++) {
77
+ if (row.columnFilters?.[filterableIds[i]!] === false) {
74
78
  return false
75
79
  }
76
80
  }
@@ -46,10 +46,11 @@ function _createFacetedUniqueValues<
46
46
  >(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {
47
47
  const facetedUniqueValues = new Map<any, number>()
48
48
 
49
- for (const row of flatRows) {
50
- const values = row.getUniqueValues(columnId)
49
+ for (let i = 0; i < flatRows.length; i++) {
50
+ const values = flatRows[i]!.getUniqueValues(columnId)
51
51
 
52
- for (const value of values) {
52
+ for (let j = 0; j < values.length; j++) {
53
+ const value = values[j]
53
54
  if (facetedUniqueValues.has(value)) {
54
55
  facetedUniqueValues.set(
55
56
  value,
@@ -83,7 +83,10 @@ export interface ColumnDef_ColumnFiltering<
83
83
  TData extends RowData,
84
84
  > {
85
85
  /**
86
- * Enables/disables the **column** filter for this column.
86
+ * Enables this column to participate in column-specific filtering.
87
+ *
88
+ * Defaults to `true`; table-level `enableColumnFilters` and `enableFilters`
89
+ * must also allow filtering.
87
90
  */
88
91
  enableColumnFilter?: boolean
89
92
  /**
@@ -101,7 +104,7 @@ export interface Column_ColumnFiltering<
101
104
  */
102
105
  getAutoFilterFn: () => FilterFn<TFeatures, TData>
103
106
  /**
104
- * Returns whether or not the column can be **column** filtered.
107
+ * Checks whether this accessor column can currently be column-filtered.
105
108
  */
106
109
  getCanFilter: () => boolean
107
110
  /**
@@ -113,15 +116,18 @@ export interface Column_ColumnFiltering<
113
116
  */
114
117
  getFilterIndex: () => number
115
118
  /**
116
- * Returns the current filter value for the column.
119
+ * Reads this column's current value from `state.columnFilters`.
117
120
  */
118
121
  getFilterValue: () => unknown
119
122
  /**
120
- * Returns whether or not the column is currently filtered.
123
+ * Checks whether this column has an active entry in `state.columnFilters`.
121
124
  */
122
125
  getIsFiltered: () => boolean
123
126
  /**
124
- * A function that sets the current filter value for the column. You can pass it a value or an updater function for immutability-safe operations on existing values.
127
+ * Adds, updates, or removes this column's filter value.
128
+ *
129
+ * Updater functions receive the previous filter value. Values that satisfy
130
+ * the filter function's `autoRemove` rule are removed from filter state.
125
131
  */
126
132
  setFilterValue: (updater: Updater<any>) => void
127
133
  }
@@ -145,11 +151,13 @@ export interface TableOptions_ColumnFiltering<
145
151
  TData extends RowData,
146
152
  > {
147
153
  /**
148
- * Enables/disables **column** filtering for all columns.
154
+ * Enables column-specific filtering for all columns that also allow it.
149
155
  */
150
156
  enableColumnFilters?: boolean
151
157
  /**
152
- * Enables/disables all filtering for the table.
158
+ * Enables all filtering features for the table.
159
+ *
160
+ * Set this to `false` to disable both column filtering and global filtering.
153
161
  */
154
162
  enableFilters?: boolean
155
163
  /**
@@ -176,11 +184,13 @@ export interface TableOptions_ColumnFiltering<
176
184
 
177
185
  export interface Table_ColumnFiltering {
178
186
  /**
179
- * Resets the **columnFilters** state to `initialState.columnFilters`, or `true` can be passed to force a default blank state reset to `[]`.
187
+ * Resets `columnFilters` to `initialState.columnFilters`.
188
+ *
189
+ * Pass `true` to ignore initial state and reset to `[]`.
180
190
  */
181
191
  resetColumnFilters: (defaultState?: boolean) => void
182
192
  /**
183
- * Sets column filter state using a value or updater.
193
+ * Updates column filter state with a next array or updater function.
184
194
  */
185
195
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
186
196
  }
@@ -190,11 +200,11 @@ export interface Table_RowModels_Filtered<
190
200
  TData extends RowData,
191
201
  > {
192
202
  /**
193
- * Returns the row model for the table after **column** filtering has been applied.
203
+ * Resolves the row model after column and global filters have been applied.
194
204
  */
195
205
  getFilteredRowModel: () => RowModel<TFeatures, TData>
196
206
  /**
197
- * Returns the row model for the table before any **column** filtering has been applied.
207
+ * Reads the row model immediately before filtering.
198
208
  */
199
209
  getPreFilteredRowModel: () => RowModel<TFeatures, TData>
200
210
  }
@@ -9,13 +9,14 @@ import type {
9
9
  } from './columnFilteringFeature.types'
10
10
 
11
11
  /**
12
- * Returns the default column filters state.
12
+ * Creates the default column filter state.
13
13
  *
14
- * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
14
+ * The feature default is an empty array, meaning no column filters are active.
15
+ * Reset APIs use this value when `defaultState` is `true`.
15
16
  *
16
17
  * @example
17
18
  * ```ts
18
- * const initialValue = getDefaultColumnFiltersState()
19
+ * const filters = getDefaultColumnFiltersState()
19
20
  * ```
20
21
  */
21
22
  export function getDefaultColumnFiltersState(): ColumnFiltersState {
@@ -23,13 +24,15 @@ export function getDefaultColumnFiltersState(): ColumnFiltersState {
23
24
  }
24
25
 
25
26
  /**
26
- * Infers filter fn for a column.
27
+ * Chooses a built-in filter function from the column's first core row value.
27
28
  *
28
- * The inference uses the column definition, table options, and sampled row values when needed.
29
+ * Strings use `includesString`, numbers use `inNumberRange`, booleans and
30
+ * objects use `equals`, arrays use `arrIncludes`, and unknown values fall back
31
+ * to `weakEquals`.
29
32
  *
30
33
  * @example
31
34
  * ```ts
32
- * const value = column_getAutoFilterFn(column)
35
+ * const filterFn = column_getAutoFilterFn(column)
33
36
  * ```
34
37
  */
35
38
  export function column_getAutoFilterFn<
@@ -68,13 +71,15 @@ export function column_getAutoFilterFn<
68
71
  }
69
72
 
70
73
  /**
71
- * Returns filter fn for a column.
74
+ * Resolves the filter function configured for a column.
72
75
  *
73
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
76
+ * Function-valued `columnDef.filterFn` is returned directly, `'auto'` delegates
77
+ * to `column_getAutoFilterFn`, and string values are looked up in the table's
78
+ * filter function registry.
74
79
  *
75
80
  * @example
76
81
  * ```ts
77
- * const value = column_getFilterFn(column)
82
+ * const filterFn = column_getFilterFn(column)
78
83
  * ```
79
84
  */
80
85
  export function column_getFilterFn<
@@ -103,13 +108,14 @@ export function column_getFilterFn<
103
108
  }
104
109
 
105
110
  /**
106
- * Returns whether a column can use filter.
111
+ * Checks whether column filtering is enabled for this accessor column.
107
112
  *
108
- * This combines column options, table options, and any required accessor or feature state for the capability.
113
+ * The column must have an accessor and filtering must be enabled by the column
114
+ * definition, `enableColumnFilters`, and the table-wide `enableFilters` option.
109
115
  *
110
116
  * @example
111
117
  * ```ts
112
- * const value = column_getCanFilter(column)
118
+ * const canFilter = column_getCanFilter(column)
113
119
  * ```
114
120
  */
115
121
  export function column_getCanFilter<
@@ -126,13 +132,14 @@ export function column_getCanFilter<
126
132
  }
127
133
 
128
134
  /**
129
- * Returns is filtered for a column.
135
+ * Checks whether this column currently has an entry in `state.columnFilters`.
130
136
  *
131
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
137
+ * This only reflects filter state presence; it does not indicate whether the
138
+ * filter removes any rows.
132
139
  *
133
140
  * @example
134
141
  * ```ts
135
- * const value = column_getIsFiltered(column)
142
+ * const isFiltered = column_getIsFiltered(column)
136
143
  * ```
137
144
  */
138
145
  export function column_getIsFiltered<
@@ -144,9 +151,9 @@ export function column_getIsFiltered<
144
151
  }
145
152
 
146
153
  /**
147
- * Returns filter value for a column.
154
+ * Reads this column's current filter value from `state.columnFilters`.
148
155
  *
149
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
156
+ * Missing filter entries return `undefined`.
150
157
  *
151
158
  * @example
152
159
  * ```ts
@@ -164,13 +171,13 @@ export function column_getFilterValue<
164
171
  }
165
172
 
166
173
  /**
167
- * Returns filter index for a column.
174
+ * Finds this column's position in the ordered `state.columnFilters` array.
168
175
  *
169
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
176
+ * The result is `-1` when the column has no active filter.
170
177
  *
171
178
  * @example
172
179
  * ```ts
173
- * const value = column_getFilterIndex(column)
180
+ * const index = column_getFilterIndex(column)
174
181
  * ```
175
182
  */
176
183
  export function column_getFilterIndex<
@@ -186,13 +193,14 @@ export function column_getFilterIndex<
186
193
  }
187
194
 
188
195
  /**
189
- * Updates filter value for a column.
196
+ * Adds, updates, or removes this column's filter value.
190
197
  *
191
- * This delegates to the owning table state updater so external state, external atoms, and internal state stay synchronized.
198
+ * The incoming value may be an updater. After resolution, `autoRemove` rules
199
+ * decide whether the filter should be removed instead of stored.
192
200
  *
193
201
  * @example
194
202
  * ```ts
195
- * column_setFilterValue(column, (old) => old)
203
+ * column_setFilterValue(column, (old) => String(old ?? '').trim())
196
204
  * ```
197
205
  */
198
206
  export function column_setFilterValue<
@@ -233,13 +241,15 @@ export function column_setFilterValue<
233
241
  }
234
242
 
235
243
  /**
236
- * Updates the table's column filters state slice.
244
+ * Routes a column filter updater through the table's filter change handler.
237
245
  *
238
- * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
246
+ * The resolved filters are cleaned before they are emitted: filters for known
247
+ * columns are removed when their filter function says the value should be
248
+ * auto-removed.
239
249
  *
240
250
  * @example
241
251
  * ```ts
242
- * table_setColumnFilters(table, (old) => old)
252
+ * table_setColumnFilters(table, (old) => old.filter((filter) => filter.id !== 'age'))
243
253
  * ```
244
254
  */
245
255
  export function table_setColumnFilters<
@@ -271,9 +281,10 @@ export function table_setColumnFilters<
271
281
  }
272
282
 
273
283
  /**
274
- * Resets the table's column filters state slice.
284
+ * Resets `columnFilters` to the configured initial state or feature default.
275
285
  *
276
- * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
286
+ * With no argument, the reset clones `table.initialState.columnFilters` when it
287
+ * exists. Passing `true` ignores initial state and resets to `[]`.
277
288
  *
278
289
  * @example
279
290
  * ```ts
@@ -57,9 +57,11 @@ function _createFilteredRowModel<
57
57
  const globalFilter = table.atoms.globalFilter?.get()
58
58
 
59
59
  if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {
60
- for (const row of rowModel.flatRows as Array<
60
+ const flatRows = rowModel.flatRows as Array<
61
61
  Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
62
- >) {
62
+ >
63
+ for (let i = 0; i < flatRows.length; i++) {
64
+ const row = flatRows[i]!
63
65
  row.columnFilters = {}
64
66
  row.columnFiltersMeta = {}
65
67
  }
@@ -110,13 +112,16 @@ function _createFilteredRowModel<
110
112
  }
111
113
 
112
114
  // Flag the pre-filtered row model with each filter state
113
- for (const row of rowModel.flatRows as Array<
115
+ const flatRows = rowModel.flatRows as Array<
114
116
  Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
115
- >) {
117
+ >
118
+ for (let i = 0; i < flatRows.length; i++) {
119
+ const row = flatRows[i]!
116
120
  row.columnFilters = {}
117
121
 
118
122
  if (resolvedColumnFilters.length) {
119
- for (const currentColumnFilter of resolvedColumnFilters) {
123
+ for (let j = 0; j < resolvedColumnFilters.length; j++) {
124
+ const currentColumnFilter = resolvedColumnFilters[j]!
120
125
  const id = currentColumnFilter.id
121
126
 
122
127
  // Tag the row with the column filter state
@@ -134,7 +139,8 @@ function _createFilteredRowModel<
134
139
  }
135
140
 
136
141
  if (resolvedGlobalFilters.length) {
137
- for (const currentGlobalFilter of resolvedGlobalFilters) {
142
+ for (let j = 0; j < resolvedGlobalFilters.length; j++) {
143
+ const currentGlobalFilter = resolvedGlobalFilters[j]!
138
144
  const id = currentGlobalFilter.id
139
145
  // Tag the row with the first truthy global filter state
140
146
  if (
@@ -164,8 +170,8 @@ function _createFilteredRowModel<
164
170
  row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,
165
171
  ) => {
166
172
  // Horizontally filter rows through each column
167
- for (const columnId of filterableIds) {
168
- if (row.columnFilters[columnId] === false) {
173
+ for (let i = 0; i < filterableIds.length; i++) {
174
+ if (row.columnFilters[filterableIds[i]!] === false) {
169
175
  return false
170
176
  }
171
177
  }
@@ -66,7 +66,9 @@ export interface ColumnDef_ColumnGrouping<
66
66
  */
67
67
  aggregationFn?: AggregationFnOption<TFeatures, TData>
68
68
  /**
69
- * Enables/disables grouping for this column.
69
+ * Allows this column to be added to grouping state.
70
+ *
71
+ * Defaults to `true`; table-level `enableGrouping` must also allow grouping.
70
72
  */
71
73
  enableGrouping?: boolean
72
74
  /**
@@ -88,15 +90,15 @@ export interface Column_ColumnGrouping<
88
90
  */
89
91
  getAutoAggregationFn: () => AggregationFn<TFeatures, TData> | undefined
90
92
  /**
91
- * Returns whether or not the column can be grouped.
93
+ * Checks whether this column can currently be grouped.
92
94
  */
93
95
  getCanGroup: () => boolean
94
96
  /**
95
- * Returns the index of the column in the grouping state.
97
+ * Finds this column's position in the ordered grouping state.
96
98
  */
97
99
  getGroupedIndex: () => number
98
100
  /**
99
- * Returns whether or not the column is currently grouped.
101
+ * Checks whether this column id is present in grouping state.
100
102
  */
101
103
  getIsGrouped: () => boolean
102
104
  /**
@@ -112,11 +114,11 @@ export interface Column_ColumnGrouping<
112
114
  export interface Row_ColumnGrouping {
113
115
  _groupingValuesCache: Record<string, any>
114
116
  /**
115
- * Returns the grouping value for any row and column (including leaf rows).
117
+ * Reads the value used to group this row for a column id.
116
118
  */
117
119
  getGroupingValue: (columnId: string) => unknown
118
120
  /**
119
- * Returns whether or not the row is currently grouped.
121
+ * Checks whether this row represents a grouped row.
120
122
  */
121
123
  getIsGrouped: () => boolean
122
124
  /**
@@ -131,15 +133,15 @@ export interface Row_ColumnGrouping {
131
133
 
132
134
  export interface Cell_ColumnGrouping {
133
135
  /**
134
- * Returns whether or not the cell is currently aggregated.
136
+ * Checks whether this cell should render an aggregated value.
135
137
  */
136
138
  getIsAggregated: () => boolean
137
139
  /**
138
- * Returns whether or not the cell is currently grouped.
140
+ * Checks whether this cell represents the active grouping column.
139
141
  */
140
142
  getIsGrouped: () => boolean
141
143
  /**
142
- * Returns whether or not the cell is currently a placeholder cell.
144
+ * Checks whether this cell is hidden as a grouping placeholder.
143
145
  */
144
146
  getIsPlaceholder: () => boolean
145
147
  }
@@ -151,7 +153,7 @@ export interface ColumnDefaultOptions {
151
153
 
152
154
  export interface TableOptions_ColumnGrouping {
153
155
  /**
154
- * Enables/disables grouping for the table.
156
+ * Allows columns to be grouped for this table.
155
157
  */
156
158
  enableGrouping?: boolean
157
159
  /**
@@ -177,11 +179,13 @@ export interface Table_ColumnGrouping<
177
179
  TData extends RowData,
178
180
  > {
179
181
  /**
180
- * Resets the **grouping** state to `initialState.grouping`, or `true` can be passed to force a default blank state reset to `[]`.
182
+ * Resets `grouping` to `initialState.grouping`.
183
+ *
184
+ * Pass `true` to ignore initial state and reset to `[]`.
181
185
  */
182
186
  resetGrouping: (defaultState?: boolean) => void
183
187
  /**
184
- * Sets grouping state using a value or updater.
188
+ * Updates grouping state with a next ordered id array or updater function.
185
189
  */
186
190
  setGrouping: (updater: Updater<GroupingState>) => void
187
191
  }
@@ -191,11 +195,11 @@ export interface Table_RowModels_Grouped<
191
195
  TData extends RowData,
192
196
  > {
193
197
  /**
194
- * Returns the row model for the table after grouping has been applied.
198
+ * Resolves the row model after grouping and aggregation have been applied.
195
199
  */
196
200
  getGroupedRowModel: () => RowModel<TFeatures, TData>
197
201
  /**
198
- * Returns the row model for the table before any grouping has been applied.
202
+ * Reads the row model immediately before grouping.
199
203
  */
200
204
  getPreGroupedRowModel: () => RowModel<TFeatures, TData>
201
205
  }