@tanstack/table-core 9.0.0-beta.7 → 9.0.0-beta.70

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 (667) hide show
  1. package/README.md +5 -1
  2. package/dist/core/cells/constructCell.d.ts +4 -6
  3. package/dist/core/cells/constructCell.js +4 -6
  4. package/dist/core/cells/coreCellsFeature.d.ts +1 -3
  5. package/dist/core/cells/coreCellsFeature.js +1 -2
  6. package/dist/core/cells/coreCellsFeature.types.d.ts +7 -9
  7. package/dist/core/cells/coreCellsFeature.utils.d.ts +5 -5
  8. package/dist/core/cells/coreCellsFeature.utils.js +1 -2
  9. package/dist/core/columns/constructColumn.d.ts +4 -6
  10. package/dist/core/columns/constructColumn.js +8 -9
  11. package/dist/core/columns/coreColumnsFeature.d.ts +1 -3
  12. package/dist/core/columns/coreColumnsFeature.js +13 -20
  13. package/dist/core/columns/coreColumnsFeature.types.d.ts +13 -15
  14. package/dist/core/columns/coreColumnsFeature.utils.d.ts +10 -12
  15. package/dist/core/columns/coreColumnsFeature.utils.js +19 -20
  16. package/dist/core/coreFeatures.d.ts +3 -3
  17. package/dist/core/coreFeatures.js +1 -2
  18. package/dist/core/headers/buildHeaderGroups.d.ts +3 -5
  19. package/dist/core/headers/buildHeaderGroups.js +99 -85
  20. package/dist/core/headers/constructHeader.d.ts +3 -5
  21. package/dist/core/headers/constructHeader.js +4 -6
  22. package/dist/core/headers/coreHeadersFeature.d.ts +1 -3
  23. package/dist/core/headers/coreHeadersFeature.js +9 -13
  24. package/dist/core/headers/coreHeadersFeature.types.d.ts +21 -11
  25. package/dist/core/headers/coreHeadersFeature.utils.d.ts +8 -8
  26. package/dist/core/headers/coreHeadersFeature.utils.js +14 -17
  27. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +8 -3
  28. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +1 -3
  29. package/dist/core/reactivity/coreReactivityFeature.utils.js +1 -2
  30. package/dist/core/reactivity/renderPhaseReactivity.d.ts +80 -0
  31. package/dist/core/reactivity/renderPhaseReactivity.js +95 -0
  32. package/dist/core/row-models/coreRowModelsFeature.d.ts +1 -3
  33. package/dist/core/row-models/coreRowModelsFeature.js +1 -2
  34. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +7 -17
  35. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +17 -19
  36. package/dist/core/row-models/coreRowModelsFeature.utils.js +9 -28
  37. package/dist/core/row-models/createCoreRowModel.d.ts +3 -5
  38. package/dist/core/row-models/createCoreRowModel.js +25 -24
  39. package/dist/core/rows/constructRow.d.ts +3 -5
  40. package/dist/core/rows/constructRow.js +9 -13
  41. package/dist/core/rows/coreRowsFeature.d.ts +1 -3
  42. package/dist/core/rows/coreRowsFeature.js +20 -5
  43. package/dist/core/rows/coreRowsFeature.types.d.ts +42 -10
  44. package/dist/core/rows/coreRowsFeature.utils.d.ts +26 -9
  45. package/dist/core/rows/coreRowsFeature.utils.js +65 -14
  46. package/dist/core/table/constructTable.d.ts +2 -4
  47. package/dist/core/table/constructTable.js +52 -23
  48. package/dist/core/table/coreTablesFeature.d.ts +1 -3
  49. package/dist/core/table/coreTablesFeature.js +1 -2
  50. package/dist/core/table/coreTablesFeature.types.d.ts +56 -25
  51. package/dist/core/table/coreTablesFeature.utils.d.ts +34 -12
  52. package/dist/core/table/coreTablesFeature.utils.js +69 -24
  53. package/dist/experimental-worker-plugin.d.ts +5 -0
  54. package/dist/experimental-worker-plugin.js +6 -0
  55. package/dist/features/cell-selection/cellSelectionFeature.d.ts +8 -0
  56. package/dist/features/cell-selection/cellSelectionFeature.js +128 -0
  57. package/dist/features/cell-selection/cellSelectionFeature.types.d.ts +296 -0
  58. package/dist/features/cell-selection/cellSelectionFeature.utils.d.ts +306 -0
  59. package/dist/features/cell-selection/cellSelectionFeature.utils.js +873 -0
  60. package/dist/features/cell-selection/cellSelectionGeometry.js +121 -0
  61. package/dist/features/cell-spanning/cellSpanningFeature.d.ts +13 -0
  62. package/dist/features/cell-spanning/cellSpanningFeature.js +47 -0
  63. package/dist/features/cell-spanning/cellSpanningFeature.types.d.ts +150 -0
  64. package/dist/features/cell-spanning/cellSpanningFeature.utils.d.ts +74 -0
  65. package/dist/features/cell-spanning/cellSpanningFeature.utils.js +262 -0
  66. package/dist/features/column-faceting/columnFacetingFeature.d.ts +1 -3
  67. package/dist/features/column-faceting/columnFacetingFeature.js +13 -20
  68. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +15 -35
  69. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +10 -12
  70. package/dist/features/column-faceting/columnFacetingFeature.utils.js +25 -14
  71. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +2 -4
  72. package/dist/features/column-faceting/createFacetedMinMaxValues.js +9 -7
  73. package/dist/features/column-faceting/createFacetedRowModel.d.ts +3 -5
  74. package/dist/features/column-faceting/createFacetedRowModel.js +12 -17
  75. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +2 -4
  76. package/dist/features/column-faceting/createFacetedUniqueValues.js +12 -9
  77. package/dist/features/column-filtering/columnFilteringFeature.d.ts +1 -3
  78. package/dist/features/column-filtering/columnFilteringFeature.js +4 -5
  79. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +85 -33
  80. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +19 -17
  81. package/dist/features/column-filtering/columnFilteringFeature.utils.js +33 -21
  82. package/dist/features/column-filtering/createFilteredRowModel.d.ts +11 -7
  83. package/dist/features/column-filtering/createFilteredRowModel.js +33 -29
  84. package/dist/features/column-filtering/filterFns.d.ts +208 -0
  85. package/dist/features/column-filtering/filterFns.js +374 -0
  86. package/dist/features/column-filtering/filterRowsUtils.js +4 -4
  87. package/dist/features/column-grouping/columnGroupingFeature.d.ts +2 -4
  88. package/dist/features/column-grouping/columnGroupingFeature.js +7 -20
  89. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +14 -52
  90. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +12 -51
  91. package/dist/features/column-grouping/columnGroupingFeature.utils.js +8 -61
  92. package/dist/features/column-grouping/createGroupedRowModel.d.ts +7 -7
  93. package/dist/features/column-grouping/createGroupedRowModel.js +69 -38
  94. package/dist/features/column-ordering/columnOrderingFeature.d.ts +1 -3
  95. package/dist/features/column-ordering/columnOrderingFeature.js +19 -24
  96. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +28 -5
  97. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +26 -16
  98. package/dist/features/column-ordering/columnOrderingFeature.utils.js +36 -18
  99. package/dist/features/column-pinning/columnPinningFeature.d.ts +7 -4
  100. package/dist/features/column-pinning/columnPinningFeature.js +126 -146
  101. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +53 -44
  102. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +100 -93
  103. package/dist/features/column-pinning/columnPinningFeature.utils.js +148 -150
  104. package/dist/features/column-resizing/columnResizingFeature.d.ts +1 -3
  105. package/dist/features/column-resizing/columnResizingFeature.js +1 -2
  106. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +2 -7
  107. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +7 -9
  108. package/dist/features/column-resizing/columnResizingFeature.utils.js +86 -48
  109. package/dist/features/column-sizing/columnSizingFeature.d.ts +1 -3
  110. package/dist/features/column-sizing/columnSizingFeature.js +35 -70
  111. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +52 -11
  112. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +43 -27
  113. package/dist/features/column-sizing/columnSizingFeature.utils.js +95 -54
  114. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +1 -3
  115. package/dist/features/column-visibility/columnVisibilityFeature.js +26 -38
  116. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -6
  117. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +20 -20
  118. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +32 -32
  119. package/dist/features/global-filtering/globalFilteringFeature.d.ts +1 -3
  120. package/dist/features/global-filtering/globalFilteringFeature.js +3 -4
  121. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -6
  122. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -13
  123. package/dist/features/global-filtering/globalFilteringFeature.utils.js +7 -8
  124. package/dist/features/row-aggregation/aggregationFns.d.ts +66 -0
  125. package/dist/features/row-aggregation/aggregationFns.js +279 -0
  126. package/dist/features/row-aggregation/rowAggregationFeature.d.ts +8 -0
  127. package/dist/features/row-aggregation/rowAggregationFeature.js +35 -0
  128. package/dist/features/row-aggregation/rowAggregationFeature.types.d.ts +193 -0
  129. package/dist/features/row-aggregation/rowAggregationFeature.types.js +11 -0
  130. package/dist/features/row-aggregation/rowAggregationFeature.utils.d.ts +46 -0
  131. package/dist/features/row-aggregation/rowAggregationFeature.utils.js +235 -0
  132. package/dist/features/row-expanding/createExpandedRowModel.d.ts +3 -5
  133. package/dist/features/row-expanding/createExpandedRowModel.js +9 -13
  134. package/dist/features/row-expanding/rowExpandingFeature.d.ts +1 -3
  135. package/dist/features/row-expanding/rowExpandingFeature.js +1 -2
  136. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +6 -17
  137. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +11 -16
  138. package/dist/features/row-expanding/rowExpandingFeature.utils.js +30 -33
  139. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +3 -5
  140. package/dist/features/row-pagination/createPaginatedRowModel.js +7 -12
  141. package/dist/features/row-pagination/rowPaginationFeature.d.ts +1 -3
  142. package/dist/features/row-pagination/rowPaginationFeature.js +1 -2
  143. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +5 -16
  144. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +18 -20
  145. package/dist/features/row-pagination/rowPaginationFeature.utils.js +10 -17
  146. package/dist/features/row-pinning/rowPinningFeature.d.ts +1 -3
  147. package/dist/features/row-pinning/rowPinningFeature.js +5 -18
  148. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +3 -5
  149. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +8 -10
  150. package/dist/features/row-pinning/rowPinningFeature.utils.js +10 -16
  151. package/dist/features/row-selection/rowSelectionFeature.d.ts +1 -3
  152. package/dist/features/row-selection/rowSelectionFeature.js +68 -25
  153. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +51 -15
  154. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +60 -35
  155. package/dist/features/row-selection/rowSelectionFeature.utils.js +142 -89
  156. package/dist/features/row-sorting/createSortedRowModel.d.ts +11 -7
  157. package/dist/features/row-sorting/createSortedRowModel.js +71 -53
  158. package/dist/features/row-sorting/rowSortingFeature.d.ts +1 -3
  159. package/dist/features/row-sorting/rowSortingFeature.js +1 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +54 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +19 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +36 -25
  163. package/dist/features/row-sorting/sortFns.d.ts +96 -0
  164. package/dist/features/row-sorting/sortFns.js +216 -0
  165. package/dist/features/stockFeatures.d.ts +7 -3
  166. package/dist/features/stockFeatures.js +7 -2
  167. package/dist/flex-render.d.ts +2 -4
  168. package/dist/flex-render.js +10 -3
  169. package/dist/helpers/columnHelper.d.ts +3 -5
  170. package/dist/helpers/columnHelper.js +1 -2
  171. package/dist/helpers/metaHelper.d.ts +25 -0
  172. package/dist/helpers/metaHelper.js +28 -0
  173. package/dist/helpers/tableFeatures.d.ts +35 -8
  174. package/dist/helpers/tableFeatures.js +33 -5
  175. package/dist/helpers/tableOptions.d.ts +1 -3
  176. package/dist/helpers/tableOptions.js +1 -2
  177. package/dist/index.d.ts +34 -27
  178. package/dist/index.js +10 -5
  179. package/dist/reactivity.d.ts +2 -1
  180. package/dist/reactivity.js +2 -1
  181. package/dist/static-functions.d.ts +11 -8
  182. package/dist/static-functions.js +11 -8
  183. package/dist/store-reactivity-bindings.d.ts +2 -4
  184. package/dist/store-reactivity-bindings.js +4 -5
  185. package/dist/types/Cell.d.ts +9 -5
  186. package/dist/types/Column.d.ts +13 -15
  187. package/dist/types/ColumnDef.d.ts +39 -21
  188. package/dist/types/Header.d.ts +3 -5
  189. package/dist/types/HeaderGroup.d.ts +3 -5
  190. package/dist/types/Row.d.ts +7 -7
  191. package/dist/types/RowModel.d.ts +11 -25
  192. package/dist/types/RowModelFns.d.ts +5 -7
  193. package/dist/types/Table.d.ts +29 -32
  194. package/dist/types/TableFeatures.d.ts +388 -24
  195. package/dist/types/TableOptions.d.ts +24 -14
  196. package/dist/types/TableState.d.ts +8 -8
  197. package/dist/types/type-utils.d.ts +10 -4
  198. package/dist/utils.d.ts +32 -26
  199. package/dist/utils.js +52 -32
  200. package/dist/worker/createTableWorker.d.ts +100 -0
  201. package/dist/worker/createTableWorker.js +185 -0
  202. package/dist/worker/createWorkerRowModel.d.ts +40 -0
  203. package/dist/worker/createWorkerRowModel.js +77 -0
  204. package/dist/worker/initTableWorker.d.ts +31 -0
  205. package/dist/worker/initTableWorker.js +99 -0
  206. package/dist/worker/rebuildRowModel.d.ts +11 -0
  207. package/dist/worker/rebuildRowModel.js +71 -0
  208. package/dist/worker/serializeRowModel.js +51 -0
  209. package/dist/worker/tableWorkerProtocol.d.ts +88 -0
  210. package/dist/worker/tableWorkerProtocol.js +26 -0
  211. package/package.json +12 -28
  212. package/skills/aggregation/SKILL.md +141 -0
  213. package/skills/api-not-found/SKILL.md +113 -0
  214. package/skills/cell-selection/SKILL.md +204 -0
  215. package/skills/cell-spanning/SKILL.md +162 -0
  216. package/skills/client-vs-server/SKILL.md +164 -0
  217. package/skills/column-faceting/SKILL.md +97 -0
  218. package/skills/column-filtering/SKILL.md +87 -0
  219. package/skills/column-ordering/SKILL.md +75 -0
  220. package/skills/column-pinning/SKILL.md +89 -0
  221. package/skills/column-resizing/SKILL.md +91 -0
  222. package/skills/column-sizing/SKILL.md +72 -0
  223. package/skills/column-visibility/SKILL.md +75 -0
  224. package/skills/core/SKILL.md +175 -0
  225. package/skills/custom-features/SKILL.md +235 -0
  226. package/skills/expanding/SKILL.md +80 -0
  227. package/skills/global-filtering/SKILL.md +84 -0
  228. package/skills/grouping/SKILL.md +51 -401
  229. package/skills/migrate-v8-to-v9/SKILL.md +275 -416
  230. package/skills/pagination/SKILL.md +37 -344
  231. package/skills/row-pinning/SKILL.md +47 -234
  232. package/skills/row-selection/SKILL.md +75 -302
  233. package/skills/sorting/SKILL.md +45 -303
  234. package/skills/table-features/SKILL.md +159 -0
  235. package/skills/typescript/SKILL.md +126 -0
  236. package/dist/core/cells/constructCell.cjs +0 -34
  237. package/dist/core/cells/constructCell.cjs.map +0 -1
  238. package/dist/core/cells/constructCell.d.cts +0 -17
  239. package/dist/core/cells/constructCell.js.map +0 -1
  240. package/dist/core/cells/coreCellsFeature.cjs +0 -21
  241. package/dist/core/cells/coreCellsFeature.cjs.map +0 -1
  242. package/dist/core/cells/coreCellsFeature.d.cts +0 -10
  243. package/dist/core/cells/coreCellsFeature.js.map +0 -1
  244. package/dist/core/cells/coreCellsFeature.types.d.cts +0 -57
  245. package/dist/core/cells/coreCellsFeature.utils.cjs +0 -57
  246. package/dist/core/cells/coreCellsFeature.utils.cjs.map +0 -1
  247. package/dist/core/cells/coreCellsFeature.utils.d.cts +0 -53
  248. package/dist/core/cells/coreCellsFeature.utils.js.map +0 -1
  249. package/dist/core/columns/constructColumn.cjs +0 -61
  250. package/dist/core/columns/constructColumn.cjs.map +0 -1
  251. package/dist/core/columns/constructColumn.d.cts +0 -16
  252. package/dist/core/columns/constructColumn.js.map +0 -1
  253. package/dist/core/columns/coreColumnsFeature.cjs +0 -70
  254. package/dist/core/columns/coreColumnsFeature.cjs.map +0 -1
  255. package/dist/core/columns/coreColumnsFeature.d.cts +0 -10
  256. package/dist/core/columns/coreColumnsFeature.js.map +0 -1
  257. package/dist/core/columns/coreColumnsFeature.types.d.cts +0 -94
  258. package/dist/core/columns/coreColumnsFeature.utils.cjs +0 -187
  259. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +0 -1
  260. package/dist/core/columns/coreColumnsFeature.utils.d.cts +0 -119
  261. package/dist/core/columns/coreColumnsFeature.utils.js.map +0 -1
  262. package/dist/core/coreFeatures.cjs +0 -25
  263. package/dist/core/coreFeatures.cjs.map +0 -1
  264. package/dist/core/coreFeatures.d.cts +0 -26
  265. package/dist/core/coreFeatures.js.map +0 -1
  266. package/dist/core/headers/buildHeaderGroups.cjs +0 -103
  267. package/dist/core/headers/buildHeaderGroups.cjs.map +0 -1
  268. package/dist/core/headers/buildHeaderGroups.d.cts +0 -16
  269. package/dist/core/headers/buildHeaderGroups.js.map +0 -1
  270. package/dist/core/headers/constructHeader.cjs +0 -41
  271. package/dist/core/headers/constructHeader.cjs.map +0 -1
  272. package/dist/core/headers/constructHeader.d.cts +0 -22
  273. package/dist/core/headers/constructHeader.js.map +0 -1
  274. package/dist/core/headers/coreHeadersFeature.cjs +0 -55
  275. package/dist/core/headers/coreHeadersFeature.cjs.map +0 -1
  276. package/dist/core/headers/coreHeadersFeature.d.cts +0 -10
  277. package/dist/core/headers/coreHeadersFeature.js.map +0 -1
  278. package/dist/core/headers/coreHeadersFeature.types.d.cts +0 -106
  279. package/dist/core/headers/coreHeadersFeature.utils.cjs +0 -142
  280. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +0 -1
  281. package/dist/core/headers/coreHeadersFeature.utils.d.cts +0 -85
  282. package/dist/core/headers/coreHeadersFeature.utils.js.map +0 -1
  283. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +0 -48
  284. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +0 -24
  285. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +0 -1
  286. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +0 -24
  287. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +0 -1
  288. package/dist/core/row-models/coreRowModelsFeature.cjs +0 -27
  289. package/dist/core/row-models/coreRowModelsFeature.cjs.map +0 -1
  290. package/dist/core/row-models/coreRowModelsFeature.d.cts +0 -10
  291. package/dist/core/row-models/coreRowModelsFeature.js.map +0 -1
  292. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +0 -41
  293. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +0 -215
  294. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +0 -1
  295. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +0 -153
  296. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +0 -1
  297. package/dist/core/row-models/createCoreRowModel.cjs +0 -52
  298. package/dist/core/row-models/createCoreRowModel.cjs.map +0 -1
  299. package/dist/core/row-models/createCoreRowModel.d.cts +0 -15
  300. package/dist/core/row-models/createCoreRowModel.js.map +0 -1
  301. package/dist/core/rows/constructRow.cjs +0 -44
  302. package/dist/core/rows/constructRow.cjs.map +0 -1
  303. package/dist/core/rows/constructRow.d.cts +0 -15
  304. package/dist/core/rows/constructRow.js.map +0 -1
  305. package/dist/core/rows/coreRowsFeature.cjs +0 -37
  306. package/dist/core/rows/coreRowsFeature.cjs.map +0 -1
  307. package/dist/core/rows/coreRowsFeature.d.cts +0 -10
  308. package/dist/core/rows/coreRowsFeature.js.map +0 -1
  309. package/dist/core/rows/coreRowsFeature.types.d.cts +0 -99
  310. package/dist/core/rows/coreRowsFeature.utils.cjs +0 -192
  311. package/dist/core/rows/coreRowsFeature.utils.cjs.map +0 -1
  312. package/dist/core/rows/coreRowsFeature.utils.d.cts +0 -127
  313. package/dist/core/rows/coreRowsFeature.utils.js.map +0 -1
  314. package/dist/core/table/constructTable.cjs +0 -118
  315. package/dist/core/table/constructTable.cjs.map +0 -1
  316. package/dist/core/table/constructTable.d.cts +0 -22
  317. package/dist/core/table/constructTable.js.map +0 -1
  318. package/dist/core/table/coreTablesFeature.cjs +0 -17
  319. package/dist/core/table/coreTablesFeature.cjs.map +0 -1
  320. package/dist/core/table/coreTablesFeature.d.cts +0 -10
  321. package/dist/core/table/coreTablesFeature.js.map +0 -1
  322. package/dist/core/table/coreTablesFeature.types.d.cts +0 -186
  323. package/dist/core/table/coreTablesFeature.utils.cjs +0 -96
  324. package/dist/core/table/coreTablesFeature.utils.cjs.map +0 -1
  325. package/dist/core/table/coreTablesFeature.utils.d.cts +0 -57
  326. package/dist/core/table/coreTablesFeature.utils.js.map +0 -1
  327. package/dist/features/column-faceting/columnFacetingFeature.cjs +0 -61
  328. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +0 -1
  329. package/dist/features/column-faceting/columnFacetingFeature.d.cts +0 -10
  330. package/dist/features/column-faceting/columnFacetingFeature.js.map +0 -1
  331. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +0 -85
  332. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +0 -103
  333. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +0 -1
  334. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +0 -84
  335. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +0 -1
  336. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +0 -44
  337. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +0 -1
  338. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +0 -14
  339. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +0 -1
  340. package/dist/features/column-faceting/createFacetedRowModel.cjs +0 -50
  341. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +0 -1
  342. package/dist/features/column-faceting/createFacetedRowModel.d.cts +0 -15
  343. package/dist/features/column-faceting/createFacetedRowModel.js.map +0 -1
  344. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +0 -41
  345. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +0 -1
  346. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +0 -14
  347. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +0 -1
  348. package/dist/features/column-filtering/columnFilteringFeature.cjs +0 -50
  349. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +0 -1
  350. package/dist/features/column-filtering/columnFilteringFeature.d.cts +0 -10
  351. package/dist/features/column-filtering/columnFilteringFeature.js.map +0 -1
  352. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +0 -160
  353. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +0 -212
  354. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +0 -1
  355. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +0 -143
  356. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +0 -1
  357. package/dist/features/column-filtering/createFilteredRowModel.cjs +0 -110
  358. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +0 -1
  359. package/dist/features/column-filtering/createFilteredRowModel.d.cts +0 -16
  360. package/dist/features/column-filtering/createFilteredRowModel.js.map +0 -1
  361. package/dist/features/column-filtering/filterRowsUtils.cjs +0 -81
  362. package/dist/features/column-filtering/filterRowsUtils.cjs.map +0 -1
  363. package/dist/features/column-filtering/filterRowsUtils.js.map +0 -1
  364. package/dist/features/column-grouping/columnGroupingFeature.cjs +0 -67
  365. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +0 -1
  366. package/dist/features/column-grouping/columnGroupingFeature.d.cts +0 -10
  367. package/dist/features/column-grouping/columnGroupingFeature.js.map +0 -1
  368. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +0 -165
  369. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +0 -250
  370. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +0 -1
  371. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +0 -190
  372. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +0 -1
  373. package/dist/features/column-grouping/createGroupedRowModel.cjs +0 -119
  374. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +0 -1
  375. package/dist/features/column-grouping/createGroupedRowModel.d.cts +0 -16
  376. package/dist/features/column-grouping/createGroupedRowModel.js.map +0 -1
  377. package/dist/features/column-ordering/columnOrderingFeature.cjs +0 -58
  378. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +0 -1
  379. package/dist/features/column-ordering/columnOrderingFeature.d.cts +0 -10
  380. package/dist/features/column-ordering/columnOrderingFeature.js.map +0 -1
  381. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +0 -56
  382. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +0 -172
  383. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +0 -1
  384. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +0 -107
  385. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +0 -1
  386. package/dist/features/column-pinning/columnPinningFeature.cjs +0 -221
  387. package/dist/features/column-pinning/columnPinningFeature.cjs.map +0 -1
  388. package/dist/features/column-pinning/columnPinningFeature.d.cts +0 -10
  389. package/dist/features/column-pinning/columnPinningFeature.js.map +0 -1
  390. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +0 -178
  391. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +0 -585
  392. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +0 -1
  393. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +0 -375
  394. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +0 -1
  395. package/dist/features/column-resizing/columnResizingFeature.cjs +0 -41
  396. package/dist/features/column-resizing/columnResizingFeature.cjs.map +0 -1
  397. package/dist/features/column-resizing/columnResizingFeature.d.cts +0 -10
  398. package/dist/features/column-resizing/columnResizingFeature.js.map +0 -1
  399. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +0 -81
  400. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +0 -246
  401. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +0 -1
  402. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +0 -109
  403. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +0 -1
  404. package/dist/features/column-sizing/columnSizingFeature.cjs +0 -124
  405. package/dist/features/column-sizing/columnSizingFeature.cjs.map +0 -1
  406. package/dist/features/column-sizing/columnSizingFeature.d.cts +0 -10
  407. package/dist/features/column-sizing/columnSizingFeature.js.map +0 -1
  408. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +0 -96
  409. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +0 -256
  410. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +0 -1
  411. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +0 -182
  412. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +0 -1
  413. package/dist/features/column-visibility/columnVisibilityFeature.cjs +0 -94
  414. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +0 -1
  415. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +0 -10
  416. package/dist/features/column-visibility/columnVisibilityFeature.js.map +0 -1
  417. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +0 -97
  418. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +0 -283
  419. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +0 -1
  420. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +0 -189
  421. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +0 -1
  422. package/dist/features/global-filtering/globalFilteringFeature.cjs +0 -41
  423. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +0 -1
  424. package/dist/features/global-filtering/globalFilteringFeature.d.cts +0 -10
  425. package/dist/features/global-filtering/globalFilteringFeature.js.map +0 -1
  426. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +0 -71
  427. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +0 -88
  428. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +0 -1
  429. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +0 -74
  430. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +0 -1
  431. package/dist/features/row-expanding/createExpandedRowModel.cjs +0 -59
  432. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +0 -1
  433. package/dist/features/row-expanding/createExpandedRowModel.d.cts +0 -21
  434. package/dist/features/row-expanding/createExpandedRowModel.js.map +0 -1
  435. package/dist/features/row-expanding/rowExpandingFeature.cjs +0 -47
  436. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +0 -1
  437. package/dist/features/row-expanding/rowExpandingFeature.d.cts +0 -10
  438. package/dist/features/row-expanding/rowExpandingFeature.js.map +0 -1
  439. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +0 -127
  440. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +0 -281
  441. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +0 -1
  442. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +0 -191
  443. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +0 -1
  444. package/dist/features/row-pagination/createPaginatedRowModel.cjs +0 -62
  445. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +0 -1
  446. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +0 -15
  447. package/dist/features/row-pagination/createPaginatedRowModel.js.map +0 -1
  448. package/dist/features/row-pagination/rowPaginationFeature.cjs +0 -45
  449. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +0 -1
  450. package/dist/features/row-pagination/rowPaginationFeature.d.cts +0 -10
  451. package/dist/features/row-pagination/rowPaginationFeature.js.map +0 -1
  452. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +0 -135
  453. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +0 -312
  454. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +0 -1
  455. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +0 -218
  456. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +0 -1
  457. package/dist/features/row-pinning/rowPinningFeature.cjs +0 -67
  458. package/dist/features/row-pinning/rowPinningFeature.cjs.map +0 -1
  459. package/dist/features/row-pinning/rowPinningFeature.d.cts +0 -10
  460. package/dist/features/row-pinning/rowPinningFeature.js.map +0 -1
  461. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +0 -83
  462. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +0 -229
  463. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +0 -1
  464. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +0 -143
  465. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +0 -1
  466. package/dist/features/row-selection/rowSelectionFeature.cjs +0 -75
  467. package/dist/features/row-selection/rowSelectionFeature.cjs.map +0 -1
  468. package/dist/features/row-selection/rowSelectionFeature.d.cts +0 -10
  469. package/dist/features/row-selection/rowSelectionFeature.js.map +0 -1
  470. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +0 -136
  471. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +0 -514
  472. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +0 -1
  473. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +0 -318
  474. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +0 -1
  475. package/dist/features/row-sorting/createSortedRowModel.cjs +0 -95
  476. package/dist/features/row-sorting/createSortedRowModel.cjs.map +0 -1
  477. package/dist/features/row-sorting/createSortedRowModel.d.cts +0 -16
  478. package/dist/features/row-sorting/createSortedRowModel.js.map +0 -1
  479. package/dist/features/row-sorting/rowSortingFeature.cjs +0 -55
  480. package/dist/features/row-sorting/rowSortingFeature.cjs.map +0 -1
  481. package/dist/features/row-sorting/rowSortingFeature.d.cts +0 -10
  482. package/dist/features/row-sorting/rowSortingFeature.js.map +0 -1
  483. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +0 -188
  484. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +0 -305
  485. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +0 -1
  486. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +0 -193
  487. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +0 -1
  488. package/dist/features/stockFeatures.cjs +0 -41
  489. package/dist/features/stockFeatures.cjs.map +0 -1
  490. package/dist/features/stockFeatures.d.cts +0 -41
  491. package/dist/features/stockFeatures.js.map +0 -1
  492. package/dist/flex-render.cjs +0 -29
  493. package/dist/flex-render.cjs.map +0 -1
  494. package/dist/flex-render.d.cts +0 -34
  495. package/dist/flex-render.js.map +0 -1
  496. package/dist/fns/aggregationFns.cjs +0 -161
  497. package/dist/fns/aggregationFns.cjs.map +0 -1
  498. package/dist/fns/aggregationFns.d.cts +0 -85
  499. package/dist/fns/aggregationFns.d.ts +0 -85
  500. package/dist/fns/aggregationFns.js +0 -151
  501. package/dist/fns/aggregationFns.js.map +0 -1
  502. package/dist/fns/filterFns.cjs +0 -201
  503. package/dist/fns/filterFns.cjs.map +0 -1
  504. package/dist/fns/filterFns.d.cts +0 -167
  505. package/dist/fns/filterFns.d.ts +0 -167
  506. package/dist/fns/filterFns.js +0 -185
  507. package/dist/fns/filterFns.js.map +0 -1
  508. package/dist/fns/sortFns.cjs +0 -130
  509. package/dist/fns/sortFns.cjs.map +0 -1
  510. package/dist/fns/sortFns.d.cts +0 -65
  511. package/dist/fns/sortFns.d.ts +0 -65
  512. package/dist/fns/sortFns.js +0 -122
  513. package/dist/fns/sortFns.js.map +0 -1
  514. package/dist/helpers/columnHelper.cjs +0 -41
  515. package/dist/helpers/columnHelper.cjs.map +0 -1
  516. package/dist/helpers/columnHelper.d.cts +0 -71
  517. package/dist/helpers/columnHelper.js.map +0 -1
  518. package/dist/helpers/tableFeatures.cjs +0 -20
  519. package/dist/helpers/tableFeatures.cjs.map +0 -1
  520. package/dist/helpers/tableFeatures.d.cts +0 -18
  521. package/dist/helpers/tableFeatures.js.map +0 -1
  522. package/dist/helpers/tableOptions.cjs +0 -15
  523. package/dist/helpers/tableOptions.cjs.map +0 -1
  524. package/dist/helpers/tableOptions.d.cts +0 -57
  525. package/dist/helpers/tableOptions.js.map +0 -1
  526. package/dist/index.cjs +0 -133
  527. package/dist/index.d.cts +0 -78
  528. package/dist/reactivity.cjs +0 -4
  529. package/dist/reactivity.d.cts +0 -3
  530. package/dist/static-functions.cjs +0 -263
  531. package/dist/static-functions.d.cts +0 -21
  532. package/dist/store-reactivity-bindings.cjs +0 -44
  533. package/dist/store-reactivity-bindings.cjs.map +0 -1
  534. package/dist/store-reactivity-bindings.d.cts +0 -22
  535. package/dist/store-reactivity-bindings.js.map +0 -1
  536. package/dist/types/Cell.d.cts +0 -14
  537. package/dist/types/Column.d.cts +0 -36
  538. package/dist/types/ColumnDef.d.cts +0 -109
  539. package/dist/types/Header.d.cts +0 -16
  540. package/dist/types/HeaderGroup.d.cts +0 -10
  541. package/dist/types/Row.d.cts +0 -26
  542. package/dist/types/RowModel.d.cts +0 -36
  543. package/dist/types/RowModelFns.d.cts +0 -18
  544. package/dist/types/Table.d.cts +0 -70
  545. package/dist/types/TableFeatures.d.cts +0 -53
  546. package/dist/types/TableOptions.d.cts +0 -69
  547. package/dist/types/TableState.d.cts +0 -48
  548. package/dist/types/type-utils.d.cts +0 -23
  549. package/dist/utils.cjs +0 -243
  550. package/dist/utils.cjs.map +0 -1
  551. package/dist/utils.d.cts +0 -114
  552. package/dist/utils.js.map +0 -1
  553. package/skills/column-definitions/SKILL.md +0 -333
  554. package/skills/column-layout/SKILL.md +0 -328
  555. package/skills/column-layout/references/subsystems.md +0 -220
  556. package/skills/customizing-feature-behavior/SKILL.md +0 -416
  557. package/skills/filtering/SKILL.md +0 -357
  558. package/skills/filtering/references/faceting-and-fuzzy.md +0 -191
  559. package/skills/row-expanding/SKILL.md +0 -348
  560. package/skills/setup/SKILL.md +0 -400
  561. package/skills/state-management/SKILL.md +0 -388
  562. package/src/core/cells/constructCell.ts +0 -55
  563. package/src/core/cells/coreCellsFeature.ts +0 -27
  564. package/src/core/cells/coreCellsFeature.types.ts +0 -68
  565. package/src/core/cells/coreCellsFeature.utils.ts +0 -68
  566. package/src/core/columns/constructColumn.ts +0 -119
  567. package/src/core/columns/coreColumnsFeature.ts +0 -73
  568. package/src/core/columns/coreColumnsFeature.types.ts +0 -108
  569. package/src/core/columns/coreColumnsFeature.utils.ts +0 -275
  570. package/src/core/coreFeatures.ts +0 -31
  571. package/src/core/headers/buildHeaderGroups.ts +0 -182
  572. package/src/core/headers/constructHeader.ts +0 -67
  573. package/src/core/headers/coreHeadersFeature.ts +0 -56
  574. package/src/core/headers/coreHeadersFeature.types.ts +0 -125
  575. package/src/core/headers/coreHeadersFeature.utils.ts +0 -200
  576. package/src/core/reactivity/coreReactivityFeature.types.ts +0 -56
  577. package/src/core/reactivity/coreReactivityFeature.utils.ts +0 -44
  578. package/src/core/row-models/coreRowModelsFeature.ts +0 -62
  579. package/src/core/row-models/coreRowModelsFeature.types.ts +0 -64
  580. package/src/core/row-models/coreRowModelsFeature.utils.ts +0 -272
  581. package/src/core/row-models/createCoreRowModel.ts +0 -93
  582. package/src/core/rows/constructRow.ts +0 -66
  583. package/src/core/rows/coreRowsFeature.ts +0 -62
  584. package/src/core/rows/coreRowsFeature.types.ts +0 -117
  585. package/src/core/rows/coreRowsFeature.utils.ts +0 -264
  586. package/src/core/table/constructTable.ts +0 -172
  587. package/src/core/table/coreTablesFeature.ts +0 -19
  588. package/src/core/table/coreTablesFeature.types.ts +0 -216
  589. package/src/core/table/coreTablesFeature.utils.ts +0 -131
  590. package/src/features/column-faceting/columnFacetingFeature.ts +0 -89
  591. package/src/features/column-faceting/columnFacetingFeature.types.ts +0 -109
  592. package/src/features/column-faceting/columnFacetingFeature.utils.ts +0 -145
  593. package/src/features/column-faceting/createFacetedMinMaxValues.ts +0 -66
  594. package/src/features/column-faceting/createFacetedRowModel.ts +0 -85
  595. package/src/features/column-faceting/createFacetedUniqueValues.ts +0 -66
  596. package/src/features/column-filtering/columnFilteringFeature.ts +0 -86
  597. package/src/features/column-filtering/columnFilteringFeature.types.ts +0 -232
  598. package/src/features/column-filtering/columnFilteringFeature.utils.ts +0 -331
  599. package/src/features/column-filtering/createFilteredRowModel.ts +0 -183
  600. package/src/features/column-filtering/filterRowsUtils.ts +0 -157
  601. package/src/features/column-grouping/columnGroupingFeature.ts +0 -115
  602. package/src/features/column-grouping/columnGroupingFeature.types.ts +0 -226
  603. package/src/features/column-grouping/columnGroupingFeature.utils.ts +0 -354
  604. package/src/features/column-grouping/createGroupedRowModel.ts +0 -220
  605. package/src/features/column-ordering/columnOrderingFeature.ts +0 -73
  606. package/src/features/column-ordering/columnOrderingFeature.types.ts +0 -60
  607. package/src/features/column-ordering/columnOrderingFeature.utils.ts +0 -241
  608. package/src/features/column-pinning/columnPinningFeature.ts +0 -316
  609. package/src/features/column-pinning/columnPinningFeature.types.ts +0 -192
  610. package/src/features/column-pinning/columnPinningFeature.utils.ts +0 -908
  611. package/src/features/column-resizing/columnResizingFeature.ts +0 -65
  612. package/src/features/column-resizing/columnResizingFeature.types.ts +0 -89
  613. package/src/features/column-resizing/columnResizingFeature.utils.ts +0 -364
  614. package/src/features/column-sizing/columnSizingFeature.ts +0 -145
  615. package/src/features/column-sizing/columnSizingFeature.types.ts +0 -102
  616. package/src/features/column-sizing/columnSizingFeature.utils.ts +0 -381
  617. package/src/features/column-visibility/columnVisibilityFeature.ts +0 -122
  618. package/src/features/column-visibility/columnVisibilityFeature.types.ts +0 -112
  619. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +0 -384
  620. package/src/features/global-filtering/globalFilteringFeature.ts +0 -65
  621. package/src/features/global-filtering/globalFilteringFeature.types.ts +0 -91
  622. package/src/features/global-filtering/globalFilteringFeature.utils.ts +0 -118
  623. package/src/features/row-expanding/createExpandedRowModel.ts +0 -82
  624. package/src/features/row-expanding/rowExpandingFeature.ts +0 -94
  625. package/src/features/row-expanding/rowExpandingFeature.types.ts +0 -147
  626. package/src/features/row-expanding/rowExpandingFeature.utils.ts +0 -374
  627. package/src/features/row-pagination/createPaginatedRowModel.ts +0 -83
  628. package/src/features/row-pagination/rowPaginationFeature.ts +0 -95
  629. package/src/features/row-pagination/rowPaginationFeature.types.ts +0 -152
  630. package/src/features/row-pagination/rowPaginationFeature.utils.ts +0 -400
  631. package/src/features/row-pinning/rowPinningFeature.ts +0 -97
  632. package/src/features/row-pinning/rowPinningFeature.types.ts +0 -95
  633. package/src/features/row-pinning/rowPinningFeature.utils.ts +0 -323
  634. package/src/features/row-selection/rowSelectionFeature.ts +0 -140
  635. package/src/features/row-selection/rowSelectionFeature.types.ts +0 -151
  636. package/src/features/row-selection/rowSelectionFeature.utils.ts +0 -745
  637. package/src/features/row-sorting/createSortedRowModel.ts +0 -157
  638. package/src/features/row-sorting/rowSortingFeature.ts +0 -103
  639. package/src/features/row-sorting/rowSortingFeature.types.ts +0 -235
  640. package/src/features/row-sorting/rowSortingFeature.utils.ts +0 -489
  641. package/src/features/stockFeatures.ts +0 -53
  642. package/src/flex-render.ts +0 -70
  643. package/src/fns/aggregationFns.ts +0 -245
  644. package/src/fns/filterFns.ts +0 -382
  645. package/src/fns/sortFns.ts +0 -240
  646. package/src/helpers/columnHelper.ts +0 -122
  647. package/src/helpers/tableFeatures.ts +0 -24
  648. package/src/helpers/tableOptions.ts +0 -117
  649. package/src/index.ts +0 -138
  650. package/src/process-env.d.ts +0 -6
  651. package/src/reactivity.ts +0 -2
  652. package/src/static-functions.ts +0 -31
  653. package/src/store-reactivity-bindings.ts +0 -47
  654. package/src/types/Cell.ts +0 -21
  655. package/src/types/Column.ts +0 -51
  656. package/src/types/ColumnDef.ts +0 -228
  657. package/src/types/Header.ts +0 -23
  658. package/src/types/HeaderGroup.ts +0 -13
  659. package/src/types/Row.ts +0 -34
  660. package/src/types/RowModel.ts +0 -98
  661. package/src/types/RowModelFns.ts +0 -32
  662. package/src/types/Table.ts +0 -91
  663. package/src/types/TableFeatures.ts +0 -101
  664. package/src/types/TableOptions.ts +0 -101
  665. package/src/types/TableState.ts +0 -47
  666. package/src/types/type-utils.ts +0 -84
  667. package/src/utils.ts +0 -441
@@ -0,0 +1,216 @@
1
+ //#region src/features/row-sorting/sortFns.ts
2
+ /**
3
+ * Regular expression used to split mixed text and numeric chunks.
4
+ *
5
+ * The alphanumeric sort functions use these chunks for natural sorting of
6
+ * strings like `item2` before `item10`.
7
+ */
8
+ const reSplitAlphaNumeric = /([0-9]+)/gm;
9
+ /**
10
+ * Builds a `SortFn` from a value-level comparator plus an optional
11
+ * `resolveDataValue` normalizer.
12
+ *
13
+ * The `sort` comparator receives both rows' data values, each already passed
14
+ * through `resolveDataValue` when one is defined. Keeping normalization in the
15
+ * resolver means a variant of an existing sorting function only has to swap
16
+ * the resolver, not re-implement the comparison.
17
+ *
18
+ * The definition is attached to the returned function, so a variant can be
19
+ * created by spreading a built-in sorting function and overriding what
20
+ * differs:
21
+ *
22
+ * ```ts
23
+ * const stripDiacritics = (value: string) =>
24
+ * value.normalize('NFD').replace(/\p{Diacritic}/gu, '')
25
+ *
26
+ * const alphanumericIgnoreDiacritics = constructSortFn({
27
+ * ...sortFn_alphanumeric,
28
+ * resolveDataValue: (value) =>
29
+ * stripDiacritics(sortFn_alphanumeric.resolveDataValue!(value)),
30
+ * })
31
+ * ```
32
+ */
33
+ function constructSortFn(def) {
34
+ const sortFn = Object.assign((rowA, rowB, columnId) => {
35
+ let dataValueA = rowA.getValue(columnId);
36
+ let dataValueB = rowB.getValue(columnId);
37
+ const resolveDataValue = sortFn.resolveDataValue;
38
+ if (resolveDataValue) {
39
+ dataValueA = resolveDataValue(dataValueA);
40
+ dataValueB = resolveDataValue(dataValueB);
41
+ }
42
+ return sortFn.sort(dataValueA, dataValueB, rowA, rowB, columnId);
43
+ }, def);
44
+ return sortFn;
45
+ }
46
+ /**
47
+ * Sorts rows with the built-in alphanumeric strategy.
48
+ *
49
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
50
+ */
51
+ const sortFn_alphanumeric = constructSortFn({
52
+ resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
53
+ sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
54
+ });
55
+ /**
56
+ * Sorts rows with the built-in alphanumeric case sensitive strategy.
57
+ *
58
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
59
+ */
60
+ const sortFn_alphanumericCaseSensitive = constructSortFn({
61
+ resolveDataValue: (dataValue) => toString(dataValue),
62
+ sort: (dataValueA, dataValueB) => compareAlphanumeric(dataValueA, dataValueB)
63
+ });
64
+ /**
65
+ * Sorts rows with the built-in text strategy.
66
+ *
67
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
68
+ */
69
+ const sortFn_text = constructSortFn({
70
+ resolveDataValue: (dataValue) => toString(dataValue).toLowerCase(),
71
+ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
72
+ });
73
+ /**
74
+ * Sorts rows with the built-in text case sensitive strategy.
75
+ *
76
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
77
+ */
78
+ const sortFn_textCaseSensitive = constructSortFn({
79
+ resolveDataValue: (dataValue) => toString(dataValue),
80
+ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB)
81
+ });
82
+ /**
83
+ * Sorts rows with the built-in datetime strategy.
84
+ *
85
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
86
+ */
87
+ const sortFn_datetime = constructSortFn({
88
+ resolveDataValue: (dataValue) => toDateSortValue(dataValue),
89
+ sort: (dataValueA, dataValueB) => dataValueA > dataValueB ? 1 : dataValueA < dataValueB ? -1 : 0
90
+ });
91
+ /**
92
+ * Sorts rows with the built-in basic strategy.
93
+ *
94
+ * This comparator returns ascending-order results; descending order is applied by the sorting row model.
95
+ */
96
+ const sortFn_basic = constructSortFn({ sort: (dataValueA, dataValueB) => compareBasic(dataValueA, dataValueB) });
97
+ function compareBasic(a, b) {
98
+ return a === b ? 0 : a > b ? 1 : -1;
99
+ }
100
+ function toDateSortValue(value) {
101
+ return value instanceof Date ? value.getTime() : value;
102
+ }
103
+ function toString(a) {
104
+ if (typeof a === "number") {
105
+ if (isNaN(a) || a === Infinity || a === -Infinity) return "";
106
+ return String(a);
107
+ }
108
+ if (typeof a === "string") return a;
109
+ return "";
110
+ }
111
+ function compareAlphanumeric(aStr, bStr) {
112
+ let ai = 0;
113
+ let bi = 0;
114
+ const aLen = aStr.length;
115
+ const bLen = bStr.length;
116
+ while (ai < aLen && bi < bLen) {
117
+ const aIsNumeric = isDigit(aStr.charCodeAt(ai));
118
+ const bIsNumeric = isDigit(bStr.charCodeAt(bi));
119
+ const aEnd = findChunkEnd(aStr, ai, aIsNumeric);
120
+ const bEnd = findChunkEnd(bStr, bi, bIsNumeric);
121
+ if (!aIsNumeric && !bIsNumeric) {
122
+ const stringComparison = compareStringChunks(aStr, ai, aEnd, bStr, bi, bEnd);
123
+ if (stringComparison) return stringComparison;
124
+ ai = aEnd;
125
+ bi = bEnd;
126
+ continue;
127
+ }
128
+ if (aIsNumeric !== bIsNumeric) return aIsNumeric ? 1 : -1;
129
+ const numericComparison = compareNumericChunks(aStr, ai, aEnd, bStr, bi, bEnd);
130
+ if (numericComparison) return numericComparison;
131
+ ai = aEnd;
132
+ bi = bEnd;
133
+ }
134
+ return countRemainingChunks(aStr, ai) - countRemainingChunks(bStr, bi);
135
+ }
136
+ function isDigit(charCode) {
137
+ return charCode >= 48 && charCode <= 57;
138
+ }
139
+ function findChunkEnd(str, start, isNumeric) {
140
+ let end = start + 1;
141
+ while (end < str.length && isDigit(str.charCodeAt(end)) === isNumeric) end++;
142
+ return end;
143
+ }
144
+ function compareStringChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
145
+ const aLength = aEnd - aStart;
146
+ const bLength = bEnd - bStart;
147
+ const minLength = aLength < bLength ? aLength : bLength;
148
+ for (let i = 0; i < minLength; i++) {
149
+ const aCode = aStr.charCodeAt(aStart + i);
150
+ const bCode = bStr.charCodeAt(bStart + i);
151
+ if (aCode > bCode) return 1;
152
+ if (bCode > aCode) return -1;
153
+ }
154
+ if (aLength > bLength) return 1;
155
+ if (bLength > aLength) return -1;
156
+ return 0;
157
+ }
158
+ function compareNumericChunks(aStr, aStart, aEnd, bStr, bStart, bEnd) {
159
+ let aSignificantStart = aStart;
160
+ while (aSignificantStart < aEnd && aStr.charCodeAt(aSignificantStart) === 48) aSignificantStart++;
161
+ let bSignificantStart = bStart;
162
+ while (bSignificantStart < bEnd && bStr.charCodeAt(bSignificantStart) === 48) bSignificantStart++;
163
+ const aSignificantLength = aEnd - aSignificantStart;
164
+ const bSignificantLength = bEnd - bSignificantStart;
165
+ if (aSignificantLength === 0 && bSignificantLength === 0) return 0;
166
+ if (aSignificantLength <= 15 && bSignificantLength <= 15) {
167
+ const an = parseSmallInt(aStr, aSignificantStart, aEnd);
168
+ const bn = parseSmallInt(bStr, bSignificantStart, bEnd);
169
+ if (an > bn) return 1;
170
+ if (bn > an) return -1;
171
+ return 0;
172
+ }
173
+ const an = parseInt(aStr.slice(aStart, aEnd), 10);
174
+ const bn = parseInt(bStr.slice(bStart, bEnd), 10);
175
+ if (an > bn) return 1;
176
+ if (bn > an) return -1;
177
+ return 0;
178
+ }
179
+ function parseSmallInt(str, start, end) {
180
+ let result = 0;
181
+ for (let i = start; i < end; i++) result = result * 10 + str.charCodeAt(i) - 48;
182
+ return result;
183
+ }
184
+ function countRemainingChunks(str, start) {
185
+ let count = 0;
186
+ let index = start;
187
+ while (index < str.length) {
188
+ count++;
189
+ index = findChunkEnd(str, index, isDigit(str.charCodeAt(index)));
190
+ }
191
+ return count;
192
+ }
193
+ /**
194
+ * The built-in sorting function registry.
195
+ *
196
+ * Registering this full object opts out of tree-shaking: every built-in
197
+ * sorting function ends up in your bundle. Prefer importing the `sortFn_*`
198
+ * functions you actually use and registering just those in the `sortFns`
199
+ * slot, or passing them directly to the `sortFn` column option.
200
+ *
201
+ * @deprecated Import individual `sortFn_*` functions instead for a smaller
202
+ * bundle. This export still works and is not going away in v9, but built-in
203
+ * name resolution (including `sortFn: 'auto'`) only finds functions you
204
+ * register yourself.
205
+ */
206
+ const sortFns = {
207
+ alphanumeric: sortFn_alphanumeric,
208
+ alphanumericCaseSensitive: sortFn_alphanumericCaseSensitive,
209
+ basic: sortFn_basic,
210
+ datetime: sortFn_datetime,
211
+ text: sortFn_text,
212
+ textCaseSensitive: sortFn_textCaseSensitive
213
+ };
214
+
215
+ //#endregion
216
+ export { constructSortFn, reSplitAlphaNumeric, sortFn_alphanumeric, sortFn_alphanumericCaseSensitive, sortFn_basic, sortFn_datetime, sortFn_text, sortFn_textCaseSensitive, sortFns };
@@ -1,4 +1,7 @@
1
+ import { cellSelectionFeature } from "./cell-selection/cellSelectionFeature.js";
2
+ import { cellSpanningFeature } from "./cell-spanning/cellSpanningFeature.js";
1
3
  import { columnFacetingFeature } from "./column-faceting/columnFacetingFeature.js";
4
+ import { rowAggregationFeature } from "./row-aggregation/rowAggregationFeature.js";
2
5
  import { columnFilteringFeature } from "./column-filtering/columnFilteringFeature.js";
3
6
  import { columnGroupingFeature } from "./column-grouping/columnGroupingFeature.js";
4
7
  import { columnOrderingFeature } from "./column-ordering/columnOrderingFeature.js";
@@ -12,9 +15,10 @@ import { rowPaginationFeature } from "./row-pagination/rowPaginationFeature.js";
12
15
  import { rowPinningFeature } from "./row-pinning/rowPinningFeature.js";
13
16
  import { rowSelectionFeature } from "./row-selection/rowSelectionFeature.js";
14
17
  import { rowSortingFeature } from "./row-sorting/rowSortingFeature.js";
15
-
16
18
  //#region src/features/stockFeatures.d.ts
17
19
  interface StockFeatures {
20
+ cellSelectionFeature: typeof cellSelectionFeature;
21
+ cellSpanningFeature: typeof cellSpanningFeature;
18
22
  columnFacetingFeature: typeof columnFacetingFeature;
19
23
  columnFilteringFeature: typeof columnFilteringFeature;
20
24
  columnGroupingFeature: typeof columnGroupingFeature;
@@ -24,6 +28,7 @@ interface StockFeatures {
24
28
  columnSizingFeature: typeof columnSizingFeature;
25
29
  columnVisibilityFeature: typeof columnVisibilityFeature;
26
30
  globalFilteringFeature: typeof globalFilteringFeature;
31
+ rowAggregationFeature: typeof rowAggregationFeature;
27
32
  rowExpandingFeature: typeof rowExpandingFeature;
28
33
  rowPaginationFeature: typeof rowPaginationFeature;
29
34
  rowPinningFeature: typeof rowPinningFeature;
@@ -37,5 +42,4 @@ interface StockFeatures {
37
42
  */
38
43
  declare const stockFeatures: StockFeatures;
39
44
  //#endregion
40
- export { StockFeatures, stockFeatures };
41
- //# sourceMappingURL=stockFeatures.d.ts.map
45
+ export { StockFeatures, stockFeatures };
@@ -1,4 +1,7 @@
1
+ import { cellSelectionFeature } from "./cell-selection/cellSelectionFeature.js";
2
+ import { cellSpanningFeature } from "./cell-spanning/cellSpanningFeature.js";
1
3
  import { columnFacetingFeature } from "./column-faceting/columnFacetingFeature.js";
4
+ import { rowAggregationFeature } from "./row-aggregation/rowAggregationFeature.js";
2
5
  import { columnFilteringFeature } from "./column-filtering/columnFilteringFeature.js";
3
6
  import { columnGroupingFeature } from "./column-grouping/columnGroupingFeature.js";
4
7
  import { columnOrderingFeature } from "./column-ordering/columnOrderingFeature.js";
@@ -20,6 +23,8 @@ import { rowSortingFeature } from "./row-sorting/rowSortingFeature.js";
20
23
  * Use individual feature exports for tree-shaking, or this aggregate when a table should include every built-in feature.
21
24
  */
22
25
  const stockFeatures = {
26
+ cellSelectionFeature,
27
+ cellSpanningFeature,
23
28
  columnFacetingFeature,
24
29
  columnFilteringFeature,
25
30
  columnGroupingFeature,
@@ -29,6 +34,7 @@ const stockFeatures = {
29
34
  columnSizingFeature,
30
35
  columnVisibilityFeature,
31
36
  globalFilteringFeature,
37
+ rowAggregationFeature,
32
38
  rowExpandingFeature,
33
39
  rowPaginationFeature,
34
40
  rowPinningFeature,
@@ -37,5 +43,4 @@ const stockFeatures = {
37
43
  };
38
44
 
39
45
  //#endregion
40
- export { stockFeatures };
41
- //# sourceMappingURL=stockFeatures.js.map
46
+ export { stockFeatures };
@@ -1,8 +1,7 @@
1
1
  import { CellData, RowData } from "./types/type-utils.js";
2
2
  import { Header } from "./types/Header.js";
3
- import { TableFeatures } from "./types/TableFeatures.js";
4
3
  import { Cell } from "./types/Cell.js";
5
-
4
+ import { TableFeatures } from "./types/TableFeatures.js";
6
5
  //#region src/flex-render.d.ts
7
6
  /**
8
7
  * Renders a static value or render function with the provided props.
@@ -30,5 +29,4 @@ type FlexRenderProps<TFeatures extends TableFeatures, TData extends RowData, TVa
30
29
  */
31
30
  declare function FlexRender<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(props: FlexRenderProps<TFeatures, TData, TValue>): unknown | null;
32
31
  //#endregion
33
- export { FlexRender, FlexRenderProps, flexRender };
34
- //# sourceMappingURL=flex-render.d.ts.map
32
+ export { FlexRender, FlexRenderProps, flexRender };
@@ -15,12 +15,19 @@ function flexRender(comp, props) {
15
15
  * Framework adapters use this helper to support column definitions that contain either plain values or template functions.
16
16
  */
17
17
  function FlexRender(props) {
18
- if ("cell" in props && props.cell) return flexRender(props.cell.column.columnDef.cell, props.cell.getContext());
18
+ if ("cell" in props && props.cell) {
19
+ const cell = props.cell;
20
+ const def = cell.column.columnDef;
21
+ const groupingCell = cell;
22
+ const groupingDef = def;
23
+ if (groupingCell.getIsAggregated?.()) return flexRender(groupingDef.aggregatedCell ?? def.cell, cell.getContext());
24
+ if (groupingCell.getIsPlaceholder?.()) return null;
25
+ return flexRender(def.cell, cell.getContext());
26
+ }
19
27
  if ("header" in props && props.header) return flexRender(props.header.column.columnDef.header, props.header.getContext());
20
28
  if ("footer" in props && props.footer) return flexRender(props.footer.column.columnDef.footer, props.footer.getContext());
21
29
  return null;
22
30
  }
23
31
 
24
32
  //#endregion
25
- export { FlexRender, flexRender };
26
- //# sourceMappingURL=flex-render.js.map
33
+ export { FlexRender, flexRender };
@@ -1,9 +1,8 @@
1
1
  import { DeepKeys, DeepValue, RowData } from "../types/type-utils.js";
2
2
  import { AccessorFn, AccessorFnColumnDef, AccessorKeyColumnDef, ColumnDef, DisplayColumnDef, GroupColumnDef, IdentifiedColumnDef } from "../types/ColumnDef.js";
3
3
  import { TableFeatures } from "../types/TableFeatures.js";
4
-
5
4
  //#region src/helpers/columnHelper.d.ts
6
- type ColumnHelper<TFeatures extends TableFeatures, TData extends RowData> = {
5
+ interface ColumnHelper<in out TFeatures extends TableFeatures, in out TData extends RowData> {
7
6
  /**
8
7
  * Creates a data column definition with an accessor key or function to extract the cell value.
9
8
  * @example
@@ -45,7 +44,7 @@ type ColumnHelper<TFeatures extends TableFeatures, TData extends RowData> = {
45
44
  * ```
46
45
  */
47
46
  group: (column: GroupColumnDef<TFeatures, TData, unknown>) => GroupColumnDef<TFeatures, TData, unknown>;
48
- };
47
+ }
49
48
  /**
50
49
  * Creates helper functions for authoring column definitions with stronger value
51
50
  * inference.
@@ -67,5 +66,4 @@ type ColumnHelper<TFeatures extends TableFeatures, TData extends RowData> = {
67
66
  */
68
67
  declare function createColumnHelper<TFeatures extends TableFeatures, TData extends RowData>(): ColumnHelper<TFeatures, TData>;
69
68
  //#endregion
70
- export { ColumnHelper, createColumnHelper };
71
- //# sourceMappingURL=columnHelper.d.ts.map
69
+ export { ColumnHelper, createColumnHelper };
@@ -36,5 +36,4 @@ function createColumnHelper() {
36
36
  }
37
37
 
38
38
  //#endregion
39
- export { createColumnHelper };
40
- //# sourceMappingURL=columnHelper.js.map
39
+ export { createColumnHelper };
@@ -0,0 +1,25 @@
1
+ //#region src/helpers/metaHelper.d.ts
2
+ /**
3
+ * A helper for declaring the `tableMeta`/`columnMeta` type-only slots in the
4
+ * `features` option without a type assertion.
5
+ *
6
+ * Equivalent to `{} as TMeta`, but reads as type-only at the call site and
7
+ * avoids `@typescript-eslint/no-unnecessary-type-assertion` false positives
8
+ * when the meta type has only optional properties (where an auto-fix removing
9
+ * the assertion would silently degrade the inferred meta type to `{}`).
10
+ *
11
+ * The returned value is a phantom — it is ignored and stripped from the
12
+ * table's registered features at runtime; only its type is used.
13
+ * @example
14
+ * ```
15
+ * import { metaHelper, tableFeatures, rowSortingFeature } from '@tanstack/react-table'
16
+ * const features = tableFeatures({
17
+ * rowSortingFeature,
18
+ * tableMeta: metaHelper<MyTableMeta>(),
19
+ * columnMeta: metaHelper<MyColumnMeta>(),
20
+ * });
21
+ * ```
22
+ */
23
+ declare function metaHelper<TMeta extends object>(): TMeta;
24
+ //#endregion
25
+ export { metaHelper };
@@ -0,0 +1,28 @@
1
+ //#region src/helpers/metaHelper.ts
2
+ /**
3
+ * A helper for declaring the `tableMeta`/`columnMeta` type-only slots in the
4
+ * `features` option without a type assertion.
5
+ *
6
+ * Equivalent to `{} as TMeta`, but reads as type-only at the call site and
7
+ * avoids `@typescript-eslint/no-unnecessary-type-assertion` false positives
8
+ * when the meta type has only optional properties (where an auto-fix removing
9
+ * the assertion would silently degrade the inferred meta type to `{}`).
10
+ *
11
+ * The returned value is a phantom — it is ignored and stripped from the
12
+ * table's registered features at runtime; only its type is used.
13
+ * @example
14
+ * ```
15
+ * import { metaHelper, tableFeatures, rowSortingFeature } from '@tanstack/react-table'
16
+ * const features = tableFeatures({
17
+ * rowSortingFeature,
18
+ * tableMeta: metaHelper<MyTableMeta>(),
19
+ * columnMeta: metaHelper<MyColumnMeta>(),
20
+ * });
21
+ * ```
22
+ */
23
+ function metaHelper() {
24
+ return {};
25
+ }
26
+
27
+ //#endregion
28
+ export { metaHelper };
@@ -1,18 +1,45 @@
1
- import { TableFeatures } from "../types/TableFeatures.js";
2
-
1
+ import { TableFeatures, ValidateFeatureSlots } from "../types/TableFeatures.js";
3
2
  //#region src/helpers/tableFeatures.d.ts
4
3
  /**
5
4
  * A helper function to help define the features that are to be imported and applied to a table instance.
6
5
  * Use this utility to make it easier to have the correct type inference for the features that are being imported.
7
6
  * **Note:** It is recommended to use this utility statically outside of a component.
7
+ *
8
+ * Alongside feature modules, this object carries everything else that is
9
+ * statically stitched into the table:
10
+ *
11
+ * - Row model factories (`sortedRowModel`, `filteredRowModel`, etc.)
12
+ * - Row model function registries (`sortFns`, `filterFns`, `aggregationFns`),
13
+ * whose keys become the valid string values for `sortFn`, `filterFn`,
14
+ * `globalFilterFn`, and `aggregationFn` with full inference
15
+ * - Type-only `tableMeta`/`columnMeta` slots for declaring per-table meta types
16
+ * instead of using global declaration merging. The values are phantom
17
+ * (ignored and stripped at runtime); only their types are used.
8
18
  * @example
9
19
  * ```
10
- * import { tableFeatures, columnVisibilityFeature, rowPinningFeature } from '@tanstack/react-table'
11
- * const features = tableFeatures({ columnVisibilityFeature, rowPinningFeature });
12
- * const table = useTable({ features, rowModels: {}, columns, data });
20
+ * import {
21
+ * columnFilteringFeature,
22
+ * createFilteredRowModel,
23
+ * createSortedRowModel,
24
+ * filterFn_includesString,
25
+ * rowSortingFeature,
26
+ * sortFn_alphanumeric,
27
+ * sortFn_text,
28
+ * tableFeatures,
29
+ * } from '@tanstack/react-table'
30
+ * const features = tableFeatures({
31
+ * columnFilteringFeature,
32
+ * rowSortingFeature,
33
+ * filteredRowModel: createFilteredRowModel(),
34
+ * sortedRowModel: createSortedRowModel(),
35
+ * filterFns: { includesString: filterFn_includesString, myCustomFilterFn },
36
+ * sortFns: { alphanumeric: sortFn_alphanumeric, text: sortFn_text },
37
+ * tableMeta: {} as { updateData: (rowIndex: number, columnId: string, value: unknown) => void },
38
+ * columnMeta: {} as { align?: 'left' | 'right' },
39
+ * });
40
+ * const table = useTable({ features, columns, data });
13
41
  * ```
14
42
  */
15
- declare function tableFeatures<TFeatures extends TableFeatures>(features: TFeatures): TFeatures;
43
+ declare function tableFeatures<TFeatures extends TableFeatures>(features: TFeatures & ValidateFeatureSlots<TFeatures>): TFeatures;
16
44
  //#endregion
17
- export { tableFeatures };
18
- //# sourceMappingURL=tableFeatures.d.ts.map
45
+ export { tableFeatures };
@@ -3,11 +3,40 @@
3
3
  * A helper function to help define the features that are to be imported and applied to a table instance.
4
4
  * Use this utility to make it easier to have the correct type inference for the features that are being imported.
5
5
  * **Note:** It is recommended to use this utility statically outside of a component.
6
+ *
7
+ * Alongside feature modules, this object carries everything else that is
8
+ * statically stitched into the table:
9
+ *
10
+ * - Row model factories (`sortedRowModel`, `filteredRowModel`, etc.)
11
+ * - Row model function registries (`sortFns`, `filterFns`, `aggregationFns`),
12
+ * whose keys become the valid string values for `sortFn`, `filterFn`,
13
+ * `globalFilterFn`, and `aggregationFn` with full inference
14
+ * - Type-only `tableMeta`/`columnMeta` slots for declaring per-table meta types
15
+ * instead of using global declaration merging. The values are phantom
16
+ * (ignored and stripped at runtime); only their types are used.
6
17
  * @example
7
18
  * ```
8
- * import { tableFeatures, columnVisibilityFeature, rowPinningFeature } from '@tanstack/react-table'
9
- * const features = tableFeatures({ columnVisibilityFeature, rowPinningFeature });
10
- * const table = useTable({ features, rowModels: {}, columns, data });
19
+ * import {
20
+ * columnFilteringFeature,
21
+ * createFilteredRowModel,
22
+ * createSortedRowModel,
23
+ * filterFn_includesString,
24
+ * rowSortingFeature,
25
+ * sortFn_alphanumeric,
26
+ * sortFn_text,
27
+ * tableFeatures,
28
+ * } from '@tanstack/react-table'
29
+ * const features = tableFeatures({
30
+ * columnFilteringFeature,
31
+ * rowSortingFeature,
32
+ * filteredRowModel: createFilteredRowModel(),
33
+ * sortedRowModel: createSortedRowModel(),
34
+ * filterFns: { includesString: filterFn_includesString, myCustomFilterFn },
35
+ * sortFns: { alphanumeric: sortFn_alphanumeric, text: sortFn_text },
36
+ * tableMeta: {} as { updateData: (rowIndex: number, columnId: string, value: unknown) => void },
37
+ * columnMeta: {} as { align?: 'left' | 'right' },
38
+ * });
39
+ * const table = useTable({ features, columns, data });
11
40
  * ```
12
41
  */
13
42
  function tableFeatures(features) {
@@ -15,5 +44,4 @@ function tableFeatures(features) {
15
44
  }
16
45
 
17
46
  //#endregion
18
- export { tableFeatures };
19
- //# sourceMappingURL=tableFeatures.js.map
47
+ export { tableFeatures };
@@ -1,7 +1,6 @@
1
1
  import { RowData } from "../types/type-utils.js";
2
2
  import { TableOptions } from "../types/TableOptions.js";
3
3
  import { TableFeatures } from "../types/TableFeatures.js";
4
-
5
4
  //#region src/helpers/tableOptions.d.ts
6
5
  /**
7
6
  * Preserves table option inference when reusable options omit `columns`.
@@ -53,5 +52,4 @@ declare function tableOptions<TFeatures extends TableFeatures, TData extends Row
53
52
  */
54
53
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | 'features'>): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | 'features'>;
55
54
  //#endregion
56
- export { tableOptions };
57
- //# sourceMappingURL=tableOptions.d.ts.map
55
+ export { tableOptions };
@@ -10,5 +10,4 @@ function tableOptions(options) {
10
10
  }
11
11
 
12
12
  //#endregion
13
- export { tableOptions };
14
- //# sourceMappingURL=tableOptions.js.map
13
+ export { tableOptions };