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

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 +25 -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 +1 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -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 +11 -8
  182. package/dist/static-functions.js +11 -8
  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,745 +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 { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
- import type { Table_Internal } from '../../types/Table'
6
- import type { Row } from '../../types/Row'
7
- import type { RowSelectionState } from './rowSelectionFeature.types'
8
-
9
- // State APIs
10
-
11
- /**
12
- * Creates the default row selection state.
13
- *
14
- * The feature default is an empty map, meaning no rows are selected. Reset APIs
15
- * use this value when `defaultState` is `true`.
16
- *
17
- * @example
18
- * ```ts
19
- * const selection = getDefaultRowSelectionState()
20
- * ```
21
- */
22
- export function getDefaultRowSelectionState(): RowSelectionState {
23
- return {}
24
- }
25
-
26
- /**
27
- * Routes a row selection updater through the table's selection change handler.
28
- *
29
- * The updater may be a next selection map or a function of the previous map,
30
- * matching the instance `table.setRowSelection` behavior.
31
- *
32
- * @example
33
- * ```ts
34
- * table_setRowSelection(table, (old) => ({ ...old, [rowId]: true }))
35
- * ```
36
- */
37
- export function table_setRowSelection<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
40
- >(
41
- table: Table_Internal<TFeatures, TData>,
42
- updater: Updater<RowSelectionState>,
43
- ) {
44
- table.options.onRowSelectionChange?.(updater)
45
- }
46
-
47
- /**
48
- * Resets `rowSelection` to the configured initial state or feature default.
49
- *
50
- * With no argument, the reset clones `table.initialState.rowSelection` when it
51
- * exists. Passing `true` ignores initial state and resets to `{}`.
52
- *
53
- * @example
54
- * ```ts
55
- * table_resetRowSelection(table)
56
- * table_resetRowSelection(table, true)
57
- * ```
58
- */
59
- export function table_resetRowSelection<
60
- TFeatures extends TableFeatures,
61
- TData extends RowData,
62
- >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
63
- table_setRowSelection(
64
- table,
65
- defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}),
66
- )
67
- }
68
-
69
- // Table APIs
70
-
71
- /**
72
- * Selects or deselects every selectable row before grouping.
73
- *
74
- * Omitting `value` toggles based on `table_getIsAllRowsSelected(table)`.
75
- * Deselecting removes matching ids from the existing selection map.
76
- *
77
- * @example
78
- * ```ts
79
- * table_toggleAllRowsSelected(table)
80
- * ```
81
- */
82
- export function table_toggleAllRowsSelected<
83
- TFeatures extends TableFeatures,
84
- TData extends RowData,
85
- >(table: Table_Internal<TFeatures, TData>, value?: boolean) {
86
- table_setRowSelection(table, (old) => {
87
- value =
88
- typeof value !== 'undefined' ? value : !table_getIsAllRowsSelected(table)
89
-
90
- const rowSelection = { ...old }
91
-
92
- const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows
93
-
94
- // We don't use `mutateRowIsSelected` here for performance reasons.
95
- // All of the rows are flat already, so it wouldn't be worth it
96
- if (value) {
97
- preGroupedFlatRows.forEach((row) => {
98
- if (!row_getCanSelect(row)) {
99
- return
100
- }
101
- rowSelection[row.id] = true
102
- })
103
- } else {
104
- preGroupedFlatRows.forEach((row) => {
105
- delete rowSelection[row.id]
106
- })
107
- }
108
-
109
- return rowSelection
110
- })
111
- }
112
-
113
- /**
114
- * Selects or deselects every selectable row on the current page.
115
- *
116
- * Omitting `value` toggles based on `table_getIsAllPageRowsSelected(table)`.
117
- * Child rows are included when sub-row selection allows it.
118
- *
119
- * @example
120
- * ```ts
121
- * table_toggleAllPageRowsSelected(table)
122
- * ```
123
- */
124
- export function table_toggleAllPageRowsSelected<
125
- TFeatures extends TableFeatures,
126
- TData extends RowData,
127
- >(table: Table_Internal<TFeatures, TData>, value?: boolean) {
128
- table_setRowSelection(table, (old) => {
129
- const resolvedValue =
130
- typeof value !== 'undefined'
131
- ? value
132
- : !table_getIsAllPageRowsSelected(table)
133
-
134
- const rowSelection: RowSelectionState = { ...old }
135
-
136
- table.getRowModel().rows.forEach((row) => {
137
- mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)
138
- })
139
-
140
- return rowSelection
141
- })
142
- }
143
-
144
- /**
145
- * Reads the row model before row selection is projected into selected rows.
146
- *
147
- * Selection does not alter the base row pipeline, so this returns the core row
148
- * model.
149
- *
150
- * @example
151
- * ```ts
152
- * const rowsBeforeSelection = table_getPreSelectedRowModel(table)
153
- * ```
154
- */
155
- export function table_getPreSelectedRowModel<
156
- TFeatures extends TableFeatures,
157
- TData extends RowData,
158
- >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
159
- return table.getCoreRowModel()
160
- }
161
-
162
- /**
163
- * Builds a row model containing selected rows from the core row model.
164
- *
165
- * If no row ids are selected, an empty row model is returned without walking
166
- * the rows.
167
- *
168
- * @example
169
- * ```ts
170
- * const selectedRows = table_getSelectedRowModel(table)
171
- * ```
172
- */
173
- export function table_getSelectedRowModel<
174
- TFeatures extends TableFeatures,
175
- TData extends RowData,
176
- >(table: Table_Internal<TFeatures, TData>) {
177
- const rowModel = table.getCoreRowModel()
178
-
179
- if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {
180
- return {
181
- rows: [],
182
- flatRows: [],
183
- rowsById: {},
184
- }
185
- }
186
-
187
- return selectRowsFn(rowModel)
188
- }
189
-
190
- /**
191
- * Builds a row model containing selected rows from the filtered row model.
192
- *
193
- * If no row ids are selected, an empty row model is returned without walking
194
- * the rows.
195
- *
196
- * @example
197
- * ```ts
198
- * const selectedRows = table_getFilteredSelectedRowModel(table)
199
- * ```
200
- */
201
- export function table_getFilteredSelectedRowModel<
202
- TFeatures extends TableFeatures,
203
- TData extends RowData,
204
- >(table: Table_Internal<TFeatures, TData>) {
205
- const rowModel = table.getCoreRowModel()
206
-
207
- if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {
208
- return {
209
- rows: [],
210
- flatRows: [],
211
- rowsById: {},
212
- }
213
- }
214
-
215
- return selectRowsFn(rowModel)
216
- }
217
-
218
- /**
219
- * Builds a row model containing selected rows from the grouped row model.
220
- *
221
- * If no row ids are selected, an empty row model is returned without walking
222
- * the rows.
223
- *
224
- * @example
225
- * ```ts
226
- * const selectedRows = table_getGroupedSelectedRowModel(table)
227
- * ```
228
- */
229
- export function table_getGroupedSelectedRowModel<
230
- TFeatures extends TableFeatures,
231
- TData extends RowData,
232
- >(table: Table_Internal<TFeatures, TData>) {
233
- const rowModel = table.getCoreRowModel()
234
-
235
- if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {
236
- return {
237
- rows: [],
238
- flatRows: [],
239
- rowsById: {},
240
- }
241
- }
242
-
243
- return selectRowsFn(rowModel)
244
- }
245
-
246
- /**
247
- * Checks whether every selectable filtered row is selected.
248
- *
249
- * The result is false when there are no filtered rows or when selection state is
250
- * empty.
251
- *
252
- * @example
253
- * ```ts
254
- * const allSelected = table_getIsAllRowsSelected(table)
255
- * ```
256
- */
257
- export function table_getIsAllRowsSelected<
258
- TFeatures extends TableFeatures,
259
- TData extends RowData,
260
- >(table: Table_Internal<TFeatures, TData>) {
261
- const preGroupedFlatRows = table.getFilteredRowModel().flatRows
262
- const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}
263
-
264
- let isAllRowsSelected = Boolean(
265
- preGroupedFlatRows.length && Object.keys(rowSelection).length,
266
- )
267
-
268
- if (isAllRowsSelected) {
269
- if (
270
- preGroupedFlatRows.some(
271
- (row) => row_getCanSelect(row) && !rowSelection[row.id],
272
- )
273
- ) {
274
- isAllRowsSelected = false
275
- }
276
- }
277
-
278
- return isAllRowsSelected
279
- }
280
-
281
- /**
282
- * Checks whether every selectable row on the current page is selected.
283
- *
284
- * Non-selectable rows are ignored for this calculation.
285
- *
286
- * @example
287
- * ```ts
288
- * const allPageRowsSelected = table_getIsAllPageRowsSelected(table)
289
- * ```
290
- */
291
- export function table_getIsAllPageRowsSelected<
292
- TFeatures extends TableFeatures,
293
- TData extends RowData,
294
- >(table: Table_Internal<TFeatures, TData>) {
295
- const paginationFlatRows = table
296
- .getPaginatedRowModel()
297
- .flatRows.filter((row) => row_getCanSelect(row))
298
- const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}
299
-
300
- let isAllPageRowsSelected = !!paginationFlatRows.length
301
-
302
- if (
303
- isAllPageRowsSelected &&
304
- paginationFlatRows.some((row) => !rowSelection[row.id])
305
- ) {
306
- isAllPageRowsSelected = false
307
- }
308
-
309
- return isAllPageRowsSelected
310
- }
311
-
312
- /**
313
- * Checks whether selection is partially applied across filtered rows.
314
- *
315
- * The result is true when at least one row id is selected but fewer ids are
316
- * selected than the current filtered flat row count.
317
- *
318
- * @example
319
- * ```ts
320
- * const someRowsSelected = table_getIsSomeRowsSelected(table)
321
- * ```
322
- */
323
- export function table_getIsSomeRowsSelected<
324
- TFeatures extends TableFeatures,
325
- TData extends RowData,
326
- >(table: Table_Internal<TFeatures, TData>) {
327
- const totalSelected = Object.keys(
328
- table.atoms.rowSelection?.get() ?? {},
329
- ).length
330
- return (
331
- totalSelected > 0 &&
332
- totalSelected < table.getFilteredRowModel().flatRows.length
333
- )
334
- }
335
-
336
- /**
337
- * Checks whether the current page has a partial selection.
338
- *
339
- * This is false when all selectable page rows are selected. Otherwise it is true
340
- * if any selectable page row or descendant is selected.
341
- *
342
- * @example
343
- * ```ts
344
- * const somePageRowsSelected = table_getIsSomePageRowsSelected(table)
345
- * ```
346
- */
347
- export function table_getIsSomePageRowsSelected<
348
- TFeatures extends TableFeatures,
349
- TData extends RowData,
350
- >(table: Table_Internal<TFeatures, TData>) {
351
- const paginationFlatRows = table.getPaginatedRowModel().flatRows
352
- return table_getIsAllPageRowsSelected(table)
353
- ? false
354
- : paginationFlatRows
355
- .filter((row) => row_getCanSelect(row))
356
- .some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))
357
- }
358
-
359
- /**
360
- * Creates a checkbox-style handler that selects or deselects all rows.
361
- *
362
- * The handler reads `event.target.checked`, so it is intended for controls whose
363
- * checked state means "all rows selected".
364
- *
365
- * @example
366
- * ```ts
367
- * const onChange = table_getToggleAllRowsSelectedHandler(table)
368
- * ```
369
- */
370
- export function table_getToggleAllRowsSelectedHandler<
371
- TFeatures extends TableFeatures,
372
- TData extends RowData,
373
- >(table: Table_Internal<TFeatures, TData>) {
374
- return (e: unknown) => {
375
- table_toggleAllRowsSelected(
376
- table,
377
- ((e as MouseEvent).target as HTMLInputElement).checked,
378
- )
379
- }
380
- }
381
-
382
- /**
383
- * Creates a checkbox-style handler that selects or deselects current page rows.
384
- *
385
- * The handler reads `event.target.checked`, so it is intended for controls whose
386
- * checked state means "all page rows selected".
387
- *
388
- * @example
389
- * ```ts
390
- * const onChange = table_getToggleAllPageRowsSelectedHandler(table)
391
- * ```
392
- */
393
- export function table_getToggleAllPageRowsSelectedHandler<
394
- TFeatures extends TableFeatures,
395
- TData extends RowData,
396
- >(table: Table_Internal<TFeatures, TData>) {
397
- return (e: unknown) => {
398
- table_toggleAllPageRowsSelected(
399
- table,
400
- ((e as MouseEvent).target as HTMLInputElement).checked,
401
- )
402
- }
403
- }
404
-
405
- // Row APIs
406
-
407
- /**
408
- * Selects or deselects this row.
409
- *
410
- * Omitting `value` toggles the row. Child rows are selected recursively unless
411
- * `opts.selectChildren` is `false` or sub-row selection is disabled.
412
- *
413
- * @example
414
- * ```ts
415
- * row_toggleSelected(row)
416
- * ```
417
- */
418
- export function row_toggleSelected<
419
- TFeatures extends TableFeatures,
420
- TData extends RowData,
421
- >(
422
- row: Row<TFeatures, TData>,
423
- value?: boolean,
424
- opts?: {
425
- selectChildren?: boolean
426
- },
427
- ) {
428
- const isSelected = row_getIsSelected(row)
429
-
430
- table_setRowSelection(row.table, (old) => {
431
- value = typeof value !== 'undefined' ? value : !isSelected
432
-
433
- if (row_getCanSelect(row) && isSelected === value) {
434
- return old
435
- }
436
-
437
- const selectedRowIds = { ...old }
438
-
439
- mutateRowIsSelected(
440
- selectedRowIds,
441
- row.id,
442
- value,
443
- opts?.selectChildren ?? true,
444
- row.table,
445
- )
446
-
447
- return selectedRowIds
448
- })
449
- }
450
-
451
- /**
452
- * Checks whether this row id is selected in `state.rowSelection`.
453
- *
454
- * Missing row ids are treated as not selected.
455
- *
456
- * @example
457
- * ```ts
458
- * const selected = row_getIsSelected(row)
459
- * ```
460
- */
461
- export function row_getIsSelected<
462
- TFeatures extends TableFeatures,
463
- TData extends RowData,
464
- >(row: Row<TFeatures, TData>) {
465
- return isRowSelected(row)
466
- }
467
-
468
- /**
469
- * Checks whether some, but not all, selectable descendants are selected.
470
- *
471
- * This supports indeterminate selection UI for parent rows.
472
- *
473
- * @example
474
- * ```ts
475
- * const partial = row_getIsSomeSelected(row)
476
- * ```
477
- */
478
- export function row_getIsSomeSelected<
479
- TFeatures extends TableFeatures,
480
- TData extends RowData,
481
- >(row: Row<TFeatures, TData>) {
482
- return isSubRowSelected(row) === 'some'
483
- }
484
-
485
- /**
486
- * Checks whether all selectable descendants are selected.
487
- *
488
- * Rows without selectable descendants return false.
489
- *
490
- * @example
491
- * ```ts
492
- * const allChildrenSelected = row_getIsAllSubRowsSelected(row)
493
- * ```
494
- */
495
- export function row_getIsAllSubRowsSelected<
496
- TFeatures extends TableFeatures,
497
- TData extends RowData,
498
- >(row: Row<TFeatures, TData>) {
499
- return isSubRowSelected(row) === 'all'
500
- }
501
-
502
- /**
503
- * Checks whether this row can be selected.
504
- *
505
- * `options.enableRowSelection` may be a boolean or a row predicate; it defaults
506
- * to `true`.
507
- *
508
- * @example
509
- * ```ts
510
- * const canSelect = row_getCanSelect(row)
511
- * ```
512
- */
513
- export function row_getCanSelect<
514
- TFeatures extends TableFeatures,
515
- TData extends RowData,
516
- >(row: Row<TFeatures, TData>) {
517
- const options = row.table.options
518
- if (typeof options.enableRowSelection === 'function') {
519
- return options.enableRowSelection(row)
520
- }
521
-
522
- return options.enableRowSelection ?? true
523
- }
524
-
525
- /**
526
- * Checks whether selecting this row should also select its subRows.
527
- *
528
- * `options.enableSubRowSelection` may be a boolean or a row predicate; it
529
- * defaults to `true`.
530
- *
531
- * @example
532
- * ```ts
533
- * const canSelectChildren = row_getCanSelectSubRows(row)
534
- * ```
535
- */
536
- export function row_getCanSelectSubRows<
537
- TFeatures extends TableFeatures,
538
- TData extends RowData,
539
- >(row: Row<TFeatures, TData>) {
540
- const options = row.table.options
541
- if (typeof options.enableSubRowSelection === 'function') {
542
- return options.enableSubRowSelection(row)
543
- }
544
-
545
- return options.enableSubRowSelection ?? true
546
- }
547
-
548
- /**
549
- * Checks whether this row can be selected alongside other rows.
550
- *
551
- * `options.enableMultiRowSelection` may be a boolean or a row predicate; it
552
- * defaults to `true`.
553
- *
554
- * @example
555
- * ```ts
556
- * const canMultiSelect = row_getCanMultiSelect(row)
557
- * ```
558
- */
559
- export function row_getCanMultiSelect<
560
- TFeatures extends TableFeatures,
561
- TData extends RowData,
562
- >(row: Row<TFeatures, TData>) {
563
- const options = row.table.options
564
- if (typeof options.enableMultiRowSelection === 'function') {
565
- return options.enableMultiRowSelection(row)
566
- }
567
-
568
- return options.enableMultiRowSelection ?? true
569
- }
570
-
571
- /**
572
- * Creates a checkbox-style handler that selects or deselects this row.
573
- *
574
- * The handler is a no-op when the row cannot be selected and reads
575
- * `event.target.checked`.
576
- *
577
- * @example
578
- * ```ts
579
- * const onChange = row_getToggleSelectedHandler(row)
580
- * ```
581
- */
582
- export function row_getToggleSelectedHandler<
583
- TFeatures extends TableFeatures,
584
- TData extends RowData,
585
- >(row: Row<TFeatures, TData>) {
586
- const canSelect = row_getCanSelect(row)
587
-
588
- return (e: unknown) => {
589
- if (!canSelect) return
590
- row_toggleSelected(
591
- row,
592
- ((e as MouseEvent).target as HTMLInputElement).checked,
593
- )
594
- }
595
- }
596
-
597
- const mutateRowIsSelected = <
598
- TFeatures extends TableFeatures,
599
- TData extends RowData,
600
- >(
601
- selectedRowIds: Record<string, boolean | undefined>,
602
- rowId: string,
603
- value: boolean,
604
- includeChildren: boolean,
605
- table: Table_Internal<TFeatures, TData>,
606
- ) => {
607
- const row = table.getRow(rowId, true)
608
-
609
- if (value) {
610
- if (!row_getCanMultiSelect(row)) {
611
- Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key])
612
- }
613
- if (row_getCanSelect(row)) {
614
- selectedRowIds[rowId] = true
615
- }
616
- } else {
617
- delete selectedRowIds[rowId]
618
- }
619
-
620
- if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {
621
- row.subRows.forEach((r) =>
622
- mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table),
623
- )
624
- }
625
- }
626
-
627
- /**
628
- * Builds a row model containing rows selected by the current row selection state.
629
- *
630
- * The result is derived from the supplied row model, so selected ids absent from
631
- * that model are not materialized as rows.
632
- *
633
- * @example
634
- * ```ts
635
- * const selectedRows = selectRowsFn(rowModel)
636
- * ```
637
- */
638
- export function selectRowsFn<
639
- TFeatures extends TableFeatures,
640
- TData extends RowData,
641
- >(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {
642
- const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []
643
- const newSelectedRowsById: Record<string, Row<TFeatures, TData>> = {}
644
-
645
- // Filters top level and nested rows.
646
- const recurseRows = (
647
- rows: Array<Row<TFeatures, TData>>,
648
- depth = 0,
649
- ): Array<Row<TFeatures, TData>> => {
650
- const result: Array<Row<TFeatures, TData>> = []
651
- for (let i = 0; i < rows.length; i++) {
652
- let row = rows[i]!
653
- const isSelected = isRowSelected(row)
654
-
655
- if (isSelected) {
656
- newSelectedFlatRows.push(row)
657
- newSelectedRowsById[row.id] = row
658
- }
659
-
660
- if (row.subRows.length) {
661
- row = {
662
- ...row,
663
- subRows: recurseRows(row.subRows, depth + 1),
664
- }
665
- }
666
-
667
- if (isSelected) {
668
- result.push(row)
669
- }
670
- }
671
- return result
672
- }
673
-
674
- return {
675
- rows: recurseRows(rowModel.rows),
676
- flatRows: newSelectedFlatRows,
677
- rowsById: newSelectedRowsById,
678
- }
679
- }
680
-
681
- /**
682
- * Returns whether a row id is selected in the current row selection state.
683
- *
684
- * @example
685
- * ```ts
686
- * const selected = isRowSelected(row)
687
- * ```
688
- */
689
- export function isRowSelected<
690
- TFeatures extends TableFeatures,
691
- TData extends RowData,
692
- >(row: Row<TFeatures, TData>): boolean {
693
- return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false
694
- }
695
-
696
- /**
697
- * Returns whether all, some, or none of a row's selectable descendants are selected.
698
- *
699
- * The result is used to drive indeterminate row selection UI.
700
- *
701
- * @example
702
- * ```ts
703
- * const selectedState = isSubRowSelected(row)
704
- * ```
705
- */
706
- export function isSubRowSelected<
707
- TFeatures extends TableFeatures,
708
- TData extends RowData,
709
- >(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {
710
- if (!row.subRows.length) return false
711
-
712
- let allChildrenSelected = true
713
- let someSelected = false
714
-
715
- row.subRows.forEach((subRow) => {
716
- // Bail out early if we know both of these
717
- if (someSelected && !allChildrenSelected) {
718
- return
719
- }
720
-
721
- if (row_getCanSelect(subRow)) {
722
- if (isRowSelected(subRow)) {
723
- someSelected = true
724
- } else {
725
- allChildrenSelected = false
726
- }
727
- }
728
-
729
- // Check row selection of nested subrows
730
- if (subRow.subRows.length) {
731
- const subRowChildrenSelected = isSubRowSelected(subRow)
732
- if (subRowChildrenSelected === 'all') {
733
- someSelected = true
734
- } else if (subRowChildrenSelected === 'some') {
735
- someSelected = true
736
- allChildrenSelected = false
737
- } else {
738
- allChildrenSelected = false
739
- }
740
- }
741
- })
742
-
743
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
744
- return allChildrenSelected ? 'all' : someSelected ? 'some' : false
745
- }