@tanstack/table-core 9.0.0-alpha.43 → 9.0.0-alpha.47

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 (528) hide show
  1. package/dist/core/cells/constructCell.cjs +9 -3
  2. package/dist/core/cells/constructCell.cjs.map +1 -1
  3. package/dist/core/cells/constructCell.d.cts +5 -0
  4. package/dist/core/cells/constructCell.d.ts +5 -0
  5. package/dist/core/cells/constructCell.js +9 -3
  6. package/dist/core/cells/constructCell.js.map +1 -1
  7. package/dist/core/cells/coreCellsFeature.cjs +5 -0
  8. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.d.cts +5 -0
  10. package/dist/core/cells/coreCellsFeature.d.ts +5 -0
  11. package/dist/core/cells/coreCellsFeature.js +5 -0
  12. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  13. package/dist/core/cells/coreCellsFeature.utils.cjs +30 -0
  14. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  15. package/dist/core/cells/coreCellsFeature.utils.d.cts +30 -0
  16. package/dist/core/cells/coreCellsFeature.utils.d.ts +30 -0
  17. package/dist/core/cells/coreCellsFeature.utils.js +30 -0
  18. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  19. package/dist/core/columns/constructColumn.cjs +21 -12
  20. package/dist/core/columns/constructColumn.cjs.map +1 -1
  21. package/dist/core/columns/constructColumn.d.cts +5 -0
  22. package/dist/core/columns/constructColumn.d.ts +5 -0
  23. package/dist/core/columns/constructColumn.js +21 -12
  24. package/dist/core/columns/constructColumn.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.cjs +9 -0
  26. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  27. package/dist/core/columns/coreColumnsFeature.d.cts +5 -0
  28. package/dist/core/columns/coreColumnsFeature.d.ts +5 -0
  29. package/dist/core/columns/coreColumnsFeature.js +10 -1
  30. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  31. package/dist/core/columns/coreColumnsFeature.types.d.cts +4 -0
  32. package/dist/core/columns/coreColumnsFeature.types.d.ts +4 -0
  33. package/dist/core/columns/coreColumnsFeature.utils.cjs +107 -4
  34. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  35. package/dist/core/columns/coreColumnsFeature.utils.d.cts +92 -1
  36. package/dist/core/columns/coreColumnsFeature.utils.d.ts +92 -1
  37. package/dist/core/columns/coreColumnsFeature.utils.js +107 -5
  38. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  39. package/dist/core/coreFeatures.cjs +5 -0
  40. package/dist/core/coreFeatures.cjs.map +1 -1
  41. package/dist/core/coreFeatures.d.cts +5 -0
  42. package/dist/core/coreFeatures.d.ts +5 -0
  43. package/dist/core/coreFeatures.js +5 -0
  44. package/dist/core/coreFeatures.js.map +1 -1
  45. package/dist/core/headers/buildHeaderGroups.cjs +33 -20
  46. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  47. package/dist/core/headers/buildHeaderGroups.d.cts +5 -0
  48. package/dist/core/headers/buildHeaderGroups.d.ts +5 -0
  49. package/dist/core/headers/buildHeaderGroups.js +33 -20
  50. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  51. package/dist/core/headers/constructHeader.cjs +9 -3
  52. package/dist/core/headers/constructHeader.cjs.map +1 -1
  53. package/dist/core/headers/constructHeader.d.cts +5 -0
  54. package/dist/core/headers/constructHeader.d.ts +5 -0
  55. package/dist/core/headers/constructHeader.js +9 -3
  56. package/dist/core/headers/constructHeader.js.map +1 -1
  57. package/dist/core/headers/coreHeadersFeature.cjs +6 -6
  58. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  59. package/dist/core/headers/coreHeadersFeature.d.cts +5 -0
  60. package/dist/core/headers/coreHeadersFeature.d.ts +5 -0
  61. package/dist/core/headers/coreHeadersFeature.js +7 -7
  62. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  63. package/dist/core/headers/coreHeadersFeature.utils.cjs +87 -16
  64. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  65. package/dist/core/headers/coreHeadersFeature.utils.d.cts +61 -1
  66. package/dist/core/headers/coreHeadersFeature.utils.d.ts +61 -1
  67. package/dist/core/headers/coreHeadersFeature.utils.js +89 -18
  68. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  69. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  70. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  71. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  73. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  75. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  79. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  81. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  82. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  83. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  84. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  87. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  89. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  92. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  93. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  94. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  95. package/dist/core/row-models/createCoreRowModel.js +5 -0
  96. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  97. package/dist/core/rows/constructRow.cjs +13 -6
  98. package/dist/core/rows/constructRow.cjs.map +1 -1
  99. package/dist/core/rows/constructRow.d.cts +5 -0
  100. package/dist/core/rows/constructRow.d.ts +5 -0
  101. package/dist/core/rows/constructRow.js +13 -6
  102. package/dist/core/rows/constructRow.js.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  104. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  105. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  106. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  107. package/dist/core/rows/coreRowsFeature.js +5 -0
  108. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  109. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  110. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  111. package/dist/core/rows/coreRowsFeature.utils.cjs +112 -7
  112. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  113. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  114. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  115. package/dist/core/rows/coreRowsFeature.utils.js +112 -7
  116. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  117. package/dist/core/table/constructTable.cjs +19 -5
  118. package/dist/core/table/constructTable.cjs.map +1 -1
  119. package/dist/core/table/constructTable.d.cts +10 -0
  120. package/dist/core/table/constructTable.d.ts +10 -0
  121. package/dist/core/table/constructTable.js +19 -5
  122. package/dist/core/table/constructTable.js.map +1 -1
  123. package/dist/core/table/coreTablesFeature.cjs +5 -0
  124. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  125. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  126. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  127. package/dist/core/table/coreTablesFeature.js +5 -0
  128. package/dist/core/table/coreTablesFeature.js.map +1 -1
  129. package/dist/core/table/coreTablesFeature.types.d.cts +22 -12
  130. package/dist/core/table/coreTablesFeature.types.d.ts +22 -12
  131. package/dist/core/table/coreTablesFeature.utils.cjs +49 -1
  132. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  133. package/dist/core/table/coreTablesFeature.utils.d.cts +44 -0
  134. package/dist/core/table/coreTablesFeature.utils.d.ts +44 -0
  135. package/dist/core/table/coreTablesFeature.utils.js +49 -1
  136. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  142. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  143. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  144. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +13 -5
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  155. package/dist/features/column-faceting/createFacetedMinMaxValues.js +13 -5
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.cjs +13 -3
  158. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  159. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  161. package/dist/features/column-faceting/createFacetedRowModel.js +13 -3
  162. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +12 -4
  164. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  165. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  167. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -4
  168. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  171. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  173. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  174. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  175. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  176. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.cjs +16 -5
  184. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  185. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  187. package/dist/features/column-filtering/createFilteredRowModel.js +16 -5
  188. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  191. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  192. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  198. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  199. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  200. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  209. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  211. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  214. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  216. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  218. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  219. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  220. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +108 -8
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.utils.js +108 -8
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  228. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  229. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  230. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  231. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  232. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  233. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  234. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  235. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +387 -27
  236. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  237. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +318 -6
  238. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +318 -6
  239. package/dist/features/column-pinning/columnPinningFeature.utils.js +388 -28
  240. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  243. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  245. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  246. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  247. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  248. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  249. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  251. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.cjs +78 -16
  256. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  257. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  258. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  259. package/dist/features/column-sizing/columnSizingFeature.js +79 -17
  260. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  261. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  262. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  263. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  264. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  265. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  266. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  267. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  268. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.cjs +30 -20
  270. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  272. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.js +31 -21
  274. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  275. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +8 -3
  276. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +8 -3
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +199 -12
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +154 -3
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +154 -3
  281. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +199 -12
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  285. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  287. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  289. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  290. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  299. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  301. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  308. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  309. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  310. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +153 -2
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.utils.js +153 -2
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  319. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  321. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  328. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  329. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  330. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  339. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  341. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  342. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  343. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  344. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  345. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +125 -7
  346. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  347. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  349. package/dist/features/row-pinning/rowPinningFeature.utils.js +125 -7
  350. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  353. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  355. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  356. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  357. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  358. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  359. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +265 -3
  360. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  361. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  363. package/dist/features/row-selection/rowSelectionFeature.utils.js +265 -3
  364. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.cjs +18 -8
  366. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  367. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  369. package/dist/features/row-sorting/createSortedRowModel.js +18 -8
  370. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  372. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  373. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  374. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  375. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  376. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  377. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  378. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  379. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +153 -2
  380. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  381. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  383. package/dist/features/row-sorting/rowSortingFeature.utils.js +153 -2
  384. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  385. package/dist/features/stockFeatures.cjs +5 -0
  386. package/dist/features/stockFeatures.cjs.map +1 -1
  387. package/dist/features/stockFeatures.d.cts +5 -0
  388. package/dist/features/stockFeatures.d.ts +5 -0
  389. package/dist/features/stockFeatures.js +5 -0
  390. package/dist/features/stockFeatures.js.map +1 -1
  391. package/dist/flex-render.cjs +10 -0
  392. package/dist/flex-render.cjs.map +1 -1
  393. package/dist/flex-render.d.cts +10 -0
  394. package/dist/flex-render.d.ts +10 -0
  395. package/dist/flex-render.js +10 -0
  396. package/dist/flex-render.js.map +1 -1
  397. package/dist/fns/aggregationFns.cjs +19 -7
  398. package/dist/fns/aggregationFns.cjs.map +1 -1
  399. package/dist/fns/aggregationFns.d.cts +5 -0
  400. package/dist/fns/aggregationFns.d.ts +5 -0
  401. package/dist/fns/aggregationFns.js +19 -8
  402. package/dist/fns/aggregationFns.js.map +1 -1
  403. package/dist/fns/filterFns.cjs +5 -0
  404. package/dist/fns/filterFns.cjs.map +1 -1
  405. package/dist/fns/filterFns.d.cts +5 -0
  406. package/dist/fns/filterFns.d.ts +5 -0
  407. package/dist/fns/filterFns.js +5 -0
  408. package/dist/fns/filterFns.js.map +1 -1
  409. package/dist/fns/sortFns.cjs +49 -4
  410. package/dist/fns/sortFns.cjs.map +1 -1
  411. package/dist/fns/sortFns.d.cts +41 -0
  412. package/dist/fns/sortFns.d.ts +41 -0
  413. package/dist/fns/sortFns.js +49 -4
  414. package/dist/fns/sortFns.js.map +1 -1
  415. package/dist/helpers/columnHelper.cjs.map +1 -1
  416. package/dist/helpers/columnHelper.js.map +1 -1
  417. package/dist/helpers/tableFeatures.cjs.map +1 -1
  418. package/dist/helpers/tableFeatures.js.map +1 -1
  419. package/dist/helpers/tableOptions.cjs +6 -0
  420. package/dist/helpers/tableOptions.cjs.map +1 -1
  421. package/dist/helpers/tableOptions.d.cts +26 -0
  422. package/dist/helpers/tableOptions.d.ts +26 -0
  423. package/dist/helpers/tableOptions.js +6 -0
  424. package/dist/helpers/tableOptions.js.map +1 -1
  425. package/dist/index.cjs +0 -4
  426. package/dist/index.d.cts +2 -2
  427. package/dist/index.d.ts +2 -2
  428. package/dist/index.js +2 -2
  429. package/dist/static-functions.cjs +2 -1
  430. package/dist/static-functions.d.cts +3 -3
  431. package/dist/static-functions.d.ts +3 -3
  432. package/dist/static-functions.js +3 -3
  433. package/dist/store-reactivity-bindings.cjs +1 -0
  434. package/dist/store-reactivity-bindings.cjs.map +1 -1
  435. package/dist/store-reactivity-bindings.js +1 -0
  436. package/dist/store-reactivity-bindings.js.map +1 -1
  437. package/dist/utils.cjs +49 -25
  438. package/dist/utils.cjs.map +1 -1
  439. package/dist/utils.d.cts +33 -10
  440. package/dist/utils.d.ts +33 -10
  441. package/dist/utils.js +50 -22
  442. package/dist/utils.js.map +1 -1
  443. package/package.json +1 -1
  444. package/src/core/cells/constructCell.ts +8 -2
  445. package/src/core/cells/coreCellsFeature.ts +5 -0
  446. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  447. package/src/core/columns/constructColumn.ts +11 -3
  448. package/src/core/columns/coreColumnsFeature.ts +10 -0
  449. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  450. package/src/core/columns/coreColumnsFeature.utils.ts +113 -8
  451. package/src/core/coreFeatures.ts +5 -0
  452. package/src/core/headers/buildHeaderGroups.ts +36 -31
  453. package/src/core/headers/constructHeader.ts +8 -2
  454. package/src/core/headers/coreHeadersFeature.ts +7 -27
  455. package/src/core/headers/coreHeadersFeature.utils.ts +110 -46
  456. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  457. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  458. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  459. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  460. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  461. package/src/core/row-models/createCoreRowModel.ts +5 -0
  462. package/src/core/rows/constructRow.ts +11 -4
  463. package/src/core/rows/coreRowsFeature.ts +5 -0
  464. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  465. package/src/core/rows/coreRowsFeature.utils.ts +116 -10
  466. package/src/core/table/constructTable.ts +16 -4
  467. package/src/core/table/coreTablesFeature.ts +5 -0
  468. package/src/core/table/coreTablesFeature.types.ts +22 -12
  469. package/src/core/table/coreTablesFeature.utils.ts +47 -1
  470. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  471. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  472. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  473. package/src/features/column-faceting/createFacetedMinMaxValues.ts +13 -10
  474. package/src/features/column-faceting/createFacetedRowModel.ts +15 -6
  475. package/src/features/column-faceting/createFacetedUniqueValues.ts +9 -3
  476. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  477. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  478. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  479. package/src/features/column-filtering/createFilteredRowModel.ts +19 -8
  480. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  481. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  482. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  483. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  484. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  485. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  486. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  487. package/src/features/column-ordering/columnOrderingFeature.utils.ts +117 -17
  488. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  489. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  490. package/src/features/column-pinning/columnPinningFeature.utils.ts +425 -76
  491. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  492. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  493. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  494. package/src/features/column-sizing/columnSizingFeature.ts +54 -18
  495. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  496. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  497. package/src/features/column-visibility/columnVisibilityFeature.ts +20 -18
  498. package/src/features/column-visibility/columnVisibilityFeature.types.ts +11 -3
  499. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +213 -24
  500. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  501. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  502. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  503. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  504. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  505. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  506. package/src/features/row-expanding/rowExpandingFeature.utils.ts +153 -2
  507. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  508. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  509. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  510. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  511. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  512. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  513. package/src/features/row-pinning/rowPinningFeature.utils.ts +132 -18
  514. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  515. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  516. package/src/features/row-selection/rowSelectionFeature.utils.ts +279 -19
  517. package/src/features/row-sorting/createSortedRowModel.ts +21 -13
  518. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  519. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  520. package/src/features/row-sorting/rowSortingFeature.utils.ts +153 -2
  521. package/src/features/stockFeatures.ts +5 -0
  522. package/src/flex-render.ts +10 -0
  523. package/src/fns/aggregationFns.ts +25 -8
  524. package/src/fns/filterFns.ts +5 -0
  525. package/src/fns/sortFns.ts +50 -5
  526. package/src/helpers/tableOptions.ts +32 -0
  527. package/src/store-reactivity-bindings.ts +1 -0
  528. package/src/utils.ts +52 -34
@@ -5,6 +5,11 @@ import type { Table, Table_Internal } from '../../types/Table'
5
5
  import type { TableFeatures } from '../../types/TableFeatures'
6
6
  import type { RowData } from '../../types/type-utils'
7
7
 
8
+ /**
9
+ * Creates a memoized faceted unique values helper for faceted filtering.
10
+ *
11
+ * The returned function derives facet data from the table row model and relevant filter state so filter UIs can display available values.
12
+ */
8
13
  export function createFacetedUniqueValues<
9
14
  TFeatures extends TableFeatures,
10
15
  TData extends RowData = any,
@@ -41,10 +46,11 @@ function _createFacetedUniqueValues<
41
46
  >(columnId: string, flatRows: Array<Row<TFeatures, TData>>): Map<any, number> {
42
47
  const facetedUniqueValues = new Map<any, number>()
43
48
 
44
- for (const row of flatRows) {
45
- const values = row.getUniqueValues(columnId)
49
+ for (let i = 0; i < flatRows.length; i++) {
50
+ const values = flatRows[i]!.getUniqueValues(columnId)
46
51
 
47
- for (const value of values) {
52
+ for (let j = 0; j < values.length; j++) {
53
+ const value = values[j]
48
54
  if (facetedUniqueValues.has(value)) {
49
55
  facetedUniqueValues.set(
50
56
  value,
@@ -44,6 +44,11 @@ export interface ColumnFilteringFeatureConstructors<
44
44
  // TableState: TableState_ColumnFiltering
45
45
  }
46
46
 
47
+ /**
48
+ * Creates the stock column filtering feature.
49
+ *
50
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
51
+ */
47
52
  export function constructColumnFilteringFeature<
48
53
  TFeatures extends TableFeatures,
49
54
  TData extends RowData,
@@ -115,7 +120,10 @@ export function constructColumnFilteringFeature<
115
120
  }
116
121
 
117
122
  /**
118
- * The Column Filtering feature adds column filtering state and APIs to the table, row, and column objects.
119
- * **Note:** This does not include Global Filtering. The globalFilteringFeature feature has been split out into its own standalone feature.
123
+ * The stock column filtering feature.
124
+ *
125
+ * Register this feature to add column filter state, filter defaults, and
126
+ * table/row/column APIs for client-side or manual column filtering. Global
127
+ * filtering is provided by `globalFilteringFeature`.
120
128
  */
121
129
  export const columnFilteringFeature = constructColumnFilteringFeature()
@@ -167,7 +167,9 @@ export interface TableOptions_ColumnFiltering<
167
167
  */
168
168
  maxLeafRowFilterDepth?: number
169
169
  /**
170
- * If provided, this function will be called with an `updaterFn` when `state.columnFilters` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
170
+ * Called with an updater when column filter state changes. Pair this with
171
+ * `state.columnFilters` when using external state; external atoms can own the
172
+ * slice without this callback.
171
173
  */
172
174
  onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
173
175
  }
@@ -178,7 +180,7 @@ export interface Table_ColumnFiltering {
178
180
  */
179
181
  resetColumnFilters: (defaultState?: boolean) => void
180
182
  /**
181
- * Sets or updates the `state.columnFilters` state.
183
+ * Sets column filter state using a value or updater.
182
184
  */
183
185
  setColumnFilters: (updater: Updater<ColumnFiltersState>) => void
184
186
  }
@@ -202,9 +204,10 @@ export interface CreateRowModel_Filtered<
202
204
  TData extends RowData,
203
205
  > {
204
206
  /**
205
- * If provided, this function is called **once** per table and should return a **new function** which will calculate and return the row model for the table when it's filtered.
207
+ * If provided, this factory is called once per table and should return a
208
+ * function that calculates the filtered row model.
206
209
  * - For server-side filtering, this function is unnecessary and can be ignored since the server should already return the filtered row model.
207
- * - For client-side filtering, this function is required. A default implementation is provided via any table adapter's `{ getFilteredRowModel }` export.
210
+ * - For client-side filtering, pass the exported `createFilteredRowModel()` or implement your own factory.
208
211
  */
209
212
  filteredRowModel?: (
210
213
  table: Table<TFeatures, TData>,
@@ -8,10 +8,30 @@ import type {
8
8
  FilterFn,
9
9
  } from './columnFilteringFeature.types'
10
10
 
11
+ /**
12
+ * Returns the default column filters state.
13
+ *
14
+ * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const initialValue = getDefaultColumnFiltersState()
19
+ * ```
20
+ */
11
21
  export function getDefaultColumnFiltersState(): ColumnFiltersState {
12
22
  return []
13
23
  }
14
24
 
25
+ /**
26
+ * Infers filter fn for a column.
27
+ *
28
+ * The inference uses the column definition, table options, and sampled row values when needed.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const value = column_getAutoFilterFn(column)
33
+ * ```
34
+ */
15
35
  export function column_getAutoFilterFn<
16
36
  TFeatures extends TableFeatures,
17
37
  TData extends RowData,
@@ -47,6 +67,16 @@ export function column_getAutoFilterFn<
47
67
  return filterFns?.weakEquals
48
68
  }
49
69
 
70
+ /**
71
+ * Returns filter fn for a column.
72
+ *
73
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const value = column_getFilterFn(column)
78
+ * ```
79
+ */
50
80
  export function column_getFilterFn<
51
81
  TFeatures extends TableFeatures,
52
82
  TData extends RowData,
@@ -72,6 +102,16 @@ export function column_getFilterFn<
72
102
  return filterFn
73
103
  }
74
104
 
105
+ /**
106
+ * Returns whether a column can use filter.
107
+ *
108
+ * This combines column options, table options, and any required accessor or feature state for the capability.
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * const value = column_getCanFilter(column)
113
+ * ```
114
+ */
75
115
  export function column_getCanFilter<
76
116
  TFeatures extends TableFeatures,
77
117
  TData extends RowData,
@@ -85,6 +125,16 @@ export function column_getCanFilter<
85
125
  )
86
126
  }
87
127
 
128
+ /**
129
+ * Returns is filtered for a column.
130
+ *
131
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * const value = column_getIsFiltered(column)
136
+ * ```
137
+ */
88
138
  export function column_getIsFiltered<
89
139
  TFeatures extends TableFeatures,
90
140
  TData extends RowData,
@@ -93,6 +143,16 @@ export function column_getIsFiltered<
93
143
  return column_getFilterIndex(column) > -1
94
144
  }
95
145
 
146
+ /**
147
+ * Returns filter value for a column.
148
+ *
149
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
150
+ *
151
+ * @example
152
+ * ```ts
153
+ * const value = column_getFilterValue(column)
154
+ * ```
155
+ */
96
156
  export function column_getFilterValue<
97
157
  TFeatures extends TableFeatures,
98
158
  TData extends RowData,
@@ -103,6 +163,16 @@ export function column_getFilterValue<
103
163
  ?.find((d) => d.id === column.id)?.value
104
164
  }
105
165
 
166
+ /**
167
+ * Returns filter index for a column.
168
+ *
169
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
170
+ *
171
+ * @example
172
+ * ```ts
173
+ * const value = column_getFilterIndex(column)
174
+ * ```
175
+ */
106
176
  export function column_getFilterIndex<
107
177
  TFeatures extends TableFeatures,
108
178
  TData extends RowData,
@@ -115,6 +185,16 @@ export function column_getFilterIndex<
115
185
  )
116
186
  }
117
187
 
188
+ /**
189
+ * Updates filter value for a column.
190
+ *
191
+ * This delegates to the owning table state updater so external state, external atoms, and internal state stay synchronized.
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * column_setFilterValue(column, (old) => old)
196
+ * ```
197
+ */
118
198
  export function column_setFilterValue<
119
199
  TFeatures extends TableFeatures,
120
200
  TData extends RowData,
@@ -152,6 +232,16 @@ export function column_setFilterValue<
152
232
  })
153
233
  }
154
234
 
235
+ /**
236
+ * Updates the table's column filters state slice.
237
+ *
238
+ * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
239
+ *
240
+ * @example
241
+ * ```ts
242
+ * table_setColumnFilters(table, (old) => old)
243
+ * ```
244
+ */
155
245
  export function table_setColumnFilters<
156
246
  TFeatures extends TableFeatures,
157
247
  TData extends RowData,
@@ -159,11 +249,11 @@ export function table_setColumnFilters<
159
249
  table: Table_Internal<TFeatures, TData>,
160
250
  updater: Updater<ColumnFiltersState>,
161
251
  ) {
162
- const leafColumns = table.getAllLeafColumns()
252
+ const leafColumnsById = table.getAllLeafColumnsById()
163
253
 
164
254
  const updateFn = (old: ColumnFiltersState) => {
165
255
  return functionalUpdate(updater, old).filter((filter) => {
166
- const column = leafColumns.find((d) => d.id === filter.id)
256
+ const column = leafColumnsById[filter.id]
167
257
 
168
258
  if (column) {
169
259
  const filterFn = column_getFilterFn(column)
@@ -180,6 +270,17 @@ export function table_setColumnFilters<
180
270
  table.options.onColumnFiltersChange?.(updateFn)
181
271
  }
182
272
 
273
+ /**
274
+ * Resets the table's column filters state slice.
275
+ *
276
+ * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
277
+ *
278
+ * @example
279
+ * ```ts
280
+ * table_resetColumnFilters(table)
281
+ * table_resetColumnFilters(table, true)
282
+ * ```
283
+ */
183
284
  export function table_resetColumnFilters<
184
285
  TFeatures extends TableFeatures,
185
286
  TData extends RowData,
@@ -190,6 +291,16 @@ export function table_resetColumnFilters<
190
291
  )
191
292
  }
192
293
 
294
+ /**
295
+ * Returns whether a filter value should be removed from filter state.
296
+ *
297
+ * This checks the filter function's `autoRemove` hook and built-in empty-value rules.
298
+ *
299
+ * @example
300
+ * ```ts
301
+ * const removeFilter = shouldAutoRemoveFilter(filterFn, value, column)
302
+ * ```
303
+ */
193
304
  export function shouldAutoRemoveFilter<
194
305
  TFeatures extends TableFeatures,
195
306
  TData extends RowData,
@@ -19,6 +19,11 @@ import type {
19
19
  Row_ColumnFiltering,
20
20
  } from './columnFilteringFeature.types'
21
21
 
22
+ /**
23
+ * Creates a memoized filtered row model factory.
24
+ *
25
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
26
+ */
22
27
  export function createFilteredRowModel<
23
28
  TFeatures extends TableFeatures,
24
29
  TData extends RowData = any,
@@ -52,9 +57,11 @@ function _createFilteredRowModel<
52
57
  const globalFilter = table.atoms.globalFilter?.get()
53
58
 
54
59
  if (!rowModel.rows.length || (!columnFilters?.length && !globalFilter)) {
55
- for (const row of rowModel.flatRows as Array<
60
+ const flatRows = rowModel.flatRows as Array<
56
61
  Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
57
- >) {
62
+ >
63
+ for (let i = 0; i < flatRows.length; i++) {
64
+ const row = flatRows[i]!
58
65
  row.columnFilters = {}
59
66
  row.columnFiltersMeta = {}
60
67
  }
@@ -105,13 +112,16 @@ function _createFilteredRowModel<
105
112
  }
106
113
 
107
114
  // Flag the pre-filtered row model with each filter state
108
- for (const row of rowModel.flatRows as Array<
115
+ const flatRows = rowModel.flatRows as Array<
109
116
  Row<TFeatures, TData> & Partial<Row_ColumnFiltering<TFeatures, TData>>
110
- >) {
117
+ >
118
+ for (let i = 0; i < flatRows.length; i++) {
119
+ const row = flatRows[i]!
111
120
  row.columnFilters = {}
112
121
 
113
122
  if (resolvedColumnFilters.length) {
114
- for (const currentColumnFilter of resolvedColumnFilters) {
123
+ for (let j = 0; j < resolvedColumnFilters.length; j++) {
124
+ const currentColumnFilter = resolvedColumnFilters[j]!
115
125
  const id = currentColumnFilter.id
116
126
 
117
127
  // Tag the row with the column filter state
@@ -129,7 +139,8 @@ function _createFilteredRowModel<
129
139
  }
130
140
 
131
141
  if (resolvedGlobalFilters.length) {
132
- for (const currentGlobalFilter of resolvedGlobalFilters) {
142
+ for (let j = 0; j < resolvedGlobalFilters.length; j++) {
143
+ const currentGlobalFilter = resolvedGlobalFilters[j]!
133
144
  const id = currentGlobalFilter.id
134
145
  // Tag the row with the first truthy global filter state
135
146
  if (
@@ -159,8 +170,8 @@ function _createFilteredRowModel<
159
170
  row: Row<TFeatures, TData> & Row_ColumnFiltering<TFeatures, TData>,
160
171
  ) => {
161
172
  // Horizontally filter rows through each column
162
- for (const columnId of filterableIds) {
163
- if (row.columnFilters[columnId] === false) {
173
+ for (let i = 0; i < filterableIds.length; i++) {
174
+ if (row.columnFilters[filterableIds[i]!] === false) {
164
175
  return false
165
176
  }
166
177
  }
@@ -6,6 +6,11 @@ import type { Table_Internal } from '../../types/Table'
6
6
  import type { TableFeatures } from '../../types/TableFeatures'
7
7
  import type { RowData } from '../../types/type-utils'
8
8
 
9
+ /**
10
+ * Filters a row model with the supplied row predicate.
11
+ *
12
+ * The helper supports both filtering from leaf rows upward and filtering parents before descendants, depending on table options.
13
+ */
9
14
  export function filterRows<
10
15
  TFeatures extends TableFeatures,
11
16
  TData extends RowData,
@@ -51,6 +51,11 @@ export interface ColumnGroupingFeatureConstructors<
51
51
  // TableState: TableState_ColumnGrouping
52
52
  }
53
53
 
54
+ /**
55
+ * Creates the stock column grouping feature.
56
+ *
57
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
58
+ */
54
59
  export function constructColumnGroupingFeature<
55
60
  TFeatures extends TableFeatures,
56
61
  TData extends RowData,
@@ -146,6 +151,9 @@ export function constructColumnGroupingFeature<
146
151
  }
147
152
 
148
153
  /**
149
- * The (Column) Grouping feature adds column grouping state and APIs to the table, row, column, and cell objects.
154
+ * The stock column grouping feature.
155
+ *
156
+ * Register this feature to add grouping state, aggregation defaults, grouped
157
+ * row-model support, and table/row/column/cell grouping APIs.
150
158
  */
151
159
  export const columnGroupingFeature = constructColumnGroupingFeature()
@@ -163,7 +163,9 @@ export interface TableOptions_ColumnGrouping {
163
163
  */
164
164
  manualGrouping?: boolean
165
165
  /**
166
- * If this function is provided, it will be called when the grouping state changes and you will be expected to manage the state yourself. You can pass the managed state back to the table via the `tableOptions.state.grouping` option.
166
+ * Called with an updater when grouping state changes. Pair this with
167
+ * `state.grouping` when using external state; external atoms can own the
168
+ * slice without this callback.
167
169
  */
168
170
  onGroupingChange?: OnChangeFn<GroupingState>
169
171
  }
@@ -179,7 +181,7 @@ export interface Table_ColumnGrouping<
179
181
  */
180
182
  resetGrouping: (defaultState?: boolean) => void
181
183
  /**
182
- * Updates the grouping state of the table via an update function or value.
184
+ * Sets grouping state using a value or updater.
183
185
  */
184
186
  setGrouping: (updater: Updater<GroupingState>) => void
185
187
  }
@@ -203,7 +205,9 @@ export interface CreateRowModel_Grouped<
203
205
  TData extends RowData,
204
206
  > {
205
207
  /**
206
- * Returns the row model after grouping has taken place, but no further.
208
+ * Factory used to retrieve the grouped row model. If using server-side
209
+ * grouping, this is not required. To use client-side grouping, pass
210
+ * `createGroupedRowModel()` or implement your own factory.
207
211
  */
208
212
  groupedRowModel?: (
209
213
  table: Table<TFeatures, TData>,
@@ -12,10 +12,30 @@ import type {
12
12
  Row_ColumnGrouping,
13
13
  } from './columnGroupingFeature.types'
14
14
 
15
+ /**
16
+ * Returns the default grouping state.
17
+ *
18
+ * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const initialValue = getDefaultGroupingState()
23
+ * ```
24
+ */
15
25
  export function getDefaultGroupingState(): GroupingState {
16
26
  return []
17
27
  }
18
28
 
29
+ /**
30
+ * Toggles grouping for a column.
31
+ *
32
+ * The update is applied through the owning table state slice and respects the feature options for that column.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * column_toggleGrouping(column)
37
+ * ```
38
+ */
19
39
  export function column_toggleGrouping<
20
40
  TFeatures extends TableFeatures,
21
41
  TData extends RowData,
@@ -31,6 +51,16 @@ export function column_toggleGrouping<
31
51
  })
32
52
  }
33
53
 
54
+ /**
55
+ * Returns whether a column can use group.
56
+ *
57
+ * This combines column options, table options, and any required accessor or feature state for the capability.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const value = column_getCanGroup(column)
62
+ * ```
63
+ */
34
64
  export function column_getCanGroup<
35
65
  TFeatures extends TableFeatures,
36
66
  TData extends RowData,
@@ -43,6 +73,16 @@ export function column_getCanGroup<
43
73
  )
44
74
  }
45
75
 
76
+ /**
77
+ * Returns is grouped for a column.
78
+ *
79
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const value = column_getIsGrouped(column)
84
+ * ```
85
+ */
46
86
  export function column_getIsGrouped<
47
87
  TFeatures extends TableFeatures,
48
88
  TData extends RowData,
@@ -51,6 +91,16 @@ export function column_getIsGrouped<
51
91
  return !!column.table.atoms.grouping?.get()?.includes(column.id)
52
92
  }
53
93
 
94
+ /**
95
+ * Returns grouped index for a column.
96
+ *
97
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * const value = column_getGroupedIndex(column)
102
+ * ```
103
+ */
54
104
  export function column_getGroupedIndex<
55
105
  TFeatures extends TableFeatures,
56
106
  TData extends RowData,
@@ -59,6 +109,16 @@ export function column_getGroupedIndex<
59
109
  return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1
60
110
  }
61
111
 
112
+ /**
113
+ * Returns an event handler for toggling grouping handler.
114
+ *
115
+ * The handler is intended for direct use in column header controls such as buttons or checkboxes.
116
+ *
117
+ * @example
118
+ * ```ts
119
+ * const value = column_getToggleGroupingHandler(column)
120
+ * ```
121
+ */
62
122
  export function column_getToggleGroupingHandler<
63
123
  TFeatures extends TableFeatures,
64
124
  TData extends RowData,
@@ -72,6 +132,16 @@ export function column_getToggleGroupingHandler<
72
132
  }
73
133
  }
74
134
 
135
+ /**
136
+ * Infers aggregation fn for a column.
137
+ *
138
+ * The inference uses the column definition, table options, and sampled row values when needed.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * const value = column_getAutoAggregationFn(column)
143
+ * ```
144
+ */
75
145
  export function column_getAutoAggregationFn<
76
146
  TFeatures extends TableFeatures,
77
147
  TData extends RowData,
@@ -94,6 +164,16 @@ export function column_getAutoAggregationFn<
94
164
  }
95
165
  }
96
166
 
167
+ /**
168
+ * Returns aggregation fn for a column.
169
+ *
170
+ * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * const value = column_getAggregationFn(column)
175
+ * ```
176
+ */
97
177
  export function column_getAggregationFn<
98
178
  TFeatures extends TableFeatures,
99
179
  TData extends RowData,
@@ -110,6 +190,16 @@ export function column_getAggregationFn<
110
190
  : aggregationFns?.[column.columnDef.aggregationFn as string]
111
191
  }
112
192
 
193
+ /**
194
+ * Updates the table's grouping state slice.
195
+ *
196
+ * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * table_setGrouping(table, (old) => old)
201
+ * ```
202
+ */
113
203
  export function table_setGrouping<
114
204
  TFeatures extends TableFeatures,
115
205
  TData extends RowData,
@@ -117,6 +207,17 @@ export function table_setGrouping<
117
207
  table.options.onGroupingChange?.(updater)
118
208
  }
119
209
 
210
+ /**
211
+ * Resets the table's grouping state slice.
212
+ *
213
+ * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
214
+ *
215
+ * @example
216
+ * ```ts
217
+ * table_resetGrouping(table)
218
+ * table_resetGrouping(table, true)
219
+ * ```
220
+ */
120
221
  export function table_resetGrouping<
121
222
  TFeatures extends TableFeatures,
122
223
  TData extends RowData,
@@ -127,6 +228,16 @@ export function table_resetGrouping<
127
228
  )
128
229
  }
129
230
 
231
+ /**
232
+ * Returns is grouped for a row.
233
+ *
234
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
235
+ *
236
+ * @example
237
+ * ```ts
238
+ * const value = row_getIsGrouped(row)
239
+ * ```
240
+ */
130
241
  export function row_getIsGrouped<
131
242
  TFeatures extends TableFeatures,
132
243
  TData extends RowData,
@@ -134,6 +245,16 @@ export function row_getIsGrouped<
134
245
  return !!row.groupingColumnId
135
246
  }
136
247
 
248
+ /**
249
+ * Returns grouping value for a row.
250
+ *
251
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
252
+ *
253
+ * @example
254
+ * ```ts
255
+ * const value = row_getGroupingValue(row)
256
+ * ```
257
+ */
137
258
  export function row_getGroupingValue<
138
259
  TFeatures extends TableFeatures,
139
260
  TData extends RowData,
@@ -160,6 +281,16 @@ export function row_getGroupingValue<
160
281
  return row._groupingValuesCache?.[columnId]
161
282
  }
162
283
 
284
+ /**
285
+ * Returns is grouped for a cell.
286
+ *
287
+ * This is the static implementation behind the matching cell instance API and uses the owning row and column context.
288
+ *
289
+ * @example
290
+ * ```ts
291
+ * const value = cell_getIsGrouped(cell)
292
+ * ```
293
+ */
163
294
  export function cell_getIsGrouped<
164
295
  TFeatures extends TableFeatures,
165
296
  TData extends RowData,
@@ -171,6 +302,16 @@ export function cell_getIsGrouped<
171
302
  )
172
303
  }
173
304
 
305
+ /**
306
+ * Returns is placeholder for a cell.
307
+ *
308
+ * This is the static implementation behind the matching cell instance API and uses the owning row and column context.
309
+ *
310
+ * @example
311
+ * ```ts
312
+ * const value = cell_getIsPlaceholder(cell)
313
+ * ```
314
+ */
174
315
  export function cell_getIsPlaceholder<
175
316
  TFeatures extends TableFeatures,
176
317
  TData extends RowData,
@@ -179,6 +320,16 @@ export function cell_getIsPlaceholder<
179
320
  return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)
180
321
  }
181
322
 
323
+ /**
324
+ * Returns is aggregated for a cell.
325
+ *
326
+ * This is the static implementation behind the matching cell instance API and uses the owning row and column context.
327
+ *
328
+ * @example
329
+ * ```ts
330
+ * const value = cell_getIsAggregated(cell)
331
+ * ```
332
+ */
182
333
  export function cell_getIsAggregated<
183
334
  TFeatures extends TableFeatures,
184
335
  TData extends RowData,
@@ -19,6 +19,11 @@ import type { Table, Table_Internal } from '../../types/Table'
19
19
  import type { Row } from '../../types/Row'
20
20
  import type { RowData } from '../../types/type-utils'
21
21
 
22
+ /**
23
+ * Creates a memoized grouped row model factory.
24
+ *
25
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
26
+ */
22
27
  export function createGroupedRowModel<
23
28
  TFeatures extends TableFeatures,
24
29
  TData extends RowData = any,