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

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 (278) hide show
  1. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  2. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  3. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  4. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  5. package/dist/core/cells/coreCellsFeature.js +12 -20
  6. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  7. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  8. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  9. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  10. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  11. package/dist/core/columns/coreColumnsFeature.js +60 -68
  12. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  13. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  14. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  15. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  16. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  17. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  18. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  19. package/dist/core/headers/coreHeadersFeature.js +45 -53
  20. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  21. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  22. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  23. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  24. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  25. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  26. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  27. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  28. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  29. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -5
  30. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -5
  31. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  32. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  33. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  34. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  35. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  36. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  37. package/dist/core/rows/coreRowsFeature.js +28 -36
  38. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  39. package/dist/core/table/constructTable.cjs +2 -2
  40. package/dist/core/table/constructTable.cjs.map +1 -1
  41. package/dist/core/table/constructTable.js +2 -2
  42. package/dist/core/table/constructTable.js.map +1 -1
  43. package/dist/core/table/coreTablesFeature.cjs +7 -16
  44. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  45. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  46. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  47. package/dist/core/table/coreTablesFeature.js +8 -16
  48. package/dist/core/table/coreTablesFeature.js.map +1 -1
  49. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  50. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  51. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  52. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  53. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  54. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  55. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  56. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  57. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  58. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  59. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  60. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  61. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  62. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  63. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  64. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  65. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  66. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  67. package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
  68. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  69. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +3 -3
  70. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -3
  71. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  72. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +1 -1
  73. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
  74. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  75. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  76. package/dist/features/column-filtering/createFilteredRowModel.d.cts +1 -1
  77. package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
  78. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  79. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  80. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  81. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  82. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  83. package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
  84. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  85. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  86. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  87. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  88. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  89. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  90. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  91. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  92. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  93. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  94. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  95. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  96. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  97. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  98. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  99. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  100. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +12 -12
  101. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +12 -12
  102. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  103. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  104. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  105. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  106. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  107. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  108. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  109. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  110. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  111. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  112. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  113. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  114. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  115. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +3 -3
  116. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +3 -3
  117. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  118. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  119. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  120. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  121. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  122. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  123. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  124. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  125. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  126. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  127. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  128. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  129. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  130. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +4 -2
  131. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +4 -2
  132. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  133. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  134. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  135. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  136. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  137. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  138. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  139. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  140. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  141. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  142. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  143. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  144. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  145. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  146. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  147. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  148. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  149. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  150. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  151. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  152. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  153. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  154. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  155. package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
  156. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  157. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  158. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  159. package/dist/features/row-selection/rowSelectionFeature.js +66 -77
  160. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  161. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  162. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  163. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  164. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  165. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  166. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  167. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  168. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  169. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
  170. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  171. package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
  172. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  173. package/dist/fns/aggregationFns.cjs +18 -18
  174. package/dist/fns/aggregationFns.cjs.map +1 -1
  175. package/dist/fns/aggregationFns.d.cts +21 -19
  176. package/dist/fns/aggregationFns.d.ts +21 -19
  177. package/dist/fns/aggregationFns.js +18 -18
  178. package/dist/fns/aggregationFns.js.map +1 -1
  179. package/dist/fns/filterFns.cjs +51 -65
  180. package/dist/fns/filterFns.cjs.map +1 -1
  181. package/dist/fns/filterFns.d.cts +82 -28
  182. package/dist/fns/filterFns.d.ts +82 -28
  183. package/dist/fns/filterFns.js +51 -65
  184. package/dist/fns/filterFns.js.map +1 -1
  185. package/dist/fns/sortFns.cjs +18 -6
  186. package/dist/fns/sortFns.cjs.map +1 -1
  187. package/dist/fns/sortFns.d.cts +15 -13
  188. package/dist/fns/sortFns.d.ts +15 -13
  189. package/dist/fns/sortFns.js +18 -6
  190. package/dist/fns/sortFns.js.map +1 -1
  191. package/dist/index.cjs +0 -20
  192. package/dist/index.d.cts +34 -34
  193. package/dist/index.d.ts +34 -34
  194. package/dist/index.js +21 -21
  195. package/dist/types/Cell.d.cts +3 -8
  196. package/dist/types/Cell.d.ts +3 -8
  197. package/dist/types/Column.d.cts +3 -8
  198. package/dist/types/Column.d.ts +3 -8
  199. package/dist/types/ColumnDef.d.cts +3 -8
  200. package/dist/types/ColumnDef.d.ts +3 -8
  201. package/dist/types/Header.d.cts +3 -8
  202. package/dist/types/Header.d.ts +3 -8
  203. package/dist/types/HeaderGroup.d.cts +3 -8
  204. package/dist/types/HeaderGroup.d.ts +3 -8
  205. package/dist/types/Row.d.cts +3 -8
  206. package/dist/types/Row.d.ts +3 -8
  207. package/dist/types/RowModel.d.cts +4 -10
  208. package/dist/types/RowModel.d.ts +4 -10
  209. package/dist/types/RowModelFns.d.cts +3 -8
  210. package/dist/types/RowModelFns.d.ts +3 -8
  211. package/dist/types/Table.d.cts +3 -8
  212. package/dist/types/Table.d.ts +3 -8
  213. package/dist/types/TableFeatures.d.cts +13 -39
  214. package/dist/types/TableFeatures.d.ts +13 -39
  215. package/dist/types/TableOptions.d.cts +3 -4
  216. package/dist/types/TableOptions.d.ts +3 -4
  217. package/dist/types/TableState.d.cts +5 -10
  218. package/dist/types/TableState.d.ts +5 -10
  219. package/dist/utils.cjs.map +1 -1
  220. package/dist/utils.d.cts +1 -1
  221. package/dist/utils.d.ts +1 -1
  222. package/dist/utils.js.map +1 -1
  223. package/package.json +1 -1
  224. package/src/core/cells/coreCellsFeature.ts +17 -39
  225. package/src/core/columns/coreColumnsFeature.ts +56 -83
  226. package/src/core/headers/buildHeaderGroups.ts +1 -1
  227. package/src/core/headers/coreHeadersFeature.ts +42 -64
  228. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  229. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  230. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -6
  231. package/src/core/row-models/createCoreRowModel.ts +1 -1
  232. package/src/core/rows/coreRowsFeature.ts +45 -72
  233. package/src/core/table/constructTable.ts +10 -7
  234. package/src/core/table/coreTablesFeature.ts +13 -35
  235. package/src/core/table/coreTablesFeature.utils.ts +1 -1
  236. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  237. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  238. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  239. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  240. package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
  241. package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
  242. package/src/features/column-filtering/columnFilteringFeature.utils.ts +4 -4
  243. package/src/features/column-filtering/createFilteredRowModel.ts +2 -2
  244. package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
  245. package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
  246. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  247. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  248. package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
  249. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  250. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  251. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  252. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  253. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
  254. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  255. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  256. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  257. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  258. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  259. package/src/features/row-selection/rowSelectionFeature.ts +103 -135
  260. package/src/features/row-sorting/createSortedRowModel.ts +1 -1
  261. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  262. package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
  263. package/src/fns/aggregationFns.ts +26 -42
  264. package/src/fns/filterFns.ts +231 -264
  265. package/src/fns/sortFns.ts +51 -29
  266. package/src/types/Cell.ts +3 -19
  267. package/src/types/Column.ts +2 -18
  268. package/src/types/ColumnDef.ts +2 -18
  269. package/src/types/Header.ts +2 -18
  270. package/src/types/HeaderGroup.ts +2 -13
  271. package/src/types/Row.ts +2 -17
  272. package/src/types/RowModel.ts +3 -25
  273. package/src/types/RowModelFns.ts +2 -17
  274. package/src/types/Table.ts +2 -17
  275. package/src/types/TableFeatures.ts +51 -112
  276. package/src/types/TableOptions.ts +1 -12
  277. package/src/types/TableState.ts +4 -30
  278. package/src/utils.ts +5 -4
@@ -20,140 +20,96 @@ import {
20
20
  table_resetGrouping,
21
21
  table_setGrouping,
22
22
  } from './columnGroupingFeature.utils'
23
- import type { RowData } from '../../types/type-utils'
24
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
25
- // import type {
26
- // CachedRowModel_Grouped,
27
- // Cell_ColumnGrouping,
28
- // ColumnDef_ColumnGrouping,
29
- // Column_ColumnGrouping,
30
- // CreateRowModel_Grouped,
31
- // RowModelFns_ColumnGrouping,
32
- // Row_ColumnGrouping,
33
- // TableOptions_ColumnGrouping,
34
- // TableState_ColumnGrouping,
35
- // Table_ColumnGrouping,
36
- // } from './columnGroupingFeature.types'
37
-
38
- export interface ColumnGroupingFeatureConstructors<
39
- TFeatures extends TableFeatures,
40
- TData extends RowData,
41
- > {
42
- // CachedRowModel: CachedRowModel_Grouped<TFeatures, TData>
43
- // Cell: Cell_ColumnGrouping
44
- // Column: Column_ColumnGrouping<TFeatures, TData>
45
- // ColumnDef: ColumnDef_ColumnGrouping<TFeatures, TData>
46
- // CreateRowModels: CreateRowModel_Grouped<TFeatures, TData>
47
- // Row: Row_ColumnGrouping
48
- // RowModelFns: RowModelFns_ColumnGrouping<TFeatures, TData>
49
- // Table: Table_ColumnGrouping<TFeatures, TData>
50
- // TableOptions: TableOptions_ColumnGrouping
51
- // TableState: TableState_ColumnGrouping
52
- }
23
+ import type { TableFeature } from '../../types/TableFeatures'
53
24
 
54
25
  /**
55
- * Creates the stock column grouping feature.
56
- *
57
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
26
+ * Feature that adds column grouping state, aggregation defaults, and grouped row APIs.
58
27
  */
59
- export function constructColumnGroupingFeature<
60
- TFeatures extends TableFeatures,
61
- TData extends RowData,
62
- >(): TableFeature<ColumnGroupingFeatureConstructors<TFeatures, TData>> {
63
- return {
64
- getInitialState: (initialState) => {
65
- return {
66
- grouping: getDefaultGroupingState(),
67
- ...initialState,
68
- }
69
- },
28
+ export const columnGroupingFeature: TableFeature = {
29
+ getInitialState: (initialState) => {
30
+ return {
31
+ grouping: getDefaultGroupingState(),
32
+ ...initialState,
33
+ }
34
+ },
70
35
 
71
- getDefaultColumnDef: () => {
72
- return {
73
- aggregatedCell: ({ getValue }: any) => getValue()?.toString?.() ?? null,
74
- aggregationFn: 'auto',
75
- }
76
- },
36
+ getDefaultColumnDef: () => {
37
+ return {
38
+ aggregatedCell: ({ getValue }: any) => getValue()?.toString?.() ?? null,
39
+ aggregationFn: 'auto',
40
+ }
41
+ },
77
42
 
78
- getDefaultTableOptions: (table) => {
79
- return {
80
- onGroupingChange: makeStateUpdater('grouping', table),
81
- groupedColumnMode: 'reorder',
82
- }
83
- },
43
+ getDefaultTableOptions: (table) => {
44
+ return {
45
+ onGroupingChange: makeStateUpdater('grouping', table),
46
+ groupedColumnMode: 'reorder',
47
+ }
48
+ },
84
49
 
85
- assignCellPrototype: (prototype, table) => {
86
- assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
87
- cell_getIsGrouped: {
88
- fn: (cell) => cell_getIsGrouped(cell),
89
- },
90
- cell_getIsPlaceholder: {
91
- fn: (cell) => cell_getIsPlaceholder(cell),
92
- },
93
- cell_getIsAggregated: {
94
- fn: (cell) => cell_getIsAggregated(cell),
95
- },
96
- })
97
- },
50
+ assignCellPrototype: (prototype, table) => {
51
+ assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
52
+ cell_getIsGrouped: {
53
+ fn: (cell) => cell_getIsGrouped(cell),
54
+ },
55
+ cell_getIsPlaceholder: {
56
+ fn: (cell) => cell_getIsPlaceholder(cell),
57
+ },
58
+ cell_getIsAggregated: {
59
+ fn: (cell) => cell_getIsAggregated(cell),
60
+ },
61
+ })
62
+ },
98
63
 
99
- assignColumnPrototype: (prototype, table) => {
100
- assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
101
- column_toggleGrouping: {
102
- fn: (column) => column_toggleGrouping(column),
103
- },
104
- column_getCanGroup: {
105
- fn: (column) => column_getCanGroup(column),
106
- },
107
- column_getIsGrouped: {
108
- fn: (column) => column_getIsGrouped(column),
109
- },
110
- column_getGroupedIndex: {
111
- fn: (column) => column_getGroupedIndex(column),
112
- },
113
- column_getToggleGroupingHandler: {
114
- fn: (column) => column_getToggleGroupingHandler(column),
115
- },
116
- column_getAutoAggregationFn: {
117
- fn: (column) => column_getAutoAggregationFn(column),
118
- },
119
- column_getAggregationFn: {
120
- fn: (column) => column_getAggregationFn(column),
121
- },
122
- })
123
- },
64
+ assignColumnPrototype: (prototype, table) => {
65
+ assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
66
+ column_toggleGrouping: {
67
+ fn: (column) => column_toggleGrouping(column),
68
+ },
69
+ column_getCanGroup: {
70
+ fn: (column) => column_getCanGroup(column),
71
+ },
72
+ column_getIsGrouped: {
73
+ fn: (column) => column_getIsGrouped(column),
74
+ },
75
+ column_getGroupedIndex: {
76
+ fn: (column) => column_getGroupedIndex(column),
77
+ },
78
+ column_getToggleGroupingHandler: {
79
+ fn: (column) => column_getToggleGroupingHandler(column),
80
+ },
81
+ column_getAutoAggregationFn: {
82
+ fn: (column) => column_getAutoAggregationFn(column),
83
+ },
84
+ column_getAggregationFn: {
85
+ fn: (column) => column_getAggregationFn(column),
86
+ },
87
+ })
88
+ },
124
89
 
125
- assignRowPrototype: (prototype, table) => {
126
- assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
127
- row_getIsGrouped: {
128
- fn: (row) => row_getIsGrouped(row),
129
- },
130
- row_getGroupingValue: {
131
- fn: (row, columnId) => row_getGroupingValue(row, columnId),
132
- },
133
- })
134
- },
90
+ assignRowPrototype: (prototype, table) => {
91
+ assignPrototypeAPIs('columnGroupingFeature', prototype, table, {
92
+ row_getIsGrouped: {
93
+ fn: (row) => row_getIsGrouped(row),
94
+ },
95
+ row_getGroupingValue: {
96
+ fn: (row, columnId) => row_getGroupingValue(row, columnId),
97
+ },
98
+ })
99
+ },
135
100
 
136
- initRowInstanceData: (row) => {
137
- ;(row as any)._groupingValuesCache = {}
138
- },
101
+ initRowInstanceData: (row) => {
102
+ ;(row as any)._groupingValuesCache = {}
103
+ },
139
104
 
140
- constructTableAPIs: (table) => {
141
- assignTableAPIs('columnGroupingFeature', table, {
142
- table_setGrouping: {
143
- fn: (updater) => table_setGrouping(table, updater),
144
- },
145
- table_resetGrouping: {
146
- fn: (defaultState) => table_resetGrouping(table, defaultState),
147
- },
148
- })
149
- },
150
- }
105
+ constructTableAPIs: (table) => {
106
+ assignTableAPIs('columnGroupingFeature', table, {
107
+ table_setGrouping: {
108
+ fn: (updater) => table_setGrouping(table, updater),
109
+ },
110
+ table_resetGrouping: {
111
+ fn: (defaultState) => table_resetGrouping(table, defaultState),
112
+ },
113
+ })
114
+ },
151
115
  }
152
-
153
- /**
154
- * The stock column grouping feature.
155
- *
156
- * Register this feature to add grouping state, aggregation defaults, grouped
157
- * row-model support, and table/row/column/cell grouping APIs.
158
- */
159
- export const columnGroupingFeature = constructColumnGroupingFeature()
@@ -31,7 +31,7 @@ export function createGroupedRowModel<
31
31
  aggregationFns: Record<keyof AggregationFns, AggregationFn<TFeatures, TData>>,
32
32
  ): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
33
33
  return (_table) => {
34
- const table: Table_Internal<TFeatures, TData> = _table
34
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
35
35
  if (!table._rowModelFns.aggregationFns)
36
36
  table._rowModelFns.aggregationFns = aggregationFns
37
37
  return tableMemo({
@@ -12,94 +12,62 @@ import {
12
12
  table_resetColumnOrder,
13
13
  table_setColumnOrder,
14
14
  } from './columnOrderingFeature.utils'
15
- import type { RowData } from '../../types/type-utils'
16
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
17
- // import type {
18
- // Column_ColumnOrdering,
19
- // TableOptions_ColumnOrdering,
20
- // TableState_ColumnOrdering,
21
- // Table_ColumnOrdering,
22
- // } from './columnOrderingFeature.types'
23
-
24
- export interface ColumnOrderingFeatureConstructors<
25
- TFeatures extends TableFeatures,
26
- TData extends RowData,
27
- > {
28
- // Column: Column_ColumnOrdering
29
- // Table: Table_ColumnOrdering<TFeatures, TData>
30
- // TableOptions: TableOptions_ColumnOrdering
31
- // TableState: TableState_ColumnOrdering
32
- }
15
+ import type { TableFeature } from '../../types/TableFeatures'
33
16
 
34
17
  /**
35
- * Creates the stock column ordering feature.
36
- *
37
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
18
+ * Feature that adds column ordering state and APIs for ordering leaf columns.
38
19
  */
39
- export function constructColumnOrderingFeature<
40
- TFeatures extends TableFeatures,
41
- TData extends RowData,
42
- >(): TableFeature<ColumnOrderingFeatureConstructors<TFeatures, TData>> {
43
- return {
44
- getInitialState: (initialState) => {
45
- return {
46
- columnOrder: getDefaultColumnOrderState(),
47
- ...initialState,
48
- }
49
- },
20
+ export const columnOrderingFeature: TableFeature = {
21
+ getInitialState: (initialState) => {
22
+ return {
23
+ columnOrder: getDefaultColumnOrderState(),
24
+ ...initialState,
25
+ }
26
+ },
50
27
 
51
- getDefaultTableOptions: (table) => {
52
- return {
53
- onColumnOrderChange: makeStateUpdater('columnOrder', table),
54
- }
55
- },
28
+ getDefaultTableOptions: (table) => {
29
+ return {
30
+ onColumnOrderChange: makeStateUpdater('columnOrder', table),
31
+ }
32
+ },
56
33
 
57
- assignColumnPrototype: (prototype, table) => {
58
- assignPrototypeAPIs('columnOrderingFeature', prototype, table, {
59
- column_getIndex: {
60
- fn: (column, position) => column_getIndex(column, position),
61
- memoDeps: (column, position) => [
62
- position,
63
- column.table.atoms.columnOrder?.get(),
64
- column.table.atoms.columnPinning?.get(),
65
- column.table.atoms.grouping?.get(),
66
- column.table.atoms.columnVisibility?.get(),
67
- ],
68
- },
69
- column_getIsFirstColumn: {
70
- fn: (column, position) => column_getIsFirstColumn(column, position),
71
- },
72
- column_getIsLastColumn: {
73
- fn: (column, position) => column_getIsLastColumn(column, position),
74
- },
75
- })
76
- },
34
+ assignColumnPrototype: (prototype, table) => {
35
+ assignPrototypeAPIs('columnOrderingFeature', prototype, table, {
36
+ column_getIndex: {
37
+ fn: (column, position) => column_getIndex(column, position),
38
+ memoDeps: (column, position) => [
39
+ position,
40
+ column.table.atoms.columnOrder?.get(),
41
+ column.table.atoms.columnPinning?.get(),
42
+ column.table.atoms.grouping?.get(),
43
+ column.table.atoms.columnVisibility?.get(),
44
+ ],
45
+ },
46
+ column_getIsFirstColumn: {
47
+ fn: (column, position) => column_getIsFirstColumn(column, position),
48
+ },
49
+ column_getIsLastColumn: {
50
+ fn: (column, position) => column_getIsLastColumn(column, position),
51
+ },
52
+ })
53
+ },
77
54
 
78
- constructTableAPIs: (table) => {
79
- assignTableAPIs('columnOrderingFeature', table, {
80
- table_setColumnOrder: {
81
- fn: (updater) => table_setColumnOrder(table, updater),
82
- },
83
- table_resetColumnOrder: {
84
- fn: (defaultState) => table_resetColumnOrder(table, defaultState),
85
- },
86
- table_getOrderColumnsFn: {
87
- fn: () => table_getOrderColumnsFn(table),
88
- memoDeps: () => [
89
- table.atoms.columnOrder?.get(),
90
- table.atoms.grouping?.get(),
91
- table.options.groupedColumnMode,
92
- ],
93
- },
94
- })
95
- },
96
- }
55
+ constructTableAPIs: (table) => {
56
+ assignTableAPIs('columnOrderingFeature', table, {
57
+ table_setColumnOrder: {
58
+ fn: (updater) => table_setColumnOrder(table, updater),
59
+ },
60
+ table_resetColumnOrder: {
61
+ fn: (defaultState) => table_resetColumnOrder(table, defaultState),
62
+ },
63
+ table_getOrderColumnsFn: {
64
+ fn: () => table_getOrderColumnsFn(table),
65
+ memoDeps: () => [
66
+ table.atoms.columnOrder?.get(),
67
+ table.atoms.grouping?.get(),
68
+ table.options.groupedColumnMode,
69
+ ],
70
+ },
71
+ })
72
+ },
97
73
  }
98
-
99
- /**
100
- * The stock column ordering feature.
101
- *
102
- * Register this feature to add column order state and APIs for deriving the
103
- * ordered leaf column list alongside grouping and pinning.
104
- */
105
- export const columnOrderingFeature = constructColumnOrderingFeature()