@tanstack/table-core 9.0.0-alpha.8 → 9.0.0-beta.2

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 (855) hide show
  1. package/README.md +127 -0
  2. package/dist/core/cells/constructCell.cjs +34 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +17 -0
  5. package/dist/core/cells/constructCell.d.ts +17 -0
  6. package/dist/core/cells/constructCell.js +33 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +30 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +18 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +18 -0
  12. package/dist/core/cells/coreCellsFeature.js +29 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +57 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +53 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +53 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +54 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +61 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +16 -0
  25. package/dist/core/columns/constructColumn.d.ts +16 -0
  26. package/dist/core/columns/constructColumn.js +60 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +79 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +18 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +18 -0
  32. package/dist/core/columns/coreColumnsFeature.js +78 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +94 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +94 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +187 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +119 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +119 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +179 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +25 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +26 -0
  45. package/dist/core/coreFeatures.d.ts +26 -0
  46. package/dist/core/coreFeatures.js +25 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +103 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +16 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +16 -0
  52. package/dist/core/headers/buildHeaderGroups.js +103 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +41 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +22 -0
  57. package/dist/core/headers/constructHeader.d.ts +22 -0
  58. package/dist/core/headers/constructHeader.js +40 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +18 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +18 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +106 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +106 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +142 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +85 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +85 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +137 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +48 -0
  75. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +48 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +24 -0
  77. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -0
  78. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +24 -0
  79. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +24 -0
  80. package/dist/core/reactivity/coreReactivityFeature.utils.js +23 -0
  81. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -0
  82. package/dist/core/row-models/coreRowModelsFeature.cjs +36 -0
  83. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.d.cts +18 -0
  85. package/dist/core/row-models/coreRowModelsFeature.d.ts +18 -0
  86. package/dist/core/row-models/coreRowModelsFeature.js +35 -0
  87. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +43 -0
  89. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +43 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +215 -0
  91. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  92. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +153 -0
  93. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +153 -0
  94. package/dist/core/row-models/coreRowModelsFeature.utils.js +204 -0
  95. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  96. package/dist/core/row-models/createCoreRowModel.cjs +52 -0
  97. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  98. package/dist/core/row-models/createCoreRowModel.d.cts +15 -0
  99. package/dist/core/row-models/createCoreRowModel.d.ts +15 -0
  100. package/dist/core/row-models/createCoreRowModel.js +52 -0
  101. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  102. package/dist/core/rows/constructRow.cjs +44 -0
  103. package/dist/core/rows/constructRow.cjs.map +1 -0
  104. package/dist/core/rows/constructRow.d.cts +15 -0
  105. package/dist/core/rows/constructRow.d.ts +15 -0
  106. package/dist/core/rows/constructRow.js +43 -0
  107. package/dist/core/rows/constructRow.js.map +1 -0
  108. package/dist/core/rows/coreRowsFeature.cjs +46 -0
  109. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.d.cts +18 -0
  111. package/dist/core/rows/coreRowsFeature.d.ts +18 -0
  112. package/dist/core/rows/coreRowsFeature.js +45 -0
  113. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  114. package/dist/core/rows/coreRowsFeature.types.d.cts +99 -0
  115. package/dist/core/rows/coreRowsFeature.types.d.ts +99 -0
  116. package/dist/core/rows/coreRowsFeature.utils.cjs +192 -0
  117. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  118. package/dist/core/rows/coreRowsFeature.utils.d.cts +127 -0
  119. package/dist/core/rows/coreRowsFeature.utils.d.ts +127 -0
  120. package/dist/core/rows/coreRowsFeature.utils.js +183 -0
  121. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  122. package/dist/core/table/constructTable.cjs +118 -0
  123. package/dist/core/table/constructTable.cjs.map +1 -0
  124. package/dist/core/table/constructTable.d.cts +22 -0
  125. package/dist/core/table/constructTable.d.ts +22 -0
  126. package/dist/core/table/constructTable.js +117 -0
  127. package/dist/core/table/constructTable.js.map +1 -0
  128. package/dist/core/table/coreTablesFeature.cjs +26 -0
  129. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.d.cts +18 -0
  131. package/dist/core/table/coreTablesFeature.d.ts +18 -0
  132. package/dist/core/table/coreTablesFeature.js +25 -0
  133. package/dist/core/table/coreTablesFeature.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.types.d.cts +186 -0
  135. package/dist/core/table/coreTablesFeature.types.d.ts +186 -0
  136. package/dist/core/table/coreTablesFeature.utils.cjs +96 -0
  137. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  138. package/dist/core/table/coreTablesFeature.utils.d.cts +57 -0
  139. package/dist/core/table/coreTablesFeature.utils.d.ts +57 -0
  140. package/dist/core/table/coreTablesFeature.utils.js +93 -0
  141. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.cjs +73 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.d.cts +21 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.d.ts +21 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.js +72 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +85 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +85 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +103 -0
  151. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  152. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +84 -0
  153. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +84 -0
  154. package/dist/features/column-faceting/columnFacetingFeature.utils.js +97 -0
  155. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +44 -0
  157. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  158. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +14 -0
  159. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +14 -0
  160. package/dist/features/column-faceting/createFacetedMinMaxValues.js +44 -0
  161. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  162. package/dist/features/column-faceting/createFacetedRowModel.cjs +50 -0
  163. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  164. package/dist/features/column-faceting/createFacetedRowModel.d.cts +15 -0
  165. package/dist/features/column-faceting/createFacetedRowModel.d.ts +15 -0
  166. package/dist/features/column-faceting/createFacetedRowModel.js +50 -0
  167. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  168. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +41 -0
  169. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  170. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +14 -0
  171. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +14 -0
  172. package/dist/features/column-faceting/createFacetedUniqueValues.js +41 -0
  173. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.cjs +63 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.d.cts +22 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.d.ts +22 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.js +62 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +160 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +160 -0
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +212 -0
  183. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  184. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +143 -0
  185. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +143 -0
  186. package/dist/features/column-filtering/columnFilteringFeature.utils.js +202 -0
  187. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  188. package/dist/features/column-filtering/createFilteredRowModel.cjs +110 -0
  189. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  190. package/dist/features/column-filtering/createFilteredRowModel.d.cts +16 -0
  191. package/dist/features/column-filtering/createFilteredRowModel.d.ts +16 -0
  192. package/dist/features/column-filtering/createFilteredRowModel.js +110 -0
  193. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  194. package/dist/features/column-filtering/filterRowsUtils.cjs +81 -0
  195. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  196. package/dist/features/column-filtering/filterRowsUtils.js +81 -0
  197. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.cjs +79 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.d.cts +21 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.d.ts +21 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.js +78 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +165 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +165 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +250 -0
  207. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  208. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +190 -0
  209. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +190 -0
  210. package/dist/features/column-grouping/columnGroupingFeature.utils.js +236 -0
  211. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.cjs +119 -0
  213. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  214. package/dist/features/column-grouping/createGroupedRowModel.d.cts +16 -0
  215. package/dist/features/column-grouping/createGroupedRowModel.d.ts +16 -0
  216. package/dist/features/column-grouping/createGroupedRowModel.js +119 -0
  217. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.cjs +70 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.d.cts +21 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.d.ts +21 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.js +69 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +56 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +56 -0
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +172 -0
  227. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  228. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +107 -0
  229. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +107 -0
  230. package/dist/features/column-ordering/columnOrderingFeature.utils.js +165 -0
  231. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  232. package/dist/features/column-pinning/columnPinningFeature.cjs +233 -0
  233. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.d.cts +21 -0
  235. package/dist/features/column-pinning/columnPinningFeature.d.ts +21 -0
  236. package/dist/features/column-pinning/columnPinningFeature.js +232 -0
  237. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  238. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +178 -0
  239. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +178 -0
  240. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +585 -0
  241. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  242. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +375 -0
  243. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +375 -0
  244. package/dist/features/column-pinning/columnPinningFeature.utils.js +555 -0
  245. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  246. package/dist/features/column-resizing/columnResizingFeature.cjs +53 -0
  247. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.d.cts +21 -0
  249. package/dist/features/column-resizing/columnResizingFeature.d.ts +21 -0
  250. package/dist/features/column-resizing/columnResizingFeature.js +52 -0
  251. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  252. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +246 -0
  255. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  256. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +109 -0
  257. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +109 -0
  258. package/dist/features/column-resizing/columnResizingFeature.utils.js +239 -0
  259. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  260. package/dist/features/column-sizing/columnSizingFeature.cjs +137 -0
  261. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.d.cts +22 -0
  263. package/dist/features/column-sizing/columnSizingFeature.d.ts +22 -0
  264. package/dist/features/column-sizing/columnSizingFeature.js +136 -0
  265. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  266. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +96 -0
  267. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +96 -0
  268. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +256 -0
  269. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  270. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +182 -0
  271. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +182 -0
  272. package/dist/features/column-sizing/columnSizingFeature.utils.js +243 -0
  273. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.cjs +106 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +21 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +21 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.js +105 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  280. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +97 -0
  281. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +97 -0
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +283 -0
  283. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  284. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +189 -0
  285. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +189 -0
  286. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +269 -0
  287. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.cjs +53 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.d.cts +21 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.d.ts +21 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.js +52 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +71 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +71 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +88 -0
  297. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  298. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +72 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +72 -0
  300. package/dist/features/global-filtering/globalFilteringFeature.utils.js +84 -0
  301. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.cjs +59 -0
  303. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  304. package/dist/features/row-expanding/createExpandedRowModel.d.cts +21 -0
  305. package/dist/features/row-expanding/createExpandedRowModel.d.ts +21 -0
  306. package/dist/features/row-expanding/createExpandedRowModel.js +58 -0
  307. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.cjs +59 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.d.cts +21 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.d.ts +21 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.js +58 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +127 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +127 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +281 -0
  317. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  318. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +191 -0
  319. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +191 -0
  320. package/dist/features/row-expanding/rowExpandingFeature.utils.js +267 -0
  321. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.cjs +62 -0
  323. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  324. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +15 -0
  325. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +15 -0
  326. package/dist/features/row-pagination/createPaginatedRowModel.js +62 -0
  327. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.cjs +57 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.d.cts +21 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.d.ts +21 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.js +56 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +135 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +135 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +312 -0
  337. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  338. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +218 -0
  339. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +218 -0
  340. package/dist/features/row-pagination/rowPaginationFeature.utils.js +296 -0
  341. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  342. package/dist/features/row-pinning/rowPinningFeature.cjs +79 -0
  343. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.d.cts +21 -0
  345. package/dist/features/row-pinning/rowPinningFeature.d.ts +21 -0
  346. package/dist/features/row-pinning/rowPinningFeature.js +78 -0
  347. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  348. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +83 -0
  349. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +83 -0
  350. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +229 -0
  351. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  352. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +143 -0
  353. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +143 -0
  354. package/dist/features/row-pinning/rowPinningFeature.utils.js +219 -0
  355. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  356. package/dist/features/row-selection/rowSelectionFeature.cjs +87 -0
  357. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.d.cts +21 -0
  359. package/dist/features/row-selection/rowSelectionFeature.d.ts +21 -0
  360. package/dist/features/row-selection/rowSelectionFeature.js +86 -0
  361. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  362. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +136 -0
  363. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +136 -0
  364. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +514 -0
  365. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  366. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +318 -0
  367. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +318 -0
  368. package/dist/features/row-selection/rowSelectionFeature.utils.js +489 -0
  369. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  370. package/dist/features/row-sorting/createSortedRowModel.cjs +95 -0
  371. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  372. package/dist/features/row-sorting/createSortedRowModel.d.cts +16 -0
  373. package/dist/features/row-sorting/createSortedRowModel.d.ts +16 -0
  374. package/dist/features/row-sorting/createSortedRowModel.js +95 -0
  375. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  376. package/dist/features/row-sorting/rowSortingFeature.cjs +67 -0
  377. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.d.cts +21 -0
  379. package/dist/features/row-sorting/rowSortingFeature.d.ts +21 -0
  380. package/dist/features/row-sorting/rowSortingFeature.js +66 -0
  381. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +188 -0
  383. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +188 -0
  384. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +302 -0
  385. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  386. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +193 -0
  387. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +193 -0
  388. package/dist/features/row-sorting/rowSortingFeature.utils.js +288 -0
  389. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  390. package/dist/features/stockFeatures.cjs +41 -0
  391. package/dist/features/stockFeatures.cjs.map +1 -0
  392. package/dist/features/stockFeatures.d.cts +41 -0
  393. package/dist/features/stockFeatures.d.ts +41 -0
  394. package/dist/features/stockFeatures.js +41 -0
  395. package/dist/features/stockFeatures.js.map +1 -0
  396. package/dist/flex-render.cjs +29 -0
  397. package/dist/flex-render.cjs.map +1 -0
  398. package/dist/flex-render.d.cts +34 -0
  399. package/dist/flex-render.d.ts +34 -0
  400. package/dist/flex-render.js +26 -0
  401. package/dist/flex-render.js.map +1 -0
  402. package/dist/fns/aggregationFns.cjs +161 -0
  403. package/dist/fns/aggregationFns.cjs.map +1 -0
  404. package/dist/fns/aggregationFns.d.cts +83 -0
  405. package/dist/fns/aggregationFns.d.ts +83 -0
  406. package/dist/fns/aggregationFns.js +151 -0
  407. package/dist/fns/aggregationFns.js.map +1 -0
  408. package/dist/fns/filterFns.cjs +215 -0
  409. package/dist/fns/filterFns.cjs.map +1 -0
  410. package/dist/fns/filterFns.d.cts +113 -0
  411. package/dist/fns/filterFns.d.ts +113 -0
  412. package/dist/fns/filterFns.js +199 -0
  413. package/dist/fns/filterFns.js.map +1 -0
  414. package/dist/fns/sortFns.cjs +118 -0
  415. package/dist/fns/sortFns.cjs.map +1 -0
  416. package/dist/fns/sortFns.d.cts +63 -0
  417. package/dist/fns/sortFns.d.ts +63 -0
  418. package/dist/fns/sortFns.js +110 -0
  419. package/dist/fns/sortFns.js.map +1 -0
  420. package/dist/helpers/columnHelper.cjs +41 -0
  421. package/dist/helpers/columnHelper.cjs.map +1 -0
  422. package/dist/helpers/columnHelper.d.cts +71 -0
  423. package/dist/helpers/columnHelper.d.ts +71 -0
  424. package/dist/helpers/columnHelper.js +40 -0
  425. package/dist/helpers/columnHelper.js.map +1 -0
  426. package/dist/helpers/tableFeatures.cjs +20 -0
  427. package/dist/helpers/tableFeatures.cjs.map +1 -0
  428. package/dist/helpers/tableFeatures.d.cts +18 -0
  429. package/dist/helpers/tableFeatures.d.ts +18 -0
  430. package/dist/helpers/tableFeatures.js +19 -0
  431. package/dist/helpers/tableFeatures.js.map +1 -0
  432. package/dist/helpers/tableOptions.cjs +15 -0
  433. package/dist/helpers/tableOptions.cjs.map +1 -0
  434. package/dist/helpers/tableOptions.d.cts +57 -0
  435. package/dist/helpers/tableOptions.d.ts +57 -0
  436. package/dist/helpers/tableOptions.js +14 -0
  437. package/dist/helpers/tableOptions.js.map +1 -0
  438. package/dist/index.cjs +153 -0
  439. package/dist/index.d.cts +78 -0
  440. package/dist/index.d.ts +78 -0
  441. package/dist/index.js +46 -0
  442. package/dist/reactivity.cjs +4 -0
  443. package/dist/reactivity.d.cts +3 -0
  444. package/dist/reactivity.d.ts +3 -0
  445. package/dist/reactivity.js +3 -0
  446. package/dist/static-functions.cjs +263 -0
  447. package/dist/static-functions.d.cts +21 -0
  448. package/dist/static-functions.d.ts +21 -0
  449. package/dist/static-functions.js +22 -0
  450. package/dist/store-reactivity-bindings.cjs +44 -0
  451. package/dist/store-reactivity-bindings.cjs.map +1 -0
  452. package/dist/store-reactivity-bindings.d.cts +22 -0
  453. package/dist/store-reactivity-bindings.d.ts +22 -0
  454. package/dist/store-reactivity-bindings.js +43 -0
  455. package/dist/store-reactivity-bindings.js.map +1 -0
  456. package/dist/types/Cell.d.cts +19 -0
  457. package/dist/types/Cell.d.ts +19 -0
  458. package/dist/types/Column.d.cts +41 -0
  459. package/dist/types/Column.d.ts +41 -0
  460. package/dist/types/ColumnDef.d.cts +114 -0
  461. package/dist/types/ColumnDef.d.ts +114 -0
  462. package/dist/types/Header.d.cts +21 -0
  463. package/dist/types/Header.d.ts +21 -0
  464. package/dist/types/HeaderGroup.d.cts +15 -0
  465. package/dist/types/HeaderGroup.d.ts +15 -0
  466. package/dist/types/Row.d.cts +31 -0
  467. package/dist/types/Row.d.ts +31 -0
  468. package/dist/types/RowModel.d.cts +42 -0
  469. package/dist/types/RowModel.d.ts +42 -0
  470. package/dist/types/RowModelFns.d.cts +23 -0
  471. package/dist/types/RowModelFns.d.ts +23 -0
  472. package/dist/types/Table.d.cts +75 -0
  473. package/dist/types/Table.d.ts +75 -0
  474. package/dist/types/TableFeatures.d.cts +79 -0
  475. package/dist/types/TableFeatures.d.ts +79 -0
  476. package/dist/types/TableOptions.d.cts +70 -0
  477. package/dist/types/TableOptions.d.ts +70 -0
  478. package/dist/types/TableState.d.cts +53 -0
  479. package/dist/types/TableState.d.ts +53 -0
  480. package/dist/types/type-utils.d.cts +23 -0
  481. package/dist/types/type-utils.d.ts +23 -0
  482. package/dist/utils.cjs +243 -0
  483. package/dist/utils.cjs.map +1 -0
  484. package/dist/utils.d.cts +114 -0
  485. package/dist/utils.d.ts +114 -0
  486. package/dist/utils.js +232 -0
  487. package/dist/utils.js.map +1 -0
  488. package/package.json +43 -16
  489. package/skills/column-definitions/SKILL.md +333 -0
  490. package/skills/column-layout/SKILL.md +328 -0
  491. package/skills/column-layout/references/subsystems.md +220 -0
  492. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  493. package/skills/filtering/SKILL.md +357 -0
  494. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  495. package/skills/grouping/SKILL.md +448 -0
  496. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  497. package/skills/pagination/SKILL.md +385 -0
  498. package/skills/row-expanding/SKILL.md +348 -0
  499. package/skills/row-pinning/SKILL.md +269 -0
  500. package/skills/row-selection/SKILL.md +391 -0
  501. package/skills/setup/SKILL.md +400 -0
  502. package/skills/sorting/SKILL.md +344 -0
  503. package/skills/state-management/SKILL.md +388 -0
  504. package/src/core/cells/constructCell.ts +55 -0
  505. package/src/core/cells/coreCellsFeature.ts +49 -0
  506. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  507. package/src/core/cells/coreCellsFeature.utils.ts +68 -0
  508. package/src/core/columns/constructColumn.ts +119 -0
  509. package/src/core/columns/coreColumnsFeature.ts +100 -0
  510. package/src/core/columns/coreColumnsFeature.types.ts +108 -0
  511. package/src/core/columns/coreColumnsFeature.utils.ts +275 -0
  512. package/src/core/coreFeatures.ts +31 -0
  513. package/src/core/headers/buildHeaderGroups.ts +182 -0
  514. package/src/core/headers/constructHeader.ts +67 -0
  515. package/src/core/headers/coreHeadersFeature.ts +78 -0
  516. package/src/core/headers/coreHeadersFeature.types.ts +125 -0
  517. package/src/core/headers/coreHeadersFeature.utils.ts +200 -0
  518. package/src/core/reactivity/coreReactivityFeature.types.ts +56 -0
  519. package/src/core/reactivity/coreReactivityFeature.utils.ts +44 -0
  520. package/src/core/row-models/coreRowModelsFeature.ts +83 -0
  521. package/src/core/row-models/coreRowModelsFeature.types.ts +68 -0
  522. package/src/core/row-models/coreRowModelsFeature.utils.ts +272 -0
  523. package/src/core/row-models/createCoreRowModel.ts +93 -0
  524. package/src/core/rows/constructRow.ts +66 -0
  525. package/src/core/rows/coreRowsFeature.ts +89 -0
  526. package/src/core/rows/coreRowsFeature.types.ts +117 -0
  527. package/src/core/rows/coreRowsFeature.utils.ts +264 -0
  528. package/src/core/table/constructTable.ts +169 -0
  529. package/src/core/table/coreTablesFeature.ts +41 -0
  530. package/src/core/table/coreTablesFeature.types.ts +216 -0
  531. package/src/core/table/coreTablesFeature.utils.ts +131 -0
  532. package/src/features/column-faceting/columnFacetingFeature.ts +120 -0
  533. package/src/features/column-faceting/columnFacetingFeature.types.ts +109 -0
  534. package/src/features/column-faceting/columnFacetingFeature.utils.ts +145 -0
  535. package/src/features/column-faceting/createFacetedMinMaxValues.ts +66 -0
  536. package/src/features/column-faceting/createFacetedRowModel.ts +85 -0
  537. package/src/features/column-faceting/createFacetedUniqueValues.ts +66 -0
  538. package/src/features/column-filtering/columnFilteringFeature.ts +129 -0
  539. package/src/features/column-filtering/columnFilteringFeature.types.ts +232 -0
  540. package/src/features/column-filtering/columnFilteringFeature.utils.ts +331 -0
  541. package/src/features/column-filtering/createFilteredRowModel.ts +183 -0
  542. package/src/features/column-filtering/filterRowsUtils.ts +157 -0
  543. package/src/features/column-grouping/columnGroupingFeature.ts +159 -0
  544. package/src/features/column-grouping/columnGroupingFeature.types.ts +226 -0
  545. package/src/features/column-grouping/columnGroupingFeature.utils.ts +354 -0
  546. package/src/features/column-grouping/createGroupedRowModel.ts +220 -0
  547. package/src/features/column-ordering/columnOrderingFeature.ts +105 -0
  548. package/src/features/column-ordering/columnOrderingFeature.types.ts +60 -0
  549. package/src/features/column-ordering/columnOrderingFeature.utils.ts +241 -0
  550. package/src/features/column-pinning/columnPinningFeature.ts +352 -0
  551. package/src/features/column-pinning/columnPinningFeature.types.ts +192 -0
  552. package/src/features/column-pinning/columnPinningFeature.utils.ts +908 -0
  553. package/src/features/column-resizing/columnResizingFeature.ts +99 -0
  554. package/src/features/column-resizing/columnResizingFeature.types.ts +89 -0
  555. package/src/features/column-resizing/columnResizingFeature.utils.ts +364 -0
  556. package/src/features/column-sizing/columnSizingFeature.ts +182 -0
  557. package/src/features/column-sizing/columnSizingFeature.types.ts +102 -0
  558. package/src/features/column-sizing/columnSizingFeature.utils.ts +381 -0
  559. package/src/features/column-visibility/columnVisibilityFeature.ts +159 -0
  560. package/src/features/column-visibility/columnVisibilityFeature.types.ts +112 -0
  561. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +384 -0
  562. package/src/features/global-filtering/globalFilteringFeature.ts +99 -0
  563. package/src/features/global-filtering/globalFilteringFeature.types.ts +91 -0
  564. package/src/features/global-filtering/globalFilteringFeature.utils.ts +116 -0
  565. package/src/features/row-expanding/createExpandedRowModel.ts +82 -0
  566. package/src/features/row-expanding/rowExpandingFeature.ts +130 -0
  567. package/src/features/row-expanding/rowExpandingFeature.types.ts +147 -0
  568. package/src/features/row-expanding/rowExpandingFeature.utils.ts +374 -0
  569. package/src/features/row-pagination/createPaginatedRowModel.ts +83 -0
  570. package/src/features/row-pagination/rowPaginationFeature.ts +129 -0
  571. package/src/features/row-pagination/rowPaginationFeature.types.ts +152 -0
  572. package/src/features/row-pagination/rowPaginationFeature.utils.ts +400 -0
  573. package/src/features/row-pinning/rowPinningFeature.ts +129 -0
  574. package/src/features/row-pinning/rowPinningFeature.types.ts +95 -0
  575. package/src/features/row-pinning/rowPinningFeature.utils.ts +323 -0
  576. package/src/features/row-selection/rowSelectionFeature.ts +172 -0
  577. package/src/features/row-selection/rowSelectionFeature.types.ts +151 -0
  578. package/src/features/row-selection/rowSelectionFeature.utils.ts +745 -0
  579. package/src/features/row-sorting/createSortedRowModel.ts +157 -0
  580. package/src/features/row-sorting/rowSortingFeature.ts +144 -0
  581. package/src/features/row-sorting/rowSortingFeature.types.ts +235 -0
  582. package/src/features/row-sorting/rowSortingFeature.utils.ts +487 -0
  583. package/src/features/stockFeatures.ts +53 -0
  584. package/src/flex-render.ts +70 -0
  585. package/src/fns/aggregationFns.ts +261 -0
  586. package/src/fns/filterFns.ts +415 -0
  587. package/src/fns/sortFns.ts +218 -0
  588. package/src/helpers/columnHelper.ts +122 -0
  589. package/src/helpers/tableFeatures.ts +24 -0
  590. package/src/helpers/tableOptions.ts +117 -0
  591. package/src/index.ts +137 -42
  592. package/src/process-env.d.ts +6 -0
  593. package/src/reactivity.ts +2 -0
  594. package/src/static-functions.ts +31 -0
  595. package/src/store-reactivity-bindings.ts +47 -0
  596. package/src/types/Cell.ts +37 -0
  597. package/src/types/Column.ts +67 -0
  598. package/src/types/ColumnDef.ts +244 -0
  599. package/src/types/Header.ts +39 -0
  600. package/src/types/HeaderGroup.ts +24 -0
  601. package/src/types/Row.ts +49 -0
  602. package/src/types/RowModel.ts +120 -0
  603. package/src/types/RowModelFns.ts +47 -0
  604. package/src/types/Table.ts +106 -0
  605. package/src/types/TableFeatures.ts +162 -0
  606. package/src/types/TableOptions.ts +112 -0
  607. package/src/types/TableState.ts +73 -0
  608. package/src/types/type-utils.ts +84 -0
  609. package/src/utils.ts +388 -167
  610. package/dist/cjs/aggregationFns.cjs +0 -94
  611. package/dist/cjs/aggregationFns.cjs.map +0 -1
  612. package/dist/cjs/aggregationFns.d.cts +0 -14
  613. package/dist/cjs/columnHelper.cjs +0 -19
  614. package/dist/cjs/columnHelper.cjs.map +0 -1
  615. package/dist/cjs/columnHelper.d.cts +0 -9
  616. package/dist/cjs/core/cell.cjs +0 -38
  617. package/dist/cjs/core/cell.cjs.map +0 -1
  618. package/dist/cjs/core/cell.d.cts +0 -50
  619. package/dist/cjs/core/column.cjs +0 -81
  620. package/dist/cjs/core/column.cjs.map +0 -1
  621. package/dist/cjs/core/column.d.cts +0 -56
  622. package/dist/cjs/core/headers.cjs +0 -310
  623. package/dist/cjs/core/headers.cjs.map +0 -1
  624. package/dist/cjs/core/headers.d.cts +0 -195
  625. package/dist/cjs/core/row.cjs +0 -92
  626. package/dist/cjs/core/row.cjs.map +0 -1
  627. package/dist/cjs/core/row.d.cts +0 -92
  628. package/dist/cjs/core/table.cjs +0 -232
  629. package/dist/cjs/core/table.cjs.map +0 -1
  630. package/dist/cjs/core/table.d.cts +0 -229
  631. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  632. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  633. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  634. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  635. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  636. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  637. package/dist/cjs/features/ColumnGrouping.cjs +0 -133
  638. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  639. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  640. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  641. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  642. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  643. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  644. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  645. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  646. package/dist/cjs/features/ColumnSizing.cjs +0 -307
  647. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  648. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  649. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  650. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  651. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  652. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  653. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  654. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  655. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  656. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  657. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  658. package/dist/cjs/features/RowExpanding.cjs +0 -152
  659. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  660. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  661. package/dist/cjs/features/RowPagination.cjs +0 -161
  662. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  663. package/dist/cjs/features/RowPagination.d.cts +0 -166
  664. package/dist/cjs/features/RowPinning.cjs +0 -132
  665. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  666. package/dist/cjs/features/RowPinning.d.cts +0 -99
  667. package/dist/cjs/features/RowSelection.cjs +0 -296
  668. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  669. package/dist/cjs/features/RowSelection.d.cts +0 -177
  670. package/dist/cjs/features/RowSorting.cjs +0 -200
  671. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  672. package/dist/cjs/features/RowSorting.d.cts +0 -238
  673. package/dist/cjs/filterFns.cjs +0 -88
  674. package/dist/cjs/filterFns.cjs.map +0 -1
  675. package/dist/cjs/filterFns.d.cts +0 -14
  676. package/dist/cjs/index.cjs +0 -88
  677. package/dist/cjs/index.cjs.map +0 -1
  678. package/dist/cjs/index.d.cts +0 -34
  679. package/dist/cjs/sortingFns.cjs +0 -91
  680. package/dist/cjs/sortingFns.cjs.map +0 -1
  681. package/dist/cjs/sortingFns.d.cts +0 -12
  682. package/dist/cjs/types.d.cts +0 -120
  683. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  684. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  685. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  686. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  687. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  688. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  689. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  690. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  691. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  692. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -35
  693. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  694. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  695. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  696. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  697. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  698. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -37
  699. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  700. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  701. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  702. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  703. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  704. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  705. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  706. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  707. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  708. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  709. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  710. package/dist/cjs/utils/getSortedRowModel.cjs +0 -88
  711. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  712. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  713. package/dist/cjs/utils.cjs +0 -98
  714. package/dist/cjs/utils.cjs.map +0 -1
  715. package/dist/cjs/utils.d.cts +0 -39
  716. package/dist/esm/aggregationFns.d.ts +0 -14
  717. package/dist/esm/aggregationFns.js +0 -94
  718. package/dist/esm/aggregationFns.js.map +0 -1
  719. package/dist/esm/columnHelper.d.ts +0 -9
  720. package/dist/esm/columnHelper.js +0 -19
  721. package/dist/esm/columnHelper.js.map +0 -1
  722. package/dist/esm/core/cell.d.ts +0 -50
  723. package/dist/esm/core/cell.js +0 -38
  724. package/dist/esm/core/cell.js.map +0 -1
  725. package/dist/esm/core/column.d.ts +0 -56
  726. package/dist/esm/core/column.js +0 -81
  727. package/dist/esm/core/column.js.map +0 -1
  728. package/dist/esm/core/headers.d.ts +0 -195
  729. package/dist/esm/core/headers.js +0 -310
  730. package/dist/esm/core/headers.js.map +0 -1
  731. package/dist/esm/core/row.d.ts +0 -92
  732. package/dist/esm/core/row.js +0 -92
  733. package/dist/esm/core/row.js.map +0 -1
  734. package/dist/esm/core/table.d.ts +0 -229
  735. package/dist/esm/core/table.js +0 -232
  736. package/dist/esm/core/table.js.map +0 -1
  737. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  738. package/dist/esm/features/ColumnFaceting.js +0 -29
  739. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  740. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  741. package/dist/esm/features/ColumnFiltering.js +0 -137
  742. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  743. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  744. package/dist/esm/features/ColumnGrouping.js +0 -133
  745. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  746. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  747. package/dist/esm/features/ColumnOrdering.js +0 -76
  748. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  749. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  750. package/dist/esm/features/ColumnPinning.js +0 -145
  751. package/dist/esm/features/ColumnPinning.js.map +0 -1
  752. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  753. package/dist/esm/features/ColumnSizing.js +0 -307
  754. package/dist/esm/features/ColumnSizing.js.map +0 -1
  755. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  756. package/dist/esm/features/ColumnVisibility.js +0 -144
  757. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  758. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  759. package/dist/esm/features/GlobalFaceting.js +0 -29
  760. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  761. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  762. package/dist/esm/features/GlobalFiltering.js +0 -50
  763. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  764. package/dist/esm/features/RowExpanding.d.ts +0 -155
  765. package/dist/esm/features/RowExpanding.js +0 -152
  766. package/dist/esm/features/RowExpanding.js.map +0 -1
  767. package/dist/esm/features/RowPagination.d.ts +0 -166
  768. package/dist/esm/features/RowPagination.js +0 -161
  769. package/dist/esm/features/RowPagination.js.map +0 -1
  770. package/dist/esm/features/RowPinning.d.ts +0 -99
  771. package/dist/esm/features/RowPinning.js +0 -132
  772. package/dist/esm/features/RowPinning.js.map +0 -1
  773. package/dist/esm/features/RowSelection.d.ts +0 -177
  774. package/dist/esm/features/RowSelection.js +0 -296
  775. package/dist/esm/features/RowSelection.js.map +0 -1
  776. package/dist/esm/features/RowSorting.d.ts +0 -238
  777. package/dist/esm/features/RowSorting.js +0 -200
  778. package/dist/esm/features/RowSorting.js.map +0 -1
  779. package/dist/esm/filterFns.d.ts +0 -14
  780. package/dist/esm/filterFns.js +0 -88
  781. package/dist/esm/filterFns.js.map +0 -1
  782. package/dist/esm/index.d.ts +0 -34
  783. package/dist/esm/index.js +0 -88
  784. package/dist/esm/index.js.map +0 -1
  785. package/dist/esm/sortingFns.d.ts +0 -12
  786. package/dist/esm/sortingFns.js +0 -91
  787. package/dist/esm/sortingFns.js.map +0 -1
  788. package/dist/esm/types.d.ts +0 -120
  789. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  790. package/dist/esm/utils/filterRowsUtils.js +0 -99
  791. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  792. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  793. package/dist/esm/utils/getCoreRowModel.js +0 -54
  794. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  795. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  796. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  797. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  798. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  799. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -35
  800. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  801. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  802. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  803. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  804. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  805. package/dist/esm/utils/getFacetedUniqueValues.js +0 -37
  806. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  807. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  808. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  809. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  810. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  811. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  812. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  813. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  814. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  815. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  816. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  817. package/dist/esm/utils/getSortedRowModel.js +0 -88
  818. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  819. package/dist/esm/utils.d.ts +0 -39
  820. package/dist/esm/utils.js +0 -98
  821. package/dist/esm/utils.js.map +0 -1
  822. package/src/aggregationFns.ts +0 -123
  823. package/src/columnHelper.ts +0 -91
  824. package/src/core/cell.ts +0 -91
  825. package/src/core/column.ts +0 -165
  826. package/src/core/headers.ts +0 -639
  827. package/src/core/row.ts +0 -201
  828. package/src/core/table.ts +0 -563
  829. package/src/features/ColumnFaceting.ts +0 -84
  830. package/src/features/ColumnFiltering.ts +0 -429
  831. package/src/features/ColumnGrouping.ts +0 -422
  832. package/src/features/ColumnOrdering.ts +0 -161
  833. package/src/features/ColumnPinning.ts +0 -336
  834. package/src/features/ColumnSizing.ts +0 -579
  835. package/src/features/ColumnVisibility.ts +0 -317
  836. package/src/features/GlobalFaceting.ts +0 -66
  837. package/src/features/GlobalFiltering.ts +0 -162
  838. package/src/features/RowExpanding.ts +0 -355
  839. package/src/features/RowPagination.ts +0 -396
  840. package/src/features/RowPinning.ts +0 -273
  841. package/src/features/RowSelection.ts +0 -668
  842. package/src/features/RowSorting.ts +0 -542
  843. package/src/filterFns.ts +0 -150
  844. package/src/sortingFns.ts +0 -128
  845. package/src/types.ts +0 -361
  846. package/src/utils/filterRowsUtils.ts +0 -130
  847. package/src/utils/getCoreRowModel.ts +0 -82
  848. package/src/utils/getExpandedRowModel.ts +0 -51
  849. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  850. package/src/utils/getFacetedRowModel.ts +0 -44
  851. package/src/utils/getFacetedUniqueValues.ts +0 -42
  852. package/src/utils/getFilteredRowModel.ts +0 -151
  853. package/src/utils/getGroupedRowModel.ts +0 -181
  854. package/src/utils/getPaginationRowModel.ts +0 -60
  855. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,226 @@
1
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
2
+ import type { Table } from '../../types/Table'
3
+ import type { BuiltInAggregationFn } from '../../fns/aggregationFns'
4
+ import type {
5
+ CellData,
6
+ OnChangeFn,
7
+ RowData,
8
+ Updater,
9
+ } from '../../types/type-utils'
10
+ import type { TableFeatures } from '../../types/TableFeatures'
11
+ import type { Row } from '../../types/Row'
12
+ import type { Cell } from '../../types/Cell'
13
+ import type { ColumnDefTemplate } from '../../types/ColumnDef'
14
+
15
+ export type GroupingState = Array<string>
16
+
17
+ export interface TableState_ColumnGrouping {
18
+ grouping: GroupingState
19
+ }
20
+
21
+ export interface RowModelFns_ColumnGrouping<
22
+ TFeatures extends TableFeatures,
23
+ TData extends RowData,
24
+ > {
25
+ aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>
26
+ }
27
+
28
+ export interface AggregationFns {}
29
+
30
+ export type AggregationFn<
31
+ TFeatures extends TableFeatures,
32
+ TData extends RowData,
33
+ > = (
34
+ columnId: string,
35
+ leafRows: Array<Row<TFeatures, TData>>,
36
+ childRows: Array<Row<TFeatures, TData>>,
37
+ ) => any
38
+
39
+ export type CustomAggregationFns<
40
+ TFeatures extends TableFeatures,
41
+ TData extends RowData,
42
+ > = Record<string, AggregationFn<TFeatures, TData>>
43
+
44
+ export type AggregationFnOption<
45
+ TFeatures extends TableFeatures,
46
+ TData extends RowData,
47
+ > =
48
+ | 'auto'
49
+ | keyof AggregationFns
50
+ | BuiltInAggregationFn
51
+ | AggregationFn<TFeatures, TData>
52
+
53
+ export interface ColumnDef_ColumnGrouping<
54
+ TFeatures extends TableFeatures,
55
+ TData extends RowData,
56
+ TValue extends CellData = CellData,
57
+ > {
58
+ /**
59
+ * The cell to display each row for the column if the cell is an aggregate. If a function is passed, it will be passed a props object with the context of the cell and should return the property type for your adapter (the exact type depends on the adapter being used).
60
+ */
61
+ aggregatedCell?: ColumnDefTemplate<
62
+ ReturnType<Cell<TFeatures, TData, TValue>['getContext']>
63
+ >
64
+ /**
65
+ * The resolved aggregation function for the column.
66
+ */
67
+ aggregationFn?: AggregationFnOption<TFeatures, TData>
68
+ /**
69
+ * Allows this column to be added to grouping state.
70
+ *
71
+ * Defaults to `true`; table-level `enableGrouping` must also allow grouping.
72
+ */
73
+ enableGrouping?: boolean
74
+ /**
75
+ * Specify a value to be used for grouping rows on this column. If this option is not specified, the value derived from `accessorKey` / `accessorFn` will be used instead.
76
+ */
77
+ getGroupingValue?: (row: TData) => any
78
+ }
79
+
80
+ export interface Column_ColumnGrouping<
81
+ TFeatures extends TableFeatures,
82
+ TData extends RowData,
83
+ > {
84
+ /**
85
+ * Returns the aggregation function for the column.
86
+ */
87
+ getAggregationFn: () => AggregationFn<TFeatures, TData> | undefined
88
+ /**
89
+ * Returns the automatically inferred aggregation function for the column.
90
+ */
91
+ getAutoAggregationFn: () => AggregationFn<TFeatures, TData> | undefined
92
+ /**
93
+ * Checks whether this column can currently be grouped.
94
+ */
95
+ getCanGroup: () => boolean
96
+ /**
97
+ * Finds this column's position in the ordered grouping state.
98
+ */
99
+ getGroupedIndex: () => number
100
+ /**
101
+ * Checks whether this column id is present in grouping state.
102
+ */
103
+ getIsGrouped: () => boolean
104
+ /**
105
+ * Returns a function that toggles the grouping state of the column. This is useful for passing to the `onClick` prop of a button.
106
+ */
107
+ getToggleGroupingHandler: () => () => void
108
+ /**
109
+ * Toggles the grouping state of the column.
110
+ */
111
+ toggleGrouping: () => void
112
+ }
113
+
114
+ export interface Row_ColumnGrouping {
115
+ _groupingValuesCache: Record<string, any>
116
+ /**
117
+ * Reads the value used to group this row for a column id.
118
+ */
119
+ getGroupingValue: (columnId: string) => unknown
120
+ /**
121
+ * Checks whether this row represents a grouped row.
122
+ */
123
+ getIsGrouped: () => boolean
124
+ /**
125
+ * If this row is grouped, this is the id of the column that this row is grouped by.
126
+ */
127
+ groupingColumnId?: string
128
+ /**
129
+ * If this row is grouped, this is the unique/shared value for the `groupingColumnId` for all of the rows in this group.
130
+ */
131
+ groupingValue?: unknown
132
+ }
133
+
134
+ export interface Cell_ColumnGrouping {
135
+ /**
136
+ * Checks whether this cell should render an aggregated value.
137
+ */
138
+ getIsAggregated: () => boolean
139
+ /**
140
+ * Checks whether this cell represents the active grouping column.
141
+ */
142
+ getIsGrouped: () => boolean
143
+ /**
144
+ * Checks whether this cell is hidden as a grouping placeholder.
145
+ */
146
+ getIsPlaceholder: () => boolean
147
+ }
148
+
149
+ export interface ColumnDefaultOptions {
150
+ enableGrouping: boolean
151
+ onGroupingChange: OnChangeFn<GroupingState>
152
+ }
153
+
154
+ export interface TableOptions_ColumnGrouping {
155
+ /**
156
+ * Allows columns to be grouped for this table.
157
+ */
158
+ enableGrouping?: boolean
159
+ /**
160
+ * Grouping columns are automatically reordered by default to the start of the columns list. If you would rather remove them or leave them as-is, set the appropriate mode here.
161
+ */
162
+ groupedColumnMode?: false | 'reorder' | 'remove'
163
+ /**
164
+ * Enables manual grouping. If this option is set to `true`, the table will not automatically group rows using `getGroupedRowModel()` and instead will expect you to manually group the rows before passing them to the table. This is useful if you are doing server-side grouping and aggregation.
165
+ */
166
+ manualGrouping?: boolean
167
+ /**
168
+ * Called with an updater when grouping state changes. Pair this with
169
+ * `state.grouping` when using external state; external atoms can own the
170
+ * slice without this callback.
171
+ */
172
+ onGroupingChange?: OnChangeFn<GroupingState>
173
+ }
174
+
175
+ export type GroupingColumnMode = false | 'reorder' | 'remove'
176
+
177
+ export interface Table_ColumnGrouping<
178
+ TFeatures extends TableFeatures,
179
+ TData extends RowData,
180
+ > {
181
+ /**
182
+ * Resets `grouping` to `initialState.grouping`.
183
+ *
184
+ * Pass `true` to ignore initial state and reset to `[]`.
185
+ */
186
+ resetGrouping: (defaultState?: boolean) => void
187
+ /**
188
+ * Updates grouping state with a next ordered id array or updater function.
189
+ */
190
+ setGrouping: (updater: Updater<GroupingState>) => void
191
+ }
192
+
193
+ export interface Table_RowModels_Grouped<
194
+ TFeatures extends TableFeatures,
195
+ TData extends RowData,
196
+ > {
197
+ /**
198
+ * Resolves the row model after grouping and aggregation have been applied.
199
+ */
200
+ getGroupedRowModel: () => RowModel<TFeatures, TData>
201
+ /**
202
+ * Reads the row model immediately before grouping.
203
+ */
204
+ getPreGroupedRowModel: () => RowModel<TFeatures, TData>
205
+ }
206
+
207
+ export interface CreateRowModel_Grouped<
208
+ TFeatures extends TableFeatures,
209
+ TData extends RowData,
210
+ > {
211
+ /**
212
+ * Factory used to retrieve the grouped row model. If using server-side
213
+ * grouping, this is not required. To use client-side grouping, pass
214
+ * `createGroupedRowModel()` or implement your own factory.
215
+ */
216
+ groupedRowModel?: (
217
+ table: Table<TFeatures, TData>,
218
+ ) => () => RowModel<TFeatures, TData>
219
+ }
220
+
221
+ export interface CachedRowModel_Grouped<
222
+ TFeatures extends TableFeatures,
223
+ TData extends RowData,
224
+ > {
225
+ groupedRowModel: () => RowModel<TFeatures, TData>
226
+ }
@@ -0,0 +1,354 @@
1
+ import { cloneState, isFunction } from '../../utils'
2
+ import type { Column_Internal } from '../../types/Column'
3
+ import type { CellData, RowData, Updater } from '../../types/type-utils'
4
+ import type { TableFeatures } from '../../types/TableFeatures'
5
+ import type { Table_Internal } from '../../types/Table'
6
+ import type { Row } from '../../types/Row'
7
+ import type { Cell } from '../../types/Cell'
8
+ import type {
9
+ AggregationFn,
10
+ GroupingState,
11
+ Row_ColumnGrouping,
12
+ } from './columnGroupingFeature.types'
13
+
14
+ /**
15
+ * Creates the default grouping state.
16
+ *
17
+ * The feature default is an empty array, meaning no columns are grouped. Reset
18
+ * APIs use this value when `defaultState` is `true`.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const grouping = getDefaultGroupingState()
23
+ * ```
24
+ */
25
+ export function getDefaultGroupingState(): GroupingState {
26
+ return []
27
+ }
28
+
29
+ /**
30
+ * Adds or removes this column id from the grouping state.
31
+ *
32
+ * Existing grouped columns keep their order. A column already present in
33
+ * `state.grouping` is removed; otherwise it is appended.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * column_toggleGrouping(column)
38
+ * ```
39
+ */
40
+ export function column_toggleGrouping<
41
+ TFeatures extends TableFeatures,
42
+ TData extends RowData,
43
+ TValue extends CellData = CellData,
44
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
45
+ table_setGrouping(column.table, (old) => {
46
+ // Find any existing grouping for this column
47
+ if (old.includes(column.id)) {
48
+ return old.filter((d) => d !== column.id)
49
+ }
50
+
51
+ return [...old, column.id]
52
+ })
53
+ }
54
+
55
+ /**
56
+ * Checks whether this column can be used for grouping.
57
+ *
58
+ * Grouping must be enabled at the column and table level, and the column must
59
+ * either have an accessor or provide `getGroupingValue`.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const canGroup = column_getCanGroup(column)
64
+ * ```
65
+ */
66
+ export function column_getCanGroup<
67
+ TFeatures extends TableFeatures,
68
+ TData extends RowData,
69
+ TValue extends CellData = CellData,
70
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
71
+ return (
72
+ (column.columnDef.enableGrouping ?? true) &&
73
+ (column.table.options.enableGrouping ?? true) &&
74
+ (!!column.accessorFn || !!column.columnDef.getGroupingValue)
75
+ )
76
+ }
77
+
78
+ /**
79
+ * Checks whether this column id is present in `state.grouping`.
80
+ *
81
+ * The result only reflects grouping state, not whether the grouped row model has
82
+ * been calculated yet.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const isGrouped = column_getIsGrouped(column)
87
+ * ```
88
+ */
89
+ export function column_getIsGrouped<
90
+ TFeatures extends TableFeatures,
91
+ TData extends RowData,
92
+ TValue extends CellData = CellData,
93
+ >(column: Column_Internal<TFeatures, TData, TValue>): boolean {
94
+ return !!column.table.atoms.grouping?.get()?.includes(column.id)
95
+ }
96
+
97
+ /**
98
+ * Finds this column's position in the ordered grouping state.
99
+ *
100
+ * The result is `-1` when the column is not grouped.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const index = column_getGroupedIndex(column)
105
+ * ```
106
+ */
107
+ export function column_getGroupedIndex<
108
+ TFeatures extends TableFeatures,
109
+ TData extends RowData,
110
+ TValue extends CellData = CellData,
111
+ >(column: Column_Internal<TFeatures, TData, TValue>): number {
112
+ return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1
113
+ }
114
+
115
+ /**
116
+ * Creates a header/control handler that toggles grouping for this column.
117
+ *
118
+ * The handler is a no-op when `column_getCanGroup(column)` is false.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const onClick = column_getToggleGroupingHandler(column)
123
+ * ```
124
+ */
125
+ export function column_getToggleGroupingHandler<
126
+ TFeatures extends TableFeatures,
127
+ TData extends RowData,
128
+ TValue extends CellData = CellData,
129
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
130
+ const canGroup = column_getCanGroup(column)
131
+
132
+ return () => {
133
+ if (!canGroup) return
134
+ column_toggleGrouping(column)
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Chooses a built-in aggregation function from the first core row value.
140
+ *
141
+ * Numeric columns default to `sum`, date-like values default to `extent`, and
142
+ * other value types leave aggregation unspecified.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * const aggregationFn = column_getAutoAggregationFn(column)
147
+ * ```
148
+ */
149
+ export function column_getAutoAggregationFn<
150
+ TFeatures extends TableFeatures,
151
+ TData extends RowData,
152
+ TValue extends CellData = CellData,
153
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
154
+ const aggregationFns:
155
+ | Record<string, AggregationFn<TFeatures, TData>>
156
+ | undefined = column.table._rowModelFns.aggregationFns
157
+
158
+ const firstRow = column.table.getCoreRowModel().flatRows[0]
159
+
160
+ const value = firstRow?.getValue(column.id)
161
+
162
+ if (typeof value === 'number') {
163
+ return aggregationFns?.sum
164
+ }
165
+
166
+ if (Object.prototype.toString.call(value) === '[object Date]') {
167
+ return aggregationFns?.extent
168
+ }
169
+ }
170
+
171
+ /**
172
+ * Resolves the aggregation function configured for a column.
173
+ *
174
+ * Function-valued `columnDef.aggregationFn` is returned directly, `'auto'`
175
+ * delegates to `column_getAutoAggregationFn`, and string values are looked up in
176
+ * the table's aggregation function registry.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * const aggregationFn = column_getAggregationFn(column)
181
+ * ```
182
+ */
183
+ export function column_getAggregationFn<
184
+ TFeatures extends TableFeatures,
185
+ TData extends RowData,
186
+ TValue extends CellData = CellData,
187
+ >(column: Column_Internal<TFeatures, TData, TValue>) {
188
+ const aggregationFns:
189
+ | Record<string, AggregationFn<TFeatures, TData>>
190
+ | undefined = column.table._rowModelFns.aggregationFns
191
+
192
+ return isFunction(column.columnDef.aggregationFn)
193
+ ? column.columnDef.aggregationFn
194
+ : column.columnDef.aggregationFn === 'auto'
195
+ ? column_getAutoAggregationFn(column)
196
+ : aggregationFns?.[column.columnDef.aggregationFn as string]
197
+ }
198
+
199
+ /**
200
+ * Routes a grouping updater through the table's grouping change handler.
201
+ *
202
+ * The updater may be a next `GroupingState` array or a function of the previous
203
+ * grouping state, matching the instance `table.setGrouping` behavior.
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * table_setGrouping(table, (old) => [...old, 'status'])
208
+ * ```
209
+ */
210
+ export function table_setGrouping<
211
+ TFeatures extends TableFeatures,
212
+ TData extends RowData,
213
+ >(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {
214
+ table.options.onGroupingChange?.(updater)
215
+ }
216
+
217
+ /**
218
+ * Resets `grouping` to the configured initial state or feature default.
219
+ *
220
+ * With no argument, the reset clones `table.initialState.grouping` when it
221
+ * exists. Passing `true` ignores initial state and resets to `[]`.
222
+ *
223
+ * @example
224
+ * ```ts
225
+ * table_resetGrouping(table)
226
+ * table_resetGrouping(table, true)
227
+ * ```
228
+ */
229
+ export function table_resetGrouping<
230
+ TFeatures extends TableFeatures,
231
+ TData extends RowData,
232
+ >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
233
+ table_setGrouping(
234
+ table,
235
+ defaultState ? [] : cloneState(table.initialState.grouping ?? []),
236
+ )
237
+ }
238
+
239
+ /**
240
+ * Checks whether this row was created as a grouped row.
241
+ *
242
+ * Grouped rows carry a `groupingColumnId`; ordinary leaf rows do not.
243
+ *
244
+ * @example
245
+ * ```ts
246
+ * const isGrouped = row_getIsGrouped(row)
247
+ * ```
248
+ */
249
+ export function row_getIsGrouped<
250
+ TFeatures extends TableFeatures,
251
+ TData extends RowData,
252
+ >(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {
253
+ return !!row.groupingColumnId
254
+ }
255
+
256
+ /**
257
+ * Reads and caches this row's grouping value for a column.
258
+ *
259
+ * `columnDef.getGroupingValue` wins when provided; otherwise the normal row
260
+ * accessor value is used.
261
+ *
262
+ * @example
263
+ * ```ts
264
+ * const groupValue = row_getGroupingValue(row, 'status')
265
+ * ```
266
+ */
267
+ export function row_getGroupingValue<
268
+ TFeatures extends TableFeatures,
269
+ TData extends RowData,
270
+ >(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {
271
+ if (row._groupingValuesCache?.hasOwnProperty(columnId)) {
272
+ return row._groupingValuesCache[columnId]
273
+ }
274
+
275
+ const column = row.table.getColumn(columnId) as Column_Internal<
276
+ TFeatures,
277
+ TData
278
+ >
279
+
280
+ if (!column.columnDef.getGroupingValue) {
281
+ return row.getValue(columnId)
282
+ }
283
+
284
+ if (row._groupingValuesCache) {
285
+ row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(
286
+ row.original,
287
+ )
288
+ }
289
+
290
+ return row._groupingValuesCache?.[columnId]
291
+ }
292
+
293
+ /**
294
+ * Checks whether this cell represents the grouped column for a grouped row.
295
+ *
296
+ * This is the cell that usually renders the grouped value and expansion control.
297
+ *
298
+ * @example
299
+ * ```ts
300
+ * const isGroupedCell = cell_getIsGrouped(cell)
301
+ * ```
302
+ */
303
+ export function cell_getIsGrouped<
304
+ TFeatures extends TableFeatures,
305
+ TData extends RowData,
306
+ TValue extends CellData = CellData,
307
+ >(cell: Cell<TFeatures, TData, TValue>) {
308
+ const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>
309
+ return (
310
+ column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId
311
+ )
312
+ }
313
+
314
+ /**
315
+ * Checks whether this cell is a placeholder hidden by grouping.
316
+ *
317
+ * Placeholder cells belong to grouped columns other than the row's active
318
+ * grouping column.
319
+ *
320
+ * @example
321
+ * ```ts
322
+ * const isPlaceholder = cell_getIsPlaceholder(cell)
323
+ * ```
324
+ */
325
+ export function cell_getIsPlaceholder<
326
+ TFeatures extends TableFeatures,
327
+ TData extends RowData,
328
+ TValue extends CellData = CellData,
329
+ >(cell: Cell<TFeatures, TData, TValue>) {
330
+ return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)
331
+ }
332
+
333
+ /**
334
+ * Checks whether this cell should render an aggregated value.
335
+ *
336
+ * Aggregated cells are non-placeholder, non-grouped cells on rows that have
337
+ * subRows.
338
+ *
339
+ * @example
340
+ * ```ts
341
+ * const isAggregated = cell_getIsAggregated(cell)
342
+ * ```
343
+ */
344
+ export function cell_getIsAggregated<
345
+ TFeatures extends TableFeatures,
346
+ TData extends RowData,
347
+ TValue extends CellData = CellData,
348
+ >(cell: Cell<TFeatures, TData, TValue>) {
349
+ return (
350
+ !cell_getIsGrouped(cell) &&
351
+ !cell_getIsPlaceholder(cell) &&
352
+ !!cell.row.subRows.length
353
+ )
354
+ }