@tanstack/table-core 9.0.0-alpha.47 → 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 (246) hide show
  1. package/README.md +10 -0
  2. package/dist/core/cells/coreCellsFeature.utils.cjs +11 -8
  3. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  4. package/dist/core/cells/coreCellsFeature.utils.d.cts +11 -8
  5. package/dist/core/cells/coreCellsFeature.utils.d.ts +11 -8
  6. package/dist/core/cells/coreCellsFeature.utils.js +11 -8
  7. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  8. package/dist/core/columns/coreColumnsFeature.types.d.cts +7 -6
  9. package/dist/core/columns/coreColumnsFeature.types.d.ts +7 -6
  10. package/dist/core/columns/coreColumnsFeature.utils.cjs +37 -27
  11. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  12. package/dist/core/columns/coreColumnsFeature.utils.d.cts +37 -27
  13. package/dist/core/columns/coreColumnsFeature.utils.d.ts +37 -27
  14. package/dist/core/columns/coreColumnsFeature.utils.js +37 -27
  15. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  16. package/dist/core/headers/coreHeadersFeature.types.d.cts +6 -4
  17. package/dist/core/headers/coreHeadersFeature.types.d.ts +6 -4
  18. package/dist/core/headers/coreHeadersFeature.utils.cjs +23 -18
  19. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  20. package/dist/core/headers/coreHeadersFeature.utils.d.cts +23 -18
  21. package/dist/core/headers/coreHeadersFeature.utils.d.ts +23 -18
  22. package/dist/core/headers/coreHeadersFeature.utils.js +23 -18
  23. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  24. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +48 -36
  25. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  26. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +48 -36
  27. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +48 -36
  28. package/dist/core/row-models/coreRowModelsFeature.utils.js +48 -36
  29. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  30. package/dist/core/rows/coreRowsFeature.types.d.cts +4 -4
  31. package/dist/core/rows/coreRowsFeature.types.d.ts +4 -4
  32. package/dist/core/rows/coreRowsFeature.utils.cjs +34 -28
  33. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  34. package/dist/core/rows/coreRowsFeature.utils.d.cts +34 -28
  35. package/dist/core/rows/coreRowsFeature.utils.d.ts +34 -28
  36. package/dist/core/rows/coreRowsFeature.utils.js +34 -28
  37. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  38. package/dist/core/table/coreTablesFeature.types.d.cts +6 -2
  39. package/dist/core/table/coreTablesFeature.types.d.ts +6 -2
  40. package/dist/core/table/coreTablesFeature.utils.cjs +2 -2
  41. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  42. package/dist/core/table/coreTablesFeature.utils.d.cts +2 -2
  43. package/dist/core/table/coreTablesFeature.utils.d.ts +2 -2
  44. package/dist/core/table/coreTablesFeature.utils.js +2 -2
  45. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  46. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +16 -10
  47. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +16 -10
  48. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +26 -18
  49. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  50. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +26 -18
  51. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +26 -18
  52. package/dist/features/column-faceting/columnFacetingFeature.utils.js +26 -18
  53. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  54. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +21 -11
  55. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +21 -11
  56. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +39 -28
  57. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  58. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +39 -28
  59. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +39 -28
  60. package/dist/features/column-filtering/columnFilteringFeature.utils.js +39 -28
  61. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  62. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +18 -14
  63. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +18 -14
  64. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +55 -43
  65. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  66. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +55 -43
  67. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +55 -43
  68. package/dist/features/column-grouping/columnGroupingFeature.utils.js +55 -43
  69. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  70. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +14 -5
  71. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +14 -5
  72. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +30 -23
  73. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  74. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +30 -23
  75. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +30 -23
  76. package/dist/features/column-ordering/columnOrderingFeature.utils.js +30 -23
  77. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  78. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +43 -31
  79. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +43 -31
  80. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +111 -91
  81. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  82. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +111 -91
  83. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +111 -91
  84. package/dist/features/column-pinning/columnPinningFeature.utils.js +111 -91
  85. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  86. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +9 -9
  87. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +9 -9
  88. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +28 -19
  89. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  90. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +28 -19
  91. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +28 -19
  92. package/dist/features/column-resizing/columnResizingFeature.utils.js +28 -19
  93. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  94. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +19 -12
  95. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +19 -12
  96. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +52 -41
  97. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  98. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +52 -41
  99. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +52 -41
  100. package/dist/features/column-sizing/columnSizingFeature.utils.js +52 -41
  101. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  102. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +16 -13
  103. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +16 -13
  104. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +54 -42
  105. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  106. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +54 -42
  107. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +54 -42
  108. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +54 -42
  109. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  110. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +10 -5
  111. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +10 -5
  112. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +20 -14
  113. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  114. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +20 -14
  115. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +20 -14
  116. package/dist/features/global-filtering/globalFilteringFeature.utils.js +20 -14
  117. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  118. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +16 -15
  119. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +16 -15
  120. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +56 -41
  121. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  122. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +56 -41
  123. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +56 -41
  124. package/dist/features/row-expanding/rowExpandingFeature.utils.js +56 -41
  125. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  126. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +19 -12
  127. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +19 -12
  128. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +49 -32
  129. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  130. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +49 -32
  131. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +49 -32
  132. package/dist/features/row-pagination/rowPaginationFeature.utils.js +49 -32
  133. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  134. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +12 -8
  135. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +12 -8
  136. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +39 -29
  137. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  138. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +39 -29
  139. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +39 -29
  140. package/dist/features/row-pinning/rowPinningFeature.utils.js +39 -29
  141. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  142. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +30 -24
  143. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +30 -24
  144. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +89 -69
  145. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  146. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +89 -69
  147. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +89 -69
  148. package/dist/features/row-selection/rowSelectionFeature.utils.js +89 -69
  149. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  150. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +10 -8
  151. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +10 -8
  152. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +61 -44
  153. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  154. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +61 -44
  155. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +61 -44
  156. package/dist/features/row-sorting/rowSortingFeature.utils.js +61 -44
  157. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  158. package/dist/fns/aggregationFns.cjs +33 -9
  159. package/dist/fns/aggregationFns.cjs.map +1 -1
  160. package/dist/fns/aggregationFns.d.cts +33 -9
  161. package/dist/fns/aggregationFns.d.ts +33 -9
  162. package/dist/fns/aggregationFns.js +33 -9
  163. package/dist/fns/aggregationFns.js.map +1 -1
  164. package/dist/fns/filterFns.cjs +48 -17
  165. package/dist/fns/filterFns.cjs.map +1 -1
  166. package/dist/fns/filterFns.d.cts +42 -15
  167. package/dist/fns/filterFns.d.ts +42 -15
  168. package/dist/fns/filterFns.js +48 -17
  169. package/dist/fns/filterFns.js.map +1 -1
  170. package/dist/helpers/columnHelper.cjs +9 -4
  171. package/dist/helpers/columnHelper.cjs.map +1 -1
  172. package/dist/helpers/columnHelper.d.cts +9 -4
  173. package/dist/helpers/columnHelper.d.ts +9 -4
  174. package/dist/helpers/columnHelper.js +9 -4
  175. package/dist/helpers/columnHelper.js.map +1 -1
  176. package/dist/helpers/tableOptions.cjs.map +1 -1
  177. package/dist/helpers/tableOptions.d.cts +12 -9
  178. package/dist/helpers/tableOptions.d.ts +12 -9
  179. package/dist/helpers/tableOptions.js.map +1 -1
  180. package/dist/types/ColumnDef.d.cts +38 -0
  181. package/dist/types/ColumnDef.d.ts +38 -0
  182. package/dist/types/TableOptions.d.cts +15 -0
  183. package/dist/types/TableOptions.d.ts +15 -0
  184. package/dist/types/TableState.d.cts +12 -0
  185. package/dist/types/TableState.d.ts +12 -0
  186. package/package.json +5 -3
  187. package/skills/column-definitions/SKILL.md +333 -0
  188. package/skills/column-layout/SKILL.md +328 -0
  189. package/skills/column-layout/references/subsystems.md +220 -0
  190. package/skills/customizing-feature-behavior/SKILL.md +416 -0
  191. package/skills/filtering/SKILL.md +357 -0
  192. package/skills/filtering/references/faceting-and-fuzzy.md +191 -0
  193. package/skills/grouping/SKILL.md +448 -0
  194. package/skills/migrate-v8-to-v9/SKILL.md +495 -0
  195. package/skills/pagination/SKILL.md +385 -0
  196. package/skills/row-expanding/SKILL.md +348 -0
  197. package/skills/row-pinning/SKILL.md +269 -0
  198. package/skills/row-selection/SKILL.md +391 -0
  199. package/skills/setup/SKILL.md +400 -0
  200. package/skills/sorting/SKILL.md +344 -0
  201. package/skills/state-management/SKILL.md +388 -0
  202. package/src/core/cells/coreCellsFeature.utils.ts +11 -8
  203. package/src/core/columns/coreColumnsFeature.types.ts +7 -6
  204. package/src/core/columns/coreColumnsFeature.utils.ts +37 -27
  205. package/src/core/headers/coreHeadersFeature.types.ts +6 -4
  206. package/src/core/headers/coreHeadersFeature.utils.ts +23 -18
  207. package/src/core/row-models/coreRowModelsFeature.utils.ts +48 -36
  208. package/src/core/rows/coreRowsFeature.types.ts +4 -4
  209. package/src/core/rows/coreRowsFeature.utils.ts +34 -28
  210. package/src/core/table/coreTablesFeature.types.ts +6 -2
  211. package/src/core/table/coreTablesFeature.utils.ts +2 -2
  212. package/src/features/column-faceting/columnFacetingFeature.types.ts +16 -10
  213. package/src/features/column-faceting/columnFacetingFeature.utils.ts +26 -18
  214. package/src/features/column-filtering/columnFilteringFeature.types.ts +21 -11
  215. package/src/features/column-filtering/columnFilteringFeature.utils.ts +39 -28
  216. package/src/features/column-grouping/columnGroupingFeature.types.ts +18 -14
  217. package/src/features/column-grouping/columnGroupingFeature.utils.ts +55 -43
  218. package/src/features/column-ordering/columnOrderingFeature.types.ts +14 -5
  219. package/src/features/column-ordering/columnOrderingFeature.utils.ts +30 -23
  220. package/src/features/column-pinning/columnPinningFeature.types.ts +43 -31
  221. package/src/features/column-pinning/columnPinningFeature.utils.ts +111 -91
  222. package/src/features/column-resizing/columnResizingFeature.types.ts +9 -9
  223. package/src/features/column-resizing/columnResizingFeature.utils.ts +28 -19
  224. package/src/features/column-sizing/columnSizingFeature.types.ts +19 -12
  225. package/src/features/column-sizing/columnSizingFeature.utils.ts +52 -41
  226. package/src/features/column-visibility/columnVisibilityFeature.types.ts +16 -13
  227. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +54 -42
  228. package/src/features/global-filtering/globalFilteringFeature.types.ts +10 -5
  229. package/src/features/global-filtering/globalFilteringFeature.utils.ts +20 -14
  230. package/src/features/row-expanding/rowExpandingFeature.types.ts +16 -15
  231. package/src/features/row-expanding/rowExpandingFeature.utils.ts +56 -41
  232. package/src/features/row-pagination/rowPaginationFeature.types.ts +19 -12
  233. package/src/features/row-pagination/rowPaginationFeature.utils.ts +49 -32
  234. package/src/features/row-pinning/rowPinningFeature.types.ts +12 -8
  235. package/src/features/row-pinning/rowPinningFeature.utils.ts +39 -29
  236. package/src/features/row-selection/rowSelectionFeature.types.ts +30 -24
  237. package/src/features/row-selection/rowSelectionFeature.utils.ts +89 -69
  238. package/src/features/row-sorting/rowSortingFeature.types.ts +10 -8
  239. package/src/features/row-sorting/rowSortingFeature.utils.ts +61 -44
  240. package/src/fns/aggregationFns.ts +33 -9
  241. package/src/fns/filterFns.ts +48 -17
  242. package/src/helpers/columnHelper.ts +9 -4
  243. package/src/helpers/tableOptions.ts +12 -9
  244. package/src/types/ColumnDef.ts +38 -0
  245. package/src/types/TableOptions.ts +15 -0
  246. package/src/types/TableState.ts +12 -0
@@ -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) {
@@ -75,26 +77,28 @@ function table_getHeaderGroups(table) {
75
77
  ], table);
76
78
  }
77
79
  /**
78
- * Returns footer groups for the table.
80
+ * Builds footer groups by reversing the current header groups.
79
81
  *
80
- * 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.
81
84
  *
82
85
  * @example
83
86
  * ```ts
84
- * const value = table_getFooterGroups(table)
87
+ * const footerGroups = table_getFooterGroups(table)
85
88
  * ```
86
89
  */
87
90
  function table_getFooterGroups(table) {
88
91
  return [...table.getHeaderGroups()].reverse();
89
92
  }
90
93
  /**
91
- * Returns flat headers for the table.
94
+ * Flattens every header from every header group into one array.
92
95
  *
93
- * 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.
94
98
  *
95
99
  * @example
96
100
  * ```ts
97
- * const value = table_getFlatHeaders(table)
101
+ * const flatHeaders = table_getFlatHeaders(table)
98
102
  * ```
99
103
  */
100
104
  function table_getFlatHeaders(table) {
@@ -107,13 +111,14 @@ function table_getFlatHeaders(table) {
107
111
  return result;
108
112
  }
109
113
  /**
110
- * Returns leaf headers for the table.
114
+ * Collects only the leaf headers from the current header tree.
111
115
  *
112
- * 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.
113
118
  *
114
119
  * @example
115
120
  * ```ts
116
- * const value = table_getLeafHeaders(table)
121
+ * const leafHeaders = table_getLeafHeaders(table)
117
122
  * ```
118
123
  */
119
124
  function table_getLeafHeaders(table) {
@@ -1 +1 @@
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 * 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\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 * 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 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 * 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 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":";;;;;;;;;;;;;;;;AAwBA,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;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;;;;;;;;;;;;AAaH,SAAgB,sBAGd,OAAyC;CAEzC,OAAO,CAAC,GADa,MAAM,iBACJ,CAAC,CAAC,SAAS;;;;;;;;;;;;AAapC,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;;;;;;;;;;;;AAaT,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"}
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,46 +33,50 @@ 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
82
  declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
@@ -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,46 +33,50 @@ 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
82
  declare function table_getLeafHeaders<TFeatures extends TableFeatures, TData extends RowData>(table: Table_Internal<TFeatures, TData>): Header<TFeatures, TData, unknown>[];
@@ -5,13 +5,14 @@ import { getDefaultColumnPinningState } from "../../features/column-pinning/colu
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) {
@@ -75,26 +77,28 @@ function table_getHeaderGroups(table) {
75
77
  ], table);
76
78
  }
77
79
  /**
78
- * Returns footer groups for the table.
80
+ * Builds footer groups by reversing the current header groups.
79
81
  *
80
- * 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.
81
84
  *
82
85
  * @example
83
86
  * ```ts
84
- * const value = table_getFooterGroups(table)
87
+ * const footerGroups = table_getFooterGroups(table)
85
88
  * ```
86
89
  */
87
90
  function table_getFooterGroups(table) {
88
91
  return [...table.getHeaderGroups()].reverse();
89
92
  }
90
93
  /**
91
- * Returns flat headers for the table.
94
+ * Flattens every header from every header group into one array.
92
95
  *
93
- * 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.
94
98
  *
95
99
  * @example
96
100
  * ```ts
97
- * const value = table_getFlatHeaders(table)
101
+ * const flatHeaders = table_getFlatHeaders(table)
98
102
  * ```
99
103
  */
100
104
  function table_getFlatHeaders(table) {
@@ -107,13 +111,14 @@ function table_getFlatHeaders(table) {
107
111
  return result;
108
112
  }
109
113
  /**
110
- * Returns leaf headers for the table.
114
+ * Collects only the leaf headers from the current header tree.
111
115
  *
112
- * 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.
113
118
  *
114
119
  * @example
115
120
  * ```ts
116
- * const value = table_getLeafHeaders(table)
121
+ * const leafHeaders = table_getLeafHeaders(table)
117
122
  * ```
118
123
  */
119
124
  function table_getLeafHeaders(table) {
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.utils.js","names":[],"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 * 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\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 * 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 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 * 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 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":";;;;;;;;;;;;;;;;AAwBA,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,KAAI,8BAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAc,mBAClB,OACA,yBACA,4BACD;CAGD,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,QACzB,OAAO,kBAAkB,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,UACA,mBAAmB,QAAQ,gBAAgB,oBAAoB,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,UACA,mBAAmB,QAAQ,gBAAgB,oBAAoB,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,OAAO,kBACL,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MACD;;;;;;;;;;;;AAaH,SAAgB,sBAGd,OAAyC;CAEzC,OAAO,CAAC,GADa,MAAM,iBACJ,CAAC,CAAC,SAAS;;;;;;;;;;;;AAapC,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;;;;;;;;;;;;AAaT,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"}
1
+ {"version":3,"file":"coreHeadersFeature.utils.js","names":[],"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,KAAI,8BAA8B;CACpE,MAAM,aAAa,MAAM,eAAe;CACxC,MAAM,cAAc,mBAClB,OACA,yBACA,4BACD;CAGD,IAAI,CAAC,KAAK,UAAU,CAAC,MAAM,QACzB,OAAO,kBAAkB,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,UACA,mBAAmB,QAAQ,gBAAgB,oBAAoB,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,UACA,mBAAmB,QAAQ,gBAAgB,oBAAoB,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,OAAO,kBACL,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"}