@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
@@ -1,29 +1,36 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.cjs";
1
+ import { RowData } from "./type-utils.cjs";
2
+ import { Column_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
2
3
  import { Column_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
- import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
4
4
  import { Column_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
5
- import { Column_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
6
5
  import { Column_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
7
6
  import { Column_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.cjs";
8
7
  import { Column_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
9
8
  import { Column_Column } from "../core/columns/coreColumnsFeature.types.cjs";
10
9
  import { Column_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
10
+ import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
11
11
  import { ColumnDefBase_All } from "./ColumnDef.cjs";
12
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
12
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
13
13
  import { Column_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.cjs";
14
14
  import { Column_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
15
15
 
16
16
  //#region src/types/Column.d.ts
17
- /**
18
- * Use this interface as a target for declaration merging to add your own plugin properties.
19
- * Note: This will affect the types of all tables in your project.
20
- */
21
- interface Column_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> {}
22
- interface Column_Core<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> extends Column_Column<TFeatures, TData, TValue> {}
23
- type Column<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? Column_ColumnFaceting<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? Column_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? Column_ColumnGrouping<TFeatures, TData> : never) | ('columnOrderingFeature' extends keyof TFeatures ? Column_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? Column_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? Column_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? Column_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Column_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? Column_GlobalFiltering : never) | ('rowSortingFeature' extends keyof TFeatures ? Column_RowSorting<TFeatures, TData> : never)> & ExtractFeatureTypes<'Column', TFeatures> & Column_Plugins<TFeatures, TData, TValue>;
17
+ interface Column_Core<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue = unknown> extends Column_Column<TFeatures, TData, TValue> {}
18
+ interface Column_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
19
+ columnFacetingFeature: Column_ColumnFaceting<TFeatures, TData>;
20
+ columnFilteringFeature: Column_ColumnFiltering<TFeatures, TData>;
21
+ columnGroupingFeature: Column_ColumnGrouping<TFeatures, TData>;
22
+ columnOrderingFeature: Column_ColumnOrdering;
23
+ columnPinningFeature: Column_ColumnPinning;
24
+ columnResizingFeature: Column_ColumnResizing;
25
+ columnSizingFeature: Column_ColumnSizing;
26
+ columnVisibilityFeature: Column_ColumnVisibility;
27
+ globalFilteringFeature: Column_GlobalFiltering;
28
+ rowSortingFeature: Column_RowSorting<TFeatures, TData>;
29
+ }
30
+ type Column<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, Column_FeatureMap<TFeatures, TData>>;
24
31
  type Column_Internal<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column<TFeatures, TData, TValue> & {
25
32
  columnDef: ColumnDefBase_All<TFeatures, TData, TValue>;
26
33
  };
27
34
  //#endregion
28
- export { Column, Column_Core, Column_Internal, Column_Plugins };
35
+ export { Column, Column_Core, Column_FeatureMap, Column_Internal };
29
36
  //# sourceMappingURL=Column.d.cts.map
@@ -1,29 +1,36 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.js";
1
+ import { RowData } from "./type-utils.js";
2
+ import { Column_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
2
3
  import { Column_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
3
- import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
4
4
  import { Column_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
- import { Column_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
6
5
  import { Column_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
7
6
  import { Column_ColumnOrdering } from "../features/column-ordering/columnOrderingFeature.types.js";
8
7
  import { Column_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
9
8
  import { Column_Column } from "../core/columns/coreColumnsFeature.types.js";
10
9
  import { Column_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
10
+ import { Column_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
11
11
  import { ColumnDefBase_All } from "./ColumnDef.js";
12
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
12
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
13
13
  import { Column_ColumnFaceting } from "../features/column-faceting/columnFacetingFeature.types.js";
14
14
  import { Column_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
15
15
 
16
16
  //#region src/types/Column.d.ts
17
- /**
18
- * Use this interface as a target for declaration merging to add your own plugin properties.
19
- * Note: This will affect the types of all tables in your project.
20
- */
21
- interface Column_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> {}
22
- interface Column_Core<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> extends Column_Column<TFeatures, TData, TValue> {}
23
- type Column<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? Column_ColumnFaceting<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? Column_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? Column_ColumnGrouping<TFeatures, TData> : never) | ('columnOrderingFeature' extends keyof TFeatures ? Column_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? Column_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? Column_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? Column_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Column_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? Column_GlobalFiltering : never) | ('rowSortingFeature' extends keyof TFeatures ? Column_RowSorting<TFeatures, TData> : never)> & ExtractFeatureTypes<'Column', TFeatures> & Column_Plugins<TFeatures, TData, TValue>;
17
+ interface Column_Core<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue = unknown> extends Column_Column<TFeatures, TData, TValue> {}
18
+ interface Column_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
19
+ columnFacetingFeature: Column_ColumnFaceting<TFeatures, TData>;
20
+ columnFilteringFeature: Column_ColumnFiltering<TFeatures, TData>;
21
+ columnGroupingFeature: Column_ColumnGrouping<TFeatures, TData>;
22
+ columnOrderingFeature: Column_ColumnOrdering;
23
+ columnPinningFeature: Column_ColumnPinning;
24
+ columnResizingFeature: Column_ColumnResizing;
25
+ columnSizingFeature: Column_ColumnSizing;
26
+ columnVisibilityFeature: Column_ColumnVisibility;
27
+ globalFilteringFeature: Column_GlobalFiltering;
28
+ rowSortingFeature: Column_RowSorting<TFeatures, TData>;
29
+ }
30
+ type Column<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, Column_FeatureMap<TFeatures, TData>>;
24
31
  type Column_Internal<TFeatures extends TableFeatures, TData extends RowData, TValue = unknown> = Column<TFeatures, TData, TValue> & {
25
32
  columnDef: ColumnDefBase_All<TFeatures, TData, TValue>;
26
33
  };
27
34
  //#endregion
28
- export { Column, Column_Core, Column_Internal, Column_Plugins };
35
+ export { Column, Column_Core, Column_FeatureMap, Column_Internal };
29
36
  //# sourceMappingURL=Column.d.ts.map
@@ -1,23 +1,29 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.cjs";
2
+ import { ColumnDef_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
2
3
  import { ColumnDef_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
- import { ColumnDef_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
4
4
  import { ColumnDef_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
5
5
  import { HeaderContext } from "../core/headers/coreHeadersFeature.types.cjs";
6
- import { ColumnDef_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
7
6
  import { ColumnDef_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
8
7
  import { ColumnDef_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.cjs";
9
8
  import { ColumnDef_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
9
+ import { ColumnDef_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
10
10
  import { CellContext } from "../core/cells/coreCellsFeature.types.cjs";
11
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
11
+ import { ExtractFeatureMapTypes, IsAny, TableFeatures } from "./TableFeatures.cjs";
12
12
  import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
13
13
 
14
14
  //#region src/types/ColumnDef.d.ts
15
+ interface ColumnMeta<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {}
15
16
  /**
16
- * Use this interface as a target for declaration merging to add your own plugin properties.
17
- * Note: This will affect the types of all tables in your project.
17
+ * Resolves the type of `columnDef.meta` for a feature set.
18
+ *
19
+ * When the features object declares a `columnMeta` type-only slot
20
+ * (`tableFeatures({ ..., columnMeta: {} as MyColumnMeta })`), that type wins.
21
+ * Otherwise this falls back to the global declaration-merged `ColumnMeta`
22
+ * interface.
18
23
  */
19
- interface ColumnDef_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
20
- interface ColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
24
+ type ExtractColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = IsAny<TFeatures> extends true ? ColumnMeta<TFeatures, TData, TValue> : TFeatures extends {
25
+ columnMeta: infer TMeta extends object;
26
+ } ? TMeta : ColumnMeta<TFeatures, TData, TValue>;
21
27
  /**
22
28
  * Reads a cell value from an original row object.
23
29
  *
@@ -43,7 +49,7 @@ interface StringHeaderIdentifier {
43
49
  */
44
50
  id?: string;
45
51
  }
46
- interface IdIdentifier<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
52
+ interface IdIdentifier<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
47
53
  /**
48
54
  * Explicit stable column id.
49
55
  */
@@ -71,10 +77,23 @@ interface ColumnDefBase_Core<TFeatures extends TableFeatures, TData extends RowD
71
77
  cell?: ColumnDefTemplate<CellContext<TFeatures, TData, TValue>>;
72
78
  /**
73
79
  * User-defined metadata available on the resolved column definition.
80
+ *
81
+ * Declare its type per-table via the `columnMeta` type-only slot on the
82
+ * `features` option, or globally via declaration merging on `ColumnMeta`.
74
83
  */
75
- meta?: ColumnMeta<TFeatures, TData, TValue>;
84
+ meta?: ExtractColumnMeta<TFeatures, TData, TValue>;
85
+ }
86
+ interface ColumnDef_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData> {
87
+ columnVisibilityFeature: ColumnDef_ColumnVisibility;
88
+ columnPinningFeature: ColumnDef_ColumnPinning;
89
+ columnFilteringFeature: ColumnDef_ColumnFiltering<TFeatures, TData>;
90
+ globalFilteringFeature: ColumnDef_GlobalFiltering;
91
+ rowSortingFeature: ColumnDef_RowSorting<TFeatures, TData>;
92
+ columnGroupingFeature: ColumnDef_ColumnGrouping<TFeatures, TData, TValue>;
93
+ columnSizingFeature: ColumnDef_ColumnSizing;
94
+ columnResizingFeature: ColumnDef_ColumnResizing;
76
95
  }
77
- type ColumnDefBase<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnVisibilityFeature' extends keyof TFeatures ? ColumnDef_ColumnVisibility : never) | ('columnPinningFeature' extends keyof TFeatures ? ColumnDef_ColumnPinning : never) | ('columnFilteringFeature' extends keyof TFeatures ? ColumnDef_ColumnFiltering<TFeatures, TData> : never) | ('globalFilteringFeature' extends keyof TFeatures ? ColumnDef_GlobalFiltering : never) | ('rowSortingFeature' extends keyof TFeatures ? ColumnDef_RowSorting<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? ColumnDef_ColumnGrouping<TFeatures, TData, TValue> : never) | ('columnSizingFeature' extends keyof TFeatures ? ColumnDef_ColumnSizing : never) | ('columnResizingFeature' extends keyof TFeatures ? ColumnDef_ColumnResizing : never)> & ExtractFeatureTypes<'ColumnDef', TFeatures> & ColumnDef_Plugins<TFeatures, TData, TValue>;
96
+ type ColumnDefBase<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, ColumnDef_FeatureMap<TFeatures, TData, TValue>>;
78
97
  type ColumnDefBase_All<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & Partial<ColumnDef_ColumnVisibility & ColumnDef_ColumnPinning & ColumnDef_ColumnFiltering<TFeatures, TData> & ColumnDef_GlobalFiltering & ColumnDef_RowSorting<TFeatures, TData> & ColumnDef_ColumnGrouping<TFeatures, TData, TValue> & ColumnDef_ColumnSizing & ColumnDef_ColumnResizing>;
79
98
  type IdentifiedColumnDef<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase<TFeatures, TData, TValue> & {
80
99
  id?: string;
@@ -100,5 +119,5 @@ type ColumnDefResolved<TFeatures extends TableFeatures, TData extends RowData, T
100
119
  accessorKey?: string;
101
120
  };
102
121
  //#endregion
103
- export { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_Plugins, ColumnMeta, DisplayColumnDef, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader };
122
+ export { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_FeatureMap, ColumnMeta, DisplayColumnDef, ExtractColumnMeta, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader };
104
123
  //# sourceMappingURL=ColumnDef.d.cts.map
@@ -1,23 +1,29 @@
1
1
  import { CellData, RowData, UnionToIntersection } from "./type-utils.js";
2
+ import { ColumnDef_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
2
3
  import { ColumnDef_RowSorting } from "../features/row-sorting/rowSortingFeature.types.js";
3
- import { ColumnDef_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
4
4
  import { ColumnDef_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
5
5
  import { HeaderContext } from "../core/headers/coreHeadersFeature.types.js";
6
- import { ColumnDef_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
7
6
  import { ColumnDef_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
8
7
  import { ColumnDef_GlobalFiltering } from "../features/global-filtering/globalFilteringFeature.types.js";
9
8
  import { ColumnDef_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
9
+ import { ColumnDef_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
10
10
  import { CellContext } from "../core/cells/coreCellsFeature.types.js";
11
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
11
+ import { ExtractFeatureMapTypes, IsAny, TableFeatures } from "./TableFeatures.js";
12
12
  import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
13
13
 
14
14
  //#region src/types/ColumnDef.d.ts
15
+ interface ColumnMeta<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {}
15
16
  /**
16
- * Use this interface as a target for declaration merging to add your own plugin properties.
17
- * Note: This will affect the types of all tables in your project.
17
+ * Resolves the type of `columnDef.meta` for a feature set.
18
+ *
19
+ * When the features object declares a `columnMeta` type-only slot
20
+ * (`tableFeatures({ ..., columnMeta: {} as MyColumnMeta })`), that type wins.
21
+ * Otherwise this falls back to the global declaration-merged `ColumnMeta`
22
+ * interface.
18
23
  */
19
- interface ColumnDef_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
20
- interface ColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
24
+ type ExtractColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = IsAny<TFeatures> extends true ? ColumnMeta<TFeatures, TData, TValue> : TFeatures extends {
25
+ columnMeta: infer TMeta extends object;
26
+ } ? TMeta : ColumnMeta<TFeatures, TData, TValue>;
21
27
  /**
22
28
  * Reads a cell value from an original row object.
23
29
  *
@@ -43,7 +49,7 @@ interface StringHeaderIdentifier {
43
49
  */
44
50
  id?: string;
45
51
  }
46
- interface IdIdentifier<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
52
+ interface IdIdentifier<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> {
47
53
  /**
48
54
  * Explicit stable column id.
49
55
  */
@@ -71,10 +77,23 @@ interface ColumnDefBase_Core<TFeatures extends TableFeatures, TData extends RowD
71
77
  cell?: ColumnDefTemplate<CellContext<TFeatures, TData, TValue>>;
72
78
  /**
73
79
  * User-defined metadata available on the resolved column definition.
80
+ *
81
+ * Declare its type per-table via the `columnMeta` type-only slot on the
82
+ * `features` option, or globally via declaration merging on `ColumnMeta`.
74
83
  */
75
- meta?: ColumnMeta<TFeatures, TData, TValue>;
84
+ meta?: ExtractColumnMeta<TFeatures, TData, TValue>;
85
+ }
86
+ interface ColumnDef_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData> {
87
+ columnVisibilityFeature: ColumnDef_ColumnVisibility;
88
+ columnPinningFeature: ColumnDef_ColumnPinning;
89
+ columnFilteringFeature: ColumnDef_ColumnFiltering<TFeatures, TData>;
90
+ globalFilteringFeature: ColumnDef_GlobalFiltering;
91
+ rowSortingFeature: ColumnDef_RowSorting<TFeatures, TData>;
92
+ columnGroupingFeature: ColumnDef_ColumnGrouping<TFeatures, TData, TValue>;
93
+ columnSizingFeature: ColumnDef_ColumnSizing;
94
+ columnResizingFeature: ColumnDef_ColumnResizing;
76
95
  }
77
- type ColumnDefBase<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnVisibilityFeature' extends keyof TFeatures ? ColumnDef_ColumnVisibility : never) | ('columnPinningFeature' extends keyof TFeatures ? ColumnDef_ColumnPinning : never) | ('columnFilteringFeature' extends keyof TFeatures ? ColumnDef_ColumnFiltering<TFeatures, TData> : never) | ('globalFilteringFeature' extends keyof TFeatures ? ColumnDef_GlobalFiltering : never) | ('rowSortingFeature' extends keyof TFeatures ? ColumnDef_RowSorting<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? ColumnDef_ColumnGrouping<TFeatures, TData, TValue> : never) | ('columnSizingFeature' extends keyof TFeatures ? ColumnDef_ColumnSizing : never) | ('columnResizingFeature' extends keyof TFeatures ? ColumnDef_ColumnResizing : never)> & ExtractFeatureTypes<'ColumnDef', TFeatures> & ColumnDef_Plugins<TFeatures, TData, TValue>;
96
+ type ColumnDefBase<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, ColumnDef_FeatureMap<TFeatures, TData, TValue>>;
78
97
  type ColumnDefBase_All<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase_Core<TFeatures, TData, TValue> & Partial<ColumnDef_ColumnVisibility & ColumnDef_ColumnPinning & ColumnDef_ColumnFiltering<TFeatures, TData> & ColumnDef_GlobalFiltering & ColumnDef_RowSorting<TFeatures, TData> & ColumnDef_ColumnGrouping<TFeatures, TData, TValue> & ColumnDef_ColumnSizing & ColumnDef_ColumnResizing>;
79
98
  type IdentifiedColumnDef<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = ColumnDefBase<TFeatures, TData, TValue> & {
80
99
  id?: string;
@@ -100,5 +119,5 @@ type ColumnDefResolved<TFeatures extends TableFeatures, TData extends RowData, T
100
119
  accessorKey?: string;
101
120
  };
102
121
  //#endregion
103
- export { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_Plugins, ColumnMeta, DisplayColumnDef, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader };
122
+ export { AccessorColumnDef, AccessorFn, AccessorFnColumnDef, AccessorFnColumnDefBase, AccessorKeyColumnDef, AccessorKeyColumnDefBase, ColumnDef, ColumnDefBase, ColumnDefBase_All, ColumnDefResolved, ColumnDefTemplate, ColumnDef_FeatureMap, ColumnMeta, DisplayColumnDef, ExtractColumnMeta, GroupColumnDef, IdIdentifier, IdentifiedColumnDef, StringHeaderIdentifier, StringOrTemplateHeader };
104
123
  //# sourceMappingURL=ColumnDef.d.ts.map
@@ -1,17 +1,16 @@
1
- import { CellData, RowData, UnionToIntersection } from "./type-utils.cjs";
1
+ import { CellData, RowData } from "./type-utils.cjs";
2
+ import { Header_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
2
3
  import { Header_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.cjs";
3
4
  import { Header_Header } from "../core/headers/coreHeadersFeature.types.cjs";
4
- import { Header_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.cjs";
5
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
5
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
6
6
 
7
7
  //#region src/types/Header.d.ts
8
- /**
9
- * Use this interface as a target for declaration merging to add your own plugin properties.
10
- * Note: This will affect the types of all tables in your project.
11
- */
12
- interface Header_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
13
- interface Header_Core<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Header_Header<TFeatures, TData, TValue> {}
14
- type Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = Header_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnSizingFeature' extends keyof TFeatures ? Header_ColumnSizing : never) | ('columnResizingFeature' extends keyof TFeatures ? Header_ColumnResizing : never)> & ExtractFeatureTypes<'Header', TFeatures> & Header_Plugins<TFeatures, TData, TValue>;
8
+ interface Header_Core<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> extends Header_Header<TFeatures, TData, TValue> {}
9
+ interface Header_FeatureMap {
10
+ columnSizingFeature: Header_ColumnSizing;
11
+ columnResizingFeature: Header_ColumnResizing;
12
+ }
13
+ type Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = Header_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, Header_FeatureMap>;
15
14
  //#endregion
16
- export { Header, Header_Core, Header_Plugins };
15
+ export { Header, Header_Core, Header_FeatureMap };
17
16
  //# sourceMappingURL=Header.d.cts.map
@@ -1,17 +1,16 @@
1
- import { CellData, RowData, UnionToIntersection } from "./type-utils.js";
1
+ import { CellData, RowData } from "./type-utils.js";
2
+ import { Header_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
2
3
  import { Header_ColumnSizing } from "../features/column-sizing/columnSizingFeature.types.js";
3
4
  import { Header_Header } from "../core/headers/coreHeadersFeature.types.js";
4
- import { Header_ColumnResizing } from "../features/column-resizing/columnResizingFeature.types.js";
5
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
5
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
6
6
 
7
7
  //#region src/types/Header.d.ts
8
- /**
9
- * Use this interface as a target for declaration merging to add your own plugin properties.
10
- * Note: This will affect the types of all tables in your project.
11
- */
12
- interface Header_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
13
- interface Header_Core<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> extends Header_Header<TFeatures, TData, TValue> {}
14
- type Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = Header_Core<TFeatures, TData, TValue> & UnionToIntersection<('columnSizingFeature' extends keyof TFeatures ? Header_ColumnSizing : never) | ('columnResizingFeature' extends keyof TFeatures ? Header_ColumnResizing : never)> & ExtractFeatureTypes<'Header', TFeatures> & Header_Plugins<TFeatures, TData, TValue>;
8
+ interface Header_Core<in out TFeatures extends TableFeatures, in out TData extends RowData, TValue extends CellData = CellData> extends Header_Header<TFeatures, TData, TValue> {}
9
+ interface Header_FeatureMap {
10
+ columnSizingFeature: Header_ColumnSizing;
11
+ columnResizingFeature: Header_ColumnResizing;
12
+ }
13
+ type Header<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = Header_Core<TFeatures, TData, TValue> & ExtractFeatureMapTypes<TFeatures, Header_FeatureMap>;
15
14
  //#endregion
16
- export { Header, Header_Core, Header_Plugins };
15
+ export { Header, Header_Core, Header_FeatureMap };
17
16
  //# sourceMappingURL=Header.d.ts.map
@@ -1,15 +1,10 @@
1
1
  import { RowData } from "./type-utils.cjs";
2
2
  import { HeaderGroup_Header } from "../core/headers/coreHeadersFeature.types.cjs";
3
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
3
+ import { TableFeatures } from "./TableFeatures.cjs";
4
4
 
5
5
  //#region src/types/HeaderGroup.d.ts
6
- /**
7
- * Use this interface as a target for declaration merging to add your own plugin properties.
8
- * Note: This will affect the types of all tables in your project.
9
- */
10
- interface HeaderGroup_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
11
- interface HeaderGroup_Core<TFeatures extends TableFeatures, TData extends RowData> extends HeaderGroup_Header<TFeatures, TData> {}
12
- type HeaderGroup<TFeatures extends TableFeatures, TData extends RowData> = HeaderGroup_Core<TFeatures, TData> & ExtractFeatureTypes<'HeaderGroup', TFeatures> & HeaderGroup_Plugins<TFeatures, TData>;
6
+ interface HeaderGroup_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends HeaderGroup_Header<TFeatures, TData> {}
7
+ type HeaderGroup<TFeatures extends TableFeatures, TData extends RowData> = HeaderGroup_Core<TFeatures, TData>;
13
8
  //#endregion
14
- export { HeaderGroup, HeaderGroup_Core, HeaderGroup_Plugins };
9
+ export { HeaderGroup, HeaderGroup_Core };
15
10
  //# sourceMappingURL=HeaderGroup.d.cts.map
@@ -1,15 +1,10 @@
1
1
  import { RowData } from "./type-utils.js";
2
2
  import { HeaderGroup_Header } from "../core/headers/coreHeadersFeature.types.js";
3
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
3
+ import { TableFeatures } from "./TableFeatures.js";
4
4
 
5
5
  //#region src/types/HeaderGroup.d.ts
6
- /**
7
- * Use this interface as a target for declaration merging to add your own plugin properties.
8
- * Note: This will affect the types of all tables in your project.
9
- */
10
- interface HeaderGroup_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
11
- interface HeaderGroup_Core<TFeatures extends TableFeatures, TData extends RowData> extends HeaderGroup_Header<TFeatures, TData> {}
12
- type HeaderGroup<TFeatures extends TableFeatures, TData extends RowData> = HeaderGroup_Core<TFeatures, TData> & ExtractFeatureTypes<'HeaderGroup', TFeatures> & HeaderGroup_Plugins<TFeatures, TData>;
6
+ interface HeaderGroup_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends HeaderGroup_Header<TFeatures, TData> {}
7
+ type HeaderGroup<TFeatures extends TableFeatures, TData extends RowData> = HeaderGroup_Core<TFeatures, TData>;
13
8
  //#endregion
14
- export { HeaderGroup, HeaderGroup_Core, HeaderGroup_Plugins };
9
+ export { HeaderGroup, HeaderGroup_Core };
15
10
  //# sourceMappingURL=HeaderGroup.d.ts.map
@@ -1,22 +1,26 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.cjs";
2
- import { Row_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
1
+ import { RowData } from "./type-utils.cjs";
3
2
  import { Row_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.cjs";
4
3
  import { Row_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.cjs";
5
4
  import { Row_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.cjs";
6
5
  import { Row_RowPinning } from "../features/row-pinning/rowPinningFeature.types.cjs";
7
6
  import { Row_RowSelection } from "../features/row-selection/rowSelectionFeature.types.cjs";
8
7
  import { Row_Row } from "../core/rows/coreRowsFeature.types.cjs";
9
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
8
+ import { Row_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
9
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
10
10
  import { Row_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
11
11
 
12
12
  //#region src/types/Row.d.ts
13
- /**
14
- * Use this interface as a target for declaration merging to add your own plugin properties.
15
- * Note: This will affect the types of all tables in your project.
16
- */
17
- interface Row_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
18
- interface Row_Core<TFeatures extends TableFeatures, TData extends RowData> extends Row_Row<TFeatures, TData> {}
19
- type Row<TFeatures extends TableFeatures, TData extends RowData> = Row_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? Row_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? Row_ColumnGrouping : never) | ('columnPinningFeature' extends keyof TFeatures ? Row_ColumnPinning<TFeatures, TData> : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Row_ColumnVisibility<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? Row_RowExpanding : never) | ('rowPinningFeature' extends keyof TFeatures ? Row_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? Row_RowSelection : never)> & ExtractFeatureTypes<'Row', TFeatures> & Row_Plugins<TFeatures, TData>;
13
+ interface Row_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Row_Row<TFeatures, TData> {}
14
+ interface Row_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
15
+ columnFilteringFeature: Row_ColumnFiltering<TFeatures, TData>;
16
+ columnGroupingFeature: Row_ColumnGrouping;
17
+ columnPinningFeature: Row_ColumnPinning<TFeatures, TData>;
18
+ columnVisibilityFeature: Row_ColumnVisibility<TFeatures, TData>;
19
+ rowExpandingFeature: Row_RowExpanding;
20
+ rowPinningFeature: Row_RowPinning;
21
+ rowSelectionFeature: Row_RowSelection;
22
+ }
23
+ type Row<TFeatures extends TableFeatures, TData extends RowData> = Row_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Row_FeatureMap<TFeatures, TData>>;
20
24
  //#endregion
21
- export { Row, Row_Core, Row_Plugins };
25
+ export { Row, Row_Core, Row_FeatureMap };
22
26
  //# sourceMappingURL=Row.d.cts.map
@@ -1,22 +1,26 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.js";
2
- import { Row_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
1
+ import { RowData } from "./type-utils.js";
3
2
  import { Row_ColumnPinning } from "../features/column-pinning/columnPinningFeature.types.js";
4
3
  import { Row_ColumnVisibility } from "../features/column-visibility/columnVisibilityFeature.types.js";
5
4
  import { Row_RowExpanding } from "../features/row-expanding/rowExpandingFeature.types.js";
6
5
  import { Row_RowPinning } from "../features/row-pinning/rowPinningFeature.types.js";
7
6
  import { Row_RowSelection } from "../features/row-selection/rowSelectionFeature.types.js";
8
7
  import { Row_Row } from "../core/rows/coreRowsFeature.types.js";
9
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
8
+ import { Row_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.js";
9
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
10
10
  import { Row_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.js";
11
11
 
12
12
  //#region src/types/Row.d.ts
13
- /**
14
- * Use this interface as a target for declaration merging to add your own plugin properties.
15
- * Note: This will affect the types of all tables in your project.
16
- */
17
- interface Row_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
18
- interface Row_Core<TFeatures extends TableFeatures, TData extends RowData> extends Row_Row<TFeatures, TData> {}
19
- type Row<TFeatures extends TableFeatures, TData extends RowData> = Row_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? Row_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? Row_ColumnGrouping : never) | ('columnPinningFeature' extends keyof TFeatures ? Row_ColumnPinning<TFeatures, TData> : never) | ('columnVisibilityFeature' extends keyof TFeatures ? Row_ColumnVisibility<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? Row_RowExpanding : never) | ('rowPinningFeature' extends keyof TFeatures ? Row_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? Row_RowSelection : never)> & ExtractFeatureTypes<'Row', TFeatures> & Row_Plugins<TFeatures, TData>;
13
+ interface Row_Core<in out TFeatures extends TableFeatures, in out TData extends RowData> extends Row_Row<TFeatures, TData> {}
14
+ interface Row_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
15
+ columnFilteringFeature: Row_ColumnFiltering<TFeatures, TData>;
16
+ columnGroupingFeature: Row_ColumnGrouping;
17
+ columnPinningFeature: Row_ColumnPinning<TFeatures, TData>;
18
+ columnVisibilityFeature: Row_ColumnVisibility<TFeatures, TData>;
19
+ rowExpandingFeature: Row_RowExpanding;
20
+ rowPinningFeature: Row_RowPinning;
21
+ rowSelectionFeature: Row_RowSelection;
22
+ }
23
+ type Row<TFeatures extends TableFeatures, TData extends RowData> = Row_Core<TFeatures, TData> & ExtractFeatureMapTypes<TFeatures, Row_FeatureMap<TFeatures, TData>>;
20
24
  //#endregion
21
- export { Row, Row_Core, Row_Plugins };
25
+ export { Row, Row_Core, Row_FeatureMap };
22
26
  //# sourceMappingURL=Row.d.ts.map
@@ -1,26 +1,26 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.cjs";
2
- import { CachedRowModel_Sorted, CreateRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
- import { CachedRowModel_Filtered, CreateRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.cjs";
4
- import { CachedRowModel_Expanded, CreateRowModel_Expanded } from "../features/row-expanding/rowExpandingFeature.types.cjs";
5
- import { CachedRowModel_Paginated, CreateRowModel_Paginated } from "../features/row-pagination/rowPaginationFeature.types.cjs";
6
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
7
- import { CachedRowModel_Faceted, CreateRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.cjs";
8
- import { CachedRowModel_Core, CreateRowModel_Core, RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
9
- import { CachedRowModel_Grouped, CreateRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.cjs";
1
+ import { RowData } from "./type-utils.cjs";
2
+ import { CachedRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
+ import { CachedRowModel_Expanded } from "../features/row-expanding/rowExpandingFeature.types.cjs";
4
+ import { CachedRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.cjs";
5
+ import { CachedRowModel_Paginated } from "../features/row-pagination/rowPaginationFeature.types.cjs";
6
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
7
+ import { CachedRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.cjs";
8
+ import { CachedRowModel_Core, RowModel } from "../core/row-models/coreRowModelsFeature.types.cjs";
9
+ import { CachedRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.cjs";
10
10
 
11
11
  //#region src/types/RowModel.d.ts
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
- interface CreateRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
17
- type CreateRowModels<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CreateRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CreateRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CreateRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CreateRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CreateRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CreateRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CreateRowModels', TFeatures> & CreateRowModels_Plugins<TFeatures, TData>;
18
- type CreateRowModels_All<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & CreateRowModel_Expanded<TFeatures, TData> & CreateRowModel_Faceted<TFeatures, TData> & CreateRowModel_Filtered<TFeatures, TData> & CreateRowModel_Grouped<TFeatures, TData> & CreateRowModel_Paginated<TFeatures, TData> & CreateRowModel_Sorted<TFeatures, TData>;
19
- interface CachedRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
12
+ interface CachedRowModels_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
13
+ columnFacetingFeature: CachedRowModel_Faceted<TFeatures, TData>;
14
+ columnFilteringFeature: CachedRowModel_Filtered<TFeatures, TData>;
15
+ rowExpandingFeature: CachedRowModel_Expanded<TFeatures, TData>;
16
+ columnGroupingFeature: CachedRowModel_Grouped<TFeatures, TData>;
17
+ rowPaginationFeature: CachedRowModel_Paginated<TFeatures, TData>;
18
+ rowSortingFeature: CachedRowModel_Sorted<TFeatures, TData>;
19
+ }
20
20
  type CachedRowModels<TFeatures extends TableFeatures, TData extends RowData> = {
21
21
  CachedRowModel_Core: () => RowModel<TFeatures, TData>;
22
- } & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CachedRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CachedRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CachedRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CachedRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CachedRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CachedRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CachedRowModel', TFeatures> & CachedRowModels_Plugins<TFeatures, TData>;
22
+ } & ExtractFeatureMapTypes<TFeatures, CachedRowModels_FeatureMap<TFeatures, TData>>;
23
23
  type CachedRowModel_All<TFeatures extends TableFeatures, TData extends RowData = any> = Partial<CachedRowModel_Core<TFeatures, TData> & CachedRowModel_Expanded<TFeatures, TData> & CachedRowModel_Faceted<TFeatures, TData> & CachedRowModel_Filtered<TFeatures, TData> & CachedRowModel_Grouped<TFeatures, TData> & CachedRowModel_Paginated<TFeatures, TData> & CachedRowModel_Sorted<TFeatures, TData>>;
24
24
  //#endregion
25
- export { CachedRowModel_All, CachedRowModels, CachedRowModels_Plugins, CreateRowModels, CreateRowModels_All, CreateRowModels_Plugins };
25
+ export { CachedRowModel_All, CachedRowModels, CachedRowModels_FeatureMap };
26
26
  //# sourceMappingURL=RowModel.d.cts.map
@@ -1,26 +1,26 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.js";
2
- import { CachedRowModel_Sorted, CreateRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.js";
3
- import { CachedRowModel_Filtered, CreateRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.js";
4
- import { CachedRowModel_Expanded, CreateRowModel_Expanded } from "../features/row-expanding/rowExpandingFeature.types.js";
5
- import { CachedRowModel_Paginated, CreateRowModel_Paginated } from "../features/row-pagination/rowPaginationFeature.types.js";
6
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.js";
7
- import { CachedRowModel_Faceted, CreateRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.js";
8
- import { CachedRowModel_Core, CreateRowModel_Core, RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
9
- import { CachedRowModel_Grouped, CreateRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.js";
1
+ import { RowData } from "./type-utils.js";
2
+ import { CachedRowModel_Sorted } from "../features/row-sorting/rowSortingFeature.types.js";
3
+ import { CachedRowModel_Expanded } from "../features/row-expanding/rowExpandingFeature.types.js";
4
+ import { CachedRowModel_Filtered } from "../features/column-filtering/columnFilteringFeature.types.js";
5
+ import { CachedRowModel_Paginated } from "../features/row-pagination/rowPaginationFeature.types.js";
6
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.js";
7
+ import { CachedRowModel_Faceted } from "../features/column-faceting/columnFacetingFeature.types.js";
8
+ import { CachedRowModel_Core, RowModel } from "../core/row-models/coreRowModelsFeature.types.js";
9
+ import { CachedRowModel_Grouped } from "../features/column-grouping/columnGroupingFeature.types.js";
10
10
 
11
11
  //#region src/types/RowModel.d.ts
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
- interface CreateRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
17
- type CreateRowModels<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CreateRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CreateRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CreateRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CreateRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CreateRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CreateRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CreateRowModels', TFeatures> & CreateRowModels_Plugins<TFeatures, TData>;
18
- type CreateRowModels_All<TFeatures extends TableFeatures, TData extends RowData> = CreateRowModel_Core<TFeatures, TData> & CreateRowModel_Expanded<TFeatures, TData> & CreateRowModel_Faceted<TFeatures, TData> & CreateRowModel_Filtered<TFeatures, TData> & CreateRowModel_Grouped<TFeatures, TData> & CreateRowModel_Paginated<TFeatures, TData> & CreateRowModel_Sorted<TFeatures, TData>;
19
- interface CachedRowModels_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
12
+ interface CachedRowModels_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
13
+ columnFacetingFeature: CachedRowModel_Faceted<TFeatures, TData>;
14
+ columnFilteringFeature: CachedRowModel_Filtered<TFeatures, TData>;
15
+ rowExpandingFeature: CachedRowModel_Expanded<TFeatures, TData>;
16
+ columnGroupingFeature: CachedRowModel_Grouped<TFeatures, TData>;
17
+ rowPaginationFeature: CachedRowModel_Paginated<TFeatures, TData>;
18
+ rowSortingFeature: CachedRowModel_Sorted<TFeatures, TData>;
19
+ }
20
20
  type CachedRowModels<TFeatures extends TableFeatures, TData extends RowData> = {
21
21
  CachedRowModel_Core: () => RowModel<TFeatures, TData>;
22
- } & UnionToIntersection<('columnFacetingFeature' extends keyof TFeatures ? CachedRowModel_Faceted<TFeatures, TData> : never) | ('columnFilteringFeature' extends keyof TFeatures ? CachedRowModel_Filtered<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? CachedRowModel_Expanded<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? CachedRowModel_Grouped<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? CachedRowModel_Paginated<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? CachedRowModel_Sorted<TFeatures, TData> : never)> & ExtractFeatureTypes<'CachedRowModel', TFeatures> & CachedRowModels_Plugins<TFeatures, TData>;
22
+ } & ExtractFeatureMapTypes<TFeatures, CachedRowModels_FeatureMap<TFeatures, TData>>;
23
23
  type CachedRowModel_All<TFeatures extends TableFeatures, TData extends RowData = any> = Partial<CachedRowModel_Core<TFeatures, TData> & CachedRowModel_Expanded<TFeatures, TData> & CachedRowModel_Faceted<TFeatures, TData> & CachedRowModel_Filtered<TFeatures, TData> & CachedRowModel_Grouped<TFeatures, TData> & CachedRowModel_Paginated<TFeatures, TData> & CachedRowModel_Sorted<TFeatures, TData>>;
24
24
  //#endregion
25
- export { CachedRowModel_All, CachedRowModels, CachedRowModels_Plugins, CreateRowModels, CreateRowModels_All, CreateRowModels_Plugins };
25
+ export { CachedRowModel_All, CachedRowModels, CachedRowModels_FeatureMap };
26
26
  //# sourceMappingURL=RowModel.d.ts.map
@@ -1,18 +1,18 @@
1
- import { RowData, UnionToIntersection } from "./type-utils.cjs";
1
+ import { RowData } from "./type-utils.cjs";
2
2
  import { RowModelFns_RowSorting } from "../features/row-sorting/rowSortingFeature.types.cjs";
3
3
  import { RowModelFns_ColumnFiltering } from "../features/column-filtering/columnFilteringFeature.types.cjs";
4
- import { ExtractFeatureTypes, TableFeatures } from "./TableFeatures.cjs";
4
+ import { ExtractFeatureMapTypes, TableFeatures } from "./TableFeatures.cjs";
5
5
  import { RowModelFns_ColumnGrouping } from "../features/column-grouping/columnGroupingFeature.types.cjs";
6
6
 
7
7
  //#region src/types/RowModelFns.d.ts
8
- /**
9
- * Use this interface as a target for declaration merging to add your own plugin properties.
10
- * Note: This will affect the types of all tables in your project.
11
- */
12
- interface RowModelFns_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
13
8
  interface RowModelFns_Core {}
14
- type RowModelFns<TFeatures extends TableFeatures, TData extends RowData> = Partial<UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? RowModelFns_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? RowModelFns_ColumnGrouping<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? RowModelFns_RowSorting<TFeatures, TData> : never)> & ExtractFeatureTypes<'RowModelFns', TFeatures> & RowModelFns_Plugins<TFeatures, TData>>;
9
+ interface RowModelFns_FeatureMap<in out TFeatures extends TableFeatures, in out TData extends RowData> {
10
+ columnFilteringFeature: RowModelFns_ColumnFiltering<TFeatures, TData>;
11
+ columnGroupingFeature: RowModelFns_ColumnGrouping<TFeatures, TData>;
12
+ rowSortingFeature: RowModelFns_RowSorting<TFeatures, TData>;
13
+ }
14
+ type RowModelFns<TFeatures extends TableFeatures, TData extends RowData> = Partial<ExtractFeatureMapTypes<TFeatures, RowModelFns_FeatureMap<TFeatures, TData>>>;
15
15
  type RowModelFns_All<TFeatures extends TableFeatures, TData extends RowData> = Partial<RowModelFns_ColumnFiltering<TFeatures, TData> & RowModelFns_ColumnGrouping<TFeatures, TData> & RowModelFns_RowSorting<TFeatures, TData>>;
16
16
  //#endregion
17
- export { RowModelFns, RowModelFns_All, RowModelFns_Core, RowModelFns_Plugins };
17
+ export { RowModelFns, RowModelFns_All, RowModelFns_Core, RowModelFns_FeatureMap };
18
18
  //# sourceMappingURL=RowModelFns.d.cts.map