@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
@@ -6,31 +6,34 @@ import { Table_Internal } from "../../types/Table.cjs";
6
6
 
7
7
  //#region src/features/row-sorting/rowSortingFeature.utils.d.ts
8
8
  /**
9
- * Returns the default sorting state.
9
+ * Creates the default sorting state.
10
10
  *
11
- * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
11
+ * The feature default is an empty array, meaning no columns are sorted. Reset
12
+ * APIs use this value when `defaultState` is `true`.
12
13
  *
13
14
  * @example
14
15
  * ```ts
15
- * const initialValue = getDefaultSortingState()
16
+ * const sorting = getDefaultSortingState()
16
17
  * ```
17
18
  */
18
19
  declare function getDefaultSortingState(): SortingState;
19
20
  /**
20
- * Updates the table's sorting state slice.
21
+ * Routes a sorting updater through the table's sorting change handler.
21
22
  *
22
- * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
23
+ * The updater may be a next `SortingState` array or a function of the previous
24
+ * sorting state, matching the instance `table.setSorting` behavior.
23
25
  *
24
26
  * @example
25
27
  * ```ts
26
- * table_setSorting(table, (old) => old)
28
+ * table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])
27
29
  * ```
28
30
  */
29
31
  declare function table_setSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<SortingState>): void;
30
32
  /**
31
- * Resets the table's sorting state slice.
33
+ * Resets `sorting` to the configured initial state or feature default.
32
34
  *
33
- * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
35
+ * With no argument, the reset clones `table.initialState.sorting` when it
36
+ * exists. Passing `true` ignores initial state and resets to `[]`.
34
37
  *
35
38
  * @example
36
39
  * ```ts
@@ -40,134 +43,148 @@ declare function table_setSorting<TFeatures extends TableFeatures, TData extends
40
43
  */
41
44
  declare function table_resetSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
42
45
  /**
43
- * Infers sort fn for a column.
46
+ * Chooses a built-in sorting function from sampled filtered row values.
44
47
  *
45
- * The inference uses the column definition, table options, and sampled row values when needed.
48
+ * Date-like values use `datetime`, mixed text/numeric strings use
49
+ * `alphanumeric`, plain strings use `text`, and unknown values fall back to
50
+ * `basic`.
46
51
  *
47
52
  * @example
48
53
  * ```ts
49
- * const value = column_getAutoSortFn(column)
54
+ * const sortFn = column_getAutoSortFn(column)
50
55
  * ```
51
56
  */
52
57
  declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
53
58
  /**
54
- * Infers sort dir for a column.
59
+ * Chooses the default first sort direction from the first filtered row value.
55
60
  *
56
- * The inference uses the column definition, table options, and sampled row values when needed.
61
+ * String columns start ascending so alphabetical order is natural; other value
62
+ * types start descending.
57
63
  *
58
64
  * @example
59
65
  * ```ts
60
- * const value = column_getAutoSortDir(column)
66
+ * const direction = column_getAutoSortDir(column)
61
67
  * ```
62
68
  */
63
69
  declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): "asc" | "desc";
64
70
  /**
65
- * Returns sort fn for a column.
71
+ * Resolves the sorting function configured for a column.
66
72
  *
67
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
73
+ * Function-valued `columnDef.sortFn` is returned directly, `'auto'` delegates
74
+ * to `column_getAutoSortFn`, and string values are looked up in the table's
75
+ * sorting function registry before falling back to `basic`.
68
76
  *
69
77
  * @example
70
78
  * ```ts
71
- * const value = column_getSortFn(column)
79
+ * const sortFn = column_getSortFn(column)
72
80
  * ```
73
81
  */
74
82
  declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
75
83
  /**
76
- * Toggles sorting for a column.
84
+ * Applies the next sorting state for this column.
77
85
  *
78
- * The update is applied through the owning table state slice and respects the feature options for that column.
86
+ * The toggle can add, replace, flip, or remove this column's sort entry. Multi
87
+ * sorting respects `enableMultiSort`, `maxMultiSortColCount`, and the `multi`
88
+ * argument.
79
89
  *
80
90
  * @example
81
91
  * ```ts
82
- * column_toggleSorting(column)
92
+ * column_toggleSorting(column, undefined, true)
83
93
  * ```
84
94
  */
85
95
  declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, desc?: boolean, multi?: boolean): void;
86
96
  /**
87
- * Returns first sort dir for a column.
97
+ * Resolves the first direction used when this column begins sorting.
88
98
  *
89
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
99
+ * Column-level `sortDescFirst` wins, then table-level `sortDescFirst`, then the
100
+ * auto direction inferred from sampled values.
90
101
  *
91
102
  * @example
92
103
  * ```ts
93
- * const value = column_getFirstSortDir(column)
104
+ * const firstDirection = column_getFirstSortDir(column)
94
105
  * ```
95
106
  */
96
107
  declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): "asc" | "desc";
97
108
  /**
98
- * Returns next sorting order for a column.
109
+ * Resolves the next sort order for this column's toggle cycle.
99
110
  *
100
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
111
+ * The cycle starts with the first sort direction, flips between `asc` and
112
+ * `desc`, and can return `false` when sorting removal is enabled.
101
113
  *
102
114
  * @example
103
115
  * ```ts
104
- * const value = column_getNextSortingOrder(column)
116
+ * const nextOrder = column_getNextSortingOrder(column)
105
117
  * ```
106
118
  */
107
119
  declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, multi?: boolean): false | "asc" | "desc";
108
120
  /**
109
- * Returns whether a column can use sort.
121
+ * Checks whether this accessor column can participate in sorting.
110
122
  *
111
- * This combines column options, table options, and any required accessor or feature state for the capability.
123
+ * The column must have an accessor and sorting must be enabled by both the
124
+ * column definition and table options.
112
125
  *
113
126
  * @example
114
127
  * ```ts
115
- * const value = column_getCanSort(column)
128
+ * const canSort = column_getCanSort(column)
116
129
  * ```
117
130
  */
118
131
  declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
119
132
  /**
120
- * Returns whether a column can use multi sort.
133
+ * Checks whether this column can be added to a multi-sort state.
121
134
  *
122
- * This combines column options, table options, and any required accessor or feature state for the capability.
135
+ * Column-level `enableMultiSort` wins over table-level `enableMultiSort`; if
136
+ * neither is set, accessor columns can multi-sort by default.
123
137
  *
124
138
  * @example
125
139
  * ```ts
126
- * const value = column_getCanMultiSort(column)
140
+ * const canMultiSort = column_getCanMultiSort(column)
127
141
  * ```
128
142
  */
129
143
  declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
130
144
  /**
131
- * Returns is sorted for a column.
145
+ * Reads this column's current sort direction.
132
146
  *
133
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
147
+ * The result is `false` when the column is not sorted, otherwise `'asc'` or
148
+ * `'desc'` based on the column's entry in `state.sorting`.
134
149
  *
135
150
  * @example
136
151
  * ```ts
137
- * const value = column_getIsSorted(column)
152
+ * const direction = column_getIsSorted(column)
138
153
  * ```
139
154
  */
140
155
  declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): false | SortDirection;
141
156
  /**
142
- * Returns sort index for a column.
157
+ * Finds this column's position in the ordered `state.sorting` array.
143
158
  *
144
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
159
+ * The result is `-1` when the column is not sorted.
145
160
  *
146
161
  * @example
147
162
  * ```ts
148
- * const value = column_getSortIndex(column)
163
+ * const index = column_getSortIndex(column)
149
164
  * ```
150
165
  */
151
166
  declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
152
167
  /**
153
- * Clear Sorting. for a column.
168
+ * Removes this column from the sorting state.
154
169
  *
155
- * This is the static implementation behind the matching column instance API.
170
+ * Other sorted columns are preserved, including their relative order.
156
171
  *
157
172
  * @example
158
173
  * ```ts
159
- * const value = column_clearSorting(column)
174
+ * column_clearSorting(column)
160
175
  * ```
161
176
  */
162
177
  declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
163
178
  /**
164
- * Returns an event handler for toggling sorting handler.
179
+ * Creates a header event handler that toggles this column's sorting.
165
180
  *
166
- * The handler is intended for direct use in column header controls such as buttons or checkboxes.
181
+ * The handler ignores events when the column cannot sort, persists React-style
182
+ * synthetic events when present, and asks `options.isMultiSortEvent` whether
183
+ * the event should add to a multi-sort.
167
184
  *
168
185
  * @example
169
186
  * ```ts
170
- * const value = column_getToggleSortingHandler(column)
187
+ * const onClick = column_getToggleSortingHandler(column)
171
188
  * ```
172
189
  */
173
190
  declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): (e: unknown) => void;
@@ -6,31 +6,34 @@ import { Table_Internal } from "../../types/Table.js";
6
6
 
7
7
  //#region src/features/row-sorting/rowSortingFeature.utils.d.ts
8
8
  /**
9
- * Returns the default sorting state.
9
+ * Creates the default sorting state.
10
10
  *
11
- * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
11
+ * The feature default is an empty array, meaning no columns are sorted. Reset
12
+ * APIs use this value when `defaultState` is `true`.
12
13
  *
13
14
  * @example
14
15
  * ```ts
15
- * const initialValue = getDefaultSortingState()
16
+ * const sorting = getDefaultSortingState()
16
17
  * ```
17
18
  */
18
19
  declare function getDefaultSortingState(): SortingState;
19
20
  /**
20
- * Updates the table's sorting state slice.
21
+ * Routes a sorting updater through the table's sorting change handler.
21
22
  *
22
- * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
23
+ * The updater may be a next `SortingState` array or a function of the previous
24
+ * sorting state, matching the instance `table.setSorting` behavior.
23
25
  *
24
26
  * @example
25
27
  * ```ts
26
- * table_setSorting(table, (old) => old)
28
+ * table_setSorting(table, (old) => [...old, { id: 'age', desc: true }])
27
29
  * ```
28
30
  */
29
31
  declare function table_setSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, updater: Updater<SortingState>): void;
30
32
  /**
31
- * Resets the table's sorting state slice.
33
+ * Resets `sorting` to the configured initial state or feature default.
32
34
  *
33
- * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
35
+ * With no argument, the reset clones `table.initialState.sorting` when it
36
+ * exists. Passing `true` ignores initial state and resets to `[]`.
34
37
  *
35
38
  * @example
36
39
  * ```ts
@@ -40,134 +43,148 @@ declare function table_setSorting<TFeatures extends TableFeatures, TData extends
40
43
  */
41
44
  declare function table_resetSorting<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>, defaultState?: boolean): void;
42
45
  /**
43
- * Infers sort fn for a column.
46
+ * Chooses a built-in sorting function from sampled filtered row values.
44
47
  *
45
- * The inference uses the column definition, table options, and sampled row values when needed.
48
+ * Date-like values use `datetime`, mixed text/numeric strings use
49
+ * `alphanumeric`, plain strings use `text`, and unknown values fall back to
50
+ * `basic`.
46
51
  *
47
52
  * @example
48
53
  * ```ts
49
- * const value = column_getAutoSortFn(column)
54
+ * const sortFn = column_getAutoSortFn(column)
50
55
  * ```
51
56
  */
52
57
  declare function column_getAutoSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
53
58
  /**
54
- * Infers sort dir for a column.
59
+ * Chooses the default first sort direction from the first filtered row value.
55
60
  *
56
- * The inference uses the column definition, table options, and sampled row values when needed.
61
+ * String columns start ascending so alphabetical order is natural; other value
62
+ * types start descending.
57
63
  *
58
64
  * @example
59
65
  * ```ts
60
- * const value = column_getAutoSortDir(column)
66
+ * const direction = column_getAutoSortDir(column)
61
67
  * ```
62
68
  */
63
69
  declare function column_getAutoSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): "asc" | "desc";
64
70
  /**
65
- * Returns sort fn for a column.
71
+ * Resolves the sorting function configured for a column.
66
72
  *
67
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
73
+ * Function-valued `columnDef.sortFn` is returned directly, `'auto'` delegates
74
+ * to `column_getAutoSortFn`, and string values are looked up in the table's
75
+ * sorting function registry before falling back to `basic`.
68
76
  *
69
77
  * @example
70
78
  * ```ts
71
- * const value = column_getSortFn(column)
79
+ * const sortFn = column_getSortFn(column)
72
80
  * ```
73
81
  */
74
82
  declare function column_getSortFn<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): SortFn<TFeatures, TData>;
75
83
  /**
76
- * Toggles sorting for a column.
84
+ * Applies the next sorting state for this column.
77
85
  *
78
- * The update is applied through the owning table state slice and respects the feature options for that column.
86
+ * The toggle can add, replace, flip, or remove this column's sort entry. Multi
87
+ * sorting respects `enableMultiSort`, `maxMultiSortColCount`, and the `multi`
88
+ * argument.
79
89
  *
80
90
  * @example
81
91
  * ```ts
82
- * column_toggleSorting(column)
92
+ * column_toggleSorting(column, undefined, true)
83
93
  * ```
84
94
  */
85
95
  declare function column_toggleSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, desc?: boolean, multi?: boolean): void;
86
96
  /**
87
- * Returns first sort dir for a column.
97
+ * Resolves the first direction used when this column begins sorting.
88
98
  *
89
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
99
+ * Column-level `sortDescFirst` wins, then table-level `sortDescFirst`, then the
100
+ * auto direction inferred from sampled values.
90
101
  *
91
102
  * @example
92
103
  * ```ts
93
- * const value = column_getFirstSortDir(column)
104
+ * const firstDirection = column_getFirstSortDir(column)
94
105
  * ```
95
106
  */
96
107
  declare function column_getFirstSortDir<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): "asc" | "desc";
97
108
  /**
98
- * Returns next sorting order for a column.
109
+ * Resolves the next sort order for this column's toggle cycle.
99
110
  *
100
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
111
+ * The cycle starts with the first sort direction, flips between `asc` and
112
+ * `desc`, and can return `false` when sorting removal is enabled.
101
113
  *
102
114
  * @example
103
115
  * ```ts
104
- * const value = column_getNextSortingOrder(column)
116
+ * const nextOrder = column_getNextSortingOrder(column)
105
117
  * ```
106
118
  */
107
119
  declare function column_getNextSortingOrder<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>, multi?: boolean): false | "asc" | "desc";
108
120
  /**
109
- * Returns whether a column can use sort.
121
+ * Checks whether this accessor column can participate in sorting.
110
122
  *
111
- * This combines column options, table options, and any required accessor or feature state for the capability.
123
+ * The column must have an accessor and sorting must be enabled by both the
124
+ * column definition and table options.
112
125
  *
113
126
  * @example
114
127
  * ```ts
115
- * const value = column_getCanSort(column)
128
+ * const canSort = column_getCanSort(column)
116
129
  * ```
117
130
  */
118
131
  declare function column_getCanSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
119
132
  /**
120
- * Returns whether a column can use multi sort.
133
+ * Checks whether this column can be added to a multi-sort state.
121
134
  *
122
- * This combines column options, table options, and any required accessor or feature state for the capability.
135
+ * Column-level `enableMultiSort` wins over table-level `enableMultiSort`; if
136
+ * neither is set, accessor columns can multi-sort by default.
123
137
  *
124
138
  * @example
125
139
  * ```ts
126
- * const value = column_getCanMultiSort(column)
140
+ * const canMultiSort = column_getCanMultiSort(column)
127
141
  * ```
128
142
  */
129
143
  declare function column_getCanMultiSort<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): boolean;
130
144
  /**
131
- * Returns is sorted for a column.
145
+ * Reads this column's current sort direction.
132
146
  *
133
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
147
+ * The result is `false` when the column is not sorted, otherwise `'asc'` or
148
+ * `'desc'` based on the column's entry in `state.sorting`.
134
149
  *
135
150
  * @example
136
151
  * ```ts
137
- * const value = column_getIsSorted(column)
152
+ * const direction = column_getIsSorted(column)
138
153
  * ```
139
154
  */
140
155
  declare function column_getIsSorted<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): false | SortDirection;
141
156
  /**
142
- * Returns sort index for a column.
157
+ * Finds this column's position in the ordered `state.sorting` array.
143
158
  *
144
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
159
+ * The result is `-1` when the column is not sorted.
145
160
  *
146
161
  * @example
147
162
  * ```ts
148
- * const value = column_getSortIndex(column)
163
+ * const index = column_getSortIndex(column)
149
164
  * ```
150
165
  */
151
166
  declare function column_getSortIndex<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): number;
152
167
  /**
153
- * Clear Sorting. for a column.
168
+ * Removes this column from the sorting state.
154
169
  *
155
- * This is the static implementation behind the matching column instance API.
170
+ * Other sorted columns are preserved, including their relative order.
156
171
  *
157
172
  * @example
158
173
  * ```ts
159
- * const value = column_clearSorting(column)
174
+ * column_clearSorting(column)
160
175
  * ```
161
176
  */
162
177
  declare function column_clearSorting<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): void;
163
178
  /**
164
- * Returns an event handler for toggling sorting handler.
179
+ * Creates a header event handler that toggles this column's sorting.
165
180
  *
166
- * The handler is intended for direct use in column header controls such as buttons or checkboxes.
181
+ * The handler ignores events when the column cannot sort, persists React-style
182
+ * synthetic events when present, and asks `options.isMultiSortEvent` whether
183
+ * the event should add to a multi-sort.
167
184
  *
168
185
  * @example
169
186
  * ```ts
170
- * const value = column_getToggleSortingHandler(column)
187
+ * const onClick = column_getToggleSortingHandler(column)
171
188
  * ```
172
189
  */
173
190
  declare function column_getToggleSortingHandler<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(column: Column_Internal<TFeatures, TData, TValue>): (e: unknown) => void;