@tanstack/table-core 9.0.0-beta.5 → 9.0.0-beta.50

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 (602) hide show
  1. package/README.md +2 -0
  2. package/dist/core/cells/constructCell.cjs +1 -4
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.d.cts +4 -4
  5. package/dist/core/cells/constructCell.d.ts +4 -4
  6. package/dist/core/cells/constructCell.js +1 -4
  7. package/dist/core/cells/constructCell.js.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.types.d.cts +7 -7
  9. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -7
  10. package/dist/core/cells/coreCellsFeature.utils.d.cts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.ts +4 -4
  12. package/dist/core/columns/constructColumn.cjs +4 -5
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.d.cts +3 -3
  15. package/dist/core/columns/constructColumn.d.ts +3 -3
  16. package/dist/core/columns/constructColumn.js +4 -5
  17. package/dist/core/columns/constructColumn.js.map +1 -1
  18. package/dist/core/columns/coreColumnsFeature.cjs +12 -18
  19. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.js +12 -18
  21. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  22. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -7
  23. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -7
  24. package/dist/core/columns/coreColumnsFeature.utils.cjs +4 -8
  25. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  26. package/dist/core/columns/coreColumnsFeature.utils.d.cts +9 -9
  27. package/dist/core/columns/coreColumnsFeature.utils.d.ts +9 -9
  28. package/dist/core/columns/coreColumnsFeature.utils.js +5 -9
  29. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  30. package/dist/core/coreFeatures.cjs.map +1 -1
  31. package/dist/core/coreFeatures.d.cts +1 -1
  32. package/dist/core/coreFeatures.d.ts +1 -1
  33. package/dist/core/coreFeatures.js.map +1 -1
  34. package/dist/core/headers/buildHeaderGroups.cjs +1 -2
  35. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  36. package/dist/core/headers/buildHeaderGroups.d.cts +2 -2
  37. package/dist/core/headers/buildHeaderGroups.d.ts +2 -2
  38. package/dist/core/headers/buildHeaderGroups.js +1 -2
  39. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  40. package/dist/core/headers/constructHeader.cjs +1 -4
  41. package/dist/core/headers/constructHeader.cjs.map +1 -1
  42. package/dist/core/headers/constructHeader.d.cts +2 -2
  43. package/dist/core/headers/constructHeader.d.ts +2 -2
  44. package/dist/core/headers/constructHeader.js +1 -4
  45. package/dist/core/headers/constructHeader.js.map +1 -1
  46. package/dist/core/headers/coreHeadersFeature.cjs +8 -11
  47. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  48. package/dist/core/headers/coreHeadersFeature.js +8 -11
  49. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  50. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  51. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  52. package/dist/core/headers/coreHeadersFeature.utils.cjs +8 -10
  53. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  54. package/dist/core/headers/coreHeadersFeature.utils.d.cts +6 -6
  55. package/dist/core/headers/coreHeadersFeature.utils.d.ts +6 -6
  56. package/dist/core/headers/coreHeadersFeature.utils.js +8 -10
  57. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  58. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +7 -15
  59. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -15
  60. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +8 -26
  61. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  62. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +16 -16
  63. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +16 -16
  64. package/dist/core/row-models/coreRowModelsFeature.utils.js +8 -26
  65. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  66. package/dist/core/row-models/createCoreRowModel.cjs +4 -6
  67. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  68. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  69. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  70. package/dist/core/row-models/createCoreRowModel.js +5 -7
  71. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  72. package/dist/core/rows/constructRow.cjs +6 -10
  73. package/dist/core/rows/constructRow.cjs.map +1 -1
  74. package/dist/core/rows/constructRow.d.cts +2 -2
  75. package/dist/core/rows/constructRow.d.ts +2 -2
  76. package/dist/core/rows/constructRow.js +7 -10
  77. package/dist/core/rows/constructRow.js.map +1 -1
  78. package/dist/core/rows/coreRowsFeature.cjs +18 -2
  79. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  80. package/dist/core/rows/coreRowsFeature.js +19 -3
  81. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  82. package/dist/core/rows/coreRowsFeature.types.d.cts +41 -7
  83. package/dist/core/rows/coreRowsFeature.types.d.ts +41 -7
  84. package/dist/core/rows/coreRowsFeature.utils.cjs +62 -8
  85. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  86. package/dist/core/rows/coreRowsFeature.utils.d.cts +24 -5
  87. package/dist/core/rows/coreRowsFeature.utils.d.ts +24 -5
  88. package/dist/core/rows/coreRowsFeature.utils.js +61 -10
  89. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  90. package/dist/core/table/constructTable.cjs +24 -14
  91. package/dist/core/table/constructTable.cjs.map +1 -1
  92. package/dist/core/table/constructTable.d.cts +1 -1
  93. package/dist/core/table/constructTable.d.ts +1 -1
  94. package/dist/core/table/constructTable.js +24 -14
  95. package/dist/core/table/constructTable.js.map +1 -1
  96. package/dist/core/table/coreTablesFeature.types.d.cts +32 -19
  97. package/dist/core/table/coreTablesFeature.types.d.ts +32 -19
  98. package/dist/core/table/coreTablesFeature.utils.cjs +38 -14
  99. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  100. package/dist/core/table/coreTablesFeature.utils.d.cts +10 -7
  101. package/dist/core/table/coreTablesFeature.utils.d.ts +10 -7
  102. package/dist/core/table/coreTablesFeature.utils.js +38 -14
  103. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  104. package/dist/experimental-worker-plugin.cjs +14 -0
  105. package/dist/experimental-worker-plugin.d.cts +5 -0
  106. package/dist/experimental-worker-plugin.d.ts +5 -0
  107. package/dist/experimental-worker-plugin.js +6 -0
  108. package/dist/features/aggregation/aggregationFeature.cjs +39 -0
  109. package/dist/features/aggregation/aggregationFeature.cjs.map +1 -0
  110. package/dist/features/aggregation/aggregationFeature.d.cts +10 -0
  111. package/dist/features/aggregation/aggregationFeature.d.ts +10 -0
  112. package/dist/features/aggregation/aggregationFeature.js +39 -0
  113. package/dist/features/aggregation/aggregationFeature.js.map +1 -0
  114. package/dist/features/aggregation/aggregationFeature.types.cjs +13 -0
  115. package/dist/features/aggregation/aggregationFeature.types.cjs.map +1 -0
  116. package/dist/features/aggregation/aggregationFeature.types.d.cts +195 -0
  117. package/dist/features/aggregation/aggregationFeature.types.d.ts +195 -0
  118. package/dist/features/aggregation/aggregationFeature.types.js +12 -0
  119. package/dist/features/aggregation/aggregationFeature.types.js.map +1 -0
  120. package/dist/features/aggregation/aggregationFeature.utils.cjs +212 -0
  121. package/dist/features/aggregation/aggregationFeature.utils.cjs.map +1 -0
  122. package/dist/features/aggregation/aggregationFeature.utils.d.cts +34 -0
  123. package/dist/features/aggregation/aggregationFeature.utils.d.ts +34 -0
  124. package/dist/features/aggregation/aggregationFeature.utils.js +206 -0
  125. package/dist/features/aggregation/aggregationFeature.utils.js.map +1 -0
  126. package/dist/features/aggregation/aggregationFns.cjs +246 -0
  127. package/dist/features/aggregation/aggregationFns.cjs.map +1 -0
  128. package/dist/features/aggregation/aggregationFns.d.cts +68 -0
  129. package/dist/features/aggregation/aggregationFns.d.ts +68 -0
  130. package/dist/features/aggregation/aggregationFns.js +235 -0
  131. package/dist/features/aggregation/aggregationFns.js.map +1 -0
  132. package/dist/features/column-faceting/columnFacetingFeature.cjs +12 -18
  133. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  134. package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
  135. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  136. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
  137. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
  138. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
  139. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
  141. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
  142. package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  144. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
  145. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  146. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  147. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  148. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  150. package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
  151. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  152. package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
  153. package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
  154. package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
  155. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  156. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
  157. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  158. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  159. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  160. package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
  161. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  162. package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
  163. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  164. package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
  165. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  166. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
  167. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
  168. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
  169. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  170. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
  171. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
  172. package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
  173. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  174. package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
  175. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  176. package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
  177. package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
  178. package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
  179. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  180. package/dist/features/column-filtering/filterFns.cjs +399 -0
  181. package/dist/features/column-filtering/filterFns.cjs.map +1 -0
  182. package/dist/features/column-filtering/filterFns.d.cts +210 -0
  183. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  184. package/dist/features/column-filtering/filterFns.js +375 -0
  185. package/dist/features/column-filtering/filterFns.js.map +1 -0
  186. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  187. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  188. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  189. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  190. package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  192. package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
  195. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
  198. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  204. package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  206. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
  207. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
  208. package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
  209. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  210. package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  212. package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
  213. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  214. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
  215. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
  216. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
  217. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  218. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  222. package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
  223. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  224. package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
  225. package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
  226. package/dist/features/column-pinning/columnPinningFeature.js +125 -144
  227. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  228. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
  229. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
  230. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
  231. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  232. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
  233. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
  234. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
  235. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  236. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  237. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  238. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
  239. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  240. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  241. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  242. package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
  243. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  244. package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
  245. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  246. package/dist/features/column-sizing/columnSizingFeature.js +34 -68
  247. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  248. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
  249. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
  250. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
  251. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  252. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
  253. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
  254. package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
  255. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  256. package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
  257. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  258. package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
  259. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  260. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
  261. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
  262. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
  263. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  264. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
  265. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
  266. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
  267. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  268. package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
  269. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  270. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  271. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  272. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  273. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  274. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
  275. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  276. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
  277. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
  278. package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
  279. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  280. package/dist/features/row-expanding/createExpandedRowModel.cjs +6 -10
  281. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  282. package/dist/features/row-expanding/createExpandedRowModel.d.cts +2 -2
  283. package/dist/features/row-expanding/createExpandedRowModel.d.ts +2 -2
  284. package/dist/features/row-expanding/createExpandedRowModel.js +6 -10
  285. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  286. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +6 -15
  287. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -15
  288. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +28 -26
  289. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  290. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +10 -10
  291. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +10 -10
  292. package/dist/features/row-expanding/rowExpandingFeature.utils.js +29 -27
  293. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  294. package/dist/features/row-pagination/createPaginatedRowModel.cjs +6 -10
  295. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  296. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +2 -2
  297. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +2 -2
  298. package/dist/features/row-pagination/createPaginatedRowModel.js +6 -10
  299. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  300. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +5 -14
  301. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -14
  302. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +9 -15
  303. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  304. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +17 -17
  305. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +17 -17
  306. package/dist/features/row-pagination/rowPaginationFeature.utils.js +9 -15
  307. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  308. package/dist/features/row-pinning/rowPinningFeature.cjs +4 -16
  309. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  310. package/dist/features/row-pinning/rowPinningFeature.js +4 -16
  311. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  312. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  313. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  314. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +9 -14
  315. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  316. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +7 -7
  317. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +7 -7
  318. package/dist/features/row-pinning/rowPinningFeature.utils.js +9 -14
  319. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  320. package/dist/features/row-selection/rowSelectionFeature.cjs +66 -22
  321. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  322. package/dist/features/row-selection/rowSelectionFeature.js +67 -23
  323. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  324. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +49 -11
  325. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +49 -11
  326. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +128 -72
  327. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  328. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +57 -30
  329. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +57 -30
  330. package/dist/features/row-selection/rowSelectionFeature.utils.js +129 -74
  331. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  332. package/dist/features/row-sorting/createSortedRowModel.cjs +69 -50
  333. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  334. package/dist/features/row-sorting/createSortedRowModel.d.cts +10 -4
  335. package/dist/features/row-sorting/createSortedRowModel.d.ts +10 -4
  336. package/dist/features/row-sorting/createSortedRowModel.js +70 -51
  337. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  338. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +54 -22
  339. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -22
  340. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +31 -17
  341. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  342. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +16 -16
  343. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +16 -16
  344. package/dist/features/row-sorting/rowSortingFeature.utils.js +31 -17
  345. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  346. package/dist/features/row-sorting/sortFns.cjs +226 -0
  347. package/dist/features/row-sorting/sortFns.cjs.map +1 -0
  348. package/dist/features/row-sorting/sortFns.d.cts +98 -0
  349. package/dist/features/row-sorting/sortFns.d.ts +98 -0
  350. package/dist/features/row-sorting/sortFns.js +217 -0
  351. package/dist/features/row-sorting/sortFns.js.map +1 -0
  352. package/dist/features/stockFeatures.cjs +2 -0
  353. package/dist/features/stockFeatures.cjs.map +1 -1
  354. package/dist/features/stockFeatures.d.cts +2 -0
  355. package/dist/features/stockFeatures.d.ts +2 -0
  356. package/dist/features/stockFeatures.js +2 -0
  357. package/dist/features/stockFeatures.js.map +1 -1
  358. package/dist/flex-render.d.cts +1 -1
  359. package/dist/flex-render.d.ts +1 -1
  360. package/dist/helpers/columnHelper.cjs.map +1 -1
  361. package/dist/helpers/columnHelper.d.cts +2 -2
  362. package/dist/helpers/columnHelper.d.ts +2 -2
  363. package/dist/helpers/columnHelper.js.map +1 -1
  364. package/dist/helpers/metaHelper.cjs +30 -0
  365. package/dist/helpers/metaHelper.cjs.map +1 -0
  366. package/dist/helpers/metaHelper.d.cts +26 -0
  367. package/dist/helpers/metaHelper.d.ts +26 -0
  368. package/dist/helpers/metaHelper.js +29 -0
  369. package/dist/helpers/metaHelper.js.map +1 -0
  370. package/dist/helpers/tableFeatures.cjs +32 -3
  371. package/dist/helpers/tableFeatures.cjs.map +1 -1
  372. package/dist/helpers/tableFeatures.d.cts +34 -5
  373. package/dist/helpers/tableFeatures.d.ts +34 -5
  374. package/dist/helpers/tableFeatures.js +32 -3
  375. package/dist/helpers/tableFeatures.js.map +1 -1
  376. package/dist/index.cjs +23 -3
  377. package/dist/index.d.cts +31 -28
  378. package/dist/index.d.ts +31 -28
  379. package/dist/index.js +8 -5
  380. package/dist/static-functions.cjs +30 -19
  381. package/dist/static-functions.d.cts +8 -7
  382. package/dist/static-functions.d.ts +8 -7
  383. package/dist/static-functions.js +8 -7
  384. package/dist/store-reactivity-bindings.cjs +3 -3
  385. package/dist/store-reactivity-bindings.cjs.map +1 -1
  386. package/dist/store-reactivity-bindings.d.cts +1 -1
  387. package/dist/store-reactivity-bindings.d.ts +1 -1
  388. package/dist/store-reactivity-bindings.js +3 -3
  389. package/dist/store-reactivity-bindings.js.map +1 -1
  390. package/dist/types/Cell.d.cts +4 -2
  391. package/dist/types/Cell.d.ts +4 -2
  392. package/dist/types/Column.d.cts +15 -15
  393. package/dist/types/Column.d.ts +15 -15
  394. package/dist/types/ColumnDef.d.cts +30 -14
  395. package/dist/types/ColumnDef.d.ts +30 -14
  396. package/dist/types/Header.d.cts +2 -2
  397. package/dist/types/Header.d.ts +2 -2
  398. package/dist/types/HeaderGroup.d.cts +2 -2
  399. package/dist/types/HeaderGroup.d.ts +2 -2
  400. package/dist/types/Row.d.cts +6 -4
  401. package/dist/types/Row.d.ts +6 -4
  402. package/dist/types/RowModel.d.cts +11 -23
  403. package/dist/types/RowModel.d.ts +11 -23
  404. package/dist/types/RowModelFns.d.cts +4 -4
  405. package/dist/types/RowModelFns.d.ts +4 -4
  406. package/dist/types/Table.d.cts +26 -31
  407. package/dist/types/Table.d.ts +26 -31
  408. package/dist/types/TableFeatures.d.cts +350 -22
  409. package/dist/types/TableFeatures.d.ts +350 -22
  410. package/dist/types/TableOptions.d.cts +22 -14
  411. package/dist/types/TableOptions.d.ts +22 -14
  412. package/dist/types/TableState.d.cts +6 -6
  413. package/dist/types/TableState.d.ts +6 -6
  414. package/dist/types/type-utils.d.cts +8 -1
  415. package/dist/types/type-utils.d.ts +8 -1
  416. package/dist/utils.cjs +51 -29
  417. package/dist/utils.cjs.map +1 -1
  418. package/dist/utils.d.cts +30 -8
  419. package/dist/utils.d.ts +30 -8
  420. package/dist/utils.js +49 -30
  421. package/dist/utils.js.map +1 -1
  422. package/dist/worker/createTableWorker.cjs +189 -0
  423. package/dist/worker/createTableWorker.cjs.map +1 -0
  424. package/dist/worker/createTableWorker.d.cts +102 -0
  425. package/dist/worker/createTableWorker.d.ts +102 -0
  426. package/dist/worker/createTableWorker.js +186 -0
  427. package/dist/worker/createTableWorker.js.map +1 -0
  428. package/dist/worker/createWorkerRowModel.cjs +78 -0
  429. package/dist/worker/createWorkerRowModel.cjs.map +1 -0
  430. package/dist/worker/createWorkerRowModel.d.cts +42 -0
  431. package/dist/worker/createWorkerRowModel.d.ts +42 -0
  432. package/dist/worker/createWorkerRowModel.js +78 -0
  433. package/dist/worker/createWorkerRowModel.js.map +1 -0
  434. package/dist/worker/initTableWorker.cjs +100 -0
  435. package/dist/worker/initTableWorker.cjs.map +1 -0
  436. package/dist/worker/initTableWorker.d.cts +33 -0
  437. package/dist/worker/initTableWorker.d.ts +33 -0
  438. package/dist/worker/initTableWorker.js +100 -0
  439. package/dist/worker/initTableWorker.js.map +1 -0
  440. package/dist/worker/rebuildRowModel.cjs +72 -0
  441. package/dist/worker/rebuildRowModel.cjs.map +1 -0
  442. package/dist/worker/rebuildRowModel.d.cts +9 -0
  443. package/dist/worker/rebuildRowModel.d.ts +9 -0
  444. package/dist/worker/rebuildRowModel.js +72 -0
  445. package/dist/worker/rebuildRowModel.js.map +1 -0
  446. package/dist/worker/serializeRowModel.cjs +53 -0
  447. package/dist/worker/serializeRowModel.cjs.map +1 -0
  448. package/dist/worker/serializeRowModel.js +52 -0
  449. package/dist/worker/serializeRowModel.js.map +1 -0
  450. package/dist/worker/tableWorkerProtocol.cjs +29 -0
  451. package/dist/worker/tableWorkerProtocol.cjs.map +1 -0
  452. package/dist/worker/tableWorkerProtocol.d.cts +88 -0
  453. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  454. package/dist/worker/tableWorkerProtocol.js +27 -0
  455. package/dist/worker/tableWorkerProtocol.js.map +1 -0
  456. package/package.json +8 -3
  457. package/skills/aggregation/SKILL.md +141 -0
  458. package/skills/api-not-found/SKILL.md +113 -0
  459. package/skills/client-vs-server/SKILL.md +164 -0
  460. package/skills/column-faceting/SKILL.md +97 -0
  461. package/skills/column-filtering/SKILL.md +87 -0
  462. package/skills/column-ordering/SKILL.md +75 -0
  463. package/skills/column-pinning/SKILL.md +89 -0
  464. package/skills/column-resizing/SKILL.md +91 -0
  465. package/skills/column-sizing/SKILL.md +72 -0
  466. package/skills/column-visibility/SKILL.md +75 -0
  467. package/skills/core/SKILL.md +175 -0
  468. package/skills/custom-features/SKILL.md +235 -0
  469. package/skills/expanding/SKILL.md +80 -0
  470. package/skills/global-filtering/SKILL.md +84 -0
  471. package/skills/grouping/SKILL.md +51 -401
  472. package/skills/migrate-v8-to-v9/SKILL.md +274 -416
  473. package/skills/pagination/SKILL.md +37 -344
  474. package/skills/row-pinning/SKILL.md +47 -234
  475. package/skills/row-selection/SKILL.md +75 -302
  476. package/skills/sorting/SKILL.md +45 -303
  477. package/skills/table-features/SKILL.md +159 -0
  478. package/skills/typescript/SKILL.md +126 -0
  479. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  480. package/src/core/columns/constructColumn.ts +6 -0
  481. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  482. package/src/core/columns/coreColumnsFeature.utils.ts +4 -4
  483. package/src/core/coreFeatures.ts +1 -1
  484. package/src/core/headers/buildHeaderGroups.ts +4 -2
  485. package/src/core/headers/coreHeadersFeature.types.ts +12 -12
  486. package/src/core/headers/coreHeadersFeature.utils.ts +7 -8
  487. package/src/core/row-models/coreRowModelsFeature.types.ts +6 -20
  488. package/src/core/row-models/coreRowModelsFeature.utils.ts +8 -8
  489. package/src/core/row-models/createCoreRowModel.ts +7 -6
  490. package/src/core/rows/constructRow.ts +4 -2
  491. package/src/core/rows/coreRowsFeature.ts +21 -0
  492. package/src/core/rows/coreRowsFeature.types.ts +45 -8
  493. package/src/core/rows/coreRowsFeature.utils.ts +93 -5
  494. package/src/core/table/constructTable.ts +44 -6
  495. package/src/core/table/coreTablesFeature.types.ts +45 -20
  496. package/src/core/table/coreTablesFeature.utils.ts +59 -19
  497. package/src/experimental-worker-plugin.ts +22 -0
  498. package/src/features/aggregation/aggregationFeature.ts +60 -0
  499. package/src/features/aggregation/aggregationFeature.types.ts +339 -0
  500. package/src/features/aggregation/aggregationFeature.utils.ts +430 -0
  501. package/src/features/aggregation/aggregationFns.ts +345 -0
  502. package/src/features/column-faceting/columnFacetingFeature.types.ts +17 -48
  503. package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
  504. package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
  505. package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
  506. package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
  507. package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
  508. package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
  509. package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
  510. package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
  511. package/src/features/column-filtering/filterFns.ts +533 -0
  512. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  513. package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
  514. package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
  515. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
  516. package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
  517. package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
  518. package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
  519. package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
  520. package/src/features/column-pinning/columnPinningFeature.ts +76 -59
  521. package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
  522. package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
  523. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  524. package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
  525. package/src/features/column-sizing/columnSizingFeature.ts +24 -24
  526. package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
  527. package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
  528. package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
  529. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  530. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
  531. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  532. package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
  533. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -23
  534. package/src/features/row-expanding/rowExpandingFeature.utils.ts +38 -13
  535. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  536. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -21
  537. package/src/features/row-pagination/rowPaginationFeature.utils.ts +1 -1
  538. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  539. package/src/features/row-selection/rowSelectionFeature.ts +53 -3
  540. package/src/features/row-selection/rowSelectionFeature.types.ts +54 -10
  541. package/src/features/row-selection/rowSelectionFeature.utils.ts +273 -91
  542. package/src/features/row-sorting/createSortedRowModel.ts +107 -75
  543. package/src/features/row-sorting/rowSortingFeature.types.ts +87 -34
  544. package/src/features/row-sorting/rowSortingFeature.utils.ts +49 -23
  545. package/src/features/row-sorting/sortFns.ts +366 -0
  546. package/src/features/stockFeatures.ts +3 -0
  547. package/src/helpers/columnHelper.ts +4 -4
  548. package/src/helpers/metaHelper.ts +24 -0
  549. package/src/helpers/tableFeatures.ts +37 -5
  550. package/src/index.ts +8 -8
  551. package/src/static-functions.ts +1 -0
  552. package/src/store-reactivity-bindings.ts +1 -1
  553. package/src/types/Cell.ts +4 -2
  554. package/src/types/Column.ts +13 -9
  555. package/src/types/ColumnDef.ts +40 -10
  556. package/src/types/Header.ts +2 -2
  557. package/src/types/HeaderGroup.ts +6 -6
  558. package/src/types/Row.ts +6 -4
  559. package/src/types/RowModel.ts +19 -74
  560. package/src/types/RowModelFns.ts +10 -10
  561. package/src/types/Table.ts +52 -27
  562. package/src/types/TableFeatures.ts +392 -14
  563. package/src/types/TableOptions.ts +67 -14
  564. package/src/types/TableState.ts +15 -1
  565. package/src/types/type-utils.ts +8 -0
  566. package/src/utils.ts +60 -8
  567. package/src/worker/createTableWorker.ts +357 -0
  568. package/src/worker/createWorkerRowModel.ts +121 -0
  569. package/src/worker/initTableWorker.ts +164 -0
  570. package/src/worker/rebuildRowModel.ts +120 -0
  571. package/src/worker/serializeRowModel.ts +80 -0
  572. package/src/worker/tableWorkerProtocol.ts +105 -0
  573. package/dist/fns/aggregationFns.cjs +0 -161
  574. package/dist/fns/aggregationFns.cjs.map +0 -1
  575. package/dist/fns/aggregationFns.d.cts +0 -85
  576. package/dist/fns/aggregationFns.d.ts +0 -85
  577. package/dist/fns/aggregationFns.js +0 -151
  578. package/dist/fns/aggregationFns.js.map +0 -1
  579. package/dist/fns/filterFns.cjs +0 -201
  580. package/dist/fns/filterFns.cjs.map +0 -1
  581. package/dist/fns/filterFns.d.cts +0 -167
  582. package/dist/fns/filterFns.d.ts +0 -167
  583. package/dist/fns/filterFns.js +0 -185
  584. package/dist/fns/filterFns.js.map +0 -1
  585. package/dist/fns/sortFns.cjs +0 -118
  586. package/dist/fns/sortFns.cjs.map +0 -1
  587. package/dist/fns/sortFns.d.cts +0 -65
  588. package/dist/fns/sortFns.d.ts +0 -65
  589. package/dist/fns/sortFns.js +0 -110
  590. package/dist/fns/sortFns.js.map +0 -1
  591. package/skills/column-definitions/SKILL.md +0 -333
  592. package/skills/column-layout/SKILL.md +0 -328
  593. package/skills/column-layout/references/subsystems.md +0 -220
  594. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  595. package/skills/filtering/SKILL.md +0 -357
  596. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  597. package/skills/row-expanding/SKILL.md +0 -348
  598. package/skills/setup/SKILL.md +0 -400
  599. package/skills/state-management/SKILL.md +0 -388
  600. package/src/fns/aggregationFns.ts +0 -245
  601. package/src/fns/filterFns.ts +0 -382
  602. package/src/fns/sortFns.ts +0 -217
@@ -1,8 +1,13 @@
1
1
  import type { CellData, RowData, UnionToIntersection } from './type-utils'
2
- import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
2
+ import type {
3
+ ExtractFeatureMapTypes,
4
+ IsAny,
5
+ TableFeatures,
6
+ } from './TableFeatures'
3
7
  import type { CellContext } from '../core/cells/coreCellsFeature.types'
4
8
  import type { HeaderContext } from '../core/headers/coreHeadersFeature.types'
5
9
  import type { ColumnDef_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
10
+ import type { ColumnDef_Aggregation } from '../features/aggregation/aggregationFeature.types'
6
11
  import type { ColumnDef_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
7
12
  import type { ColumnDef_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
8
13
  import type { ColumnDef_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
@@ -11,11 +16,31 @@ import type { ColumnDef_ColumnVisibility } from '../features/column-visibility/c
11
16
  import type { ColumnDef_GlobalFiltering } from '../features/global-filtering/globalFilteringFeature.types'
12
17
  import type { ColumnDef_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
13
18
 
19
+ // @ts-expect-error Phantom type params: unused in this empty base declaration, but required with these exact names so user `declare module` augmentations merge correctly.
14
20
  export interface ColumnMeta<
21
+ in out TFeatures extends TableFeatures,
22
+ in out TData extends RowData,
23
+ TValue extends CellData = CellData,
24
+ > {}
25
+
26
+ /**
27
+ * Resolves the type of `columnDef.meta` for a feature set.
28
+ *
29
+ * When the features object declares a `columnMeta` type-only slot
30
+ * (`tableFeatures({ ..., columnMeta: {} as MyColumnMeta })`), that type wins.
31
+ * Otherwise this falls back to the global declaration-merged `ColumnMeta`
32
+ * interface.
33
+ */
34
+ export type ExtractColumnMeta<
15
35
  TFeatures extends TableFeatures,
16
36
  TData extends RowData,
17
37
  TValue extends CellData = CellData,
18
- > {}
38
+ > =
39
+ IsAny<TFeatures> extends true
40
+ ? ColumnMeta<TFeatures, TData, TValue>
41
+ : TFeatures extends { columnMeta: infer TMeta extends object }
42
+ ? TMeta
43
+ : ColumnMeta<TFeatures, TData, TValue>
19
44
 
20
45
  /**
21
46
  * Reads a cell value from an original row object.
@@ -56,8 +81,8 @@ export interface StringHeaderIdentifier {
56
81
  }
57
82
 
58
83
  export interface IdIdentifier<
59
- TFeatures extends TableFeatures,
60
- TData extends RowData,
84
+ in out TFeatures extends TableFeatures,
85
+ in out TData extends RowData,
61
86
  TValue extends CellData = CellData,
62
87
  > {
63
88
  /**
@@ -96,21 +121,25 @@ interface ColumnDefBase_Core<
96
121
  cell?: ColumnDefTemplate<CellContext<TFeatures, TData, TValue>>
97
122
  /**
98
123
  * User-defined metadata available on the resolved column definition.
124
+ *
125
+ * Declare its type per-table via the `columnMeta` type-only slot on the
126
+ * `features` option, or globally via declaration merging on `ColumnMeta`.
99
127
  */
100
- meta?: ColumnMeta<TFeatures, TData, TValue>
128
+ meta?: ExtractColumnMeta<TFeatures, TData, TValue>
101
129
  }
102
130
 
103
131
  export interface ColumnDef_FeatureMap<
104
- TFeatures extends TableFeatures,
105
- TData extends RowData,
132
+ in out TFeatures extends TableFeatures,
133
+ in out TData extends RowData,
106
134
  TValue extends CellData,
107
135
  > {
136
+ aggregationFeature: ColumnDef_Aggregation<TFeatures, TData, TValue>
108
137
  columnVisibilityFeature: ColumnDef_ColumnVisibility
109
138
  columnPinningFeature: ColumnDef_ColumnPinning
110
139
  columnFilteringFeature: ColumnDef_ColumnFiltering<TFeatures, TData>
111
140
  globalFilteringFeature: ColumnDef_GlobalFiltering
112
141
  rowSortingFeature: ColumnDef_RowSorting<TFeatures, TData>
113
- columnGroupingFeature: ColumnDef_ColumnGrouping<TFeatures, TData, TValue>
142
+ columnGroupingFeature: ColumnDef_ColumnGrouping<TFeatures, TData>
114
143
  columnSizingFeature: ColumnDef_ColumnSizing
115
144
  columnResizingFeature: ColumnDef_ColumnResizing
116
145
  }
@@ -131,12 +160,13 @@ export type ColumnDefBase_All<
131
160
  TValue extends CellData = CellData,
132
161
  > = ColumnDefBase_Core<TFeatures, TData, TValue> &
133
162
  Partial<
134
- ColumnDef_ColumnVisibility &
163
+ ColumnDef_Aggregation<TFeatures, TData, TValue> &
164
+ ColumnDef_ColumnVisibility &
135
165
  ColumnDef_ColumnPinning &
136
166
  ColumnDef_ColumnFiltering<TFeatures, TData> &
137
167
  ColumnDef_GlobalFiltering &
138
168
  ColumnDef_RowSorting<TFeatures, TData> &
139
- ColumnDef_ColumnGrouping<TFeatures, TData, TValue> &
169
+ ColumnDef_ColumnGrouping<TFeatures, TData> &
140
170
  ColumnDef_ColumnSizing &
141
171
  ColumnDef_ColumnResizing
142
172
  >
@@ -5,8 +5,8 @@ import type { Header_Header } from '../core/headers/coreHeadersFeature.types'
5
5
  import type { Header_ColumnResizing } from '../features/column-resizing/columnResizingFeature.types'
6
6
 
7
7
  export interface Header_Core<
8
- TFeatures extends TableFeatures,
9
- TData extends RowData,
8
+ in out TFeatures extends TableFeatures,
9
+ in out TData extends RowData,
10
10
  TValue extends CellData = CellData,
11
11
  > extends Header_Header<TFeatures, TData, TValue> {}
12
12
 
@@ -3,11 +3,11 @@ import type { TableFeatures } from './TableFeatures'
3
3
  import type { RowData } from './type-utils'
4
4
 
5
5
  export interface HeaderGroup_Core<
6
- TFeatures extends TableFeatures,
7
- TData extends RowData,
6
+ in out TFeatures extends TableFeatures,
7
+ in out TData extends RowData,
8
8
  > extends HeaderGroup_Header<TFeatures, TData> {}
9
9
 
10
- export type HeaderGroup<
11
- TFeatures extends TableFeatures,
12
- TData extends RowData,
13
- > = HeaderGroup_Core<TFeatures, TData>
10
+ export interface HeaderGroup<
11
+ in out TFeatures extends TableFeatures,
12
+ in out TData extends RowData,
13
+ > extends HeaderGroup_Core<TFeatures, TData> {}
package/src/types/Row.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Row_ColumnVisibility } from '../features/column-visibility/columnVisibilityFeature.types'
2
+ import type { Row_Aggregation } from '../features/aggregation/aggregationFeature.types'
2
3
  import type { Row_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
3
4
  import type { Row_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
4
5
  import type { Row_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
@@ -10,14 +11,15 @@ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
10
11
  import type { Row_Row } from '../core/rows/coreRowsFeature.types'
11
12
 
12
13
  export interface Row_Core<
13
- TFeatures extends TableFeatures,
14
- TData extends RowData,
14
+ in out TFeatures extends TableFeatures,
15
+ in out TData extends RowData,
15
16
  > extends Row_Row<TFeatures, TData> {}
16
17
 
17
18
  export interface Row_FeatureMap<
18
- TFeatures extends TableFeatures,
19
- TData extends RowData,
19
+ in out TFeatures extends TableFeatures,
20
+ in out TData extends RowData,
20
21
  > {
22
+ aggregationFeature: Row_Aggregation
21
23
  columnFilteringFeature: Row_ColumnFiltering<TFeatures, TData>
22
24
  columnGroupingFeature: Row_ColumnGrouping
23
25
  columnPinningFeature: Row_ColumnPinning<TFeatures, TData>
@@ -1,70 +1,16 @@
1
- import type {
2
- CachedRowModel_Faceted,
3
- CreateRowModel_Faceted,
4
- } from '../features/column-faceting/columnFacetingFeature.types'
5
- import type {
6
- CachedRowModel_Grouped,
7
- CreateRowModel_Grouped,
8
- } from '../features/column-grouping/columnGroupingFeature.types'
9
- import type {
10
- CachedRowModel_Filtered,
11
- CreateRowModel_Filtered,
12
- } from '../features/column-filtering/columnFilteringFeature.types'
13
- import type {
14
- CachedRowModel_Core,
15
- CreateRowModel_Core,
16
- RowModel,
17
- } from '../core/row-models/coreRowModelsFeature.types'
18
- import type {
19
- CachedRowModel_Expanded,
20
- CreateRowModel_Expanded,
21
- } from '../features/row-expanding/rowExpandingFeature.types'
22
- import type {
23
- CachedRowModel_Paginated,
24
- CreateRowModel_Paginated,
25
- } from '../features/row-pagination/rowPaginationFeature.types'
26
- import type {
27
- CachedRowModel_Sorted,
28
- CreateRowModel_Sorted,
29
- } from '../features/row-sorting/rowSortingFeature.types'
1
+ import type { CachedRowModel_Faceted } from '../features/column-faceting/columnFacetingFeature.types'
2
+ import type { CachedRowModel_Grouped } from '../features/column-grouping/columnGroupingFeature.types'
3
+ import type { CachedRowModel_Filtered } from '../features/column-filtering/columnFilteringFeature.types'
4
+ import type { CachedRowModel_Core } from '../core/row-models/coreRowModelsFeature.types'
5
+ import type { CachedRowModel_Expanded } from '../features/row-expanding/rowExpandingFeature.types'
6
+ import type { CachedRowModel_Paginated } from '../features/row-pagination/rowPaginationFeature.types'
7
+ import type { CachedRowModel_Sorted } from '../features/row-sorting/rowSortingFeature.types'
30
8
  import type { RowData } from './type-utils'
31
9
  import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
32
10
 
33
- export interface CreateRowModels_FeatureMap<
34
- TFeatures extends TableFeatures,
35
- TData extends RowData,
36
- > {
37
- columnFacetingFeature: CreateRowModel_Faceted<TFeatures, TData>
38
- columnFilteringFeature: CreateRowModel_Filtered<TFeatures, TData>
39
- rowExpandingFeature: CreateRowModel_Expanded<TFeatures, TData>
40
- columnGroupingFeature: CreateRowModel_Grouped<TFeatures, TData>
41
- rowPaginationFeature: CreateRowModel_Paginated<TFeatures, TData>
42
- rowSortingFeature: CreateRowModel_Sorted<TFeatures, TData>
43
- }
44
-
45
- export type CreateRowModels<
46
- TFeatures extends TableFeatures,
47
- TData extends RowData,
48
- > = CreateRowModel_Core<TFeatures, TData> &
49
- ExtractFeatureMapTypes<
50
- TFeatures,
51
- CreateRowModels_FeatureMap<TFeatures, TData>
52
- >
53
-
54
- export type CreateRowModels_All<
55
- TFeatures extends TableFeatures,
56
- TData extends RowData,
57
- > = CreateRowModel_Core<TFeatures, TData> &
58
- CreateRowModel_Expanded<TFeatures, TData> &
59
- CreateRowModel_Faceted<TFeatures, TData> &
60
- CreateRowModel_Filtered<TFeatures, TData> &
61
- CreateRowModel_Grouped<TFeatures, TData> &
62
- CreateRowModel_Paginated<TFeatures, TData> &
63
- CreateRowModel_Sorted<TFeatures, TData>
64
-
65
11
  export interface CachedRowModels_FeatureMap<
66
- TFeatures extends TableFeatures,
67
- TData extends RowData,
12
+ in out TFeatures extends TableFeatures,
13
+ in out TData extends RowData,
68
14
  > {
69
15
  columnFacetingFeature: CachedRowModel_Faceted<TFeatures, TData>
70
16
  columnFilteringFeature: CachedRowModel_Filtered<TFeatures, TData>
@@ -77,17 +23,16 @@ export interface CachedRowModels_FeatureMap<
77
23
  export type CachedRowModels<
78
24
  TFeatures extends TableFeatures,
79
25
  TData extends RowData,
80
- > = {
81
- CachedRowModel_Core: () => RowModel<TFeatures, TData>
82
- } & ExtractFeatureMapTypes<
83
- TFeatures,
84
- CachedRowModels_FeatureMap<TFeatures, TData>
85
- >
26
+ > = Partial<CachedRowModel_Core<TFeatures, TData>> &
27
+ ExtractFeatureMapTypes<
28
+ TFeatures,
29
+ CachedRowModels_FeatureMap<TFeatures, TData>
30
+ >
86
31
 
87
- export type CachedRowModel_All<
88
- TFeatures extends TableFeatures,
89
- TData extends RowData = any,
90
- > = Partial<
32
+ export interface CachedRowModel_All<
33
+ in out TFeatures extends TableFeatures,
34
+ in out TData extends RowData = any,
35
+ > extends Partial<
91
36
  CachedRowModel_Core<TFeatures, TData> &
92
37
  CachedRowModel_Expanded<TFeatures, TData> &
93
38
  CachedRowModel_Faceted<TFeatures, TData> &
@@ -95,4 +40,4 @@ export type CachedRowModel_All<
95
40
  CachedRowModel_Grouped<TFeatures, TData> &
96
41
  CachedRowModel_Paginated<TFeatures, TData> &
97
42
  CachedRowModel_Sorted<TFeatures, TData>
98
- >
43
+ > {}
@@ -1,5 +1,5 @@
1
1
  import type { RowModelFns_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
2
- import type { RowModelFns_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
2
+ import type { RowModelFns_Aggregation } from '../features/aggregation/aggregationFeature.types'
3
3
  import type { RowData } from './type-utils'
4
4
  import type { RowModelFns_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
5
5
  import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
@@ -7,11 +7,11 @@ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
7
7
  export interface RowModelFns_Core {}
8
8
 
9
9
  export interface RowModelFns_FeatureMap<
10
- TFeatures extends TableFeatures,
11
- TData extends RowData,
10
+ in out TFeatures extends TableFeatures,
11
+ in out TData extends RowData,
12
12
  > {
13
+ aggregationFeature: RowModelFns_Aggregation<TFeatures, TData>
13
14
  columnFilteringFeature: RowModelFns_ColumnFiltering<TFeatures, TData>
14
- columnGroupingFeature: RowModelFns_ColumnGrouping<TFeatures, TData>
15
15
  rowSortingFeature: RowModelFns_RowSorting<TFeatures, TData>
16
16
  }
17
17
 
@@ -22,11 +22,11 @@ export type RowModelFns<
22
22
  ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>
23
23
  >
24
24
 
25
- export type RowModelFns_All<
26
- TFeatures extends TableFeatures,
27
- TData extends RowData,
28
- > = Partial<
25
+ export interface RowModelFns_All<
26
+ in out TFeatures extends TableFeatures,
27
+ in out TData extends RowData,
28
+ > extends Partial<
29
29
  RowModelFns_ColumnFiltering<TFeatures, TData> &
30
- RowModelFns_ColumnGrouping<TFeatures, TData> &
30
+ RowModelFns_Aggregation<TFeatures, TData> &
31
31
  RowModelFns_RowSorting<TFeatures, TData>
32
- >
32
+ > {}
@@ -14,38 +14,42 @@ import type { Table_RowPagination } from '../features/row-pagination/rowPaginati
14
14
  import type { Table_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
15
15
  import type { Table_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
16
16
  import type { Table_RowModels } from '../core/row-models/coreRowModelsFeature.types'
17
- import type { CachedRowModel_All, CreateRowModels_All } from './RowModel'
17
+ import type { CachedRowModel_All } from './RowModel'
18
18
  import type { RowModelFns_All } from './RowModelFns'
19
- import type { TableState_All } from './TableState'
19
+ import type { TableState, TableState_All } from './TableState'
20
20
  import type { RowData } from './type-utils'
21
21
  import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
22
22
  import type { Table_Columns } from '../core/columns/coreColumnsFeature.types'
23
23
  import type { Table_Headers } from '../core/headers/coreHeadersFeature.types'
24
24
  import type { Table_Rows } from '../core/rows/coreRowsFeature.types'
25
25
  import type {
26
+ Atoms,
26
27
  Atoms_All,
28
+ BaseAtoms,
27
29
  BaseAtoms_All,
28
30
  ExternalAtoms_All,
29
31
  Table_Table,
30
32
  } from '../core/table/coreTablesFeature.types'
31
- import type { TableOptions_All } from './TableOptions'
33
+ import type { DebugOptions, TableOptions_All } from './TableOptions'
32
34
 
33
35
  /**
34
36
  * The core table object that only includes the core table functionality such as column, header, row, and table APIS.
35
37
  * No features are included.
36
38
  */
37
- export type Table_Core<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
40
- > = Table_Table<TFeatures, TData> &
41
- Table_Columns<TFeatures, TData> &
42
- Table_Rows<TFeatures, TData> &
43
- Table_RowModels<TFeatures, TData> &
44
- Table_Headers<TFeatures, TData>
39
+ export interface Table_Core<
40
+ in out TFeatures extends TableFeatures,
41
+ in out TData extends RowData,
42
+ >
43
+ extends
44
+ Table_Table<TFeatures, TData>,
45
+ Table_Columns<TFeatures, TData>,
46
+ Table_Rows<TFeatures, TData>,
47
+ Table_RowModels<TFeatures, TData>,
48
+ Table_Headers<TFeatures, TData> {}
45
49
 
46
50
  export interface Table_FeatureMap<
47
- TFeatures extends TableFeatures,
48
- TData extends RowData,
51
+ in out TFeatures extends TableFeatures,
52
+ in out TData extends RowData,
49
53
  > {
50
54
  columnFilteringFeature: Table_ColumnFiltering
51
55
  columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>
@@ -72,20 +76,41 @@ export type Table<
72
76
  > = Table_Core<TFeatures, TData> &
73
77
  ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>
74
78
 
75
- export type Table_Internal<
76
- TFeatures extends TableFeatures,
77
- TData extends RowData = any,
78
- > = Table<TFeatures, TData> & {
79
+ /**
80
+ * `Table_Table` members that `Table_Internal` re-declares with broadened
81
+ * (all-features) types so internal code can read any feature's slots and
82
+ * construction code can assign them.
83
+ */
84
+ type Table_InternalBroadenedKeys =
85
+ | '_rowModels'
86
+ | '_rowModelFns'
87
+ | 'options'
88
+ | 'initialState'
89
+ | 'store'
90
+
91
+ /**
92
+ * Internal broad table shape used by feature implementations.
93
+ */
94
+ export interface Table_Internal<
95
+ in out TFeatures extends TableFeatures,
96
+ in out TData extends RowData = any,
97
+ >
98
+ extends
99
+ Omit<Table_Table<TFeatures, TData>, Table_InternalBroadenedKeys>,
100
+ Table_Columns<TFeatures, TData>,
101
+ Table_Rows<TFeatures, TData>,
102
+ Table_RowModels<TFeatures, TData>,
103
+ Table_Headers<TFeatures, TData> {
79
104
  _rowModels: CachedRowModel_All<TFeatures, TData>
80
105
  _rowModelFns: RowModelFns_All<TFeatures, TData>
81
- options: TableOptions_All<TFeatures, TData> & {
82
- rowModels?: CreateRowModels_All<TFeatures, TData>
83
- state?: TableState_All
84
- initialState?: TableState_All
85
- atoms?: ExternalAtoms_All
86
- }
87
- initialState: TableState_All
88
- baseAtoms: BaseAtoms_All
89
- atoms: Atoms_All
90
- store: ReadonlyStore<TableState_All>
106
+ options: DebugOptions<TableFeatures> &
107
+ TableOptions_All<TFeatures, TData> & {
108
+ state?: TableState_All
109
+ initialState?: TableState_All
110
+ atoms?: ExternalAtoms_All
111
+ }
112
+ initialState: TableState<TFeatures> & TableState_All
113
+ baseAtoms: BaseAtoms<TFeatures> & BaseAtoms_All
114
+ atoms: Atoms<TFeatures> & Atoms_All
115
+ store: ReadonlyStore<TableState<TFeatures>> & ReadonlyStore<TableState_All>
91
116
  }