@tanstack/table-core 9.0.0-alpha.43 → 9.0.0-alpha.46

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 (518) hide show
  1. package/dist/core/cells/constructCell.cjs +5 -0
  2. package/dist/core/cells/constructCell.cjs.map +1 -1
  3. package/dist/core/cells/constructCell.d.cts +5 -0
  4. package/dist/core/cells/constructCell.d.ts +5 -0
  5. package/dist/core/cells/constructCell.js +5 -0
  6. package/dist/core/cells/constructCell.js.map +1 -1
  7. package/dist/core/cells/coreCellsFeature.cjs +5 -0
  8. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.d.cts +5 -0
  10. package/dist/core/cells/coreCellsFeature.d.ts +5 -0
  11. package/dist/core/cells/coreCellsFeature.js +5 -0
  12. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  13. package/dist/core/cells/coreCellsFeature.utils.cjs +30 -0
  14. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  15. package/dist/core/cells/coreCellsFeature.utils.d.cts +30 -0
  16. package/dist/core/cells/coreCellsFeature.utils.d.ts +30 -0
  17. package/dist/core/cells/coreCellsFeature.utils.js +30 -0
  18. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  19. package/dist/core/columns/constructColumn.cjs +16 -9
  20. package/dist/core/columns/constructColumn.cjs.map +1 -1
  21. package/dist/core/columns/constructColumn.d.cts +5 -0
  22. package/dist/core/columns/constructColumn.d.ts +5 -0
  23. package/dist/core/columns/constructColumn.js +16 -9
  24. package/dist/core/columns/constructColumn.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.cjs +9 -0
  26. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  27. package/dist/core/columns/coreColumnsFeature.d.cts +5 -0
  28. package/dist/core/columns/coreColumnsFeature.d.ts +5 -0
  29. package/dist/core/columns/coreColumnsFeature.js +10 -1
  30. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  31. package/dist/core/columns/coreColumnsFeature.types.d.cts +4 -0
  32. package/dist/core/columns/coreColumnsFeature.types.d.ts +4 -0
  33. package/dist/core/columns/coreColumnsFeature.utils.cjs +99 -4
  34. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  35. package/dist/core/columns/coreColumnsFeature.utils.d.cts +92 -1
  36. package/dist/core/columns/coreColumnsFeature.utils.d.ts +92 -1
  37. package/dist/core/columns/coreColumnsFeature.utils.js +99 -5
  38. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  39. package/dist/core/coreFeatures.cjs +5 -0
  40. package/dist/core/coreFeatures.cjs.map +1 -1
  41. package/dist/core/coreFeatures.d.cts +5 -0
  42. package/dist/core/coreFeatures.d.ts +5 -0
  43. package/dist/core/coreFeatures.js +5 -0
  44. package/dist/core/coreFeatures.js.map +1 -1
  45. package/dist/core/headers/buildHeaderGroups.cjs +6 -1
  46. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  47. package/dist/core/headers/buildHeaderGroups.d.cts +5 -0
  48. package/dist/core/headers/buildHeaderGroups.d.ts +5 -0
  49. package/dist/core/headers/buildHeaderGroups.js +6 -1
  50. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  51. package/dist/core/headers/constructHeader.cjs +5 -0
  52. package/dist/core/headers/constructHeader.cjs.map +1 -1
  53. package/dist/core/headers/constructHeader.d.cts +5 -0
  54. package/dist/core/headers/constructHeader.d.ts +5 -0
  55. package/dist/core/headers/constructHeader.js +5 -0
  56. package/dist/core/headers/constructHeader.js.map +1 -1
  57. package/dist/core/headers/coreHeadersFeature.cjs +5 -0
  58. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  59. package/dist/core/headers/coreHeadersFeature.d.cts +5 -0
  60. package/dist/core/headers/coreHeadersFeature.d.ts +5 -0
  61. package/dist/core/headers/coreHeadersFeature.js +5 -0
  62. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  63. package/dist/core/headers/coreHeadersFeature.utils.cjs +71 -2
  64. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  65. package/dist/core/headers/coreHeadersFeature.utils.d.cts +60 -0
  66. package/dist/core/headers/coreHeadersFeature.utils.d.ts +60 -0
  67. package/dist/core/headers/coreHeadersFeature.utils.js +72 -3
  68. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  69. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  70. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  71. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  73. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  75. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  76. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  79. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  81. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  82. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  83. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  84. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  87. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  89. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  90. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  92. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  93. package/dist/core/row-models/createCoreRowModel.js +5 -0
  94. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  95. package/dist/core/rows/constructRow.cjs +5 -0
  96. package/dist/core/rows/constructRow.cjs.map +1 -1
  97. package/dist/core/rows/constructRow.d.cts +5 -0
  98. package/dist/core/rows/constructRow.d.ts +5 -0
  99. package/dist/core/rows/constructRow.js +5 -0
  100. package/dist/core/rows/constructRow.js.map +1 -1
  101. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  102. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  104. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  105. package/dist/core/rows/coreRowsFeature.js +5 -0
  106. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  107. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  108. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  109. package/dist/core/rows/coreRowsFeature.utils.cjs +104 -4
  110. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  111. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  112. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  113. package/dist/core/rows/coreRowsFeature.utils.js +104 -4
  114. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  115. package/dist/core/table/constructTable.cjs +10 -0
  116. package/dist/core/table/constructTable.cjs.map +1 -1
  117. package/dist/core/table/constructTable.d.cts +10 -0
  118. package/dist/core/table/constructTable.d.ts +10 -0
  119. package/dist/core/table/constructTable.js +10 -0
  120. package/dist/core/table/constructTable.js.map +1 -1
  121. package/dist/core/table/coreTablesFeature.cjs +5 -0
  122. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  123. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  124. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  125. package/dist/core/table/coreTablesFeature.js +5 -0
  126. package/dist/core/table/coreTablesFeature.js.map +1 -1
  127. package/dist/core/table/coreTablesFeature.types.d.cts +22 -12
  128. package/dist/core/table/coreTablesFeature.types.d.ts +22 -12
  129. package/dist/core/table/coreTablesFeature.utils.cjs +44 -0
  130. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  131. package/dist/core/table/coreTablesFeature.utils.d.cts +44 -0
  132. package/dist/core/table/coreTablesFeature.utils.d.ts +44 -0
  133. package/dist/core/table/coreTablesFeature.utils.js +44 -0
  134. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  135. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  136. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  142. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +5 -0
  150. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.js +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  155. package/dist/features/column-faceting/createFacetedRowModel.cjs +5 -0
  156. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  159. package/dist/features/column-faceting/createFacetedRowModel.js +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  161. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +5 -0
  162. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  165. package/dist/features/column-faceting/createFacetedUniqueValues.js +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  167. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  168. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  171. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  173. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  174. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  175. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  176. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  181. package/dist/features/column-filtering/createFilteredRowModel.cjs +5 -0
  182. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  185. package/dist/features/column-filtering/createFilteredRowModel.js +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  187. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  188. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  192. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  198. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  206. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  212. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  214. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  216. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  218. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +98 -8
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js +98 -8
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  225. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  226. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  228. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  229. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  230. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  231. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  232. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  233. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +360 -17
  234. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  235. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +314 -3
  236. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +314 -3
  237. package/dist/features/column-pinning/columnPinningFeature.utils.js +361 -18
  238. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  239. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  240. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  243. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  245. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  246. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  247. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  248. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  249. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  253. package/dist/features/column-sizing/columnSizingFeature.cjs +50 -12
  254. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  256. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  257. package/dist/features/column-sizing/columnSizingFeature.js +51 -13
  258. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  259. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  260. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  261. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  262. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  263. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  264. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  265. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  266. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  267. package/dist/features/column-visibility/columnVisibilityFeature.cjs +26 -25
  268. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  270. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.js +27 -26
  272. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +4 -3
  274. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -3
  275. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +172 -12
  276. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +143 -3
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +143 -3
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +173 -12
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  281. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  282. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  285. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  287. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  289. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  295. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  296. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  299. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  301. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  302. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  308. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  309. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +151 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  315. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  316. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  319. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  321. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  322. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  328. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  329. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  335. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  336. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  339. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  341. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  342. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  343. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +112 -0
  344. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  345. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  349. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  350. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  353. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  355. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  356. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  357. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +259 -0
  358. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  359. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  363. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -0
  364. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  366. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  367. package/dist/features/row-sorting/createSortedRowModel.js +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  369. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  370. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  372. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  373. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  374. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  375. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  376. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  377. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +151 -0
  378. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  379. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  381. package/dist/features/row-sorting/rowSortingFeature.utils.js +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  383. package/dist/features/stockFeatures.cjs +5 -0
  384. package/dist/features/stockFeatures.cjs.map +1 -1
  385. package/dist/features/stockFeatures.d.cts +5 -0
  386. package/dist/features/stockFeatures.d.ts +5 -0
  387. package/dist/features/stockFeatures.js +5 -0
  388. package/dist/features/stockFeatures.js.map +1 -1
  389. package/dist/flex-render.cjs +10 -0
  390. package/dist/flex-render.cjs.map +1 -1
  391. package/dist/flex-render.d.cts +10 -0
  392. package/dist/flex-render.d.ts +10 -0
  393. package/dist/flex-render.js +10 -0
  394. package/dist/flex-render.js.map +1 -1
  395. package/dist/fns/aggregationFns.cjs +5 -0
  396. package/dist/fns/aggregationFns.cjs.map +1 -1
  397. package/dist/fns/aggregationFns.d.cts +5 -0
  398. package/dist/fns/aggregationFns.d.ts +5 -0
  399. package/dist/fns/aggregationFns.js +5 -0
  400. package/dist/fns/aggregationFns.js.map +1 -1
  401. package/dist/fns/filterFns.cjs +5 -0
  402. package/dist/fns/filterFns.cjs.map +1 -1
  403. package/dist/fns/filterFns.d.cts +5 -0
  404. package/dist/fns/filterFns.d.ts +5 -0
  405. package/dist/fns/filterFns.js +5 -0
  406. package/dist/fns/filterFns.js.map +1 -1
  407. package/dist/fns/sortFns.cjs +49 -4
  408. package/dist/fns/sortFns.cjs.map +1 -1
  409. package/dist/fns/sortFns.d.cts +41 -0
  410. package/dist/fns/sortFns.d.ts +41 -0
  411. package/dist/fns/sortFns.js +49 -4
  412. package/dist/fns/sortFns.js.map +1 -1
  413. package/dist/helpers/columnHelper.cjs.map +1 -1
  414. package/dist/helpers/columnHelper.js.map +1 -1
  415. package/dist/helpers/tableFeatures.cjs.map +1 -1
  416. package/dist/helpers/tableFeatures.js.map +1 -1
  417. package/dist/helpers/tableOptions.cjs +6 -0
  418. package/dist/helpers/tableOptions.cjs.map +1 -1
  419. package/dist/helpers/tableOptions.d.cts +26 -0
  420. package/dist/helpers/tableOptions.d.ts +26 -0
  421. package/dist/helpers/tableOptions.js +6 -0
  422. package/dist/helpers/tableOptions.js.map +1 -1
  423. package/dist/static-functions.cjs +1 -1
  424. package/dist/static-functions.d.cts +3 -3
  425. package/dist/static-functions.d.ts +3 -3
  426. package/dist/static-functions.js +3 -3
  427. package/dist/store-reactivity-bindings.cjs.map +1 -1
  428. package/dist/store-reactivity-bindings.js.map +1 -1
  429. package/dist/utils.cjs +45 -0
  430. package/dist/utils.cjs.map +1 -1
  431. package/dist/utils.d.cts +45 -0
  432. package/dist/utils.d.ts +45 -0
  433. package/dist/utils.js +45 -0
  434. package/dist/utils.js.map +1 -1
  435. package/package.json +1 -1
  436. package/src/core/cells/constructCell.ts +5 -0
  437. package/src/core/cells/coreCellsFeature.ts +5 -0
  438. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  439. package/src/core/columns/constructColumn.ts +7 -1
  440. package/src/core/columns/coreColumnsFeature.ts +10 -0
  441. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  442. package/src/core/columns/coreColumnsFeature.utils.ts +109 -8
  443. package/src/core/coreFeatures.ts +5 -0
  444. package/src/core/headers/buildHeaderGroups.ts +7 -1
  445. package/src/core/headers/constructHeader.ts +5 -0
  446. package/src/core/headers/coreHeadersFeature.ts +5 -0
  447. package/src/core/headers/coreHeadersFeature.utils.ts +86 -8
  448. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  449. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  450. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  451. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  452. package/src/core/row-models/createCoreRowModel.ts +5 -0
  453. package/src/core/rows/constructRow.ts +5 -0
  454. package/src/core/rows/coreRowsFeature.ts +5 -0
  455. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  456. package/src/core/rows/coreRowsFeature.utils.ts +106 -7
  457. package/src/core/table/constructTable.ts +10 -0
  458. package/src/core/table/coreTablesFeature.ts +5 -0
  459. package/src/core/table/coreTablesFeature.types.ts +22 -12
  460. package/src/core/table/coreTablesFeature.utils.ts +44 -0
  461. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  462. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  463. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  464. package/src/features/column-faceting/createFacetedMinMaxValues.ts +5 -0
  465. package/src/features/column-faceting/createFacetedRowModel.ts +5 -0
  466. package/src/features/column-faceting/createFacetedUniqueValues.ts +5 -0
  467. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  468. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  469. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  470. package/src/features/column-filtering/createFilteredRowModel.ts +5 -0
  471. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  472. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  473. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  474. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  475. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  476. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  477. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  478. package/src/features/column-ordering/columnOrderingFeature.utils.ts +110 -18
  479. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  480. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  481. package/src/features/column-pinning/columnPinningFeature.utils.ts +390 -57
  482. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  483. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  484. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  485. package/src/features/column-sizing/columnSizingFeature.ts +38 -18
  486. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  487. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  488. package/src/features/column-visibility/columnVisibilityFeature.ts +15 -21
  489. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -3
  490. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +179 -23
  491. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  492. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  493. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  494. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  495. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  496. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  497. package/src/features/row-expanding/rowExpandingFeature.utils.ts +151 -0
  498. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  499. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  500. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  501. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  502. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  503. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  504. package/src/features/row-pinning/rowPinningFeature.utils.ts +112 -0
  505. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  506. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  507. package/src/features/row-selection/rowSelectionFeature.utils.ts +259 -0
  508. package/src/features/row-sorting/createSortedRowModel.ts +5 -0
  509. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  510. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  511. package/src/features/row-sorting/rowSortingFeature.utils.ts +151 -0
  512. package/src/features/stockFeatures.ts +5 -0
  513. package/src/flex-render.ts +10 -0
  514. package/src/fns/aggregationFns.ts +5 -0
  515. package/src/fns/filterFns.ts +5 -0
  516. package/src/fns/sortFns.ts +50 -5
  517. package/src/helpers/tableOptions.ts +32 -0
  518. package/src/utils.ts +45 -0
@@ -1 +1 @@
1
- {"version":3,"file":"rowSelectionFeature.utils.cjs","names":["cloneState"],"sources":["../../../src/features/row-selection/rowSelectionFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowSelectionState } from './rowSelectionFeature.types'\n\n// State APIs\n\nexport function getDefaultRowSelectionState(): RowSelectionState {\n return {}\n}\n\nexport function table_setRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowSelectionState>,\n) {\n table.options.onRowSelectionChange?.(updater)\n}\n\nexport function table_resetRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setRowSelection(\n table,\n defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}),\n )\n}\n\n// Table APIs\n\nexport function table_toggleAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n value =\n typeof value !== 'undefined' ? value : !table_getIsAllRowsSelected(table)\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach((row) => {\n if (!row_getCanSelect(row)) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach((row) => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n}\n\nexport function table_toggleAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table_getIsAllPageRowsSelected(table)\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach((row) => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)\n })\n\n return rowSelection\n })\n}\n\nexport function table_getPreSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\nexport function table_getSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getFilteredSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getGroupedSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getIsAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length,\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n (row) => row_getCanSelect(row) && !rowSelection[row.id],\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n}\n\nexport function table_getIsAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table\n .getPaginatedRowModel()\n .flatRows.filter((row) => row_getCanSelect(row))\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some((row) => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n}\n\nexport function table_getIsSomeRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const totalSelected = Object.keys(\n table.atoms.rowSelection?.get() ?? {},\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getFilteredRowModel().flatRows.length\n )\n}\n\nexport function table_getIsSomePageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table.getPaginatedRowModel().flatRows\n return table_getIsAllPageRowsSelected(table)\n ? false\n : paginationFlatRows\n .filter((row) => row_getCanSelect(row))\n .some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))\n}\n\nexport function table_getToggleAllRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function table_getToggleAllPageRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllPageRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n// Row APIs\n\nexport function row_toggleSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n value?: boolean,\n opts?: {\n selectChildren?: boolean\n },\n) {\n const isSelected = row_getIsSelected(row)\n\n table_setRowSelection(row.table, (old) => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (row_getCanSelect(row) && isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(\n selectedRowIds,\n row.id,\n value,\n opts?.selectChildren ?? true,\n row.table,\n )\n\n return selectedRowIds\n })\n}\n\nexport function row_getIsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isRowSelected(row)\n}\n\nexport function row_getIsSomeSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'some'\n}\n\nexport function row_getIsAllSubRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'all'\n}\n\nexport function row_getCanSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableRowSelection === 'function') {\n return options.enableRowSelection(row)\n }\n\n return options.enableRowSelection ?? true\n}\n\nexport function row_getCanSelectSubRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableSubRowSelection === 'function') {\n return options.enableSubRowSelection(row)\n }\n\n return options.enableSubRowSelection ?? true\n}\n\nexport function row_getCanMultiSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableMultiRowSelection === 'function') {\n return options.enableMultiRowSelection(row)\n }\n\n return options.enableMultiRowSelection ?? true\n}\n\nexport function row_getToggleSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canSelect = row_getCanSelect(row)\n\n return (e: unknown) => {\n if (!canSelect) return\n row_toggleSelected(\n row,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nconst mutateRowIsSelected = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n selectedRowIds: Record<string, boolean | undefined>,\n rowId: string,\n value: boolean,\n includeChildren: boolean,\n table: Table_Internal<TFeatures, TData>,\n) => {\n const row = table.getRow(rowId, true)\n\n if (value) {\n if (!row_getCanMultiSelect(row)) {\n Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key])\n }\n if (row_getCanSelect(row)) {\n selectedRowIds[rowId] = true\n }\n } else {\n delete selectedRowIds[rowId]\n }\n\n if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {\n row.subRows.forEach((r) =>\n mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table),\n )\n }\n}\n\nexport function selectRowsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []\n const newSelectedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n ): Array<Row<TFeatures, TData>> => {\n return rows\n .map((row) => {\n const isSelected = isRowSelected(row)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter((x) => !!x)\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false\n}\n\nexport function isSubRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {\n if (!row.subRows.length) return false\n\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (row_getCanSelect(subRow)) {\n if (isRowSelected(subRow)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow)\n if (subRowChildrenSelected === 'all') {\n someSelected = true\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true\n allChildrenSelected = false\n } else {\n allChildrenSelected = false\n }\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rowSelectionFeature.utils.cjs","names":["cloneState"],"sources":["../../../src/features/row-selection/rowSelectionFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowSelectionState } from './rowSelectionFeature.types'\n\n// State APIs\n\n/**\n * Returns the default row selection state.\n *\n * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.\n *\n * @example\n * ```ts\n * const initialValue = getDefaultRowSelectionState()\n * ```\n */\nexport function getDefaultRowSelectionState(): RowSelectionState {\n return {}\n}\n\n/**\n * Updates the table's row selection state slice.\n *\n * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.\n *\n * @example\n * ```ts\n * table_setRowSelection(table, (old) => old)\n * ```\n */\nexport function table_setRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowSelectionState>,\n) {\n table.options.onRowSelectionChange?.(updater)\n}\n\n/**\n * Resets the table's row selection state slice.\n *\n * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.\n *\n * @example\n * ```ts\n * table_resetRowSelection(table)\n * table_resetRowSelection(table, true)\n * ```\n */\nexport function table_resetRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setRowSelection(\n table,\n defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}),\n )\n}\n\n// Table APIs\n\n/**\n * Toggles all rows selected for the table.\n *\n * This is the table-level convenience API used by UI controls that affect many columns or rows at once.\n *\n * @example\n * ```ts\n * table_toggleAllRowsSelected(table)\n * ```\n */\nexport function table_toggleAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n value =\n typeof value !== 'undefined' ? value : !table_getIsAllRowsSelected(table)\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach((row) => {\n if (!row_getCanSelect(row)) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach((row) => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n}\n\n/**\n * Toggles all page rows selected for the table.\n *\n * This is the table-level convenience API used by UI controls that affect many columns or rows at once.\n *\n * @example\n * ```ts\n * table_toggleAllPageRowsSelected(table)\n * ```\n */\nexport function table_toggleAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table_getIsAllPageRowsSelected(table)\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach((row) => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)\n })\n\n return rowSelection\n })\n}\n\n/**\n * Returns pre selected row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getPreSelectedRowModel(table)\n * ```\n */\nexport function table_getPreSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\n/**\n * Returns selected row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getSelectedRowModel(table)\n * ```\n */\nexport function table_getSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\n/**\n * Returns filtered selected row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getFilteredSelectedRowModel(table)\n * ```\n */\nexport function table_getFilteredSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\n/**\n * Returns grouped selected row model for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getGroupedSelectedRowModel(table)\n * ```\n */\nexport function table_getGroupedSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\n/**\n * Returns is all rows selected for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getIsAllRowsSelected(table)\n * ```\n */\nexport function table_getIsAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length,\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n (row) => row_getCanSelect(row) && !rowSelection[row.id],\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n}\n\n/**\n * Returns is all page rows selected for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getIsAllPageRowsSelected(table)\n * ```\n */\nexport function table_getIsAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table\n .getPaginatedRowModel()\n .flatRows.filter((row) => row_getCanSelect(row))\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some((row) => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n}\n\n/**\n * Returns is some rows selected for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getIsSomeRowsSelected(table)\n * ```\n */\nexport function table_getIsSomeRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const totalSelected = Object.keys(\n table.atoms.rowSelection?.get() ?? {},\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getFilteredRowModel().flatRows.length\n )\n}\n\n/**\n * Returns is some page rows selected for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getIsSomePageRowsSelected(table)\n * ```\n */\nexport function table_getIsSomePageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table.getPaginatedRowModel().flatRows\n return table_getIsAllPageRowsSelected(table)\n ? false\n : paginationFlatRows\n .filter((row) => row_getCanSelect(row))\n .some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))\n}\n\n/**\n * Returns an event handler for all rows selected handler.\n *\n * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.\n *\n * @example\n * ```ts\n * const value = table_getToggleAllRowsSelectedHandler(table)\n * ```\n */\nexport function table_getToggleAllRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n/**\n * Returns an event handler for all page rows selected handler.\n *\n * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.\n *\n * @example\n * ```ts\n * const value = table_getToggleAllPageRowsSelectedHandler(table)\n * ```\n */\nexport function table_getToggleAllPageRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllPageRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n// Row APIs\n\n/**\n * Toggles selected for a row.\n *\n * The update is routed through the table state updater for the owning feature state slice.\n *\n * @example\n * ```ts\n * row_toggleSelected(row)\n * ```\n */\nexport function row_toggleSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n value?: boolean,\n opts?: {\n selectChildren?: boolean\n },\n) {\n const isSelected = row_getIsSelected(row)\n\n table_setRowSelection(row.table, (old) => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (row_getCanSelect(row) && isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(\n selectedRowIds,\n row.id,\n value,\n opts?.selectChildren ?? true,\n row.table,\n )\n\n return selectedRowIds\n })\n}\n\n/**\n * Returns is selected for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = row_getIsSelected(row)\n * ```\n */\nexport function row_getIsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isRowSelected(row)\n}\n\n/**\n * Returns is some selected for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = row_getIsSomeSelected(row)\n * ```\n */\nexport function row_getIsSomeSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'some'\n}\n\n/**\n * Returns is all sub rows selected for a row.\n *\n * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.\n *\n * @example\n * ```ts\n * const value = row_getIsAllSubRowsSelected(row)\n * ```\n */\nexport function row_getIsAllSubRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'all'\n}\n\n/**\n * Returns whether a row can use select.\n *\n * This evaluates row data, table options, and feature-specific enablement rules.\n *\n * @example\n * ```ts\n * const value = row_getCanSelect(row)\n * ```\n */\nexport function row_getCanSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableRowSelection === 'function') {\n return options.enableRowSelection(row)\n }\n\n return options.enableRowSelection ?? true\n}\n\n/**\n * Returns whether a row can use select sub rows.\n *\n * This evaluates row data, table options, and feature-specific enablement rules.\n *\n * @example\n * ```ts\n * const value = row_getCanSelectSubRows(row)\n * ```\n */\nexport function row_getCanSelectSubRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableSubRowSelection === 'function') {\n return options.enableSubRowSelection(row)\n }\n\n return options.enableSubRowSelection ?? true\n}\n\n/**\n * Returns whether a row can use multi select.\n *\n * This evaluates row data, table options, and feature-specific enablement rules.\n *\n * @example\n * ```ts\n * const value = row_getCanMultiSelect(row)\n * ```\n */\nexport function row_getCanMultiSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableMultiRowSelection === 'function') {\n return options.enableMultiRowSelection(row)\n }\n\n return options.enableMultiRowSelection ?? true\n}\n\n/**\n * Returns an event handler for toggling selected handler.\n *\n * The handler is intended for direct use in row-level controls such as expansion or selection buttons.\n *\n * @example\n * ```ts\n * const value = row_getToggleSelectedHandler(row)\n * ```\n */\nexport function row_getToggleSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canSelect = row_getCanSelect(row)\n\n return (e: unknown) => {\n if (!canSelect) return\n row_toggleSelected(\n row,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nconst mutateRowIsSelected = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n selectedRowIds: Record<string, boolean | undefined>,\n rowId: string,\n value: boolean,\n includeChildren: boolean,\n table: Table_Internal<TFeatures, TData>,\n) => {\n const row = table.getRow(rowId, true)\n\n if (value) {\n if (!row_getCanMultiSelect(row)) {\n Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key])\n }\n if (row_getCanSelect(row)) {\n selectedRowIds[rowId] = true\n }\n } else {\n delete selectedRowIds[rowId]\n }\n\n if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {\n row.subRows.forEach((r) =>\n mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table),\n )\n }\n}\n\n/**\n * Builds a row model containing rows selected by the current row selection state.\n *\n * The result is derived from the supplied row model, so selected ids absent from the current data are not materialized as rows.\n *\n * @example\n * ```ts\n * const selectedRows = selectRowsFn(table, rowModel)\n * ```\n */\nexport function selectRowsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []\n const newSelectedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n ): Array<Row<TFeatures, TData>> => {\n return rows\n .map((row) => {\n const isSelected = isRowSelected(row)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter((x) => !!x)\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\n/**\n * Returns whether a row id is selected in the current row selection state.\n *\n * @example\n * ```ts\n * const selected = isRowSelected(row, selection)\n * ```\n */\nexport function isRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false\n}\n\n/**\n * Returns whether all, some, or none of a row's selectable descendants are selected.\n *\n * The result is used to drive indeterminate row selection UI.\n *\n * @example\n * ```ts\n * const selectedState = isSubRowSelected(row, selection, table)\n * ```\n */\nexport function isSubRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {\n if (!row.subRows.length) return false\n\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (row_getCanSelect(subRow)) {\n if (isRowSelected(subRow)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow)\n if (subRowChildrenSelected === 'all') {\n someSelected = true\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true\n allChildrenSelected = false\n } else {\n allChildrenSelected = false\n }\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n}\n"],"mappings":"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"}
@@ -6,33 +6,292 @@ import { Table_Internal } from "../../types/Table.cjs";
6
6
  import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
7
7
 
8
8
  //#region src/features/row-selection/rowSelectionFeature.utils.d.ts
9
+ /**
10
+ * Returns the default row selection state.
11
+ *
12
+ * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const initialValue = getDefaultRowSelectionState()
17
+ * ```
18
+ */
9
19
  declare function getDefaultRowSelectionState(): RowSelectionState;
20
+ /**
21
+ * Updates the table's row selection state slice.
22
+ *
23
+ * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * table_setRowSelection(table, (old) => old)
28
+ * ```
29
+ */
10
30
  declare function table_setRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<RowSelectionState>): void;
31
+ /**
32
+ * Resets the table's row selection state slice.
33
+ *
34
+ * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * table_resetRowSelection(table)
39
+ * table_resetRowSelection(table, true)
40
+ * ```
41
+ */
11
42
  declare function table_resetRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
43
+ /**
44
+ * Toggles all rows selected for the table.
45
+ *
46
+ * This is the table-level convenience API used by UI controls that affect many columns or rows at once.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * table_toggleAllRowsSelected(table)
51
+ * ```
52
+ */
12
53
  declare function table_toggleAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
54
+ /**
55
+ * Toggles all page rows selected for the table.
56
+ *
57
+ * This is the table-level convenience API used by UI controls that affect many columns or rows at once.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * table_toggleAllPageRowsSelected(table)
62
+ * ```
63
+ */
13
64
  declare function table_toggleAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
65
+ /**
66
+ * Returns pre selected row model for the table.
67
+ *
68
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const value = table_getPreSelectedRowModel(table)
73
+ * ```
74
+ */
14
75
  declare function table_getPreSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
76
+ /**
77
+ * Returns selected row model for the table.
78
+ *
79
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const value = table_getSelectedRowModel(table)
84
+ * ```
85
+ */
15
86
  declare function table_getSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
87
+ /**
88
+ * Returns filtered selected row model for the table.
89
+ *
90
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const value = table_getFilteredSelectedRowModel(table)
95
+ * ```
96
+ */
16
97
  declare function table_getFilteredSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
98
+ /**
99
+ * Returns grouped selected row model for the table.
100
+ *
101
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const value = table_getGroupedSelectedRowModel(table)
106
+ * ```
107
+ */
17
108
  declare function table_getGroupedSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
109
+ /**
110
+ * Returns is all rows selected for the table.
111
+ *
112
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
113
+ *
114
+ * @example
115
+ * ```ts
116
+ * const value = table_getIsAllRowsSelected(table)
117
+ * ```
118
+ */
18
119
  declare function table_getIsAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
120
+ /**
121
+ * Returns is all page rows selected for the table.
122
+ *
123
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * const value = table_getIsAllPageRowsSelected(table)
128
+ * ```
129
+ */
19
130
  declare function table_getIsAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
131
+ /**
132
+ * Returns is some rows selected for the table.
133
+ *
134
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * const value = table_getIsSomeRowsSelected(table)
139
+ * ```
140
+ */
20
141
  declare function table_getIsSomeRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
142
+ /**
143
+ * Returns is some page rows selected for the table.
144
+ *
145
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * const value = table_getIsSomePageRowsSelected(table)
150
+ * ```
151
+ */
21
152
  declare function table_getIsSomePageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
153
+ /**
154
+ * Returns an event handler for all rows selected handler.
155
+ *
156
+ * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * const value = table_getToggleAllRowsSelectedHandler(table)
161
+ * ```
162
+ */
22
163
  declare function table_getToggleAllRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
164
+ /**
165
+ * Returns an event handler for all page rows selected handler.
166
+ *
167
+ * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * const value = table_getToggleAllPageRowsSelectedHandler(table)
172
+ * ```
173
+ */
23
174
  declare function table_getToggleAllPageRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
175
+ /**
176
+ * Toggles selected for a row.
177
+ *
178
+ * The update is routed through the table state updater for the owning feature state slice.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * row_toggleSelected(row)
183
+ * ```
184
+ */
24
185
  declare function row_toggleSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, value?: boolean, opts?: {
25
186
  selectChildren?: boolean;
26
187
  }): void;
188
+ /**
189
+ * Returns is selected for a row.
190
+ *
191
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
192
+ *
193
+ * @example
194
+ * ```ts
195
+ * const value = row_getIsSelected(row)
196
+ * ```
197
+ */
27
198
  declare function row_getIsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
199
+ /**
200
+ * Returns is some selected for a row.
201
+ *
202
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
203
+ *
204
+ * @example
205
+ * ```ts
206
+ * const value = row_getIsSomeSelected(row)
207
+ * ```
208
+ */
28
209
  declare function row_getIsSomeSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
210
+ /**
211
+ * Returns is all sub rows selected for a row.
212
+ *
213
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
214
+ *
215
+ * @example
216
+ * ```ts
217
+ * const value = row_getIsAllSubRowsSelected(row)
218
+ * ```
219
+ */
29
220
  declare function row_getIsAllSubRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
221
+ /**
222
+ * Returns whether a row can use select.
223
+ *
224
+ * This evaluates row data, table options, and feature-specific enablement rules.
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * const value = row_getCanSelect(row)
229
+ * ```
230
+ */
30
231
  declare function row_getCanSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
232
+ /**
233
+ * Returns whether a row can use select sub rows.
234
+ *
235
+ * This evaluates row data, table options, and feature-specific enablement rules.
236
+ *
237
+ * @example
238
+ * ```ts
239
+ * const value = row_getCanSelectSubRows(row)
240
+ * ```
241
+ */
31
242
  declare function row_getCanSelectSubRows<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
243
+ /**
244
+ * Returns whether a row can use multi select.
245
+ *
246
+ * This evaluates row data, table options, and feature-specific enablement rules.
247
+ *
248
+ * @example
249
+ * ```ts
250
+ * const value = row_getCanMultiSelect(row)
251
+ * ```
252
+ */
32
253
  declare function row_getCanMultiSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
254
+ /**
255
+ * Returns an event handler for toggling selected handler.
256
+ *
257
+ * The handler is intended for direct use in row-level controls such as expansion or selection buttons.
258
+ *
259
+ * @example
260
+ * ```ts
261
+ * const value = row_getToggleSelectedHandler(row)
262
+ * ```
263
+ */
33
264
  declare function row_getToggleSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): (e: unknown) => void;
265
+ /**
266
+ * Builds a row model containing rows selected by the current row selection state.
267
+ *
268
+ * The result is derived from the supplied row model, so selected ids absent from the current data are not materialized as rows.
269
+ *
270
+ * @example
271
+ * ```ts
272
+ * const selectedRows = selectRowsFn(table, rowModel)
273
+ * ```
274
+ */
34
275
  declare function selectRowsFn<TFeatures extends TableFeatures, TData extends RowData>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData>;
276
+ /**
277
+ * Returns whether a row id is selected in the current row selection state.
278
+ *
279
+ * @example
280
+ * ```ts
281
+ * const selected = isRowSelected(row, selection)
282
+ * ```
283
+ */
35
284
  declare function isRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
285
+ /**
286
+ * Returns whether all, some, or none of a row's selectable descendants are selected.
287
+ *
288
+ * The result is used to drive indeterminate row selection UI.
289
+ *
290
+ * @example
291
+ * ```ts
292
+ * const selectedState = isSubRowSelected(row, selection, table)
293
+ * ```
294
+ */
36
295
  declare function isSubRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean | 'some' | 'all';
37
296
  //#endregion
38
297
  export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };