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

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/column-faceting/columnFacetingFeature.cjs +12 -18
  109. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.js +12 -18
  111. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  112. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +15 -33
  113. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -33
  114. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +23 -12
  115. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  116. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +9 -9
  117. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +9 -9
  118. package/dist/features/column-faceting/columnFacetingFeature.utils.js +24 -12
  119. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  120. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +7 -4
  121. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  125. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  126. package/dist/features/column-faceting/createFacetedRowModel.cjs +10 -15
  127. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  128. package/dist/features/column-faceting/createFacetedRowModel.d.cts +2 -2
  129. package/dist/features/column-faceting/createFacetedRowModel.d.ts +2 -2
  130. package/dist/features/column-faceting/createFacetedRowModel.js +10 -15
  131. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  132. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +10 -6
  133. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  134. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  135. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  136. package/dist/features/column-faceting/createFacetedUniqueValues.js +11 -7
  137. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.cjs +2 -2
  139. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  140. package/dist/features/column-filtering/columnFilteringFeature.js +3 -3
  141. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  142. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +83 -29
  143. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +83 -29
  144. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +23 -17
  145. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  146. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +18 -14
  147. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +18 -14
  148. package/dist/features/column-filtering/columnFilteringFeature.utils.js +23 -17
  149. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  150. package/dist/features/column-filtering/createFilteredRowModel.cjs +29 -25
  151. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  152. package/dist/features/column-filtering/createFilteredRowModel.d.cts +10 -4
  153. package/dist/features/column-filtering/createFilteredRowModel.d.ts +10 -4
  154. package/dist/features/column-filtering/createFilteredRowModel.js +30 -26
  155. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  156. package/dist/features/column-filtering/filterFns.cjs +399 -0
  157. package/dist/features/column-filtering/filterFns.cjs.map +1 -0
  158. package/dist/features/column-filtering/filterFns.d.cts +210 -0
  159. package/dist/features/column-filtering/filterFns.d.ts +210 -0
  160. package/dist/features/column-filtering/filterFns.js +375 -0
  161. package/dist/features/column-filtering/filterFns.js.map +1 -0
  162. package/dist/features/column-filtering/filterRowsUtils.cjs +3 -2
  163. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  164. package/dist/features/column-filtering/filterRowsUtils.js +3 -2
  165. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  166. package/dist/features/column-grouping/columnGroupingFeature.cjs +4 -16
  167. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  168. package/dist/features/column-grouping/columnGroupingFeature.d.cts +1 -1
  169. package/dist/features/column-grouping/columnGroupingFeature.d.ts +1 -1
  170. package/dist/features/column-grouping/columnGroupingFeature.js +6 -18
  171. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  172. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +14 -50
  173. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -50
  174. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +6 -61
  175. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  176. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +12 -49
  177. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -49
  178. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -60
  179. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  180. package/dist/features/column-grouping/createGroupedRowModel.cjs +37 -24
  181. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  182. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -4
  183. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -4
  184. package/dist/features/column-grouping/createGroupedRowModel.js +39 -26
  185. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  186. package/dist/features/column-ordering/columnOrderingFeature.cjs +17 -21
  187. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  188. package/dist/features/column-ordering/columnOrderingFeature.js +18 -22
  189. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  190. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +28 -3
  191. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -3
  192. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +35 -15
  193. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  194. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +26 -14
  195. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -14
  196. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -17
  197. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  198. package/dist/features/column-pinning/columnPinningFeature.cjs +124 -143
  199. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  200. package/dist/features/column-pinning/columnPinningFeature.d.cts +6 -1
  201. package/dist/features/column-pinning/columnPinningFeature.d.ts +6 -1
  202. package/dist/features/column-pinning/columnPinningFeature.js +125 -144
  203. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  204. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +52 -41
  205. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +52 -41
  206. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +161 -162
  207. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  208. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +101 -92
  209. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +101 -92
  210. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -149
  211. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  212. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +1 -4
  213. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +1 -4
  214. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +84 -44
  215. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  216. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +6 -6
  217. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +6 -6
  218. package/dist/features/column-resizing/columnResizingFeature.utils.js +85 -45
  219. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  220. package/dist/features/column-sizing/columnSizingFeature.cjs +33 -67
  221. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  222. package/dist/features/column-sizing/columnSizingFeature.js +34 -68
  223. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  224. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +52 -9
  225. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -9
  226. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +88 -45
  227. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  228. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +43 -25
  229. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -25
  230. package/dist/features/column-sizing/columnSizingFeature.utils.js +88 -46
  231. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  232. package/dist/features/column-visibility/columnVisibilityFeature.cjs +25 -36
  233. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  234. package/dist/features/column-visibility/columnVisibilityFeature.js +25 -36
  235. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  236. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +3 -3
  237. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +3 -3
  238. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +30 -29
  239. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  240. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +18 -18
  241. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +18 -18
  242. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +31 -30
  243. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  244. package/dist/features/global-filtering/globalFilteringFeature.cjs +1 -2
  245. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  246. package/dist/features/global-filtering/globalFilteringFeature.js +1 -2
  247. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  248. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +2 -2
  249. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +2 -2
  250. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +6 -6
  251. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  252. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +8 -11
  253. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +8 -11
  254. package/dist/features/global-filtering/globalFilteringFeature.utils.js +6 -6
  255. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  256. package/dist/features/row-aggregation/aggregationFns.cjs +246 -0
  257. package/dist/features/row-aggregation/aggregationFns.cjs.map +1 -0
  258. package/dist/features/row-aggregation/aggregationFns.d.cts +68 -0
  259. package/dist/features/row-aggregation/aggregationFns.d.ts +68 -0
  260. package/dist/features/row-aggregation/aggregationFns.js +235 -0
  261. package/dist/features/row-aggregation/aggregationFns.js.map +1 -0
  262. package/dist/features/row-aggregation/rowAggregationFeature.cjs +39 -0
  263. package/dist/features/row-aggregation/rowAggregationFeature.cjs.map +1 -0
  264. package/dist/features/row-aggregation/rowAggregationFeature.d.cts +10 -0
  265. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +10 -0
  266. package/dist/features/row-aggregation/rowAggregationFeature.js +39 -0
  267. package/dist/features/row-aggregation/rowAggregationFeature.js.map +1 -0
  268. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs +13 -0
  269. package/dist/features/row-aggregation/rowAggregationFeature.types.cjs.map +1 -0
  270. package/dist/features/row-aggregation/rowAggregationFeature.types.d.cts +195 -0
  271. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +195 -0
  272. package/dist/features/row-aggregation/rowAggregationFeature.types.js +12 -0
  273. package/dist/features/row-aggregation/rowAggregationFeature.types.js.map +1 -0
  274. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs +212 -0
  275. package/dist/features/row-aggregation/rowAggregationFeature.utils.cjs.map +1 -0
  276. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.cts +34 -0
  277. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +34 -0
  278. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +206 -0
  279. package/dist/features/row-aggregation/rowAggregationFeature.utils.js.map +1 -0
  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/column-faceting/columnFacetingFeature.types.ts +17 -48
  499. package/src/features/column-faceting/columnFacetingFeature.utils.ts +53 -18
  500. package/src/features/column-faceting/createFacetedMinMaxValues.ts +33 -7
  501. package/src/features/column-faceting/createFacetedRowModel.ts +8 -1
  502. package/src/features/column-faceting/createFacetedUniqueValues.ts +41 -10
  503. package/src/features/column-filtering/columnFilteringFeature.ts +3 -2
  504. package/src/features/column-filtering/columnFilteringFeature.types.ts +117 -41
  505. package/src/features/column-filtering/columnFilteringFeature.utils.ts +37 -23
  506. package/src/features/column-filtering/createFilteredRowModel.ts +28 -17
  507. package/src/features/column-filtering/filterFns.ts +533 -0
  508. package/src/features/column-filtering/filterRowsUtils.ts +3 -2
  509. package/src/features/column-grouping/columnGroupingFeature.ts +3 -21
  510. package/src/features/column-grouping/columnGroupingFeature.types.ts +21 -95
  511. package/src/features/column-grouping/columnGroupingFeature.utils.ts +4 -87
  512. package/src/features/column-grouping/createGroupedRowModel.ts +46 -45
  513. package/src/features/column-ordering/columnOrderingFeature.ts +12 -7
  514. package/src/features/column-ordering/columnOrderingFeature.types.ts +29 -3
  515. package/src/features/column-ordering/columnOrderingFeature.utils.ts +59 -8
  516. package/src/features/column-pinning/columnPinningFeature.ts +76 -59
  517. package/src/features/column-pinning/columnPinningFeature.types.ts +53 -42
  518. package/src/features/column-pinning/columnPinningFeature.utils.ts +184 -170
  519. package/src/features/column-resizing/columnResizingFeature.types.ts +1 -4
  520. package/src/features/column-resizing/columnResizingFeature.utils.ts +120 -52
  521. package/src/features/column-sizing/columnSizingFeature.ts +24 -24
  522. package/src/features/column-sizing/columnSizingFeature.types.ts +53 -8
  523. package/src/features/column-sizing/columnSizingFeature.utils.ts +143 -62
  524. package/src/features/column-visibility/columnVisibilityFeature.ts +4 -0
  525. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  526. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +48 -30
  527. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  528. package/src/features/global-filtering/globalFilteringFeature.utils.ts +13 -5
  529. package/src/features/row-aggregation/aggregationFns.ts +345 -0
  530. package/src/features/row-aggregation/rowAggregationFeature.ts +60 -0
  531. package/src/features/row-aggregation/rowAggregationFeature.types.ts +339 -0
  532. package/src/features/row-aggregation/rowAggregationFeature.utils.ts +430 -0
  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,28 +1,28 @@
1
1
  import { RowData } from "./type-utils.cjs";
2
- import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
- import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
2
+ import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
3
+ import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
4
4
  import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
5
- import { Table_Headers } from "../core/headers/coreHeadersFeature.types.cjs";
6
5
  import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
7
- import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
8
- import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
6
+ import { Table_Headers } from "../core/headers/coreHeadersFeature.types.cjs";
9
7
  import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
10
- import { Table_Columns } from "../core/columns/coreColumnsFeature.types.cjs";
8
+ import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
11
9
  import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
12
10
  import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.cjs";
13
11
  import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
14
12
  import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
15
13
  import { Table_Rows } from "../core/rows/coreRowsFeature.types.cjs";
16
- import { RowModelFns_All } from "./RowModelFns.cjs";
14
+ import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
17
15
  import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.cjs";
18
- import { CachedRowModel_All, CreateRowModels_All } from "./RowModel.cjs";
19
- import { TableState_All } from "./TableState.cjs";
20
- import { Atoms_All, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.cjs";
21
- import { TableOptions_All } from "./TableOptions.cjs";
22
- import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
23
- import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
24
16
  import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.cjs";
25
- import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
17
+ import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
18
+ import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
19
+ import { CachedRowModel_All } from "./RowModel.cjs";
20
+ import { RowModelFns_All } from "./RowModelFns.cjs";
21
+ import { TableState, TableState_All } from "./TableState.cjs";
22
+ import { Table_Columns } from "../core/columns/coreColumnsFeature.types.cjs";
23
+ import { DebugOptions, TableOptions_All } from "./TableOptions.cjs";
24
+ import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.cjs";
25
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
26
26
  import { ReadonlyStore } from "@tanstack/store";
27
27
 
28
28
  //#region src/types/Table.d.ts
@@ -30,8 +30,8 @@ import { ReadonlyStore } from "@tanstack/store";
30
30
  * The core table object that only includes the core table functionality such as column, header, row, and table APIS.
31
31
  * No features are included.
32
32
  */
33
- type Table_Core<TFeatures extends TableFeatures, TData extends RowData> = Table_Table<TFeatures, TData> & Table_Columns<TFeatures, TData> & Table_Rows<TFeatures, TData> & Table_RowModels<TFeatures, TData> & Table_Headers<TFeatures, TData>;
34
- interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowData> {
33
+ interface Table_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Table_Table<TFeatures, TData>, Table_Columns<TFeatures, TData>, Table_Rows<TFeatures, TData>, Table_RowModels<TFeatures, TData>, Table_Headers<TFeatures, TData> {}
34
+ interface Table_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
35
35
  columnFilteringFeature: Table_ColumnFiltering;
36
36
  columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
37
37
  columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
@@ -51,20 +51,15 @@ interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowDat
51
51
  * The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
52
52
  */
53
53
  type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
54
- type Table_Internal<TFeatures extends TableFeatures, TData extends RowData = any> = Table<TFeatures, TData> & {
55
- _rowModels: CachedRowModel_All<TFeatures, TData>;
56
- _rowModelFns: RowModelFns_All<TFeatures, TData>;
57
- options: TableOptions_All<TFeatures, TData> & {
58
- rowModels?: CreateRowModels_All<TFeatures, TData>;
59
- state?: TableState_All;
60
- initialState?: TableState_All;
61
- atoms?: ExternalAtoms_All;
62
- };
63
- initialState: TableState_All;
64
- baseAtoms: BaseAtoms_All;
65
- atoms: Atoms_All;
66
- store: ReadonlyStore<TableState_All>;
67
- };
54
+ /**
55
+ * `Table_Table` members that `Table` re-declares with broadened
56
+ * (all-features) types so internal code can read any feature's slots and
57
+ * construction code can assign them.
58
+ */
59
+
60
+ /**
61
+ * Internal broad table shape used by feature implementations.
62
+ */
68
63
  //#endregion
69
- export { Table, Table_Core, Table_FeatureMap, Table_Internal };
64
+ export { Table, Table_Core, Table_FeatureMap };
70
65
  //# sourceMappingURL=Table.d.cts.map
@@ -1,28 +1,28 @@
1
1
  import { RowData } from "./type-utils.js";
2
- import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
3
- import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
2
+ import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
3
+ import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
4
  import { Table_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
- import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
6
5
  import { Table_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
7
- import { Table_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
8
- import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
6
+ import { Table_Headers } from "../core/headers/coreHeadersFeature.types.js";
9
7
  import { Table_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
10
- import { Table_Columns } from "../core/columns/coreColumnsFeature.types.js";
8
+ import { Table_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
11
9
  import { Table_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
12
10
  import { Table_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
13
11
  import { Table_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
14
12
  import { Table_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
15
13
  import { Table_Rows } from "../core/rows/coreRowsFeature.types.js";
16
- import { RowModelFns_All } from "./RowModelFns.js";
14
+ import { Table_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
17
15
  import { Table_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
18
- import { CachedRowModel_All, CreateRowModels_All } from "./RowModel.js";
19
- import { TableState_All } from "./TableState.js";
20
- import { Atoms_All, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
21
- import { TableOptions_All } from "./TableOptions.js";
22
- import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
23
- import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
24
16
  import { Table_RowModels } from "../core/row-models/coreRowModelsFeature.types.js";
25
- import { Table_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
17
+ import { Table_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
18
+ import { Table_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
19
+ import { CachedRowModel_All } from "./RowModel.js";
20
+ import { RowModelFns_All } from "./RowModelFns.js";
21
+ import { TableState, TableState_All } from "./TableState.js";
22
+ import { Table_Columns } from "../core/columns/coreColumnsFeature.types.js";
23
+ import { DebugOptions, TableOptions_All } from "./TableOptions.js";
24
+ import { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms_All, Table_Table } from "../core/table/coreTablesFeature.types.js";
25
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
26
26
  import { ReadonlyStore } from "@tanstack/store";
27
27
 
28
28
  //#region src/types/Table.d.ts
@@ -30,8 +30,8 @@ import { ReadonlyStore } from "@tanstack/store";
30
30
  * The core table object that only includes the core table functionality such as column, header, row, and table APIS.
31
31
  * No features are included.
32
32
  */
33
- type Table_Core<TFeatures extends TableFeatures, TData extends RowData> = Table_Table<TFeatures, TData> & Table_Columns<TFeatures, TData> & Table_Rows<TFeatures, TData> & Table_RowModels<TFeatures, TData> & Table_Headers<TFeatures, TData>;
34
- interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowData> {
33
+ interface Table_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Table_Table<TFeatures, TData>, Table_Columns<TFeatures, TData>, Table_Rows<TFeatures, TData>, Table_RowModels<TFeatures, TData>, Table_Headers<TFeatures, TData> {}
34
+ interface Table_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
35
35
  columnFilteringFeature: Table_ColumnFiltering;
36
36
  columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>;
37
37
  columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>;
@@ -51,20 +51,15 @@ interface Table_FeatureMap<TFeatures extends TableFeatures, TData extends RowDat
51
51
  * The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
52
52
  */
53
53
  type Table<TFeatures extends TableFeatures, TData extends RowData> = Table_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>;
54
- type Table_Internal<TFeatures extends TableFeatures, TData extends RowData = any> = Table<TFeatures, TData> & {
55
- _rowModels: CachedRowModel_All<TFeatures, TData>;
56
- _rowModelFns: RowModelFns_All<TFeatures, TData>;
57
- options: TableOptions_All<TFeatures, TData> & {
58
- rowModels?: CreateRowModels_All<TFeatures, TData>;
59
- state?: TableState_All;
60
- initialState?: TableState_All;
61
- atoms?: ExternalAtoms_All;
62
- };
63
- initialState: TableState_All;
64
- baseAtoms: BaseAtoms_All;
65
- atoms: Atoms_All;
66
- store: ReadonlyStore<TableState_All>;
67
- };
54
+ /**
55
+ * `Table_Table` members that `Table` re-declares with broadened
56
+ * (all-features) types so internal code can read any feature's slots and
57
+ * construction code can assign them.
58
+ */
59
+
60
+ /**
61
+ * Internal broad table shape used by feature implementations.
62
+ */
68
63
  //#endregion
69
- export { Table, Table_Core, Table_FeatureMap, Table_Internal };
64
+ export { Table, Table_Core, Table_FeatureMap };
70
65
  //# sourceMappingURL=Table.d.ts.map
@@ -1,53 +1,381 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.cjs";
2
2
  import { CoreFeatures } from "../core/coreFeatures.cjs";
3
- import { Row } from "./Row.cjs";
3
+ import { SortFn } from "../features/row-sorting/rowSortingFeature.types.cjs";
4
4
  import { ColumnDefBase_All } from "./ColumnDef.cjs";
5
+ import { AggregationFnDef } from "../features/row-aggregation/rowAggregationFeature.types.cjs";
6
+ import { Row } from "./Row.cjs";
7
+ import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.cjs";
8
+ import { RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
5
9
  import { TableState_All } from "./TableState.cjs";
6
10
  import { TableOptions_All } from "./TableOptions.cjs";
11
+ import { Table } from "./Table.cjs";
12
+ import { Column } from "./Column.cjs";
7
13
  import { StockFeatures } from "../features/stockFeatures.cjs";
8
- import { Table_Internal } from "./Table.cjs";
9
14
 
10
15
  //#region src/types/TableFeatures.d.ts
16
+ /**
17
+ * Detects whether a type is `any`.
18
+ *
19
+ * Several feature-map helpers need a separate `any` path so broad generic
20
+ * usage still exposes all known feature APIs instead of narrowing to no keys.
21
+ */
11
22
  type IsAny<T> = 0 extends 1 & T ? true : false;
23
+ /**
24
+ * Converts a union to an intersection, returning `{}` for `never`.
25
+ *
26
+ * This keeps empty feature-map lookups usable as an intersection member.
27
+ */
12
28
  type UnionToIntersectionOrEmpty<T> = [T] extends [never] ? {} : UnionToIntersection<T> & {};
29
+ /**
30
+ * Extracts the API/types contributed by the features present in `TFeatures`.
31
+ *
32
+ * `TFeatureMap` maps feature keys to the types they contribute. When
33
+ * `TFeatures` is `any`, all feature-map entries are included to preserve the
34
+ * permissive behavior expected by broad table types. Otherwise, only entries
35
+ * whose keys are present in `TFeatures` are intersected together.
36
+ */
13
37
  type ExtractFeatureMapTypes<TFeatures extends TableFeatures, TFeatureMap extends object> = IsAny<TFeatures> extends true ? UnionToIntersection<TFeatureMap[keyof TFeatureMap]> : UnionToIntersectionOrEmpty<TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]>;
38
+ /**
39
+ * Declaration-merge target for custom table features.
40
+ *
41
+ * Add custom feature keys here so `TableFeatures` can accept them in the
42
+ * `features` option and use the same feature-map extraction system as built-in
43
+ * features.
44
+ */
14
45
  interface Plugins {}
15
- interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {}
46
+ /**
47
+ * Keys of the `features` option that are not table features themselves.
48
+ *
49
+ * These slots carry per-table types (`tableMeta`, `columnMeta`), row model
50
+ * factories, and row model function registries. They are stripped from the
51
+ * table's registered `_features` at runtime and excluded from feature-derived
52
+ * options such as the generated `debug*` keys.
53
+ */
54
+ type NonFeatureKeys = 'aggregationFns' | 'columnMeta' | 'coreRowModel' | 'expandedRowModel' | 'facetedMinMaxValues' | 'facetedRowModel' | 'facetedUniqueValues' | 'filterFns' | 'filterMeta' | 'filteredRowModel' | 'groupedRowModel' | 'paginatedRowModel' | 'sortFns' | 'sortedRowModel' | 'tableMeta';
55
+ /**
56
+ * Maps each row model and fn registry slot to the feature(s) that must be
57
+ * registered alongside it in the same features object.
58
+ *
59
+ * Custom features can declaration-merge their own slot prerequisites into this
60
+ * interface to get the same validation from `tableFeatures()`.
61
+ */
62
+ interface FeatureSlotPrereqs {
63
+ /**
64
+ * Named aggregation functions require the independent aggregation feature.
65
+ */
66
+ aggregationFns: 'rowAggregationFeature';
67
+ /**
68
+ * Column resizing builds on the column sizing state and APIs.
69
+ */
70
+ columnResizingFeature: 'columnSizingFeature';
71
+ /**
72
+ * Expanded row-model factories require row expanding APIs and state.
73
+ */
74
+ expandedRowModel: 'rowExpandingFeature';
75
+ /**
76
+ * Faceted min/max factories require column faceting APIs.
77
+ */
78
+ facetedMinMaxValues: 'columnFacetingFeature';
79
+ /**
80
+ * Faceted row-model factories require column faceting APIs.
81
+ */
82
+ facetedRowModel: 'columnFacetingFeature';
83
+ /**
84
+ * Faceted unique-value factories require column faceting APIs.
85
+ */
86
+ facetedUniqueValues: 'columnFacetingFeature';
87
+ /**
88
+ * Filtered row-model factories require column filtering APIs and state.
89
+ */
90
+ filteredRowModel: 'columnFilteringFeature';
91
+ /**
92
+ * Named filter functions are only meaningful when column filtering is enabled.
93
+ */
94
+ filterFns: 'columnFilteringFeature';
95
+ /**
96
+ * Filter metadata types are only read and written by filtering features.
97
+ */
98
+ filterMeta: 'columnFilteringFeature';
99
+ /**
100
+ * Global filtering builds on column filtering state and filter functions.
101
+ */
102
+ globalFilteringFeature: 'columnFilteringFeature';
103
+ /**
104
+ * Grouped row-model factories require column grouping APIs and state.
105
+ */
106
+ groupedRowModel: 'columnGroupingFeature';
107
+ /**
108
+ * Paginated row-model factories require row pagination APIs and state.
109
+ */
110
+ paginatedRowModel: 'rowPaginationFeature';
111
+ /**
112
+ * Sorted row-model factories require row sorting APIs and state.
113
+ */
114
+ sortedRowModel: 'rowSortingFeature';
115
+ /**
116
+ * Named sorting functions are only meaningful when row sorting is enabled.
117
+ */
118
+ sortFns: 'rowSortingFeature';
119
+ }
120
+ /**
121
+ * Validates that every row model and fn registry slot in a features object is
122
+ * accompanied by its prerequisite feature.
123
+ *
124
+ * Slots whose prerequisite is missing have their type replaced with a literal
125
+ * error message, so the offending property fails to type-check with a message
126
+ * naming the feature that needs to be added.
127
+ */
128
+ type ValidateFeatureSlots<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? {} : { [K in keyof TFeatures as K extends keyof FeatureSlotPrereqs ? K : never]: K extends keyof FeatureSlotPrereqs ? [Extract<FeatureSlotPrereqs[K], keyof TFeatures>] extends [never] ? `Error: '${K & string}' requires '${FeatureSlotPrereqs[K] & string}' to be included in this table's features.` : TFeatures[K] : never };
129
+ /**
130
+ * Complete feature registry for a table.
131
+ *
132
+ * This type combines core features, stock features, declaration-merged custom
133
+ * plugins, row-model factory slots, function registries, and type-only meta
134
+ * slots. The concrete `features` object passed to `tableFeatures()` determines
135
+ * which feature APIs are included throughout table, row, column, cell, header,
136
+ * options, and state types.
137
+ */
138
+ interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
139
+ /**
140
+ * Registry of aggregation functions available to this table by name.
141
+ *
142
+ * Keys registered here become the valid string values for `aggregationFn` on
143
+ * column definitions, with full inference. Import the built-in aggregation
144
+ * functions you use individually and register them by their conventional
145
+ * names: `aggregationFns: { sum: aggregationFn_sum, myCustomAggregationFn }`.
146
+ * Spreading the exported `aggregationFns` registry also works, but puts
147
+ * every built-in aggregation function in your bundle.
148
+ */
149
+ aggregationFns?: Record<string, AggregationFnDef<any, any, any, any>>;
150
+ /**
151
+ * Type-only slot for declaring the type of `columnDef.meta` for all columns
152
+ * of this table.
153
+ *
154
+ * Pass a phantom value: `columnMeta: {} as MyColumnMeta`. The value itself is
155
+ * ignored and stripped from the table's registered features at runtime — only
156
+ * its type is used, inferred wherever `TFeatures` flows.
157
+ *
158
+ * When omitted, the global declaration-merged `ColumnMeta` interface applies.
159
+ */
160
+ columnMeta?: object;
161
+ /**
162
+ * Factory for the table's core (unmodified) row model. Defaults to the
163
+ * built-in `createCoreRowModel()` when omitted.
164
+ */
165
+ coreRowModel?: (table: any) => () => RowModel<any, any>;
166
+ /**
167
+ * Factory for the client-side expanded row model. Pass the exported
168
+ * `createExpandedRowModel()` or implement your own. Not needed for
169
+ * server-side expansion.
170
+ */
171
+ expandedRowModel?: (table: any) => () => RowModel<any, any>;
172
+ /**
173
+ * Factory for per-column faceted min/max values. Pass the exported
174
+ * `createFacetedMinMaxValues()` or implement your own. Not needed for
175
+ * server-side faceting.
176
+ */
177
+ facetedMinMaxValues?: (table: any, columnId: string) => () => [number, number] | undefined;
178
+ /**
179
+ * Factory for the per-column faceted row model. Pass the exported
180
+ * `createFacetedRowModel()` or implement your own. Not needed for
181
+ * server-side faceting.
182
+ */
183
+ facetedRowModel?: (table: any, columnId: string) => () => RowModel<any, any>;
184
+ /**
185
+ * Factory for per-column faceted unique values. Pass the exported
186
+ * `createFacetedUniqueValues()` or implement your own. Not needed for
187
+ * server-side faceting.
188
+ */
189
+ facetedUniqueValues?: (table: any, columnId: string) => () => Map<any, number>;
190
+ /**
191
+ * Factory for the client-side filtered row model. Pass the exported
192
+ * `createFilteredRowModel()` or implement your own. Not needed for
193
+ * server-side filtering.
194
+ */
195
+ filteredRowModel?: (table: any) => () => RowModel<any, any>;
196
+ /**
197
+ * Registry of filter functions available to this table by name.
198
+ *
199
+ * Keys registered here become the valid string values for `filterFn` on
200
+ * column definitions and the `globalFilterFn` option, with full inference.
201
+ * Import the built-in filter functions you use individually and register
202
+ * them by their conventional names:
203
+ * `filterFns: { includesString: filterFn_includesString, myCustomFilterFn }`.
204
+ * Spreading the exported `filterFns` registry also works, but puts every
205
+ * built-in filter function in your bundle.
206
+ */
207
+ filterFns?: Record<string, FilterFn<any, any>>;
208
+ /**
209
+ * Type-only slot for declaring the type of the filter meta that filter
210
+ * functions attach to rows via `addMeta` and that is read back from
211
+ * `row.columnFiltersMeta`.
212
+ *
213
+ * Pass a phantom value: `filterMeta: {} as MyFilterMeta` (or
214
+ * `metaHelper<MyFilterMeta>()`). The value itself is ignored and stripped
215
+ * from the table's registered features at runtime; only its type is used.
216
+ *
217
+ * When omitted, the global declaration-merged `FilterMeta` interface applies.
218
+ */
219
+ filterMeta?: object;
220
+ /**
221
+ * Factory for the client-side grouped row model. Pass the exported
222
+ * `createGroupedRowModel()` or implement your own. Not needed for
223
+ * server-side grouping.
224
+ */
225
+ groupedRowModel?: (table: any) => () => RowModel<any, any>;
226
+ /**
227
+ * Factory for the client-side paginated row model. Pass the exported
228
+ * `createPaginatedRowModel()` or implement your own. Not needed for
229
+ * server-side pagination.
230
+ */
231
+ paginatedRowModel?: (table: any) => () => RowModel<any, any>;
232
+ /**
233
+ * Factory for the client-side sorted row model. Pass the exported
234
+ * `createSortedRowModel()` or implement your own. Not needed for
235
+ * server-side sorting.
236
+ */
237
+ sortedRowModel?: (table: any) => () => RowModel<any, any>;
238
+ /**
239
+ * Registry of sorting functions available to this table by name.
240
+ *
241
+ * Keys registered here become the valid string values for `sortFn` on column
242
+ * definitions, with full inference. Import the built-in sorting functions
243
+ * you use individually and register them by their conventional names:
244
+ * `sortFns: { alphanumeric: sortFn_alphanumeric, myCustomSortFn }`. Spreading
245
+ * the exported `sortFns` registry also works, but puts every built-in
246
+ * sorting function in your bundle.
247
+ */
248
+ sortFns?: Record<string, SortFn<any, any>>;
249
+ /**
250
+ * Type-only slot for declaring the type of this table's `options.meta`.
251
+ *
252
+ * Pass a phantom value: `tableMeta: {} as MyTableMeta`. The value itself is
253
+ * ignored and stripped from the table's registered features at runtime — only
254
+ * its type is used, inferred wherever `TFeatures` flows.
255
+ *
256
+ * When omitted, the global declaration-merged `TableMeta` interface applies.
257
+ */
258
+ tableMeta?: object;
259
+ }
260
+ /**
261
+ * Lifecycle hooks and defaults contributed by a table feature.
262
+ *
263
+ * Feature objects are registered in the table's `features` option. They can
264
+ * contribute default state/options, default column definitions, table APIs,
265
+ * shared prototype APIs for rows/columns/headers/cells, and per-instance row
266
+ * or column data.
267
+ */
16
268
  interface TableFeature {
17
269
  /**
18
- * Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
19
- * This is called once per table to build a shared prototype for all cells.
270
+ * Adds feature methods to the shared cell prototype for a table.
271
+ *
272
+ * This runs lazily the first time a cell is constructed for a table. Methods
273
+ * assigned here are shared by every cell instance created by that table, so
274
+ * this hook should be used for APIs and memoized methods rather than
275
+ * per-cell mutable data.
276
+ */
277
+ assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
278
+ /**
279
+ * Adds feature methods to the shared column prototype for a table.
280
+ *
281
+ * This runs lazily the first time a column is constructed for a table.
282
+ * Methods assigned here are shared by every column instance created by that
283
+ * table, so this hook should be used for APIs and memoized methods rather
284
+ * than per-column mutable data.
20
285
  */
21
- assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
286
+ assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
22
287
  /**
23
- * Assigns Column APIs to the column prototype for memory-efficient method sharing.
24
- * This is called once per table to build a shared prototype for all columns.
288
+ * Adds feature methods to the shared header prototype for a table.
289
+ *
290
+ * This runs lazily the first time a header is constructed for a table.
291
+ * Methods assigned here are shared by every header instance created by that
292
+ * table, so this hook should be used for APIs and memoized methods rather
293
+ * than per-header mutable data.
25
294
  */
26
- assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
295
+ assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
27
296
  /**
28
- * Assigns Header APIs to the header prototype for memory-efficient method sharing.
29
- * This is called once per table to build a shared prototype for all headers.
297
+ * Adds feature methods to the shared row prototype for a table.
298
+ *
299
+ * This runs lazily the first time a row is constructed for a table. Methods
300
+ * assigned here are shared by every row instance created by that table, so
301
+ * this hook should be used for APIs and memoized methods rather than per-row
302
+ * mutable data.
30
303
  */
31
- assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
304
+ assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
32
305
  /**
33
- * Assigns Row APIs to the row prototype for memory-efficient method sharing.
34
- * This is called once per table to build a shared prototype for all rows.
306
+ * Adds feature APIs directly to the table instance.
307
+ *
308
+ * The table is a singleton, unlike rows, columns, headers, and cells, so
309
+ * table APIs are assigned directly instead of through a shared prototype.
310
+ * This hook is exclusively for assigning table methods. It runs after
311
+ * options, state atoms, and the store have been created and after every
312
+ * feature's `initTableInstanceData` hook has completed.
35
313
  */
36
- assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
314
+ constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
37
315
  /**
38
- * Assigns Table APIs to the table instance.
39
- * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
316
+ * Returns default column definition options contributed by this feature.
317
+ *
318
+ * These defaults are merged into the table's default column definition before
319
+ * `options.defaultColumn` and before each user-supplied column definition is
320
+ * resolved, so users can override values supplied here.
40
321
  */
41
- constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => void;
42
322
  getDefaultColumnDef?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>() => ColumnDefBase_All<TFeatures, TData, TValue>;
43
- getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
323
+ /**
324
+ * Returns default table options contributed by this feature.
325
+ *
326
+ * This runs while table options are being resolved. Use it for option
327
+ * defaults such as feature enablement flags and default state-updater
328
+ * callbacks. User-supplied table options take precedence over values returned
329
+ * here.
330
+ */
331
+ getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
332
+ /**
333
+ * Returns this feature's initial table state.
334
+ *
335
+ * The incoming `initialState` contains state accumulated from earlier
336
+ * features and user-provided initial state. Return a complete state object
337
+ * for this feature, preserving `initialState` so user-provided values can
338
+ * override feature defaults.
339
+ */
44
340
  getInitialState?: (initialState: Partial<TableState_All>) => TableState_All;
45
341
  /**
46
- * Initializes instance-specific data on each row (e.g., caches).
47
- * Methods should be assigned via assignRowPrototype instead.
342
+ * Initializes mutable, non-reactive data owned by this feature on the table
343
+ * instance.
344
+ *
345
+ * This runs once during table construction after options, state atoms, and
346
+ * the store are available, and before any feature's `constructTableAPIs`
347
+ * hook runs. Use `constructTableAPIs` exclusively for assigning table
348
+ * methods. Table resets do not rerun this hook; use
349
+ * `resetTableInstanceData` to clear transient instance data instead.
350
+ */
351
+ initTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
352
+ /**
353
+ * Initializes instance-specific data on each column.
354
+ *
355
+ * This runs for every constructed column after core column fields such as
356
+ * `id`, `depth`, `parent`, `columnDef`, and `columns` have been assigned.
357
+ * Use this for per-column mutable data, caches, or annotations. Shared
358
+ * methods should be assigned via `assignColumnPrototype` instead.
359
+ */
360
+ initColumnInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>) => void;
361
+ /**
362
+ * Initializes instance-specific data on each row.
363
+ *
364
+ * This runs for every constructed row after core row fields such as `id`,
365
+ * `index`, `depth`, `original`, `parentId`, and `subRows` have been assigned.
366
+ * Use this for per-row mutable data, caches, or annotations. Shared methods
367
+ * should be assigned via `assignRowPrototype` instead.
48
368
  */
49
369
  initRowInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>) => void;
370
+ /**
371
+ * Resets mutable, non-reactive table-instance data owned by this feature.
372
+ *
373
+ * This runs after internally owned state atoms have been restored to
374
+ * `table.initialState` by `table.reset()`. It is intended for transient
375
+ * feature data, not table state slices or externally controlled state.
376
+ */
377
+ resetTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
50
378
  }
51
379
  //#endregion
52
- export { ExtractFeatureMapTypes, Plugins, TableFeature, TableFeatures };
380
+ export { ExtractFeatureMapTypes, FeatureSlotPrereqs, IsAny, NonFeatureKeys, Plugins, TableFeature, TableFeatures, ValidateFeatureSlots };
53
381
  //# sourceMappingURL=TableFeatures.d.cts.map