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

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 +23 -19
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
  173. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +3 -3
  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 +4 -4
  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 +32 -31
  470. package/src/features/column-grouping/columnGroupingFeature.utils.ts +2 -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
@@ -20,111 +20,75 @@ import {
20
20
  table_setExpanded,
21
21
  table_toggleAllRowsExpanded,
22
22
  } from './rowExpandingFeature.utils'
23
- import type { RowData } from '../../types/type-utils'
24
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
25
- // import type {
26
- // CachedRowModel_Expanded,
27
- // CreateRowModel_Expanded,
28
- // Row_RowExpanding,
29
- // TableOptions_RowExpanding,
30
- // TableState_RowExpanding,
31
- // Table_RowExpanding,
32
- // } from './rowExpandingFeature.types'
33
-
34
- export interface RowExpandingFeatureConstructors<
35
- TFeatures extends TableFeatures,
36
- TData extends RowData,
37
- > {
38
- // CachedRowModel: CachedRowModel_Expanded<TFeatures, TData>
39
- // CreateRowModels: CreateRowModel_Expanded<TFeatures, TData>
40
- // Row: Row_RowExpanding
41
- // Table: Table_RowExpanding<TFeatures, TData>
42
- // TableOptions: TableOptions_RowExpanding<TFeatures, TData>
43
- // TableState: TableState_RowExpanding
44
- }
23
+ import type { TableFeature } from '../../types/TableFeatures'
45
24
 
46
25
  /**
47
- * Creates the stock row expanding feature.
48
- *
49
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
26
+ * Feature that adds row expansion state and APIs for expandable row trees.
50
27
  */
51
- export function constructRowExpandingFeature<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData,
54
- >(): TableFeature<RowExpandingFeatureConstructors<TFeatures, TData>> {
55
- return {
56
- getInitialState: (initialState) => {
57
- return {
58
- expanded: getDefaultExpandedState(),
59
- ...initialState,
60
- }
61
- },
28
+ export const rowExpandingFeature: TableFeature = {
29
+ getInitialState: (initialState) => {
30
+ return {
31
+ expanded: getDefaultExpandedState(),
32
+ ...initialState,
33
+ }
34
+ },
62
35
 
63
- getDefaultTableOptions: (table) => {
64
- return {
65
- onExpandedChange: makeStateUpdater('expanded', table),
66
- paginateExpandedRows: true,
67
- }
68
- },
36
+ getDefaultTableOptions: (table) => {
37
+ return {
38
+ onExpandedChange: makeStateUpdater('expanded', table),
39
+ paginateExpandedRows: true,
40
+ }
41
+ },
69
42
 
70
- assignRowPrototype: (prototype, table) => {
71
- assignPrototypeAPIs('rowExpandingFeature', prototype, table, {
72
- row_toggleExpanded: {
73
- fn: (row, expanded) => row_toggleExpanded(row, expanded),
74
- },
75
- row_getIsExpanded: {
76
- fn: (row) => row_getIsExpanded(row),
77
- },
78
- row_getCanExpand: {
79
- fn: (row) => row_getCanExpand(row),
80
- },
81
- row_getIsAllParentsExpanded: {
82
- fn: (row) => row_getIsAllParentsExpanded(row),
83
- },
84
- row_getToggleExpandedHandler: {
85
- fn: (row) => row_getToggleExpandedHandler(row),
86
- },
87
- })
88
- },
43
+ assignRowPrototype: (prototype, table) => {
44
+ assignPrototypeAPIs('rowExpandingFeature', prototype, table, {
45
+ row_toggleExpanded: {
46
+ fn: (row, expanded) => row_toggleExpanded(row, expanded),
47
+ },
48
+ row_getIsExpanded: {
49
+ fn: (row) => row_getIsExpanded(row),
50
+ },
51
+ row_getCanExpand: {
52
+ fn: (row) => row_getCanExpand(row),
53
+ },
54
+ row_getIsAllParentsExpanded: {
55
+ fn: (row) => row_getIsAllParentsExpanded(row),
56
+ },
57
+ row_getToggleExpandedHandler: {
58
+ fn: (row) => row_getToggleExpandedHandler(row),
59
+ },
60
+ })
61
+ },
89
62
 
90
- constructTableAPIs: (table) => {
91
- assignTableAPIs('rowExpandingFeature', table, {
92
- table_autoResetExpanded: {
93
- fn: () => table_autoResetExpanded(table),
94
- },
95
- table_setExpanded: {
96
- fn: (updater) => table_setExpanded(table, updater),
97
- },
98
- table_toggleAllRowsExpanded: {
99
- fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),
100
- },
101
- table_resetExpanded: {
102
- fn: (defaultState) => table_resetExpanded(table, defaultState),
103
- },
104
- table_getCanSomeRowsExpand: {
105
- fn: () => table_getCanSomeRowsExpand(table),
106
- },
107
- table_getToggleAllRowsExpandedHandler: {
108
- fn: () => table_getToggleAllRowsExpandedHandler(table),
109
- },
110
- table_getIsSomeRowsExpanded: {
111
- fn: () => table_getIsSomeRowsExpanded(table),
112
- },
113
- table_getIsAllRowsExpanded: {
114
- fn: () => table_getIsAllRowsExpanded(table),
115
- },
116
- table_getExpandedDepth: {
117
- fn: () => table_getExpandedDepth(table),
118
- },
119
- })
120
- },
121
- }
63
+ constructTableAPIs: (table) => {
64
+ assignTableAPIs('rowExpandingFeature', table, {
65
+ table_autoResetExpanded: {
66
+ fn: () => table_autoResetExpanded(table),
67
+ },
68
+ table_setExpanded: {
69
+ fn: (updater) => table_setExpanded(table, updater),
70
+ },
71
+ table_toggleAllRowsExpanded: {
72
+ fn: (expanded) => table_toggleAllRowsExpanded(table, expanded),
73
+ },
74
+ table_resetExpanded: {
75
+ fn: (defaultState) => table_resetExpanded(table, defaultState),
76
+ },
77
+ table_getCanSomeRowsExpand: {
78
+ fn: () => table_getCanSomeRowsExpand(table),
79
+ },
80
+ table_getToggleAllRowsExpandedHandler: {
81
+ fn: () => table_getToggleAllRowsExpandedHandler(table),
82
+ },
83
+ table_getIsSomeRowsExpanded: {
84
+ fn: () => table_getIsSomeRowsExpanded(table),
85
+ },
86
+ table_getIsAllRowsExpanded: {
87
+ fn: () => table_getIsAllRowsExpanded(table),
88
+ },
89
+ table_getExpandedDepth: {
90
+ fn: () => table_getExpandedDepth(table),
91
+ },
92
+ })
93
+ },
122
94
  }
123
-
124
- /**
125
- * The stock row expanding feature.
126
- *
127
- * Register this feature to add expanded row state, row expansion APIs, and
128
- * helpers for deriving expanded row models and expansion depth.
129
- */
130
- export const rowExpandingFeature = constructRowExpandingFeature()
@@ -35,8 +35,8 @@ export interface Row_RowExpanding {
35
35
  }
36
36
 
37
37
  export interface TableOptions_RowExpanding<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
38
+ in out TFeatures extends TableFeatures,
39
+ in out TData extends RowData,
40
40
  > {
41
41
  /**
42
42
  * Enables automatic expanded-state resets when page-altering table state changes.
@@ -71,8 +71,8 @@ export interface TableOptions_RowExpanding<
71
71
  }
72
72
 
73
73
  export interface Table_RowExpanding<
74
- TFeatures extends TableFeatures,
75
- TData extends RowData,
74
+ in out TFeatures extends TableFeatures,
75
+ in out TData extends RowData,
76
76
  > {
77
77
  autoResetExpanded: () => void
78
78
  /**
@@ -112,8 +112,8 @@ export interface Table_RowExpanding<
112
112
  }
113
113
 
114
114
  export interface Table_RowModels_Expanded<
115
- TFeatures extends TableFeatures,
116
- TData extends RowData,
115
+ in out TFeatures extends TableFeatures,
116
+ in out TData extends RowData,
117
117
  > {
118
118
  /**
119
119
  * Resolves the row model after expanded rows have been flattened into view.
@@ -125,23 +125,9 @@ export interface Table_RowModels_Expanded<
125
125
  getPreExpandedRowModel: () => RowModel<TFeatures, TData>
126
126
  }
127
127
 
128
- export interface CreateRowModel_Expanded<
129
- TFeatures extends TableFeatures,
130
- TData extends RowData,
131
- > {
132
- /**
133
- * Factory used to retrieve the expanded row model. If this function is not
134
- * provided, the table will not expand rows. To use client-side expansion,
135
- * pass `createExpandedRowModel()` or implement your own factory.
136
- */
137
- expandedRowModel?: (
138
- table: Table<TFeatures, TData>,
139
- ) => () => RowModel<TFeatures, TData>
140
- }
141
-
142
128
  export interface CachedRowModel_Expanded<
143
- TFeatures extends TableFeatures,
144
- TData extends RowData,
129
+ in out TFeatures extends TableFeatures,
130
+ in out TData extends RowData,
145
131
  > {
146
132
  expandedRowModel: () => RowModel<TFeatures, TData>
147
133
  }
@@ -1,4 +1,4 @@
1
- import { cloneState } from '../../utils'
1
+ import { cloneState, hasOwn, makeObjectMap } from '../../utils'
2
2
  import type { RowData, Updater } from '../../types/type-utils'
3
3
  import type { TableFeatures } from '../../types/TableFeatures'
4
4
  import type { Table_Internal } from '../../types/Table'
@@ -20,7 +20,7 @@ import type {
20
20
  * ```
21
21
  */
22
22
  export function getDefaultExpandedState(): ExpandedState {
23
- return {}
23
+ return makeObjectMap()
24
24
  }
25
25
 
26
26
  /**
@@ -85,7 +85,7 @@ export function table_toggleAllRowsExpanded<
85
85
  if (expanded ?? !table_getIsAllRowsExpanded(table)) {
86
86
  table_setExpanded(table, true)
87
87
  } else {
88
- table_setExpanded(table, {})
88
+ table_setExpanded(table, makeObjectMap())
89
89
  }
90
90
  }
91
91
 
@@ -105,9 +105,17 @@ export function table_resetExpanded<
105
105
  TFeatures extends TableFeatures,
106
106
  TData extends RowData,
107
107
  >(table: Table_Internal<TFeatures, TData>, defaultState?: boolean) {
108
+ const initialExpanded = table.initialState.expanded
108
109
  table_setExpanded(
109
110
  table,
110
- defaultState ? {} : cloneState(table.initialState.expanded ?? {}),
111
+ defaultState
112
+ ? makeObjectMap()
113
+ : initialExpanded === true
114
+ ? true
115
+ : Object.assign(
116
+ makeObjectMap<boolean | undefined>(),
117
+ cloneState(initialExpanded ?? {}),
118
+ ),
111
119
  )
112
120
  }
113
121
 
@@ -252,29 +260,34 @@ export function row_toggleExpanded<
252
260
  TData extends RowData,
253
261
  >(row: Row<TFeatures, TData>, expanded?: boolean) {
254
262
  table_setExpanded(row.table, (old) => {
255
- const exists = old === true ? true : !!old[row.id]
263
+ const exists = old === true ? true : isExpandedRowId(old, row.id)
256
264
 
257
- let oldExpanded: ExpandedStateList = {}
265
+ let oldExpanded: ExpandedStateList = makeObjectMap()
258
266
 
259
267
  if (old === true) {
260
268
  Object.keys(row.table.getRowModel().rowsById).forEach((rowId) => {
261
269
  oldExpanded[rowId] = true
262
270
  })
263
271
  } else {
264
- oldExpanded = old
272
+ oldExpanded = Object.assign(makeObjectMap<boolean | undefined>(), old)
265
273
  }
266
274
 
267
275
  expanded = expanded ?? !exists
268
276
 
269
277
  if (!exists && expanded) {
270
- return {
271
- ...oldExpanded,
272
- [row.id]: true,
273
- }
278
+ oldExpanded[row.id] = true
279
+ return oldExpanded
274
280
  }
275
281
 
276
282
  if (exists && !expanded) {
277
- const { [row.id]: _, ...rest } = oldExpanded
283
+ const rest: ExpandedStateList = makeObjectMap()
284
+ const rowIds = Object.keys(oldExpanded)
285
+ for (let i = 0; i < rowIds.length; i++) {
286
+ const rowId = rowIds[i]!
287
+ if (rowId !== row.id && oldExpanded[rowId]) {
288
+ rest[rowId] = true
289
+ }
290
+ }
278
291
  return rest
279
292
  }
280
293
 
@@ -301,7 +314,19 @@ export function row_getIsExpanded<
301
314
 
302
315
  return !!(
303
316
  row.table.options.getIsRowExpanded?.(row) ??
304
- (expanded === true || expanded[row.id])
317
+ (expanded === true || isExpandedRowId(expanded, row.id))
318
+ )
319
+ }
320
+
321
+ function isExpandedRowId(
322
+ expanded: ExpandedState | undefined,
323
+ rowId: string,
324
+ ): boolean {
325
+ return !!(
326
+ expanded &&
327
+ expanded !== true &&
328
+ hasOwn(expanded, rowId) &&
329
+ expanded[rowId]
305
330
  )
306
331
  }
307
332
 
@@ -17,7 +17,7 @@ export function createPaginatedRowModel<
17
17
  TData extends RowData = any,
18
18
  >(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
19
19
  return (_table) => {
20
- const table: Table_Internal<TFeatures, TData> = _table
20
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
21
21
  return tableMemo({
22
22
  feature: 'rowPaginationFeature',
23
23
  table,
@@ -25,7 +25,7 @@ export function createPaginatedRowModel<
25
25
  memoDeps: () => [
26
26
  table.getPrePaginatedRowModel(),
27
27
  table.atoms.pagination?.get(),
28
- table.options.paginateExpandedRows
28
+ !table.options.paginateExpandedRows
29
29
  ? table.atoms.expanded?.get()
30
30
  : undefined,
31
31
  ],
@@ -18,112 +18,78 @@ import {
18
18
  table_setPageSize,
19
19
  table_setPagination,
20
20
  } from './rowPaginationFeature.utils'
21
- import type { RowData } from '../../types/type-utils'
22
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
23
- // import type {
24
- // CachedRowModel_Paginated,
25
- // CreateRowModel_Paginated,
26
- // TableOptions_RowPagination,
27
- // TableState_RowPagination,
28
- // Table_RowPagination,
29
- // } from './rowPaginationFeature.types'
30
-
31
- export interface RowPaginationFeatureConstructors<
32
- TFeatures extends TableFeatures,
33
- TData extends RowData,
34
- > {
35
- // CachedRowModel: CachedRowModel_Paginated<TFeatures, TData>
36
- // CreateRowModels: CreateRowModel_Paginated<TFeatures, TData>
37
- // Table: Table_RowPagination<TFeatures, TData>
38
- // TableOptions: TableOptions_RowPagination<TFeatures, TData>
39
- // TableState: TableState_RowPagination
40
- }
21
+ import type { TableFeature } from '../../types/TableFeatures'
41
22
 
42
23
  /**
43
- * Creates the stock row pagination feature.
44
- *
45
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
24
+ * Feature that adds pagination state and table APIs for page navigation.
46
25
  */
47
- export function constructRowPaginationFeature<
48
- TFeatures extends TableFeatures,
49
- TData extends RowData,
50
- >(): TableFeature<RowPaginationFeatureConstructors<TFeatures, TData>> {
51
- return {
52
- getInitialState: (initialState) => {
53
- return {
54
- ...initialState,
55
- pagination: {
56
- ...getDefaultPaginationState(),
57
- ...initialState.pagination,
58
- },
59
- }
60
- },
26
+ export const rowPaginationFeature: TableFeature = {
27
+ getInitialState: (initialState) => {
28
+ return {
29
+ ...initialState,
30
+ pagination: {
31
+ ...getDefaultPaginationState(),
32
+ ...initialState.pagination,
33
+ },
34
+ }
35
+ },
61
36
 
62
- getDefaultTableOptions: (table) => {
63
- return {
64
- onPaginationChange: makeStateUpdater('pagination', table),
65
- }
66
- },
37
+ getDefaultTableOptions: (table) => {
38
+ return {
39
+ onPaginationChange: makeStateUpdater('pagination', table),
40
+ }
41
+ },
67
42
 
68
- constructTableAPIs: (table) => {
69
- assignTableAPIs('rowPaginationFeature', table, {
70
- table_autoResetPageIndex: {
71
- fn: () => table_autoResetPageIndex(table),
72
- },
73
- table_setPagination: {
74
- fn: (updater) => table_setPagination(table, updater),
75
- },
76
- table_resetPagination: {
77
- fn: (defaultState) => table_resetPagination(table, defaultState),
78
- },
79
- table_setPageIndex: {
80
- fn: (updater) => table_setPageIndex(table, updater),
81
- },
82
- table_resetPageIndex: {
83
- fn: (defaultState) => table_resetPageIndex(table, defaultState),
84
- },
85
- table_setPageSize: {
86
- fn: (updater) => table_setPageSize(table, updater),
87
- },
88
- table_getPageCount: {
89
- fn: () => table_getPageCount(table),
90
- },
91
- table_resetPageSize: {
92
- fn: (defaultState) => table_resetPageSize(table, defaultState),
93
- },
94
- table_getPageOptions: {
95
- fn: () => table_getPageOptions(table),
96
- },
97
- table_getCanPreviousPage: {
98
- fn: () => table_getCanPreviousPage(table),
99
- },
100
- table_getCanNextPage: {
101
- fn: () => table_getCanNextPage(table),
102
- },
103
- table_previousPage: {
104
- fn: () => table_previousPage(table),
105
- },
106
- table_nextPage: {
107
- fn: () => table_nextPage(table),
108
- },
109
- table_firstPage: {
110
- fn: () => table_firstPage(table),
111
- },
112
- table_lastPage: {
113
- fn: () => table_lastPage(table),
114
- },
115
- table_getRowCount: {
116
- fn: () => table_getRowCount(table),
117
- },
118
- })
119
- },
120
- }
43
+ constructTableAPIs: (table) => {
44
+ assignTableAPIs('rowPaginationFeature', table, {
45
+ table_autoResetPageIndex: {
46
+ fn: () => table_autoResetPageIndex(table),
47
+ },
48
+ table_setPagination: {
49
+ fn: (updater) => table_setPagination(table, updater),
50
+ },
51
+ table_resetPagination: {
52
+ fn: (defaultState) => table_resetPagination(table, defaultState),
53
+ },
54
+ table_setPageIndex: {
55
+ fn: (updater) => table_setPageIndex(table, updater),
56
+ },
57
+ table_resetPageIndex: {
58
+ fn: (defaultState) => table_resetPageIndex(table, defaultState),
59
+ },
60
+ table_setPageSize: {
61
+ fn: (updater) => table_setPageSize(table, updater),
62
+ },
63
+ table_getPageCount: {
64
+ fn: () => table_getPageCount(table),
65
+ },
66
+ table_resetPageSize: {
67
+ fn: (defaultState) => table_resetPageSize(table, defaultState),
68
+ },
69
+ table_getPageOptions: {
70
+ fn: () => table_getPageOptions(table),
71
+ },
72
+ table_getCanPreviousPage: {
73
+ fn: () => table_getCanPreviousPage(table),
74
+ },
75
+ table_getCanNextPage: {
76
+ fn: () => table_getCanNextPage(table),
77
+ },
78
+ table_previousPage: {
79
+ fn: () => table_previousPage(table),
80
+ },
81
+ table_nextPage: {
82
+ fn: () => table_nextPage(table),
83
+ },
84
+ table_firstPage: {
85
+ fn: () => table_firstPage(table),
86
+ },
87
+ table_lastPage: {
88
+ fn: () => table_lastPage(table),
89
+ },
90
+ table_getRowCount: {
91
+ fn: () => table_getRowCount(table),
92
+ },
93
+ })
94
+ },
121
95
  }
122
-
123
- /**
124
- * The stock row pagination feature.
125
- *
126
- * Register this feature to add pagination state, page navigation APIs, and
127
- * pagination-aware row model helpers to a table.
128
- */
129
- export const rowPaginationFeature = constructRowPaginationFeature()
@@ -42,8 +42,8 @@ export interface PaginationDefaultOptions {
42
42
  }
43
43
 
44
44
  export interface Table_RowPagination<
45
- TFeatures extends TableFeatures,
46
- TData extends RowData,
45
+ in out TFeatures extends TableFeatures,
46
+ in out TData extends RowData,
47
47
  > {
48
48
  _autoResetPageIndex: () => void
49
49
  /**
@@ -117,8 +117,8 @@ export interface Table_RowPagination<
117
117
  }
118
118
 
119
119
  export interface Table_RowModels_Paginated<
120
- TFeatures extends TableFeatures,
121
- TData extends RowData,
120
+ in out TFeatures extends TableFeatures,
121
+ in out TData extends RowData,
122
122
  > {
123
123
  /**
124
124
  * Resolves the row model after pagination has sliced the current page.
@@ -130,23 +130,9 @@ export interface Table_RowModels_Paginated<
130
130
  getPrePaginatedRowModel: () => RowModel<TFeatures, TData>
131
131
  }
132
132
 
133
- export interface CreateRowModel_Paginated<
134
- TFeatures extends TableFeatures,
135
- TData extends RowData,
136
- > {
137
- /**
138
- * Factory used to retrieve the paginated row model. If using server-side
139
- * pagination, this is not required. To use client-side pagination, pass
140
- * `createPaginatedRowModel()` or implement your own factory.
141
- */
142
- paginatedRowModel?: (
143
- table: Table<TFeatures, TData>,
144
- ) => () => RowModel<TFeatures, TData>
145
- }
146
-
147
133
  export interface CachedRowModel_Paginated<
148
- TFeatures extends TableFeatures,
149
- TData extends RowData,
134
+ in out TFeatures extends TableFeatures,
135
+ in out TData extends RowData,
150
136
  > {
151
137
  paginatedRowModel: () => RowModel<TFeatures, TData>
152
138
  }