@tanstack/table-core 9.0.0-beta.51 → 9.0.0-beta.53

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 (682) hide show
  1. package/dist/core/cells/constructCell.d.ts +1 -2
  2. package/dist/core/cells/constructCell.js +1 -2
  3. package/dist/core/cells/coreCellsFeature.d.ts +1 -2
  4. package/dist/core/cells/coreCellsFeature.js +1 -2
  5. package/dist/core/cells/coreCellsFeature.types.d.ts +1 -2
  6. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -2
  7. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  8. package/dist/core/columns/constructColumn.d.ts +1 -2
  9. package/dist/core/columns/constructColumn.js +1 -2
  10. package/dist/core/columns/coreColumnsFeature.d.ts +1 -2
  11. package/dist/core/columns/coreColumnsFeature.js +1 -2
  12. package/dist/core/columns/coreColumnsFeature.types.d.ts +1 -2
  13. package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -2
  14. package/dist/core/columns/coreColumnsFeature.utils.js +1 -2
  15. package/dist/core/coreFeatures.d.ts +1 -2
  16. package/dist/core/coreFeatures.js +1 -2
  17. package/dist/core/headers/buildHeaderGroups.d.ts +1 -2
  18. package/dist/core/headers/buildHeaderGroups.js +1 -2
  19. package/dist/core/headers/constructHeader.d.ts +1 -2
  20. package/dist/core/headers/constructHeader.js +1 -2
  21. package/dist/core/headers/coreHeadersFeature.d.ts +1 -2
  22. package/dist/core/headers/coreHeadersFeature.js +1 -2
  23. package/dist/core/headers/coreHeadersFeature.types.d.ts +1 -2
  24. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -2
  25. package/dist/core/headers/coreHeadersFeature.utils.js +1 -2
  26. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +1 -2
  27. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -2
  28. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  29. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -2
  30. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  31. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +1 -2
  32. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +1 -2
  33. package/dist/core/row-models/coreRowModelsFeature.utils.js +1 -2
  34. package/dist/core/row-models/createCoreRowModel.d.ts +1 -2
  35. package/dist/core/row-models/createCoreRowModel.js +1 -2
  36. package/dist/core/rows/constructRow.d.ts +1 -2
  37. package/dist/core/rows/constructRow.js +1 -2
  38. package/dist/core/rows/coreRowsFeature.d.ts +1 -2
  39. package/dist/core/rows/coreRowsFeature.js +1 -2
  40. package/dist/core/rows/coreRowsFeature.types.d.ts +1 -2
  41. package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -2
  42. package/dist/core/rows/coreRowsFeature.utils.js +1 -2
  43. package/dist/core/table/constructTable.d.ts +1 -2
  44. package/dist/core/table/constructTable.js +1 -2
  45. package/dist/core/table/coreTablesFeature.d.ts +1 -2
  46. package/dist/core/table/coreTablesFeature.js +1 -2
  47. package/dist/core/table/coreTablesFeature.types.d.ts +1 -2
  48. package/dist/core/table/coreTablesFeature.utils.d.ts +1 -2
  49. package/dist/core/table/coreTablesFeature.utils.js +1 -2
  50. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -2
  51. package/dist/features/column-faceting/columnFacetingFeature.js +1 -2
  52. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +1 -2
  53. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -2
  54. package/dist/features/column-faceting/columnFacetingFeature.utils.js +1 -2
  55. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -2
  56. package/dist/features/column-faceting/createFacetedMinMaxValues.js +1 -2
  57. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -2
  58. package/dist/features/column-faceting/createFacetedRowModel.js +1 -2
  59. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -2
  60. package/dist/features/column-faceting/createFacetedUniqueValues.js +1 -2
  61. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -2
  62. package/dist/features/column-filtering/columnFilteringFeature.js +1 -2
  63. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +1 -2
  64. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -2
  65. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -2
  66. package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -2
  67. package/dist/features/column-filtering/createFilteredRowModel.js +1 -2
  68. package/dist/features/column-filtering/filterFns.d.ts +1 -2
  69. package/dist/features/column-filtering/filterFns.js +1 -2
  70. package/dist/features/column-filtering/filterRowsUtils.js +1 -2
  71. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -2
  72. package/dist/features/column-grouping/columnGroupingFeature.js +1 -2
  73. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +1 -2
  74. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -2
  75. package/dist/features/column-grouping/columnGroupingFeature.utils.js +1 -2
  76. package/dist/features/column-grouping/createGroupedRowModel.d.ts +1 -2
  77. package/dist/features/column-grouping/createGroupedRowModel.js +21 -14
  78. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -2
  79. package/dist/features/column-ordering/columnOrderingFeature.js +1 -2
  80. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -2
  81. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -2
  82. package/dist/features/column-ordering/columnOrderingFeature.utils.js +1 -2
  83. package/dist/features/column-pinning/columnPinningFeature.d.ts +1 -2
  84. package/dist/features/column-pinning/columnPinningFeature.js +1 -2
  85. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +1 -2
  86. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +1 -2
  87. package/dist/features/column-pinning/columnPinningFeature.utils.js +1 -2
  88. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -2
  89. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  90. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -2
  91. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -2
  92. package/dist/features/column-resizing/columnResizingFeature.utils.js +1 -2
  93. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -2
  94. package/dist/features/column-sizing/columnSizingFeature.js +1 -2
  95. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +1 -2
  96. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +1 -2
  97. package/dist/features/column-sizing/columnSizingFeature.utils.js +1 -2
  98. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -2
  99. package/dist/features/column-visibility/columnVisibilityFeature.js +1 -2
  100. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +1 -2
  101. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -2
  102. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +1 -2
  103. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -2
  104. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  105. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +1 -2
  106. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +1 -2
  107. package/dist/features/global-filtering/globalFilteringFeature.utils.js +1 -2
  108. package/dist/features/row-aggregation/aggregationFns.d.ts +1 -2
  109. package/dist/features/row-aggregation/aggregationFns.js +81 -37
  110. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +1 -2
  111. package/dist/features/row-aggregation/rowAggregationFeature.js +2 -6
  112. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +3 -4
  113. package/dist/features/row-aggregation/rowAggregationFeature.types.js +1 -2
  114. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +15 -2
  115. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +35 -6
  116. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -2
  117. package/dist/features/row-expanding/createExpandedRowModel.js +1 -2
  118. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -2
  119. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  120. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +1 -2
  121. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -2
  122. package/dist/features/row-expanding/rowExpandingFeature.utils.js +1 -2
  123. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -2
  124. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -2
  125. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -2
  126. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  127. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +1 -2
  128. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -2
  129. package/dist/features/row-pagination/rowPaginationFeature.utils.js +1 -2
  130. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -2
  131. package/dist/features/row-pinning/rowPinningFeature.js +1 -2
  132. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +1 -2
  133. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -2
  134. package/dist/features/row-pinning/rowPinningFeature.utils.js +1 -2
  135. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -2
  136. package/dist/features/row-selection/rowSelectionFeature.js +1 -2
  137. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +1 -2
  138. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -2
  139. package/dist/features/row-selection/rowSelectionFeature.utils.js +1 -2
  140. package/dist/features/row-sorting/createSortedRowModel.d.ts +1 -2
  141. package/dist/features/row-sorting/createSortedRowModel.js +1 -2
  142. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -2
  143. package/dist/features/row-sorting/rowSortingFeature.js +1 -2
  144. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +1 -2
  145. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -2
  146. package/dist/features/row-sorting/rowSortingFeature.utils.js +1 -2
  147. package/dist/features/row-sorting/sortFns.d.ts +1 -2
  148. package/dist/features/row-sorting/sortFns.js +1 -2
  149. package/dist/features/stockFeatures.d.ts +1 -2
  150. package/dist/features/stockFeatures.js +1 -2
  151. package/dist/flex-render.d.ts +1 -2
  152. package/dist/flex-render.js +1 -2
  153. package/dist/helpers/columnHelper.d.ts +1 -2
  154. package/dist/helpers/columnHelper.js +1 -2
  155. package/dist/helpers/metaHelper.d.ts +1 -2
  156. package/dist/helpers/metaHelper.js +1 -2
  157. package/dist/helpers/tableFeatures.d.ts +1 -2
  158. package/dist/helpers/tableFeatures.js +1 -2
  159. package/dist/helpers/tableOptions.d.ts +1 -2
  160. package/dist/helpers/tableOptions.js +1 -2
  161. package/dist/static-functions.d.ts +2 -2
  162. package/dist/static-functions.js +2 -2
  163. package/dist/store-reactivity-bindings.d.ts +1 -2
  164. package/dist/store-reactivity-bindings.js +1 -2
  165. package/dist/types/Cell.d.ts +1 -2
  166. package/dist/types/Column.d.ts +1 -2
  167. package/dist/types/ColumnDef.d.ts +1 -2
  168. package/dist/types/Header.d.ts +1 -2
  169. package/dist/types/HeaderGroup.d.ts +1 -2
  170. package/dist/types/Row.d.ts +1 -2
  171. package/dist/types/RowModel.d.ts +1 -2
  172. package/dist/types/RowModelFns.d.ts +1 -2
  173. package/dist/types/Table.d.ts +1 -2
  174. package/dist/types/TableFeatures.d.ts +1 -2
  175. package/dist/types/TableOptions.d.ts +1 -2
  176. package/dist/types/TableState.d.ts +1 -2
  177. package/dist/types/type-utils.d.ts +1 -2
  178. package/dist/utils.d.ts +1 -2
  179. package/dist/utils.js +1 -2
  180. package/dist/worker/createTableWorker.d.ts +1 -2
  181. package/dist/worker/createTableWorker.js +1 -2
  182. package/dist/worker/createWorkerRowModel.d.ts +1 -2
  183. package/dist/worker/createWorkerRowModel.js +1 -2
  184. package/dist/worker/initTableWorker.d.ts +1 -2
  185. package/dist/worker/initTableWorker.js +1 -2
  186. package/dist/worker/rebuildRowModel.d.ts +1 -2
  187. package/dist/worker/rebuildRowModel.js +1 -2
  188. package/dist/worker/serializeRowModel.js +1 -2
  189. package/dist/worker/tableWorkerProtocol.d.ts +1 -2
  190. package/dist/worker/tableWorkerProtocol.js +1 -2
  191. package/package.json +9 -30
  192. package/skills/aggregation/SKILL.md +2 -2
  193. package/skills/api-not-found/SKILL.md +5 -5
  194. package/skills/client-vs-server/SKILL.md +2 -2
  195. package/skills/column-faceting/SKILL.md +2 -2
  196. package/skills/column-filtering/SKILL.md +2 -2
  197. package/skills/column-ordering/SKILL.md +2 -2
  198. package/skills/column-pinning/SKILL.md +2 -2
  199. package/skills/column-resizing/SKILL.md +2 -2
  200. package/skills/column-sizing/SKILL.md +2 -2
  201. package/skills/column-visibility/SKILL.md +2 -2
  202. package/skills/core/SKILL.md +2 -2
  203. package/skills/custom-features/SKILL.md +2 -2
  204. package/skills/expanding/SKILL.md +2 -2
  205. package/skills/global-filtering/SKILL.md +2 -2
  206. package/skills/grouping/SKILL.md +2 -2
  207. package/skills/migrate-v8-to-v9/SKILL.md +7 -7
  208. package/skills/pagination/SKILL.md +2 -2
  209. package/skills/row-pinning/SKILL.md +2 -2
  210. package/skills/row-selection/SKILL.md +2 -2
  211. package/skills/sorting/SKILL.md +2 -2
  212. package/skills/table-features/SKILL.md +2 -2
  213. package/skills/typescript/SKILL.md +2 -2
  214. package/dist/core/cells/constructCell.cjs +0 -31
  215. package/dist/core/cells/constructCell.cjs.map +0 -1
  216. package/dist/core/cells/constructCell.d.cts +0 -17
  217. package/dist/core/cells/constructCell.js.map +0 -1
  218. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  219. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  220. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  221. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  222. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  223. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  224. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  225. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  226. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  227. package/dist/core/columns/constructColumn.cjs +0 -60
  228. package/dist/core/columns/constructColumn.cjs.map +0 -1
  229. package/dist/core/columns/constructColumn.d.cts +0 -16
  230. package/dist/core/columns/constructColumn.js.map +0 -1
  231. package/dist/core/columns/coreColumnsFeature.cjs +0 -64
  232. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  233. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  234. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  235. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  236. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -183
  237. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  238. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  239. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  240. package/dist/core/coreFeatures.cjs +0 -25
  241. package/dist/core/coreFeatures.cjs.map +0 -1
  242. package/dist/core/coreFeatures.d.cts +0 -26
  243. package/dist/core/coreFeatures.js.map +0 -1
  244. package/dist/core/headers/buildHeaderGroups.cjs +0 -102
  245. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  246. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  247. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  248. package/dist/core/headers/constructHeader.cjs +0 -38
  249. package/dist/core/headers/constructHeader.cjs.map +0 -1
  250. package/dist/core/headers/constructHeader.d.cts +0 -22
  251. package/dist/core/headers/constructHeader.js.map +0 -1
  252. package/dist/core/headers/coreHeadersFeature.cjs +0 -52
  253. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  254. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  255. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  256. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  257. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -140
  258. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  259. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  260. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  261. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  262. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  263. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  264. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  265. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  266. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  267. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  268. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  269. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  270. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -33
  271. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -197
  272. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  273. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  274. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  275. package/dist/core/row-models/createCoreRowModel.cjs +0 -50
  276. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  277. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  278. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  279. package/dist/core/rows/constructRow.cjs +0 -40
  280. package/dist/core/rows/constructRow.cjs.map +0 -1
  281. package/dist/core/rows/constructRow.d.cts +0 -15
  282. package/dist/core/rows/constructRow.js.map +0 -1
  283. package/dist/core/rows/coreRowsFeature.cjs +0 -53
  284. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  285. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  286. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  287. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -133
  288. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -246
  289. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  290. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -146
  291. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  292. package/dist/core/table/constructTable.cjs +0 -128
  293. package/dist/core/table/constructTable.cjs.map +0 -1
  294. package/dist/core/table/constructTable.d.cts +0 -22
  295. package/dist/core/table/constructTable.js.map +0 -1
  296. package/dist/core/table/coreTablesFeature.cjs +0 -17
  297. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  298. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  299. package/dist/core/table/coreTablesFeature.js.map +0 -1
  300. package/dist/core/table/coreTablesFeature.types.d.cts +0 -199
  301. package/dist/core/table/coreTablesFeature.utils.cjs +0 -120
  302. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  303. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -60
  304. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  305. package/dist/experimental-worker-plugin.cjs +0 -14
  306. package/dist/experimental-worker-plugin.d.cts +0 -5
  307. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -55
  308. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  309. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  310. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  311. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -67
  312. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -114
  313. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  314. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  315. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  316. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -47
  317. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  318. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  319. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  320. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -45
  321. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  322. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  323. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  324. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -45
  325. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  326. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  327. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  328. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  329. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  330. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  331. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  332. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -214
  333. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -218
  334. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  335. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -147
  336. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  337. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -114
  338. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  339. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -22
  340. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  341. package/dist/features/column-filtering/filterFns.cjs +0 -399
  342. package/dist/features/column-filtering/filterFns.cjs.map +0 -1
  343. package/dist/features/column-filtering/filterFns.d.cts +0 -210
  344. package/dist/features/column-filtering/filterFns.js.map +0 -1
  345. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -82
  346. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  347. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  348. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -55
  349. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  350. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  351. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  352. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -129
  353. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -195
  354. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -153
  356. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  357. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -132
  358. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  359. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -18
  360. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  361. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -54
  362. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  363. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  364. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  365. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -81
  366. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -192
  367. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  368. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -119
  369. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  370. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -202
  371. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  372. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -15
  373. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  374. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -189
  375. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -584
  376. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  377. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -384
  378. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  379. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  380. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  381. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  382. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  383. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -78
  384. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -286
  385. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  386. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  387. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  388. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -90
  389. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  390. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  391. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  392. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -139
  393. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -299
  394. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  395. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -200
  396. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  397. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -83
  398. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  399. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  400. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  401. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  402. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -284
  403. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  404. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  405. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  406. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -40
  407. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  408. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  409. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  410. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  411. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  412. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  413. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -71
  414. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  415. package/dist/features/row-aggregation/aggregationFns.cjs +0 -246
  416. package/dist/features/row-aggregation/aggregationFns.cjs.map +0 -1
  417. package/dist/features/row-aggregation/aggregationFns.d.cts +0 -68
  418. package/dist/features/row-aggregation/aggregationFns.js.map +0 -1
  419. package/dist/features/row-aggregation/rowAggregationFeature.cjs +0 -39
  420. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +0 -1
  421. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +0 -10
  422. package/dist/features/row-aggregation/rowAggregationFeature.js.map +0 -1
  423. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +0 -13
  424. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +0 -1
  425. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +0 -195
  426. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +0 -1
  427. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +0 -212
  428. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +0 -1
  429. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +0 -34
  430. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -55
  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 -118
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -283
  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 -58
  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 -126
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -306
  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 -55
  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 -224
  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 -119
  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 -174
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -570
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -345
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -114
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -22
  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 -220
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -316
  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/row-sorting/sortFns.cjs +0 -226
  489. package/dist/features/row-sorting/sortFns.cjs.map +0 -1
  490. package/dist/features/row-sorting/sortFns.d.cts +0 -98
  491. package/dist/features/row-sorting/sortFns.js.map +0 -1
  492. package/dist/features/stockFeatures.cjs +0 -43
  493. package/dist/features/stockFeatures.cjs.map +0 -1
  494. package/dist/features/stockFeatures.d.cts +0 -43
  495. package/dist/features/stockFeatures.js.map +0 -1
  496. package/dist/flex-render.cjs +0 -29
  497. package/dist/flex-render.cjs.map +0 -1
  498. package/dist/flex-render.d.cts +0 -34
  499. package/dist/flex-render.js.map +0 -1
  500. package/dist/helpers/columnHelper.cjs +0 -41
  501. package/dist/helpers/columnHelper.cjs.map +0 -1
  502. package/dist/helpers/columnHelper.d.cts +0 -71
  503. package/dist/helpers/columnHelper.js.map +0 -1
  504. package/dist/helpers/metaHelper.cjs +0 -30
  505. package/dist/helpers/metaHelper.cjs.map +0 -1
  506. package/dist/helpers/metaHelper.d.cts +0 -26
  507. package/dist/helpers/metaHelper.js.map +0 -1
  508. package/dist/helpers/tableFeatures.cjs +0 -49
  509. package/dist/helpers/tableFeatures.cjs.map +0 -1
  510. package/dist/helpers/tableFeatures.d.cts +0 -47
  511. package/dist/helpers/tableFeatures.js.map +0 -1
  512. package/dist/helpers/tableOptions.cjs +0 -15
  513. package/dist/helpers/tableOptions.cjs.map +0 -1
  514. package/dist/helpers/tableOptions.d.cts +0 -57
  515. package/dist/helpers/tableOptions.js.map +0 -1
  516. package/dist/index.cjs +0 -153
  517. package/dist/index.d.cts +0 -81
  518. package/dist/reactivity.cjs +0 -4
  519. package/dist/reactivity.d.cts +0 -3
  520. package/dist/static-functions.cjs +0 -274
  521. package/dist/static-functions.d.cts +0 -22
  522. package/dist/store-reactivity-bindings.cjs +0 -44
  523. package/dist/store-reactivity-bindings.cjs.map +0 -1
  524. package/dist/store-reactivity-bindings.d.cts +0 -22
  525. package/dist/store-reactivity-bindings.js.map +0 -1
  526. package/dist/types/Cell.d.cts +0 -16
  527. package/dist/types/Column.d.cts +0 -36
  528. package/dist/types/ColumnDef.d.cts +0 -125
  529. package/dist/types/Header.d.cts +0 -16
  530. package/dist/types/HeaderGroup.d.cts +0 -10
  531. package/dist/types/Row.d.cts +0 -28
  532. package/dist/types/RowModel.d.cts +0 -24
  533. package/dist/types/RowModelFns.d.cts +0 -18
  534. package/dist/types/Table.d.cts +0 -65
  535. package/dist/types/TableFeatures.d.cts +0 -381
  536. package/dist/types/TableOptions.d.cts +0 -77
  537. package/dist/types/TableState.d.cts +0 -48
  538. package/dist/types/type-utils.d.cts +0 -30
  539. package/dist/utils.cjs +0 -265
  540. package/dist/utils.cjs.map +0 -1
  541. package/dist/utils.d.cts +0 -136
  542. package/dist/utils.js.map +0 -1
  543. package/dist/worker/createTableWorker.cjs +0 -189
  544. package/dist/worker/createTableWorker.cjs.map +0 -1
  545. package/dist/worker/createTableWorker.d.cts +0 -102
  546. package/dist/worker/createTableWorker.js.map +0 -1
  547. package/dist/worker/createWorkerRowModel.cjs +0 -78
  548. package/dist/worker/createWorkerRowModel.cjs.map +0 -1
  549. package/dist/worker/createWorkerRowModel.d.cts +0 -42
  550. package/dist/worker/createWorkerRowModel.js.map +0 -1
  551. package/dist/worker/initTableWorker.cjs +0 -100
  552. package/dist/worker/initTableWorker.cjs.map +0 -1
  553. package/dist/worker/initTableWorker.d.cts +0 -33
  554. package/dist/worker/initTableWorker.js.map +0 -1
  555. package/dist/worker/rebuildRowModel.cjs +0 -72
  556. package/dist/worker/rebuildRowModel.cjs.map +0 -1
  557. package/dist/worker/rebuildRowModel.d.cts +0 -9
  558. package/dist/worker/rebuildRowModel.js.map +0 -1
  559. package/dist/worker/serializeRowModel.cjs +0 -53
  560. package/dist/worker/serializeRowModel.cjs.map +0 -1
  561. package/dist/worker/serializeRowModel.js.map +0 -1
  562. package/dist/worker/tableWorkerProtocol.cjs +0 -29
  563. package/dist/worker/tableWorkerProtocol.cjs.map +0 -1
  564. package/dist/worker/tableWorkerProtocol.d.cts +0 -88
  565. package/dist/worker/tableWorkerProtocol.js.map +0 -1
  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 -125
  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 -184
  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 -199
  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 -50
  584. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  585. package/src/core/row-models/createCoreRowModel.ts +0 -94
  586. package/src/core/rows/constructRow.ts +0 -68
  587. package/src/core/rows/coreRowsFeature.ts +0 -83
  588. package/src/core/rows/coreRowsFeature.types.ts +0 -154
  589. package/src/core/rows/coreRowsFeature.utils.ts +0 -352
  590. package/src/core/table/constructTable.ts +0 -210
  591. package/src/core/table/coreTablesFeature.ts +0 -19
  592. package/src/core/table/coreTablesFeature.types.ts +0 -241
  593. package/src/core/table/coreTablesFeature.utils.ts +0 -171
  594. package/src/experimental-worker-plugin.ts +0 -22
  595. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  596. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -78
  597. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -180
  598. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -92
  599. package/src/features/column-faceting/createFacetedRowModel.ts +0 -92
  600. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -97
  601. package/src/features/column-filtering/columnFilteringFeature.ts +0 -87
  602. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -308
  603. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -345
  604. package/src/features/column-filtering/createFilteredRowModel.ts +0 -194
  605. package/src/features/column-filtering/filterFns.ts +0 -533
  606. package/src/features/column-filtering/filterRowsUtils.ts +0 -158
  607. package/src/features/column-grouping/columnGroupingFeature.ts +0 -97
  608. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -152
  609. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -271
  610. package/src/features/column-grouping/createGroupedRowModel.ts +0 -221
  611. package/src/features/column-ordering/columnOrderingFeature.ts +0 -78
  612. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -86
  613. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -292
  614. package/src/features/column-pinning/columnPinningFeature.ts +0 -333
  615. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -203
  616. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -922
  617. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  618. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -86
  619. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -432
  620. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  621. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -147
  622. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -462
  623. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -126
  624. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  625. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -402
  626. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  627. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  628. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -126
  629. package/src/features/row-aggregation/aggregationFns.ts +0 -345
  630. package/src/features/row-aggregation/rowAggregationFeature.ts +0 -60
  631. package/src/features/row-aggregation/rowAggregationFeature.types.ts +0 -339
  632. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +0 -430
  633. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  634. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  635. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -132
  636. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -399
  637. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  638. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  639. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -137
  640. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  641. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  642. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  643. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  644. package/src/features/row-selection/rowSelectionFeature.ts +0 -190
  645. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -195
  646. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -927
  647. package/src/features/row-sorting/createSortedRowModel.ts +0 -189
  648. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  649. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -288
  650. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -513
  651. package/src/features/row-sorting/sortFns.ts +0 -366
  652. package/src/features/stockFeatures.ts +0 -56
  653. package/src/flex-render.ts +0 -70
  654. package/src/helpers/columnHelper.ts +0 -122
  655. package/src/helpers/metaHelper.ts +0 -24
  656. package/src/helpers/tableFeatures.ts +0 -56
  657. package/src/helpers/tableOptions.ts +0 -117
  658. package/src/index.ts +0 -138
  659. package/src/process-env.d.ts +0 -6
  660. package/src/reactivity.ts +0 -2
  661. package/src/static-functions.ts +0 -32
  662. package/src/store-reactivity-bindings.ts +0 -47
  663. package/src/types/Cell.ts +0 -23
  664. package/src/types/Column.ts +0 -55
  665. package/src/types/ColumnDef.ts +0 -258
  666. package/src/types/Header.ts +0 -23
  667. package/src/types/HeaderGroup.ts +0 -13
  668. package/src/types/Row.ts +0 -36
  669. package/src/types/RowModel.ts +0 -43
  670. package/src/types/RowModelFns.ts +0 -32
  671. package/src/types/Table.ts +0 -116
  672. package/src/types/TableFeatures.ts +0 -479
  673. package/src/types/TableOptions.ts +0 -154
  674. package/src/types/TableState.ts +0 -61
  675. package/src/types/type-utils.ts +0 -92
  676. package/src/utils.ts +0 -493
  677. package/src/worker/createTableWorker.ts +0 -357
  678. package/src/worker/createWorkerRowModel.ts +0 -121
  679. package/src/worker/initTableWorker.ts +0 -164
  680. package/src/worker/rebuildRowModel.ts +0 -120
  681. package/src/worker/serializeRowModel.ts +0 -80
  682. package/src/worker/tableWorkerProtocol.ts +0 -105
@@ -1,195 +0,0 @@
1
- import { CellData, RowData } from "../../types/type-utils.cjs";
2
- import { BuiltInAggregationFn } from "./aggregationFns.cjs";
3
- import { ColumnDefTemplate } from "../../types/ColumnDef.cjs";
4
- import { Cell } from "../../types/Cell.cjs";
5
- import { Row } from "../../types/Row.cjs";
6
- import { Table } from "../../types/Table.cjs";
7
- import { Column } from "../../types/Column.cjs";
8
- import { IsAny, TableFeatures } from "../../types/TableFeatures.cjs";
9
-
10
- //#region src/features/row-aggregation/rowAggregationFeature.types.d.ts
11
- /** Declaration-merging fallback for named aggregation definitions. */
12
- interface AggregationFns {}
13
- /** Values and table objects available while one aggregation is evaluated. */
14
- interface AggregationContext<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> {
15
- /** The column whose values are being aggregated. */
16
- column: Column<TFeatures, TData, TValue>;
17
- /** Convenience alias for `column.id`. */
18
- columnId: string;
19
- /** Maximum relative sub-row depth used to select `rows`. */
20
- maxDepth: number;
21
- /**
22
- * Immediate sub-rows for grouped aggregation. This property is omitted
23
- * for root or caller-supplied-row aggregation. At a terminal grouping level
24
- * these are the direct data rows; at a nested level they are sub-row groups.
25
- */
26
- subRows?: ReadonlyArray<Row<TFeatures, TData>>;
27
- /** Reads this column's value from one of `rows`. */
28
- getValue: (row: Row<TFeatures, TData>) => TValue;
29
- /**
30
- * The synthetic grouped row receiving this result. This property is omitted
31
- * for root or caller-supplied-row aggregation. Its `depth` identifies the
32
- * grouping level when grouped aggregation needs that distinction.
33
- */
34
- groupingRow?: Row<TFeatures, TData>;
35
- /**
36
- * Unique rows selected at `maxDepth`. Branches that end before `maxDepth`
37
- * contribute their deepest available row.
38
- */
39
- rows: ReadonlyArray<Row<TFeatures, TData>>;
40
- /** The table that owns the column and rows. */
41
- table: Table<TFeatures, TData>;
42
- }
43
- /** Additional values available when merging nested grouped results. */
44
- interface AggregationMergeContext<TFeatures extends TableFeatures, TData extends RowData, TValue, TResult> extends AggregationContext<TFeatures, TData, TValue> {
45
- /** Results produced for each immediate sub-row group, in sub-row order. */
46
- subRowResults: ReadonlyArray<TResult>;
47
- /** Immediate sub-row groups corresponding to `subRowResults`. */
48
- subRows: ReadonlyArray<Row<TFeatures, TData>>;
49
- }
50
- /** A context-based aggregation definition and optional grouped-result merge. */
51
- interface AggregationFnDef<TFeatures extends TableFeatures = any, TData extends RowData = any, TValue = unknown, TResult = unknown> {
52
- /** Computes a result directly from the selected `rows`. */
53
- aggregate: (context: AggregationContext<TFeatures, TData, TValue>) => TResult;
54
- /**
55
- * Combines already-computed immediate sub-row results. When omitted,
56
- * nested grouping falls back to `aggregate` over the group's selected rows.
57
- */
58
- merge?: (context: AggregationMergeContext<TFeatures, TData, TValue, TResult>) => TResult;
59
- }
60
- /**
61
- * Creates a typed context-based aggregation definition for a column or
62
- * aggregation-function registry.
63
- */
64
- 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>;
65
- /** Aggregation-definition registry carried by a table feature set. */
66
- interface RowModelFns_Aggregation<in out TFeatures extends TableFeatures, in out TData extends RowData> {
67
- aggregationFns: Record<string, AggregationFnDef<TFeatures, TData, any, any>>;
68
- }
69
- /** Named context-based aggregation definitions registered on a feature set. */
70
- type CustomAggregationFns<TFeatures extends TableFeatures, TData extends RowData> = Record<string, AggregationFnDef<TFeatures, TData, any, any>>;
71
- /** String names available from a feature set's aggregation registry. */
72
- type ExtractAggregationFnKeys<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? keyof AggregationFns | BuiltInAggregationFn : TFeatures extends {
73
- aggregationFns: infer TAggregationFns extends object;
74
- } ? Extract<keyof TAggregationFns, string> : keyof AggregationFns;
75
- /** A registered name, automatic inference, or inline aggregation definition. */
76
- type AggregationFnRef<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown, TResult = unknown> = 'auto' | ExtractAggregationFnKeys<TFeatures> | AggregationFnDef<TFeatures, TData, TValue, TResult>;
77
- /** Gives an aggregation reference a stable key in a multiple result. */
78
- interface AggregationFnDescriptor<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown, TResult = unknown> {
79
- /** The named, automatic, or inline definition to execute. */
80
- aggregationFn: AggregationFnRef<TFeatures, TData, TValue, TResult>;
81
- /** Stable key used in the object returned by a multiple aggregation. */
82
- id: string;
83
- }
84
- /** One named or explicitly keyed entry in a multiple aggregation option. */
85
- type AggregationFnListItem<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = 'auto' | ExtractAggregationFnKeys<TFeatures> | AggregationFnDescriptor<TFeatures, TData, TValue, any>;
86
- /** A scalar aggregation reference or a list that produces a keyed object. */
87
- type AggregationFnOption<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = AggregationFnRef<TFeatures, TData, TValue, any> | ReadonlyArray<AggregationFnListItem<TFeatures, TData, TValue>>;
88
- /** Extracts the result type produced by an aggregation definition. */
89
- type AggregationResultOf<TDefinition> = TDefinition extends AggregationFnDef<any, any, any, infer TResult> ? TResult : unknown;
90
- type RegisteredAggregationDefinition<TFeatures extends TableFeatures, TKey extends PropertyKey> = TFeatures extends {
91
- aggregationFns: infer TRegistry extends Record<PropertyKey, unknown>;
92
- } ? TKey extends keyof TRegistry ? TRegistry[TKey] : never : never;
93
- 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;
94
- type AggregationEntryId<TEntry> = TEntry extends string ? TEntry : TEntry extends {
95
- id: infer TId extends string;
96
- } ? TId : never;
97
- type AggregationEntryDefinition<TEntry> = TEntry extends {
98
- aggregationFn: infer TDefinition;
99
- } ? TDefinition : TEntry;
100
- /** Infers the scalar or keyed result produced by an aggregation option. */
101
- type AggregationResult<TOption, TFeatures extends TableFeatures = any> = TOption extends ReadonlyArray<infer TEntry> ? { [TKey in AggregationEntryId<TEntry>]: AggregationResultOfRef<AggregationEntryDefinition<Extract<TEntry, TKey | {
102
- id: TKey;
103
- }>>, TFeatures> } : AggregationResultOfRef<TOption, TFeatures>;
104
- type RegisteredAggregationResult<TFeatures extends TableFeatures> = TFeatures extends {
105
- aggregationFns: infer TRegistry extends Record<string, unknown>;
106
- } ? AggregationResultOf<TRegistry[keyof TRegistry]> : unknown;
107
- /** Default public result union when a column's precise option is not known. */
108
- type ColumnAggregationValue<TFeatures extends TableFeatures> = RegisteredAggregationResult<TFeatures> | Record<string, RegisteredAggregationResult<TFeatures> | undefined> | undefined;
109
- /** A validated aggregation entry returned by `column.getAggregationFns()`. */
110
- interface ResolvedAggregationFn<TFeatures extends TableFeatures, TData extends RowData> {
111
- /** Resolved definition, or `undefined` when configuration is invalid. */
112
- aggregationFn: AggregationFnDef<TFeatures, TData, any, any> | undefined;
113
- /** Key used for a multiple result; scalar inline definitions have no id. */
114
- id: string | undefined;
115
- }
116
- /** Column-definition options installed by `rowAggregationFeature`. */
117
- interface ColumnDef_Aggregation<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
118
- /** Renderer used for a grouped row's aggregated cell. */
119
- aggregatedCell?: ColumnDefTemplate<ReturnType<Cell<TFeatures, TData, TValue>['getContext']>>;
120
- /**
121
- * One aggregation reference for a scalar result, or an array for a keyed
122
- * result object. Inline definitions in an array require an explicit `id`.
123
- */
124
- aggregationFn?: AggregationFnOption<TFeatures, TData, TValue>;
125
- /**
126
- * Maximum relative sub-row depth used for grouped aggregation and cached
127
- * default totals. `0` selects the supplied root rows, `1` their direct
128
- * sub-rows, and so on. Defaults to `0`.
129
- */
130
- maxAggregationDepth?: number;
131
- /**
132
- * Optionally supplies a precomputed aggregation value for this column.
133
- * Return `{ value }` to handle the request, including `{ value: undefined }`;
134
- * return `undefined` to use the local aggregation fallback.
135
- */
136
- getAggregationValue?: (context: AggregationValueContext<TFeatures, TData, TValue>) => AggregationValueResult | undefined;
137
- }
138
- /** Column instance APIs installed by `rowAggregationFeature`. */
139
- interface Column_Aggregation<in out TFeatures extends TableFeatures, in out TData extends RowData> {
140
- /** Resolves the configured scalar or multiple aggregation definitions. */
141
- getAggregationFns: () => ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>;
142
- /**
143
- * Aggregates this column over the default pre-grouped row model, or over a
144
- * caller-provided array of rows. `options.maxDepth` overrides the column's
145
- * `maxAggregationDepth`. Explicit-row calls are intentionally not cached.
146
- */
147
- getAggregationValue: <TResult = ColumnAggregationValue<TFeatures>>(options?: AggregationValueOptions<TFeatures, TData>) => TResult;
148
- /** Infers `sum` for a numeric first row and `extent` for a Date first row. */
149
- getAutoAggregationFn: () => AggregationFnDef<TFeatures, TData, any, any> | undefined;
150
- }
151
- /** Options for a caller-requested column aggregation value. */
152
- interface AggregationValueOptions<in out TFeatures extends TableFeatures, in out TData extends RowData> {
153
- /** Overrides the column's `maxAggregationDepth` for this request. */
154
- maxDepth?: number;
155
- /** Rows to aggregate instead of the default pre-grouped row model. */
156
- rows?: ReadonlyArray<Row<TFeatures, TData>>;
157
- }
158
- /** Cell instance APIs installed by `rowAggregationFeature`. */
159
- interface Cell_Aggregation {
160
- /** Whether this cell displays an aggregate on a synthetic grouped row. */
161
- getIsAggregated: () => boolean;
162
- }
163
- /** Internal per-row cache used while grouped aggregates are evaluated. */
164
- interface Row_Aggregation {
165
- /** Cached aggregate results keyed by column id. */
166
- _aggregationValuesCache: Record<string, unknown>;
167
- }
168
- /** Values passed to a column-level aggregation-value provider. */
169
- interface AggregationValueContext<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
170
- /** The column whose value was requested. */
171
- column: Column<TFeatures, TData, TValue>;
172
- /** Maximum relative sub-row depth used for the request. */
173
- maxDepth: number;
174
- /** Caller-provided rows, or `undefined` for the default row model. */
175
- rows?: ReadonlyArray<Row<TFeatures, TData>>;
176
- /** The table that owns the column. */
177
- table: Table<TFeatures, TData>;
178
- }
179
- /** Marks an aggregation-value override as handled. */
180
- interface AggregationValueResult<TResult = unknown> {
181
- /** The supplied value. `undefined` is still a handled result. */
182
- value: TResult;
183
- }
184
- /** Table options installed by `rowAggregationFeature`. */
185
- interface TableOptions_Aggregation {
186
- /**
187
- * Disables local `column.getAggregationValue()` calculation when a column
188
- * override does not handle the request. Group values supplied by manually
189
- * grouped rows remain the responsibility of the data owner.
190
- */
191
- manualAggregation?: boolean;
192
- }
193
- //#endregion
194
- export { AggregationContext, AggregationFnDef, AggregationFnDescriptor, AggregationFnListItem, AggregationFnOption, AggregationFnRef, AggregationFns, AggregationMergeContext, AggregationResult, AggregationResultOf, AggregationValueContext, AggregationValueOptions, AggregationValueResult, Cell_Aggregation, ColumnAggregationValue, ColumnDef_Aggregation, Column_Aggregation, CustomAggregationFns, ExtractAggregationFnKeys, ResolvedAggregationFn, RowModelFns_Aggregation, Row_Aggregation, TableOptions_Aggregation, constructAggregationFn };
195
- //# sourceMappingURL=rowAggregationFeature.types.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rowAggregationFeature.types.js","names":[],"sources":["../../../src/features/row-aggregation/rowAggregationFeature.types.ts"],"sourcesContent":["import type { BuiltInAggregationFn } from './aggregationFns'\nimport type { Cell } from '../../types/Cell'\nimport type { Column } from '../../types/Column'\nimport type { ColumnDefTemplate } from '../../types/ColumnDef'\nimport type { IsAny, TableFeatures } from '../../types/TableFeatures'\nimport type { Row } from '../../types/Row'\nimport type { Table } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\n\n/** Declaration-merging fallback for named aggregation definitions. */\nexport interface AggregationFns {}\n\n/** Values and table objects available while one aggregation is evaluated. */\nexport interface AggregationContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue = unknown,\n> {\n /** The column whose values are being aggregated. */\n column: Column<TFeatures, TData, TValue>\n /** Convenience alias for `column.id`. */\n columnId: string\n /** Maximum relative sub-row depth used to select `rows`. */\n maxDepth: number\n /**\n * Immediate sub-rows for grouped aggregation. This property is omitted\n * for root or caller-supplied-row aggregation. At a terminal grouping level\n * these are the direct data rows; at a nested level they are sub-row groups.\n */\n subRows?: ReadonlyArray<Row<TFeatures, TData>>\n /** Reads this column's value from one of `rows`. */\n getValue: (row: Row<TFeatures, TData>) => TValue\n /**\n * The synthetic grouped row receiving this result. This property is omitted\n * for root or caller-supplied-row aggregation. Its `depth` identifies the\n * grouping level when grouped aggregation needs that distinction.\n */\n groupingRow?: Row<TFeatures, TData>\n /**\n * Unique rows selected at `maxDepth`. Branches that end before `maxDepth`\n * contribute their deepest available row.\n */\n rows: ReadonlyArray<Row<TFeatures, TData>>\n /** The table that owns the column and rows. */\n table: Table<TFeatures, TData>\n}\n\n/** Additional values available when merging nested grouped results. */\nexport interface AggregationMergeContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n TResult,\n> extends AggregationContext<TFeatures, TData, TValue> {\n /** Results produced for each immediate sub-row group, in sub-row order. */\n subRowResults: ReadonlyArray<TResult>\n /** Immediate sub-row groups corresponding to `subRowResults`. */\n subRows: ReadonlyArray<Row<TFeatures, TData>>\n}\n\n/** A context-based aggregation definition and optional grouped-result merge. */\nexport interface AggregationFnDef<\n TFeatures extends TableFeatures = any,\n TData extends RowData = any,\n TValue = unknown,\n TResult = unknown,\n> {\n /** Computes a result directly from the selected `rows`. */\n aggregate: (context: AggregationContext<TFeatures, TData, TValue>) => TResult\n /**\n * Combines already-computed immediate sub-row results. When omitted,\n * nested grouping falls back to `aggregate` over the group's selected rows.\n */\n merge?: (\n context: AggregationMergeContext<TFeatures, TData, TValue, TResult>,\n ) => TResult\n}\n\n/**\n * Creates a typed context-based aggregation definition for a column or\n * aggregation-function registry.\n */\nexport function constructAggregationFn<\n TFeatures extends TableFeatures = any,\n TData extends RowData = any,\n TValue = unknown,\n TResult = unknown,\n>(\n definition: AggregationFnDef<TFeatures, TData, TValue, TResult>,\n): AggregationFnDef<TFeatures, TData, TValue, TResult> {\n return definition\n}\n\n/** Aggregation-definition registry carried by a table feature set. */\nexport interface RowModelFns_Aggregation<\n in out TFeatures extends TableFeatures,\n in out TData extends RowData,\n> {\n aggregationFns: Record<string, AggregationFnDef<TFeatures, TData, any, any>>\n}\n\n/** Named context-based aggregation definitions registered on a feature set. */\nexport type CustomAggregationFns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> = Record<string, AggregationFnDef<TFeatures, TData, any, any>>\n\n/** String names available from a feature set's aggregation registry. */\nexport type ExtractAggregationFnKeys<TFeatures extends TableFeatures> =\n IsAny<TFeatures> extends true\n ? keyof AggregationFns | BuiltInAggregationFn\n : TFeatures extends { aggregationFns: infer TAggregationFns extends object }\n ? Extract<keyof TAggregationFns, string>\n : keyof AggregationFns\n\n/** A registered name, automatic inference, or inline aggregation definition. */\nexport type AggregationFnRef<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue = unknown,\n TResult = unknown,\n> =\n | 'auto'\n | ExtractAggregationFnKeys<TFeatures>\n | AggregationFnDef<TFeatures, TData, TValue, TResult>\n\n/** Gives an aggregation reference a stable key in a multiple result. */\nexport interface AggregationFnDescriptor<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue = unknown,\n TResult = unknown,\n> {\n /** The named, automatic, or inline definition to execute. */\n aggregationFn: AggregationFnRef<TFeatures, TData, TValue, TResult>\n /** Stable key used in the object returned by a multiple aggregation. */\n id: string\n}\n\n/** One named or explicitly keyed entry in a multiple aggregation option. */\nexport type AggregationFnListItem<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue = unknown,\n> =\n | 'auto'\n | ExtractAggregationFnKeys<TFeatures>\n | AggregationFnDescriptor<TFeatures, TData, TValue, any>\n\n/** A scalar aggregation reference or a list that produces a keyed object. */\nexport type AggregationFnOption<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue = unknown,\n> =\n | AggregationFnRef<TFeatures, TData, TValue, any>\n | ReadonlyArray<AggregationFnListItem<TFeatures, TData, TValue>>\n\n/** Extracts the result type produced by an aggregation definition. */\nexport type AggregationResultOf<TDefinition> =\n TDefinition extends AggregationFnDef<any, any, any, infer TResult>\n ? TResult\n : unknown\n\ntype RegisteredAggregationDefinition<\n TFeatures extends TableFeatures,\n TKey extends PropertyKey,\n> = TFeatures extends {\n aggregationFns: infer TRegistry extends Record<PropertyKey, unknown>\n}\n ? TKey extends keyof TRegistry\n ? TRegistry[TKey]\n : never\n : never\n\ntype AggregationResultOfRef<TRef, TFeatures extends TableFeatures> =\n TRef extends AggregationFnDef<any, any, any, any>\n ? AggregationResultOf<TRef>\n : TRef extends 'auto'\n ? RegisteredAggregationResult<TFeatures>\n : TRef extends PropertyKey\n ? AggregationResultOf<RegisteredAggregationDefinition<TFeatures, TRef>>\n : unknown\n\ntype AggregationEntryId<TEntry> = TEntry extends string\n ? TEntry\n : TEntry extends { id: infer TId extends string }\n ? TId\n : never\n\ntype AggregationEntryDefinition<TEntry> = TEntry extends {\n aggregationFn: infer TDefinition\n}\n ? TDefinition\n : TEntry\n\n/** Infers the scalar or keyed result produced by an aggregation option. */\nexport type AggregationResult<TOption, TFeatures extends TableFeatures = any> =\n TOption extends ReadonlyArray<infer TEntry>\n ? {\n [TKey in AggregationEntryId<TEntry>]: AggregationResultOfRef<\n AggregationEntryDefinition<Extract<TEntry, TKey | { id: TKey }>>,\n TFeatures\n >\n }\n : AggregationResultOfRef<TOption, TFeatures>\n\ntype RegisteredAggregationResult<TFeatures extends TableFeatures> =\n TFeatures extends {\n aggregationFns: infer TRegistry extends Record<string, unknown>\n }\n ? AggregationResultOf<TRegistry[keyof TRegistry]>\n : unknown\n\n/** Default public result union when a column's precise option is not known. */\nexport type ColumnAggregationValue<TFeatures extends TableFeatures> =\n | RegisteredAggregationResult<TFeatures>\n | Record<string, RegisteredAggregationResult<TFeatures> | undefined>\n | undefined\n\n/** A validated aggregation entry returned by `column.getAggregationFns()`. */\nexport interface ResolvedAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n /** Resolved definition, or `undefined` when configuration is invalid. */\n aggregationFn: AggregationFnDef<TFeatures, TData, any, any> | undefined\n /** Key used for a multiple result; scalar inline definitions have no id. */\n id: string | undefined\n}\n\n/** Column-definition options installed by `rowAggregationFeature`. */\nexport interface ColumnDef_Aggregation<\n in out TFeatures extends TableFeatures,\n in out TData extends RowData,\n TValue extends CellData = CellData,\n> {\n /** Renderer used for a grouped row's aggregated cell. */\n aggregatedCell?: ColumnDefTemplate<\n ReturnType<Cell<TFeatures, TData, TValue>['getContext']>\n >\n /**\n * One aggregation reference for a scalar result, or an array for a keyed\n * result object. Inline definitions in an array require an explicit `id`.\n */\n aggregationFn?: AggregationFnOption<TFeatures, TData, TValue>\n /**\n * Maximum relative sub-row depth used for grouped aggregation and cached\n * default totals. `0` selects the supplied root rows, `1` their direct\n * sub-rows, and so on. Defaults to `0`.\n */\n maxAggregationDepth?: number\n /**\n * Optionally supplies a precomputed aggregation value for this column.\n * Return `{ value }` to handle the request, including `{ value: undefined }`;\n * return `undefined` to use the local aggregation fallback.\n */\n getAggregationValue?: (\n context: AggregationValueContext<TFeatures, TData, TValue>,\n ) => AggregationValueResult | undefined\n}\n\n/** Column instance APIs installed by `rowAggregationFeature`. */\nexport interface Column_Aggregation<\n in out TFeatures extends TableFeatures,\n in out TData extends RowData,\n> {\n /** Resolves the configured scalar or multiple aggregation definitions. */\n getAggregationFns: () => ReadonlyArray<\n ResolvedAggregationFn<TFeatures, TData>\n >\n /**\n * Aggregates this column over the default pre-grouped row model, or over a\n * caller-provided array of rows. `options.maxDepth` overrides the column's\n * `maxAggregationDepth`. Explicit-row calls are intentionally not cached.\n */\n getAggregationValue: <TResult = ColumnAggregationValue<TFeatures>>(\n options?: AggregationValueOptions<TFeatures, TData>,\n ) => TResult\n /** Infers `sum` for a numeric first row and `extent` for a Date first row. */\n getAutoAggregationFn: () =>\n | AggregationFnDef<TFeatures, TData, any, any>\n | undefined\n}\n\n/** Options for a caller-requested column aggregation value. */\nexport interface AggregationValueOptions<\n in out TFeatures extends TableFeatures,\n in out TData extends RowData,\n> {\n /** Overrides the column's `maxAggregationDepth` for this request. */\n maxDepth?: number\n /** Rows to aggregate instead of the default pre-grouped row model. */\n rows?: ReadonlyArray<Row<TFeatures, TData>>\n}\n\n/** Cell instance APIs installed by `rowAggregationFeature`. */\nexport interface Cell_Aggregation {\n /** Whether this cell displays an aggregate on a synthetic grouped row. */\n getIsAggregated: () => boolean\n}\n\n/** Internal per-row cache used while grouped aggregates are evaluated. */\nexport interface Row_Aggregation {\n /** Cached aggregate results keyed by column id. */\n _aggregationValuesCache: Record<string, unknown>\n}\n\n/** Values passed to a column-level aggregation-value provider. */\nexport interface AggregationValueContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n> {\n /** The column whose value was requested. */\n column: Column<TFeatures, TData, TValue>\n /** Maximum relative sub-row depth used for the request. */\n maxDepth: number\n /** Caller-provided rows, or `undefined` for the default row model. */\n rows?: ReadonlyArray<Row<TFeatures, TData>>\n /** The table that owns the column. */\n table: Table<TFeatures, TData>\n}\n\n/** Marks an aggregation-value override as handled. */\nexport interface AggregationValueResult<TResult = unknown> {\n /** The supplied value. `undefined` is still a handled result. */\n value: TResult\n}\n\n/** Table options installed by `rowAggregationFeature`. */\nexport interface TableOptions_Aggregation {\n /**\n * Disables local `column.getAggregationValue()` calculation when a column\n * override does not handle the request. Group values supplied by manually\n * grouped rows remain the responsibility of the data owner.\n */\n manualAggregation?: boolean\n}\n"],"mappings":";;;;;AAkFA,SAAgB,uBAMd,YACqD;CACrD,OAAO;AACT"}
@@ -1,212 +0,0 @@
1
- const require_utils = require('../../utils.cjs');
2
-
3
- //#region src/features/row-aggregation/rowAggregationFeature.utils.ts
4
- function isAggregationFnDef(value) {
5
- return !!value && typeof value === "object" && "aggregate" in value;
6
- }
7
- function isAggregationFnDescriptor(value) {
8
- return !!value && typeof value === "object" && "id" in value && "aggregationFn" in value;
9
- }
10
- function warn(message) {
11
- if (process.env.NODE_ENV === "development") console.warn(message);
12
- }
13
- function resolveMaxAggregationDepth(maxDepth) {
14
- return maxDepth === void 0 || Number.isNaN(maxDepth) ? 0 : Math.max(0, Math.floor(maxDepth));
15
- }
16
- /**
17
- * Selects unique rows at a maximum relative depth in encounter order.
18
- * Branches that end before the requested depth contribute their deepest row.
19
- */
20
- function normalizeAggregationRows(rows, maxDepth = 0) {
21
- const result = [];
22
- const seen = /* @__PURE__ */ new Set();
23
- const normalizedMaxDepth = resolveMaxAggregationDepth(maxDepth);
24
- const visit = (row, depth) => {
25
- if (row.subRows.length && depth < normalizedMaxDepth) {
26
- for (let i = 0; i < row.subRows.length; i++) visit(row.subRows[i], depth + 1);
27
- return;
28
- }
29
- if (!seen.has(row.id)) {
30
- seen.add(row.id);
31
- result.push(row);
32
- }
33
- };
34
- for (let i = 0; i < rows.length; i++) visit(rows[i], 0);
35
- return result;
36
- }
37
- function getAutoAggregationFnName(value) {
38
- if (typeof value === "number") return "sum";
39
- if (value instanceof Date && !Number.isNaN(value.getTime())) return "extent";
40
- }
41
- /** Resolves the `sum` or `extent` definition inferred from the first core row. */
42
- function column_getAutoAggregationFn(column) {
43
- const value = column.table.getCoreRowModel().flatRows[0]?.getValue(column.id);
44
- const name = getAutoAggregationFnName(value);
45
- if (!name) return void 0;
46
- const aggregationFn = column.table._rowModelFns.aggregationFns?.[name];
47
- if (!aggregationFn) warn(`aggregationFn '${name}' (auto) for column '${column.id}' is not registered`);
48
- return aggregationFn;
49
- }
50
- function resolveAggregationFn(column, ref) {
51
- if (isAggregationFnDef(ref)) return ref;
52
- if (ref === "auto") return column_getAutoAggregationFn(column);
53
- const aggregationFn = column.table._rowModelFns.aggregationFns?.[ref];
54
- if (!aggregationFn) warn(`aggregationFn '${String(ref)}' for column '${column.id}' is not registered`);
55
- return aggregationFn;
56
- }
57
- /** Resolves and validates a column's scalar or multiple aggregation option. */
58
- function column_getAggregationFns(column) {
59
- const option = column.columnDef.aggregationFn;
60
- const registry = column.table._rowModelFns.aggregationFns;
61
- const coreRowModel = column.table.getCoreRowModel();
62
- const previous = column._resolvedAggregationFnsCache;
63
- if (previous && previous.option === option && previous.registry === registry && previous.coreRowModel === coreRowModel) return previous.value;
64
- const finish = (value) => {
65
- column._resolvedAggregationFnsCache = {
66
- coreRowModel,
67
- option,
68
- registry,
69
- value
70
- };
71
- return value;
72
- };
73
- if (option == null) return finish([]);
74
- if (!Array.isArray(option)) return finish([{
75
- aggregationFn: resolveAggregationFn(column, option),
76
- id: typeof option === "string" ? option : void 0
77
- }]);
78
- const ids = require_utils.makeObjectMap();
79
- for (let i = 0; i < option.length; i++) {
80
- const item = option[i];
81
- const id = typeof item === "string" ? item : isAggregationFnDescriptor(item) ? item.id : void 0;
82
- if (id !== void 0) ids[id] = (ids[id] ?? 0) + 1;
83
- }
84
- const resolved = [];
85
- for (let i = 0; i < option.length; i++) {
86
- const item = option[i];
87
- const id = typeof item === "string" ? item : isAggregationFnDescriptor(item) ? item.id : void 0;
88
- if (id === void 0) {
89
- warn(`aggregationFn at index ${i} for column '${column.id}' needs a stable id`);
90
- resolved.push({
91
- aggregationFn: void 0,
92
- id: void 0
93
- });
94
- continue;
95
- }
96
- if (ids[id] > 1) {
97
- warn(`aggregationFn id '${id}' for column '${column.id}' is duplicated`);
98
- resolved.push({
99
- aggregationFn: void 0,
100
- id
101
- });
102
- continue;
103
- }
104
- const ref = isAggregationFnDescriptor(item) ? item.aggregationFn : item;
105
- resolved.push({
106
- aggregationFn: resolveAggregationFn(column, ref),
107
- id
108
- });
109
- }
110
- return finish(resolved);
111
- }
112
- function getSubRowResult(subRowValue, isMultiple, id) {
113
- if (!isMultiple) return subRowValue;
114
- if (!id || !subRowValue || typeof subRowValue !== "object") return void 0;
115
- return require_utils.hasOwn(subRowValue, id) ? subRowValue[id] : void 0;
116
- }
117
- /** Executes every configured aggregation over a depth-selected row frontier. */
118
- function aggregateColumnValue(args) {
119
- const { subRows, column, groupingRow, rows } = args;
120
- const internalColumn = column;
121
- const maxDepth = resolveMaxAggregationDepth(args.maxDepth ?? internalColumn.columnDef.maxAggregationDepth);
122
- const aggregationRows = normalizeAggregationRows(rows, maxDepth);
123
- const entries = column_getAggregationFns(internalColumn);
124
- const isMultiple = Array.isArray(internalColumn.columnDef.aggregationFn);
125
- const canMerge = !!subRows?.length && subRows.every((row) => !!row.groupingColumnId && row.groupingColumnId !== column.id);
126
- const execute = (entry) => {
127
- const definition = entry.aggregationFn;
128
- if (!definition) return void 0;
129
- const context = {
130
- ...subRows ? { subRows } : {},
131
- column,
132
- columnId: column.id,
133
- getValue: (row) => row.getValue(column.id),
134
- ...groupingRow ? { groupingRow } : {},
135
- maxDepth,
136
- rows: aggregationRows,
137
- table: column.table
138
- };
139
- if (canMerge && definition.merge) return definition.merge({
140
- ...context,
141
- subRowResults: subRows.map((row) => getSubRowResult(row.getValue(column.id), isMultiple, entry.id)),
142
- subRows
143
- });
144
- return definition.aggregate(context);
145
- };
146
- if (!isMultiple) return entries[0] ? execute(entries[0]) : void 0;
147
- const result = require_utils.makeObjectMap();
148
- for (let i = 0; i < entries.length; i++) {
149
- const entry = entries[i];
150
- if (entry.id !== void 0) result[entry.id] = execute(entry);
151
- }
152
- return result;
153
- }
154
- /** Implements `column.getAggregationValue(options?)` and its default cache. */
155
- function column_getAggregationValue(column, options) {
156
- const rows = options?.rows;
157
- const resolvedMaxDepth = resolveMaxAggregationDepth(options?.maxDepth ?? column.columnDef.maxAggregationDepth);
158
- const providedResult = column.columnDef.getAggregationValue?.({
159
- column,
160
- maxDepth: resolvedMaxDepth,
161
- rows,
162
- table: column.table
163
- });
164
- if (providedResult) return providedResult.value;
165
- if (column.table.options.manualAggregation) return void 0;
166
- if (rows !== void 0) return aggregateColumnValue({
167
- column,
168
- maxDepth: resolvedMaxDepth,
169
- rows
170
- });
171
- const model = column.table.getPreGroupedRowModel();
172
- const previous = column._aggregationValueCache;
173
- const registry = column.table._rowModelFns.aggregationFns;
174
- const aggregationFnOption = column.columnDef.aggregationFn;
175
- if (previous && previous.dependency === model && previous.maxDepth === resolvedMaxDepth && previous.registry === registry && previous.aggregationFnOption === aggregationFnOption) return previous.value;
176
- const value = aggregateColumnValue({
177
- column,
178
- maxDepth: resolvedMaxDepth,
179
- rows: model.rows
180
- });
181
- column._aggregationValueCache = {
182
- aggregationFnOption,
183
- dependency: model,
184
- maxDepth: resolvedMaxDepth,
185
- registry,
186
- value
187
- };
188
- return value;
189
- }
190
- /** Implements `cell.getIsAggregated()` for synthetic grouped rows. */
191
- function cell_getIsAggregated(cell) {
192
- const groupingColumnId = cell.row.groupingColumnId;
193
- if (!groupingColumnId || groupingColumnId === cell.column.id) return false;
194
- if ((cell.column.table.atoms.grouping?.get?.())?.includes(cell.column.id)) return false;
195
- return column_getAggregationFns(cell.column).some((entry) => !!entry.aggregationFn);
196
- }
197
- /** Formats the default scalar or keyed aggregated-cell representation. */
198
- function formatAggregatedCellValue(value, option) {
199
- if (value == null) return null;
200
- if (Array.isArray(option) && typeof value === "object") return Object.keys(value).map((key) => `${key}: ${String(value[key])}`).join(", ");
201
- return String(value);
202
- }
203
-
204
- //#endregion
205
- exports.aggregateColumnValue = aggregateColumnValue;
206
- exports.cell_getIsAggregated = cell_getIsAggregated;
207
- exports.column_getAggregationFns = column_getAggregationFns;
208
- exports.column_getAggregationValue = column_getAggregationValue;
209
- exports.column_getAutoAggregationFn = column_getAutoAggregationFn;
210
- exports.formatAggregatedCellValue = formatAggregatedCellValue;
211
- exports.normalizeAggregationRows = normalizeAggregationRows;
212
- //# sourceMappingURL=rowAggregationFeature.utils.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rowAggregationFeature.utils.cjs","names":["makeObjectMap","hasOwn"],"sources":["../../../src/features/row-aggregation/rowAggregationFeature.utils.ts"],"sourcesContent":["import { hasOwn, makeObjectMap } from '../../utils'\nimport type { Cell } from '../../types/Cell'\nimport type { Column, Column_Internal } from '../../types/Column'\nimport type { Row } from '../../types/Row'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type {\n AggregationContext,\n AggregationFnDef,\n AggregationFnDescriptor,\n AggregationFnRef,\n AggregationValueOptions,\n ColumnAggregationValue,\n ResolvedAggregationFn,\n} from './rowAggregationFeature.types'\n\ninterface AggregationCacheEntry {\n aggregationFnOption: unknown\n dependency: unknown\n maxDepth: number\n registry: unknown\n value: unknown\n}\n\ninterface ResolvedAggregationFnsCacheEntry<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n coreRowModel: unknown\n option: unknown\n registry: unknown\n value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>\n}\n\nfunction isAggregationFnDef(value: unknown): value is AggregationFnDef {\n return !!value && typeof value === 'object' && 'aggregate' in value\n}\n\nfunction isAggregationFnDescriptor(\n value: unknown,\n): value is AggregationFnDescriptor<any, any> {\n return (\n !!value &&\n typeof value === 'object' &&\n 'id' in value &&\n 'aggregationFn' in value\n )\n}\n\nfunction warn(message: string) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(message)\n }\n}\n\nfunction resolveMaxAggregationDepth(maxDepth: number | undefined) {\n return maxDepth === undefined || Number.isNaN(maxDepth)\n ? 0\n : Math.max(0, Math.floor(maxDepth))\n}\n\n/**\n * Selects unique rows at a maximum relative depth in encounter order.\n * Branches that end before the requested depth contribute their deepest row.\n */\nexport function normalizeAggregationRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: ReadonlyArray<Row<TFeatures, TData>>,\n maxDepth = 0,\n): Array<Row<TFeatures, TData>> {\n const result: Array<Row<TFeatures, TData>> = []\n const seen = new Set<string>()\n const normalizedMaxDepth = resolveMaxAggregationDepth(maxDepth)\n\n const visit = (row: Row<TFeatures, TData>, depth: number) => {\n if (row.subRows.length && depth < normalizedMaxDepth) {\n for (let i = 0; i < row.subRows.length; i++) {\n visit(row.subRows[i]!, depth + 1)\n }\n return\n }\n\n if (!seen.has(row.id)) {\n seen.add(row.id)\n result.push(row)\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n visit(rows[i]!, 0)\n }\n\n return result\n}\n\nfunction getAutoAggregationFnName(\n value: unknown,\n): 'extent' | 'sum' | undefined {\n if (typeof value === 'number') {\n return 'sum'\n }\n\n if (value instanceof Date && !Number.isNaN(value.getTime())) {\n return 'extent'\n }\n\n return undefined\n}\n\n/** Resolves the `sum` or `extent` definition inferred from the first core row. */\nexport function column_getAutoAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const value = column.table.getCoreRowModel().flatRows[0]?.getValue(column.id)\n\n const name = getAutoAggregationFnName(value)\n if (!name) return undefined\n\n const aggregationFn = column.table._rowModelFns.aggregationFns?.[name]\n\n if (!aggregationFn) {\n warn(\n `aggregationFn '${name}' (auto) for column '${column.id}' is not registered`,\n )\n }\n\n return aggregationFn\n}\n\nfunction resolveAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n column: Column_Internal<TFeatures, TData, any>,\n ref: AggregationFnRef<TFeatures, TData, any, any>,\n): AggregationFnDef<TFeatures, TData, any, any> | undefined {\n if (isAggregationFnDef(ref)) return ref as any\n if (ref === 'auto') return column_getAutoAggregationFn(column)\n\n const aggregationFn =\n column.table._rowModelFns.aggregationFns?.[ref as string]\n if (!aggregationFn) {\n warn(\n `aggregationFn '${String(ref)}' for column '${column.id}' is not registered`,\n )\n }\n return aggregationFn\n}\n\n/** Resolves and validates a column's scalar or multiple aggregation option. */\nexport function column_getAggregationFns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>> {\n const option = column.columnDef.aggregationFn\n const registry = column.table._rowModelFns.aggregationFns\n const coreRowModel = column.table.getCoreRowModel()\n const previous = (column as any)._resolvedAggregationFnsCache as\n | ResolvedAggregationFnsCacheEntry<TFeatures, TData>\n | undefined\n\n if (\n previous &&\n previous.option === option &&\n previous.registry === registry &&\n previous.coreRowModel === coreRowModel\n ) {\n return previous.value\n }\n\n const finish = (\n value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>,\n ) => {\n ;(column as any)._resolvedAggregationFnsCache = {\n coreRowModel,\n option,\n registry,\n value,\n } satisfies ResolvedAggregationFnsCacheEntry<TFeatures, TData>\n return value\n }\n\n if (option == null) return finish([])\n\n if (!Array.isArray(option)) {\n return finish([\n {\n aggregationFn: resolveAggregationFn(column, option as any),\n id: typeof option === 'string' ? option : undefined,\n },\n ])\n }\n\n const ids = makeObjectMap<number>()\n for (let i = 0; i < option.length; i++) {\n const item = option[i]\n const id =\n typeof item === 'string'\n ? item\n : isAggregationFnDescriptor(item)\n ? item.id\n : undefined\n if (id !== undefined) ids[id] = (ids[id] ?? 0) + 1\n }\n\n const resolved: Array<ResolvedAggregationFn<TFeatures, TData>> = []\n\n for (let i = 0; i < option.length; i++) {\n const item = option[i]\n const id =\n typeof item === 'string'\n ? item\n : isAggregationFnDescriptor(item)\n ? item.id\n : undefined\n\n if (id === undefined) {\n warn(\n `aggregationFn at index ${i} for column '${column.id}' needs a stable id`,\n )\n resolved.push({ aggregationFn: undefined, id: undefined })\n continue\n }\n\n if (ids[id]! > 1) {\n warn(`aggregationFn id '${id}' for column '${column.id}' is duplicated`)\n resolved.push({ aggregationFn: undefined, id })\n continue\n }\n\n const ref = isAggregationFnDescriptor(item) ? item.aggregationFn : item\n resolved.push({\n aggregationFn: resolveAggregationFn(column, ref),\n id,\n })\n }\n\n return finish(resolved)\n}\n\nfunction getSubRowResult(\n subRowValue: unknown,\n isMultiple: boolean,\n id: string | undefined,\n) {\n if (!isMultiple) return subRowValue\n if (!id || !subRowValue || typeof subRowValue !== 'object') return undefined\n return hasOwn(subRowValue, id)\n ? (subRowValue as Record<string, unknown>)[id]\n : undefined\n}\n\n/** Executes every configured aggregation over a depth-selected row frontier. */\nexport function aggregateColumnValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(args: {\n maxDepth?: number\n subRows?: ReadonlyArray<Row<TFeatures, TData>>\n column: Column<TFeatures, TData, unknown>\n groupingRow?: Row<TFeatures, TData>\n rows: ReadonlyArray<Row<TFeatures, TData>>\n}): unknown {\n const { subRows, column, groupingRow, rows } = args\n const internalColumn = column as Column_Internal<TFeatures, TData, unknown>\n const maxDepth = resolveMaxAggregationDepth(\n args.maxDepth ?? internalColumn.columnDef.maxAggregationDepth,\n )\n const aggregationRows = normalizeAggregationRows(rows, maxDepth)\n const entries = column_getAggregationFns(internalColumn)\n const isMultiple = Array.isArray(internalColumn.columnDef.aggregationFn)\n const canMerge =\n !!subRows?.length &&\n subRows.every(\n (row) =>\n !!(row as any).groupingColumnId &&\n (row as any).groupingColumnId !== column.id,\n )\n\n const execute = (entry: ResolvedAggregationFn<TFeatures, TData>) => {\n const definition = entry.aggregationFn\n if (!definition) return undefined\n\n const context: AggregationContext<TFeatures, TData, unknown> = {\n ...(subRows ? { subRows } : {}),\n column,\n columnId: column.id,\n getValue: (row: Row<TFeatures, TData>) => row.getValue(column.id),\n ...(groupingRow ? { groupingRow } : {}),\n maxDepth,\n rows: aggregationRows,\n table: column.table as any,\n }\n\n if (canMerge && definition.merge) {\n return definition.merge({\n ...context,\n subRowResults: subRows.map((row) =>\n getSubRowResult(row.getValue(column.id), isMultiple, entry.id),\n ),\n subRows,\n })\n }\n\n return definition.aggregate(context)\n }\n\n if (!isMultiple) {\n return entries[0] ? execute(entries[0]) : undefined\n }\n\n const result = makeObjectMap<unknown>()\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n if (entry.id !== undefined) {\n result[entry.id] = execute(entry)\n }\n }\n return result\n}\n\n/** Implements `column.getAggregationValue(options?)` and its default cache. */\nexport function column_getAggregationValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n options?: AggregationValueOptions<TFeatures, TData>,\n): ColumnAggregationValue<TFeatures> {\n const rows = options?.rows\n const resolvedMaxDepth = resolveMaxAggregationDepth(\n options?.maxDepth ?? column.columnDef.maxAggregationDepth,\n )\n const providedResult = column.columnDef.getAggregationValue?.({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows,\n table: column.table as any,\n })\n\n if (providedResult) return providedResult.value as any\n if (column.table.options.manualAggregation) return undefined\n\n if (rows !== undefined) {\n return aggregateColumnValue({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows,\n }) as any\n }\n\n const model = column.table.getPreGroupedRowModel()\n const previous = (column as any)._aggregationValueCache as\n | AggregationCacheEntry\n | undefined\n const registry = column.table._rowModelFns.aggregationFns\n const aggregationFnOption = column.columnDef.aggregationFn\n\n if (\n previous &&\n previous.dependency === model &&\n previous.maxDepth === resolvedMaxDepth &&\n previous.registry === registry &&\n previous.aggregationFnOption === aggregationFnOption\n ) {\n return previous.value as any\n }\n\n const value = aggregateColumnValue({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows: model.rows,\n })\n ;(column as any)._aggregationValueCache = {\n aggregationFnOption,\n dependency: model,\n maxDepth: resolvedMaxDepth,\n registry,\n value,\n } satisfies AggregationCacheEntry\n return value as any\n}\n\n/** Implements `cell.getIsAggregated()` for synthetic grouped rows. */\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const groupingColumnId = (cell.row as any).groupingColumnId as\n | string\n | undefined\n if (!groupingColumnId || groupingColumnId === cell.column.id) return false\n\n const grouping = (cell.column.table as any).atoms.grouping?.get?.() as\n | Array<string>\n | undefined\n if (grouping?.includes(cell.column.id)) return false\n\n return column_getAggregationFns(cell.column as any).some(\n (entry) => !!entry.aggregationFn,\n )\n}\n\n/** Formats the default scalar or keyed aggregated-cell representation. */\nexport function formatAggregatedCellValue(\n value: unknown,\n option: unknown,\n): string | null {\n if (value == null) return null\n\n if (Array.isArray(option) && typeof value === 'object') {\n const entries = Object.keys(value)\n return entries\n .map(\n (key) => `${key}: ${String((value as Record<string, unknown>)[key])}`,\n )\n .join(', ')\n }\n\n return String(value)\n}\n"],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { CellData, RowData } from "../../types/type-utils.cjs";
2
- import { AggregationFnDef, AggregationValueOptions, ColumnAggregationValue, ResolvedAggregationFn } from "./rowAggregationFeature.types.cjs";
3
- import { Cell } from "../../types/Cell.cjs";
4
- import { Row } from "../../types/Row.cjs";
5
- import { Column } from "../../types/Column.cjs";
6
- import { TableFeatures } from "../../types/TableFeatures.cjs";
7
-
8
- //#region src/features/row-aggregation/rowAggregationFeature.utils.d.ts
9
- /**
10
- * Selects unique rows at a maximum relative depth in encounter order.
11
- * Branches that end before the requested depth contribute their deepest row.
12
- */
13
- declare function normalizeAggregationRows<TFeatures extends TableFeatures, TData extends RowData>(rows: ReadonlyArray<Row<TFeatures, TData>>, maxDepth?: number): Array<Row<TFeatures, TData>>;
14
- /** Resolves the `sum` or `extent` definition inferred from the first core row. */
15
- 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;
16
- /** Resolves and validates a column's scalar or multiple aggregation option. */
17
- declare function column_getAggregationFns<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>): ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>;
18
- /** Executes every configured aggregation over a depth-selected row frontier. */
19
- declare function aggregateColumnValue<TFeatures extends TableFeatures, TData extends RowData>(args: {
20
- maxDepth?: number;
21
- subRows?: ReadonlyArray<Row<TFeatures, TData>>;
22
- column: Column<TFeatures, TData, unknown>;
23
- groupingRow?: Row<TFeatures, TData>;
24
- rows: ReadonlyArray<Row<TFeatures, TData>>;
25
- }): unknown;
26
- /** Implements `column.getAggregationValue(options?)` and its default cache. */
27
- 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>;
28
- /** Implements `cell.getIsAggregated()` for synthetic grouped rows. */
29
- declare function cell_getIsAggregated<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
30
- /** Formats the default scalar or keyed aggregated-cell representation. */
31
- declare function formatAggregatedCellValue(value: unknown, option: unknown): string | null;
32
- //#endregion
33
- export { aggregateColumnValue, cell_getIsAggregated, column_getAggregationFns, column_getAggregationValue, column_getAutoAggregationFn, formatAggregatedCellValue, normalizeAggregationRows };
34
- //# sourceMappingURL=rowAggregationFeature.utils.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rowAggregationFeature.utils.js","names":[],"sources":["../../../src/features/row-aggregation/rowAggregationFeature.utils.ts"],"sourcesContent":["import { hasOwn, makeObjectMap } from '../../utils'\nimport type { Cell } from '../../types/Cell'\nimport type { Column, Column_Internal } from '../../types/Column'\nimport type { Row } from '../../types/Row'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type {\n AggregationContext,\n AggregationFnDef,\n AggregationFnDescriptor,\n AggregationFnRef,\n AggregationValueOptions,\n ColumnAggregationValue,\n ResolvedAggregationFn,\n} from './rowAggregationFeature.types'\n\ninterface AggregationCacheEntry {\n aggregationFnOption: unknown\n dependency: unknown\n maxDepth: number\n registry: unknown\n value: unknown\n}\n\ninterface ResolvedAggregationFnsCacheEntry<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n coreRowModel: unknown\n option: unknown\n registry: unknown\n value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>\n}\n\nfunction isAggregationFnDef(value: unknown): value is AggregationFnDef {\n return !!value && typeof value === 'object' && 'aggregate' in value\n}\n\nfunction isAggregationFnDescriptor(\n value: unknown,\n): value is AggregationFnDescriptor<any, any> {\n return (\n !!value &&\n typeof value === 'object' &&\n 'id' in value &&\n 'aggregationFn' in value\n )\n}\n\nfunction warn(message: string) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(message)\n }\n}\n\nfunction resolveMaxAggregationDepth(maxDepth: number | undefined) {\n return maxDepth === undefined || Number.isNaN(maxDepth)\n ? 0\n : Math.max(0, Math.floor(maxDepth))\n}\n\n/**\n * Selects unique rows at a maximum relative depth in encounter order.\n * Branches that end before the requested depth contribute their deepest row.\n */\nexport function normalizeAggregationRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n rows: ReadonlyArray<Row<TFeatures, TData>>,\n maxDepth = 0,\n): Array<Row<TFeatures, TData>> {\n const result: Array<Row<TFeatures, TData>> = []\n const seen = new Set<string>()\n const normalizedMaxDepth = resolveMaxAggregationDepth(maxDepth)\n\n const visit = (row: Row<TFeatures, TData>, depth: number) => {\n if (row.subRows.length && depth < normalizedMaxDepth) {\n for (let i = 0; i < row.subRows.length; i++) {\n visit(row.subRows[i]!, depth + 1)\n }\n return\n }\n\n if (!seen.has(row.id)) {\n seen.add(row.id)\n result.push(row)\n }\n }\n\n for (let i = 0; i < rows.length; i++) {\n visit(rows[i]!, 0)\n }\n\n return result\n}\n\nfunction getAutoAggregationFnName(\n value: unknown,\n): 'extent' | 'sum' | undefined {\n if (typeof value === 'number') {\n return 'sum'\n }\n\n if (value instanceof Date && !Number.isNaN(value.getTime())) {\n return 'extent'\n }\n\n return undefined\n}\n\n/** Resolves the `sum` or `extent` definition inferred from the first core row. */\nexport function column_getAutoAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const value = column.table.getCoreRowModel().flatRows[0]?.getValue(column.id)\n\n const name = getAutoAggregationFnName(value)\n if (!name) return undefined\n\n const aggregationFn = column.table._rowModelFns.aggregationFns?.[name]\n\n if (!aggregationFn) {\n warn(\n `aggregationFn '${name}' (auto) for column '${column.id}' is not registered`,\n )\n }\n\n return aggregationFn\n}\n\nfunction resolveAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n column: Column_Internal<TFeatures, TData, any>,\n ref: AggregationFnRef<TFeatures, TData, any, any>,\n): AggregationFnDef<TFeatures, TData, any, any> | undefined {\n if (isAggregationFnDef(ref)) return ref as any\n if (ref === 'auto') return column_getAutoAggregationFn(column)\n\n const aggregationFn =\n column.table._rowModelFns.aggregationFns?.[ref as string]\n if (!aggregationFn) {\n warn(\n `aggregationFn '${String(ref)}' for column '${column.id}' is not registered`,\n )\n }\n return aggregationFn\n}\n\n/** Resolves and validates a column's scalar or multiple aggregation option. */\nexport function column_getAggregationFns<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n): ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>> {\n const option = column.columnDef.aggregationFn\n const registry = column.table._rowModelFns.aggregationFns\n const coreRowModel = column.table.getCoreRowModel()\n const previous = (column as any)._resolvedAggregationFnsCache as\n | ResolvedAggregationFnsCacheEntry<TFeatures, TData>\n | undefined\n\n if (\n previous &&\n previous.option === option &&\n previous.registry === registry &&\n previous.coreRowModel === coreRowModel\n ) {\n return previous.value\n }\n\n const finish = (\n value: ReadonlyArray<ResolvedAggregationFn<TFeatures, TData>>,\n ) => {\n ;(column as any)._resolvedAggregationFnsCache = {\n coreRowModel,\n option,\n registry,\n value,\n } satisfies ResolvedAggregationFnsCacheEntry<TFeatures, TData>\n return value\n }\n\n if (option == null) return finish([])\n\n if (!Array.isArray(option)) {\n return finish([\n {\n aggregationFn: resolveAggregationFn(column, option as any),\n id: typeof option === 'string' ? option : undefined,\n },\n ])\n }\n\n const ids = makeObjectMap<number>()\n for (let i = 0; i < option.length; i++) {\n const item = option[i]\n const id =\n typeof item === 'string'\n ? item\n : isAggregationFnDescriptor(item)\n ? item.id\n : undefined\n if (id !== undefined) ids[id] = (ids[id] ?? 0) + 1\n }\n\n const resolved: Array<ResolvedAggregationFn<TFeatures, TData>> = []\n\n for (let i = 0; i < option.length; i++) {\n const item = option[i]\n const id =\n typeof item === 'string'\n ? item\n : isAggregationFnDescriptor(item)\n ? item.id\n : undefined\n\n if (id === undefined) {\n warn(\n `aggregationFn at index ${i} for column '${column.id}' needs a stable id`,\n )\n resolved.push({ aggregationFn: undefined, id: undefined })\n continue\n }\n\n if (ids[id]! > 1) {\n warn(`aggregationFn id '${id}' for column '${column.id}' is duplicated`)\n resolved.push({ aggregationFn: undefined, id })\n continue\n }\n\n const ref = isAggregationFnDescriptor(item) ? item.aggregationFn : item\n resolved.push({\n aggregationFn: resolveAggregationFn(column, ref),\n id,\n })\n }\n\n return finish(resolved)\n}\n\nfunction getSubRowResult(\n subRowValue: unknown,\n isMultiple: boolean,\n id: string | undefined,\n) {\n if (!isMultiple) return subRowValue\n if (!id || !subRowValue || typeof subRowValue !== 'object') return undefined\n return hasOwn(subRowValue, id)\n ? (subRowValue as Record<string, unknown>)[id]\n : undefined\n}\n\n/** Executes every configured aggregation over a depth-selected row frontier. */\nexport function aggregateColumnValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(args: {\n maxDepth?: number\n subRows?: ReadonlyArray<Row<TFeatures, TData>>\n column: Column<TFeatures, TData, unknown>\n groupingRow?: Row<TFeatures, TData>\n rows: ReadonlyArray<Row<TFeatures, TData>>\n}): unknown {\n const { subRows, column, groupingRow, rows } = args\n const internalColumn = column as Column_Internal<TFeatures, TData, unknown>\n const maxDepth = resolveMaxAggregationDepth(\n args.maxDepth ?? internalColumn.columnDef.maxAggregationDepth,\n )\n const aggregationRows = normalizeAggregationRows(rows, maxDepth)\n const entries = column_getAggregationFns(internalColumn)\n const isMultiple = Array.isArray(internalColumn.columnDef.aggregationFn)\n const canMerge =\n !!subRows?.length &&\n subRows.every(\n (row) =>\n !!(row as any).groupingColumnId &&\n (row as any).groupingColumnId !== column.id,\n )\n\n const execute = (entry: ResolvedAggregationFn<TFeatures, TData>) => {\n const definition = entry.aggregationFn\n if (!definition) return undefined\n\n const context: AggregationContext<TFeatures, TData, unknown> = {\n ...(subRows ? { subRows } : {}),\n column,\n columnId: column.id,\n getValue: (row: Row<TFeatures, TData>) => row.getValue(column.id),\n ...(groupingRow ? { groupingRow } : {}),\n maxDepth,\n rows: aggregationRows,\n table: column.table as any,\n }\n\n if (canMerge && definition.merge) {\n return definition.merge({\n ...context,\n subRowResults: subRows.map((row) =>\n getSubRowResult(row.getValue(column.id), isMultiple, entry.id),\n ),\n subRows,\n })\n }\n\n return definition.aggregate(context)\n }\n\n if (!isMultiple) {\n return entries[0] ? execute(entries[0]) : undefined\n }\n\n const result = makeObjectMap<unknown>()\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n if (entry.id !== undefined) {\n result[entry.id] = execute(entry)\n }\n }\n return result\n}\n\n/** Implements `column.getAggregationValue(options?)` and its default cache. */\nexport function column_getAggregationValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n column: Column_Internal<TFeatures, TData, TValue>,\n options?: AggregationValueOptions<TFeatures, TData>,\n): ColumnAggregationValue<TFeatures> {\n const rows = options?.rows\n const resolvedMaxDepth = resolveMaxAggregationDepth(\n options?.maxDepth ?? column.columnDef.maxAggregationDepth,\n )\n const providedResult = column.columnDef.getAggregationValue?.({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows,\n table: column.table as any,\n })\n\n if (providedResult) return providedResult.value as any\n if (column.table.options.manualAggregation) return undefined\n\n if (rows !== undefined) {\n return aggregateColumnValue({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows,\n }) as any\n }\n\n const model = column.table.getPreGroupedRowModel()\n const previous = (column as any)._aggregationValueCache as\n | AggregationCacheEntry\n | undefined\n const registry = column.table._rowModelFns.aggregationFns\n const aggregationFnOption = column.columnDef.aggregationFn\n\n if (\n previous &&\n previous.dependency === model &&\n previous.maxDepth === resolvedMaxDepth &&\n previous.registry === registry &&\n previous.aggregationFnOption === aggregationFnOption\n ) {\n return previous.value as any\n }\n\n const value = aggregateColumnValue({\n column: column as any,\n maxDepth: resolvedMaxDepth,\n rows: model.rows,\n })\n ;(column as any)._aggregationValueCache = {\n aggregationFnOption,\n dependency: model,\n maxDepth: resolvedMaxDepth,\n registry,\n value,\n } satisfies AggregationCacheEntry\n return value as any\n}\n\n/** Implements `cell.getIsAggregated()` for synthetic grouped rows. */\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const groupingColumnId = (cell.row as any).groupingColumnId as\n | string\n | undefined\n if (!groupingColumnId || groupingColumnId === cell.column.id) return false\n\n const grouping = (cell.column.table as any).atoms.grouping?.get?.() as\n | Array<string>\n | undefined\n if (grouping?.includes(cell.column.id)) return false\n\n return column_getAggregationFns(cell.column as any).some(\n (entry) => !!entry.aggregationFn,\n )\n}\n\n/** Formats the default scalar or keyed aggregated-cell representation. */\nexport function formatAggregatedCellValue(\n value: unknown,\n option: unknown,\n): string | null {\n if (value == null) return null\n\n if (Array.isArray(option) && typeof value === 'object') {\n const entries = Object.keys(value)\n return entries\n .map(\n (key) => `${key}: ${String((value as Record<string, unknown>)[key])}`,\n )\n .join(', ')\n }\n\n return String(value)\n}\n"],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- const require_utils = require('../../utils.cjs');
2
- const require_rowExpandingFeature_utils = require('./rowExpandingFeature.utils.cjs');
3
-
4
- //#region src/features/row-expanding/createExpandedRowModel.ts
5
- /**
6
- * Creates a memoized expanded row model factory.
7
- *
8
- * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
9
- */
10
- function createExpandedRowModel() {
11
- return (_table) => {
12
- const table = _table;
13
- return require_utils.tableMemo({
14
- feature: "rowExpandingFeature",
15
- table,
16
- fnName: "table.getExpandedRowModel",
17
- memoDeps: () => [
18
- table.atoms.expanded?.get(),
19
- table.getPreExpandedRowModel(),
20
- table.options.paginateExpandedRows
21
- ],
22
- fn: () => _createExpandedRowModel(table)
23
- });
24
- };
25
- }
26
- function _createExpandedRowModel(table) {
27
- const rowModel = table.getPreExpandedRowModel();
28
- const expanded = table.atoms.expanded?.get();
29
- if (!rowModel.rows.length || expanded !== true && !Object.keys(expanded ?? {}).length) return rowModel;
30
- if (!table.options.paginateExpandedRows) return rowModel;
31
- return expandRows(rowModel);
32
- }
33
- /**
34
- * Expands a row model according to the current expanded row state.
35
- *
36
- * Expanded sub-rows are inserted into the flattened row order while preserving the original row hierarchy.
37
- */
38
- function expandRows(rowModel) {
39
- const expandedRows = [];
40
- const handleRow = (row) => {
41
- expandedRows.push(row);
42
- if (row.subRows.length && require_rowExpandingFeature_utils.row_getIsExpanded(row)) row.subRows.forEach(handleRow);
43
- };
44
- rowModel.rows.forEach(handleRow);
45
- return {
46
- rows: expandedRows,
47
- flatRows: rowModel.flatRows,
48
- rowsById: rowModel.rowsById
49
- };
50
- }
51
-
52
- //#endregion
53
- exports.createExpandedRowModel = createExpandedRowModel;
54
- exports.expandRows = expandRows;
55
- //# sourceMappingURL=createExpandedRowModel.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createExpandedRowModel.cjs","names":["tableMemo","row_getIsExpanded"],"sources":["../../../src/features/row-expanding/createExpandedRowModel.ts"],"sourcesContent":["import { tableMemo } from '../../utils'\nimport { row_getIsExpanded } from './rowExpandingFeature.utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table, Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowData } from '../../types/type-utils'\n\n/**\n * Creates a memoized expanded row model factory.\n *\n * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.\n */\nexport function createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table = _table as unknown as Table_Internal<TFeatures, TData>\n return tableMemo({\n feature: 'rowExpandingFeature',\n table,\n fnName: 'table.getExpandedRowModel',\n memoDeps: () => [\n table.atoms.expanded?.get(),\n table.getPreExpandedRowModel(),\n table.options.paginateExpandedRows,\n ],\n fn: () => _createExpandedRowModel(table),\n })\n }\n}\n\nfunction _createExpandedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreExpandedRowModel()\n const expanded = table.atoms.expanded?.get()\n\n if (\n !rowModel.rows.length ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n if (!table.options.paginateExpandedRows) {\n // Only expand rows at this point if they are being paginated\n return rowModel\n }\n\n return expandRows(rowModel)\n}\n\n/**\n * Expands a row model according to the current expanded row state.\n *\n * Expanded sub-rows are inserted into the flattened row order while preserving the original row hierarchy.\n */\nexport function expandRows<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const expandedRows: Array<Row<TFeatures, TData>> = []\n\n const handleRow = (row: Row<TFeatures, TData>) => {\n expandedRows.push(row)\n\n if (row.subRows.length && row_getIsExpanded(row)) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,yBAG0D;CACxE,QAAQ,WAAW;EACjB,MAAM,QAAQ;EACd,OAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;IACd,MAAM,MAAM,UAAU,IAAI;IAC1B,MAAM,uBAAuB;IAC7B,MAAM,QAAQ;GAChB;GACA,UAAU,wBAAwB,KAAK;EACzC,CAAC;CACH;AACF;AAEA,SAAS,wBAGP,OAAqE;CACrE,MAAM,WAAW,MAAM,uBAAuB;CAC9C,MAAM,WAAW,MAAM,MAAM,UAAU,IAAI;CAE3C,IACE,CAAC,SAAS,KAAK,UACd,aAAa,QAAQ,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,QAEnD,OAAO;CAGT,IAAI,CAAC,MAAM,QAAQ,sBAEjB,OAAO;CAGT,OAAO,WAAW,QAAQ;AAC5B;;;;;;AAOA,SAAgB,WAGd,UAAkE;CAClE,MAAM,eAA6C,CAAC;CAEpD,MAAM,aAAa,QAA+B;EAChD,aAAa,KAAK,GAAG;EAErB,IAAI,IAAI,QAAQ,UAAUC,oDAAkB,GAAG,GAC7C,IAAI,QAAQ,QAAQ,SAAS;CAEjC;CAEA,SAAS,KAAK,QAAQ,SAAS;CAE/B,OAAO;EACL,MAAM;EACN,UAAU,SAAS;EACnB,UAAU,SAAS;CACrB;AACF"}