@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.11

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 (454) hide show
  1. package/dist/core/cells/constructCell.d.cts +1 -1
  2. package/dist/core/cells/constructCell.d.ts +1 -1
  3. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  4. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  5. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  6. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  7. package/dist/core/cells/coreCellsFeature.js +12 -20
  8. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.types.d.cts +4 -4
  10. package/dist/core/cells/coreCellsFeature.types.d.ts +4 -4
  11. package/dist/core/cells/coreCellsFeature.utils.d.cts +1 -1
  12. package/dist/core/cells/coreCellsFeature.utils.d.ts +1 -1
  13. package/dist/core/columns/constructColumn.d.cts +1 -1
  14. package/dist/core/columns/constructColumn.d.ts +1 -1
  15. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  16. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  17. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  18. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  19. package/dist/core/columns/coreColumnsFeature.js +60 -68
  20. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  21. package/dist/core/columns/coreColumnsFeature.types.d.cts +5 -5
  22. package/dist/core/columns/coreColumnsFeature.types.d.ts +5 -5
  23. package/dist/core/columns/coreColumnsFeature.utils.d.cts +1 -1
  24. package/dist/core/columns/coreColumnsFeature.utils.d.ts +1 -1
  25. package/dist/core/coreFeatures.cjs.map +1 -1
  26. package/dist/core/coreFeatures.d.cts +1 -1
  27. package/dist/core/coreFeatures.d.ts +1 -1
  28. package/dist/core/coreFeatures.js.map +1 -1
  29. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  30. package/dist/core/headers/buildHeaderGroups.d.cts +1 -1
  31. package/dist/core/headers/buildHeaderGroups.d.ts +1 -1
  32. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  33. package/dist/core/headers/constructHeader.d.cts +1 -1
  34. package/dist/core/headers/constructHeader.d.ts +1 -1
  35. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  36. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  37. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  38. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  39. package/dist/core/headers/coreHeadersFeature.js +45 -53
  40. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  41. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -6
  42. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -6
  43. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  44. package/dist/core/headers/coreHeadersFeature.utils.d.cts +1 -1
  45. package/dist/core/headers/coreHeadersFeature.utils.d.ts +1 -1
  46. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  47. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  48. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  49. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  50. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  51. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  52. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  53. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +5 -15
  54. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +5 -15
  55. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +13 -13
  56. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  57. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +2 -2
  58. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +2 -2
  59. package/dist/core/row-models/coreRowModelsFeature.utils.js +13 -13
  60. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  61. package/dist/core/row-models/createCoreRowModel.cjs +1 -2
  62. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  63. package/dist/core/row-models/createCoreRowModel.d.cts +2 -2
  64. package/dist/core/row-models/createCoreRowModel.d.ts +2 -2
  65. package/dist/core/row-models/createCoreRowModel.js +1 -2
  66. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  67. package/dist/core/rows/constructRow.d.cts +1 -1
  68. package/dist/core/rows/constructRow.d.ts +1 -1
  69. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  70. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  71. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  72. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  73. package/dist/core/rows/coreRowsFeature.js +28 -36
  74. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  75. package/dist/core/rows/coreRowsFeature.types.d.cts +5 -5
  76. package/dist/core/rows/coreRowsFeature.types.d.ts +5 -5
  77. package/dist/core/rows/coreRowsFeature.utils.d.cts +1 -1
  78. package/dist/core/rows/coreRowsFeature.utils.d.ts +1 -1
  79. package/dist/core/table/constructTable.cjs +21 -6
  80. package/dist/core/table/constructTable.cjs.map +1 -1
  81. package/dist/core/table/constructTable.d.cts +1 -1
  82. package/dist/core/table/constructTable.d.ts +1 -1
  83. package/dist/core/table/constructTable.js +21 -6
  84. package/dist/core/table/constructTable.js.map +1 -1
  85. package/dist/core/table/coreTablesFeature.cjs +7 -16
  86. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  87. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  88. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  89. package/dist/core/table/coreTablesFeature.js +8 -16
  90. package/dist/core/table/coreTablesFeature.js.map +1 -1
  91. package/dist/core/table/coreTablesFeature.types.d.cts +27 -15
  92. package/dist/core/table/coreTablesFeature.types.d.ts +27 -15
  93. package/dist/core/table/coreTablesFeature.utils.cjs +1 -2
  94. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  95. package/dist/core/table/coreTablesFeature.utils.d.cts +1 -1
  96. package/dist/core/table/coreTablesFeature.utils.d.ts +1 -1
  97. package/dist/core/table/coreTablesFeature.utils.js +1 -2
  98. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  99. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  100. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  101. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  102. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  103. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  104. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  105. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +8 -29
  106. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +8 -29
  107. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +12 -12
  108. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  109. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +1 -1
  110. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +1 -1
  111. package/dist/features/column-faceting/columnFacetingFeature.utils.js +12 -12
  112. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  113. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  114. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +1 -1
  115. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +1 -1
  116. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  117. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  118. package/dist/features/column-faceting/createFacetedRowModel.d.cts +1 -1
  119. package/dist/features/column-faceting/createFacetedRowModel.d.ts +1 -1
  120. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  121. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  122. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +1 -1
  123. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +1 -1
  124. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  125. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  126. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  127. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  128. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  129. package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
  130. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  131. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +40 -26
  132. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +40 -26
  133. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +1 -1
  134. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  135. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +2 -2
  136. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +2 -2
  137. package/dist/features/column-filtering/columnFilteringFeature.utils.js +1 -1
  138. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  139. package/dist/features/column-filtering/createFilteredRowModel.cjs +4 -2
  140. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  141. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -3
  142. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -3
  143. package/dist/features/column-filtering/createFilteredRowModel.js +4 -2
  144. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  145. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  146. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  147. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  148. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  149. package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
  150. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  151. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +23 -19
  152. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +23 -19
  153. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +1 -1
  154. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +1 -1
  155. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -2
  156. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  157. package/dist/features/column-grouping/createGroupedRowModel.d.cts +6 -3
  158. package/dist/features/column-grouping/createGroupedRowModel.d.ts +6 -3
  159. package/dist/features/column-grouping/createGroupedRowModel.js +5 -2
  160. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  161. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  162. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  163. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  164. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  165. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  166. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  167. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +1 -1
  168. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +1 -1
  169. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +1 -1
  170. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +1 -1
  171. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  172. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  173. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  174. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  175. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  176. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  177. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +2 -2
  178. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +2 -2
  179. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  180. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +13 -13
  181. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +13 -13
  182. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  183. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  184. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  185. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  186. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  187. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  188. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  189. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +1 -1
  190. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +1 -1
  191. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  192. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  193. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  194. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  195. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  196. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  197. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +4 -4
  198. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +4 -4
  199. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  200. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  201. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  202. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  203. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  204. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  205. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +2 -2
  206. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +2 -2
  207. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +1 -1
  208. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +1 -1
  209. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  210. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  211. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  212. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  213. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  214. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  215. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +3 -3
  216. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +3 -3
  217. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  218. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +7 -5
  219. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +7 -5
  220. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  221. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  222. package/dist/features/row-expanding/createExpandedRowModel.d.cts +1 -1
  223. package/dist/features/row-expanding/createExpandedRowModel.d.ts +1 -1
  224. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  225. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  226. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  227. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  228. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  229. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  230. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  231. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +5 -14
  232. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +5 -14
  233. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +1 -1
  234. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +1 -1
  235. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  236. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +1 -1
  237. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +1 -1
  238. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  239. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  240. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  241. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  242. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  243. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  244. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  245. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +4 -13
  246. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +4 -13
  247. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +1 -1
  248. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +1 -1
  249. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  250. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  251. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  252. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  253. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  254. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  255. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +2 -2
  256. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +2 -2
  257. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +1 -1
  258. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +1 -1
  259. package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
  260. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  261. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  262. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  263. package/dist/features/row-selection/rowSelectionFeature.js +66 -77
  264. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  265. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +2 -2
  266. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +2 -2
  267. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +10 -6
  268. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  269. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +1 -1
  270. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +1 -1
  271. package/dist/features/row-selection/rowSelectionFeature.utils.js +10 -6
  272. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  273. package/dist/features/row-sorting/createSortedRowModel.cjs +4 -2
  274. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  275. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -3
  276. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -3
  277. package/dist/features/row-sorting/createSortedRowModel.js +4 -2
  278. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  279. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  280. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  281. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  282. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  283. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  284. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  285. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +23 -20
  286. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +23 -20
  287. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  288. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  289. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +1 -1
  290. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +1 -1
  291. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  292. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  293. package/dist/fns/aggregationFns.cjs +18 -18
  294. package/dist/fns/aggregationFns.cjs.map +1 -1
  295. package/dist/fns/aggregationFns.d.cts +21 -19
  296. package/dist/fns/aggregationFns.d.ts +21 -19
  297. package/dist/fns/aggregationFns.js +18 -18
  298. package/dist/fns/aggregationFns.js.map +1 -1
  299. package/dist/fns/filterFns.cjs +51 -65
  300. package/dist/fns/filterFns.cjs.map +1 -1
  301. package/dist/fns/filterFns.d.cts +82 -28
  302. package/dist/fns/filterFns.d.ts +82 -28
  303. package/dist/fns/filterFns.js +51 -65
  304. package/dist/fns/filterFns.js.map +1 -1
  305. package/dist/fns/sortFns.cjs +18 -6
  306. package/dist/fns/sortFns.cjs.map +1 -1
  307. package/dist/fns/sortFns.d.cts +15 -13
  308. package/dist/fns/sortFns.d.ts +15 -13
  309. package/dist/fns/sortFns.js +18 -6
  310. package/dist/fns/sortFns.js.map +1 -1
  311. package/dist/helpers/metaHelper.cjs +30 -0
  312. package/dist/helpers/metaHelper.cjs.map +1 -0
  313. package/dist/helpers/metaHelper.d.cts +26 -0
  314. package/dist/helpers/metaHelper.d.ts +26 -0
  315. package/dist/helpers/metaHelper.js +29 -0
  316. package/dist/helpers/metaHelper.js.map +1 -0
  317. package/dist/helpers/tableFeatures.cjs +31 -3
  318. package/dist/helpers/tableFeatures.cjs.map +1 -1
  319. package/dist/helpers/tableFeatures.d.cts +33 -5
  320. package/dist/helpers/tableFeatures.d.ts +33 -5
  321. package/dist/helpers/tableFeatures.js +31 -3
  322. package/dist/helpers/tableFeatures.js.map +1 -1
  323. package/dist/index.cjs +2 -20
  324. package/dist/index.d.cts +44 -43
  325. package/dist/index.d.ts +44 -43
  326. package/dist/index.js +22 -21
  327. package/dist/store-reactivity-bindings.cjs +1 -1
  328. package/dist/store-reactivity-bindings.cjs.map +1 -1
  329. package/dist/store-reactivity-bindings.d.cts +1 -1
  330. package/dist/store-reactivity-bindings.d.ts +1 -1
  331. package/dist/store-reactivity-bindings.js +1 -1
  332. package/dist/store-reactivity-bindings.js.map +1 -1
  333. package/dist/types/Cell.d.cts +8 -10
  334. package/dist/types/Cell.d.ts +8 -10
  335. package/dist/types/Column.d.cts +19 -12
  336. package/dist/types/Column.d.ts +19 -12
  337. package/dist/types/ColumnDef.d.cts +30 -11
  338. package/dist/types/ColumnDef.d.ts +30 -11
  339. package/dist/types/Header.d.cts +10 -11
  340. package/dist/types/Header.d.ts +10 -11
  341. package/dist/types/HeaderGroup.d.cts +4 -9
  342. package/dist/types/HeaderGroup.d.ts +4 -9
  343. package/dist/types/Row.d.cts +15 -11
  344. package/dist/types/Row.d.ts +15 -11
  345. package/dist/types/RowModel.d.cts +19 -19
  346. package/dist/types/RowModel.d.ts +19 -19
  347. package/dist/types/RowModelFns.d.cts +9 -9
  348. package/dist/types/RowModelFns.d.ts +9 -9
  349. package/dist/types/Table.d.cts +52 -24
  350. package/dist/types/Table.d.ts +52 -24
  351. package/dist/types/TableFeatures.d.cts +178 -41
  352. package/dist/types/TableFeatures.d.ts +178 -41
  353. package/dist/types/TableOptions.d.cts +31 -10
  354. package/dist/types/TableOptions.d.ts +31 -10
  355. package/dist/types/TableState.d.cts +22 -13
  356. package/dist/types/TableState.d.ts +22 -13
  357. package/dist/utils.cjs.map +1 -1
  358. package/dist/utils.d.cts +8 -3
  359. package/dist/utils.d.ts +8 -3
  360. package/dist/utils.js.map +1 -1
  361. package/package.json +1 -1
  362. package/skills/column-definitions/SKILL.md +3 -6
  363. package/skills/column-layout/SKILL.md +0 -2
  364. package/skills/customizing-feature-behavior/SKILL.md +63 -56
  365. package/skills/filtering/SKILL.md +60 -42
  366. package/skills/filtering/references/faceting-and-fuzzy.md +59 -32
  367. package/skills/grouping/SKILL.md +49 -54
  368. package/skills/migrate-v8-to-v9/SKILL.md +30 -33
  369. package/skills/pagination/SKILL.md +22 -20
  370. package/skills/row-expanding/SKILL.md +33 -25
  371. package/skills/row-pinning/SKILL.md +11 -7
  372. package/skills/row-selection/SKILL.md +0 -3
  373. package/skills/setup/SKILL.md +55 -65
  374. package/skills/sorting/SKILL.md +21 -21
  375. package/skills/state-management/SKILL.md +40 -25
  376. package/src/core/cells/coreCellsFeature.ts +17 -39
  377. package/src/core/cells/coreCellsFeature.types.ts +6 -6
  378. package/src/core/columns/coreColumnsFeature.ts +56 -83
  379. package/src/core/columns/coreColumnsFeature.types.ts +8 -8
  380. package/src/core/coreFeatures.ts +1 -1
  381. package/src/core/headers/buildHeaderGroups.ts +1 -1
  382. package/src/core/headers/coreHeadersFeature.ts +42 -64
  383. package/src/core/headers/coreHeadersFeature.types.ts +10 -10
  384. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  385. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  386. package/src/core/row-models/coreRowModelsFeature.types.ts +7 -24
  387. package/src/core/row-models/coreRowModelsFeature.utils.ts +7 -7
  388. package/src/core/row-models/createCoreRowModel.ts +5 -4
  389. package/src/core/rows/coreRowsFeature.ts +45 -72
  390. package/src/core/rows/coreRowsFeature.types.ts +8 -8
  391. package/src/core/table/constructTable.ts +50 -13
  392. package/src/core/table/coreTablesFeature.ts +13 -35
  393. package/src/core/table/coreTablesFeature.types.ts +40 -17
  394. package/src/core/table/coreTablesFeature.utils.ts +10 -5
  395. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  396. package/src/features/column-faceting/columnFacetingFeature.types.ts +11 -44
  397. package/src/features/column-faceting/columnFacetingFeature.utils.ts +6 -6
  398. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  399. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  400. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  401. package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
  402. package/src/features/column-filtering/columnFilteringFeature.types.ts +55 -39
  403. package/src/features/column-filtering/columnFilteringFeature.utils.ts +2 -2
  404. package/src/features/column-filtering/createFilteredRowModel.ts +5 -7
  405. package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
  406. package/src/features/column-grouping/columnGroupingFeature.types.ts +32 -31
  407. package/src/features/column-grouping/createGroupedRowModel.ts +7 -11
  408. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  409. package/src/features/column-ordering/columnOrderingFeature.types.ts +2 -2
  410. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  411. package/src/features/column-pinning/columnPinningFeature.types.ts +4 -4
  412. package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
  413. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  414. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  415. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  416. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -4
  417. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  418. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -4
  419. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
  420. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  421. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  422. package/src/features/row-expanding/rowExpandingFeature.types.ts +8 -22
  423. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  424. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  425. package/src/features/row-pagination/rowPaginationFeature.types.ts +6 -20
  426. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  427. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -4
  428. package/src/features/row-selection/rowSelectionFeature.ts +103 -135
  429. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -4
  430. package/src/features/row-selection/rowSelectionFeature.utils.ts +12 -7
  431. package/src/features/row-sorting/createSortedRowModel.ts +6 -6
  432. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  433. package/src/features/row-sorting/rowSortingFeature.types.ts +33 -32
  434. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  435. package/src/fns/aggregationFns.ts +26 -42
  436. package/src/fns/filterFns.ts +231 -264
  437. package/src/fns/sortFns.ts +51 -29
  438. package/src/helpers/metaHelper.ts +24 -0
  439. package/src/helpers/tableFeatures.ts +36 -5
  440. package/src/index.ts +1 -0
  441. package/src/store-reactivity-bindings.ts +1 -1
  442. package/src/types/Cell.ts +10 -30
  443. package/src/types/Column.ts +21 -56
  444. package/src/types/ColumnDef.ts +48 -49
  445. package/src/types/Header.ts +10 -32
  446. package/src/types/HeaderGroup.ts +4 -15
  447. package/src/types/Row.ts +18 -39
  448. package/src/types/RowModel.ts +24 -114
  449. package/src/types/RowModelFns.ts +12 -31
  450. package/src/types/Table.ts +85 -80
  451. package/src/types/TableFeatures.ts +253 -108
  452. package/src/types/TableOptions.ts +70 -60
  453. package/src/types/TableState.ts +20 -73
  454. package/src/utils.ts +16 -6
package/src/types/Row.ts CHANGED
@@ -2,54 +2,33 @@ import type { Row_ColumnVisibility } from '../features/column-visibility/columnV
2
2
  import type { Row_ColumnPinning } from '../features/column-pinning/columnPinningFeature.types'
3
3
  import type { Row_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
4
4
  import type { Row_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
5
- import type { RowData, UnionToIntersection } from './type-utils'
5
+ import type { RowData } from './type-utils'
6
6
  import type { Row_RowExpanding } from '../features/row-expanding/rowExpandingFeature.types'
7
7
  import type { Row_RowPinning } from '../features/row-pinning/rowPinningFeature.types'
8
8
  import type { Row_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
9
- import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
9
+ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
10
10
  import type { Row_Row } from '../core/rows/coreRowsFeature.types'
11
11
 
12
- /**
13
- * Use this interface as a target for declaration merging to add your own plugin properties.
14
- * Note: This will affect the types of all tables in your project.
15
- */
16
- export interface Row_Plugins<
17
- TFeatures extends TableFeatures,
18
- TData extends RowData,
19
- > {}
20
-
21
12
  export interface Row_Core<
22
- TFeatures extends TableFeatures,
23
- TData extends RowData,
13
+ in out TFeatures extends TableFeatures,
14
+ in out TData extends RowData,
24
15
  > extends Row_Row<TFeatures, TData> {}
25
16
 
17
+ export interface Row_FeatureMap<
18
+ in out TFeatures extends TableFeatures,
19
+ in out TData extends RowData,
20
+ > {
21
+ columnFilteringFeature: Row_ColumnFiltering<TFeatures, TData>
22
+ columnGroupingFeature: Row_ColumnGrouping
23
+ columnPinningFeature: Row_ColumnPinning<TFeatures, TData>
24
+ columnVisibilityFeature: Row_ColumnVisibility<TFeatures, TData>
25
+ rowExpandingFeature: Row_RowExpanding
26
+ rowPinningFeature: Row_RowPinning
27
+ rowSelectionFeature: Row_RowSelection
28
+ }
29
+
26
30
  export type Row<
27
31
  TFeatures extends TableFeatures,
28
32
  TData extends RowData,
29
33
  > = Row_Core<TFeatures, TData> &
30
- UnionToIntersection<
31
- | ('columnFilteringFeature' extends keyof TFeatures
32
- ? Row_ColumnFiltering<TFeatures, TData>
33
- : never)
34
- | ('columnGroupingFeature' extends keyof TFeatures
35
- ? Row_ColumnGrouping
36
- : never)
37
- | ('columnPinningFeature' extends keyof TFeatures
38
- ? Row_ColumnPinning<TFeatures, TData>
39
- : never)
40
- | ('columnVisibilityFeature' extends keyof TFeatures
41
- ? Row_ColumnVisibility<TFeatures, TData>
42
- : never)
43
- | ('rowExpandingFeature' extends keyof TFeatures ? Row_RowExpanding : never)
44
- | ('rowPinningFeature' extends keyof TFeatures ? Row_RowPinning : never)
45
- | ('rowSelectionFeature' extends keyof TFeatures ? Row_RowSelection : never)
46
- > &
47
- ExtractFeatureTypes<'Row', TFeatures> &
48
- Row_Plugins<TFeatures, TData>
49
-
50
- // export type Row<
51
- // TFeatures extends TableFeatures,
52
- // TData extends RowData,
53
- // > = Row_Core<TFeatures, TData> &
54
- // ExtractFeatureTypes<'Row', TFeatures> &
55
- // Row_Plugins<TFeatures, TData>
34
+ ExtractFeatureMapTypes<TFeatures, Row_FeatureMap<TFeatures, TData>>
@@ -1,127 +1,37 @@
1
- import type {
2
- CachedRowModel_Faceted,
3
- CreateRowModel_Faceted,
4
- } from '../features/column-faceting/columnFacetingFeature.types'
5
- import type {
6
- CachedRowModel_Grouped,
7
- CreateRowModel_Grouped,
8
- } from '../features/column-grouping/columnGroupingFeature.types'
9
- import type {
10
- CachedRowModel_Filtered,
11
- CreateRowModel_Filtered,
12
- } from '../features/column-filtering/columnFilteringFeature.types'
1
+ import type { CachedRowModel_Faceted } from '../features/column-faceting/columnFacetingFeature.types'
2
+ import type { CachedRowModel_Grouped } from '../features/column-grouping/columnGroupingFeature.types'
3
+ import type { CachedRowModel_Filtered } from '../features/column-filtering/columnFilteringFeature.types'
13
4
  import type {
14
5
  CachedRowModel_Core,
15
- CreateRowModel_Core,
16
6
  RowModel,
17
7
  } from '../core/row-models/coreRowModelsFeature.types'
18
- import type {
19
- CachedRowModel_Expanded,
20
- CreateRowModel_Expanded,
21
- } from '../features/row-expanding/rowExpandingFeature.types'
22
- import type {
23
- CachedRowModel_Paginated,
24
- CreateRowModel_Paginated,
25
- } from '../features/row-pagination/rowPaginationFeature.types'
26
- import type {
27
- CachedRowModel_Sorted,
28
- CreateRowModel_Sorted,
29
- } from '../features/row-sorting/rowSortingFeature.types'
30
- import type { RowData, UnionToIntersection } from './type-utils'
31
- import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
32
-
33
- /**
34
- * Use this interface as a target for declaration merging to add your own plugin properties.
35
- * Note: This will affect the types of all tables in your project.
36
- */
37
- export interface CreateRowModels_Plugins<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
40
- > {}
41
-
42
- export type CreateRowModels<
43
- TFeatures extends TableFeatures,
44
- TData extends RowData,
45
- > = CreateRowModel_Core<TFeatures, TData> &
46
- UnionToIntersection<
47
- | ('columnFacetingFeature' extends keyof TFeatures
48
- ? CreateRowModel_Faceted<TFeatures, TData>
49
- : never)
50
- | ('columnFilteringFeature' extends keyof TFeatures
51
- ? CreateRowModel_Filtered<TFeatures, TData>
52
- : never)
53
- | ('rowExpandingFeature' extends keyof TFeatures
54
- ? CreateRowModel_Expanded<TFeatures, TData>
55
- : never)
56
- | ('columnGroupingFeature' extends keyof TFeatures
57
- ? CreateRowModel_Grouped<TFeatures, TData>
58
- : never)
59
- | ('rowPaginationFeature' extends keyof TFeatures
60
- ? CreateRowModel_Paginated<TFeatures, TData>
61
- : never)
62
- | ('rowSortingFeature' extends keyof TFeatures
63
- ? CreateRowModel_Sorted<TFeatures, TData>
64
- : never)
65
- > &
66
- ExtractFeatureTypes<'CreateRowModels', TFeatures> &
67
- CreateRowModels_Plugins<TFeatures, TData>
68
-
69
- // export type CreateRowModels<
70
- // TFeatures extends TableFeatures,
71
- // TData extends RowData,
72
- // > = CreateRowModel_Core<TFeatures, TData> &
73
- // ExtractFeatureTypes<'CreateRowModels', TFeatures> &
74
- // CreateRowModels_Plugins<TFeatures, TData>
75
-
76
- export type CreateRowModels_All<
77
- TFeatures extends TableFeatures,
78
- TData extends RowData,
79
- > = CreateRowModel_Core<TFeatures, TData> &
80
- CreateRowModel_Expanded<TFeatures, TData> &
81
- CreateRowModel_Faceted<TFeatures, TData> &
82
- CreateRowModel_Filtered<TFeatures, TData> &
83
- CreateRowModel_Grouped<TFeatures, TData> &
84
- CreateRowModel_Paginated<TFeatures, TData> &
85
- CreateRowModel_Sorted<TFeatures, TData>
86
-
87
- export interface CachedRowModels_Plugins<
88
- TFeatures extends TableFeatures,
89
- TData extends RowData,
90
- > {}
8
+ import type { CachedRowModel_Expanded } from '../features/row-expanding/rowExpandingFeature.types'
9
+ import type { CachedRowModel_Paginated } from '../features/row-pagination/rowPaginationFeature.types'
10
+ import type { CachedRowModel_Sorted } from '../features/row-sorting/rowSortingFeature.types'
11
+ import type { RowData } from './type-utils'
12
+ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
13
+
14
+ export interface CachedRowModels_FeatureMap<
15
+ in out TFeatures extends TableFeatures,
16
+ in out TData extends RowData,
17
+ > {
18
+ columnFacetingFeature: CachedRowModel_Faceted<TFeatures, TData>
19
+ columnFilteringFeature: CachedRowModel_Filtered<TFeatures, TData>
20
+ rowExpandingFeature: CachedRowModel_Expanded<TFeatures, TData>
21
+ columnGroupingFeature: CachedRowModel_Grouped<TFeatures, TData>
22
+ rowPaginationFeature: CachedRowModel_Paginated<TFeatures, TData>
23
+ rowSortingFeature: CachedRowModel_Sorted<TFeatures, TData>
24
+ }
91
25
 
92
26
  export type CachedRowModels<
93
27
  TFeatures extends TableFeatures,
94
28
  TData extends RowData,
95
29
  > = {
96
30
  CachedRowModel_Core: () => RowModel<TFeatures, TData>
97
- } & UnionToIntersection<
98
- | ('columnFacetingFeature' extends keyof TFeatures
99
- ? CachedRowModel_Faceted<TFeatures, TData>
100
- : never)
101
- | ('columnFilteringFeature' extends keyof TFeatures
102
- ? CachedRowModel_Filtered<TFeatures, TData>
103
- : never)
104
- | ('rowExpandingFeature' extends keyof TFeatures
105
- ? CachedRowModel_Expanded<TFeatures, TData>
106
- : never)
107
- | ('columnGroupingFeature' extends keyof TFeatures
108
- ? CachedRowModel_Grouped<TFeatures, TData>
109
- : never)
110
- | ('rowPaginationFeature' extends keyof TFeatures
111
- ? CachedRowModel_Paginated<TFeatures, TData>
112
- : never)
113
- | ('rowSortingFeature' extends keyof TFeatures
114
- ? CachedRowModel_Sorted<TFeatures, TData>
115
- : never)
116
- > &
117
- ExtractFeatureTypes<'CachedRowModel', TFeatures> &
118
- CachedRowModels_Plugins<TFeatures, TData>
119
-
120
- // export type CachedRowModels<
121
- // TFeatures extends TableFeatures,
122
- // TData extends RowData,
123
- // > = ExtractFeatureTypes<'CachedRowModel', TFeatures> &
124
- // CachedRowModels_Plugins<TFeatures, TData>
31
+ } & ExtractFeatureMapTypes<
32
+ TFeatures,
33
+ CachedRowModels_FeatureMap<TFeatures, TData>
34
+ >
125
35
 
126
36
  export type CachedRowModel_All<
127
37
  TFeatures extends TableFeatures,
@@ -1,46 +1,27 @@
1
1
  import type { RowModelFns_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
2
2
  import type { RowModelFns_ColumnGrouping } from '../features/column-grouping/columnGroupingFeature.types'
3
- import type { RowData, UnionToIntersection } from './type-utils'
3
+ import type { RowData } from './type-utils'
4
4
  import type { RowModelFns_ColumnFiltering } from '../features/column-filtering/columnFilteringFeature.types'
5
- import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
6
-
7
- /**
8
- * Use this interface as a target for declaration merging to add your own plugin properties.
9
- * Note: This will affect the types of all tables in your project.
10
- */
11
- export interface RowModelFns_Plugins<
12
- TFeatures extends TableFeatures,
13
- TData extends RowData,
14
- > {}
5
+ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
15
6
 
16
7
  export interface RowModelFns_Core {}
17
8
 
9
+ export interface RowModelFns_FeatureMap<
10
+ in out TFeatures extends TableFeatures,
11
+ in out TData extends RowData,
12
+ > {
13
+ columnFilteringFeature: RowModelFns_ColumnFiltering<TFeatures, TData>
14
+ columnGroupingFeature: RowModelFns_ColumnGrouping<TFeatures, TData>
15
+ rowSortingFeature: RowModelFns_RowSorting<TFeatures, TData>
16
+ }
17
+
18
18
  export type RowModelFns<
19
19
  TFeatures extends TableFeatures,
20
20
  TData extends RowData,
21
21
  > = Partial<
22
- UnionToIntersection<
23
- | ('columnFilteringFeature' extends keyof TFeatures
24
- ? RowModelFns_ColumnFiltering<TFeatures, TData>
25
- : never)
26
- | ('columnGroupingFeature' extends keyof TFeatures
27
- ? RowModelFns_ColumnGrouping<TFeatures, TData>
28
- : never)
29
- | ('rowSortingFeature' extends keyof TFeatures
30
- ? RowModelFns_RowSorting<TFeatures, TData>
31
- : never)
32
- > &
33
- ExtractFeatureTypes<'RowModelFns', TFeatures> &
34
- RowModelFns_Plugins<TFeatures, TData>
22
+ ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>
35
23
  >
36
24
 
37
- // export type RowModelFns<
38
- // TFeatures extends TableFeatures,
39
- // TData extends RowData,
40
- // > = RowModelFns_Core &
41
- // ExtractFeatureTypes<'RowModelFns', TFeatures> &
42
- // RowModelFns_Plugins<TFeatures, TData>
43
-
44
25
  export type RowModelFns_All<
45
26
  TFeatures extends TableFeatures,
46
27
  TData extends RowData,
@@ -14,30 +14,23 @@ import type { Table_RowPagination } from '../features/row-pagination/rowPaginati
14
14
  import type { Table_RowSelection } from '../features/row-selection/rowSelectionFeature.types'
15
15
  import type { Table_RowSorting } from '../features/row-sorting/rowSortingFeature.types'
16
16
  import type { Table_RowModels } from '../core/row-models/coreRowModelsFeature.types'
17
- import type { CachedRowModel_All, CreateRowModels_All } from './RowModel'
17
+ import type { CachedRowModel_All } from './RowModel'
18
18
  import type { RowModelFns_All } from './RowModelFns'
19
- import type { TableState_All } from './TableState'
20
- import type { RowData, UnionToIntersection } from './type-utils'
21
- import type { ExtractFeatureTypes, TableFeatures } from './TableFeatures'
19
+ import type { TableState, TableState_All } from './TableState'
20
+ import type { RowData } from './type-utils'
21
+ import type { ExtractFeatureMapTypes, TableFeatures } from './TableFeatures'
22
22
  import type { Table_Columns } from '../core/columns/coreColumnsFeature.types'
23
23
  import type { Table_Headers } from '../core/headers/coreHeadersFeature.types'
24
24
  import type { Table_Rows } from '../core/rows/coreRowsFeature.types'
25
25
  import type {
26
+ Atoms,
26
27
  Atoms_All,
28
+ BaseAtoms,
27
29
  BaseAtoms_All,
28
30
  ExternalAtoms_All,
29
31
  Table_Table,
30
32
  } from '../core/table/coreTablesFeature.types'
31
- import type { TableOptions_All } from './TableOptions'
32
-
33
- /**
34
- * Use this interface as a target for declaration merging to add your own plugin properties.
35
- * Note: This will affect the types of all tables in your project.
36
- */
37
- export interface Table_Plugins<
38
- TFeatures extends TableFeatures,
39
- TData extends RowData,
40
- > {}
33
+ import type { DebugOptions, TableOptions_All } from './TableOptions'
41
34
 
42
35
  /**
43
36
  * The core table object that only includes the core table functionality such as column, header, row, and table APIS.
@@ -52,6 +45,26 @@ export type Table_Core<
52
45
  Table_RowModels<TFeatures, TData> &
53
46
  Table_Headers<TFeatures, TData>
54
47
 
48
+ export interface Table_FeatureMap<
49
+ in out TFeatures extends TableFeatures,
50
+ in out TData extends RowData,
51
+ > {
52
+ columnFilteringFeature: Table_ColumnFiltering
53
+ columnGroupingFeature: Table_ColumnGrouping<TFeatures, TData>
54
+ columnOrderingFeature: Table_ColumnOrdering<TFeatures, TData>
55
+ columnPinningFeature: Table_ColumnPinning<TFeatures, TData>
56
+ columnResizingFeature: Table_ColumnResizing
57
+ columnSizingFeature: Table_ColumnSizing
58
+ columnVisibilityFeature: Table_ColumnVisibility<TFeatures, TData>
59
+ columnFacetingFeature: Table_ColumnFaceting<TFeatures, TData>
60
+ globalFilteringFeature: Table_GlobalFiltering<TFeatures, TData>
61
+ rowExpandingFeature: Table_RowExpanding<TFeatures, TData>
62
+ rowPaginationFeature: Table_RowPagination<TFeatures, TData>
63
+ rowPinningFeature: Table_RowPinning<TFeatures, TData>
64
+ rowSelectionFeature: Table_RowSelection<TFeatures, TData>
65
+ rowSortingFeature: Table_RowSorting<TFeatures, TData>
66
+ }
67
+
55
68
  /**
56
69
  * The table object that includes both the core table functionality and the features that are enabled via the `features` table option.
57
70
  */
@@ -59,74 +72,66 @@ export type Table<
59
72
  TFeatures extends TableFeatures,
60
73
  TData extends RowData,
61
74
  > = Table_Core<TFeatures, TData> &
62
- UnionToIntersection<
63
- | ('columnFilteringFeature' extends keyof TFeatures
64
- ? Table_ColumnFiltering
65
- : never)
66
- | ('columnGroupingFeature' extends keyof TFeatures
67
- ? Table_ColumnGrouping<TFeatures, TData>
68
- : never)
69
- | ('columnOrderingFeature' extends keyof TFeatures
70
- ? Table_ColumnOrdering<TFeatures, TData>
71
- : never)
72
- | ('columnPinningFeature' extends keyof TFeatures
73
- ? Table_ColumnPinning<TFeatures, TData>
74
- : never)
75
- | ('columnResizingFeature' extends keyof TFeatures
76
- ? Table_ColumnResizing
77
- : never)
78
- | ('columnSizingFeature' extends keyof TFeatures
79
- ? Table_ColumnSizing
80
- : never)
81
- | ('columnVisibilityFeature' extends keyof TFeatures
82
- ? Table_ColumnVisibility<TFeatures, TData>
83
- : never)
84
- | ('columnFacetingFeature' extends keyof TFeatures
85
- ? Table_ColumnFaceting<TFeatures, TData>
86
- : never)
87
- | ('globalFilteringFeature' extends keyof TFeatures
88
- ? Table_GlobalFiltering<TFeatures, TData>
89
- : never)
90
- | ('rowExpandingFeature' extends keyof TFeatures
91
- ? Table_RowExpanding<TFeatures, TData>
92
- : never)
93
- | ('rowPaginationFeature' extends keyof TFeatures
94
- ? Table_RowPagination<TFeatures, TData>
95
- : never)
96
- | ('rowPinningFeature' extends keyof TFeatures
97
- ? Table_RowPinning<TFeatures, TData>
98
- : never)
99
- | ('rowSelectionFeature' extends keyof TFeatures
100
- ? Table_RowSelection<TFeatures, TData>
101
- : never)
102
- | ('rowSortingFeature' extends keyof TFeatures
103
- ? Table_RowSorting<TFeatures, TData>
104
- : never)
105
- > &
106
- ExtractFeatureTypes<'Table', TFeatures> &
107
- Table_Plugins<TFeatures, TData>
75
+ ExtractFeatureMapTypes<TFeatures, Table_FeatureMap<TFeatures, TData>>
108
76
 
109
- // export type Table<
110
- // TFeatures extends TableFeatures,
111
- // TData extends RowData,
112
- // > = Table_Core<TFeatures, TData> &
113
- // ExtractFeatureTypes<'Table', TFeatures> &
114
- // Table_Plugins<TFeatures, TData>
77
+ /**
78
+ * `Table_Table` members that `Table_Internal` re-declares with broadened
79
+ * (all-features) types so internal code can read any feature's slots and
80
+ * construction code can assign them.
81
+ */
82
+ type Table_InternalBroadenedKeys =
83
+ | '_rowModels'
84
+ | '_rowModelFns'
85
+ | 'options'
86
+ | 'initialState'
87
+ | 'store'
115
88
 
116
- export type Table_Internal<
117
- TFeatures extends TableFeatures,
118
- TData extends RowData = any,
119
- > = Table<TFeatures, TData> & {
89
+ /**
90
+ * Internal broad table shape used by feature implementations.
91
+ *
92
+ * Declared as an interface extending every stock feature's table API (rather
93
+ * than the feature-conditional `Table` intersection) so that the compiler can
94
+ * relate `Table_Internal` instantiations nominally instead of structurally
95
+ * re-expanding the feature-map conditional for every internal call site.
96
+ * Mirrors the `*_All` convention used for options, state, and row models.
97
+ * Type parameters are annotated `in out` (invariant) so the checker can relate
98
+ * instantiations by their type arguments without measuring variance or falling
99
+ * back to member-by-member structural comparison.
100
+ */
101
+ export interface Table_Internal<
102
+ in out TFeatures extends TableFeatures,
103
+ in out TData extends RowData = any,
104
+ >
105
+ extends
106
+ Omit<Table_Table<TFeatures, TData>, Table_InternalBroadenedKeys>,
107
+ Table_Columns<TFeatures, TData>,
108
+ Table_Rows<TFeatures, TData>,
109
+ Table_RowModels<TFeatures, TData>,
110
+ Table_Headers<TFeatures, TData>,
111
+ Table_ColumnFiltering,
112
+ Table_ColumnGrouping<TFeatures, TData>,
113
+ Table_ColumnOrdering<TFeatures, TData>,
114
+ Table_ColumnPinning<TFeatures, TData>,
115
+ Table_ColumnResizing,
116
+ Table_ColumnSizing,
117
+ Table_ColumnVisibility<TFeatures, TData>,
118
+ Table_ColumnFaceting<TFeatures, TData>,
119
+ Table_GlobalFiltering<TFeatures, TData>,
120
+ Table_RowExpanding<TFeatures, TData>,
121
+ Table_RowPagination<TFeatures, TData>,
122
+ Table_RowPinning<TFeatures, TData>,
123
+ Table_RowSelection<TFeatures, TData>,
124
+ Table_RowSorting<TFeatures, TData> {
120
125
  _rowModels: CachedRowModel_All<TFeatures, TData>
121
126
  _rowModelFns: RowModelFns_All<TFeatures, TData>
122
- options: TableOptions_All<TFeatures, TData> & {
123
- rowModels?: CreateRowModels_All<TFeatures, TData>
124
- state?: TableState_All
125
- initialState?: TableState_All
126
- atoms?: ExternalAtoms_All
127
- }
128
- initialState: TableState_All
129
- baseAtoms: BaseAtoms_All
130
- atoms: Atoms_All
131
- store: ReadonlyStore<TableState_All>
127
+ options: DebugOptions<TableFeatures> &
128
+ TableOptions_All<TFeatures, TData> & {
129
+ state?: TableState_All
130
+ initialState?: TableState_All
131
+ atoms?: ExternalAtoms_All
132
+ }
133
+ initialState: TableState<TFeatures> & TableState_All
134
+ baseAtoms: BaseAtoms<TFeatures> & BaseAtoms_All
135
+ atoms: Atoms<TFeatures> & Atoms_All
136
+ store: ReadonlyStore<TableState<TFeatures>> & ReadonlyStore<TableState_All>
132
137
  }