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

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 +27 -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 +2 -2
  160. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +61 -24
  161. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +31 -22
  162. package/dist/features/row-sorting/rowSortingFeature.utils.js +51 -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 +12 -9
  182. package/dist/static-functions.js +12 -9
  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,53 +1,417 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.js";
2
2
  import { CoreFeatures } from "../core/coreFeatures.js";
3
- import { Row } from "./Row.js";
3
+ import { SortFn } from "../features/row-sorting/rowSortingFeature.types.js";
4
+ import { HeaderGroup } from "./HeaderGroup.js";
5
+ import { Header } from "./Header.js";
4
6
  import { ColumnDefBase_All } from "./ColumnDef.js";
7
+ import { AggregationFnDef } from "../features/row-aggregation/rowAggregationFeature.types.js";
8
+ import { Column } from "./Column.js";
9
+ import { Row } from "./Row.js";
10
+ import { FilterFn } from "../features/column-filtering/columnFilteringFeature.types.js";
11
+ import { RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
5
12
  import { TableState_All } from "./TableState.js";
6
13
  import { TableOptions_All } from "./TableOptions.js";
14
+ import { Table } from "./Table.js";
15
+ import { Cell } from "./Cell.js";
7
16
  import { StockFeatures } from "../features/stockFeatures.js";
8
- import { Table_Internal } from "./Table.js";
9
-
10
17
  //#region src/types/TableFeatures.d.ts
18
+ /**
19
+ * Detects whether a type is `any`.
20
+ *
21
+ * Several feature-map helpers need a separate `any` path so broad generic
22
+ * usage still exposes all known feature APIs instead of narrowing to no keys.
23
+ */
11
24
  type IsAny<T> = 0 extends 1 & T ? true : false;
25
+ /**
26
+ * Converts a union to an intersection, returning `{}` for `never`.
27
+ *
28
+ * This keeps empty feature-map lookups usable as an intersection member.
29
+ */
12
30
  type UnionToIntersectionOrEmpty<T> = [T] extends [never] ? {} : UnionToIntersection<T> & {};
31
+ /**
32
+ * Extracts the API/types contributed by the features present in `TFeatures`.
33
+ *
34
+ * `TFeatureMap` maps feature keys to the types they contribute. When
35
+ * `TFeatures` is `any`, all feature-map entries are included to preserve the
36
+ * permissive behavior expected by broad table types. Otherwise, only entries
37
+ * whose keys are present in `TFeatures` are intersected together.
38
+ */
13
39
  type ExtractFeatureMapTypes<TFeatures extends TableFeatures, TFeatureMap extends object> = IsAny<TFeatures> extends true ? UnionToIntersection<TFeatureMap[keyof TFeatureMap]> : UnionToIntersectionOrEmpty<TFeatureMap[Extract<keyof TFeatures, keyof TFeatureMap>]>;
40
+ /**
41
+ * Declaration-merge target for custom table features.
42
+ *
43
+ * Add custom feature keys here so `TableFeatures` can accept them in the
44
+ * `features` option and use the same feature-map extraction system as built-in
45
+ * features.
46
+ */
14
47
  interface Plugins {}
15
- interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {}
48
+ /**
49
+ * Keys of the `features` option that are not table features themselves.
50
+ *
51
+ * These slots carry per-table types (`tableMeta`, `columnMeta`), row model
52
+ * factories, and row model function registries. They are stripped from the
53
+ * table's registered `_features` at runtime and excluded from feature-derived
54
+ * options such as the generated `debug*` keys.
55
+ */
56
+ type NonFeatureKeys = 'aggregationFns' | 'columnMeta' | 'coreRowModel' | 'expandedRowModel' | 'facetedMinMaxValues' | 'facetedRowModel' | 'facetedUniqueValues' | 'filterFns' | 'filterMeta' | 'filteredRowModel' | 'groupedRowModel' | 'paginatedRowModel' | 'sortFns' | 'sortedRowModel' | 'tableMeta';
57
+ /**
58
+ * Maps each row model and fn registry slot to the feature(s) that must be
59
+ * registered alongside it in the same features object.
60
+ *
61
+ * Custom features can declaration-merge their own slot prerequisites into this
62
+ * interface to get the same validation from `tableFeatures()`.
63
+ */
64
+ interface FeatureSlotPrereqs {
65
+ /**
66
+ * Named aggregation functions require the independent aggregation feature.
67
+ */
68
+ aggregationFns: 'rowAggregationFeature';
69
+ /**
70
+ * Column resizing builds on the column sizing state and APIs.
71
+ */
72
+ columnResizingFeature: 'columnSizingFeature';
73
+ /**
74
+ * Expanded row-model factories require row expanding APIs and state.
75
+ */
76
+ expandedRowModel: 'rowExpandingFeature';
77
+ /**
78
+ * Faceted min/max factories require column faceting APIs.
79
+ */
80
+ facetedMinMaxValues: 'columnFacetingFeature';
81
+ /**
82
+ * Faceted row-model factories require column faceting APIs.
83
+ */
84
+ facetedRowModel: 'columnFacetingFeature';
85
+ /**
86
+ * Faceted unique-value factories require column faceting APIs.
87
+ */
88
+ facetedUniqueValues: 'columnFacetingFeature';
89
+ /**
90
+ * Filtered row-model factories require column filtering APIs and state.
91
+ */
92
+ filteredRowModel: 'columnFilteringFeature';
93
+ /**
94
+ * Named filter functions are only meaningful when column filtering is enabled.
95
+ */
96
+ filterFns: 'columnFilteringFeature';
97
+ /**
98
+ * Filter metadata types are only read and written by filtering features.
99
+ */
100
+ filterMeta: 'columnFilteringFeature';
101
+ /**
102
+ * Global filtering builds on column filtering state and filter functions.
103
+ */
104
+ globalFilteringFeature: 'columnFilteringFeature';
105
+ /**
106
+ * Grouped row-model factories require column grouping APIs and state.
107
+ */
108
+ groupedRowModel: 'columnGroupingFeature';
109
+ /**
110
+ * Paginated row-model factories require row pagination APIs and state.
111
+ */
112
+ paginatedRowModel: 'rowPaginationFeature';
113
+ /**
114
+ * Sorted row-model factories require row sorting APIs and state.
115
+ */
116
+ sortedRowModel: 'rowSortingFeature';
117
+ /**
118
+ * Named sorting functions are only meaningful when row sorting is enabled.
119
+ */
120
+ sortFns: 'rowSortingFeature';
121
+ }
122
+ /**
123
+ * Validates that every row model and fn registry slot in a features object is
124
+ * accompanied by its prerequisite feature.
125
+ *
126
+ * Slots whose prerequisite is missing have their type replaced with a literal
127
+ * error message, so the offending property fails to type-check with a message
128
+ * naming the feature that needs to be added.
129
+ */
130
+ type ValidateFeatureSlots<TFeatures extends TableFeatures> = IsAny<TFeatures> extends true ? {} : { [K in keyof TFeatures as K extends keyof FeatureSlotPrereqs ? K : never]: K extends keyof FeatureSlotPrereqs ? [Extract<FeatureSlotPrereqs[K], keyof TFeatures>] extends [never] ? `Error: '${K & string}' requires '${FeatureSlotPrereqs[K] & string}' to be included in this table's features.` : TFeatures[K] : never; };
131
+ /**
132
+ * Complete feature registry for a table.
133
+ *
134
+ * This type combines core features, stock features, declaration-merged custom
135
+ * plugins, row-model factory slots, function registries, and type-only meta
136
+ * slots. The concrete `features` object passed to `tableFeatures()` determines
137
+ * which feature APIs are included throughout table, row, column, cell, header,
138
+ * options, and state types.
139
+ */
140
+ interface TableFeatures extends Partial<CoreFeatures>, Partial<StockFeatures>, Partial<Plugins> {
141
+ /**
142
+ * Registry of aggregation functions available to this table by name.
143
+ *
144
+ * Keys registered here become the valid string values for `aggregationFn` on
145
+ * column definitions, with full inference. Import the built-in aggregation
146
+ * functions you use individually and register them by their conventional
147
+ * names: `aggregationFns: { sum: aggregationFn_sum, myCustomAggregationFn }`.
148
+ * Spreading the exported `aggregationFns` registry also works, but puts
149
+ * every built-in aggregation function in your bundle.
150
+ */
151
+ aggregationFns?: Record<string, AggregationFnDef<any, any, any, any>>;
152
+ /**
153
+ * Type-only slot for declaring the type of `columnDef.meta` for all columns
154
+ * of this table.
155
+ *
156
+ * Pass a phantom value: `columnMeta: {} as MyColumnMeta`. The value itself is
157
+ * ignored and stripped from the table's registered features at runtime — only
158
+ * its type is used, inferred wherever `TFeatures` flows.
159
+ *
160
+ * When omitted, the global declaration-merged `ColumnMeta` interface applies.
161
+ */
162
+ columnMeta?: object;
163
+ /**
164
+ * Factory for the table's core (unmodified) row model. Defaults to the
165
+ * built-in `createCoreRowModel()` when omitted.
166
+ */
167
+ coreRowModel?: (table: any) => () => RowModel<any, any>;
168
+ /**
169
+ * Factory for the client-side expanded row model. Pass the exported
170
+ * `createExpandedRowModel()` or implement your own. Not needed for
171
+ * server-side expansion.
172
+ */
173
+ expandedRowModel?: (table: any) => () => RowModel<any, any>;
174
+ /**
175
+ * Factory for per-column faceted min/max values. Pass the exported
176
+ * `createFacetedMinMaxValues()` or implement your own. Not needed for
177
+ * server-side faceting.
178
+ */
179
+ facetedMinMaxValues?: (table: any, columnId: string) => () => [number, number] | undefined;
180
+ /**
181
+ * Factory for the per-column faceted row model. Pass the exported
182
+ * `createFacetedRowModel()` or implement your own. Not needed for
183
+ * server-side faceting.
184
+ */
185
+ facetedRowModel?: (table: any, columnId: string) => () => RowModel<any, any>;
186
+ /**
187
+ * Factory for per-column faceted unique values. Pass the exported
188
+ * `createFacetedUniqueValues()` or implement your own. Not needed for
189
+ * server-side faceting.
190
+ */
191
+ facetedUniqueValues?: (table: any, columnId: string) => () => Map<any, number>;
192
+ /**
193
+ * Factory for the client-side filtered row model. Pass the exported
194
+ * `createFilteredRowModel()` or implement your own. Not needed for
195
+ * server-side filtering.
196
+ */
197
+ filteredRowModel?: (table: any) => () => RowModel<any, any>;
198
+ /**
199
+ * Registry of filter functions available to this table by name.
200
+ *
201
+ * Keys registered here become the valid string values for `filterFn` on
202
+ * column definitions and the `globalFilterFn` option, with full inference.
203
+ * Import the built-in filter functions you use individually and register
204
+ * them by their conventional names:
205
+ * `filterFns: { includesString: filterFn_includesString, myCustomFilterFn }`.
206
+ * Spreading the exported `filterFns` registry also works, but puts every
207
+ * built-in filter function in your bundle.
208
+ */
209
+ filterFns?: Record<string, FilterFn<any, any>>;
210
+ /**
211
+ * Type-only slot for declaring the type of the filter meta that filter
212
+ * functions attach to rows via `addMeta` and that is read back from
213
+ * `row.columnFiltersMeta`.
214
+ *
215
+ * Pass a phantom value: `filterMeta: {} as MyFilterMeta` (or
216
+ * `metaHelper<MyFilterMeta>()`). The value itself is ignored and stripped
217
+ * from the table's registered features at runtime; only its type is used.
218
+ *
219
+ * When omitted, the global declaration-merged `FilterMeta` interface applies.
220
+ */
221
+ filterMeta?: object;
222
+ /**
223
+ * Factory for the client-side grouped row model. Pass the exported
224
+ * `createGroupedRowModel()` or implement your own. Not needed for
225
+ * server-side grouping.
226
+ */
227
+ groupedRowModel?: (table: any) => () => RowModel<any, any>;
228
+ /**
229
+ * Factory for the client-side paginated row model. Pass the exported
230
+ * `createPaginatedRowModel()` or implement your own. Not needed for
231
+ * server-side pagination.
232
+ */
233
+ paginatedRowModel?: (table: any) => () => RowModel<any, any>;
234
+ /**
235
+ * Factory for the client-side sorted row model. Pass the exported
236
+ * `createSortedRowModel()` or implement your own. Not needed for
237
+ * server-side sorting.
238
+ */
239
+ sortedRowModel?: (table: any) => () => RowModel<any, any>;
240
+ /**
241
+ * Registry of sorting functions available to this table by name.
242
+ *
243
+ * Keys registered here become the valid string values for `sortFn` on column
244
+ * definitions, with full inference. Import the built-in sorting functions
245
+ * you use individually and register them by their conventional names:
246
+ * `sortFns: { alphanumeric: sortFn_alphanumeric, myCustomSortFn }`. Spreading
247
+ * the exported `sortFns` registry also works, but puts every built-in
248
+ * sorting function in your bundle.
249
+ */
250
+ sortFns?: Record<string, SortFn<any, any>>;
251
+ /**
252
+ * Type-only slot for declaring the type of this table's `options.meta`.
253
+ *
254
+ * Pass a phantom value: `tableMeta: {} as MyTableMeta`. The value itself is
255
+ * ignored and stripped from the table's registered features at runtime — only
256
+ * its type is used, inferred wherever `TFeatures` flows.
257
+ *
258
+ * When omitted, the global declaration-merged `TableMeta` interface applies.
259
+ */
260
+ tableMeta?: object;
261
+ }
262
+ /**
263
+ * Lifecycle hooks and defaults contributed by a table feature.
264
+ *
265
+ * Feature objects are registered in the table's `features` option. They can
266
+ * contribute default state/options, default column definitions, table APIs,
267
+ * shared prototype APIs for rows/columns/headers/cells, and per-instance data
268
+ * for tables, columns, rows, headers, header groups, and cells.
269
+ */
16
270
  interface TableFeature {
17
271
  /**
18
- * Assigns Cell APIs to the cell prototype for memory-efficient method sharing.
19
- * This is called once per table to build a shared prototype for all cells.
272
+ * Adds feature methods to the shared cell prototype for a table.
273
+ *
274
+ * This runs lazily the first time a cell is constructed for a table. Methods
275
+ * assigned here are shared by every cell instance created by that table, so
276
+ * this hook should be used for APIs and memoized methods rather than
277
+ * per-cell mutable data.
20
278
  */
21
- assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
279
+ assignCellPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
22
280
  /**
23
- * Assigns Column APIs to the column prototype for memory-efficient method sharing.
24
- * This is called once per table to build a shared prototype for all columns.
281
+ * Adds feature methods to the shared column prototype for a table.
282
+ *
283
+ * This runs lazily the first time a column is constructed for a table.
284
+ * Methods assigned here are shared by every column instance created by that
285
+ * table, so this hook should be used for APIs and memoized methods rather
286
+ * than per-column mutable data.
25
287
  */
26
- assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
288
+ assignColumnPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
27
289
  /**
28
- * Assigns Header APIs to the header prototype for memory-efficient method sharing.
29
- * This is called once per table to build a shared prototype for all headers.
290
+ * Adds feature methods to the shared header prototype for a table.
291
+ *
292
+ * This runs lazily the first time a header is constructed for a table.
293
+ * Methods assigned here are shared by every header instance created by that
294
+ * table, so this hook should be used for APIs and memoized methods rather
295
+ * than per-header mutable data.
30
296
  */
31
- assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
297
+ assignHeaderPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
32
298
  /**
33
- * Assigns Row APIs to the row prototype for memory-efficient method sharing.
34
- * This is called once per table to build a shared prototype for all rows.
299
+ * Adds feature methods to the shared row prototype for a table.
300
+ *
301
+ * This runs lazily the first time a row is constructed for a table. Methods
302
+ * assigned here are shared by every row instance created by that table, so
303
+ * this hook should be used for APIs and memoized methods rather than per-row
304
+ * mutable data.
35
305
  */
36
- assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table_Internal<TFeatures, TData>) => void;
306
+ assignRowPrototype?: <TFeatures extends TableFeatures, TData extends RowData>(prototype: Record<string, any>, table: Table<TFeatures, TData>) => void;
37
307
  /**
38
- * Assigns Table APIs to the table instance.
39
- * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
308
+ * Adds feature APIs directly to the table instance.
309
+ *
310
+ * The table is a singleton, unlike rows, columns, headers, and cells, so
311
+ * table APIs are assigned directly instead of through a shared prototype.
312
+ * This hook is exclusively for assigning table methods. It runs after
313
+ * options, state atoms, and the store have been created and after every
314
+ * feature's `initTableInstanceData` hook has completed.
315
+ */
316
+ constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
317
+ /**
318
+ * Returns default column definition options contributed by this feature.
319
+ *
320
+ * These defaults are merged into the table's default column definition before
321
+ * `options.defaultColumn` and before each user-supplied column definition is
322
+ * resolved, so users can override values supplied here.
40
323
  */
41
- constructTableAPIs?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => void;
42
324
  getDefaultColumnDef?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>() => ColumnDefBase_All<TFeatures, TData, TValue>;
43
- getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
325
+ /**
326
+ * Returns default table options contributed by this feature.
327
+ *
328
+ * This runs while table options are being resolved. Use it for option
329
+ * defaults such as feature enablement flags and default state-updater
330
+ * callbacks. User-supplied table options take precedence over values returned
331
+ * here.
332
+ */
333
+ getDefaultTableOptions?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => Partial<TableOptions_All<TFeatures, TData>>;
334
+ /**
335
+ * Returns this feature's initial table state.
336
+ *
337
+ * The incoming `initialState` contains state accumulated from earlier
338
+ * features and user-provided initial state. Return a complete state object
339
+ * for this feature, preserving `initialState` so user-provided values can
340
+ * override feature defaults.
341
+ */
44
342
  getInitialState?: (initialState: Partial<TableState_All>) => TableState_All;
45
343
  /**
46
- * Initializes instance-specific data on each row (e.g., caches).
47
- * Methods should be assigned via assignRowPrototype instead.
344
+ * Initializes mutable, non-reactive data owned by this feature on the table
345
+ * instance.
346
+ *
347
+ * This runs once during table construction after options, state atoms, and
348
+ * the store are available. Features are processed in a single pass in
349
+ * registration order, with each feature's instance data initialized just
350
+ * before its own `constructTableAPIs` hook, so this hook may rely on data
351
+ * and APIs of features registered earlier. Use `constructTableAPIs`
352
+ * exclusively for assigning table methods. Table resets do not rerun this
353
+ * hook; use `resetTableInstanceData` to clear transient instance data
354
+ * instead.
355
+ */
356
+ initTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
357
+ /**
358
+ * Initializes instance-specific data on each cell.
359
+ *
360
+ * This runs for every constructed cell after core cell fields such as `id`,
361
+ * `column`, and `row` have been assigned. Cells are constructed lazily on
362
+ * first access per row/column pair and cached, so this runs once per cell
363
+ * instance. Use this for per-cell mutable data, caches, or annotations.
364
+ * Shared methods should be assigned via `assignCellPrototype` instead.
365
+ */
366
+ initCellInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(cell: Cell<TFeatures, TData, TValue>) => void;
367
+ /**
368
+ * Initializes instance-specific data on each column.
369
+ *
370
+ * This runs for every constructed column after core column fields such as
371
+ * `id`, `depth`, `parent`, `columnDef`, and `columns` have been assigned.
372
+ * Use this for per-column mutable data, caches, or annotations. Shared
373
+ * methods should be assigned via `assignColumnPrototype` instead.
374
+ */
375
+ initColumnInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column<TFeatures, TData, TValue>) => void;
376
+ /**
377
+ * Initializes instance-specific data on each header group.
378
+ *
379
+ * This runs for every constructed header group after `depth`, `id`, and the
380
+ * fully populated `headers` array have been assigned. Header groups have no
381
+ * shared prototype, so this is their only per-instance extension point.
382
+ * Header groups are reconstructed whenever they recompute (e.g. column
383
+ * visibility, order, or pinning changes), so this reruns on every rebuild.
384
+ */
385
+ initHeaderGroupInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(headerGroup: HeaderGroup<TFeatures, TData>) => void;
386
+ /**
387
+ * Initializes instance-specific data on each header.
388
+ *
389
+ * This runs for every constructed header after core header fields such as
390
+ * `id`, `column`, `depth`, `index`, and `isPlaceholder` have been assigned,
391
+ * but before `subHeaders` are populated and before `headerGroup` is linked.
392
+ * Headers are reconstructed on every header group rebuild, so this reruns
393
+ * on every rebuild. Use this for per-header mutable data, caches, or
394
+ * annotations. Shared methods should be assigned via `assignHeaderPrototype`
395
+ * instead.
396
+ */
397
+ initHeaderInstanceData?: <TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(header: Header<TFeatures, TData, TValue>) => void;
398
+ /**
399
+ * Initializes instance-specific data on each row.
400
+ *
401
+ * This runs for every constructed row after core row fields such as `id`,
402
+ * `index`, `depth`, `original`, `parentId`, and `subRows` have been assigned.
403
+ * Use this for per-row mutable data, caches, or annotations. Shared methods
404
+ * should be assigned via `assignRowPrototype` instead.
48
405
  */
49
406
  initRowInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(row: Row<TFeatures, TData>) => void;
407
+ /**
408
+ * Resets mutable, non-reactive table-instance data owned by this feature.
409
+ *
410
+ * This runs after internally owned state atoms have been restored to
411
+ * `table.initialState` by `table.reset()`. It is intended for transient
412
+ * feature data, not table state slices or externally controlled state.
413
+ */
414
+ resetTableInstanceData?: <TFeatures extends TableFeatures, TData extends RowData>(table: Table<TFeatures, TData>) => void;
50
415
  }
51
416
  //#endregion
52
- export { ExtractFeatureMapTypes, Plugins, TableFeature, TableFeatures };
53
- //# sourceMappingURL=TableFeatures.d.ts.map
417
+ export { ExtractFeatureMapTypes, FeatureSlotPrereqs, IsAny, NonFeatureKeys, Plugins, TableFeature, TableFeatures, ValidateFeatureSlots };
@@ -1,31 +1,33 @@
1
1
  import { RowData, UnionToIntersection } from "./type-utils.js";
2
2
  import { CoreFeatures } from "../core/coreFeatures.js";
3
+ import { TableOptions_CellSelection } from "../features/cell-selection/cellSelectionFeature.types.js";
3
4
  import { TableOptions_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
4
- import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
5
+ import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.js";
6
+ import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
5
7
  import { TableOptions_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
6
8
  import { TableOptions_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
7
- import { TableOptions_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
8
- import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
9
+ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
9
10
  import { TableOptions_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
11
+ import { TableOptions_RowAggregation } from "../features/row-aggregation/rowAggregationFeature.types.js";
12
+ import { TableOptions_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
10
13
  import { TableOptions_Columns } from "../core/columns/coreColumnsFeature.types.js";
11
14
  import { TableOptions_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
12
15
  import { TableOptions_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
13
16
  import { TableOptions_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
14
17
  import { TableOptions_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
15
18
  import { TableOptions_Rows } from "../core/rows/coreRowsFeature.types.js";
16
- import { TableOptions_Cell } from "../core/cells/coreCellsFeature.types.js";
19
+ import { TableOptions_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
17
20
  import { TableOptions_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
18
21
  import { TableOptions_Table } from "../core/table/coreTablesFeature.types.js";
19
- import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
20
- import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
21
-
22
+ import { TableOptions_CellSpanning } from "../features/cell-spanning/cellSpanningFeature.types.js";
23
+ import { ExtractFeatureMapTypes, NonFeatureKeys, TableFeatures } from "./TableFeatures.js";
22
24
  //#region src/types/TableOptions.d.ts
23
25
  /**
24
26
  * Core options that are always available on a table, before optional feature
25
27
  * options are mixed in.
26
28
  */
27
- interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
28
- type DebugKeysFor<TFeatures extends TableFeatures> = { [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean };
29
+ interface TableOptions_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
30
+ type DebugKeysFor<TFeatures extends TableFeatures> = { [K in Exclude<keyof TFeatures & string, NonFeatureKeys> as `debug${Capitalize<K>}`]?: boolean; };
29
31
  type DebugOptions<TFeatures extends TableFeatures> = {
30
32
  debugAll?: boolean;
31
33
  debugCache?: boolean;
@@ -35,7 +37,9 @@ type DebugOptions<TFeatures extends TableFeatures> = {
35
37
  debugRows?: boolean;
36
38
  debugTable?: boolean;
37
39
  } & DebugKeysFor<CoreFeatures & TFeatures>;
38
- interface TableOptions_FeatureMap<TFeatures extends TableFeatures, TData extends RowData> {
40
+ interface TableOptions_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
41
+ cellSelectionFeature: TableOptions_CellSelection<TFeatures, TData>;
42
+ cellSpanningFeature: TableOptions_CellSpanning;
39
43
  columnFilteringFeature: TableOptions_ColumnFiltering<TFeatures, TData>;
40
44
  columnGroupingFeature: TableOptions_ColumnGrouping;
41
45
  columnOrderingFeature: TableOptions_ColumnOrdering;
@@ -44,13 +48,20 @@ interface TableOptions_FeatureMap<TFeatures extends TableFeatures, TData extends
44
48
  columnSizingFeature: TableOptions_ColumnSizing;
45
49
  columnVisibilityFeature: TableOptions_ColumnVisibility;
46
50
  globalFilteringFeature: TableOptions_GlobalFiltering<TFeatures, TData>;
51
+ rowAggregationFeature: TableOptions_RowAggregation;
47
52
  rowExpandingFeature: TableOptions_RowExpanding<TFeatures, TData>;
48
53
  rowPaginationFeature: TableOptions_RowPagination;
49
54
  rowPinningFeature: TableOptions_RowPinning<TFeatures, TData>;
50
55
  rowSelectionFeature: TableOptions_RowSelection<TFeatures, TData>;
51
56
  rowSortingFeature: TableOptions_RowSorting;
52
57
  }
53
- type TableOptions_FeatureMap_All<TFeatures extends TableFeatures, TData extends RowData> = UnionToIntersection<TableOptions_FeatureMap<TFeatures, TData>[keyof TableOptions_FeatureMap<TFeatures, TData>]>;
58
+ type TableOptions_StockFeatureKeys = 'cellSelectionFeature' | 'cellSpanningFeature' | 'columnFilteringFeature' | 'columnGroupingFeature' | 'columnOrderingFeature' | 'columnPinningFeature' | 'columnResizingFeature' | 'columnSizingFeature' | 'columnVisibilityFeature' | 'globalFilteringFeature' | 'rowAggregationFeature' | 'rowExpandingFeature' | 'rowPaginationFeature' | 'rowPinningFeature' | 'rowSelectionFeature' | 'rowSortingFeature';
59
+ /**
60
+ * Plugin entries declaration-merged into `TableOptions_FeatureMap`, i.e. keys
61
+ * beyond the stock set. Resolves to `unknown` (an intersection no-op) when no
62
+ * plugins are merged so the common case skips the union-to-intersection work.
63
+ */
64
+ type TableOptions_PluginFeatureMapTypes<TFeatures extends TableFeatures, TData extends RowData> = [Exclude<keyof TableOptions_FeatureMap<TFeatures, TData>, TableOptions_StockFeatureKeys>] extends [never] ? unknown : UnionToIntersection<TableOptions_FeatureMap<TFeatures, TData>[Exclude<keyof TableOptions_FeatureMap<TFeatures, TData>, TableOptions_StockFeatureKeys>]>;
54
65
  /**
55
66
  * Complete table options for a specific feature set.
56
67
  *
@@ -63,7 +74,6 @@ type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = Tabl
63
74
  * Internal broad option shape used where feature code may need to read options
64
75
  * from features that are not present in the current generic feature set.
65
76
  */
66
- type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_FeatureMap_All<TFeatures, TData>>;
77
+ type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_RowAggregation & TableOptions_CellSelection<TFeatures, TData> & TableOptions_CellSpanning & TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting & TableOptions_PluginFeatureMapTypes<TFeatures, TData>>;
67
78
  //#endregion
68
- export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_FeatureMap, TableOptions_FeatureMap_All };
69
- //# sourceMappingURL=TableOptions.d.ts.map
79
+ export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_FeatureMap };
@@ -1,20 +1,21 @@
1
+ import { TableState_CellSelection } from "../features/cell-selection/cellSelectionFeature.types.js";
1
2
  import { TableState_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
2
- import { TableState_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
3
+ import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
3
4
  import { TableState_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
4
5
  import { TableState_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
5
- import { TableState_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
6
- import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
6
+ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
7
7
  import { TableState_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
8
+ import { TableState_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
8
9
  import { TableState_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
9
10
  import { TableState_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
10
11
  import { TableState_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
11
12
  import { TableState_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
13
+ import { TableState_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
12
14
  import { TableState_RowPagination } from "../features/row-pagination/rowPaginationFeature.types.js";
13
15
  import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
14
- import { TableState_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
15
-
16
16
  //#region src/types/TableState.d.ts
17
17
  interface TableState_FeatureMap {
18
+ cellSelectionFeature: TableState_CellSelection;
18
19
  columnFilteringFeature: TableState_ColumnFiltering;
19
20
  columnGroupingFeature: TableState_ColumnGrouping;
20
21
  columnOrderingFeature: TableState_ColumnOrdering;
@@ -42,7 +43,6 @@ type TableState<TFeatures extends TableFeatures> = ExtractFeatureMapTypes<TFeatu
42
43
  * Feature internals use this when they may need to inspect optional slices owned
43
44
  * by other features.
44
45
  */
45
- type TableState_All = Partial<TableState<TableFeatures>>;
46
+ interface TableState_All extends Partial<TableState_CellSelection & TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting> {}
46
47
  //#endregion
47
- export { TableState, TableState_All, TableState_FeatureMap };
48
- //# sourceMappingURL=TableState.d.ts.map
48
+ export { TableState, TableState_All, TableState_FeatureMap };
@@ -3,6 +3,13 @@ type Updater<T> = T | ((old: T) => T);
3
3
  type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
4
4
  type RowData = Record<string, any> | Array<any>;
5
5
  type CellData = unknown;
6
+ /**
7
+ * Normalizes a row's value before a filter or sort comparator sees it.
8
+ *
9
+ * Attach as `resolveDataValue` on filter/sort functions built with
10
+ * `constructFilterFn`/`constructSortFn` (e.g. to lowercase or strip diacritics).
11
+ */
12
+ type TransformDataValueFn = (dataValue: any) => any;
6
13
  type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
7
14
  type RequiredKeys<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
8
15
  type UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends ((x: infer R) => any) ? R : never;
@@ -14,10 +21,9 @@ type IsTuple<T> = T extends ReadonlyArray<any> & {
14
21
  type AllowedIndexes<Tuple extends ReadonlyArray<any>, Keys extends number = never> = Tuple extends readonly [] ? Keys : Tuple extends readonly [infer _, ...infer Tail] ? AllowedIndexes<Tail, Keys | Tail['length']> : Keys;
15
22
  type DeepKeys<T, TDepth extends Array<any> = []> = TDepth['length'] extends 5 ? never : unknown extends T ? string : T extends ReadonlyArray<any> & IsTuple<T> ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth> : T extends Array<any> ? DeepKeys<T[number], [...TDepth, any]> : T extends Date ? never : T extends object ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth> : never;
16
23
  type DeepKeysPrefix<T, TPrefix, TDepth extends Array<any>> = TPrefix extends keyof T & (number | string) ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}` : never;
17
- type DeepValue<T, TProp> = T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & string] : never;
24
+ type DeepValue<T, TProp> = T extends null | undefined ? undefined : T extends Record<string | number, any> ? TProp extends `${infer TBranch}.${infer TDeepProp}` ? DeepValue<T[TBranch], TDeepProp> : T[TProp & keyof T] : never;
18
25
  type NoInfer<T> = [T][T extends any ? 0 : never];
19
26
  type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>;
20
- type Prettify<T> = { [K in keyof T]: T[K] } & unknown;
27
+ type Prettify<T> = { [K in keyof T]: T[K]; } & unknown;
21
28
  //#endregion
22
- export { CellData, DeepKeys, DeepValue, Getter, NoInfer, OnChangeFn, PartialKeys, Prettify, RequiredKeys, RowData, UnionToIntersection, Updater };
23
- //# sourceMappingURL=type-utils.d.ts.map
29
+ export { CellData, DeepKeys, DeepValue, Getter, NoInfer, OnChangeFn, PartialKeys, Prettify, RequiredKeys, RowData, TransformDataValueFn, UnionToIntersection, Updater };