@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
@@ -1,11 +1,22 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
+ import { Column } from "../../types/Column.js";
2
3
  import { Row } from "../../types/Row.js";
3
- import { TableFeatures } from "../../types/TableFeatures.js";
4
- import { Table_Internal } from "../../types/Table.js";
4
+ import { Table } from "../../types/Table.js";
5
5
  import { Cell } from "../../types/Cell.js";
6
-
6
+ import { TableFeatures } from "../../types/TableFeatures.js";
7
7
  //#region src/core/rows/coreRowsFeature.types.d.ts
8
- interface Row_CoreProperties<TFeatures extends TableFeatures, TData extends RowData> {
8
+ interface Row_CoreProperties<in out TFeatures extends TableFeatures, in out TData extends RowData> {
9
+ _cellsCache?: WeakMap<Column<TFeatures, TData, unknown>, Cell<TFeatures, TData, unknown>>;
10
+ /**
11
+ * Internal cache used while resolving the current display order.
12
+ *
13
+ * This value may be stale until display order is recomputed. Use
14
+ * `row.getDisplayIndex()` instead; it refreshes and validates the cached
15
+ * position before returning it.
16
+ *
17
+ * @internal
18
+ */
19
+ _displayIndexCache: number;
9
20
  _uniqueValuesCache: Record<string, unknown>;
10
21
  _valuesCache: Record<string, unknown>;
11
22
  /**
@@ -39,9 +50,16 @@ interface Row_CoreProperties<TFeatures extends TableFeatures, TData extends RowD
39
50
  /**
40
51
  * Reference to the parent table instance.
41
52
  */
42
- table: Table_Internal<TFeatures, TData>;
53
+ table: Table<TFeatures, TData>;
43
54
  }
44
- interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extends Row_CoreProperties<TFeatures, TData> {
55
+ interface Row_Row<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Row_CoreProperties<TFeatures, TData> {
56
+ /**
57
+ * Returns the zero-based index of the row in the current display order
58
+ * before pagination, or `-1` if the row is not in that model. Use this for
59
+ * display row-number columns instead of `row.index` or the internal
60
+ * `_displayIndexCache` field.
61
+ */
62
+ getDisplayIndex: () => number;
45
63
  /**
46
64
  * Builds a lookup of this row's cells keyed by leaf column id.
47
65
  */
@@ -75,7 +93,7 @@ interface Row_Row<TFeatures extends TableFeatures, TData extends RowData> extend
75
93
  */
76
94
  renderValue: <TValue>(columnId: string) => TValue;
77
95
  }
78
- interface TableOptions_Rows<TFeatures extends TableFeatures, TData extends RowData> {
96
+ interface TableOptions_Rows<in out TFeatures extends TableFeatures, in out TData extends RowData> {
79
97
  /**
80
98
  * This optional function is used to derive a unique ID for any given row. If not provided the rows index is used (nested rows join together with `.` using their grandparents' index eg. `index.index.index`). If you need to identify individual rows that are originating from any server-side operations, it's suggested you use this function to return an ID that makes sense regardless of network IO/ambiguity eg. a userId, taskId, database ID field, etc.
81
99
  * @example getRowId: row => row.userId
@@ -87,7 +105,22 @@ interface TableOptions_Rows<TFeatures extends TableFeatures, TData extends RowDa
87
105
  */
88
106
  getSubRows?: (originalRow: TData, index: number) => undefined | ReadonlyArray<TData>;
89
107
  }
90
- interface Table_Rows<TFeatures extends TableFeatures, TData extends RowData> {
108
+ interface Table_Rows<in out TFeatures extends TableFeatures, in out TData extends RowData> {
109
+ /**
110
+ * Returns the deepest structural row depth in the core row model.
111
+ * Root rows are depth `0`, direct sub-rows are depth `1`, and so on.
112
+ */
113
+ getMaxSubRowDepth: () => number;
114
+ /**
115
+ * Returns the rows in the current display order and assigns their display
116
+ * indexes. When expanded rows bypass pagination, expanded descendants are
117
+ * included in this order. This is the memoized source for
118
+ * `row.getDisplayIndex()`.
119
+ */
120
+ getRowsInDisplayOrder: () => Array<Row<TFeatures, TData>>;
121
+ /**
122
+ * Returns the row id for a given row.
123
+ */
91
124
  getRowId: (_: TData, index: number, parent?: Row<TFeatures, TData>) => string;
92
125
  /**
93
126
  * Returns the row with the given ID.
@@ -95,5 +128,4 @@ interface Table_Rows<TFeatures extends TableFeatures, TData extends RowData> {
95
128
  getRow: (id: string, searchAll?: boolean) => Row<TFeatures, TData>;
96
129
  }
97
130
  //#endregion
98
- export { Row_CoreProperties, Row_Row, TableOptions_Rows, Table_Rows };
99
- //# sourceMappingURL=coreRowsFeature.types.d.ts.map
131
+ export { Row_CoreProperties, Row_Row, TableOptions_Rows, Table_Rows };
@@ -1,10 +1,23 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
2
  import { Row } from "../../types/Row.js";
3
- import { TableFeatures } from "../../types/TableFeatures.js";
4
- import { Table_Internal } from "../../types/Table.js";
3
+ import { Table } from "../../types/Table.js";
5
4
  import { Cell } from "../../types/Cell.js";
6
-
5
+ import { TableFeatures } from "../../types/TableFeatures.js";
7
6
  //#region src/core/rows/coreRowsFeature.utils.d.ts
7
+ /**
8
+ * Returns this row's zero-based position in the current pre-pagination row
9
+ * model. Rows outside that model return `-1`.
10
+ */
11
+ declare function row_getDisplayIndex<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): number;
12
+ /**
13
+ * Returns the rows in the current display order after assigning their
14
+ * zero-based display indexes.
15
+ *
16
+ * When expanded rows bypass pagination, expanded descendants are inserted into
17
+ * the returned order even though they are absent from the pre-pagination row
18
+ * model.
19
+ */
20
+ declare function table_getRowsInDisplayOrder<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): Row<TFeatures, TData>[];
8
21
  /**
9
22
  * Reads and caches this row's value for a column.
10
23
  *
@@ -52,11 +65,16 @@ declare function row_renderValue<TFeatures extends TableFeatures, TData extends
52
65
  * ```
53
66
  */
54
67
  declare function row_getLeafRows<TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>): Array<Row<TFeatures, TData>>;
68
+ /**
69
+ * Returns the deepest structural row depth in the core row model.
70
+ * Root rows are depth `0`, their direct sub-rows are depth `1`, and so on.
71
+ */
72
+ declare function table_getMaxSubRowDepth<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>): number;
55
73
  /**
56
74
  * Looks up this row's direct parent, if it has one.
57
75
  *
58
- * Parent lookup searches the pre-pagination row model so parent relationships
59
- * are available even when the parent is not on the current page.
76
+ * Parent lookup prefers the core row model for structural parents, then falls
77
+ * back to the pre-pagination row model for generated parent rows.
60
78
  *
61
79
  * @example
62
80
  * ```ts
@@ -109,7 +127,7 @@ declare function row_getAllCellsByColumnId<TFeatures extends TableFeatures, TDat
109
127
  * const id = table_getRowId(originalRow, table, index, parentRow)
110
128
  * ```
111
129
  */
112
- declare function table_getRowId<TFeatures extends TableFeatures, TData extends RowData>(originalRow: TData, table: Table_Internal<TFeatures, TData>, index: number, parent?: Row<TFeatures, TData>): string;
130
+ declare function table_getRowId<TFeatures extends TableFeatures, TData extends RowData>(originalRow: TData, table: Table<TFeatures, TData>, index: number, parent?: Row<TFeatures, TData>): string;
113
131
  /**
114
132
  * Looks up a row by id from the current or full row model.
115
133
  *
@@ -121,7 +139,6 @@ declare function table_getRowId<TFeatures extends TableFeatures, TData extends R
121
139
  * const row = table_getRow(table, rowId, true)
122
140
  * ```
123
141
  */
124
- declare function table_getRow<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, rowId: string, searchAll?: boolean): Row<TFeatures, TData>;
142
+ declare function table_getRow<TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>, rowId: string, searchAll?: boolean): Row<TFeatures, TData>;
125
143
  //#endregion
126
- export { row_getAllCells, row_getAllCellsByColumnId, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getRow, table_getRowId };
127
- //# sourceMappingURL=coreRowsFeature.utils.d.ts.map
144
+ export { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder };
@@ -1,8 +1,40 @@
1
- import { flattenBy } from "../../utils.js";
1
+ import { flattenBy, hasOwn, makeObjectMap } from "../../utils.js";
2
2
  import { constructCell } from "../cells/constructCell.js";
3
3
 
4
4
  //#region src/core/rows/coreRowsFeature.utils.ts
5
5
  /**
6
+ * Returns this row's zero-based position in the current pre-pagination row
7
+ * model. Rows outside that model return `-1`.
8
+ */
9
+ function row_getDisplayIndex(row) {
10
+ const rows = row.table.getRowsInDisplayOrder();
11
+ const displayIndex = row._displayIndexCache;
12
+ return rows[displayIndex] === row ? displayIndex : -1;
13
+ }
14
+ /**
15
+ * Returns the rows in the current display order after assigning their
16
+ * zero-based display indexes.
17
+ *
18
+ * When expanded rows bypass pagination, expanded descendants are inserted into
19
+ * the returned order even though they are absent from the pre-pagination row
20
+ * model.
21
+ */
22
+ function table_getRowsInDisplayOrder(table) {
23
+ const rows = table.getPrePaginatedRowModel().rows;
24
+ if (table.options.paginateExpandedRows === false) {
25
+ const displayRows = [];
26
+ const handleRow = (row) => {
27
+ row._displayIndexCache = displayRows.length;
28
+ displayRows.push(row);
29
+ if (row.subRows.length && row.getIsExpanded?.()) row.subRows.forEach(handleRow);
30
+ };
31
+ rows.forEach(handleRow);
32
+ return displayRows;
33
+ }
34
+ for (let i = 0; i < rows.length; i++) rows[i]._displayIndexCache = i;
35
+ return rows;
36
+ }
37
+ /**
6
38
  * Reads and caches this row's value for a column.
7
39
  *
8
40
  * The value is produced by the column accessor. Missing columns or display
@@ -14,9 +46,9 @@ import { constructCell } from "../cells/constructCell.js";
14
46
  * ```
15
47
  */
16
48
  function row_getValue(row, columnId) {
17
- if (row._valuesCache.hasOwnProperty(columnId)) return row._valuesCache[columnId];
49
+ if (hasOwn(row._valuesCache, columnId)) return row._valuesCache[columnId];
18
50
  const column = row.table.getColumn(columnId);
19
- if (!(column === null || column === void 0 ? void 0 : column.accessorFn)) return;
51
+ if (!column?.accessorFn) return;
20
52
  row._valuesCache[columnId] = column.accessorFn(row.original, row.index);
21
53
  return row._valuesCache[columnId];
22
54
  }
@@ -32,9 +64,9 @@ function row_getValue(row, columnId) {
32
64
  * ```
33
65
  */
34
66
  function row_getUniqueValues(row, columnId) {
35
- if (row._uniqueValuesCache.hasOwnProperty(columnId)) return row._uniqueValuesCache[columnId];
67
+ if (hasOwn(row._uniqueValuesCache, columnId)) return row._uniqueValuesCache[columnId];
36
68
  const column = row.table.getColumn(columnId);
37
- if (!(column === null || column === void 0 ? void 0 : column.accessorFn)) return;
69
+ if (!column?.accessorFn) return;
38
70
  if (!column.columnDef.getUniqueValues) {
39
71
  row._uniqueValuesCache[columnId] = [row.getValue(columnId)];
40
72
  return row._uniqueValuesCache[columnId];
@@ -70,10 +102,20 @@ function row_getLeafRows(row) {
70
102
  return flattenBy(row.subRows, (d) => d.subRows);
71
103
  }
72
104
  /**
105
+ * Returns the deepest structural row depth in the core row model.
106
+ * Root rows are depth `0`, their direct sub-rows are depth `1`, and so on.
107
+ */
108
+ function table_getMaxSubRowDepth(table) {
109
+ const rows = table.getCoreRowModel().flatRows;
110
+ let maxDepth = 0;
111
+ for (let i = 0; i < rows.length; i++) maxDepth = Math.max(maxDepth, rows[i].depth);
112
+ return maxDepth;
113
+ }
114
+ /**
73
115
  * Looks up this row's direct parent, if it has one.
74
116
  *
75
- * Parent lookup searches the pre-pagination row model so parent relationships
76
- * are available even when the parent is not on the current page.
117
+ * Parent lookup prefers the core row model for structural parents, then falls
118
+ * back to the pre-pagination row model for generated parent rows.
77
119
  *
78
120
  * @example
79
121
  * ```ts
@@ -81,7 +123,8 @@ function row_getLeafRows(row) {
81
123
  * ```
82
124
  */
83
125
  function row_getParentRow(row) {
84
- return row.parentId ? row.table.getRow(row.parentId, true) : void 0;
126
+ if (!row.parentId) return;
127
+ return row.table.getCoreRowModel().rowsById[row.parentId] ?? row.table.getRow(row.parentId, true);
85
128
  }
86
129
  /**
87
130
  * Collects this row's ancestor chain from root to direct parent.
@@ -117,8 +160,18 @@ function row_getParentRows(row) {
117
160
  */
118
161
  function row_getAllCells(row) {
119
162
  const columns = row.table.getAllLeafColumns();
163
+ let cache = row._cellsCache;
164
+ if (!cache) cache = row._cellsCache = /* @__PURE__ */ new WeakMap();
120
165
  const cells = new Array(columns.length);
121
- for (let i = 0; i < columns.length; i++) cells[i] = constructCell(columns[i], row, row.table);
166
+ for (let i = 0; i < columns.length; i++) {
167
+ const column = columns[i];
168
+ let cell = cache.get(column);
169
+ if (!cell) {
170
+ cell = constructCell(column, row, row.table);
171
+ cache.set(column, cell);
172
+ }
173
+ cells[i] = cell;
174
+ }
122
175
  return cells;
123
176
  }
124
177
  /**
@@ -132,7 +185,7 @@ function row_getAllCells(row) {
132
185
  * ```
133
186
  */
134
187
  function row_getAllCellsByColumnId(row) {
135
- const result = {};
188
+ const result = makeObjectMap();
136
189
  const cells = row.getAllCells();
137
190
  for (let i = 0; i < cells.length; i++) {
138
191
  const cell = cells[i];
@@ -152,8 +205,7 @@ function row_getAllCellsByColumnId(row) {
152
205
  * ```
153
206
  */
154
207
  function table_getRowId(originalRow, table, index, parent) {
155
- var _table$options$getRow, _table$options;
156
- return ((_table$options$getRow = (_table$options = table.options).getRowId) === null || _table$options$getRow === void 0 ? void 0 : _table$options$getRow.call(_table$options, originalRow, index, parent)) ?? `${parent ? [parent.id, index].join(".") : index}`;
208
+ return table.options.getRowId?.(originalRow, index, parent) ?? (parent ? `${parent.id}.${index}` : String(index));
157
209
  }
158
210
  /**
159
211
  * Looks up a row by id from the current or full row model.
@@ -179,5 +231,4 @@ function table_getRow(table, rowId, searchAll) {
179
231
  }
180
232
 
181
233
  //#endregion
182
- export { row_getAllCells, row_getAllCellsByColumnId, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getRow, table_getRowId };
183
- //# sourceMappingURL=coreRowsFeature.utils.js.map
234
+ export { row_getAllCells, row_getAllCellsByColumnId, row_getDisplayIndex, row_getLeafRows, row_getParentRow, row_getParentRows, row_getUniqueValues, row_getValue, row_renderValue, table_getMaxSubRowDepth, table_getRow, table_getRowId, table_getRowsInDisplayOrder };
@@ -1,9 +1,8 @@
1
1
  import { RowData } from "../../types/type-utils.js";
2
2
  import { TableState } from "../../types/TableState.js";
3
3
  import { TableOptions } from "../../types/TableOptions.js";
4
- import { TableFeatures } from "../../types/TableFeatures.js";
5
4
  import { Table } from "../../types/Table.js";
6
-
5
+ import { TableFeatures } from "../../types/TableFeatures.js";
7
6
  //#region src/core/table/constructTable.d.ts
8
7
  /**
9
8
  * Builds the initial table state from registered features and user initial state.
@@ -18,5 +17,4 @@ declare function getInitialTableState<TFeatures extends TableFeatures>(features:
18
17
  */
19
18
  declare function constructTable<TFeatures extends TableFeatures, TData extends RowData>(tableOptions: TableOptions<TFeatures, TData>): Table<TFeatures, TData>;
20
19
  //#endregion
21
- export { constructTable, getInitialTableState };
22
- //# sourceMappingURL=constructTable.d.ts.map
20
+ export { constructTable, getInitialTableState };
@@ -1,7 +1,8 @@
1
- import { cloneState } from "../../utils.js";
1
+ import { cloneState, hasOwn } from "../../utils.js";
2
2
  import { table_syncExternalStateToBaseAtoms } from "./coreTablesFeature.utils.js";
3
3
  import { coreFeatures } from "../coreFeatures.js";
4
4
  import { atomToStore } from "../reactivity/coreReactivityFeature.utils.js";
5
+ import { shallow } from "@tanstack/store";
5
6
 
6
7
  //#region src/core/table/constructTable.ts
7
8
  /**
@@ -11,8 +12,7 @@ import { atomToStore } from "../reactivity/coreReactivityFeature.utils.js";
11
12
  */
12
13
  function getInitialTableState(features, initialState = {}) {
13
14
  Object.values(features).forEach((feature) => {
14
- var _feature$getInitialSt;
15
- initialState = ((_feature$getInitialSt = feature.getInitialState) === null || _feature$getInitialSt === void 0 ? void 0 : _feature$getInitialSt.call(feature, initialState)) ?? initialState;
15
+ initialState = feature.getInitialState?.(initialState) ?? initialState;
16
16
  });
17
17
  return cloneState(initialState);
18
18
  }
@@ -22,23 +22,32 @@ function getInitialTableState(features, initialState = {}) {
22
22
  * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
23
23
  */
24
24
  function constructTable(tableOptions) {
25
- const _reactivity = tableOptions.features.coreReativityFeature;
25
+ const _reactivity = tableOptions.features.coreReactivityFeature;
26
+ const { aggregationFns, columnMeta: _columnMeta, coreRowModel, expandedRowModel, facetedMinMaxValues, facetedRowModel, facetedUniqueValues, filterFns, filterMeta: _filterMeta, filteredRowModel, groupedRowModel, paginatedRowModel, sortFns, sortedRowModel, tableMeta: _tableMeta, ...features } = tableOptions.features;
26
27
  const table = {
27
- _reactivity,
28
+ _cellInstanceInitFns: [],
29
+ _columnInstanceInitFns: [],
28
30
  _features: {
29
31
  ...coreFeatures,
30
- ...tableOptions.features
32
+ ...features
33
+ },
34
+ _headerGroupInstanceInitFns: [],
35
+ _headerInstanceInitFns: [],
36
+ _reactivity,
37
+ _rowInstanceInitFns: [],
38
+ _rowModelFns: {
39
+ aggregationFns,
40
+ filterFns,
41
+ sortFns
31
42
  },
32
43
  _rowModels: {},
33
- _rowModelFns: {},
34
- baseAtoms: {},
35
- atoms: {}
44
+ atoms: {},
45
+ baseAtoms: {}
36
46
  };
37
47
  const featuresList = Object.values(table._features);
38
48
  const mergedOptions = {
39
49
  ...featuresList.reduce((obj, feature) => {
40
- var _feature$getDefaultTa;
41
- return Object.assign(obj, (_feature$getDefaultTa = feature.getDefaultTableOptions) === null || _feature$getDefaultTa === void 0 ? void 0 : _feature$getDefaultTa.call(feature, table));
50
+ return Object.assign(obj, feature.getDefaultTableOptions?.(table));
42
51
  }, {}),
43
52
  ...tableOptions
44
53
  };
@@ -78,10 +87,12 @@ function constructTable(tableOptions) {
78
87
  const key = stateKeys[i];
79
88
  table.baseAtoms[key] = _reactivity.createWritableAtom(table.initialState[key], { debugName: `table/baseAtoms/${key}` });
80
89
  table.atoms[key] = _reactivity.createReadonlyAtom(() => {
81
- const externalAtoms = table.options.atoms;
82
- const externalAtom = externalAtoms === null || externalAtoms === void 0 ? void 0 : externalAtoms[key];
83
- if (externalAtom) return externalAtom.get();
84
- return table.baseAtoms[key].get();
90
+ const options = table.options;
91
+ const externalAtom = options.atoms?.[key];
92
+ const reactiveState = externalAtom ? externalAtom.get() : table.baseAtoms[key].get();
93
+ if (externalAtom) return reactiveState;
94
+ const controlledState = options.state;
95
+ return controlledState && hasOwn(controlledState, key) ? controlledState[key] : reactiveState;
85
96
  }, { debugName: `table/atoms/${key}` });
86
97
  }
87
98
  table_syncExternalStateToBaseAtoms(table);
@@ -92,10 +103,33 @@ function constructTable(tableOptions) {
92
103
  snapshot[key] = table.atoms[key].get();
93
104
  }
94
105
  return snapshot;
95
- }, { debugName: "table/store" }));
106
+ }, {
107
+ compare: shallow,
108
+ debugName: "table/store"
109
+ }));
110
+ for (let i = 0; i < featuresList.length; i++) {
111
+ const feature = featuresList[i];
112
+ feature.initTableInstanceData?.(table);
113
+ if (feature.initCellInstanceData) table._cellInstanceInitFns.push(feature.initCellInstanceData.bind(feature));
114
+ if (feature.initColumnInstanceData) table._columnInstanceInitFns.push(feature.initColumnInstanceData.bind(feature));
115
+ if (feature.initHeaderGroupInstanceData) table._headerGroupInstanceInitFns.push(feature.initHeaderGroupInstanceData.bind(feature));
116
+ if (feature.initHeaderInstanceData) table._headerInstanceInitFns.push(feature.initHeaderInstanceData.bind(feature));
117
+ if (feature.initRowInstanceData) table._rowInstanceInitFns.push(feature.initRowInstanceData.bind(feature));
118
+ feature.constructTableAPIs?.(table);
119
+ }
96
120
  if (process.env.NODE_ENV === "development" && (tableOptions.debugAll || tableOptions.debugTable)) {
97
121
  const features = Object.keys(table._features);
98
- const rowModels = Object.keys(table.options.rowModels || {});
122
+ const rowModels = Object.entries({
123
+ coreRowModel,
124
+ filteredRowModel,
125
+ groupedRowModel,
126
+ sortedRowModel,
127
+ expandedRowModel,
128
+ paginatedRowModel,
129
+ facetedRowModel,
130
+ facetedMinMaxValues,
131
+ facetedUniqueValues
132
+ }).filter(([, factory]) => factory).map(([key]) => key);
99
133
  const states = Object.keys(table.initialState);
100
134
  console.log(`Constructing Table Instance
101
135
 
@@ -105,13 +139,8 @@ function constructTable(tableOptions) {
105
139
 
106
140
  States: ${states.join("\n ")}\n`, { table });
107
141
  }
108
- for (let i = 0; i < featuresList.length; i++) {
109
- var _constructTableAPIs, _ref;
110
- (_constructTableAPIs = (_ref = featuresList[i]).constructTableAPIs) === null || _constructTableAPIs === void 0 || _constructTableAPIs.call(_ref, table);
111
- }
112
142
  return table;
113
143
  }
114
144
 
115
145
  //#endregion
116
- export { constructTable, getInitialTableState };
117
- //# sourceMappingURL=constructTable.js.map
146
+ export { constructTable, getInitialTableState };
@@ -1,10 +1,8 @@
1
1
  import { TableFeature } from "../../types/TableFeatures.js";
2
-
3
2
  //#region src/core/table/coreTablesFeature.d.ts
4
3
  /**
5
4
  * Core feature that adds base table instance APIs such as reset and setOptions.
6
5
  */
7
6
  declare const coreTablesFeature: TableFeature;
8
7
  //#endregion
9
- export { coreTablesFeature };
10
- //# sourceMappingURL=coreTablesFeature.d.ts.map
8
+ export { coreTablesFeature };
@@ -13,5 +13,4 @@ const coreTablesFeature = { constructTableAPIs: (table) => {
13
13
  } };
14
14
 
15
15
  //#endregion
16
- export { coreTablesFeature };
17
- //# sourceMappingURL=coreTablesFeature.js.map
16
+ export { coreTablesFeature };
@@ -1,20 +1,30 @@
1
1
  import { RowData, Updater } from "../../types/type-utils.js";
2
2
  import { TableReactivityBindings } from "../reactivity/coreReactivityFeature.types.js";
3
3
  import { CoreFeatures } from "../coreFeatures.js";
4
+ import { CachedRowModels } from "../../types/RowModel.js";
4
5
  import { RowModelFns } from "../../types/RowModelFns.js";
5
- import { CachedRowModels, CreateRowModels_All } from "../../types/RowModel.js";
6
6
  import { TableState, TableState_All } from "../../types/TableState.js";
7
7
  import { TableOptions } from "../../types/TableOptions.js";
8
- import { TableFeatures } from "../../types/TableFeatures.js";
8
+ import { IsAny, TableFeature, TableFeatures, ValidateFeatureSlots } from "../../types/TableFeatures.js";
9
9
  import { Atom, ReadonlyAtom, ReadonlyStore } from "@tanstack/store";
10
-
11
10
  //#region src/core/table/coreTablesFeature.types.d.ts
12
- interface TableMeta<TFeatures extends TableFeatures, TData extends RowData> {}
11
+ interface TableMeta<in out TFeatures extends TableFeatures, in out TData extends RowData> {}
12
+ /**
13
+ * Resolves the type of `options.meta` for a feature set.
14
+ *
15
+ * When the features object declares a `tableMeta` type-only slot
16
+ * (`tableFeatures({ ..., tableMeta: {} as MyTableMeta })`), that type wins.
17
+ * Otherwise this falls back to the global declaration-merged `TableMeta`
18
+ * interface.
19
+ */
20
+ type ExtractTableMeta<TFeatures extends TableFeatures, TData extends RowData> = IsAny<TFeatures> extends true ? TableMeta<TFeatures, TData> : TFeatures extends {
21
+ tableMeta: infer TMeta extends object;
22
+ } ? TMeta : TableMeta<TFeatures, TData>;
13
23
  /**
14
24
  * A map of writable atoms, one per `TableState` slice. These are the internal
15
25
  * writable atoms that the library always writes to via `makeStateUpdater`.
16
26
  */
17
- type BaseAtoms<TFeatures extends TableFeatures> = { [K in keyof TableState<TFeatures>]-?: Atom<TableState<TFeatures>[K]> };
27
+ type BaseAtoms<TFeatures extends TableFeatures> = { [K in keyof TableState<TFeatures>]-?: Atom<TableState<TFeatures>[K]>; };
18
28
  /**
19
29
  * A map of readonly derived atoms, one per `TableState` slice. Each derives
20
30
  * from its corresponding `baseAtom` plus, optionally, a per-slice external
@@ -22,15 +32,15 @@ type BaseAtoms<TFeatures extends TableFeatures> = { [K in keyof TableState<TFeat
22
32
  *
23
33
  * Precedence: `options.atoms[key]` > `options.state[key]` > `baseAtoms[key]`.
24
34
  */
25
- type Atoms<TFeatures extends TableFeatures> = { [K in keyof TableState<TFeatures>]-?: ReadonlyAtom<TableState<TFeatures>[K]> };
35
+ type Atoms<TFeatures extends TableFeatures> = { [K in keyof TableState<TFeatures>]-?: ReadonlyAtom<TableState<TFeatures>[K]>; };
26
36
  /**
27
37
  * A map of optional external atoms, one per `TableState` slice. Consumers can
28
38
  * provide their own writable atom for any state slice to take over ownership
29
39
  * of that slice.
30
40
  */
31
- type ExternalAtoms<TFeatures extends TableFeatures> = Partial<{ [K in keyof TableState<TFeatures>]: Atom<TableState<TFeatures>[K]> }>;
41
+ type ExternalAtoms<TFeatures extends TableFeatures> = Partial<{ [K in keyof TableState<TFeatures>]: Atom<TableState<TFeatures>[K]>; }>;
32
42
  /**
33
- * Internal "all features" flat variants of the atom types. `Table_Internal`
43
+ * Internal "all features" flat variants of the atom types. `Table`
34
44
  * uses these so feature code (written generically over `TFeatures`) can access
35
45
  * any slice atom (e.g. `table.atoms.columnPinning`) without TypeScript
36
46
  * narrowing away slices that aren't in the current `TFeatures` union.
@@ -39,22 +49,20 @@ type ExternalAtoms<TFeatures extends TableFeatures> = Partial<{ [K in keyof Tabl
39
49
  * but those slices may not be registered on the current table. Consumers must
40
50
  * use optional chaining (`table.atoms.columnPinning?.get() ?? default`).
41
51
  */
42
- type BaseAtoms_All = { [K in keyof TableState_All]?: Atom<TableState_All[K]> };
43
- type Atoms_All = { [K in keyof TableState_All]?: ReadonlyAtom<TableState_All[K]> };
44
- type ExternalAtoms_All = Partial<{ [K in keyof TableState_All]: Atom<TableState_All[K]> }>;
45
- interface TableOptions_Table<TFeatures extends TableFeatures, TData extends RowData> {
52
+ type BaseAtoms_All = { [K in keyof TableState_All]?: Atom<Exclude<TableState_All[K], undefined>>; };
53
+ type Atoms_All = { [K in keyof TableState_All]?: ReadonlyAtom<TableState_All[K]>; };
54
+ type ExternalAtoms_All = Partial<{ [K in keyof TableState_All]: Atom<Exclude<TableState_All[K], undefined>>; }>;
55
+ interface TableOptions_Table<in out TFeatures extends TableFeatures, in out TData extends RowData> {
46
56
  /**
47
57
  * The feature modules registered on this table instance.
48
58
  *
49
59
  * Feature registration controls which state slices, options, and prototype
50
- * APIs are available.
51
- */
52
- readonly features: TFeatures;
53
- /**
54
- * Row model factories used by features such as filtering, grouping, sorting,
55
- * expansion, and pagination.
60
+ * APIs are available. This object also carries the table's row model
61
+ * factories (`sortedRowModel`, `filteredRowModel`, etc.), row model function
62
+ * registries (`sortFns`, `filterFns`, `aggregationFns`), and type-only meta
63
+ * slots (`tableMeta`, `columnMeta`).
56
64
  */
57
- readonly rowModels?: CreateRowModels_All<TFeatures, TData>;
65
+ readonly features: TFeatures & ValidateFeatureSlots<TFeatures>;
58
66
  /**
59
67
  * Optionally, provide your own external writable atoms for individual state slices.
60
68
  * When an atom is provided for a given slice, it takes precedence over `options.state[key]`
@@ -91,8 +99,11 @@ interface TableOptions_Table<TFeatures extends TableFeatures, TData extends RowD
91
99
  readonly mergeOptions?: (defaultOptions: TableOptions<TFeatures, TData>, options: Partial<TableOptions<TFeatures, TData>>) => TableOptions<TFeatures, TData>;
92
100
  /**
93
101
  * You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
102
+ *
103
+ * Declare its type per-table via the `tableMeta` type-only slot on the
104
+ * `features` option, or globally via declaration merging on `TableMeta`.
94
105
  */
95
- readonly meta?: TableMeta<TFeatures, TData>;
106
+ readonly meta?: ExtractTableMeta<TFeatures, TData>;
96
107
  /**
97
108
  * Optionally provide externally managed values for individual state slices.
98
109
  *
@@ -102,15 +113,23 @@ interface TableOptions_Table<TFeatures extends TableFeatures, TData extends RowD
102
113
  */
103
114
  readonly state?: Partial<TableState<TFeatures>>;
104
115
  }
105
- interface Table_CoreProperties<TFeatures extends TableFeatures, TData extends RowData> {
116
+ interface Table_CoreProperties<in out TFeatures extends TableFeatures, in out TData extends RowData> {
106
117
  /**
107
118
  * Table reactivity bindings for interacting with TanStack Store.
108
119
  */
109
120
  readonly _reactivity: TableReactivityBindings;
121
+ /**
122
+ * Cache of the `initCellInstanceData` functions for features that define one.
123
+ */
124
+ _cellInstanceInitFns: Array<NonNullable<TableFeature['initCellInstanceData']>>;
110
125
  /**
111
126
  * Prototype cache for Cell objects - shared by all cells in this table
112
127
  */
113
128
  _cellPrototype?: object;
129
+ /**
130
+ * Cache of the `initColumnInstanceData` functions for features that define one.
131
+ */
132
+ _columnInstanceInitFns: Array<NonNullable<TableFeature['initColumnInstanceData']>>;
114
133
  /**
115
134
  * Prototype cache for Column objects - shared by all columns in this table
116
135
  */
@@ -119,6 +138,14 @@ interface Table_CoreProperties<TFeatures extends TableFeatures, TData extends Ro
119
138
  * The features that are enabled for the table.
120
139
  */
121
140
  readonly _features: Partial<CoreFeatures> & TFeatures;
141
+ /**
142
+ * Cache of the `initHeaderGroupInstanceData` functions for features that define one.
143
+ */
144
+ _headerGroupInstanceInitFns: Array<NonNullable<TableFeature['initHeaderGroupInstanceData']>>;
145
+ /**
146
+ * Cache of the `initHeaderInstanceData` functions for features that define one.
147
+ */
148
+ _headerInstanceInitFns: Array<NonNullable<TableFeature['initHeaderInstanceData']>>;
122
149
  /**
123
150
  * Prototype cache for Header objects - shared by all headers in this table
124
151
  */
@@ -135,6 +162,10 @@ interface Table_CoreProperties<TFeatures extends TableFeatures, TData extends Ro
135
162
  * Prototype cache for Row objects - shared by all rows in this table
136
163
  */
137
164
  _rowPrototype?: object;
165
+ /**
166
+ * Cache of the `initRowInstanceData` functions for features that define one.
167
+ */
168
+ _rowInstanceInitFns: Array<NonNullable<TableFeature['initRowInstanceData']>>;
138
169
  /**
139
170
  * The readonly derived atoms for each `TableState` slice. Each derives from
140
171
  * its corresponding `baseAtom` plus, optionally, a per-slice external atom or
@@ -166,13 +197,14 @@ interface Table_CoreProperties<TFeatures extends TableFeatures, TData extends Ro
166
197
  */
167
198
  readonly store: ReadonlyStore<TableState<TFeatures>>;
168
199
  }
169
- interface Table_Table<TFeatures extends TableFeatures, TData extends RowData> extends Table_CoreProperties<TFeatures, TData> {
200
+ interface Table_Table<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Table_CoreProperties<TFeatures, TData> {
170
201
  /**
171
202
  * Resets the table's internal base atoms to `table.initialState`.
172
203
  *
173
204
  * Prefer feature-specific reset APIs, such as `resetPagination`, when a state
174
205
  * slice may be owned by an external atom or needs that feature's blank/default
175
- * reset behavior.
206
+ * reset behavior. After resetting internal atoms, this also invokes feature
207
+ * reset hooks for mutable, transient table-instance data.
176
208
  */
177
209
  reset: () => void;
178
210
  /**
@@ -182,5 +214,4 @@ interface Table_Table<TFeatures extends TableFeatures, TData extends RowData> ex
182
214
  setOptions: (newOptions: Updater<TableOptions<TFeatures, TData>>) => void;
183
215
  }
184
216
  //#endregion
185
- export { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms, ExternalAtoms_All, TableMeta, TableOptions_Table, Table_CoreProperties, Table_Table };
186
- //# sourceMappingURL=coreTablesFeature.types.d.ts.map
217
+ export { Atoms, Atoms_All, BaseAtoms, BaseAtoms_All, ExternalAtoms, ExternalAtoms_All, ExtractTableMeta, TableMeta, TableOptions_Table, Table_CoreProperties, Table_Table };