@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.
- package/LICENSE +23 -0
- package/README.md +1 -0
- package/dist/animations/index.d.mts +136 -0
- package/dist/animations/index.mjs +18 -0
- package/dist/annotation.utils-Bm0lOO1o.d.mts +290 -0
- package/dist/borderRadius.utils-Cz73LLR_.d.mts +54 -0
- package/dist/canvas-D4vigq47.d.mts +34 -0
- package/dist/canvas.utils-D2WHi2gL.d.mts +167 -0
- package/dist/cartesian/index.d.mts +94 -0
- package/dist/cartesian/index.mjs +93 -0
- package/dist/chunk-22ST6YPP.mjs +304 -0
- package/dist/chunk-2QK2KOBN.mjs +10 -0
- package/dist/chunk-2QRS4YQ5.mjs +18 -0
- package/dist/chunk-3FFJEX4A.mjs +261 -0
- package/dist/chunk-3IYSJ2U7.mjs +567 -0
- package/dist/chunk-3OZLP4I4.mjs +190 -0
- package/dist/chunk-3WEMHXZI.mjs +198 -0
- package/dist/chunk-3Z62EUJN.mjs +138 -0
- package/dist/chunk-4C6EVJ54.mjs +362 -0
- package/dist/chunk-53HW45JB.mjs +102 -0
- package/dist/chunk-55Y3WI6S.mjs +186 -0
- package/dist/chunk-5JCI2DEB.mjs +97 -0
- package/dist/chunk-66T4MRC5.mjs +113 -0
- package/dist/chunk-6HSEJLSR.mjs +376 -0
- package/dist/chunk-6STOLMCA.mjs +187 -0
- package/dist/chunk-7CMVDIOU.mjs +54 -0
- package/dist/chunk-7QQ6ETB4.mjs +228 -0
- package/dist/chunk-A6ZQZFL2.mjs +272 -0
- package/dist/chunk-ADKLH73T.mjs +1 -0
- package/dist/chunk-AGU3NG6D.mjs +22 -0
- package/dist/chunk-AHYIS6EB.mjs +230 -0
- package/dist/chunk-AP3UYWYT.mjs +4 -0
- package/dist/chunk-ARB5T6MP.mjs +326 -0
- package/dist/chunk-ARRGOEFX.mjs +585 -0
- package/dist/chunk-AUF4CHDP.mjs +422 -0
- package/dist/chunk-B4FTADAZ.mjs +561 -0
- package/dist/chunk-BABQKA6K.mjs +339 -0
- package/dist/chunk-BETFQBM2.mjs +197 -0
- package/dist/chunk-BKP26M4K.mjs +413 -0
- package/dist/chunk-BZN2QHGP.mjs +200 -0
- package/dist/chunk-C36VWQ7A.mjs +86 -0
- package/dist/chunk-CHW4RKY3.mjs +16 -0
- package/dist/chunk-CINXJIRR.mjs +120 -0
- package/dist/chunk-DN6AXQYZ.mjs +667 -0
- package/dist/chunk-DP2IZNN3.mjs +92 -0
- package/dist/chunk-DTWTCFRG.mjs +119 -0
- package/dist/chunk-EAMUNLRU.mjs +172 -0
- package/dist/chunk-EDAKJLNA.mjs +17 -0
- package/dist/chunk-ERVQB2VZ.mjs +59 -0
- package/dist/chunk-FFMT6OCO.mjs +92 -0
- package/dist/chunk-FHTC2YDB.mjs +102 -0
- package/dist/chunk-FRST55HY.mjs +16 -0
- package/dist/chunk-HDFGCN2F.mjs +132 -0
- package/dist/chunk-IEGLX7VL.mjs +42 -0
- package/dist/chunk-ILUWFYGY.mjs +220 -0
- package/dist/chunk-IXOWSEHO.mjs +114 -0
- package/dist/chunk-J4RI2C2G.mjs +172 -0
- package/dist/chunk-J65DBT4R.mjs +13 -0
- package/dist/chunk-JGOVWSKH.mjs +179 -0
- package/dist/chunk-JO7VACY2.mjs +25 -0
- package/dist/chunk-JWFBOPM6.mjs +122 -0
- package/dist/chunk-KNDZP446.mjs +895 -0
- package/dist/chunk-KP2TWD4Z.mjs +90 -0
- package/dist/chunk-KQIFO5I3.mjs +225 -0
- package/dist/chunk-KVDEROP6.mjs +59 -0
- package/dist/chunk-LKC7MZKK.mjs +87 -0
- package/dist/chunk-LVMDQ4OJ.mjs +305 -0
- package/dist/chunk-M7B3JF43.mjs +90 -0
- package/dist/chunk-MTGMXRNF.mjs +136 -0
- package/dist/chunk-N3TIT3OH.mjs +1040 -0
- package/dist/chunk-NHRK5KU2.mjs +890 -0
- package/dist/chunk-NKUYIWAP.mjs +243 -0
- package/dist/chunk-NPDZLYIF.mjs +238 -0
- package/dist/chunk-O2X6FF45.mjs +499 -0
- package/dist/chunk-OGJ6IIBW.mjs +176 -0
- package/dist/chunk-OHGCZZPZ.mjs +403 -0
- package/dist/chunk-OWW3K55O.mjs +351 -0
- package/dist/chunk-OXTFAWSK.mjs +60 -0
- package/dist/chunk-PLSDU3C2.mjs +890 -0
- package/dist/chunk-PRDVPOZX.mjs +223 -0
- package/dist/chunk-Q6PPVIHU.mjs +21 -0
- package/dist/chunk-QQBXUDM4.mjs +885 -0
- package/dist/chunk-QS76E3TD.mjs +111 -0
- package/dist/chunk-QWQ6HY4I.mjs +209 -0
- package/dist/chunk-R6Y3R7EW.mjs +135 -0
- package/dist/chunk-RBLZRT5K.mjs +190 -0
- package/dist/chunk-RO4N6YFS.mjs +167 -0
- package/dist/chunk-RQ3CKQOX.mjs +984 -0
- package/dist/chunk-SALTGZFR.mjs +208 -0
- package/dist/chunk-SANZPAJ4.mjs +14 -0
- package/dist/chunk-SDBPQ5CF.mjs +624 -0
- package/dist/chunk-SSLTFJ3U.mjs +364 -0
- package/dist/chunk-SXHVDJGF.mjs +77 -0
- package/dist/chunk-TA4MVAEX.mjs +243 -0
- package/dist/chunk-TAHCOZHF.mjs +1772 -0
- package/dist/chunk-TQ6S34QZ.mjs +152 -0
- package/dist/chunk-UPRXABX5.mjs +90 -0
- package/dist/chunk-VGLSBZDN.mjs +71 -0
- package/dist/chunk-VN7CKCSE.mjs +364 -0
- package/dist/chunk-VVI3OBPJ.mjs +524 -0
- package/dist/chunk-VWF57TS3.mjs +62 -0
- package/dist/chunk-WA3OVISZ.mjs +179 -0
- package/dist/chunk-WCG35U6M.mjs +964 -0
- package/dist/chunk-WFTX4AQJ.mjs +194 -0
- package/dist/chunk-WFVOQ2QZ.mjs +18 -0
- package/dist/chunk-WH3C3Y7P.mjs +149 -0
- package/dist/chunk-WPFUV7K3.mjs +488 -0
- package/dist/chunk-WRULPWHD.mjs +492 -0
- package/dist/chunk-WS64BZXT.mjs +1 -0
- package/dist/chunk-WY4AURRE.mjs +2419 -0
- package/dist/chunk-WYLILAOO.mjs +167 -0
- package/dist/chunk-X4D7FKUS.mjs +62 -0
- package/dist/chunk-X7T34OLW.mjs +139 -0
- package/dist/chunk-XIHBK5D3.mjs +68 -0
- package/dist/chunk-XQQCGFYB.mjs +50 -0
- package/dist/chunk-XTVE4P3L.mjs +214 -0
- package/dist/chunk-XUAASRXW.mjs +579 -0
- package/dist/chunk-Y3L3D4GQ.mjs +685 -0
- package/dist/chunk-YBJ56XJS.mjs +132 -0
- package/dist/chunk-ZQFK6CAE.mjs +1 -0
- package/dist/chunk-ZT2Z7ERM.mjs +874 -0
- package/dist/chunk-ZTL2FQEW.mjs +714 -0
- package/dist/circular/arc/index.d.mts +8 -0
- package/dist/circular/arc/index.mjs +3 -0
- package/dist/circular/index.d.mts +44 -0
- package/dist/circular/index.mjs +13 -0
- package/dist/collect.utils-DiKB4ciO.d.mts +12 -0
- package/dist/computeChartState-BTVIqwyO.d.mts +304 -0
- package/dist/controller-BJE1AZ3q.d.mts +82 -0
- package/dist/controller-BoNigQJr.d.mts +63 -0
- package/dist/controllers/index.d.mts +16 -0
- package/dist/controllers/index.mjs +110 -0
- package/dist/datalabel.utils-CkjGeB8S.d.mts +122 -0
- package/dist/decimation.utils-CcvJVhI4.d.mts +244 -0
- package/dist/geometry-DUUQJXVM.d.mts +60 -0
- package/dist/index-DseIZa1j.d.mts +167 -0
- package/dist/index.d.mts +88 -0
- package/dist/index.mjs +110 -0
- package/dist/orchestrator/index.d.mts +264 -0
- package/dist/orchestrator/index.mjs +33 -0
- package/dist/plugins/index.d.mts +18 -0
- package/dist/plugins/index.mjs +1 -0
- package/dist/property-animations-D433wXzz.d.mts +580 -0
- package/dist/property-store-NORUWFND.d.mts +17 -0
- package/dist/radial/index.d.mts +14 -0
- package/dist/radial/index.mjs +37 -0
- package/dist/renderers/axis/index.d.mts +39 -0
- package/dist/renderers/axis/index.mjs +8 -0
- package/dist/renderers/circular/index.d.mts +13 -0
- package/dist/renderers/circular/index.mjs +13 -0
- package/dist/renderers/index.d.mts +83 -0
- package/dist/renderers/index.mjs +75 -0
- package/dist/renderers/navigator/index.d.mts +103 -0
- package/dist/renderers/navigator/index.mjs +8 -0
- package/dist/resize.utils-D_2qm6rv.d.mts +142 -0
- package/dist/ring.utils-DXvrxMkU.d.mts +138 -0
- package/dist/scale-KFv30jqZ.d.mts +307 -0
- package/dist/scales-Drf8AIhL.d.mts +75 -0
- package/dist/series/bar/canvas/index.d.mts +8 -0
- package/dist/series/bar/canvas/index.mjs +10 -0
- package/dist/series/bar/controller/index.d.mts +105 -0
- package/dist/series/bar/controller/index.mjs +44 -0
- package/dist/series/bar/controller-canvas/index.d.mts +7 -0
- package/dist/series/bar/controller-canvas/index.mjs +49 -0
- package/dist/series/bar/controller-svg/index.d.mts +7 -0
- package/dist/series/bar/controller-svg/index.mjs +49 -0
- package/dist/series/bar/index.d.mts +60 -0
- package/dist/series/bar/index.mjs +13 -0
- package/dist/series/bar/svg/index.d.mts +8 -0
- package/dist/series/bar/svg/index.mjs +11 -0
- package/dist/series/candlestick/canvas/index.d.mts +8 -0
- package/dist/series/candlestick/canvas/index.mjs +8 -0
- package/dist/series/candlestick/controller/index.d.mts +123 -0
- package/dist/series/candlestick/controller/index.mjs +40 -0
- package/dist/series/candlestick/controller-canvas/index.d.mts +7 -0
- package/dist/series/candlestick/controller-canvas/index.mjs +45 -0
- package/dist/series/candlestick/controller-svg/index.d.mts +7 -0
- package/dist/series/candlestick/controller-svg/index.mjs +45 -0
- package/dist/series/candlestick/index.d.mts +11 -0
- package/dist/series/candlestick/index.mjs +10 -0
- package/dist/series/candlestick/svg/index.d.mts +8 -0
- package/dist/series/candlestick/svg/index.mjs +8 -0
- package/dist/series/heatmap/canvas/index.d.mts +16 -0
- package/dist/series/heatmap/canvas/index.mjs +9 -0
- package/dist/series/heatmap/controller/index.d.mts +110 -0
- package/dist/series/heatmap/controller/index.mjs +23 -0
- package/dist/series/heatmap/controller-canvas/index.d.mts +7 -0
- package/dist/series/heatmap/controller-canvas/index.mjs +28 -0
- package/dist/series/heatmap/controller-svg/index.d.mts +7 -0
- package/dist/series/heatmap/controller-svg/index.mjs +28 -0
- package/dist/series/heatmap/index.d.mts +34 -0
- package/dist/series/heatmap/index.mjs +13 -0
- package/dist/series/heatmap/svg/index.d.mts +15 -0
- package/dist/series/heatmap/svg/index.mjs +10 -0
- package/dist/series/line/canvas/index.d.mts +6 -0
- package/dist/series/line/canvas/index.mjs +9 -0
- package/dist/series/line/controller/index.d.mts +111 -0
- package/dist/series/line/controller/index.mjs +47 -0
- package/dist/series/line/controller-canvas/index.d.mts +7 -0
- package/dist/series/line/controller-canvas/index.mjs +54 -0
- package/dist/series/line/controller-svg/index.d.mts +7 -0
- package/dist/series/line/controller-svg/index.mjs +54 -0
- package/dist/series/line/index.d.mts +49 -0
- package/dist/series/line/index.mjs +13 -0
- package/dist/series/line/svg/index.d.mts +6 -0
- package/dist/series/line/svg/index.mjs +9 -0
- package/dist/series/pie/canvas/index.d.mts +8 -0
- package/dist/series/pie/canvas/index.mjs +10 -0
- package/dist/series/pie/controller/index.d.mts +174 -0
- package/dist/series/pie/controller/index.mjs +110 -0
- package/dist/series/pie/controller-canvas/index.d.mts +8 -0
- package/dist/series/pie/controller-canvas/index.mjs +119 -0
- package/dist/series/pie/controller-svg/index.d.mts +8 -0
- package/dist/series/pie/controller-svg/index.mjs +118 -0
- package/dist/series/pie/index.d.mts +59 -0
- package/dist/series/pie/index.mjs +15 -0
- package/dist/series/pie/svg/index.d.mts +6 -0
- package/dist/series/pie/svg/index.mjs +11 -0
- package/dist/series/polar/canvas/index.d.mts +6 -0
- package/dist/series/polar/canvas/index.mjs +7 -0
- package/dist/series/polar/controller/index.d.mts +102 -0
- package/dist/series/polar/controller/index.mjs +46 -0
- package/dist/series/polar/controller-canvas/index.d.mts +8 -0
- package/dist/series/polar/controller-canvas/index.mjs +52 -0
- package/dist/series/polar/controller-svg/index.d.mts +8 -0
- package/dist/series/polar/controller-svg/index.mjs +52 -0
- package/dist/series/polar/index.d.mts +25 -0
- package/dist/series/polar/index.mjs +16 -0
- package/dist/series/polar/svg/index.d.mts +10 -0
- package/dist/series/polar/svg/index.mjs +8 -0
- package/dist/series/radar/canvas/index.d.mts +6 -0
- package/dist/series/radar/canvas/index.mjs +8 -0
- package/dist/series/radar/controller/index.d.mts +121 -0
- package/dist/series/radar/controller/index.mjs +43 -0
- package/dist/series/radar/controller-canvas/index.d.mts +8 -0
- package/dist/series/radar/controller-canvas/index.mjs +51 -0
- package/dist/series/radar/controller-svg/index.d.mts +8 -0
- package/dist/series/radar/controller-svg/index.mjs +51 -0
- package/dist/series/radar/index.d.mts +40 -0
- package/dist/series/radar/index.mjs +13 -0
- package/dist/series/radar/svg/index.d.mts +12 -0
- package/dist/series/radar/svg/index.mjs +9 -0
- package/dist/series/scatter/canvas/index.d.mts +8 -0
- package/dist/series/scatter/canvas/index.mjs +11 -0
- package/dist/series/scatter/controller/index.d.mts +124 -0
- package/dist/series/scatter/controller/index.mjs +44 -0
- package/dist/series/scatter/controller-canvas/index.d.mts +7 -0
- package/dist/series/scatter/controller-canvas/index.mjs +51 -0
- package/dist/series/scatter/controller-svg/index.d.mts +7 -0
- package/dist/series/scatter/controller-svg/index.mjs +51 -0
- package/dist/series/scatter/index.d.mts +25 -0
- package/dist/series/scatter/index.mjs +14 -0
- package/dist/series/scatter/svg/index.d.mts +8 -0
- package/dist/series/scatter/svg/index.mjs +12 -0
- package/dist/series/treemap/canvas/index.d.mts +50 -0
- package/dist/series/treemap/canvas/index.mjs +10 -0
- package/dist/series/treemap/controller/index.d.mts +130 -0
- package/dist/series/treemap/controller/index.mjs +20 -0
- package/dist/series/treemap/controller-canvas/index.d.mts +7 -0
- package/dist/series/treemap/controller-canvas/index.mjs +25 -0
- package/dist/series/treemap/controller-svg/index.d.mts +7 -0
- package/dist/series/treemap/controller-svg/index.mjs +25 -0
- package/dist/series/treemap/index.d.mts +15 -0
- package/dist/series/treemap/index.mjs +12 -0
- package/dist/series/treemap/svg/index.d.mts +15 -0
- package/dist/series/treemap/svg/index.mjs +9 -0
- package/dist/slices-DtewiwJx.d.mts +72 -0
- package/dist/spatialIndex.utils-B_GJkotZ.d.mts +5 -0
- package/dist/squarify.utils-B9CQBpa1.d.mts +50 -0
- package/dist/stacking-CChuAcLN.d.mts +319 -0
- package/dist/streaming.utils-DH-g1gNP.d.mts +49 -0
- package/dist/sync/index.d.mts +130 -0
- package/dist/sync/index.mjs +5 -0
- package/dist/tooltip.renderer-D5wpSlBa.d.mts +210 -0
- package/dist/utils/color/index.d.mts +58 -0
- package/dist/utils/color/index.mjs +4 -0
- package/dist/utils/data/index.d.mts +180 -0
- package/dist/utils/data/index.mjs +7 -0
- package/dist/utils/export/index.d.mts +14 -0
- package/dist/utils/export/index.mjs +6 -0
- package/dist/utils/index.d.mts +49 -0
- package/dist/utils/index.mjs +29 -0
- package/dist/utils/interaction/index.d.mts +255 -0
- package/dist/utils/interaction/index.mjs +9 -0
- package/dist/utils/layout/index.d.mts +3 -0
- package/dist/utils/layout/index.mjs +10 -0
- package/dist/utils/math/index.d.mts +162 -0
- package/dist/utils/math/index.mjs +1 -0
- package/dist/utils/render/index.d.mts +19 -0
- package/dist/utils/render/index.mjs +3 -0
- package/dist/utils/specialized/index.d.mts +37 -0
- package/dist/utils/specialized/index.mjs +66 -0
- package/dist/utils/text/index.d.mts +39 -0
- package/dist/utils/text/index.mjs +8 -0
- package/dist/utils/theme/index.d.mts +295 -0
- package/dist/utils/theme/index.mjs +5 -0
- package/dist/utils/zoom/index.d.mts +90 -0
- package/dist/utils/zoom/index.mjs +3 -0
- 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 };
|