@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
@@ -38,315 +38,279 @@ import {
38
38
  table_resetColumnPinning,
39
39
  table_setColumnPinning,
40
40
  } from './columnPinningFeature.utils'
41
- import type { RowData } from '../../types/type-utils'
42
- import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
43
- // import type {
44
- // ColumnDef_ColumnPinning,
45
- // Column_ColumnPinning,
46
- // Row_ColumnPinning,
47
- // TableOptions_ColumnPinning,
48
- // TableState_ColumnPinning,
49
- // Table_ColumnPinning,
50
- // } from './columnPinningFeature.types'
51
-
52
- export interface ColumnPinningFeatureConstructors<
53
- TFeatures extends TableFeatures,
54
- TData extends RowData,
55
- > {
56
- // Column: Column_ColumnPinning
57
- // ColumnDef: ColumnDef_ColumnPinning
58
- // Row: Row_ColumnPinning<TFeatures, TData>
59
- // Table: Table_ColumnPinning<TFeatures, TData>
60
- // TableOptions: TableOptions_ColumnPinning
61
- // TableState: TableState_ColumnPinning
62
- }
41
+ import type { TableFeature } from '../../types/TableFeatures'
63
42
 
64
43
  /**
65
- * Creates the stock column pinning feature.
66
- *
67
- * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
44
+ * Feature that adds column pinning state and APIs for left, center, and right regions.
68
45
  */
69
- export function constructColumnPinningFeature<
70
- TFeatures extends TableFeatures,
71
- TData extends RowData,
72
- >(): TableFeature<ColumnPinningFeatureConstructors<TFeatures, TData>> {
73
- return {
74
- getInitialState: (initialState) => {
75
- return {
76
- columnPinning: {
77
- ...getDefaultColumnPinningState(),
78
- ...initialState.columnPinning,
79
- },
80
- ...initialState,
81
- }
82
- },
46
+ export const columnPinningFeature: TableFeature = {
47
+ getInitialState: (initialState) => {
48
+ return {
49
+ columnPinning: {
50
+ ...getDefaultColumnPinningState(),
51
+ ...initialState.columnPinning,
52
+ },
53
+ ...initialState,
54
+ }
55
+ },
83
56
 
84
- getDefaultTableOptions: (table) => {
85
- return {
86
- onColumnPinningChange: makeStateUpdater('columnPinning', table),
87
- }
88
- },
57
+ getDefaultTableOptions: (table) => {
58
+ return {
59
+ onColumnPinningChange: makeStateUpdater('columnPinning', table),
60
+ }
61
+ },
89
62
 
90
- assignColumnPrototype: (prototype, table) => {
91
- assignPrototypeAPIs('columnPinningFeature', prototype, table, {
92
- column_pin: {
93
- fn: (column, position) => column_pin(column, position),
94
- },
95
- column_getCanPin: {
96
- fn: (column) => column_getCanPin(column),
97
- },
98
- column_getPinnedIndex: {
99
- fn: (column) => column_getPinnedIndex(column),
100
- },
101
- column_getIsPinned: {
102
- fn: (column) => column_getIsPinned(column),
103
- },
104
- })
105
- },
63
+ assignColumnPrototype: (prototype, table) => {
64
+ assignPrototypeAPIs('columnPinningFeature', prototype, table, {
65
+ column_pin: {
66
+ fn: (column, position) => column_pin(column, position),
67
+ },
68
+ column_getCanPin: {
69
+ fn: (column) => column_getCanPin(column),
70
+ },
71
+ column_getPinnedIndex: {
72
+ fn: (column) => column_getPinnedIndex(column),
73
+ },
74
+ column_getIsPinned: {
75
+ fn: (column) => column_getIsPinned(column),
76
+ },
77
+ })
78
+ },
106
79
 
107
- assignRowPrototype: (prototype, table) => {
108
- assignPrototypeAPIs('columnPinningFeature', prototype, table, {
109
- row_getCenterVisibleCells: {
110
- fn: (row) => row_getCenterVisibleCells(row),
111
- memoDeps: (row) => [
112
- row.getAllCells(),
113
- row.table.atoms.columnPinning?.get(),
114
- row.table.atoms.columnVisibility?.get(),
115
- ],
116
- },
117
- row_getLeftVisibleCells: {
118
- fn: (row) => row_getLeftVisibleCells(row),
119
- memoDeps: (row) => [
120
- row.getAllCells(),
121
- row.table.atoms.columnPinning?.get()?.left,
122
- row.table.atoms.columnVisibility?.get(),
123
- ],
124
- },
125
- row_getRightVisibleCells: {
126
- fn: (row) => row_getRightVisibleCells(row),
127
- memoDeps: (row) => [
128
- row.getAllCells(),
129
- row.table.atoms.columnPinning?.get()?.right,
130
- row.table.atoms.columnVisibility?.get(),
131
- ],
132
- },
133
- })
134
- },
80
+ assignRowPrototype: (prototype, table) => {
81
+ assignPrototypeAPIs('columnPinningFeature', prototype, table, {
82
+ row_getCenterVisibleCells: {
83
+ fn: (row) => row_getCenterVisibleCells(row),
84
+ memoDeps: (row) => [
85
+ row.getAllCells(),
86
+ row.table.atoms.columnPinning?.get(),
87
+ row.table.atoms.columnVisibility?.get(),
88
+ ],
89
+ },
90
+ row_getLeftVisibleCells: {
91
+ fn: (row) => row_getLeftVisibleCells(row),
92
+ memoDeps: (row) => [
93
+ row.getAllCells(),
94
+ row.table.atoms.columnPinning?.get()?.left,
95
+ row.table.atoms.columnVisibility?.get(),
96
+ ],
97
+ },
98
+ row_getRightVisibleCells: {
99
+ fn: (row) => row_getRightVisibleCells(row),
100
+ memoDeps: (row) => [
101
+ row.getAllCells(),
102
+ row.table.atoms.columnPinning?.get()?.right,
103
+ row.table.atoms.columnVisibility?.get(),
104
+ ],
105
+ },
106
+ })
107
+ },
135
108
 
136
- constructTableAPIs: (table) => {
137
- assignTableAPIs('columnPinningFeature', table, {
138
- table_setColumnPinning: {
139
- fn: (updater) => table_setColumnPinning(table, updater),
140
- },
141
- table_resetColumnPinning: {
142
- fn: (defaultState) => table_resetColumnPinning(table, defaultState),
143
- },
144
- table_getIsSomeColumnsPinned: {
145
- fn: (position) => table_getIsSomeColumnsPinned(table, position),
146
- },
147
- // header groups
148
- table_getLeftHeaderGroups: {
149
- fn: () => table_getLeftHeaderGroups(table),
150
- memoDeps: () => [
151
- table.getAllColumns(),
152
- callMemoOrStaticFn(
153
- table,
154
- 'getVisibleLeafColumns',
155
- table_getVisibleLeafColumns,
156
- ),
157
- table.atoms.columnPinning?.get()?.left,
158
- table.atoms.columnOrder?.get(),
159
- ],
160
- },
161
- table_getCenterHeaderGroups: {
162
- fn: () => table_getCenterHeaderGroups(table),
163
- memoDeps: () => [
164
- table.getAllColumns(),
165
- callMemoOrStaticFn(
166
- table,
167
- 'getVisibleLeafColumns',
168
- table_getVisibleLeafColumns,
169
- ),
170
- table.atoms.columnPinning?.get(),
171
- table.atoms.columnOrder?.get(),
172
- ],
173
- },
174
- table_getRightHeaderGroups: {
175
- fn: () => table_getRightHeaderGroups(table),
176
- memoDeps: () => [
177
- table.getAllColumns(),
178
- callMemoOrStaticFn(
179
- table,
180
- 'getVisibleLeafColumns',
181
- table_getVisibleLeafColumns,
182
- ),
183
- table.atoms.columnPinning?.get()?.right,
184
- table.atoms.columnOrder?.get(),
185
- ],
186
- },
187
- // footer groups
188
- table_getLeftFooterGroups: {
189
- fn: () => table_getLeftFooterGroups(table),
190
- memoDeps: () => [
191
- callMemoOrStaticFn(
192
- table,
193
- 'getLeftHeaderGroups',
194
- table_getLeftHeaderGroups,
195
- ),
196
- ],
197
- },
198
- table_getCenterFooterGroups: {
199
- fn: () => table_getCenterFooterGroups(table),
200
- memoDeps: () => [
201
- callMemoOrStaticFn(
202
- table,
203
- 'getCenterHeaderGroups',
204
- table_getCenterHeaderGroups,
205
- ),
206
- ],
207
- },
208
- table_getRightFooterGroups: {
209
- fn: () => table_getRightFooterGroups(table),
210
- memoDeps: () => [
211
- callMemoOrStaticFn(
212
- table,
213
- 'getRightHeaderGroups',
214
- table_getRightHeaderGroups,
215
- ),
216
- ],
217
- },
218
- // flat headers
219
- table_getLeftFlatHeaders: {
220
- fn: () => table_getLeftFlatHeaders(table),
221
- memoDeps: () => [
222
- callMemoOrStaticFn(
223
- table,
224
- 'getLeftHeaderGroups',
225
- table_getLeftHeaderGroups,
226
- ),
227
- ],
228
- },
229
- table_getRightFlatHeaders: {
230
- fn: () => table_getRightFlatHeaders(table),
231
- memoDeps: () => [
232
- callMemoOrStaticFn(
233
- table,
234
- 'getRightHeaderGroups',
235
- table_getRightHeaderGroups,
236
- ),
237
- ],
238
- },
239
- table_getCenterFlatHeaders: {
240
- fn: () => table_getCenterFlatHeaders(table),
241
- memoDeps: () => [
242
- callMemoOrStaticFn(
243
- table,
244
- 'getCenterHeaderGroups',
245
- table_getCenterHeaderGroups,
246
- ),
247
- ],
248
- },
249
- // leaf headers
250
- table_getLeftLeafHeaders: {
251
- fn: () => table_getLeftLeafHeaders(table),
252
- memoDeps: () => [
253
- callMemoOrStaticFn(
254
- table,
255
- 'getLeftHeaderGroups',
256
- table_getLeftHeaderGroups,
257
- ),
258
- ],
259
- },
260
- table_getRightLeafHeaders: {
261
- fn: () => table_getRightLeafHeaders(table),
262
- memoDeps: () => [
263
- callMemoOrStaticFn(
264
- table,
265
- 'getRightHeaderGroups',
266
- table_getRightHeaderGroups,
267
- ),
268
- ],
269
- },
270
- table_getCenterLeafHeaders: {
271
- fn: () => table_getCenterLeafHeaders(table),
272
- memoDeps: () => [
273
- callMemoOrStaticFn(
274
- table,
275
- 'getCenterHeaderGroups',
276
- table_getCenterHeaderGroups,
277
- ),
278
- ],
279
- },
280
- // leaf columns
281
- table_getLeftLeafColumns: {
282
- fn: () => table_getLeftLeafColumns(table),
283
- memoDeps: () => [
284
- table.options.columns,
285
- table.atoms.columnPinning?.get(),
286
- table.atoms.columnOrder?.get(),
287
- ],
288
- },
289
- table_getRightLeafColumns: {
290
- fn: () => table_getRightLeafColumns(table),
291
- memoDeps: () => [
292
- table.options.columns,
293
- table.atoms.columnPinning?.get(),
294
- table.atoms.columnOrder?.get(),
295
- ],
296
- },
297
- table_getCenterLeafColumns: {
298
- fn: () => table_getCenterLeafColumns(table),
299
- memoDeps: () => [
300
- table.options.columns,
301
- table.atoms.columnPinning?.get(),
302
- table.atoms.columnOrder?.get(),
303
- ],
304
- },
305
- table_getPinnedLeafColumns: {
306
- fn: (position) => table_getPinnedLeafColumns(table, position),
307
- // must not memo here as it's just a shortcut function
308
- },
309
- // visible leaf columns
310
- table_getLeftVisibleLeafColumns: {
311
- fn: () => table_getLeftVisibleLeafColumns(table),
312
- memoDeps: () => [
313
- table.options.columns,
314
- table.atoms.columnPinning?.get(),
315
- table.atoms.columnVisibility?.get(),
316
- table.atoms.columnOrder?.get(),
317
- ],
318
- },
319
- table_getCenterVisibleLeafColumns: {
320
- fn: () => table_getCenterVisibleLeafColumns(table),
321
- memoDeps: () => [
322
- table.options.columns,
323
- table.atoms.columnPinning?.get(),
324
- table.atoms.columnVisibility?.get(),
325
- table.atoms.columnOrder?.get(),
326
- ],
327
- },
328
- table_getRightVisibleLeafColumns: {
329
- fn: () => table_getRightVisibleLeafColumns(table),
330
- memoDeps: () => [
331
- table.options.columns,
332
- table.atoms.columnPinning?.get(),
333
- table.atoms.columnVisibility?.get(),
334
- table.atoms.columnOrder?.get(),
335
- ],
336
- },
337
- table_getPinnedVisibleLeafColumns: {
338
- fn: (position) => table_getPinnedVisibleLeafColumns(table, position),
339
- // must not memo here as it's just a shortcut function
340
- },
341
- })
342
- },
343
- }
109
+ constructTableAPIs: (table) => {
110
+ assignTableAPIs('columnPinningFeature', table, {
111
+ table_setColumnPinning: {
112
+ fn: (updater) => table_setColumnPinning(table, updater),
113
+ },
114
+ table_resetColumnPinning: {
115
+ fn: (defaultState) => table_resetColumnPinning(table, defaultState),
116
+ },
117
+ table_getIsSomeColumnsPinned: {
118
+ fn: (position) => table_getIsSomeColumnsPinned(table, position),
119
+ },
120
+ // header groups
121
+ table_getLeftHeaderGroups: {
122
+ fn: () => table_getLeftHeaderGroups(table),
123
+ memoDeps: () => [
124
+ table.getAllColumns(),
125
+ callMemoOrStaticFn(
126
+ table,
127
+ 'getVisibleLeafColumns',
128
+ table_getVisibleLeafColumns,
129
+ ),
130
+ table.atoms.columnPinning?.get()?.left,
131
+ table.atoms.columnOrder?.get(),
132
+ ],
133
+ },
134
+ table_getCenterHeaderGroups: {
135
+ fn: () => table_getCenterHeaderGroups(table),
136
+ memoDeps: () => [
137
+ table.getAllColumns(),
138
+ callMemoOrStaticFn(
139
+ table,
140
+ 'getVisibleLeafColumns',
141
+ table_getVisibleLeafColumns,
142
+ ),
143
+ table.atoms.columnPinning?.get(),
144
+ table.atoms.columnOrder?.get(),
145
+ ],
146
+ },
147
+ table_getRightHeaderGroups: {
148
+ fn: () => table_getRightHeaderGroups(table),
149
+ memoDeps: () => [
150
+ table.getAllColumns(),
151
+ callMemoOrStaticFn(
152
+ table,
153
+ 'getVisibleLeafColumns',
154
+ table_getVisibleLeafColumns,
155
+ ),
156
+ table.atoms.columnPinning?.get()?.right,
157
+ table.atoms.columnOrder?.get(),
158
+ ],
159
+ },
160
+ // footer groups
161
+ table_getLeftFooterGroups: {
162
+ fn: () => table_getLeftFooterGroups(table),
163
+ memoDeps: () => [
164
+ callMemoOrStaticFn(
165
+ table,
166
+ 'getLeftHeaderGroups',
167
+ table_getLeftHeaderGroups,
168
+ ),
169
+ ],
170
+ },
171
+ table_getCenterFooterGroups: {
172
+ fn: () => table_getCenterFooterGroups(table),
173
+ memoDeps: () => [
174
+ callMemoOrStaticFn(
175
+ table,
176
+ 'getCenterHeaderGroups',
177
+ table_getCenterHeaderGroups,
178
+ ),
179
+ ],
180
+ },
181
+ table_getRightFooterGroups: {
182
+ fn: () => table_getRightFooterGroups(table),
183
+ memoDeps: () => [
184
+ callMemoOrStaticFn(
185
+ table,
186
+ 'getRightHeaderGroups',
187
+ table_getRightHeaderGroups,
188
+ ),
189
+ ],
190
+ },
191
+ // flat headers
192
+ table_getLeftFlatHeaders: {
193
+ fn: () => table_getLeftFlatHeaders(table),
194
+ memoDeps: () => [
195
+ callMemoOrStaticFn(
196
+ table,
197
+ 'getLeftHeaderGroups',
198
+ table_getLeftHeaderGroups,
199
+ ),
200
+ ],
201
+ },
202
+ table_getRightFlatHeaders: {
203
+ fn: () => table_getRightFlatHeaders(table),
204
+ memoDeps: () => [
205
+ callMemoOrStaticFn(
206
+ table,
207
+ 'getRightHeaderGroups',
208
+ table_getRightHeaderGroups,
209
+ ),
210
+ ],
211
+ },
212
+ table_getCenterFlatHeaders: {
213
+ fn: () => table_getCenterFlatHeaders(table),
214
+ memoDeps: () => [
215
+ callMemoOrStaticFn(
216
+ table,
217
+ 'getCenterHeaderGroups',
218
+ table_getCenterHeaderGroups,
219
+ ),
220
+ ],
221
+ },
222
+ // leaf headers
223
+ table_getLeftLeafHeaders: {
224
+ fn: () => table_getLeftLeafHeaders(table),
225
+ memoDeps: () => [
226
+ callMemoOrStaticFn(
227
+ table,
228
+ 'getLeftHeaderGroups',
229
+ table_getLeftHeaderGroups,
230
+ ),
231
+ ],
232
+ },
233
+ table_getRightLeafHeaders: {
234
+ fn: () => table_getRightLeafHeaders(table),
235
+ memoDeps: () => [
236
+ callMemoOrStaticFn(
237
+ table,
238
+ 'getRightHeaderGroups',
239
+ table_getRightHeaderGroups,
240
+ ),
241
+ ],
242
+ },
243
+ table_getCenterLeafHeaders: {
244
+ fn: () => table_getCenterLeafHeaders(table),
245
+ memoDeps: () => [
246
+ callMemoOrStaticFn(
247
+ table,
248
+ 'getCenterHeaderGroups',
249
+ table_getCenterHeaderGroups,
250
+ ),
251
+ ],
252
+ },
253
+ // leaf columns
254
+ table_getLeftLeafColumns: {
255
+ fn: () => table_getLeftLeafColumns(table),
256
+ memoDeps: () => [
257
+ table.options.columns,
258
+ table.atoms.columnPinning?.get(),
259
+ table.atoms.columnOrder?.get(),
260
+ ],
261
+ },
262
+ table_getRightLeafColumns: {
263
+ fn: () => table_getRightLeafColumns(table),
264
+ memoDeps: () => [
265
+ table.options.columns,
266
+ table.atoms.columnPinning?.get(),
267
+ table.atoms.columnOrder?.get(),
268
+ ],
269
+ },
270
+ table_getCenterLeafColumns: {
271
+ fn: () => table_getCenterLeafColumns(table),
272
+ memoDeps: () => [
273
+ table.options.columns,
274
+ table.atoms.columnPinning?.get(),
275
+ table.atoms.columnOrder?.get(),
276
+ ],
277
+ },
278
+ table_getPinnedLeafColumns: {
279
+ fn: (position) => table_getPinnedLeafColumns(table, position),
280
+ // must not memo here as it's just a shortcut function
281
+ },
282
+ // visible leaf columns
283
+ table_getLeftVisibleLeafColumns: {
284
+ fn: () => table_getLeftVisibleLeafColumns(table),
285
+ memoDeps: () => [
286
+ table.options.columns,
287
+ table.atoms.columnPinning?.get(),
288
+ table.atoms.columnVisibility?.get(),
289
+ table.atoms.columnOrder?.get(),
290
+ ],
291
+ },
292
+ table_getCenterVisibleLeafColumns: {
293
+ fn: () => table_getCenterVisibleLeafColumns(table),
294
+ memoDeps: () => [
295
+ table.options.columns,
296
+ table.atoms.columnPinning?.get(),
297
+ table.atoms.columnVisibility?.get(),
298
+ table.atoms.columnOrder?.get(),
299
+ ],
300
+ },
301
+ table_getRightVisibleLeafColumns: {
302
+ fn: () => table_getRightVisibleLeafColumns(table),
303
+ memoDeps: () => [
304
+ table.options.columns,
305
+ table.atoms.columnPinning?.get(),
306
+ table.atoms.columnVisibility?.get(),
307
+ table.atoms.columnOrder?.get(),
308
+ ],
309
+ },
310
+ table_getPinnedVisibleLeafColumns: {
311
+ fn: (position) => table_getPinnedVisibleLeafColumns(table, position),
312
+ // must not memo here as it's just a shortcut function
313
+ },
314
+ })
315
+ },
344
316
  }
345
-
346
- /**
347
- * The stock column pinning feature.
348
- *
349
- * Register this feature to add column pinning state plus table, row, and column
350
- * APIs for splitting columns into left, center, and right regions.
351
- */
352
- export const columnPinningFeature = constructColumnPinningFeature()
@@ -230,7 +230,7 @@ export function row_getLeftVisibleCells<
230
230
  const cell = allVisibleCells[columnId]
231
231
  if (cell) {
232
232
  // Assign position property directly to preserve prototype chain
233
- cell.position = 'left'
233
+ ;(cell as any).position = 'left'
234
234
  cells.push(cell)
235
235
  }
236
236
  }
@@ -266,7 +266,7 @@ export function row_getRightVisibleCells<
266
266
  const cell = allVisibleCells[columnId]
267
267
  if (cell) {
268
268
  // Assign position property directly to preserve prototype chain
269
- cell.position = 'right'
269
+ ;(cell as any).position = 'right'
270
270
  cells.push(cell)
271
271
  }
272
272
  }
@@ -550,7 +550,7 @@ export function table_getLeftFlatHeaders<
550
550
  for (let i = 0; i < leftHeaderGroups.length; i++) {
551
551
  const headers = leftHeaderGroups[i]!.headers
552
552
  for (let j = 0; j < headers.length; j++) {
553
- result.push(headers[j])
553
+ result.push(headers[j]!)
554
554
  }
555
555
  }
556
556
  return result
@@ -579,7 +579,7 @@ export function table_getRightFlatHeaders<
579
579
  for (let i = 0; i < rightHeaderGroups.length; i++) {
580
580
  const headers = rightHeaderGroups[i]!.headers
581
581
  for (let j = 0; j < headers.length; j++) {
582
- result.push(headers[j])
582
+ result.push(headers[j]!)
583
583
  }
584
584
  }
585
585
  return result
@@ -608,7 +608,7 @@ export function table_getCenterFlatHeaders<
608
608
  for (let i = 0; i < centerHeaderGroups.length; i++) {
609
609
  const headers = centerHeaderGroups[i]!.headers
610
610
  for (let j = 0; j < headers.length; j++) {
611
- result.push(headers[j])
611
+ result.push(headers[j]!)
612
612
  }
613
613
  }
614
614
  return result