@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
@@ -11,89 +11,55 @@ import {
11
11
  table_resetHeaderSizeInfo,
12
12
  table_setColumnResizing,
13
13
  } from './columnResizingFeature.utils'
14
- import type { RowData } from '../../types/type-utils'
15
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16
- // import type {
17
- // Column_ColumnResizing,
18
- // Header_ColumnResizing,
19
- // TableOptions_ColumnResizing,
20
- // TableState_ColumnResizing,
21
- // Table_ColumnResizing,
22
- // } from './columnResizingFeature.types'
23
-
24
- export interface ColumnResizingFeatureConstructors<
25
- TFeatures extends TableFeatures,
26
- TData extends RowData,
27
- > {
28
- // Column: Column_ColumnResizing
29
- // Header: Header_ColumnResizing
30
- // Table: Table_ColumnResizing
31
- // TableOptions: TableOptions_ColumnResizing
32
- // TableState: TableState_ColumnResizing
33
- }
14
+ import type { TableFeature } from '../../types/TableFeatures'
34
15
 
35
16
  /**
36
- * Creates the stock column resizing feature.
37
- *
38
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
17
+ * Feature that adds column resizing state, options, and resize handlers.
39
18
  */
40
- export function constructColumnResizingFeature<
41
- TFeatures extends TableFeatures,
42
- TData extends RowData,
43
- >(): TableFeature<ColumnResizingFeatureConstructors<TFeatures, TData>> {
44
- return {
45
- getInitialState: (initialState) => {
46
- return {
47
- columnResizing: getDefaultColumnResizingState(),
48
- ...initialState,
49
- }
50
- },
19
+ export const columnResizingFeature: TableFeature = {
20
+ getInitialState: (initialState) => {
21
+ return {
22
+ columnResizing: getDefaultColumnResizingState(),
23
+ ...initialState,
24
+ }
25
+ },
51
26
 
52
- getDefaultTableOptions: (table) => {
53
- return {
54
- columnResizeMode: 'onEnd',
55
- columnResizeDirection: 'ltr',
56
- onColumnResizingChange: makeStateUpdater('columnResizing', table),
57
- }
58
- },
27
+ getDefaultTableOptions: (table) => {
28
+ return {
29
+ columnResizeMode: 'onEnd',
30
+ columnResizeDirection: 'ltr',
31
+ onColumnResizingChange: makeStateUpdater('columnResizing', table),
32
+ }
33
+ },
59
34
 
60
- assignColumnPrototype: (prototype, table) => {
61
- assignPrototypeAPIs('columnResizingFeature', prototype, table, {
62
- column_getCanResize: {
63
- fn: (column) => column_getCanResize(column),
64
- },
65
- column_getIsResizing: {
66
- fn: (column) => column_getIsResizing(column),
67
- },
68
- })
69
- },
35
+ assignColumnPrototype: (prototype, table) => {
36
+ assignPrototypeAPIs('columnResizingFeature', prototype, table, {
37
+ column_getCanResize: {
38
+ fn: (column) => column_getCanResize(column),
39
+ },
40
+ column_getIsResizing: {
41
+ fn: (column) => column_getIsResizing(column),
42
+ },
43
+ })
44
+ },
70
45
 
71
- assignHeaderPrototype: (prototype, table) => {
72
- assignPrototypeAPIs('columnResizingFeature', prototype, table, {
73
- header_getResizeHandler: {
74
- fn: (header, _contextDocument) =>
75
- header_getResizeHandler(header, _contextDocument),
76
- },
77
- })
78
- },
46
+ assignHeaderPrototype: (prototype, table) => {
47
+ assignPrototypeAPIs('columnResizingFeature', prototype, table, {
48
+ header_getResizeHandler: {
49
+ fn: (header, _contextDocument) =>
50
+ header_getResizeHandler(header, _contextDocument),
51
+ },
52
+ })
53
+ },
79
54
 
80
- constructTableAPIs: (table) => {
81
- assignTableAPIs('columnResizingFeature', table, {
82
- table_setColumnResizing: {
83
- fn: (updater) => table_setColumnResizing(table, updater),
84
- },
85
- table_resetHeaderSizeInfo: {
86
- fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState),
87
- },
88
- })
89
- },
90
- }
55
+ constructTableAPIs: (table) => {
56
+ assignTableAPIs('columnResizingFeature', table, {
57
+ table_setColumnResizing: {
58
+ fn: (updater) => table_setColumnResizing(table, updater),
59
+ },
60
+ table_resetHeaderSizeInfo: {
61
+ fn: (defaultState) => table_resetHeaderSizeInfo(table, defaultState),
62
+ },
63
+ })
64
+ },
91
65
  }
92
-
93
- /**
94
- * The stock column resizing feature.
95
- *
96
- * Register this feature with `columnSizingFeature` to add resize interaction
97
- * state and APIs for drag-based column resizing.
98
- */
99
- export const columnResizingFeature = constructColumnResizingFeature()
@@ -19,164 +19,127 @@ import {
19
19
  table_resetColumnSizing,
20
20
  table_setColumnSizing,
21
21
  } from './columnSizingFeature.utils'
22
- import type { RowData } from '../../types/type-utils'
23
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
24
- // import type {
25
- // ColumnDef_ColumnSizing,
26
- // Column_ColumnSizing,
27
- // Header_ColumnSizing,
28
- // TableOptions_ColumnSizing,
29
- // TableState_ColumnSizing,
30
- // Table_ColumnSizing,
31
- // } from './columnSizingFeature.types'
32
-
33
- export interface ColumnSizingFeatureConstructors<
34
- TFeatures extends TableFeatures,
35
- TData extends RowData,
36
- > {
37
- // ColumnDef: ColumnDef_ColumnSizing
38
- // Column: Column_ColumnSizing
39
- // Header: Header_ColumnSizing
40
- // Table: Table_ColumnSizing
41
- // TableOptions: TableOptions_ColumnSizing
42
- // TableState: TableState_ColumnSizing
43
- }
22
+ import type { TableFeature } from '../../types/TableFeatures'
44
23
 
45
24
  /**
46
- * Creates the stock column sizing feature.
47
- *
48
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
25
+ * Feature that adds column sizing state, defaults, and size measurement APIs.
49
26
  */
50
- export function constructColumnSizingFeature<
51
- TFeatures extends TableFeatures,
52
- TData extends RowData,
53
- >(): TableFeature<ColumnSizingFeatureConstructors<TFeatures, TData>> {
54
- return {
55
- getInitialState: (initialState) => {
56
- return {
57
- columnSizing: getDefaultColumnSizingState(),
58
- ...initialState,
59
- }
60
- },
27
+ export const columnSizingFeature: TableFeature = {
28
+ getInitialState: (initialState) => {
29
+ return {
30
+ columnSizing: getDefaultColumnSizingState(),
31
+ ...initialState,
32
+ }
33
+ },
61
34
 
62
- getDefaultColumnDef: () => {
63
- return getDefaultColumnSizingColumnDef()
64
- },
35
+ getDefaultColumnDef: () => {
36
+ return getDefaultColumnSizingColumnDef()
37
+ },
65
38
 
66
- getDefaultTableOptions: (table) => {
67
- return {
68
- onColumnSizingChange: makeStateUpdater('columnSizing', table),
69
- }
70
- },
39
+ getDefaultTableOptions: (table) => {
40
+ return {
41
+ onColumnSizingChange: makeStateUpdater('columnSizing', table),
42
+ }
43
+ },
71
44
 
72
- assignColumnPrototype: (prototype, table) => {
73
- assignPrototypeAPIs('columnSizingFeature', prototype, table, {
74
- column_getSize: {
75
- fn: (column) => column_getSize(column),
76
- memoDeps: (column) => [
77
- table.options.columns,
78
- table.atoms.columnSizing?.get()?.[column.id], // just this column's size state
79
- ],
80
- },
81
- column_getStart: {
82
- fn: (column, position) => column_getStart(column, position),
83
- memoDeps: (column, position) => [
84
- position,
85
- table.options.columns,
86
- table.atoms.columnSizing?.get(),
87
- table.atoms.columnOrder?.get(),
88
- table.atoms.columnPinning?.get(),
89
- table.atoms.columnVisibility?.get(),
90
- ],
91
- },
92
- column_getAfter: {
93
- fn: (column, position) => column_getAfter(column, position),
94
- memoDeps: (column, position) => [
95
- position,
96
- table.options.columns,
97
- table.atoms.columnSizing?.get(),
98
- table.atoms.columnOrder?.get(),
99
- table.atoms.columnPinning?.get(),
100
- table.atoms.columnVisibility?.get(),
101
- ],
102
- },
103
- column_resetSize: {
104
- fn: (column) => column_resetSize(column),
105
- },
106
- })
107
- },
45
+ assignColumnPrototype: (prototype, table) => {
46
+ assignPrototypeAPIs('columnSizingFeature', prototype, table, {
47
+ column_getSize: {
48
+ fn: (column) => column_getSize(column),
49
+ memoDeps: (column) => [
50
+ table.options.columns,
51
+ table.atoms.columnSizing?.get()?.[column.id], // just this column's size state
52
+ ],
53
+ },
54
+ column_getStart: {
55
+ fn: (column, position) => column_getStart(column, position),
56
+ memoDeps: (column, position) => [
57
+ position,
58
+ table.options.columns,
59
+ table.atoms.columnSizing?.get(),
60
+ table.atoms.columnOrder?.get(),
61
+ table.atoms.columnPinning?.get(),
62
+ table.atoms.columnVisibility?.get(),
63
+ ],
64
+ },
65
+ column_getAfter: {
66
+ fn: (column, position) => column_getAfter(column, position),
67
+ memoDeps: (column, position) => [
68
+ position,
69
+ table.options.columns,
70
+ table.atoms.columnSizing?.get(),
71
+ table.atoms.columnOrder?.get(),
72
+ table.atoms.columnPinning?.get(),
73
+ table.atoms.columnVisibility?.get(),
74
+ ],
75
+ },
76
+ column_resetSize: {
77
+ fn: (column) => column_resetSize(column),
78
+ },
79
+ })
80
+ },
108
81
 
109
- assignHeaderPrototype: (prototype, table) => {
110
- assignPrototypeAPIs('columnSizingFeature', prototype, table, {
111
- header_getSize: {
112
- fn: (header) => header_getSize(header),
113
- memoDeps: (header) => [
114
- table.options.columns,
115
- header.column.columns.length > 0
116
- ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)
117
- : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state
118
- ],
119
- },
120
- header_getStart: {
121
- fn: (header) => header_getStart(header),
122
- memoDeps: (header, position) => [
123
- position,
124
- table.options.columns,
125
- table.atoms.columnSizing?.get(),
126
- table.atoms.columnOrder?.get(),
127
- table.atoms.columnPinning?.get(),
128
- table.atoms.columnVisibility?.get(),
129
- ],
130
- },
131
- })
132
- },
82
+ assignHeaderPrototype: (prototype, table) => {
83
+ assignPrototypeAPIs('columnSizingFeature', prototype, table, {
84
+ header_getSize: {
85
+ fn: (header) => header_getSize(header),
86
+ memoDeps: (header) => [
87
+ table.options.columns,
88
+ header.column.columns.length > 0
89
+ ? table.atoms.columnSizing?.get() // must be all columns (sum child columns)
90
+ : table.atoms.columnSizing?.get()?.[header.column.id], // can just check it's associated column size state
91
+ ],
92
+ },
93
+ header_getStart: {
94
+ fn: (header) => header_getStart(header),
95
+ memoDeps: (header, position) => [
96
+ position,
97
+ table.options.columns,
98
+ table.atoms.columnSizing?.get(),
99
+ table.atoms.columnOrder?.get(),
100
+ table.atoms.columnPinning?.get(),
101
+ table.atoms.columnVisibility?.get(),
102
+ ],
103
+ },
104
+ })
105
+ },
133
106
 
134
- constructTableAPIs: (table) => {
135
- assignTableAPIs('columnSizingFeature', table, {
136
- table_setColumnSizing: {
137
- fn: (updater) => table_setColumnSizing(table, updater),
138
- },
139
- table_resetColumnSizing: {
140
- fn: (defaultState) => table_resetColumnSizing(table, defaultState),
141
- },
142
- table_getTotalSize: {
143
- fn: () => table_getTotalSize(table),
144
- memoDeps: () => [
145
- table.atoms.columnSizing?.get(),
146
- table.getHeaderGroups(),
147
- ],
148
- },
149
- table_getLeftTotalSize: {
150
- fn: () => table_getLeftTotalSize(table),
151
- memoDeps: () => [
152
- table.atoms.columnSizing?.get(),
153
- table.getHeaderGroups(),
154
- ],
155
- },
156
- table_getCenterTotalSize: {
157
- fn: () => table_getCenterTotalSize(table),
158
- memoDeps: () => [
159
- table.atoms.columnSizing?.get(),
160
- table.getHeaderGroups(),
161
- ],
162
- },
163
- table_getRightTotalSize: {
164
- fn: () => table_getRightTotalSize(table),
165
- memoDeps: () => [
166
- table.atoms.columnSizing?.get(),
167
- table.getHeaderGroups(),
168
- ],
169
- },
170
- })
171
- },
172
- }
107
+ constructTableAPIs: (table) => {
108
+ assignTableAPIs('columnSizingFeature', table, {
109
+ table_setColumnSizing: {
110
+ fn: (updater) => table_setColumnSizing(table, updater),
111
+ },
112
+ table_resetColumnSizing: {
113
+ fn: (defaultState) => table_resetColumnSizing(table, defaultState),
114
+ },
115
+ table_getTotalSize: {
116
+ fn: () => table_getTotalSize(table),
117
+ memoDeps: () => [
118
+ table.atoms.columnSizing?.get(),
119
+ table.getHeaderGroups(),
120
+ ],
121
+ },
122
+ table_getLeftTotalSize: {
123
+ fn: () => table_getLeftTotalSize(table),
124
+ memoDeps: () => [
125
+ table.atoms.columnSizing?.get(),
126
+ table.getHeaderGroups(),
127
+ ],
128
+ },
129
+ table_getCenterTotalSize: {
130
+ fn: () => table_getCenterTotalSize(table),
131
+ memoDeps: () => [
132
+ table.atoms.columnSizing?.get(),
133
+ table.getHeaderGroups(),
134
+ ],
135
+ },
136
+ table_getRightTotalSize: {
137
+ fn: () => table_getRightTotalSize(table),
138
+ memoDeps: () => [
139
+ table.atoms.columnSizing?.get(),
140
+ table.getHeaderGroups(),
141
+ ],
142
+ },
143
+ })
144
+ },
173
145
  }
174
-
175
- /**
176
- * The stock column sizing feature.
177
- *
178
- * Register this feature to add column width state and table, header, and column
179
- * APIs for reading and resetting sizes. Column drag resizing lives in
180
- * `columnResizingFeature`.
181
- */
182
- export const columnSizingFeature = constructColumnSizingFeature()
@@ -20,140 +20,103 @@ import {
20
20
  table_setColumnVisibility,
21
21
  table_toggleAllColumnsVisible,
22
22
  } from './columnVisibilityFeature.utils'
23
- import type { RowData } from '../../types/type-utils'
24
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
25
- // import type {
26
- // ColumnDef_ColumnVisibility,
27
- // Column_ColumnVisibility,
28
- // Row_ColumnVisibility,
29
- // TableOptions_ColumnVisibility,
30
- // TableState_ColumnVisibility,
31
- // Table_ColumnVisibility,
32
- // } from './columnVisibilityFeature.types'
33
-
34
- export interface ColumnVisibilityFeatureConstructors<
35
- TFeatures extends TableFeatures,
36
- TData extends RowData,
37
- > {
38
- // ColumnDef: ColumnDef_ColumnVisibility
39
- // Column: Column_ColumnVisibility
40
- // Row: Row_ColumnVisibility<TFeatures, TData>
41
- // Table: Table_ColumnVisibility<TFeatures, TData>
42
- // TableOptions: TableOptions_ColumnVisibility
43
- // TableState: TableState_ColumnVisibility
44
- }
23
+ import type { TableFeature } from '../../types/TableFeatures'
45
24
 
46
25
  /**
47
- * Creates the stock column visibility feature.
48
- *
49
- * 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 visibility state and APIs for hiding and showing columns.
50
27
  */
51
- export function constructColumnVisibilityFeature<
52
- TFeatures extends TableFeatures,
53
- TData extends RowData,
54
- >(): TableFeature<ColumnVisibilityFeatureConstructors<TFeatures, TData>> {
55
- return {
56
- getInitialState: (initialState) => {
57
- return {
58
- columnVisibility: getDefaultColumnVisibilityState(),
59
- ...initialState,
60
- }
61
- },
28
+ export const columnVisibilityFeature: TableFeature = {
29
+ getInitialState: (initialState) => {
30
+ return {
31
+ columnVisibility: getDefaultColumnVisibilityState(),
32
+ ...initialState,
33
+ }
34
+ },
62
35
 
63
- getDefaultTableOptions: (table) => {
64
- return {
65
- onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),
66
- }
67
- },
36
+ getDefaultTableOptions: (table) => {
37
+ return {
38
+ onColumnVisibilityChange: makeStateUpdater('columnVisibility', table),
39
+ }
40
+ },
68
41
 
69
- assignColumnPrototype: (prototype, table) => {
70
- assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
71
- column_getIsVisible: {
72
- fn: (column) => column_getIsVisible(column),
73
- memoDeps: (column) => [
74
- table.options.columns,
75
- table.atoms.columnVisibility?.get(),
76
- column.columns,
77
- ],
78
- },
79
- column_getCanHide: {
80
- fn: (column) => column_getCanHide(column),
81
- },
82
- column_getToggleVisibilityHandler: {
83
- fn: (column) => column_getToggleVisibilityHandler(column),
84
- },
85
- column_toggleVisibility: {
86
- fn: (column, visible) => column_toggleVisibility(column, visible),
87
- },
88
- })
89
- },
42
+ assignColumnPrototype: (prototype, table) => {
43
+ assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
44
+ column_getIsVisible: {
45
+ fn: (column) => column_getIsVisible(column),
46
+ memoDeps: (column) => [
47
+ table.options.columns,
48
+ table.atoms.columnVisibility?.get(),
49
+ column.columns,
50
+ ],
51
+ },
52
+ column_getCanHide: {
53
+ fn: (column) => column_getCanHide(column),
54
+ },
55
+ column_getToggleVisibilityHandler: {
56
+ fn: (column) => column_getToggleVisibilityHandler(column),
57
+ },
58
+ column_toggleVisibility: {
59
+ fn: (column, visible) => column_toggleVisibility(column, visible),
60
+ },
61
+ })
62
+ },
90
63
 
91
- assignRowPrototype: (prototype, table) => {
92
- assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
93
- row_getVisibleCells: {
94
- fn: (row) => row_getVisibleCells(row),
95
- memoDeps: (row) => [
96
- row.getAllCells(),
97
- table.atoms.columnPinning?.get(),
98
- table.atoms.columnVisibility?.get(),
99
- ],
100
- },
101
- row_getVisibleCellsByColumnId: {
102
- fn: (row) => row_getVisibleCellsByColumnId(row),
103
- memoDeps: (row) => [
104
- row.getAllCells(),
105
- table.atoms.columnVisibility?.get(),
106
- ],
107
- },
108
- })
109
- },
64
+ assignRowPrototype: (prototype, table) => {
65
+ assignPrototypeAPIs('columnVisibilityFeature', prototype, table, {
66
+ row_getVisibleCells: {
67
+ fn: (row) => row_getVisibleCells(row),
68
+ memoDeps: (row) => [
69
+ row.getAllCells(),
70
+ table.atoms.columnPinning?.get(),
71
+ table.atoms.columnVisibility?.get(),
72
+ ],
73
+ },
74
+ row_getVisibleCellsByColumnId: {
75
+ fn: (row) => row_getVisibleCellsByColumnId(row),
76
+ memoDeps: (row) => [
77
+ row.getAllCells(),
78
+ table.atoms.columnVisibility?.get(),
79
+ ],
80
+ },
81
+ })
82
+ },
110
83
 
111
- constructTableAPIs: (table) => {
112
- assignTableAPIs('columnVisibilityFeature', table, {
113
- table_getVisibleFlatColumns: {
114
- fn: () => table_getVisibleFlatColumns(table),
115
- memoDeps: () => [
116
- table.atoms.columnVisibility?.get(),
117
- table.atoms.columnOrder?.get(),
118
- table.options.columns,
119
- ],
120
- },
121
- table_getVisibleLeafColumns: {
122
- fn: () => table_getVisibleLeafColumns(table),
123
- memoDeps: () => [
124
- table.atoms.columnVisibility?.get(),
125
- table.atoms.columnOrder?.get(),
126
- table.options.columns,
127
- ],
128
- },
129
- table_setColumnVisibility: {
130
- fn: (updater) => table_setColumnVisibility(table, updater),
131
- },
132
- table_resetColumnVisibility: {
133
- fn: (defaultState) =>
134
- table_resetColumnVisibility(table, defaultState),
135
- },
136
- table_toggleAllColumnsVisible: {
137
- fn: (value) => table_toggleAllColumnsVisible(table, value),
138
- },
139
- table_getIsAllColumnsVisible: {
140
- fn: () => table_getIsAllColumnsVisible(table),
141
- },
142
- table_getIsSomeColumnsVisible: {
143
- fn: () => table_getIsSomeColumnsVisible(table),
144
- },
145
- table_getToggleAllColumnsVisibilityHandler: {
146
- fn: () => table_getToggleAllColumnsVisibilityHandler(table),
147
- },
148
- })
149
- },
150
- }
84
+ constructTableAPIs: (table) => {
85
+ assignTableAPIs('columnVisibilityFeature', table, {
86
+ table_getVisibleFlatColumns: {
87
+ fn: () => table_getVisibleFlatColumns(table),
88
+ memoDeps: () => [
89
+ table.atoms.columnVisibility?.get(),
90
+ table.atoms.columnOrder?.get(),
91
+ table.options.columns,
92
+ ],
93
+ },
94
+ table_getVisibleLeafColumns: {
95
+ fn: () => table_getVisibleLeafColumns(table),
96
+ memoDeps: () => [
97
+ table.atoms.columnVisibility?.get(),
98
+ table.atoms.columnOrder?.get(),
99
+ table.options.columns,
100
+ ],
101
+ },
102
+ table_setColumnVisibility: {
103
+ fn: (updater) => table_setColumnVisibility(table, updater),
104
+ },
105
+ table_resetColumnVisibility: {
106
+ fn: (defaultState) => table_resetColumnVisibility(table, defaultState),
107
+ },
108
+ table_toggleAllColumnsVisible: {
109
+ fn: (value) => table_toggleAllColumnsVisible(table, value),
110
+ },
111
+ table_getIsAllColumnsVisible: {
112
+ fn: () => table_getIsAllColumnsVisible(table),
113
+ },
114
+ table_getIsSomeColumnsVisible: {
115
+ fn: () => table_getIsSomeColumnsVisible(table),
116
+ },
117
+ table_getToggleAllColumnsVisibilityHandler: {
118
+ fn: () => table_getToggleAllColumnsVisibilityHandler(table),
119
+ },
120
+ })
121
+ },
151
122
  }
152
-
153
- /**
154
- * The stock column visibility feature.
155
- *
156
- * Register this feature to add column visibility state and APIs for deriving
157
- * visible columns and visible row cells.
158
- */
159
- export const columnVisibilityFeature = constructColumnVisibilityFeature()