@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.21

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 (524) hide show
  1. package/dist/core/cells/constructCell.d.cts +3 -3
  2. package/dist/core/cells/constructCell.d.ts +3 -3
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +6 -6
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +6 -6
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +3 -3
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +3 -3
  13. package/dist/core/columns/constructColumn.cjs +5 -0
  14. package/dist/core/columns/constructColumn.cjs.map +1 -1
  15. package/dist/core/columns/constructColumn.d.cts +3 -3
  16. package/dist/core/columns/constructColumn.d.ts +3 -3
  17. package/dist/core/columns/constructColumn.js +5 -0
  18. package/dist/core/columns/constructColumn.js.map +1 -1
  19. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  20. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  22. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  23. package/dist/core/columns/coreColumnsFeature.js +60 -68
  24. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  26. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  27. package/dist/core/columns/coreColumnsFeature.utils.cjs +2 -2
  28. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  29. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  30. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  31. package/dist/core/columns/coreColumnsFeature.utils.js +3 -3
  32. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  33. package/dist/core/coreFeatures.cjs.map +1 -1
  34. package/dist/core/coreFeatures.d.cts +1 -1
  35. package/dist/core/coreFeatures.d.ts +1 -1
  36. package/dist/core/coreFeatures.js.map +1 -1
  37. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  38. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  39. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  40. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  41. package/dist/core/headers/constructHeader.d.cts +2 -2
  42. package/dist/core/headers/constructHeader.d.ts +2 -2
  43. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  44. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  45. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  46. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  47. package/dist/core/headers/coreHeadersFeature.js +45 -53
  48. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  49. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  50. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  52. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  53. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  54. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  55. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  56. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  58. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  59. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  60. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  61. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +6 -16
  62. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +6 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  64. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  65. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +14 -14
  66. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +14 -14
  67. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  68. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  69. package/dist/core/row-models/createCoreRowModel.cjs +2 -3
  70. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  71. package/dist/core/row-models/createCoreRowModel.d.cts +1 -1
  72. package/dist/core/row-models/createCoreRowModel.d.ts +1 -1
  73. package/dist/core/row-models/createCoreRowModel.js +3 -4
  74. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  75. package/dist/core/rows/constructRow.cjs +3 -2
  76. package/dist/core/rows/constructRow.cjs.map +1 -1
  77. package/dist/core/rows/constructRow.d.cts +2 -2
  78. package/dist/core/rows/constructRow.d.ts +2 -2
  79. package/dist/core/rows/constructRow.js +4 -2
  80. package/dist/core/rows/constructRow.js.map +1 -1
  81. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  82. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  83. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  84. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  85. package/dist/core/rows/coreRowsFeature.js +28 -36
  86. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  87. package/dist/core/rows/coreRowsFeature.types.d.cts +6 -6
  88. package/dist/core/rows/coreRowsFeature.types.d.ts +6 -6
  89. package/dist/core/rows/coreRowsFeature.utils.cjs +3 -3
  90. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  91. package/dist/core/rows/coreRowsFeature.utils.d.cts +3 -3
  92. package/dist/core/rows/coreRowsFeature.utils.d.ts +3 -3
  93. package/dist/core/rows/coreRowsFeature.utils.js +4 -4
  94. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  95. package/dist/core/table/constructTable.cjs +21 -6
  96. package/dist/core/table/constructTable.cjs.map +1 -1
  97. package/dist/core/table/constructTable.d.cts +1 -1
  98. package/dist/core/table/constructTable.d.ts +1 -1
  99. package/dist/core/table/constructTable.js +21 -6
  100. package/dist/core/table/constructTable.js.map +1 -1
  101. package/dist/core/table/coreTablesFeature.cjs +7 -16
  102. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  103. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  104. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  105. package/dist/core/table/coreTablesFeature.js +8 -16
  106. package/dist/core/table/coreTablesFeature.js.map +1 -1
  107. package/dist/core/table/coreTablesFeature.types.d.cts +28 -16
  108. package/dist/core/table/coreTablesFeature.types.d.ts +28 -16
  109. package/dist/core/table/coreTablesFeature.utils.cjs +33 -12
  110. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  111. package/dist/core/table/coreTablesFeature.utils.d.cts +8 -6
  112. package/dist/core/table/coreTablesFeature.utils.d.ts +8 -6
  113. package/dist/core/table/coreTablesFeature.utils.js +33 -12
  114. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  115. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  116. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  117. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  118. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  119. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  120. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  121. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  122. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  123. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  124. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  125. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +8 -8
  126. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +8 -8
  127. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  128. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  129. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  130. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  131. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  132. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  133. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  137. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  138. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  139. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  140. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  141. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  142. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  143. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  144. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  145. package/dist/features/column-filtering/columnFilteringFeature.js +42 -54
  146. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  147. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  148. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  150. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  151. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +12 -12
  152. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +12 -12
  153. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  154. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  155. package/dist/features/column-filtering/createFilteredRowModel.cjs +12 -7
  156. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  157. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  158. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  159. package/dist/features/column-filtering/createFilteredRowModel.js +13 -8
  160. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  161. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  162. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  163. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  164. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  165. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  167. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  168. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  169. package/dist/features/column-grouping/columnGroupingFeature.js +59 -70
  170. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  171. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +28 -21
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +28 -21
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +4 -4
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +11 -11
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +11 -11
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.js +5 -5
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  179. package/dist/features/column-grouping/createGroupedRowModel.cjs +9 -7
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  181. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  182. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  183. package/dist/features/column-grouping/createGroupedRowModel.js +10 -8
  184. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  185. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  187. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  188. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  189. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  190. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  192. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +9 -9
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +9 -9
  195. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  196. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  197. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  198. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  199. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  200. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  201. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  202. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  203. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +31 -30
  205. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +31 -30
  206. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  207. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  208. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  209. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  210. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  211. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  212. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +2 -5
  216. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js +3 -6
  220. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  221. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  222. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  223. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  224. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  225. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  226. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +11 -4
  228. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +12 -12
  230. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +12 -12
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js +12 -5
  232. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  234. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  235. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  236. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  237. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  238. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  239. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  240. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +12 -9
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +14 -14
  244. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +14 -14
  245. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +13 -10
  246. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  247. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  248. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  249. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  250. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  251. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  252. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  253. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  254. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  256. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +10 -8
  257. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -8
  258. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  259. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  260. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  261. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  262. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  263. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  264. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  265. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  266. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  267. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  268. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  269. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  270. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  271. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +21 -12
  272. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  273. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  274. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  275. package/dist/features/row-expanding/rowExpandingFeature.utils.js +22 -13
  276. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  277. package/dist/features/row-pagination/createPaginatedRowModel.cjs +1 -1
  278. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  279. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  280. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  281. package/dist/features/row-pagination/createPaginatedRowModel.js +1 -1
  282. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  283. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  284. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  285. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  286. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  287. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  288. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  289. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  290. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  291. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  292. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  293. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  294. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  295. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  296. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  297. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  298. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  299. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  300. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  301. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +2 -2
  302. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  303. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  304. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  305. package/dist/features/row-pinning/rowPinningFeature.utils.js +2 -2
  306. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  307. package/dist/features/row-selection/rowSelectionFeature.cjs +108 -77
  308. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  309. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  310. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  311. package/dist/features/row-selection/rowSelectionFeature.js +110 -78
  312. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  313. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +13 -5
  314. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +13 -5
  315. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +76 -60
  316. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  317. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +48 -23
  318. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +48 -23
  319. package/dist/features/row-selection/rowSelectionFeature.utils.js +77 -62
  320. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  321. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -3
  322. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  323. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  324. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  325. package/dist/features/row-sorting/createSortedRowModel.js +6 -4
  326. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  327. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  328. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  329. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  330. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  331. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  332. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  333. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +24 -21
  334. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +24 -21
  335. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  336. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  337. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  338. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  339. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  340. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  341. package/dist/fns/aggregationFns.cjs +18 -18
  342. package/dist/fns/aggregationFns.cjs.map +1 -1
  343. package/dist/fns/aggregationFns.d.cts +21 -19
  344. package/dist/fns/aggregationFns.d.ts +21 -19
  345. package/dist/fns/aggregationFns.js +18 -18
  346. package/dist/fns/aggregationFns.js.map +1 -1
  347. package/dist/fns/filterFns.cjs +51 -65
  348. package/dist/fns/filterFns.cjs.map +1 -1
  349. package/dist/fns/filterFns.d.cts +82 -28
  350. package/dist/fns/filterFns.d.ts +82 -28
  351. package/dist/fns/filterFns.js +51 -65
  352. package/dist/fns/filterFns.js.map +1 -1
  353. package/dist/fns/sortFns.cjs +18 -6
  354. package/dist/fns/sortFns.cjs.map +1 -1
  355. package/dist/fns/sortFns.d.cts +15 -13
  356. package/dist/fns/sortFns.d.ts +15 -13
  357. package/dist/fns/sortFns.js +18 -6
  358. package/dist/fns/sortFns.js.map +1 -1
  359. package/dist/helpers/columnHelper.cjs.map +1 -1
  360. package/dist/helpers/columnHelper.d.cts +2 -2
  361. package/dist/helpers/columnHelper.d.ts +2 -2
  362. package/dist/helpers/columnHelper.js.map +1 -1
  363. package/dist/helpers/metaHelper.cjs +30 -0
  364. package/dist/helpers/metaHelper.cjs.map +1 -0
  365. package/dist/helpers/metaHelper.d.cts +26 -0
  366. package/dist/helpers/metaHelper.d.ts +26 -0
  367. package/dist/helpers/metaHelper.js +29 -0
  368. package/dist/helpers/metaHelper.js.map +1 -0
  369. package/dist/helpers/tableFeatures.cjs +31 -3
  370. package/dist/helpers/tableFeatures.cjs.map +1 -1
  371. package/dist/helpers/tableFeatures.d.cts +33 -5
  372. package/dist/helpers/tableFeatures.d.ts +33 -5
  373. package/dist/helpers/tableFeatures.js +31 -3
  374. package/dist/helpers/tableFeatures.js.map +1 -1
  375. package/dist/index.cjs +4 -20
  376. package/dist/index.d.cts +50 -49
  377. package/dist/index.d.ts +50 -49
  378. package/dist/index.js +23 -22
  379. package/dist/static-functions.cjs +1 -0
  380. package/dist/static-functions.d.cts +2 -2
  381. package/dist/static-functions.d.ts +2 -2
  382. package/dist/static-functions.js +2 -2
  383. package/dist/store-reactivity-bindings.cjs +1 -1
  384. package/dist/store-reactivity-bindings.cjs.map +1 -1
  385. package/dist/store-reactivity-bindings.d.cts +1 -1
  386. package/dist/store-reactivity-bindings.d.ts +1 -1
  387. package/dist/store-reactivity-bindings.js +1 -1
  388. package/dist/store-reactivity-bindings.js.map +1 -1
  389. package/dist/types/Cell.d.cts +4 -9
  390. package/dist/types/Cell.d.ts +4 -9
  391. package/dist/types/Column.d.cts +11 -18
  392. package/dist/types/Column.d.ts +11 -18
  393. package/dist/types/ColumnDef.d.cts +23 -14
  394. package/dist/types/ColumnDef.d.ts +23 -14
  395. package/dist/types/Header.d.cts +5 -10
  396. package/dist/types/Header.d.ts +5 -10
  397. package/dist/types/HeaderGroup.d.cts +4 -9
  398. package/dist/types/HeaderGroup.d.ts +4 -9
  399. package/dist/types/Row.d.cts +7 -12
  400. package/dist/types/Row.d.ts +7 -12
  401. package/dist/types/RowModel.d.cts +12 -28
  402. package/dist/types/RowModel.d.ts +12 -28
  403. package/dist/types/RowModelFns.d.cts +6 -11
  404. package/dist/types/RowModelFns.d.ts +6 -11
  405. package/dist/types/Table.d.cts +26 -36
  406. package/dist/types/Table.d.ts +26 -36
  407. package/dist/types/TableFeatures.d.cts +328 -54
  408. package/dist/types/TableFeatures.d.ts +328 -54
  409. package/dist/types/TableOptions.d.cts +22 -17
  410. package/dist/types/TableOptions.d.ts +22 -17
  411. package/dist/types/TableState.d.cts +11 -16
  412. package/dist/types/TableState.d.ts +11 -16
  413. package/dist/utils.cjs +24 -2
  414. package/dist/utils.cjs.map +1 -1
  415. package/dist/utils.d.cts +23 -7
  416. package/dist/utils.d.ts +23 -7
  417. package/dist/utils.js +23 -3
  418. package/dist/utils.js.map +1 -1
  419. package/package.json +2 -2
  420. package/skills/column-definitions/SKILL.md +3 -6
  421. package/skills/column-layout/SKILL.md +0 -2
  422. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  423. package/skills/filtering/SKILL.md +60 -42
  424. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  425. package/skills/grouping/SKILL.md +49 -54
  426. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  427. package/skills/pagination/SKILL.md +22 -20
  428. package/skills/row-expanding/SKILL.md +33 -25
  429. package/skills/row-pinning/SKILL.md +11 -7
  430. package/skills/row-selection/SKILL.md +0 -3
  431. package/skills/setup/SKILL.md +55 -65
  432. package/skills/sorting/SKILL.md +21 -21
  433. package/skills/state-management/SKILL.md +40 -25
  434. package/src/core/cells/coreCellsFeature.ts +17 -39
  435. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  436. package/src/core/columns/constructColumn.ts +6 -0
  437. package/src/core/columns/coreColumnsFeature.ts +56 -83
  438. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  439. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  440. package/src/core/coreFeatures.ts +1 -1
  441. package/src/core/headers/buildHeaderGroups.ts +4 -2
  442. package/src/core/headers/coreHeadersFeature.ts +42 -64
  443. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  444. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  445. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  446. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  447. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  448. package/src/core/row-models/createCoreRowModel.ts +7 -6
  449. package/src/core/rows/constructRow.ts +3 -2
  450. package/src/core/rows/coreRowsFeature.ts +45 -72
  451. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  452. package/src/core/rows/coreRowsFeature.utils.ts +4 -4
  453. package/src/core/table/constructTable.ts +50 -13
  454. package/src/core/table/coreTablesFeature.ts +13 -35
  455. package/src/core/table/coreTablesFeature.types.ts +40 -17
  456. package/src/core/table/coreTablesFeature.utils.ts +52 -18
  457. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  458. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  459. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  460. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  461. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  462. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  463. package/src/features/column-filtering/columnFilteringFeature.ts +61 -103
  464. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  465. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  466. package/src/features/column-filtering/createFilteredRowModel.ts +18 -17
  467. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  468. package/src/features/column-grouping/columnGroupingFeature.ts +83 -126
  469. package/src/features/column-grouping/columnGroupingFeature.types.ts +42 -34
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -2
  471. package/src/features/column-grouping/createGroupedRowModel.ts +17 -16
  472. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  473. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  474. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  475. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  476. package/src/features/column-pinning/columnPinningFeature.utils.ts +11 -19
  477. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  478. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  479. package/src/features/column-resizing/columnResizingFeature.utils.ts +5 -6
  480. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  481. package/src/features/column-sizing/columnSizingFeature.utils.ts +27 -5
  482. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  483. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  484. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +31 -15
  485. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  486. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  487. package/src/features/global-filtering/globalFilteringFeature.utils.ts +5 -3
  488. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  489. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  490. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  491. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  492. package/src/features/row-pagination/createPaginatedRowModel.ts +2 -2
  493. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  494. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  495. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  496. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  497. package/src/features/row-selection/rowSelectionFeature.ts +125 -135
  498. package/src/features/row-selection/rowSelectionFeature.types.ts +17 -7
  499. package/src/features/row-selection/rowSelectionFeature.utils.ts +144 -66
  500. package/src/features/row-sorting/createSortedRowModel.ts +12 -15
  501. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  502. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  503. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  504. package/src/fns/aggregationFns.ts +26 -42
  505. package/src/fns/filterFns.ts +237 -264
  506. package/src/fns/sortFns.ts +51 -29
  507. package/src/helpers/columnHelper.ts +4 -4
  508. package/src/helpers/metaHelper.ts +24 -0
  509. package/src/helpers/tableFeatures.ts +36 -5
  510. package/src/index.ts +1 -0
  511. package/src/store-reactivity-bindings.ts +1 -1
  512. package/src/types/Cell.ts +5 -21
  513. package/src/types/Column.ts +12 -26
  514. package/src/types/ColumnDef.ts +28 -18
  515. package/src/types/Header.ts +4 -20
  516. package/src/types/HeaderGroup.ts +7 -18
  517. package/src/types/Row.ts +6 -21
  518. package/src/types/RowModel.ts +15 -88
  519. package/src/types/RowModelFns.ts +9 -24
  520. package/src/types/Table.ts +54 -44
  521. package/src/types/TableFeatures.ts +402 -123
  522. package/src/types/TableOptions.ts +59 -21
  523. package/src/types/TableState.ts +5 -17
  524. package/src/utils.ts +40 -8
@@ -16,114 +16,82 @@ import {
16
16
  table_resetRowPinning,
17
17
  table_setRowPinning,
18
18
  } from './rowPinningFeature.utils'
19
- import type { RowData } from '../../types/type-utils'
20
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
21
- // import type {
22
- // Row_RowPinning,
23
- // TableOptions_RowPinning,
24
- // TableState_RowPinning,
25
- // Table_RowPinning,
26
- // } from './rowPinningFeature.types'
27
-
28
- export interface RowPinningFeatureConstructors<
29
- TFeatures extends TableFeatures,
30
- TData extends RowData,
31
- > {
32
- // Row: Row_RowPinning
33
- // Table: Table_RowPinning<TFeatures, RowData>
34
- // TableOptions: TableOptions_RowPinning<TFeatures, RowData>
35
- // TableState: TableState_RowPinning
36
- }
19
+ import type { TableFeature } from '../../types/TableFeatures'
37
20
 
38
21
  /**
39
- * Creates the stock row pinning feature.
40
- *
41
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
22
+ * Feature that adds row pinning state and APIs for top, center, and bottom rows.
42
23
  */
43
- export function constructRowPinningFeature<
44
- TFeatures extends TableFeatures,
45
- TData extends RowData,
46
- >(): TableFeature<RowPinningFeatureConstructors<TFeatures, TData>> {
47
- return {
48
- getInitialState: (initialState) => {
49
- return {
50
- ...initialState,
51
- rowPinning: {
52
- ...getDefaultRowPinningState(),
53
- ...initialState.rowPinning,
54
- },
55
- }
56
- },
24
+ export const rowPinningFeature: TableFeature = {
25
+ getInitialState: (initialState) => {
26
+ return {
27
+ ...initialState,
28
+ rowPinning: {
29
+ ...getDefaultRowPinningState(),
30
+ ...initialState.rowPinning,
31
+ },
32
+ }
33
+ },
57
34
 
58
- getDefaultTableOptions: (table) => {
59
- return {
60
- onRowPinningChange: makeStateUpdater('rowPinning', table),
61
- }
62
- },
35
+ getDefaultTableOptions: (table) => {
36
+ return {
37
+ onRowPinningChange: makeStateUpdater('rowPinning', table),
38
+ }
39
+ },
63
40
 
64
- assignRowPrototype: (prototype, table) => {
65
- assignPrototypeAPIs('rowPinningFeature', prototype, table, {
66
- row_getCanPin: {
67
- fn: (row) => row_getCanPin(row),
68
- },
69
- row_getIsPinned: {
70
- fn: (row) => row_getIsPinned(row),
71
- },
72
- row_getPinnedIndex: {
73
- fn: (row) => row_getPinnedIndex(row),
74
- memoDeps: (row) => [
75
- row.table.getRowModel().rows,
76
- row.table.atoms.rowPinning?.get(),
77
- ],
78
- },
79
- row_pin: {
80
- fn: (row, position, includeLeafRows, includeParentRows) =>
81
- row_pin(row, position, includeLeafRows, includeParentRows),
82
- },
83
- })
84
- },
41
+ assignRowPrototype: (prototype, table) => {
42
+ assignPrototypeAPIs('rowPinningFeature', prototype, table, {
43
+ row_getCanPin: {
44
+ fn: (row) => row_getCanPin(row),
45
+ },
46
+ row_getIsPinned: {
47
+ fn: (row) => row_getIsPinned(row),
48
+ },
49
+ row_getPinnedIndex: {
50
+ fn: (row) => row_getPinnedIndex(row),
51
+ memoDeps: (row) => [
52
+ row.table.getRowModel().rows,
53
+ row.table.atoms.rowPinning?.get(),
54
+ ],
55
+ },
56
+ row_pin: {
57
+ fn: (row, position, includeLeafRows, includeParentRows) =>
58
+ row_pin(row, position, includeLeafRows, includeParentRows),
59
+ },
60
+ })
61
+ },
85
62
 
86
- constructTableAPIs: (table) => {
87
- assignTableAPIs('rowPinningFeature', table, {
88
- table_setRowPinning: {
89
- fn: (updater) => table_setRowPinning(table, updater),
90
- },
91
- table_resetRowPinning: {
92
- fn: (defaultState) => table_resetRowPinning(table, defaultState),
93
- },
94
- table_getIsSomeRowsPinned: {
95
- fn: (position) => table_getIsSomeRowsPinned(table, position),
96
- },
97
- table_getTopRows: {
98
- fn: () => table_getTopRows(table),
99
- memoDeps: () => [
100
- table.getRowModel().rows,
101
- table.atoms.rowPinning?.get()?.top,
102
- ],
103
- },
104
- table_getBottomRows: {
105
- fn: () => table_getBottomRows(table),
106
- memoDeps: () => [
107
- table.getRowModel().rows,
108
- table.atoms.rowPinning?.get()?.bottom,
109
- ],
110
- },
111
- table_getCenterRows: {
112
- fn: () => table_getCenterRows(table),
113
- memoDeps: () => [
114
- table.getRowModel().rows,
115
- table.atoms.rowPinning?.get(),
116
- ],
117
- },
118
- })
119
- },
120
- }
63
+ constructTableAPIs: (table) => {
64
+ assignTableAPIs('rowPinningFeature', table, {
65
+ table_setRowPinning: {
66
+ fn: (updater) => table_setRowPinning(table, updater),
67
+ },
68
+ table_resetRowPinning: {
69
+ fn: (defaultState) => table_resetRowPinning(table, defaultState),
70
+ },
71
+ table_getIsSomeRowsPinned: {
72
+ fn: (position) => table_getIsSomeRowsPinned(table, position),
73
+ },
74
+ table_getTopRows: {
75
+ fn: () => table_getTopRows(table),
76
+ memoDeps: () => [
77
+ table.getRowModel().rows,
78
+ table.atoms.rowPinning?.get()?.top,
79
+ ],
80
+ },
81
+ table_getBottomRows: {
82
+ fn: () => table_getBottomRows(table),
83
+ memoDeps: () => [
84
+ table.getRowModel().rows,
85
+ table.atoms.rowPinning?.get()?.bottom,
86
+ ],
87
+ },
88
+ table_getCenterRows: {
89
+ fn: () => table_getCenterRows(table),
90
+ memoDeps: () => [
91
+ table.getRowModel().rows,
92
+ table.atoms.rowPinning?.get(),
93
+ ],
94
+ },
95
+ })
96
+ },
121
97
  }
122
-
123
- /**
124
- * The stock row pinning feature.
125
- *
126
- * Register this feature to add row pinning state and APIs for deriving top,
127
- * center, and bottom row regions.
128
- */
129
- export const rowPinningFeature = constructRowPinningFeature()
@@ -14,8 +14,8 @@ export interface TableState_RowPinning {
14
14
  }
15
15
 
16
16
  export interface TableOptions_RowPinning<
17
- TFeatures extends TableFeatures,
18
- TData extends RowData,
17
+ in out TFeatures extends TableFeatures,
18
+ in out TData extends RowData,
19
19
  > {
20
20
  /**
21
21
  * Allows rows to be pinned to top or bottom regions.
@@ -63,8 +63,8 @@ export interface Row_RowPinning {
63
63
  }
64
64
 
65
65
  export interface Table_RowPinning<
66
- TFeatures extends TableFeatures,
67
- TData extends RowData,
66
+ in out TFeatures extends TableFeatures,
67
+ in out TData extends RowData,
68
68
  > {
69
69
  /**
70
70
  * Gets rows pinned to the bottom region.
@@ -20,6 +20,7 @@ import {
20
20
  table_getIsSomePageRowsSelected,
21
21
  table_getIsSomeRowsSelected,
22
22
  table_getPreSelectedRowModel,
23
+ table_getSelectedRowIds,
23
24
  table_getSelectedRowModel,
24
25
  table_getToggleAllPageRowsSelectedHandler,
25
26
  table_getToggleAllRowsSelectedHandler,
@@ -28,145 +29,134 @@ import {
28
29
  table_toggleAllPageRowsSelected,
29
30
  table_toggleAllRowsSelected,
30
31
  } from './rowSelectionFeature.utils'
31
- import type { RowData } from '../../types/type-utils'
32
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
33
- // import type {
34
- // Row_RowSelection,
35
- // TableOptions_RowSelection,
36
- // TableState_RowSelection,
37
- // Table_RowSelection,
38
- // } from './rowSelectionFeature.types'
39
-
40
- export interface RowSelectionFeatureConstructors<
41
- TFeatures extends TableFeatures,
42
- TData extends RowData,
43
- > {
44
- // Row: Row_RowSelection
45
- // Table: Table_RowSelection<TFeatures, TData>
46
- // TableOptions: TableOptions_RowSelection<TFeatures, TData>
47
- // TableState: TableState_RowSelection
48
- }
32
+ import type { TableFeature } from '../../types/TableFeatures'
49
33
 
50
34
  /**
51
- * Creates the stock row selection feature.
52
- *
53
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
35
+ * Feature that adds row selection state and APIs for row and page selection.
54
36
  */
55
- export function constructRowSelectionFeature<
56
- TFeatures extends TableFeatures,
57
- TData extends RowData,
58
- >(): TableFeature<RowSelectionFeatureConstructors<TFeatures, TData>> {
59
- return {
60
- getInitialState: (initialState) => {
61
- return {
62
- rowSelection: getDefaultRowSelectionState(),
63
- ...initialState,
64
- }
65
- },
37
+ export const rowSelectionFeature: TableFeature = {
38
+ getInitialState: (initialState) => {
39
+ return {
40
+ rowSelection: getDefaultRowSelectionState(),
41
+ ...initialState,
42
+ }
43
+ },
66
44
 
67
- getDefaultTableOptions: (table) => {
68
- return {
69
- onRowSelectionChange: makeStateUpdater('rowSelection', table),
70
- enableRowSelection: true,
71
- enableMultiRowSelection: true,
72
- enableSubRowSelection: true,
73
- }
74
- },
45
+ getDefaultTableOptions: (table) => {
46
+ return {
47
+ onRowSelectionChange: makeStateUpdater('rowSelection', table),
48
+ enableRowSelection: true,
49
+ enableMultiRowSelection: true,
50
+ enableSubRowSelection: true,
51
+ }
52
+ },
75
53
 
76
- assignRowPrototype: (prototype, table) => {
77
- assignPrototypeAPIs('rowSelectionFeature', prototype, table, {
78
- row_toggleSelected: {
79
- fn: (row, value, opts) => row_toggleSelected(row, value, opts),
80
- },
81
- row_getIsSelected: {
82
- fn: (row) => row_getIsSelected(row),
83
- },
84
- row_getIsSomeSelected: {
85
- fn: (row) => row_getIsSomeSelected(row),
86
- },
87
- row_getIsAllSubRowsSelected: {
88
- fn: (row) => row_getIsAllSubRowsSelected(row),
89
- },
90
- row_getCanSelect: {
91
- fn: (row) => row_getCanSelect(row),
92
- },
93
- row_getCanSelectSubRows: {
94
- fn: (row) => row_getCanSelectSubRows(row),
95
- },
96
- row_getCanMultiSelect: {
97
- fn: (row) => row_getCanMultiSelect(row),
98
- },
99
- row_getToggleSelectedHandler: {
100
- fn: (row) => row_getToggleSelectedHandler(row),
101
- },
102
- })
103
- },
54
+ assignRowPrototype: (prototype, table) => {
55
+ assignPrototypeAPIs('rowSelectionFeature', prototype, table, {
56
+ row_toggleSelected: {
57
+ fn: (row, value, opts) => row_toggleSelected(row, value, opts),
58
+ },
59
+ row_getIsSelected: {
60
+ fn: (row) => row_getIsSelected(row),
61
+ },
62
+ row_getIsSomeSelected: {
63
+ fn: (row) => row_getIsSomeSelected(row),
64
+ },
65
+ row_getIsAllSubRowsSelected: {
66
+ fn: (row) => row_getIsAllSubRowsSelected(row),
67
+ },
68
+ row_getCanSelect: {
69
+ fn: (row) => row_getCanSelect(row),
70
+ },
71
+ row_getCanSelectSubRows: {
72
+ fn: (row) => row_getCanSelectSubRows(row),
73
+ },
74
+ row_getCanMultiSelect: {
75
+ fn: (row) => row_getCanMultiSelect(row),
76
+ },
77
+ row_getToggleSelectedHandler: {
78
+ fn: (row) => row_getToggleSelectedHandler(row),
79
+ },
80
+ })
81
+ },
104
82
 
105
- constructTableAPIs: (table) => {
106
- assignTableAPIs('rowSelectionFeature', table, {
107
- table_setRowSelection: {
108
- fn: (updater) => table_setRowSelection(table, updater),
109
- },
110
- table_resetRowSelection: {
111
- fn: (defaultState) => table_resetRowSelection(table, defaultState),
112
- },
113
- table_toggleAllRowsSelected: {
114
- fn: (value) => table_toggleAllRowsSelected(table, value),
115
- },
116
- table_toggleAllPageRowsSelected: {
117
- fn: (value) => table_toggleAllPageRowsSelected(table, value),
118
- },
119
- table_getPreSelectedRowModel: {
120
- fn: () => table_getPreSelectedRowModel(table),
121
- },
122
- table_getSelectedRowModel: {
123
- fn: () => table_getSelectedRowModel(table),
124
- memoDeps: () => [
125
- table.atoms.rowSelection?.get(),
126
- table.getCoreRowModel(),
127
- ],
128
- },
129
- table_getFilteredSelectedRowModel: {
130
- fn: () => table_getFilteredSelectedRowModel(table),
131
- memoDeps: () => [
132
- table.atoms.rowSelection?.get(),
133
- table.getFilteredRowModel(),
134
- ],
135
- },
136
- table_getGroupedSelectedRowModel: {
137
- fn: () => table_getGroupedSelectedRowModel(table),
138
- memoDeps: () => [
139
- table.atoms.rowSelection?.get(),
140
- table.getSortedRowModel(),
141
- ],
142
- },
143
- table_getIsAllRowsSelected: {
144
- fn: () => table_getIsAllRowsSelected(table),
145
- },
146
- table_getIsAllPageRowsSelected: {
147
- fn: () => table_getIsAllPageRowsSelected(table),
148
- },
149
- table_getIsSomeRowsSelected: {
150
- fn: () => table_getIsSomeRowsSelected(table),
151
- },
152
- table_getIsSomePageRowsSelected: {
153
- fn: () => table_getIsSomePageRowsSelected(table),
154
- },
155
- table_getToggleAllRowsSelectedHandler: {
156
- fn: () => table_getToggleAllRowsSelectedHandler(table),
157
- },
158
- table_getToggleAllPageRowsSelectedHandler: {
159
- fn: () => table_getToggleAllPageRowsSelectedHandler(table),
160
- },
161
- })
162
- },
163
- }
83
+ constructTableAPIs: (table) => {
84
+ assignTableAPIs('rowSelectionFeature', table, {
85
+ table_setRowSelection: {
86
+ fn: (updater) => table_setRowSelection(table, updater),
87
+ },
88
+ table_resetRowSelection: {
89
+ fn: (defaultState) => table_resetRowSelection(table, defaultState),
90
+ },
91
+ table_toggleAllRowsSelected: {
92
+ fn: (value, opts) => table_toggleAllRowsSelected(table, value, opts),
93
+ },
94
+ table_toggleAllPageRowsSelected: {
95
+ fn: (value, opts) =>
96
+ table_toggleAllPageRowsSelected(table, value, opts),
97
+ },
98
+ table_getPreSelectedRowModel: {
99
+ fn: () => table_getPreSelectedRowModel(table),
100
+ },
101
+ table_getSelectedRowModel: {
102
+ fn: () => table_getSelectedRowModel(table),
103
+ memoDeps: () => [
104
+ table.atoms.rowSelection?.get(),
105
+ table.getCoreRowModel(),
106
+ ],
107
+ },
108
+ table_getFilteredSelectedRowModel: {
109
+ fn: () => table_getFilteredSelectedRowModel(table),
110
+ memoDeps: () => [
111
+ table.atoms.rowSelection?.get(),
112
+ table.getFilteredRowModel(),
113
+ ],
114
+ },
115
+ table_getGroupedSelectedRowModel: {
116
+ fn: () => table_getGroupedSelectedRowModel(table),
117
+ memoDeps: () => [
118
+ table.atoms.rowSelection?.get(),
119
+ table.getSortedRowModel(),
120
+ ],
121
+ },
122
+ table_getSelectedRowIds: {
123
+ fn: () => table_getSelectedRowIds(table),
124
+ memoDeps: () => [table.atoms.rowSelection?.get()],
125
+ },
126
+ table_getIsAllRowsSelected: {
127
+ fn: () => table_getIsAllRowsSelected(table),
128
+ memoDeps: () => [
129
+ table.atoms.rowSelection?.get(),
130
+ table.getFilteredRowModel(),
131
+ table.options.enableRowSelection,
132
+ ],
133
+ },
134
+ table_getIsAllPageRowsSelected: {
135
+ fn: () => table_getIsAllPageRowsSelected(table),
136
+ memoDeps: () => [
137
+ table.atoms.rowSelection?.get(),
138
+ table.getPaginatedRowModel(),
139
+ table.options.enableRowSelection,
140
+ ],
141
+ },
142
+ table_getIsSomeRowsSelected: {
143
+ fn: () => table_getIsSomeRowsSelected(table),
144
+ memoDeps: () => [table.atoms.rowSelection?.get()],
145
+ },
146
+ table_getIsSomePageRowsSelected: {
147
+ fn: () => table_getIsSomePageRowsSelected(table),
148
+ memoDeps: () => [
149
+ table.atoms.rowSelection?.get(),
150
+ table.getPaginatedRowModel(),
151
+ table.options.enableRowSelection,
152
+ ],
153
+ },
154
+ table_getToggleAllRowsSelectedHandler: {
155
+ fn: () => table_getToggleAllRowsSelectedHandler(table),
156
+ },
157
+ table_getToggleAllPageRowsSelectedHandler: {
158
+ fn: () => table_getToggleAllPageRowsSelectedHandler(table),
159
+ },
160
+ })
161
+ },
164
162
  }
165
-
166
- /**
167
- * The stock row selection feature.
168
- *
169
- * Register this feature to add row selection state, selected row-model helpers,
170
- * and table/row APIs for checkbox and bulk-selection UI.
171
- */
172
- export const rowSelectionFeature = constructRowSelectionFeature()
@@ -3,15 +3,15 @@ import type { TableFeatures } from '../../types/TableFeatures'
3
3
  import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
4
4
  import type { Row } from '../../types/Row'
5
5
 
6
- export type RowSelectionState = Record<string, boolean | undefined>
6
+ export type RowSelectionState = Record<string, true>
7
7
 
8
8
  export interface TableState_RowSelection {
9
9
  rowSelection: RowSelectionState
10
10
  }
11
11
 
12
12
  export interface TableOptions_RowSelection<
13
- TFeatures extends TableFeatures,
14
- TData extends RowData,
13
+ in out TFeatures extends TableFeatures,
14
+ in out TData extends RowData,
15
15
  > {
16
16
  /**
17
17
  * Allows rows to be selected alongside other rows.
@@ -87,8 +87,8 @@ export interface Row_RowSelection {
87
87
  }
88
88
 
89
89
  export interface Table_RowSelection<
90
- TFeatures extends TableFeatures,
91
- TData extends RowData,
90
+ in out TFeatures extends TableFeatures,
91
+ in out TData extends RowData,
92
92
  > {
93
93
  /**
94
94
  * Builds a selected-row model from rows after filtering.
@@ -98,6 +98,10 @@ export interface Table_RowSelection<
98
98
  * Builds a selected-row model from rows after grouping.
99
99
  */
100
100
  getGroupedSelectedRowModel: () => RowModel<TFeatures, TData>
101
+ /**
102
+ * Returns the ids of all selected rows.
103
+ */
104
+ getSelectedRowIds: () => Array<string>
101
105
  /**
102
106
  * Checks whether every selectable row on the current page is selected.
103
107
  */
@@ -143,9 +147,15 @@ export interface Table_RowSelection<
143
147
  /**
144
148
  * Selects/deselects all rows on the current page.
145
149
  */
146
- toggleAllPageRowsSelected: (value?: boolean) => void
150
+ toggleAllPageRowsSelected: (
151
+ value?: boolean,
152
+ opts?: { deselectAll?: boolean },
153
+ ) => void
147
154
  /**
148
155
  * Selects/deselects all rows in the table.
149
156
  */
150
- toggleAllRowsSelected: (value?: boolean) => void
157
+ toggleAllRowsSelected: (
158
+ value?: boolean,
159
+ opts?: { deselectAll?: boolean },
160
+ ) => void
151
161
  }