@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
@@ -8,19 +8,21 @@ import { Table } from "../../types/Table.cjs";
8
8
  //#region src/core/headers/coreHeadersFeature.types.d.ts
9
9
  interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData> {
10
10
  /**
11
- * Returns all header groups for the table.
11
+ * Builds the visible header groups for the current column tree, visibility,
12
+ * and pinning state.
12
13
  */
13
14
  getHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
14
15
  /**
15
- * Returns the footer groups for the table.
16
+ * Builds footer groups by reversing the current header group order.
16
17
  */
17
18
  getFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
18
19
  /**
19
- * Returns headers for all columns in the table, including parent headers.
20
+ * Flattens every header from every header group, including parent and
21
+ * placeholder headers.
20
22
  */
21
23
  getFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
22
24
  /**
23
- * Returns headers for all leaf columns in the table, (not including parent headers).
25
+ * Collects only leaf headers, excluding parent/group headers.
24
26
  */
25
27
  getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
26
28
  }
@@ -8,19 +8,21 @@ import { Table } from "../../types/Table.js";
8
8
  //#region src/core/headers/coreHeadersFeature.types.d.ts
9
9
  interface Table_Headers<TFeatures extends TableFeatures, TData extends RowData> {
10
10
  /**
11
- * Returns all header groups for the table.
11
+ * Builds the visible header groups for the current column tree, visibility,
12
+ * and pinning state.
12
13
  */
13
14
  getHeaderGroups: () => Array<HeaderGroup<TFeatures, TData>>;
14
15
  /**
15
- * Returns the footer groups for the table.
16
+ * Builds footer groups by reversing the current header group order.
16
17
  */
17
18
  getFooterGroups: () => Array<HeaderGroup<TFeatures, TData>>;
18
19
  /**
19
- * Returns headers for all columns in the table, including parent headers.
20
+ * Flattens every header from every header group, including parent and
21
+ * placeholder headers.
20
22
  */
21
23
  getFlatHeaders: () => Array<Header<TFeatures, TData, unknown>>;
22
24
  /**
23
- * Returns headers for all leaf columns in the table, (not including parent headers).
25
+ * Collects only leaf headers, excluding parent/group headers.
24
26
  */
25
27
  getLeafHeaders: () => Array<Header<TFeatures, TData, unknown>>;
26
28
  }
@@ -5,13 +5,14 @@ const require_columnPinningFeature_utils = require('../../features/column-pinnin
5
5
 
6
6
  //#region src/core/headers/coreHeadersFeature.utils.ts
7
7
  /**
8
- * Returns leaf headers for a header.
8
+ * Walks a header tree and collects all descendant leaf headers.
9
9
  *
10
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
10
+ * The header itself is included after its descendants, matching the recursive
11
+ * shape used by nested header groups.
11
12
  *
12
13
  * @example
13
14
  * ```ts
14
- * const value = header_getLeafHeaders(header)
15
+ * const leafHeaders = header_getLeafHeaders(header)
15
16
  * ```
16
17
  */
17
18
  function header_getLeafHeaders(header) {
@@ -24,13 +25,13 @@ function header_getLeafHeaders(header) {
24
25
  return leafHeaders;
25
26
  }
26
27
  /**
27
- * Returns context for a header.
28
+ * Builds the render context passed to a column's `header` or `footer` template.
28
29
  *
29
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
30
+ * The context contains the header, its column, and the owning table instance.
30
31
  *
31
32
  * @example
32
33
  * ```ts
33
- * const value = header_getContext(header)
34
+ * const context = header_getContext(header)
34
35
  * ```
35
36
  */
36
37
  function header_getContext(header) {
@@ -41,13 +42,14 @@ function header_getContext(header) {
41
42
  };
42
43
  }
43
44
  /**
44
- * Returns header groups for the table.
45
+ * Builds visible header groups for the current column tree.
45
46
  *
46
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
47
+ * Column visibility and pinning are applied before groups are built. When no
48
+ * columns are pinned, the fast path skips pin partitioning.
47
49
  *
48
50
  * @example
49
51
  * ```ts
50
- * const value = table_getHeaderGroups(table)
52
+ * const headerGroups = table_getHeaderGroups(table)
51
53
  * ```
52
54
  */
53
55
  function table_getHeaderGroups(table) {
@@ -55,15 +57,16 @@ function table_getHeaderGroups(table) {
55
57
  const { left, right } = ((_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get()) ?? require_columnPinningFeature_utils.getDefaultColumnPinningState();
56
58
  const allColumns = table.getAllColumns();
57
59
  const leafColumns = require_utils.callMemoOrStaticFn(table, "getVisibleLeafColumns", require_columnVisibilityFeature_utils.table_getVisibleLeafColumns);
60
+ if (!left.length && !right.length) return require_buildHeaderGroups.buildHeaderGroups(allColumns, leafColumns, table);
58
61
  const leafColumnsById = table.getAllLeafColumnsById();
59
62
  const leftColumns = [];
60
- for (const columnId of left) {
61
- const column = leafColumnsById[columnId];
63
+ for (let i = 0; i < left.length; i++) {
64
+ const column = leafColumnsById[left[i]];
62
65
  if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) leftColumns.push(column);
63
66
  }
64
67
  const rightColumns = [];
65
- for (const columnId of right) {
66
- const column = leafColumnsById[columnId];
68
+ for (let i = 0; i < right.length; i++) {
69
+ const column = leafColumnsById[right[i]];
67
70
  if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) rightColumns.push(column);
68
71
  }
69
72
  const centerColumns = leafColumns.filter((column) => !left.includes(column.id) && !right.includes(column.id));
@@ -74,55 +77,59 @@ function table_getHeaderGroups(table) {
74
77
  ], table);
75
78
  }
76
79
  /**
77
- * Returns footer groups for the table.
80
+ * Builds footer groups by reversing the current header groups.
78
81
  *
79
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
82
+ * Footer rendering uses the same header objects and grouping structure, but
83
+ * renders them from leaf level back toward the root.
80
84
  *
81
85
  * @example
82
86
  * ```ts
83
- * const value = table_getFooterGroups(table)
87
+ * const footerGroups = table_getFooterGroups(table)
84
88
  * ```
85
89
  */
86
90
  function table_getFooterGroups(table) {
87
91
  return [...table.getHeaderGroups()].reverse();
88
92
  }
89
93
  /**
90
- * Returns flat headers for the table.
94
+ * Flattens every header from every header group into one array.
91
95
  *
92
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
96
+ * The result includes parent headers and placeholder headers, in header-group
97
+ * order from top to bottom.
93
98
  *
94
99
  * @example
95
100
  * ```ts
96
- * const value = table_getFlatHeaders(table)
101
+ * const flatHeaders = table_getFlatHeaders(table)
97
102
  * ```
98
103
  */
99
104
  function table_getFlatHeaders(table) {
100
- return table.getHeaderGroups().map((headerGroup) => {
101
- return headerGroup.headers;
102
- }).flat();
105
+ const headerGroups = table.getHeaderGroups();
106
+ const result = [];
107
+ for (let i = 0; i < headerGroups.length; i++) {
108
+ const headers = headerGroups[i].headers;
109
+ for (let j = 0; j < headers.length; j++) result.push(headers[j]);
110
+ }
111
+ return result;
103
112
  }
104
113
  /**
105
- * Returns leaf headers for the table.
114
+ * Collects only the leaf headers from the current header tree.
106
115
  *
107
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
116
+ * Parent/group headers are skipped, making the result suitable for rendering
117
+ * one header per visible leaf column.
108
118
  *
109
119
  * @example
110
120
  * ```ts
111
- * const value = table_getLeafHeaders(table)
121
+ * const leafHeaders = table_getLeafHeaders(table)
112
122
  * ```
113
123
  */
114
124
  function table_getLeafHeaders(table) {
115
- var _left$, _center$, _right$;
116
- const left = require_utils.callMemoOrStaticFn(table, "getLeftHeaderGroups", require_columnPinningFeature_utils.table_getLeftHeaderGroups);
117
- const center = require_utils.callMemoOrStaticFn(table, "getCenterHeaderGroups", require_columnPinningFeature_utils.table_getCenterHeaderGroups);
118
- const right = require_utils.callMemoOrStaticFn(table, "getRightHeaderGroups", require_columnPinningFeature_utils.table_getRightHeaderGroups);
119
- return [
120
- ...((_left$ = left[0]) === null || _left$ === void 0 ? void 0 : _left$.headers) ?? [],
121
- ...((_center$ = center[0]) === null || _center$ === void 0 ? void 0 : _center$.headers) ?? [],
122
- ...((_right$ = right[0]) === null || _right$ === void 0 ? void 0 : _right$.headers) ?? []
123
- ].map((header) => {
124
- return header.getLeafHeaders();
125
- }).flat();
125
+ var _table$getHeaderGroup;
126
+ const topHeaders = ((_table$getHeaderGroup = table.getHeaderGroups()[0]) === null || _table$getHeaderGroup === void 0 ? void 0 : _table$getHeaderGroup.headers) ?? [];
127
+ const result = [];
128
+ for (let i = 0; i < topHeaders.length; i++) {
129
+ const leafHeaders = topHeaders[i].getLeafHeaders();
130
+ for (let j = 0; j < leafHeaders.length; j++) result.push(leafHeaders[j]);
131
+ }
132
+ return result;
126
133
  }
127
134
 
128
135
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.utils.cjs","names":["getDefaultColumnPinningState","callMemoOrStaticFn","table_getVisibleLeafColumns","column_getIsVisible","buildHeaderGroups","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import {\n getDefaultColumnPinningState,\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n column_getIsVisible,\n table_getVisibleLeafColumns,\n} from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\n/**\n * Returns leaf headers for a header.\n *\n * This is the static implementation behind the matching header instance API and can account for nested header groups.\n *\n * @example\n * ```ts\n * const value = header_getLeafHeaders(header)\n * ```\n */\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\n/**\n * Returns context for a header.\n *\n * This is the static implementation behind the matching header instance API and can account for nested header groups.\n *\n * @example\n * ```ts\n * const value = header_getContext(header)\n * ```\n */\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\n/**\n * Returns header groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getHeaderGroups(table)\n * ```\n */\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as Array<Column<TFeatures, TData, unknown>>\n const leafColumnsById = table.getAllLeafColumnsById()\n\n const leftColumns: typeof leafColumns = []\n for (const columnId of left) {\n const column = leafColumnsById[columnId]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n leftColumns.push(column)\n }\n }\n\n const rightColumns: typeof leafColumns = []\n for (const columnId of right) {\n const column = leafColumnsById[columnId]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n rightColumns.push(column)\n }\n }\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n const headerGroups = buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n\n return headerGroups\n}\n\n/**\n * Returns footer groups for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getFooterGroups(table)\n * ```\n */\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\n/**\n * Returns flat headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getFlatHeaders(table)\n * ```\n */\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return headerGroups\n .map((headerGroup) => {\n return headerGroup.headers\n })\n .flat()\n}\n\n/**\n * Returns leaf headers for the table.\n *\n * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.\n *\n * @example\n * ```ts\n * const value = table_getLeafHeaders(table)\n * ```\n */\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const left = callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n )\n const center = callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n )\n const right = callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n )\n\n return [\n ...(left[0]?.headers ?? []),\n ...(center[0]?.headers ?? []),\n ...(right[0]?.headers ?? []),\n ]\n .map((header) => {\n return header.getLeafHeaders()\n })\n .flat()\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;EACpE,IAAI,EAAE,WAAW,QACf,EAAE,WAAW,IAAI,cAAc;EAEjC,YAAY,KAAK,EAAsC;;CAGzD,cAAc,OAAO;CAErB,OAAO;;;;;;;;;;;;AAaT,SAAgB,kBAId,QAA0C;CAC1C,OAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;;;;;;;;;;;AAaH,SAAgB,sBAGd,OAAyC;;CACzC,MAAM,EAAE,MAAM,oCACZ,MAAM,MAAM,6FAAe,KAAK,KAAIA,iEAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAcC,iCAClB,OACA,yBACAC,kEACD;CACD,MAAM,kBAAkB,MAAM,uBAAuB;CAErD,MAAM,cAAkC,EAAE;CAC1C,KAAK,MAAM,YAAY,MAAM;EAC3B,MAAM,SAAS,gBAAgB;EAC/B,IACE,UACAD,iCAAmB,QAAQ,gBAAgBE,0DAAoB,EAE/D,YAAY,KAAK,OAAO;;CAI5B,MAAM,eAAmC,EAAE;CAC3C,KAAK,MAAM,YAAY,OAAO;EAC5B,MAAM,SAAS,gBAAgB;EAC/B,IACE,UACAF,iCAAmB,QAAQ,gBAAgBE,0DAAoB,EAE/D,aAAa,KAAK,OAAO;;CAI7B,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;CAQD,OANqBC,4CACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MAGiB;;;;;;;;;;;;AAarB,SAAgB,sBAGd,OAAyC;CAEzC,OAAO,CAAC,GADa,MAAM,iBACJ,CAAC,CAAC,SAAS;;;;;;;;;;;;AAapC,SAAgB,qBAGd,OAAyC;CAEzC,OADqB,MAAM,iBACR,CAChB,KAAK,gBAAgB;EACpB,OAAO,YAAY;GACnB,CACD,MAAM;;;;;;;;;;;;AAaX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAOH,iCACX,OACA,uBACAI,6DACD;CACD,MAAM,SAASJ,iCACb,OACA,yBACAK,+DACD;CACD,MAAM,QAAQL,iCACZ,OACA,wBACAM,8DACD;CAED,OAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;EACf,OAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
1
+ {"version":3,"file":"coreHeadersFeature.utils.cjs","names":["getDefaultColumnPinningState","callMemoOrStaticFn","table_getVisibleLeafColumns","buildHeaderGroups","column_getIsVisible"],"sources":["../../../src/core/headers/coreHeadersFeature.utils.ts"],"sourcesContent":["import { getDefaultColumnPinningState } from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n column_getIsVisible,\n table_getVisibleLeafColumns,\n} from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { callMemoOrStaticFn } from '../../utils'\nimport { buildHeaderGroups } from './buildHeaderGroups'\nimport type { Table_Internal } from '../../types/Table'\nimport type { Header } from '../../types/Header'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header_Header } from './coreHeadersFeature.types'\nimport type { Column } from '../../types/Column'\n\n/**\n * Walks a header tree and collects all descendant leaf headers.\n *\n * The header itself is included after its descendants, matching the recursive\n * shape used by nested header groups.\n *\n * @example\n * ```ts\n * const leafHeaders = header_getLeafHeaders(header)\n * ```\n */\nexport function header_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n const leafHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n const recurseHeader = (h: Header_Header<TFeatures, TData, TValue>) => {\n if (h.subHeaders.length) {\n h.subHeaders.map(recurseHeader)\n }\n leafHeaders.push(h as Header<TFeatures, TData, TValue>)\n }\n\n recurseHeader(header)\n\n return leafHeaders\n}\n\n/**\n * Builds the render context passed to a column's `header` or `footer` template.\n *\n * The context contains the header, its column, and the owning table instance.\n *\n * @example\n * ```ts\n * const context = header_getContext(header)\n * ```\n */\nexport function header_getContext<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue,\n>(header: Header<TFeatures, TData, TValue>) {\n return {\n column: header.column,\n header,\n table: header.column.table,\n }\n}\n\n/**\n * Builds visible header groups for the current column tree.\n *\n * Column visibility and pinning are applied before groups are built. When no\n * columns are pinned, the fast path skips pin partitioning.\n *\n * @example\n * ```ts\n * const headerGroups = table_getHeaderGroups(table)\n * ```\n */\nexport function table_getHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const { left, right } =\n table.atoms.columnPinning?.get() ?? getDefaultColumnPinningState()\n const allColumns = table.getAllColumns()\n const leafColumns = callMemoOrStaticFn(\n table,\n 'getVisibleLeafColumns',\n table_getVisibleLeafColumns,\n ) as Array<Column<TFeatures, TData, unknown>>\n\n // Fast path: no columns are pinned — skip per-side lookups, partition, and spread.\n if (!left.length && !right.length) {\n return buildHeaderGroups(allColumns, leafColumns, table)\n }\n\n const leafColumnsById = table.getAllLeafColumnsById()\n\n const leftColumns: typeof leafColumns = []\n for (let i = 0; i < left.length; i++) {\n const column = leafColumnsById[left[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n leftColumns.push(column)\n }\n }\n\n const rightColumns: typeof leafColumns = []\n for (let i = 0; i < right.length; i++) {\n const column = leafColumnsById[right[i]!]\n if (\n column &&\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible)\n ) {\n rightColumns.push(column)\n }\n }\n\n const centerColumns = leafColumns.filter(\n (column) => !left.includes(column.id) && !right.includes(column.id),\n )\n\n return buildHeaderGroups(\n allColumns,\n [...leftColumns, ...centerColumns, ...rightColumns],\n table,\n )\n}\n\n/**\n * Builds footer groups by reversing the current header groups.\n *\n * Footer rendering uses the same header objects and grouping structure, but\n * renders them from leaf level back toward the root.\n *\n * @example\n * ```ts\n * const footerGroups = table_getFooterGroups(table)\n * ```\n */\nexport function table_getFooterGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n return [...headerGroups].reverse()\n}\n\n/**\n * Flattens every header from every header group into one array.\n *\n * The result includes parent headers and placeholder headers, in header-group\n * order from top to bottom.\n *\n * @example\n * ```ts\n * const flatHeaders = table_getFlatHeaders(table)\n * ```\n */\nexport function table_getFlatHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const headerGroups = table.getHeaderGroups()\n const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < headerGroups.length; i++) {\n const headers = headerGroups[i]!.headers\n for (let j = 0; j < headers.length; j++) {\n result.push(headers[j]!)\n }\n }\n return result\n}\n\n/**\n * Collects only the leaf headers from the current header tree.\n *\n * Parent/group headers are skipped, making the result suitable for rendering\n * one header per visible leaf column.\n *\n * @example\n * ```ts\n * const leafHeaders = table_getLeafHeaders(table)\n * ```\n */\nexport function table_getLeafHeaders<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>) {\n const topHeaders = table.getHeaderGroups()[0]?.headers ?? []\n const result: Array<Header<TFeatures, TData, unknown>> = []\n for (let i = 0; i < topHeaders.length; i++) {\n const leafHeaders = topHeaders[i]!.getLeafHeaders()\n for (let j = 0; j < leafHeaders.length; j++) {\n result.push(leafHeaders[j]!)\n }\n }\n return result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAyBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;EACpE,IAAI,EAAE,WAAW,QACf,EAAE,WAAW,IAAI,cAAc;EAEjC,YAAY,KAAK,EAAsC;;CAGzD,cAAc,OAAO;CAErB,OAAO;;;;;;;;;;;;AAaT,SAAgB,kBAId,QAA0C;CAC1C,OAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;;;;;;;;;;;;AAcH,SAAgB,sBAGd,OAAyC;;CACzC,MAAM,EAAE,MAAM,oCACZ,MAAM,MAAM,6FAAe,KAAK,KAAIA,iEAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAcC,iCAClB,OACA,yBACAC,kEACD;CAGD,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,QACzB,OAAOC,4CAAkB,YAAY,aAAa,MAAM;CAG1D,MAAM,kBAAkB,MAAM,uBAAuB;CAErD,MAAM,cAAkC,EAAE;CAC1C,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;EACpC,MAAM,SAAS,gBAAgB,KAAK;EACpC,IACE,UACAF,iCAAmB,QAAQ,gBAAgBG,0DAAoB,EAE/D,YAAY,KAAK,OAAO;;CAI5B,MAAM,eAAmC,EAAE;CAC3C,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACrC,MAAM,SAAS,gBAAgB,MAAM;EACrC,IACE,UACAH,iCAAmB,QAAQ,gBAAgBG,0DAAoB,EAE/D,aAAa,KAAK,OAAO;;CAI7B,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;CAED,OAAOD,4CACL,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;;;;;;;;;;;;AAcH,SAAgB,sBAGd,OAAyC;CAEzC,OAAO,CAAC,GADa,MAAM,iBACJ,CAAC,CAAC,SAAS;;;;;;;;;;;;;AAcpC,SAAgB,qBAGd,OAAyC;CACzC,MAAM,eAAe,MAAM,iBAAiB;CAC5C,MAAM,SAAmD,EAAE;CAC3D,KAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;EAC5C,MAAM,UAAU,aAAa,GAAI;EACjC,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAClC,OAAO,KAAK,QAAQ,GAAI;;CAG5B,OAAO;;;;;;;;;;;;;AAcT,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,uCAAa,MAAM,iBAAiB,CAAC,kFAAI,YAAW,EAAE;CAC5D,MAAM,SAAmD,EAAE;CAC3D,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;EAC1C,MAAM,cAAc,WAAW,GAAI,gBAAgB;EACnD,KAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KACtC,OAAO,KAAK,YAAY,GAAI;;CAGhC,OAAO"}
@@ -6,24 +6,25 @@ import { TableFeatures } from "../../types/TableFeatures.cjs";
6
6
  import { Table_Internal } from "../../types/Table.cjs";
7
7
  //#region src/core/headers/coreHeadersFeature.utils.d.ts
8
8
  /**
9
- * Returns leaf headers for a header.
9
+ * Walks a header tree and collects all descendant leaf headers.
10
10
  *
11
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
11
+ * The header itself is included after its descendants, matching the recursive
12
+ * shape used by nested header groups.
12
13
  *
13
14
  * @example
14
15
  * ```ts
15
- * const value = header_getLeafHeaders(header)
16
+ * const leafHeaders = header_getLeafHeaders(header)
16
17
  * ```
17
18
  */
18
19
  declare function header_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData, TValue>(header: Header<TFeatures, TData, TValue>): Header<TFeatures, TData, TValue>[];
19
20
  /**
20
- * Returns context for a header.
21
+ * Builds the render context passed to a column's `header` or `footer` template.
21
22
  *
22
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
23
+ * The context contains the header, its column, and the owning table instance.
23
24
  *
24
25
  * @example
25
26
  * ```ts
26
- * const value = header_getContext(header)
27
+ * const context = header_getContext(header)
27
28
  * ```
28
29
  */
29
30
  declare function header_getContext<TFeatures extends TableFeatures, TData extends RowData, TValue>(header: Header<TFeatures, TData, TValue>): {
@@ -32,49 +33,53 @@ declare function header_getContext<TFeatures extends TableFeatures, TData extend
32
33
  table: Table_Internal<TFeatures, TData>;
33
34
  };
34
35
  /**
35
- * Returns header groups for the table.
36
+ * Builds visible header groups for the current column tree.
36
37
  *
37
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
38
+ * Column visibility and pinning are applied before groups are built. When no
39
+ * columns are pinned, the fast path skips pin partitioning.
38
40
  *
39
41
  * @example
40
42
  * ```ts
41
- * const value = table_getHeaderGroups(table)
43
+ * const headerGroups = table_getHeaderGroups(table)
42
44
  * ```
43
45
  */
44
46
  declare function table_getHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
45
47
  /**
46
- * Returns footer groups for the table.
48
+ * Builds footer groups by reversing the current header groups.
47
49
  *
48
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
50
+ * Footer rendering uses the same header objects and grouping structure, but
51
+ * renders them from leaf level back toward the root.
49
52
  *
50
53
  * @example
51
54
  * ```ts
52
- * const value = table_getFooterGroups(table)
55
+ * const footerGroups = table_getFooterGroups(table)
53
56
  * ```
54
57
  */
55
58
  declare function table_getFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
56
59
  /**
57
- * Returns flat headers for the table.
60
+ * Flattens every header from every header group into one array.
58
61
  *
59
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
62
+ * The result includes parent headers and placeholder headers, in header-group
63
+ * order from top to bottom.
60
64
  *
61
65
  * @example
62
66
  * ```ts
63
- * const value = table_getFlatHeaders(table)
67
+ * const flatHeaders = table_getFlatHeaders(table)
64
68
  * ```
65
69
  */
66
70
  declare function table_getFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
67
71
  /**
68
- * Returns leaf headers for the table.
72
+ * Collects only the leaf headers from the current header tree.
69
73
  *
70
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
74
+ * Parent/group headers are skipped, making the result suitable for rendering
75
+ * one header per visible leaf column.
71
76
  *
72
77
  * @example
73
78
  * ```ts
74
- * const value = table_getLeafHeaders(table)
79
+ * const leafHeaders = table_getLeafHeaders(table)
75
80
  * ```
76
81
  */
77
- declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
82
+ declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
78
83
  //#endregion
79
84
  export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
80
85
  //# sourceMappingURL=coreHeadersFeature.utils.d.cts.map
@@ -6,24 +6,25 @@ import { TableFeatures } from "../../types/TableFeatures.js";
6
6
  import { Table_Internal } from "../../types/Table.js";
7
7
  //#region src/core/headers/coreHeadersFeature.utils.d.ts
8
8
  /**
9
- * Returns leaf headers for a header.
9
+ * Walks a header tree and collects all descendant leaf headers.
10
10
  *
11
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
11
+ * The header itself is included after its descendants, matching the recursive
12
+ * shape used by nested header groups.
12
13
  *
13
14
  * @example
14
15
  * ```ts
15
- * const value = header_getLeafHeaders(header)
16
+ * const leafHeaders = header_getLeafHeaders(header)
16
17
  * ```
17
18
  */
18
19
  declare function header_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData, TValue>(header: Header<TFeatures, TData, TValue>): Header<TFeatures, TData, TValue>[];
19
20
  /**
20
- * Returns context for a header.
21
+ * Builds the render context passed to a column's `header` or `footer` template.
21
22
  *
22
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
23
+ * The context contains the header, its column, and the owning table instance.
23
24
  *
24
25
  * @example
25
26
  * ```ts
26
- * const value = header_getContext(header)
27
+ * const context = header_getContext(header)
27
28
  * ```
28
29
  */
29
30
  declare function header_getContext<TFeatures extends TableFeatures, TData extends RowData, TValue>(header: Header<TFeatures, TData, TValue>): {
@@ -32,49 +33,53 @@ declare function header_getContext<TFeatures extends TableFeatures, TData extend
32
33
  table: Table_Internal<TFeatures, TData>;
33
34
  };
34
35
  /**
35
- * Returns header groups for the table.
36
+ * Builds visible header groups for the current column tree.
36
37
  *
37
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
38
+ * Column visibility and pinning are applied before groups are built. When no
39
+ * columns are pinned, the fast path skips pin partitioning.
38
40
  *
39
41
  * @example
40
42
  * ```ts
41
- * const value = table_getHeaderGroups(table)
43
+ * const headerGroups = table_getHeaderGroups(table)
42
44
  * ```
43
45
  */
44
46
  declare function table_getHeaderGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
45
47
  /**
46
- * Returns footer groups for the table.
48
+ * Builds footer groups by reversing the current header groups.
47
49
  *
48
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
50
+ * Footer rendering uses the same header objects and grouping structure, but
51
+ * renders them from leaf level back toward the root.
49
52
  *
50
53
  * @example
51
54
  * ```ts
52
- * const value = table_getFooterGroups(table)
55
+ * const footerGroups = table_getFooterGroups(table)
53
56
  * ```
54
57
  */
55
58
  declare function table_getFooterGroups<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): HeaderGroup<TFeatures, TData>[];
56
59
  /**
57
- * Returns flat headers for the table.
60
+ * Flattens every header from every header group into one array.
58
61
  *
59
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
62
+ * The result includes parent headers and placeholder headers, in header-group
63
+ * order from top to bottom.
60
64
  *
61
65
  * @example
62
66
  * ```ts
63
- * const value = table_getFlatHeaders(table)
67
+ * const flatHeaders = table_getFlatHeaders(table)
64
68
  * ```
65
69
  */
66
70
  declare function table_getFlatHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
67
71
  /**
68
- * Returns leaf headers for the table.
72
+ * Collects only the leaf headers from the current header tree.
69
73
  *
70
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
74
+ * Parent/group headers are skipped, making the result suitable for rendering
75
+ * one header per visible leaf column.
71
76
  *
72
77
  * @example
73
78
  * ```ts
74
- * const value = table_getLeafHeaders(table)
79
+ * const leafHeaders = table_getLeafHeaders(table)
75
80
  * ```
76
81
  */
77
- declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): any[];
82
+ declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
78
83
  //#endregion
79
84
  export { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders };
80
85
  //# sourceMappingURL=coreHeadersFeature.utils.d.ts.map
@@ -1,17 +1,18 @@
1
1
  import { callMemoOrStaticFn } from "../../utils.js";
2
2
  import { column_getIsVisible, table_getVisibleLeafColumns } from "../../features/column-visibility/columnVisibilityFeature.utils.js";
3
3
  import { buildHeaderGroups } from "./buildHeaderGroups.js";
4
- import { getDefaultColumnPinningState, table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getRightHeaderGroups } from "../../features/column-pinning/columnPinningFeature.utils.js";
4
+ import { getDefaultColumnPinningState } from "../../features/column-pinning/columnPinningFeature.utils.js";
5
5
 
6
6
  //#region src/core/headers/coreHeadersFeature.utils.ts
7
7
  /**
8
- * Returns leaf headers for a header.
8
+ * Walks a header tree and collects all descendant leaf headers.
9
9
  *
10
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
10
+ * The header itself is included after its descendants, matching the recursive
11
+ * shape used by nested header groups.
11
12
  *
12
13
  * @example
13
14
  * ```ts
14
- * const value = header_getLeafHeaders(header)
15
+ * const leafHeaders = header_getLeafHeaders(header)
15
16
  * ```
16
17
  */
17
18
  function header_getLeafHeaders(header) {
@@ -24,13 +25,13 @@ function header_getLeafHeaders(header) {
24
25
  return leafHeaders;
25
26
  }
26
27
  /**
27
- * Returns context for a header.
28
+ * Builds the render context passed to a column's `header` or `footer` template.
28
29
  *
29
- * This is the static implementation behind the matching header instance API and can account for nested header groups.
30
+ * The context contains the header, its column, and the owning table instance.
30
31
  *
31
32
  * @example
32
33
  * ```ts
33
- * const value = header_getContext(header)
34
+ * const context = header_getContext(header)
34
35
  * ```
35
36
  */
36
37
  function header_getContext(header) {
@@ -41,13 +42,14 @@ function header_getContext(header) {
41
42
  };
42
43
  }
43
44
  /**
44
- * Returns header groups for the table.
45
+ * Builds visible header groups for the current column tree.
45
46
  *
46
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
47
+ * Column visibility and pinning are applied before groups are built. When no
48
+ * columns are pinned, the fast path skips pin partitioning.
47
49
  *
48
50
  * @example
49
51
  * ```ts
50
- * const value = table_getHeaderGroups(table)
52
+ * const headerGroups = table_getHeaderGroups(table)
51
53
  * ```
52
54
  */
53
55
  function table_getHeaderGroups(table) {
@@ -55,15 +57,16 @@ function table_getHeaderGroups(table) {
55
57
  const { left, right } = ((_table$atoms$columnPi = table.atoms.columnPinning) === null || _table$atoms$columnPi === void 0 ? void 0 : _table$atoms$columnPi.get()) ?? getDefaultColumnPinningState();
56
58
  const allColumns = table.getAllColumns();
57
59
  const leafColumns = callMemoOrStaticFn(table, "getVisibleLeafColumns", table_getVisibleLeafColumns);
60
+ if (!left.length && !right.length) return buildHeaderGroups(allColumns, leafColumns, table);
58
61
  const leafColumnsById = table.getAllLeafColumnsById();
59
62
  const leftColumns = [];
60
- for (const columnId of left) {
61
- const column = leafColumnsById[columnId];
63
+ for (let i = 0; i < left.length; i++) {
64
+ const column = leafColumnsById[left[i]];
62
65
  if (column && callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)) leftColumns.push(column);
63
66
  }
64
67
  const rightColumns = [];
65
- for (const columnId of right) {
66
- const column = leafColumnsById[columnId];
68
+ for (let i = 0; i < right.length; i++) {
69
+ const column = leafColumnsById[right[i]];
67
70
  if (column && callMemoOrStaticFn(column, "getIsVisible", column_getIsVisible)) rightColumns.push(column);
68
71
  }
69
72
  const centerColumns = leafColumns.filter((column) => !left.includes(column.id) && !right.includes(column.id));
@@ -74,55 +77,59 @@ function table_getHeaderGroups(table) {
74
77
  ], table);
75
78
  }
76
79
  /**
77
- * Returns footer groups for the table.
80
+ * Builds footer groups by reversing the current header groups.
78
81
  *
79
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
82
+ * Footer rendering uses the same header objects and grouping structure, but
83
+ * renders them from leaf level back toward the root.
80
84
  *
81
85
  * @example
82
86
  * ```ts
83
- * const value = table_getFooterGroups(table)
87
+ * const footerGroups = table_getFooterGroups(table)
84
88
  * ```
85
89
  */
86
90
  function table_getFooterGroups(table) {
87
91
  return [...table.getHeaderGroups()].reverse();
88
92
  }
89
93
  /**
90
- * Returns flat headers for the table.
94
+ * Flattens every header from every header group into one array.
91
95
  *
92
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
96
+ * The result includes parent headers and placeholder headers, in header-group
97
+ * order from top to bottom.
93
98
  *
94
99
  * @example
95
100
  * ```ts
96
- * const value = table_getFlatHeaders(table)
101
+ * const flatHeaders = table_getFlatHeaders(table)
97
102
  * ```
98
103
  */
99
104
  function table_getFlatHeaders(table) {
100
- return table.getHeaderGroups().map((headerGroup) => {
101
- return headerGroup.headers;
102
- }).flat();
105
+ const headerGroups = table.getHeaderGroups();
106
+ const result = [];
107
+ for (let i = 0; i < headerGroups.length; i++) {
108
+ const headers = headerGroups[i].headers;
109
+ for (let j = 0; j < headers.length; j++) result.push(headers[j]);
110
+ }
111
+ return result;
103
112
  }
104
113
  /**
105
- * Returns leaf headers for the table.
114
+ * Collects only the leaf headers from the current header tree.
106
115
  *
107
- * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
116
+ * Parent/group headers are skipped, making the result suitable for rendering
117
+ * one header per visible leaf column.
108
118
  *
109
119
  * @example
110
120
  * ```ts
111
- * const value = table_getLeafHeaders(table)
121
+ * const leafHeaders = table_getLeafHeaders(table)
112
122
  * ```
113
123
  */
114
124
  function table_getLeafHeaders(table) {
115
- var _left$, _center$, _right$;
116
- const left = callMemoOrStaticFn(table, "getLeftHeaderGroups", table_getLeftHeaderGroups);
117
- const center = callMemoOrStaticFn(table, "getCenterHeaderGroups", table_getCenterHeaderGroups);
118
- const right = callMemoOrStaticFn(table, "getRightHeaderGroups", table_getRightHeaderGroups);
119
- return [
120
- ...((_left$ = left[0]) === null || _left$ === void 0 ? void 0 : _left$.headers) ?? [],
121
- ...((_center$ = center[0]) === null || _center$ === void 0 ? void 0 : _center$.headers) ?? [],
122
- ...((_right$ = right[0]) === null || _right$ === void 0 ? void 0 : _right$.headers) ?? []
123
- ].map((header) => {
124
- return header.getLeafHeaders();
125
- }).flat();
125
+ var _table$getHeaderGroup;
126
+ const topHeaders = ((_table$getHeaderGroup = table.getHeaderGroups()[0]) === null || _table$getHeaderGroup === void 0 ? void 0 : _table$getHeaderGroup.headers) ?? [];
127
+ const result = [];
128
+ for (let i = 0; i < topHeaders.length; i++) {
129
+ const leafHeaders = topHeaders[i].getLeafHeaders();
130
+ for (let j = 0; j < leafHeaders.length; j++) result.push(leafHeaders[j]);
131
+ }
132
+ return result;
126
133
  }
127
134
 
128
135
  //#endregion