@tanstack/table-core 9.0.0-alpha.21 → 9.0.0-alpha.27

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 (708) 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 +64 -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 +63 -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/{esm/core → core}/coreFeatures.js +12 -10
  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 +61 -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 +60 -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 +65 -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 +60 -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 +69 -0
  115. package/dist/core/table/constructTable.cjs.map +1 -0
  116. package/dist/core/table/constructTable.d.cts +14 -0
  117. package/dist/core/table/constructTable.d.ts +14 -0
  118. package/dist/core/table/constructTable.js +67 -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 +113 -0
  127. package/dist/core/table/coreTablesFeature.types.d.ts +113 -0
  128. package/dist/core/table/coreTablesFeature.utils.cjs +23 -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 +21 -0
  133. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  134. package/dist/features/column-faceting/columnFacetingFeature.cjs +59 -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 +58 -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 +37 -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 +37 -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 +94 -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 +94 -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 +110 -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 +110 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +55 -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 +54 -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 +62 -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 +55 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  224. package/dist/features/column-pinning/columnPinningFeature.cjs +181 -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 +180 -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 +194 -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 +164 -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 +156 -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 +149 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  252. package/dist/features/column-sizing/columnSizingFeature.cjs +69 -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 +68 -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 +84 -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 +83 -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 +45 -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 +44 -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 +111 -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 +96 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  314. package/dist/features/row-pagination/createPaginatedRowModel.cjs +53 -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 +53 -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 +114 -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 +98 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  334. package/dist/features/row-pinning/rowPinningFeature.cjs +65 -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 +64 -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 +98 -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 +88 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  348. package/dist/features/row-selection/rowSelectionFeature.cjs +70 -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 +69 -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 +224 -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 +198 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  362. package/dist/features/row-sorting/createSortedRowModel.cjs +81 -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 +81 -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/{esm/features → features}/stockFeatures.js +20 -18
  387. package/dist/features/stockFeatures.js.map +1 -0
  388. package/dist/features/table-reactivity/tableReactivityFeature.cjs +24 -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 +23 -0
  393. package/dist/features/table-reactivity/tableReactivityFeature.js.map +1 -0
  394. package/dist/fns/aggregationFns.cjs +125 -0
  395. package/dist/fns/aggregationFns.cjs.map +1 -0
  396. package/dist/fns/aggregationFns.d.cts +54 -0
  397. package/dist/fns/aggregationFns.d.ts +54 -0
  398. package/dist/fns/aggregationFns.js +116 -0
  399. package/dist/fns/aggregationFns.js.map +1 -0
  400. package/dist/fns/filterFns.cjs +179 -0
  401. package/dist/fns/filterFns.cjs.map +1 -0
  402. package/dist/fns/filterFns.d.cts +81 -0
  403. package/dist/fns/filterFns.d.ts +81 -0
  404. package/dist/fns/filterFns.js +163 -0
  405. package/dist/fns/filterFns.js.map +1 -0
  406. package/dist/fns/sortFns.cjs +73 -0
  407. package/dist/fns/sortFns.cjs.map +1 -0
  408. package/dist/fns/sortFns.d.cts +22 -0
  409. package/dist/fns/sortFns.d.ts +22 -0
  410. package/dist/fns/sortFns.js +65 -0
  411. package/dist/fns/sortFns.js.map +1 -0
  412. package/dist/helpers/columnHelper.cjs +36 -0
  413. package/dist/helpers/columnHelper.cjs.map +1 -0
  414. package/dist/helpers/columnHelper.d.cts +66 -0
  415. package/dist/helpers/columnHelper.d.ts +66 -0
  416. package/dist/helpers/columnHelper.js +35 -0
  417. package/dist/helpers/columnHelper.js.map +1 -0
  418. package/dist/helpers/tableFeatures.cjs +20 -0
  419. package/dist/helpers/tableFeatures.cjs.map +1 -0
  420. package/dist/helpers/tableFeatures.d.cts +18 -0
  421. package/dist/{esm/helpers → helpers}/tableFeatures.d.ts +7 -2
  422. package/dist/helpers/tableFeatures.js +19 -0
  423. package/dist/helpers/tableFeatures.js.map +1 -0
  424. package/dist/helpers/tableHelper.cjs +21 -0
  425. package/dist/helpers/tableHelper.cjs.map +1 -0
  426. package/dist/helpers/tableHelper.d.cts +30 -0
  427. package/dist/helpers/tableHelper.d.ts +30 -0
  428. package/dist/helpers/tableHelper.js +21 -0
  429. package/dist/helpers/tableHelper.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 +420 -0
  437. package/dist/index.d.cts +100 -0
  438. package/dist/index.d.ts +100 -0
  439. package/dist/{esm/index.js → index.js} +42 -395
  440. package/dist/types/Cell.d.cts +16 -0
  441. package/dist/types/Cell.d.ts +16 -0
  442. package/dist/types/Column.d.cts +29 -0
  443. package/dist/types/Column.d.ts +29 -0
  444. package/dist/types/ColumnDef.d.cts +66 -0
  445. package/dist/types/ColumnDef.d.ts +66 -0
  446. package/dist/types/Header.d.cts +17 -0
  447. package/dist/types/Header.d.ts +17 -0
  448. package/dist/types/HeaderGroup.d.cts +15 -0
  449. package/dist/types/HeaderGroup.d.ts +15 -0
  450. package/dist/types/Row.d.cts +22 -0
  451. package/dist/types/Row.d.ts +22 -0
  452. package/dist/types/RowModel.d.cts +26 -0
  453. package/dist/types/RowModel.d.ts +26 -0
  454. package/dist/types/RowModelFns.d.cts +18 -0
  455. package/dist/types/RowModelFns.d.ts +18 -0
  456. package/dist/types/Table.d.cts +57 -0
  457. package/dist/types/Table.d.ts +57 -0
  458. package/dist/types/TableFeatures.d.cts +77 -0
  459. package/dist/types/TableFeatures.d.ts +77 -0
  460. package/dist/types/TableOptions.d.cts +39 -0
  461. package/dist/types/TableOptions.d.ts +39 -0
  462. package/dist/types/TableState.d.cts +27 -0
  463. package/dist/types/TableState.d.ts +27 -0
  464. package/dist/types/type-utils.d.cts +23 -0
  465. package/dist/types/type-utils.d.ts +23 -0
  466. package/dist/utils.cjs +210 -0
  467. package/dist/utils.cjs.map +1 -0
  468. package/dist/utils.d.cts +90 -0
  469. package/dist/utils.d.ts +90 -0
  470. package/dist/utils.js +196 -0
  471. package/dist/utils.js.map +1 -0
  472. package/package.json +8 -8
  473. package/src/features/column-pinning/columnPinningFeature.ts +3 -0
  474. package/src/features/column-visibility/columnVisibilityFeature.ts +2 -0
  475. package/src/process-env.d.ts +6 -0
  476. package/dist/esm/core/cells/constructCell.d.ts +0 -7
  477. package/dist/esm/core/cells/constructCell.js +0 -21
  478. package/dist/esm/core/cells/constructCell.js.map +0 -1
  479. package/dist/esm/core/cells/coreCellsFeature.d.ts +0 -10
  480. package/dist/esm/core/cells/coreCellsFeature.js +0 -26
  481. package/dist/esm/core/cells/coreCellsFeature.js.map +0 -1
  482. package/dist/esm/core/cells/coreCellsFeature.types.d.ts +0 -52
  483. package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +0 -13
  484. package/dist/esm/core/cells/coreCellsFeature.utils.js +0 -23
  485. package/dist/esm/core/cells/coreCellsFeature.utils.js.map +0 -1
  486. package/dist/esm/core/columns/constructColumn.d.ts +0 -6
  487. package/dist/esm/core/columns/constructColumn.js +0 -60
  488. package/dist/esm/core/columns/constructColumn.js.map +0 -1
  489. package/dist/esm/core/columns/coreColumnsFeature.d.ts +0 -10
  490. package/dist/esm/core/columns/coreColumnsFeature.js +0 -61
  491. package/dist/esm/core/columns/coreColumnsFeature.js.map +0 -1
  492. package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +0 -84
  493. package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +0 -13
  494. package/dist/esm/core/columns/coreColumnsFeature.utils.js +0 -91
  495. package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +0 -1
  496. package/dist/esm/core/coreFeatures.d.ts +0 -15
  497. package/dist/esm/core/coreFeatures.js.map +0 -1
  498. package/dist/esm/core/headers/buildHeaderGroups.d.ts +0 -6
  499. package/dist/esm/core/headers/buildHeaderGroups.js +0 -99
  500. package/dist/esm/core/headers/buildHeaderGroups.js.map +0 -1
  501. package/dist/esm/core/headers/constructHeader.d.ts +0 -12
  502. package/dist/esm/core/headers/constructHeader.js +0 -28
  503. package/dist/esm/core/headers/constructHeader.js.map +0 -1
  504. package/dist/esm/core/headers/coreHeadersFeature.d.ts +0 -10
  505. package/dist/esm/core/headers/coreHeadersFeature.js +0 -68
  506. package/dist/esm/core/headers/coreHeadersFeature.js.map +0 -1
  507. package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +0 -99
  508. package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +0 -15
  509. package/dist/esm/core/headers/coreHeadersFeature.utils.js +0 -85
  510. package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +0 -1
  511. package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +0 -10
  512. package/dist/esm/core/row-models/coreRowModelsFeature.js +0 -52
  513. package/dist/esm/core/row-models/coreRowModelsFeature.js.map +0 -1
  514. package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +0 -39
  515. package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +0 -16
  516. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +0 -85
  517. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  518. package/dist/esm/core/row-models/createCoreRowModel.d.ts +0 -5
  519. package/dist/esm/core/row-models/createCoreRowModel.js +0 -54
  520. package/dist/esm/core/row-models/createCoreRowModel.js.map +0 -1
  521. package/dist/esm/core/rows/constructRow.d.ts +0 -5
  522. package/dist/esm/core/rows/constructRow.js +0 -29
  523. package/dist/esm/core/rows/constructRow.js.map +0 -1
  524. package/dist/esm/core/rows/coreRowsFeature.d.ts +0 -10
  525. package/dist/esm/core/rows/coreRowsFeature.js +0 -52
  526. package/dist/esm/core/rows/coreRowsFeature.js.map +0 -1
  527. package/dist/esm/core/rows/coreRowsFeature.types.d.ts +0 -91
  528. package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +0 -15
  529. package/dist/esm/core/rows/coreRowsFeature.utils.js +0 -94
  530. package/dist/esm/core/rows/coreRowsFeature.utils.js.map +0 -1
  531. package/dist/esm/core/table/constructTable.d.ts +0 -9
  532. package/dist/esm/core/table/constructTable.js +0 -68
  533. package/dist/esm/core/table/constructTable.js.map +0 -1
  534. package/dist/esm/core/table/coreTablesFeature.d.ts +0 -10
  535. package/dist/esm/core/table/coreTablesFeature.js +0 -22
  536. package/dist/esm/core/table/coreTablesFeature.js.map +0 -1
  537. package/dist/esm/core/table/coreTablesFeature.types.d.ts +0 -109
  538. package/dist/esm/core/table/coreTablesFeature.utils.d.ts +0 -7
  539. package/dist/esm/core/table/coreTablesFeature.utils.js +0 -24
  540. package/dist/esm/core/table/coreTablesFeature.utils.js.map +0 -1
  541. package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +0 -10
  542. package/dist/esm/features/column-faceting/columnFacetingFeature.js +0 -80
  543. package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +0 -1
  544. package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +0 -68
  545. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +0 -11
  546. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +0 -33
  547. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  548. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +0 -4
  549. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +0 -41
  550. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  551. package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +0 -5
  552. package/dist/esm/features/column-faceting/createFacetedRowModel.js +0 -47
  553. package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +0 -1
  554. package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +0 -4
  555. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +0 -46
  556. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  557. package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +0 -11
  558. package/dist/esm/features/column-filtering/columnFilteringFeature.js +0 -69
  559. package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +0 -1
  560. package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +0 -145
  561. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +0 -16
  562. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +0 -118
  563. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  564. package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +0 -6
  565. package/dist/esm/features/column-filtering/createFilteredRowModel.js +0 -110
  566. package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +0 -1
  567. package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +0 -6
  568. package/dist/esm/features/column-filtering/filterRowsUtils.js +0 -95
  569. package/dist/esm/features/column-filtering/filterRowsUtils.js.map +0 -1
  570. package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +0 -10
  571. package/dist/esm/features/column-grouping/columnGroupingFeature.js +0 -91
  572. package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +0 -1
  573. package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +0 -153
  574. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +0 -22
  575. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +0 -99
  576. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  577. package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +0 -6
  578. package/dist/esm/features/column-grouping/createGroupedRowModel.js +0 -144
  579. package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +0 -1
  580. package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +0 -10
  581. package/dist/esm/features/column-ordering/columnOrderingFeature.js +0 -60
  582. package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +0 -1
  583. package/dist/esm/features/column-ordering/columnOrderingFeature.types.d.ts +0 -40
  584. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +0 -14
  585. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +0 -72
  586. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  587. package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +0 -10
  588. package/dist/esm/features/column-pinning/columnPinningFeature.js +0 -260
  589. package/dist/esm/features/column-pinning/columnPinningFeature.js.map +0 -1
  590. package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +0 -157
  591. package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +0 -39
  592. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +0 -325
  593. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  594. package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +0 -11
  595. package/dist/esm/features/column-resizing/columnResizingFeature.js +0 -52
  596. package/dist/esm/features/column-resizing/columnResizingFeature.js.map +0 -1
  597. package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +0 -68
  598. package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +0 -14
  599. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +0 -197
  600. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  601. package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +0 -11
  602. package/dist/esm/features/column-sizing/columnSizingFeature.js +0 -95
  603. package/dist/esm/features/column-sizing/columnSizingFeature.js.map +0 -1
  604. package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +0 -81
  605. package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +0 -25
  606. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +0 -128
  607. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  608. package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +0 -10
  609. package/dist/esm/features/column-visibility/columnVisibilityFeature.js +0 -100
  610. package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  611. package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +0 -84
  612. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +0 -22
  613. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +0 -105
  614. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  615. package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +0 -11
  616. package/dist/esm/features/global-filtering/globalFilteringFeature.js +0 -51
  617. package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +0 -1
  618. package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +0 -59
  619. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +0 -10
  620. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +0 -30
  621. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  622. package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +0 -6
  623. package/dist/esm/features/row-expanding/createExpandedRowModel.js +0 -49
  624. package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +0 -1
  625. package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +0 -10
  626. package/dist/esm/features/row-expanding/rowExpandingFeature.js +0 -74
  627. package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +0 -1
  628. package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +0 -116
  629. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +0 -20
  630. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +0 -125
  631. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  632. package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +0 -5
  633. package/dist/esm/features/row-pagination/createPaginatedRowModel.js +0 -58
  634. package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  635. package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +0 -10
  636. package/dist/esm/features/row-pagination/rowPaginationFeature.js +0 -78
  637. package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +0 -1
  638. package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +0 -119
  639. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +0 -21
  640. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +0 -126
  641. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  642. package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +0 -10
  643. package/dist/esm/features/row-pinning/rowPinningFeature.js +0 -80
  644. package/dist/esm/features/row-pinning/rowPinningFeature.js.map +0 -1
  645. package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +0 -72
  646. package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +0 -16
  647. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +0 -115
  648. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  649. package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +0 -10
  650. package/dist/esm/features/row-selection/rowSelectionFeature.js +0 -112
  651. package/dist/esm/features/row-selection/rowSelectionFeature.js.map +0 -1
  652. package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +0 -123
  653. package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +0 -34
  654. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +0 -290
  655. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  656. package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +0 -6
  657. package/dist/esm/features/row-sorting/createSortedRowModel.js +0 -94
  658. package/dist/esm/features/row-sorting/createSortedRowModel.js.map +0 -1
  659. package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +0 -10
  660. package/dist/esm/features/row-sorting/rowSortingFeature.js +0 -82
  661. package/dist/esm/features/row-sorting/rowSortingFeature.js.map +0 -1
  662. package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +0 -178
  663. package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +0 -20
  664. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +0 -181
  665. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  666. package/dist/esm/features/stockFeatures.d.ts +0 -31
  667. package/dist/esm/features/stockFeatures.js.map +0 -1
  668. package/dist/esm/features/table-reactivity/tableReactivityFeature.d.ts +0 -9
  669. package/dist/esm/features/table-reactivity/tableReactivityFeature.js +0 -30
  670. package/dist/esm/features/table-reactivity/tableReactivityFeature.js.map +0 -1
  671. package/dist/esm/fns/aggregationFns.d.ts +0 -49
  672. package/dist/esm/fns/aggregationFns.js +0 -110
  673. package/dist/esm/fns/aggregationFns.js.map +0 -1
  674. package/dist/esm/fns/filterFns.d.ts +0 -76
  675. package/dist/esm/fns/filterFns.js +0 -134
  676. package/dist/esm/fns/filterFns.js.map +0 -1
  677. package/dist/esm/fns/sortFns.d.ts +0 -17
  678. package/dist/esm/fns/sortFns.js +0 -97
  679. package/dist/esm/fns/sortFns.js.map +0 -1
  680. package/dist/esm/helpers/columnHelper.d.ts +0 -61
  681. package/dist/esm/helpers/columnHelper.js +0 -20
  682. package/dist/esm/helpers/columnHelper.js.map +0 -1
  683. package/dist/esm/helpers/tableFeatures.js +0 -7
  684. package/dist/esm/helpers/tableFeatures.js.map +0 -1
  685. package/dist/esm/helpers/tableHelper.d.ts +0 -25
  686. package/dist/esm/helpers/tableHelper.js +0 -13
  687. package/dist/esm/helpers/tableHelper.js.map +0 -1
  688. package/dist/esm/helpers/tableOptions.d.ts +0 -23
  689. package/dist/esm/helpers/tableOptions.js +0 -7
  690. package/dist/esm/helpers/tableOptions.js.map +0 -1
  691. package/dist/esm/index.d.ts +0 -111
  692. package/dist/esm/index.js.map +0 -1
  693. package/dist/esm/types/Cell.d.ts +0 -13
  694. package/dist/esm/types/Column.d.ts +0 -26
  695. package/dist/esm/types/ColumnDef.d.ts +0 -64
  696. package/dist/esm/types/Header.d.ts +0 -14
  697. package/dist/esm/types/HeaderGroup.d.ts +0 -12
  698. package/dist/esm/types/Row.d.ts +0 -19
  699. package/dist/esm/types/RowModel.d.ts +0 -23
  700. package/dist/esm/types/RowModelFns.d.ts +0 -15
  701. package/dist/esm/types/Table.d.ts +0 -53
  702. package/dist/esm/types/TableFeatures.d.ts +0 -77
  703. package/dist/esm/types/TableOptions.d.ts +0 -39
  704. package/dist/esm/types/TableState.d.ts +0 -23
  705. package/dist/esm/types/type-utils.d.ts +0 -22
  706. package/dist/esm/utils.d.ts +0 -72
  707. package/dist/esm/utils.js +0 -231
  708. package/dist/esm/utils.js.map +0 -1
@@ -0,0 +1,74 @@
1
+ import { 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 structuredClone([]);
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$store$s;
19
+ return !!((_column$table$store$s = column.table.store.state.grouping) === null || _column$table$store$s === void 0 ? void 0 : _column$table$store$s.includes(column.id));
20
+ }
21
+ function column_getGroupedIndex(column) {
22
+ var _column$table$store$s2;
23
+ return ((_column$table$store$s2 = column.table.store.state.grouping) === null || _column$table$store$s2 === void 0 ? void 0 : _column$table$store$s2.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 ? [] : 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 { 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 structuredClone([])\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.store.state.grouping?.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.store.state.grouping?.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 = column.table._rowModelFns.aggregationFns as\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined\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 = column.table._rowModelFns.aggregationFns as\n | Record<string, AggregationFn<TFeatures, TData>>\n | undefined\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 ? [] : (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,gBAAgB,EAAE,CAAC;;AAG5B,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,MAAM,wFAAU,SAAS,OAAO,GAAG;;AAGjE,SAAgB,uBAId,QAA2D;;AAC3D,mCAAO,OAAO,MAAM,MAAM,MAAM,0FAAU,QAAQ,OAAO,GAAG,KAAI;;AAGlE,SAAgB,gCAId,QAAmD;CACnD,MAAM,WAAW,mBAAmB,OAAO;AAE3C,cAAa;AACX,MAAI,CAAC,SAAU;AACf,wBAAsB,OAAO;;;AAIjC,SAAgB,4BAId,QAAmD;CACnD,MAAM,iBAAiB,OAAO,MAAM,aAAa;CAIjD,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,iBAAiB,OAAO,MAAM,aAAa;AAIjD,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,GAAI,MAAM,aAAa,YAAY,EAAE,CACvD;;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,110 @@
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: () => [table.store.state.grouping, table.getPreGroupedRowModel()],
18
+ fn: () => _createGroupedRowModel(table),
19
+ onAfterUpdate: () => {
20
+ require_rowExpandingFeature_utils.table_autoResetExpanded(table);
21
+ require_rowPaginationFeature_utils.table_autoResetPageIndex(table);
22
+ }
23
+ });
24
+ };
25
+ }
26
+ function _createGroupedRowModel(table) {
27
+ const rowModel = table.getPreGroupedRowModel();
28
+ const grouping = table.store.state.grouping;
29
+ if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
30
+ rowModel.rows.forEach((row) => {
31
+ row.depth = 0;
32
+ row.parentId = void 0;
33
+ });
34
+ return rowModel;
35
+ }
36
+ const existingGrouping = grouping.filter((columnId) => require_coreColumnsFeature_utils.table_getColumn(table, columnId));
37
+ const groupedFlatRows = [];
38
+ const groupedRowsById = {};
39
+ const groupUpRecursively = (rows, depth = 0, parentId) => {
40
+ if (depth >= existingGrouping.length) return rows.map((row) => {
41
+ row.depth = depth;
42
+ groupedFlatRows.push(row);
43
+ groupedRowsById[row.id] = row;
44
+ if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
45
+ return row;
46
+ });
47
+ const columnId = existingGrouping[depth];
48
+ const rowGroupsMap = groupBy(rows, columnId);
49
+ return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
50
+ let id = `${columnId}:${groupingValue}`;
51
+ id = parentId ? `${parentId}>${id}` : id;
52
+ const subRows = groupUpRecursively(groupedRows, depth + 1, id);
53
+ subRows.forEach((subRow) => {
54
+ subRow.parentId = id;
55
+ });
56
+ const leafRows = depth ? require_utils.flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
57
+ const row = require_constructRow.constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
58
+ Object.assign(row, {
59
+ groupingColumnId: columnId,
60
+ groupingValue,
61
+ subRows,
62
+ leafRows,
63
+ getValue: (colId) => {
64
+ var _row$_groupingValuesC;
65
+ if (existingGrouping.includes(colId)) {
66
+ if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
67
+ if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
68
+ return row._valuesCache[colId];
69
+ }
70
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
71
+ const aggregateFn = require_columnGroupingFeature_utils.column_getAggregationFn(table.getColumn(colId));
72
+ if (!row._groupingValuesCache) row._groupingValuesCache = {};
73
+ if (aggregateFn) {
74
+ row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
75
+ return row._groupingValuesCache[colId];
76
+ }
77
+ }
78
+ });
79
+ subRows.forEach((subRow) => {
80
+ groupedFlatRows.push(subRow);
81
+ groupedRowsById[subRow.id] = subRow;
82
+ });
83
+ return row;
84
+ });
85
+ };
86
+ const groupedRows = groupUpRecursively(rowModel.rows, 0);
87
+ groupedRows.forEach((subRow) => {
88
+ groupedFlatRows.push(subRow);
89
+ groupedRowsById[subRow.id] = subRow;
90
+ });
91
+ return {
92
+ rows: groupedRows,
93
+ flatRows: groupedFlatRows,
94
+ rowsById: groupedRowsById
95
+ };
96
+ }
97
+ function groupBy(rows, columnId) {
98
+ const groupMap = /* @__PURE__ */ new Map();
99
+ return rows.reduce((map, row) => {
100
+ const resKey = `${require_columnGroupingFeature_utils.row_getGroupingValue(row, columnId)}`;
101
+ const previous = map.get(resKey);
102
+ if (!previous) map.set(resKey, [row]);
103
+ else previous.push(row);
104
+ return map;
105
+ }, groupMap);
106
+ }
107
+
108
+ //#endregion
109
+ exports.createGroupedRowModel = createGroupedRowModel;
110
+ //# 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 as Table_Internal<TFeatures, TData>\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.store.state.grouping,\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.store.state.grouping\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,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,eACtB,OAAM,aAAa,iBAAiB;AACtC,SAAOA,wBAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CACd,MAAM,MAAM,MAAM,UAClB,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,WAAW,MAAM,MAAM,MAAM;AAEnC,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,MAAM,CAGpC;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;IAEV;;CAKH,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,110 @@
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: () => [table.store.state.grouping, table.getPreGroupedRowModel()],
18
+ fn: () => _createGroupedRowModel(table),
19
+ onAfterUpdate: () => {
20
+ table_autoResetExpanded(table);
21
+ table_autoResetPageIndex(table);
22
+ }
23
+ });
24
+ };
25
+ }
26
+ function _createGroupedRowModel(table) {
27
+ const rowModel = table.getPreGroupedRowModel();
28
+ const grouping = table.store.state.grouping;
29
+ if (!rowModel.rows.length || !(grouping === null || grouping === void 0 ? void 0 : grouping.length)) {
30
+ rowModel.rows.forEach((row) => {
31
+ row.depth = 0;
32
+ row.parentId = void 0;
33
+ });
34
+ return rowModel;
35
+ }
36
+ const existingGrouping = grouping.filter((columnId) => table_getColumn(table, columnId));
37
+ const groupedFlatRows = [];
38
+ const groupedRowsById = {};
39
+ const groupUpRecursively = (rows, depth = 0, parentId) => {
40
+ if (depth >= existingGrouping.length) return rows.map((row) => {
41
+ row.depth = depth;
42
+ groupedFlatRows.push(row);
43
+ groupedRowsById[row.id] = row;
44
+ if (row.subRows.length) row.subRows = groupUpRecursively(row.subRows, depth + 1, row.id);
45
+ return row;
46
+ });
47
+ const columnId = existingGrouping[depth];
48
+ const rowGroupsMap = groupBy(rows, columnId);
49
+ return Array.from(rowGroupsMap.entries()).map(([groupingValue, groupedRows], index) => {
50
+ let id = `${columnId}:${groupingValue}`;
51
+ id = parentId ? `${parentId}>${id}` : id;
52
+ const subRows = groupUpRecursively(groupedRows, depth + 1, id);
53
+ subRows.forEach((subRow) => {
54
+ subRow.parentId = id;
55
+ });
56
+ const leafRows = depth ? flattenBy(groupedRows, (row) => row.subRows) : groupedRows;
57
+ const row = constructRow(table, id, leafRows[0].original, index, depth, void 0, parentId);
58
+ Object.assign(row, {
59
+ groupingColumnId: columnId,
60
+ groupingValue,
61
+ subRows,
62
+ leafRows,
63
+ getValue: (colId) => {
64
+ var _row$_groupingValuesC;
65
+ if (existingGrouping.includes(colId)) {
66
+ if (row._valuesCache.hasOwnProperty(colId)) return row._valuesCache[colId];
67
+ if (groupedRows[0]) row._valuesCache[colId] = groupedRows[0].getValue(colId) ?? void 0;
68
+ return row._valuesCache[colId];
69
+ }
70
+ if ((_row$_groupingValuesC = row._groupingValuesCache) === null || _row$_groupingValuesC === void 0 ? void 0 : _row$_groupingValuesC.hasOwnProperty(colId)) return row._groupingValuesCache[colId];
71
+ const aggregateFn = column_getAggregationFn(table.getColumn(colId));
72
+ if (!row._groupingValuesCache) row._groupingValuesCache = {};
73
+ if (aggregateFn) {
74
+ row._groupingValuesCache[colId] = aggregateFn(colId, leafRows, groupedRows);
75
+ return row._groupingValuesCache[colId];
76
+ }
77
+ }
78
+ });
79
+ subRows.forEach((subRow) => {
80
+ groupedFlatRows.push(subRow);
81
+ groupedRowsById[subRow.id] = subRow;
82
+ });
83
+ return row;
84
+ });
85
+ };
86
+ const groupedRows = groupUpRecursively(rowModel.rows, 0);
87
+ groupedRows.forEach((subRow) => {
88
+ groupedFlatRows.push(subRow);
89
+ groupedRowsById[subRow.id] = subRow;
90
+ });
91
+ return {
92
+ rows: groupedRows,
93
+ flatRows: groupedFlatRows,
94
+ rowsById: groupedRowsById
95
+ };
96
+ }
97
+ function groupBy(rows, columnId) {
98
+ const groupMap = /* @__PURE__ */ new Map();
99
+ return rows.reduce((map, row) => {
100
+ const resKey = `${row_getGroupingValue(row, columnId)}`;
101
+ const previous = map.get(resKey);
102
+ if (!previous) map.set(resKey, [row]);
103
+ else previous.push(row);
104
+ return map;
105
+ }, groupMap);
106
+ }
107
+
108
+ //#endregion
109
+ export { createGroupedRowModel };
110
+ //# 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 as Table_Internal<TFeatures, TData>\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.store.state.grouping,\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.store.state.grouping\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,QAAQ;AACd,MAAI,CAAC,MAAM,aAAa,eACtB,OAAM,aAAa,iBAAiB;AACtC,SAAO,UAAU;GACf,SAAS;GACT;GACA,QAAQ;GACR,gBAAgB,CACd,MAAM,MAAM,MAAM,UAClB,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,WAAW,MAAM,MAAM,MAAM;AAEnC,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,MAAM,CAGpC;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;IAEV;;CAKH,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,55 @@
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
+ position,
22
+ column.table.store.state.columnOrder,
23
+ column.table.store.state.columnPinning,
24
+ column.table.store.state.grouping
25
+ ]
26
+ },
27
+ column_getIsFirstColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsFirstColumn(column, position) },
28
+ column_getIsLastColumn: { fn: (column, position) => require_columnOrderingFeature_utils.column_getIsLastColumn(column, position) }
29
+ });
30
+ },
31
+ constructTableAPIs: (table) => {
32
+ require_utils.assignTableAPIs("columnOrderingFeature", table, {
33
+ table_setColumnOrder: { fn: (updater) => require_columnOrderingFeature_utils.table_setColumnOrder(table, updater) },
34
+ table_resetColumnOrder: { fn: (defaultState) => require_columnOrderingFeature_utils.table_resetColumnOrder(table, defaultState) },
35
+ table_getOrderColumnsFn: {
36
+ fn: () => require_columnOrderingFeature_utils.table_getOrderColumnsFn(table),
37
+ memoDeps: () => [
38
+ table.store.state.columnOrder,
39
+ table.store.state.grouping,
40
+ table.options.groupedColumnMode
41
+ ]
42
+ }
43
+ });
44
+ }
45
+ };
46
+ }
47
+ /**
48
+ * The Column Ordering feature adds column ordering state and APIs to the table and column objects.
49
+ */
50
+ const columnOrderingFeature = constructColumnOrderingFeature();
51
+
52
+ //#endregion
53
+ exports.columnOrderingFeature = columnOrderingFeature;
54
+ exports.constructColumnOrderingFeature = constructColumnOrderingFeature;
55
+ //# sourceMappingURL=columnOrderingFeature.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnOrderingFeature.cjs","names":["getDefaultColumnOrderState","makeStateUpdater","column_getIndex","column_getIsFirstColumn","column_getIsLastColumn","table_setColumnOrder","table_resetColumnOrder","table_getOrderColumnsFn"],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"mappings":";;;;AAiCA,SAAgB,iCAGuD;AACrE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,aAAaA,gEAA4B;IACzC,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO,EACL,qBAAqBC,+BAAiB,eAAe,MAAM,EAC5D;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,yBAAyB,WAAW,OAAO;IAC7D,iBAAiB;KACf,KAAK,QAAQ,aAAaC,oDAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;MAC9B;MACA,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MAC1B;KACF;IACD,yBAAyB,EACvB,KAAK,QAAQ,aAAaC,4DAAwB,QAAQ,SAAS,EACpE;IACD,wBAAwB,EACtB,KAAK,QAAQ,aAAaC,2DAAuB,QAAQ,SAAS,EACnE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,yBAAyB,OAAO;IAC9C,sBAAsB,EACpB,KAAK,YAAYC,yDAAqB,OAAO,QAAQ,EACtD;IACD,wBAAwB,EACtB,KAAK,iBAAiBC,2DAAuB,OAAO,aAAa,EAClE;IACD,yBAAyB;KACvB,UAAUC,4DAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
@@ -0,0 +1,13 @@
1
+ import { RowData } from "../../types/type-utils.cjs";
2
+ import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
3
+
4
+ //#region src/features/column-ordering/columnOrderingFeature.d.ts
5
+ interface ColumnOrderingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ declare function constructColumnOrderingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>>;
7
+ /**
8
+ * The Column Ordering feature adds column ordering state and APIs to the table and column objects.
9
+ */
10
+ declare const columnOrderingFeature: TableFeature<ColumnOrderingFeatureConstructors<TableFeatures, RowData>>;
11
+ //#endregion
12
+ export { columnOrderingFeature, constructColumnOrderingFeature };
13
+ //# sourceMappingURL=columnOrderingFeature.d.cts.map
@@ -0,0 +1,13 @@
1
+ import { RowData } from "../../types/type-utils.js";
2
+ import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
3
+
4
+ //#region src/features/column-ordering/columnOrderingFeature.d.ts
5
+ interface ColumnOrderingFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ declare function constructColumnOrderingFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>>;
7
+ /**
8
+ * The Column Ordering feature adds column ordering state and APIs to the table and column objects.
9
+ */
10
+ declare const columnOrderingFeature: TableFeature<ColumnOrderingFeatureConstructors<TableFeatures, RowData>>;
11
+ //#endregion
12
+ export { columnOrderingFeature, constructColumnOrderingFeature };
13
+ //# sourceMappingURL=columnOrderingFeature.d.ts.map
@@ -0,0 +1,54 @@
1
+ import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../utils.js";
2
+ import { column_getIndex, column_getIsFirstColumn, column_getIsLastColumn, getDefaultColumnOrderState, table_getOrderColumnsFn, table_resetColumnOrder, table_setColumnOrder } from "./columnOrderingFeature.utils.js";
3
+
4
+ //#region src/features/column-ordering/columnOrderingFeature.ts
5
+ function constructColumnOrderingFeature() {
6
+ return {
7
+ getInitialState: (initialState) => {
8
+ return {
9
+ columnOrder: getDefaultColumnOrderState(),
10
+ ...initialState
11
+ };
12
+ },
13
+ getDefaultTableOptions: (table) => {
14
+ return { onColumnOrderChange: makeStateUpdater("columnOrder", table) };
15
+ },
16
+ assignColumnPrototype: (prototype, table) => {
17
+ assignPrototypeAPIs("columnOrderingFeature", prototype, table, {
18
+ column_getIndex: {
19
+ fn: (column, position) => column_getIndex(column, position),
20
+ memoDeps: (column, position) => [
21
+ position,
22
+ column.table.store.state.columnOrder,
23
+ column.table.store.state.columnPinning,
24
+ column.table.store.state.grouping
25
+ ]
26
+ },
27
+ column_getIsFirstColumn: { fn: (column, position) => column_getIsFirstColumn(column, position) },
28
+ column_getIsLastColumn: { fn: (column, position) => column_getIsLastColumn(column, position) }
29
+ });
30
+ },
31
+ constructTableAPIs: (table) => {
32
+ assignTableAPIs("columnOrderingFeature", table, {
33
+ table_setColumnOrder: { fn: (updater) => table_setColumnOrder(table, updater) },
34
+ table_resetColumnOrder: { fn: (defaultState) => table_resetColumnOrder(table, defaultState) },
35
+ table_getOrderColumnsFn: {
36
+ fn: () => table_getOrderColumnsFn(table),
37
+ memoDeps: () => [
38
+ table.store.state.columnOrder,
39
+ table.store.state.grouping,
40
+ table.options.groupedColumnMode
41
+ ]
42
+ }
43
+ });
44
+ }
45
+ };
46
+ }
47
+ /**
48
+ * The Column Ordering feature adds column ordering state and APIs to the table and column objects.
49
+ */
50
+ const columnOrderingFeature = constructColumnOrderingFeature();
51
+
52
+ //#endregion
53
+ export { columnOrderingFeature, constructColumnOrderingFeature };
54
+ //# sourceMappingURL=columnOrderingFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnOrderingFeature.js","names":[],"sources":["../../../src/features/column-ordering/columnOrderingFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n column_getIndex,\n column_getIsFirstColumn,\n column_getIsLastColumn,\n getDefaultColumnOrderState,\n table_getOrderColumnsFn,\n table_resetColumnOrder,\n table_setColumnOrder,\n} from './columnOrderingFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Column_ColumnOrdering,\n// TableOptions_ColumnOrdering,\n// TableState_ColumnOrdering,\n// Table_ColumnOrdering,\n// } from './columnOrderingFeature.types'\n\ninterface ColumnOrderingFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Column: Column_ColumnOrdering\n // Table: Table_ColumnOrdering<TFeatures, TData>\n // TableOptions: TableOptions_ColumnOrdering\n // TableState: TableState_ColumnOrdering\n}\n\nexport function constructColumnOrderingFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n columnOrder: getDefaultColumnOrderState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onColumnOrderChange: makeStateUpdater('columnOrder', table),\n }\n },\n\n assignColumnPrototype: (prototype, table) => {\n assignPrototypeAPIs('columnOrderingFeature', prototype, table, {\n column_getIndex: {\n fn: (column, position) => column_getIndex(column, position),\n memoDeps: (column, position) => [\n position,\n column.table.store.state.columnOrder,\n column.table.store.state.columnPinning,\n column.table.store.state.grouping,\n ],\n },\n column_getIsFirstColumn: {\n fn: (column, position) => column_getIsFirstColumn(column, position),\n },\n column_getIsLastColumn: {\n fn: (column, position) => column_getIsLastColumn(column, position),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('columnOrderingFeature', table, {\n table_setColumnOrder: {\n fn: (updater) => table_setColumnOrder(table, updater),\n },\n table_resetColumnOrder: {\n fn: (defaultState) => table_resetColumnOrder(table, defaultState),\n },\n table_getOrderColumnsFn: {\n fn: () => table_getOrderColumnsFn(table),\n memoDeps: () => [\n table.store.state.columnOrder,\n table.store.state.grouping,\n table.options.groupedColumnMode,\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Column Ordering feature adds column ordering state and APIs to the table and column objects.\n */\nexport const columnOrderingFeature = constructColumnOrderingFeature()\n"],"mappings":";;;;AAiCA,SAAgB,iCAGuD;AACrE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,aAAa,4BAA4B;IACzC,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO,EACL,qBAAqB,iBAAiB,eAAe,MAAM,EAC5D;;EAGH,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,yBAAyB,WAAW,OAAO;IAC7D,iBAAiB;KACf,KAAK,QAAQ,aAAa,gBAAgB,QAAQ,SAAS;KAC3D,WAAW,QAAQ,aAAa;MAC9B;MACA,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MACzB,OAAO,MAAM,MAAM,MAAM;MAC1B;KACF;IACD,yBAAyB,EACvB,KAAK,QAAQ,aAAa,wBAAwB,QAAQ,SAAS,EACpE;IACD,wBAAwB,EACtB,KAAK,QAAQ,aAAa,uBAAuB,QAAQ,SAAS,EACnE;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,yBAAyB,OAAO;IAC9C,sBAAsB,EACpB,KAAK,YAAY,qBAAqB,OAAO,QAAQ,EACtD;IACD,wBAAwB,EACtB,KAAK,iBAAiB,uBAAuB,OAAO,aAAa,EAClE;IACD,yBAAyB;KACvB,UAAU,wBAAwB,MAAM;KACxC,gBAAgB;MACd,MAAM,MAAM,MAAM;MAClB,MAAM,MAAM,MAAM;MAClB,MAAM,QAAQ;MACf;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,wBAAwB,gCAAgC"}
@@ -0,0 +1,45 @@
1
+ import { OnChangeFn, RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.cjs";
3
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
4
+
5
+ //#region src/features/column-ordering/columnOrderingFeature.types.d.ts
6
+ type ColumnOrderState = Array<string>;
7
+ interface TableState_ColumnOrdering {
8
+ columnOrder: ColumnOrderState;
9
+ }
10
+ interface TableOptions_ColumnOrdering {
11
+ /**
12
+ * If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
13
+ */
14
+ onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
15
+ }
16
+ interface Column_ColumnOrdering {
17
+ /**
18
+ * Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
19
+ */
20
+ getIndex: (position?: ColumnPinningPosition | 'center') => number;
21
+ /**
22
+ * Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
23
+ */
24
+ getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
25
+ /**
26
+ * Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
27
+ */
28
+ getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
29
+ }
30
+ interface ColumnOrderDefaultOptions {
31
+ onColumnOrderChange: OnChangeFn<ColumnOrderState>;
32
+ }
33
+ interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
34
+ /**
35
+ * Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
36
+ */
37
+ resetColumnOrder: (defaultState?: boolean) => void;
38
+ /**
39
+ * Sets or updates the `state.columnOrder` state.
40
+ */
41
+ setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
42
+ }
43
+ //#endregion
44
+ export { ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering };
45
+ //# sourceMappingURL=columnOrderingFeature.types.d.cts.map
@@ -0,0 +1,45 @@
1
+ import { OnChangeFn, RowData, Updater } from "../../types/type-utils.js";
2
+ import { ColumnPinningPosition } from "../column-pinning/columnPinningFeature.types.js";
3
+ import { TableFeatures } from "../../types/TableFeatures.js";
4
+
5
+ //#region src/features/column-ordering/columnOrderingFeature.types.d.ts
6
+ type ColumnOrderState = Array<string>;
7
+ interface TableState_ColumnOrdering {
8
+ columnOrder: ColumnOrderState;
9
+ }
10
+ interface TableOptions_ColumnOrdering {
11
+ /**
12
+ * If provided, this function will be called with an `updaterFn` when `state.columnOrder` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
13
+ */
14
+ onColumnOrderChange?: OnChangeFn<ColumnOrderState>;
15
+ }
16
+ interface Column_ColumnOrdering {
17
+ /**
18
+ * Returns the index of the column in the order of the visible columns. Optionally pass a `position` parameter to get the index of the column in a sub-section of the table
19
+ */
20
+ getIndex: (position?: ColumnPinningPosition | 'center') => number;
21
+ /**
22
+ * Returns `true` if the column is the first column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the first in a sub-section of the table.
23
+ */
24
+ getIsFirstColumn: (position?: ColumnPinningPosition | 'center') => boolean;
25
+ /**
26
+ * Returns `true` if the column is the last column in the order of the visible columns. Optionally pass a `position` parameter to check if the column is the last in a sub-section of the table.
27
+ */
28
+ getIsLastColumn: (position?: ColumnPinningPosition | 'center') => boolean;
29
+ }
30
+ interface ColumnOrderDefaultOptions {
31
+ onColumnOrderChange: OnChangeFn<ColumnOrderState>;
32
+ }
33
+ interface Table_ColumnOrdering<TFeatures extends TableFeatures, TData extends RowData> {
34
+ /**
35
+ * Resets the **columnOrder** state to `initialState.columnOrder`, or `true` can be passed to force a default blank state reset to `[]`.
36
+ */
37
+ resetColumnOrder: (defaultState?: boolean) => void;
38
+ /**
39
+ * Sets or updates the `state.columnOrder` state.
40
+ */
41
+ setColumnOrder: (updater: Updater<ColumnOrderState>) => void;
42
+ }
43
+ //#endregion
44
+ export { ColumnOrderDefaultOptions, ColumnOrderState, Column_ColumnOrdering, TableOptions_ColumnOrdering, TableState_ColumnOrdering, Table_ColumnOrdering };
45
+ //# sourceMappingURL=columnOrderingFeature.types.d.ts.map