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

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 (518) hide show
  1. package/dist/core/cells/constructCell.cjs +5 -0
  2. package/dist/core/cells/constructCell.cjs.map +1 -1
  3. package/dist/core/cells/constructCell.d.cts +5 -0
  4. package/dist/core/cells/constructCell.d.ts +5 -0
  5. package/dist/core/cells/constructCell.js +5 -0
  6. package/dist/core/cells/constructCell.js.map +1 -1
  7. package/dist/core/cells/coreCellsFeature.cjs +5 -0
  8. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  9. package/dist/core/cells/coreCellsFeature.d.cts +5 -0
  10. package/dist/core/cells/coreCellsFeature.d.ts +5 -0
  11. package/dist/core/cells/coreCellsFeature.js +5 -0
  12. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  13. package/dist/core/cells/coreCellsFeature.utils.cjs +30 -0
  14. package/dist/core/cells/coreCellsFeature.utils.cjs.map +1 -1
  15. package/dist/core/cells/coreCellsFeature.utils.d.cts +30 -0
  16. package/dist/core/cells/coreCellsFeature.utils.d.ts +30 -0
  17. package/dist/core/cells/coreCellsFeature.utils.js +30 -0
  18. package/dist/core/cells/coreCellsFeature.utils.js.map +1 -1
  19. package/dist/core/columns/constructColumn.cjs +16 -9
  20. package/dist/core/columns/constructColumn.cjs.map +1 -1
  21. package/dist/core/columns/constructColumn.d.cts +5 -0
  22. package/dist/core/columns/constructColumn.d.ts +5 -0
  23. package/dist/core/columns/constructColumn.js +16 -9
  24. package/dist/core/columns/constructColumn.js.map +1 -1
  25. package/dist/core/columns/coreColumnsFeature.cjs +9 -0
  26. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  27. package/dist/core/columns/coreColumnsFeature.d.cts +5 -0
  28. package/dist/core/columns/coreColumnsFeature.d.ts +5 -0
  29. package/dist/core/columns/coreColumnsFeature.js +10 -1
  30. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  31. package/dist/core/columns/coreColumnsFeature.types.d.cts +4 -0
  32. package/dist/core/columns/coreColumnsFeature.types.d.ts +4 -0
  33. package/dist/core/columns/coreColumnsFeature.utils.cjs +99 -4
  34. package/dist/core/columns/coreColumnsFeature.utils.cjs.map +1 -1
  35. package/dist/core/columns/coreColumnsFeature.utils.d.cts +92 -1
  36. package/dist/core/columns/coreColumnsFeature.utils.d.ts +92 -1
  37. package/dist/core/columns/coreColumnsFeature.utils.js +99 -5
  38. package/dist/core/columns/coreColumnsFeature.utils.js.map +1 -1
  39. package/dist/core/coreFeatures.cjs +5 -0
  40. package/dist/core/coreFeatures.cjs.map +1 -1
  41. package/dist/core/coreFeatures.d.cts +5 -0
  42. package/dist/core/coreFeatures.d.ts +5 -0
  43. package/dist/core/coreFeatures.js +5 -0
  44. package/dist/core/coreFeatures.js.map +1 -1
  45. package/dist/core/headers/buildHeaderGroups.cjs +6 -1
  46. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  47. package/dist/core/headers/buildHeaderGroups.d.cts +5 -0
  48. package/dist/core/headers/buildHeaderGroups.d.ts +5 -0
  49. package/dist/core/headers/buildHeaderGroups.js +6 -1
  50. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  51. package/dist/core/headers/constructHeader.cjs +5 -0
  52. package/dist/core/headers/constructHeader.cjs.map +1 -1
  53. package/dist/core/headers/constructHeader.d.cts +5 -0
  54. package/dist/core/headers/constructHeader.d.ts +5 -0
  55. package/dist/core/headers/constructHeader.js +5 -0
  56. package/dist/core/headers/constructHeader.js.map +1 -1
  57. package/dist/core/headers/coreHeadersFeature.cjs +5 -0
  58. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  59. package/dist/core/headers/coreHeadersFeature.d.cts +5 -0
  60. package/dist/core/headers/coreHeadersFeature.d.ts +5 -0
  61. package/dist/core/headers/coreHeadersFeature.js +5 -0
  62. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  63. package/dist/core/headers/coreHeadersFeature.utils.cjs +71 -2
  64. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  65. package/dist/core/headers/coreHeadersFeature.utils.d.cts +60 -0
  66. package/dist/core/headers/coreHeadersFeature.utils.d.ts +60 -0
  67. package/dist/core/headers/coreHeadersFeature.utils.js +72 -3
  68. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  69. package/dist/core/reactivity/coreReactivityFeature.utils.cjs +5 -0
  70. package/dist/core/reactivity/coreReactivityFeature.utils.cjs.map +1 -1
  71. package/dist/core/reactivity/coreReactivityFeature.utils.d.cts +10 -0
  72. package/dist/core/reactivity/coreReactivityFeature.utils.d.ts +10 -0
  73. package/dist/core/reactivity/coreReactivityFeature.utils.js +5 -0
  74. package/dist/core/reactivity/coreReactivityFeature.utils.js.map +1 -1
  75. package/dist/core/row-models/coreRowModelsFeature.cjs +5 -0
  76. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  77. package/dist/core/row-models/coreRowModelsFeature.d.cts +5 -0
  78. package/dist/core/row-models/coreRowModelsFeature.d.ts +5 -0
  79. package/dist/core/row-models/coreRowModelsFeature.js +5 -0
  80. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  81. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +2 -1
  82. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +2 -1
  83. package/dist/core/row-models/coreRowModelsFeature.utils.cjs +120 -0
  84. package/dist/core/row-models/coreRowModelsFeature.utils.cjs.map +1 -1
  85. package/dist/core/row-models/coreRowModelsFeature.utils.d.cts +120 -0
  86. package/dist/core/row-models/coreRowModelsFeature.utils.d.ts +120 -0
  87. package/dist/core/row-models/coreRowModelsFeature.utils.js +120 -0
  88. package/dist/core/row-models/coreRowModelsFeature.utils.js.map +1 -1
  89. package/dist/core/row-models/createCoreRowModel.cjs +5 -0
  90. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  91. package/dist/core/row-models/createCoreRowModel.d.cts +5 -0
  92. package/dist/core/row-models/createCoreRowModel.d.ts +5 -0
  93. package/dist/core/row-models/createCoreRowModel.js +5 -0
  94. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  95. package/dist/core/rows/constructRow.cjs +5 -0
  96. package/dist/core/rows/constructRow.cjs.map +1 -1
  97. package/dist/core/rows/constructRow.d.cts +5 -0
  98. package/dist/core/rows/constructRow.d.ts +5 -0
  99. package/dist/core/rows/constructRow.js +5 -0
  100. package/dist/core/rows/constructRow.js.map +1 -1
  101. package/dist/core/rows/coreRowsFeature.cjs +5 -0
  102. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  103. package/dist/core/rows/coreRowsFeature.d.cts +5 -0
  104. package/dist/core/rows/coreRowsFeature.d.ts +5 -0
  105. package/dist/core/rows/coreRowsFeature.js +5 -0
  106. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  107. package/dist/core/rows/coreRowsFeature.types.d.cts +3 -0
  108. package/dist/core/rows/coreRowsFeature.types.d.ts +3 -0
  109. package/dist/core/rows/coreRowsFeature.utils.cjs +104 -4
  110. package/dist/core/rows/coreRowsFeature.utils.cjs.map +1 -1
  111. package/dist/core/rows/coreRowsFeature.utils.d.cts +101 -0
  112. package/dist/core/rows/coreRowsFeature.utils.d.ts +101 -0
  113. package/dist/core/rows/coreRowsFeature.utils.js +104 -4
  114. package/dist/core/rows/coreRowsFeature.utils.js.map +1 -1
  115. package/dist/core/table/constructTable.cjs +10 -0
  116. package/dist/core/table/constructTable.cjs.map +1 -1
  117. package/dist/core/table/constructTable.d.cts +10 -0
  118. package/dist/core/table/constructTable.d.ts +10 -0
  119. package/dist/core/table/constructTable.js +10 -0
  120. package/dist/core/table/constructTable.js.map +1 -1
  121. package/dist/core/table/coreTablesFeature.cjs +5 -0
  122. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  123. package/dist/core/table/coreTablesFeature.d.cts +5 -0
  124. package/dist/core/table/coreTablesFeature.d.ts +5 -0
  125. package/dist/core/table/coreTablesFeature.js +5 -0
  126. package/dist/core/table/coreTablesFeature.js.map +1 -1
  127. package/dist/core/table/coreTablesFeature.types.d.cts +22 -12
  128. package/dist/core/table/coreTablesFeature.types.d.ts +22 -12
  129. package/dist/core/table/coreTablesFeature.utils.cjs +44 -0
  130. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  131. package/dist/core/table/coreTablesFeature.utils.d.cts +44 -0
  132. package/dist/core/table/coreTablesFeature.utils.d.ts +44 -0
  133. package/dist/core/table/coreTablesFeature.utils.js +44 -0
  134. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  135. package/dist/features/column-faceting/columnFacetingFeature.cjs +9 -1
  136. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  137. package/dist/features/column-faceting/columnFacetingFeature.d.cts +9 -1
  138. package/dist/features/column-faceting/columnFacetingFeature.d.ts +9 -1
  139. package/dist/features/column-faceting/columnFacetingFeature.js +9 -1
  140. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  141. package/dist/features/column-faceting/columnFacetingFeature.types.d.cts +12 -6
  142. package/dist/features/column-faceting/columnFacetingFeature.types.d.ts +12 -6
  143. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs +60 -0
  144. package/dist/features/column-faceting/columnFacetingFeature.utils.cjs.map +1 -1
  145. package/dist/features/column-faceting/columnFacetingFeature.utils.d.cts +60 -0
  146. package/dist/features/column-faceting/columnFacetingFeature.utils.d.ts +60 -0
  147. package/dist/features/column-faceting/columnFacetingFeature.utils.js +60 -0
  148. package/dist/features/column-faceting/columnFacetingFeature.utils.js.map +1 -1
  149. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs +5 -0
  150. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  151. package/dist/features/column-faceting/createFacetedMinMaxValues.d.cts +5 -0
  152. package/dist/features/column-faceting/createFacetedMinMaxValues.d.ts +5 -0
  153. package/dist/features/column-faceting/createFacetedMinMaxValues.js +5 -0
  154. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  155. package/dist/features/column-faceting/createFacetedRowModel.cjs +5 -0
  156. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  157. package/dist/features/column-faceting/createFacetedRowModel.d.cts +5 -0
  158. package/dist/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  159. package/dist/features/column-faceting/createFacetedRowModel.js +5 -0
  160. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  161. package/dist/features/column-faceting/createFacetedUniqueValues.cjs +5 -0
  162. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  163. package/dist/features/column-faceting/createFacetedUniqueValues.d.cts +5 -0
  164. package/dist/features/column-faceting/createFacetedUniqueValues.d.ts +5 -0
  165. package/dist/features/column-faceting/createFacetedUniqueValues.js +5 -0
  166. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  167. package/dist/features/column-filtering/columnFilteringFeature.cjs +10 -2
  168. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  169. package/dist/features/column-filtering/columnFilteringFeature.d.cts +10 -2
  170. package/dist/features/column-filtering/columnFilteringFeature.d.ts +10 -2
  171. package/dist/features/column-filtering/columnFilteringFeature.js +10 -2
  172. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  173. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +7 -4
  174. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +7 -4
  175. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs +113 -2
  176. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  177. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +111 -0
  178. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +111 -0
  179. package/dist/features/column-filtering/columnFilteringFeature.utils.js +113 -2
  180. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  181. package/dist/features/column-filtering/createFilteredRowModel.cjs +5 -0
  182. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  183. package/dist/features/column-filtering/createFilteredRowModel.d.cts +5 -0
  184. package/dist/features/column-filtering/createFilteredRowModel.d.ts +5 -0
  185. package/dist/features/column-filtering/createFilteredRowModel.js +5 -0
  186. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  187. package/dist/features/column-filtering/filterRowsUtils.cjs +5 -0
  188. package/dist/features/column-filtering/filterRowsUtils.cjs.map +1 -1
  189. package/dist/features/column-filtering/filterRowsUtils.js +5 -0
  190. package/dist/features/column-filtering/filterRowsUtils.js.map +1 -1
  191. package/dist/features/column-grouping/columnGroupingFeature.cjs +9 -1
  192. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  193. package/dist/features/column-grouping/columnGroupingFeature.d.cts +9 -1
  194. package/dist/features/column-grouping/columnGroupingFeature.d.ts +9 -1
  195. package/dist/features/column-grouping/columnGroupingFeature.js +9 -1
  196. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  197. package/dist/features/column-grouping/columnGroupingFeature.types.d.cts +7 -3
  198. package/dist/features/column-grouping/columnGroupingFeature.types.d.ts +7 -3
  199. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs +151 -0
  200. package/dist/features/column-grouping/columnGroupingFeature.utils.cjs.map +1 -1
  201. package/dist/features/column-grouping/columnGroupingFeature.utils.d.cts +151 -0
  202. package/dist/features/column-grouping/columnGroupingFeature.utils.d.ts +151 -0
  203. package/dist/features/column-grouping/columnGroupingFeature.utils.js +151 -0
  204. package/dist/features/column-grouping/columnGroupingFeature.utils.js.map +1 -1
  205. package/dist/features/column-grouping/createGroupedRowModel.cjs +5 -0
  206. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  207. package/dist/features/column-grouping/createGroupedRowModel.d.cts +5 -0
  208. package/dist/features/column-grouping/createGroupedRowModel.d.ts +5 -0
  209. package/dist/features/column-grouping/createGroupedRowModel.js +5 -0
  210. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  211. package/dist/features/column-ordering/columnOrderingFeature.cjs +12 -3
  212. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  213. package/dist/features/column-ordering/columnOrderingFeature.d.cts +9 -1
  214. package/dist/features/column-ordering/columnOrderingFeature.d.ts +9 -1
  215. package/dist/features/column-ordering/columnOrderingFeature.js +12 -3
  216. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  217. package/dist/features/column-ordering/columnOrderingFeature.types.d.cts +4 -2
  218. package/dist/features/column-ordering/columnOrderingFeature.types.d.ts +4 -2
  219. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs +98 -8
  220. package/dist/features/column-ordering/columnOrderingFeature.utils.cjs.map +1 -1
  221. package/dist/features/column-ordering/columnOrderingFeature.utils.d.cts +81 -0
  222. package/dist/features/column-ordering/columnOrderingFeature.utils.d.ts +81 -0
  223. package/dist/features/column-ordering/columnOrderingFeature.utils.js +98 -8
  224. package/dist/features/column-ordering/columnOrderingFeature.utils.js.map +1 -1
  225. package/dist/features/column-pinning/columnPinningFeature.cjs +17 -30
  226. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  227. package/dist/features/column-pinning/columnPinningFeature.d.cts +9 -1
  228. package/dist/features/column-pinning/columnPinningFeature.d.ts +9 -1
  229. package/dist/features/column-pinning/columnPinningFeature.js +17 -30
  230. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  231. package/dist/features/column-pinning/columnPinningFeature.types.d.cts +6 -2
  232. package/dist/features/column-pinning/columnPinningFeature.types.d.ts +6 -2
  233. package/dist/features/column-pinning/columnPinningFeature.utils.cjs +360 -17
  234. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  235. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +314 -3
  236. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +314 -3
  237. package/dist/features/column-pinning/columnPinningFeature.utils.js +361 -18
  238. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  239. package/dist/features/column-resizing/columnResizingFeature.cjs +9 -2
  240. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  241. package/dist/features/column-resizing/columnResizingFeature.d.cts +9 -2
  242. package/dist/features/column-resizing/columnResizingFeature.d.ts +9 -2
  243. package/dist/features/column-resizing/columnResizingFeature.js +9 -2
  244. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  245. package/dist/features/column-resizing/columnResizingFeature.types.d.cts +14 -6
  246. package/dist/features/column-resizing/columnResizingFeature.types.d.ts +14 -6
  247. package/dist/features/column-resizing/columnResizingFeature.utils.cjs +81 -0
  248. package/dist/features/column-resizing/columnResizingFeature.utils.cjs.map +1 -1
  249. package/dist/features/column-resizing/columnResizingFeature.utils.d.cts +81 -0
  250. package/dist/features/column-resizing/columnResizingFeature.utils.d.ts +81 -0
  251. package/dist/features/column-resizing/columnResizingFeature.utils.js +81 -0
  252. package/dist/features/column-resizing/columnResizingFeature.utils.js.map +1 -1
  253. package/dist/features/column-sizing/columnSizingFeature.cjs +50 -12
  254. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  255. package/dist/features/column-sizing/columnSizingFeature.d.cts +10 -2
  256. package/dist/features/column-sizing/columnSizingFeature.d.ts +10 -2
  257. package/dist/features/column-sizing/columnSizingFeature.js +51 -13
  258. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  259. package/dist/features/column-sizing/columnSizingFeature.types.d.cts +6 -3
  260. package/dist/features/column-sizing/columnSizingFeature.types.d.ts +6 -3
  261. package/dist/features/column-sizing/columnSizingFeature.utils.cjs +151 -3
  262. package/dist/features/column-sizing/columnSizingFeature.utils.cjs.map +1 -1
  263. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +141 -0
  264. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +141 -0
  265. package/dist/features/column-sizing/columnSizingFeature.utils.js +151 -3
  266. package/dist/features/column-sizing/columnSizingFeature.utils.js.map +1 -1
  267. package/dist/features/column-visibility/columnVisibilityFeature.cjs +26 -25
  268. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  269. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +9 -1
  270. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +9 -1
  271. package/dist/features/column-visibility/columnVisibilityFeature.js +27 -26
  272. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  273. package/dist/features/column-visibility/columnVisibilityFeature.types.d.cts +4 -3
  274. package/dist/features/column-visibility/columnVisibilityFeature.types.d.ts +4 -3
  275. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs +172 -12
  276. package/dist/features/column-visibility/columnVisibilityFeature.utils.cjs.map +1 -1
  277. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.cts +143 -3
  278. package/dist/features/column-visibility/columnVisibilityFeature.utils.d.ts +143 -3
  279. package/dist/features/column-visibility/columnVisibilityFeature.utils.js +173 -12
  280. package/dist/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -1
  281. package/dist/features/global-filtering/globalFilteringFeature.cjs +9 -2
  282. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  283. package/dist/features/global-filtering/globalFilteringFeature.d.cts +9 -2
  284. package/dist/features/global-filtering/globalFilteringFeature.d.ts +9 -2
  285. package/dist/features/global-filtering/globalFilteringFeature.js +9 -2
  286. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  287. package/dist/features/global-filtering/globalFilteringFeature.types.d.cts +4 -2
  288. package/dist/features/global-filtering/globalFilteringFeature.types.d.ts +4 -2
  289. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs +51 -0
  290. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  291. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +51 -0
  292. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +51 -0
  293. package/dist/features/global-filtering/globalFilteringFeature.utils.js +51 -0
  294. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  295. package/dist/features/row-expanding/createExpandedRowModel.cjs +10 -0
  296. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  297. package/dist/features/row-expanding/createExpandedRowModel.d.cts +10 -0
  298. package/dist/features/row-expanding/createExpandedRowModel.d.ts +10 -0
  299. package/dist/features/row-expanding/createExpandedRowModel.js +10 -0
  300. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  301. package/dist/features/row-expanding/rowExpandingFeature.cjs +9 -1
  302. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  303. package/dist/features/row-expanding/rowExpandingFeature.d.cts +9 -1
  304. package/dist/features/row-expanding/rowExpandingFeature.d.ts +9 -1
  305. package/dist/features/row-expanding/rowExpandingFeature.js +9 -1
  306. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  307. package/dist/features/row-expanding/rowExpandingFeature.types.d.cts +10 -5
  308. package/dist/features/row-expanding/rowExpandingFeature.types.d.ts +10 -5
  309. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs +151 -0
  310. package/dist/features/row-expanding/rowExpandingFeature.utils.cjs.map +1 -1
  311. package/dist/features/row-expanding/rowExpandingFeature.utils.d.cts +151 -0
  312. package/dist/features/row-expanding/rowExpandingFeature.utils.d.ts +151 -0
  313. package/dist/features/row-expanding/rowExpandingFeature.utils.js +151 -0
  314. package/dist/features/row-expanding/rowExpandingFeature.utils.js.map +1 -1
  315. package/dist/features/row-pagination/createPaginatedRowModel.cjs +5 -0
  316. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  317. package/dist/features/row-pagination/createPaginatedRowModel.d.cts +5 -0
  318. package/dist/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  319. package/dist/features/row-pagination/createPaginatedRowModel.js +5 -0
  320. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  321. package/dist/features/row-pagination/rowPaginationFeature.cjs +9 -1
  322. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  323. package/dist/features/row-pagination/rowPaginationFeature.d.cts +9 -1
  324. package/dist/features/row-pagination/rowPaginationFeature.d.ts +9 -1
  325. package/dist/features/row-pagination/rowPaginationFeature.js +9 -1
  326. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  327. package/dist/features/row-pagination/rowPaginationFeature.types.d.cts +11 -7
  328. package/dist/features/row-pagination/rowPaginationFeature.types.d.ts +11 -7
  329. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs +175 -0
  330. package/dist/features/row-pagination/rowPaginationFeature.utils.cjs.map +1 -1
  331. package/dist/features/row-pagination/rowPaginationFeature.utils.d.cts +175 -0
  332. package/dist/features/row-pagination/rowPaginationFeature.utils.d.ts +175 -0
  333. package/dist/features/row-pagination/rowPaginationFeature.utils.js +175 -0
  334. package/dist/features/row-pagination/rowPaginationFeature.utils.js.map +1 -1
  335. package/dist/features/row-pinning/rowPinningFeature.cjs +9 -1
  336. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  337. package/dist/features/row-pinning/rowPinningFeature.d.cts +9 -1
  338. package/dist/features/row-pinning/rowPinningFeature.d.ts +9 -1
  339. package/dist/features/row-pinning/rowPinningFeature.js +9 -1
  340. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  341. package/dist/features/row-pinning/rowPinningFeature.types.d.cts +4 -2
  342. package/dist/features/row-pinning/rowPinningFeature.types.d.ts +4 -2
  343. package/dist/features/row-pinning/rowPinningFeature.utils.cjs +112 -0
  344. package/dist/features/row-pinning/rowPinningFeature.utils.cjs.map +1 -1
  345. package/dist/features/row-pinning/rowPinningFeature.utils.d.cts +112 -0
  346. package/dist/features/row-pinning/rowPinningFeature.utils.d.ts +112 -0
  347. package/dist/features/row-pinning/rowPinningFeature.utils.js +112 -0
  348. package/dist/features/row-pinning/rowPinningFeature.utils.js.map +1 -1
  349. package/dist/features/row-selection/rowSelectionFeature.cjs +9 -1
  350. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  351. package/dist/features/row-selection/rowSelectionFeature.d.cts +9 -1
  352. package/dist/features/row-selection/rowSelectionFeature.d.ts +9 -1
  353. package/dist/features/row-selection/rowSelectionFeature.js +9 -1
  354. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  355. package/dist/features/row-selection/rowSelectionFeature.types.d.cts +4 -2
  356. package/dist/features/row-selection/rowSelectionFeature.types.d.ts +4 -2
  357. package/dist/features/row-selection/rowSelectionFeature.utils.cjs +259 -0
  358. package/dist/features/row-selection/rowSelectionFeature.utils.cjs.map +1 -1
  359. package/dist/features/row-selection/rowSelectionFeature.utils.d.cts +259 -0
  360. package/dist/features/row-selection/rowSelectionFeature.utils.d.ts +259 -0
  361. package/dist/features/row-selection/rowSelectionFeature.utils.js +259 -0
  362. package/dist/features/row-selection/rowSelectionFeature.utils.js.map +1 -1
  363. package/dist/features/row-sorting/createSortedRowModel.cjs +5 -0
  364. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  365. package/dist/features/row-sorting/createSortedRowModel.d.cts +5 -0
  366. package/dist/features/row-sorting/createSortedRowModel.d.ts +5 -0
  367. package/dist/features/row-sorting/createSortedRowModel.js +5 -0
  368. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  369. package/dist/features/row-sorting/rowSortingFeature.cjs +11 -3
  370. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  371. package/dist/features/row-sorting/rowSortingFeature.d.cts +9 -1
  372. package/dist/features/row-sorting/rowSortingFeature.d.ts +9 -1
  373. package/dist/features/row-sorting/rowSortingFeature.js +11 -3
  374. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  375. package/dist/features/row-sorting/rowSortingFeature.types.d.cts +7 -3
  376. package/dist/features/row-sorting/rowSortingFeature.types.d.ts +7 -3
  377. package/dist/features/row-sorting/rowSortingFeature.utils.cjs +151 -0
  378. package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
  379. package/dist/features/row-sorting/rowSortingFeature.utils.d.cts +151 -0
  380. package/dist/features/row-sorting/rowSortingFeature.utils.d.ts +151 -0
  381. package/dist/features/row-sorting/rowSortingFeature.utils.js +151 -0
  382. package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
  383. package/dist/features/stockFeatures.cjs +5 -0
  384. package/dist/features/stockFeatures.cjs.map +1 -1
  385. package/dist/features/stockFeatures.d.cts +5 -0
  386. package/dist/features/stockFeatures.d.ts +5 -0
  387. package/dist/features/stockFeatures.js +5 -0
  388. package/dist/features/stockFeatures.js.map +1 -1
  389. package/dist/flex-render.cjs +10 -0
  390. package/dist/flex-render.cjs.map +1 -1
  391. package/dist/flex-render.d.cts +10 -0
  392. package/dist/flex-render.d.ts +10 -0
  393. package/dist/flex-render.js +10 -0
  394. package/dist/flex-render.js.map +1 -1
  395. package/dist/fns/aggregationFns.cjs +5 -0
  396. package/dist/fns/aggregationFns.cjs.map +1 -1
  397. package/dist/fns/aggregationFns.d.cts +5 -0
  398. package/dist/fns/aggregationFns.d.ts +5 -0
  399. package/dist/fns/aggregationFns.js +5 -0
  400. package/dist/fns/aggregationFns.js.map +1 -1
  401. package/dist/fns/filterFns.cjs +5 -0
  402. package/dist/fns/filterFns.cjs.map +1 -1
  403. package/dist/fns/filterFns.d.cts +5 -0
  404. package/dist/fns/filterFns.d.ts +5 -0
  405. package/dist/fns/filterFns.js +5 -0
  406. package/dist/fns/filterFns.js.map +1 -1
  407. package/dist/fns/sortFns.cjs +49 -4
  408. package/dist/fns/sortFns.cjs.map +1 -1
  409. package/dist/fns/sortFns.d.cts +41 -0
  410. package/dist/fns/sortFns.d.ts +41 -0
  411. package/dist/fns/sortFns.js +49 -4
  412. package/dist/fns/sortFns.js.map +1 -1
  413. package/dist/helpers/columnHelper.cjs.map +1 -1
  414. package/dist/helpers/columnHelper.js.map +1 -1
  415. package/dist/helpers/tableFeatures.cjs.map +1 -1
  416. package/dist/helpers/tableFeatures.js.map +1 -1
  417. package/dist/helpers/tableOptions.cjs +6 -0
  418. package/dist/helpers/tableOptions.cjs.map +1 -1
  419. package/dist/helpers/tableOptions.d.cts +26 -0
  420. package/dist/helpers/tableOptions.d.ts +26 -0
  421. package/dist/helpers/tableOptions.js +6 -0
  422. package/dist/helpers/tableOptions.js.map +1 -1
  423. package/dist/static-functions.cjs +1 -1
  424. package/dist/static-functions.d.cts +3 -3
  425. package/dist/static-functions.d.ts +3 -3
  426. package/dist/static-functions.js +3 -3
  427. package/dist/store-reactivity-bindings.cjs.map +1 -1
  428. package/dist/store-reactivity-bindings.js.map +1 -1
  429. package/dist/utils.cjs +45 -0
  430. package/dist/utils.cjs.map +1 -1
  431. package/dist/utils.d.cts +45 -0
  432. package/dist/utils.d.ts +45 -0
  433. package/dist/utils.js +45 -0
  434. package/dist/utils.js.map +1 -1
  435. package/package.json +1 -1
  436. package/src/core/cells/constructCell.ts +5 -0
  437. package/src/core/cells/coreCellsFeature.ts +5 -0
  438. package/src/core/cells/coreCellsFeature.utils.ts +30 -0
  439. package/src/core/columns/constructColumn.ts +7 -1
  440. package/src/core/columns/coreColumnsFeature.ts +10 -0
  441. package/src/core/columns/coreColumnsFeature.types.ts +4 -0
  442. package/src/core/columns/coreColumnsFeature.utils.ts +109 -8
  443. package/src/core/coreFeatures.ts +5 -0
  444. package/src/core/headers/buildHeaderGroups.ts +7 -1
  445. package/src/core/headers/constructHeader.ts +5 -0
  446. package/src/core/headers/coreHeadersFeature.ts +5 -0
  447. package/src/core/headers/coreHeadersFeature.utils.ts +86 -8
  448. package/src/core/reactivity/coreReactivityFeature.utils.ts +15 -0
  449. package/src/core/row-models/coreRowModelsFeature.ts +5 -0
  450. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -1
  451. package/src/core/row-models/coreRowModelsFeature.utils.ts +120 -0
  452. package/src/core/row-models/createCoreRowModel.ts +5 -0
  453. package/src/core/rows/constructRow.ts +5 -0
  454. package/src/core/rows/coreRowsFeature.ts +5 -0
  455. package/src/core/rows/coreRowsFeature.types.ts +3 -0
  456. package/src/core/rows/coreRowsFeature.utils.ts +106 -7
  457. package/src/core/table/constructTable.ts +10 -0
  458. package/src/core/table/coreTablesFeature.ts +5 -0
  459. package/src/core/table/coreTablesFeature.types.ts +22 -12
  460. package/src/core/table/coreTablesFeature.utils.ts +44 -0
  461. package/src/features/column-faceting/columnFacetingFeature.ts +9 -1
  462. package/src/features/column-faceting/columnFacetingFeature.types.ts +12 -6
  463. package/src/features/column-faceting/columnFacetingFeature.utils.ts +60 -0
  464. package/src/features/column-faceting/createFacetedMinMaxValues.ts +5 -0
  465. package/src/features/column-faceting/createFacetedRowModel.ts +5 -0
  466. package/src/features/column-faceting/createFacetedUniqueValues.ts +5 -0
  467. package/src/features/column-filtering/columnFilteringFeature.ts +10 -2
  468. package/src/features/column-filtering/columnFilteringFeature.types.ts +7 -4
  469. package/src/features/column-filtering/columnFilteringFeature.utils.ts +113 -2
  470. package/src/features/column-filtering/createFilteredRowModel.ts +5 -0
  471. package/src/features/column-filtering/filterRowsUtils.ts +5 -0
  472. package/src/features/column-grouping/columnGroupingFeature.ts +9 -1
  473. package/src/features/column-grouping/columnGroupingFeature.types.ts +7 -3
  474. package/src/features/column-grouping/columnGroupingFeature.utils.ts +151 -0
  475. package/src/features/column-grouping/createGroupedRowModel.ts +5 -0
  476. package/src/features/column-ordering/columnOrderingFeature.ts +10 -1
  477. package/src/features/column-ordering/columnOrderingFeature.types.ts +4 -2
  478. package/src/features/column-ordering/columnOrderingFeature.utils.ts +110 -18
  479. package/src/features/column-pinning/columnPinningFeature.ts +11 -12
  480. package/src/features/column-pinning/columnPinningFeature.types.ts +6 -2
  481. package/src/features/column-pinning/columnPinningFeature.utils.ts +390 -57
  482. package/src/features/column-resizing/columnResizingFeature.ts +9 -2
  483. package/src/features/column-resizing/columnResizingFeature.types.ts +14 -6
  484. package/src/features/column-resizing/columnResizingFeature.utils.ts +81 -0
  485. package/src/features/column-sizing/columnSizingFeature.ts +38 -18
  486. package/src/features/column-sizing/columnSizingFeature.types.ts +6 -3
  487. package/src/features/column-sizing/columnSizingFeature.utils.ts +168 -9
  488. package/src/features/column-visibility/columnVisibilityFeature.ts +15 -21
  489. package/src/features/column-visibility/columnVisibilityFeature.types.ts +4 -3
  490. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +179 -23
  491. package/src/features/global-filtering/globalFilteringFeature.ts +9 -2
  492. package/src/features/global-filtering/globalFilteringFeature.types.ts +4 -2
  493. package/src/features/global-filtering/globalFilteringFeature.utils.ts +51 -0
  494. package/src/features/row-expanding/createExpandedRowModel.ts +10 -0
  495. package/src/features/row-expanding/rowExpandingFeature.ts +9 -1
  496. package/src/features/row-expanding/rowExpandingFeature.types.ts +10 -5
  497. package/src/features/row-expanding/rowExpandingFeature.utils.ts +151 -0
  498. package/src/features/row-pagination/createPaginatedRowModel.ts +5 -0
  499. package/src/features/row-pagination/rowPaginationFeature.ts +9 -1
  500. package/src/features/row-pagination/rowPaginationFeature.types.ts +11 -7
  501. package/src/features/row-pagination/rowPaginationFeature.utils.ts +175 -0
  502. package/src/features/row-pinning/rowPinningFeature.ts +9 -1
  503. package/src/features/row-pinning/rowPinningFeature.types.ts +4 -2
  504. package/src/features/row-pinning/rowPinningFeature.utils.ts +112 -0
  505. package/src/features/row-selection/rowSelectionFeature.ts +9 -1
  506. package/src/features/row-selection/rowSelectionFeature.types.ts +4 -2
  507. package/src/features/row-selection/rowSelectionFeature.utils.ts +259 -0
  508. package/src/features/row-sorting/createSortedRowModel.ts +5 -0
  509. package/src/features/row-sorting/rowSortingFeature.ts +11 -3
  510. package/src/features/row-sorting/rowSortingFeature.types.ts +7 -3
  511. package/src/features/row-sorting/rowSortingFeature.utils.ts +151 -0
  512. package/src/features/stockFeatures.ts +5 -0
  513. package/src/flex-render.ts +10 -0
  514. package/src/fns/aggregationFns.ts +5 -0
  515. package/src/fns/filterFns.ts +5 -0
  516. package/src/fns/sortFns.ts +50 -5
  517. package/src/helpers/tableOptions.ts +32 -0
  518. package/src/utils.ts +45 -0
@@ -1 +1 @@
1
- {"version":3,"file":"coreFeatures.cjs","names":[],"sources":["../../src/core/coreFeatures.ts"],"sourcesContent":["import { coreCellsFeature } from './cells/coreCellsFeature'\nimport { coreColumnsFeature } from './columns/coreColumnsFeature'\nimport { coreHeadersFeature } from './headers/coreHeadersFeature'\nimport { coreRowModelsFeature } from './row-models/coreRowModelsFeature'\nimport { coreRowsFeature } from './rows/coreRowsFeature'\nimport { coreTablesFeature } from './table/coreTablesFeature'\nimport type { TableReactivityBindings } from '../reactivity'\n\nexport interface CoreFeatures {\n coreReativityFeature?: TableReactivityBindings\n coreCellsFeature: typeof coreCellsFeature\n coreColumnsFeature: typeof coreColumnsFeature\n coreHeadersFeature: typeof coreHeadersFeature\n coreRowModelsFeature: typeof coreRowModelsFeature\n coreRowsFeature: typeof coreRowsFeature\n coreTablesFeature: typeof coreTablesFeature\n}\n\nexport const coreFeatures: CoreFeatures = {\n coreCellsFeature,\n coreColumnsFeature,\n coreHeadersFeature,\n coreRowModelsFeature,\n coreRowsFeature,\n coreTablesFeature,\n}\n"],"mappings":";;;;;;;;AAkBA,MAAa,eAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACD"}
1
+ {"version":3,"file":"coreFeatures.cjs","names":[],"sources":["../../src/core/coreFeatures.ts"],"sourcesContent":["import { coreCellsFeature } from './cells/coreCellsFeature'\nimport { coreColumnsFeature } from './columns/coreColumnsFeature'\nimport { coreHeadersFeature } from './headers/coreHeadersFeature'\nimport { coreRowModelsFeature } from './row-models/coreRowModelsFeature'\nimport { coreRowsFeature } from './rows/coreRowsFeature'\nimport { coreTablesFeature } from './table/coreTablesFeature'\nimport type { TableReactivityBindings } from '../reactivity'\n\nexport interface CoreFeatures {\n coreReativityFeature?: TableReactivityBindings\n coreCellsFeature: typeof coreCellsFeature\n coreColumnsFeature: typeof coreColumnsFeature\n coreHeadersFeature: typeof coreHeadersFeature\n coreRowModelsFeature: typeof coreRowModelsFeature\n coreRowsFeature: typeof coreRowsFeature\n coreTablesFeature: typeof coreTablesFeature\n}\n\n/**\n * The built-in core feature set required by every table.\n *\n * These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.\n */\nexport const coreFeatures: CoreFeatures = {\n coreCellsFeature,\n coreColumnsFeature,\n coreHeadersFeature,\n coreRowModelsFeature,\n coreRowsFeature,\n coreTablesFeature,\n}\n"],"mappings":";;;;;;;;;;;;;AAuBA,MAAa,eAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACD"}
@@ -15,6 +15,11 @@ interface CoreFeatures {
15
15
  coreRowsFeature: typeof coreRowsFeature;
16
16
  coreTablesFeature: typeof coreTablesFeature;
17
17
  }
18
+ /**
19
+ * The built-in core feature set required by every table.
20
+ *
21
+ * These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.
22
+ */
18
23
  declare const coreFeatures: CoreFeatures;
19
24
  //#endregion
20
25
  export { CoreFeatures, coreFeatures };
@@ -15,6 +15,11 @@ interface CoreFeatures {
15
15
  coreRowsFeature: typeof coreRowsFeature;
16
16
  coreTablesFeature: typeof coreTablesFeature;
17
17
  }
18
+ /**
19
+ * The built-in core feature set required by every table.
20
+ *
21
+ * These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.
22
+ */
18
23
  declare const coreFeatures: CoreFeatures;
19
24
  //#endregion
20
25
  export { CoreFeatures, coreFeatures };
@@ -6,6 +6,11 @@ import { coreRowsFeature } from "./rows/coreRowsFeature.js";
6
6
  import { coreTablesFeature } from "./table/coreTablesFeature.js";
7
7
 
8
8
  //#region src/core/coreFeatures.ts
9
+ /**
10
+ * The built-in core feature set required by every table.
11
+ *
12
+ * These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.
13
+ */
9
14
  const coreFeatures = {
10
15
  coreCellsFeature,
11
16
  coreColumnsFeature,
@@ -1 +1 @@
1
- {"version":3,"file":"coreFeatures.js","names":[],"sources":["../../src/core/coreFeatures.ts"],"sourcesContent":["import { coreCellsFeature } from './cells/coreCellsFeature'\nimport { coreColumnsFeature } from './columns/coreColumnsFeature'\nimport { coreHeadersFeature } from './headers/coreHeadersFeature'\nimport { coreRowModelsFeature } from './row-models/coreRowModelsFeature'\nimport { coreRowsFeature } from './rows/coreRowsFeature'\nimport { coreTablesFeature } from './table/coreTablesFeature'\nimport type { TableReactivityBindings } from '../reactivity'\n\nexport interface CoreFeatures {\n coreReativityFeature?: TableReactivityBindings\n coreCellsFeature: typeof coreCellsFeature\n coreColumnsFeature: typeof coreColumnsFeature\n coreHeadersFeature: typeof coreHeadersFeature\n coreRowModelsFeature: typeof coreRowModelsFeature\n coreRowsFeature: typeof coreRowsFeature\n coreTablesFeature: typeof coreTablesFeature\n}\n\nexport const coreFeatures: CoreFeatures = {\n coreCellsFeature,\n coreColumnsFeature,\n coreHeadersFeature,\n coreRowModelsFeature,\n coreRowsFeature,\n coreTablesFeature,\n}\n"],"mappings":";;;;;;;;AAkBA,MAAa,eAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACD"}
1
+ {"version":3,"file":"coreFeatures.js","names":[],"sources":["../../src/core/coreFeatures.ts"],"sourcesContent":["import { coreCellsFeature } from './cells/coreCellsFeature'\nimport { coreColumnsFeature } from './columns/coreColumnsFeature'\nimport { coreHeadersFeature } from './headers/coreHeadersFeature'\nimport { coreRowModelsFeature } from './row-models/coreRowModelsFeature'\nimport { coreRowsFeature } from './rows/coreRowsFeature'\nimport { coreTablesFeature } from './table/coreTablesFeature'\nimport type { TableReactivityBindings } from '../reactivity'\n\nexport interface CoreFeatures {\n coreReativityFeature?: TableReactivityBindings\n coreCellsFeature: typeof coreCellsFeature\n coreColumnsFeature: typeof coreColumnsFeature\n coreHeadersFeature: typeof coreHeadersFeature\n coreRowModelsFeature: typeof coreRowModelsFeature\n coreRowsFeature: typeof coreRowsFeature\n coreTablesFeature: typeof coreTablesFeature\n}\n\n/**\n * The built-in core feature set required by every table.\n *\n * These features provide table, column, row, header, cell, and core row-model behavior before optional feature plugins are added.\n */\nexport const coreFeatures: CoreFeatures = {\n coreCellsFeature,\n coreColumnsFeature,\n coreHeadersFeature,\n coreRowModelsFeature,\n coreRowsFeature,\n coreTablesFeature,\n}\n"],"mappings":";;;;;;;;;;;;;AAuBA,MAAa,eAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACD"}
@@ -3,6 +3,11 @@ const require_columnVisibilityFeature_utils = require('../../features/column-vis
3
3
  const require_constructHeader = require('./constructHeader.cjs');
4
4
 
5
5
  //#region src/core/headers/buildHeaderGroups.ts
6
+ /**
7
+ * Builds the nested header group structure for a table.
8
+ *
9
+ * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
10
+ */
6
11
  function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
7
12
  var _headerGroups$;
8
13
  let maxDepth = 0;
@@ -22,7 +27,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
22
27
  };
23
28
  const pendingParentHeaders = [];
24
29
  headersToGroup.forEach((headerToGroup) => {
25
- const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];
30
+ const latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];
26
31
  const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
27
32
  let column;
28
33
  let isPlaceholder = false;
@@ -1 +1 @@
1
- {"version":3,"file":"buildHeaderGroups.cjs","names":["callMemoOrStaticFn","column_getIsVisible","constructHeader"],"sources":["../../../src/core/headers/buildHeaderGroups.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { column_getIsVisible } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { constructHeader } from './constructHeader'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Column } from '../../types/Column'\n\nexport function buildHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n allColumns: Array<Column<TFeatures, TData, TValue>>,\n columnsToGroup: Array<Column<TFeatures, TData, TValue>>,\n table: Table_Internal<TFeatures, TData>,\n headerFamily?: 'center' | 'left' | 'right',\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (\n columns: Array<Column<TFeatures, TData, TValue>>,\n depth = 1,\n ) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n .forEach((column) => {\n if (column.columns.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n const headerGroups: Array<HeaderGroup<TFeatures, TData>> = []\n\n const constructHeaderGroup = (\n headersToGroup: Array<Header<TFeatures, TData, TValue>>,\n depth: number,\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TFeatures, TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n } as any\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n // Scan each column for parents\n headersToGroup.forEach((headerToGroup) => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TFeatures, TData, TValue>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = constructHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter((d) => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n constructHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n constructHeader(table, column, {\n depth: maxDepth,\n index,\n }),\n )\n\n constructHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Array<Header<TFeatures, TData, TValue>>,\n ): Array<{ colSpan: number; rowSpan: number }> => {\n const filteredHeaders = headers.filter((header) =>\n callMemoOrStaticFn(header.column, 'getIsVisible', column_getIsVisible),\n )\n\n return filteredHeaders.map((header) => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n },\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(\n (headerGroups[0]?.headers ?? []) as Array<Header<TFeatures, TData, TValue>>,\n )\n\n return headerGroups\n}\n"],"mappings":";;;;;AAUA,SAAgB,kBAKd,YACA,gBACA,OACA,cACA;;CAOA,IAAI,WAAW;CAEf,MAAM,gBACJ,SACA,QAAQ,MACL;AACH,aAAW,KAAK,IAAI,UAAU,MAAM;AAEpC,UACG,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgBC,0DAAoB,CAChE,CACA,SAAS,WAAW;AACnB,OAAI,OAAO,QAAQ,OACjB,cAAa,OAAO,SAAS,QAAQ,EAAE;KAExC,EAAE;;AAGT,cAAa,WAAW;CAExB,MAAM,eAAqD,EAAE;CAE7D,MAAM,wBACJ,gBACA,UACG;EAEH,MAAM,cAA6C;GACjD;GACA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GACxD,SAAS,EAAE;GACZ;EAGD,MAAM,uBAAgE,EAAE;AAGxE,iBAAe,SAAS,kBAAkB;GAGxC,MAAM,4BAA4B,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC;GAEtE,MAAM,eAAe,cAAc,OAAO,UAAU,YAAY;GAEhE,IAAI;GACJ,IAAI,gBAAgB;AAEpB,OAAI,gBAAgB,cAAc,OAAO,OAEvC,UAAS,cAAc,OAAO;QACzB;AAEL,aAAS,cAAc;AACvB,oBAAgB;;AAGlB,OACE,6BACA,0BAA0B,WAAW,OAGrC,2BAA0B,WAAW,KAAK,cAAc;QACnD;IAEL,MAAM,SAASC,wCAAgB,OAAO,QAAQ;KAC5C,IAAI;MAAC;MAAc;MAAO,OAAO;MAAI,cAAc;MAAG,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;KACZ;KACA,eAAe,gBACX,GAAG,qBAAqB,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC,WAC3D;KACJ;KACA,OAAO,qBAAqB;KAC7B,CAAC;AAGF,WAAO,WAAW,KAAK,cAAc;AAGrC,yBAAqB,KAAK,OAAO;;AAGnC,eAAY,QAAQ,KAAK,cAAc;AACvC,iBAAc,cAAc;IAC5B;AAEF,eAAa,KAAK,YAAY;AAE9B,MAAI,QAAQ,EACV,sBAAqB,sBAAsB,QAAQ,EAAE;;AAWzD,sBAPsB,eAAe,KAAK,QAAQ,UAChDA,wCAAgB,OAAO,QAAQ;EAC7B,OAAO;EACP;EACD,CAAC,CAG8B,EAAE,WAAW,EAAE;AAEjD,cAAa,SAAS;CAMtB,MAAM,0BACJ,YACgD;AAKhD,SAJwB,QAAQ,QAAQ,WACtCF,iCAAmB,OAAO,QAAQ,gBAAgBC,0DAAoB,CAGlD,CAAC,KAAK,WAAW;GACrC,IAAI,UAAU;GACd,IAAI,UAAU;GACd,IAAI,gBAAgB,CAAC,EAAE;AAEvB,OAAI,OAAO,WAAW,QAAQ;AAC5B,oBAAgB,EAAE;AAElB,2BAAuB,OAAO,WAAW,CAAC,SACvC,EAAE,SAAS,cAAc,SAAS,mBAAmB;AACpD,gBAAW;AACX,mBAAc,KAAK,aAAa;MAEnC;SAED,WAAU;GAGZ,MAAM,kBAAkB,KAAK,IAAI,GAAG,cAAc;AAClD,aAAU,UAAU;AAEpB,UAAO,UAAU;AACjB,UAAO,UAAU;AAEjB,UAAO;IAAE;IAAS;IAAS;IAC3B;;AAGJ,2CACG,aAAa,oEAAI,YAAW,EAAE,CAChC;AAED,QAAO"}
1
+ {"version":3,"file":"buildHeaderGroups.cjs","names":["callMemoOrStaticFn","column_getIsVisible","constructHeader"],"sources":["../../../src/core/headers/buildHeaderGroups.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { column_getIsVisible } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { constructHeader } from './constructHeader'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Column } from '../../types/Column'\n\n/**\n * Builds the nested header group structure for a table.\n *\n * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.\n */\nexport function buildHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n allColumns: Array<Column<TFeatures, TData, TValue>>,\n columnsToGroup: Array<Column<TFeatures, TData, TValue>>,\n table: Table_Internal<TFeatures, TData>,\n headerFamily?: 'center' | 'left' | 'right',\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (\n columns: Array<Column<TFeatures, TData, TValue>>,\n depth = 1,\n ) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n .forEach((column) => {\n if (column.columns.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n const headerGroups: Array<HeaderGroup<TFeatures, TData>> = []\n\n const constructHeaderGroup = (\n headersToGroup: Array<Header<TFeatures, TData, TValue>>,\n depth: number,\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TFeatures, TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n } as any\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n // Scan each column for parents\n headersToGroup.forEach((headerToGroup) => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader =\n pendingParentHeaders[pendingParentHeaders.length - 1]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TFeatures, TData, TValue>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = constructHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter((d) => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n constructHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n constructHeader(table, column, {\n depth: maxDepth,\n index,\n }),\n )\n\n constructHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Array<Header<TFeatures, TData, TValue>>,\n ): Array<{ colSpan: number; rowSpan: number }> => {\n const filteredHeaders = headers.filter((header) =>\n callMemoOrStaticFn(header.column, 'getIsVisible', column_getIsVisible),\n )\n\n return filteredHeaders.map((header) => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n },\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(\n (headerGroups[0]?.headers ?? []) as Array<Header<TFeatures, TData, TValue>>,\n )\n\n return headerGroups\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAgB,kBAKd,YACA,gBACA,OACA,cACA;;CAOA,IAAI,WAAW;CAEf,MAAM,gBACJ,SACA,QAAQ,MACL;EACH,WAAW,KAAK,IAAI,UAAU,MAAM;EAEpC,QACG,QAAQ,WACPA,iCAAmB,QAAQ,gBAAgBC,0DAAoB,CAChE,CACA,SAAS,WAAW;GACnB,IAAI,OAAO,QAAQ,QACjB,aAAa,OAAO,SAAS,QAAQ,EAAE;KAExC,EAAE;;CAGT,aAAa,WAAW;CAExB,MAAM,eAAqD,EAAE;CAE7D,MAAM,wBACJ,gBACA,UACG;EAEH,MAAM,cAA6C;GACjD;GACA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GACxD,SAAS,EAAE;GACZ;EAGD,MAAM,uBAAgE,EAAE;EAGxE,eAAe,SAAS,kBAAkB;GAGxC,MAAM,4BACJ,qBAAqB,qBAAqB,SAAS;GAErD,MAAM,eAAe,cAAc,OAAO,UAAU,YAAY;GAEhE,IAAI;GACJ,IAAI,gBAAgB;GAEpB,IAAI,gBAAgB,cAAc,OAAO,QAEvC,SAAS,cAAc,OAAO;QACzB;IAEL,SAAS,cAAc;IACvB,gBAAgB;;GAGlB,IACE,6BACA,0BAA0B,WAAW,QAGrC,0BAA0B,WAAW,KAAK,cAAc;QACnD;IAEL,MAAM,SAASC,wCAAgB,OAAO,QAAQ;KAC5C,IAAI;MAAC;MAAc;MAAO,OAAO;MAAI,cAAc;MAAG,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;KACZ;KACA,eAAe,gBACX,GAAG,qBAAqB,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC,WAC3D;KACJ;KACA,OAAO,qBAAqB;KAC7B,CAAC;IAGF,OAAO,WAAW,KAAK,cAAc;IAGrC,qBAAqB,KAAK,OAAO;;GAGnC,YAAY,QAAQ,KAAK,cAAc;GACvC,cAAc,cAAc;IAC5B;EAEF,aAAa,KAAK,YAAY;EAE9B,IAAI,QAAQ,GACV,qBAAqB,sBAAsB,QAAQ,EAAE;;CAWzD,qBAPsB,eAAe,KAAK,QAAQ,UAChDA,wCAAgB,OAAO,QAAQ;EAC7B,OAAO;EACP;EACD,CAAC,CAG8B,EAAE,WAAW,EAAE;CAEjD,aAAa,SAAS;CAMtB,MAAM,0BACJ,YACgD;EAKhD,OAJwB,QAAQ,QAAQ,WACtCF,iCAAmB,OAAO,QAAQ,gBAAgBC,0DAAoB,CAGlD,CAAC,KAAK,WAAW;GACrC,IAAI,UAAU;GACd,IAAI,UAAU;GACd,IAAI,gBAAgB,CAAC,EAAE;GAEvB,IAAI,OAAO,WAAW,QAAQ;IAC5B,gBAAgB,EAAE;IAElB,uBAAuB,OAAO,WAAW,CAAC,SACvC,EAAE,SAAS,cAAc,SAAS,mBAAmB;KACpD,WAAW;KACX,cAAc,KAAK,aAAa;MAEnC;UAED,UAAU;GAGZ,MAAM,kBAAkB,KAAK,IAAI,GAAG,cAAc;GAClD,UAAU,UAAU;GAEpB,OAAO,UAAU;GACjB,OAAO,UAAU;GAEjB,OAAO;IAAE;IAAS;IAAS;IAC3B;;CAGJ,0CACG,aAAa,oEAAI,YAAW,EAAE,CAChC;CAED,OAAO"}
@@ -5,6 +5,11 @@ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
5
  import { Table_Internal } from "../../types/Table.cjs";
6
6
 
7
7
  //#region src/core/headers/buildHeaderGroups.d.ts
8
+ /**
9
+ * Builds the nested header group structure for a table.
10
+ *
11
+ * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
12
+ */
8
13
  declare function buildHeaderGroups<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(allColumns: Array<Column<TFeatures, TData, TValue>>, columnsToGroup: Array<Column<TFeatures, TData, TValue>>, table: Table_Internal<TFeatures, TData>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TFeatures, TData>[];
9
14
  //#endregion
10
15
  export { buildHeaderGroups };
@@ -5,6 +5,11 @@ import { TableFeatures } from "../../types/TableFeatures.js";
5
5
  import { Table_Internal } from "../../types/Table.js";
6
6
 
7
7
  //#region src/core/headers/buildHeaderGroups.d.ts
8
+ /**
9
+ * Builds the nested header group structure for a table.
10
+ *
11
+ * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
12
+ */
8
13
  declare function buildHeaderGroups<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(allColumns: Array<Column<TFeatures, TData, TValue>>, columnsToGroup: Array<Column<TFeatures, TData, TValue>>, table: Table_Internal<TFeatures, TData>, headerFamily?: 'center' | 'left' | 'right'): HeaderGroup<TFeatures, TData>[];
9
14
  //#endregion
10
15
  export { buildHeaderGroups };
@@ -3,6 +3,11 @@ import { column_getIsVisible } from "../../features/column-visibility/columnVisi
3
3
  import { constructHeader } from "./constructHeader.js";
4
4
 
5
5
  //#region src/core/headers/buildHeaderGroups.ts
6
+ /**
7
+ * Builds the nested header group structure for a table.
8
+ *
9
+ * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.
10
+ */
6
11
  function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
7
12
  var _headerGroups$;
8
13
  let maxDepth = 0;
@@ -22,7 +27,7 @@ function buildHeaderGroups(allColumns, columnsToGroup, table, headerFamily) {
22
27
  };
23
28
  const pendingParentHeaders = [];
24
29
  headersToGroup.forEach((headerToGroup) => {
25
- const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0];
30
+ const latestPendingParentHeader = pendingParentHeaders[pendingParentHeaders.length - 1];
26
31
  const isLeafHeader = headerToGroup.column.depth === headerGroup.depth;
27
32
  let column;
28
33
  let isPlaceholder = false;
@@ -1 +1 @@
1
- {"version":3,"file":"buildHeaderGroups.js","names":[],"sources":["../../../src/core/headers/buildHeaderGroups.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { column_getIsVisible } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { constructHeader } from './constructHeader'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Column } from '../../types/Column'\n\nexport function buildHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n allColumns: Array<Column<TFeatures, TData, TValue>>,\n columnsToGroup: Array<Column<TFeatures, TData, TValue>>,\n table: Table_Internal<TFeatures, TData>,\n headerFamily?: 'center' | 'left' | 'right',\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (\n columns: Array<Column<TFeatures, TData, TValue>>,\n depth = 1,\n ) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n .forEach((column) => {\n if (column.columns.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n const headerGroups: Array<HeaderGroup<TFeatures, TData>> = []\n\n const constructHeaderGroup = (\n headersToGroup: Array<Header<TFeatures, TData, TValue>>,\n depth: number,\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TFeatures, TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n } as any\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n // Scan each column for parents\n headersToGroup.forEach((headerToGroup) => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader = [...pendingParentHeaders].reverse()[0]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TFeatures, TData, TValue>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = constructHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter((d) => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n constructHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n constructHeader(table, column, {\n depth: maxDepth,\n index,\n }),\n )\n\n constructHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Array<Header<TFeatures, TData, TValue>>,\n ): Array<{ colSpan: number; rowSpan: number }> => {\n const filteredHeaders = headers.filter((header) =>\n callMemoOrStaticFn(header.column, 'getIsVisible', column_getIsVisible),\n )\n\n return filteredHeaders.map((header) => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n },\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(\n (headerGroups[0]?.headers ?? []) as Array<Header<TFeatures, TData, TValue>>,\n )\n\n return headerGroups\n}\n"],"mappings":";;;;;AAUA,SAAgB,kBAKd,YACA,gBACA,OACA,cACA;;CAOA,IAAI,WAAW;CAEf,MAAM,gBACJ,SACA,QAAQ,MACL;AACH,aAAW,KAAK,IAAI,UAAU,MAAM;AAEpC,UACG,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE,CACA,SAAS,WAAW;AACnB,OAAI,OAAO,QAAQ,OACjB,cAAa,OAAO,SAAS,QAAQ,EAAE;KAExC,EAAE;;AAGT,cAAa,WAAW;CAExB,MAAM,eAAqD,EAAE;CAE7D,MAAM,wBACJ,gBACA,UACG;EAEH,MAAM,cAA6C;GACjD;GACA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GACxD,SAAS,EAAE;GACZ;EAGD,MAAM,uBAAgE,EAAE;AAGxE,iBAAe,SAAS,kBAAkB;GAGxC,MAAM,4BAA4B,CAAC,GAAG,qBAAqB,CAAC,SAAS,CAAC;GAEtE,MAAM,eAAe,cAAc,OAAO,UAAU,YAAY;GAEhE,IAAI;GACJ,IAAI,gBAAgB;AAEpB,OAAI,gBAAgB,cAAc,OAAO,OAEvC,UAAS,cAAc,OAAO;QACzB;AAEL,aAAS,cAAc;AACvB,oBAAgB;;AAGlB,OACE,6BACA,0BAA0B,WAAW,OAGrC,2BAA0B,WAAW,KAAK,cAAc;QACnD;IAEL,MAAM,SAAS,gBAAgB,OAAO,QAAQ;KAC5C,IAAI;MAAC;MAAc;MAAO,OAAO;MAAI,cAAc;MAAG,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;KACZ;KACA,eAAe,gBACX,GAAG,qBAAqB,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC,WAC3D;KACJ;KACA,OAAO,qBAAqB;KAC7B,CAAC;AAGF,WAAO,WAAW,KAAK,cAAc;AAGrC,yBAAqB,KAAK,OAAO;;AAGnC,eAAY,QAAQ,KAAK,cAAc;AACvC,iBAAc,cAAc;IAC5B;AAEF,eAAa,KAAK,YAAY;AAE9B,MAAI,QAAQ,EACV,sBAAqB,sBAAsB,QAAQ,EAAE;;AAWzD,sBAPsB,eAAe,KAAK,QAAQ,UAChD,gBAAgB,OAAO,QAAQ;EAC7B,OAAO;EACP;EACD,CAAC,CAG8B,EAAE,WAAW,EAAE;AAEjD,cAAa,SAAS;CAMtB,MAAM,0BACJ,YACgD;AAKhD,SAJwB,QAAQ,QAAQ,WACtC,mBAAmB,OAAO,QAAQ,gBAAgB,oBAAoB,CAGlD,CAAC,KAAK,WAAW;GACrC,IAAI,UAAU;GACd,IAAI,UAAU;GACd,IAAI,gBAAgB,CAAC,EAAE;AAEvB,OAAI,OAAO,WAAW,QAAQ;AAC5B,oBAAgB,EAAE;AAElB,2BAAuB,OAAO,WAAW,CAAC,SACvC,EAAE,SAAS,cAAc,SAAS,mBAAmB;AACpD,gBAAW;AACX,mBAAc,KAAK,aAAa;MAEnC;SAED,WAAU;GAGZ,MAAM,kBAAkB,KAAK,IAAI,GAAG,cAAc;AAClD,aAAU,UAAU;AAEpB,UAAO,UAAU;AACjB,UAAO,UAAU;AAEjB,UAAO;IAAE;IAAS;IAAS;IAC3B;;AAGJ,2CACG,aAAa,oEAAI,YAAW,EAAE,CAChC;AAED,QAAO"}
1
+ {"version":3,"file":"buildHeaderGroups.js","names":[],"sources":["../../../src/core/headers/buildHeaderGroups.ts"],"sourcesContent":["import { callMemoOrStaticFn } from '../../utils'\nimport { column_getIsVisible } from '../../features/column-visibility/columnVisibilityFeature.utils'\nimport { constructHeader } from './constructHeader'\nimport type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { HeaderGroup } from '../../types/HeaderGroup'\nimport type { Column } from '../../types/Column'\n\n/**\n * Builds the nested header group structure for a table.\n *\n * The result accounts for visible leaf columns, pinned column groups, and placeholder headers needed to render multi-level headers.\n */\nexport function buildHeaderGroups<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n allColumns: Array<Column<TFeatures, TData, TValue>>,\n columnsToGroup: Array<Column<TFeatures, TData, TValue>>,\n table: Table_Internal<TFeatures, TData>,\n headerFamily?: 'center' | 'left' | 'right',\n) {\n // Find the max depth of the columns:\n // build the leaf column row\n // build each buffer row going up\n // placeholder for non-existent level\n // real column for existing level\n\n let maxDepth = 0\n\n const findMaxDepth = (\n columns: Array<Column<TFeatures, TData, TValue>>,\n depth = 1,\n ) => {\n maxDepth = Math.max(maxDepth, depth)\n\n columns\n .filter((column) =>\n callMemoOrStaticFn(column, 'getIsVisible', column_getIsVisible),\n )\n .forEach((column) => {\n if (column.columns.length) {\n findMaxDepth(column.columns, depth + 1)\n }\n }, 0)\n }\n\n findMaxDepth(allColumns)\n\n const headerGroups: Array<HeaderGroup<TFeatures, TData>> = []\n\n const constructHeaderGroup = (\n headersToGroup: Array<Header<TFeatures, TData, TValue>>,\n depth: number,\n ) => {\n // The header group we are creating\n const headerGroup: HeaderGroup<TFeatures, TData> = {\n depth,\n id: [headerFamily, `${depth}`].filter(Boolean).join('_'),\n headers: [],\n } as any\n\n // The parent columns we're going to scan next\n const pendingParentHeaders: Array<Header<TFeatures, TData, TValue>> = []\n\n // Scan each column for parents\n headersToGroup.forEach((headerToGroup) => {\n // What is the latest (last) parent column?\n\n const latestPendingParentHeader =\n pendingParentHeaders[pendingParentHeaders.length - 1]\n\n const isLeafHeader = headerToGroup.column.depth === headerGroup.depth\n\n let column: Column<TFeatures, TData, TValue>\n let isPlaceholder = false\n\n if (isLeafHeader && headerToGroup.column.parent) {\n // The parent header is new\n column = headerToGroup.column.parent\n } else {\n // The parent header is repeated\n column = headerToGroup.column\n isPlaceholder = true\n }\n\n if (\n latestPendingParentHeader &&\n latestPendingParentHeader.column === column\n ) {\n // This column is repeated. Add it as a sub header to the next batch\n latestPendingParentHeader.subHeaders.push(headerToGroup)\n } else {\n // This is a new header. Let's create it\n const header = constructHeader(table, column, {\n id: [headerFamily, depth, column.id, headerToGroup.id]\n .filter(Boolean)\n .join('_'),\n isPlaceholder,\n placeholderId: isPlaceholder\n ? `${pendingParentHeaders.filter((d) => d.column === column).length}`\n : undefined,\n depth,\n index: pendingParentHeaders.length,\n })\n\n // Add the headerToGroup as a subHeader of the new header\n header.subHeaders.push(headerToGroup)\n // Add the new header to the pendingParentHeaders to get grouped\n // in the next batch\n pendingParentHeaders.push(header)\n }\n\n headerGroup.headers.push(headerToGroup)\n headerToGroup.headerGroup = headerGroup\n })\n\n headerGroups.push(headerGroup)\n\n if (depth > 0) {\n constructHeaderGroup(pendingParentHeaders, depth - 1)\n }\n }\n\n const bottomHeaders = columnsToGroup.map((column, index) =>\n constructHeader(table, column, {\n depth: maxDepth,\n index,\n }),\n )\n\n constructHeaderGroup(bottomHeaders, maxDepth - 1)\n\n headerGroups.reverse()\n\n // headerGroups = headerGroups.filter(headerGroup => {\n // return !headerGroup.headers.every(header => header.isPlaceholder)\n // })\n\n const recurseHeadersForSpans = (\n headers: Array<Header<TFeatures, TData, TValue>>,\n ): Array<{ colSpan: number; rowSpan: number }> => {\n const filteredHeaders = headers.filter((header) =>\n callMemoOrStaticFn(header.column, 'getIsVisible', column_getIsVisible),\n )\n\n return filteredHeaders.map((header) => {\n let colSpan = 0\n let rowSpan = 0\n let childRowSpans = [0]\n\n if (header.subHeaders.length) {\n childRowSpans = []\n\n recurseHeadersForSpans(header.subHeaders).forEach(\n ({ colSpan: childColSpan, rowSpan: childRowSpan }) => {\n colSpan += childColSpan\n childRowSpans.push(childRowSpan)\n },\n )\n } else {\n colSpan = 1\n }\n\n const minChildRowSpan = Math.min(...childRowSpans)\n rowSpan = rowSpan + minChildRowSpan\n\n header.colSpan = colSpan\n header.rowSpan = rowSpan\n\n return { colSpan, rowSpan }\n })\n }\n\n recurseHeadersForSpans(\n (headerGroups[0]?.headers ?? []) as Array<Header<TFeatures, TData, TValue>>,\n )\n\n return headerGroups\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAgB,kBAKd,YACA,gBACA,OACA,cACA;;CAOA,IAAI,WAAW;CAEf,MAAM,gBACJ,SACA,QAAQ,MACL;EACH,WAAW,KAAK,IAAI,UAAU,MAAM;EAEpC,QACG,QAAQ,WACP,mBAAmB,QAAQ,gBAAgB,oBAAoB,CAChE,CACA,SAAS,WAAW;GACnB,IAAI,OAAO,QAAQ,QACjB,aAAa,OAAO,SAAS,QAAQ,EAAE;KAExC,EAAE;;CAGT,aAAa,WAAW;CAExB,MAAM,eAAqD,EAAE;CAE7D,MAAM,wBACJ,gBACA,UACG;EAEH,MAAM,cAA6C;GACjD;GACA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;GACxD,SAAS,EAAE;GACZ;EAGD,MAAM,uBAAgE,EAAE;EAGxE,eAAe,SAAS,kBAAkB;GAGxC,MAAM,4BACJ,qBAAqB,qBAAqB,SAAS;GAErD,MAAM,eAAe,cAAc,OAAO,UAAU,YAAY;GAEhE,IAAI;GACJ,IAAI,gBAAgB;GAEpB,IAAI,gBAAgB,cAAc,OAAO,QAEvC,SAAS,cAAc,OAAO;QACzB;IAEL,SAAS,cAAc;IACvB,gBAAgB;;GAGlB,IACE,6BACA,0BAA0B,WAAW,QAGrC,0BAA0B,WAAW,KAAK,cAAc;QACnD;IAEL,MAAM,SAAS,gBAAgB,OAAO,QAAQ;KAC5C,IAAI;MAAC;MAAc;MAAO,OAAO;MAAI,cAAc;MAAG,CACnD,OAAO,QAAQ,CACf,KAAK,IAAI;KACZ;KACA,eAAe,gBACX,GAAG,qBAAqB,QAAQ,MAAM,EAAE,WAAW,OAAO,CAAC,WAC3D;KACJ;KACA,OAAO,qBAAqB;KAC7B,CAAC;IAGF,OAAO,WAAW,KAAK,cAAc;IAGrC,qBAAqB,KAAK,OAAO;;GAGnC,YAAY,QAAQ,KAAK,cAAc;GACvC,cAAc,cAAc;IAC5B;EAEF,aAAa,KAAK,YAAY;EAE9B,IAAI,QAAQ,GACV,qBAAqB,sBAAsB,QAAQ,EAAE;;CAWzD,qBAPsB,eAAe,KAAK,QAAQ,UAChD,gBAAgB,OAAO,QAAQ;EAC7B,OAAO;EACP;EACD,CAAC,CAG8B,EAAE,WAAW,EAAE;CAEjD,aAAa,SAAS;CAMtB,MAAM,0BACJ,YACgD;EAKhD,OAJwB,QAAQ,QAAQ,WACtC,mBAAmB,OAAO,QAAQ,gBAAgB,oBAAoB,CAGlD,CAAC,KAAK,WAAW;GACrC,IAAI,UAAU;GACd,IAAI,UAAU;GACd,IAAI,gBAAgB,CAAC,EAAE;GAEvB,IAAI,OAAO,WAAW,QAAQ;IAC5B,gBAAgB,EAAE;IAElB,uBAAuB,OAAO,WAAW,CAAC,SACvC,EAAE,SAAS,cAAc,SAAS,mBAAmB;KACpD,WAAW;KACX,cAAc,KAAK,aAAa;MAEnC;UAED,UAAU;GAGZ,MAAM,kBAAkB,KAAK,IAAI,GAAG,cAAc;GAClD,UAAU,UAAU;GAEpB,OAAO,UAAU;GACjB,OAAO,UAAU;GAEjB,OAAO;IAAE;IAAS;IAAS;IAC3B;;CAGJ,0CACG,aAAa,oEAAI,YAAW,EAAE,CAChC;CAED,OAAO"}
@@ -14,6 +14,11 @@ function getHeaderPrototype(table) {
14
14
  }
15
15
  return table._headerPrototype;
16
16
  }
17
+ /**
18
+ * Constructs a header instance from normalized table internals.
19
+ *
20
+ * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
21
+ */
17
22
  function constructHeader(table, column, options) {
18
23
  const headerPrototype = getHeaderPrototype(table);
19
24
  const header = Object.create(headerPrototype);
@@ -1 +1 @@
1
- {"version":3,"file":"constructHeader.cjs","names":[],"sources":["../../../src/core/headers/constructHeader.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { Column } from '../../types/Column'\nimport type { Header_CoreProperties } from './coreHeadersFeature.types'\n\n/**\n * Creates or retrieves the header prototype for a table.\n * The prototype is cached on the table and shared by all header instances.\n */\nfunction getHeaderPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._headerPrototype) {\n table._headerPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignHeaderPrototype?.(table._headerPrototype, table)\n }\n }\n return table._headerPrototype\n}\n\nexport function constructHeader<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n table: Table_Internal<TFeatures, TData>,\n column: Column<TFeatures, TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n },\n): Header<TFeatures, TData, TValue> {\n // Create header with shared prototype for memory efficiency\n const headerPrototype = getHeaderPrototype(table)\n const header = Object.create(headerPrototype) as Header_CoreProperties<\n TFeatures,\n TData,\n TValue\n >\n\n // Only assign instance-specific properties\n header.colSpan = 0\n header.column = column\n header.depth = options.depth\n header.headerGroup = null\n header.id = options.id ?? column.id\n header.index = options.index\n header.isPlaceholder = !!options.isPlaceholder\n header.placeholderId = options.placeholderId\n header.rowSpan = 0\n header.subHeaders = []\n\n return header as Header<TFeatures, TData, TValue>\n}\n"],"mappings":";;;;;;AAWA,SAAS,mBAGP,OAAiD;AACjD,KAAI,CAAC,MAAM,kBAAkB;AAC3B,QAAM,mBAAmB,EAAE,OAAO;AAClC,OAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,oCAAQ,2GAAwB,MAAM,kBAAkB,MAAM;;;AAGlE,QAAO,MAAM;;AAGf,SAAgB,gBAKd,OACA,QACA,SAOkC;CAElC,MAAM,kBAAkB,mBAAmB,MAAM;CACjD,MAAM,SAAS,OAAO,OAAO,gBAAgB;AAO7C,QAAO,UAAU;AACjB,QAAO,SAAS;AAChB,QAAO,QAAQ,QAAQ;AACvB,QAAO,cAAc;AACrB,QAAO,KAAK,QAAQ,MAAM,OAAO;AACjC,QAAO,QAAQ,QAAQ;AACvB,QAAO,gBAAgB,CAAC,CAAC,QAAQ;AACjC,QAAO,gBAAgB,QAAQ;AAC/B,QAAO,UAAU;AACjB,QAAO,aAAa,EAAE;AAEtB,QAAO"}
1
+ {"version":3,"file":"constructHeader.cjs","names":[],"sources":["../../../src/core/headers/constructHeader.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { Column } from '../../types/Column'\nimport type { Header_CoreProperties } from './coreHeadersFeature.types'\n\n/**\n * Creates or retrieves the header prototype for a table.\n * The prototype is cached on the table and shared by all header instances.\n */\nfunction getHeaderPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._headerPrototype) {\n table._headerPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignHeaderPrototype?.(table._headerPrototype, table)\n }\n }\n return table._headerPrototype\n}\n\n/**\n * Constructs a header instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport function constructHeader<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n table: Table_Internal<TFeatures, TData>,\n column: Column<TFeatures, TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n },\n): Header<TFeatures, TData, TValue> {\n // Create header with shared prototype for memory efficiency\n const headerPrototype = getHeaderPrototype(table)\n const header = Object.create(headerPrototype) as Header_CoreProperties<\n TFeatures,\n TData,\n TValue\n >\n\n // Only assign instance-specific properties\n header.colSpan = 0\n header.column = column\n header.depth = options.depth\n header.headerGroup = null\n header.id = options.id ?? column.id\n header.index = options.index\n header.isPlaceholder = !!options.isPlaceholder\n header.placeholderId = options.placeholderId\n header.rowSpan = 0\n header.subHeaders = []\n\n return header as Header<TFeatures, TData, TValue>\n}\n"],"mappings":";;;;;;AAWA,SAAS,mBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,kBAAkB;EAC3B,MAAM,mBAAmB,EAAE,OAAO;EAClC,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;GACpD,iCAAQ,2GAAwB,MAAM,kBAAkB,MAAM;;;CAGlE,OAAO,MAAM;;;;;;;AAQf,SAAgB,gBAKd,OACA,QACA,SAOkC;CAElC,MAAM,kBAAkB,mBAAmB,MAAM;CACjD,MAAM,SAAS,OAAO,OAAO,gBAAgB;CAO7C,OAAO,UAAU;CACjB,OAAO,SAAS;CAChB,OAAO,QAAQ,QAAQ;CACvB,OAAO,cAAc;CACrB,OAAO,KAAK,QAAQ,MAAM,OAAO;CACjC,OAAO,QAAQ,QAAQ;CACvB,OAAO,gBAAgB,CAAC,CAAC,QAAQ;CACjC,OAAO,gBAAgB,QAAQ;CAC/B,OAAO,UAAU;CACjB,OAAO,aAAa,EAAE;CAEtB,OAAO"}
@@ -5,6 +5,11 @@ import { TableFeatures } from "../../types/TableFeatures.cjs";
5
5
  import { Table_Internal } from "../../types/Table.cjs";
6
6
 
7
7
  //#region src/core/headers/constructHeader.d.ts
8
+ /**
9
+ * Constructs a header instance from normalized table internals.
10
+ *
11
+ * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
12
+ */
8
13
  declare function constructHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(table: Table_Internal<TFeatures, TData>, column: Column<TFeatures, TData, TValue>, options: {
9
14
  id?: string;
10
15
  isPlaceholder?: boolean;
@@ -5,6 +5,11 @@ import { TableFeatures } from "../../types/TableFeatures.js";
5
5
  import { Table_Internal } from "../../types/Table.js";
6
6
 
7
7
  //#region src/core/headers/constructHeader.d.ts
8
+ /**
9
+ * Constructs a header instance from normalized table internals.
10
+ *
11
+ * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
12
+ */
8
13
  declare function constructHeader<TFeatures extends TableFeatures, TData extends RowData, TValue extends CellData = CellData>(table: Table_Internal<TFeatures, TData>, column: Column<TFeatures, TData, TValue>, options: {
9
14
  id?: string;
10
15
  isPlaceholder?: boolean;
@@ -13,6 +13,11 @@ function getHeaderPrototype(table) {
13
13
  }
14
14
  return table._headerPrototype;
15
15
  }
16
+ /**
17
+ * Constructs a header instance from normalized table internals.
18
+ *
19
+ * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.
20
+ */
16
21
  function constructHeader(table, column, options) {
17
22
  const headerPrototype = getHeaderPrototype(table);
18
23
  const header = Object.create(headerPrototype);
@@ -1 +1 @@
1
- {"version":3,"file":"constructHeader.js","names":[],"sources":["../../../src/core/headers/constructHeader.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { Column } from '../../types/Column'\nimport type { Header_CoreProperties } from './coreHeadersFeature.types'\n\n/**\n * Creates or retrieves the header prototype for a table.\n * The prototype is cached on the table and shared by all header instances.\n */\nfunction getHeaderPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._headerPrototype) {\n table._headerPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignHeaderPrototype?.(table._headerPrototype, table)\n }\n }\n return table._headerPrototype\n}\n\nexport function constructHeader<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n table: Table_Internal<TFeatures, TData>,\n column: Column<TFeatures, TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n },\n): Header<TFeatures, TData, TValue> {\n // Create header with shared prototype for memory efficiency\n const headerPrototype = getHeaderPrototype(table)\n const header = Object.create(headerPrototype) as Header_CoreProperties<\n TFeatures,\n TData,\n TValue\n >\n\n // Only assign instance-specific properties\n header.colSpan = 0\n header.column = column\n header.depth = options.depth\n header.headerGroup = null\n header.id = options.id ?? column.id\n header.index = options.index\n header.isPlaceholder = !!options.isPlaceholder\n header.placeholderId = options.placeholderId\n header.rowSpan = 0\n header.subHeaders = []\n\n return header as Header<TFeatures, TData, TValue>\n}\n"],"mappings":";;;;;AAWA,SAAS,mBAGP,OAAiD;AACjD,KAAI,CAAC,MAAM,kBAAkB;AAC3B,QAAM,mBAAmB,EAAE,OAAO;AAClC,OAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;AACpD,oCAAQ,2GAAwB,MAAM,kBAAkB,MAAM;;;AAGlE,QAAO,MAAM;;AAGf,SAAgB,gBAKd,OACA,QACA,SAOkC;CAElC,MAAM,kBAAkB,mBAAmB,MAAM;CACjD,MAAM,SAAS,OAAO,OAAO,gBAAgB;AAO7C,QAAO,UAAU;AACjB,QAAO,SAAS;AAChB,QAAO,QAAQ,QAAQ;AACvB,QAAO,cAAc;AACrB,QAAO,KAAK,QAAQ,MAAM,OAAO;AACjC,QAAO,QAAQ,QAAQ;AACvB,QAAO,gBAAgB,CAAC,CAAC,QAAQ;AACjC,QAAO,gBAAgB,QAAQ;AAC/B,QAAO,UAAU;AACjB,QAAO,aAAa,EAAE;AAEtB,QAAO"}
1
+ {"version":3,"file":"constructHeader.js","names":[],"sources":["../../../src/core/headers/constructHeader.ts"],"sourcesContent":["import type { Table_Internal } from '../../types/Table'\nimport type { CellData, RowData } from '../../types/type-utils'\nimport type { TableFeatures } from '../../types/TableFeatures'\nimport type { Header } from '../../types/Header'\nimport type { Column } from '../../types/Column'\nimport type { Header_CoreProperties } from './coreHeadersFeature.types'\n\n/**\n * Creates or retrieves the header prototype for a table.\n * The prototype is cached on the table and shared by all header instances.\n */\nfunction getHeaderPrototype<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(table: Table_Internal<TFeatures, TData>): object {\n if (!table._headerPrototype) {\n table._headerPrototype = { table }\n for (const feature of Object.values(table._features)) {\n feature.assignHeaderPrototype?.(table._headerPrototype, table)\n }\n }\n return table._headerPrototype\n}\n\n/**\n * Constructs a header instance from normalized table internals.\n *\n * This wires core properties, feature prototype APIs, and instance data used by table rendering and row-model operations.\n */\nexport function constructHeader<\n TFeatures extends TableFeatures,\n TData extends RowData,\n TValue extends CellData = CellData,\n>(\n table: Table_Internal<TFeatures, TData>,\n column: Column<TFeatures, TData, TValue>,\n options: {\n id?: string\n isPlaceholder?: boolean\n placeholderId?: string\n index: number\n depth: number\n },\n): Header<TFeatures, TData, TValue> {\n // Create header with shared prototype for memory efficiency\n const headerPrototype = getHeaderPrototype(table)\n const header = Object.create(headerPrototype) as Header_CoreProperties<\n TFeatures,\n TData,\n TValue\n >\n\n // Only assign instance-specific properties\n header.colSpan = 0\n header.column = column\n header.depth = options.depth\n header.headerGroup = null\n header.id = options.id ?? column.id\n header.index = options.index\n header.isPlaceholder = !!options.isPlaceholder\n header.placeholderId = options.placeholderId\n header.rowSpan = 0\n header.subHeaders = []\n\n return header as Header<TFeatures, TData, TValue>\n}\n"],"mappings":";;;;;AAWA,SAAS,mBAGP,OAAiD;CACjD,IAAI,CAAC,MAAM,kBAAkB;EAC3B,MAAM,mBAAmB,EAAE,OAAO;EAClC,KAAK,MAAM,WAAW,OAAO,OAAO,MAAM,UAAU,EAAE;;GACpD,iCAAQ,2GAAwB,MAAM,kBAAkB,MAAM;;;CAGlE,OAAO,MAAM;;;;;;;AAQf,SAAgB,gBAKd,OACA,QACA,SAOkC;CAElC,MAAM,kBAAkB,mBAAmB,MAAM;CACjD,MAAM,SAAS,OAAO,OAAO,gBAAgB;CAO7C,OAAO,UAAU;CACjB,OAAO,SAAS;CAChB,OAAO,QAAQ,QAAQ;CACvB,OAAO,cAAc;CACrB,OAAO,KAAK,QAAQ,MAAM,OAAO;CACjC,OAAO,QAAQ,QAAQ;CACvB,OAAO,gBAAgB,CAAC,CAAC,QAAQ;CACjC,OAAO,gBAAgB,QAAQ;CAC/B,OAAO,UAAU;CACjB,OAAO,aAAa,EAAE;CAEtB,OAAO"}
@@ -3,6 +3,11 @@ const require_columnPinningFeature_utils = require('../../features/column-pinnin
3
3
  const require_coreHeadersFeature_utils = require('./coreHeadersFeature.utils.cjs');
4
4
 
5
5
  //#region src/core/headers/coreHeadersFeature.ts
6
+ /**
7
+ * Creates the stock core headers feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  function constructCoreHeadersFeature() {
7
12
  return {
8
13
  assignHeaderPrototype: (prototype, table) => {
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.cjs","names":["header_getLeafHeaders","header_getContext","table_getHeaderGroups","table_getFooterGroups","table_getFlatHeaders","table_getLeafHeaders","callMemoOrStaticFn","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\nexport interface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,qCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAWC,mDAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,iCAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB;MACdC,iCACE,OACA,uBACAC,6DACD;MACDD,iCACE,OACA,yBACAE,+DACD;MACDF,iCACE,OACA,wBACAG,8DACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreHeadersFeature.cjs","names":["header_getLeafHeaders","header_getContext","table_getHeaderGroups","table_getFooterGroups","table_getFlatHeaders","table_getLeafHeaders","callMemoOrStaticFn","table_getLeftHeaderGroups","table_getCenterHeaderGroups","table_getRightHeaderGroups"],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\nexport interface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\n/**\n * Creates the stock core headers feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;;;;;;AAmCA,SAAgB,8BAGoD;CAClE,OAAO;EACL,wBAAwB,WAAW,UAAU;GAC3C,kCAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAWA,uDAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAWC,mDAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,8BAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAUC,uDAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAUC,sDAAqB,MAAM;KACrC,gBAAgB;MACdC,iCACE,OACA,uBACAC,6DACD;MACDD,iCACE,OACA,yBACAE,+DACD;MACDF,iCACE,OACA,wBACAG,8DACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -3,6 +3,11 @@ import { TableFeature, TableFeatures } from "../../types/TableFeatures.cjs";
3
3
 
4
4
  //#region src/core/headers/coreHeadersFeature.d.ts
5
5
  interface CoreHeadersFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ /**
7
+ * Creates the stock core headers feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  declare function constructCoreHeadersFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>>;
7
12
  /**
8
13
  * The Core Headers feature provides the core header functionality.
@@ -3,6 +3,11 @@ import { TableFeature, TableFeatures } from "../../types/TableFeatures.js";
3
3
 
4
4
  //#region src/core/headers/coreHeadersFeature.d.ts
5
5
  interface CoreHeadersFeatureConstructors<TFeatures extends TableFeatures, TData extends RowData> {}
6
+ /**
7
+ * Creates the stock core headers feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  declare function constructCoreHeadersFeature<TFeatures extends TableFeatures, TData extends RowData>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>>;
7
12
  /**
8
13
  * The Core Headers feature provides the core header functionality.
@@ -3,6 +3,11 @@ import { table_getCenterHeaderGroups, table_getLeftHeaderGroups, table_getRightH
3
3
  import { header_getContext, header_getLeafHeaders, table_getFlatHeaders, table_getFooterGroups, table_getHeaderGroups, table_getLeafHeaders } from "./coreHeadersFeature.utils.js";
4
4
 
5
5
  //#region src/core/headers/coreHeadersFeature.ts
6
+ /**
7
+ * Creates the stock core headers feature.
8
+ *
9
+ * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.
10
+ */
6
11
  function constructCoreHeadersFeature() {
7
12
  return {
8
13
  assignHeaderPrototype: (prototype, table) => {
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\nexport interface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;AA8BA,SAAgB,8BAGoD;AAClE,QAAO;EACL,wBAAwB,WAAW,UAAU;AAC3C,uBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAW,kBAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;AAC7B,mBAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB;MACd,mBACE,OACA,uBACA,0BACD;MACD,mBACE,OACA,yBACA,4BACD;MACD,mBACE,OACA,wBACA,2BACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
1
+ {"version":3,"file":"coreHeadersFeature.js","names":[],"sources":["../../../src/core/headers/coreHeadersFeature.ts"],"sourcesContent":["import {\n assignPrototypeAPIs,\n assignTableAPIs,\n callMemoOrStaticFn,\n} from '../../utils'\nimport {\n table_getCenterHeaderGroups,\n table_getLeftHeaderGroups,\n table_getRightHeaderGroups,\n} from '../../features/column-pinning/columnPinningFeature.utils'\nimport {\n header_getContext,\n header_getLeafHeaders,\n table_getFlatHeaders,\n table_getFooterGroups,\n table_getHeaderGroups,\n table_getLeafHeaders,\n} from './coreHeadersFeature.utils'\nimport type { RowData } from '../../types/type-utils'\nimport type { TableFeature, TableFeatures } from '../../types/TableFeatures'\n// import type { Header_Header, Table_Headers } from './coreHeadersFeature.types'\n\nexport interface CoreHeadersFeatureConstructors<\n TFeatures extends TableFeatures,\n TData extends RowData,\n> {\n // Header: Header_Header<TFeatures, TData>\n // Table: Table_Headers<TFeatures, TData>\n}\n\n/**\n * Creates the stock core headers feature.\n *\n * The returned feature registers its state defaults, option defaults, and instance APIs so it can be included in a `tableFeatures({ ... })` call.\n */\nexport function constructCoreHeadersFeature<\n TFeatures extends TableFeatures,\n TData extends RowData,\n>(): TableFeature<CoreHeadersFeatureConstructors<TFeatures, TData>> {\n return {\n assignHeaderPrototype: (prototype, table) => {\n assignPrototypeAPIs('coreHeadersFeature', prototype, table, {\n header_getLeafHeaders: {\n fn: (header) => header_getLeafHeaders(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n header_getContext: {\n fn: (header) => header_getContext(header),\n memoDeps: (header) => [header.column.table.options.columns],\n },\n })\n },\n\n constructTableAPIs: (table) => {\n assignTableAPIs('coreHeadersFeature', table, {\n table_getHeaderGroups: {\n fn: () => table_getHeaderGroups(table),\n memoDeps: () => [\n table.options.columns,\n table.atoms.columnOrder?.get(),\n table.atoms.grouping?.get(),\n table.atoms.columnPinning?.get(),\n table.atoms.columnVisibility?.get(),\n table.options.groupedColumnMode,\n ],\n },\n table_getFooterGroups: {\n fn: () => table_getFooterGroups(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getFlatHeaders: {\n fn: () => table_getFlatHeaders(table),\n memoDeps: () => [table.getHeaderGroups()],\n },\n table_getLeafHeaders: {\n fn: () => table_getLeafHeaders(table),\n memoDeps: () => [\n callMemoOrStaticFn(\n table,\n 'getLeftHeaderGroups',\n table_getLeftHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getCenterHeaderGroups',\n table_getCenterHeaderGroups,\n ),\n callMemoOrStaticFn(\n table,\n 'getRightHeaderGroups',\n table_getRightHeaderGroups,\n ),\n ],\n },\n })\n },\n }\n}\n\n/**\n * The Core Headers feature provides the core header functionality.\n */\nexport const coreHeadersFeature = constructCoreHeadersFeature()\n"],"mappings":";;;;;;;;;;AAmCA,SAAgB,8BAGoD;CAClE,OAAO;EACL,wBAAwB,WAAW,UAAU;GAC3C,oBAAoB,sBAAsB,WAAW,OAAO;IAC1D,uBAAuB;KACrB,KAAK,WAAW,sBAAsB,OAAO;KAC7C,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACD,mBAAmB;KACjB,KAAK,WAAW,kBAAkB,OAAO;KACzC,WAAW,WAAW,CAAC,OAAO,OAAO,MAAM,QAAQ,QAAQ;KAC5D;IACF,CAAC;;EAGJ,qBAAqB,UAAU;GAC7B,gBAAgB,sBAAsB,OAAO;IAC3C,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB;;;OACd,MAAM,QAAQ;gCACd,MAAM,MAAM,2FAAa,KAAK;gCAC9B,MAAM,MAAM,wFAAU,KAAK;gCAC3B,MAAM,MAAM,6FAAe,KAAK;gCAChC,MAAM,MAAM,gGAAkB,KAAK;OACnC,MAAM,QAAQ;OACf;;KACF;IACD,uBAAuB;KACrB,UAAU,sBAAsB,MAAM;KACtC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB,CAAC,MAAM,iBAAiB,CAAC;KAC1C;IACD,sBAAsB;KACpB,UAAU,qBAAqB,MAAM;KACrC,gBAAgB;MACd,mBACE,OACA,uBACA,0BACD;MACD,mBACE,OACA,yBACA,4BACD;MACD,mBACE,OACA,wBACA,2BACD;MACF;KACF;IACF,CAAC;;EAEL;;;;;AAMH,MAAa,qBAAqB,6BAA6B"}
@@ -4,6 +4,16 @@ const require_buildHeaderGroups = require('./buildHeaderGroups.cjs');
4
4
  const require_columnPinningFeature_utils = require('../../features/column-pinning/columnPinningFeature.utils.cjs');
5
5
 
6
6
  //#region src/core/headers/coreHeadersFeature.utils.ts
7
+ /**
8
+ * Returns leaf headers for a header.
9
+ *
10
+ * This is the static implementation behind the matching header instance API and can account for nested header groups.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const value = header_getLeafHeaders(header)
15
+ * ```
16
+ */
7
17
  function header_getLeafHeaders(header) {
8
18
  const leafHeaders = [];
9
19
  const recurseHeader = (h) => {
@@ -13,6 +23,16 @@ function header_getLeafHeaders(header) {
13
23
  recurseHeader(header);
14
24
  return leafHeaders;
15
25
  }
26
+ /**
27
+ * Returns context for a header.
28
+ *
29
+ * This is the static implementation behind the matching header instance API and can account for nested header groups.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const value = header_getContext(header)
34
+ * ```
35
+ */
16
36
  function header_getContext(header) {
17
37
  return {
18
38
  column: header.column,
@@ -20,13 +40,32 @@ function header_getContext(header) {
20
40
  table: header.column.table
21
41
  };
22
42
  }
43
+ /**
44
+ * Returns header groups for the table.
45
+ *
46
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const value = table_getHeaderGroups(table)
51
+ * ```
52
+ */
23
53
  function table_getHeaderGroups(table) {
24
54
  var _table$atoms$columnPi;
25
55
  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();
26
56
  const allColumns = table.getAllColumns();
27
57
  const leafColumns = require_utils.callMemoOrStaticFn(table, "getVisibleLeafColumns", require_columnVisibilityFeature_utils.table_getVisibleLeafColumns);
28
- const leftColumns = left.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
29
- const rightColumns = right.map((columnId) => leafColumns.find((d) => d.id === columnId)).filter(Boolean);
58
+ const leafColumnsById = table.getAllLeafColumnsById();
59
+ const leftColumns = [];
60
+ for (const columnId of left) {
61
+ const column = leafColumnsById[columnId];
62
+ if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) leftColumns.push(column);
63
+ }
64
+ const rightColumns = [];
65
+ for (const columnId of right) {
66
+ const column = leafColumnsById[columnId];
67
+ if (column && require_utils.callMemoOrStaticFn(column, "getIsVisible", require_columnVisibilityFeature_utils.column_getIsVisible)) rightColumns.push(column);
68
+ }
30
69
  const centerColumns = leafColumns.filter((column) => !left.includes(column.id) && !right.includes(column.id));
31
70
  return require_buildHeaderGroups.buildHeaderGroups(allColumns, [
32
71
  ...leftColumns,
@@ -34,14 +73,44 @@ function table_getHeaderGroups(table) {
34
73
  ...rightColumns
35
74
  ], table);
36
75
  }
76
+ /**
77
+ * Returns footer groups for the table.
78
+ *
79
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * const value = table_getFooterGroups(table)
84
+ * ```
85
+ */
37
86
  function table_getFooterGroups(table) {
38
87
  return [...table.getHeaderGroups()].reverse();
39
88
  }
89
+ /**
90
+ * Returns flat headers for the table.
91
+ *
92
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const value = table_getFlatHeaders(table)
97
+ * ```
98
+ */
40
99
  function table_getFlatHeaders(table) {
41
100
  return table.getHeaderGroups().map((headerGroup) => {
42
101
  return headerGroup.headers;
43
102
  }).flat();
44
103
  }
104
+ /**
105
+ * Returns leaf headers for the table.
106
+ *
107
+ * This reads the relevant table atoms, options, and row-model cache to derive the current table-level value.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * const value = table_getLeafHeaders(table)
112
+ * ```
113
+ */
45
114
  function table_getLeafHeaders(table) {
46
115
  var _left$, _center$, _right$;
47
116
  const left = require_utils.callMemoOrStaticFn(table, "getLeftHeaderGroups", require_columnPinningFeature_utils.table_getLeftHeaderGroups);
@@ -1 +1 @@
1
- {"version":3,"file":"coreHeadersFeature.utils.cjs","names":["getDefaultColumnPinningState","callMemoOrStaticFn","table_getVisibleLeafColumns","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 { table_getVisibleLeafColumns } 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\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\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\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 unknown as Array<Column<TFeatures, TData, unknown>>\n\n const leftColumns = left\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\n\n const rightColumns = right\n .map((columnId) => leafColumns.find((d) => d.id === columnId)!)\n .filter(Boolean)\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\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\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\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":";;;;;;AAgBA,SAAgB,sBAId,QAA0C;CAC1C,MAAM,cAAuD,EAAE;CAE/D,MAAM,iBAAiB,MAA+C;AACpE,MAAI,EAAE,WAAW,OACf,GAAE,WAAW,IAAI,cAAc;AAEjC,cAAY,KAAK,EAAsC;;AAGzD,eAAc,OAAO;AAErB,QAAO;;AAGT,SAAgB,kBAId,QAA0C;AAC1C,QAAO;EACL,QAAQ,OAAO;EACf;EACA,OAAO,OAAO,OAAO;EACtB;;AAGH,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;CAED,MAAM,cAAc,KACjB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,eAAe,MAClB,KAAK,aAAa,YAAY,MAAM,MAAM,EAAE,OAAO,SAAS,CAAE,CAC9D,OAAO,QAAQ;CAElB,MAAM,gBAAgB,YAAY,QAC/B,WAAW,CAAC,KAAK,SAAS,OAAO,GAAG,IAAI,CAAC,MAAM,SAAS,OAAO,GAAG,CACpE;AAQD,QANqBC,4CACnB,YACA;EAAC,GAAG;EAAa,GAAG;EAAe,GAAG;EAAa,EACnD,MAGiB;;AAGrB,SAAgB,sBAGd,OAAyC;AAEzC,QAAO,CAAC,GADa,MAAM,iBACJ,CAAC,CAAC,SAAS;;AAGpC,SAAgB,qBAGd,OAAyC;AAEzC,QADqB,MAAM,iBACR,CAChB,KAAK,gBAAgB;AACpB,SAAO,YAAY;GACnB,CACD,MAAM;;AAGX,SAAgB,qBAGd,OAAyC;;CACzC,MAAM,OAAOF,iCACX,OACA,uBACAG,6DACD;CACD,MAAM,SAASH,iCACb,OACA,yBACAI,+DACD;CACD,MAAM,QAAQJ,iCACZ,OACA,wBACAK,8DACD;AAED,QAAO;EACL,cAAI,KAAK,oDAAI,YAAW,EAAE;EAC1B,gBAAI,OAAO,wDAAI,YAAW,EAAE;EAC5B,eAAI,MAAM,sDAAI,YAAW,EAAE;EAC5B,CACE,KAAK,WAAW;AACf,SAAO,OAAO,gBAAgB;GAC9B,CACD,MAAM"}
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"}