@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.41

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 (824) hide show
  1. package/README.md +117 -0
  2. package/dist/core/cells/constructCell.cjs +28 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +12 -0
  5. package/dist/core/cells/constructCell.d.ts +12 -0
  6. package/dist/core/cells/constructCell.js +27 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +25 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +13 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +13 -0
  12. package/dist/core/cells/coreCellsFeature.js +24 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +21 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +52 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +11 -0
  25. package/dist/core/columns/constructColumn.d.ts +11 -0
  26. package/dist/core/columns/constructColumn.js +51 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
  32. package/dist/core/columns/coreColumnsFeature.js +69 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +20 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +20 -0
  45. package/dist/core/coreFeatures.d.ts +20 -0
  46. package/dist/core/coreFeatures.js +20 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +90 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
  52. package/dist/core/headers/buildHeaderGroups.js +90 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +35 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +17 -0
  57. package/dist/core/headers/constructHeader.d.ts +17 -0
  58. package/dist/core/headers/constructHeader.js +34 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
  75. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  76. package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
  77. package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
  78. package/dist/core/row-models/coreRowModelsFeature.js +30 -0
  79. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  80. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
  81. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
  82. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
  83. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
  85. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
  87. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  88. package/dist/core/row-models/createCoreRowModel.cjs +47 -0
  89. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  90. package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
  91. package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
  92. package/dist/core/row-models/createCoreRowModel.js +47 -0
  93. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  94. package/dist/core/rows/constructRow.cjs +37 -0
  95. package/dist/core/rows/constructRow.cjs.map +1 -0
  96. package/dist/core/rows/constructRow.d.cts +10 -0
  97. package/dist/core/rows/constructRow.d.ts +10 -0
  98. package/dist/core/rows/constructRow.js +36 -0
  99. package/dist/core/rows/constructRow.js.map +1 -0
  100. package/dist/core/rows/coreRowsFeature.cjs +41 -0
  101. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  102. package/dist/core/rows/coreRowsFeature.d.cts +13 -0
  103. package/dist/core/rows/coreRowsFeature.d.ts +13 -0
  104. package/dist/core/rows/coreRowsFeature.js +40 -0
  105. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  106. package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
  107. package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
  108. package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
  109. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
  111. package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
  112. package/dist/core/rows/coreRowsFeature.utils.js +72 -0
  113. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  114. package/dist/core/table/constructTable.cjs +79 -0
  115. package/dist/core/table/constructTable.cjs.map +1 -0
  116. package/dist/core/table/constructTable.d.cts +12 -0
  117. package/dist/core/table/constructTable.d.ts +12 -0
  118. package/dist/core/table/constructTable.js +78 -0
  119. package/dist/core/table/constructTable.js.map +1 -0
  120. package/dist/core/table/coreTablesFeature.cjs +21 -0
  121. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  122. package/dist/core/table/coreTablesFeature.d.cts +13 -0
  123. package/dist/core/table/coreTablesFeature.d.ts +13 -0
  124. package/dist/core/table/coreTablesFeature.js +20 -0
  125. package/dist/core/table/coreTablesFeature.js.map +1 -0
  126. package/dist/core/table/coreTablesFeature.types.d.cts +157 -0
  127. package/dist/core/table/coreTablesFeature.types.d.ts +157 -0
  128. package/dist/core/table/coreTablesFeature.utils.cjs +27 -0
  129. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
  131. package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
  132. package/dist/core/table/coreTablesFeature.utils.js +25 -0
  133. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  134. package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
  135. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  136. package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
  137. package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
  138. package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
  139. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  140. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
  141. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  148. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  150. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  154. package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
  155. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  156. package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
  157. package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
  159. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  160. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
  161. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  162. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
  163. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
  165. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  166. package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
  167. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  168. package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
  169. package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
  170. package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
  171. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  172. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
  173. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  180. package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
  181. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  182. package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
  183. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
  185. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  186. package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
  187. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  188. package/dist/features/column-filtering/filterRowsUtils.js +76 -0
  189. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  190. package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  192. package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
  193. package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
  194. package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
  195. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  196. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  204. package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  206. package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
  207. package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  212. package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
  213. package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
  214. package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
  215. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  216. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
  217. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  224. package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
  225. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  226. package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
  227. package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
  228. package/dist/features/column-pinning/columnPinningFeature.js +230 -0
  229. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  230. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
  231. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
  232. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
  233. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
  235. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
  236. package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
  237. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  238. package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
  239. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  240. package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
  241. package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
  242. package/dist/features/column-resizing/columnResizingFeature.js +45 -0
  243. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  244. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
  245. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
  246. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
  247. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
  249. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  252. package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
  253. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  254. package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
  255. package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
  256. package/dist/features/column-sizing/columnSizingFeature.js +74 -0
  257. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  258. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
  259. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
  260. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
  261. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
  263. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
  264. package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
  265. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  266. package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
  267. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  268. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
  269. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
  270. package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
  271. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  272. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
  273. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  280. package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
  281. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  282. package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
  283. package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
  284. package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
  285. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  286. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
  287. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  294. package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
  295. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  296. package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
  297. package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
  299. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  300. package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
  301. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  302. package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
  303. package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
  304. package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
  305. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  306. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
  307. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  314. package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
  315. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  316. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
  317. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
  319. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  320. package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
  321. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  322. package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
  323. package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
  324. package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
  325. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  326. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
  327. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  334. package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
  335. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  336. package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
  337. package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
  338. package/dist/features/row-pinning/rowPinningFeature.js +70 -0
  339. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  340. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
  341. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
  342. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
  343. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
  345. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  348. package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
  349. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  350. package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
  351. package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
  352. package/dist/features/row-selection/rowSelectionFeature.js +78 -0
  353. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  354. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
  355. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
  356. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
  357. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
  359. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  362. package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
  363. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  364. package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
  365. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
  366. package/dist/features/row-sorting/createSortedRowModel.js +85 -0
  367. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  368. package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
  369. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  370. package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
  371. package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
  372. package/dist/features/row-sorting/rowSortingFeature.js +58 -0
  373. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  374. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
  375. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
  376. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
  377. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
  379. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
  381. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  382. package/dist/features/stockFeatures.cjs +36 -0
  383. package/dist/features/stockFeatures.cjs.map +1 -0
  384. package/dist/features/stockFeatures.d.cts +36 -0
  385. package/dist/features/stockFeatures.d.ts +36 -0
  386. package/dist/features/stockFeatures.js +36 -0
  387. package/dist/features/stockFeatures.js.map +1 -0
  388. package/dist/features/table-reactivity/tableReactivityFeature.cjs +46 -0
  389. package/dist/features/table-reactivity/tableReactivityFeature.cjs.map +1 -0
  390. package/dist/features/table-reactivity/tableReactivityFeature.d.cts +12 -0
  391. package/dist/features/table-reactivity/tableReactivityFeature.d.ts +12 -0
  392. package/dist/features/table-reactivity/tableReactivityFeature.js +45 -0
  393. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
  394. package/dist/flex-render.cjs +19 -0
  395. package/dist/flex-render.cjs.map +1 -0
  396. package/dist/flex-render.d.cts +24 -0
  397. package/dist/flex-render.d.ts +24 -0
  398. package/dist/flex-render.js +16 -0
  399. package/dist/flex-render.js.map +1 -0
  400. package/dist/fns/aggregationFns.cjs +125 -0
  401. package/dist/fns/aggregationFns.cjs.map +1 -0
  402. package/dist/fns/aggregationFns.d.cts +54 -0
  403. package/dist/fns/aggregationFns.d.ts +54 -0
  404. package/dist/fns/aggregationFns.js +116 -0
  405. package/dist/fns/aggregationFns.js.map +1 -0
  406. package/dist/fns/filterFns.cjs +179 -0
  407. package/dist/fns/filterFns.cjs.map +1 -0
  408. package/dist/fns/filterFns.d.cts +81 -0
  409. package/dist/fns/filterFns.d.ts +81 -0
  410. package/dist/fns/filterFns.js +163 -0
  411. package/dist/fns/filterFns.js.map +1 -0
  412. package/dist/fns/sortFns.cjs +73 -0
  413. package/dist/fns/sortFns.cjs.map +1 -0
  414. package/dist/fns/sortFns.d.cts +22 -0
  415. package/dist/fns/sortFns.d.ts +22 -0
  416. package/dist/fns/sortFns.js +65 -0
  417. package/dist/fns/sortFns.js.map +1 -0
  418. package/dist/helpers/columnHelper.cjs +36 -0
  419. package/dist/helpers/columnHelper.cjs.map +1 -0
  420. package/dist/helpers/columnHelper.d.cts +66 -0
  421. package/dist/helpers/columnHelper.d.ts +66 -0
  422. package/dist/helpers/columnHelper.js +35 -0
  423. package/dist/helpers/columnHelper.js.map +1 -0
  424. package/dist/helpers/tableFeatures.cjs +20 -0
  425. package/dist/helpers/tableFeatures.cjs.map +1 -0
  426. package/dist/helpers/tableFeatures.d.cts +18 -0
  427. package/dist/helpers/tableFeatures.d.ts +18 -0
  428. package/dist/helpers/tableFeatures.js +19 -0
  429. package/dist/helpers/tableFeatures.js.map +1 -0
  430. package/dist/helpers/tableOptions.cjs +9 -0
  431. package/dist/helpers/tableOptions.cjs.map +1 -0
  432. package/dist/helpers/tableOptions.d.cts +28 -0
  433. package/dist/helpers/tableOptions.d.ts +28 -0
  434. package/dist/helpers/tableOptions.js +8 -0
  435. package/dist/helpers/tableOptions.js.map +1 -0
  436. package/dist/index.cjs +159 -0
  437. package/dist/index.d.cts +79 -0
  438. package/dist/index.d.ts +79 -0
  439. package/dist/index.js +47 -0
  440. package/dist/static-functions.cjs +261 -0
  441. package/dist/static-functions.d.cts +21 -0
  442. package/dist/static-functions.d.ts +21 -0
  443. package/dist/static-functions.js +22 -0
  444. package/dist/types/Cell.d.cts +16 -0
  445. package/dist/types/Cell.d.ts +16 -0
  446. package/dist/types/Column.d.cts +29 -0
  447. package/dist/types/Column.d.ts +29 -0
  448. package/dist/types/ColumnDef.d.cts +66 -0
  449. package/dist/types/ColumnDef.d.ts +66 -0
  450. package/dist/types/Header.d.cts +17 -0
  451. package/dist/types/Header.d.ts +17 -0
  452. package/dist/types/HeaderGroup.d.cts +15 -0
  453. package/dist/types/HeaderGroup.d.ts +15 -0
  454. package/dist/types/Row.d.cts +22 -0
  455. package/dist/types/Row.d.ts +22 -0
  456. package/dist/types/RowModel.d.cts +26 -0
  457. package/dist/types/RowModel.d.ts +26 -0
  458. package/dist/types/RowModelFns.d.cts +18 -0
  459. package/dist/types/RowModelFns.d.ts +18 -0
  460. package/dist/types/Table.d.cts +59 -0
  461. package/dist/types/Table.d.ts +59 -0
  462. package/dist/types/TableFeatures.d.cts +77 -0
  463. package/dist/types/TableFeatures.d.ts +77 -0
  464. package/dist/types/TableOptions.d.cts +39 -0
  465. package/dist/types/TableOptions.d.ts +39 -0
  466. package/dist/types/TableState.d.cts +27 -0
  467. package/dist/types/TableState.d.ts +27 -0
  468. package/dist/types/type-utils.d.cts +23 -0
  469. package/dist/types/type-utils.d.ts +23 -0
  470. package/dist/utils.cjs +218 -0
  471. package/dist/utils.cjs.map +1 -0
  472. package/dist/utils.d.cts +91 -0
  473. package/dist/utils.d.ts +91 -0
  474. package/dist/utils.js +203 -0
  475. package/dist/utils.js.map +1 -0
  476. package/package.json +31 -14
  477. package/src/core/cells/constructCell.ts +49 -0
  478. package/src/core/cells/coreCellsFeature.ts +44 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  480. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  481. package/src/core/columns/constructColumn.ts +111 -0
  482. package/src/core/columns/coreColumnsFeature.ts +90 -0
  483. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  484. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  485. package/src/core/coreFeatures.ts +24 -0
  486. package/src/core/headers/buildHeaderGroups.ts +177 -0
  487. package/src/core/headers/constructHeader.ts +61 -0
  488. package/src/core/headers/coreHeadersFeature.ts +98 -0
  489. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  490. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  491. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  492. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  493. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  494. package/src/core/row-models/createCoreRowModel.ts +88 -0
  495. package/src/core/rows/constructRow.ts +59 -0
  496. package/src/core/rows/coreRowsFeature.ts +84 -0
  497. package/src/core/rows/coreRowsFeature.types.ts +114 -0
  498. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  499. package/src/core/table/constructTable.ts +110 -0
  500. package/src/core/table/coreTablesFeature.ts +36 -0
  501. package/src/core/table/coreTablesFeature.types.ts +187 -0
  502. package/src/core/table/coreTablesFeature.utils.ts +47 -0
  503. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  504. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  505. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  506. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  507. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  508. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  509. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  510. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  511. package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
  512. package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
  513. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  514. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  515. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  516. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  517. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  518. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  519. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  520. package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
  521. package/src/features/column-pinning/columnPinningFeature.ts +347 -0
  522. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  523. package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
  524. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  525. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  526. package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
  527. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  528. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  529. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  530. package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
  531. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  532. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  533. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  534. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  535. package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
  536. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  537. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  538. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  539. package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
  540. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  541. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  542. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  543. package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
  544. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  545. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  546. package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
  547. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  548. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  549. package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
  550. package/src/features/row-sorting/createSortedRowModel.ts +149 -0
  551. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  552. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  553. package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
  554. package/src/features/stockFeatures.ts +48 -0
  555. package/src/features/table-reactivity/tableReactivityFeature.ts +92 -0
  556. package/src/flex-render.ts +60 -0
  557. package/src/fns/aggregationFns.ts +220 -0
  558. package/src/fns/filterFns.ts +379 -0
  559. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  560. package/src/helpers/columnHelper.ts +117 -0
  561. package/src/helpers/tableFeatures.ts +24 -0
  562. package/src/helpers/tableOptions.ts +82 -0
  563. package/src/index.ts +140 -42
  564. package/src/process-env.d.ts +6 -0
  565. package/src/static-functions.ts +31 -0
  566. package/src/types/Cell.ts +41 -0
  567. package/src/types/Column.ts +86 -0
  568. package/src/types/ColumnDef.ts +217 -0
  569. package/src/types/Header.ts +45 -0
  570. package/src/types/HeaderGroup.ts +24 -0
  571. package/src/types/Row.ts +55 -0
  572. package/src/types/RowModel.ts +137 -0
  573. package/src/types/RowModelFns.ts +51 -0
  574. package/src/types/Table.ts +132 -0
  575. package/src/types/TableFeatures.ts +150 -0
  576. package/src/types/TableOptions.ts +125 -0
  577. package/src/types/TableState.ts +88 -0
  578. package/src/types/type-utils.ts +84 -0
  579. package/src/utils.ts +361 -161
  580. package/dist/cjs/aggregationFns.cjs +0 -98
  581. package/dist/cjs/aggregationFns.cjs.map +0 -1
  582. package/dist/cjs/aggregationFns.d.cts +0 -14
  583. package/dist/cjs/columnHelper.cjs +0 -19
  584. package/dist/cjs/columnHelper.cjs.map +0 -1
  585. package/dist/cjs/columnHelper.d.cts +0 -9
  586. package/dist/cjs/core/cell.cjs +0 -38
  587. package/dist/cjs/core/cell.cjs.map +0 -1
  588. package/dist/cjs/core/cell.d.cts +0 -50
  589. package/dist/cjs/core/column.cjs +0 -81
  590. package/dist/cjs/core/column.cjs.map +0 -1
  591. package/dist/cjs/core/column.d.cts +0 -56
  592. package/dist/cjs/core/headers.cjs +0 -310
  593. package/dist/cjs/core/headers.cjs.map +0 -1
  594. package/dist/cjs/core/headers.d.cts +0 -195
  595. package/dist/cjs/core/row.cjs +0 -93
  596. package/dist/cjs/core/row.cjs.map +0 -1
  597. package/dist/cjs/core/row.d.cts +0 -92
  598. package/dist/cjs/core/table.cjs +0 -228
  599. package/dist/cjs/core/table.cjs.map +0 -1
  600. package/dist/cjs/core/table.d.cts +0 -221
  601. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  602. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  603. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  604. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  605. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  606. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  607. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  608. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  609. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  610. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  611. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  612. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  613. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  614. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  615. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  616. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  617. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  618. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  619. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  620. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  621. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  622. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  623. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  624. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  625. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  626. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  627. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  628. package/dist/cjs/features/RowExpanding.cjs +0 -154
  629. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  630. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  631. package/dist/cjs/features/RowPagination.cjs +0 -162
  632. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  633. package/dist/cjs/features/RowPagination.d.cts +0 -166
  634. package/dist/cjs/features/RowPinning.cjs +0 -133
  635. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  636. package/dist/cjs/features/RowPinning.d.cts +0 -99
  637. package/dist/cjs/features/RowSelection.cjs +0 -298
  638. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  639. package/dist/cjs/features/RowSelection.d.cts +0 -177
  640. package/dist/cjs/features/RowSorting.cjs +0 -201
  641. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  642. package/dist/cjs/features/RowSorting.d.cts +0 -238
  643. package/dist/cjs/filterFns.cjs +0 -88
  644. package/dist/cjs/filterFns.cjs.map +0 -1
  645. package/dist/cjs/filterFns.d.cts +0 -14
  646. package/dist/cjs/index.cjs +0 -87
  647. package/dist/cjs/index.cjs.map +0 -1
  648. package/dist/cjs/index.d.cts +0 -34
  649. package/dist/cjs/sortingFns.cjs +0 -91
  650. package/dist/cjs/sortingFns.cjs.map +0 -1
  651. package/dist/cjs/sortingFns.d.cts +0 -12
  652. package/dist/cjs/types.d.cts +0 -120
  653. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  654. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  655. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  656. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  657. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  658. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  659. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  660. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  661. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  662. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  663. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  664. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  665. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  666. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  667. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  668. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  669. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  670. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  671. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  672. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  673. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  674. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  675. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  676. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  677. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  678. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  679. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  680. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  681. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  682. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  683. package/dist/cjs/utils.cjs +0 -100
  684. package/dist/cjs/utils.cjs.map +0 -1
  685. package/dist/cjs/utils.d.cts +0 -39
  686. package/dist/esm/aggregationFns.d.ts +0 -14
  687. package/dist/esm/aggregationFns.js +0 -98
  688. package/dist/esm/aggregationFns.js.map +0 -1
  689. package/dist/esm/columnHelper.d.ts +0 -9
  690. package/dist/esm/columnHelper.js +0 -19
  691. package/dist/esm/columnHelper.js.map +0 -1
  692. package/dist/esm/core/cell.d.ts +0 -50
  693. package/dist/esm/core/cell.js +0 -38
  694. package/dist/esm/core/cell.js.map +0 -1
  695. package/dist/esm/core/column.d.ts +0 -56
  696. package/dist/esm/core/column.js +0 -81
  697. package/dist/esm/core/column.js.map +0 -1
  698. package/dist/esm/core/headers.d.ts +0 -195
  699. package/dist/esm/core/headers.js +0 -310
  700. package/dist/esm/core/headers.js.map +0 -1
  701. package/dist/esm/core/row.d.ts +0 -92
  702. package/dist/esm/core/row.js +0 -93
  703. package/dist/esm/core/row.js.map +0 -1
  704. package/dist/esm/core/table.d.ts +0 -221
  705. package/dist/esm/core/table.js +0 -228
  706. package/dist/esm/core/table.js.map +0 -1
  707. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  708. package/dist/esm/features/ColumnFaceting.js +0 -29
  709. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  710. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  711. package/dist/esm/features/ColumnFiltering.js +0 -137
  712. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  713. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  714. package/dist/esm/features/ColumnGrouping.js +0 -134
  715. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  716. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  717. package/dist/esm/features/ColumnOrdering.js +0 -76
  718. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  719. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  720. package/dist/esm/features/ColumnPinning.js +0 -145
  721. package/dist/esm/features/ColumnPinning.js.map +0 -1
  722. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  723. package/dist/esm/features/ColumnSizing.js +0 -308
  724. package/dist/esm/features/ColumnSizing.js.map +0 -1
  725. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  726. package/dist/esm/features/ColumnVisibility.js +0 -144
  727. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  728. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  729. package/dist/esm/features/GlobalFaceting.js +0 -29
  730. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  731. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  732. package/dist/esm/features/GlobalFiltering.js +0 -50
  733. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  734. package/dist/esm/features/RowExpanding.d.ts +0 -155
  735. package/dist/esm/features/RowExpanding.js +0 -154
  736. package/dist/esm/features/RowExpanding.js.map +0 -1
  737. package/dist/esm/features/RowPagination.d.ts +0 -166
  738. package/dist/esm/features/RowPagination.js +0 -162
  739. package/dist/esm/features/RowPagination.js.map +0 -1
  740. package/dist/esm/features/RowPinning.d.ts +0 -99
  741. package/dist/esm/features/RowPinning.js +0 -133
  742. package/dist/esm/features/RowPinning.js.map +0 -1
  743. package/dist/esm/features/RowSelection.d.ts +0 -177
  744. package/dist/esm/features/RowSelection.js +0 -298
  745. package/dist/esm/features/RowSelection.js.map +0 -1
  746. package/dist/esm/features/RowSorting.d.ts +0 -238
  747. package/dist/esm/features/RowSorting.js +0 -201
  748. package/dist/esm/features/RowSorting.js.map +0 -1
  749. package/dist/esm/filterFns.d.ts +0 -14
  750. package/dist/esm/filterFns.js +0 -88
  751. package/dist/esm/filterFns.js.map +0 -1
  752. package/dist/esm/index.d.ts +0 -34
  753. package/dist/esm/index.js +0 -87
  754. package/dist/esm/index.js.map +0 -1
  755. package/dist/esm/sortingFns.d.ts +0 -12
  756. package/dist/esm/sortingFns.js +0 -91
  757. package/dist/esm/sortingFns.js.map +0 -1
  758. package/dist/esm/types.d.ts +0 -120
  759. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  760. package/dist/esm/utils/filterRowsUtils.js +0 -99
  761. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  762. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  763. package/dist/esm/utils/getCoreRowModel.js +0 -54
  764. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  765. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  766. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  767. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  768. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  769. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  770. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  771. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  772. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  773. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  774. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  775. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  776. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  777. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  778. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  779. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  780. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  781. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  782. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  783. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  784. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  785. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  786. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  787. package/dist/esm/utils/getSortedRowModel.js +0 -91
  788. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  789. package/dist/esm/utils.d.ts +0 -39
  790. package/dist/esm/utils.js +0 -100
  791. package/dist/esm/utils.js.map +0 -1
  792. package/src/aggregationFns.ts +0 -123
  793. package/src/columnHelper.ts +0 -91
  794. package/src/core/cell.ts +0 -91
  795. package/src/core/column.ts +0 -165
  796. package/src/core/headers.ts +0 -639
  797. package/src/core/row.ts +0 -201
  798. package/src/core/table.ts +0 -527
  799. package/src/features/ColumnFaceting.ts +0 -84
  800. package/src/features/ColumnFiltering.ts +0 -429
  801. package/src/features/ColumnGrouping.ts +0 -422
  802. package/src/features/ColumnOrdering.ts +0 -161
  803. package/src/features/ColumnPinning.ts +0 -336
  804. package/src/features/ColumnSizing.ts +0 -579
  805. package/src/features/ColumnVisibility.ts +0 -317
  806. package/src/features/GlobalFaceting.ts +0 -66
  807. package/src/features/GlobalFiltering.ts +0 -162
  808. package/src/features/RowExpanding.ts +0 -355
  809. package/src/features/RowPagination.ts +0 -396
  810. package/src/features/RowPinning.ts +0 -273
  811. package/src/features/RowSelection.ts +0 -668
  812. package/src/features/RowSorting.ts +0 -542
  813. package/src/filterFns.ts +0 -150
  814. package/src/types.ts +0 -361
  815. package/src/utils/filterRowsUtils.ts +0 -130
  816. package/src/utils/getCoreRowModel.ts +0 -82
  817. package/src/utils/getExpandedRowModel.ts +0 -51
  818. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  819. package/src/utils/getFacetedRowModel.ts +0 -44
  820. package/src/utils/getFacetedUniqueValues.ts +0 -42
  821. package/src/utils/getFilteredRowModel.ts +0 -151
  822. package/src/utils/getGroupedRowModel.ts +0 -181
  823. package/src/utils/getPaginationRowModel.ts +0 -60
  824. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,88 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
3
+
4
+ //#region src/features/column-grouping/columnGroupingFeature.utils.ts
5
+ function getDefaultGroupingState() {
6
+ return [];
7
+ }
8
+ function column_toggleGrouping(column) {
9
+ table_setGrouping(column.table, (old) => {
10
+ if (old.includes(column.id)) return old.filter((d) => d !== column.id);
11
+ return [...old, column.id];
12
+ });
13
+ }
14
+ function column_getCanGroup(column) {
15
+ return (column.columnDef.enableGrouping ?? true) && (column.table.options.enableGrouping ?? true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);
16
+ }
17
+ function column_getIsGrouped(column) {
18
+ var _column$table$atoms$g;
19
+ return !!((_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 || (_column$table$atoms$g = _column$table$atoms$g.get()) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.includes(column.id));
20
+ }
21
+ function column_getGroupedIndex(column) {
22
+ var _column$table$atoms$g2;
23
+ return ((_column$table$atoms$g2 = column.table.atoms.grouping) === null || _column$table$atoms$g2 === void 0 || (_column$table$atoms$g2 = _column$table$atoms$g2.get()) === null || _column$table$atoms$g2 === void 0 ? void 0 : _column$table$atoms$g2.indexOf(column.id)) ?? -1;
24
+ }
25
+ function column_getToggleGroupingHandler(column) {
26
+ const canGroup = column_getCanGroup(column);
27
+ return () => {
28
+ if (!canGroup) return;
29
+ column_toggleGrouping(column);
30
+ };
31
+ }
32
+ function column_getAutoAggregationFn(column) {
33
+ const aggregationFns = column.table._rowModelFns.aggregationFns;
34
+ const firstRow = column.table.getCoreRowModel().flatRows[0];
35
+ const value = firstRow === null || firstRow === void 0 ? void 0 : firstRow.getValue(column.id);
36
+ if (typeof value === "number") return aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns.sum;
37
+ if (Object.prototype.toString.call(value) === "[object Date]") return aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns.extent;
38
+ }
39
+ function column_getAggregationFn(column) {
40
+ const aggregationFns = column.table._rowModelFns.aggregationFns;
41
+ return require_utils.isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === "auto" ? column_getAutoAggregationFn(column) : aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns[column.columnDef.aggregationFn];
42
+ }
43
+ function table_setGrouping(table, updater) {
44
+ var _table$options$onGrou, _table$options;
45
+ (_table$options$onGrou = (_table$options = table.options).onGroupingChange) === null || _table$options$onGrou === void 0 || _table$options$onGrou.call(_table$options, updater);
46
+ }
47
+ function table_resetGrouping(table, defaultState) {
48
+ table_setGrouping(table, defaultState ? [] : require_utils.cloneState(table.initialState.grouping ?? []));
49
+ }
50
+ function row_getIsGrouped(row) {
51
+ return !!row.groupingColumnId;
52
+ }
53
+ function row_getGroupingValue(row, columnId) {
54
+ var _row$_groupingValuesC, _row$_groupingValuesC2;
55
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(columnId)) return row._groupingValuesCache[columnId];
56
+ const column = require_coreColumnsFeature_utils.table_getColumn(row.table, columnId);
57
+ if (!column.columnDef.getGroupingValue) return row.getValue(columnId);
58
+ if (row._groupingValuesCache) row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);
59
+ return (_row$_groupingValuesC2 = row._groupingValuesCache) === null || _row$_groupingValuesC2 === void 0 ? void 0 : _row$_groupingValuesC2[columnId];
60
+ }
61
+ function cell_getIsGrouped(cell) {
62
+ const row = cell.row;
63
+ return column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId;
64
+ }
65
+ function cell_getIsPlaceholder(cell) {
66
+ return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column);
67
+ }
68
+ function cell_getIsAggregated(cell) {
69
+ return !cell_getIsGrouped(cell) && !cell_getIsPlaceholder(cell) && !!cell.row.subRows.length;
70
+ }
71
+
72
+ //#endregion
73
+ exports.cell_getIsAggregated = cell_getIsAggregated;
74
+ exports.cell_getIsGrouped = cell_getIsGrouped;
75
+ exports.cell_getIsPlaceholder = cell_getIsPlaceholder;
76
+ exports.column_getAggregationFn = column_getAggregationFn;
77
+ exports.column_getAutoAggregationFn = column_getAutoAggregationFn;
78
+ exports.column_getCanGroup = column_getCanGroup;
79
+ exports.column_getGroupedIndex = column_getGroupedIndex;
80
+ exports.column_getIsGrouped = column_getIsGrouped;
81
+ exports.column_getToggleGroupingHandler = column_getToggleGroupingHandler;
82
+ exports.column_toggleGrouping = column_toggleGrouping;
83
+ exports.getDefaultGroupingState = getDefaultGroupingState;
84
+ exports.row_getGroupingValue = row_getGroupingValue;
85
+ exports.row_getIsGrouped = row_getIsGrouped;
86
+ exports.table_resetGrouping = table_resetGrouping;
87
+ exports.table_setGrouping = table_setGrouping;
88
+ //# sourceMappingURL=columnGroupingFeature.utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnGroupingFeature.utils.cjs","names":["isFunction","cloneState","table_getColumn"],"sources":["../../../src/features/column-grouping/columnGroupingFeature.utils.ts"],"sourcesContent":["import { cloneState, isFunction } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { Cell } from '../../types/Cell'\nimport type {\n AggregationFn,\n GroupingState,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\n\nexport function getDefaultGroupingState(): GroupingState {\n return []\n}\n\nexport function column_toggleGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setGrouping(column.table, (old) => {\n // Find any existing grouping for this column\n if (old.includes(column.id)) {\n return old.filter((d) => d !== column.id)\n }\n\n return [...old, column.id]\n })\n}\n\nexport function column_getCanGroup<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableGrouping ?? true) &&\n (column.table.options.enableGrouping ?? true) &&\n (!!column.accessorFn || !!column.columnDef.getGroupingValue)\n )\n}\n\nexport function column_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return !!column.table.atoms.grouping?.get()?.includes(column.id)\n}\n\nexport function column_getGroupedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1\n}\n\nexport function column_getToggleGroupingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canGroup = column_getCanGroup(column)\n\n return () => {\n if (!canGroup) return\n column_toggleGrouping(column)\n }\n}\n\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 aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns?.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns?.extent\n }\n}\n\nexport function column_getAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column_getAutoAggregationFn(column)\n : aggregationFns?.[column.columnDef.aggregationFn as string]\n}\n\nexport function table_setGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {\n table.options.onGroupingChange?.(updater)\n}\n\nexport function table_resetGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGrouping(\n table,\n defaultState ? [] : cloneState(table.initialState.grouping ?? []),\n )\n}\n\nexport function row_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {\n return !!row.groupingColumnId\n}\n\nexport function row_getGroupingValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {\n if (row._groupingValuesCache?.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n const column = table_getColumn(row.table, columnId) as Column_Internal<\n TFeatures,\n TData\n >\n\n if (!column.columnDef.getGroupingValue) {\n return row.getValue(columnId)\n }\n\n if (row._groupingValuesCache) {\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(\n row.original,\n )\n }\n\n return row._groupingValuesCache?.[columnId]\n}\n\nexport function cell_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n return (\n column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId\n )\n}\n\nexport function cell_getIsPlaceholder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)\n}\n\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return (\n !cell_getIsGrouped(cell) &&\n !cell_getIsPlaceholder(cell) &&\n !!cell.row.subRows.length\n )\n}\n"],"mappings":";;;;AAcA,SAAgB,0BAAyC;AACvD,QAAO,EAAE;;AAGX,SAAgB,sBAId,QAAmD;AACnD,mBAAkB,OAAO,QAAQ,QAAQ;AAEvC,MAAI,IAAI,SAAS,OAAO,GAAG,CACzB,QAAO,IAAI,QAAQ,MAAM,MAAM,OAAO,GAAG;AAG3C,SAAO,CAAC,GAAG,KAAK,OAAO,GAAG;GAC1B;;AAGJ,SAAgB,mBAId,QAAmD;AACnD,SACG,OAAO,UAAU,kBAAkB,UACnC,OAAO,MAAM,QAAQ,kBAAkB,UACvC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,UAAU;;AAI/C,SAAgB,oBAId,QAA4D;;AAC5D,QAAO,CAAC,2BAAC,OAAO,MAAM,MAAM,yGAAU,KAAK,gFAAE,SAAS,OAAO,GAAG;;AAGlE,SAAgB,uBAId,QAA2D;;AAC3D,mCAAO,OAAO,MAAM,MAAM,4GAAU,KAAK,kFAAE,QAAQ,OAAO,GAAG,KAAI;;AAGnE,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,OAAO;AAE3C,cAAa;AACX,MAAI,CAAC,SAAU;AACf,wBAAsB,OAAO;;;AAIjC,SAAgB,4BAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,4DAAQ,SAAU,SAAS,OAAO,GAAG;AAE3C,KAAI,OAAO,UAAU,SACnB,wEAAO,eAAgB;AAGzB,KAAI,OAAO,UAAU,SAAS,KAAK,MAAM,KAAK,gBAC5C,wEAAO,eAAgB;;AAI3B,SAAgB,wBAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;AAE1C,QAAOA,yBAAW,OAAO,UAAU,cAAc,GAC7C,OAAO,UAAU,gBACjB,OAAO,UAAU,kBAAkB,SACjC,4BAA4B,OAAO,mEACnC,eAAiB,OAAO,UAAU;;AAG1C,SAAgB,kBAGd,OAAyC,SAAiC;;AAC1E,kDAAM,SAAQ,6GAAmB,QAAQ;;AAG3C,SAAgB,oBAGd,OAAyC,cAAwB;AACjE,mBACE,OACA,eAAe,EAAE,GAAGC,yBAAW,MAAM,aAAa,YAAY,EAAE,CAAC,CAClE;;AAGH,SAAgB,iBAGd,KAA0D;AAC1D,QAAO,CAAC,CAAC,IAAI;;AAGf,SAAgB,qBAGd,KAA0D,UAAkB;;AAC5E,8BAAI,IAAI,oGAAsB,eAAe,SAAS,CACpD,QAAO,IAAI,qBAAqB;CAGlC,MAAM,SAASC,iDAAgB,IAAI,OAAO,SAAS;AAKnD,KAAI,CAAC,OAAO,UAAU,iBACpB,QAAO,IAAI,SAAS,SAAS;AAG/B,KAAI,IAAI,qBACN,KAAI,qBAAqB,YAAY,OAAO,UAAU,iBACpD,IAAI,SACL;AAGH,kCAAO,IAAI,sGAAuB;;AAGpC,SAAgB,kBAId,MAAsC;CACtC,MAAM,MAAM,KAAK;AACjB,QACE,oBAAoB,KAAK,OAAO,IAAI,KAAK,OAAO,OAAO,IAAI;;AAI/D,SAAgB,sBAId,MAAsC;AACtC,QAAO,CAAC,kBAAkB,KAAK,IAAI,oBAAoB,KAAK,OAAO;;AAGrE,SAAgB,qBAId,MAAsC;AACtC,QACE,CAAC,kBAAkB,KAAK,IACxB,CAAC,sBAAsB,KAAK,IAC5B,CAAC,CAAC,KAAK,IAAI,QAAQ"}
@@ -0,0 +1,27 @@
1
+ import { CellData, RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { Column_Internal } from "../../types/Column.cjs";
3
+ import { Row } from "../../types/Row.cjs";
4
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
+ import { Table_Internal } from "../../types/Table.cjs";
6
+ import { AggregationFn, GroupingState, Row_ColumnGrouping } from "./columnGroupingFeature.types.cjs";
7
+ import { Cell } from "../../types/Cell.cjs";
8
+
9
+ //#region src/features/column-grouping/columnGroupingFeature.utils.d.ts
10
+ declare function getDefaultGroupingState(): GroupingState;
11
+ declare function column_toggleGrouping<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
12
+ declare function column_getCanGroup<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
13
+ declare function column_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
14
+ declare function column_getGroupedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
15
+ declare function column_getToggleGroupingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): () => void;
16
+ declare function column_getAutoAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
17
+ declare function column_getAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
18
+ declare function table_setGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>): void;
19
+ declare function table_resetGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
20
+ declare function row_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>): boolean;
21
+ declare function row_getGroupingValue<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string): any;
22
+ declare function cell_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
23
+ declare function cell_getIsPlaceholder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
24
+ declare function cell_getIsAggregated<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
25
+ //#endregion
26
+ export { cell_getIsAggregated, cell_getIsGrouped, cell_getIsPlaceholder, column_getAggregationFn, column_getAutoAggregationFn, column_getCanGroup, column_getGroupedIndex, column_getIsGrouped, column_getToggleGroupingHandler, column_toggleGrouping, getDefaultGroupingState, row_getGroupingValue, row_getIsGrouped, table_resetGrouping, table_setGrouping };
27
+ //# sourceMappingURL=columnGroupingFeature.utils.d.cts.map
@@ -0,0 +1,27 @@
1
+ import { CellData, RowData, Updater } from "../../types/type-utils.js";
2
+ import { Column_Internal } from "../../types/Column.js";
3
+ import { Row } from "../../types/Row.js";
4
+ import { TableFeatures } from "../../types/TableFeatures.js";
5
+ import { Table_Internal } from "../../types/Table.js";
6
+ import { AggregationFn, GroupingState, Row_ColumnGrouping } from "./columnGroupingFeature.types.js";
7
+ import { Cell } from "../../types/Cell.js";
8
+
9
+ //#region src/features/column-grouping/columnGroupingFeature.utils.d.ts
10
+ declare function getDefaultGroupingState(): GroupingState;
11
+ declare function column_toggleGrouping<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
12
+ declare function column_getCanGroup<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
13
+ declare function column_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
14
+ declare function column_getGroupedIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
15
+ declare function column_getToggleGroupingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): () => void;
16
+ declare function column_getAutoAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
17
+ declare function column_getAggregationFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): AggregationFn<TFeatures, TData> | undefined;
18
+ declare function table_setGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>): void;
19
+ declare function table_resetGrouping<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
20
+ declare function row_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>): boolean;
21
+ declare function row_getGroupingValue<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string): any;
22
+ declare function cell_getIsGrouped<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
23
+ declare function cell_getIsPlaceholder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
24
+ declare function cell_getIsAggregated<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>): boolean;
25
+ //#endregion
26
+ export { cell_getIsAggregated, cell_getIsGrouped, cell_getIsPlaceholder, column_getAggregationFn, column_getAutoAggregationFn, column_getCanGroup, column_getGroupedIndex, column_getIsGrouped, column_getToggleGroupingHandler, column_toggleGrouping, getDefaultGroupingState, row_getGroupingValue, row_getIsGrouped, table_resetGrouping, table_setGrouping };
27
+ //# sourceMappingURL=columnGroupingFeature.utils.d.ts.map
@@ -0,0 +1,74 @@
1
+ import { cloneState, isFunction } from "../../utils.js";
2
+ import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
3
+
4
+ //#region src/features/column-grouping/columnGroupingFeature.utils.ts
5
+ function getDefaultGroupingState() {
6
+ return [];
7
+ }
8
+ function column_toggleGrouping(column) {
9
+ table_setGrouping(column.table, (old) => {
10
+ if (old.includes(column.id)) return old.filter((d) => d !== column.id);
11
+ return [...old, column.id];
12
+ });
13
+ }
14
+ function column_getCanGroup(column) {
15
+ return (column.columnDef.enableGrouping ?? true) && (column.table.options.enableGrouping ?? true) && (!!column.accessorFn || !!column.columnDef.getGroupingValue);
16
+ }
17
+ function column_getIsGrouped(column) {
18
+ var _column$table$atoms$g;
19
+ return !!((_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 || (_column$table$atoms$g = _column$table$atoms$g.get()) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.includes(column.id));
20
+ }
21
+ function column_getGroupedIndex(column) {
22
+ var _column$table$atoms$g2;
23
+ return ((_column$table$atoms$g2 = column.table.atoms.grouping) === null || _column$table$atoms$g2 === void 0 || (_column$table$atoms$g2 = _column$table$atoms$g2.get()) === null || _column$table$atoms$g2 === void 0 ? void 0 : _column$table$atoms$g2.indexOf(column.id)) ?? -1;
24
+ }
25
+ function column_getToggleGroupingHandler(column) {
26
+ const canGroup = column_getCanGroup(column);
27
+ return () => {
28
+ if (!canGroup) return;
29
+ column_toggleGrouping(column);
30
+ };
31
+ }
32
+ function column_getAutoAggregationFn(column) {
33
+ const aggregationFns = column.table._rowModelFns.aggregationFns;
34
+ const firstRow = column.table.getCoreRowModel().flatRows[0];
35
+ const value = firstRow === null || firstRow === void 0 ? void 0 : firstRow.getValue(column.id);
36
+ if (typeof value === "number") return aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns.sum;
37
+ if (Object.prototype.toString.call(value) === "[object Date]") return aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns.extent;
38
+ }
39
+ function column_getAggregationFn(column) {
40
+ const aggregationFns = column.table._rowModelFns.aggregationFns;
41
+ return isFunction(column.columnDef.aggregationFn) ? column.columnDef.aggregationFn : column.columnDef.aggregationFn === "auto" ? column_getAutoAggregationFn(column) : aggregationFns === null || aggregationFns === void 0 ? void 0 : aggregationFns[column.columnDef.aggregationFn];
42
+ }
43
+ function table_setGrouping(table, updater) {
44
+ var _table$options$onGrou, _table$options;
45
+ (_table$options$onGrou = (_table$options = table.options).onGroupingChange) === null || _table$options$onGrou === void 0 || _table$options$onGrou.call(_table$options, updater);
46
+ }
47
+ function table_resetGrouping(table, defaultState) {
48
+ table_setGrouping(table, defaultState ? [] : cloneState(table.initialState.grouping ?? []));
49
+ }
50
+ function row_getIsGrouped(row) {
51
+ return !!row.groupingColumnId;
52
+ }
53
+ function row_getGroupingValue(row, columnId) {
54
+ var _row$_groupingValuesC, _row$_groupingValuesC2;
55
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(columnId)) return row._groupingValuesCache[columnId];
56
+ const column = table_getColumn(row.table, columnId);
57
+ if (!column.columnDef.getGroupingValue) return row.getValue(columnId);
58
+ if (row._groupingValuesCache) row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(row.original);
59
+ return (_row$_groupingValuesC2 = row._groupingValuesCache) === null || _row$_groupingValuesC2 === void 0 ? void 0 : _row$_groupingValuesC2[columnId];
60
+ }
61
+ function cell_getIsGrouped(cell) {
62
+ const row = cell.row;
63
+ return column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId;
64
+ }
65
+ function cell_getIsPlaceholder(cell) {
66
+ return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column);
67
+ }
68
+ function cell_getIsAggregated(cell) {
69
+ return !cell_getIsGrouped(cell) && !cell_getIsPlaceholder(cell) && !!cell.row.subRows.length;
70
+ }
71
+
72
+ //#endregion
73
+ export { cell_getIsAggregated, cell_getIsGrouped, cell_getIsPlaceholder, column_getAggregationFn, column_getAutoAggregationFn, column_getCanGroup, column_getGroupedIndex, column_getIsGrouped, column_getToggleGroupingHandler, column_toggleGrouping, getDefaultGroupingState, row_getGroupingValue, row_getIsGrouped, table_resetGrouping, table_setGrouping };
74
+ //# sourceMappingURL=columnGroupingFeature.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnGroupingFeature.utils.js","names":[],"sources":["../../../src/features/column-grouping/columnGroupingFeature.utils.ts"],"sourcesContent":["import { cloneState, isFunction } from '../../utils'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport type { Column_Internal } from '../../types/Column'\nimport type { CellData, RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { Cell } from '../../types/Cell'\nimport type {\n AggregationFn,\n GroupingState,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\n\nexport function getDefaultGroupingState(): GroupingState {\n return []\n}\n\nexport function column_toggleGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n table_setGrouping(column.table, (old) => {\n // Find any existing grouping for this column\n if (old.includes(column.id)) {\n return old.filter((d) => d !== column.id)\n }\n\n return [...old, column.id]\n })\n}\n\nexport function column_getCanGroup<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n return (\n (column.columnDef.enableGrouping ?? true) &&\n (column.table.options.enableGrouping ?? true) &&\n (!!column.accessorFn || !!column.columnDef.getGroupingValue)\n )\n}\n\nexport function column_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): boolean {\n return !!column.table.atoms.grouping?.get()?.includes(column.id)\n}\n\nexport function column_getGroupedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>): number {\n return column.table.atoms.grouping?.get()?.indexOf(column.id) ?? -1\n}\n\nexport function column_getToggleGroupingHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const canGroup = column_getCanGroup(column)\n\n return () => {\n if (!canGroup) return\n column_toggleGrouping(column)\n }\n}\n\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 aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n const firstRow = column.table.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.getValue(column.id)\n\n if (typeof value === 'number') {\n return aggregationFns?.sum\n }\n\n if (Object.prototype.toString.call(value) === '[object Date]') {\n return aggregationFns?.extent\n }\n}\n\nexport function column_getAggregationFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(column: Column_Internal<TFeatures, TData, TValue>) {\n const aggregationFns:\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined = column.table._rowModelFns.aggregationFns\n\n return isFunction(column.columnDef.aggregationFn)\n ? column.columnDef.aggregationFn\n : column.columnDef.aggregationFn === 'auto'\n ? column_getAutoAggregationFn(column)\n : aggregationFns?.[column.columnDef.aggregationFn as string]\n}\n\nexport function table_setGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, updater: Updater<GroupingState>) {\n table.options.onGroupingChange?.(updater)\n}\n\nexport function table_resetGrouping<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setGrouping(\n table,\n defaultState ? [] : cloneState(table.initialState.grouping ?? []),\n )\n}\n\nexport function row_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>) {\n return !!row.groupingColumnId\n}\n\nexport function row_getGroupingValue<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData> & Partial<Row_ColumnGrouping>, columnId: string) {\n if (row._groupingValuesCache?.hasOwnProperty(columnId)) {\n return row._groupingValuesCache[columnId]\n }\n\n const column = table_getColumn(row.table, columnId) as Column_Internal<\n TFeatures,\n TData\n >\n\n if (!column.columnDef.getGroupingValue) {\n return row.getValue(columnId)\n }\n\n if (row._groupingValuesCache) {\n row._groupingValuesCache[columnId] = column.columnDef.getGroupingValue(\n row.original,\n )\n }\n\n return row._groupingValuesCache?.[columnId]\n}\n\nexport function cell_getIsGrouped<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n const row = cell.row as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n return (\n column_getIsGrouped(cell.column) && cell.column.id === row.groupingColumnId\n )\n}\n\nexport function cell_getIsPlaceholder<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return !cell_getIsGrouped(cell) && column_getIsGrouped(cell.column)\n}\n\nexport function cell_getIsAggregated<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(cell: Cell<TFeatures, TData, TValue>) {\n return (\n !cell_getIsGrouped(cell) &&\n !cell_getIsPlaceholder(cell) &&\n !!cell.row.subRows.length\n )\n}\n"],"mappings":";;;;AAcA,SAAgB,0BAAyC;AACvD,QAAO,EAAE;;AAGX,SAAgB,sBAId,QAAmD;AACnD,mBAAkB,OAAO,QAAQ,QAAQ;AAEvC,MAAI,IAAI,SAAS,OAAO,GAAG,CACzB,QAAO,IAAI,QAAQ,MAAM,MAAM,OAAO,GAAG;AAG3C,SAAO,CAAC,GAAG,KAAK,OAAO,GAAG;GAC1B;;AAGJ,SAAgB,mBAId,QAAmD;AACnD,SACG,OAAO,UAAU,kBAAkB,UACnC,OAAO,MAAM,QAAQ,kBAAkB,UACvC,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,UAAU;;AAI/C,SAAgB,oBAId,QAA4D;;AAC5D,QAAO,CAAC,2BAAC,OAAO,MAAM,MAAM,yGAAU,KAAK,gFAAE,SAAS,OAAO,GAAG;;AAGlE,SAAgB,uBAId,QAA2D;;AAC3D,mCAAO,OAAO,MAAM,MAAM,4GAAU,KAAK,kFAAE,QAAQ,OAAO,GAAG,KAAI;;AAGnE,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,OAAO;AAE3C,cAAa;AACX,MAAI,CAAC,SAAU;AACf,wBAAsB,OAAO;;;AAIjC,SAAgB,4BAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;CAE1C,MAAM,WAAW,OAAO,MAAM,iBAAiB,CAAC,SAAS;CAEzD,MAAM,4DAAQ,SAAU,SAAS,OAAO,GAAG;AAE3C,KAAI,OAAO,UAAU,SACnB,wEAAO,eAAgB;AAGzB,KAAI,OAAO,UAAU,SAAS,KAAK,MAAM,KAAK,gBAC5C,wEAAO,eAAgB;;AAI3B,SAAgB,wBAId,QAAmD;CACnD,MAAM,iBAEU,OAAO,MAAM,aAAa;AAE1C,QAAO,WAAW,OAAO,UAAU,cAAc,GAC7C,OAAO,UAAU,gBACjB,OAAO,UAAU,kBAAkB,SACjC,4BAA4B,OAAO,mEACnC,eAAiB,OAAO,UAAU;;AAG1C,SAAgB,kBAGd,OAAyC,SAAiC;;AAC1E,kDAAM,SAAQ,6GAAmB,QAAQ;;AAG3C,SAAgB,oBAGd,OAAyC,cAAwB;AACjE,mBACE,OACA,eAAe,EAAE,GAAG,WAAW,MAAM,aAAa,YAAY,EAAE,CAAC,CAClE;;AAGH,SAAgB,iBAGd,KAA0D;AAC1D,QAAO,CAAC,CAAC,IAAI;;AAGf,SAAgB,qBAGd,KAA0D,UAAkB;;AAC5E,8BAAI,IAAI,oGAAsB,eAAe,SAAS,CACpD,QAAO,IAAI,qBAAqB;CAGlC,MAAM,SAAS,gBAAgB,IAAI,OAAO,SAAS;AAKnD,KAAI,CAAC,OAAO,UAAU,iBACpB,QAAO,IAAI,SAAS,SAAS;AAG/B,KAAI,IAAI,qBACN,KAAI,qBAAqB,YAAY,OAAO,UAAU,iBACpD,IAAI,SACL;AAGH,kCAAO,IAAI,sGAAuB;;AAGpC,SAAgB,kBAId,MAAsC;CACtC,MAAM,MAAM,KAAK;AACjB,QACE,oBAAoB,KAAK,OAAO,IAAI,KAAK,OAAO,OAAO,IAAI;;AAI/D,SAAgB,sBAId,MAAsC;AACtC,QAAO,CAAC,kBAAkB,KAAK,IAAI,oBAAoB,KAAK,OAAO;;AAGrE,SAAgB,qBAId,MAAsC;AACtC,QACE,CAAC,kBAAkB,KAAK,IACxB,CAAC,sBAAsB,KAAK,IAC5B,CAAC,CAAC,KAAK,IAAI,QAAQ"}
@@ -0,0 +1,114 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_coreColumnsFeature_utils = require('../../core/columns/coreColumnsFeature.utils.cjs');
3
+ const require_constructRow = require('../../core/rows/constructRow.cjs');
4
+ const require_rowPaginationFeature_utils = require('../row-pagination/rowPaginationFeature.utils.cjs');
5
+ const require_columnGroupingFeature_utils = require('./columnGroupingFeature.utils.cjs');
6
+ const require_rowExpandingFeature_utils = require('../row-expanding/rowExpandingFeature.utils.cjs');
7
+
8
+ //#region src/features/column-grouping/createGroupedRowModel.ts
9
+ function createGroupedRowModel(aggregationFns) {
10
+ return (_table) => {
11
+ const table = _table;
12
+ if (!table._rowModelFns.aggregationFns) table._rowModelFns.aggregationFns = aggregationFns;
13
+ return require_utils.tableMemo({
14
+ feature: "columnGroupingFeature",
15
+ table,
16
+ fnName: "table.getGroupedRowModel",
17
+ memoDeps: () => {
18
+ var _table$atoms$grouping;
19
+ return [(_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(), table.getPreGroupedRowModel()];
20
+ },
21
+ fn: () => _createGroupedRowModel(table),
22
+ onAfterUpdate: () => {
23
+ require_rowExpandingFeature_utils.table_autoResetExpanded(table);
24
+ require_rowPaginationFeature_utils.table_autoResetPageIndex(table);
25
+ }
26
+ });
27
+ };
28
+ }
29
+ function _createGroupedRowModel(table) {
30
+ var _table$atoms$grouping2;
31
+ const rowModel = table.getPreGroupedRowModel();
32
+ const grouping = (_table$atoms$grouping2 = table.atoms.grouping) === null || _table$atoms$grouping2 === void 0 ? void 0 : _table$atoms$grouping2.get();
33
+ if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
34
+ rowModel.rows.forEach((row) => {
35
+ row.depth = 0;
36
+ row.parentId = void 0;
37
+ });
38
+ return rowModel;
39
+ }
40
+ const existingGrouping = grouping.filter((columnId) => require_coreColumnsFeature_utils.table_getColumn(table, columnId));
41
+ const groupedFlatRows = [];
42
+ const groupedRowsById = {};
43
+ const groupUpRecursively = (rows, depth = 0, parentId) => {
44
+ if (depth >= existingGrouping.length) return rows.map((row) => {
45
+ row.depth = depth;
46
+ groupedFlatRows.push(row);
47
+ groupedRowsById[row.id] = row;
48
+ if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
49
+ return row;
50
+ });
51
+ const columnId = existingGrouping[depth];
52
+ const rowGroupsMap = groupBy(rows, columnId);
53
+ return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
54
+ let id = `${columnId}:${groupingValue}`;
55
+ id = parentId ? `${parentId}>${id}` : id;
56
+ const subRows = groupUpRecursively(groupedRows, depth + 1, id);
57
+ subRows.forEach((subRow) => {
58
+ subRow.parentId = id;
59
+ });
60
+ const leafRows = depth ? require_utils.flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
61
+ const row = require_constructRow.constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
62
+ Object.assign(row, {
63
+ groupingColumnId: columnId,
64
+ groupingValue,
65
+ subRows,
66
+ leafRows,
67
+ getValue: (colId) => {
68
+ var _row$_groupingValuesC;
69
+ if (existingGrouping.includes(colId)) {
70
+ if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
71
+ if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
72
+ return row._valuesCache[colId];
73
+ }
74
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
75
+ const aggregateFn = require_columnGroupingFeature_utils.column_getAggregationFn(table.getColumn(colId));
76
+ if (!row._groupingValuesCache) row._groupingValuesCache = {};
77
+ if (aggregateFn) {
78
+ row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
79
+ return row._groupingValuesCache[colId];
80
+ }
81
+ }
82
+ });
83
+ subRows.forEach((subRow) => {
84
+ groupedFlatRows.push(subRow);
85
+ groupedRowsById[subRow.id] = subRow;
86
+ });
87
+ return row;
88
+ });
89
+ };
90
+ const groupedRows = groupUpRecursively(rowModel.rows, 0);
91
+ groupedRows.forEach((subRow) => {
92
+ groupedFlatRows.push(subRow);
93
+ groupedRowsById[subRow.id] = subRow;
94
+ });
95
+ return {
96
+ rows: groupedRows,
97
+ flatRows: groupedFlatRows,
98
+ rowsById: groupedRowsById
99
+ };
100
+ }
101
+ function groupBy(rows, columnId) {
102
+ const groupMap = /* @__PURE__ */ new Map();
103
+ return rows.reduce((map, row) => {
104
+ const resKey = `${require_columnGroupingFeature_utils.row_getGroupingValue(row, columnId)}`;
105
+ const previous = map.get(resKey);
106
+ if (!previous) map.set(resKey, [row]);
107
+ else previous.push(row);
108
+ return map;
109
+ }, groupMap);
110
+ }
111
+
112
+ //#endregion
113
+ exports.createGroupedRowModel = createGroupedRowModel;
114
+ //# sourceMappingURL=createGroupedRowModel.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGroupedRowModel.cjs","names":["tableMemo","table_getColumn","flattenBy","constructRow","column_getAggregationFn","row_getGroupingValue"],"sources":["../../../src/features/column-grouping/createGroupedRowModel.ts"],"sourcesContent":["import { flattenBy, tableMemo } from '../../utils'\nimport { constructRow } from '../../core/rows/constructRow'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport { table_autoResetExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport {\n column_getAggregationFn,\n row_getGroupingValue,\n} from './columnGroupingFeature.utils'\nimport type { Column } from '../../types/Column'\nimport type {\n AggregationFn,\n AggregationFns,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\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\nexport function createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.aggregationFns)\n table._rowModelFns.aggregationFns = aggregationFns\n return tableMemo({\n feature: 'columnGroupingFeature',\n table,\n fnName: 'table.getGroupedRowModel',\n memoDeps: () => [\n table.atoms.grouping?.get(),\n table.getPreGroupedRowModel(),\n ],\n fn: () => _createGroupedRowModel(table),\n onAfterUpdate: () => {\n table_autoResetExpanded(table)\n table_autoResetPageIndex(table)\n },\n })\n }\n}\n\nfunction _createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreGroupedRowModel()\n const grouping = table.atoms.grouping?.get()\n\n if (!rowModel.rows.length || !grouping?.length) {\n rowModel.rows.forEach((row) => {\n row.depth = 0\n row.parentId = undefined\n })\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter((columnId) =>\n table_getColumn(table, columnId),\n )\n\n const groupedFlatRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnGrouping> = []\n const groupedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n parentId?: string,\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map((row) => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows.length) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth] as string\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n subRows.forEach((subRow) => {\n subRow.parentId = id\n })\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, (row) => row.subRows)\n : groupedRows\n\n const row = constructRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId,\n ) as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (colId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(colId)) {\n if (row._valuesCache.hasOwnProperty(colId)) {\n return row._valuesCache[colId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[colId] =\n groupedRows[0].getValue(colId) ?? undefined\n }\n\n return row._valuesCache[colId]\n }\n\n if (row._groupingValuesCache?.hasOwnProperty(colId)) {\n return row._groupingValuesCache[colId]\n }\n\n // Aggregate the values\n const column = table.getColumn(colId)\n const aggregateFn = column_getAggregationFn(\n column as Column<TFeatures, TData, unknown>,\n )\n\n if (!row._groupingValuesCache) row._groupingValuesCache = {}\n\n if (aggregateFn) {\n row._groupingValuesCache[colId] = aggregateFn(\n colId,\n leafRows,\n groupedRows,\n )\n\n return row._groupingValuesCache[colId]\n }\n },\n })\n\n subRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return row\n },\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n}\n\nfunction groupBy<TFeatures extends TableFeatures, TData extends RowData = any>(\n rows: Array<Row<TFeatures, TData>>,\n columnId: string,\n) {\n const groupMap = new Map<any, Array<Row<TFeatures, TData>>>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row_getGroupingValue(row, columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,sBAId,gBACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,eACtB,OAAM,aAAa,iBAAiB;AACtC,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;qCACd,MAAM,MAAM,wFAAU,KAAK,EAC3B,MAAM,uBAAuB,CAC9B;;GACD,UAAU,uBAAuB,MAAM;GACvC,qBAAqB;AACnB,8DAAwB,MAAM;AAC9B,gEAAyB,MAAM;;GAElC,CAAC;;;AAIN,SAAS,uBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,uBAAuB;CAC9C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KAAI,CAAC,SAAS,KAAK,UAAU,sDAAC,SAAU,SAAQ;AAC9C,WAAS,KAAK,SAAS,QAAQ;AAC7B,OAAI,QAAQ;AACZ,OAAI,WAAW;IACf;AACF,SAAO;;CAIT,MAAM,mBAAmB,SAAS,QAAQ,aACxCC,iDAAgB,OAAO,SAAS,CACjC;CAED,MAAM,kBAC0B,EAAE;CAClC,MAAM,kBAAyD,EAAE;CAGjE,MAAM,sBACJ,MACA,QAAQ,GACR,aACG;AAGH,MAAI,SAAS,iBAAiB,OAC5B,QAAO,KAAK,KAAK,QAAQ;AACvB,OAAI,QAAQ;AAEZ,mBAAgB,KAAK,IAAI;AACzB,mBAAgB,IAAI,MAAM;AAE1B,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,mBAAmB,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG;AAGlE,UAAO;IACP;EAGJ,MAAM,WAAW,iBAAiB;EAGlC,MAAM,eAAe,QAAQ,MAAM,SAAS;AAmF5C,SAhF8B,MAAM,KAAK,aAAa,SAAS,CAAC,CAAC,KAC9D,CAAC,eAAe,cAAc,UAAU;GACvC,IAAI,KAAK,GAAG,SAAS,GAAG;AACxB,QAAK,WAAW,GAAG,SAAS,GAAG,OAAO;GAGtC,MAAM,UAAU,mBAAmB,aAAa,QAAQ,GAAG,GAAG;AAE9D,WAAQ,SAAS,WAAW;AAC1B,WAAO,WAAW;KAClB;GAGF,MAAM,WAAW,QACbC,wBAAU,cAAc,QAAQ,IAAI,QAAQ,GAC5C;GAEJ,MAAM,MAAMC,kCACV,OACA,IACA,SAAS,GAAI,UACb,OACA,OACA,QACA,SACD;AAED,UAAO,OAAO,KAAK;IACjB,kBAAkB;IAClB;IACA;IACA;IACA,WAAW,UAAkB;;AAE3B,SAAI,iBAAiB,SAAS,MAAM,EAAE;AACpC,UAAI,IAAI,aAAa,eAAe,MAAM,CACxC,QAAO,IAAI,aAAa;AAG1B,UAAI,YAAY,GACd,KAAI,aAAa,SACf,YAAY,GAAG,SAAS,MAAM,IAAI;AAGtC,aAAO,IAAI,aAAa;;AAG1B,kCAAI,IAAI,oGAAsB,eAAe,MAAM,CACjD,QAAO,IAAI,qBAAqB;KAKlC,MAAM,cAAcC,4DADL,MAAM,UAAU,MAEvB,CACP;AAED,SAAI,CAAC,IAAI,qBAAsB,KAAI,uBAAuB,EAAE;AAE5D,SAAI,aAAa;AACf,UAAI,qBAAqB,SAAS,YAChC,OACA,UACA,YACD;AAED,aAAO,IAAI,qBAAqB;;;IAGrC,CAAC;AAEF,WAAQ,SAAS,WAAW;AAC1B,oBAAgB,KAAK,OAAO;AAC5B,oBAAgB,OAAO,MAAM;KAC7B;AAEF,UAAO;IAIiB;;CAG9B,MAAM,cAAc,mBAAmB,SAAS,MAAM,EAAE;AAExD,aAAY,SAAS,WAAW;AAC9B,kBAAgB,KAAK,OAAO;AAC5B,kBAAgB,OAAO,MAAM;GAC7B;AAEF,QAAO;EACL,MAAM;EACN,UAAU;EACV,UAAU;EACX;;AAGH,SAAS,QACP,MACA,UACA;CACA,MAAM,2BAAW,IAAI,KAAwC;AAE7D,QAAO,KAAK,QAAQ,KAAK,QAAQ;EAC/B,MAAM,SAAS,GAAGC,yDAAqB,KAAK,SAAS;EACrD,MAAM,WAAW,IAAI,IAAI,OAAO;AAChC,MAAI,CAAC,SACH,KAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;MAEtB,UAAS,KAAK,IAAI;AAEpB,SAAO;IACN,SAAS"}
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.cjs";
2
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
3
+ import { Table } from "../../types/Table.cjs";
4
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
5
+ import { AggregationFn, AggregationFns } from "./columnGroupingFeature.types.cjs";
6
+
7
+ //#region src/features/column-grouping/createGroupedRowModel.d.ts
8
+ declare function createGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createGroupedRowModel };
11
+ //# sourceMappingURL=createGroupedRowModel.d.cts.map
@@ -0,0 +1,11 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { TableFeatures } from "../../types/TableFeatures.js";
3
+ import { Table } from "../../types/Table.js";
4
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
5
+ import { AggregationFn, AggregationFns } from "./columnGroupingFeature.types.js";
6
+
7
+ //#region src/features/column-grouping/createGroupedRowModel.d.ts
8
+ declare function createGroupedRowModel<TFeatures extends TableFeatures, TData extends RowData = any>(aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData>;
9
+ //#endregion
10
+ export { createGroupedRowModel };
11
+ //# sourceMappingURL=createGroupedRowModel.d.ts.map
@@ -0,0 +1,114 @@
1
+ import { flattenBy, tableMemo } from "../../utils.js";
2
+ import { table_getColumn } from "../../core/columns/coreColumnsFeature.utils.js";
3
+ import { constructRow } from "../../core/rows/constructRow.js";
4
+ import { table_autoResetPageIndex } from "../row-pagination/rowPaginationFeature.utils.js";
5
+ import { column_getAggregationFn, row_getGroupingValue } from "./columnGroupingFeature.utils.js";
6
+ import { table_autoResetExpanded } from "../row-expanding/rowExpandingFeature.utils.js";
7
+
8
+ //#region src/features/column-grouping/createGroupedRowModel.ts
9
+ function createGroupedRowModel(aggregationFns) {
10
+ return (_table) => {
11
+ const table = _table;
12
+ if (!table._rowModelFns.aggregationFns) table._rowModelFns.aggregationFns = aggregationFns;
13
+ return tableMemo({
14
+ feature: "columnGroupingFeature",
15
+ table,
16
+ fnName: "table.getGroupedRowModel",
17
+ memoDeps: () => {
18
+ var _table$atoms$grouping;
19
+ return [(_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(), table.getPreGroupedRowModel()];
20
+ },
21
+ fn: () => _createGroupedRowModel(table),
22
+ onAfterUpdate: () => {
23
+ table_autoResetExpanded(table);
24
+ table_autoResetPageIndex(table);
25
+ }
26
+ });
27
+ };
28
+ }
29
+ function _createGroupedRowModel(table) {
30
+ var _table$atoms$grouping2;
31
+ const rowModel = table.getPreGroupedRowModel();
32
+ const grouping = (_table$atoms$grouping2 = table.atoms.grouping) === null || _table$atoms$grouping2 === void 0 ? void 0 : _table$atoms$grouping2.get();
33
+ if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
34
+ rowModel.rows.forEach((row) => {
35
+ row.depth = 0;
36
+ row.parentId = void 0;
37
+ });
38
+ return rowModel;
39
+ }
40
+ const existingGrouping = grouping.filter((columnId) => table_getColumn(table, columnId));
41
+ const groupedFlatRows = [];
42
+ const groupedRowsById = {};
43
+ const groupUpRecursively = (rows, depth = 0, parentId) => {
44
+ if (depth >= existingGrouping.length) return rows.map((row) => {
45
+ row.depth = depth;
46
+ groupedFlatRows.push(row);
47
+ groupedRowsById[row.id] = row;
48
+ if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
49
+ return row;
50
+ });
51
+ const columnId = existingGrouping[depth];
52
+ const rowGroupsMap = groupBy(rows, columnId);
53
+ return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
54
+ let id = `${columnId}:${groupingValue}`;
55
+ id = parentId ? `${parentId}>${id}` : id;
56
+ const subRows = groupUpRecursively(groupedRows, depth + 1, id);
57
+ subRows.forEach((subRow) => {
58
+ subRow.parentId = id;
59
+ });
60
+ const leafRows = depth ? flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
61
+ const row = constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
62
+ Object.assign(row, {
63
+ groupingColumnId: columnId,
64
+ groupingValue,
65
+ subRows,
66
+ leafRows,
67
+ getValue: (colId) => {
68
+ var _row$_groupingValuesC;
69
+ if (existingGrouping.includes(colId)) {
70
+ if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
71
+ if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
72
+ return row._valuesCache[colId];
73
+ }
74
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
75
+ const aggregateFn = column_getAggregationFn(table.getColumn(colId));
76
+ if (!row._groupingValuesCache) row._groupingValuesCache = {};
77
+ if (aggregateFn) {
78
+ row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
79
+ return row._groupingValuesCache[colId];
80
+ }
81
+ }
82
+ });
83
+ subRows.forEach((subRow) => {
84
+ groupedFlatRows.push(subRow);
85
+ groupedRowsById[subRow.id] = subRow;
86
+ });
87
+ return row;
88
+ });
89
+ };
90
+ const groupedRows = groupUpRecursively(rowModel.rows, 0);
91
+ groupedRows.forEach((subRow) => {
92
+ groupedFlatRows.push(subRow);
93
+ groupedRowsById[subRow.id] = subRow;
94
+ });
95
+ return {
96
+ rows: groupedRows,
97
+ flatRows: groupedFlatRows,
98
+ rowsById: groupedRowsById
99
+ };
100
+ }
101
+ function groupBy(rows, columnId) {
102
+ const groupMap = /* @__PURE__ */ new Map();
103
+ return rows.reduce((map, row) => {
104
+ const resKey = `${row_getGroupingValue(row, columnId)}`;
105
+ const previous = map.get(resKey);
106
+ if (!previous) map.set(resKey, [row]);
107
+ else previous.push(row);
108
+ return map;
109
+ }, groupMap);
110
+ }
111
+
112
+ //#endregion
113
+ export { createGroupedRowModel };
114
+ //# sourceMappingURL=createGroupedRowModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createGroupedRowModel.js","names":[],"sources":["../../../src/features/column-grouping/createGroupedRowModel.ts"],"sourcesContent":["import { flattenBy, tableMemo } from '../../utils'\nimport { constructRow } from '../../core/rows/constructRow'\nimport { table_getColumn } from '../../core/columns/coreColumnsFeature.utils'\nimport { table_autoResetExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { table_autoResetPageIndex } from '../row-pagination/rowPaginationFeature.utils'\nimport {\n column_getAggregationFn,\n row_getGroupingValue,\n} from './columnGroupingFeature.utils'\nimport type { Column } from '../../types/Column'\nimport type {\n AggregationFn,\n AggregationFns,\n Row_ColumnGrouping,\n} from './columnGroupingFeature.types'\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\nexport function createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,\n): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {\n return (_table) => {\n const table: Table_Internal<TFeatures, TData> = _table\n if (!table._rowModelFns.aggregationFns)\n table._rowModelFns.aggregationFns = aggregationFns\n return tableMemo({\n feature: 'columnGroupingFeature',\n table,\n fnName: 'table.getGroupedRowModel',\n memoDeps: () => [\n table.atoms.grouping?.get(),\n table.getPreGroupedRowModel(),\n ],\n fn: () => _createGroupedRowModel(table),\n onAfterUpdate: () => {\n table_autoResetExpanded(table)\n table_autoResetPageIndex(table)\n },\n })\n }\n}\n\nfunction _createGroupedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n const rowModel = table.getPreGroupedRowModel()\n const grouping = table.atoms.grouping?.get()\n\n if (!rowModel.rows.length || !grouping?.length) {\n rowModel.rows.forEach((row) => {\n row.depth = 0\n row.parentId = undefined\n })\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter((columnId) =>\n table_getColumn(table, columnId),\n )\n\n const groupedFlatRows: Array<Row<TFeatures, TData>> &\n Partial<Row_ColumnGrouping> = []\n const groupedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n parentId?: string,\n ) => {\n // Grouping depth has been been met\n // Stop grouping and simply rewrite thd depth and row relationships\n if (depth >= existingGrouping.length) {\n return rows.map((row) => {\n row.depth = depth\n\n groupedFlatRows.push(row)\n groupedRowsById[row.id] = row\n\n if (row.subRows.length) {\n row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id)\n }\n\n return row\n })\n }\n\n const columnId = existingGrouping[depth] as string\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Perform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n subRows.forEach((subRow) => {\n subRow.parentId = id\n })\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, (row) => row.subRows)\n : groupedRows\n\n const row = constructRow(\n table,\n id,\n leafRows[0]!.original,\n index,\n depth,\n undefined,\n parentId,\n ) as Row<TFeatures, TData> & Partial<Row_ColumnGrouping>\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (colId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(colId)) {\n if (row._valuesCache.hasOwnProperty(colId)) {\n return row._valuesCache[colId]\n }\n\n if (groupedRows[0]) {\n row._valuesCache[colId] =\n groupedRows[0].getValue(colId) ?? undefined\n }\n\n return row._valuesCache[colId]\n }\n\n if (row._groupingValuesCache?.hasOwnProperty(colId)) {\n return row._groupingValuesCache[colId]\n }\n\n // Aggregate the values\n const column = table.getColumn(colId)\n const aggregateFn = column_getAggregationFn(\n column as Column<TFeatures, TData, unknown>,\n )\n\n if (!row._groupingValuesCache) row._groupingValuesCache = {}\n\n if (aggregateFn) {\n row._groupingValuesCache[colId] = aggregateFn(\n colId,\n leafRows,\n groupedRows,\n )\n\n return row._groupingValuesCache[colId]\n }\n },\n })\n\n subRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return row\n },\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0)\n\n groupedRows.forEach((subRow) => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n}\n\nfunction groupBy<TFeatures extends TableFeatures, TData extends RowData = any>(\n rows: Array<Row<TFeatures, TData>>,\n columnId: string,\n) {\n const groupMap = new Map<any, Array<Row<TFeatures, TData>>>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row_getGroupingValue(row, columnId)}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n previous.push(row)\n }\n return map\n }, groupMap)\n}\n"],"mappings":";;;;;;;;AAqBA,SAAgB,sBAId,gBACsE;AACtE,SAAQ,WAAW;EACjB,MAAM,QAA0C;AAChD,MAAI,CAAC,MAAM,aAAa,eACtB,OAAM,aAAa,iBAAiB;AACtC,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB;;qCACd,MAAM,MAAM,wFAAU,KAAK,EAC3B,MAAM,uBAAuB,CAC9B;;GACD,UAAU,uBAAuB,MAAM;GACvC,qBAAqB;AACnB,4BAAwB,MAAM;AAC9B,6BAAyB,MAAM;;GAElC,CAAC;;;AAIN,SAAS,uBAGP,OAAqE;;CACrE,MAAM,WAAW,MAAM,uBAAuB;CAC9C,MAAM,qCAAW,MAAM,MAAM,0FAAU,KAAK;AAE5C,KAAI,CAAC,SAAS,KAAK,UAAU,sDAAC,SAAU,SAAQ;AAC9C,WAAS,KAAK,SAAS,QAAQ;AAC7B,OAAI,QAAQ;AACZ,OAAI,WAAW;IACf;AACF,SAAO;;CAIT,MAAM,mBAAmB,SAAS,QAAQ,aACxC,gBAAgB,OAAO,SAAS,CACjC;CAED,MAAM,kBAC0B,EAAE;CAClC,MAAM,kBAAyD,EAAE;CAGjE,MAAM,sBACJ,MACA,QAAQ,GACR,aACG;AAGH,MAAI,SAAS,iBAAiB,OAC5B,QAAO,KAAK,KAAK,QAAQ;AACvB,OAAI,QAAQ;AAEZ,mBAAgB,KAAK,IAAI;AACzB,mBAAgB,IAAI,MAAM;AAE1B,OAAI,IAAI,QAAQ,OACd,KAAI,UAAU,mBAAmB,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG;AAGlE,UAAO;IACP;EAGJ,MAAM,WAAW,iBAAiB;EAGlC,MAAM,eAAe,QAAQ,MAAM,SAAS;AAmF5C,SAhF8B,MAAM,KAAK,aAAa,SAAS,CAAC,CAAC,KAC9D,CAAC,eAAe,cAAc,UAAU;GACvC,IAAI,KAAK,GAAG,SAAS,GAAG;AACxB,QAAK,WAAW,GAAG,SAAS,GAAG,OAAO;GAGtC,MAAM,UAAU,mBAAmB,aAAa,QAAQ,GAAG,GAAG;AAE9D,WAAQ,SAAS,WAAW;AAC1B,WAAO,WAAW;KAClB;GAGF,MAAM,WAAW,QACb,UAAU,cAAc,QAAQ,IAAI,QAAQ,GAC5C;GAEJ,MAAM,MAAM,aACV,OACA,IACA,SAAS,GAAI,UACb,OACA,OACA,QACA,SACD;AAED,UAAO,OAAO,KAAK;IACjB,kBAAkB;IAClB;IACA;IACA;IACA,WAAW,UAAkB;;AAE3B,SAAI,iBAAiB,SAAS,MAAM,EAAE;AACpC,UAAI,IAAI,aAAa,eAAe,MAAM,CACxC,QAAO,IAAI,aAAa;AAG1B,UAAI,YAAY,GACd,KAAI,aAAa,SACf,YAAY,GAAG,SAAS,MAAM,IAAI;AAGtC,aAAO,IAAI,aAAa;;AAG1B,kCAAI,IAAI,oGAAsB,eAAe,MAAM,CACjD,QAAO,IAAI,qBAAqB;KAKlC,MAAM,cAAc,wBADL,MAAM,UAAU,MAEvB,CACP;AAED,SAAI,CAAC,IAAI,qBAAsB,KAAI,uBAAuB,EAAE;AAE5D,SAAI,aAAa;AACf,UAAI,qBAAqB,SAAS,YAChC,OACA,UACA,YACD;AAED,aAAO,IAAI,qBAAqB;;;IAGrC,CAAC;AAEF,WAAQ,SAAS,WAAW;AAC1B,oBAAgB,KAAK,OAAO;AAC5B,oBAAgB,OAAO,MAAM;KAC7B;AAEF,UAAO;IAIiB;;CAG9B,MAAM,cAAc,mBAAmB,SAAS,MAAM,EAAE;AAExD,aAAY,SAAS,WAAW;AAC9B,kBAAgB,KAAK,OAAO;AAC5B,kBAAgB,OAAO,MAAM;GAC7B;AAEF,QAAO;EACL,MAAM;EACN,UAAU;EACV,UAAU;EACX;;AAGH,SAAS,QACP,MACA,UACA;CACA,MAAM,2BAAW,IAAI,KAAwC;AAE7D,QAAO,KAAK,QAAQ,KAAK,QAAQ;EAC/B,MAAM,SAAS,GAAG,qBAAqB,KAAK,SAAS;EACrD,MAAM,WAAW,IAAI,IAAI,OAAO;AAChC,MAAI,CAAC,SACH,KAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;MAEtB,UAAS,KAAK,IAAI;AAEpB,SAAO;IACN,SAAS"}
@@ -0,0 +1,61 @@
1
+ const require_utils = require('../../utils.cjs');
2
+ const require_columnOrderingFeature_utils = require('./columnOrderingFeature.utils.cjs');
3
+
4
+ //#region src/features/column-ordering/columnOrderingFeature.ts
5
+ function constructColumnOrderingFeature() {
6
+ return {
7
+ getInitialState: (initialState) => {
8
+ return {
9
+ columnOrder: require_columnOrderingFeature_utils.getDefaultColumnOrderState(),
10
+ ...initialState
11
+ };
12
+ },
13
+ getDefaultTableOptions: (table) => {
14
+ return { onColumnOrderChange: require_utils.makeStateUpdater("columnOrder", table) };
15
+ },
16
+ assignColumnPrototype: (prototype, table) => {
17
+ require_utils.assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
18
+ column_getIndex: {
19
+ fn: (column, position) => require_columnOrderingFeature_utils.column_getIndex(column, position),
20
+ memoDeps: (column, position) => {
21
+ var _column$table$atoms$c, _column$table$atoms$c2, _column$table$atoms$g;
22
+ return [
23
+ position,
24
+ (_column$table$atoms$c = column.table.atoms.columnOrder) === null || _column$table$atoms$c === void 0 ? void 0 : _column$table$atoms$c.get(),
25
+ (_column$table$atoms$c2 = column.table.atoms.columnPinning) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2.get(),
26
+ (_column$table$atoms$g = column.table.atoms.grouping) === null || _column$table$atoms$g === void 0 ? void 0 : _column$table$atoms$g.get()
27
+ ];
28
+ }
29
+ },
30
+ column_getIsFirstColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsFirstColumn(column, position) },
31
+ column_getIsLastColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsLastColumn(column, position) }
32
+ });
33
+ },
34
+ constructTableAPIs: (table) => {
35
+ require_utils.assignTableAPIs("columnOrderingFeature", table, {
36
+ table_setColumnOrder: { fn: (updater) => require_columnOrderingFeature_utils.table_setColumnOrder(table, updater) },
37
+ table_resetColumnOrder: { fn: (defaultState) => require_columnOrderingFeature_utils.table_resetColumnOrder(table, defaultState) },
38
+ table_getOrderColumnsFn: {
39
+ fn: () => require_columnOrderingFeature_utils.table_getOrderColumnsFn(table),
40
+ memoDeps: () => {
41
+ var _table$atoms$columnOr, _table$atoms$grouping;
42
+ return [
43
+ (_table$atoms$columnOr = table.atoms.columnOrder) === null || _table$atoms$columnOr === void 0 ? void 0 : _table$atoms$columnOr.get(),
44
+ (_table$atoms$grouping = table.atoms.grouping) === null || _table$atoms$grouping === void 0 ? void 0 : _table$atoms$grouping.get(),
45
+ table.options.groupedColumnMode
46
+ ];
47
+ }
48
+ }
49
+ });
50
+ }
51
+ };
52
+ }
53
+ /**
54
+ * The Column Ordering feature adds column ordering state and APIs to the table and column objects.
55
+ */
56
+ const columnOrderingFeature = constructColumnOrderingFeature();
57
+
58
+ //#endregion
59
+ exports.columnOrderingFeature = columnOrderingFeature;
60
+ exports.constructColumnOrderingFeature = constructColumnOrderingFeature;
61
+ //# sourceMappingURL=columnOrderingFeature.cjs.map