@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.11

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 (454) hide show
  1. package/dist/core/cells/constructCell.d.cts +1 -1
  2. package/dist/core/cells/constructCell.d.ts +1 -1
  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 +4 -4
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
  13. package/dist/core/columns/constructColumn.d.cts +1 -1
  14. package/dist/core/columns/constructColumn.d.ts +1 -1
  15. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  16. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  17. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  18. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  19. package/dist/core/columns/coreColumnsFeature.js +60 -68
  20. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.types.d.cts +5 -5
  22. package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -5
  23. package/dist/core/columns/coreColumnsFeature.utils.d.cts +1 -1
  24. package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -1
  25. package/dist/core/coreFeatures.cjs.map +1 -1
  26. package/dist/core/coreFeatures.d.cts +1 -1
  27. package/dist/core/coreFeatures.d.ts +1 -1
  28. package/dist/core/coreFeatures.js.map +1 -1
  29. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  30. package/dist/core/headers/buildHeaderGroups.d.cts +1 -1
  31. package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
  32. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  33. package/dist/core/headers/constructHeader.d.cts +1 -1
  34. package/dist/core/headers/constructHeader.d.ts +1 -1
  35. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  36. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  37. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  38. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  39. package/dist/core/headers/coreHeadersFeature.js +45 -53
  40. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  41. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  42. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  43. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  44. package/dist/core/headers/coreHeadersFeature.utils.d.cts +1 -1
  45. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -1
  46. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  47. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  48. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  49. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  50. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  51. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  52. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  53. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +5 -15
  54. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +5 -15
  55. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  56. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +2 -2
  58. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +2 -2
  59. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  60. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  61. package/dist/core/row-models/createCoreRowModel.cjs +1 -2
  62. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  63. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  64. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  65. package/dist/core/row-models/createCoreRowModel.js +1 -2
  66. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  67. package/dist/core/rows/constructRow.d.cts +1 -1
  68. package/dist/core/rows/constructRow.d.ts +1 -1
  69. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  70. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  71. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  72. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  73. package/dist/core/rows/coreRowsFeature.js +28 -36
  74. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  75. package/dist/core/rows/coreRowsFeature.types.d.cts +5 -5
  76. package/dist/core/rows/coreRowsFeature.types.d.ts +5 -5
  77. package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
  78. package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -1
  79. package/dist/core/table/constructTable.cjs +21 -6
  80. package/dist/core/table/constructTable.cjs.map +1 -1
  81. package/dist/core/table/constructTable.d.cts +1 -1
  82. package/dist/core/table/constructTable.d.ts +1 -1
  83. package/dist/core/table/constructTable.js +21 -6
  84. package/dist/core/table/constructTable.js.map +1 -1
  85. package/dist/core/table/coreTablesFeature.cjs +7 -16
  86. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  87. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  88. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  89. package/dist/core/table/coreTablesFeature.js +8 -16
  90. package/dist/core/table/coreTablesFeature.js.map +1 -1
  91. package/dist/core/table/coreTablesFeature.types.d.cts +27 -15
  92. package/dist/core/table/coreTablesFeature.types.d.ts +27 -15
  93. package/dist/core/table/coreTablesFeature.utils.cjs +1 -2
  94. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  95. package/dist/core/table/coreTablesFeature.utils.d.cts +1 -1
  96. package/dist/core/table/coreTablesFeature.utils.d.ts +1 -1
  97. package/dist/core/table/coreTablesFeature.utils.js +1 -2
  98. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  99. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  100. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  101. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  102. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  103. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  104. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  105. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  106. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  107. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  108. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  109. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
  111. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  112. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  113. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  114. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  115. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  116. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  117. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  118. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  119. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  120. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  121. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  125. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  126. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  127. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  128. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  129. package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
  130. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  131. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  132. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  133. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  134. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  135. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +2 -2
  136. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +2 -2
  137. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  139. package/dist/features/column-filtering/createFilteredRowModel.cjs +4 -2
  140. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  141. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  142. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  143. package/dist/features/column-filtering/createFilteredRowModel.js +4 -2
  144. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  145. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  146. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  147. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  148. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  149. package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
  150. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  151. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +23 -19
  152. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
  153. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +1 -1
  154. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -1
  155. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -2
  156. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  157. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  158. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  159. package/dist/features/column-grouping/createGroupedRowModel.js +5 -2
  160. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  161. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  162. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  163. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  164. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  165. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  166. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  167. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  168. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  169. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +1 -1
  170. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -1
  171. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  172. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  173. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  174. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  175. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  176. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  177. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  178. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  179. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  180. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +13 -13
  181. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +13 -13
  182. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  183. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  184. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  185. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  186. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  187. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  188. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  189. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +1 -1
  190. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -1
  191. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  192. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  193. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  194. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  195. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  196. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  197. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +4 -4
  198. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +4 -4
  199. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  200. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  201. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  202. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  203. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  204. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  205. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  206. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  207. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +1 -1
  208. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -1
  209. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  210. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  211. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  212. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  213. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  214. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  215. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +3 -3
  216. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +3 -3
  217. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  218. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +7 -5
  219. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +7 -5
  220. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  221. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  222. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  223. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  224. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  225. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  226. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  227. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  228. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  229. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  230. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  231. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  232. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  233. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +1 -1
  234. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -1
  235. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  236. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  237. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  238. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  239. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  240. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  241. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  242. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  243. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  244. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  245. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  246. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  247. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +1 -1
  248. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -1
  249. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  250. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  251. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  252. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  253. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  254. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  255. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  256. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  257. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +1 -1
  258. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
  259. package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
  260. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  261. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  262. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  263. package/dist/features/row-selection/rowSelectionFeature.js +66 -77
  264. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  265. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +2 -2
  266. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -2
  267. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +10 -6
  268. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  269. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
  270. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
  271. package/dist/features/row-selection/rowSelectionFeature.utils.js +10 -6
  272. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  273. package/dist/features/row-sorting/createSortedRowModel.cjs +4 -2
  274. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  275. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  276. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  277. package/dist/features/row-sorting/createSortedRowModel.js +4 -2
  278. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  279. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  280. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  281. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  282. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  283. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  284. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  285. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +23 -20
  286. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +23 -20
  287. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  288. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  289. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +1 -1
  290. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -1
  291. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  292. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  293. package/dist/fns/aggregationFns.cjs +18 -18
  294. package/dist/fns/aggregationFns.cjs.map +1 -1
  295. package/dist/fns/aggregationFns.d.cts +21 -19
  296. package/dist/fns/aggregationFns.d.ts +21 -19
  297. package/dist/fns/aggregationFns.js +18 -18
  298. package/dist/fns/aggregationFns.js.map +1 -1
  299. package/dist/fns/filterFns.cjs +51 -65
  300. package/dist/fns/filterFns.cjs.map +1 -1
  301. package/dist/fns/filterFns.d.cts +82 -28
  302. package/dist/fns/filterFns.d.ts +82 -28
  303. package/dist/fns/filterFns.js +51 -65
  304. package/dist/fns/filterFns.js.map +1 -1
  305. package/dist/fns/sortFns.cjs +18 -6
  306. package/dist/fns/sortFns.cjs.map +1 -1
  307. package/dist/fns/sortFns.d.cts +15 -13
  308. package/dist/fns/sortFns.d.ts +15 -13
  309. package/dist/fns/sortFns.js +18 -6
  310. package/dist/fns/sortFns.js.map +1 -1
  311. package/dist/helpers/metaHelper.cjs +30 -0
  312. package/dist/helpers/metaHelper.cjs.map +1 -0
  313. package/dist/helpers/metaHelper.d.cts +26 -0
  314. package/dist/helpers/metaHelper.d.ts +26 -0
  315. package/dist/helpers/metaHelper.js +29 -0
  316. package/dist/helpers/metaHelper.js.map +1 -0
  317. package/dist/helpers/tableFeatures.cjs +31 -3
  318. package/dist/helpers/tableFeatures.cjs.map +1 -1
  319. package/dist/helpers/tableFeatures.d.cts +33 -5
  320. package/dist/helpers/tableFeatures.d.ts +33 -5
  321. package/dist/helpers/tableFeatures.js +31 -3
  322. package/dist/helpers/tableFeatures.js.map +1 -1
  323. package/dist/index.cjs +2 -20
  324. package/dist/index.d.cts +44 -43
  325. package/dist/index.d.ts +44 -43
  326. package/dist/index.js +22 -21
  327. package/dist/store-reactivity-bindings.cjs +1 -1
  328. package/dist/store-reactivity-bindings.cjs.map +1 -1
  329. package/dist/store-reactivity-bindings.d.cts +1 -1
  330. package/dist/store-reactivity-bindings.d.ts +1 -1
  331. package/dist/store-reactivity-bindings.js +1 -1
  332. package/dist/store-reactivity-bindings.js.map +1 -1
  333. package/dist/types/Cell.d.cts +8 -10
  334. package/dist/types/Cell.d.ts +8 -10
  335. package/dist/types/Column.d.cts +19 -12
  336. package/dist/types/Column.d.ts +19 -12
  337. package/dist/types/ColumnDef.d.cts +30 -11
  338. package/dist/types/ColumnDef.d.ts +30 -11
  339. package/dist/types/Header.d.cts +10 -11
  340. package/dist/types/Header.d.ts +10 -11
  341. package/dist/types/HeaderGroup.d.cts +4 -9
  342. package/dist/types/HeaderGroup.d.ts +4 -9
  343. package/dist/types/Row.d.cts +15 -11
  344. package/dist/types/Row.d.ts +15 -11
  345. package/dist/types/RowModel.d.cts +19 -19
  346. package/dist/types/RowModel.d.ts +19 -19
  347. package/dist/types/RowModelFns.d.cts +9 -9
  348. package/dist/types/RowModelFns.d.ts +9 -9
  349. package/dist/types/Table.d.cts +52 -24
  350. package/dist/types/Table.d.ts +52 -24
  351. package/dist/types/TableFeatures.d.cts +178 -41
  352. package/dist/types/TableFeatures.d.ts +178 -41
  353. package/dist/types/TableOptions.d.cts +31 -10
  354. package/dist/types/TableOptions.d.ts +31 -10
  355. package/dist/types/TableState.d.cts +22 -13
  356. package/dist/types/TableState.d.ts +22 -13
  357. package/dist/utils.cjs.map +1 -1
  358. package/dist/utils.d.cts +8 -3
  359. package/dist/utils.d.ts +8 -3
  360. package/dist/utils.js.map +1 -1
  361. package/package.json +1 -1
  362. package/skills/column-definitions/SKILL.md +3 -6
  363. package/skills/column-layout/SKILL.md +0 -2
  364. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  365. package/skills/filtering/SKILL.md +60 -42
  366. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  367. package/skills/grouping/SKILL.md +49 -54
  368. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  369. package/skills/pagination/SKILL.md +22 -20
  370. package/skills/row-expanding/SKILL.md +33 -25
  371. package/skills/row-pinning/SKILL.md +11 -7
  372. package/skills/row-selection/SKILL.md +0 -3
  373. package/skills/setup/SKILL.md +55 -65
  374. package/skills/sorting/SKILL.md +21 -21
  375. package/skills/state-management/SKILL.md +40 -25
  376. package/src/core/cells/coreCellsFeature.ts +17 -39
  377. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  378. package/src/core/columns/coreColumnsFeature.ts +56 -83
  379. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  380. package/src/core/coreFeatures.ts +1 -1
  381. package/src/core/headers/buildHeaderGroups.ts +1 -1
  382. package/src/core/headers/coreHeadersFeature.ts +42 -64
  383. package/src/core/headers/coreHeadersFeature.types.ts +10 -10
  384. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  385. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  386. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  387. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  388. package/src/core/row-models/createCoreRowModel.ts +5 -4
  389. package/src/core/rows/coreRowsFeature.ts +45 -72
  390. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  391. package/src/core/table/constructTable.ts +50 -13
  392. package/src/core/table/coreTablesFeature.ts +13 -35
  393. package/src/core/table/coreTablesFeature.types.ts +40 -17
  394. package/src/core/table/coreTablesFeature.utils.ts +10 -5
  395. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  396. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  397. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  398. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  399. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  400. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  401. package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
  402. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  403. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  404. package/src/features/column-filtering/createFilteredRowModel.ts +5 -7
  405. package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
  406. package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
  407. package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
  408. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  409. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  410. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  411. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  412. package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
  413. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  414. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  415. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  416. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  417. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  418. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  419. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
  420. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  421. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  422. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  423. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  424. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  425. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  426. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  427. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  428. package/src/features/row-selection/rowSelectionFeature.ts +103 -135
  429. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -4
  430. package/src/features/row-selection/rowSelectionFeature.utils.ts +12 -7
  431. package/src/features/row-sorting/createSortedRowModel.ts +6 -6
  432. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  433. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  434. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  435. package/src/fns/aggregationFns.ts +26 -42
  436. package/src/fns/filterFns.ts +231 -264
  437. package/src/fns/sortFns.ts +51 -29
  438. package/src/helpers/metaHelper.ts +24 -0
  439. package/src/helpers/tableFeatures.ts +36 -5
  440. package/src/index.ts +1 -0
  441. package/src/store-reactivity-bindings.ts +1 -1
  442. package/src/types/Cell.ts +10 -30
  443. package/src/types/Column.ts +21 -56
  444. package/src/types/ColumnDef.ts +48 -49
  445. package/src/types/Header.ts +10 -32
  446. package/src/types/HeaderGroup.ts +4 -15
  447. package/src/types/Row.ts +18 -39
  448. package/src/types/RowModel.ts +24 -114
  449. package/src/types/RowModelFns.ts +12 -31
  450. package/src/types/Table.ts +85 -80
  451. package/src/types/TableFeatures.ts +253 -108
  452. package/src/types/TableOptions.ts +70 -60
  453. package/src/types/TableState.ts +20 -73
  454. package/src/utils.ts +16 -6
@@ -3,15 +3,37 @@ import type { Atom, ReadonlyAtom, ReadonlyStore } from '@tanstack/store'
3
3
  import type { CoreFeatures } from '../coreFeatures'
4
4
  import type { RowModelFns } from '../../types/RowModelFns'
5
5
  import type { RowData, Updater } from '../../types/type-utils'
6
- import type { TableFeatures } from '../../types/TableFeatures'
7
- import type { CachedRowModels, CreateRowModels_All } from '../../types/RowModel'
6
+ import type {
7
+ IsAny,
8
+ TableFeatures,
9
+ ValidateFeatureSlots,
10
+ } from '../../types/TableFeatures'
11
+ import type { CachedRowModels } from '../../types/RowModel'
8
12
  import type { TableOptions } from '../../types/TableOptions'
9
13
  import type { TableState, TableState_All } from '../../types/TableState'
10
14
 
11
15
  export interface TableMeta<
16
+ in out TFeatures extends TableFeatures,
17
+ in out TData extends RowData,
18
+ > {}
19
+
20
+ /**
21
+ * Resolves the type of `options.meta` for a feature set.
22
+ *
23
+ * When the features object declares a `tableMeta` type-only slot
24
+ * (`tableFeatures({ ..., tableMeta: {} as MyTableMeta })`), that type wins.
25
+ * Otherwise this falls back to the global declaration-merged `TableMeta`
26
+ * interface.
27
+ */
28
+ export type ExtractTableMeta<
12
29
  TFeatures extends TableFeatures,
13
30
  TData extends RowData,
14
- > {}
31
+ > =
32
+ IsAny<TFeatures> extends true
33
+ ? TableMeta<TFeatures, TData>
34
+ : TFeatures extends { tableMeta: infer TMeta extends object }
35
+ ? TMeta
36
+ : TableMeta<TFeatures, TData>
15
37
 
16
38
  /**
17
39
  * A map of writable atoms, one per `TableState` slice. These are the internal
@@ -62,21 +84,19 @@ export type ExternalAtoms_All = Partial<{
62
84
  }>
63
85
 
64
86
  export interface TableOptions_Table<
65
- TFeatures extends TableFeatures,
66
- TData extends RowData,
87
+ in out TFeatures extends TableFeatures,
88
+ in out TData extends RowData,
67
89
  > {
68
90
  /**
69
91
  * The feature modules registered on this table instance.
70
92
  *
71
93
  * Feature registration controls which state slices, options, and prototype
72
- * APIs are available.
94
+ * APIs are available. This object also carries the table's row model
95
+ * factories (`sortedRowModel`, `filteredRowModel`, etc.), row model function
96
+ * registries (`sortFns`, `filterFns`, `aggregationFns`), and type-only meta
97
+ * slots (`tableMeta`, `columnMeta`).
73
98
  */
74
- readonly features: TFeatures
75
- /**
76
- * Row model factories used by features such as filtering, grouping, sorting,
77
- * expansion, and pagination.
78
- */
79
- readonly rowModels?: CreateRowModels_All<TFeatures, TData>
99
+ readonly features: TFeatures & ValidateFeatureSlots<TFeatures>
80
100
  /**
81
101
  * Optionally, provide your own external writable atoms for individual state slices.
82
102
  * When an atom is provided for a given slice, it takes precedence over `options.state[key]`
@@ -116,8 +136,11 @@ export interface TableOptions_Table<
116
136
  ) => TableOptions<TFeatures, TData>
117
137
  /**
118
138
  * You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
139
+ *
140
+ * Declare its type per-table via the `tableMeta` type-only slot on the
141
+ * `features` option, or globally via declaration merging on `TableMeta`.
119
142
  */
120
- readonly meta?: TableMeta<TFeatures, TData>
143
+ readonly meta?: ExtractTableMeta<TFeatures, TData>
121
144
  /**
122
145
  * Optionally provide externally managed values for individual state slices.
123
146
  *
@@ -129,8 +152,8 @@ export interface TableOptions_Table<
129
152
  }
130
153
 
131
154
  export interface Table_CoreProperties<
132
- TFeatures extends TableFeatures,
133
- TData extends RowData,
155
+ in out TFeatures extends TableFeatures,
156
+ in out TData extends RowData,
134
157
  > {
135
158
  /**
136
159
  * Table reactivity bindings for interacting with TanStack Store.
@@ -197,8 +220,8 @@ export interface Table_CoreProperties<
197
220
  }
198
221
 
199
222
  export interface Table_Table<
200
- TFeatures extends TableFeatures,
201
- TData extends RowData,
223
+ in out TFeatures extends TableFeatures,
224
+ in out TData extends RowData,
202
225
  > extends Table_CoreProperties<TFeatures, TData> {
203
226
  /**
204
227
  * Resets the table's internal base atoms to `table.initialState`.
@@ -59,7 +59,7 @@ export function table_reset<
59
59
  const keys = Object.keys(snap) as Array<keyof typeof snap>
60
60
  for (let i = 0; i < keys.length; i++) {
61
61
  const key = keys[i]!
62
- ;(table.baseAtoms as any)[key].set(snap[key] as any)
62
+ ;(table.baseAtoms as any)[key].set(snap[key])
63
63
  }
64
64
  })
65
65
  }
@@ -83,7 +83,10 @@ export function table_mergeOptions<
83
83
  newOptions: TableOptions<TFeatures, TData>,
84
84
  ) {
85
85
  if (table.options.mergeOptions) {
86
- return table.options.mergeOptions(table.options, newOptions)
86
+ return table.options.mergeOptions(
87
+ table.options as TableOptions<TFeatures, TData>,
88
+ newOptions,
89
+ )
87
90
  }
88
91
 
89
92
  return {
@@ -110,13 +113,15 @@ export function table_setOptions<
110
113
  table: Table_Internal<TFeatures, TData>,
111
114
  updater: Updater<TableOptions<TFeatures, TData>>,
112
115
  ): void {
113
- const newOptions = functionalUpdate(updater, table.options)
116
+ const newOptions = functionalUpdate(
117
+ updater,
118
+ table.options as TableOptions<TFeatures, TData>,
119
+ )
114
120
  // table static options that should never change after initialization
115
- const { rowModels, features, atoms, initialState } = table.options
121
+ const { features, atoms, initialState } = table.options
116
122
  const mergedOptions = Object.assign(table_mergeOptions(table, newOptions), {
117
123
  // Once the table instance is created those properties should never change after initialization,
118
124
  // so we assign them back preserving the `table_mergeOptions` object reference
119
- rowModels,
120
125
  features,
121
126
  atoms,
122
127
  initialState,
@@ -11,110 +11,79 @@ import {
11
11
  table_getGlobalFacetedRowModel,
12
12
  table_getGlobalFacetedUniqueValues,
13
13
  } from './columnFacetingFeature.utils'
14
- import type { RowData } from '../../types/type-utils'
15
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16
- import type { Column_Internal } from '../../types/Column'
17
- // import type {
18
- // CachedRowModel_Faceted,
19
- // Column_ColumnFaceting,
20
- // CreateRowModel_Faceted,
21
- // } from './columnFacetingFeature.types'
22
-
23
- export interface ColumnFacetingFeatureConstructors<
24
- TFeatures extends TableFeatures,
25
- TData extends RowData,
26
- > {
27
- // CachedRowModel: CachedRowModel_Faceted<TFeatures, TData>
28
- // Column: Column_ColumnFaceting<TFeatures, TData>
29
- // CreateRowModels: CreateRowModel_Faceted<TFeatures, TData>
30
- }
14
+ import type { TableFeature } from '../../types/TableFeatures'
31
15
 
32
16
  /**
33
- * Creates the stock column faceting feature.
34
- *
35
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
17
+ * Feature that derives faceted row models, unique values, and min/max values for filters.
36
18
  */
37
- export function constructColumnFacetingFeature<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
40
- >(): TableFeature<ColumnFacetingFeatureConstructors<TFeatures, TData>> {
41
- return {
42
- assignColumnPrototype: (prototype, table) => {
43
- assignPrototypeAPIs('columnFacetingFeature', prototype, table, {
44
- column_getFacetedRowModel: {
45
- memoDeps: () => [
46
- table.getPreFilteredRowModel().rows,
47
- table.atoms.columnFilters?.get(),
48
- table.atoms.globalFilter?.get(),
49
- table.getFilteredRowModel().rows,
50
- ],
51
- fn: (column) => column_getFacetedRowModel(column, column.table),
52
- },
53
- column_getFacetedMinMaxValues: {
54
- memoDeps: (column: Column_Internal<TFeatures, TData>) => [
55
- callMemoOrStaticFn(
56
- column,
57
- 'getFacetedRowModel',
58
- column_getFacetedRowModel,
59
- column.table,
60
- ).flatRows,
61
- ],
62
- fn: (column) => column_getFacetedMinMaxValues(column, column.table),
63
- },
64
- column_getFacetedUniqueValues: {
65
- memoDeps: (column: Column_Internal<TFeatures, TData>) => [
66
- callMemoOrStaticFn(
67
- column,
68
- 'getFacetedRowModel',
69
- column_getFacetedRowModel,
70
- column.table,
71
- ).flatRows,
72
- ],
73
- fn: (column) => column_getFacetedUniqueValues(column, column.table),
74
- },
75
- })
76
- },
19
+ export const columnFacetingFeature: TableFeature = {
20
+ assignColumnPrototype: (prototype, table) => {
21
+ assignPrototypeAPIs('columnFacetingFeature', prototype, table, {
22
+ column_getFacetedRowModel: {
23
+ memoDeps: () => [
24
+ table.getPreFilteredRowModel().rows,
25
+ table.atoms.columnFilters?.get(),
26
+ table.atoms.globalFilter?.get(),
27
+ table.getFilteredRowModel().rows,
28
+ ],
29
+ fn: (column) => column_getFacetedRowModel(column, column.table),
30
+ },
31
+ column_getFacetedMinMaxValues: {
32
+ memoDeps: (column) => [
33
+ callMemoOrStaticFn(
34
+ column,
35
+ 'getFacetedRowModel',
36
+ column_getFacetedRowModel,
37
+ column.table,
38
+ ).flatRows,
39
+ ],
40
+ fn: (column) => column_getFacetedMinMaxValues(column, column.table),
41
+ },
42
+ column_getFacetedUniqueValues: {
43
+ memoDeps: (column) => [
44
+ callMemoOrStaticFn(
45
+ column,
46
+ 'getFacetedRowModel',
47
+ column_getFacetedRowModel,
48
+ column.table,
49
+ ).flatRows,
50
+ ],
51
+ fn: (column) => column_getFacetedUniqueValues(column, column.table),
52
+ },
53
+ })
54
+ },
77
55
 
78
- constructTableAPIs: (table) => {
79
- assignTableAPIs('columnFacetingFeature', table, {
80
- table_getGlobalFacetedRowModel: {
81
- memoDeps: () => [
82
- table.getPreFilteredRowModel().rows,
83
- table.atoms.columnFilters?.get(),
84
- table.atoms.globalFilter?.get(),
85
- table.getFilteredRowModel().rows,
86
- ],
87
- fn: () => table_getGlobalFacetedRowModel(table),
88
- },
89
- table_getGlobalFacetedMinMaxValues: {
90
- memoDeps: () => [
91
- callMemoOrStaticFn(
92
- table,
93
- 'getGlobalFacetedRowModel',
94
- table_getGlobalFacetedRowModel,
95
- ).flatRows,
96
- ],
97
- fn: () => table_getGlobalFacetedMinMaxValues(table),
98
- },
99
- table_getGlobalFacetedUniqueValues: {
100
- memoDeps: () => [
101
- callMemoOrStaticFn(
102
- table,
103
- 'getGlobalFacetedRowModel',
104
- table_getGlobalFacetedRowModel,
105
- ).flatRows,
106
- ],
107
- fn: () => table_getGlobalFacetedUniqueValues(table),
108
- },
109
- })
110
- },
111
- }
56
+ constructTableAPIs: (table) => {
57
+ assignTableAPIs('columnFacetingFeature', table, {
58
+ table_getGlobalFacetedRowModel: {
59
+ memoDeps: () => [
60
+ table.getPreFilteredRowModel().rows,
61
+ table.atoms.columnFilters?.get(),
62
+ table.atoms.globalFilter?.get(),
63
+ table.getFilteredRowModel().rows,
64
+ ],
65
+ fn: () => table_getGlobalFacetedRowModel(table),
66
+ },
67
+ table_getGlobalFacetedMinMaxValues: {
68
+ memoDeps: () => [
69
+ callMemoOrStaticFn(
70
+ table,
71
+ 'getGlobalFacetedRowModel',
72
+ table_getGlobalFacetedRowModel,
73
+ ).flatRows,
74
+ ],
75
+ fn: () => table_getGlobalFacetedMinMaxValues(table),
76
+ },
77
+ table_getGlobalFacetedUniqueValues: {
78
+ memoDeps: () => [
79
+ callMemoOrStaticFn(
80
+ table,
81
+ 'getGlobalFacetedRowModel',
82
+ table_getGlobalFacetedRowModel,
83
+ ).flatRows,
84
+ ],
85
+ fn: () => table_getGlobalFacetedUniqueValues(table),
86
+ },
87
+ })
88
+ },
112
89
  }
113
-
114
- /**
115
- * The stock column faceting feature.
116
- *
117
- * Register this feature to add faceted row model, unique value, and min/max
118
- * helpers for column and global filter UIs.
119
- */
120
- export const columnFacetingFeature = constructColumnFacetingFeature()
@@ -4,8 +4,8 @@ import type { TableFeatures } from '../../types/TableFeatures'
4
4
  import type { RowModel } from '../../core/row-models/coreRowModelsFeature.types'
5
5
 
6
6
  export interface Column_ColumnFaceting<
7
- TFeatures extends TableFeatures,
8
- TData extends RowData,
7
+ in out TFeatures extends TableFeatures,
8
+ in out TData extends RowData,
9
9
  > {
10
10
  /**
11
11
  * Computes min/max numeric facet values for this column.
@@ -25,65 +25,32 @@ export interface Column_ColumnFaceting<
25
25
  }
26
26
 
27
27
  export interface Table_RowModels_Faceted<
28
- TFeatures extends TableFeatures,
29
- TData extends RowData,
28
+ in out TFeatures extends TableFeatures,
29
+ in out TData extends RowData,
30
30
  > {
31
31
  /**
32
32
  * Computes min/max numeric facet values for the active faceting context.
33
33
  *
34
- * Requires a `facetedMinMaxValues` row-model factory in `rowModels`.
34
+ * Requires a `facetedMinMaxValues` row-model factory on the `features` option.
35
35
  */
36
36
  getFacetedMinMaxValues: () => undefined | [number, number]
37
37
  /**
38
38
  * Computes the row model used to derive facet values.
39
39
  *
40
- * Requires a `facetedRowModel` row-model factory in `rowModels`.
40
+ * Requires a `facetedRowModel` row-model factory on the `features` option.
41
41
  */
42
42
  getFacetedRowModel: () => RowModel<TFeatures, TData>
43
43
  /**
44
44
  * Computes unique facet values and occurrence counts.
45
45
  *
46
- * Requires a `facetedUniqueValues` row-model factory in `rowModels`.
46
+ * Requires a `facetedUniqueValues` row-model factory on the `features` option.
47
47
  */
48
48
  getFacetedUniqueValues: () => Map<any, number>
49
49
  }
50
50
 
51
- export interface CreateRowModel_Faceted<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData,
54
- > {
55
- /**
56
- * Factory used to retrieve faceted min/max values. If using server-side
57
- * faceting, this is not required. To use client-side faceting, pass
58
- * `createFacetedMinMaxValues()` or implement your own factory.
59
- */
60
- facetedMinMaxValues?: (
61
- table: Table<TFeatures, TData>,
62
- columnId: string,
63
- ) => () => [number, number] | undefined
64
- /**
65
- * Factory used to retrieve the faceted row model. If using server-side
66
- * faceting, this is not required. To use client-side faceting, pass
67
- * `createFacetedRowModel()` or implement your own factory.
68
- */
69
- facetedRowModel?: (
70
- table: Table<TFeatures, TData>,
71
- columnId: string,
72
- ) => () => RowModel<TFeatures, TData>
73
- /**
74
- * Factory used to retrieve faceted unique values. If using server-side
75
- * faceting, this is not required. To use client-side faceting, pass
76
- * `createFacetedUniqueValues()` or implement your own factory.
77
- */
78
- facetedUniqueValues?: (
79
- table: Table<TFeatures, TData>,
80
- columnId: string,
81
- ) => () => Map<any, number>
82
- }
83
-
84
51
  export interface CachedRowModel_Faceted<
85
- TFeatures extends TableFeatures,
86
- TData extends RowData,
52
+ in out TFeatures extends TableFeatures,
53
+ in out TData extends RowData,
87
54
  > {
88
55
  facetedRowModel?: (columnId: string) => () => RowModel<TFeatures, TData>
89
56
  facetedMinMaxValues?: (columnId: string) => [number, number]
@@ -91,8 +58,8 @@ export interface CachedRowModel_Faceted<
91
58
  }
92
59
 
93
60
  export interface Table_ColumnFaceting<
94
- TFeatures extends TableFeatures,
95
- TData extends RowData,
61
+ in out TFeatures extends TableFeatures,
62
+ in out TData extends RowData,
96
63
  > {
97
64
  /**
98
65
  * Returns the min and max values for the global filter.
@@ -24,7 +24,7 @@ export function column_getFacetedMinMaxValues<
24
24
  table: Table_Internal<TFeatures, TData>,
25
25
  ): [number, number] | undefined {
26
26
  const facetedMinMaxValuesFn =
27
- table.options.rowModels?.facetedMinMaxValues?.(table, column.id) ??
27
+ table.options.features.facetedMinMaxValues?.(table, column.id) ??
28
28
  (() => undefined)
29
29
  return facetedMinMaxValuesFn()
30
30
  }
@@ -50,7 +50,7 @@ export function column_getFacetedRowModel<
50
50
  table: Table_Internal<TFeatures, TData>,
51
51
  ): RowModel<TFeatures, TData> {
52
52
  const facetedRowModelFn =
53
- table.options.rowModels?.facetedRowModel?.(table, column?.id ?? '') ??
53
+ table.options.features.facetedRowModel?.(table, column?.id ?? '') ??
54
54
  (() => table.getPreFilteredRowModel())
55
55
  return facetedRowModelFn()
56
56
  }
@@ -75,7 +75,7 @@ export function column_getFacetedUniqueValues<
75
75
  table: Table_Internal<TFeatures, TData>,
76
76
  ): Map<any, number> {
77
77
  const facetedUniqueValuesFn =
78
- table.options.rowModels?.facetedUniqueValues?.(table, column.id) ??
78
+ table.options.features.facetedUniqueValues?.(table, column.id) ??
79
79
  (() => new Map<any, number>())
80
80
  return facetedUniqueValuesFn()
81
81
  }
@@ -96,7 +96,7 @@ export function table_getGlobalFacetedMinMaxValues<
96
96
  TData extends RowData,
97
97
  >(table: Table_Internal<TFeatures, TData>): undefined | [number, number] {
98
98
  const facetedMinMaxValuesFn =
99
- table.options.rowModels?.facetedMinMaxValues?.(table, '__global__') ??
99
+ table.options.features.facetedMinMaxValues?.(table, '__global__') ??
100
100
  (() => undefined)
101
101
  return facetedMinMaxValuesFn()
102
102
  }
@@ -118,7 +118,7 @@ export function table_getGlobalFacetedRowModel<
118
118
  TData extends RowData,
119
119
  >(table: Table_Internal<TFeatures, TData>): RowModel<TFeatures, TData> {
120
120
  const facetedRowModelFn =
121
- table.options.rowModels?.facetedRowModel?.(table, '__global__') ??
121
+ table.options.features.facetedRowModel?.(table, '__global__') ??
122
122
  (() => table.getPreFilteredRowModel())
123
123
  return facetedRowModelFn()
124
124
  }
@@ -139,7 +139,7 @@ export function table_getGlobalFacetedUniqueValues<
139
139
  TData extends RowData,
140
140
  >(table: Table_Internal<TFeatures, TData>): Map<any, number> {
141
141
  const facetedUniqueValuesFn =
142
- table.options.rowModels?.facetedUniqueValues?.(table, '__global__') ??
142
+ table.options.features.facetedUniqueValues?.(table, '__global__') ??
143
143
  (() => new Map())
144
144
  return facetedUniqueValuesFn()
145
145
  }
@@ -18,7 +18,7 @@ export function createFacetedMinMaxValues<
18
18
  columnId: string,
19
19
  ) => () => undefined | [number, number] {
20
20
  return (_table, columnId) => {
21
- const table: Table_Internal<TFeatures, TData> = _table
21
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
22
22
  return tableMemo({
23
23
  feature: 'columnFacetingFeature',
24
24
  fn: (flatRows) => _createFacetedMinMaxValues(columnId, flatRows),
@@ -23,7 +23,7 @@ export function createFacetedRowModel<
23
23
  columnId: string,
24
24
  ) => () => RowModel<TFeatures, TData> {
25
25
  return (_table, columnId) => {
26
- const table: Table_Internal<TFeatures, TData> = _table
26
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
27
27
  return tableMemo({
28
28
  feature: 'columnFacetingFeature',
29
29
  table,
@@ -18,7 +18,7 @@ export function createFacetedUniqueValues<
18
18
  columnId: string,
19
19
  ) => () => Map<any, number> {
20
20
  return (_table, columnId) => {
21
- const table: Table_Internal<TFeatures, TData> = _table
21
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
22
22
  return tableMemo({
23
23
  feature: 'columnFacetingFeature',
24
24
  table,