@tanstack/table-core 9.0.0-alpha.46 → 9.0.0-alpha.48

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 (339) hide show
  1. package/README.md +10 -0
  2. package/dist/core/cells/constructCell.cjs +4 -3
  3. package/dist/core/cells/constructCell.cjs.map +1 -1
  4. package/dist/core/cells/constructCell.js +4 -3
  5. package/dist/core/cells/constructCell.js.map +1 -1
  6. package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
  7. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  8. package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
  9. package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
  10. package/dist/core/cells/coreCellsFeature.utils.js +11 -8
  11. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  12. package/dist/core/columns/constructColumn.cjs +6 -4
  13. package/dist/core/columns/constructColumn.cjs.map +1 -1
  14. package/dist/core/columns/constructColumn.js +6 -4
  15. package/dist/core/columns/constructColumn.js.map +1 -1
  16. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
  17. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
  18. package/dist/core/columns/coreColumnsFeature.utils.cjs +47 -29
  19. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  20. package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
  21. package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
  22. package/dist/core/columns/coreColumnsFeature.utils.js +47 -29
  23. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  24. package/dist/core/headers/buildHeaderGroups.cjs +27 -19
  25. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  26. package/dist/core/headers/buildHeaderGroups.js +27 -19
  27. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  28. package/dist/core/headers/constructHeader.cjs +4 -3
  29. package/dist/core/headers/constructHeader.cjs.map +1 -1
  30. package/dist/core/headers/constructHeader.js +4 -3
  31. package/dist/core/headers/constructHeader.js.map +1 -1
  32. package/dist/core/headers/coreHeadersFeature.cjs +1 -6
  33. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  34. package/dist/core/headers/coreHeadersFeature.js +2 -7
  35. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  36. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
  37. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
  38. package/dist/core/headers/coreHeadersFeature.utils.cjs +43 -36
  39. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  40. package/dist/core/headers/coreHeadersFeature.utils.d.cts +24 -19
  41. package/dist/core/headers/coreHeadersFeature.utils.d.ts +24 -19
  42. package/dist/core/headers/coreHeadersFeature.utils.js +44 -37
  43. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  44. package/dist/core/reactivity/coreReactivityFeature.types.d.cts +4 -0
  45. package/dist/core/reactivity/coreReactivityFeature.types.d.ts +4 -0
  46. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
  47. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  48. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
  49. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
  50. package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
  51. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  52. package/dist/core/rows/constructRow.cjs +8 -6
  53. package/dist/core/rows/constructRow.cjs.map +1 -1
  54. package/dist/core/rows/constructRow.js +8 -6
  55. package/dist/core/rows/constructRow.js.map +1 -1
  56. package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
  57. package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
  58. package/dist/core/rows/coreRowsFeature.utils.cjs +43 -32
  59. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  60. package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
  61. package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
  62. package/dist/core/rows/coreRowsFeature.utils.js +43 -32
  63. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  64. package/dist/core/table/constructTable.cjs +9 -5
  65. package/dist/core/table/constructTable.cjs.map +1 -1
  66. package/dist/core/table/constructTable.js +9 -5
  67. package/dist/core/table/constructTable.js.map +1 -1
  68. package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
  69. package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
  70. package/dist/core/table/coreTablesFeature.utils.cjs +7 -3
  71. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  72. package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
  73. package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
  74. package/dist/core/table/coreTablesFeature.utils.js +7 -3
  75. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  76. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
  77. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
  78. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
  79. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  80. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
  81. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
  82. package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
  83. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  84. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +8 -5
  85. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  86. package/dist/features/column-faceting/createFacetedMinMaxValues.js +8 -5
  87. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  88. package/dist/features/column-faceting/createFacetedRowModel.cjs +8 -3
  89. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  90. package/dist/features/column-faceting/createFacetedRowModel.js +8 -3
  91. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  92. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +7 -4
  93. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  94. package/dist/features/column-faceting/createFacetedUniqueValues.js +7 -4
  95. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  96. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
  97. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
  98. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
  99. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  100. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
  101. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
  102. package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
  103. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  104. package/dist/features/column-filtering/createFilteredRowModel.cjs +11 -5
  105. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  106. package/dist/features/column-filtering/createFilteredRowModel.js +11 -5
  107. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  108. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
  109. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
  110. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
  111. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  112. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
  113. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
  114. package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
  115. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  116. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
  117. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
  118. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +46 -29
  119. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  120. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
  121. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
  122. package/dist/features/column-ordering/columnOrderingFeature.utils.js +46 -29
  123. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  124. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
  125. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
  126. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +152 -115
  127. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  128. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +116 -95
  129. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +116 -95
  130. package/dist/features/column-pinning/columnPinningFeature.utils.js +153 -116
  131. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  132. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
  133. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
  134. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
  135. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  136. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
  137. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
  138. package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
  139. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  140. package/dist/features/column-sizing/columnSizingFeature.cjs +28 -4
  141. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  142. package/dist/features/column-sizing/columnSizingFeature.js +28 -4
  143. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  144. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
  145. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
  146. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
  147. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  148. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
  149. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
  150. package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
  151. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  152. package/dist/features/column-visibility/columnVisibilityFeature.cjs +23 -14
  153. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  154. package/dist/features/column-visibility/columnVisibilityFeature.js +24 -15
  155. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  156. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +19 -12
  157. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +19 -12
  158. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +91 -52
  159. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  160. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +63 -40
  161. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +63 -40
  162. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +91 -53
  163. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  164. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
  165. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
  166. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
  167. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  168. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
  169. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
  170. package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
  171. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  172. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
  173. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
  174. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +58 -43
  175. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  176. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
  177. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
  178. package/dist/features/row-expanding/rowExpandingFeature.utils.js +58 -43
  179. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  180. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
  181. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
  182. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
  183. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  184. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
  185. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
  186. package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
  187. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  188. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
  189. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
  190. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +52 -36
  191. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  192. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
  193. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
  194. package/dist/features/row-pinning/rowPinningFeature.utils.js +52 -36
  195. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  196. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
  197. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
  198. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +95 -72
  199. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  200. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
  201. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
  202. package/dist/features/row-selection/rowSelectionFeature.utils.js +95 -72
  203. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  204. package/dist/features/row-sorting/createSortedRowModel.cjs +13 -8
  205. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  206. package/dist/features/row-sorting/createSortedRowModel.js +13 -8
  207. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  208. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
  209. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
  210. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +63 -46
  211. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  212. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
  213. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
  214. package/dist/features/row-sorting/rowSortingFeature.utils.js +63 -46
  215. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  216. package/dist/fns/aggregationFns.cjs +47 -16
  217. package/dist/fns/aggregationFns.cjs.map +1 -1
  218. package/dist/fns/aggregationFns.d.cts +33 -9
  219. package/dist/fns/aggregationFns.d.ts +33 -9
  220. package/dist/fns/aggregationFns.js +47 -17
  221. package/dist/fns/aggregationFns.js.map +1 -1
  222. package/dist/fns/filterFns.cjs +48 -17
  223. package/dist/fns/filterFns.cjs.map +1 -1
  224. package/dist/fns/filterFns.d.cts +42 -15
  225. package/dist/fns/filterFns.d.ts +42 -15
  226. package/dist/fns/filterFns.js +48 -17
  227. package/dist/fns/filterFns.js.map +1 -1
  228. package/dist/helpers/columnHelper.cjs +9 -4
  229. package/dist/helpers/columnHelper.cjs.map +1 -1
  230. package/dist/helpers/columnHelper.d.cts +9 -4
  231. package/dist/helpers/columnHelper.d.ts +9 -4
  232. package/dist/helpers/columnHelper.js +9 -4
  233. package/dist/helpers/columnHelper.js.map +1 -1
  234. package/dist/helpers/tableOptions.cjs.map +1 -1
  235. package/dist/helpers/tableOptions.d.cts +12 -9
  236. package/dist/helpers/tableOptions.d.ts +12 -9
  237. package/dist/helpers/tableOptions.js.map +1 -1
  238. package/dist/index.cjs +0 -4
  239. package/dist/index.d.cts +2 -2
  240. package/dist/index.d.ts +2 -2
  241. package/dist/index.js +2 -2
  242. package/dist/static-functions.cjs +1 -0
  243. package/dist/static-functions.d.cts +2 -2
  244. package/dist/static-functions.d.ts +2 -2
  245. package/dist/static-functions.js +2 -2
  246. package/dist/store-reactivity-bindings.cjs +1 -0
  247. package/dist/store-reactivity-bindings.cjs.map +1 -1
  248. package/dist/store-reactivity-bindings.js +1 -0
  249. package/dist/store-reactivity-bindings.js.map +1 -1
  250. package/dist/types/ColumnDef.d.cts +38 -0
  251. package/dist/types/ColumnDef.d.ts +38 -0
  252. package/dist/types/TableOptions.d.cts +15 -0
  253. package/dist/types/TableOptions.d.ts +15 -0
  254. package/dist/types/TableState.d.cts +12 -0
  255. package/dist/types/TableState.d.ts +12 -0
  256. package/dist/utils.cjs +18 -39
  257. package/dist/utils.cjs.map +1 -1
  258. package/dist/utils.d.cts +1 -23
  259. package/dist/utils.d.ts +1 -23
  260. package/dist/utils.js +19 -36
  261. package/dist/utils.js.map +1 -1
  262. package/package.json +5 -3
  263. package/skills/column-definitions/SKILL.md +333 -0
  264. package/skills/column-layout/SKILL.md +328 -0
  265. package/skills/column-layout/references/subsystems.md +220 -0
  266. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  267. package/skills/filtering/SKILL.md +357 -0
  268. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  269. package/skills/grouping/SKILL.md +448 -0
  270. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  271. package/skills/pagination/SKILL.md +385 -0
  272. package/skills/row-expanding/SKILL.md +348 -0
  273. package/skills/row-pinning/SKILL.md +269 -0
  274. package/skills/row-selection/SKILL.md +391 -0
  275. package/skills/setup/SKILL.md +400 -0
  276. package/skills/sorting/SKILL.md +344 -0
  277. package/skills/state-management/SKILL.md +388 -0
  278. package/src/core/cells/constructCell.ts +3 -2
  279. package/src/core/cells/coreCellsFeature.utils.ts +11 -8
  280. package/src/core/columns/constructColumn.ts +5 -3
  281. package/src/core/columns/coreColumnsFeature.types.ts +7 -6
  282. package/src/core/columns/coreColumnsFeature.utils.ts +43 -29
  283. package/src/core/headers/buildHeaderGroups.ts +29 -30
  284. package/src/core/headers/constructHeader.ts +3 -2
  285. package/src/core/headers/coreHeadersFeature.ts +2 -27
  286. package/src/core/headers/coreHeadersFeature.types.ts +6 -4
  287. package/src/core/headers/coreHeadersFeature.utils.ts +52 -61
  288. package/src/core/reactivity/coreReactivityFeature.types.ts +4 -0
  289. package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
  290. package/src/core/rows/constructRow.ts +6 -4
  291. package/src/core/rows/coreRowsFeature.types.ts +4 -4
  292. package/src/core/rows/coreRowsFeature.utils.ts +45 -32
  293. package/src/core/table/constructTable.ts +6 -4
  294. package/src/core/table/coreTablesFeature.types.ts +6 -2
  295. package/src/core/table/coreTablesFeature.utils.ts +5 -3
  296. package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
  297. package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
  298. package/src/features/column-faceting/createFacetedMinMaxValues.ts +8 -10
  299. package/src/features/column-faceting/createFacetedRowModel.ts +10 -6
  300. package/src/features/column-faceting/createFacetedUniqueValues.ts +4 -3
  301. package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
  302. package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
  303. package/src/features/column-filtering/createFilteredRowModel.ts +14 -8
  304. package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
  305. package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
  306. package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
  307. package/src/features/column-ordering/columnOrderingFeature.utils.ts +44 -29
  308. package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
  309. package/src/features/column-pinning/columnPinningFeature.utils.ts +164 -128
  310. package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
  311. package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
  312. package/src/features/column-sizing/columnSizingFeature.ts +16 -0
  313. package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
  314. package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
  315. package/src/features/column-visibility/columnVisibilityFeature.ts +8 -0
  316. package/src/features/column-visibility/columnVisibilityFeature.types.ts +22 -12
  317. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +101 -56
  318. package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
  319. package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
  320. package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
  321. package/src/features/row-expanding/rowExpandingFeature.utils.ts +58 -43
  322. package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
  323. package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
  324. package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
  325. package/src/features/row-pinning/rowPinningFeature.utils.ts +59 -47
  326. package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
  327. package/src/features/row-selection/rowSelectionFeature.utils.ts +109 -88
  328. package/src/features/row-sorting/createSortedRowModel.ts +16 -13
  329. package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
  330. package/src/features/row-sorting/rowSortingFeature.utils.ts +63 -46
  331. package/src/fns/aggregationFns.ts +53 -17
  332. package/src/fns/filterFns.ts +48 -17
  333. package/src/helpers/columnHelper.ts +9 -4
  334. package/src/helpers/tableOptions.ts +12 -9
  335. package/src/store-reactivity-bindings.ts +1 -0
  336. package/src/types/ColumnDef.ts +38 -0
  337. package/src/types/TableOptions.ts +15 -0
  338. package/src/types/TableState.ts +12 -0
  339. package/src/utils.ts +19 -46
@@ -4,13 +4,14 @@ const require_buildHeaderGroups = require('../../core/headers/buildHeaderGroups.
4
4
 
5
5
  //#region src/features/column-pinning/columnPinningFeature.utils.ts
6
6
  /**
7
- * Returns the default column pinning state.
7
+ * Creates the default column pinning state.
8
8
  *
9
- * Feature constructors use this value to initialize the table state or option defaults when no user value is provided.
9
+ * Both pinning regions start empty. Reset APIs use this value when
10
+ * `defaultState` is `true`.
10
11
  *
11
12
  * @example
12
13
  * ```ts
13
- * const initialValue = getDefaultColumnPinningState()
14
+ * const pinning = getDefaultColumnPinningState()
14
15
  * ```
15
16
  */
16
17
  function getDefaultColumnPinningState() {
@@ -20,9 +21,11 @@ function getDefaultColumnPinningState() {
20
21
  };
21
22
  }
22
23
  /**
23
- * Pin. for a column.
24
+ * Moves this column's leaf column ids into a pinning region.
24
25
  *
25
- * This is the static implementation behind the matching column instance API.
26
+ * Pinning a group column pins all of its leaves. The leaf ids are first removed
27
+ * from both regions, then appended to the requested `'left'` or `'right'`
28
+ * region. Passing `false` unpins them back to the center.
26
29
  *
27
30
  * @example
28
31
  * ```ts
@@ -30,7 +33,12 @@ function getDefaultColumnPinningState() {
30
33
  * ```
31
34
  */
32
35
  function column_pin(column, position) {
33
- const columnIds = column.getLeafColumns().map((d) => d.id).filter(Boolean);
36
+ const leafColumns = column.getLeafColumns();
37
+ const columnIds = [];
38
+ for (let i = 0; i < leafColumns.length; i++) {
39
+ const id = leafColumns[i].id;
40
+ if (id) columnIds.push(id);
41
+ }
34
42
  table_setColumnPinning(column.table, (old) => {
35
43
  if (position === "right") return {
36
44
  left: old.left.filter((d) => !columnIds.includes(d)),
@@ -47,26 +55,28 @@ function column_pin(column, position) {
47
55
  });
48
56
  }
49
57
  /**
50
- * Returns whether a column can use pin.
58
+ * Checks whether this column or any of its leaf columns can be pinned.
51
59
  *
52
- * This combines column options, table options, and any required accessor or feature state for the capability.
60
+ * Column-level `enablePinning` and table `enableColumnPinning` both default to
61
+ * `true`; at least one leaf column must allow pinning.
53
62
  *
54
63
  * @example
55
64
  * ```ts
56
- * const value = column_getCanPin(column)
65
+ * const canPin = column_getCanPin(column)
57
66
  * ```
58
67
  */
59
68
  function column_getCanPin(column) {
60
69
  return column.getLeafColumns().some((leafColumn) => (leafColumn.columnDef.enablePinning ?? true) && (column.table.options.enableColumnPinning ?? true));
61
70
  }
62
71
  /**
63
- * Returns is pinned for a column.
72
+ * Reads this column's current pinning region.
64
73
  *
65
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
74
+ * Group columns report `'left'` or `'right'` when any leaf column is pinned in
75
+ * that region. Unpinned columns return `false`.
66
76
  *
67
77
  * @example
68
78
  * ```ts
69
- * const value = column_getIsPinned(column)
79
+ * const position = column_getIsPinned(column)
70
80
  * ```
71
81
  */
72
82
  function column_getIsPinned(column) {
@@ -78,13 +88,14 @@ function column_getIsPinned(column) {
78
88
  return isLeft ? "left" : isRight ? "right" : false;
79
89
  }
80
90
  /**
81
- * Returns pinned index for a column.
91
+ * Finds this column's index within its pinned region.
82
92
  *
83
- * This derives the value from the column definition, table options, and the feature state atoms registered on the table.
93
+ * Unpinned columns return `0`; pinned columns return their position in
94
+ * `state.columnPinning.left` or `state.columnPinning.right`.
84
95
  *
85
96
  * @example
86
97
  * ```ts
87
- * const value = column_getPinnedIndex(column)
98
+ * const index = column_getPinnedIndex(column)
88
99
  * ```
89
100
  */
90
101
  function column_getPinnedIndex(column) {
@@ -93,13 +104,13 @@ function column_getPinnedIndex(column) {
93
104
  return position ? ((_column$table$atoms$c2 = column.table.atoms.columnPinning) === null || _column$table$atoms$c2 === void 0 || (_column$table$atoms$c2 = _column$table$atoms$c2.get()) === null || _column$table$atoms$c2 === void 0 ? void 0 : _column$table$atoms$c2[position].indexOf(column.id)) ?? -1 : 0;
94
105
  }
95
106
  /**
96
- * Returns center visible cells for a row.
107
+ * Collects visible cells whose columns are not pinned left or right.
97
108
  *
98
- * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
109
+ * The result preserves the row's visible-cell order for center columns.
99
110
  *
100
111
  * @example
101
112
  * ```ts
102
- * const value = row_getCenterVisibleCells(row)
113
+ * const centerCells = row_getCenterVisibleCells(row)
103
114
  * ```
104
115
  */
105
116
  function row_getCenterVisibleCells(row) {
@@ -110,23 +121,24 @@ function row_getCenterVisibleCells(row) {
110
121
  return allCells.filter((d) => !leftAndRight.includes(d.column.id));
111
122
  }
112
123
  /**
113
- * Returns left visible cells for a row.
124
+ * Collects visible cells for columns pinned to the left region.
114
125
  *
115
- * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
126
+ * Cells are returned in `state.columnPinning.left` order and are marked with
127
+ * `cell.position = 'left'`.
116
128
  *
117
129
  * @example
118
130
  * ```ts
119
- * const value = row_getLeftVisibleCells(row)
131
+ * const leftCells = row_getLeftVisibleCells(row)
120
132
  * ```
121
133
  */
122
134
  function row_getLeftVisibleCells(row) {
123
135
  var _row$table$atoms$colu2;
124
136
  const { left } = ((_row$table$atoms$colu2 = row.table.atoms.columnPinning) === null || _row$table$atoms$colu2 === void 0 ? void 0 : _row$table$atoms$colu2.get()) ?? getDefaultColumnPinningState();
125
137
  if (!left.length) return [];
126
- const allVisibleCells = require_utils.callMemoOrStaticFn(row, "getVisibleCells", require_columnVisibilityFeature_utils.row_getVisibleCells);
138
+ const allVisibleCells = require_utils.callMemoOrStaticFn(row, "getVisibleCellsByColumnId", require_columnVisibilityFeature_utils.row_getVisibleCellsByColumnId);
127
139
  const cells = [];
128
- for (const columnId of left) {
129
- const cell = allVisibleCells.find((c) => c.column.id === columnId);
140
+ for (let i = 0; i < left.length; i++) {
141
+ const cell = allVisibleCells[left[i]];
130
142
  if (cell) {
131
143
  cell.position = "left";
132
144
  cells.push(cell);
@@ -135,23 +147,24 @@ function row_getLeftVisibleCells(row) {
135
147
  return cells;
136
148
  }
137
149
  /**
138
- * Returns right visible cells for a row.
150
+ * Collects visible cells for columns pinned to the right region.
139
151
  *
140
- * This is the static implementation behind the matching row instance API and may read row caches or table state atoms.
152
+ * Cells are returned in `state.columnPinning.right` order and are marked with
153
+ * `cell.position = 'right'`.
141
154
  *
142
155
  * @example
143
156
  * ```ts
144
- * const value = row_getRightVisibleCells(row)
157
+ * const rightCells = row_getRightVisibleCells(row)
145
158
  * ```
146
159
  */
147
160
  function row_getRightVisibleCells(row) {
148
161
  var _row$table$atoms$colu3;
149
162
  const { right } = ((_row$table$atoms$colu3 = row.table.atoms.columnPinning) === null || _row$table$atoms$colu3 === void 0 ? void 0 : _row$table$atoms$colu3.get()) ?? getDefaultColumnPinningState();
150
163
  if (!right.length) return [];
151
- const allVisibleCells = require_utils.callMemoOrStaticFn(row, "getVisibleCells", require_columnVisibilityFeature_utils.row_getVisibleCells);
164
+ const allVisibleCells = require_utils.callMemoOrStaticFn(row, "getVisibleCellsByColumnId", require_columnVisibilityFeature_utils.row_getVisibleCellsByColumnId);
152
165
  const cells = [];
153
- for (const columnId of right) {
154
- const cell = allVisibleCells.find((c) => c.column.id === columnId);
166
+ for (let i = 0; i < right.length; i++) {
167
+ const cell = allVisibleCells[right[i]];
155
168
  if (cell) {
156
169
  cell.position = "right";
157
170
  cells.push(cell);
@@ -160,13 +173,14 @@ function row_getRightVisibleCells(row) {
160
173
  return cells;
161
174
  }
162
175
  /**
163
- * Updates the table's column pinning state slice.
176
+ * Routes a column pinning updater through the table's pinning change handler.
164
177
  *
165
- * The updater follows TanStack Table updater semantics and is routed through the corresponding `on*Change` option or backing atom.
178
+ * The updater may be a next `{ left, right }` state or a function of the
179
+ * previous state, matching the instance `table.setColumnPinning` behavior.
166
180
  *
167
181
  * @example
168
182
  * ```ts
169
- * table_setColumnPinning(table, (old) => old)
183
+ * table_setColumnPinning(table, (old) => ({ ...old, left: ['select'] }))
170
184
  * ```
171
185
  */
172
186
  function table_setColumnPinning(table, updater) {
@@ -174,9 +188,11 @@ function table_setColumnPinning(table, updater) {
174
188
  (_table$options$onColu = (_table$options = table.options).onColumnPinningChange) === null || _table$options$onColu === void 0 || _table$options$onColu.call(_table$options, updater);
175
189
  }
176
190
  /**
177
- * Resets the table's column pinning state slice.
191
+ * Resets `columnPinning` to the configured initial state or feature default.
178
192
  *
179
- * By default the reset uses `table.initialState`; when supported, a blank/default reset bypasses the saved initial value.
193
+ * With no argument, the reset clones `table.initialState.columnPinning` when it
194
+ * exists. Passing `true` ignores initial state and resets to empty left/right
195
+ * arrays.
180
196
  *
181
197
  * @example
182
198
  * ```ts
@@ -188,13 +204,14 @@ function table_resetColumnPinning(table, defaultState) {
188
204
  table_setColumnPinning(table, defaultState ? getDefaultColumnPinningState() : require_utils.cloneState(table.initialState.columnPinning ?? getDefaultColumnPinningState()));
189
205
  }
190
206
  /**
191
- * Returns is some columns pinned for the table.
207
+ * Checks whether any columns are pinned.
192
208
  *
193
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
209
+ * Omit `position` to check both sides, or pass `'left'`/`'right'` to inspect a
210
+ * single pinning region.
194
211
  *
195
212
  * @example
196
213
  * ```ts
197
- * const value = table_getIsSomeColumnsPinned(table)
214
+ * const hasPinnedColumns = table_getIsSomeColumnsPinned(table)
198
215
  * ```
199
216
  */
200
217
  function table_getIsSomeColumnsPinned(table, position) {
@@ -204,13 +221,14 @@ function table_getIsSomeColumnsPinned(table, position) {
204
221
  return Boolean(pinningState === null || pinningState === void 0 ? void 0 : pinningState[position].length);
205
222
  }
206
223
  /**
207
- * Returns left header groups for the table.
224
+ * Builds header groups for visible columns pinned to the left region.
208
225
  *
209
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
226
+ * The leaf columns are read in `state.columnPinning.left` order and then passed
227
+ * through the same header-group builder as the unpinned table.
210
228
  *
211
229
  * @example
212
230
  * ```ts
213
- * const value = table_getLeftHeaderGroups(table)
231
+ * const headerGroups = table_getLeftHeaderGroups(table)
214
232
  * ```
215
233
  */
216
234
  function table_getLeftHeaderGroups(table) {
@@ -219,20 +237,21 @@ function table_getLeftHeaderGroups(table) {
219
237
  const leafColumnsById = table.getAllLeafColumnsById();
220
238
  const { left } = ((_table$atoms$columnPi2 = table.atoms.columnPinning) === null || _table$atoms$columnPi2 === void 0 ? void 0 : _table$atoms$columnPi2.get()) ?? getDefaultColumnPinningState();
221
239
  const orderedLeafColumns = [];
222
- for (const columnId of left) {
223
- const column = leafColumnsById[columnId];
240
+ for (let i = 0; i < left.length; i++) {
241
+ const column = leafColumnsById[left[i]];
224
242
  if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) orderedLeafColumns.push(column);
225
243
  }
226
244
  return require_buildHeaderGroups.buildHeaderGroups(allColumns, orderedLeafColumns, table, "left");
227
245
  }
228
246
  /**
229
- * Returns right header groups for the table.
247
+ * Builds header groups for visible columns pinned to the right region.
230
248
  *
231
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
249
+ * The leaf columns are read in `state.columnPinning.right` order and then
250
+ * passed through the same header-group builder as the unpinned table.
232
251
  *
233
252
  * @example
234
253
  * ```ts
235
- * const value = table_getRightHeaderGroups(table)
254
+ * const headerGroups = table_getRightHeaderGroups(table)
236
255
  * ```
237
256
  */
238
257
  function table_getRightHeaderGroups(table) {
@@ -241,20 +260,21 @@ function table_getRightHeaderGroups(table) {
241
260
  const leafColumnsById = table.getAllLeafColumnsById();
242
261
  const { right } = ((_table$atoms$columnPi3 = table.atoms.columnPinning) === null || _table$atoms$columnPi3 === void 0 ? void 0 : _table$atoms$columnPi3.get()) ?? getDefaultColumnPinningState();
243
262
  const orderedLeafColumns = [];
244
- for (const columnId of right) {
245
- const column = leafColumnsById[columnId];
263
+ for (let i = 0; i < right.length; i++) {
264
+ const column = leafColumnsById[right[i]];
246
265
  if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) orderedLeafColumns.push(column);
247
266
  }
248
267
  return require_buildHeaderGroups.buildHeaderGroups(allColumns, orderedLeafColumns, table, "right");
249
268
  }
250
269
  /**
251
- * Returns center header groups for the table.
270
+ * Builds header groups for visible columns that are not pinned.
252
271
  *
253
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
272
+ * Left- and right-pinned column ids are removed from the visible leaf column
273
+ * list before header groups are built for the center region.
254
274
  *
255
275
  * @example
256
276
  * ```ts
257
- * const value = table_getCenterHeaderGroups(table)
277
+ * const headerGroups = table_getCenterHeaderGroups(table)
258
278
  * ```
259
279
  */
260
280
  function table_getCenterHeaderGroups(table) {
@@ -267,136 +287,149 @@ function table_getCenterHeaderGroups(table) {
267
287
  return require_buildHeaderGroups.buildHeaderGroups(allColumns, leafColumns, table, "center");
268
288
  }
269
289
  /**
270
- * Returns left footer groups for the table.
290
+ * Builds footer groups for the left pinned region.
271
291
  *
272
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
292
+ * Footer groups reuse the left header groups in reverse order.
273
293
  *
274
294
  * @example
275
295
  * ```ts
276
- * const value = table_getLeftFooterGroups(table)
296
+ * const footerGroups = table_getLeftFooterGroups(table)
277
297
  * ```
278
298
  */
279
299
  function table_getLeftFooterGroups(table) {
280
300
  return [...require_utils.callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups)].reverse();
281
301
  }
282
302
  /**
283
- * Returns right footer groups for the table.
303
+ * Builds footer groups for the right pinned region.
284
304
  *
285
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
305
+ * Footer groups reuse the right header groups in reverse order.
286
306
  *
287
307
  * @example
288
308
  * ```ts
289
- * const value = table_getRightFooterGroups(table)
309
+ * const footerGroups = table_getRightFooterGroups(table)
290
310
  * ```
291
311
  */
292
312
  function table_getRightFooterGroups(table) {
293
313
  return [...require_utils.callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups)].reverse();
294
314
  }
295
315
  /**
296
- * Returns center footer groups for the table.
316
+ * Builds footer groups for the center, unpinned region.
297
317
  *
298
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
318
+ * Footer groups reuse the center header groups in reverse order.
299
319
  *
300
320
  * @example
301
321
  * ```ts
302
- * const value = table_getCenterFooterGroups(table)
322
+ * const footerGroups = table_getCenterFooterGroups(table)
303
323
  * ```
304
324
  */
305
325
  function table_getCenterFooterGroups(table) {
306
326
  return [...require_utils.callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups)].reverse();
307
327
  }
308
328
  /**
309
- * Returns left flat headers for the table.
329
+ * Flattens every header from the left pinned header groups.
310
330
  *
311
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
331
+ * Parent headers and placeholder headers are included.
312
332
  *
313
333
  * @example
314
334
  * ```ts
315
- * const value = table_getLeftFlatHeaders(table)
335
+ * const headers = table_getLeftFlatHeaders(table)
316
336
  * ```
317
337
  */
318
338
  function table_getLeftFlatHeaders(table) {
319
- return require_utils.callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups).map((headerGroup) => {
320
- return headerGroup.headers;
321
- }).flat();
339
+ const leftHeaderGroups = require_utils.callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups);
340
+ const result = [];
341
+ for (let i = 0; i < leftHeaderGroups.length; i++) {
342
+ const headers = leftHeaderGroups[i].headers;
343
+ for (let j = 0; j < headers.length; j++) result.push(headers[j]);
344
+ }
345
+ return result;
322
346
  }
323
347
  /**
324
- * Returns right flat headers for the table.
348
+ * Flattens every header from the right pinned header groups.
325
349
  *
326
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
350
+ * Parent headers and placeholder headers are included.
327
351
  *
328
352
  * @example
329
353
  * ```ts
330
- * const value = table_getRightFlatHeaders(table)
354
+ * const headers = table_getRightFlatHeaders(table)
331
355
  * ```
332
356
  */
333
357
  function table_getRightFlatHeaders(table) {
334
- return require_utils.callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups).map((headerGroup) => {
335
- return headerGroup.headers;
336
- }).flat();
358
+ const rightHeaderGroups = require_utils.callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups);
359
+ const result = [];
360
+ for (let i = 0; i < rightHeaderGroups.length; i++) {
361
+ const headers = rightHeaderGroups[i].headers;
362
+ for (let j = 0; j < headers.length; j++) result.push(headers[j]);
363
+ }
364
+ return result;
337
365
  }
338
366
  /**
339
- * Returns center flat headers for the table.
367
+ * Flattens every header from the center header groups.
340
368
  *
341
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
369
+ * Parent headers and placeholder headers are included.
342
370
  *
343
371
  * @example
344
372
  * ```ts
345
- * const value = table_getCenterFlatHeaders(table)
373
+ * const headers = table_getCenterFlatHeaders(table)
346
374
  * ```
347
375
  */
348
376
  function table_getCenterFlatHeaders(table) {
349
- return require_utils.callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups).map((headerGroup) => {
350
- return headerGroup.headers;
351
- }).flat();
377
+ const centerHeaderGroups = require_utils.callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups);
378
+ const result = [];
379
+ for (let i = 0; i < centerHeaderGroups.length; i++) {
380
+ const headers = centerHeaderGroups[i].headers;
381
+ for (let j = 0; j < headers.length; j++) result.push(headers[j]);
382
+ }
383
+ return result;
352
384
  }
353
385
  /**
354
- * Returns left leaf headers for the table.
386
+ * Collects leaf headers for the left pinned region.
355
387
  *
356
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
388
+ * Parent headers are filtered out from the left flat header list.
357
389
  *
358
390
  * @example
359
391
  * ```ts
360
- * const value = table_getLeftLeafHeaders(table)
392
+ * const headers = table_getLeftLeafHeaders(table)
361
393
  * ```
362
394
  */
363
395
  function table_getLeftLeafHeaders(table) {
364
396
  return require_utils.callMemoOrStaticFn(table, "getLeftFlatHeaders", table_getLeftFlatHeaders).filter((header) => !header.subHeaders.length);
365
397
  }
366
398
  /**
367
- * Returns right leaf headers for the table.
399
+ * Collects leaf headers for the right pinned region.
368
400
  *
369
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
401
+ * Parent headers are filtered out from the right flat header list.
370
402
  *
371
403
  * @example
372
404
  * ```ts
373
- * const value = table_getRightLeafHeaders(table)
405
+ * const headers = table_getRightLeafHeaders(table)
374
406
  * ```
375
407
  */
376
408
  function table_getRightLeafHeaders(table) {
377
409
  return require_utils.callMemoOrStaticFn(table, "getRightFlatHeaders", table_getRightFlatHeaders).filter((header) => !header.subHeaders.length);
378
410
  }
379
411
  /**
380
- * Returns center leaf headers for the table.
412
+ * Collects leaf headers for the center, unpinned region.
381
413
  *
382
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
414
+ * Parent headers are filtered out from the center flat header list.
383
415
  *
384
416
  * @example
385
417
  * ```ts
386
- * const value = table_getCenterLeafHeaders(table)
418
+ * const headers = table_getCenterLeafHeaders(table)
387
419
  * ```
388
420
  */
389
421
  function table_getCenterLeafHeaders(table) {
390
422
  return require_utils.callMemoOrStaticFn(table, "getCenterFlatHeaders", table_getCenterFlatHeaders).filter((header) => !header.subHeaders.length);
391
423
  }
392
424
  /**
393
- * Returns left leaf columns for the table.
425
+ * Resolves leaf columns pinned to the left region.
394
426
  *
395
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
427
+ * The result follows `state.columnPinning.left` order and skips stale ids that
428
+ * no longer correspond to a leaf column.
396
429
  *
397
430
  * @example
398
431
  * ```ts
399
- * const value = table_getLeftLeafColumns(table)
432
+ * const columns = table_getLeftLeafColumns(table)
400
433
  * ```
401
434
  */
402
435
  function table_getLeftLeafColumns(table) {
@@ -404,20 +437,21 @@ function table_getLeftLeafColumns(table) {
404
437
  const { left } = ((_table$atoms$columnPi5 = table.atoms.columnPinning) === null || _table$atoms$columnPi5 === void 0 ? void 0 : _table$atoms$columnPi5.get()) ?? getDefaultColumnPinningState();
405
438
  const leafColumnsById = table.getAllLeafColumnsById();
406
439
  const result = [];
407
- for (const columnId of left) {
408
- const column = leafColumnsById[columnId];
440
+ for (let i = 0; i < left.length; i++) {
441
+ const column = leafColumnsById[left[i]];
409
442
  if (column) result.push(column);
410
443
  }
411
444
  return result;
412
445
  }
413
446
  /**
414
- * Returns right leaf columns for the table.
447
+ * Resolves leaf columns pinned to the right region.
415
448
  *
416
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
449
+ * The result follows `state.columnPinning.right` order and skips stale ids that
450
+ * no longer correspond to a leaf column.
417
451
  *
418
452
  * @example
419
453
  * ```ts
420
- * const value = table_getRightLeafColumns(table)
454
+ * const columns = table_getRightLeafColumns(table)
421
455
  * ```
422
456
  */
423
457
  function table_getRightLeafColumns(table) {
@@ -425,20 +459,20 @@ function table_getRightLeafColumns(table) {
425
459
  const { right } = ((_table$atoms$columnPi6 = table.atoms.columnPinning) === null || _table$atoms$columnPi6 === void 0 ? void 0 : _table$atoms$columnPi6.get()) ?? getDefaultColumnPinningState();
426
460
  const leafColumnsById = table.getAllLeafColumnsById();
427
461
  const result = [];
428
- for (const columnId of right) {
429
- const column = leafColumnsById[columnId];
462
+ for (let i = 0; i < right.length; i++) {
463
+ const column = leafColumnsById[right[i]];
430
464
  if (column) result.push(column);
431
465
  }
432
466
  return result;
433
467
  }
434
468
  /**
435
- * Returns center leaf columns for the table.
469
+ * Resolves leaf columns that are not pinned to either side.
436
470
  *
437
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
471
+ * Left- and right-pinned ids are removed from `table.getAllLeafColumns()`.
438
472
  *
439
473
  * @example
440
474
  * ```ts
441
- * const value = table_getCenterLeafColumns(table)
475
+ * const columns = table_getCenterLeafColumns(table)
442
476
  * ```
443
477
  */
444
478
  function table_getCenterLeafColumns(table) {
@@ -448,65 +482,68 @@ function table_getCenterLeafColumns(table) {
448
482
  return table.getAllLeafColumns().filter((d) => !leftAndRight.includes(d.id));
449
483
  }
450
484
  /**
451
- * Returns pinned leaf columns for the table.
485
+ * Resolves leaf columns for a requested pinning region.
452
486
  *
453
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
487
+ * Pass `'left'`, `'center'`, or `'right'` for a partition, or pass `false` to
488
+ * read all leaf columns without partitioning.
454
489
  *
455
490
  * @example
456
491
  * ```ts
457
- * const value = table_getPinnedLeafColumns(table)
492
+ * const columns = table_getPinnedLeafColumns(table, 'center')
458
493
  * ```
459
494
  */
460
495
  function table_getPinnedLeafColumns(table, position) {
461
496
  return !position ? table.getAllLeafColumns() : position === "left" ? require_utils.callMemoOrStaticFn(table, "getLeftLeafColumns", table_getLeftLeafColumns) : position === "right" ? require_utils.callMemoOrStaticFn(table, "getRightLeafColumns", table_getRightLeafColumns) : require_utils.callMemoOrStaticFn(table, "getCenterLeafColumns", table_getCenterLeafColumns);
462
497
  }
463
498
  /**
464
- * Returns left visible leaf columns for the table.
499
+ * Resolves visible leaf columns pinned to the left region.
465
500
  *
466
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
501
+ * Hidden pinned columns are filtered out after the left pin order is applied.
467
502
  *
468
503
  * @example
469
504
  * ```ts
470
- * const value = table_getLeftVisibleLeafColumns(table)
505
+ * const columns = table_getLeftVisibleLeafColumns(table)
471
506
  * ```
472
507
  */
473
508
  function table_getLeftVisibleLeafColumns(table) {
474
509
  return require_utils.callMemoOrStaticFn(table, "getLeftLeafColumns", table_getLeftLeafColumns).filter((column) => require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible));
475
510
  }
476
511
  /**
477
- * Returns right visible leaf columns for the table.
512
+ * Resolves visible leaf columns pinned to the right region.
478
513
  *
479
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
514
+ * Hidden pinned columns are filtered out after the right pin order is applied.
480
515
  *
481
516
  * @example
482
517
  * ```ts
483
- * const value = table_getRightVisibleLeafColumns(table)
518
+ * const columns = table_getRightVisibleLeafColumns(table)
484
519
  * ```
485
520
  */
486
521
  function table_getRightVisibleLeafColumns(table) {
487
522
  return require_utils.callMemoOrStaticFn(table, "getRightLeafColumns", table_getRightLeafColumns).filter((column) => require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible));
488
523
  }
489
524
  /**
490
- * Returns center visible leaf columns for the table.
525
+ * Resolves visible leaf columns that are not pinned.
491
526
  *
492
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
527
+ * This is the center partition used by layouts that render pinned columns
528
+ * separately from the scrollable middle region.
493
529
  *
494
530
  * @example
495
531
  * ```ts
496
- * const value = table_getCenterVisibleLeafColumns(table)
532
+ * const columns = table_getCenterVisibleLeafColumns(table)
497
533
  * ```
498
534
  */
499
535
  function table_getCenterVisibleLeafColumns(table) {
500
536
  return require_utils.callMemoOrStaticFn(table, "getCenterLeafColumns", table_getCenterLeafColumns).filter((column) => require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible));
501
537
  }
502
538
  /**
503
- * Returns pinned visible leaf columns for the table.
539
+ * Resolves visible leaf columns for a requested pinning region.
504
540
  *
505
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
541
+ * Omit `position` to get all visible leaf columns, or pass `'left'`, `'center'`,
542
+ * or `'right'` to get one partition.
506
543
  *
507
544
  * @example
508
545
  * ```ts
509
- * const value = table_getPinnedVisibleLeafColumns(table)
546
+ * const columns = table_getPinnedVisibleLeafColumns(table, 'left')
510
547
  * ```
511
548
  */
512
549
  function table_getPinnedVisibleLeafColumns(table, position) {