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

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 +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 +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,750 +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
- const 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
- // Always recurse — selected descendants of unselected parents must
662
- // still be collected into flatRows/rowsById.
663
- const newSubRows = recurseRows(row.subRows, depth + 1)
664
-
665
- if (isSelected) {
666
- // Preserve prototype chain so methods like getValue() remain accessible
667
- const cloned = Object.create(Object.getPrototypeOf(row))
668
- Object.assign(cloned, row)
669
- cloned.subRows = newSubRows
670
- result.push(cloned)
671
- }
672
- } else if (isSelected) {
673
- result.push(row)
674
- }
675
- }
676
- return result
677
- }
678
-
679
- return {
680
- rows: recurseRows(rowModel.rows),
681
- flatRows: newSelectedFlatRows,
682
- rowsById: newSelectedRowsById,
683
- }
684
- }
685
-
686
- /**
687
- * Returns whether a row id is selected in the current row selection state.
688
- *
689
- * @example
690
- * ```ts
691
- * const selected = isRowSelected(row)
692
- * ```
693
- */
694
- export function isRowSelected<
695
- TFeatures extends TableFeatures,
696
- TData extends RowData,
697
- >(row: Row<TFeatures, TData>): boolean {
698
- return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false
699
- }
700
-
701
- /**
702
- * Returns whether all, some, or none of a row's selectable descendants are selected.
703
- *
704
- * The result is used to drive indeterminate row selection UI.
705
- *
706
- * @example
707
- * ```ts
708
- * const selectedState = isSubRowSelected(row)
709
- * ```
710
- */
711
- export function isSubRowSelected<
712
- TFeatures extends TableFeatures,
713
- TData extends RowData,
714
- >(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {
715
- if (!row.subRows.length) return false
716
-
717
- let allChildrenSelected = true
718
- let someSelected = false
719
-
720
- row.subRows.forEach((subRow) => {
721
- // Bail out early if we know both of these
722
- if (someSelected && !allChildrenSelected) {
723
- return
724
- }
725
-
726
- if (row_getCanSelect(subRow)) {
727
- if (isRowSelected(subRow)) {
728
- someSelected = true
729
- } else {
730
- allChildrenSelected = false
731
- }
732
- }
733
-
734
- // Check row selection of nested subrows
735
- if (subRow.subRows.length) {
736
- const subRowChildrenSelected = isSubRowSelected(subRow)
737
- if (subRowChildrenSelected === 'all') {
738
- someSelected = true
739
- } else if (subRowChildrenSelected === 'some') {
740
- someSelected = true
741
- allChildrenSelected = false
742
- } else {
743
- allChildrenSelected = false
744
- }
745
- }
746
- })
747
-
748
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
749
- return allChildrenSelected ? 'all' : someSelected ? 'some' : false
750
- }