@primeui/chart-core 0.0.1-alpha.1

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 (299) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +1 -0
  3. package/dist/animations/index.d.mts +136 -0
  4. package/dist/animations/index.mjs +18 -0
  5. package/dist/annotation.utils-Bm0lOO1o.d.mts +290 -0
  6. package/dist/borderRadius.utils-Cz73LLR_.d.mts +54 -0
  7. package/dist/canvas-D4vigq47.d.mts +34 -0
  8. package/dist/canvas.utils-D2WHi2gL.d.mts +167 -0
  9. package/dist/cartesian/index.d.mts +94 -0
  10. package/dist/cartesian/index.mjs +93 -0
  11. package/dist/chunk-22ST6YPP.mjs +304 -0
  12. package/dist/chunk-2QK2KOBN.mjs +10 -0
  13. package/dist/chunk-2QRS4YQ5.mjs +18 -0
  14. package/dist/chunk-3FFJEX4A.mjs +261 -0
  15. package/dist/chunk-3IYSJ2U7.mjs +567 -0
  16. package/dist/chunk-3OZLP4I4.mjs +190 -0
  17. package/dist/chunk-3WEMHXZI.mjs +198 -0
  18. package/dist/chunk-3Z62EUJN.mjs +138 -0
  19. package/dist/chunk-4C6EVJ54.mjs +362 -0
  20. package/dist/chunk-53HW45JB.mjs +102 -0
  21. package/dist/chunk-55Y3WI6S.mjs +186 -0
  22. package/dist/chunk-5JCI2DEB.mjs +97 -0
  23. package/dist/chunk-66T4MRC5.mjs +113 -0
  24. package/dist/chunk-6HSEJLSR.mjs +376 -0
  25. package/dist/chunk-6STOLMCA.mjs +187 -0
  26. package/dist/chunk-7CMVDIOU.mjs +54 -0
  27. package/dist/chunk-7QQ6ETB4.mjs +228 -0
  28. package/dist/chunk-A6ZQZFL2.mjs +272 -0
  29. package/dist/chunk-ADKLH73T.mjs +1 -0
  30. package/dist/chunk-AGU3NG6D.mjs +22 -0
  31. package/dist/chunk-AHYIS6EB.mjs +230 -0
  32. package/dist/chunk-AP3UYWYT.mjs +4 -0
  33. package/dist/chunk-ARB5T6MP.mjs +326 -0
  34. package/dist/chunk-ARRGOEFX.mjs +585 -0
  35. package/dist/chunk-AUF4CHDP.mjs +422 -0
  36. package/dist/chunk-B4FTADAZ.mjs +561 -0
  37. package/dist/chunk-BABQKA6K.mjs +339 -0
  38. package/dist/chunk-BETFQBM2.mjs +197 -0
  39. package/dist/chunk-BKP26M4K.mjs +413 -0
  40. package/dist/chunk-BZN2QHGP.mjs +200 -0
  41. package/dist/chunk-C36VWQ7A.mjs +86 -0
  42. package/dist/chunk-CHW4RKY3.mjs +16 -0
  43. package/dist/chunk-CINXJIRR.mjs +120 -0
  44. package/dist/chunk-DN6AXQYZ.mjs +667 -0
  45. package/dist/chunk-DP2IZNN3.mjs +92 -0
  46. package/dist/chunk-DTWTCFRG.mjs +119 -0
  47. package/dist/chunk-EAMUNLRU.mjs +172 -0
  48. package/dist/chunk-EDAKJLNA.mjs +17 -0
  49. package/dist/chunk-ERVQB2VZ.mjs +59 -0
  50. package/dist/chunk-FFMT6OCO.mjs +92 -0
  51. package/dist/chunk-FHTC2YDB.mjs +102 -0
  52. package/dist/chunk-FRST55HY.mjs +16 -0
  53. package/dist/chunk-HDFGCN2F.mjs +132 -0
  54. package/dist/chunk-IEGLX7VL.mjs +42 -0
  55. package/dist/chunk-ILUWFYGY.mjs +220 -0
  56. package/dist/chunk-IXOWSEHO.mjs +114 -0
  57. package/dist/chunk-J4RI2C2G.mjs +172 -0
  58. package/dist/chunk-J65DBT4R.mjs +13 -0
  59. package/dist/chunk-JGOVWSKH.mjs +179 -0
  60. package/dist/chunk-JO7VACY2.mjs +25 -0
  61. package/dist/chunk-JWFBOPM6.mjs +122 -0
  62. package/dist/chunk-KNDZP446.mjs +895 -0
  63. package/dist/chunk-KP2TWD4Z.mjs +90 -0
  64. package/dist/chunk-KQIFO5I3.mjs +225 -0
  65. package/dist/chunk-KVDEROP6.mjs +59 -0
  66. package/dist/chunk-LKC7MZKK.mjs +87 -0
  67. package/dist/chunk-LVMDQ4OJ.mjs +305 -0
  68. package/dist/chunk-M7B3JF43.mjs +90 -0
  69. package/dist/chunk-MTGMXRNF.mjs +136 -0
  70. package/dist/chunk-N3TIT3OH.mjs +1040 -0
  71. package/dist/chunk-NHRK5KU2.mjs +890 -0
  72. package/dist/chunk-NKUYIWAP.mjs +243 -0
  73. package/dist/chunk-NPDZLYIF.mjs +238 -0
  74. package/dist/chunk-O2X6FF45.mjs +499 -0
  75. package/dist/chunk-OGJ6IIBW.mjs +176 -0
  76. package/dist/chunk-OHGCZZPZ.mjs +403 -0
  77. package/dist/chunk-OWW3K55O.mjs +351 -0
  78. package/dist/chunk-OXTFAWSK.mjs +60 -0
  79. package/dist/chunk-PLSDU3C2.mjs +890 -0
  80. package/dist/chunk-PRDVPOZX.mjs +223 -0
  81. package/dist/chunk-Q6PPVIHU.mjs +21 -0
  82. package/dist/chunk-QQBXUDM4.mjs +885 -0
  83. package/dist/chunk-QS76E3TD.mjs +111 -0
  84. package/dist/chunk-QWQ6HY4I.mjs +209 -0
  85. package/dist/chunk-R6Y3R7EW.mjs +135 -0
  86. package/dist/chunk-RBLZRT5K.mjs +190 -0
  87. package/dist/chunk-RO4N6YFS.mjs +167 -0
  88. package/dist/chunk-RQ3CKQOX.mjs +984 -0
  89. package/dist/chunk-SALTGZFR.mjs +208 -0
  90. package/dist/chunk-SANZPAJ4.mjs +14 -0
  91. package/dist/chunk-SDBPQ5CF.mjs +624 -0
  92. package/dist/chunk-SSLTFJ3U.mjs +364 -0
  93. package/dist/chunk-SXHVDJGF.mjs +77 -0
  94. package/dist/chunk-TA4MVAEX.mjs +243 -0
  95. package/dist/chunk-TAHCOZHF.mjs +1772 -0
  96. package/dist/chunk-TQ6S34QZ.mjs +152 -0
  97. package/dist/chunk-UPRXABX5.mjs +90 -0
  98. package/dist/chunk-VGLSBZDN.mjs +71 -0
  99. package/dist/chunk-VN7CKCSE.mjs +364 -0
  100. package/dist/chunk-VVI3OBPJ.mjs +524 -0
  101. package/dist/chunk-VWF57TS3.mjs +62 -0
  102. package/dist/chunk-WA3OVISZ.mjs +179 -0
  103. package/dist/chunk-WCG35U6M.mjs +964 -0
  104. package/dist/chunk-WFTX4AQJ.mjs +194 -0
  105. package/dist/chunk-WFVOQ2QZ.mjs +18 -0
  106. package/dist/chunk-WH3C3Y7P.mjs +149 -0
  107. package/dist/chunk-WPFUV7K3.mjs +488 -0
  108. package/dist/chunk-WRULPWHD.mjs +492 -0
  109. package/dist/chunk-WS64BZXT.mjs +1 -0
  110. package/dist/chunk-WY4AURRE.mjs +2419 -0
  111. package/dist/chunk-WYLILAOO.mjs +167 -0
  112. package/dist/chunk-X4D7FKUS.mjs +62 -0
  113. package/dist/chunk-X7T34OLW.mjs +139 -0
  114. package/dist/chunk-XIHBK5D3.mjs +68 -0
  115. package/dist/chunk-XQQCGFYB.mjs +50 -0
  116. package/dist/chunk-XTVE4P3L.mjs +214 -0
  117. package/dist/chunk-XUAASRXW.mjs +579 -0
  118. package/dist/chunk-Y3L3D4GQ.mjs +685 -0
  119. package/dist/chunk-YBJ56XJS.mjs +132 -0
  120. package/dist/chunk-ZQFK6CAE.mjs +1 -0
  121. package/dist/chunk-ZT2Z7ERM.mjs +874 -0
  122. package/dist/chunk-ZTL2FQEW.mjs +714 -0
  123. package/dist/circular/arc/index.d.mts +8 -0
  124. package/dist/circular/arc/index.mjs +3 -0
  125. package/dist/circular/index.d.mts +44 -0
  126. package/dist/circular/index.mjs +13 -0
  127. package/dist/collect.utils-DiKB4ciO.d.mts +12 -0
  128. package/dist/computeChartState-BTVIqwyO.d.mts +304 -0
  129. package/dist/controller-BJE1AZ3q.d.mts +82 -0
  130. package/dist/controller-BoNigQJr.d.mts +63 -0
  131. package/dist/controllers/index.d.mts +16 -0
  132. package/dist/controllers/index.mjs +110 -0
  133. package/dist/datalabel.utils-CkjGeB8S.d.mts +122 -0
  134. package/dist/decimation.utils-CcvJVhI4.d.mts +244 -0
  135. package/dist/geometry-DUUQJXVM.d.mts +60 -0
  136. package/dist/index-DseIZa1j.d.mts +167 -0
  137. package/dist/index.d.mts +88 -0
  138. package/dist/index.mjs +110 -0
  139. package/dist/orchestrator/index.d.mts +264 -0
  140. package/dist/orchestrator/index.mjs +33 -0
  141. package/dist/plugins/index.d.mts +18 -0
  142. package/dist/plugins/index.mjs +1 -0
  143. package/dist/property-animations-D433wXzz.d.mts +580 -0
  144. package/dist/property-store-NORUWFND.d.mts +17 -0
  145. package/dist/radial/index.d.mts +14 -0
  146. package/dist/radial/index.mjs +37 -0
  147. package/dist/renderers/axis/index.d.mts +39 -0
  148. package/dist/renderers/axis/index.mjs +8 -0
  149. package/dist/renderers/circular/index.d.mts +13 -0
  150. package/dist/renderers/circular/index.mjs +13 -0
  151. package/dist/renderers/index.d.mts +83 -0
  152. package/dist/renderers/index.mjs +75 -0
  153. package/dist/renderers/navigator/index.d.mts +103 -0
  154. package/dist/renderers/navigator/index.mjs +8 -0
  155. package/dist/resize.utils-D_2qm6rv.d.mts +142 -0
  156. package/dist/ring.utils-DXvrxMkU.d.mts +138 -0
  157. package/dist/scale-KFv30jqZ.d.mts +307 -0
  158. package/dist/scales-Drf8AIhL.d.mts +75 -0
  159. package/dist/series/bar/canvas/index.d.mts +8 -0
  160. package/dist/series/bar/canvas/index.mjs +10 -0
  161. package/dist/series/bar/controller/index.d.mts +105 -0
  162. package/dist/series/bar/controller/index.mjs +44 -0
  163. package/dist/series/bar/controller-canvas/index.d.mts +7 -0
  164. package/dist/series/bar/controller-canvas/index.mjs +49 -0
  165. package/dist/series/bar/controller-svg/index.d.mts +7 -0
  166. package/dist/series/bar/controller-svg/index.mjs +49 -0
  167. package/dist/series/bar/index.d.mts +60 -0
  168. package/dist/series/bar/index.mjs +13 -0
  169. package/dist/series/bar/svg/index.d.mts +8 -0
  170. package/dist/series/bar/svg/index.mjs +11 -0
  171. package/dist/series/candlestick/canvas/index.d.mts +8 -0
  172. package/dist/series/candlestick/canvas/index.mjs +8 -0
  173. package/dist/series/candlestick/controller/index.d.mts +123 -0
  174. package/dist/series/candlestick/controller/index.mjs +40 -0
  175. package/dist/series/candlestick/controller-canvas/index.d.mts +7 -0
  176. package/dist/series/candlestick/controller-canvas/index.mjs +45 -0
  177. package/dist/series/candlestick/controller-svg/index.d.mts +7 -0
  178. package/dist/series/candlestick/controller-svg/index.mjs +45 -0
  179. package/dist/series/candlestick/index.d.mts +11 -0
  180. package/dist/series/candlestick/index.mjs +10 -0
  181. package/dist/series/candlestick/svg/index.d.mts +8 -0
  182. package/dist/series/candlestick/svg/index.mjs +8 -0
  183. package/dist/series/heatmap/canvas/index.d.mts +16 -0
  184. package/dist/series/heatmap/canvas/index.mjs +9 -0
  185. package/dist/series/heatmap/controller/index.d.mts +110 -0
  186. package/dist/series/heatmap/controller/index.mjs +23 -0
  187. package/dist/series/heatmap/controller-canvas/index.d.mts +7 -0
  188. package/dist/series/heatmap/controller-canvas/index.mjs +28 -0
  189. package/dist/series/heatmap/controller-svg/index.d.mts +7 -0
  190. package/dist/series/heatmap/controller-svg/index.mjs +28 -0
  191. package/dist/series/heatmap/index.d.mts +34 -0
  192. package/dist/series/heatmap/index.mjs +13 -0
  193. package/dist/series/heatmap/svg/index.d.mts +15 -0
  194. package/dist/series/heatmap/svg/index.mjs +10 -0
  195. package/dist/series/line/canvas/index.d.mts +6 -0
  196. package/dist/series/line/canvas/index.mjs +9 -0
  197. package/dist/series/line/controller/index.d.mts +111 -0
  198. package/dist/series/line/controller/index.mjs +47 -0
  199. package/dist/series/line/controller-canvas/index.d.mts +7 -0
  200. package/dist/series/line/controller-canvas/index.mjs +54 -0
  201. package/dist/series/line/controller-svg/index.d.mts +7 -0
  202. package/dist/series/line/controller-svg/index.mjs +54 -0
  203. package/dist/series/line/index.d.mts +49 -0
  204. package/dist/series/line/index.mjs +13 -0
  205. package/dist/series/line/svg/index.d.mts +6 -0
  206. package/dist/series/line/svg/index.mjs +9 -0
  207. package/dist/series/pie/canvas/index.d.mts +8 -0
  208. package/dist/series/pie/canvas/index.mjs +10 -0
  209. package/dist/series/pie/controller/index.d.mts +174 -0
  210. package/dist/series/pie/controller/index.mjs +110 -0
  211. package/dist/series/pie/controller-canvas/index.d.mts +8 -0
  212. package/dist/series/pie/controller-canvas/index.mjs +119 -0
  213. package/dist/series/pie/controller-svg/index.d.mts +8 -0
  214. package/dist/series/pie/controller-svg/index.mjs +118 -0
  215. package/dist/series/pie/index.d.mts +59 -0
  216. package/dist/series/pie/index.mjs +15 -0
  217. package/dist/series/pie/svg/index.d.mts +6 -0
  218. package/dist/series/pie/svg/index.mjs +11 -0
  219. package/dist/series/polar/canvas/index.d.mts +6 -0
  220. package/dist/series/polar/canvas/index.mjs +7 -0
  221. package/dist/series/polar/controller/index.d.mts +102 -0
  222. package/dist/series/polar/controller/index.mjs +46 -0
  223. package/dist/series/polar/controller-canvas/index.d.mts +8 -0
  224. package/dist/series/polar/controller-canvas/index.mjs +52 -0
  225. package/dist/series/polar/controller-svg/index.d.mts +8 -0
  226. package/dist/series/polar/controller-svg/index.mjs +52 -0
  227. package/dist/series/polar/index.d.mts +25 -0
  228. package/dist/series/polar/index.mjs +16 -0
  229. package/dist/series/polar/svg/index.d.mts +10 -0
  230. package/dist/series/polar/svg/index.mjs +8 -0
  231. package/dist/series/radar/canvas/index.d.mts +6 -0
  232. package/dist/series/radar/canvas/index.mjs +8 -0
  233. package/dist/series/radar/controller/index.d.mts +121 -0
  234. package/dist/series/radar/controller/index.mjs +43 -0
  235. package/dist/series/radar/controller-canvas/index.d.mts +8 -0
  236. package/dist/series/radar/controller-canvas/index.mjs +51 -0
  237. package/dist/series/radar/controller-svg/index.d.mts +8 -0
  238. package/dist/series/radar/controller-svg/index.mjs +51 -0
  239. package/dist/series/radar/index.d.mts +40 -0
  240. package/dist/series/radar/index.mjs +13 -0
  241. package/dist/series/radar/svg/index.d.mts +12 -0
  242. package/dist/series/radar/svg/index.mjs +9 -0
  243. package/dist/series/scatter/canvas/index.d.mts +8 -0
  244. package/dist/series/scatter/canvas/index.mjs +11 -0
  245. package/dist/series/scatter/controller/index.d.mts +124 -0
  246. package/dist/series/scatter/controller/index.mjs +44 -0
  247. package/dist/series/scatter/controller-canvas/index.d.mts +7 -0
  248. package/dist/series/scatter/controller-canvas/index.mjs +51 -0
  249. package/dist/series/scatter/controller-svg/index.d.mts +7 -0
  250. package/dist/series/scatter/controller-svg/index.mjs +51 -0
  251. package/dist/series/scatter/index.d.mts +25 -0
  252. package/dist/series/scatter/index.mjs +14 -0
  253. package/dist/series/scatter/svg/index.d.mts +8 -0
  254. package/dist/series/scatter/svg/index.mjs +12 -0
  255. package/dist/series/treemap/canvas/index.d.mts +50 -0
  256. package/dist/series/treemap/canvas/index.mjs +10 -0
  257. package/dist/series/treemap/controller/index.d.mts +130 -0
  258. package/dist/series/treemap/controller/index.mjs +20 -0
  259. package/dist/series/treemap/controller-canvas/index.d.mts +7 -0
  260. package/dist/series/treemap/controller-canvas/index.mjs +25 -0
  261. package/dist/series/treemap/controller-svg/index.d.mts +7 -0
  262. package/dist/series/treemap/controller-svg/index.mjs +25 -0
  263. package/dist/series/treemap/index.d.mts +15 -0
  264. package/dist/series/treemap/index.mjs +12 -0
  265. package/dist/series/treemap/svg/index.d.mts +15 -0
  266. package/dist/series/treemap/svg/index.mjs +9 -0
  267. package/dist/slices-DtewiwJx.d.mts +72 -0
  268. package/dist/spatialIndex.utils-B_GJkotZ.d.mts +5 -0
  269. package/dist/squarify.utils-B9CQBpa1.d.mts +50 -0
  270. package/dist/stacking-CChuAcLN.d.mts +319 -0
  271. package/dist/streaming.utils-DH-g1gNP.d.mts +49 -0
  272. package/dist/sync/index.d.mts +130 -0
  273. package/dist/sync/index.mjs +5 -0
  274. package/dist/tooltip.renderer-D5wpSlBa.d.mts +210 -0
  275. package/dist/utils/color/index.d.mts +58 -0
  276. package/dist/utils/color/index.mjs +4 -0
  277. package/dist/utils/data/index.d.mts +180 -0
  278. package/dist/utils/data/index.mjs +7 -0
  279. package/dist/utils/export/index.d.mts +14 -0
  280. package/dist/utils/export/index.mjs +6 -0
  281. package/dist/utils/index.d.mts +49 -0
  282. package/dist/utils/index.mjs +29 -0
  283. package/dist/utils/interaction/index.d.mts +255 -0
  284. package/dist/utils/interaction/index.mjs +9 -0
  285. package/dist/utils/layout/index.d.mts +3 -0
  286. package/dist/utils/layout/index.mjs +10 -0
  287. package/dist/utils/math/index.d.mts +162 -0
  288. package/dist/utils/math/index.mjs +1 -0
  289. package/dist/utils/render/index.d.mts +19 -0
  290. package/dist/utils/render/index.mjs +3 -0
  291. package/dist/utils/specialized/index.d.mts +37 -0
  292. package/dist/utils/specialized/index.mjs +66 -0
  293. package/dist/utils/text/index.d.mts +39 -0
  294. package/dist/utils/text/index.mjs +8 -0
  295. package/dist/utils/theme/index.d.mts +295 -0
  296. package/dist/utils/theme/index.mjs +5 -0
  297. package/dist/utils/zoom/index.d.mts +90 -0
  298. package/dist/utils/zoom/index.mjs +3 -0
  299. package/package.json +56 -0
@@ -0,0 +1,40 @@
1
+ import { RadarDatasetEntry, BoxArea, GlobalFont, RadarRenderData, PolarDatasetEntry, FieldAccessor, ChartTheme, StandardHitTestResult } from '@primeui/chart-types';
2
+ export { renderRadarSeriesSvg } from './svg/index.mjs';
3
+ export { renderRadarSeriesCanvas } from './canvas/index.mjs';
4
+
5
+ /** Calculate radar layout — categories, domain, angles, point coordinates, grid levels. */
6
+ declare function calculateRadarLayout(datasets: RadarDatasetEntry[], chartArea: BoxArea, globalFont?: GlobalFont, sharedCategories?: string[], sharedDomain?: [number, number], perAxisDomains?: Map<string, [number, number]>, referenceBoundaryValues?: number[], perSpokeDomains?: Map<number, [number, number]>, tickCount?: number): Omit<RadarRenderData, 'datasetIndex'>;
7
+ /** Hit test radar points — nearest point at (x,y) or null. */
8
+ declare function hitTestRadar(x: number, y: number, layout: RadarRenderData, theme: Required<ChartTheme>): StandardHitTestResult | null;
9
+ /**
10
+ * Extract merged category list from all datasets (preserving first dataset's order).
11
+ * Exported for reuse by polar renderer.
12
+ */
13
+ /** Extract merged category list from all datasets (first dataset order). */
14
+ declare function extractCategories(datasets: {
15
+ props: {
16
+ data?: unknown[];
17
+ categoryField?: FieldAccessor<unknown, string>;
18
+ };
19
+ }[]): string[];
20
+ /** Resolve numeric values for a dataset. */
21
+ declare function resolveValues(props: {
22
+ data?: unknown[];
23
+ valueField?: FieldAccessor<unknown, number>;
24
+ }): number[];
25
+ /** Combine radar+polar datasets for a shared radial grid. */
26
+ declare function computeRadialComboContext(radarDatasets: RadarDatasetEntry[], polarDatasets: PolarDatasetEntry[]): {
27
+ categories: string[];
28
+ domain: [number, number];
29
+ };
30
+ /** Map a spoke angle to an SVG text-anchor. */
31
+ declare function getCategoryLabelAnchor(angleDeg: number): string;
32
+ /** Compute label margins from text dimensions and angle. */
33
+ declare function calculateLabelMargins(categories: string[], angleStep: number, labelPadding: number, fontSize?: number): {
34
+ top: number;
35
+ right: number;
36
+ bottom: number;
37
+ left: number;
38
+ };
39
+
40
+ export { calculateLabelMargins, calculateRadarLayout, computeRadialComboContext, extractCategories, getCategoryLabelAnchor, hitTestRadar, resolveValues };
@@ -0,0 +1,13 @@
1
+ export { renderRadarSeriesSvg } from '../../chunk-ILUWFYGY.mjs';
2
+ export { renderRadarSeriesCanvas } from '../../chunk-J4RI2C2G.mjs';
3
+ export { calculateLabelMargins, calculateRadarLayout, computeRadialComboContext, extractCategories, getCategoryLabelAnchor, hitTestRadar, resolveValues } from '../../chunk-A6ZQZFL2.mjs';
4
+ import '../../chunk-PRDVPOZX.mjs';
5
+ import '../../chunk-NPDZLYIF.mjs';
6
+ import '../../chunk-OGJ6IIBW.mjs';
7
+ import '../../chunk-XTVE4P3L.mjs';
8
+ import '../../chunk-NKUYIWAP.mjs';
9
+ import '../../chunk-QS76E3TD.mjs';
10
+ import '../../chunk-O2X6FF45.mjs';
11
+ import '../../chunk-IEGLX7VL.mjs';
12
+ import '../../chunk-SSLTFJ3U.mjs';
13
+ import '../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,12 @@
1
+ import { RadarRenderData, RadialHoverState, ChartTheme, StandardEffectConfig, RadarSeriesProps, PointDescriptionContext, SvgNode } from '@primeui/chart-types';
2
+
3
+ /** Render a radar series to an SVG node tree. */
4
+ declare function renderRadarSeriesSvg(layout: RadarRenderData, seriesIndex: number, hoverState: RadialHoverState, theme: Required<ChartTheme>, effectConfig?: StandardEffectConfig, seriesProps?: RadarSeriesProps, a11y?: {
5
+ enabled: boolean;
6
+ pointDescriptionThreshold: number;
7
+ pointDescriptionFormatter?: (ctx: PointDescriptionContext) => string;
8
+ }, context?: {
9
+ chartId: string;
10
+ }): SvgNode;
11
+
12
+ export { renderRadarSeriesSvg };
@@ -0,0 +1,9 @@
1
+ export { renderRadarSeriesSvg } from '../../../chunk-ILUWFYGY.mjs';
2
+ import '../../../chunk-PRDVPOZX.mjs';
3
+ import '../../../chunk-OGJ6IIBW.mjs';
4
+ import '../../../chunk-NKUYIWAP.mjs';
5
+ import '../../../chunk-QS76E3TD.mjs';
6
+ import '../../../chunk-O2X6FF45.mjs';
7
+ import '../../../chunk-IEGLX7VL.mjs';
8
+ import '../../../chunk-SSLTFJ3U.mjs';
9
+ import '../../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,8 @@
1
+ import { ScatterRenderProps, ScatterRenderData, RenderContext } from '@primeui/chart-types';
2
+
3
+ /**
4
+ * Render scatter/bubble points to a Canvas 2D context.
5
+ */
6
+ declare function renderScatterCanvas<T = unknown>(props: ScatterRenderProps<T>, layout: ScatterRenderData, ctx: CanvasRenderingContext2D, context: RenderContext): void;
7
+
8
+ export { renderScatterCanvas };
@@ -0,0 +1,11 @@
1
+ export { renderScatterCanvas } from '../../../chunk-AHYIS6EB.mjs';
2
+ import '../../../chunk-AP3UYWYT.mjs';
3
+ import '../../../chunk-DTWTCFRG.mjs';
4
+ import '../../../chunk-PRDVPOZX.mjs';
5
+ import '../../../chunk-BZN2QHGP.mjs';
6
+ import '../../../chunk-NKUYIWAP.mjs';
7
+ import '../../../chunk-C36VWQ7A.mjs';
8
+ import '../../../chunk-QS76E3TD.mjs';
9
+ import '../../../chunk-O2X6FF45.mjs';
10
+ import '../../../chunk-SSLTFJ3U.mjs';
11
+ import '../../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,124 @@
1
+ import { PropertyAnimatable, ScatterPaintBackend, ScatterControllerInput, BandScale, LinearScale, ScatterHitTestResult, ScatterRenderData, MarkerOverlayEntry, AnimatedPropertyStoreLike } from '@primeui/chart-types';
2
+
3
+ interface ScatterDatasetState {
4
+ opacity: number;
5
+ stackOrder: number;
6
+ axisId: string;
7
+ datasetId: string;
8
+ }
9
+ declare class ScatterRendererController implements PropertyAnimatable {
10
+ private _animRafId;
11
+ private _lastFingerprint;
12
+ private readonly _scene;
13
+ private layoutCache;
14
+ private renderPropsCache;
15
+ private renderLayouts;
16
+ private activeRenderPropsCache;
17
+ private _propertyOverrides;
18
+ private scatterDatasets;
19
+ private decimator;
20
+ private _markerOverlays;
21
+ private lastInput;
22
+ private hover;
23
+ private svgGroup;
24
+ private canvasEl;
25
+ onFrame: (() => void) | null;
26
+ /**
27
+ * Injected paint backend. Holds only the painter(s) for the renderer mode this
28
+ * controller was constructed for (svg-only, canvas-only, or both for tests). The
29
+ * controller never imports a painter directly, so a single-mode construction module
30
+ * (`controller-svg` / `controller-canvas`) is the only thing that pulls its painter
31
+ * into the bundle — letting the unused painter drop from a single-mode consumer.
32
+ */
33
+ private readonly _paint;
34
+ constructor(paint: ScatterPaintBackend);
35
+ update(input: ScatterControllerInput): void;
36
+ /**
37
+ * Re-project point positions through the chrome-animated scales each frame so the
38
+ * dots track the X/Y axis rescale in lockstep (the value-domain model — points stay
39
+ * glued to their gridlines because both derive from the same interpolating scale).
40
+ *
41
+ * Unlike the line controller, the scatter scene loop animates OPACITY only and reuses
42
+ * cached positions — so the position cache must be refreshed HERE every frame. Mirrors
43
+ * `LineRendererController.syncWithAnimatedScale`. `categoryScale` is unused (scatter X
44
+ * is a numeric value axis, not a band); the animated X scales arrive via `valueXScales`.
45
+ */
46
+ syncWithAnimatedScale(_categoryScale: BandScale, valueScales?: Map<string, LinearScale>, valueXScales?: Map<string, LinearScale>): void;
47
+ applyHover(hover: {
48
+ datasetId: string | null;
49
+ index: number | null;
50
+ }): void;
51
+ /** True when every visible scatter series is in boost mode (explicit or auto above 50k). */
52
+ get boostActive(): boolean;
53
+ private allBoostActive;
54
+ hitTest(x: number, y: number): ScatterHitTestResult | null;
55
+ getSvgOutput(): null;
56
+ get hasData(): boolean;
57
+ get layouts(): Map<string, ScatterRenderData>;
58
+ get markerOverlays(): MarkerOverlayEntry[];
59
+ destroy(): void;
60
+ /**
61
+ * Apply animated property values without triggering a full layout cycle.
62
+ * Called from the property-animation framework wrapper each animation tick.
63
+ *
64
+ * Per-dataset: writes overrides into `_propertyOverrides` (or deletes the
65
+ * entry when the store has no live values for it), then patches downstream
66
+ * caches and triggers a repaint.
67
+ *
68
+ * SVG: scatter renders points imperatively each frame from
69
+ * `activeRenderPropsCache`, so a `renderFrameCycle()` call replays the merged
70
+ * props onto the DOM. Canvas: refreshes the cache then triggers compositor
71
+ * repaint so the layer paint callback reads the merged props.
72
+ */
73
+ applyPropertyAnimations(store: AnimatedPropertyStoreLike): void;
74
+ /**
75
+ * Full re-render of the current scene state.
76
+ *
77
+ * Used by the property-animation framework wrapper: when a property
78
+ * animation completes and its override is released from the store,
79
+ * `_renderSceneFrame()` rebuilds `activeRenderPropsCache` from the now-empty
80
+ * overrides map, then `renderFrame()` projects the cleaned props to DOM /
81
+ * canvas so SVG attributes snap back to base values.
82
+ */
83
+ renderFrameCycle(): void;
84
+ /**
85
+ * Build per-dataset scene targets from visible scatter datasets.
86
+ * Element id format: datasetId. One element per series (opacity-only v1).
87
+ */
88
+ private _buildSceneTargets;
89
+ /**
90
+ * Walk the scene and rebuild per-dataset render state (renderLayouts +
91
+ * activeRenderPropsCache) from element opacities — WITHOUT painting. Split out so
92
+ * `syncWithAnimatedScale` can refresh the layouts during an in-flight compositor
93
+ * repaint (canvas) without triggering a nested repaint (which would recurse).
94
+ *
95
+ * Mirrors Heatmap's scene-derived render path but at dataset granularity.
96
+ */
97
+ private _rebuildRenderLayouts;
98
+ /** Rebuild render state, then paint (canvas: triggers a compositor repaint). */
99
+ private _renderSceneFrame;
100
+ /**
101
+ * Update visible-only caches (layoutCache, renderPropsCache) and marker
102
+ * overlays from the current set of visible scatter datasets.
103
+ */
104
+ private _updateCachesAndLayout;
105
+ /** Cancel any in-flight raf. */
106
+ private _cancelRaf;
107
+ private _commit;
108
+ private buildRenderProps;
109
+ /**
110
+ * Paint a frame using already-populated render-time caches.
111
+ * Cache population is the responsibility of `_updateCachesAndLayout`
112
+ * (visible-only caches) and `_renderSceneFrame` (animation-time render caches).
113
+ */
114
+ private renderFrame;
115
+ /**
116
+ * Canvas compositor layer paint callback. Reads the current `renderLayouts`
117
+ * + `activeRenderPropsCache` so every repaint (line-triggered, chrome-triggered,
118
+ * or scatter-triggered) draws the current animated opacity without needing
119
+ * pre-mutated state.
120
+ */
121
+ private paintCanvasLayer;
122
+ }
123
+
124
+ export { type ScatterDatasetState, ScatterRendererController };
@@ -0,0 +1,44 @@
1
+ export { ScatterRendererController } from '../../../chunk-XUAASRXW.mjs';
2
+ import '../../../chunk-LKC7MZKK.mjs';
3
+ import '../../../chunk-X4D7FKUS.mjs';
4
+ import '../../../chunk-Q6PPVIHU.mjs';
5
+ import '../../../chunk-66T4MRC5.mjs';
6
+ import '../../../chunk-QQBXUDM4.mjs';
7
+ import '../../../chunk-7QQ6ETB4.mjs';
8
+ import '../../../chunk-X7T34OLW.mjs';
9
+ import '../../../chunk-SALTGZFR.mjs';
10
+ import '../../../chunk-AUF4CHDP.mjs';
11
+ import '../../../chunk-ZTL2FQEW.mjs';
12
+ import '../../../chunk-VN7CKCSE.mjs';
13
+ import '../../../chunk-DTWTCFRG.mjs';
14
+ import '../../../chunk-PRDVPOZX.mjs';
15
+ import '../../../chunk-VGLSBZDN.mjs';
16
+ import '../../../chunk-ZT2Z7ERM.mjs';
17
+ import '../../../chunk-KP2TWD4Z.mjs';
18
+ import '../../../chunk-3WEMHXZI.mjs';
19
+ import '../../../chunk-KVDEROP6.mjs';
20
+ import '../../../chunk-YBJ56XJS.mjs';
21
+ import '../../../chunk-NPDZLYIF.mjs';
22
+ import '../../../chunk-EDAKJLNA.mjs';
23
+ import '../../../chunk-JWFBOPM6.mjs';
24
+ import '../../../chunk-5JCI2DEB.mjs';
25
+ import '../../../chunk-BZN2QHGP.mjs';
26
+ import '../../../chunk-OGJ6IIBW.mjs';
27
+ import '../../../chunk-ARRGOEFX.mjs';
28
+ import '../../../chunk-22ST6YPP.mjs';
29
+ import '../../../chunk-FFMT6OCO.mjs';
30
+ import '../../../chunk-7CMVDIOU.mjs';
31
+ import '../../../chunk-ADKLH73T.mjs';
32
+ import '../../../chunk-OXTFAWSK.mjs';
33
+ import '../../../chunk-R6Y3R7EW.mjs';
34
+ import '../../../chunk-XTVE4P3L.mjs';
35
+ import '../../../chunk-NKUYIWAP.mjs';
36
+ import '../../../chunk-OWW3K55O.mjs';
37
+ import '../../../chunk-WA3OVISZ.mjs';
38
+ import '../../../chunk-C36VWQ7A.mjs';
39
+ import '../../../chunk-BETFQBM2.mjs';
40
+ import '../../../chunk-WRULPWHD.mjs';
41
+ import '../../../chunk-QS76E3TD.mjs';
42
+ import '../../../chunk-O2X6FF45.mjs';
43
+ import '../../../chunk-SSLTFJ3U.mjs';
44
+ import '../../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,7 @@
1
+ import { ScatterRendererController } from '../controller/index.mjs';
2
+ import '@primeui/chart-types';
3
+
4
+ /** Construct a ScatterRendererController wired with the Canvas painter only. */
5
+ declare const createScatterRendererCanvas: () => ScatterRendererController;
6
+
7
+ export { createScatterRendererCanvas };
@@ -0,0 +1,51 @@
1
+ import { renderScatterCanvas } from '../../../chunk-AHYIS6EB.mjs';
2
+ import { ScatterRendererController } from '../../../chunk-XUAASRXW.mjs';
3
+ import '../../../chunk-LKC7MZKK.mjs';
4
+ import '../../../chunk-X4D7FKUS.mjs';
5
+ import '../../../chunk-Q6PPVIHU.mjs';
6
+ import '../../../chunk-66T4MRC5.mjs';
7
+ import '../../../chunk-QQBXUDM4.mjs';
8
+ import '../../../chunk-7QQ6ETB4.mjs';
9
+ import '../../../chunk-X7T34OLW.mjs';
10
+ import '../../../chunk-SALTGZFR.mjs';
11
+ import '../../../chunk-AUF4CHDP.mjs';
12
+ import '../../../chunk-ZTL2FQEW.mjs';
13
+ import '../../../chunk-VN7CKCSE.mjs';
14
+ import '../../../chunk-AP3UYWYT.mjs';
15
+ import '../../../chunk-DTWTCFRG.mjs';
16
+ import '../../../chunk-PRDVPOZX.mjs';
17
+ import '../../../chunk-VGLSBZDN.mjs';
18
+ import '../../../chunk-ZT2Z7ERM.mjs';
19
+ import '../../../chunk-KP2TWD4Z.mjs';
20
+ import '../../../chunk-3WEMHXZI.mjs';
21
+ import '../../../chunk-KVDEROP6.mjs';
22
+ import '../../../chunk-YBJ56XJS.mjs';
23
+ import '../../../chunk-NPDZLYIF.mjs';
24
+ import '../../../chunk-EDAKJLNA.mjs';
25
+ import '../../../chunk-JWFBOPM6.mjs';
26
+ import '../../../chunk-5JCI2DEB.mjs';
27
+ import '../../../chunk-BZN2QHGP.mjs';
28
+ import '../../../chunk-OGJ6IIBW.mjs';
29
+ import '../../../chunk-ARRGOEFX.mjs';
30
+ import '../../../chunk-22ST6YPP.mjs';
31
+ import '../../../chunk-FFMT6OCO.mjs';
32
+ import '../../../chunk-7CMVDIOU.mjs';
33
+ import '../../../chunk-ADKLH73T.mjs';
34
+ import '../../../chunk-OXTFAWSK.mjs';
35
+ import '../../../chunk-R6Y3R7EW.mjs';
36
+ import '../../../chunk-XTVE4P3L.mjs';
37
+ import '../../../chunk-NKUYIWAP.mjs';
38
+ import '../../../chunk-OWW3K55O.mjs';
39
+ import '../../../chunk-WA3OVISZ.mjs';
40
+ import '../../../chunk-C36VWQ7A.mjs';
41
+ import '../../../chunk-BETFQBM2.mjs';
42
+ import '../../../chunk-WRULPWHD.mjs';
43
+ import '../../../chunk-QS76E3TD.mjs';
44
+ import '../../../chunk-O2X6FF45.mjs';
45
+ import '../../../chunk-SSLTFJ3U.mjs';
46
+ import '../../../chunk-RQ3CKQOX.mjs';
47
+
48
+ // src/series/scatter/controller-canvas/index.ts
49
+ var createScatterRendererCanvas = () => new ScatterRendererController({ renderCanvas: renderScatterCanvas });
50
+
51
+ export { createScatterRendererCanvas };
@@ -0,0 +1,7 @@
1
+ import { ScatterRendererController } from '../controller/index.mjs';
2
+ import '@primeui/chart-types';
3
+
4
+ /** Construct a ScatterRendererController wired with the SVG painter only. */
5
+ declare const createScatterRendererSvg: () => ScatterRendererController;
6
+
7
+ export { createScatterRendererSvg };
@@ -0,0 +1,51 @@
1
+ import { renderScatterSvg } from '../../../chunk-6STOLMCA.mjs';
2
+ import { ScatterRendererController } from '../../../chunk-XUAASRXW.mjs';
3
+ import '../../../chunk-LKC7MZKK.mjs';
4
+ import '../../../chunk-X4D7FKUS.mjs';
5
+ import '../../../chunk-Q6PPVIHU.mjs';
6
+ import '../../../chunk-66T4MRC5.mjs';
7
+ import '../../../chunk-QQBXUDM4.mjs';
8
+ import '../../../chunk-7QQ6ETB4.mjs';
9
+ import '../../../chunk-X7T34OLW.mjs';
10
+ import '../../../chunk-SALTGZFR.mjs';
11
+ import '../../../chunk-AUF4CHDP.mjs';
12
+ import '../../../chunk-ZTL2FQEW.mjs';
13
+ import '../../../chunk-VN7CKCSE.mjs';
14
+ import '../../../chunk-AP3UYWYT.mjs';
15
+ import '../../../chunk-DTWTCFRG.mjs';
16
+ import '../../../chunk-PRDVPOZX.mjs';
17
+ import '../../../chunk-VGLSBZDN.mjs';
18
+ import '../../../chunk-ZT2Z7ERM.mjs';
19
+ import '../../../chunk-KP2TWD4Z.mjs';
20
+ import '../../../chunk-3WEMHXZI.mjs';
21
+ import '../../../chunk-KVDEROP6.mjs';
22
+ import '../../../chunk-YBJ56XJS.mjs';
23
+ import '../../../chunk-NPDZLYIF.mjs';
24
+ import '../../../chunk-EDAKJLNA.mjs';
25
+ import '../../../chunk-JWFBOPM6.mjs';
26
+ import '../../../chunk-5JCI2DEB.mjs';
27
+ import '../../../chunk-BZN2QHGP.mjs';
28
+ import '../../../chunk-OGJ6IIBW.mjs';
29
+ import '../../../chunk-ARRGOEFX.mjs';
30
+ import '../../../chunk-22ST6YPP.mjs';
31
+ import '../../../chunk-FFMT6OCO.mjs';
32
+ import '../../../chunk-7CMVDIOU.mjs';
33
+ import '../../../chunk-ADKLH73T.mjs';
34
+ import '../../../chunk-OXTFAWSK.mjs';
35
+ import '../../../chunk-R6Y3R7EW.mjs';
36
+ import '../../../chunk-XTVE4P3L.mjs';
37
+ import '../../../chunk-NKUYIWAP.mjs';
38
+ import '../../../chunk-OWW3K55O.mjs';
39
+ import '../../../chunk-WA3OVISZ.mjs';
40
+ import '../../../chunk-C36VWQ7A.mjs';
41
+ import '../../../chunk-BETFQBM2.mjs';
42
+ import '../../../chunk-WRULPWHD.mjs';
43
+ import '../../../chunk-QS76E3TD.mjs';
44
+ import '../../../chunk-O2X6FF45.mjs';
45
+ import '../../../chunk-SSLTFJ3U.mjs';
46
+ import '../../../chunk-RQ3CKQOX.mjs';
47
+
48
+ // src/series/scatter/controller-svg/index.ts
49
+ var createScatterRendererSvg = () => new ScatterRendererController({ renderSvg: renderScatterSvg });
50
+
51
+ export { createScatterRendererSvg };
@@ -0,0 +1,25 @@
1
+ import { ScatterRenderProps, BoxArea, ScatterConfig, ScatterRenderData, DatasetRenderer } from '@primeui/chart-types';
2
+ export { renderScatterSvg } from './svg/index.mjs';
3
+ export { renderScatterCanvas } from './canvas/index.mjs';
4
+
5
+ /** Resolve whether boost mode is active for this series. */
6
+ declare function isBoostActive<T>(props: ScatterRenderProps<T>, visibleCount: number): boolean;
7
+ /**
8
+ * Map data to pixel coordinates and compute bubble sizes.
9
+ * This is the pure, data-driven phase — no rendering side effects.
10
+ */
11
+ declare function calculateScatterLayout<T = unknown>(props: ScatterRenderProps<T>, chartArea: BoxArea, config?: ScatterConfig): Omit<ScatterRenderData, 'datasetIndex'>;
12
+ /**
13
+ * Find the nearest visible scatter point within hit radius.
14
+ * Uses XY Euclidean distance (unlike line which uses X-only snapping).
15
+ * For bubble charts, hit radius expands to cover the bubble area.
16
+ *
17
+ * Above SCATTER_SPATIAL_INDEX_THRESHOLD points, builds a quadtree on first call
18
+ * and caches it on the layout. The cached index must be invalidated (set to null)
19
+ * by the controller whenever visiblePoints is reassigned.
20
+ */
21
+ declare function hitTestScatter<T = unknown>(x: number, y: number, _props: ScatterRenderProps<T>, layout: ScatterRenderData): number | null;
22
+
23
+ declare const scatterRenderer: DatasetRenderer<ScatterRenderProps, ScatterRenderData>;
24
+
25
+ export { calculateScatterLayout, hitTestScatter, isBoostActive, scatterRenderer };
@@ -0,0 +1,14 @@
1
+ export { scatterRenderer } from '../../chunk-2QRS4YQ5.mjs';
2
+ export { renderScatterSvg } from '../../chunk-6STOLMCA.mjs';
3
+ export { renderScatterCanvas } from '../../chunk-AHYIS6EB.mjs';
4
+ import '../../chunk-AP3UYWYT.mjs';
5
+ export { calculateScatterLayout, hitTestScatter, isBoostActive } from '../../chunk-DTWTCFRG.mjs';
6
+ import '../../chunk-PRDVPOZX.mjs';
7
+ import '../../chunk-BZN2QHGP.mjs';
8
+ import '../../chunk-OGJ6IIBW.mjs';
9
+ import '../../chunk-NKUYIWAP.mjs';
10
+ import '../../chunk-C36VWQ7A.mjs';
11
+ import '../../chunk-QS76E3TD.mjs';
12
+ import '../../chunk-O2X6FF45.mjs';
13
+ import '../../chunk-SSLTFJ3U.mjs';
14
+ import '../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,8 @@
1
+ import { ScatterRenderProps, ScatterRenderData, RenderContext, SvgNode } from '@primeui/chart-types';
2
+
3
+ /**
4
+ * Render scatter/bubble points to an SVG node tree.
5
+ */
6
+ declare function renderScatterSvg<T = unknown>(props: ScatterRenderProps<T>, layout: ScatterRenderData, context: RenderContext): SvgNode;
7
+
8
+ export { renderScatterSvg };
@@ -0,0 +1,12 @@
1
+ export { renderScatterSvg } from '../../../chunk-6STOLMCA.mjs';
2
+ import '../../../chunk-AP3UYWYT.mjs';
3
+ import '../../../chunk-DTWTCFRG.mjs';
4
+ import '../../../chunk-PRDVPOZX.mjs';
5
+ import '../../../chunk-BZN2QHGP.mjs';
6
+ import '../../../chunk-OGJ6IIBW.mjs';
7
+ import '../../../chunk-NKUYIWAP.mjs';
8
+ import '../../../chunk-C36VWQ7A.mjs';
9
+ import '../../../chunk-QS76E3TD.mjs';
10
+ import '../../../chunk-O2X6FF45.mjs';
11
+ import '../../../chunk-SSLTFJ3U.mjs';
12
+ import '../../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,50 @@
1
+ import { TreemapRenderProps, TreemapRenderData, GlobalFont, BaseInteractionState, CoreEffectConfig, ChartTheme, BoxArea } from '@primeui/chart-types';
2
+
3
+ /** Render a treemap to a Canvas 2D context. */
4
+ declare function renderTreemapCanvas(props: TreemapRenderProps, layout: TreemapRenderData, ctx: CanvasRenderingContext2D, context?: {
5
+ font?: GlobalFont;
6
+ interaction?: BaseInteractionState;
7
+ effects?: CoreEffectConfig;
8
+ theme: Required<ChartTheme>;
9
+ }): void;
10
+ /** Render user-provided cell content callbacks to canvas. */
11
+ declare function renderCanvasTreemapContent(ctx: CanvasRenderingContext2D, layouts: Map<string, {
12
+ props: TreemapRenderProps & {
13
+ data?: unknown[];
14
+ drilldownParentId?: string | null;
15
+ };
16
+ layout: TreemapRenderData;
17
+ }>, onImageLoad?: () => void): void;
18
+ /**
19
+ * Run `draw` inside an optional canvas transform/clip used by treemap
20
+ * drill-zoom and entrance clip-wipe animations. Keeping these canvas
21
+ * primitives in the canvas chunk (rather than inline in the controller)
22
+ * lets svg-only builds tree-shake all canvas drawing.
23
+ *
24
+ * - `zoom`: clip to `area`, translate+scale by the supplied transform, and
25
+ * (for drill-out) fade via `globalAlpha = progress`.
26
+ * - `wipe`: clip to a left→right growing inset of `area` by `progress`.
27
+ * - neither: `draw` runs unclipped.
28
+ */
29
+ declare function renderTreemapCanvasClipped(ctx: CanvasRenderingContext2D, area: BoxArea, transform: {
30
+ zoom?: {
31
+ tx: number;
32
+ ty: number;
33
+ sx: number;
34
+ sy: number;
35
+ progress: number;
36
+ direction: 'in' | 'out';
37
+ };
38
+ wipe?: {
39
+ progress: number;
40
+ };
41
+ } | null, draw: () => void): void;
42
+ /** Paint the canvas group-hover overlay (dim fill + light stroke) over `bg`. */
43
+ declare function renderTreemapGroupHoverCanvas(ctx: CanvasRenderingContext2D, bg: {
44
+ x: number;
45
+ y: number;
46
+ width: number;
47
+ height: number;
48
+ }): void;
49
+
50
+ export { renderCanvasTreemapContent, renderTreemapCanvas, renderTreemapCanvasClipped, renderTreemapGroupHoverCanvas };
@@ -0,0 +1,10 @@
1
+ export { renderCanvasTreemapContent, renderTreemapCanvas, renderTreemapCanvasClipped, renderTreemapGroupHoverCanvas } from '../../../chunk-55Y3WI6S.mjs';
2
+ import '../../../chunk-VVI3OBPJ.mjs';
3
+ import '../../../chunk-7CMVDIOU.mjs';
4
+ import '../../../chunk-XTVE4P3L.mjs';
5
+ import '../../../chunk-NKUYIWAP.mjs';
6
+ import '../../../chunk-BETFQBM2.mjs';
7
+ import '../../../chunk-QS76E3TD.mjs';
8
+ import '../../../chunk-O2X6FF45.mjs';
9
+ import '../../../chunk-SSLTFJ3U.mjs';
10
+ import '../../../chunk-RQ3CKQOX.mjs';
@@ -0,0 +1,130 @@
1
+ import { PropertyAnimatable, TreemapPaintBackend, TreemapControllerInput, BoxArea, TreemapHitTestResult, TreemapRenderProps, TreemapRenderData, ColorScaleInfo, AnimatedPropertyStoreLike } from '@primeui/chart-types';
2
+
3
+ declare class TreemapRendererController implements PropertyAnimatable {
4
+ private _animRafId;
5
+ private _isInitial;
6
+ private _lastFingerprint;
7
+ private _lastChartAreaKey;
8
+ private _propertyOverrides;
9
+ private _layouts;
10
+ private _syntheticIds;
11
+ private _syntheticIdCounter;
12
+ private _syntheticIdLastSeenTick;
13
+ private _syntheticIdTickCounter;
14
+ private _lastSquarifyLayouts;
15
+ private lastInput;
16
+ private svgGroup;
17
+ private svgWrapper;
18
+ private canvasEl;
19
+ private drillZoom;
20
+ private hoveredGroupNodeId;
21
+ private _hoveredIndex;
22
+ private _interactByLeaf;
23
+ private _hasRenderContent;
24
+ private _dataFingerprint;
25
+ private readonly _cellScene;
26
+ private readonly _groupBgScene;
27
+ private _lastRenderedLayout;
28
+ onFrame: (() => void) | null;
29
+ /** Called when image finishes loading in canvas renderContent — wrappers set this */
30
+ onImageLoad: (() => void) | null;
31
+ /**
32
+ * Injected paint backend. Holds only the painter(s) for the renderer mode this
33
+ * controller was constructed for (svg-only, canvas-only, or all for tests). The
34
+ * controller never imports a painter directly, so a single-mode construction
35
+ * module (`controller-svg` / `controller-canvas`) is the only thing that pulls
36
+ * its painter into the bundle — letting the unused painter drop from a
37
+ * single-mode consumer.
38
+ */
39
+ private readonly _paint;
40
+ constructor(paint: TreemapPaintBackend);
41
+ update(input: TreemapControllerInput): void;
42
+ /** Set drilldown zoom animation state before calling update() */
43
+ setDrillZoom(cellRect: BoxArea, direction: 'in' | 'out'): void;
44
+ /** Prepare zoom-out (called before breadcrumb navigation) */
45
+ prepareDrillOut(chartArea: BoxArea): void;
46
+ /** Find cell/header bounds by nodeId */
47
+ findCellRect(nodeId: string): BoxArea | null;
48
+ /**
49
+ * Handle a drilldown click: set zoom animation state and compute ancestor chain.
50
+ * Returns the data needed by framework wrappers to call drilldownState.drillInto().
51
+ * Returns null when drilldown is not applicable (no nodeId or no children).
52
+ */
53
+ buildDrillInto(hit: TreemapHitTestResult, currentParentId: string | null): {
54
+ nodeId: string;
55
+ label: string;
56
+ ancestors: {
57
+ id: string;
58
+ label: string;
59
+ }[];
60
+ } | null;
61
+ hitTest(x: number, y: number): TreemapHitTestResult | null;
62
+ /** Apply cell-level hover — lightweight repaint without full re-layout */
63
+ applyHover(hover: {
64
+ datasetId: string | null;
65
+ index: number | null;
66
+ }): void;
67
+ /** Update hover overlay on canvas — for SVG, wrappers handle DOM overlay */
68
+ updateHoverOverlayCanvas(hit: TreemapHitTestResult | null): void;
69
+ get layouts(): Map<string, {
70
+ props: TreemapRenderProps;
71
+ layout: TreemapRenderData;
72
+ }>;
73
+ get hasData(): boolean;
74
+ getColorScaleInfo(): ColorScaleInfo | null;
75
+ destroy(): void;
76
+ /**
77
+ * Apply animated property values without triggering a full layout cycle.
78
+ * Called from the property-animation framework wrapper each animation tick.
79
+ *
80
+ * Per-dataset: writes overrides into `_propertyOverrides` (or deletes the
81
+ * entry when the store has no live values for it), then triggers a
82
+ * frame re-render so the merged props paint into SVG/canvas. The overrides
83
+ * apply uniformly to all cells of the dataset — per-cell granularity is
84
+ * Step 14.
85
+ *
86
+ * Dual-scene note: only the cell scene's render props are affected. The
87
+ * `_groupBgScene` (group backgrounds) is intentionally untouched — group
88
+ * backgrounds are auto-styled from their parent containers and don't
89
+ * expose user-facing animatable properties.
90
+ */
91
+ applyPropertyAnimations(store: AnimatedPropertyStoreLike): void;
92
+ /**
93
+ * Full re-render of the current scene state.
94
+ *
95
+ * Used by the property-animation framework wrapper: when a property
96
+ * animation completes and its override is released from the store,
97
+ * `renderFrameCycle()` re-paints from the now-cleared `_propertyOverrides`
98
+ * so SVG attributes / canvas paints snap back to base values (which can
99
+ * drift during in-place property patching).
100
+ */
101
+ renderFrameCycle(): void;
102
+ /**
103
+ * Re-render the current scene state with the active property overrides
104
+ * merged into per-dataset props. Mirrors the static branch of `update()`'s
105
+ * `paint()` closure without re-running layout or scene diff.
106
+ */
107
+ private _renderCurrentFrame;
108
+ /**
109
+ * Return a shallow-copied TreemapRenderProps whose `data` array contains
110
+ * `id`-populated clones of each item. User-provided `nodeId` values are
111
+ * preserved verbatim; flat-data items without one get a synthetic ID drawn
112
+ * from `_syntheticIds`, cached by content (label/value) so identity holds
113
+ * across value-only updates.
114
+ */
115
+ private _assignStableIds;
116
+ private _resolveId;
117
+ /** Cancel any in-flight raf. */
118
+ private _cancelRaf;
119
+ /** Commit fingerprint for next-frame phase detection. */
120
+ private _commit;
121
+ /** Reset phase state — used when drill-zoom/drill-out changes the data set. */
122
+ private _resetPhase;
123
+ private renderSvgGroup;
124
+ private renderAllCanvas;
125
+ private renderCanvasCustomContent;
126
+ private _renderSceneFrame;
127
+ private repaintCanvas;
128
+ }
129
+
130
+ export { TreemapRendererController };