@tanstack/table-core 9.0.0-alpha.4 → 9.0.0-alpha.42

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 (839) hide show
  1. package/README.md +117 -0
  2. package/dist/core/cells/constructCell.cjs +28 -0
  3. package/dist/core/cells/constructCell.cjs.map +1 -0
  4. package/dist/core/cells/constructCell.d.cts +12 -0
  5. package/dist/core/cells/constructCell.d.ts +12 -0
  6. package/dist/core/cells/constructCell.js +27 -0
  7. package/dist/core/cells/constructCell.js.map +1 -0
  8. package/dist/core/cells/coreCellsFeature.cjs +25 -0
  9. package/dist/core/cells/coreCellsFeature.cjs.map +1 -0
  10. package/dist/core/cells/coreCellsFeature.d.cts +13 -0
  11. package/dist/core/cells/coreCellsFeature.d.ts +13 -0
  12. package/dist/core/cells/coreCellsFeature.js +24 -0
  13. package/dist/core/cells/coreCellsFeature.js.map +1 -0
  14. package/dist/core/cells/coreCellsFeature.types.d.cts +57 -0
  15. package/dist/core/cells/coreCellsFeature.types.d.ts +57 -0
  16. package/dist/core/cells/coreCellsFeature.utils.cjs +24 -0
  17. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -0
  18. package/dist/core/cells/coreCellsFeature.utils.d.cts +20 -0
  19. package/dist/core/cells/coreCellsFeature.utils.d.ts +20 -0
  20. package/dist/core/cells/coreCellsFeature.utils.js +21 -0
  21. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -0
  22. package/dist/core/columns/constructColumn.cjs +52 -0
  23. package/dist/core/columns/constructColumn.cjs.map +1 -0
  24. package/dist/core/columns/constructColumn.d.cts +11 -0
  25. package/dist/core/columns/constructColumn.d.ts +11 -0
  26. package/dist/core/columns/constructColumn.js +51 -0
  27. package/dist/core/columns/constructColumn.js.map +1 -0
  28. package/dist/core/columns/coreColumnsFeature.cjs +70 -0
  29. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -0
  30. package/dist/core/columns/coreColumnsFeature.d.cts +13 -0
  31. package/dist/core/columns/coreColumnsFeature.d.ts +13 -0
  32. package/dist/core/columns/coreColumnsFeature.js +69 -0
  33. package/dist/core/columns/coreColumnsFeature.js.map +1 -0
  34. package/dist/core/columns/coreColumnsFeature.types.d.cts +89 -0
  35. package/dist/core/columns/coreColumnsFeature.types.d.ts +89 -0
  36. package/dist/core/columns/coreColumnsFeature.utils.cjs +74 -0
  37. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -0
  38. package/dist/core/columns/coreColumnsFeature.utils.d.cts +18 -0
  39. package/dist/core/columns/coreColumnsFeature.utils.d.ts +18 -0
  40. package/dist/core/columns/coreColumnsFeature.utils.js +67 -0
  41. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -0
  42. package/dist/core/coreFeatures.cjs +20 -0
  43. package/dist/core/coreFeatures.cjs.map +1 -0
  44. package/dist/core/coreFeatures.d.cts +21 -0
  45. package/dist/core/coreFeatures.d.ts +21 -0
  46. package/dist/core/coreFeatures.js +20 -0
  47. package/dist/core/coreFeatures.js.map +1 -0
  48. package/dist/core/headers/buildHeaderGroups.cjs +90 -0
  49. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -0
  50. package/dist/core/headers/buildHeaderGroups.d.cts +11 -0
  51. package/dist/core/headers/buildHeaderGroups.d.ts +11 -0
  52. package/dist/core/headers/buildHeaderGroups.js +90 -0
  53. package/dist/core/headers/buildHeaderGroups.js.map +1 -0
  54. package/dist/core/headers/constructHeader.cjs +35 -0
  55. package/dist/core/headers/constructHeader.cjs.map +1 -0
  56. package/dist/core/headers/constructHeader.d.cts +17 -0
  57. package/dist/core/headers/constructHeader.d.ts +17 -0
  58. package/dist/core/headers/constructHeader.js +34 -0
  59. package/dist/core/headers/constructHeader.js.map +1 -0
  60. package/dist/core/headers/coreHeadersFeature.cjs +64 -0
  61. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -0
  62. package/dist/core/headers/coreHeadersFeature.d.cts +13 -0
  63. package/dist/core/headers/coreHeadersFeature.d.ts +13 -0
  64. package/dist/core/headers/coreHeadersFeature.js +63 -0
  65. package/dist/core/headers/coreHeadersFeature.js.map +1 -0
  66. package/dist/core/headers/coreHeadersFeature.types.d.cts +104 -0
  67. package/dist/core/headers/coreHeadersFeature.types.d.ts +104 -0
  68. package/dist/core/headers/coreHeadersFeature.utils.cjs +66 -0
  69. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -0
  70. package/dist/core/headers/coreHeadersFeature.utils.d.cts +20 -0
  71. package/dist/core/headers/coreHeadersFeature.utils.d.ts +20 -0
  72. package/dist/core/headers/coreHeadersFeature.utils.js +61 -0
  73. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -0
  74. package/dist/core/reactivity/constructReactivityBindings.cjs +19 -0
  75. package/dist/core/reactivity/constructReactivityBindings.cjs.map +1 -0
  76. package/dist/core/reactivity/constructReactivityBindings.d.cts +7 -0
  77. package/dist/core/reactivity/constructReactivityBindings.d.ts +7 -0
  78. package/dist/core/reactivity/constructReactivityBindings.js +19 -0
  79. package/dist/core/reactivity/constructReactivityBindings.js.map +1 -0
  80. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +37 -0
  81. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +37 -0
  82. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +19 -0
  83. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -0
  84. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +14 -0
  85. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +14 -0
  86. package/dist/core/reactivity/coreReactivityFeature.utils.js +18 -0
  87. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -0
  88. package/dist/core/row-models/coreRowModelsFeature.cjs +31 -0
  89. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -0
  90. package/dist/core/row-models/coreRowModelsFeature.d.cts +13 -0
  91. package/dist/core/row-models/coreRowModelsFeature.d.ts +13 -0
  92. package/dist/core/row-models/coreRowModelsFeature.js +30 -0
  93. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -0
  94. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +42 -0
  95. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +42 -0
  96. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +83 -0
  97. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -0
  98. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +21 -0
  99. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +21 -0
  100. package/dist/core/row-models/coreRowModelsFeature.utils.js +72 -0
  101. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  102. package/dist/core/row-models/createCoreRowModel.cjs +47 -0
  103. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -0
  104. package/dist/core/row-models/createCoreRowModel.d.cts +10 -0
  105. package/dist/core/row-models/createCoreRowModel.d.ts +10 -0
  106. package/dist/core/row-models/createCoreRowModel.js +47 -0
  107. package/dist/core/row-models/createCoreRowModel.js.map +1 -0
  108. package/dist/core/rows/constructRow.cjs +37 -0
  109. package/dist/core/rows/constructRow.cjs.map +1 -0
  110. package/dist/core/rows/constructRow.d.cts +10 -0
  111. package/dist/core/rows/constructRow.d.ts +10 -0
  112. package/dist/core/rows/constructRow.js +36 -0
  113. package/dist/core/rows/constructRow.js.map +1 -0
  114. package/dist/core/rows/coreRowsFeature.cjs +41 -0
  115. package/dist/core/rows/coreRowsFeature.cjs.map +1 -0
  116. package/dist/core/rows/coreRowsFeature.d.cts +13 -0
  117. package/dist/core/rows/coreRowsFeature.d.ts +13 -0
  118. package/dist/core/rows/coreRowsFeature.js +40 -0
  119. package/dist/core/rows/coreRowsFeature.js.map +1 -0
  120. package/dist/core/rows/coreRowsFeature.types.d.cts +96 -0
  121. package/dist/core/rows/coreRowsFeature.types.d.ts +96 -0
  122. package/dist/core/rows/coreRowsFeature.utils.cjs +81 -0
  123. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -0
  124. package/dist/core/rows/coreRowsFeature.utils.d.cts +20 -0
  125. package/dist/core/rows/coreRowsFeature.utils.d.ts +20 -0
  126. package/dist/core/rows/coreRowsFeature.utils.js +72 -0
  127. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -0
  128. package/dist/core/table/constructTable.cjs +82 -0
  129. package/dist/core/table/constructTable.cjs.map +1 -0
  130. package/dist/core/table/constructTable.d.cts +12 -0
  131. package/dist/core/table/constructTable.d.ts +12 -0
  132. package/dist/core/table/constructTable.js +81 -0
  133. package/dist/core/table/constructTable.js.map +1 -0
  134. package/dist/core/table/coreTablesFeature.cjs +21 -0
  135. package/dist/core/table/coreTablesFeature.cjs.map +1 -0
  136. package/dist/core/table/coreTablesFeature.d.cts +13 -0
  137. package/dist/core/table/coreTablesFeature.d.ts +13 -0
  138. package/dist/core/table/coreTablesFeature.js +20 -0
  139. package/dist/core/table/coreTablesFeature.js.map +1 -0
  140. package/dist/core/table/coreTablesFeature.types.d.cts +162 -0
  141. package/dist/core/table/coreTablesFeature.types.d.ts +162 -0
  142. package/dist/core/table/coreTablesFeature.utils.cjs +26 -0
  143. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -0
  144. package/dist/core/table/coreTablesFeature.utils.d.cts +12 -0
  145. package/dist/core/table/coreTablesFeature.utils.d.ts +12 -0
  146. package/dist/core/table/coreTablesFeature.utils.js +24 -0
  147. package/dist/core/table/coreTablesFeature.utils.js.map +1 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.cjs +65 -0
  149. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -0
  150. package/dist/features/column-faceting/columnFacetingFeature.d.cts +13 -0
  151. package/dist/features/column-faceting/columnFacetingFeature.d.ts +13 -0
  152. package/dist/features/column-faceting/columnFacetingFeature.js +64 -0
  153. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -0
  154. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +73 -0
  155. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +73 -0
  156. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +35 -0
  157. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -0
  158. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +16 -0
  159. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +16 -0
  160. package/dist/features/column-faceting/columnFacetingFeature.utils.js +29 -0
  161. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  162. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +36 -0
  163. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -0
  164. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +9 -0
  165. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +9 -0
  166. package/dist/features/column-faceting/createFacetedMinMaxValues.js +36 -0
  167. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  168. package/dist/features/column-faceting/createFacetedRowModel.cjs +40 -0
  169. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -0
  170. package/dist/features/column-faceting/createFacetedRowModel.d.cts +10 -0
  171. package/dist/features/column-faceting/createFacetedRowModel.d.ts +10 -0
  172. package/dist/features/column-faceting/createFacetedRowModel.js +40 -0
  173. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -0
  174. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +33 -0
  175. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -0
  176. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +9 -0
  177. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +9 -0
  178. package/dist/features/column-faceting/createFacetedUniqueValues.js +33 -0
  179. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  180. package/dist/features/column-filtering/columnFilteringFeature.cjs +55 -0
  181. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -0
  182. package/dist/features/column-filtering/columnFilteringFeature.d.cts +14 -0
  183. package/dist/features/column-filtering/columnFilteringFeature.d.ts +14 -0
  184. package/dist/features/column-filtering/columnFilteringFeature.js +54 -0
  185. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -0
  186. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +147 -0
  187. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +147 -0
  188. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +90 -0
  189. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -0
  190. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +21 -0
  191. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +21 -0
  192. package/dist/features/column-filtering/columnFilteringFeature.utils.js +80 -0
  193. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  194. package/dist/features/column-filtering/createFilteredRowModel.cjs +99 -0
  195. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -0
  196. package/dist/features/column-filtering/createFilteredRowModel.d.cts +11 -0
  197. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -0
  198. package/dist/features/column-filtering/createFilteredRowModel.js +99 -0
  199. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -0
  200. package/dist/features/column-filtering/filterRowsUtils.cjs +76 -0
  201. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -0
  202. package/dist/features/column-filtering/filterRowsUtils.js +76 -0
  203. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.cjs +71 -0
  205. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -0
  206. package/dist/features/column-grouping/columnGroupingFeature.d.cts +13 -0
  207. package/dist/features/column-grouping/columnGroupingFeature.d.ts +13 -0
  208. package/dist/features/column-grouping/columnGroupingFeature.js +70 -0
  209. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -0
  210. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +157 -0
  211. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +157 -0
  212. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +88 -0
  213. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -0
  214. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +27 -0
  215. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +27 -0
  216. package/dist/features/column-grouping/columnGroupingFeature.utils.js +74 -0
  217. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  218. package/dist/features/column-grouping/createGroupedRowModel.cjs +114 -0
  219. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -0
  220. package/dist/features/column-grouping/createGroupedRowModel.d.cts +11 -0
  221. package/dist/features/column-grouping/createGroupedRowModel.d.ts +11 -0
  222. package/dist/features/column-grouping/createGroupedRowModel.js +114 -0
  223. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -0
  224. package/dist/features/column-ordering/columnOrderingFeature.cjs +61 -0
  225. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -0
  226. package/dist/features/column-ordering/columnOrderingFeature.d.cts +13 -0
  227. package/dist/features/column-ordering/columnOrderingFeature.d.ts +13 -0
  228. package/dist/features/column-ordering/columnOrderingFeature.js +60 -0
  229. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -0
  230. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +45 -0
  231. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +45 -0
  232. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +65 -0
  233. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -0
  234. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +19 -0
  235. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +19 -0
  236. package/dist/features/column-ordering/columnOrderingFeature.utils.js +58 -0
  237. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  238. package/dist/features/column-pinning/columnPinningFeature.cjs +231 -0
  239. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -0
  240. package/dist/features/column-pinning/columnPinningFeature.d.cts +13 -0
  241. package/dist/features/column-pinning/columnPinningFeature.d.ts +13 -0
  242. package/dist/features/column-pinning/columnPinningFeature.js +230 -0
  243. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -0
  244. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +162 -0
  245. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +162 -0
  246. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +205 -0
  247. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -0
  248. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +43 -0
  249. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +43 -0
  250. package/dist/features/column-pinning/columnPinningFeature.utils.js +175 -0
  251. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  252. package/dist/features/column-resizing/columnResizingFeature.cjs +46 -0
  253. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -0
  254. package/dist/features/column-resizing/columnResizingFeature.d.cts +14 -0
  255. package/dist/features/column-resizing/columnResizingFeature.d.ts +14 -0
  256. package/dist/features/column-resizing/columnResizingFeature.js +45 -0
  257. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -0
  258. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +73 -0
  259. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +73 -0
  260. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +157 -0
  261. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -0
  262. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +19 -0
  263. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +19 -0
  264. package/dist/features/column-resizing/columnResizingFeature.utils.js +150 -0
  265. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  266. package/dist/features/column-sizing/columnSizingFeature.cjs +75 -0
  267. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -0
  268. package/dist/features/column-sizing/columnSizingFeature.d.cts +14 -0
  269. package/dist/features/column-sizing/columnSizingFeature.d.ts +14 -0
  270. package/dist/features/column-sizing/columnSizingFeature.js +74 -0
  271. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -0
  272. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +86 -0
  273. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +86 -0
  274. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +97 -0
  275. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -0
  276. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +30 -0
  277. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +30 -0
  278. package/dist/features/column-sizing/columnSizingFeature.utils.js +84 -0
  279. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  280. package/dist/features/column-visibility/columnVisibilityFeature.cjs +96 -0
  281. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -0
  282. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +13 -0
  283. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +13 -0
  284. package/dist/features/column-visibility/columnVisibilityFeature.js +95 -0
  285. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  286. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +89 -0
  287. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +89 -0
  288. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +84 -0
  289. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -0
  290. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +26 -0
  291. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +26 -0
  292. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +70 -0
  293. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.cjs +46 -0
  295. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -0
  296. package/dist/features/global-filtering/globalFilteringFeature.d.cts +14 -0
  297. package/dist/features/global-filtering/globalFilteringFeature.d.ts +14 -0
  298. package/dist/features/global-filtering/globalFilteringFeature.js +45 -0
  299. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -0
  300. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +64 -0
  301. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +64 -0
  302. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +31 -0
  303. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -0
  304. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +15 -0
  305. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +15 -0
  306. package/dist/features/global-filtering/globalFilteringFeature.utils.js +27 -0
  307. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  308. package/dist/features/row-expanding/createExpandedRowModel.cjs +49 -0
  309. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -0
  310. package/dist/features/row-expanding/createExpandedRowModel.d.cts +11 -0
  311. package/dist/features/row-expanding/createExpandedRowModel.d.ts +11 -0
  312. package/dist/features/row-expanding/createExpandedRowModel.js +48 -0
  313. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.cjs +51 -0
  315. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -0
  316. package/dist/features/row-expanding/rowExpandingFeature.d.cts +13 -0
  317. package/dist/features/row-expanding/rowExpandingFeature.d.ts +13 -0
  318. package/dist/features/row-expanding/rowExpandingFeature.js +50 -0
  319. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -0
  320. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +121 -0
  321. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +121 -0
  322. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +115 -0
  323. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -0
  324. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +25 -0
  325. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +25 -0
  326. package/dist/features/row-expanding/rowExpandingFeature.utils.js +101 -0
  327. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  328. package/dist/features/row-pagination/createPaginatedRowModel.cjs +57 -0
  329. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -0
  330. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +10 -0
  331. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +10 -0
  332. package/dist/features/row-pagination/createPaginatedRowModel.js +57 -0
  333. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.cjs +49 -0
  335. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -0
  336. package/dist/features/row-pagination/rowPaginationFeature.d.cts +13 -0
  337. package/dist/features/row-pagination/rowPaginationFeature.d.ts +13 -0
  338. package/dist/features/row-pagination/rowPaginationFeature.js +48 -0
  339. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -0
  340. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +124 -0
  341. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +124 -0
  342. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +120 -0
  343. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -0
  344. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +26 -0
  345. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +26 -0
  346. package/dist/features/row-pagination/rowPaginationFeature.utils.js +104 -0
  347. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  348. package/dist/features/row-pinning/rowPinningFeature.cjs +71 -0
  349. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -0
  350. package/dist/features/row-pinning/rowPinningFeature.d.cts +13 -0
  351. package/dist/features/row-pinning/rowPinningFeature.d.ts +13 -0
  352. package/dist/features/row-pinning/rowPinningFeature.js +70 -0
  353. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -0
  354. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +77 -0
  355. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +77 -0
  356. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +101 -0
  357. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -0
  358. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +21 -0
  359. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +21 -0
  360. package/dist/features/row-pinning/rowPinningFeature.utils.js +91 -0
  361. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  362. package/dist/features/row-selection/rowSelectionFeature.cjs +79 -0
  363. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -0
  364. package/dist/features/row-selection/rowSelectionFeature.d.cts +13 -0
  365. package/dist/features/row-selection/rowSelectionFeature.d.ts +13 -0
  366. package/dist/features/row-selection/rowSelectionFeature.js +78 -0
  367. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -0
  368. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +128 -0
  369. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +128 -0
  370. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +232 -0
  371. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -0
  372. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +39 -0
  373. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +39 -0
  374. package/dist/features/row-selection/rowSelectionFeature.utils.js +207 -0
  375. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  376. package/dist/features/row-sorting/createSortedRowModel.cjs +85 -0
  377. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -0
  378. package/dist/features/row-sorting/createSortedRowModel.d.cts +11 -0
  379. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -0
  380. package/dist/features/row-sorting/createSortedRowModel.js +85 -0
  381. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -0
  382. package/dist/features/row-sorting/rowSortingFeature.cjs +59 -0
  383. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -0
  384. package/dist/features/row-sorting/rowSortingFeature.d.cts +13 -0
  385. package/dist/features/row-sorting/rowSortingFeature.d.ts +13 -0
  386. package/dist/features/row-sorting/rowSortingFeature.js +58 -0
  387. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -0
  388. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +182 -0
  389. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +182 -0
  390. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +134 -0
  391. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -0
  392. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +25 -0
  393. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +25 -0
  394. package/dist/features/row-sorting/rowSortingFeature.utils.js +120 -0
  395. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  396. package/dist/features/stockFeatures.cjs +36 -0
  397. package/dist/features/stockFeatures.cjs.map +1 -0
  398. package/dist/features/stockFeatures.d.cts +36 -0
  399. package/dist/features/stockFeatures.d.ts +36 -0
  400. package/dist/features/stockFeatures.js +36 -0
  401. package/dist/features/stockFeatures.js.map +1 -0
  402. package/dist/flex-render.cjs +19 -0
  403. package/dist/flex-render.cjs.map +1 -0
  404. package/dist/flex-render.d.cts +24 -0
  405. package/dist/flex-render.d.ts +24 -0
  406. package/dist/flex-render.js +16 -0
  407. package/dist/flex-render.js.map +1 -0
  408. package/dist/fns/aggregationFns.cjs +125 -0
  409. package/dist/fns/aggregationFns.cjs.map +1 -0
  410. package/dist/fns/aggregationFns.d.cts +54 -0
  411. package/dist/fns/aggregationFns.d.ts +54 -0
  412. package/dist/fns/aggregationFns.js +116 -0
  413. package/dist/fns/aggregationFns.js.map +1 -0
  414. package/dist/fns/filterFns.cjs +179 -0
  415. package/dist/fns/filterFns.cjs.map +1 -0
  416. package/dist/fns/filterFns.d.cts +81 -0
  417. package/dist/fns/filterFns.d.ts +81 -0
  418. package/dist/fns/filterFns.js +163 -0
  419. package/dist/fns/filterFns.js.map +1 -0
  420. package/dist/fns/sortFns.cjs +73 -0
  421. package/dist/fns/sortFns.cjs.map +1 -0
  422. package/dist/fns/sortFns.d.cts +22 -0
  423. package/dist/fns/sortFns.d.ts +22 -0
  424. package/dist/fns/sortFns.js +65 -0
  425. package/dist/fns/sortFns.js.map +1 -0
  426. package/dist/helpers/columnHelper.cjs +36 -0
  427. package/dist/helpers/columnHelper.cjs.map +1 -0
  428. package/dist/helpers/columnHelper.d.cts +66 -0
  429. package/dist/helpers/columnHelper.d.ts +66 -0
  430. package/dist/helpers/columnHelper.js +35 -0
  431. package/dist/helpers/columnHelper.js.map +1 -0
  432. package/dist/helpers/tableFeatures.cjs +20 -0
  433. package/dist/helpers/tableFeatures.cjs.map +1 -0
  434. package/dist/helpers/tableFeatures.d.cts +18 -0
  435. package/dist/helpers/tableFeatures.d.ts +18 -0
  436. package/dist/helpers/tableFeatures.js +19 -0
  437. package/dist/helpers/tableFeatures.js.map +1 -0
  438. package/dist/helpers/tableOptions.cjs +9 -0
  439. package/dist/helpers/tableOptions.cjs.map +1 -0
  440. package/dist/helpers/tableOptions.d.cts +28 -0
  441. package/dist/helpers/tableOptions.d.ts +28 -0
  442. package/dist/helpers/tableOptions.js +8 -0
  443. package/dist/helpers/tableOptions.js.map +1 -0
  444. package/dist/index.cjs +157 -0
  445. package/dist/index.d.cts +78 -0
  446. package/dist/index.d.ts +78 -0
  447. package/dist/index.js +46 -0
  448. package/dist/reactivity.cjs +6 -0
  449. package/dist/reactivity.d.cts +4 -0
  450. package/dist/reactivity.d.ts +4 -0
  451. package/dist/reactivity.js +4 -0
  452. package/dist/static-functions.cjs +261 -0
  453. package/dist/static-functions.d.cts +21 -0
  454. package/dist/static-functions.d.ts +21 -0
  455. package/dist/static-functions.js +22 -0
  456. package/dist/types/Cell.d.cts +16 -0
  457. package/dist/types/Cell.d.ts +16 -0
  458. package/dist/types/Column.d.cts +29 -0
  459. package/dist/types/Column.d.ts +29 -0
  460. package/dist/types/ColumnDef.d.cts +66 -0
  461. package/dist/types/ColumnDef.d.ts +66 -0
  462. package/dist/types/Header.d.cts +17 -0
  463. package/dist/types/Header.d.ts +17 -0
  464. package/dist/types/HeaderGroup.d.cts +15 -0
  465. package/dist/types/HeaderGroup.d.ts +15 -0
  466. package/dist/types/Row.d.cts +22 -0
  467. package/dist/types/Row.d.ts +22 -0
  468. package/dist/types/RowModel.d.cts +26 -0
  469. package/dist/types/RowModel.d.ts +26 -0
  470. package/dist/types/RowModelFns.d.cts +18 -0
  471. package/dist/types/RowModelFns.d.ts +18 -0
  472. package/dist/types/Table.d.cts +59 -0
  473. package/dist/types/Table.d.ts +59 -0
  474. package/dist/types/TableFeatures.d.cts +77 -0
  475. package/dist/types/TableFeatures.d.ts +77 -0
  476. package/dist/types/TableOptions.d.cts +39 -0
  477. package/dist/types/TableOptions.d.ts +39 -0
  478. package/dist/types/TableState.d.cts +27 -0
  479. package/dist/types/TableState.d.ts +27 -0
  480. package/dist/types/type-utils.d.cts +23 -0
  481. package/dist/types/type-utils.d.ts +23 -0
  482. package/dist/utils.cjs +218 -0
  483. package/dist/utils.cjs.map +1 -0
  484. package/dist/utils.d.cts +91 -0
  485. package/dist/utils.d.ts +91 -0
  486. package/dist/utils.js +203 -0
  487. package/dist/utils.js.map +1 -0
  488. package/package.json +35 -14
  489. package/src/core/cells/constructCell.ts +49 -0
  490. package/src/core/cells/coreCellsFeature.ts +44 -0
  491. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  492. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  493. package/src/core/columns/constructColumn.ts +111 -0
  494. package/src/core/columns/coreColumnsFeature.ts +90 -0
  495. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  496. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  497. package/src/core/coreFeatures.ts +26 -0
  498. package/src/core/headers/buildHeaderGroups.ts +177 -0
  499. package/src/core/headers/constructHeader.ts +61 -0
  500. package/src/core/headers/coreHeadersFeature.ts +98 -0
  501. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  502. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  503. package/src/core/reactivity/constructReactivityBindings.ts +19 -0
  504. package/src/core/reactivity/coreReactivityFeature.types.ts +40 -0
  505. package/src/core/reactivity/coreReactivityFeature.utils.ts +29 -0
  506. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  507. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  508. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  509. package/src/core/row-models/createCoreRowModel.ts +88 -0
  510. package/src/core/rows/constructRow.ts +59 -0
  511. package/src/core/rows/coreRowsFeature.ts +84 -0
  512. package/src/core/rows/coreRowsFeature.types.ts +114 -0
  513. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  514. package/src/core/table/constructTable.ts +126 -0
  515. package/src/core/table/coreTablesFeature.ts +36 -0
  516. package/src/core/table/coreTablesFeature.types.ts +192 -0
  517. package/src/core/table/coreTablesFeature.utils.ts +46 -0
  518. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  519. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  520. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  521. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  522. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  523. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  524. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  525. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  526. package/src/features/column-filtering/columnFilteringFeature.utils.ts +209 -0
  527. package/src/features/column-filtering/createFilteredRowModel.ts +172 -0
  528. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  529. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  530. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  531. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  532. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  533. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  534. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  535. package/src/features/column-ordering/columnOrderingFeature.utils.ts +134 -0
  536. package/src/features/column-pinning/columnPinningFeature.ts +347 -0
  537. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  538. package/src/features/column-pinning/columnPinningFeature.utils.ts +539 -0
  539. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  540. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  541. package/src/features/column-resizing/columnResizingFeature.utils.ts +276 -0
  542. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  543. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  544. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  545. package/src/features/column-visibility/columnVisibilityFeature.ts +157 -0
  546. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  547. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  548. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  549. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  550. package/src/features/global-filtering/globalFilteringFeature.utils.ts +59 -0
  551. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  552. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  553. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  554. package/src/features/row-expanding/rowExpandingFeature.utils.ts +208 -0
  555. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  556. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  557. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  558. package/src/features/row-pagination/rowPaginationFeature.utils.ts +208 -0
  559. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  560. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  561. package/src/features/row-pinning/rowPinningFeature.utils.ts +199 -0
  562. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  563. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  564. package/src/features/row-selection/rowSelectionFeature.utils.ts +465 -0
  565. package/src/features/row-sorting/createSortedRowModel.ts +149 -0
  566. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  567. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  568. package/src/features/row-sorting/rowSortingFeature.utils.ts +319 -0
  569. package/src/features/stockFeatures.ts +48 -0
  570. package/src/flex-render.ts +60 -0
  571. package/src/fns/aggregationFns.ts +220 -0
  572. package/src/fns/filterFns.ts +379 -0
  573. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  574. package/src/helpers/columnHelper.ts +117 -0
  575. package/src/helpers/tableFeatures.ts +24 -0
  576. package/src/helpers/tableOptions.ts +82 -0
  577. package/src/index.ts +137 -42
  578. package/src/process-env.d.ts +6 -0
  579. package/src/reactivity.ts +3 -0
  580. package/src/static-functions.ts +31 -0
  581. package/src/types/Cell.ts +41 -0
  582. package/src/types/Column.ts +86 -0
  583. package/src/types/ColumnDef.ts +217 -0
  584. package/src/types/Header.ts +45 -0
  585. package/src/types/HeaderGroup.ts +24 -0
  586. package/src/types/Row.ts +55 -0
  587. package/src/types/RowModel.ts +137 -0
  588. package/src/types/RowModelFns.ts +51 -0
  589. package/src/types/Table.ts +132 -0
  590. package/src/types/TableFeatures.ts +150 -0
  591. package/src/types/TableOptions.ts +125 -0
  592. package/src/types/TableState.ts +88 -0
  593. package/src/types/type-utils.ts +84 -0
  594. package/src/utils.ts +361 -161
  595. package/dist/cjs/aggregationFns.cjs +0 -98
  596. package/dist/cjs/aggregationFns.cjs.map +0 -1
  597. package/dist/cjs/aggregationFns.d.cts +0 -14
  598. package/dist/cjs/columnHelper.cjs +0 -19
  599. package/dist/cjs/columnHelper.cjs.map +0 -1
  600. package/dist/cjs/columnHelper.d.cts +0 -9
  601. package/dist/cjs/core/cell.cjs +0 -38
  602. package/dist/cjs/core/cell.cjs.map +0 -1
  603. package/dist/cjs/core/cell.d.cts +0 -50
  604. package/dist/cjs/core/column.cjs +0 -81
  605. package/dist/cjs/core/column.cjs.map +0 -1
  606. package/dist/cjs/core/column.d.cts +0 -56
  607. package/dist/cjs/core/headers.cjs +0 -310
  608. package/dist/cjs/core/headers.cjs.map +0 -1
  609. package/dist/cjs/core/headers.d.cts +0 -195
  610. package/dist/cjs/core/row.cjs +0 -93
  611. package/dist/cjs/core/row.cjs.map +0 -1
  612. package/dist/cjs/core/row.d.cts +0 -92
  613. package/dist/cjs/core/table.cjs +0 -228
  614. package/dist/cjs/core/table.cjs.map +0 -1
  615. package/dist/cjs/core/table.d.cts +0 -221
  616. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  617. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  618. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  619. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  620. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  621. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  622. package/dist/cjs/features/ColumnGrouping.cjs +0 -134
  623. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  624. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  625. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  626. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  627. package/dist/cjs/features/ColumnOrdering.d.cts +0 -54
  628. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  629. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  630. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  631. package/dist/cjs/features/ColumnSizing.cjs +0 -308
  632. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  633. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  634. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  635. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  636. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  637. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  638. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  639. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  640. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  641. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  642. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  643. package/dist/cjs/features/RowExpanding.cjs +0 -154
  644. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  645. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  646. package/dist/cjs/features/RowPagination.cjs +0 -162
  647. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  648. package/dist/cjs/features/RowPagination.d.cts +0 -166
  649. package/dist/cjs/features/RowPinning.cjs +0 -133
  650. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  651. package/dist/cjs/features/RowPinning.d.cts +0 -99
  652. package/dist/cjs/features/RowSelection.cjs +0 -298
  653. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  654. package/dist/cjs/features/RowSelection.d.cts +0 -177
  655. package/dist/cjs/features/RowSorting.cjs +0 -201
  656. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  657. package/dist/cjs/features/RowSorting.d.cts +0 -238
  658. package/dist/cjs/filterFns.cjs +0 -88
  659. package/dist/cjs/filterFns.cjs.map +0 -1
  660. package/dist/cjs/filterFns.d.cts +0 -14
  661. package/dist/cjs/index.cjs +0 -87
  662. package/dist/cjs/index.cjs.map +0 -1
  663. package/dist/cjs/index.d.cts +0 -34
  664. package/dist/cjs/sortingFns.cjs +0 -91
  665. package/dist/cjs/sortingFns.cjs.map +0 -1
  666. package/dist/cjs/sortingFns.d.cts +0 -12
  667. package/dist/cjs/types.d.cts +0 -120
  668. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  669. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  670. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  671. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  672. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  673. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  674. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  675. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  676. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  677. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -36
  678. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  679. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  680. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  681. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  682. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  683. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -38
  684. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  685. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  686. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  687. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  688. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  689. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  690. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  691. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  692. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  693. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  694. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  695. package/dist/cjs/utils/getSortedRowModel.cjs +0 -91
  696. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  697. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  698. package/dist/cjs/utils.cjs +0 -100
  699. package/dist/cjs/utils.cjs.map +0 -1
  700. package/dist/cjs/utils.d.cts +0 -39
  701. package/dist/esm/aggregationFns.d.ts +0 -14
  702. package/dist/esm/aggregationFns.js +0 -98
  703. package/dist/esm/aggregationFns.js.map +0 -1
  704. package/dist/esm/columnHelper.d.ts +0 -9
  705. package/dist/esm/columnHelper.js +0 -19
  706. package/dist/esm/columnHelper.js.map +0 -1
  707. package/dist/esm/core/cell.d.ts +0 -50
  708. package/dist/esm/core/cell.js +0 -38
  709. package/dist/esm/core/cell.js.map +0 -1
  710. package/dist/esm/core/column.d.ts +0 -56
  711. package/dist/esm/core/column.js +0 -81
  712. package/dist/esm/core/column.js.map +0 -1
  713. package/dist/esm/core/headers.d.ts +0 -195
  714. package/dist/esm/core/headers.js +0 -310
  715. package/dist/esm/core/headers.js.map +0 -1
  716. package/dist/esm/core/row.d.ts +0 -92
  717. package/dist/esm/core/row.js +0 -93
  718. package/dist/esm/core/row.js.map +0 -1
  719. package/dist/esm/core/table.d.ts +0 -221
  720. package/dist/esm/core/table.js +0 -228
  721. package/dist/esm/core/table.js.map +0 -1
  722. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  723. package/dist/esm/features/ColumnFaceting.js +0 -29
  724. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  725. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  726. package/dist/esm/features/ColumnFiltering.js +0 -137
  727. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  728. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  729. package/dist/esm/features/ColumnGrouping.js +0 -134
  730. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  731. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  732. package/dist/esm/features/ColumnOrdering.js +0 -76
  733. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  734. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  735. package/dist/esm/features/ColumnPinning.js +0 -145
  736. package/dist/esm/features/ColumnPinning.js.map +0 -1
  737. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  738. package/dist/esm/features/ColumnSizing.js +0 -308
  739. package/dist/esm/features/ColumnSizing.js.map +0 -1
  740. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  741. package/dist/esm/features/ColumnVisibility.js +0 -144
  742. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  743. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  744. package/dist/esm/features/GlobalFaceting.js +0 -29
  745. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  746. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  747. package/dist/esm/features/GlobalFiltering.js +0 -50
  748. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  749. package/dist/esm/features/RowExpanding.d.ts +0 -155
  750. package/dist/esm/features/RowExpanding.js +0 -154
  751. package/dist/esm/features/RowExpanding.js.map +0 -1
  752. package/dist/esm/features/RowPagination.d.ts +0 -166
  753. package/dist/esm/features/RowPagination.js +0 -162
  754. package/dist/esm/features/RowPagination.js.map +0 -1
  755. package/dist/esm/features/RowPinning.d.ts +0 -99
  756. package/dist/esm/features/RowPinning.js +0 -133
  757. package/dist/esm/features/RowPinning.js.map +0 -1
  758. package/dist/esm/features/RowSelection.d.ts +0 -177
  759. package/dist/esm/features/RowSelection.js +0 -298
  760. package/dist/esm/features/RowSelection.js.map +0 -1
  761. package/dist/esm/features/RowSorting.d.ts +0 -238
  762. package/dist/esm/features/RowSorting.js +0 -201
  763. package/dist/esm/features/RowSorting.js.map +0 -1
  764. package/dist/esm/filterFns.d.ts +0 -14
  765. package/dist/esm/filterFns.js +0 -88
  766. package/dist/esm/filterFns.js.map +0 -1
  767. package/dist/esm/index.d.ts +0 -34
  768. package/dist/esm/index.js +0 -87
  769. package/dist/esm/index.js.map +0 -1
  770. package/dist/esm/sortingFns.d.ts +0 -12
  771. package/dist/esm/sortingFns.js +0 -91
  772. package/dist/esm/sortingFns.js.map +0 -1
  773. package/dist/esm/types.d.ts +0 -120
  774. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  775. package/dist/esm/utils/filterRowsUtils.js +0 -99
  776. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  777. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  778. package/dist/esm/utils/getCoreRowModel.js +0 -54
  779. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  780. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  781. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  782. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  783. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  784. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -36
  785. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  786. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  787. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  788. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  789. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  790. package/dist/esm/utils/getFacetedUniqueValues.js +0 -38
  791. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  792. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  793. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  794. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  795. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  796. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  797. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  798. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  799. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  800. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  801. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  802. package/dist/esm/utils/getSortedRowModel.js +0 -91
  803. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  804. package/dist/esm/utils.d.ts +0 -39
  805. package/dist/esm/utils.js +0 -100
  806. package/dist/esm/utils.js.map +0 -1
  807. package/src/aggregationFns.ts +0 -123
  808. package/src/columnHelper.ts +0 -91
  809. package/src/core/cell.ts +0 -91
  810. package/src/core/column.ts +0 -165
  811. package/src/core/headers.ts +0 -639
  812. package/src/core/row.ts +0 -201
  813. package/src/core/table.ts +0 -527
  814. package/src/features/ColumnFaceting.ts +0 -84
  815. package/src/features/ColumnFiltering.ts +0 -429
  816. package/src/features/ColumnGrouping.ts +0 -422
  817. package/src/features/ColumnOrdering.ts +0 -161
  818. package/src/features/ColumnPinning.ts +0 -336
  819. package/src/features/ColumnSizing.ts +0 -579
  820. package/src/features/ColumnVisibility.ts +0 -317
  821. package/src/features/GlobalFaceting.ts +0 -66
  822. package/src/features/GlobalFiltering.ts +0 -162
  823. package/src/features/RowExpanding.ts +0 -355
  824. package/src/features/RowPagination.ts +0 -396
  825. package/src/features/RowPinning.ts +0 -273
  826. package/src/features/RowSelection.ts +0 -668
  827. package/src/features/RowSorting.ts +0 -542
  828. package/src/filterFns.ts +0 -150
  829. package/src/types.ts +0 -361
  830. package/src/utils/filterRowsUtils.ts +0 -130
  831. package/src/utils/getCoreRowModel.ts +0 -82
  832. package/src/utils/getExpandedRowModel.ts +0 -51
  833. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  834. package/src/utils/getFacetedRowModel.ts +0 -44
  835. package/src/utils/getFacetedUniqueValues.ts +0 -42
  836. package/src/utils/getFilteredRowModel.ts +0 -151
  837. package/src/utils/getGroupedRowModel.ts +0 -181
  838. package/src/utils/getPaginationRowModel.ts +0 -60
  839. package/src/utils/getSortedRowModel.ts +0 -121
@@ -0,0 +1,232 @@
1
+ const require_utils = require('../../utils.cjs');
2
+
3
+ //#region src/features/row-selection/rowSelectionFeature.utils.ts
4
+ function getDefaultRowSelectionState() {
5
+ return {};
6
+ }
7
+ function table_setRowSelection(table, updater) {
8
+ var _table$options$onRowS, _table$options;
9
+ (_table$options$onRowS = (_table$options = table.options).onRowSelectionChange) === null || _table$options$onRowS === void 0 || _table$options$onRowS.call(_table$options, updater);
10
+ }
11
+ function table_resetRowSelection(table, defaultState) {
12
+ table_setRowSelection(table, defaultState ? {} : require_utils.cloneState(table.initialState.rowSelection ?? {}));
13
+ }
14
+ function table_toggleAllRowsSelected(table, value) {
15
+ table_setRowSelection(table, (old) => {
16
+ value = typeof value !== "undefined" ? value : !table_getIsAllRowsSelected(table);
17
+ const rowSelection = { ...old };
18
+ const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;
19
+ if (value) preGroupedFlatRows.forEach((row) => {
20
+ if (!row_getCanSelect(row)) return;
21
+ rowSelection[row.id] = true;
22
+ });
23
+ else preGroupedFlatRows.forEach((row) => {
24
+ delete rowSelection[row.id];
25
+ });
26
+ return rowSelection;
27
+ });
28
+ }
29
+ function table_toggleAllPageRowsSelected(table, value) {
30
+ table_setRowSelection(table, (old) => {
31
+ const resolvedValue = typeof value !== "undefined" ? value : !table_getIsAllPageRowsSelected(table);
32
+ const rowSelection = { ...old };
33
+ table.getRowModel().rows.forEach((row) => {
34
+ mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);
35
+ });
36
+ return rowSelection;
37
+ });
38
+ }
39
+ function table_getPreSelectedRowModel(table) {
40
+ return table.getCoreRowModel();
41
+ }
42
+ function table_getSelectedRowModel(table) {
43
+ var _table$atoms$rowSelec;
44
+ const rowModel = table.getCoreRowModel();
45
+ if (!Object.keys(((_table$atoms$rowSelec = table.atoms.rowSelection) === null || _table$atoms$rowSelec === void 0 ? void 0 : _table$atoms$rowSelec.get()) ?? {}).length) return {
46
+ rows: [],
47
+ flatRows: [],
48
+ rowsById: {}
49
+ };
50
+ return selectRowsFn(rowModel);
51
+ }
52
+ function table_getFilteredSelectedRowModel(table) {
53
+ var _table$atoms$rowSelec2;
54
+ const rowModel = table.getCoreRowModel();
55
+ if (!Object.keys(((_table$atoms$rowSelec2 = table.atoms.rowSelection) === null || _table$atoms$rowSelec2 === void 0 ? void 0 : _table$atoms$rowSelec2.get()) ?? {}).length) return {
56
+ rows: [],
57
+ flatRows: [],
58
+ rowsById: {}
59
+ };
60
+ return selectRowsFn(rowModel);
61
+ }
62
+ function table_getGroupedSelectedRowModel(table) {
63
+ var _table$atoms$rowSelec3;
64
+ const rowModel = table.getCoreRowModel();
65
+ if (!Object.keys(((_table$atoms$rowSelec3 = table.atoms.rowSelection) === null || _table$atoms$rowSelec3 === void 0 ? void 0 : _table$atoms$rowSelec3.get()) ?? {}).length) return {
66
+ rows: [],
67
+ flatRows: [],
68
+ rowsById: {}
69
+ };
70
+ return selectRowsFn(rowModel);
71
+ }
72
+ function table_getIsAllRowsSelected(table) {
73
+ var _table$atoms$rowSelec4;
74
+ const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
75
+ const rowSelection = ((_table$atoms$rowSelec4 = table.atoms.rowSelection) === null || _table$atoms$rowSelec4 === void 0 ? void 0 : _table$atoms$rowSelec4.get()) ?? {};
76
+ let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);
77
+ if (isAllRowsSelected) {
78
+ if (preGroupedFlatRows.some((row) => row_getCanSelect(row) && !rowSelection[row.id])) isAllRowsSelected = false;
79
+ }
80
+ return isAllRowsSelected;
81
+ }
82
+ function table_getIsAllPageRowsSelected(table) {
83
+ var _table$atoms$rowSelec5;
84
+ const paginationFlatRows = table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row));
85
+ const rowSelection = ((_table$atoms$rowSelec5 = table.atoms.rowSelection) === null || _table$atoms$rowSelec5 === void 0 ? void 0 : _table$atoms$rowSelec5.get()) ?? {};
86
+ let isAllPageRowsSelected = !!paginationFlatRows.length;
87
+ if (isAllPageRowsSelected && paginationFlatRows.some((row) => !rowSelection[row.id])) isAllPageRowsSelected = false;
88
+ return isAllPageRowsSelected;
89
+ }
90
+ function table_getIsSomeRowsSelected(table) {
91
+ var _table$atoms$rowSelec6;
92
+ const totalSelected = Object.keys(((_table$atoms$rowSelec6 = table.atoms.rowSelection) === null || _table$atoms$rowSelec6 === void 0 ? void 0 : _table$atoms$rowSelec6.get()) ?? {}).length;
93
+ return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
94
+ }
95
+ function table_getIsSomePageRowsSelected(table) {
96
+ const paginationFlatRows = table.getPaginatedRowModel().flatRows;
97
+ return table_getIsAllPageRowsSelected(table) ? false : paginationFlatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row));
98
+ }
99
+ function table_getToggleAllRowsSelectedHandler(table) {
100
+ return (e) => {
101
+ table_toggleAllRowsSelected(table, e.target.checked);
102
+ };
103
+ }
104
+ function table_getToggleAllPageRowsSelectedHandler(table) {
105
+ return (e) => {
106
+ table_toggleAllPageRowsSelected(table, e.target.checked);
107
+ };
108
+ }
109
+ function row_toggleSelected(row, value, opts) {
110
+ const isSelected = row_getIsSelected(row);
111
+ table_setRowSelection(row.table, (old) => {
112
+ value = typeof value !== "undefined" ? value : !isSelected;
113
+ if (row_getCanSelect(row) && isSelected === value) return old;
114
+ const selectedRowIds = { ...old };
115
+ mutateRowIsSelected(selectedRowIds, row.id, value, (opts === null || opts === void 0 ? void 0 : opts.selectChildren) ?? true, row.table);
116
+ return selectedRowIds;
117
+ });
118
+ }
119
+ function row_getIsSelected(row) {
120
+ return isRowSelected(row);
121
+ }
122
+ function row_getIsSomeSelected(row) {
123
+ return isSubRowSelected(row) === "some";
124
+ }
125
+ function row_getIsAllSubRowsSelected(row) {
126
+ return isSubRowSelected(row) === "all";
127
+ }
128
+ function row_getCanSelect(row) {
129
+ const options = row.table.options;
130
+ if (typeof options.enableRowSelection === "function") return options.enableRowSelection(row);
131
+ return options.enableRowSelection ?? true;
132
+ }
133
+ function row_getCanSelectSubRows(row) {
134
+ const options = row.table.options;
135
+ if (typeof options.enableSubRowSelection === "function") return options.enableSubRowSelection(row);
136
+ return options.enableSubRowSelection ?? true;
137
+ }
138
+ function row_getCanMultiSelect(row) {
139
+ const options = row.table.options;
140
+ if (typeof options.enableMultiRowSelection === "function") return options.enableMultiRowSelection(row);
141
+ return options.enableMultiRowSelection ?? true;
142
+ }
143
+ function row_getToggleSelectedHandler(row) {
144
+ const canSelect = row_getCanSelect(row);
145
+ return (e) => {
146
+ if (!canSelect) return;
147
+ row_toggleSelected(row, e.target.checked);
148
+ };
149
+ }
150
+ const mutateRowIsSelected = (selectedRowIds, rowId, value, includeChildren, table) => {
151
+ const row = table.getRow(rowId, true);
152
+ if (value) {
153
+ if (!row_getCanMultiSelect(row)) Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key]);
154
+ if (row_getCanSelect(row)) selectedRowIds[rowId] = true;
155
+ } else delete selectedRowIds[rowId];
156
+ if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table));
157
+ };
158
+ function selectRowsFn(rowModel) {
159
+ const newSelectedFlatRows = [];
160
+ const newSelectedRowsById = {};
161
+ const recurseRows = (rows, depth = 0) => {
162
+ return rows.map((row) => {
163
+ const isSelected = isRowSelected(row);
164
+ if (isSelected) {
165
+ newSelectedFlatRows.push(row);
166
+ newSelectedRowsById[row.id] = row;
167
+ }
168
+ if (row.subRows.length) row = {
169
+ ...row,
170
+ subRows: recurseRows(row.subRows, depth + 1)
171
+ };
172
+ if (isSelected) return row;
173
+ }).filter((x) => !!x);
174
+ };
175
+ return {
176
+ rows: recurseRows(rowModel.rows),
177
+ flatRows: newSelectedFlatRows,
178
+ rowsById: newSelectedRowsById
179
+ };
180
+ }
181
+ function isRowSelected(row) {
182
+ var _row$table$atoms$rowS;
183
+ 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
+ }
185
+ function isSubRowSelected(row) {
186
+ if (!row.subRows.length) return false;
187
+ let allChildrenSelected = true;
188
+ let someSelected = false;
189
+ row.subRows.forEach((subRow) => {
190
+ if (someSelected && !allChildrenSelected) return;
191
+ if (row_getCanSelect(subRow)) if (isRowSelected(subRow)) someSelected = true;
192
+ else allChildrenSelected = false;
193
+ if (subRow.subRows.length) {
194
+ const subRowChildrenSelected = isSubRowSelected(subRow);
195
+ if (subRowChildrenSelected === "all") someSelected = true;
196
+ else if (subRowChildrenSelected === "some") {
197
+ someSelected = true;
198
+ allChildrenSelected = false;
199
+ } else allChildrenSelected = false;
200
+ }
201
+ });
202
+ return allChildrenSelected ? "all" : someSelected ? "some" : false;
203
+ }
204
+
205
+ //#endregion
206
+ exports.getDefaultRowSelectionState = getDefaultRowSelectionState;
207
+ exports.isRowSelected = isRowSelected;
208
+ exports.isSubRowSelected = isSubRowSelected;
209
+ exports.row_getCanMultiSelect = row_getCanMultiSelect;
210
+ exports.row_getCanSelect = row_getCanSelect;
211
+ exports.row_getCanSelectSubRows = row_getCanSelectSubRows;
212
+ exports.row_getIsAllSubRowsSelected = row_getIsAllSubRowsSelected;
213
+ exports.row_getIsSelected = row_getIsSelected;
214
+ exports.row_getIsSomeSelected = row_getIsSomeSelected;
215
+ exports.row_getToggleSelectedHandler = row_getToggleSelectedHandler;
216
+ exports.row_toggleSelected = row_toggleSelected;
217
+ exports.selectRowsFn = selectRowsFn;
218
+ exports.table_getFilteredSelectedRowModel = table_getFilteredSelectedRowModel;
219
+ exports.table_getGroupedSelectedRowModel = table_getGroupedSelectedRowModel;
220
+ exports.table_getIsAllPageRowsSelected = table_getIsAllPageRowsSelected;
221
+ exports.table_getIsAllRowsSelected = table_getIsAllRowsSelected;
222
+ exports.table_getIsSomePageRowsSelected = table_getIsSomePageRowsSelected;
223
+ exports.table_getIsSomeRowsSelected = table_getIsSomeRowsSelected;
224
+ exports.table_getPreSelectedRowModel = table_getPreSelectedRowModel;
225
+ exports.table_getSelectedRowModel = table_getSelectedRowModel;
226
+ exports.table_getToggleAllPageRowsSelectedHandler = table_getToggleAllPageRowsSelectedHandler;
227
+ exports.table_getToggleAllRowsSelectedHandler = table_getToggleAllRowsSelectedHandler;
228
+ exports.table_resetRowSelection = table_resetRowSelection;
229
+ exports.table_setRowSelection = table_setRowSelection;
230
+ exports.table_toggleAllPageRowsSelected = table_toggleAllPageRowsSelected;
231
+ exports.table_toggleAllRowsSelected = table_toggleAllRowsSelected;
232
+ //# sourceMappingURL=rowSelectionFeature.utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSelectionFeature.utils.cjs","names":["cloneState"],"sources":["../../../src/features/row-selection/rowSelectionFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowSelectionState } from './rowSelectionFeature.types'\n\n// State APIs\n\nexport function getDefaultRowSelectionState(): RowSelectionState {\n return {}\n}\n\nexport function table_setRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowSelectionState>,\n) {\n table.options.onRowSelectionChange?.(updater)\n}\n\nexport function table_resetRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setRowSelection(\n table,\n defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}),\n )\n}\n\n// Table APIs\n\nexport function table_toggleAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n value =\n typeof value !== 'undefined' ? value : !table_getIsAllRowsSelected(table)\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach((row) => {\n if (!row_getCanSelect(row)) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach((row) => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n}\n\nexport function table_toggleAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table_getIsAllPageRowsSelected(table)\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach((row) => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)\n })\n\n return rowSelection\n })\n}\n\nexport function table_getPreSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\nexport function table_getSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getFilteredSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getGroupedSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getIsAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length,\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n (row) => row_getCanSelect(row) && !rowSelection[row.id],\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n}\n\nexport function table_getIsAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table\n .getPaginatedRowModel()\n .flatRows.filter((row) => row_getCanSelect(row))\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some((row) => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n}\n\nexport function table_getIsSomeRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const totalSelected = Object.keys(\n table.atoms.rowSelection?.get() ?? {},\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getFilteredRowModel().flatRows.length\n )\n}\n\nexport function table_getIsSomePageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table.getPaginatedRowModel().flatRows\n return table_getIsAllPageRowsSelected(table)\n ? false\n : paginationFlatRows\n .filter((row) => row_getCanSelect(row))\n .some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))\n}\n\nexport function table_getToggleAllRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function table_getToggleAllPageRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllPageRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n// Row APIs\n\nexport function row_toggleSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n value?: boolean,\n opts?: {\n selectChildren?: boolean\n },\n) {\n const isSelected = row_getIsSelected(row)\n\n table_setRowSelection(row.table, (old) => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (row_getCanSelect(row) && isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(\n selectedRowIds,\n row.id,\n value,\n opts?.selectChildren ?? true,\n row.table,\n )\n\n return selectedRowIds\n })\n}\n\nexport function row_getIsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isRowSelected(row)\n}\n\nexport function row_getIsSomeSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'some'\n}\n\nexport function row_getIsAllSubRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'all'\n}\n\nexport function row_getCanSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableRowSelection === 'function') {\n return options.enableRowSelection(row)\n }\n\n return options.enableRowSelection ?? true\n}\n\nexport function row_getCanSelectSubRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableSubRowSelection === 'function') {\n return options.enableSubRowSelection(row)\n }\n\n return options.enableSubRowSelection ?? true\n}\n\nexport function row_getCanMultiSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableMultiRowSelection === 'function') {\n return options.enableMultiRowSelection(row)\n }\n\n return options.enableMultiRowSelection ?? true\n}\n\nexport function row_getToggleSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canSelect = row_getCanSelect(row)\n\n return (e: unknown) => {\n if (!canSelect) return\n row_toggleSelected(\n row,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nconst mutateRowIsSelected = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n selectedRowIds: Record<string, boolean | undefined>,\n rowId: string,\n value: boolean,\n includeChildren: boolean,\n table: Table_Internal<TFeatures, TData>,\n) => {\n const row = table.getRow(rowId, true)\n\n if (value) {\n if (!row_getCanMultiSelect(row)) {\n Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key])\n }\n if (row_getCanSelect(row)) {\n selectedRowIds[rowId] = true\n }\n } else {\n delete selectedRowIds[rowId]\n }\n\n if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {\n row.subRows.forEach((r) =>\n mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table),\n )\n }\n}\n\nexport function selectRowsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []\n const newSelectedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n ): Array<Row<TFeatures, TData>> => {\n return rows\n .map((row) => {\n const isSelected = isRowSelected(row)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter((x) => !!x)\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false\n}\n\nexport function isSubRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {\n if (!row.subRows.length) return false\n\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (row_getCanSelect(subRow)) {\n if (isRowSelected(subRow)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow)\n if (subRowChildrenSelected === 'all') {\n someSelected = true\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true\n allChildrenSelected = false\n } else {\n allChildrenSelected = false\n }\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n}\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { RowData, Updater } from "../../types/type-utils.cjs";
2
+ import { RowSelectionState } from "./rowSelectionFeature.types.cjs";
3
+ import { Row } from "../../types/Row.cjs";
4
+ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
+ import { Table_Internal } from "../../types/Table.cjs";
6
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.cjs";
7
+
8
+ //#region src/features/row-selection/rowSelectionFeature.utils.d.ts
9
+ declare function getDefaultRowSelectionState(): RowSelectionState;
10
+ declare function table_setRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<RowSelectionState>): void;
11
+ declare function table_resetRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
12
+ declare function table_toggleAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
13
+ declare function table_toggleAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
14
+ declare function table_getPreSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
15
+ declare function table_getSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
16
+ declare function table_getFilteredSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
17
+ declare function table_getGroupedSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
18
+ declare function table_getIsAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
19
+ declare function table_getIsAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
20
+ declare function table_getIsSomeRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
21
+ declare function table_getIsSomePageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
22
+ declare function table_getToggleAllRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
23
+ declare function table_getToggleAllPageRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
24
+ declare function row_toggleSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, value?: boolean, opts?: {
25
+ selectChildren?: boolean;
26
+ }): void;
27
+ declare function row_getIsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
28
+ declare function row_getIsSomeSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
29
+ declare function row_getIsAllSubRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
30
+ declare function row_getCanSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
31
+ declare function row_getCanSelectSubRows<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
32
+ declare function row_getCanMultiSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
33
+ declare function row_getToggleSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): (e: unknown) => void;
34
+ declare function selectRowsFn<TFeatures extends TableFeatures, TData extends RowData>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData>;
35
+ declare function isRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
36
+ declare function isSubRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean | 'some' | 'all';
37
+ //#endregion
38
+ export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };
39
+ //# sourceMappingURL=rowSelectionFeature.utils.d.cts.map
@@ -0,0 +1,39 @@
1
+ import { RowData, Updater } from "../../types/type-utils.js";
2
+ import { RowSelectionState } from "./rowSelectionFeature.types.js";
3
+ import { Row } from "../../types/Row.js";
4
+ import { TableFeatures } from "../../types/TableFeatures.js";
5
+ import { Table_Internal } from "../../types/Table.js";
6
+ import { RowModel } from "../../core/row-models/coreRowModelsFeature.types.js";
7
+
8
+ //#region src/features/row-selection/rowSelectionFeature.utils.d.ts
9
+ declare function getDefaultRowSelectionState(): RowSelectionState;
10
+ declare function table_setRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<RowSelectionState>): void;
11
+ declare function table_resetRowSelection<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
12
+ declare function table_toggleAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
13
+ declare function table_toggleAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, value?: boolean): void;
14
+ declare function table_getPreSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
15
+ declare function table_getSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
16
+ declare function table_getFilteredSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
17
+ declare function table_getGroupedSelectedRowModel<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData>;
18
+ declare function table_getIsAllRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
19
+ declare function table_getIsAllPageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
20
+ declare function table_getIsSomeRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
21
+ declare function table_getIsSomePageRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): boolean;
22
+ declare function table_getToggleAllRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
23
+ declare function table_getToggleAllPageRowsSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): (e: unknown) => void;
24
+ declare function row_toggleSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>, value?: boolean, opts?: {
25
+ selectChildren?: boolean;
26
+ }): void;
27
+ declare function row_getIsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
28
+ declare function row_getIsSomeSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
29
+ declare function row_getIsAllSubRowsSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
30
+ declare function row_getCanSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
31
+ declare function row_getCanSelectSubRows<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
32
+ declare function row_getCanMultiSelect<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
33
+ declare function row_getToggleSelectedHandler<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): (e: unknown) => void;
34
+ declare function selectRowsFn<TFeatures extends TableFeatures, TData extends RowData>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData>;
35
+ declare function isRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean;
36
+ declare function isSubRowSelected<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): boolean | 'some' | 'all';
37
+ //#endregion
38
+ export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };
39
+ //# sourceMappingURL=rowSelectionFeature.utils.d.ts.map
@@ -0,0 +1,207 @@
1
+ import { cloneState } from "../../utils.js";
2
+
3
+ //#region src/features/row-selection/rowSelectionFeature.utils.ts
4
+ function getDefaultRowSelectionState() {
5
+ return {};
6
+ }
7
+ function table_setRowSelection(table, updater) {
8
+ var _table$options$onRowS, _table$options;
9
+ (_table$options$onRowS = (_table$options = table.options).onRowSelectionChange) === null || _table$options$onRowS === void 0 || _table$options$onRowS.call(_table$options, updater);
10
+ }
11
+ function table_resetRowSelection(table, defaultState) {
12
+ table_setRowSelection(table, defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}));
13
+ }
14
+ function table_toggleAllRowsSelected(table, value) {
15
+ table_setRowSelection(table, (old) => {
16
+ value = typeof value !== "undefined" ? value : !table_getIsAllRowsSelected(table);
17
+ const rowSelection = { ...old };
18
+ const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows;
19
+ if (value) preGroupedFlatRows.forEach((row) => {
20
+ if (!row_getCanSelect(row)) return;
21
+ rowSelection[row.id] = true;
22
+ });
23
+ else preGroupedFlatRows.forEach((row) => {
24
+ delete rowSelection[row.id];
25
+ });
26
+ return rowSelection;
27
+ });
28
+ }
29
+ function table_toggleAllPageRowsSelected(table, value) {
30
+ table_setRowSelection(table, (old) => {
31
+ const resolvedValue = typeof value !== "undefined" ? value : !table_getIsAllPageRowsSelected(table);
32
+ const rowSelection = { ...old };
33
+ table.getRowModel().rows.forEach((row) => {
34
+ mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table);
35
+ });
36
+ return rowSelection;
37
+ });
38
+ }
39
+ function table_getPreSelectedRowModel(table) {
40
+ return table.getCoreRowModel();
41
+ }
42
+ function table_getSelectedRowModel(table) {
43
+ var _table$atoms$rowSelec;
44
+ const rowModel = table.getCoreRowModel();
45
+ if (!Object.keys(((_table$atoms$rowSelec = table.atoms.rowSelection) === null || _table$atoms$rowSelec === void 0 ? void 0 : _table$atoms$rowSelec.get()) ?? {}).length) return {
46
+ rows: [],
47
+ flatRows: [],
48
+ rowsById: {}
49
+ };
50
+ return selectRowsFn(rowModel);
51
+ }
52
+ function table_getFilteredSelectedRowModel(table) {
53
+ var _table$atoms$rowSelec2;
54
+ const rowModel = table.getCoreRowModel();
55
+ if (!Object.keys(((_table$atoms$rowSelec2 = table.atoms.rowSelection) === null || _table$atoms$rowSelec2 === void 0 ? void 0 : _table$atoms$rowSelec2.get()) ?? {}).length) return {
56
+ rows: [],
57
+ flatRows: [],
58
+ rowsById: {}
59
+ };
60
+ return selectRowsFn(rowModel);
61
+ }
62
+ function table_getGroupedSelectedRowModel(table) {
63
+ var _table$atoms$rowSelec3;
64
+ const rowModel = table.getCoreRowModel();
65
+ if (!Object.keys(((_table$atoms$rowSelec3 = table.atoms.rowSelection) === null || _table$atoms$rowSelec3 === void 0 ? void 0 : _table$atoms$rowSelec3.get()) ?? {}).length) return {
66
+ rows: [],
67
+ flatRows: [],
68
+ rowsById: {}
69
+ };
70
+ return selectRowsFn(rowModel);
71
+ }
72
+ function table_getIsAllRowsSelected(table) {
73
+ var _table$atoms$rowSelec4;
74
+ const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
75
+ const rowSelection = ((_table$atoms$rowSelec4 = table.atoms.rowSelection) === null || _table$atoms$rowSelec4 === void 0 ? void 0 : _table$atoms$rowSelec4.get()) ?? {};
76
+ let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);
77
+ if (isAllRowsSelected) {
78
+ if (preGroupedFlatRows.some((row) => row_getCanSelect(row) && !rowSelection[row.id])) isAllRowsSelected = false;
79
+ }
80
+ return isAllRowsSelected;
81
+ }
82
+ function table_getIsAllPageRowsSelected(table) {
83
+ var _table$atoms$rowSelec5;
84
+ const paginationFlatRows = table.getPaginatedRowModel().flatRows.filter((row) => row_getCanSelect(row));
85
+ const rowSelection = ((_table$atoms$rowSelec5 = table.atoms.rowSelection) === null || _table$atoms$rowSelec5 === void 0 ? void 0 : _table$atoms$rowSelec5.get()) ?? {};
86
+ let isAllPageRowsSelected = !!paginationFlatRows.length;
87
+ if (isAllPageRowsSelected && paginationFlatRows.some((row) => !rowSelection[row.id])) isAllPageRowsSelected = false;
88
+ return isAllPageRowsSelected;
89
+ }
90
+ function table_getIsSomeRowsSelected(table) {
91
+ var _table$atoms$rowSelec6;
92
+ const totalSelected = Object.keys(((_table$atoms$rowSelec6 = table.atoms.rowSelection) === null || _table$atoms$rowSelec6 === void 0 ? void 0 : _table$atoms$rowSelec6.get()) ?? {}).length;
93
+ return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
94
+ }
95
+ function table_getIsSomePageRowsSelected(table) {
96
+ const paginationFlatRows = table.getPaginatedRowModel().flatRows;
97
+ return table_getIsAllPageRowsSelected(table) ? false : paginationFlatRows.filter((row) => row_getCanSelect(row)).some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row));
98
+ }
99
+ function table_getToggleAllRowsSelectedHandler(table) {
100
+ return (e) => {
101
+ table_toggleAllRowsSelected(table, e.target.checked);
102
+ };
103
+ }
104
+ function table_getToggleAllPageRowsSelectedHandler(table) {
105
+ return (e) => {
106
+ table_toggleAllPageRowsSelected(table, e.target.checked);
107
+ };
108
+ }
109
+ function row_toggleSelected(row, value, opts) {
110
+ const isSelected = row_getIsSelected(row);
111
+ table_setRowSelection(row.table, (old) => {
112
+ value = typeof value !== "undefined" ? value : !isSelected;
113
+ if (row_getCanSelect(row) && isSelected === value) return old;
114
+ const selectedRowIds = { ...old };
115
+ mutateRowIsSelected(selectedRowIds, row.id, value, (opts === null || opts === void 0 ? void 0 : opts.selectChildren) ?? true, row.table);
116
+ return selectedRowIds;
117
+ });
118
+ }
119
+ function row_getIsSelected(row) {
120
+ return isRowSelected(row);
121
+ }
122
+ function row_getIsSomeSelected(row) {
123
+ return isSubRowSelected(row) === "some";
124
+ }
125
+ function row_getIsAllSubRowsSelected(row) {
126
+ return isSubRowSelected(row) === "all";
127
+ }
128
+ function row_getCanSelect(row) {
129
+ const options = row.table.options;
130
+ if (typeof options.enableRowSelection === "function") return options.enableRowSelection(row);
131
+ return options.enableRowSelection ?? true;
132
+ }
133
+ function row_getCanSelectSubRows(row) {
134
+ const options = row.table.options;
135
+ if (typeof options.enableSubRowSelection === "function") return options.enableSubRowSelection(row);
136
+ return options.enableSubRowSelection ?? true;
137
+ }
138
+ function row_getCanMultiSelect(row) {
139
+ const options = row.table.options;
140
+ if (typeof options.enableMultiRowSelection === "function") return options.enableMultiRowSelection(row);
141
+ return options.enableMultiRowSelection ?? true;
142
+ }
143
+ function row_getToggleSelectedHandler(row) {
144
+ const canSelect = row_getCanSelect(row);
145
+ return (e) => {
146
+ if (!canSelect) return;
147
+ row_toggleSelected(row, e.target.checked);
148
+ };
149
+ }
150
+ const mutateRowIsSelected = (selectedRowIds, rowId, value, includeChildren, table) => {
151
+ const row = table.getRow(rowId, true);
152
+ if (value) {
153
+ if (!row_getCanMultiSelect(row)) Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key]);
154
+ if (row_getCanSelect(row)) selectedRowIds[rowId] = true;
155
+ } else delete selectedRowIds[rowId];
156
+ if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) row.subRows.forEach((r) => mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table));
157
+ };
158
+ function selectRowsFn(rowModel) {
159
+ const newSelectedFlatRows = [];
160
+ const newSelectedRowsById = {};
161
+ const recurseRows = (rows, depth = 0) => {
162
+ return rows.map((row) => {
163
+ const isSelected = isRowSelected(row);
164
+ if (isSelected) {
165
+ newSelectedFlatRows.push(row);
166
+ newSelectedRowsById[row.id] = row;
167
+ }
168
+ if (row.subRows.length) row = {
169
+ ...row,
170
+ subRows: recurseRows(row.subRows, depth + 1)
171
+ };
172
+ if (isSelected) return row;
173
+ }).filter((x) => !!x);
174
+ };
175
+ return {
176
+ rows: recurseRows(rowModel.rows),
177
+ flatRows: newSelectedFlatRows,
178
+ rowsById: newSelectedRowsById
179
+ };
180
+ }
181
+ function isRowSelected(row) {
182
+ var _row$table$atoms$rowS;
183
+ 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
+ }
185
+ function isSubRowSelected(row) {
186
+ if (!row.subRows.length) return false;
187
+ let allChildrenSelected = true;
188
+ let someSelected = false;
189
+ row.subRows.forEach((subRow) => {
190
+ if (someSelected && !allChildrenSelected) return;
191
+ if (row_getCanSelect(subRow)) if (isRowSelected(subRow)) someSelected = true;
192
+ else allChildrenSelected = false;
193
+ if (subRow.subRows.length) {
194
+ const subRowChildrenSelected = isSubRowSelected(subRow);
195
+ if (subRowChildrenSelected === "all") someSelected = true;
196
+ else if (subRowChildrenSelected === "some") {
197
+ someSelected = true;
198
+ allChildrenSelected = false;
199
+ } else allChildrenSelected = false;
200
+ }
201
+ });
202
+ return allChildrenSelected ? "all" : someSelected ? "some" : false;
203
+ }
204
+
205
+ //#endregion
206
+ export { getDefaultRowSelectionState, isRowSelected, isSubRowSelected, row_getCanMultiSelect, row_getCanSelect, row_getCanSelectSubRows, row_getIsAllSubRowsSelected, row_getIsSelected, row_getIsSomeSelected, row_getToggleSelectedHandler, row_toggleSelected, selectRowsFn, table_getFilteredSelectedRowModel, table_getGroupedSelectedRowModel, table_getIsAllPageRowsSelected, table_getIsAllRowsSelected, table_getIsSomePageRowsSelected, table_getIsSomeRowsSelected, table_getPreSelectedRowModel, table_getSelectedRowModel, table_getToggleAllPageRowsSelectedHandler, table_getToggleAllRowsSelectedHandler, table_resetRowSelection, table_setRowSelection, table_toggleAllPageRowsSelected, table_toggleAllRowsSelected };
207
+ //# sourceMappingURL=rowSelectionFeature.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowSelectionFeature.utils.js","names":[],"sources":["../../../src/features/row-selection/rowSelectionFeature.utils.ts"],"sourcesContent":["import { cloneState } from '../../utils'\nimport type { RowData, Updater } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Row } from '../../types/Row'\nimport type { RowSelectionState } from './rowSelectionFeature.types'\n\n// State APIs\n\nexport function getDefaultRowSelectionState(): RowSelectionState {\n return {}\n}\n\nexport function table_setRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n table: Table_Internal<TFeatures, TData>,\n updater: Updater<RowSelectionState>,\n) {\n table.options.onRowSelectionChange?.(updater)\n}\n\nexport function table_resetRowSelection<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {\n table_setRowSelection(\n table,\n defaultState ? {} : cloneState(table.initialState.rowSelection ?? {}),\n )\n}\n\n// Table APIs\n\nexport function table_toggleAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n value =\n typeof value !== 'undefined' ? value : !table_getIsAllRowsSelected(table)\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach((row) => {\n if (!row_getCanSelect(row)) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach((row) => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n}\n\nexport function table_toggleAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>, value?: boolean) {\n table_setRowSelection(table, (old) => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table_getIsAllPageRowsSelected(table)\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach((row) => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, true, table)\n })\n\n return rowSelection\n })\n}\n\nexport function table_getPreSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {\n return table.getCoreRowModel()\n}\n\nexport function table_getSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getFilteredSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getGroupedSelectedRowModel<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const rowModel = table.getCoreRowModel()\n\n if (!Object.keys(table.atoms.rowSelection?.get() ?? {}).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(rowModel)\n}\n\nexport function table_getIsAllRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length,\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n (row) => row_getCanSelect(row) && !rowSelection[row.id],\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n}\n\nexport function table_getIsAllPageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table\n .getPaginatedRowModel()\n .flatRows.filter((row) => row_getCanSelect(row))\n const rowSelection: RowSelectionState = table.atoms.rowSelection?.get() ?? {}\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some((row) => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n}\n\nexport function table_getIsSomeRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const totalSelected = Object.keys(\n table.atoms.rowSelection?.get() ?? {},\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getFilteredRowModel().flatRows.length\n )\n}\n\nexport function table_getIsSomePageRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const paginationFlatRows = table.getPaginatedRowModel().flatRows\n return table_getIsAllPageRowsSelected(table)\n ? false\n : paginationFlatRows\n .filter((row) => row_getCanSelect(row))\n .some((row) => row_getIsSelected(row) || row_getIsSomeSelected(row))\n}\n\nexport function table_getToggleAllRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nexport function table_getToggleAllPageRowsSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n return (e: unknown) => {\n table_toggleAllPageRowsSelected(\n table,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\n// Row APIs\n\nexport function row_toggleSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n row: Row<TFeatures, TData>,\n value?: boolean,\n opts?: {\n selectChildren?: boolean\n },\n) {\n const isSelected = row_getIsSelected(row)\n\n table_setRowSelection(row.table, (old) => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (row_getCanSelect(row) && isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(\n selectedRowIds,\n row.id,\n value,\n opts?.selectChildren ?? true,\n row.table,\n )\n\n return selectedRowIds\n })\n}\n\nexport function row_getIsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isRowSelected(row)\n}\n\nexport function row_getIsSomeSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'some'\n}\n\nexport function row_getIsAllSubRowsSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n return isSubRowSelected(row) === 'all'\n}\n\nexport function row_getCanSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableRowSelection === 'function') {\n return options.enableRowSelection(row)\n }\n\n return options.enableRowSelection ?? true\n}\n\nexport function row_getCanSelectSubRows<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableSubRowSelection === 'function') {\n return options.enableSubRowSelection(row)\n }\n\n return options.enableSubRowSelection ?? true\n}\n\nexport function row_getCanMultiSelect<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const options = row.table.options\n if (typeof options.enableMultiRowSelection === 'function') {\n return options.enableMultiRowSelection(row)\n }\n\n return options.enableMultiRowSelection ?? true\n}\n\nexport function row_getToggleSelectedHandler<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>) {\n const canSelect = row_getCanSelect(row)\n\n return (e: unknown) => {\n if (!canSelect) return\n row_toggleSelected(\n row,\n ((e as MouseEvent).target as HTMLInputElement).checked,\n )\n }\n}\n\nconst mutateRowIsSelected = <\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(\n selectedRowIds: Record<string, boolean | undefined>,\n rowId: string,\n value: boolean,\n includeChildren: boolean,\n table: Table_Internal<TFeatures, TData>,\n) => {\n const row = table.getRow(rowId, true)\n\n if (value) {\n if (!row_getCanMultiSelect(row)) {\n Object.keys(selectedRowIds).forEach((key) => delete selectedRowIds[key])\n }\n if (row_getCanSelect(row)) {\n selectedRowIds[rowId] = true\n }\n } else {\n delete selectedRowIds[rowId]\n }\n\n if (includeChildren && row.subRows.length && row_getCanSelectSubRows(row)) {\n row.subRows.forEach((r) =>\n mutateRowIsSelected(selectedRowIds, r.id, value, includeChildren, table),\n )\n }\n}\n\nexport function selectRowsFn<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(rowModel: RowModel<TFeatures, TData>): RowModel<TFeatures, TData> {\n const newSelectedFlatRows: Array<Row<TFeatures, TData>> = []\n const newSelectedRowsById: Record<string, Row<TFeatures, TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (\n rows: Array<Row<TFeatures, TData>>,\n depth = 0,\n ): Array<Row<TFeatures, TData>> => {\n return rows\n .map((row) => {\n const isSelected = isRowSelected(row)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter((x) => !!x)\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean {\n return (row.table.atoms.rowSelection?.get() ?? {})[row.id] ?? false\n}\n\nexport function isSubRowSelected<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(row: Row<TFeatures, TData>): boolean | 'some' | 'all' {\n if (!row.subRows.length) return false\n\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (row_getCanSelect(subRow)) {\n if (isRowSelected(subRow)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n }\n\n // Check row selection of nested subrows\n if (subRow.subRows.length) {\n const subRowChildrenSelected = isSubRowSelected(subRow)\n if (subRowChildrenSelected === 'all') {\n someSelected = true\n } else if (subRowChildrenSelected === 'some') {\n someSelected = true\n allChildrenSelected = false\n } else {\n allChildrenSelected = false\n }\n }\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n}\n"],"mappings":"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"}