@tanstack/table-core 9.0.0-beta.9 → 9.0.1

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 (672) hide show
  1. package/README.md +27 -9
  2. package/dist/core/cells/constructCell.d.ts +4 -6
  3. package/dist/core/cells/constructCell.js +4 -6
  4. package/dist/core/cells/coreCellsFeature.d.ts +1 -3
  5. package/dist/core/cells/coreCellsFeature.js +1 -2
  6. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
  7. package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
  8. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  9. package/dist/core/columns/constructColumn.d.ts +4 -6
  10. package/dist/core/columns/constructColumn.js +8 -9
  11. package/dist/core/columns/coreColumnsFeature.d.ts +2 -4
  12. package/dist/core/columns/coreColumnsFeature.js +14 -21
  13. package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
  14. package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
  15. package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
  16. package/dist/core/coreFeatures.d.ts +2 -2
  17. package/dist/core/coreFeatures.js +1 -2
  18. package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
  19. package/dist/core/headers/buildHeaderGroups.js +99 -85
  20. package/dist/core/headers/constructHeader.d.ts +3 -5
  21. package/dist/core/headers/constructHeader.js +4 -6
  22. package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
  23. package/dist/core/headers/coreHeadersFeature.js +9 -13
  24. package/dist/core/headers/coreHeadersFeature.types.d.ts +22 -12
  25. package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
  26. package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
  27. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
  28. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
  29. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  30. package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
  31. package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
  32. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
  33. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  34. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
  35. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
  36. package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
  37. package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
  38. package/dist/core/row-models/createCoreRowModel.js +29 -24
  39. package/dist/core/rows/constructRow.d.ts +3 -5
  40. package/dist/core/rows/constructRow.js +9 -13
  41. package/dist/core/rows/coreRowsFeature.d.ts +1 -3
  42. package/dist/core/rows/coreRowsFeature.js +20 -5
  43. package/dist/core/rows/coreRowsFeature.types.d.ts +43 -11
  44. package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
  45. package/dist/core/rows/coreRowsFeature.utils.js +65 -14
  46. package/dist/core/table/constructTable.d.ts +2 -4
  47. package/dist/core/table/constructTable.js +54 -22
  48. package/dist/core/table/coreTablesFeature.d.ts +1 -3
  49. package/dist/core/table/coreTablesFeature.js +1 -2
  50. package/dist/core/table/coreTablesFeature.types.d.ts +41 -24
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +71 -25
  53. package/dist/experimental-worker-plugin.d.ts +5 -0
  54. package/dist/experimental-worker-plugin.js +6 -0
  55. package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
  56. package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
  57. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
  58. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
  59. package/dist/features/cell-selection/cellSelectionFeature.utils.js +879 -0
  60. package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
  61. package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
  62. package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
  63. package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
  64. package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
  65. package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
  66. package/dist/features/column-faceting/columnFacetingFeature.d.ts +7 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +14 -43
  68. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
  69. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
  70. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -14
  71. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
  72. package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
  73. package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
  74. package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
  75. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
  76. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
  77. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
  78. package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
  79. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +90 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +25 -18
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +42 -23
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +34 -30
  84. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  85. package/dist/features/column-filtering/filterFns.js +377 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +12 -4
  87. package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
  88. package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
  89. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
  90. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
  91. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
  92. package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
  93. package/dist/features/column-grouping/createGroupedRowModel.js +79 -43
  94. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
  95. package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
  96. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
  97. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
  98. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
  99. package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
  100. package/dist/features/column-pinning/columnPinningFeature.js +126 -146
  101. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
  102. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
  103. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
  104. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
  105. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  106. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
  107. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
  108. package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
  109. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
  110. package/dist/features/column-sizing/columnSizingFeature.js +35 -70
  111. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
  112. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
  113. package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
  114. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
  115. package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
  116. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
  117. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +39 -32
  119. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
  120. package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
  121. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
  122. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
  123. package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
  124. package/dist/features/row-aggregation/aggregationFns.d.ts +67 -0
  125. package/dist/features/row-aggregation/aggregationFns.js +279 -0
  126. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
  127. package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
  128. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
  129. package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
  130. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
  131. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
  132. package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
  133. package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
  134. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
  135. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  136. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +7 -18
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +26 -22
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +66 -45
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +10 -12
  141. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
  142. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  143. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +6 -17
  144. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
  145. package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
  146. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
  147. package/dist/features/row-pinning/rowPinningFeature.js +5 -18
  148. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
  149. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
  150. package/dist/features/row-pinning/rowPinningFeature.utils.js +12 -18
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +70 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +69 -16
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +70 -38
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +229 -108
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +72 -54
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +2 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +74 -31
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +39 -27
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +66 -33
  163. package/dist/features/row-sorting/sortFns.d.ts +96 -0
  164. package/dist/features/row-sorting/sortFns.js +216 -0
  165. package/dist/features/stockFeatures.d.ts +7 -3
  166. package/dist/features/stockFeatures.js +7 -2
  167. package/dist/flex-render.d.ts +2 -4
  168. package/dist/flex-render.js +10 -3
  169. package/dist/helpers/columnHelper.d.ts +3 -5
  170. package/dist/helpers/columnHelper.js +1 -2
  171. package/dist/helpers/metaHelper.d.ts +1 -2
  172. package/dist/helpers/metaHelper.js +1 -2
  173. package/dist/helpers/tableFeatures.d.ts +30 -13
  174. package/dist/helpers/tableFeatures.js +28 -10
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +32 -26
  178. package/dist/index.js +9 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +12 -9
  182. package/dist/static-functions.js +13 -10
  183. package/dist/store-reactivity-bindings.d.ts +1 -3
  184. package/dist/store-reactivity-bindings.js +3 -4
  185. package/dist/types/Cell.d.ts +9 -5
  186. package/dist/types/Column.d.ts +13 -15
  187. package/dist/types/ColumnDef.d.ts +23 -19
  188. package/dist/types/Header.d.ts +3 -5
  189. package/dist/types/HeaderGroup.d.ts +3 -5
  190. package/dist/types/Row.d.ts +7 -7
  191. package/dist/types/RowModel.d.ts +11 -25
  192. package/dist/types/RowModelFns.d.ts +5 -7
  193. package/dist/types/Table.d.ts +29 -32
  194. package/dist/types/TableFeatures.d.ts +372 -30
  195. package/dist/types/TableOptions.d.ts +24 -14
  196. package/dist/types/TableState.d.ts +8 -8
  197. package/dist/types/type-utils.d.ts +10 -4
  198. package/dist/utils.d.ts +42 -27
  199. package/dist/utils.js +71 -33
  200. package/dist/worker/createTableWorker.d.ts +102 -0
  201. package/dist/worker/createTableWorker.js +188 -0
  202. package/dist/worker/createWorkerRowModel.d.ts +40 -0
  203. package/dist/worker/createWorkerRowModel.js +77 -0
  204. package/dist/worker/initTableWorker.d.ts +31 -0
  205. package/dist/worker/initTableWorker.js +99 -0
  206. package/dist/worker/rebuildRowModel.d.ts +11 -0
  207. package/dist/worker/rebuildRowModel.js +71 -0
  208. package/dist/worker/serializeRowModel.js +51 -0
  209. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  210. package/dist/worker/tableWorkerProtocol.js +26 -0
  211. package/package.json +12 -28
  212. package/skills/aggregation/SKILL.md +137 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +200 -0
  215. package/skills/cell-spanning/SKILL.md +158 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +93 -0
  218. package/skills/column-filtering/SKILL.md +83 -0
  219. package/skills/column-ordering/SKILL.md +71 -0
  220. package/skills/column-pinning/SKILL.md +85 -0
  221. package/skills/column-resizing/SKILL.md +87 -0
  222. package/skills/column-sizing/SKILL.md +68 -0
  223. package/skills/column-visibility/SKILL.md +71 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +76 -0
  227. package/skills/global-filtering/SKILL.md +80 -0
  228. package/skills/grouping/SKILL.md +47 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +33 -344
  231. package/skills/row-pinning/SKILL.md +43 -234
  232. package/skills/row-selection/SKILL.md +79 -296
  233. package/skills/sorting/SKILL.md +41 -303
  234. package/skills/table-features/SKILL.md +159 -0
  235. package/skills/typescript/SKILL.md +126 -0
  236. package/dist/core/cells/constructCell.cjs +0 -34
  237. package/dist/core/cells/constructCell.cjs.map +0 -1
  238. package/dist/core/cells/constructCell.d.cts +0 -17
  239. package/dist/core/cells/constructCell.js.map +0 -1
  240. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  241. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  242. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  243. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  244. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  245. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  246. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  247. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  248. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  249. package/dist/core/columns/constructColumn.cjs +0 -61
  250. package/dist/core/columns/constructColumn.cjs.map +0 -1
  251. package/dist/core/columns/constructColumn.d.cts +0 -16
  252. package/dist/core/columns/constructColumn.js.map +0 -1
  253. package/dist/core/columns/coreColumnsFeature.cjs +0 -70
  254. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  255. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  256. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  257. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  258. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
  259. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  260. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  261. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  262. package/dist/core/coreFeatures.cjs +0 -25
  263. package/dist/core/coreFeatures.cjs.map +0 -1
  264. package/dist/core/coreFeatures.d.cts +0 -26
  265. package/dist/core/coreFeatures.js.map +0 -1
  266. package/dist/core/headers/buildHeaderGroups.cjs +0 -103
  267. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  268. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  269. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  270. package/dist/core/headers/constructHeader.cjs +0 -41
  271. package/dist/core/headers/constructHeader.cjs.map +0 -1
  272. package/dist/core/headers/constructHeader.d.cts +0 -22
  273. package/dist/core/headers/constructHeader.js.map +0 -1
  274. package/dist/core/headers/coreHeadersFeature.cjs +0 -55
  275. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  276. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  277. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  278. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  279. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
  280. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  281. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  282. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  283. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  284. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  285. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  286. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  287. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  288. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  289. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  290. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  291. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  292. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
  293. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
  294. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  295. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  296. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  297. package/dist/core/row-models/createCoreRowModel.cjs +0 -52
  298. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  299. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  300. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  301. package/dist/core/rows/constructRow.cjs +0 -44
  302. package/dist/core/rows/constructRow.cjs.map +0 -1
  303. package/dist/core/rows/constructRow.d.cts +0 -15
  304. package/dist/core/rows/constructRow.js.map +0 -1
  305. package/dist/core/rows/coreRowsFeature.cjs +0 -37
  306. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  307. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  308. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  309. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
  310. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
  311. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  312. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
  313. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  314. package/dist/core/table/constructTable.cjs +0 -119
  315. package/dist/core/table/constructTable.cjs.map +0 -1
  316. package/dist/core/table/constructTable.d.cts +0 -22
  317. package/dist/core/table/constructTable.js.map +0 -1
  318. package/dist/core/table/coreTablesFeature.cjs +0 -17
  319. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  320. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  321. package/dist/core/table/coreTablesFeature.js.map +0 -1
  322. package/dist/core/table/coreTablesFeature.types.d.cts +0 -200
  323. package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
  324. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  325. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
  326. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  327. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
  328. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  329. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  330. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  331. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
  332. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
  333. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  334. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  335. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  336. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
  337. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  338. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  339. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  340. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
  341. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  342. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  343. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  344. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
  345. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  346. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  347. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  348. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  349. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  350. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  351. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  352. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
  353. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
  354. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
  356. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  357. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
  358. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  359. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
  360. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  361. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
  362. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  363. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  364. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
  365. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  366. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  367. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  368. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
  369. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
  370. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  371. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
  372. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  373. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
  374. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  375. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
  376. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  377. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
  378. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  379. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  380. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  381. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
  382. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
  383. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
  385. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  386. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
  387. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  388. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
  389. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  390. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
  391. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
  392. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
  394. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  395. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  396. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  397. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  398. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  399. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
  400. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
  401. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  403. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  404. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
  405. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  406. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  407. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  408. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
  409. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
  410. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  411. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
  412. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  413. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
  414. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  415. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  416. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  417. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  418. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
  419. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  420. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  421. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  422. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
  423. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  424. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  425. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  426. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  427. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  428. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  429. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
  430. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -518
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/stockFeatures.cjs +0 -41
  489. package/dist/features/stockFeatures.cjs.map +0 -1
  490. package/dist/features/stockFeatures.d.cts +0 -41
  491. package/dist/features/stockFeatures.js.map +0 -1
  492. package/dist/flex-render.cjs +0 -29
  493. package/dist/flex-render.cjs.map +0 -1
  494. package/dist/flex-render.d.cts +0 -34
  495. package/dist/flex-render.js.map +0 -1
  496. package/dist/fns/aggregationFns.cjs +0 -161
  497. package/dist/fns/aggregationFns.cjs.map +0 -1
  498. package/dist/fns/aggregationFns.d.cts +0 -85
  499. package/dist/fns/aggregationFns.d.ts +0 -85
  500. package/dist/fns/aggregationFns.js +0 -151
  501. package/dist/fns/aggregationFns.js.map +0 -1
  502. package/dist/fns/filterFns.cjs +0 -201
  503. package/dist/fns/filterFns.cjs.map +0 -1
  504. package/dist/fns/filterFns.d.cts +0 -167
  505. package/dist/fns/filterFns.d.ts +0 -167
  506. package/dist/fns/filterFns.js +0 -185
  507. package/dist/fns/filterFns.js.map +0 -1
  508. package/dist/fns/sortFns.cjs +0 -130
  509. package/dist/fns/sortFns.cjs.map +0 -1
  510. package/dist/fns/sortFns.d.cts +0 -65
  511. package/dist/fns/sortFns.d.ts +0 -65
  512. package/dist/fns/sortFns.js +0 -122
  513. package/dist/fns/sortFns.js.map +0 -1
  514. package/dist/helpers/columnHelper.cjs +0 -41
  515. package/dist/helpers/columnHelper.cjs.map +0 -1
  516. package/dist/helpers/columnHelper.d.cts +0 -71
  517. package/dist/helpers/columnHelper.js.map +0 -1
  518. package/dist/helpers/metaHelper.cjs +0 -30
  519. package/dist/helpers/metaHelper.cjs.map +0 -1
  520. package/dist/helpers/metaHelper.d.cts +0 -26
  521. package/dist/helpers/metaHelper.js.map +0 -1
  522. package/dist/helpers/tableFeatures.cjs +0 -30
  523. package/dist/helpers/tableFeatures.cjs.map +0 -1
  524. package/dist/helpers/tableFeatures.d.cts +0 -28
  525. package/dist/helpers/tableFeatures.js.map +0 -1
  526. package/dist/helpers/tableOptions.cjs +0 -15
  527. package/dist/helpers/tableOptions.cjs.map +0 -1
  528. package/dist/helpers/tableOptions.d.cts +0 -57
  529. package/dist/helpers/tableOptions.js.map +0 -1
  530. package/dist/index.cjs +0 -135
  531. package/dist/index.d.cts +0 -79
  532. package/dist/reactivity.cjs +0 -4
  533. package/dist/reactivity.d.cts +0 -3
  534. package/dist/static-functions.cjs +0 -263
  535. package/dist/static-functions.d.cts +0 -21
  536. package/dist/store-reactivity-bindings.cjs +0 -44
  537. package/dist/store-reactivity-bindings.cjs.map +0 -1
  538. package/dist/store-reactivity-bindings.d.cts +0 -22
  539. package/dist/store-reactivity-bindings.js.map +0 -1
  540. package/dist/types/Cell.d.cts +0 -14
  541. package/dist/types/Column.d.cts +0 -36
  542. package/dist/types/ColumnDef.d.cts +0 -123
  543. package/dist/types/Header.d.cts +0 -16
  544. package/dist/types/HeaderGroup.d.cts +0 -10
  545. package/dist/types/Row.d.cts +0 -26
  546. package/dist/types/RowModel.d.cts +0 -36
  547. package/dist/types/RowModelFns.d.cts +0 -18
  548. package/dist/types/Table.d.cts +0 -70
  549. package/dist/types/TableFeatures.d.cts +0 -75
  550. package/dist/types/TableOptions.d.cts +0 -69
  551. package/dist/types/TableState.d.cts +0 -48
  552. package/dist/types/type-utils.d.cts +0 -23
  553. package/dist/utils.cjs +0 -243
  554. package/dist/utils.cjs.map +0 -1
  555. package/dist/utils.d.cts +0 -114
  556. package/dist/utils.js.map +0 -1
  557. package/skills/column-definitions/SKILL.md +0 -333
  558. package/skills/column-layout/SKILL.md +0 -328
  559. package/skills/column-layout/references/subsystems.md +0 -220
  560. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  561. package/skills/filtering/SKILL.md +0 -357
  562. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  563. package/skills/row-expanding/SKILL.md +0 -348
  564. package/skills/setup/SKILL.md +0 -400
  565. package/skills/state-management/SKILL.md +0 -388
  566. package/src/core/cells/constructCell.ts +0 -55
  567. package/src/core/cells/coreCellsFeature.ts +0 -27
  568. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  569. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  570. package/src/core/columns/constructColumn.ts +0 -119
  571. package/src/core/columns/coreColumnsFeature.ts +0 -73
  572. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  573. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  574. package/src/core/coreFeatures.ts +0 -31
  575. package/src/core/headers/buildHeaderGroups.ts +0 -182
  576. package/src/core/headers/constructHeader.ts +0 -67
  577. package/src/core/headers/coreHeadersFeature.ts +0 -56
  578. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  579. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  580. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  581. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  582. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  583. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  584. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  585. package/src/core/row-models/createCoreRowModel.ts +0 -93
  586. package/src/core/rows/constructRow.ts +0 -66
  587. package/src/core/rows/coreRowsFeature.ts +0 -62
  588. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  589. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  590. package/src/core/table/constructTable.ts +0 -179
  591. package/src/core/table/coreTablesFeature.ts +0 -19
  592. package/src/core/table/coreTablesFeature.types.ts +0 -237
  593. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  594. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  595. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  596. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  597. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  598. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  599. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  600. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  601. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  602. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  603. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  604. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  605. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  606. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  607. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  608. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  609. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  610. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  611. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  612. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  613. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  614. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  615. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  616. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  617. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  618. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  619. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  620. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  621. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  622. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  623. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  624. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  625. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  626. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  627. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  628. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  629. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  630. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  631. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  632. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  633. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  634. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  635. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  636. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  637. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  638. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  639. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  640. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -750
  641. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  642. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  643. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  644. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  645. package/src/features/stockFeatures.ts +0 -53
  646. package/src/flex-render.ts +0 -70
  647. package/src/fns/aggregationFns.ts +0 -245
  648. package/src/fns/filterFns.ts +0 -382
  649. package/src/fns/sortFns.ts +0 -240
  650. package/src/helpers/columnHelper.ts +0 -122
  651. package/src/helpers/metaHelper.ts +0 -24
  652. package/src/helpers/tableFeatures.ts +0 -34
  653. package/src/helpers/tableOptions.ts +0 -117
  654. package/src/index.ts +0 -139
  655. package/src/process-env.d.ts +0 -6
  656. package/src/reactivity.ts +0 -2
  657. package/src/static-functions.ts +0 -31
  658. package/src/store-reactivity-bindings.ts +0 -47
  659. package/src/types/Cell.ts +0 -21
  660. package/src/types/Column.ts +0 -51
  661. package/src/types/ColumnDef.ts +0 -254
  662. package/src/types/Header.ts +0 -23
  663. package/src/types/HeaderGroup.ts +0 -13
  664. package/src/types/Row.ts +0 -34
  665. package/src/types/RowModel.ts +0 -98
  666. package/src/types/RowModelFns.ts +0 -32
  667. package/src/types/Table.ts +0 -91
  668. package/src/types/TableFeatures.ts +0 -123
  669. package/src/types/TableOptions.ts +0 -104
  670. package/src/types/TableState.ts +0 -47
  671. package/src/types/type-utils.ts +0 -84
  672. package/src/utils.ts +0 -441
@@ -0,0 +1,279 @@
1
+ import { constructAggregationFn } from "./rowAggregationFeature.types.js";
2
+
3
+ //#region src/features/row-aggregation/aggregationFns.ts
4
+ function isNumber(value) {
5
+ return typeof value === "number";
6
+ }
7
+ function isValidDate(value) {
8
+ return value instanceof Date && !Number.isNaN(value.getTime());
9
+ }
10
+ function getRangeKind(value) {
11
+ if (isNumber(value)) return "number";
12
+ if (isValidDate(value)) return "date";
13
+ }
14
+ function compareRangeValues(left, right) {
15
+ return (left instanceof Date ? left.getTime() : left) - (right instanceof Date ? right.getTime() : right);
16
+ }
17
+ /** Comparable representation of a range value; `Date`s compare by time. */
18
+ function toRangeNumber(value) {
19
+ return value instanceof Date ? value.getTime() : value;
20
+ }
21
+ /**
22
+ * Sums numeric selected-row values. Non-number values contribute zero. As in
23
+ * the previous API, `NaN` is a number and therefore propagates through the sum.
24
+ */
25
+ const aggregationFn_sum = constructAggregationFn({
26
+ aggregate: (context) => {
27
+ const rows = context.rows;
28
+ let sum = 0;
29
+ for (let i = 0; i < rows.length; i++) {
30
+ const value = context.getValue(rows[i]);
31
+ sum += typeof value === "number" ? value : 0;
32
+ }
33
+ return sum;
34
+ },
35
+ merge: ({ subRowResults }) => {
36
+ let sum = 0;
37
+ for (let i = 0; i < subRowResults.length; i++) {
38
+ const value = subRowResults[i];
39
+ if (isNumber(value)) sum += value;
40
+ }
41
+ return sum;
42
+ }
43
+ });
44
+ /**
45
+ * Finds the minimum numeric or Date value from the selected rows. Invalid value
46
+ * types are ignored; `NaN` preserves the legacy numeric seeding behavior.
47
+ */
48
+ const aggregationFn_min = constructAggregationFn({
49
+ aggregate: (context) => {
50
+ const rows = context.rows;
51
+ let kind;
52
+ let result;
53
+ let resultNumber = 0;
54
+ for (let i = 0; i < rows.length; i++) {
55
+ const value = context.getValue(rows[i]);
56
+ const valueKind = getRangeKind(value);
57
+ if (!valueKind || kind !== void 0 && valueKind !== kind) continue;
58
+ const valueNumber = toRangeNumber(value);
59
+ if (kind === void 0) {
60
+ kind = valueKind;
61
+ result = value;
62
+ resultNumber = valueNumber;
63
+ } else if (valueNumber - resultNumber < 0) {
64
+ result = value;
65
+ resultNumber = valueNumber;
66
+ }
67
+ }
68
+ return result;
69
+ },
70
+ merge: ({ subRowResults }) => {
71
+ let result;
72
+ let kind;
73
+ for (let i = 0; i < subRowResults.length; i++) {
74
+ const value = subRowResults[i];
75
+ const valueKind = getRangeKind(value);
76
+ if (!valueKind) continue;
77
+ if (value === void 0) continue;
78
+ kind ??= valueKind;
79
+ if (kind !== valueKind) continue;
80
+ if (result === void 0 || compareRangeValues(value, result) < 0) result = value;
81
+ }
82
+ return result;
83
+ }
84
+ });
85
+ /**
86
+ * Finds the maximum numeric or Date value from the selected rows. Invalid value
87
+ * types are ignored; `NaN` preserves the legacy numeric seeding behavior.
88
+ */
89
+ const aggregationFn_max = constructAggregationFn({
90
+ aggregate: (context) => {
91
+ const rows = context.rows;
92
+ let kind;
93
+ let result;
94
+ let resultNumber = 0;
95
+ for (let i = 0; i < rows.length; i++) {
96
+ const value = context.getValue(rows[i]);
97
+ const valueKind = getRangeKind(value);
98
+ if (!valueKind || kind !== void 0 && valueKind !== kind) continue;
99
+ const valueNumber = toRangeNumber(value);
100
+ if (kind === void 0) {
101
+ kind = valueKind;
102
+ result = value;
103
+ resultNumber = valueNumber;
104
+ } else if (valueNumber - resultNumber > 0) {
105
+ result = value;
106
+ resultNumber = valueNumber;
107
+ }
108
+ }
109
+ return result;
110
+ },
111
+ merge: ({ subRowResults }) => {
112
+ let result;
113
+ let kind;
114
+ for (let i = 0; i < subRowResults.length; i++) {
115
+ const value = subRowResults[i];
116
+ const valueKind = getRangeKind(value);
117
+ if (!valueKind) continue;
118
+ if (value === void 0) continue;
119
+ kind ??= valueKind;
120
+ if (kind !== valueKind) continue;
121
+ if (result === void 0 || compareRangeValues(value, result) > 0) result = value;
122
+ }
123
+ return result;
124
+ }
125
+ });
126
+ /**
127
+ * Finds the minimum and maximum numeric or Date values from the selected rows.
128
+ * Empty inputs return
129
+ * `[undefined, undefined]`, preserving the previous built-in result shape.
130
+ */
131
+ const aggregationFn_extent = constructAggregationFn({
132
+ aggregate: (context) => {
133
+ const rows = context.rows;
134
+ let kind;
135
+ let min;
136
+ let max;
137
+ let minNumber = 0;
138
+ let maxNumber = 0;
139
+ for (let i = 0; i < rows.length; i++) {
140
+ const value = context.getValue(rows[i]);
141
+ const valueKind = getRangeKind(value);
142
+ if (!valueKind || kind !== void 0 && valueKind !== kind) continue;
143
+ const valueNumber = toRangeNumber(value);
144
+ if (kind === void 0) {
145
+ kind = valueKind;
146
+ min = max = value;
147
+ minNumber = maxNumber = valueNumber;
148
+ } else {
149
+ if (valueNumber - minNumber < 0) {
150
+ min = value;
151
+ minNumber = valueNumber;
152
+ }
153
+ if (valueNumber - maxNumber > 0) {
154
+ max = value;
155
+ maxNumber = valueNumber;
156
+ }
157
+ }
158
+ }
159
+ if (kind === void 0) return [void 0, void 0];
160
+ return [min, max];
161
+ },
162
+ merge: ({ subRowResults }) => {
163
+ let result = [void 0, void 0];
164
+ let kind;
165
+ for (let i = 0; i < subRowResults.length; i++) {
166
+ const extent = subRowResults[i];
167
+ const min = extent[0];
168
+ const max = extent[1];
169
+ const valueKind = getRangeKind(min);
170
+ if (!valueKind || min === void 0 || max === void 0) continue;
171
+ kind ??= valueKind;
172
+ if (kind !== valueKind) continue;
173
+ if (result[0] === void 0) result = [min, max];
174
+ else {
175
+ if (compareRangeValues(min, result[0]) < 0) result[0] = min;
176
+ const currentMax = result[1];
177
+ if (currentMax === void 0 || compareRangeValues(max, currentMax) > 0) result[1] = max;
178
+ }
179
+ }
180
+ return result;
181
+ }
182
+ });
183
+ /**
184
+ * Averages number and number-like row values. Nullish and non-numeric values
185
+ * are ignored; other values retain the legacy unary-plus coercion behavior.
186
+ */
187
+ const aggregationFn_mean = constructAggregationFn({ aggregate: (context) => {
188
+ const rows = context.rows;
189
+ let count = 0;
190
+ let sum = 0;
191
+ for (let i = 0; i < rows.length; i++) {
192
+ const value = context.getValue(rows[i]);
193
+ if (value == null) continue;
194
+ const numberValue = typeof value === "number" ? value : +value;
195
+ if (!Number.isNaN(numberValue)) {
196
+ count++;
197
+ sum += numberValue;
198
+ }
199
+ }
200
+ return count ? sum / count : void 0;
201
+ } });
202
+ /**
203
+ * Computes the median of the numeric row values. Non-numeric values are
204
+ * ignored, matching the `sum`/`min`/`max`/`mean` aggregations. Returns
205
+ * `undefined` when no numeric values remain.
206
+ */
207
+ const aggregationFn_median = constructAggregationFn({ aggregate: (context) => {
208
+ const rows = context.rows;
209
+ const values = [];
210
+ for (let i = 0; i < rows.length; i++) {
211
+ const value = context.getValue(rows[i]);
212
+ if (typeof value === "number") values.push(value);
213
+ }
214
+ if (!values.length) return void 0;
215
+ values.sort((a, b) => a - b);
216
+ const mid = Math.floor(values.length / 2);
217
+ return values.length % 2 ? values[mid] : (values[mid - 1] + values[mid]) / 2;
218
+ } });
219
+ /** Collects distinct row values using JavaScript `Set` semantics. */
220
+ const aggregationFn_unique = constructAggregationFn({ aggregate: (context) => {
221
+ const rows = context.rows;
222
+ const values = /* @__PURE__ */ new Set();
223
+ for (let i = 0; i < rows.length; i++) values.add(context.getValue(rows[i]));
224
+ return Array.from(values);
225
+ } });
226
+ /** Counts distinct row values using JavaScript `Set` semantics. */
227
+ const aggregationFn_uniqueCount = constructAggregationFn({ aggregate: (context) => {
228
+ const rows = context.rows;
229
+ const values = /* @__PURE__ */ new Set();
230
+ for (let i = 0; i < rows.length; i++) values.add(context.getValue(rows[i]));
231
+ return values.size;
232
+ } });
233
+ /** Counts rows, independently of the column's values. */
234
+ const aggregationFn_count = constructAggregationFn({
235
+ aggregate: ({ rows }) => rows.length,
236
+ merge: ({ subRowResults }) => {
237
+ let count = 0;
238
+ for (let i = 0; i < subRowResults.length; i++) {
239
+ const value = subRowResults[i];
240
+ if (isNumber(value)) count += value;
241
+ }
242
+ return count;
243
+ }
244
+ });
245
+ /** Returns the first row's value, including a nullish value. */
246
+ const aggregationFn_first = constructAggregationFn({
247
+ aggregate: (context) => context.rows[0] ? context.getValue(context.rows[0]) : void 0,
248
+ merge: ({ subRowResults }) => subRowResults[0]
249
+ });
250
+ /** Returns the last row's value, including a nullish value. */
251
+ const aggregationFn_last = constructAggregationFn({
252
+ aggregate: (context) => {
253
+ const row = context.rows[context.rows.length - 1];
254
+ return row ? context.getValue(row) : void 0;
255
+ },
256
+ merge: ({ subRowResults }) => subRowResults[subRowResults.length - 1]
257
+ });
258
+ /**
259
+ * Full built-in registry. Register individual definitions for tree-shaking.
260
+ *
261
+ * @deprecated Import individual `aggregationFn_*` definitions instead for a
262
+ * smaller bundle. This registry remains available for compatibility.
263
+ */
264
+ const aggregationFns = {
265
+ sum: aggregationFn_sum,
266
+ min: aggregationFn_min,
267
+ max: aggregationFn_max,
268
+ extent: aggregationFn_extent,
269
+ mean: aggregationFn_mean,
270
+ median: aggregationFn_median,
271
+ unique: aggregationFn_unique,
272
+ uniqueCount: aggregationFn_uniqueCount,
273
+ count: aggregationFn_count,
274
+ first: aggregationFn_first,
275
+ last: aggregationFn_last
276
+ };
277
+
278
+ //#endregion
279
+ export { aggregationFn_count, aggregationFn_extent, aggregationFn_first, aggregationFn_last, aggregationFn_max, aggregationFn_mean, aggregationFn_median, aggregationFn_min, aggregationFn_sum, aggregationFn_unique, aggregationFn_uniqueCount, aggregationFns };
@@ -0,0 +1,8 @@
1
+ import { TableFeature } from "../../types/TableFeatures.js";
2
+ //#region src/features/row-aggregation/rowAggregationFeature.d.ts
3
+ /**
4
+ * Independent aggregation feature for grouped values and root/custom-row totals.
5
+ */
6
+ declare const rowAggregationFeature: TableFeature;
7
+ //#endregion
8
+ export { rowAggregationFeature };
@@ -0,0 +1,35 @@
1
+ import { assignPrototypeAPIs } from "../../utils.js";
2
+ import { cell_getIsAggregated, column_getAggregationFns, column_getAggregationValue, column_getAutoAggregationFn, formatAggregatedCellValue } from "./rowAggregationFeature.utils.js";
3
+
4
+ //#region src/features/row-aggregation/rowAggregationFeature.ts
5
+ /**
6
+ * Independent aggregation feature for grouped values and root/custom-row totals.
7
+ */
8
+ const rowAggregationFeature = {
9
+ getDefaultColumnDef: () => ({
10
+ aggregatedCell: ({ column, getValue }) => formatAggregatedCellValue(getValue(), column.columnDef.aggregationFn),
11
+ aggregationFn: "auto",
12
+ maxAggregationDepth: 0
13
+ }),
14
+ getDefaultTableOptions: () => ({ manualAggregation: false }),
15
+ assignCellPrototype: (prototype, table) => {
16
+ assignPrototypeAPIs("rowAggregationFeature", prototype, table, { cell_getIsAggregated: { fn: (cell) => cell_getIsAggregated(cell) } });
17
+ },
18
+ assignColumnPrototype: (prototype, table) => {
19
+ assignPrototypeAPIs("rowAggregationFeature", prototype, table, {
20
+ column_getAggregationFns: { fn: (column) => column_getAggregationFns(column) },
21
+ column_getAggregationValue: { fn: (column, options) => column_getAggregationValue(column, options) },
22
+ column_getAutoAggregationFn: {
23
+ fn: (column) => column_getAutoAggregationFn(column),
24
+ memoDeps: (column) => [column.table.getCoreRowModel(), column.table._rowModelFns.aggregationFns]
25
+ }
26
+ });
27
+ },
28
+ initColumnInstanceData: (column) => {
29
+ column._aggregationValueCache = void 0;
30
+ column._resolvedAggregationFnsCache = void 0;
31
+ }
32
+ };
33
+
34
+ //#endregion
35
+ export { rowAggregationFeature };
@@ -0,0 +1,193 @@
1
+ import { CellData, RowData } from "../../types/type-utils.js";
2
+ import { BuiltInAggregationFn } from "./aggregationFns.js";
3
+ import { ColumnDefTemplate } from "../../types/ColumnDef.js";
4
+ import { Column } from "../../types/Column.js";
5
+ import { Row } from "../../types/Row.js";
6
+ import { Table } from "../../types/Table.js";
7
+ import { Cell } from "../../types/Cell.js";
8
+ import { IsAny, TableFeatures } from "../../types/TableFeatures.js";
9
+ //#region src/features/row-aggregation/rowAggregationFeature.types.d.ts
10
+ /** Declaration-merging fallback for named aggregation definitions. */
11
+ interface AggregationFns {}
12
+ /** Values and table objects available while one aggregation is evaluated. */
13
+ interface AggregationContext<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> {
14
+ /** The column whose values are being aggregated. */
15
+ column: Column<TFeatures, TData, TValue>;
16
+ /** Convenience alias for `column.id`. */
17
+ columnId: string;
18
+ /** Maximum relative sub-row depth used to select `rows`. */
19
+ maxDepth: number;
20
+ /**
21
+ * Immediate sub-rows for grouped aggregation. This property is omitted
22
+ * for root or caller-supplied-row aggregation. At a terminal grouping level
23
+ * these are the direct data rows; at a nested level they are sub-row groups.
24
+ */
25
+ subRows?: ReadonlyArray<Row<TFeatures, TData>>;
26
+ /** Reads this column's value from one of `rows`. */
27
+ getValue: (row: Row<TFeatures, TData>) => TValue;
28
+ /**
29
+ * The synthetic grouped row receiving this result. This property is omitted
30
+ * for root or caller-supplied-row aggregation. Its `depth` identifies the
31
+ * grouping level when grouped aggregation needs that distinction.
32
+ */
33
+ groupingRow?: Row<TFeatures, TData>;
34
+ /**
35
+ * Unique rows selected at `maxDepth`. Branches that end before `maxDepth`
36
+ * contribute their deepest available row.
37
+ */
38
+ rows: ReadonlyArray<Row<TFeatures, TData>>;
39
+ /** The table that owns the column and rows. */
40
+ table: Table<TFeatures, TData>;
41
+ }
42
+ /** Additional values available when merging nested grouped results. */
43
+ interface AggregationMergeContext<TFeatures extends TableFeatures, TData extends RowData, TValue, TResult> extends AggregationContext<TFeatures, TData, TValue> {
44
+ /** Results produced for each immediate sub-row group, in sub-row order. */
45
+ subRowResults: ReadonlyArray<TResult>;
46
+ /** Immediate sub-row groups corresponding to `subRowResults`. */
47
+ subRows: ReadonlyArray<Row<TFeatures, TData>>;
48
+ }
49
+ /** A context-based aggregation definition and optional grouped-result merge. */
50
+ interface AggregationFnDef<TFeatures extends TableFeatures = any, TData extends RowData = any, TValue = unknown, TResult = unknown> {
51
+ /** Computes a result directly from the selected `rows`. */
52
+ aggregate: (context: AggregationContext<TFeatures, TData, TValue>) => TResult;
53
+ /**
54
+ * Combines already-computed immediate sub-row results. When omitted,
55
+ * nested grouping falls back to `aggregate` over the group's selected rows.
56
+ */
57
+ merge?: (context: AggregationMergeContext<TFeatures, TData, TValue, TResult>) => TResult;
58
+ }
59
+ /**
60
+ * Creates a typed context-based aggregation definition for a column or
61
+ * aggregation-function registry.
62
+ */
63
+ declare function constructAggregationFn<TFeatures extends TableFeatures = any, TData extends RowData = any, TValue = unknown, TResult = unknown>(definition: AggregationFnDef<TFeatures, TData, TValue, TResult>): AggregationFnDef<TFeatures, TData, TValue, TResult>;
64
+ /** Aggregation-definition registry carried by a table feature set. */
65
+ interface RowModelFns_RowAggregation<in out TFeatures extends TableFeatures, in out TData extends RowData> {
66
+ aggregationFns: Record<string, AggregationFnDef<TFeatures, TData, any, any>>;
67
+ }
68
+ /** Named context-based aggregation definitions registered on a feature set. */
69
+ type CustomAggregationFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, AggregationFnDef<TFeatures, TData, any, any>>;
70
+ /** String names available from a feature set's aggregation registry. */
71
+ type ExtractAggregationFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof AggregationFns | BuiltInAggregationFn : TFeatures extends {
72
+ aggregationFns: infer TAggregationFns extends object;
73
+ } ? Extract<keyof TAggregationFns, string> : keyof AggregationFns;
74
+ /** A registered name, automatic inference, or inline aggregation definition. */
75
+ type AggregationFnRef<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown, TResult = unknown> = 'auto' | ExtractAggregationFnKeys<TFeatures> | AggregationFnDef<TFeatures, TData, TValue, TResult>;
76
+ /** Gives an aggregation reference a stable key in a multiple result. */
77
+ interface AggregationFnDescriptor<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown, TResult = unknown> {
78
+ /** The named, automatic, or inline definition to execute. */
79
+ aggregationFn: AggregationFnRef<TFeatures, TData, TValue, TResult>;
80
+ /** Stable key used in the object returned by a multiple aggregation. */
81
+ id: string;
82
+ }
83
+ /** One named or explicitly keyed entry in a multiple aggregation option. */
84
+ type AggregationFnListItem<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = 'auto' | ExtractAggregationFnKeys<TFeatures> | AggregationFnDescriptor<TFeatures, TData, TValue, any>;
85
+ /** A scalar aggregation reference or a list that produces a keyed object. */
86
+ type AggregationFnOption<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = AggregationFnRef<TFeatures, TData, TValue, any> | ReadonlyArray<AggregationFnListItem<TFeatures, TData, TValue>>;
87
+ /** Extracts the result type produced by an aggregation definition. */
88
+ type AggregationResultOf<TDefinition> = TDefinition extends AggregationFnDef<any, any, any, infer TResult> ? TResult : unknown;
89
+ type RegisteredAggregationDefinition<TFeatures extends TableFeatures, TKey extends PropertyKey> = TFeatures extends {
90
+ aggregationFns: infer TRegistry extends Record<PropertyKey, unknown>;
91
+ } ? TKey extends keyof TRegistry ? TRegistry[TKey] : never : never;
92
+ type AggregationResultOfRef<TRef, TFeatures extends TableFeatures> = TRef extends AggregationFnDef<any, any, any, any> ? AggregationResultOf<TRef> : TRef extends 'auto' ? RegisteredAggregationResult<TFeatures> : TRef extends PropertyKey ? AggregationResultOf<RegisteredAggregationDefinition<TFeatures, TRef>> : unknown;
93
+ type AggregationEntryId<TEntry> = TEntry extends string ? TEntry : TEntry extends {
94
+ id: infer TId extends string;
95
+ } ? TId : never;
96
+ type AggregationEntryDefinition<TEntry> = TEntry extends {
97
+ aggregationFn: infer TDefinition;
98
+ } ? TDefinition : TEntry;
99
+ /** Infers the scalar or keyed result produced by an aggregation option. */
100
+ type AggregationResult<TOption, TFeatures extends TableFeatures = any> = TOption extends ReadonlyArray<infer TEntry> ? { [TKey in AggregationEntryId<TEntry>]: AggregationResultOfRef<AggregationEntryDefinition<Extract<TEntry, TKey | {
101
+ id: TKey;
102
+ }>>, TFeatures>; } : AggregationResultOfRef<TOption, TFeatures>;
103
+ type RegisteredAggregationResult<TFeatures extends TableFeatures> = TFeatures extends {
104
+ aggregationFns: infer TRegistry extends Record<string, unknown>;
105
+ } ? AggregationResultOf<TRegistry[keyof TRegistry]> : unknown;
106
+ /** Default public result union when a column's precise option is not known. */
107
+ type ColumnAggregationValue<TFeatures extends TableFeatures> = RegisteredAggregationResult<TFeatures> | Record<string, RegisteredAggregationResult<TFeatures> | undefined> | undefined;
108
+ /** A validated aggregation entry returned by `column.getAggregationFns()`. */
109
+ interface ResolvedAggregationFn<TFeatures extends TableFeatures, TData extends RowData> {
110
+ /** Resolved definition, or `undefined` when configuration is invalid. */
111
+ aggregationFn: AggregationFnDef<TFeatures, TData, any, any> | undefined;
112
+ /** Key used for a multiple result; scalar inline definitions have no id. */
113
+ id: string | undefined;
114
+ }
115
+ /** Column-definition options installed by `rowAggregationFeature`. */
116
+ interface ColumnDef_RowAggregation<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
117
+ /** Renderer used for a grouped row's aggregated cell. */
118
+ aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TFeatures, TData, TValue>['getContext']>>;
119
+ /**
120
+ * One aggregation reference for a scalar result, or an array for a keyed
121
+ * result object. Inline definitions in an array require an explicit `id`.
122
+ */
123
+ aggregationFn?: AggregationFnOption<TFeatures, TData, TValue>;
124
+ /**
125
+ * Maximum relative sub-row depth used for grouped aggregation and cached
126
+ * default totals. `0` selects the supplied root rows, `1` their direct
127
+ * sub-rows, and so on. Defaults to `0`.
128
+ */
129
+ maxAggregationDepth?: number;
130
+ /**
131
+ * Optionally supplies a precomputed aggregation value for this column.
132
+ * Return `{ value }` to handle the request, including `{ value: undefined }`;
133
+ * return `undefined` to use the local aggregation fallback.
134
+ */
135
+ getAggregationValue?: (context: AggregationValueContext<TFeatures, TData, TValue>) => AggregationValueResult | undefined;
136
+ }
137
+ /** Column instance APIs installed by `rowAggregationFeature`. */
138
+ interface Column_RowAggregation<in out TFeatures extends TableFeatures, in out TData extends RowData> {
139
+ /** Resolves the configured scalar or multiple aggregation definitions. */
140
+ getAggregationFns: () => ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>;
141
+ /**
142
+ * Aggregates this column over the default pre-grouped row model, or over a
143
+ * caller-provided array of rows. `options.maxDepth` overrides the column's
144
+ * `maxAggregationDepth`. Explicit-row calls are intentionally not cached.
145
+ */
146
+ getAggregationValue: <TResult = ColumnAggregationValue<TFeatures>>(options?: AggregationValueOptions<TFeatures, TData>) => TResult;
147
+ /** Infers `sum` for a numeric first row and `extent` for a Date first row. */
148
+ getAutoAggregationFn: () => AggregationFnDef<TFeatures, TData, any, any> | undefined;
149
+ }
150
+ /** Options for a caller-requested column aggregation value. */
151
+ interface AggregationValueOptions<in out TFeatures extends TableFeatures, in out TData extends RowData> {
152
+ /** Overrides the column's `maxAggregationDepth` for this request. */
153
+ maxDepth?: number;
154
+ /** Rows to aggregate instead of the default pre-grouped row model. */
155
+ rows?: ReadonlyArray<Row<TFeatures, TData>>;
156
+ }
157
+ /** Cell instance APIs installed by `rowAggregationFeature`. */
158
+ interface Cell_RowAggregation {
159
+ /** Whether this cell displays an aggregate on a synthetic grouped row. */
160
+ getIsAggregated: () => boolean;
161
+ }
162
+ /** Internal per-row cache used while grouped aggregates are evaluated. */
163
+ interface Row_RowAggregation {
164
+ /** Cached aggregate results keyed by column id; created lazily on grouped rows. */
165
+ _aggregationValuesCache?: Record<string, unknown>;
166
+ }
167
+ /** Values passed to a column-level aggregation-value provider. */
168
+ interface AggregationValueContext<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
169
+ /** The column whose value was requested. */
170
+ column: Column<TFeatures, TData, TValue>;
171
+ /** Maximum relative sub-row depth used for the request. */
172
+ maxDepth: number;
173
+ /** Caller-provided rows, or `undefined` for the default row model. */
174
+ rows?: ReadonlyArray<Row<TFeatures, TData>>;
175
+ /** The table that owns the column. */
176
+ table: Table<TFeatures, TData>;
177
+ }
178
+ /** Marks an aggregation-value override as handled. */
179
+ interface AggregationValueResult<TResult = unknown> {
180
+ /** The supplied value. `undefined` is still a handled result. */
181
+ value: TResult;
182
+ }
183
+ /** Table options installed by `rowAggregationFeature`. */
184
+ interface TableOptions_RowAggregation {
185
+ /**
186
+ * Disables local `column.getAggregationValue()` calculation when a column
187
+ * override does not handle the request. Group values supplied by manually
188
+ * grouped rows remain the responsibility of the data owner.
189
+ */
190
+ manualAggregation?: boolean;
191
+ }
192
+ //#endregion
193
+ export { AggregationContext, AggregationFnDef, AggregationFnDescriptor, AggregationFnListItem, AggregationFnOption, AggregationFnRef, AggregationFns, AggregationMergeContext, AggregationResult, AggregationResultOf, AggregationValueContext, AggregationValueOptions, AggregationValueResult, Cell_RowAggregation, ColumnAggregationValue, ColumnDef_RowAggregation, Column_RowAggregation, CustomAggregationFns, ExtractAggregationFnKeys, ResolvedAggregationFn, RowModelFns_RowAggregation, Row_RowAggregation, TableOptions_RowAggregation, constructAggregationFn };
@@ -0,0 +1,11 @@
1
+ //#region src/features/row-aggregation/rowAggregationFeature.types.ts
2
+ /**
3
+ * Creates a typed context-based aggregation definition for a column or
4
+ * aggregation-function registry.
5
+ */
6
+ function constructAggregationFn(definition) {
7
+ return definition;
8
+ }
9
+
10
+ //#endregion
11
+ export { constructAggregationFn };
@@ -0,0 +1,46 @@
1
+ import { CellData, RowData } from "../../types/type-utils.js";
2
+ import { AggregationFnDef, AggregationValueOptions, ColumnAggregationValue, ResolvedAggregationFn } from "./rowAggregationFeature.types.js";
3
+ import { Column } from "../../types/Column.js";
4
+ import { Row } from "../../types/Row.js";
5
+ import { Cell } from "../../types/Cell.js";
6
+ import { TableFeatures } from "../../types/TableFeatures.js";
7
+ //#region src/features/row-aggregation/rowAggregationFeature.utils.d.ts
8
+ /**
9
+ * Selects unique rows at a maximum relative depth in encounter order.
10
+ * Branches that end before the requested depth contribute their deepest row.
11
+ */
12
+ declare function normalizeAggregationRows<TFeatures extends TableFeatures, TData extends RowData>(rows: ReadonlyArray<Row<TFeatures, TData>>, maxDepth?: number): Array<Row<TFeatures, TData>>;
13
+ /**
14
+ * Frontier selection for rows that are distinct nodes of a single row tree —
15
+ * the row models the table builds itself. Skips `normalizeAggregationRows`'
16
+ * duplicate-id guard (disjoint subtrees cannot revisit a row) and returns
17
+ * `rows` unchanged when no row descends, so the default `maxDepth: 0` case
18
+ * costs nothing per aggregation.
19
+ */
20
+ declare function normalizeUniqueAggregationRows<TFeatures extends TableFeatures, TData extends RowData>(rows: ReadonlyArray<Row<TFeatures, TData>>, maxDepth?: number): ReadonlyArray<Row<TFeatures, TData>>;
21
+ /** Resolves the `sum` or `extent` definition inferred from the first core row. */
22
+ declare function column_getAutoAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): AggregationFnDef<TFeatures, TData, any, any> | undefined;
23
+ /** Resolves and validates a column's scalar or multiple aggregation option. */
24
+ declare function column_getAggregationFns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>;
25
+ /** Executes every configured aggregation over a depth-selected row frontier. */
26
+ declare function aggregateColumnValue<TFeatures extends TableFeatures, TData extends RowData>(args: {
27
+ maxDepth?: number;
28
+ subRows?: ReadonlyArray<Row<TFeatures, TData>>;
29
+ column: Column<TFeatures, TData, unknown>;
30
+ groupingRow?: Row<TFeatures, TData>;
31
+ rows: ReadonlyArray<Row<TFeatures, TData>>;
32
+ /**
33
+ * Marks `rows` as distinct nodes of a single row tree (rows the table's own
34
+ * row models produced), enabling frontier selection without the
35
+ * duplicate-id guard. Caller-supplied row arrays must omit this.
36
+ */
37
+ uniqueRows?: boolean;
38
+ }): unknown;
39
+ /** Implements `column.getAggregationValue(options?)` and its default cache. */
40
+ declare function column_getAggregationValue<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>, options?: AggregationValueOptions<TFeatures, TData>): ColumnAggregationValue<TFeatures>;
41
+ /** Implements `cell.getIsAggregated()` for synthetic grouped rows. */
42
+ declare function cell_getIsAggregated<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
43
+ /** Formats the default scalar or keyed aggregated-cell representation. */
44
+ declare function formatAggregatedCellValue(value: unknown, option: unknown): string | null;
45
+ //#endregion
46
+ export { aggregateColumnValue, cell_getIsAggregated, column_getAggregationFns, column_getAggregationValue, column_getAutoAggregationFn, formatAggregatedCellValue, normalizeAggregationRows, normalizeUniqueAggregationRows };