@tanstack/table-core 9.0.0-alpha.42 → 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 (539) 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.types.d.cts +1 -0
  70. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +1 -0
  71. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  73. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  75. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  76. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  79. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  81. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  82. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  83. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  84. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  87. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  89. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  90. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  92. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  93. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  94. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  95. package/dist/core/row-models/createCoreRowModel.js +5 -0
  96. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  97. package/dist/core/rows/constructRow.cjs +5 -0
  98. package/dist/core/rows/constructRow.cjs.map +1 -1
  99. package/dist/core/rows/constructRow.d.cts +5 -0
  100. package/dist/core/rows/constructRow.d.ts +5 -0
  101. package/dist/core/rows/constructRow.js +5 -0
  102. package/dist/core/rows/constructRow.js.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  104. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  105. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  106. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  107. package/dist/core/rows/coreRowsFeature.js +5 -0
  108. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  109. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  110. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  111. package/dist/core/rows/coreRowsFeature.utils.cjs +104 -4
  112. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  113. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  114. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  115. package/dist/core/rows/coreRowsFeature.utils.js +104 -4
  116. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  117. package/dist/core/table/constructTable.cjs +34 -19
  118. package/dist/core/table/constructTable.cjs.map +1 -1
  119. package/dist/core/table/constructTable.d.cts +10 -0
  120. package/dist/core/table/constructTable.d.ts +10 -0
  121. package/dist/core/table/constructTable.js +34 -19
  122. package/dist/core/table/constructTable.js.map +1 -1
  123. package/dist/core/table/coreTablesFeature.cjs +5 -0
  124. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  125. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  126. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  127. package/dist/core/table/coreTablesFeature.js +5 -0
  128. package/dist/core/table/coreTablesFeature.js.map +1 -1
  129. package/dist/core/table/coreTablesFeature.types.d.cts +23 -10
  130. package/dist/core/table/coreTablesFeature.types.d.ts +23 -10
  131. package/dist/core/table/coreTablesFeature.utils.cjs +60 -1
  132. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  133. package/dist/core/table/coreTablesFeature.utils.d.cts +46 -1
  134. package/dist/core/table/coreTablesFeature.utils.d.ts +46 -1
  135. package/dist/core/table/coreTablesFeature.utils.js +60 -2
  136. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  142. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  143. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  144. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +5 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  155. package/dist/features/column-faceting/createFacetedMinMaxValues.js +5 -0
  156. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.cjs +5 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  159. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  161. package/dist/features/column-faceting/createFacetedRowModel.js +5 -0
  162. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +5 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  165. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  167. package/dist/features/column-faceting/createFacetedUniqueValues.js +5 -0
  168. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  171. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  173. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  174. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  175. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  176. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  182. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.cjs +5 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  185. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  187. package/dist/features/column-filtering/createFilteredRowModel.js +5 -0
  188. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  191. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  192. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  198. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  199. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  200. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  209. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  211. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  212. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  214. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  216. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  218. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  219. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  220. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +98 -8
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.utils.js +98 -8
  226. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  228. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  229. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  230. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  231. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  232. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  233. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  234. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  235. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +360 -17
  236. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  237. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +314 -3
  238. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +314 -3
  239. package/dist/features/column-pinning/columnPinningFeature.utils.js +361 -18
  240. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  243. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  245. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  246. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  247. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  248. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  249. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  251. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  253. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  254. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.cjs +50 -12
  256. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  257. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  258. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  259. package/dist/features/column-sizing/columnSizingFeature.js +51 -13
  260. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  261. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  262. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  263. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  264. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  265. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  266. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  267. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  268. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.cjs +26 -25
  270. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  272. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.js +27 -26
  274. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  275. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +4 -3
  276. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -3
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +172 -12
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +143 -3
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +143 -3
  281. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +173 -12
  282. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  285. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  287. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  289. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  290. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  299. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  301. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  302. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  308. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  309. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  310. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +151 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.utils.js +151 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  319. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  321. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  322. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  328. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  329. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  330. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  339. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  341. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  342. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  343. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  344. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  345. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +112 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  347. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  349. package/dist/features/row-pinning/rowPinningFeature.utils.js +112 -0
  350. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  353. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  355. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  356. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  357. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  358. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  359. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +259 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  361. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  363. package/dist/features/row-selection/rowSelectionFeature.utils.js +259 -0
  364. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -0
  366. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  367. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  369. package/dist/features/row-sorting/createSortedRowModel.js +5 -0
  370. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  372. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  373. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  374. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  375. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  376. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  377. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  378. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  379. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +151 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  381. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  383. package/dist/features/row-sorting/rowSortingFeature.utils.js +151 -0
  384. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  385. package/dist/features/stockFeatures.cjs +5 -0
  386. package/dist/features/stockFeatures.cjs.map +1 -1
  387. package/dist/features/stockFeatures.d.cts +5 -0
  388. package/dist/features/stockFeatures.d.ts +5 -0
  389. package/dist/features/stockFeatures.js +5 -0
  390. package/dist/features/stockFeatures.js.map +1 -1
  391. package/dist/flex-render.cjs +10 -0
  392. package/dist/flex-render.cjs.map +1 -1
  393. package/dist/flex-render.d.cts +10 -0
  394. package/dist/flex-render.d.ts +10 -0
  395. package/dist/flex-render.js +10 -0
  396. package/dist/flex-render.js.map +1 -1
  397. package/dist/fns/aggregationFns.cjs +5 -0
  398. package/dist/fns/aggregationFns.cjs.map +1 -1
  399. package/dist/fns/aggregationFns.d.cts +5 -0
  400. package/dist/fns/aggregationFns.d.ts +5 -0
  401. package/dist/fns/aggregationFns.js +5 -0
  402. package/dist/fns/aggregationFns.js.map +1 -1
  403. package/dist/fns/filterFns.cjs +5 -0
  404. package/dist/fns/filterFns.cjs.map +1 -1
  405. package/dist/fns/filterFns.d.cts +5 -0
  406. package/dist/fns/filterFns.d.ts +5 -0
  407. package/dist/fns/filterFns.js +5 -0
  408. package/dist/fns/filterFns.js.map +1 -1
  409. package/dist/fns/sortFns.cjs +49 -4
  410. package/dist/fns/sortFns.cjs.map +1 -1
  411. package/dist/fns/sortFns.d.cts +41 -0
  412. package/dist/fns/sortFns.d.ts +41 -0
  413. package/dist/fns/sortFns.js +49 -4
  414. package/dist/fns/sortFns.js.map +1 -1
  415. package/dist/helpers/columnHelper.cjs.map +1 -1
  416. package/dist/helpers/columnHelper.js.map +1 -1
  417. package/dist/helpers/tableFeatures.cjs.map +1 -1
  418. package/dist/helpers/tableFeatures.js.map +1 -1
  419. package/dist/helpers/tableOptions.cjs +6 -0
  420. package/dist/helpers/tableOptions.cjs.map +1 -1
  421. package/dist/helpers/tableOptions.d.cts +26 -0
  422. package/dist/helpers/tableOptions.d.ts +26 -0
  423. package/dist/helpers/tableOptions.js +6 -0
  424. package/dist/helpers/tableOptions.js.map +1 -1
  425. package/dist/reactivity.cjs +1 -3
  426. package/dist/reactivity.d.cts +1 -2
  427. package/dist/reactivity.d.ts +1 -2
  428. package/dist/reactivity.js +1 -2
  429. package/dist/static-functions.cjs +2 -1
  430. package/dist/static-functions.d.cts +4 -4
  431. package/dist/static-functions.d.ts +4 -4
  432. package/dist/static-functions.js +4 -4
  433. package/dist/store-reactivity-bindings.cjs +36 -0
  434. package/dist/store-reactivity-bindings.cjs.map +1 -0
  435. package/dist/store-reactivity-bindings.d.cts +22 -0
  436. package/dist/store-reactivity-bindings.d.ts +22 -0
  437. package/dist/store-reactivity-bindings.js +35 -0
  438. package/dist/store-reactivity-bindings.js.map +1 -0
  439. package/dist/utils.cjs +45 -0
  440. package/dist/utils.cjs.map +1 -1
  441. package/dist/utils.d.cts +45 -0
  442. package/dist/utils.d.ts +45 -0
  443. package/dist/utils.js +45 -0
  444. package/dist/utils.js.map +1 -1
  445. package/package.json +5 -1
  446. package/src/core/cells/constructCell.ts +5 -0
  447. package/src/core/cells/coreCellsFeature.ts +5 -0
  448. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  449. package/src/core/columns/constructColumn.ts +7 -1
  450. package/src/core/columns/coreColumnsFeature.ts +10 -0
  451. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  452. package/src/core/columns/coreColumnsFeature.utils.ts +109 -8
  453. package/src/core/coreFeatures.ts +5 -0
  454. package/src/core/headers/buildHeaderGroups.ts +7 -1
  455. package/src/core/headers/constructHeader.ts +5 -0
  456. package/src/core/headers/coreHeadersFeature.ts +5 -0
  457. package/src/core/headers/coreHeadersFeature.utils.ts +86 -8
  458. package/src/core/reactivity/coreReactivityFeature.types.ts +1 -0
  459. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  460. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  461. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  462. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  463. package/src/core/row-models/createCoreRowModel.ts +5 -0
  464. package/src/core/rows/constructRow.ts +5 -0
  465. package/src/core/rows/coreRowsFeature.ts +5 -0
  466. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  467. package/src/core/rows/coreRowsFeature.utils.ts +106 -7
  468. package/src/core/table/constructTable.ts +37 -19
  469. package/src/core/table/coreTablesFeature.ts +5 -0
  470. package/src/core/table/coreTablesFeature.types.ts +23 -10
  471. package/src/core/table/coreTablesFeature.utils.ts +74 -1
  472. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  473. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  474. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  475. package/src/features/column-faceting/createFacetedMinMaxValues.ts +5 -0
  476. package/src/features/column-faceting/createFacetedRowModel.ts +5 -0
  477. package/src/features/column-faceting/createFacetedUniqueValues.ts +5 -0
  478. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  479. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  480. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  481. package/src/features/column-filtering/createFilteredRowModel.ts +5 -0
  482. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  483. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  484. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  485. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  486. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  487. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  488. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  489. package/src/features/column-ordering/columnOrderingFeature.utils.ts +110 -18
  490. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  491. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  492. package/src/features/column-pinning/columnPinningFeature.utils.ts +390 -57
  493. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  494. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  495. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  496. package/src/features/column-sizing/columnSizingFeature.ts +38 -18
  497. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  498. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  499. package/src/features/column-visibility/columnVisibilityFeature.ts +15 -21
  500. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -3
  501. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +179 -23
  502. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  503. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  504. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  505. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  506. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  507. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  508. package/src/features/row-expanding/rowExpandingFeature.utils.ts +151 -0
  509. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  510. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  511. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  512. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  513. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  514. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  515. package/src/features/row-pinning/rowPinningFeature.utils.ts +112 -0
  516. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  517. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  518. package/src/features/row-selection/rowSelectionFeature.utils.ts +259 -0
  519. package/src/features/row-sorting/createSortedRowModel.ts +5 -0
  520. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  521. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  522. package/src/features/row-sorting/rowSortingFeature.utils.ts +151 -0
  523. package/src/features/stockFeatures.ts +5 -0
  524. package/src/flex-render.ts +10 -0
  525. package/src/fns/aggregationFns.ts +5 -0
  526. package/src/fns/filterFns.ts +5 -0
  527. package/src/fns/sortFns.ts +50 -5
  528. package/src/helpers/tableOptions.ts +32 -0
  529. package/src/reactivity.ts +0 -1
  530. package/src/store-reactivity-bindings.ts +35 -0
  531. package/src/types/Table.ts +1 -1
  532. package/src/utils.ts +45 -0
  533. package/dist/core/reactivity/constructReactivityBindings.cjs +0 -19
  534. package/dist/core/reactivity/constructReactivityBindings.cjs.map +0 -1
  535. package/dist/core/reactivity/constructReactivityBindings.d.cts +0 -7
  536. package/dist/core/reactivity/constructReactivityBindings.d.ts +0 -7
  537. package/dist/core/reactivity/constructReactivityBindings.js +0 -19
  538. package/dist/core/reactivity/constructReactivityBindings.js.map +0 -1
  539. package/src/core/reactivity/constructReactivityBindings.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"rowPinningFeature.utils.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n\n const rows =\n (table.options.keepPinnedRows ?? true)\n ? // get all rows that are pinned even if they would not be otherwise visible\n // account for expanded parent rows, but not pagination or filtering\n pinnedRowIds.map((rowId) => {\n const row = table.getRow(rowId, true)\n return row_getIsAllParentsExpanded(row) ? row : null\n })\n : // else get only visible rows that are pinned\n pinnedRowIds.map(\n (rowId) => visibleRows.find((row) => row.id === rowId)!,\n )\n\n const filteredRows = rows.filter((r) => !!r)\n // Assign position property directly to preserve prototype chain\n filteredRows.forEach((row) => {\n ;(row as any).position = position\n })\n return filteredRows\n}\n\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"rowPinningFeature.utils.js","names":[],"sources":["../../../src/features/row-pinning/rowPinningFeature.utils.ts"],"sourcesContent":["import { row_getIsAllParentsExpanded } from '../row-expanding/rowExpandingFeature.utils'\nimport { callMemoOrStaticFn, cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type {\n RowPinningPosition,\n RowPinningState,\n} from './rowPinningFeature.types'\n\n// State Utils\n\n/**\n * Returns the default row pinning 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 = getDefaultRowPinningState()\n * ```\n */\nexport function getDefaultRowPinningState(): RowPinningState {\n return {\n top: [],\n bottom: [],\n }\n}\n\n/**\n * Updates the table's row pinning 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_setRowPinning(table, (old) => old)\n * ```\n */\nexport function table_setRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowPinningState>,\n): void {\n table.options.onRowPinningChange?.(updater)\n}\n\n/**\n * Resets the table's row pinning 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_resetRowPinning(table)\n * table_resetRowPinning(table, true)\n * ```\n */\nexport function table_resetRowPinning<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void {\n table_setRowPinning(\n table,\n defaultState\n ? getDefaultRowPinningState()\n : cloneState(\n table.initialState.rowPinning ?? getDefaultRowPinningState(),\n ),\n )\n}\n\n// Table Utils\n\n/**\n * Returns is some rows pinned 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_getIsSomeRowsPinned(table)\n * ```\n */\nexport function table_getIsSomeRowsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position?: RowPinningPosition,\n): boolean {\n const rowPinning = table.atoms.rowPinning?.get()\n\n if (!position) {\n return Boolean(rowPinning?.top.length || rowPinning?.bottom.length)\n }\n return Boolean(rowPinning?.[position].length)\n}\n\nfunction table_getPinnedRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n position: 'top' | 'bottom',\n): Array<Row<TFeatures, TData>> {\n const visibleRows = table.getRowModel().rows\n const pinnedRowIds = table.atoms.rowPinning?.get()?.[position] ?? []\n\n const rows =\n (table.options.keepPinnedRows ?? true)\n ? // get all rows that are pinned even if they would not be otherwise visible\n // account for expanded parent rows, but not pagination or filtering\n pinnedRowIds.map((rowId) => {\n const row = table.getRow(rowId, true)\n return row_getIsAllParentsExpanded(row) ? row : null\n })\n : // else get only visible rows that are pinned\n pinnedRowIds.map(\n (rowId) => visibleRows.find((row) => row.id === rowId)!,\n )\n\n const filteredRows = rows.filter((r) => !!r)\n // Assign position property directly to preserve prototype chain\n filteredRows.forEach((row) => {\n ;(row as any).position = position\n })\n return filteredRows\n}\n\n/**\n * Returns top rows 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_getTopRows(table)\n * ```\n */\nexport function table_getTopRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'top')\n}\n\n/**\n * Returns bottom rows 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_getBottomRows(table)\n * ```\n */\nexport function table_getBottomRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n return table_getPinnedRows(table, 'bottom')\n}\n\n/**\n * Returns center rows 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_getCenterRows(table)\n * ```\n */\nexport function table_getCenterRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): Array<Row<TFeatures, TData>> {\n const { top, bottom } =\n table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n const allRows = table.getRowModel().rows\n\n const topAndBottom = new Set([...top, ...bottom])\n return allRows.filter((d) => !topAndBottom.has(d.id))\n}\n\n// Row Utils\n\n/**\n * Returns whether a row can use pin.\n *\n * This evaluates row data, table options, and feature-specific enablement rules.\n *\n * @example\n * ```ts\n * const value = row_getCanPin(row)\n * ```\n */\nexport function row_getCanPin<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n const { enableRowPinning } = row.table.options\n if (typeof enableRowPinning === 'function') {\n return enableRowPinning(row)\n }\n return enableRowPinning ?? true\n}\n\n/**\n * Returns is pinned 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_getIsPinned(row)\n * ```\n */\nexport function row_getIsPinned<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): RowPinningPosition {\n const { top, bottom } =\n row.table.atoms.rowPinning?.get() ?? getDefaultRowPinningState()\n\n return top.includes(row.id)\n ? 'top'\n : bottom.includes(row.id)\n ? 'bottom'\n : false\n}\n\n/**\n * Returns pinned index 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_getPinnedIndex(row)\n * ```\n */\nexport function row_getPinnedIndex<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): number {\n const position = row_getIsPinned(row)\n if (!position) return -1\n\n const visiblePinnedRowIds = (\n position === 'top'\n ? callMemoOrStaticFn(row.table, 'getTopRows', table_getTopRows)\n : callMemoOrStaticFn(row.table, 'getBottomRows', table_getBottomRows)\n ).map(({ id }) => id)\n\n return visiblePinnedRowIds.indexOf(row.id)\n}\n\n/**\n * Pins or unpins a row.\n *\n * Optional flags let callers include parent rows or leaf rows when updating\n * the row pinning state.\n *\n * @example\n * ```ts\n * row_pin(row, 'top')\n * ```\n */\nexport function row_pin<TFeatures extends TableFeatures, TData extends RowData>(\n row: Row<TFeatures, TData>,\n position: RowPinningPosition,\n includeLeafRows?: boolean,\n includeParentRows?: boolean,\n): void {\n const leafRowIds = includeLeafRows\n ? row.getLeafRows().map(({ id }) => id)\n : []\n const parentRowIds = includeParentRows\n ? row.getParentRows().map(({ id }) => id)\n : []\n const rowIds: Set<string> = new Set([...parentRowIds, row.id, ...leafRowIds])\n\n table_setRowPinning(row.table, (old) => {\n if (position === 'bottom') {\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: [\n ...old.bottom.filter((d) => !rowIds.has(d)),\n ...Array.from(rowIds),\n ],\n }\n }\n\n if (position === 'top') {\n return {\n top: [...old.top.filter((d) => !rowIds.has(d)), ...Array.from(rowIds)],\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n }\n\n return {\n top: old.top.filter((d) => !rowIds.has(d)),\n bottom: old.bottom.filter((d) => !rowIds.has(d)),\n }\n })\n}\n"],"mappings":"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"}
@@ -2,6 +2,11 @@ const require_utils = require('../../utils.cjs');
2
2
  const require_rowSelectionFeature_utils = require('./rowSelectionFeature.utils.cjs');
3
3
 
4
4
  //#region src/features/row-selection/rowSelectionFeature.ts
5
+ /**
6
+ * Creates the stock row selection feature.
7
+ *
8
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
9
+ */
5
10
  function constructRowSelectionFeature() {
6
11
  return {
7
12
  getInitialState: (initialState) => {
@@ -69,7 +74,10 @@ function constructRowSelectionFeature() {
69
74
  };
70
75
  }
71
76
  /**
72
- * The Row Selection feature adds row selection state and APIs to the table and row objects.
77
+ * The stock row selection feature.
78
+ *
79
+ * Register this feature to add row selection state, selected row-model helpers,
80
+ * and table/row APIs for checkbox and bulk-selection UI.
73
81
  */
74
82
  const rowSelectionFeature = constructRowSelectionFeature();
75
83
 
@@ -1 +1 @@
1
- {"version":3,"file":"rowSelectionFeature.cjs","names":["getDefaultRowSelectionState","makeStateUpdater","row_toggleSelected","row_getIsSelected","row_getIsSomeSelected","row_getIsAllSubRowsSelected","row_getCanSelect","row_getCanSelectSubRows","row_getCanMultiSelect","row_getToggleSelectedHandler","table_setRowSelection","table_resetRowSelection","table_toggleAllRowsSelected","table_toggleAllPageRowsSelected","table_getPreSelectedRowModel","table_getSelectedRowModel","table_getFilteredSelectedRowModel","table_getGroupedSelectedRowModel","table_getIsAllRowsSelected","table_getIsAllPageRowsSelected","table_getIsSomeRowsSelected","table_getIsSomePageRowsSelected","table_getToggleAllRowsSelectedHandler","table_getToggleAllPageRowsSelectedHandler"],"sources":["../../../src/features/row-selection/rowSelectionFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowSelectionState,\n row_getCanMultiSelect,\n row_getCanSelect,\n row_getCanSelectSubRows,\n row_getIsAllSubRowsSelected,\n row_getIsSelected,\n row_getIsSomeSelected,\n row_getToggleSelectedHandler,\n row_toggleSelected,\n table_getFilteredSelectedRowModel,\n table_getGroupedSelectedRowModel,\n table_getIsAllPageRowsSelected,\n table_getIsAllRowsSelected,\n table_getIsSomePageRowsSelected,\n table_getIsSomeRowsSelected,\n table_getPreSelectedRowModel,\n table_getSelectedRowModel,\n table_getToggleAllPageRowsSelectedHandler,\n table_getToggleAllRowsSelectedHandler,\n table_resetRowSelection,\n table_setRowSelection,\n table_toggleAllPageRowsSelected,\n table_toggleAllRowsSelected,\n} from './rowSelectionFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_RowSelection,\n// TableOptions_RowSelection,\n// TableState_RowSelection,\n// Table_RowSelection,\n// } from './rowSelectionFeature.types'\n\nexport interface RowSelectionFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_RowSelection\n // Table: Table_RowSelection<TFeatures, TData>\n // TableOptions: TableOptions_RowSelection<TFeatures, TData>\n // TableState: TableState_RowSelection\n}\n\nexport function constructRowSelectionFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n rowSelection: getDefaultRowSelectionState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowSelectionFeature', prototype, table, {\n row_toggleSelected: {\n fn: (row, value, opts) => row_toggleSelected(row, value, opts),\n },\n row_getIsSelected: {\n fn: (row) => row_getIsSelected(row),\n },\n row_getIsSomeSelected: {\n fn: (row) => row_getIsSomeSelected(row),\n },\n row_getIsAllSubRowsSelected: {\n fn: (row) => row_getIsAllSubRowsSelected(row),\n },\n row_getCanSelect: {\n fn: (row) => row_getCanSelect(row),\n },\n row_getCanSelectSubRows: {\n fn: (row) => row_getCanSelectSubRows(row),\n },\n row_getCanMultiSelect: {\n fn: (row) => row_getCanMultiSelect(row),\n },\n row_getToggleSelectedHandler: {\n fn: (row) => row_getToggleSelectedHandler(row),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowSelectionFeature', table, {\n table_setRowSelection: {\n fn: (updater) => table_setRowSelection(table, updater),\n },\n table_resetRowSelection: {\n fn: (defaultState) => table_resetRowSelection(table, defaultState),\n },\n table_toggleAllRowsSelected: {\n fn: (value) => table_toggleAllRowsSelected(table, value),\n },\n table_toggleAllPageRowsSelected: {\n fn: (value) => table_toggleAllPageRowsSelected(table, value),\n },\n table_getPreSelectedRowModel: {\n fn: () => table_getPreSelectedRowModel(table),\n },\n table_getSelectedRowModel: {\n fn: () => table_getSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getCoreRowModel(),\n ],\n },\n table_getFilteredSelectedRowModel: {\n fn: () => table_getFilteredSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getFilteredRowModel(),\n ],\n },\n table_getGroupedSelectedRowModel: {\n fn: () => table_getGroupedSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getSortedRowModel(),\n ],\n },\n table_getIsAllRowsSelected: {\n fn: () => table_getIsAllRowsSelected(table),\n },\n table_getIsAllPageRowsSelected: {\n fn: () => table_getIsAllPageRowsSelected(table),\n },\n table_getIsSomeRowsSelected: {\n fn: () => table_getIsSomeRowsSelected(table),\n },\n table_getIsSomePageRowsSelected: {\n fn: () => table_getIsSomePageRowsSelected(table),\n },\n table_getToggleAllRowsSelectedHandler: {\n fn: () => table_getToggleAllRowsSelectedHandler(table),\n },\n table_getToggleAllPageRowsSelectedHandler: {\n fn: () => table_getToggleAllPageRowsSelectedHandler(table),\n },\n })\n },\n }\n}\n\n/**\n * The Row Selection feature adds row selection state and APIs to the table and row objects.\n */\nexport const rowSelectionFeature = constructRowSelectionFeature()\n"],"mappings":";;;;AAiDA,SAAgB,+BAGqD;AACnE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,cAAcA,+DAA6B;IAC3C,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,sBAAsBC,+BAAiB,gBAAgB,MAAM;IAC7D,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACxB;;EAGH,qBAAqB,WAAW,UAAU;AACxC,qCAAoB,uBAAuB,WAAW,OAAO;IAC3D,oBAAoB,EAClB,KAAK,KAAK,OAAO,SAASC,qDAAmB,KAAK,OAAO,KAAK,EAC/D;IACD,mBAAmB,EACjB,KAAK,QAAQC,oDAAkB,IAAI,EACpC;IACD,uBAAuB,EACrB,KAAK,QAAQC,wDAAsB,IAAI,EACxC;IACD,6BAA6B,EAC3B,KAAK,QAAQC,8DAA4B,IAAI,EAC9C;IACD,kBAAkB,EAChB,KAAK,QAAQC,mDAAiB,IAAI,EACnC;IACD,yBAAyB,EACvB,KAAK,QAAQC,0DAAwB,IAAI,EAC1C;IACD,uBAAuB,EACrB,KAAK,QAAQC,wDAAsB,IAAI,EACxC;IACD,8BAA8B,EAC5B,KAAK,QAAQC,+DAA6B,IAAI,EAC/C;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAYC,wDAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiBC,0DAAwB,OAAO,aAAa,EACnE;IACD,6BAA6B,EAC3B,KAAK,UAAUC,8DAA4B,OAAO,MAAM,EACzD;IACD,iCAAiC,EAC/B,KAAK,UAAUC,kEAAgC,OAAO,MAAM,EAC7D;IACD,8BAA8B,EAC5B,UAAUC,+DAA6B,MAAM,EAC9C;IACD,2BAA2B;KACzB,UAAUC,4DAA0B,MAAM;KAC1C,gBAAgB;;uCACd,MAAM,MAAM,4FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,mCAAmC;KACjC,UAAUC,oEAAkC,MAAM;KAClD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,qBAAqB,CAC5B;;KACF;IACD,kCAAkC;KAChC,UAAUC,mEAAiC,MAAM;KACjD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,mBAAmB,CAC1B;;KACF;IACD,4BAA4B,EAC1B,UAAUC,6DAA2B,MAAM,EAC5C;IACD,gCAAgC,EAC9B,UAAUC,iEAA+B,MAAM,EAChD;IACD,6BAA6B,EAC3B,UAAUC,8DAA4B,MAAM,EAC7C;IACD,iCAAiC,EAC/B,UAAUC,kEAAgC,MAAM,EACjD;IACD,uCAAuC,EACrC,UAAUC,wEAAsC,MAAM,EACvD;IACD,2CAA2C,EACzC,UAAUC,4EAA0C,MAAM,EAC3D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,sBAAsB,8BAA8B"}
1
+ {"version":3,"file":"rowSelectionFeature.cjs","names":["getDefaultRowSelectionState","makeStateUpdater","row_toggleSelected","row_getIsSelected","row_getIsSomeSelected","row_getIsAllSubRowsSelected","row_getCanSelect","row_getCanSelectSubRows","row_getCanMultiSelect","row_getToggleSelectedHandler","table_setRowSelection","table_resetRowSelection","table_toggleAllRowsSelected","table_toggleAllPageRowsSelected","table_getPreSelectedRowModel","table_getSelectedRowModel","table_getFilteredSelectedRowModel","table_getGroupedSelectedRowModel","table_getIsAllRowsSelected","table_getIsAllPageRowsSelected","table_getIsSomeRowsSelected","table_getIsSomePageRowsSelected","table_getToggleAllRowsSelectedHandler","table_getToggleAllPageRowsSelectedHandler"],"sources":["../../../src/features/row-selection/rowSelectionFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowSelectionState,\n row_getCanMultiSelect,\n row_getCanSelect,\n row_getCanSelectSubRows,\n row_getIsAllSubRowsSelected,\n row_getIsSelected,\n row_getIsSomeSelected,\n row_getToggleSelectedHandler,\n row_toggleSelected,\n table_getFilteredSelectedRowModel,\n table_getGroupedSelectedRowModel,\n table_getIsAllPageRowsSelected,\n table_getIsAllRowsSelected,\n table_getIsSomePageRowsSelected,\n table_getIsSomeRowsSelected,\n table_getPreSelectedRowModel,\n table_getSelectedRowModel,\n table_getToggleAllPageRowsSelectedHandler,\n table_getToggleAllRowsSelectedHandler,\n table_resetRowSelection,\n table_setRowSelection,\n table_toggleAllPageRowsSelected,\n table_toggleAllRowsSelected,\n} from './rowSelectionFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_RowSelection,\n// TableOptions_RowSelection,\n// TableState_RowSelection,\n// Table_RowSelection,\n// } from './rowSelectionFeature.types'\n\nexport interface RowSelectionFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_RowSelection\n // Table: Table_RowSelection<TFeatures, TData>\n // TableOptions: TableOptions_RowSelection<TFeatures, TData>\n // TableState: TableState_RowSelection\n}\n\n/**\n * Creates the stock row selection feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructRowSelectionFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n rowSelection: getDefaultRowSelectionState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowSelectionFeature', prototype, table, {\n row_toggleSelected: {\n fn: (row, value, opts) => row_toggleSelected(row, value, opts),\n },\n row_getIsSelected: {\n fn: (row) => row_getIsSelected(row),\n },\n row_getIsSomeSelected: {\n fn: (row) => row_getIsSomeSelected(row),\n },\n row_getIsAllSubRowsSelected: {\n fn: (row) => row_getIsAllSubRowsSelected(row),\n },\n row_getCanSelect: {\n fn: (row) => row_getCanSelect(row),\n },\n row_getCanSelectSubRows: {\n fn: (row) => row_getCanSelectSubRows(row),\n },\n row_getCanMultiSelect: {\n fn: (row) => row_getCanMultiSelect(row),\n },\n row_getToggleSelectedHandler: {\n fn: (row) => row_getToggleSelectedHandler(row),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowSelectionFeature', table, {\n table_setRowSelection: {\n fn: (updater) => table_setRowSelection(table, updater),\n },\n table_resetRowSelection: {\n fn: (defaultState) => table_resetRowSelection(table, defaultState),\n },\n table_toggleAllRowsSelected: {\n fn: (value) => table_toggleAllRowsSelected(table, value),\n },\n table_toggleAllPageRowsSelected: {\n fn: (value) => table_toggleAllPageRowsSelected(table, value),\n },\n table_getPreSelectedRowModel: {\n fn: () => table_getPreSelectedRowModel(table),\n },\n table_getSelectedRowModel: {\n fn: () => table_getSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getCoreRowModel(),\n ],\n },\n table_getFilteredSelectedRowModel: {\n fn: () => table_getFilteredSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getFilteredRowModel(),\n ],\n },\n table_getGroupedSelectedRowModel: {\n fn: () => table_getGroupedSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getSortedRowModel(),\n ],\n },\n table_getIsAllRowsSelected: {\n fn: () => table_getIsAllRowsSelected(table),\n },\n table_getIsAllPageRowsSelected: {\n fn: () => table_getIsAllPageRowsSelected(table),\n },\n table_getIsSomeRowsSelected: {\n fn: () => table_getIsSomeRowsSelected(table),\n },\n table_getIsSomePageRowsSelected: {\n fn: () => table_getIsSomePageRowsSelected(table),\n },\n table_getToggleAllRowsSelectedHandler: {\n fn: () => table_getToggleAllRowsSelectedHandler(table),\n },\n table_getToggleAllPageRowsSelectedHandler: {\n fn: () => table_getToggleAllPageRowsSelectedHandler(table),\n },\n })\n },\n }\n}\n\n/**\n * The stock row selection feature.\n *\n * Register this feature to add row selection state, selected row-model helpers,\n * and table/row APIs for checkbox and bulk-selection UI.\n */\nexport const rowSelectionFeature = constructRowSelectionFeature()\n"],"mappings":";;;;;;;;;AAsDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAcA,+DAA6B;IAC3C,GAAG;IACJ;;EAGH,yBAAyB,UAAU;GACjC,OAAO;IACL,sBAAsBC,+BAAiB,gBAAgB,MAAM;IAC7D,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACxB;;EAGH,qBAAqB,WAAW,UAAU;GACxC,kCAAoB,uBAAuB,WAAW,OAAO;IAC3D,oBAAoB,EAClB,KAAK,KAAK,OAAO,SAASC,qDAAmB,KAAK,OAAO,KAAK,EAC/D;IACD,mBAAmB,EACjB,KAAK,QAAQC,oDAAkB,IAAI,EACpC;IACD,uBAAuB,EACrB,KAAK,QAAQC,wDAAsB,IAAI,EACxC;IACD,6BAA6B,EAC3B,KAAK,QAAQC,8DAA4B,IAAI,EAC9C;IACD,kBAAkB,EAChB,KAAK,QAAQC,mDAAiB,IAAI,EACnC;IACD,yBAAyB,EACvB,KAAK,QAAQC,0DAAwB,IAAI,EAC1C;IACD,uBAAuB,EACrB,KAAK,QAAQC,wDAAsB,IAAI,EACxC;IACD,8BAA8B,EAC5B,KAAK,QAAQC,+DAA6B,IAAI,EAC/C;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,8BAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAYC,wDAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiBC,0DAAwB,OAAO,aAAa,EACnE;IACD,6BAA6B,EAC3B,KAAK,UAAUC,8DAA4B,OAAO,MAAM,EACzD;IACD,iCAAiC,EAC/B,KAAK,UAAUC,kEAAgC,OAAO,MAAM,EAC7D;IACD,8BAA8B,EAC5B,UAAUC,+DAA6B,MAAM,EAC9C;IACD,2BAA2B;KACzB,UAAUC,4DAA0B,MAAM;KAC1C,gBAAgB;;uCACd,MAAM,MAAM,4FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,mCAAmC;KACjC,UAAUC,oEAAkC,MAAM;KAClD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,qBAAqB,CAC5B;;KACF;IACD,kCAAkC;KAChC,UAAUC,mEAAiC,MAAM;KACjD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,mBAAmB,CAC1B;;KACF;IACD,4BAA4B,EAC1B,UAAUC,6DAA2B,MAAM,EAC5C;IACD,gCAAgC,EAC9B,UAAUC,iEAA+B,MAAM,EAChD;IACD,6BAA6B,EAC3B,UAAUC,8DAA4B,MAAM,EAC7C;IACD,iCAAiC,EAC/B,UAAUC,kEAAgC,MAAM,EACjD;IACD,uCAAuC,EACrC,UAAUC,wEAAsC,MAAM,EACvD;IACD,2CAA2C,EACzC,UAAUC,4EAA0C,MAAM,EAC3D;IACF,CAAC;;EAEL;;;;;;;;AASH,MAAa,sBAAsB,8BAA8B"}
@@ -3,9 +3,17 @@ import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
3
3
 
4
4
  //#region src/features/row-selection/rowSelectionFeature.d.ts
5
5
  interface RowSelectionFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ /**
7
+ * Creates the stock row selection feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  declare function constructRowSelectionFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>>;
7
12
  /**
8
- * The Row Selection feature adds row selection state and APIs to the table and row objects.
13
+ * The stock row selection feature.
14
+ *
15
+ * Register this feature to add row selection state, selected row-model helpers,
16
+ * and table/row APIs for checkbox and bulk-selection UI.
9
17
  */
10
18
  declare const rowSelectionFeature: TableFeature<RowSelectionFeatureConstructors<TableFeatures, RowData>>;
11
19
  //#endregion
@@ -3,9 +3,17 @@ import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
3
3
 
4
4
  //#region src/features/row-selection/rowSelectionFeature.d.ts
5
5
  interface RowSelectionFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ /**
7
+ * Creates the stock row selection feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  declare function constructRowSelectionFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>>;
7
12
  /**
8
- * The Row Selection feature adds row selection state and APIs to the table and row objects.
13
+ * The stock row selection feature.
14
+ *
15
+ * Register this feature to add row selection state, selected row-model helpers,
16
+ * and table/row APIs for checkbox and bulk-selection UI.
9
17
  */
10
18
  declare const rowSelectionFeature: TableFeature<RowSelectionFeatureConstructors<TableFeatures, RowData>>;
11
19
  //#endregion
@@ -2,6 +2,11 @@ import { assignPrototypeAPIs, assignTableAPIs, makeStateUpdater } from "../../ut
2
2
  import { getDefaultRowSelectionState, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, 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 } from "./rowSelectionFeature.utils.js";
3
3
 
4
4
  //#region src/features/row-selection/rowSelectionFeature.ts
5
+ /**
6
+ * Creates the stock row selection feature.
7
+ *
8
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
9
+ */
5
10
  function constructRowSelectionFeature() {
6
11
  return {
7
12
  getInitialState: (initialState) => {
@@ -69,7 +74,10 @@ function constructRowSelectionFeature() {
69
74
  };
70
75
  }
71
76
  /**
72
- * The Row Selection feature adds row selection state and APIs to the table and row objects.
77
+ * The stock row selection feature.
78
+ *
79
+ * Register this feature to add row selection state, selected row-model helpers,
80
+ * and table/row APIs for checkbox and bulk-selection UI.
73
81
  */
74
82
  const rowSelectionFeature = constructRowSelectionFeature();
75
83
 
@@ -1 +1 @@
1
- {"version":3,"file":"rowSelectionFeature.js","names":[],"sources":["../../../src/features/row-selection/rowSelectionFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowSelectionState,\n row_getCanMultiSelect,\n row_getCanSelect,\n row_getCanSelectSubRows,\n row_getIsAllSubRowsSelected,\n row_getIsSelected,\n row_getIsSomeSelected,\n row_getToggleSelectedHandler,\n row_toggleSelected,\n table_getFilteredSelectedRowModel,\n table_getGroupedSelectedRowModel,\n table_getIsAllPageRowsSelected,\n table_getIsAllRowsSelected,\n table_getIsSomePageRowsSelected,\n table_getIsSomeRowsSelected,\n table_getPreSelectedRowModel,\n table_getSelectedRowModel,\n table_getToggleAllPageRowsSelectedHandler,\n table_getToggleAllRowsSelectedHandler,\n table_resetRowSelection,\n table_setRowSelection,\n table_toggleAllPageRowsSelected,\n table_toggleAllRowsSelected,\n} from './rowSelectionFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_RowSelection,\n// TableOptions_RowSelection,\n// TableState_RowSelection,\n// Table_RowSelection,\n// } from './rowSelectionFeature.types'\n\nexport interface RowSelectionFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_RowSelection\n // Table: Table_RowSelection<TFeatures, TData>\n // TableOptions: TableOptions_RowSelection<TFeatures, TData>\n // TableState: TableState_RowSelection\n}\n\nexport function constructRowSelectionFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n rowSelection: getDefaultRowSelectionState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowSelectionFeature', prototype, table, {\n row_toggleSelected: {\n fn: (row, value, opts) => row_toggleSelected(row, value, opts),\n },\n row_getIsSelected: {\n fn: (row) => row_getIsSelected(row),\n },\n row_getIsSomeSelected: {\n fn: (row) => row_getIsSomeSelected(row),\n },\n row_getIsAllSubRowsSelected: {\n fn: (row) => row_getIsAllSubRowsSelected(row),\n },\n row_getCanSelect: {\n fn: (row) => row_getCanSelect(row),\n },\n row_getCanSelectSubRows: {\n fn: (row) => row_getCanSelectSubRows(row),\n },\n row_getCanMultiSelect: {\n fn: (row) => row_getCanMultiSelect(row),\n },\n row_getToggleSelectedHandler: {\n fn: (row) => row_getToggleSelectedHandler(row),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowSelectionFeature', table, {\n table_setRowSelection: {\n fn: (updater) => table_setRowSelection(table, updater),\n },\n table_resetRowSelection: {\n fn: (defaultState) => table_resetRowSelection(table, defaultState),\n },\n table_toggleAllRowsSelected: {\n fn: (value) => table_toggleAllRowsSelected(table, value),\n },\n table_toggleAllPageRowsSelected: {\n fn: (value) => table_toggleAllPageRowsSelected(table, value),\n },\n table_getPreSelectedRowModel: {\n fn: () => table_getPreSelectedRowModel(table),\n },\n table_getSelectedRowModel: {\n fn: () => table_getSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getCoreRowModel(),\n ],\n },\n table_getFilteredSelectedRowModel: {\n fn: () => table_getFilteredSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getFilteredRowModel(),\n ],\n },\n table_getGroupedSelectedRowModel: {\n fn: () => table_getGroupedSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getSortedRowModel(),\n ],\n },\n table_getIsAllRowsSelected: {\n fn: () => table_getIsAllRowsSelected(table),\n },\n table_getIsAllPageRowsSelected: {\n fn: () => table_getIsAllPageRowsSelected(table),\n },\n table_getIsSomeRowsSelected: {\n fn: () => table_getIsSomeRowsSelected(table),\n },\n table_getIsSomePageRowsSelected: {\n fn: () => table_getIsSomePageRowsSelected(table),\n },\n table_getToggleAllRowsSelectedHandler: {\n fn: () => table_getToggleAllRowsSelectedHandler(table),\n },\n table_getToggleAllPageRowsSelectedHandler: {\n fn: () => table_getToggleAllPageRowsSelectedHandler(table),\n },\n })\n },\n }\n}\n\n/**\n * The Row Selection feature adds row selection state and APIs to the table and row objects.\n */\nexport const rowSelectionFeature = constructRowSelectionFeature()\n"],"mappings":";;;;AAiDA,SAAgB,+BAGqD;AACnE,QAAO;EACL,kBAAkB,iBAAiB;AACjC,UAAO;IACL,cAAc,6BAA6B;IAC3C,GAAG;IACJ;;EAGH,yBAAyB,UAAU;AACjC,UAAO;IACL,sBAAsB,iBAAiB,gBAAgB,MAAM;IAC7D,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACxB;;EAGH,qBAAqB,WAAW,UAAU;AACxC,uBAAoB,uBAAuB,WAAW,OAAO;IAC3D,oBAAoB,EAClB,KAAK,KAAK,OAAO,SAAS,mBAAmB,KAAK,OAAO,KAAK,EAC/D;IACD,mBAAmB,EACjB,KAAK,QAAQ,kBAAkB,IAAI,EACpC;IACD,uBAAuB,EACrB,KAAK,QAAQ,sBAAsB,IAAI,EACxC;IACD,6BAA6B,EAC3B,KAAK,QAAQ,4BAA4B,IAAI,EAC9C;IACD,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,IAAI,EACnC;IACD,yBAAyB,EACvB,KAAK,QAAQ,wBAAwB,IAAI,EAC1C;IACD,uBAAuB,EACrB,KAAK,QAAQ,sBAAsB,IAAI,EACxC;IACD,8BAA8B,EAC5B,KAAK,QAAQ,6BAA6B,IAAI,EAC/C;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,aAAa,EACnE;IACD,6BAA6B,EAC3B,KAAK,UAAU,4BAA4B,OAAO,MAAM,EACzD;IACD,iCAAiC,EAC/B,KAAK,UAAU,gCAAgC,OAAO,MAAM,EAC7D;IACD,8BAA8B,EAC5B,UAAU,6BAA6B,MAAM,EAC9C;IACD,2BAA2B;KACzB,UAAU,0BAA0B,MAAM;KAC1C,gBAAgB;;uCACd,MAAM,MAAM,4FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,mCAAmC;KACjC,UAAU,kCAAkC,MAAM;KAClD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,qBAAqB,CAC5B;;KACF;IACD,kCAAkC;KAChC,UAAU,iCAAiC,MAAM;KACjD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,mBAAmB,CAC1B;;KACF;IACD,4BAA4B,EAC1B,UAAU,2BAA2B,MAAM,EAC5C;IACD,gCAAgC,EAC9B,UAAU,+BAA+B,MAAM,EAChD;IACD,6BAA6B,EAC3B,UAAU,4BAA4B,MAAM,EAC7C;IACD,iCAAiC,EAC/B,UAAU,gCAAgC,MAAM,EACjD;IACD,uCAAuC,EACrC,UAAU,sCAAsC,MAAM,EACvD;IACD,2CAA2C,EACzC,UAAU,0CAA0C,MAAM,EAC3D;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,sBAAsB,8BAA8B"}
1
+ {"version":3,"file":"rowSelectionFeature.js","names":[],"sources":["../../../src/features/row-selection/rowSelectionFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n makeStateUpdater,\n} from '../../utils'\nimport {\n getDefaultRowSelectionState,\n row_getCanMultiSelect,\n row_getCanSelect,\n row_getCanSelectSubRows,\n row_getIsAllSubRowsSelected,\n row_getIsSelected,\n row_getIsSomeSelected,\n row_getToggleSelectedHandler,\n row_toggleSelected,\n table_getFilteredSelectedRowModel,\n table_getGroupedSelectedRowModel,\n table_getIsAllPageRowsSelected,\n table_getIsAllRowsSelected,\n table_getIsSomePageRowsSelected,\n table_getIsSomeRowsSelected,\n table_getPreSelectedRowModel,\n table_getSelectedRowModel,\n table_getToggleAllPageRowsSelectedHandler,\n table_getToggleAllRowsSelectedHandler,\n table_resetRowSelection,\n table_setRowSelection,\n table_toggleAllPageRowsSelected,\n table_toggleAllRowsSelected,\n} from './rowSelectionFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type {\n// Row_RowSelection,\n// TableOptions_RowSelection,\n// TableState_RowSelection,\n// Table_RowSelection,\n// } from './rowSelectionFeature.types'\n\nexport interface RowSelectionFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Row: Row_RowSelection\n // Table: Table_RowSelection<TFeatures, TData>\n // TableOptions: TableOptions_RowSelection<TFeatures, TData>\n // TableState: TableState_RowSelection\n}\n\n/**\n * Creates the stock row selection feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructRowSelectionFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>> {\n return {\n getInitialState: (initialState) => {\n return {\n rowSelection: getDefaultRowSelectionState(),\n ...initialState,\n }\n },\n\n getDefaultTableOptions: (table) => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n }\n },\n\n assignRowPrototype: (prototype, table) => {\n assignPrototypeAPIs('rowSelectionFeature', prototype, table, {\n row_toggleSelected: {\n fn: (row, value, opts) => row_toggleSelected(row, value, opts),\n },\n row_getIsSelected: {\n fn: (row) => row_getIsSelected(row),\n },\n row_getIsSomeSelected: {\n fn: (row) => row_getIsSomeSelected(row),\n },\n row_getIsAllSubRowsSelected: {\n fn: (row) => row_getIsAllSubRowsSelected(row),\n },\n row_getCanSelect: {\n fn: (row) => row_getCanSelect(row),\n },\n row_getCanSelectSubRows: {\n fn: (row) => row_getCanSelectSubRows(row),\n },\n row_getCanMultiSelect: {\n fn: (row) => row_getCanMultiSelect(row),\n },\n row_getToggleSelectedHandler: {\n fn: (row) => row_getToggleSelectedHandler(row),\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('rowSelectionFeature', table, {\n table_setRowSelection: {\n fn: (updater) => table_setRowSelection(table, updater),\n },\n table_resetRowSelection: {\n fn: (defaultState) => table_resetRowSelection(table, defaultState),\n },\n table_toggleAllRowsSelected: {\n fn: (value) => table_toggleAllRowsSelected(table, value),\n },\n table_toggleAllPageRowsSelected: {\n fn: (value) => table_toggleAllPageRowsSelected(table, value),\n },\n table_getPreSelectedRowModel: {\n fn: () => table_getPreSelectedRowModel(table),\n },\n table_getSelectedRowModel: {\n fn: () => table_getSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getCoreRowModel(),\n ],\n },\n table_getFilteredSelectedRowModel: {\n fn: () => table_getFilteredSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getFilteredRowModel(),\n ],\n },\n table_getGroupedSelectedRowModel: {\n fn: () => table_getGroupedSelectedRowModel(table),\n memoDeps: () => [\n table.atoms.rowSelection?.get(),\n table.getSortedRowModel(),\n ],\n },\n table_getIsAllRowsSelected: {\n fn: () => table_getIsAllRowsSelected(table),\n },\n table_getIsAllPageRowsSelected: {\n fn: () => table_getIsAllPageRowsSelected(table),\n },\n table_getIsSomeRowsSelected: {\n fn: () => table_getIsSomeRowsSelected(table),\n },\n table_getIsSomePageRowsSelected: {\n fn: () => table_getIsSomePageRowsSelected(table),\n },\n table_getToggleAllRowsSelectedHandler: {\n fn: () => table_getToggleAllRowsSelectedHandler(table),\n },\n table_getToggleAllPageRowsSelectedHandler: {\n fn: () => table_getToggleAllPageRowsSelectedHandler(table),\n },\n })\n },\n }\n}\n\n/**\n * The stock row selection feature.\n *\n * Register this feature to add row selection state, selected row-model helpers,\n * and table/row APIs for checkbox and bulk-selection UI.\n */\nexport const rowSelectionFeature = constructRowSelectionFeature()\n"],"mappings":";;;;;;;;;AAsDA,SAAgB,+BAGqD;CACnE,OAAO;EACL,kBAAkB,iBAAiB;GACjC,OAAO;IACL,cAAc,6BAA6B;IAC3C,GAAG;IACJ;;EAGH,yBAAyB,UAAU;GACjC,OAAO;IACL,sBAAsB,iBAAiB,gBAAgB,MAAM;IAC7D,oBAAoB;IACpB,yBAAyB;IACzB,uBAAuB;IACxB;;EAGH,qBAAqB,WAAW,UAAU;GACxC,oBAAoB,uBAAuB,WAAW,OAAO;IAC3D,oBAAoB,EAClB,KAAK,KAAK,OAAO,SAAS,mBAAmB,KAAK,OAAO,KAAK,EAC/D;IACD,mBAAmB,EACjB,KAAK,QAAQ,kBAAkB,IAAI,EACpC;IACD,uBAAuB,EACrB,KAAK,QAAQ,sBAAsB,IAAI,EACxC;IACD,6BAA6B,EAC3B,KAAK,QAAQ,4BAA4B,IAAI,EAC9C;IACD,kBAAkB,EAChB,KAAK,QAAQ,iBAAiB,IAAI,EACnC;IACD,yBAAyB,EACvB,KAAK,QAAQ,wBAAwB,IAAI,EAC1C;IACD,uBAAuB,EACrB,KAAK,QAAQ,sBAAsB,IAAI,EACxC;IACD,8BAA8B,EAC5B,KAAK,QAAQ,6BAA6B,IAAI,EAC/C;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,gBAAgB,uBAAuB,OAAO;IAC5C,uBAAuB,EACrB,KAAK,YAAY,sBAAsB,OAAO,QAAQ,EACvD;IACD,yBAAyB,EACvB,KAAK,iBAAiB,wBAAwB,OAAO,aAAa,EACnE;IACD,6BAA6B,EAC3B,KAAK,UAAU,4BAA4B,OAAO,MAAM,EACzD;IACD,iCAAiC,EAC/B,KAAK,UAAU,gCAAgC,OAAO,MAAM,EAC7D;IACD,8BAA8B,EAC5B,UAAU,6BAA6B,MAAM,EAC9C;IACD,2BAA2B;KACzB,UAAU,0BAA0B,MAAM;KAC1C,gBAAgB;;uCACd,MAAM,MAAM,4FAAc,KAAK,EAC/B,MAAM,iBAAiB,CACxB;;KACF;IACD,mCAAmC;KACjC,UAAU,kCAAkC,MAAM;KAClD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,qBAAqB,CAC5B;;KACF;IACD,kCAAkC;KAChC,UAAU,iCAAiC,MAAM;KACjD,gBAAgB;;wCACd,MAAM,MAAM,8FAAc,KAAK,EAC/B,MAAM,mBAAmB,CAC1B;;KACF;IACD,4BAA4B,EAC1B,UAAU,2BAA2B,MAAM,EAC5C;IACD,gCAAgC,EAC9B,UAAU,+BAA+B,MAAM,EAChD;IACD,6BAA6B,EAC3B,UAAU,4BAA4B,MAAM,EAC7C;IACD,iCAAiC,EAC/B,UAAU,gCAAgC,MAAM,EACjD;IACD,uCAAuC,EACrC,UAAU,sCAAsC,MAAM,EACvD;IACD,2CAA2C,EACzC,UAAU,0CAA0C,MAAM,EAC3D;IACF,CAAC;;EAEL;;;;;;;;AASH,MAAa,sBAAsB,8BAA8B"}
@@ -25,7 +25,9 @@ interface TableOptions_RowSelection<TFeatures extends TableFeatures, TData exten
25
25
  */
26
26
  enableSubRowSelection?: boolean | ((row: Row<TFeatures, TData>) => boolean);
27
27
  /**
28
- * If provided, this function will be called with an `updaterFn` when `state.rowSelection` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
28
+ * Called with an updater when row selection state changes. Pair this with
29
+ * `state.rowSelection` when using external state; external atoms can own the
30
+ * slice without this callback.
29
31
  */
30
32
  onRowSelectionChange?: OnChangeFn<RowSelectionState>;
31
33
  }
@@ -111,7 +113,7 @@ interface Table_RowSelection<TFeatures extends TableFeatures, TData extends RowD
111
113
  */
112
114
  resetRowSelection: (defaultState?: boolean) => void;
113
115
  /**
114
- * Sets or updates the `state.rowSelection` state.
116
+ * Sets row selection state using a value or updater.
115
117
  */
116
118
  setRowSelection: (updater: Updater<RowSelectionState>) => void;
117
119
  /**
@@ -25,7 +25,9 @@ interface TableOptions_RowSelection<TFeatures extends TableFeatures, TData exten
25
25
  */
26
26
  enableSubRowSelection?: boolean | ((row: Row<TFeatures, TData>) => boolean);
27
27
  /**
28
- * If provided, this function will be called with an `updaterFn` when `state.rowSelection` changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
28
+ * Called with an updater when row selection state changes. Pair this with
29
+ * `state.rowSelection` when using external state; external atoms can own the
30
+ * slice without this callback.
29
31
  */
30
32
  onRowSelectionChange?: OnChangeFn<RowSelectionState>;
31
33
  }
@@ -111,7 +113,7 @@ interface Table_RowSelection<TFeatures extends TableFeatures, TData extends RowD
111
113
  */
112
114
  resetRowSelection: (defaultState?: boolean) => void;
113
115
  /**
114
- * Sets or updates the `state.rowSelection` state.
116
+ * Sets row selection state using a value or updater.
115
117
  */
116
118
  setRowSelection: (updater: Updater<RowSelectionState>) => void;
117
119
  /**
@@ -1,16 +1,57 @@
1
1
  const require_utils = require('../../utils.cjs');
2
2
 
3
3
  //#region src/features/row-selection/rowSelectionFeature.utils.ts
4
+ /**
5
+ * Returns the default row selection state.
6
+ *
7
+ * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const initialValue = getDefaultRowSelectionState()
12
+ * ```
13
+ */
4
14
  function getDefaultRowSelectionState() {
5
15
  return {};
6
16
  }
17
+ /**
18
+ * Updates the table's row selection state slice.
19
+ *
20
+ * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * table_setRowSelection(table, (old) => old)
25
+ * ```
26
+ */
7
27
  function table_setRowSelection(table, updater) {
8
28
  var _table$options$onRowS, _table$options;
9
29
  (_table$options$onRowS = (_table$options = table.options).onRowSelectionChange) === null || _table$options$onRowS === void 0 || _table$options$onRowS.call(_table$options, updater);
10
30
  }
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
  function table_resetRowSelection(table, defaultState) {
12
43
  table_setRowSelection(table, defaultState ? {} : require_utils.cloneState(table.initialState.rowSelection ?? {}));
13
44
  }
45
+ /**
46
+ * Toggles all rows selected for the table.
47
+ *
48
+ * This is the table-level convenience API used by UI controls that affect many columns or rows at once.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * table_toggleAllRowsSelected(table)
53
+ * ```
54
+ */
14
55
  function table_toggleAllRowsSelected(table, value) {
15
56
  table_setRowSelection(table, (old) => {
16
57
  value = typeof value !== "undefined" ? value : !table_getIsAllRowsSelected(table);
@@ -26,6 +67,16 @@ function table_toggleAllRowsSelected(table, value) {
26
67
  return rowSelection;
27
68
  });
28
69
  }
70
+ /**
71
+ * Toggles all page rows selected for the table.
72
+ *
73
+ * This is the table-level convenience API used by UI controls that affect many columns or rows at once.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * table_toggleAllPageRowsSelected(table)
78
+ * ```
79
+ */
29
80
  function table_toggleAllPageRowsSelected(table, value) {
30
81
  table_setRowSelection(table, (old) => {
31
82
  const resolvedValue = typeof value !== "undefined" ? value : !table_getIsAllPageRowsSelected(table);
@@ -36,9 +87,29 @@ function table_toggleAllPageRowsSelected(table, value) {
36
87
  return rowSelection;
37
88
  });
38
89
  }
90
+ /**
91
+ * Returns pre selected row model for the table.
92
+ *
93
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * const value = table_getPreSelectedRowModel(table)
98
+ * ```
99
+ */
39
100
  function table_getPreSelectedRowModel(table) {
40
101
  return table.getCoreRowModel();
41
102
  }
103
+ /**
104
+ * Returns selected row model for the table.
105
+ *
106
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * const value = table_getSelectedRowModel(table)
111
+ * ```
112
+ */
42
113
  function table_getSelectedRowModel(table) {
43
114
  var _table$atoms$rowSelec;
44
115
  const rowModel = table.getCoreRowModel();
@@ -49,6 +120,16 @@ function table_getSelectedRowModel(table) {
49
120
  };
50
121
  return selectRowsFn(rowModel);
51
122
  }
123
+ /**
124
+ * Returns filtered selected row model for the table.
125
+ *
126
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * const value = table_getFilteredSelectedRowModel(table)
131
+ * ```
132
+ */
52
133
  function table_getFilteredSelectedRowModel(table) {
53
134
  var _table$atoms$rowSelec2;
54
135
  const rowModel = table.getCoreRowModel();
@@ -59,6 +140,16 @@ function table_getFilteredSelectedRowModel(table) {
59
140
  };
60
141
  return selectRowsFn(rowModel);
61
142
  }
143
+ /**
144
+ * Returns grouped selected row model for the table.
145
+ *
146
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * const value = table_getGroupedSelectedRowModel(table)
151
+ * ```
152
+ */
62
153
  function table_getGroupedSelectedRowModel(table) {
63
154
  var _table$atoms$rowSelec3;
64
155
  const rowModel = table.getCoreRowModel();
@@ -69,6 +160,16 @@ function table_getGroupedSelectedRowModel(table) {
69
160
  };
70
161
  return selectRowsFn(rowModel);
71
162
  }
163
+ /**
164
+ * Returns is all rows selected for the table.
165
+ *
166
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
167
+ *
168
+ * @example
169
+ * ```ts
170
+ * const value = table_getIsAllRowsSelected(table)
171
+ * ```
172
+ */
72
173
  function table_getIsAllRowsSelected(table) {
73
174
  var _table$atoms$rowSelec4;
74
175
  const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
@@ -79,6 +180,16 @@ function table_getIsAllRowsSelected(table) {
79
180
  }
80
181
  return isAllRowsSelected;
81
182
  }
183
+ /**
184
+ * Returns is all page rows selected for the table.
185
+ *
186
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * const value = table_getIsAllPageRowsSelected(table)
191
+ * ```
192
+ */
82
193
  function table_getIsAllPageRowsSelected(table) {
83
194
  var _table$atoms$rowSelec5;
84
195
  const paginationFlatRows = table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row));
@@ -87,25 +198,75 @@ function table_getIsAllPageRowsSelected(table) {
87
198
  if (isAllPageRowsSelected && paginationFlatRows.some((row) => !rowSelection[row.id])) isAllPageRowsSelected = false;
88
199
  return isAllPageRowsSelected;
89
200
  }
201
+ /**
202
+ * Returns is some rows selected for the table.
203
+ *
204
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
205
+ *
206
+ * @example
207
+ * ```ts
208
+ * const value = table_getIsSomeRowsSelected(table)
209
+ * ```
210
+ */
90
211
  function table_getIsSomeRowsSelected(table) {
91
212
  var _table$atoms$rowSelec6;
92
213
  const totalSelected = Object.keys(((_table$atoms$rowSelec6 = table.atoms.rowSelection) === null || _table$atoms$rowSelec6 === void 0 ? void 0 : _table$atoms$rowSelec6.get()) ?? {}).length;
93
214
  return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
94
215
  }
216
+ /**
217
+ * Returns is some page rows selected for the table.
218
+ *
219
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
220
+ *
221
+ * @example
222
+ * ```ts
223
+ * const value = table_getIsSomePageRowsSelected(table)
224
+ * ```
225
+ */
95
226
  function table_getIsSomePageRowsSelected(table) {
96
227
  const paginationFlatRows = table.getPaginatedRowModel().flatRows;
97
228
  return table_getIsAllPageRowsSelected(table) ? false : paginationFlatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row));
98
229
  }
230
+ /**
231
+ * Returns an event handler for all rows selected handler.
232
+ *
233
+ * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.
234
+ *
235
+ * @example
236
+ * ```ts
237
+ * const value = table_getToggleAllRowsSelectedHandler(table)
238
+ * ```
239
+ */
99
240
  function table_getToggleAllRowsSelectedHandler(table) {
100
241
  return (e) => {
101
242
  table_toggleAllRowsSelected(table, e.target.checked);
102
243
  };
103
244
  }
245
+ /**
246
+ * Returns an event handler for all page rows selected handler.
247
+ *
248
+ * The handler calls the matching table toggle API and can be attached directly to checkbox or button UI.
249
+ *
250
+ * @example
251
+ * ```ts
252
+ * const value = table_getToggleAllPageRowsSelectedHandler(table)
253
+ * ```
254
+ */
104
255
  function table_getToggleAllPageRowsSelectedHandler(table) {
105
256
  return (e) => {
106
257
  table_toggleAllPageRowsSelected(table, e.target.checked);
107
258
  };
108
259
  }
260
+ /**
261
+ * Toggles selected for a row.
262
+ *
263
+ * The update is routed through the table state updater for the owning feature state slice.
264
+ *
265
+ * @example
266
+ * ```ts
267
+ * row_toggleSelected(row)
268
+ * ```
269
+ */
109
270
  function row_toggleSelected(row, value, opts) {
110
271
  const isSelected = row_getIsSelected(row);
111
272
  table_setRowSelection(row.table, (old) => {
@@ -116,30 +277,100 @@ function row_toggleSelected(row, value, opts) {
116
277
  return selectedRowIds;
117
278
  });
118
279
  }
280
+ /**
281
+ * Returns is selected for a row.
282
+ *
283
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
284
+ *
285
+ * @example
286
+ * ```ts
287
+ * const value = row_getIsSelected(row)
288
+ * ```
289
+ */
119
290
  function row_getIsSelected(row) {
120
291
  return isRowSelected(row);
121
292
  }
293
+ /**
294
+ * Returns is some selected for a row.
295
+ *
296
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
297
+ *
298
+ * @example
299
+ * ```ts
300
+ * const value = row_getIsSomeSelected(row)
301
+ * ```
302
+ */
122
303
  function row_getIsSomeSelected(row) {
123
304
  return isSubRowSelected(row) === "some";
124
305
  }
306
+ /**
307
+ * Returns is all sub rows selected for a row.
308
+ *
309
+ * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
310
+ *
311
+ * @example
312
+ * ```ts
313
+ * const value = row_getIsAllSubRowsSelected(row)
314
+ * ```
315
+ */
125
316
  function row_getIsAllSubRowsSelected(row) {
126
317
  return isSubRowSelected(row) === "all";
127
318
  }
319
+ /**
320
+ * Returns whether a row can use select.
321
+ *
322
+ * This evaluates row data, table options, and feature-specific enablement rules.
323
+ *
324
+ * @example
325
+ * ```ts
326
+ * const value = row_getCanSelect(row)
327
+ * ```
328
+ */
128
329
  function row_getCanSelect(row) {
129
330
  const options = row.table.options;
130
331
  if (typeof options.enableRowSelection === "function") return options.enableRowSelection(row);
131
332
  return options.enableRowSelection ?? true;
132
333
  }
334
+ /**
335
+ * Returns whether a row can use select sub rows.
336
+ *
337
+ * This evaluates row data, table options, and feature-specific enablement rules.
338
+ *
339
+ * @example
340
+ * ```ts
341
+ * const value = row_getCanSelectSubRows(row)
342
+ * ```
343
+ */
133
344
  function row_getCanSelectSubRows(row) {
134
345
  const options = row.table.options;
135
346
  if (typeof options.enableSubRowSelection === "function") return options.enableSubRowSelection(row);
136
347
  return options.enableSubRowSelection ?? true;
137
348
  }
349
+ /**
350
+ * Returns whether a row can use multi select.
351
+ *
352
+ * This evaluates row data, table options, and feature-specific enablement rules.
353
+ *
354
+ * @example
355
+ * ```ts
356
+ * const value = row_getCanMultiSelect(row)
357
+ * ```
358
+ */
138
359
  function row_getCanMultiSelect(row) {
139
360
  const options = row.table.options;
140
361
  if (typeof options.enableMultiRowSelection === "function") return options.enableMultiRowSelection(row);
141
362
  return options.enableMultiRowSelection ?? true;
142
363
  }
364
+ /**
365
+ * Returns an event handler for toggling selected handler.
366
+ *
367
+ * The handler is intended for direct use in row-level controls such as expansion or selection buttons.
368
+ *
369
+ * @example
370
+ * ```ts
371
+ * const value = row_getToggleSelectedHandler(row)
372
+ * ```
373
+ */
143
374
  function row_getToggleSelectedHandler(row) {
144
375
  const canSelect = row_getCanSelect(row);
145
376
  return (e) => {
@@ -155,6 +386,16 @@ const mutateRowIsSelected = (selectedRowIds, rowId, value, includeChildren, tabl
155
386
  } else delete selectedRowIds[rowId];
156
387
  if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table));
157
388
  };
389
+ /**
390
+ * Builds a row model containing rows selected by the current row selection state.
391
+ *
392
+ * The result is derived from the supplied row model, so selected ids absent from the current data are not materialized as rows.
393
+ *
394
+ * @example
395
+ * ```ts
396
+ * const selectedRows = selectRowsFn(table, rowModel)
397
+ * ```
398
+ */
158
399
  function selectRowsFn(rowModel) {
159
400
  const newSelectedFlatRows = [];
160
401
  const newSelectedRowsById = {};
@@ -178,10 +419,28 @@ function selectRowsFn(rowModel) {
178
419
  rowsById: newSelectedRowsById
179
420
  };
180
421
  }
422
+ /**
423
+ * Returns whether a row id is selected in the current row selection state.
424
+ *
425
+ * @example
426
+ * ```ts
427
+ * const selected = isRowSelected(row, selection)
428
+ * ```
429
+ */
181
430
  function isRowSelected(row) {
182
431
  var _row$table$atoms$rowS;
183
432
  return (((_row$table$atoms$rowS = row.table.atoms.rowSelection) === null || _row$table$atoms$rowS === void 0 ? void 0 : _row$table$atoms$rowS.get()) ?? {})[row.id] ?? false;
184
433
  }
434
+ /**
435
+ * Returns whether all, some, or none of a row's selectable descendants are selected.
436
+ *
437
+ * The result is used to drive indeterminate row selection UI.
438
+ *
439
+ * @example
440
+ * ```ts
441
+ * const selectedState = isSubRowSelected(row, selection, table)
442
+ * ```
443
+ */
185
444
  function isSubRowSelected(row) {
186
445
  if (!row.subRows.length) return false;
187
446
  let allChildrenSelected = true;