@tanstack/table-core 9.0.0-alpha.47 → 9.0.0-alpha.49

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 (246) hide show
  1. package/README.md +10 -0
  2. package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
  3. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  4. package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
  5. package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
  6. package/dist/core/cells/coreCellsFeature.utils.js +11 -8
  7. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  8. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
  9. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
  10. package/dist/core/columns/coreColumnsFeature.utils.cjs +37 -27
  11. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  12. package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
  13. package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
  14. package/dist/core/columns/coreColumnsFeature.utils.js +37 -27
  15. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  16. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
  17. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
  18. package/dist/core/headers/coreHeadersFeature.utils.cjs +23 -18
  19. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  20. package/dist/core/headers/coreHeadersFeature.utils.d.cts +23 -18
  21. package/dist/core/headers/coreHeadersFeature.utils.d.ts +23 -18
  22. package/dist/core/headers/coreHeadersFeature.utils.js +23 -18
  23. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  24. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
  25. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  26. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
  27. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
  28. package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
  29. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  30. package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
  31. package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
  32. package/dist/core/rows/coreRowsFeature.utils.cjs +34 -28
  33. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  34. package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
  35. package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
  36. package/dist/core/rows/coreRowsFeature.utils.js +34 -28
  37. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  38. package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
  39. package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
  40. package/dist/core/table/coreTablesFeature.utils.cjs +2 -2
  41. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  42. package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
  43. package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
  44. package/dist/core/table/coreTablesFeature.utils.js +2 -2
  45. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  46. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
  47. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
  48. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
  49. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  50. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
  51. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
  52. package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
  53. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  54. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
  55. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
  56. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
  57. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  58. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
  59. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
  60. package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
  61. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  62. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
  63. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
  64. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
  65. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  66. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
  67. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
  68. package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
  69. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  70. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
  71. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
  72. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +30 -23
  73. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  74. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
  75. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
  76. package/dist/features/column-ordering/columnOrderingFeature.utils.js +30 -23
  77. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  78. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
  79. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
  80. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +111 -91
  81. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  82. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +111 -91
  83. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +111 -91
  84. package/dist/features/column-pinning/columnPinningFeature.utils.js +111 -91
  85. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  86. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
  87. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
  88. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +29 -20
  89. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  90. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
  91. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
  92. package/dist/features/column-resizing/columnResizingFeature.utils.js +29 -20
  93. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  94. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
  95. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
  96. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
  97. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  98. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
  99. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
  100. package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
  101. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  102. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +16 -13
  103. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +16 -13
  104. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +54 -42
  105. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  106. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +54 -42
  107. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +54 -42
  108. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +54 -42
  109. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  110. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
  111. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
  112. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
  113. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  114. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
  115. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
  116. package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
  117. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  118. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
  119. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
  120. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +56 -41
  121. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  122. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
  123. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
  124. package/dist/features/row-expanding/rowExpandingFeature.utils.js +56 -41
  125. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  126. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
  127. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
  128. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
  129. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  130. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
  131. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
  132. package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
  133. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  134. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
  135. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
  136. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +39 -29
  137. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  138. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
  139. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
  140. package/dist/features/row-pinning/rowPinningFeature.utils.js +39 -29
  141. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  142. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
  143. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
  144. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +89 -69
  145. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  146. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
  147. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
  148. package/dist/features/row-selection/rowSelectionFeature.utils.js +89 -69
  149. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  150. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
  151. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
  152. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +62 -45
  153. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  154. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
  155. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
  156. package/dist/features/row-sorting/rowSortingFeature.utils.js +62 -45
  157. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  158. package/dist/fns/aggregationFns.cjs +33 -9
  159. package/dist/fns/aggregationFns.cjs.map +1 -1
  160. package/dist/fns/aggregationFns.d.cts +33 -9
  161. package/dist/fns/aggregationFns.d.ts +33 -9
  162. package/dist/fns/aggregationFns.js +33 -9
  163. package/dist/fns/aggregationFns.js.map +1 -1
  164. package/dist/fns/filterFns.cjs +48 -17
  165. package/dist/fns/filterFns.cjs.map +1 -1
  166. package/dist/fns/filterFns.d.cts +42 -15
  167. package/dist/fns/filterFns.d.ts +42 -15
  168. package/dist/fns/filterFns.js +48 -17
  169. package/dist/fns/filterFns.js.map +1 -1
  170. package/dist/helpers/columnHelper.cjs +9 -4
  171. package/dist/helpers/columnHelper.cjs.map +1 -1
  172. package/dist/helpers/columnHelper.d.cts +9 -4
  173. package/dist/helpers/columnHelper.d.ts +9 -4
  174. package/dist/helpers/columnHelper.js +9 -4
  175. package/dist/helpers/columnHelper.js.map +1 -1
  176. package/dist/helpers/tableOptions.cjs.map +1 -1
  177. package/dist/helpers/tableOptions.d.cts +12 -9
  178. package/dist/helpers/tableOptions.d.ts +12 -9
  179. package/dist/helpers/tableOptions.js.map +1 -1
  180. package/dist/types/ColumnDef.d.cts +38 -0
  181. package/dist/types/ColumnDef.d.ts +38 -0
  182. package/dist/types/TableOptions.d.cts +15 -0
  183. package/dist/types/TableOptions.d.ts +15 -0
  184. package/dist/types/TableState.d.cts +12 -0
  185. package/dist/types/TableState.d.ts +12 -0
  186. package/package.json +5 -3
  187. package/skills/column-definitions/SKILL.md +333 -0
  188. package/skills/column-layout/SKILL.md +328 -0
  189. package/skills/column-layout/references/subsystems.md +220 -0
  190. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  191. package/skills/filtering/SKILL.md +357 -0
  192. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  193. package/skills/grouping/SKILL.md +448 -0
  194. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  195. package/skills/pagination/SKILL.md +385 -0
  196. package/skills/row-expanding/SKILL.md +348 -0
  197. package/skills/row-pinning/SKILL.md +269 -0
  198. package/skills/row-selection/SKILL.md +391 -0
  199. package/skills/setup/SKILL.md +400 -0
  200. package/skills/sorting/SKILL.md +344 -0
  201. package/skills/state-management/SKILL.md +388 -0
  202. package/src/core/cells/coreCellsFeature.utils.ts +11 -8
  203. package/src/core/columns/coreColumnsFeature.types.ts +7 -6
  204. package/src/core/columns/coreColumnsFeature.utils.ts +37 -27
  205. package/src/core/headers/coreHeadersFeature.types.ts +6 -4
  206. package/src/core/headers/coreHeadersFeature.utils.ts +23 -18
  207. package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
  208. package/src/core/rows/coreRowsFeature.types.ts +4 -4
  209. package/src/core/rows/coreRowsFeature.utils.ts +34 -28
  210. package/src/core/table/coreTablesFeature.types.ts +6 -2
  211. package/src/core/table/coreTablesFeature.utils.ts +2 -2
  212. package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
  213. package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
  214. package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
  215. package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
  216. package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
  217. package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
  218. package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
  219. package/src/features/column-ordering/columnOrderingFeature.utils.ts +30 -23
  220. package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
  221. package/src/features/column-pinning/columnPinningFeature.utils.ts +111 -91
  222. package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
  223. package/src/features/column-resizing/columnResizingFeature.utils.ts +29 -21
  224. package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
  225. package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
  226. package/src/features/column-visibility/columnVisibilityFeature.types.ts +16 -13
  227. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +54 -42
  228. package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
  229. package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
  230. package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
  231. package/src/features/row-expanding/rowExpandingFeature.utils.ts +56 -41
  232. package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
  233. package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
  234. package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
  235. package/src/features/row-pinning/rowPinningFeature.utils.ts +39 -29
  236. package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
  237. package/src/features/row-selection/rowSelectionFeature.utils.ts +89 -69
  238. package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
  239. package/src/features/row-sorting/rowSortingFeature.utils.ts +62 -45
  240. package/src/fns/aggregationFns.ts +33 -9
  241. package/src/fns/filterFns.ts +48 -17
  242. package/src/helpers/columnHelper.ts +9 -4
  243. package/src/helpers/tableOptions.ts +12 -9
  244. package/src/types/ColumnDef.ts +38 -0
  245. package/src/types/TableOptions.ts +15 -0
  246. package/src/types/TableState.ts +12 -0
@@ -4,9 +4,10 @@ import { TableFeatures } from "../types/TableFeatures.js";
4
4
 
5
5
  //#region src/helpers/tableOptions.d.ts
6
6
  /**
7
- * Returns table options while preserving generic inference.
7
+ * Preserves table option inference when reusable options omit `columns`.
8
8
  *
9
- * This helper is useful when composing reusable table options outside of a framework adapter call.
9
+ * This is useful for composing shared options that will receive columns later
10
+ * from a framework adapter or table factory.
10
11
  */
11
12
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'columns'> & {
12
13
  _features: TFeatures;
@@ -14,7 +15,7 @@ declare function tableOptions<TFeatures extends TableFeatures, TData extends Row
14
15
  _features: TFeatures;
15
16
  };
16
17
  /**
17
- * Returns table options while preserving generic inference when `data` is supplied later.
18
+ * Preserves table option inference when reusable options omit `data`.
18
19
  */
19
20
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'data'> & {
20
21
  _features: TFeatures;
@@ -22,7 +23,8 @@ declare function tableOptions<TFeatures extends TableFeatures, TData extends Row
22
23
  _features: TFeatures;
23
24
  };
24
25
  /**
25
- * Returns table options while preserving generic inference when both `data` and `columns` are supplied later.
26
+ * Preserves table option inference when reusable options omit both `data` and
27
+ * `columns`.
26
28
  */
27
29
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'data' | 'columns'> & {
28
30
  _features: TFeatures;
@@ -30,23 +32,24 @@ declare function tableOptions<TFeatures extends TableFeatures, TData extends Row
30
32
  _features: TFeatures;
31
33
  };
32
34
  /**
33
- * Returns a fully specified table options object without changing its runtime value.
35
+ * Preserves inference for a fully specified table options object.
34
36
  */
35
37
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: TableOptions<TFeatures, TData>): TableOptions<TFeatures, TData>;
36
38
  /**
37
- * Returns table options while preserving generic inference when `_features` is supplied by a wrapper.
39
+ * Preserves inference when a wrapper supplies `_features`.
38
40
  */
39
41
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, '_features'>): Omit<TableOptions<TFeatures, TData>, '_features'>;
40
42
  /**
41
- * Returns table options while preserving generic inference when `data` and `_features` are supplied by a wrapper.
43
+ * Preserves inference when a wrapper supplies both `data` and `_features`.
42
44
  */
43
45
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>): Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>;
44
46
  /**
45
- * Returns table options while preserving generic inference when `columns` and `_features` are supplied by a wrapper.
47
+ * Preserves inference when a wrapper supplies both `columns` and `_features`.
46
48
  */
47
49
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>): Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>;
48
50
  /**
49
- * Returns table options while preserving generic inference when `data`, `columns`, and `_features` are supplied by a wrapper.
51
+ * Preserves inference when a wrapper supplies `data`, `columns`, and
52
+ * `_features`.
50
53
  */
51
54
  declare function tableOptions<TFeatures extends TableFeatures, TData extends RowData = any>(options: Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'>): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'>;
52
55
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tableOptions.js","names":[],"sources":["../../src/helpers/tableOptions.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { TableOptions } from '../types/TableOptions'\n\n/**\n * Returns table options while preserving generic inference.\n *\n * This helper is useful when composing reusable table options outside of a framework adapter call.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'columns'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Returns table options while preserving generic inference when `data` is supplied later.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'data' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Returns table options while preserving generic inference when both `data` and `columns` are supplied later.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data' | 'columns'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Returns a fully specified table options object without changing its runtime value.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(options: TableOptions<TFeatures, TData>): TableOptions<TFeatures, TData>\n\n/**\n * Returns table options while preserving generic inference when `_features` is supplied by a wrapper.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, '_features'>,\n): Omit<TableOptions<TFeatures, TData>, '_features'>\n\n/**\n * Returns table options while preserving generic inference when `data` and `_features` are supplied by a wrapper.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>,\n): Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>\n\n/**\n * Returns table options while preserving generic inference when `columns` and `_features` are supplied by a wrapper.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>,\n): Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>\n\n/**\n * Returns table options while preserving generic inference when `data`, `columns`, and `_features` are supplied by a wrapper.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<\n TableOptions<TFeatures, TData>,\n 'data' | 'columns' | '_features'\n >,\n): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'>\n\n/**\n * Runtime implementation for `tableOptions`.\n *\n * The helper returns the same object it receives; all value comes from the\n * overloads preserving table option inference at compile time.\n */\nexport function tableOptions(options: unknown) {\n return options\n}\n\n// test\n\n// const options = tableOptions({\n// _features: {},\n// })\n"],"mappings":";;;;;;;AAyGA,SAAgB,aAAa,SAAkB;CAC7C,OAAO"}
1
+ {"version":3,"file":"tableOptions.js","names":[],"sources":["../../src/helpers/tableOptions.ts"],"sourcesContent":["import type { RowData } from '../types/type-utils'\nimport type { TableFeatures } from '../types/TableFeatures'\nimport type { TableOptions } from '../types/TableOptions'\n\n/**\n * Preserves table option inference when reusable options omit `columns`.\n *\n * This is useful for composing shared options that will receive columns later\n * from a framework adapter or table factory.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'columns'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Preserves table option inference when reusable options omit `data`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'data' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Preserves table option inference when reusable options omit both `data` and\n * `columns`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data' | 'columns'> & {\n _features: TFeatures\n },\n): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'> & {\n _features: TFeatures\n}\n\n/**\n * Preserves inference for a fully specified table options object.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(options: TableOptions<TFeatures, TData>): TableOptions<TFeatures, TData>\n\n/**\n * Preserves inference when a wrapper supplies `_features`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, '_features'>,\n): Omit<TableOptions<TFeatures, TData>, '_features'>\n\n/**\n * Preserves inference when a wrapper supplies both `data` and `_features`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>,\n): Omit<TableOptions<TFeatures, TData>, 'data' | '_features'>\n\n/**\n * Preserves inference when a wrapper supplies both `columns` and `_features`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>,\n): Omit<TableOptions<TFeatures, TData>, 'columns' | '_features'>\n\n/**\n * Preserves inference when a wrapper supplies `data`, `columns`, and\n * `_features`.\n */\nexport function tableOptions<\n TFeatures extends TableFeatures,\n TData extends RowData = any,\n>(\n options: Omit<\n TableOptions<TFeatures, TData>,\n 'data' | 'columns' | '_features'\n >,\n): Omit<TableOptions<TFeatures, TData>, 'data' | 'columns' | '_features'>\n\n/**\n * Runtime implementation for `tableOptions`.\n *\n * The helper returns the same object it receives; all value comes from the\n * overloads preserving table option inference at compile time.\n */\nexport function tableOptions(options: unknown) {\n return options\n}\n\n// test\n\n// const options = tableOptions({\n// _features: {},\n// })\n"],"mappings":";;;;;;;AA4GA,SAAgB,aAAa,SAAkB;CAC7C,OAAO"}
@@ -18,22 +18,60 @@ import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGrou
18
18
  */
19
19
  interface ColumnDef_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
20
20
  interface ColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
21
+ /**
22
+ * Reads a cell value from an original row object.
23
+ *
24
+ * The row index is provided for accessors that need stable position-aware
25
+ * derived values.
26
+ */
21
27
  type AccessorFn<TData extends RowData, TValue extends CellData = CellData> = (originalRow: TData, index: number) => TValue;
28
+ /**
29
+ * A renderable column template value.
30
+ *
31
+ * Strings render directly; functions receive the relevant cell/header context
32
+ * and can return framework-specific render output.
33
+ */
22
34
  type ColumnDefTemplate<TProps extends object> = string | ((props: TProps) => any);
23
35
  type StringOrTemplateHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = string | ColumnDefTemplate<HeaderContext<TFeatures, TData, TValue>>;
24
36
  interface StringHeaderIdentifier {
37
+ /**
38
+ * Header text used both for rendering and as a fallback column id.
39
+ */
25
40
  header: string;
41
+ /**
42
+ * Optional explicit id that overrides the header-derived id.
43
+ */
26
44
  id?: string;
27
45
  }
28
46
  interface IdIdentifier<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
47
+ /**
48
+ * Explicit stable column id.
49
+ */
29
50
  id: string;
51
+ /**
52
+ * Header text or template used to render this column's header.
53
+ */
30
54
  header?: StringOrTemplateHeader<TFeatures, TData, TValue>;
31
55
  }
32
56
  type ColumnIdentifiers<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = IdIdentifier<TFeatures, TData, TValue> | StringHeaderIdentifier;
33
57
  interface ColumnDefBase_Core<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
58
+ /**
59
+ * Produces the values used by faceting/grouping for this column.
60
+ *
61
+ * When omitted, the normal accessor value is wrapped in a single-item array.
62
+ */
34
63
  getUniqueValues?: AccessorFn<TData, Array<unknown>>;
64
+ /**
65
+ * Footer template rendered with header context.
66
+ */
35
67
  footer?: ColumnDefTemplate<HeaderContext<TFeatures, TData, TValue>>;
68
+ /**
69
+ * Cell template rendered with cell context.
70
+ */
36
71
  cell?: ColumnDefTemplate<CellContext<TFeatures, TData, TValue>>;
72
+ /**
73
+ * User-defined metadata available on the resolved column definition.
74
+ */
37
75
  meta?: ColumnMeta<TFeatures, TData, TValue>;
38
76
  }
39
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>;
@@ -18,22 +18,60 @@ import { ColumnDef_ColumnGrouping } from "../features/column-grouping/columnGrou
18
18
  */
19
19
  interface ColumnDef_Plugins<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
20
20
  interface ColumnMeta<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {}
21
+ /**
22
+ * Reads a cell value from an original row object.
23
+ *
24
+ * The row index is provided for accessors that need stable position-aware
25
+ * derived values.
26
+ */
21
27
  type AccessorFn<TData extends RowData, TValue extends CellData = CellData> = (originalRow: TData, index: number) => TValue;
28
+ /**
29
+ * A renderable column template value.
30
+ *
31
+ * Strings render directly; functions receive the relevant cell/header context
32
+ * and can return framework-specific render output.
33
+ */
22
34
  type ColumnDefTemplate<TProps extends object> = string | ((props: TProps) => any);
23
35
  type StringOrTemplateHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = string | ColumnDefTemplate<HeaderContext<TFeatures, TData, TValue>>;
24
36
  interface StringHeaderIdentifier {
37
+ /**
38
+ * Header text used both for rendering and as a fallback column id.
39
+ */
25
40
  header: string;
41
+ /**
42
+ * Optional explicit id that overrides the header-derived id.
43
+ */
26
44
  id?: string;
27
45
  }
28
46
  interface IdIdentifier<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
47
+ /**
48
+ * Explicit stable column id.
49
+ */
29
50
  id: string;
51
+ /**
52
+ * Header text or template used to render this column's header.
53
+ */
30
54
  header?: StringOrTemplateHeader<TFeatures, TData, TValue>;
31
55
  }
32
56
  type ColumnIdentifiers<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> = IdIdentifier<TFeatures, TData, TValue> | StringHeaderIdentifier;
33
57
  interface ColumnDefBase_Core<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData> {
58
+ /**
59
+ * Produces the values used by faceting/grouping for this column.
60
+ *
61
+ * When omitted, the normal accessor value is wrapped in a single-item array.
62
+ */
34
63
  getUniqueValues?: AccessorFn<TData, Array<unknown>>;
64
+ /**
65
+ * Footer template rendered with header context.
66
+ */
35
67
  footer?: ColumnDefTemplate<HeaderContext<TFeatures, TData, TValue>>;
68
+ /**
69
+ * Cell template rendered with cell context.
70
+ */
36
71
  cell?: ColumnDefTemplate<CellContext<TFeatures, TData, TValue>>;
72
+ /**
73
+ * User-defined metadata available on the resolved column definition.
74
+ */
37
75
  meta?: ColumnMeta<TFeatures, TData, TValue>;
38
76
  }
39
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>;
@@ -21,6 +21,10 @@ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnG
21
21
 
22
22
  //#region src/types/TableOptions.d.ts
23
23
  interface TableOptions_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
24
+ /**
25
+ * Core options that are always available on a table, before optional feature
26
+ * options are mixed in.
27
+ */
24
28
  interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
25
29
  type DebugKeysFor<TFeatures extends TableFeatures> = { [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean };
26
30
  type DebugOptions<TFeatures extends TableFeatures> = {
@@ -32,7 +36,18 @@ type DebugOptions<TFeatures extends TableFeatures> = {
32
36
  debugRows?: boolean;
33
37
  debugTable?: boolean;
34
38
  } & DebugKeysFor<CoreFeatures & TFeatures>;
39
+ /**
40
+ * Complete table options for a specific feature set.
41
+ *
42
+ * Feature options are included only when their feature is present in
43
+ * `TFeatures`, then custom feature/plugin options and debug options are mixed
44
+ * in.
45
+ */
35
46
  type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableOptions_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableOptions_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableOptions_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableOptions_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableOptions_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableOptions_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableOptions_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableOptions_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableOptions_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableOptions_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableOptions_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableOptions_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? TableOptions_RowSorting : never)> & ExtractFeatureTypes<'TableOptions', TFeatures> & TableOptions_Plugins<TFeatures, TData> & DebugOptions<TFeatures>;
47
+ /**
48
+ * Internal broad option shape used where feature code may need to read options
49
+ * from features that are not present in the current generic feature set.
50
+ */
36
51
  type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting>;
37
52
  //#endregion
38
53
  export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_Plugins };
@@ -21,6 +21,10 @@ import { TableOptions_ColumnGrouping } from "../features/column-grouping/columnG
21
21
 
22
22
  //#region src/types/TableOptions.d.ts
23
23
  interface TableOptions_Plugins<TFeatures extends TableFeatures, TData extends RowData> {}
24
+ /**
25
+ * Core options that are always available on a table, before optional feature
26
+ * options are mixed in.
27
+ */
24
28
  interface TableOptions_Core<TFeatures extends TableFeatures, TData extends RowData> extends TableOptions_Table<TFeatures, TData>, TableOptions_Cell, TableOptions_Columns<TFeatures, TData>, TableOptions_Rows<TFeatures, TData> {}
25
29
  type DebugKeysFor<TFeatures extends TableFeatures> = { [K in keyof TFeatures & string as `debug${Capitalize<K>}`]?: boolean };
26
30
  type DebugOptions<TFeatures extends TableFeatures> = {
@@ -32,7 +36,18 @@ type DebugOptions<TFeatures extends TableFeatures> = {
32
36
  debugRows?: boolean;
33
37
  debugTable?: boolean;
34
38
  } & DebugKeysFor<CoreFeatures & TFeatures>;
39
+ /**
40
+ * Complete table options for a specific feature set.
41
+ *
42
+ * Feature options are included only when their feature is present in
43
+ * `TFeatures`, then custom feature/plugin options and debug options are mixed
44
+ * in.
45
+ */
35
46
  type TableOptions<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableOptions_ColumnFiltering<TFeatures, TData> : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableOptions_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableOptions_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableOptions_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableOptions_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableOptions_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableOptions_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableOptions_GlobalFiltering<TFeatures, TData> : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableOptions_RowExpanding<TFeatures, TData> : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableOptions_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableOptions_RowPinning<TFeatures, TData> : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableOptions_RowSelection<TFeatures, TData> : never) | ('rowSortingFeature' extends keyof TFeatures ? TableOptions_RowSorting : never)> & ExtractFeatureTypes<'TableOptions', TFeatures> & TableOptions_Plugins<TFeatures, TData> & DebugOptions<TFeatures>;
47
+ /**
48
+ * Internal broad option shape used where feature code may need to read options
49
+ * from features that are not present in the current generic feature set.
50
+ */
36
51
  type TableOptions_All<TFeatures extends TableFeatures, TData extends RowData> = TableOptions_Core<TFeatures, TData> & Partial<TableOptions_ColumnFiltering<TFeatures, TData> & TableOptions_ColumnGrouping & TableOptions_ColumnOrdering & TableOptions_ColumnPinning & TableOptions_ColumnResizing & TableOptions_ColumnSizing & TableOptions_ColumnVisibility & TableOptions_GlobalFiltering<TFeatures, TData> & TableOptions_RowExpanding<TFeatures, TData> & TableOptions_RowPagination & TableOptions_RowPinning<TFeatures, TData> & TableOptions_RowSelection<TFeatures, TData> & TableOptions_RowSorting>;
37
52
  //#endregion
38
53
  export { DebugOptions, TableOptions, TableOptions_All, TableOptions_Core, TableOptions_Plugins };
@@ -20,7 +20,19 @@ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGro
20
20
  * Note: This will affect the types of all tables in your project.
21
21
  */
22
22
  interface TableState_Plugins<TFeatures extends TableFeatures> {}
23
+ /**
24
+ * Complete table state for a specific feature set.
25
+ *
26
+ * State slices are included only when their feature is present in `TFeatures`,
27
+ * then custom feature/plugin state is mixed in.
28
+ */
23
29
  type TableState<TFeatures extends TableFeatures> = UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableState_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableState_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableState_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableState_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableState_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableState_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableState_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableState_GlobalFiltering : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableState_RowExpanding : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableState_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableState_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableState_RowSelection : never) | ('rowSortingFeature' extends keyof TFeatures ? TableState_RowSorting : never)> & ExtractFeatureTypes<'TableState', TFeatures> & TableState_Plugins<TFeatures>;
30
+ /**
31
+ * Internal broad state shape containing every stock feature state slice.
32
+ *
33
+ * Feature internals use this when they may need to inspect optional slices owned
34
+ * by other features.
35
+ */
24
36
  type TableState_All = Partial<TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting>;
25
37
  //#endregion
26
38
  export { TableState, TableState_All, TableState_Plugins };
@@ -20,7 +20,19 @@ import { TableState_ColumnGrouping } from "../features/column-grouping/columnGro
20
20
  * Note: This will affect the types of all tables in your project.
21
21
  */
22
22
  interface TableState_Plugins<TFeatures extends TableFeatures> {}
23
+ /**
24
+ * Complete table state for a specific feature set.
25
+ *
26
+ * State slices are included only when their feature is present in `TFeatures`,
27
+ * then custom feature/plugin state is mixed in.
28
+ */
23
29
  type TableState<TFeatures extends TableFeatures> = UnionToIntersection<('columnFilteringFeature' extends keyof TFeatures ? TableState_ColumnFiltering : never) | ('columnGroupingFeature' extends keyof TFeatures ? TableState_ColumnGrouping : never) | ('columnOrderingFeature' extends keyof TFeatures ? TableState_ColumnOrdering : never) | ('columnPinningFeature' extends keyof TFeatures ? TableState_ColumnPinning : never) | ('columnResizingFeature' extends keyof TFeatures ? TableState_ColumnResizing : never) | ('columnSizingFeature' extends keyof TFeatures ? TableState_ColumnSizing : never) | ('columnVisibilityFeature' extends keyof TFeatures ? TableState_ColumnVisibility : never) | ('globalFilteringFeature' extends keyof TFeatures ? TableState_GlobalFiltering : never) | ('rowExpandingFeature' extends keyof TFeatures ? TableState_RowExpanding : never) | ('rowPaginationFeature' extends keyof TFeatures ? TableState_RowPagination : never) | ('rowPinningFeature' extends keyof TFeatures ? TableState_RowPinning : never) | ('rowSelectionFeature' extends keyof TFeatures ? TableState_RowSelection : never) | ('rowSortingFeature' extends keyof TFeatures ? TableState_RowSorting : never)> & ExtractFeatureTypes<'TableState', TFeatures> & TableState_Plugins<TFeatures>;
30
+ /**
31
+ * Internal broad state shape containing every stock feature state slice.
32
+ *
33
+ * Feature internals use this when they may need to inspect optional slices owned
34
+ * by other features.
35
+ */
24
36
  type TableState_All = Partial<TableState_ColumnFiltering & TableState_ColumnGrouping & TableState_ColumnOrdering & TableState_ColumnPinning & TableState_ColumnResizing & TableState_ColumnSizing & TableState_ColumnVisibility & TableState_GlobalFiltering & TableState_RowExpanding & TableState_RowPagination & TableState_RowPinning & TableState_RowSelection & TableState_RowSorting>;
25
37
  //#endregion
26
38
  export { TableState, TableState_All, TableState_Plugins };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/table-core",
3
- "version": "9.0.0-alpha.47",
3
+ "version": "9.0.0-alpha.49",
4
4
  "description": "Headless UI for building powerful tables & datagrids for TS/JS.",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -23,7 +23,8 @@
23
23
  "angular",
24
24
  "table",
25
25
  "table-core",
26
- "datagrid"
26
+ "datagrid",
27
+ "tanstack-intent"
27
28
  ],
28
29
  "type": "module",
29
30
  "types": "./dist/index.d.cts",
@@ -58,7 +59,8 @@
58
59
  },
59
60
  "files": [
60
61
  "dist/",
61
- "src"
62
+ "src",
63
+ "skills"
62
64
  ],
63
65
  "dependencies": {
64
66
  "@tanstack/store": "^0.11.0"