@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.71

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 (667) hide show
  1. package/README.md +5 -1
  2. package/dist/core/cells/constructCell.d.ts +4 -6
  3. package/dist/core/cells/constructCell.js +4 -6
  4. package/dist/core/cells/coreCellsFeature.d.ts +1 -3
  5. package/dist/core/cells/coreCellsFeature.js +1 -2
  6. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
  7. package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
  8. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  9. package/dist/core/columns/constructColumn.d.ts +4 -6
  10. package/dist/core/columns/constructColumn.js +8 -9
  11. package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
  12. package/dist/core/columns/coreColumnsFeature.js +13 -20
  13. package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
  14. package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
  15. package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
  16. package/dist/core/coreFeatures.d.ts +3 -3
  17. package/dist/core/coreFeatures.js +1 -2
  18. package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
  19. package/dist/core/headers/buildHeaderGroups.js +99 -85
  20. package/dist/core/headers/constructHeader.d.ts +3 -5
  21. package/dist/core/headers/constructHeader.js +4 -6
  22. package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
  23. package/dist/core/headers/coreHeadersFeature.js +9 -13
  24. package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
  25. package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
  26. package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
  27. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
  28. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
  29. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  30. package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
  31. package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
  32. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
  33. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  34. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
  35. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
  36. package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
  37. package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
  38. package/dist/core/row-models/createCoreRowModel.js +27 -24
  39. package/dist/core/rows/constructRow.d.ts +3 -5
  40. package/dist/core/rows/constructRow.js +9 -13
  41. package/dist/core/rows/coreRowsFeature.d.ts +1 -3
  42. package/dist/core/rows/coreRowsFeature.js +20 -5
  43. package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
  44. package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
  45. package/dist/core/rows/coreRowsFeature.utils.js +65 -14
  46. package/dist/core/table/constructTable.d.ts +2 -4
  47. package/dist/core/table/constructTable.js +52 -23
  48. package/dist/core/table/coreTablesFeature.d.ts +1 -3
  49. package/dist/core/table/coreTablesFeature.js +1 -2
  50. package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +69 -24
  53. package/dist/experimental-worker-plugin.d.ts +5 -0
  54. package/dist/experimental-worker-plugin.js +6 -0
  55. package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
  56. package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
  57. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
  58. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
  59. package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
  60. package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
  61. package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
  62. package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
  63. package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
  64. package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
  65. package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
  66. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
  68. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
  69. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
  70. package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
  71. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
  72. package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
  73. package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
  74. package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
  75. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
  76. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
  77. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
  78. package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
  79. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
  84. package/dist/features/column-filtering/filterFns.d.ts +208 -0
  85. package/dist/features/column-filtering/filterFns.js +374 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +4 -4
  87. package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
  88. package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
  89. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
  90. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
  91. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
  92. package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
  93. package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
  94. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
  95. package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
  96. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
  97. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
  98. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
  99. package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
  100. package/dist/features/column-pinning/columnPinningFeature.js +126 -146
  101. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
  102. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
  103. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
  104. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
  105. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  106. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
  107. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
  108. package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
  109. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
  110. package/dist/features/column-sizing/columnSizingFeature.js +35 -70
  111. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
  112. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
  113. package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
  114. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
  115. package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
  116. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
  117. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
  119. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
  120. package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
  121. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
  122. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
  123. package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
  124. package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
  125. package/dist/features/row-aggregation/aggregationFns.js +279 -0
  126. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
  127. package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
  128. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
  129. package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
  130. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
  131. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
  132. package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
  133. package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
  134. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
  135. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  136. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
  141. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
  142. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  143. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
  144. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
  145. package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
  146. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
  147. package/dist/features/row-pinning/rowPinningFeature.js +5 -18
  148. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
  149. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
  150. package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +68 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +71 -53
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +2 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -25
  163. package/dist/features/row-sorting/sortFns.d.ts +96 -0
  164. package/dist/features/row-sorting/sortFns.js +216 -0
  165. package/dist/features/stockFeatures.d.ts +7 -3
  166. package/dist/features/stockFeatures.js +7 -2
  167. package/dist/flex-render.d.ts +2 -4
  168. package/dist/flex-render.js +10 -3
  169. package/dist/helpers/columnHelper.d.ts +3 -5
  170. package/dist/helpers/columnHelper.js +1 -2
  171. package/dist/helpers/metaHelper.d.ts +25 -0
  172. package/dist/helpers/metaHelper.js +28 -0
  173. package/dist/helpers/tableFeatures.d.ts +35 -8
  174. package/dist/helpers/tableFeatures.js +33 -5
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +34 -27
  178. package/dist/index.js +10 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +12 -9
  182. package/dist/static-functions.js +12 -9
  183. package/dist/store-reactivity-bindings.d.ts +2 -4
  184. package/dist/store-reactivity-bindings.js +4 -5
  185. package/dist/types/Cell.d.ts +9 -5
  186. package/dist/types/Column.d.ts +13 -15
  187. package/dist/types/ColumnDef.d.ts +39 -21
  188. package/dist/types/Header.d.ts +3 -5
  189. package/dist/types/HeaderGroup.d.ts +3 -5
  190. package/dist/types/Row.d.ts +7 -7
  191. package/dist/types/RowModel.d.ts +11 -25
  192. package/dist/types/RowModelFns.d.ts +5 -7
  193. package/dist/types/Table.d.ts +29 -32
  194. package/dist/types/TableFeatures.d.ts +388 -24
  195. package/dist/types/TableOptions.d.ts +24 -14
  196. package/dist/types/TableState.d.ts +8 -8
  197. package/dist/types/type-utils.d.ts +10 -4
  198. package/dist/utils.d.ts +32 -26
  199. package/dist/utils.js +52 -32
  200. package/dist/worker/createTableWorker.d.ts +100 -0
  201. package/dist/worker/createTableWorker.js +185 -0
  202. package/dist/worker/createWorkerRowModel.d.ts +40 -0
  203. package/dist/worker/createWorkerRowModel.js +77 -0
  204. package/dist/worker/initTableWorker.d.ts +31 -0
  205. package/dist/worker/initTableWorker.js +99 -0
  206. package/dist/worker/rebuildRowModel.d.ts +11 -0
  207. package/dist/worker/rebuildRowModel.js +71 -0
  208. package/dist/worker/serializeRowModel.js +51 -0
  209. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  210. package/dist/worker/tableWorkerProtocol.js +26 -0
  211. package/package.json +12 -28
  212. package/skills/aggregation/SKILL.md +141 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +204 -0
  215. package/skills/cell-spanning/SKILL.md +162 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +97 -0
  218. package/skills/column-filtering/SKILL.md +87 -0
  219. package/skills/column-ordering/SKILL.md +75 -0
  220. package/skills/column-pinning/SKILL.md +89 -0
  221. package/skills/column-resizing/SKILL.md +91 -0
  222. package/skills/column-sizing/SKILL.md +72 -0
  223. package/skills/column-visibility/SKILL.md +75 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +80 -0
  227. package/skills/global-filtering/SKILL.md +84 -0
  228. package/skills/grouping/SKILL.md +51 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +37 -344
  231. package/skills/row-pinning/SKILL.md +47 -234
  232. package/skills/row-selection/SKILL.md +75 -302
  233. package/skills/sorting/SKILL.md +45 -303
  234. package/skills/table-features/SKILL.md +159 -0
  235. package/skills/typescript/SKILL.md +126 -0
  236. package/dist/core/cells/constructCell.cjs +0 -34
  237. package/dist/core/cells/constructCell.cjs.map +0 -1
  238. package/dist/core/cells/constructCell.d.cts +0 -17
  239. package/dist/core/cells/constructCell.js.map +0 -1
  240. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  241. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  242. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  243. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  244. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  245. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  246. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  247. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  248. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  249. package/dist/core/columns/constructColumn.cjs +0 -61
  250. package/dist/core/columns/constructColumn.cjs.map +0 -1
  251. package/dist/core/columns/constructColumn.d.cts +0 -16
  252. package/dist/core/columns/constructColumn.js.map +0 -1
  253. package/dist/core/columns/coreColumnsFeature.cjs +0 -70
  254. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  255. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  256. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  257. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  258. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
  259. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  260. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  261. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  262. package/dist/core/coreFeatures.cjs +0 -25
  263. package/dist/core/coreFeatures.cjs.map +0 -1
  264. package/dist/core/coreFeatures.d.cts +0 -26
  265. package/dist/core/coreFeatures.js.map +0 -1
  266. package/dist/core/headers/buildHeaderGroups.cjs +0 -103
  267. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  268. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  269. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  270. package/dist/core/headers/constructHeader.cjs +0 -41
  271. package/dist/core/headers/constructHeader.cjs.map +0 -1
  272. package/dist/core/headers/constructHeader.d.cts +0 -22
  273. package/dist/core/headers/constructHeader.js.map +0 -1
  274. package/dist/core/headers/coreHeadersFeature.cjs +0 -55
  275. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  276. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  277. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  278. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  279. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
  280. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  281. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  282. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  283. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  284. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  285. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  286. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  287. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  288. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  289. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  290. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  291. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  292. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
  293. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
  294. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  295. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  296. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  297. package/dist/core/row-models/createCoreRowModel.cjs +0 -52
  298. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  299. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  300. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  301. package/dist/core/rows/constructRow.cjs +0 -44
  302. package/dist/core/rows/constructRow.cjs.map +0 -1
  303. package/dist/core/rows/constructRow.d.cts +0 -15
  304. package/dist/core/rows/constructRow.js.map +0 -1
  305. package/dist/core/rows/coreRowsFeature.cjs +0 -37
  306. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  307. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  308. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  309. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
  310. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
  311. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  312. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
  313. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  314. package/dist/core/table/constructTable.cjs +0 -118
  315. package/dist/core/table/constructTable.cjs.map +0 -1
  316. package/dist/core/table/constructTable.d.cts +0 -22
  317. package/dist/core/table/constructTable.js.map +0 -1
  318. package/dist/core/table/coreTablesFeature.cjs +0 -17
  319. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  320. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  321. package/dist/core/table/coreTablesFeature.js.map +0 -1
  322. package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
  323. package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
  324. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  325. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
  326. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  327. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
  328. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  329. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  330. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  331. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
  332. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
  333. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  334. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  335. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  336. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
  337. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  338. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  339. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  340. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
  341. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  342. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  343. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  344. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
  345. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  346. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  347. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  348. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  349. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  350. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  351. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  352. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
  353. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
  354. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
  356. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  357. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
  358. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  359. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
  360. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  361. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
  362. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  363. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  364. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
  365. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  366. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  367. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  368. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
  369. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
  370. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  371. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
  372. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  373. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
  374. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  375. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
  376. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  377. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
  378. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  379. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  380. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  381. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
  382. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
  383. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
  385. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  386. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
  387. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  388. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
  389. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  390. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
  391. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
  392. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
  394. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  395. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  396. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  397. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  398. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  399. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
  400. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
  401. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  403. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  404. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
  405. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  406. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  407. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  408. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
  409. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
  410. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  411. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
  412. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  413. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
  414. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  415. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  416. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  417. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  418. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
  419. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  420. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  421. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  422. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
  423. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  424. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  425. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  426. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  427. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  428. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  429. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
  430. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/stockFeatures.cjs +0 -41
  489. package/dist/features/stockFeatures.cjs.map +0 -1
  490. package/dist/features/stockFeatures.d.cts +0 -41
  491. package/dist/features/stockFeatures.js.map +0 -1
  492. package/dist/flex-render.cjs +0 -29
  493. package/dist/flex-render.cjs.map +0 -1
  494. package/dist/flex-render.d.cts +0 -34
  495. package/dist/flex-render.js.map +0 -1
  496. package/dist/fns/aggregationFns.cjs +0 -161
  497. package/dist/fns/aggregationFns.cjs.map +0 -1
  498. package/dist/fns/aggregationFns.d.cts +0 -85
  499. package/dist/fns/aggregationFns.d.ts +0 -85
  500. package/dist/fns/aggregationFns.js +0 -151
  501. package/dist/fns/aggregationFns.js.map +0 -1
  502. package/dist/fns/filterFns.cjs +0 -201
  503. package/dist/fns/filterFns.cjs.map +0 -1
  504. package/dist/fns/filterFns.d.cts +0 -167
  505. package/dist/fns/filterFns.d.ts +0 -167
  506. package/dist/fns/filterFns.js +0 -185
  507. package/dist/fns/filterFns.js.map +0 -1
  508. package/dist/fns/sortFns.cjs +0 -130
  509. package/dist/fns/sortFns.cjs.map +0 -1
  510. package/dist/fns/sortFns.d.cts +0 -65
  511. package/dist/fns/sortFns.d.ts +0 -65
  512. package/dist/fns/sortFns.js +0 -122
  513. package/dist/fns/sortFns.js.map +0 -1
  514. package/dist/helpers/columnHelper.cjs +0 -41
  515. package/dist/helpers/columnHelper.cjs.map +0 -1
  516. package/dist/helpers/columnHelper.d.cts +0 -71
  517. package/dist/helpers/columnHelper.js.map +0 -1
  518. package/dist/helpers/tableFeatures.cjs +0 -20
  519. package/dist/helpers/tableFeatures.cjs.map +0 -1
  520. package/dist/helpers/tableFeatures.d.cts +0 -18
  521. package/dist/helpers/tableFeatures.js.map +0 -1
  522. package/dist/helpers/tableOptions.cjs +0 -15
  523. package/dist/helpers/tableOptions.cjs.map +0 -1
  524. package/dist/helpers/tableOptions.d.cts +0 -57
  525. package/dist/helpers/tableOptions.js.map +0 -1
  526. package/dist/index.cjs +0 -133
  527. package/dist/index.d.cts +0 -78
  528. package/dist/reactivity.cjs +0 -4
  529. package/dist/reactivity.d.cts +0 -3
  530. package/dist/static-functions.cjs +0 -263
  531. package/dist/static-functions.d.cts +0 -21
  532. package/dist/store-reactivity-bindings.cjs +0 -44
  533. package/dist/store-reactivity-bindings.cjs.map +0 -1
  534. package/dist/store-reactivity-bindings.d.cts +0 -22
  535. package/dist/store-reactivity-bindings.js.map +0 -1
  536. package/dist/types/Cell.d.cts +0 -14
  537. package/dist/types/Column.d.cts +0 -36
  538. package/dist/types/ColumnDef.d.cts +0 -109
  539. package/dist/types/Header.d.cts +0 -16
  540. package/dist/types/HeaderGroup.d.cts +0 -10
  541. package/dist/types/Row.d.cts +0 -26
  542. package/dist/types/RowModel.d.cts +0 -36
  543. package/dist/types/RowModelFns.d.cts +0 -18
  544. package/dist/types/Table.d.cts +0 -70
  545. package/dist/types/TableFeatures.d.cts +0 -53
  546. package/dist/types/TableOptions.d.cts +0 -69
  547. package/dist/types/TableState.d.cts +0 -48
  548. package/dist/types/type-utils.d.cts +0 -23
  549. package/dist/utils.cjs +0 -243
  550. package/dist/utils.cjs.map +0 -1
  551. package/dist/utils.d.cts +0 -114
  552. package/dist/utils.js.map +0 -1
  553. package/skills/column-definitions/SKILL.md +0 -333
  554. package/skills/column-layout/SKILL.md +0 -328
  555. package/skills/column-layout/references/subsystems.md +0 -220
  556. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  557. package/skills/filtering/SKILL.md +0 -357
  558. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  559. package/skills/row-expanding/SKILL.md +0 -348
  560. package/skills/setup/SKILL.md +0 -400
  561. package/skills/state-management/SKILL.md +0 -388
  562. package/src/core/cells/constructCell.ts +0 -55
  563. package/src/core/cells/coreCellsFeature.ts +0 -27
  564. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  565. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  566. package/src/core/columns/constructColumn.ts +0 -119
  567. package/src/core/columns/coreColumnsFeature.ts +0 -73
  568. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  569. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  570. package/src/core/coreFeatures.ts +0 -31
  571. package/src/core/headers/buildHeaderGroups.ts +0 -182
  572. package/src/core/headers/constructHeader.ts +0 -67
  573. package/src/core/headers/coreHeadersFeature.ts +0 -56
  574. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  575. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  576. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  577. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  578. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  579. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  580. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  581. package/src/core/row-models/createCoreRowModel.ts +0 -93
  582. package/src/core/rows/constructRow.ts +0 -66
  583. package/src/core/rows/coreRowsFeature.ts +0 -62
  584. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  585. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  586. package/src/core/table/constructTable.ts +0 -172
  587. package/src/core/table/coreTablesFeature.ts +0 -19
  588. package/src/core/table/coreTablesFeature.types.ts +0 -216
  589. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  590. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  591. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  592. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  593. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  594. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  595. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  596. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  597. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  598. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  599. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  600. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  601. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  602. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  603. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  604. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  605. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  606. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  607. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  608. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  609. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  610. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  611. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  612. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  613. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  614. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  615. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  616. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  617. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  618. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  619. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  620. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  621. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  622. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  623. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  624. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  625. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  626. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  627. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  628. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  629. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  630. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  631. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  632. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  633. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  634. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  635. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  636. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
  637. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  638. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  639. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  640. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  641. package/src/features/stockFeatures.ts +0 -53
  642. package/src/flex-render.ts +0 -70
  643. package/src/fns/aggregationFns.ts +0 -245
  644. package/src/fns/filterFns.ts +0 -382
  645. package/src/fns/sortFns.ts +0 -240
  646. package/src/helpers/columnHelper.ts +0 -122
  647. package/src/helpers/tableFeatures.ts +0 -24
  648. package/src/helpers/tableOptions.ts +0 -117
  649. package/src/index.ts +0 -138
  650. package/src/process-env.d.ts +0 -6
  651. package/src/reactivity.ts +0 -2
  652. package/src/static-functions.ts +0 -31
  653. package/src/store-reactivity-bindings.ts +0 -47
  654. package/src/types/Cell.ts +0 -21
  655. package/src/types/Column.ts +0 -51
  656. package/src/types/ColumnDef.ts +0 -228
  657. package/src/types/Header.ts +0 -23
  658. package/src/types/HeaderGroup.ts +0 -13
  659. package/src/types/Row.ts +0 -34
  660. package/src/types/RowModel.ts +0 -98
  661. package/src/types/RowModelFns.ts +0 -32
  662. package/src/types/Table.ts +0 -91
  663. package/src/types/TableFeatures.ts +0 -101
  664. package/src/types/TableOptions.ts +0 -101
  665. package/src/types/TableState.ts +0 -47
  666. package/src/types/type-utils.ts +0 -84
  667. package/src/utils.ts +0 -441
@@ -1,82 +0,0 @@
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
- }
@@ -1,94 +0,0 @@
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
- }
@@ -1,147 +0,0 @@
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 CreateRowModel_Expanded<
129
- TFeatures extends TableFeatures,
130
- TData extends RowData,
131
- > {
132
- /**
133
- * Factory used to retrieve the expanded row model. If this function is not
134
- * provided, the table will not expand rows. To use client-side expansion,
135
- * pass `createExpandedRowModel()` or implement your own factory.
136
- */
137
- expandedRowModel?: (
138
- table: Table<TFeatures, TData>,
139
- ) => () => RowModel<TFeatures, TData>
140
- }
141
-
142
- export interface CachedRowModel_Expanded<
143
- TFeatures extends TableFeatures,
144
- TData extends RowData,
145
- > {
146
- expandedRowModel: () => RowModel<TFeatures, TData>
147
- }
@@ -1,374 +0,0 @@
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
- }