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

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 (862) hide show
  1. package/README.md +127 -0
  2. package/dist/core/cells/constructCell.cjs +34 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +17 -0
  5. package/dist/core/cells/constructCell.d.ts +17 -0
  6. package/dist/core/cells/constructCell.js +33 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +21 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +10 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +10 -0
  12. package/dist/core/cells/coreCellsFeature.js +21 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +57 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +53 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +53 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +54 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +61 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +16 -0
  25. package/dist/core/columns/constructColumn.d.ts +16 -0
  26. package/dist/core/columns/constructColumn.js +60 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +10 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +10 -0
  32. package/dist/core/columns/coreColumnsFeature.js +70 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +94 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +94 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +187 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +119 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +119 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +179 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +25 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +26 -0
  45. package/dist/core/coreFeatures.d.ts +26 -0
  46. package/dist/core/coreFeatures.js +25 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +103 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +16 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +16 -0
  52. package/dist/core/headers/buildHeaderGroups.js +103 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +41 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +22 -0
  57. package/dist/core/headers/constructHeader.d.ts +22 -0
  58. package/dist/core/headers/constructHeader.js +40 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +55 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +10 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +10 -0
  64. package/dist/core/headers/coreHeadersFeature.js +55 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +106 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +106 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +142 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +85 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +85 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +137 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +48 -0
  75. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +48 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +24 -0
  77. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -0
  78. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +24 -0
  79. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +24 -0
  80. package/dist/core/reactivity/coreReactivityFeature.utils.js +23 -0
  81. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -0
  82. package/dist/core/row-models/coreRowModelsFeature.cjs +27 -0
  83. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  84. package/dist/core/row-models/coreRowModelsFeature.d.cts +10 -0
  85. package/dist/core/row-models/coreRowModelsFeature.d.ts +10 -0
  86. package/dist/core/row-models/coreRowModelsFeature.js +27 -0
  87. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +33 -0
  89. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +33 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +215 -0
  91. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  92. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +153 -0
  93. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +153 -0
  94. package/dist/core/row-models/coreRowModelsFeature.utils.js +204 -0
  95. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  96. package/dist/core/row-models/createCoreRowModel.cjs +52 -0
  97. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  98. package/dist/core/row-models/createCoreRowModel.d.cts +15 -0
  99. package/dist/core/row-models/createCoreRowModel.d.ts +15 -0
  100. package/dist/core/row-models/createCoreRowModel.js +52 -0
  101. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  102. package/dist/core/rows/constructRow.cjs +44 -0
  103. package/dist/core/rows/constructRow.cjs.map +1 -0
  104. package/dist/core/rows/constructRow.d.cts +15 -0
  105. package/dist/core/rows/constructRow.d.ts +15 -0
  106. package/dist/core/rows/constructRow.js +43 -0
  107. package/dist/core/rows/constructRow.js.map +1 -0
  108. package/dist/core/rows/coreRowsFeature.cjs +37 -0
  109. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  110. package/dist/core/rows/coreRowsFeature.d.cts +10 -0
  111. package/dist/core/rows/coreRowsFeature.d.ts +10 -0
  112. package/dist/core/rows/coreRowsFeature.js +37 -0
  113. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  114. package/dist/core/rows/coreRowsFeature.types.d.cts +99 -0
  115. package/dist/core/rows/coreRowsFeature.types.d.ts +99 -0
  116. package/dist/core/rows/coreRowsFeature.utils.cjs +192 -0
  117. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  118. package/dist/core/rows/coreRowsFeature.utils.d.cts +127 -0
  119. package/dist/core/rows/coreRowsFeature.utils.d.ts +127 -0
  120. package/dist/core/rows/coreRowsFeature.utils.js +183 -0
  121. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  122. package/dist/core/table/constructTable.cjs +133 -0
  123. package/dist/core/table/constructTable.cjs.map +1 -0
  124. package/dist/core/table/constructTable.d.cts +22 -0
  125. package/dist/core/table/constructTable.d.ts +22 -0
  126. package/dist/core/table/constructTable.js +132 -0
  127. package/dist/core/table/constructTable.js.map +1 -0
  128. package/dist/core/table/coreTablesFeature.cjs +17 -0
  129. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  130. package/dist/core/table/coreTablesFeature.d.cts +10 -0
  131. package/dist/core/table/coreTablesFeature.d.ts +10 -0
  132. package/dist/core/table/coreTablesFeature.js +17 -0
  133. package/dist/core/table/coreTablesFeature.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.types.d.cts +198 -0
  135. package/dist/core/table/coreTablesFeature.types.d.ts +198 -0
  136. package/dist/core/table/coreTablesFeature.utils.cjs +95 -0
  137. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  138. package/dist/core/table/coreTablesFeature.utils.d.cts +57 -0
  139. package/dist/core/table/coreTablesFeature.utils.d.ts +57 -0
  140. package/dist/core/table/coreTablesFeature.utils.js +92 -0
  141. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  142. package/dist/features/column-faceting/columnFacetingFeature.cjs +61 -0
  143. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.d.cts +10 -0
  145. package/dist/features/column-faceting/columnFacetingFeature.d.ts +10 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.js +61 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +64 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +64 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +103 -0
  151. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  152. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +84 -0
  153. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +84 -0
  154. package/dist/features/column-faceting/columnFacetingFeature.utils.js +97 -0
  155. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +44 -0
  157. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  158. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +14 -0
  159. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +14 -0
  160. package/dist/features/column-faceting/createFacetedMinMaxValues.js +44 -0
  161. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  162. package/dist/features/column-faceting/createFacetedRowModel.cjs +50 -0
  163. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  164. package/dist/features/column-faceting/createFacetedRowModel.d.cts +15 -0
  165. package/dist/features/column-faceting/createFacetedRowModel.d.ts +15 -0
  166. package/dist/features/column-faceting/createFacetedRowModel.js +50 -0
  167. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  168. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +41 -0
  169. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  170. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +14 -0
  171. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +14 -0
  172. package/dist/features/column-faceting/createFacetedUniqueValues.js +41 -0
  173. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  174. package/dist/features/column-filtering/columnFilteringFeature.cjs +50 -0
  175. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  176. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -0
  177. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.js +50 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +174 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +174 -0
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +212 -0
  183. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  184. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +143 -0
  185. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +143 -0
  186. package/dist/features/column-filtering/columnFilteringFeature.utils.js +202 -0
  187. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  188. package/dist/features/column-filtering/createFilteredRowModel.cjs +112 -0
  189. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  190. package/dist/features/column-filtering/createFilteredRowModel.d.cts +18 -0
  191. package/dist/features/column-filtering/createFilteredRowModel.d.ts +18 -0
  192. package/dist/features/column-filtering/createFilteredRowModel.js +112 -0
  193. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  194. package/dist/features/column-filtering/filterRowsUtils.cjs +81 -0
  195. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  196. package/dist/features/column-filtering/filterRowsUtils.js +81 -0
  197. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  198. package/dist/features/column-grouping/columnGroupingFeature.cjs +67 -0
  199. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.d.cts +10 -0
  201. package/dist/features/column-grouping/columnGroupingFeature.d.ts +10 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.js +67 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +169 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +169 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +250 -0
  207. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  208. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +190 -0
  209. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +190 -0
  210. package/dist/features/column-grouping/columnGroupingFeature.utils.js +236 -0
  211. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.cjs +122 -0
  213. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  214. package/dist/features/column-grouping/createGroupedRowModel.d.cts +19 -0
  215. package/dist/features/column-grouping/createGroupedRowModel.d.ts +19 -0
  216. package/dist/features/column-grouping/createGroupedRowModel.js +122 -0
  217. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  218. package/dist/features/column-ordering/columnOrderingFeature.cjs +58 -0
  219. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  220. package/dist/features/column-ordering/columnOrderingFeature.d.cts +10 -0
  221. package/dist/features/column-ordering/columnOrderingFeature.d.ts +10 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.js +58 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +56 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +56 -0
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +172 -0
  227. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  228. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +107 -0
  229. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +107 -0
  230. package/dist/features/column-ordering/columnOrderingFeature.utils.js +165 -0
  231. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  232. package/dist/features/column-pinning/columnPinningFeature.cjs +221 -0
  233. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  234. package/dist/features/column-pinning/columnPinningFeature.d.cts +10 -0
  235. package/dist/features/column-pinning/columnPinningFeature.d.ts +10 -0
  236. package/dist/features/column-pinning/columnPinningFeature.js +221 -0
  237. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  238. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +178 -0
  239. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +178 -0
  240. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +585 -0
  241. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  242. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +375 -0
  243. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +375 -0
  244. package/dist/features/column-pinning/columnPinningFeature.utils.js +555 -0
  245. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  246. package/dist/features/column-resizing/columnResizingFeature.cjs +41 -0
  247. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  248. package/dist/features/column-resizing/columnResizingFeature.d.cts +10 -0
  249. package/dist/features/column-resizing/columnResizingFeature.d.ts +10 -0
  250. package/dist/features/column-resizing/columnResizingFeature.js +41 -0
  251. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  252. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +246 -0
  255. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  256. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +109 -0
  257. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +109 -0
  258. package/dist/features/column-resizing/columnResizingFeature.utils.js +239 -0
  259. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  260. package/dist/features/column-sizing/columnSizingFeature.cjs +124 -0
  261. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  262. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -0
  263. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -0
  264. package/dist/features/column-sizing/columnSizingFeature.js +124 -0
  265. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  266. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +96 -0
  267. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +96 -0
  268. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +256 -0
  269. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  270. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +182 -0
  271. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +182 -0
  272. package/dist/features/column-sizing/columnSizingFeature.utils.js +243 -0
  273. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  274. package/dist/features/column-visibility/columnVisibilityFeature.cjs +94 -0
  275. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  276. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +10 -0
  277. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
  278. package/dist/features/column-visibility/columnVisibilityFeature.js +94 -0
  279. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  280. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +97 -0
  281. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +97 -0
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +283 -0
  283. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  284. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +189 -0
  285. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +189 -0
  286. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +269 -0
  287. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  288. package/dist/features/global-filtering/globalFilteringFeature.cjs +41 -0
  289. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.d.cts +10 -0
  291. package/dist/features/global-filtering/globalFilteringFeature.d.ts +10 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.js +41 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +71 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +71 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +88 -0
  297. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  298. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +74 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +74 -0
  300. package/dist/features/global-filtering/globalFilteringFeature.utils.js +84 -0
  301. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.cjs +59 -0
  303. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  304. package/dist/features/row-expanding/createExpandedRowModel.d.cts +21 -0
  305. package/dist/features/row-expanding/createExpandedRowModel.d.ts +21 -0
  306. package/dist/features/row-expanding/createExpandedRowModel.js +58 -0
  307. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  308. package/dist/features/row-expanding/rowExpandingFeature.cjs +47 -0
  309. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.d.cts +10 -0
  311. package/dist/features/row-expanding/rowExpandingFeature.d.ts +10 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.js +47 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +118 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +118 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +281 -0
  317. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  318. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +191 -0
  319. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +191 -0
  320. package/dist/features/row-expanding/rowExpandingFeature.utils.js +267 -0
  321. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.cjs +62 -0
  323. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  324. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +15 -0
  325. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +15 -0
  326. package/dist/features/row-pagination/createPaginatedRowModel.js +62 -0
  327. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  328. package/dist/features/row-pagination/rowPaginationFeature.cjs +45 -0
  329. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.d.cts +10 -0
  331. package/dist/features/row-pagination/rowPaginationFeature.d.ts +10 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.js +45 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +126 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +126 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +312 -0
  337. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  338. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +218 -0
  339. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +218 -0
  340. package/dist/features/row-pagination/rowPaginationFeature.utils.js +296 -0
  341. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  342. package/dist/features/row-pinning/rowPinningFeature.cjs +67 -0
  343. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  344. package/dist/features/row-pinning/rowPinningFeature.d.cts +10 -0
  345. package/dist/features/row-pinning/rowPinningFeature.d.ts +10 -0
  346. package/dist/features/row-pinning/rowPinningFeature.js +67 -0
  347. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  348. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +83 -0
  349. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +83 -0
  350. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +229 -0
  351. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  352. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +143 -0
  353. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +143 -0
  354. package/dist/features/row-pinning/rowPinningFeature.utils.js +219 -0
  355. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  356. package/dist/features/row-selection/rowSelectionFeature.cjs +75 -0
  357. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  358. package/dist/features/row-selection/rowSelectionFeature.d.cts +10 -0
  359. package/dist/features/row-selection/rowSelectionFeature.d.ts +10 -0
  360. package/dist/features/row-selection/rowSelectionFeature.js +75 -0
  361. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  362. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +136 -0
  363. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +136 -0
  364. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +518 -0
  365. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  366. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +318 -0
  367. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +318 -0
  368. package/dist/features/row-selection/rowSelectionFeature.utils.js +493 -0
  369. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  370. package/dist/features/row-sorting/createSortedRowModel.cjs +97 -0
  371. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  372. package/dist/features/row-sorting/createSortedRowModel.d.cts +18 -0
  373. package/dist/features/row-sorting/createSortedRowModel.d.ts +18 -0
  374. package/dist/features/row-sorting/createSortedRowModel.js +97 -0
  375. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  376. package/dist/features/row-sorting/rowSortingFeature.cjs +55 -0
  377. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  378. package/dist/features/row-sorting/rowSortingFeature.d.cts +10 -0
  379. package/dist/features/row-sorting/rowSortingFeature.d.ts +10 -0
  380. package/dist/features/row-sorting/rowSortingFeature.js +55 -0
  381. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +191 -0
  383. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +191 -0
  384. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +305 -0
  385. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  386. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +193 -0
  387. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +193 -0
  388. package/dist/features/row-sorting/rowSortingFeature.utils.js +291 -0
  389. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  390. package/dist/features/stockFeatures.cjs +41 -0
  391. package/dist/features/stockFeatures.cjs.map +1 -0
  392. package/dist/features/stockFeatures.d.cts +41 -0
  393. package/dist/features/stockFeatures.d.ts +41 -0
  394. package/dist/features/stockFeatures.js +41 -0
  395. package/dist/features/stockFeatures.js.map +1 -0
  396. package/dist/flex-render.cjs +29 -0
  397. package/dist/flex-render.cjs.map +1 -0
  398. package/dist/flex-render.d.cts +34 -0
  399. package/dist/flex-render.d.ts +34 -0
  400. package/dist/flex-render.js +26 -0
  401. package/dist/flex-render.js.map +1 -0
  402. package/dist/fns/aggregationFns.cjs +161 -0
  403. package/dist/fns/aggregationFns.cjs.map +1 -0
  404. package/dist/fns/aggregationFns.d.cts +85 -0
  405. package/dist/fns/aggregationFns.d.ts +85 -0
  406. package/dist/fns/aggregationFns.js +151 -0
  407. package/dist/fns/aggregationFns.js.map +1 -0
  408. package/dist/fns/filterFns.cjs +201 -0
  409. package/dist/fns/filterFns.cjs.map +1 -0
  410. package/dist/fns/filterFns.d.cts +167 -0
  411. package/dist/fns/filterFns.d.ts +167 -0
  412. package/dist/fns/filterFns.js +185 -0
  413. package/dist/fns/filterFns.js.map +1 -0
  414. package/dist/fns/sortFns.cjs +130 -0
  415. package/dist/fns/sortFns.cjs.map +1 -0
  416. package/dist/fns/sortFns.d.cts +65 -0
  417. package/dist/fns/sortFns.d.ts +65 -0
  418. package/dist/fns/sortFns.js +122 -0
  419. package/dist/fns/sortFns.js.map +1 -0
  420. package/dist/helpers/columnHelper.cjs +41 -0
  421. package/dist/helpers/columnHelper.cjs.map +1 -0
  422. package/dist/helpers/columnHelper.d.cts +71 -0
  423. package/dist/helpers/columnHelper.d.ts +71 -0
  424. package/dist/helpers/columnHelper.js +40 -0
  425. package/dist/helpers/columnHelper.js.map +1 -0
  426. package/dist/helpers/metaHelper.cjs +30 -0
  427. package/dist/helpers/metaHelper.cjs.map +1 -0
  428. package/dist/helpers/metaHelper.d.cts +26 -0
  429. package/dist/helpers/metaHelper.d.ts +26 -0
  430. package/dist/helpers/metaHelper.js +29 -0
  431. package/dist/helpers/metaHelper.js.map +1 -0
  432. package/dist/helpers/tableFeatures.cjs +48 -0
  433. package/dist/helpers/tableFeatures.cjs.map +1 -0
  434. package/dist/helpers/tableFeatures.d.cts +46 -0
  435. package/dist/helpers/tableFeatures.d.ts +46 -0
  436. package/dist/helpers/tableFeatures.js +47 -0
  437. package/dist/helpers/tableFeatures.js.map +1 -0
  438. package/dist/helpers/tableOptions.cjs +15 -0
  439. package/dist/helpers/tableOptions.cjs.map +1 -0
  440. package/dist/helpers/tableOptions.d.cts +57 -0
  441. package/dist/helpers/tableOptions.d.ts +57 -0
  442. package/dist/helpers/tableOptions.js +14 -0
  443. package/dist/helpers/tableOptions.js.map +1 -0
  444. package/dist/index.cjs +135 -0
  445. package/dist/index.d.cts +79 -0
  446. package/dist/index.d.ts +79 -0
  447. package/dist/index.js +47 -0
  448. package/dist/reactivity.cjs +4 -0
  449. package/dist/reactivity.d.cts +3 -0
  450. package/dist/reactivity.d.ts +3 -0
  451. package/dist/reactivity.js +3 -0
  452. package/dist/static-functions.cjs +263 -0
  453. package/dist/static-functions.d.cts +21 -0
  454. package/dist/static-functions.d.ts +21 -0
  455. package/dist/static-functions.js +22 -0
  456. package/dist/store-reactivity-bindings.cjs +44 -0
  457. package/dist/store-reactivity-bindings.cjs.map +1 -0
  458. package/dist/store-reactivity-bindings.d.cts +22 -0
  459. package/dist/store-reactivity-bindings.d.ts +22 -0
  460. package/dist/store-reactivity-bindings.js +43 -0
  461. package/dist/store-reactivity-bindings.js.map +1 -0
  462. package/dist/types/Cell.d.cts +14 -0
  463. package/dist/types/Cell.d.ts +14 -0
  464. package/dist/types/Column.d.cts +36 -0
  465. package/dist/types/Column.d.ts +36 -0
  466. package/dist/types/ColumnDef.d.cts +123 -0
  467. package/dist/types/ColumnDef.d.ts +123 -0
  468. package/dist/types/Header.d.cts +16 -0
  469. package/dist/types/Header.d.ts +16 -0
  470. package/dist/types/HeaderGroup.d.cts +10 -0
  471. package/dist/types/HeaderGroup.d.ts +10 -0
  472. package/dist/types/Row.d.cts +26 -0
  473. package/dist/types/Row.d.ts +26 -0
  474. package/dist/types/RowModel.d.cts +26 -0
  475. package/dist/types/RowModel.d.ts +26 -0
  476. package/dist/types/RowModelFns.d.cts +18 -0
  477. package/dist/types/RowModelFns.d.ts +18 -0
  478. package/dist/types/Table.d.cts +69 -0
  479. package/dist/types/Table.d.ts +69 -0
  480. package/dist/types/TableFeatures.d.cts +214 -0
  481. package/dist/types/TableFeatures.d.ts +214 -0
  482. package/dist/types/TableOptions.d.cts +69 -0
  483. package/dist/types/TableOptions.d.ts +69 -0
  484. package/dist/types/TableState.d.cts +48 -0
  485. package/dist/types/TableState.d.ts +48 -0
  486. package/dist/types/type-utils.d.cts +23 -0
  487. package/dist/types/type-utils.d.ts +23 -0
  488. package/dist/utils.cjs +243 -0
  489. package/dist/utils.cjs.map +1 -0
  490. package/dist/utils.d.cts +114 -0
  491. package/dist/utils.d.ts +114 -0
  492. package/dist/utils.js +232 -0
  493. package/dist/utils.js.map +1 -0
  494. package/package.json +43 -16
  495. package/skills/column-definitions/SKILL.md +330 -0
  496. package/skills/column-layout/SKILL.md +326 -0
  497. package/skills/column-layout/references/subsystems.md +220 -0
  498. package/skills/customizing-feature-behavior/SKILL.md +423 -0
  499. package/skills/filtering/SKILL.md +375 -0
  500. package/skills/filtering/references/faceting-and-fuzzy.md +218 -0
  501. package/skills/grouping/SKILL.md +443 -0
  502. package/skills/migrate-v8-to-v9/SKILL.md +492 -0
  503. package/skills/pagination/SKILL.md +387 -0
  504. package/skills/row-expanding/SKILL.md +356 -0
  505. package/skills/row-pinning/SKILL.md +273 -0
  506. package/skills/row-selection/SKILL.md +388 -0
  507. package/skills/setup/SKILL.md +390 -0
  508. package/skills/sorting/SKILL.md +344 -0
  509. package/skills/state-management/SKILL.md +403 -0
  510. package/src/core/cells/constructCell.ts +55 -0
  511. package/src/core/cells/coreCellsFeature.ts +27 -0
  512. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  513. package/src/core/cells/coreCellsFeature.utils.ts +68 -0
  514. package/src/core/columns/constructColumn.ts +119 -0
  515. package/src/core/columns/coreColumnsFeature.ts +73 -0
  516. package/src/core/columns/coreColumnsFeature.types.ts +108 -0
  517. package/src/core/columns/coreColumnsFeature.utils.ts +275 -0
  518. package/src/core/coreFeatures.ts +31 -0
  519. package/src/core/headers/buildHeaderGroups.ts +182 -0
  520. package/src/core/headers/constructHeader.ts +67 -0
  521. package/src/core/headers/coreHeadersFeature.ts +56 -0
  522. package/src/core/headers/coreHeadersFeature.types.ts +125 -0
  523. package/src/core/headers/coreHeadersFeature.utils.ts +200 -0
  524. package/src/core/reactivity/coreReactivityFeature.types.ts +56 -0
  525. package/src/core/reactivity/coreReactivityFeature.utils.ts +44 -0
  526. package/src/core/row-models/coreRowModelsFeature.ts +62 -0
  527. package/src/core/row-models/coreRowModelsFeature.types.ts +51 -0
  528. package/src/core/row-models/coreRowModelsFeature.utils.ts +272 -0
  529. package/src/core/row-models/createCoreRowModel.ts +93 -0
  530. package/src/core/rows/constructRow.ts +66 -0
  531. package/src/core/rows/coreRowsFeature.ts +62 -0
  532. package/src/core/rows/coreRowsFeature.types.ts +117 -0
  533. package/src/core/rows/coreRowsFeature.utils.ts +264 -0
  534. package/src/core/table/constructTable.ts +206 -0
  535. package/src/core/table/coreTablesFeature.ts +19 -0
  536. package/src/core/table/coreTablesFeature.types.ts +239 -0
  537. package/src/core/table/coreTablesFeature.utils.ts +130 -0
  538. package/src/features/column-faceting/columnFacetingFeature.ts +89 -0
  539. package/src/features/column-faceting/columnFacetingFeature.types.ts +76 -0
  540. package/src/features/column-faceting/columnFacetingFeature.utils.ts +145 -0
  541. package/src/features/column-faceting/createFacetedMinMaxValues.ts +66 -0
  542. package/src/features/column-faceting/createFacetedRowModel.ts +85 -0
  543. package/src/features/column-faceting/createFacetedUniqueValues.ts +66 -0
  544. package/src/features/column-filtering/columnFilteringFeature.ts +86 -0
  545. package/src/features/column-filtering/columnFilteringFeature.types.ts +248 -0
  546. package/src/features/column-filtering/columnFilteringFeature.utils.ts +331 -0
  547. package/src/features/column-filtering/createFilteredRowModel.ts +181 -0
  548. package/src/features/column-filtering/filterRowsUtils.ts +157 -0
  549. package/src/features/column-grouping/columnGroupingFeature.ts +115 -0
  550. package/src/features/column-grouping/columnGroupingFeature.types.ts +227 -0
  551. package/src/features/column-grouping/columnGroupingFeature.utils.ts +354 -0
  552. package/src/features/column-grouping/createGroupedRowModel.ts +216 -0
  553. package/src/features/column-ordering/columnOrderingFeature.ts +73 -0
  554. package/src/features/column-ordering/columnOrderingFeature.types.ts +60 -0
  555. package/src/features/column-ordering/columnOrderingFeature.utils.ts +241 -0
  556. package/src/features/column-pinning/columnPinningFeature.ts +316 -0
  557. package/src/features/column-pinning/columnPinningFeature.types.ts +192 -0
  558. package/src/features/column-pinning/columnPinningFeature.utils.ts +908 -0
  559. package/src/features/column-resizing/columnResizingFeature.ts +65 -0
  560. package/src/features/column-resizing/columnResizingFeature.types.ts +89 -0
  561. package/src/features/column-resizing/columnResizingFeature.utils.ts +364 -0
  562. package/src/features/column-sizing/columnSizingFeature.ts +145 -0
  563. package/src/features/column-sizing/columnSizingFeature.types.ts +102 -0
  564. package/src/features/column-sizing/columnSizingFeature.utils.ts +381 -0
  565. package/src/features/column-visibility/columnVisibilityFeature.ts +122 -0
  566. package/src/features/column-visibility/columnVisibilityFeature.types.ts +112 -0
  567. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +384 -0
  568. package/src/features/global-filtering/globalFilteringFeature.ts +65 -0
  569. package/src/features/global-filtering/globalFilteringFeature.types.ts +91 -0
  570. package/src/features/global-filtering/globalFilteringFeature.utils.ts +118 -0
  571. package/src/features/row-expanding/createExpandedRowModel.ts +82 -0
  572. package/src/features/row-expanding/rowExpandingFeature.ts +94 -0
  573. package/src/features/row-expanding/rowExpandingFeature.types.ts +133 -0
  574. package/src/features/row-expanding/rowExpandingFeature.utils.ts +374 -0
  575. package/src/features/row-pagination/createPaginatedRowModel.ts +83 -0
  576. package/src/features/row-pagination/rowPaginationFeature.ts +95 -0
  577. package/src/features/row-pagination/rowPaginationFeature.types.ts +138 -0
  578. package/src/features/row-pagination/rowPaginationFeature.utils.ts +400 -0
  579. package/src/features/row-pinning/rowPinningFeature.ts +97 -0
  580. package/src/features/row-pinning/rowPinningFeature.types.ts +95 -0
  581. package/src/features/row-pinning/rowPinningFeature.utils.ts +323 -0
  582. package/src/features/row-selection/rowSelectionFeature.ts +140 -0
  583. package/src/features/row-selection/rowSelectionFeature.types.ts +151 -0
  584. package/src/features/row-selection/rowSelectionFeature.utils.ts +750 -0
  585. package/src/features/row-sorting/createSortedRowModel.ts +157 -0
  586. package/src/features/row-sorting/rowSortingFeature.ts +103 -0
  587. package/src/features/row-sorting/rowSortingFeature.types.ts +236 -0
  588. package/src/features/row-sorting/rowSortingFeature.utils.ts +489 -0
  589. package/src/features/stockFeatures.ts +53 -0
  590. package/src/flex-render.ts +70 -0
  591. package/src/fns/aggregationFns.ts +245 -0
  592. package/src/fns/filterFns.ts +382 -0
  593. package/src/fns/sortFns.ts +240 -0
  594. package/src/helpers/columnHelper.ts +122 -0
  595. package/src/helpers/metaHelper.ts +24 -0
  596. package/src/helpers/tableFeatures.ts +55 -0
  597. package/src/helpers/tableOptions.ts +117 -0
  598. package/src/index.ts +138 -42
  599. package/src/process-env.d.ts +6 -0
  600. package/src/reactivity.ts +2 -0
  601. package/src/static-functions.ts +31 -0
  602. package/src/store-reactivity-bindings.ts +47 -0
  603. package/src/types/Cell.ts +21 -0
  604. package/src/types/Column.ts +51 -0
  605. package/src/types/ColumnDef.ts +254 -0
  606. package/src/types/Header.ts +23 -0
  607. package/src/types/HeaderGroup.ts +13 -0
  608. package/src/types/Row.ts +34 -0
  609. package/src/types/RowModel.ts +47 -0
  610. package/src/types/RowModelFns.ts +32 -0
  611. package/src/types/Table.ts +90 -0
  612. package/src/types/TableFeatures.ts +295 -0
  613. package/src/types/TableOptions.ts +108 -0
  614. package/src/types/TableState.ts +47 -0
  615. package/src/types/type-utils.ts +84 -0
  616. package/src/utils.ts +389 -167
  617. package/dist/cjs/aggregationFns.cjs +0 -94
  618. package/dist/cjs/aggregationFns.cjs.map +0 -1
  619. package/dist/cjs/aggregationFns.d.cts +0 -14
  620. package/dist/cjs/columnHelper.cjs +0 -19
  621. package/dist/cjs/columnHelper.cjs.map +0 -1
  622. package/dist/cjs/columnHelper.d.cts +0 -9
  623. package/dist/cjs/core/cell.cjs +0 -38
  624. package/dist/cjs/core/cell.cjs.map +0 -1
  625. package/dist/cjs/core/cell.d.cts +0 -50
  626. package/dist/cjs/core/column.cjs +0 -81
  627. package/dist/cjs/core/column.cjs.map +0 -1
  628. package/dist/cjs/core/column.d.cts +0 -56
  629. package/dist/cjs/core/headers.cjs +0 -310
  630. package/dist/cjs/core/headers.cjs.map +0 -1
  631. package/dist/cjs/core/headers.d.cts +0 -195
  632. package/dist/cjs/core/row.cjs +0 -92
  633. package/dist/cjs/core/row.cjs.map +0 -1
  634. package/dist/cjs/core/row.d.cts +0 -92
  635. package/dist/cjs/core/table.cjs +0 -232
  636. package/dist/cjs/core/table.cjs.map +0 -1
  637. package/dist/cjs/core/table.d.cts +0 -229
  638. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  639. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  640. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  641. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  642. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  643. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  644. package/dist/cjs/features/ColumnGrouping.cjs +0 -133
  645. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  646. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  647. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  648. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  649. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  650. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  651. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  652. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  653. package/dist/cjs/features/ColumnSizing.cjs +0 -307
  654. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  655. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  656. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  657. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  658. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  659. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  660. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  661. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  662. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  663. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  664. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  665. package/dist/cjs/features/RowExpanding.cjs +0 -152
  666. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  667. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  668. package/dist/cjs/features/RowPagination.cjs +0 -161
  669. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  670. package/dist/cjs/features/RowPagination.d.cts +0 -166
  671. package/dist/cjs/features/RowPinning.cjs +0 -132
  672. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  673. package/dist/cjs/features/RowPinning.d.cts +0 -99
  674. package/dist/cjs/features/RowSelection.cjs +0 -296
  675. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  676. package/dist/cjs/features/RowSelection.d.cts +0 -177
  677. package/dist/cjs/features/RowSorting.cjs +0 -200
  678. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  679. package/dist/cjs/features/RowSorting.d.cts +0 -238
  680. package/dist/cjs/filterFns.cjs +0 -88
  681. package/dist/cjs/filterFns.cjs.map +0 -1
  682. package/dist/cjs/filterFns.d.cts +0 -14
  683. package/dist/cjs/index.cjs +0 -88
  684. package/dist/cjs/index.cjs.map +0 -1
  685. package/dist/cjs/index.d.cts +0 -34
  686. package/dist/cjs/sortingFns.cjs +0 -91
  687. package/dist/cjs/sortingFns.cjs.map +0 -1
  688. package/dist/cjs/sortingFns.d.cts +0 -12
  689. package/dist/cjs/types.d.cts +0 -120
  690. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  691. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  692. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  693. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  694. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  695. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  696. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  697. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  698. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  699. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -35
  700. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  701. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  702. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  703. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  704. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  705. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -37
  706. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  707. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  708. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  709. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  710. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  711. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  712. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  713. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  714. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  715. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  716. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  717. package/dist/cjs/utils/getSortedRowModel.cjs +0 -88
  718. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  719. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  720. package/dist/cjs/utils.cjs +0 -98
  721. package/dist/cjs/utils.cjs.map +0 -1
  722. package/dist/cjs/utils.d.cts +0 -39
  723. package/dist/esm/aggregationFns.d.ts +0 -14
  724. package/dist/esm/aggregationFns.js +0 -94
  725. package/dist/esm/aggregationFns.js.map +0 -1
  726. package/dist/esm/columnHelper.d.ts +0 -9
  727. package/dist/esm/columnHelper.js +0 -19
  728. package/dist/esm/columnHelper.js.map +0 -1
  729. package/dist/esm/core/cell.d.ts +0 -50
  730. package/dist/esm/core/cell.js +0 -38
  731. package/dist/esm/core/cell.js.map +0 -1
  732. package/dist/esm/core/column.d.ts +0 -56
  733. package/dist/esm/core/column.js +0 -81
  734. package/dist/esm/core/column.js.map +0 -1
  735. package/dist/esm/core/headers.d.ts +0 -195
  736. package/dist/esm/core/headers.js +0 -310
  737. package/dist/esm/core/headers.js.map +0 -1
  738. package/dist/esm/core/row.d.ts +0 -92
  739. package/dist/esm/core/row.js +0 -92
  740. package/dist/esm/core/row.js.map +0 -1
  741. package/dist/esm/core/table.d.ts +0 -229
  742. package/dist/esm/core/table.js +0 -232
  743. package/dist/esm/core/table.js.map +0 -1
  744. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  745. package/dist/esm/features/ColumnFaceting.js +0 -29
  746. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  747. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  748. package/dist/esm/features/ColumnFiltering.js +0 -137
  749. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  750. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  751. package/dist/esm/features/ColumnGrouping.js +0 -133
  752. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  753. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  754. package/dist/esm/features/ColumnOrdering.js +0 -76
  755. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  756. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  757. package/dist/esm/features/ColumnPinning.js +0 -145
  758. package/dist/esm/features/ColumnPinning.js.map +0 -1
  759. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  760. package/dist/esm/features/ColumnSizing.js +0 -307
  761. package/dist/esm/features/ColumnSizing.js.map +0 -1
  762. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  763. package/dist/esm/features/ColumnVisibility.js +0 -144
  764. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  765. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  766. package/dist/esm/features/GlobalFaceting.js +0 -29
  767. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  768. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  769. package/dist/esm/features/GlobalFiltering.js +0 -50
  770. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  771. package/dist/esm/features/RowExpanding.d.ts +0 -155
  772. package/dist/esm/features/RowExpanding.js +0 -152
  773. package/dist/esm/features/RowExpanding.js.map +0 -1
  774. package/dist/esm/features/RowPagination.d.ts +0 -166
  775. package/dist/esm/features/RowPagination.js +0 -161
  776. package/dist/esm/features/RowPagination.js.map +0 -1
  777. package/dist/esm/features/RowPinning.d.ts +0 -99
  778. package/dist/esm/features/RowPinning.js +0 -132
  779. package/dist/esm/features/RowPinning.js.map +0 -1
  780. package/dist/esm/features/RowSelection.d.ts +0 -177
  781. package/dist/esm/features/RowSelection.js +0 -296
  782. package/dist/esm/features/RowSelection.js.map +0 -1
  783. package/dist/esm/features/RowSorting.d.ts +0 -238
  784. package/dist/esm/features/RowSorting.js +0 -200
  785. package/dist/esm/features/RowSorting.js.map +0 -1
  786. package/dist/esm/filterFns.d.ts +0 -14
  787. package/dist/esm/filterFns.js +0 -88
  788. package/dist/esm/filterFns.js.map +0 -1
  789. package/dist/esm/index.d.ts +0 -34
  790. package/dist/esm/index.js +0 -88
  791. package/dist/esm/index.js.map +0 -1
  792. package/dist/esm/sortingFns.d.ts +0 -12
  793. package/dist/esm/sortingFns.js +0 -91
  794. package/dist/esm/sortingFns.js.map +0 -1
  795. package/dist/esm/types.d.ts +0 -120
  796. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  797. package/dist/esm/utils/filterRowsUtils.js +0 -99
  798. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  799. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  800. package/dist/esm/utils/getCoreRowModel.js +0 -54
  801. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  802. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  803. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  804. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  805. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  806. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -35
  807. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  808. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  809. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  810. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  811. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  812. package/dist/esm/utils/getFacetedUniqueValues.js +0 -37
  813. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  814. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  815. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  816. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  817. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  818. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  819. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  820. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  821. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  822. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  823. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  824. package/dist/esm/utils/getSortedRowModel.js +0 -88
  825. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  826. package/dist/esm/utils.d.ts +0 -39
  827. package/dist/esm/utils.js +0 -98
  828. package/dist/esm/utils.js.map +0 -1
  829. package/src/aggregationFns.ts +0 -123
  830. package/src/columnHelper.ts +0 -91
  831. package/src/core/cell.ts +0 -91
  832. package/src/core/column.ts +0 -165
  833. package/src/core/headers.ts +0 -639
  834. package/src/core/row.ts +0 -201
  835. package/src/core/table.ts +0 -563
  836. package/src/features/ColumnFaceting.ts +0 -84
  837. package/src/features/ColumnFiltering.ts +0 -429
  838. package/src/features/ColumnGrouping.ts +0 -422
  839. package/src/features/ColumnOrdering.ts +0 -161
  840. package/src/features/ColumnPinning.ts +0 -336
  841. package/src/features/ColumnSizing.ts +0 -579
  842. package/src/features/ColumnVisibility.ts +0 -317
  843. package/src/features/GlobalFaceting.ts +0 -66
  844. package/src/features/GlobalFiltering.ts +0 -162
  845. package/src/features/RowExpanding.ts +0 -355
  846. package/src/features/RowPagination.ts +0 -396
  847. package/src/features/RowPinning.ts +0 -273
  848. package/src/features/RowSelection.ts +0 -668
  849. package/src/features/RowSorting.ts +0 -542
  850. package/src/filterFns.ts +0 -150
  851. package/src/sortingFns.ts +0 -128
  852. package/src/types.ts +0 -361
  853. package/src/utils/filterRowsUtils.ts +0 -130
  854. package/src/utils/getCoreRowModel.ts +0 -82
  855. package/src/utils/getExpandedRowModel.ts +0 -51
  856. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  857. package/src/utils/getFacetedRowModel.ts +0 -44
  858. package/src/utils/getFacetedUniqueValues.ts +0 -42
  859. package/src/utils/getFilteredRowModel.ts +0 -151
  860. package/src/utils/getGroupedRowModel.ts +0 -181
  861. package/src/utils/getPaginationRowModel.ts +0 -60
  862. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,82 @@
1
+ import { tableMemo } from '../../utils'
2
+ import { row_getIsExpanded } from './rowExpandingFeature.utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
+ import type { Table, Table_Internal } from '../../types/Table'
6
+ import type { Row } from '../../types/Row'
7
+ import type { RowData } from '../../types/type-utils'
8
+
9
+ /**
10
+ * Creates a memoized expanded row model factory.
11
+ *
12
+ * The factory reads the relevant table state atoms and options, then returns a row model function used by the table row-model pipeline.
13
+ */
14
+ export function createExpandedRowModel<
15
+ TFeatures extends TableFeatures,
16
+ TData extends RowData = any,
17
+ >(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
18
+ return (_table) => {
19
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
20
+ return tableMemo({
21
+ feature: 'rowExpandingFeature',
22
+ table,
23
+ fnName: 'table.getExpandedRowModel',
24
+ memoDeps: () => [
25
+ table.atoms.expanded?.get(),
26
+ table.getPreExpandedRowModel(),
27
+ table.options.paginateExpandedRows,
28
+ ],
29
+ fn: () => _createExpandedRowModel(table),
30
+ })
31
+ }
32
+ }
33
+
34
+ function _createExpandedRowModel<
35
+ TFeatures extends TableFeatures,
36
+ TData extends RowData = any,
37
+ >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
38
+ const rowModel = table.getPreExpandedRowModel()
39
+ const expanded = table.atoms.expanded?.get()
40
+
41
+ if (
42
+ !rowModel.rows.length ||
43
+ (expanded !== true && !Object.keys(expanded ?? {}).length)
44
+ ) {
45
+ return rowModel
46
+ }
47
+
48
+ if (!table.options.paginateExpandedRows) {
49
+ // Only expand rows at this point if they are being paginated
50
+ return rowModel
51
+ }
52
+
53
+ return expandRows(rowModel)
54
+ }
55
+
56
+ /**
57
+ * Expands a row model according to the current expanded row state.
58
+ *
59
+ * Expanded sub-rows are inserted into the flattened row order while preserving the original row hierarchy.
60
+ */
61
+ export function expandRows<
62
+ TFeatures extends TableFeatures,
63
+ TData extends RowData = any,
64
+ >(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {
65
+ const expandedRows: Array<Row<TFeatures, TData>> = []
66
+
67
+ const handleRow = (row: Row<TFeatures, TData>) => {
68
+ expandedRows.push(row)
69
+
70
+ if (row.subRows.length && row_getIsExpanded(row)) {
71
+ row.subRows.forEach(handleRow)
72
+ }
73
+ }
74
+
75
+ rowModel.rows.forEach(handleRow)
76
+
77
+ return {
78
+ rows: expandedRows,
79
+ flatRows: rowModel.flatRows,
80
+ rowsById: rowModel.rowsById,
81
+ }
82
+ }
@@ -0,0 +1,94 @@
1
+ import {
2
+ assignPrototypeAPIs,
3
+ assignTableAPIs,
4
+ makeStateUpdater,
5
+ } from '../../utils'
6
+ import {
7
+ getDefaultExpandedState,
8
+ row_getCanExpand,
9
+ row_getIsAllParentsExpanded,
10
+ row_getIsExpanded,
11
+ row_getToggleExpandedHandler,
12
+ row_toggleExpanded,
13
+ table_autoResetExpanded,
14
+ table_getCanSomeRowsExpand,
15
+ table_getExpandedDepth,
16
+ table_getIsAllRowsExpanded,
17
+ table_getIsSomeRowsExpanded,
18
+ table_getToggleAllRowsExpandedHandler,
19
+ table_resetExpanded,
20
+ table_setExpanded,
21
+ table_toggleAllRowsExpanded,
22
+ } from './rowExpandingFeature.utils'
23
+ import type { TableFeature } from '../../types/TableFeatures'
24
+
25
+ /**
26
+ * Feature that adds row expansion state and APIs for expandable row trees.
27
+ */
28
+ export const rowExpandingFeature: TableFeature = {
29
+ getInitialState: (initialState) => {
30
+ return {
31
+ expanded: getDefaultExpandedState(),
32
+ ...initialState,
33
+ }
34
+ },
35
+
36
+ getDefaultTableOptions: (table) => {
37
+ return {
38
+ onExpandedChange: makeStateUpdater('expanded', table),
39
+ paginateExpandedRows: true,
40
+ }
41
+ },
42
+
43
+ assignRowPrototype: (prototype, table) => {
44
+ assignPrototypeAPIs('rowExpandingFeature', prototype, table, {
45
+ row_toggleExpanded: {
46
+ fn: (row, expanded) => row_toggleExpanded(row, expanded),
47
+ },
48
+ row_getIsExpanded: {
49
+ fn: (row) => row_getIsExpanded(row),
50
+ },
51
+ row_getCanExpand: {
52
+ fn: (row) => row_getCanExpand(row),
53
+ },
54
+ row_getIsAllParentsExpanded: {
55
+ fn: (row) => row_getIsAllParentsExpanded(row),
56
+ },
57
+ row_getToggleExpandedHandler: {
58
+ fn: (row) => row_getToggleExpandedHandler(row),
59
+ },
60
+ })
61
+ },
62
+
63
+ constructTableAPIs: (table) => {
64
+ assignTableAPIs('rowExpandingFeature', table, {
65
+ table_autoResetExpanded: {
66
+ fn: () => table_autoResetExpanded(table),
67
+ },
68
+ table_setExpanded: {
69
+ fn: (updater) => table_setExpanded(table, updater),
70
+ },
71
+ table_toggleAllRowsExpanded: {
72
+ fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),
73
+ },
74
+ table_resetExpanded: {
75
+ fn: (defaultState) => table_resetExpanded(table, defaultState),
76
+ },
77
+ table_getCanSomeRowsExpand: {
78
+ fn: () => table_getCanSomeRowsExpand(table),
79
+ },
80
+ table_getToggleAllRowsExpandedHandler: {
81
+ fn: () => table_getToggleAllRowsExpandedHandler(table),
82
+ },
83
+ table_getIsSomeRowsExpanded: {
84
+ fn: () => table_getIsSomeRowsExpanded(table),
85
+ },
86
+ table_getIsAllRowsExpanded: {
87
+ fn: () => table_getIsAllRowsExpanded(table),
88
+ },
89
+ table_getExpandedDepth: {
90
+ fn: () => table_getExpandedDepth(table),
91
+ },
92
+ })
93
+ },
94
+ }
@@ -0,0 +1,133 @@
1
+ import type { Table } from '../../types/Table'
2
+ import type { OnChangeFn, RowData, Updater } from '../../types/type-utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
+ import type { Row } from '../../types/Row'
6
+
7
+ export type ExpandedStateList = Record<string, boolean>
8
+ export type ExpandedState = true | Record<string, boolean>
9
+
10
+ export interface TableState_RowExpanding {
11
+ expanded: ExpandedState
12
+ }
13
+
14
+ export interface Row_RowExpanding {
15
+ /**
16
+ * Checks whether this row can be expanded.
17
+ */
18
+ getCanExpand: () => boolean
19
+ /**
20
+ * Checks whether every ancestor of this row is expanded.
21
+ */
22
+ getIsAllParentsExpanded: () => boolean
23
+ /**
24
+ * Checks whether this row is currently expanded.
25
+ */
26
+ getIsExpanded: () => boolean
27
+ /**
28
+ * Creates a handler that toggles this row's expanded state.
29
+ */
30
+ getToggleExpandedHandler: () => () => void
31
+ /**
32
+ * Toggles the expanded state (or sets it if `expanded` is provided) for the row.
33
+ */
34
+ toggleExpanded: (expanded?: boolean) => void
35
+ }
36
+
37
+ export interface TableOptions_RowExpanding<
38
+ TFeatures extends TableFeatures,
39
+ TData extends RowData,
40
+ > {
41
+ /**
42
+ * Enables automatic expanded-state resets when page-altering table state changes.
43
+ */
44
+ autoResetExpanded?: boolean
45
+ /**
46
+ * Allows rows with subRows to be expanded.
47
+ */
48
+ enableExpanding?: boolean
49
+ /**
50
+ * If provided, allows you to override the default behavior of determining whether a row is currently expanded.
51
+ */
52
+ getIsRowExpanded?: (row: Row<TFeatures, TData>) => boolean
53
+ /**
54
+ * If provided, allows you to override the default behavior of determining whether a row can be expanded.
55
+ */
56
+ getRowCanExpand?: (row: Row<TFeatures, TData>) => boolean
57
+ /**
58
+ * Enables manual row expansion. If this is set to `true`, `getExpandedRowModel` will not be used to expand rows and you would be expected to perform the expansion in your own data model. This is useful if you are doing server-side expansion.
59
+ */
60
+ manualExpanding?: boolean
61
+ /**
62
+ * Called with an updater when expanded state changes. Pair this with
63
+ * `state.expanded` when using external state; external atoms can own the
64
+ * slice without this callback.
65
+ */
66
+ onExpandedChange?: OnChangeFn<ExpandedState>
67
+ /**
68
+ * If `true` expanded rows will be paginated along with the rest of the table (which means expanded rows may span multiple pages). If `false` expanded rows will not be considered for pagination (which means expanded rows will always render on their parents page. This also means more rows will be rendered than the set page size)
69
+ */
70
+ paginateExpandedRows?: boolean
71
+ }
72
+
73
+ export interface Table_RowExpanding<
74
+ TFeatures extends TableFeatures,
75
+ TData extends RowData,
76
+ > {
77
+ autoResetExpanded: () => void
78
+ /**
79
+ * Checks whether at least one row can be expanded.
80
+ */
81
+ getCanSomeRowsExpand: () => boolean
82
+ /**
83
+ * Computes the deepest expanded row id depth.
84
+ */
85
+ getExpandedDepth: () => number
86
+ /**
87
+ * Checks whether all rows in the current row model are expanded.
88
+ */
89
+ getIsAllRowsExpanded: () => boolean
90
+ /**
91
+ * Checks whether any row is currently expanded.
92
+ */
93
+ getIsSomeRowsExpanded: () => boolean
94
+ /**
95
+ * Creates a handler that toggles all rows expanded.
96
+ */
97
+ getToggleAllRowsExpandedHandler: () => (event: unknown) => void
98
+ /**
99
+ * Resets `expanded` to `initialState.expanded`.
100
+ *
101
+ * Pass `true` to ignore initial state and reset to `{}`.
102
+ */
103
+ resetExpanded: (defaultState?: boolean) => void
104
+ /**
105
+ * Updates expanded state with `true`, a row-id map, or an updater function.
106
+ */
107
+ setExpanded: (updater: Updater<ExpandedState>) => void
108
+ /**
109
+ * Toggles the expanded state for all rows.
110
+ */
111
+ toggleAllRowsExpanded: (expanded?: boolean) => void
112
+ }
113
+
114
+ export interface Table_RowModels_Expanded<
115
+ TFeatures extends TableFeatures,
116
+ TData extends RowData,
117
+ > {
118
+ /**
119
+ * Resolves the row model after expanded rows have been flattened into view.
120
+ */
121
+ getExpandedRowModel: () => RowModel<TFeatures, TData>
122
+ /**
123
+ * Reads the row model immediately before expansion.
124
+ */
125
+ getPreExpandedRowModel: () => RowModel<TFeatures, TData>
126
+ }
127
+
128
+ export interface CachedRowModel_Expanded<
129
+ TFeatures extends TableFeatures,
130
+ TData extends RowData,
131
+ > {
132
+ expandedRowModel: () => RowModel<TFeatures, TData>
133
+ }
@@ -0,0 +1,374 @@
1
+ import { cloneState } from '../../utils'
2
+ import type { RowData, Updater } from '../../types/type-utils'
3
+ import type { TableFeatures } from '../../types/TableFeatures'
4
+ import type { Table_Internal } from '../../types/Table'
5
+ import type { Row } from '../../types/Row'
6
+ import type {
7
+ ExpandedState,
8
+ ExpandedStateList,
9
+ } from './rowExpandingFeature.types'
10
+
11
+ /**
12
+ * Creates the default expanded state.
13
+ *
14
+ * The feature default is an empty map, meaning no rows are expanded. Reset APIs
15
+ * use this value when `defaultState` is `true`.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const expanded = getDefaultExpandedState()
20
+ * ```
21
+ */
22
+ export function getDefaultExpandedState(): ExpandedState {
23
+ return {}
24
+ }
25
+
26
+ /**
27
+ * Schedules an expanded-state reset after row-structure changes.
28
+ *
29
+ * The reset runs when `autoResetAll`, `autoResetExpanded`, or the default
30
+ * client-side expanding behavior allows it. Manual expanding opts out unless
31
+ * the reset options explicitly opt back in.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * table_autoResetExpanded(table)
36
+ * ```
37
+ */
38
+ export function table_autoResetExpanded<
39
+ TFeatures extends TableFeatures,
40
+ TData extends RowData,
41
+ >(table: Table_Internal<TFeatures, TData>) {
42
+ if (
43
+ table.options.autoResetAll ??
44
+ table.options.autoResetExpanded ??
45
+ !table.options.manualExpanding
46
+ ) {
47
+ table._reactivity.schedule(() => table_resetExpanded(table))
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Routes an expanded-state updater through the table's expanded change handler.
53
+ *
54
+ * The updater may be `true`, a row-id map, or a function of the previous
55
+ * expanded state, matching the instance `table.setExpanded` behavior.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * table_setExpanded(table, (old) => ({ ...old, [rowId]: true }))
60
+ * ```
61
+ */
62
+ export function table_setExpanded<
63
+ TFeatures extends TableFeatures,
64
+ TData extends RowData,
65
+ >(table: Table_Internal<TFeatures, TData>, updater: Updater<ExpandedState>) {
66
+ table.options.onExpandedChange?.(updater)
67
+ }
68
+
69
+ /**
70
+ * Expands or collapses every row.
71
+ *
72
+ * Passing `true` stores the special expanded-all state. Passing `false` stores
73
+ * an empty map. Omitting the value toggles based on whether all rows are
74
+ * currently expanded.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * table_toggleAllRowsExpanded(table)
79
+ * ```
80
+ */
81
+ export function table_toggleAllRowsExpanded<
82
+ TFeatures extends TableFeatures,
83
+ TData extends RowData,
84
+ >(table: Table_Internal<TFeatures, TData>, expanded?: boolean) {
85
+ if (expanded ?? !table_getIsAllRowsExpanded(table)) {
86
+ table_setExpanded(table, true)
87
+ } else {
88
+ table_setExpanded(table, {})
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Resets `expanded` to the configured initial state or feature default.
94
+ *
95
+ * With no argument, the reset clones `table.initialState.expanded` when it
96
+ * exists. Passing `true` ignores initial state and resets to `{}`.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * table_resetExpanded(table)
101
+ * table_resetExpanded(table, true)
102
+ * ```
103
+ */
104
+ export function table_resetExpanded<
105
+ TFeatures extends TableFeatures,
106
+ TData extends RowData,
107
+ >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
108
+ table_setExpanded(
109
+ table,
110
+ defaultState ? {} : cloneState(table.initialState.expanded ?? {}),
111
+ )
112
+ }
113
+
114
+ /**
115
+ * Checks whether at least one pre-paginated row can expand.
116
+ *
117
+ * Pagination is intentionally ignored so controls can reflect expandable rows
118
+ * that may not be on the current page.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const canExpand = table_getCanSomeRowsExpand(table)
123
+ * ```
124
+ */
125
+ export function table_getCanSomeRowsExpand<
126
+ TFeatures extends TableFeatures,
127
+ TData extends RowData,
128
+ >(table: Table_Internal<TFeatures, TData>) {
129
+ return table
130
+ .getPrePaginatedRowModel()
131
+ .flatRows.some((row) => row_getCanExpand(row))
132
+ }
133
+
134
+ /**
135
+ * Creates an event handler that toggles all rows expanded.
136
+ *
137
+ * React-style synthetic events are persisted when present before the table state
138
+ * is toggled.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * const onClick = table_getToggleAllRowsExpandedHandler(table)
143
+ * ```
144
+ */
145
+ export function table_getToggleAllRowsExpandedHandler<
146
+ TFeatures extends TableFeatures,
147
+ TData extends RowData,
148
+ >(table: Table_Internal<TFeatures, TData>) {
149
+ return (e: unknown) => {
150
+ ;(e as any).persist?.()
151
+ table_toggleAllRowsExpanded(table)
152
+ }
153
+ }
154
+
155
+ /**
156
+ * Checks whether any row is expanded.
157
+ *
158
+ * The special expanded-all value `true` counts as some rows expanded.
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * const someExpanded = table_getIsSomeRowsExpanded(table)
163
+ * ```
164
+ */
165
+ export function table_getIsSomeRowsExpanded<
166
+ TFeatures extends TableFeatures,
167
+ TData extends RowData,
168
+ >(table: Table_Internal<TFeatures, TData>) {
169
+ const expanded = table.atoms.expanded?.get() ?? {}
170
+ return expanded === true || Object.values(expanded).some(Boolean)
171
+ }
172
+
173
+ /**
174
+ * Checks whether every row in the current row model is expanded.
175
+ *
176
+ * The special expanded-all value `true` returns true immediately. Empty
177
+ * expanded state returns false.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * const allExpanded = table_getIsAllRowsExpanded(table)
182
+ * ```
183
+ */
184
+ export function table_getIsAllRowsExpanded<
185
+ TFeatures extends TableFeatures,
186
+ TData extends RowData,
187
+ >(table: Table_Internal<TFeatures, TData>) {
188
+ const expanded = table.atoms.expanded?.get() ?? {}
189
+
190
+ // If expanded is true, save some cycles and return true
191
+ if (expanded === true) {
192
+ return true
193
+ }
194
+
195
+ if (!Object.keys(expanded).length) {
196
+ return false
197
+ }
198
+
199
+ // If any row is not expanded, return false
200
+ if (table.getRowModel().flatRows.some((row) => !row_getIsExpanded(row))) {
201
+ return false
202
+ }
203
+
204
+ // They must all be expanded :shrug:
205
+ return true
206
+ }
207
+
208
+ /**
209
+ * Computes the deepest expanded row id depth.
210
+ *
211
+ * Row ids are split on `.`; expanded-all state scans the current row model,
212
+ * while explicit expanded state scans its expanded id keys.
213
+ *
214
+ * @example
215
+ * ```ts
216
+ * const depth = table_getExpandedDepth(table)
217
+ * ```
218
+ */
219
+ export function table_getExpandedDepth<
220
+ TFeatures extends TableFeatures,
221
+ TData extends RowData,
222
+ >(table: Table_Internal<TFeatures, TData>) {
223
+ let maxDepth = 0
224
+
225
+ const rowIds =
226
+ table.atoms.expanded?.get() === true
227
+ ? Object.keys(table.getRowModel().rowsById)
228
+ : Object.keys(table.atoms.expanded?.get() ?? {})
229
+
230
+ rowIds.forEach((id) => {
231
+ const splitId = id.split('.')
232
+ maxDepth = Math.max(maxDepth, splitId.length)
233
+ })
234
+
235
+ return maxDepth
236
+ }
237
+
238
+ /**
239
+ * Expands or collapses this row.
240
+ *
241
+ * Omitting `expanded` toggles the row. If the current state is expanded-all,
242
+ * the function first materializes that state into a row-id map before applying
243
+ * the row-specific change.
244
+ *
245
+ * @example
246
+ * ```ts
247
+ * row_toggleExpanded(row)
248
+ * ```
249
+ */
250
+ export function row_toggleExpanded<
251
+ TFeatures extends TableFeatures,
252
+ TData extends RowData,
253
+ >(row: Row<TFeatures, TData>, expanded?: boolean) {
254
+ table_setExpanded(row.table, (old) => {
255
+ const exists = old === true ? true : !!old[row.id]
256
+
257
+ let oldExpanded: ExpandedStateList = {}
258
+
259
+ if (old === true) {
260
+ Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
261
+ oldExpanded[rowId] = true
262
+ })
263
+ } else {
264
+ oldExpanded = old
265
+ }
266
+
267
+ expanded = expanded ?? !exists
268
+
269
+ if (!exists && expanded) {
270
+ return {
271
+ ...oldExpanded,
272
+ [row.id]: true,
273
+ }
274
+ }
275
+
276
+ if (exists && !expanded) {
277
+ const { [row.id]: _, ...rest } = oldExpanded
278
+ return rest
279
+ }
280
+
281
+ return old
282
+ })
283
+ }
284
+
285
+ /**
286
+ * Checks whether this row is expanded.
287
+ *
288
+ * `options.getIsRowExpanded` can override state-derived behavior. Otherwise
289
+ * the row is expanded when expanded state is `true` or contains this row id.
290
+ *
291
+ * @example
292
+ * ```ts
293
+ * const expanded = row_getIsExpanded(row)
294
+ * ```
295
+ */
296
+ export function row_getIsExpanded<
297
+ TFeatures extends TableFeatures,
298
+ TData extends RowData,
299
+ >(row: Row<TFeatures, TData>) {
300
+ const expanded: ExpandedState = row.table.atoms.expanded?.get() ?? {}
301
+
302
+ return !!(
303
+ row.table.options.getIsRowExpanded?.(row) ??
304
+ (expanded === true || expanded[row.id])
305
+ )
306
+ }
307
+
308
+ /**
309
+ * Checks whether this row can be expanded.
310
+ *
311
+ * `options.getRowCanExpand` wins when provided. Otherwise rows can expand when
312
+ * expanding is enabled and the row has subRows.
313
+ *
314
+ * @example
315
+ * ```ts
316
+ * const canExpand = row_getCanExpand(row)
317
+ * ```
318
+ */
319
+ export function row_getCanExpand<
320
+ TFeatures extends TableFeatures,
321
+ TData extends RowData,
322
+ >(row: Row<TFeatures, TData>) {
323
+ return (
324
+ row.table.options.getRowCanExpand?.(row) ??
325
+ ((row.table.options.enableExpanding ?? true) && !!row.subRows.length)
326
+ )
327
+ }
328
+
329
+ /**
330
+ * Checks whether every ancestor of this row is expanded.
331
+ *
332
+ * The current row is not considered; only its parent chain is walked.
333
+ *
334
+ * @example
335
+ * ```ts
336
+ * const parentsExpanded = row_getIsAllParentsExpanded(row)
337
+ * ```
338
+ */
339
+ export function row_getIsAllParentsExpanded<
340
+ TFeatures extends TableFeatures,
341
+ TData extends RowData,
342
+ >(row: Row<TFeatures, TData>) {
343
+ let isFullyExpanded = true
344
+ let currentRow = row
345
+
346
+ while (isFullyExpanded && currentRow.parentId) {
347
+ currentRow = row.table.getRow(currentRow.parentId, true)
348
+ isFullyExpanded = row_getIsExpanded(currentRow)
349
+ }
350
+
351
+ return isFullyExpanded
352
+ }
353
+
354
+ /**
355
+ * Creates a row control handler that toggles this row's expanded state.
356
+ *
357
+ * The handler is a no-op when the row cannot expand.
358
+ *
359
+ * @example
360
+ * ```ts
361
+ * const onClick = row_getToggleExpandedHandler(row)
362
+ * ```
363
+ */
364
+ export function row_getToggleExpandedHandler<
365
+ TFeatures extends TableFeatures,
366
+ TData extends RowData,
367
+ >(row: Row<TFeatures, TData>) {
368
+ const canExpand = row_getCanExpand(row)
369
+
370
+ return () => {
371
+ if (!canExpand) return
372
+ row_toggleExpanded(row)
373
+ }
374
+ }