@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
@@ -4,46 +4,24 @@ import {
4
4
  cell_getValue,
5
5
  cell_renderValue,
6
6
  } from './coreCellsFeature.utils'
7
- import type { RowData } from '../../types/type-utils'
8
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
9
- // import type { Cell_Cell, TableOptions_Cell } from './coreCellsFeature.types'
10
-
11
- export interface CoreCellsFeatureConstructors<
12
- TFeatures extends TableFeatures,
13
- TData extends RowData,
14
- > {
15
- // Cell: Cell_Cell<TableFeatures, RowData>
16
- // TableOptions: TableOptions_Cell
17
- }
7
+ import type { TableFeature } from '../../types/TableFeatures'
18
8
 
19
9
  /**
20
- * Creates the stock core cells feature.
21
- *
22
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ * Core feature that adds cell value, render, and context APIs.
23
11
  */
24
- export function constructCoreCellsFeature<
25
- TFeatures extends TableFeatures,
26
- TData extends RowData,
27
- >(): TableFeature<CoreCellsFeatureConstructors<TFeatures, TData>> {
28
- return {
29
- assignCellPrototype: (prototype, table) => {
30
- assignPrototypeAPIs('coreCellsFeature', prototype, table, {
31
- cell_getValue: {
32
- fn: (cell) => cell_getValue(cell),
33
- },
34
- cell_renderValue: {
35
- fn: (cell) => cell_renderValue(cell),
36
- },
37
- cell_getContext: {
38
- fn: (cell) => cell_getContext(cell),
39
- memoDeps: (cell) => [cell],
40
- },
41
- })
42
- },
43
- }
12
+ export const coreCellsFeature: TableFeature = {
13
+ assignCellPrototype: (prototype, table) => {
14
+ assignPrototypeAPIs('coreCellsFeature', prototype, table, {
15
+ cell_getValue: {
16
+ fn: (cell) => cell_getValue(cell),
17
+ },
18
+ cell_renderValue: {
19
+ fn: (cell) => cell_renderValue(cell),
20
+ },
21
+ cell_getContext: {
22
+ fn: (cell) => cell_getContext(cell),
23
+ memoDeps: (cell) => [cell],
24
+ },
25
+ })
26
+ },
44
27
  }
45
-
46
- /**
47
- * The Core Cells feature provides the core cell functionality.
48
- */
49
- export const coreCellsFeature = constructCoreCellsFeature()
@@ -10,91 +10,64 @@ import {
10
10
  table_getColumn,
11
11
  table_getDefaultColumnDef,
12
12
  } from './coreColumnsFeature.utils'
13
- import type { RowData } from '../../types/type-utils'
14
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
15
- // import type {
16
- // Column_Column,
17
- // TableOptions_Columns,
18
- // Table_Columns,
19
- // } from './coreColumnsFeature.types'
20
-
21
- export interface CoreColumnsFeatureConstructors<
22
- TFeatures extends TableFeatures,
23
- TData extends RowData,
24
- > {
25
- // Column: Column_Column<TFeatures, TData>
26
- // Table: Table_Columns<TFeatures, TData>
27
- // TableOptions: TableOptions_Columns<TFeatures, TData>
28
- }
13
+ import type { TableFeature } from '../../types/TableFeatures'
29
14
 
30
15
  /**
31
- * Creates the stock core columns feature.
32
- *
33
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
16
+ * Core feature that builds the column tree and exposes table/column column APIs.
34
17
  */
35
- export function constructCoreColumnsFeature<
36
- TFeatures extends TableFeatures,
37
- TData extends RowData,
38
- >(): TableFeature<CoreColumnsFeatureConstructors<TFeatures, TData>> {
39
- return {
40
- assignColumnPrototype: (prototype, table) => {
41
- assignPrototypeAPIs('coreColumnsFeature', prototype, table, {
42
- column_getFlatColumns: {
43
- fn: (column) => column_getFlatColumns(column),
44
- memoDeps: (column) => [column.table.options.columns],
45
- },
46
- column_getLeafColumns: {
47
- fn: (column) => column_getLeafColumns(column),
48
- memoDeps: (column) => [
49
- column.table.atoms.columnOrder?.get(),
50
- column.table.atoms.grouping?.get(),
51
- column.table.options.columns,
52
- column.table.options.groupedColumnMode,
53
- ],
54
- },
55
- })
56
- },
18
+ export const coreColumnsFeature: TableFeature = {
19
+ assignColumnPrototype: (prototype, table) => {
20
+ assignPrototypeAPIs('coreColumnsFeature', prototype, table, {
21
+ column_getFlatColumns: {
22
+ fn: (column) => column_getFlatColumns(column),
23
+ memoDeps: (column) => [column.table.options.columns],
24
+ },
25
+ column_getLeafColumns: {
26
+ fn: (column) => column_getLeafColumns(column),
27
+ memoDeps: (column) => [
28
+ column.table.atoms.columnOrder?.get(),
29
+ column.table.atoms.grouping?.get(),
30
+ column.table.options.columns,
31
+ column.table.options.groupedColumnMode,
32
+ ],
33
+ },
34
+ })
35
+ },
57
36
 
58
- constructTableAPIs: (table) => {
59
- assignTableAPIs('coreColumnsFeature', table, {
60
- table_getDefaultColumnDef: {
61
- fn: () => table_getDefaultColumnDef(table),
62
- memoDeps: () => [table.options.defaultColumn],
63
- },
64
- table_getAllColumns: {
65
- fn: () => table_getAllColumns(table),
66
- memoDeps: () => [table.options.columns],
67
- },
68
- table_getAllFlatColumns: {
69
- fn: () => table_getAllFlatColumns(table),
70
- memoDeps: () => [table.options.columns],
71
- },
72
- table_getAllFlatColumnsById: {
73
- fn: () => table_getAllFlatColumnsById(table),
74
- memoDeps: () => [table.options.columns],
75
- },
76
- table_getAllLeafColumns: {
77
- fn: () => table_getAllLeafColumns(table),
78
- memoDeps: () => [
79
- table.atoms.columnOrder?.get(),
80
- table.atoms.grouping?.get(),
81
- table.options.columns,
82
- table.options.groupedColumnMode,
83
- ],
84
- },
85
- table_getAllLeafColumnsById: {
86
- fn: () => table_getAllLeafColumnsById(table),
87
- memoDeps: () => [table.getAllLeafColumns()],
88
- },
89
- table_getColumn: {
90
- fn: (columnId) => table_getColumn(table, columnId),
91
- },
92
- })
93
- },
94
- }
37
+ constructTableAPIs: (table) => {
38
+ assignTableAPIs('coreColumnsFeature', table, {
39
+ table_getDefaultColumnDef: {
40
+ fn: () => table_getDefaultColumnDef(table),
41
+ memoDeps: () => [table.options.defaultColumn],
42
+ },
43
+ table_getAllColumns: {
44
+ fn: () => table_getAllColumns(table),
45
+ memoDeps: () => [table.options.columns],
46
+ },
47
+ table_getAllFlatColumns: {
48
+ fn: () => table_getAllFlatColumns(table),
49
+ memoDeps: () => [table.options.columns],
50
+ },
51
+ table_getAllFlatColumnsById: {
52
+ fn: () => table_getAllFlatColumnsById(table),
53
+ memoDeps: () => [table.options.columns],
54
+ },
55
+ table_getAllLeafColumns: {
56
+ fn: () => table_getAllLeafColumns(table),
57
+ memoDeps: () => [
58
+ table.atoms.columnOrder?.get(),
59
+ table.atoms.grouping?.get(),
60
+ table.options.columns,
61
+ table.options.groupedColumnMode,
62
+ ],
63
+ },
64
+ table_getAllLeafColumnsById: {
65
+ fn: () => table_getAllLeafColumnsById(table),
66
+ memoDeps: () => [table.getAllLeafColumns()],
67
+ },
68
+ table_getColumn: {
69
+ fn: (columnId) => table_getColumn(table, columnId),
70
+ },
71
+ })
72
+ },
95
73
  }
96
-
97
- /**
98
- * The Core Columns feature provides the core column functionality.
99
- */
100
- export const coreColumnsFeature = constructCoreColumnsFeature()
@@ -60,7 +60,7 @@ export function buildHeaderGroups<
60
60
  depth,
61
61
  id: [headerFamily, `${depth}`].filter(Boolean).join('_'),
62
62
  headers: [],
63
- } as any
63
+ }
64
64
 
65
65
  // The parent columns we're going to scan next
66
66
  const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []
@@ -7,72 +7,50 @@ import {
7
7
  table_getHeaderGroups,
8
8
  table_getLeafHeaders,
9
9
  } from './coreHeadersFeature.utils'
10
- import type { RowData } from '../../types/type-utils'
11
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
12
- // import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'
13
-
14
- export interface CoreHeadersFeatureConstructors<
15
- TFeatures extends TableFeatures,
16
- TData extends RowData,
17
- > {
18
- // Header: Header_Header<TFeatures, TData>
19
- // Table: Table_Headers<TFeatures, TData>
20
- }
10
+ import type { TableFeature } from '../../types/TableFeatures'
21
11
 
22
12
  /**
23
- * Creates the stock core headers feature.
24
- *
25
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
13
+ * Core feature that builds header groups and exposes header context APIs.
26
14
  */
27
- export function constructCoreHeadersFeature<
28
- TFeatures extends TableFeatures,
29
- TData extends RowData,
30
- >(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {
31
- return {
32
- assignHeaderPrototype: (prototype, table) => {
33
- assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
34
- header_getLeafHeaders: {
35
- fn: (header) => header_getLeafHeaders(header),
36
- memoDeps: (header) => [header.column.table.options.columns],
37
- },
38
- header_getContext: {
39
- fn: (header) => header_getContext(header),
40
- memoDeps: (header) => [header.column.table.options.columns],
41
- },
42
- })
43
- },
15
+ export const coreHeadersFeature: TableFeature = {
16
+ assignHeaderPrototype: (prototype, table) => {
17
+ assignPrototypeAPIs('coreHeadersFeature', prototype, table, {
18
+ header_getLeafHeaders: {
19
+ fn: (header) => header_getLeafHeaders(header),
20
+ memoDeps: (header) => [header.column.table.options.columns],
21
+ },
22
+ header_getContext: {
23
+ fn: (header) => header_getContext(header),
24
+ memoDeps: (header) => [header.column.table.options.columns],
25
+ },
26
+ })
27
+ },
44
28
 
45
- constructTableAPIs: (table) => {
46
- assignTableAPIs('coreHeadersFeature', table, {
47
- table_getHeaderGroups: {
48
- fn: () => table_getHeaderGroups(table),
49
- memoDeps: () => [
50
- table.options.columns,
51
- table.atoms.columnOrder?.get(),
52
- table.atoms.grouping?.get(),
53
- table.atoms.columnPinning?.get(),
54
- table.atoms.columnVisibility?.get(),
55
- table.options.groupedColumnMode,
56
- ],
57
- },
58
- table_getFooterGroups: {
59
- fn: () => table_getFooterGroups(table),
60
- memoDeps: () => [table.getHeaderGroups()],
61
- },
62
- table_getFlatHeaders: {
63
- fn: () => table_getFlatHeaders(table),
64
- memoDeps: () => [table.getHeaderGroups()],
65
- },
66
- table_getLeafHeaders: {
67
- fn: () => table_getLeafHeaders(table),
68
- memoDeps: () => [table.getHeaderGroups()],
69
- },
70
- })
71
- },
72
- }
29
+ constructTableAPIs: (table) => {
30
+ assignTableAPIs('coreHeadersFeature', table, {
31
+ table_getHeaderGroups: {
32
+ fn: () => table_getHeaderGroups(table),
33
+ memoDeps: () => [
34
+ table.options.columns,
35
+ table.atoms.columnOrder?.get(),
36
+ table.atoms.grouping?.get(),
37
+ table.atoms.columnPinning?.get(),
38
+ table.atoms.columnVisibility?.get(),
39
+ table.options.groupedColumnMode,
40
+ ],
41
+ },
42
+ table_getFooterGroups: {
43
+ fn: () => table_getFooterGroups(table),
44
+ memoDeps: () => [table.getHeaderGroups()],
45
+ },
46
+ table_getFlatHeaders: {
47
+ fn: () => table_getFlatHeaders(table),
48
+ memoDeps: () => [table.getHeaderGroups()],
49
+ },
50
+ table_getLeafHeaders: {
51
+ fn: () => table_getLeafHeaders(table),
52
+ memoDeps: () => [table.getHeaderGroups()],
53
+ },
54
+ })
55
+ },
73
56
  }
74
-
75
- /**
76
- * The Core Headers feature provides the core header functionality.
77
- */
78
- export const coreHeadersFeature = constructCoreHeadersFeature()
@@ -86,7 +86,7 @@ export function table_getHeaderGroups<
86
86
  table,
87
87
  'getVisibleLeafColumns',
88
88
  table_getVisibleLeafColumns,
89
- ) as Array<Column<TFeatures, TData, unknown>>
89
+ )
90
90
 
91
91
  // Fast path: no columns are pinned — skip per-side lookups, partition, and spread.
92
92
  if (!left.length && !right.length) {
@@ -13,71 +13,50 @@ import {
13
13
  table_getRowModel,
14
14
  table_getSortedRowModel,
15
15
  } from './coreRowModelsFeature.utils'
16
- import type { RowData } from '../../types/type-utils'
17
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
18
- // import type { Table_RowModels } from './coreRowModelsFeature.types'
19
-
20
- export interface CoreRowModelsFeatureConstructors<
21
- TFeatures extends TableFeatures,
22
- TData extends RowData,
23
- > {
24
- // Table: Table_RowModels<TFeatures, TData>
25
- }
16
+ import type { TableFeature } from '../../types/TableFeatures'
26
17
 
27
18
  /**
28
- * Creates the stock core row models feature.
29
- *
30
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
19
+ * Core feature that wires table row-model accessors and row-model caches.
31
20
  */
32
- export function constructCoreRowModelsFeature<
33
- TFeatures extends TableFeatures,
34
- TData extends RowData,
35
- >(): TableFeature<CoreRowModelsFeatureConstructors<TFeatures, TData>> {
36
- return {
37
- constructTableAPIs: (table) => {
38
- assignTableAPIs('coreRowModelsFeature', table, {
39
- table_getCoreRowModel: {
40
- fn: () => table_getCoreRowModel(table),
41
- },
42
- table_getPreFilteredRowModel: {
43
- fn: () => table_getPreFilteredRowModel(table),
44
- },
45
- table_getFilteredRowModel: {
46
- fn: () => table_getFilteredRowModel(table),
47
- },
48
- table_getPreGroupedRowModel: {
49
- fn: () => table_getPreGroupedRowModel(table),
50
- },
51
- table_getGroupedRowModel: {
52
- fn: () => table_getGroupedRowModel(table),
53
- },
54
- table_getPreSortedRowModel: {
55
- fn: () => table_getPreSortedRowModel(table),
56
- },
57
- table_getSortedRowModel: {
58
- fn: () => table_getSortedRowModel(table),
59
- },
60
- table_getPreExpandedRowModel: {
61
- fn: () => table_getPreExpandedRowModel(table),
62
- },
63
- table_getExpandedRowModel: {
64
- fn: () => table_getExpandedRowModel(table),
65
- },
66
- table_getPrePaginatedRowModel: {
67
- fn: () => table_getPrePaginatedRowModel(table),
68
- },
69
- table_getPaginatedRowModel: {
70
- fn: () => table_getPaginatedRowModel(table),
71
- },
72
- table_getRowModel: {
73
- fn: () => table_getRowModel(table),
74
- },
75
- })
76
- },
77
- }
21
+ export const coreRowModelsFeature: TableFeature = {
22
+ constructTableAPIs: (table) => {
23
+ assignTableAPIs('coreRowModelsFeature', table, {
24
+ table_getCoreRowModel: {
25
+ fn: () => table_getCoreRowModel(table),
26
+ },
27
+ table_getPreFilteredRowModel: {
28
+ fn: () => table_getPreFilteredRowModel(table),
29
+ },
30
+ table_getFilteredRowModel: {
31
+ fn: () => table_getFilteredRowModel(table),
32
+ },
33
+ table_getPreGroupedRowModel: {
34
+ fn: () => table_getPreGroupedRowModel(table),
35
+ },
36
+ table_getGroupedRowModel: {
37
+ fn: () => table_getGroupedRowModel(table),
38
+ },
39
+ table_getPreSortedRowModel: {
40
+ fn: () => table_getPreSortedRowModel(table),
41
+ },
42
+ table_getSortedRowModel: {
43
+ fn: () => table_getSortedRowModel(table),
44
+ },
45
+ table_getPreExpandedRowModel: {
46
+ fn: () => table_getPreExpandedRowModel(table),
47
+ },
48
+ table_getExpandedRowModel: {
49
+ fn: () => table_getExpandedRowModel(table),
50
+ },
51
+ table_getPrePaginatedRowModel: {
52
+ fn: () => table_getPrePaginatedRowModel(table),
53
+ },
54
+ table_getPaginatedRowModel: {
55
+ fn: () => table_getPaginatedRowModel(table),
56
+ },
57
+ table_getRowModel: {
58
+ fn: () => table_getRowModel(table),
59
+ },
60
+ })
61
+ },
78
62
  }
79
-
80
- /**
81
- * The Core Row Models feature provides the core row model functionality.
82
- */
83
- export const coreRowModelsFeature = constructCoreRowModelsFeature()
@@ -18,12 +18,10 @@ export interface RowModel<
18
18
  rowsById: Record<string, Row<TFeatures, TData>>
19
19
  }
20
20
 
21
- export interface CreateRowModel_Plugins {}
22
-
23
21
  export interface CreateRowModel_Core<
24
22
  TFeatures extends TableFeatures,
25
23
  TData extends RowData,
26
- > extends CreateRowModel_Plugins {
24
+ > {
27
25
  /**
28
26
  * Optional factory for the core row model. When omitted, the built-in
29
27
  * `createCoreRowModel()` factory is used.
@@ -33,12 +31,10 @@ export interface CreateRowModel_Core<
33
31
  ) => () => RowModel<TFeatures, TData>
34
32
  }
35
33
 
36
- export interface CachedRowModel_Plugins {}
37
-
38
34
  export interface CachedRowModel_Core<
39
35
  TFeatures extends TableFeatures,
40
36
  TData extends RowData,
41
- > extends CachedRowModel_Plugins {
37
+ > {
42
38
  coreRowModel: () => RowModel<TFeatures, TData>
43
39
  }
44
40
 
@@ -17,7 +17,7 @@ export function createCoreRowModel<
17
17
  TData extends RowData,
18
18
  >(): (table: Table<TFeatures, TData>) => () => RowModel<TFeatures, TData> {
19
19
  return (_table) => {
20
- const table: Table_Internal<TFeatures, TData> = _table
20
+ const table = _table as unknown as Table_Internal<TFeatures, TData>
21
21
  return tableMemo({
22
22
  feature: 'coreRowModelsFeature',
23
23
  table,
@@ -11,79 +11,52 @@ import {
11
11
  table_getRow,
12
12
  table_getRowId,
13
13
  } from './coreRowsFeature.utils'
14
- import type { RowData } from '../../types/type-utils'
15
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16
- // import type {
17
- // Row_Row,
18
- // TableOptions_Rows,
19
- // Table_Rows,
20
- // } from './coreRowsFeature.types'
21
-
22
- export interface CoreRowsFeatureConstructors<
23
- TFeatures extends TableFeatures,
24
- TData extends RowData,
25
- > {
26
- // Row: Row_Row<TFeatures, TData>
27
- // TableOptions: TableOptions_Rows<TFeatures, TData>
28
- // Table: Table_Rows<TFeatures, TData>
29
- }
14
+ import type { TableFeature } from '../../types/TableFeatures'
30
15
 
31
16
  /**
32
- * Creates the stock core rows feature.
33
- *
34
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
17
+ * Core feature that creates row APIs for values, cells, and tree traversal.
35
18
  */
36
- export function constructCoreRowsFeature<
37
- TFeatures extends TableFeatures,
38
- TData extends RowData,
39
- >(): TableFeature<CoreRowsFeatureConstructors<TFeatures, TData>> {
40
- return {
41
- assignRowPrototype: (prototype, table) => {
42
- assignPrototypeAPIs('coreRowsFeature', prototype, table, {
43
- row_getAllCellsByColumnId: {
44
- fn: (row) => row_getAllCellsByColumnId(row),
45
- memoDeps: (row) => [row.getAllCells()],
46
- },
47
- row_getAllCells: {
48
- fn: (row) => row_getAllCells(row),
49
- memoDeps: (row) => [row.table.getAllLeafColumns()],
50
- },
51
- row_getLeafRows: {
52
- fn: (row) => row_getLeafRows(row),
53
- },
54
- row_getParentRow: {
55
- fn: (row) => row_getParentRow(row),
56
- },
57
- row_getParentRows: {
58
- fn: (row) => row_getParentRows(row),
59
- },
60
- row_getUniqueValues: {
61
- fn: (row, columnId) => row_getUniqueValues(row, columnId),
62
- },
63
- row_getValue: {
64
- fn: (row, columnId) => row_getValue(row, columnId),
65
- },
66
- row_renderValue: {
67
- fn: (row, columnId) => row_renderValue(row, columnId),
68
- },
69
- })
70
- },
71
- constructTableAPIs: (table) => {
72
- assignTableAPIs('coreRowsFeature', table, {
73
- table_getRowId: {
74
- fn: (originalRow, index, parent) =>
75
- table_getRowId(originalRow, table, index, parent),
76
- },
77
- table_getRow: {
78
- fn: (id: string, searchAll?: boolean) =>
79
- table_getRow(table, id, searchAll),
80
- },
81
- })
82
- },
83
- }
19
+ export const coreRowsFeature: TableFeature = {
20
+ assignRowPrototype: (prototype, table) => {
21
+ assignPrototypeAPIs('coreRowsFeature', prototype, table, {
22
+ row_getAllCellsByColumnId: {
23
+ fn: (row) => row_getAllCellsByColumnId(row),
24
+ memoDeps: (row) => [row.getAllCells()],
25
+ },
26
+ row_getAllCells: {
27
+ fn: (row) => row_getAllCells(row),
28
+ memoDeps: (row) => [row.table.getAllLeafColumns()],
29
+ },
30
+ row_getLeafRows: {
31
+ fn: (row) => row_getLeafRows(row),
32
+ },
33
+ row_getParentRow: {
34
+ fn: (row) => row_getParentRow(row),
35
+ },
36
+ row_getParentRows: {
37
+ fn: (row) => row_getParentRows(row),
38
+ },
39
+ row_getUniqueValues: {
40
+ fn: (row, columnId) => row_getUniqueValues(row, columnId),
41
+ },
42
+ row_getValue: {
43
+ fn: (row, columnId) => row_getValue(row, columnId),
44
+ },
45
+ row_renderValue: {
46
+ fn: (row, columnId) => row_renderValue(row, columnId),
47
+ },
48
+ })
49
+ },
50
+ constructTableAPIs: (table) => {
51
+ assignTableAPIs('coreRowsFeature', table, {
52
+ table_getRowId: {
53
+ fn: (originalRow, index, parent) =>
54
+ table_getRowId(originalRow, table, index, parent),
55
+ },
56
+ table_getRow: {
57
+ fn: (id: string, searchAll?: boolean) =>
58
+ table_getRow(table, id, searchAll),
59
+ },
60
+ })
61
+ },
84
62
  }
85
-
86
- /**
87
- * The Core Rows feature provides the core row functionality.
88
- */
89
- export const coreRowsFeature = constructCoreRowsFeature()