@tanstack/table-core 9.0.0-beta.9 → 9.0.1

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 (672) hide show
  1. package/README.md +27 -9
  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 +2 -4
  12. package/dist/core/columns/coreColumnsFeature.js +14 -21
  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 +2 -2
  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 +22 -12
  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 +29 -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 +43 -11
  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 +54 -22
  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 +41 -24
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +71 -25
  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 +879 -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 +7 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +14 -43
  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 +29 -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 +90 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +25 -18
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +42 -23
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +34 -30
  84. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  85. package/dist/features/column-filtering/filterFns.js +377 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +12 -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 +79 -43
  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 +22 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +39 -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 +67 -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 +7 -18
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +26 -22
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +66 -45
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +10 -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 +6 -17
  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 +12 -18
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +70 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +69 -16
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +70 -38
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +229 -108
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +72 -54
  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 +74 -31
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +39 -27
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +66 -33
  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 +1 -2
  172. package/dist/helpers/metaHelper.js +1 -2
  173. package/dist/helpers/tableFeatures.d.ts +30 -13
  174. package/dist/helpers/tableFeatures.js +28 -10
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +32 -26
  178. package/dist/index.js +9 -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 +13 -10
  183. package/dist/store-reactivity-bindings.d.ts +1 -3
  184. package/dist/store-reactivity-bindings.js +3 -4
  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 +23 -19
  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 +372 -30
  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 +42 -27
  199. package/dist/utils.js +71 -33
  200. package/dist/worker/createTableWorker.d.ts +102 -0
  201. package/dist/worker/createTableWorker.js +188 -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 +137 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +200 -0
  215. package/skills/cell-spanning/SKILL.md +158 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +93 -0
  218. package/skills/column-filtering/SKILL.md +83 -0
  219. package/skills/column-ordering/SKILL.md +71 -0
  220. package/skills/column-pinning/SKILL.md +85 -0
  221. package/skills/column-resizing/SKILL.md +87 -0
  222. package/skills/column-sizing/SKILL.md +68 -0
  223. package/skills/column-visibility/SKILL.md +71 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +76 -0
  227. package/skills/global-filtering/SKILL.md +80 -0
  228. package/skills/grouping/SKILL.md +47 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +33 -344
  231. package/skills/row-pinning/SKILL.md +43 -234
  232. package/skills/row-selection/SKILL.md +79 -296
  233. package/skills/sorting/SKILL.md +41 -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 -119
  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 -200
  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 -518
  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/metaHelper.cjs +0 -30
  519. package/dist/helpers/metaHelper.cjs.map +0 -1
  520. package/dist/helpers/metaHelper.d.cts +0 -26
  521. package/dist/helpers/metaHelper.js.map +0 -1
  522. package/dist/helpers/tableFeatures.cjs +0 -30
  523. package/dist/helpers/tableFeatures.cjs.map +0 -1
  524. package/dist/helpers/tableFeatures.d.cts +0 -28
  525. package/dist/helpers/tableFeatures.js.map +0 -1
  526. package/dist/helpers/tableOptions.cjs +0 -15
  527. package/dist/helpers/tableOptions.cjs.map +0 -1
  528. package/dist/helpers/tableOptions.d.cts +0 -57
  529. package/dist/helpers/tableOptions.js.map +0 -1
  530. package/dist/index.cjs +0 -135
  531. package/dist/index.d.cts +0 -79
  532. package/dist/reactivity.cjs +0 -4
  533. package/dist/reactivity.d.cts +0 -3
  534. package/dist/static-functions.cjs +0 -263
  535. package/dist/static-functions.d.cts +0 -21
  536. package/dist/store-reactivity-bindings.cjs +0 -44
  537. package/dist/store-reactivity-bindings.cjs.map +0 -1
  538. package/dist/store-reactivity-bindings.d.cts +0 -22
  539. package/dist/store-reactivity-bindings.js.map +0 -1
  540. package/dist/types/Cell.d.cts +0 -14
  541. package/dist/types/Column.d.cts +0 -36
  542. package/dist/types/ColumnDef.d.cts +0 -123
  543. package/dist/types/Header.d.cts +0 -16
  544. package/dist/types/HeaderGroup.d.cts +0 -10
  545. package/dist/types/Row.d.cts +0 -26
  546. package/dist/types/RowModel.d.cts +0 -36
  547. package/dist/types/RowModelFns.d.cts +0 -18
  548. package/dist/types/Table.d.cts +0 -70
  549. package/dist/types/TableFeatures.d.cts +0 -75
  550. package/dist/types/TableOptions.d.cts +0 -69
  551. package/dist/types/TableState.d.cts +0 -48
  552. package/dist/types/type-utils.d.cts +0 -23
  553. package/dist/utils.cjs +0 -243
  554. package/dist/utils.cjs.map +0 -1
  555. package/dist/utils.d.cts +0 -114
  556. package/dist/utils.js.map +0 -1
  557. package/skills/column-definitions/SKILL.md +0 -333
  558. package/skills/column-layout/SKILL.md +0 -328
  559. package/skills/column-layout/references/subsystems.md +0 -220
  560. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  561. package/skills/filtering/SKILL.md +0 -357
  562. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  563. package/skills/row-expanding/SKILL.md +0 -348
  564. package/skills/setup/SKILL.md +0 -400
  565. package/skills/state-management/SKILL.md +0 -388
  566. package/src/core/cells/constructCell.ts +0 -55
  567. package/src/core/cells/coreCellsFeature.ts +0 -27
  568. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  569. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  570. package/src/core/columns/constructColumn.ts +0 -119
  571. package/src/core/columns/coreColumnsFeature.ts +0 -73
  572. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  573. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  574. package/src/core/coreFeatures.ts +0 -31
  575. package/src/core/headers/buildHeaderGroups.ts +0 -182
  576. package/src/core/headers/constructHeader.ts +0 -67
  577. package/src/core/headers/coreHeadersFeature.ts +0 -56
  578. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  579. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  580. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  581. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  582. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  583. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  584. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  585. package/src/core/row-models/createCoreRowModel.ts +0 -93
  586. package/src/core/rows/constructRow.ts +0 -66
  587. package/src/core/rows/coreRowsFeature.ts +0 -62
  588. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  589. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  590. package/src/core/table/constructTable.ts +0 -179
  591. package/src/core/table/coreTablesFeature.ts +0 -19
  592. package/src/core/table/coreTablesFeature.types.ts +0 -237
  593. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  594. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  595. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  596. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  597. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  598. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  599. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  600. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  601. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  602. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  603. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  604. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  605. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  606. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  607. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  608. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  609. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  610. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  611. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  612. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  613. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  614. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  615. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  616. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  617. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  618. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  619. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  620. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  621. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  622. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  623. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  624. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  625. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  626. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  627. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  628. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  629. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  630. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  631. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  632. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  633. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  634. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  635. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  636. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  637. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  638. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  639. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  640. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -750
  641. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  642. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  643. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  644. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  645. package/src/features/stockFeatures.ts +0 -53
  646. package/src/flex-render.ts +0 -70
  647. package/src/fns/aggregationFns.ts +0 -245
  648. package/src/fns/filterFns.ts +0 -382
  649. package/src/fns/sortFns.ts +0 -240
  650. package/src/helpers/columnHelper.ts +0 -122
  651. package/src/helpers/metaHelper.ts +0 -24
  652. package/src/helpers/tableFeatures.ts +0 -34
  653. package/src/helpers/tableOptions.ts +0 -117
  654. package/src/index.ts +0 -139
  655. package/src/process-env.d.ts +0 -6
  656. package/src/reactivity.ts +0 -2
  657. package/src/static-functions.ts +0 -31
  658. package/src/store-reactivity-bindings.ts +0 -47
  659. package/src/types/Cell.ts +0 -21
  660. package/src/types/Column.ts +0 -51
  661. package/src/types/ColumnDef.ts +0 -254
  662. package/src/types/Header.ts +0 -23
  663. package/src/types/HeaderGroup.ts +0 -13
  664. package/src/types/Row.ts +0 -34
  665. package/src/types/RowModel.ts +0 -98
  666. package/src/types/RowModelFns.ts +0 -32
  667. package/src/types/Table.ts +0 -91
  668. package/src/types/TableFeatures.ts +0 -123
  669. package/src/types/TableOptions.ts +0 -104
  670. package/src/types/TableState.ts +0 -47
  671. package/src/types/type-utils.ts +0 -84
  672. 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
- }