@primeui/chart-core 0.0.1-alpha.1 → 1.0.0-beta.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/dist/animations/index.d.mts +1 -1
- package/dist/animations/index.mjs +19 -18
- package/dist/{annotation.utils-Bm0lOO1o.d.mts → annotation.utils-D-7ijAWO.d.mts} +22 -1
- package/dist/cartesian/index.d.mts +3 -2
- package/dist/cartesian/index.mjs +96 -93
- package/dist/{chunk-WPFUV7K3.mjs → chunks/chunk-2LLTN7T4.mjs} +23 -14
- package/dist/{chunk-RO4N6YFS.mjs → chunks/chunk-2T226WJI.mjs} +31 -14
- package/dist/{chunk-A6ZQZFL2.mjs → chunks/chunk-3CUSPV47.mjs} +12 -9
- package/dist/{chunk-3FFJEX4A.mjs → chunks/chunk-3QQLETCJ.mjs} +13 -12
- package/dist/{chunk-JWFBOPM6.mjs → chunks/chunk-4N2XIMAB.mjs} +2 -2
- package/dist/{chunk-LVMDQ4OJ.mjs → chunks/chunk-4S3FOFCN.mjs} +2 -2
- package/dist/{chunk-XTVE4P3L.mjs → chunks/chunk-56MASQS2.mjs} +6 -2
- package/dist/{chunk-DTWTCFRG.mjs → chunks/chunk-5EQSFUBA.mjs} +41 -13
- package/dist/{chunk-KQIFO5I3.mjs → chunks/chunk-5QSTMSPW.mjs} +15 -10
- package/dist/{chunk-NKUYIWAP.mjs → chunks/chunk-6LUIVTNV.mjs} +6 -6
- package/dist/chunks/chunk-6MAO6I3E.mjs +6 -0
- package/dist/{chunk-WFVOQ2QZ.mjs → chunks/chunk-77K3DEKL.mjs} +2 -2
- package/dist/{chunk-4C6EVJ54.mjs → chunks/chunk-7I2SAKHL.mjs} +7 -44
- package/dist/{chunk-6HSEJLSR.mjs → chunks/chunk-7I2SNJ2X.mjs} +35 -18
- package/dist/{chunk-66T4MRC5.mjs → chunks/chunk-7IKKWWRT.mjs} +4 -6
- package/dist/{chunk-BKP26M4K.mjs → chunks/chunk-7LZWQVTL.mjs} +43 -24
- package/dist/{chunk-NHRK5KU2.mjs → chunks/chunk-A5YBHYIS.mjs} +25 -17
- package/dist/{chunk-ZT2Z7ERM.mjs → chunks/chunk-AC5EAWIP.mjs} +12 -9
- package/dist/{chunk-ZTL2FQEW.mjs → chunks/chunk-AETETRB4.mjs} +24 -9
- package/dist/{chunk-NPDZLYIF.mjs → chunks/chunk-AJ24XDEK.mjs} +2 -2
- package/dist/chunks/chunk-ARVMVGWS.mjs +40 -0
- package/dist/{chunk-3IYSJ2U7.mjs → chunks/chunk-AYEAEAOV.mjs} +10 -7
- package/dist/{chunk-M7B3JF43.mjs → chunks/chunk-AZPJMIZE.mjs} +4 -3
- package/dist/{chunk-O2X6FF45.mjs → chunks/chunk-BDCNBS6W.mjs} +194 -168
- package/dist/{chunk-55Y3WI6S.mjs → chunks/chunk-BR4PSSPU.mjs} +6 -6
- package/dist/{chunk-DN6AXQYZ.mjs → chunks/chunk-BYAAMQBN.mjs} +46 -41
- package/dist/{chunk-TA4MVAEX.mjs → chunks/chunk-CFA2SUBF.mjs} +32 -24
- package/dist/{chunk-WH3C3Y7P.mjs → chunks/chunk-CKQ4DNNJ.mjs} +7 -18
- package/dist/chunks/chunk-DIJFKY6H.mjs +21 -0
- package/dist/{chunk-AUF4CHDP.mjs → chunks/chunk-DJOHDKTP.mjs} +18 -11
- package/dist/{chunk-3Z62EUJN.mjs → chunks/chunk-DKWZKYHF.mjs} +5 -5
- package/dist/{chunk-PLSDU3C2.mjs → chunks/chunk-DOC4YOCD.mjs} +63 -37
- package/dist/{chunk-Y3L3D4GQ.mjs → chunks/chunk-DORUY7GR.mjs} +69 -34
- package/dist/chunks/chunk-DWBJKYLH.mjs +238 -0
- package/dist/{chunk-XQQCGFYB.mjs → chunks/chunk-EQLCJTM4.mjs} +1 -1
- package/dist/{chunk-VGLSBZDN.mjs → chunks/chunk-F2E2QCZM.mjs} +1 -1
- package/dist/{chunk-BZN2QHGP.mjs → chunks/chunk-F6AGZQDA.mjs} +4 -72
- package/dist/{chunk-ILUWFYGY.mjs → chunks/chunk-FNMLVZOA.mjs} +8 -8
- package/dist/{chunk-SXHVDJGF.mjs → chunks/chunk-FQAFGPW6.mjs} +6 -6
- package/dist/{chunk-N3TIT3OH.mjs → chunks/chunk-FSPE3M5E.mjs} +66 -43
- package/dist/{chunk-KNDZP446.mjs → chunks/chunk-FSWYYRPX.mjs} +5 -5
- package/dist/{chunk-KP2TWD4Z.mjs → chunks/chunk-FWNWV3H7.mjs} +1 -1
- package/dist/chunks/chunk-G3DIMENH.mjs +63 -0
- package/dist/{chunk-QQBXUDM4.mjs → chunks/chunk-G3DYNMWT.mjs} +20 -16
- package/dist/{chunk-J65DBT4R.mjs → chunks/chunk-GA6YZQYT.mjs} +3 -3
- package/dist/chunks/chunk-GAQLLQUM.mjs +20 -0
- package/dist/{chunk-TAHCOZHF.mjs → chunks/chunk-GN7VQCCH.mjs} +27 -30
- package/dist/{chunk-R6Y3R7EW.mjs → chunks/chunk-GOOBVFFH.mjs} +1 -1
- package/dist/chunks/chunk-GSW5OBEG.mjs +233 -0
- package/dist/{chunk-22ST6YPP.mjs → chunks/chunk-GTX6MLTG.mjs} +9 -9
- package/dist/{chunk-XUAASRXW.mjs → chunks/chunk-GWHRTGGC.mjs} +35 -27
- package/dist/{chunk-TQ6S34QZ.mjs → chunks/chunk-GXCLRRE5.mjs} +6 -6
- package/dist/{chunk-DP2IZNN3.mjs → chunks/chunk-HHBFQ6AI.mjs} +4 -3
- package/dist/{chunk-3OZLP4I4.mjs → chunks/chunk-HWT6UEYE.mjs} +14 -10
- package/dist/{chunk-X7T34OLW.mjs → chunks/chunk-I25SSZE3.mjs} +3 -3
- package/dist/{chunk-OGJ6IIBW.mjs → chunks/chunk-IFJPDARC.mjs} +21 -9
- package/dist/{chunk-CINXJIRR.mjs → chunks/chunk-ISU27QL2.mjs} +66 -6
- package/dist/{chunk-OXTFAWSK.mjs → chunks/chunk-J2WHJ73Y.mjs} +7 -2
- package/dist/{chunk-VN7CKCSE.mjs → chunks/chunk-JS47MSB2.mjs} +9 -1
- package/dist/{chunk-WYLILAOO.mjs → chunks/chunk-K44SD67H.mjs} +16 -7
- package/dist/{chunk-RQ3CKQOX.mjs → chunks/chunk-K7AGQTVK.mjs} +63 -3
- package/dist/{chunk-VVI3OBPJ.mjs → chunks/chunk-KCSMOAZO.mjs} +7 -9
- package/dist/{chunk-ARRGOEFX.mjs → chunks/chunk-L6GXEQOO.mjs} +7 -7
- package/dist/{chunk-7QQ6ETB4.mjs → chunks/chunk-LBNP5PJA.mjs} +14 -12
- package/dist/{chunk-AHYIS6EB.mjs → chunks/chunk-LC2ZEZWP.mjs} +7 -7
- package/dist/{chunk-WCG35U6M.mjs → chunks/chunk-LJ6BXF3H.mjs} +31 -23
- package/dist/{chunk-3WEMHXZI.mjs → chunks/chunk-LTQH3LQJ.mjs} +2 -8
- package/dist/{chunk-QWQ6HY4I.mjs → chunks/chunk-O4BTKF5R.mjs} +9 -8
- package/dist/{chunk-WY4AURRE.mjs → chunks/chunk-P2Q4DYOS.mjs} +240 -83
- package/dist/{chunk-KVDEROP6.mjs → chunks/chunk-P563L7WL.mjs} +1 -1
- package/dist/{chunk-SDBPQ5CF.mjs → chunks/chunk-PJLFNUOW.mjs} +45 -30
- package/dist/{chunk-MTGMXRNF.mjs → chunks/chunk-PSDRVQSK.mjs} +7 -7
- package/dist/{chunk-6STOLMCA.mjs → chunks/chunk-QCBESCLG.mjs} +13 -12
- package/dist/{chunk-PRDVPOZX.mjs → chunks/chunk-QIYJUZ7I.mjs} +7 -2
- package/dist/{chunk-UPRXABX5.mjs → chunks/chunk-RH3OQ2VX.mjs} +6 -6
- package/dist/{chunk-QS76E3TD.mjs → chunks/chunk-RI32WIDX.mjs} +2 -2
- package/dist/{chunk-OWW3K55O.mjs → chunks/chunk-RIAPS5AW.mjs} +49 -7
- package/dist/{chunk-ERVQB2VZ.mjs → chunks/chunk-RJ3ZOZTS.mjs} +4 -4
- package/dist/{chunk-WFTX4AQJ.mjs → chunks/chunk-RKNL7UWZ.mjs} +19 -7
- package/dist/chunks/chunk-RLS3GMJ6.mjs +8 -0
- package/dist/{chunk-WRULPWHD.mjs → chunks/chunk-RVTEIKW5.mjs} +5 -5
- package/dist/{chunk-FHTC2YDB.mjs → chunks/chunk-SVASYTK5.mjs} +70 -5
- package/dist/{chunk-ARB5T6MP.mjs → chunks/chunk-SWVOBJLG.mjs} +3 -100
- package/dist/{chunk-OHGCZZPZ.mjs → chunks/chunk-SY7LVXIW.mjs} +53 -27
- package/dist/{chunk-JGOVWSKH.mjs → chunks/chunk-TW3KLJVO.mjs} +37 -12
- package/dist/{chunk-RBLZRT5K.mjs → chunks/chunk-UF2TPGQB.mjs} +103 -15
- package/dist/{chunk-X4D7FKUS.mjs → chunks/chunk-UZWWYKL7.mjs} +2 -2
- package/dist/{chunk-LKC7MZKK.mjs → chunks/chunk-XECVYJE2.mjs} +16 -8
- package/dist/chunks/chunk-XMSAUIVL.mjs +1 -0
- package/dist/{chunk-J4RI2C2G.mjs → chunks/chunk-XPZTRMU2.mjs} +6 -6
- package/dist/{chunk-BABQKA6K.mjs → chunks/chunk-XXJRGDKE.mjs} +3 -3
- package/dist/{chunk-SALTGZFR.mjs → chunks/chunk-YVDVKLPR.mjs} +10 -9
- package/dist/circular/arc/index.mjs +3 -3
- package/dist/circular/index.d.mts +1 -1
- package/dist/circular/index.mjs +14 -13
- package/dist/controllers/index.mjs +113 -110
- package/dist/{datalabel.utils-CkjGeB8S.d.mts → datalabel.utils-CNRKHy7j.d.mts} +10 -1
- package/dist/{decimation.utils-CcvJVhI4.d.mts → decimation.utils-C0xpslz_.d.mts} +33 -2
- package/dist/geometry-BVWJedvw.d.mts +53 -0
- package/dist/index.d.mts +16 -17
- package/dist/index.mjs +113 -110
- package/dist/luminance-TvUgaQ91.d.mts +57 -0
- package/dist/orchestrator/index.d.mts +2 -2
- package/dist/orchestrator/index.mjs +36 -33
- package/dist/plugins/index.mjs +1 -1
- package/dist/{property-animations-D433wXzz.d.mts → property-animations-CI0zyp6V.d.mts} +6 -20
- package/dist/radial/index.mjs +40 -37
- package/dist/renderers/axis/index.mjs +9 -8
- package/dist/renderers/index.d.mts +8 -9
- package/dist/renderers/index.mjs +78 -75
- package/dist/renderers/navigator/index.d.mts +1 -1
- package/dist/renderers/navigator/index.mjs +10 -8
- package/dist/{ring.utils-DXvrxMkU.d.mts → ring.utils-aHt9Nqum.d.mts} +2 -7
- package/dist/{scale-KFv30jqZ.d.mts → scale-CFkPlyUe.d.mts} +2 -2
- package/dist/{scales-Drf8AIhL.d.mts → scales-BZzjlR4U.d.mts} +15 -1
- package/dist/series/bar/canvas/index.mjs +11 -10
- package/dist/series/bar/controller/index.d.mts +17 -0
- package/dist/series/bar/controller/index.mjs +47 -44
- package/dist/series/bar/controller-canvas/index.mjs +47 -44
- package/dist/series/bar/controller-svg/index.mjs +47 -44
- package/dist/series/bar/index.d.mts +2 -2
- package/dist/series/bar/index.mjs +16 -13
- package/dist/series/bar/svg/index.mjs +14 -11
- package/dist/series/candlestick/canvas/index.mjs +8 -8
- package/dist/series/candlestick/controller/index.d.mts +2 -0
- package/dist/series/candlestick/controller/index.mjs +43 -40
- package/dist/series/candlestick/controller-canvas/index.mjs +43 -40
- package/dist/series/candlestick/controller-svg/index.mjs +43 -40
- package/dist/series/candlestick/index.mjs +11 -10
- package/dist/series/candlestick/svg/index.mjs +8 -8
- package/dist/series/heatmap/canvas/index.mjs +9 -9
- package/dist/series/heatmap/controller/index.d.mts +9 -0
- package/dist/series/heatmap/controller/index.mjs +26 -23
- package/dist/series/heatmap/controller-canvas/index.mjs +26 -23
- package/dist/series/heatmap/controller-svg/index.mjs +26 -23
- package/dist/series/heatmap/index.mjs +14 -13
- package/dist/series/heatmap/svg/index.mjs +11 -10
- package/dist/series/line/canvas/index.mjs +9 -9
- package/dist/series/line/controller/index.d.mts +7 -0
- package/dist/series/line/controller/index.mjs +51 -47
- package/dist/series/line/controller-canvas/index.mjs +53 -49
- package/dist/series/line/controller-svg/index.mjs +53 -49
- package/dist/series/line/index.d.mts +1 -1
- package/dist/series/line/index.mjs +17 -13
- package/dist/series/line/svg/index.mjs +12 -9
- package/dist/series/pie/canvas/index.d.mts +12 -4
- package/dist/series/pie/canvas/index.mjs +15 -10
- package/dist/series/pie/controller/index.mjs +113 -110
- package/dist/series/pie/controller-canvas/index.mjs +113 -110
- package/dist/series/pie/controller-svg/index.mjs +113 -110
- package/dist/series/pie/index.d.mts +3 -56
- package/dist/series/pie/index.mjs +11 -15
- package/dist/series/pie/svg/index.d.mts +18 -4
- package/dist/series/pie/svg/index.mjs +10 -11
- package/dist/series/polar/canvas/index.mjs +7 -7
- package/dist/series/polar/controller/index.d.mts +9 -0
- package/dist/series/polar/controller/index.mjs +49 -46
- package/dist/series/polar/controller-canvas/index.mjs +50 -47
- package/dist/series/polar/controller-svg/index.mjs +50 -47
- package/dist/series/polar/index.mjs +19 -16
- package/dist/series/polar/svg/index.mjs +11 -8
- package/dist/series/radar/canvas/index.mjs +8 -8
- package/dist/series/radar/controller/index.d.mts +11 -0
- package/dist/series/radar/controller/index.mjs +46 -43
- package/dist/series/radar/controller-canvas/index.mjs +49 -46
- package/dist/series/radar/controller-svg/index.mjs +49 -46
- package/dist/series/radar/index.d.mts +2 -2
- package/dist/series/radar/index.mjs +16 -13
- package/dist/series/radar/svg/index.mjs +12 -9
- package/dist/series/scatter/canvas/index.mjs +13 -11
- package/dist/series/scatter/controller/index.mjs +48 -44
- package/dist/series/scatter/controller-canvas/index.mjs +50 -46
- package/dist/series/scatter/controller-svg/index.mjs +50 -46
- package/dist/series/scatter/index.d.mts +1 -1
- package/dist/series/scatter/index.mjs +18 -14
- package/dist/series/scatter/svg/index.mjs +16 -12
- package/dist/series/treemap/canvas/index.mjs +10 -10
- package/dist/series/treemap/controller/index.mjs +23 -20
- package/dist/series/treemap/controller-canvas/index.mjs +23 -20
- package/dist/series/treemap/controller-svg/index.mjs +23 -20
- package/dist/series/treemap/index.d.mts +17 -9
- package/dist/series/treemap/index.mjs +12 -12
- package/dist/series/treemap/svg/index.mjs +9 -9
- package/dist/{stacking-CChuAcLN.d.mts → stacking-Dz1OBhzm.d.mts} +1 -1
- package/dist/sync/index.mjs +6 -5
- package/dist/{tooltip.renderer-D5wpSlBa.d.mts → tooltip.renderer-DZfza6xV.d.mts} +3 -3
- package/dist/utils/color/index.d.mts +11 -53
- package/dist/utils/color/index.mjs +4 -4
- package/dist/utils/data/index.d.mts +2 -2
- package/dist/utils/data/index.mjs +7 -7
- package/dist/utils/export/index.mjs +6 -6
- package/dist/utils/index.d.mts +7 -7
- package/dist/utils/index.mjs +32 -29
- package/dist/utils/interaction/index.d.mts +1 -31
- package/dist/utils/interaction/index.mjs +12 -9
- package/dist/utils/layout/index.mjs +10 -10
- package/dist/utils/math/index.d.mts +1 -1
- package/dist/utils/math/index.mjs +1 -1
- package/dist/utils/render/index.mjs +3 -3
- package/dist/utils/specialized/index.d.mts +1 -1
- package/dist/utils/specialized/index.mjs +13 -15
- package/dist/utils/text/index.d.mts +1 -1
- package/dist/utils/text/index.mjs +9 -8
- package/dist/utils/theme/index.d.mts +6 -6
- package/dist/utils/theme/index.mjs +5 -5
- package/dist/utils/zoom/index.mjs +3 -3
- package/package.json +3 -3
- package/dist/canvas-D4vigq47.d.mts +0 -34
- package/dist/chunk-2QRS4YQ5.mjs +0 -18
- package/dist/chunk-53HW45JB.mjs +0 -102
- package/dist/chunk-B4FTADAZ.mjs +0 -561
- package/dist/chunk-IXOWSEHO.mjs +0 -114
- package/dist/chunk-VWF57TS3.mjs +0 -62
- package/dist/chunk-XIHBK5D3.mjs +0 -68
- package/dist/renderers/circular/index.d.mts +0 -13
- package/dist/renderers/circular/index.mjs +0 -13
- package/dist/{chunk-WA3OVISZ.mjs → chunks/chunk-4KQZXAHZ.mjs} +0 -0
- package/dist/{chunk-CHW4RKY3.mjs → chunks/chunk-576P5DBH.mjs} +0 -0
- package/dist/{chunk-EDAKJLNA.mjs → chunks/chunk-5WFF272M.mjs} +0 -0
- package/dist/{chunk-ADKLH73T.mjs → chunks/chunk-6XZ6U7GL.mjs} +0 -0
- package/dist/{chunk-2QK2KOBN.mjs → chunks/chunk-AOTUNMVD.mjs} +0 -0
- package/dist/{chunk-AGU3NG6D.mjs → chunks/chunk-AWMO5TS3.mjs} +0 -0
- package/dist/{chunk-SSLTFJ3U.mjs → chunks/chunk-BF7RP4A3.mjs} +132 -132
- /package/dist/{chunk-BETFQBM2.mjs → chunks/chunk-FML3QEEI.mjs} +0 -0
- /package/dist/{chunk-FFMT6OCO.mjs → chunks/chunk-FRVJH7ZG.mjs} +0 -0
- /package/dist/{chunk-HDFGCN2F.mjs → chunks/chunk-HBTCRORW.mjs} +0 -0
- /package/dist/{chunk-7CMVDIOU.mjs → chunks/chunk-HXDLOOCS.mjs} +0 -0
- /package/dist/{chunk-5JCI2DEB.mjs → chunks/chunk-JQVX6XFW.mjs} +0 -0
- /package/dist/{chunk-C36VWQ7A.mjs → chunks/chunk-KMKULH54.mjs} +0 -0
- /package/dist/{chunk-Q6PPVIHU.mjs → chunks/chunk-MT3OLVZC.mjs} +0 -0
- /package/dist/{chunk-WS64BZXT.mjs → chunks/chunk-OWVSSQZ4.mjs} +0 -0
- /package/dist/{chunk-EAMUNLRU.mjs → chunks/chunk-P2LG7GDM.mjs} +0 -0
- /package/dist/{chunk-IEGLX7VL.mjs → chunks/chunk-PXUXZADY.mjs} +0 -0
- /package/dist/{chunk-SANZPAJ4.mjs → chunks/chunk-SFUDXJKO.mjs} +0 -0
- /package/dist/{chunk-ZQFK6CAE.mjs → chunks/chunk-SJNUJM54.mjs} +0 -0
- /package/dist/{chunk-AP3UYWYT.mjs → chunks/chunk-SPU6BO3B.mjs} +0 -0
- /package/dist/{chunk-YBJ56XJS.mjs → chunks/chunk-T2UAEMHY.mjs} +0 -0
- /package/dist/{chunk-JO7VACY2.mjs → chunks/chunk-VADXCPQ4.mjs} +0 -0
- /package/dist/{chunk-FRST55HY.mjs → chunks/chunk-ZZCVDIU5.mjs} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { createDrawImage } from './chunk-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { createDrawImage } from './chunk-HXDLOOCS.mjs';
|
|
2
|
+
import { safeRenderProp } from './chunk-DIJFKY6H.mjs';
|
|
3
|
+
import { measureFontMetrics, measureTextWidth } from './chunk-56MASQS2.mjs';
|
|
4
|
+
import { DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_POINT_RADIUS_MULTIPLIER, DEFAULT_REFERENCE_LINE_STROKE, DEFAULT_REFERENCE_LINE_WIDTH, DEFAULT_REFERENCE_LABEL_OFFSET, DEFAULT_REFERENCE_BAND_FILL, DEFAULT_REFERENCE_BAND_OPACITY, resolveFontFamily, resolveFontSize, DEFAULT_REFERENCE_LABEL_FONT_SIZE, DEFAULT_REFERENCE_LABEL_FONT_WEIGHT } from './chunk-6LUIVTNV.mjs';
|
|
5
|
+
import { buildColorIndexMap, resolveAccessor, makeItemContext, resolveSwatchColor, isGradientColor } from './chunk-BDCNBS6W.mjs';
|
|
6
|
+
import { createSvgGroup, appendChild, createSvgRect, createSvgText, createSvgLine, withCanvasState } from './chunk-BF7RP4A3.mjs';
|
|
7
|
+
import { shallowEqual } from './chunk-K7AGQTVK.mjs';
|
|
7
8
|
|
|
8
9
|
// src/utils/customRender.utils.ts
|
|
9
10
|
function renderCustomMarkersCanvas(ctx, entries, hover, options) {
|
|
@@ -35,7 +36,7 @@ function renderCustomMarkersCanvas(ctx, entries, hover, options) {
|
|
|
35
36
|
ctx.save();
|
|
36
37
|
ctx.translate(pt.x, pt.y);
|
|
37
38
|
ctx.globalAlpha = opacity;
|
|
38
|
-
entry.renderMarker(context);
|
|
39
|
+
safeRenderProp(() => entry.renderMarker(context), "marker");
|
|
39
40
|
ctx.restore();
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -106,19 +107,21 @@ function resolveLegendGradient(props, index, item, extras) {
|
|
|
106
107
|
function buildLegendItems(options) {
|
|
107
108
|
const { datasets, datasetVisibility, hiddenItems, isCartesian, hasRadarDatasets, hasPolarDatasets, hasStackedPies, theme } = options;
|
|
108
109
|
const sortedDatasets = Array.from(datasets.entries()).sort(([, a], [, b]) => a.order - b.order);
|
|
110
|
+
const colorIndexById = buildColorIndexMap(datasets);
|
|
109
111
|
if (isCartesian || hasRadarDatasets || hasPolarDatasets) {
|
|
110
112
|
const items2 = [];
|
|
111
113
|
for (const [datasetId, dataset] of sortedDatasets) {
|
|
112
114
|
const visible = datasetVisibility.get(datasetId) ?? true;
|
|
113
115
|
const props = dataset.props;
|
|
114
116
|
const firstItem = props.data?.[0];
|
|
115
|
-
const
|
|
117
|
+
const colorIndex = colorIndexById.get(datasetId) ?? dataset.order;
|
|
118
|
+
const color = resolveLegendColor(props, colorIndex, firstItem, theme);
|
|
116
119
|
items2.push({
|
|
117
120
|
type: "dataset",
|
|
118
121
|
datasetId,
|
|
119
122
|
label: props.name ?? datasetId,
|
|
120
123
|
color,
|
|
121
|
-
colorGradient: resolveLegendGradient(props,
|
|
124
|
+
colorGradient: resolveLegendGradient(props, colorIndex, firstItem),
|
|
122
125
|
visible
|
|
123
126
|
});
|
|
124
127
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { hasCollisions } from './chunk-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { hasCollisions } from './chunk-GOOBVFFH.mjs';
|
|
2
|
+
import { safeFormat } from './chunk-DIJFKY6H.mjs';
|
|
3
|
+
import { measureTextWidth, measureFontMetrics, svgAnchorToCanvasAlign } from './chunk-56MASQS2.mjs';
|
|
4
|
+
import { DEFAULT_TITLE_LABEL_GAP, resolveFontSize, DEFAULT_TITLE_FONT_SIZE, resolveFontFamily, resolveAxisColor, DEFAULT_TICK_LENGTH, DEFAULT_LABEL_PADDING, DEFAULT_TICK_FONT_SIZE } from './chunk-6LUIVTNV.mjs';
|
|
5
|
+
import { defaultLightTheme } from './chunk-BDCNBS6W.mjs';
|
|
6
|
+
import { createSvgGroup, appendChild, createSvgRect, createSvgLine, setAttr, createSvgText, withCanvasState } from './chunk-BF7RP4A3.mjs';
|
|
7
|
+
import { crisp, detectTickUnit, isPeriodBoundary, formatTimeTick, generateIntervalTicks } from './chunk-K7AGQTVK.mjs';
|
|
7
8
|
|
|
8
9
|
// src/renderers/axis/geometry.ticks.ts
|
|
9
10
|
function resolveTickStyle(style, axisColor, globalFont) {
|
|
@@ -140,7 +141,11 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
|
|
|
140
141
|
const maxTicks = Math.max(1, Math.floor(axisLength / userMinGridDistance));
|
|
141
142
|
step = Math.max(1, Math.ceil(filtered.length / maxTicks));
|
|
142
143
|
} else if (isHorizontal) {
|
|
143
|
-
const sampleLabel = formatter ? typeof formatter === "function" ?
|
|
144
|
+
const sampleLabel = formatter ? typeof formatter === "function" ? safeFormat(
|
|
145
|
+
() => formatter(filtered[0].value, 0),
|
|
146
|
+
() => formatValue(filtered[0].value, locale),
|
|
147
|
+
"tick"
|
|
148
|
+
) : String(filtered[0].value) : formatValue(filtered[0].value, locale);
|
|
144
149
|
const sampleWidth = measureTextWidth(sampleLabel, style.fontSize, style.fontWeight, style.fontFamily);
|
|
145
150
|
const textHeight = style.fontSize * 1.2;
|
|
146
151
|
const footprint0 = sampleWidth;
|
|
@@ -149,7 +154,13 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
|
|
|
149
154
|
const step0 = Math.max(1, Math.ceil(filtered.length / maxTicks0));
|
|
150
155
|
if (step0 === 1) {
|
|
151
156
|
if (manualRotation === 0 && (baseProps.autoRotate ?? true)) {
|
|
152
|
-
const preLabels = filtered.map(
|
|
157
|
+
const preLabels = filtered.map(
|
|
158
|
+
(v, idx) => formatter ? typeof formatter === "function" ? safeFormat(
|
|
159
|
+
() => formatter(v.value, idx),
|
|
160
|
+
() => formatValue(v.value, locale),
|
|
161
|
+
"tick"
|
|
162
|
+
) : String(v.value) : formatValue(v.value, locale)
|
|
163
|
+
);
|
|
153
164
|
if (hasCollisions(
|
|
154
165
|
preLabels,
|
|
155
166
|
filtered.map((v) => v.pos),
|
|
@@ -203,7 +214,11 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
|
|
|
203
214
|
const isFirst = i === 0;
|
|
204
215
|
const isLast = i >= filtered.length - step;
|
|
205
216
|
const isHidden = isFirst && !showFirst || isLast && !showLast;
|
|
206
|
-
const label = isHidden ? "" : formatter ? typeof formatter === "function" ?
|
|
217
|
+
const label = isHidden ? "" : formatter ? typeof formatter === "function" ? safeFormat(
|
|
218
|
+
() => formatter(value, i),
|
|
219
|
+
() => formatValue(value, locale),
|
|
220
|
+
"tick"
|
|
221
|
+
) : String(value) : formatValue(value, locale);
|
|
207
222
|
const perTickStyle = tickStyleFn ? tickStyleFn(value, i) : void 0;
|
|
208
223
|
let baseAnchor;
|
|
209
224
|
let baseBaseline;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DEFAULT_CHART_PADDING, resolveFontSize, DEFAULT_CHART_TITLE_FONT_SIZE, DEFAULT_CHART_TITLE_PADDING, DEFAULT_CHART_CAPTION_FONT_SIZE, DEFAULT_CHART_CAPTION_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_LEGEND_WIDTH, DEFAULT_LEGEND_HEIGHT } from './chunk-
|
|
2
|
-
import { calculateArcBoundingBox } from './chunk-
|
|
1
|
+
import { DEFAULT_CHART_PADDING, resolveFontSize, DEFAULT_CHART_TITLE_FONT_SIZE, DEFAULT_CHART_TITLE_PADDING, DEFAULT_CHART_CAPTION_FONT_SIZE, DEFAULT_CHART_CAPTION_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_LEGEND_WIDTH, DEFAULT_LEGEND_HEIGHT } from './chunk-6LUIVTNV.mjs';
|
|
2
|
+
import { calculateArcBoundingBox } from './chunk-K7AGQTVK.mjs';
|
|
3
3
|
|
|
4
4
|
// src/utils/layout/layout.utils.ts
|
|
5
5
|
function normalizePadding(padding) {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { toRad } from './chunk-K7AGQTVK.mjs';
|
|
2
|
+
|
|
3
|
+
// src/circular/radial.helpers.ts
|
|
4
|
+
function computeSliceGeometry(slice, currentAngle, frame) {
|
|
5
|
+
const { outerRadius, innerRadius, willBeSingleSlice, currentRingRadii, hoverState, hoverOffset, hoverScale } = frame;
|
|
6
|
+
const ringRadii = currentRingRadii.get(String(slice.datasetIndex));
|
|
7
|
+
const baseOuterRadius = ringRadii?.outer ?? outerRadius;
|
|
8
|
+
const sliceInnerRadius = ringRadii?.inner ?? innerRadius;
|
|
9
|
+
const sliceOuterRadius = sliceInnerRadius + (baseOuterRadius - sliceInnerRadius) * slice.radiusRatio;
|
|
10
|
+
const spacing = slice.spacing ?? 0;
|
|
11
|
+
const spacingAngle = spacing > 0 && sliceOuterRadius > 0 ? spacing / sliceOuterRadius * (180 / Math.PI) : 0;
|
|
12
|
+
const halfSpacing = spacingAngle / 2;
|
|
13
|
+
const angle = slice.endAngle - slice.rotation;
|
|
14
|
+
const isFullCircleSlice = willBeSingleSlice || slice.targetAngle >= 355 || angle >= 355;
|
|
15
|
+
const midAngle = currentAngle + angle / 2;
|
|
16
|
+
const midRadius = (sliceOuterRadius + sliceInnerRadius) / 2;
|
|
17
|
+
const isHovered = hoverState.datasetIndex === slice.datasetIndex && hoverState.index === slice.originalIndex;
|
|
18
|
+
const sliceHoverOffset = isHovered && !isFullCircleSlice ? hoverOffset : 0;
|
|
19
|
+
const hoverOffsetX = sliceHoverOffset > 0 ? Math.cos(toRad(midAngle)) * sliceHoverOffset : 0;
|
|
20
|
+
const hoverOffsetY = sliceHoverOffset > 0 ? Math.sin(toRad(midAngle)) * sliceHoverOffset : 0;
|
|
21
|
+
const baseOffset = slice.baseOffset ?? 0;
|
|
22
|
+
const baseOffsetX = baseOffset !== 0 ? Math.cos(toRad(midAngle)) * baseOffset : 0;
|
|
23
|
+
const baseOffsetY = baseOffset !== 0 ? Math.sin(toRad(midAngle)) * baseOffset : 0;
|
|
24
|
+
const scale = isHovered && !isFullCircleSlice && hoverScale > 1 ? hoverScale : 1;
|
|
25
|
+
return {
|
|
26
|
+
sliceOuterRadius,
|
|
27
|
+
sliceInnerRadius,
|
|
28
|
+
isFullCircleSlice,
|
|
29
|
+
midAngle,
|
|
30
|
+
midRadius,
|
|
31
|
+
isHovered,
|
|
32
|
+
offsetX: hoverOffsetX + baseOffsetX,
|
|
33
|
+
offsetY: hoverOffsetY + baseOffsetY,
|
|
34
|
+
scale,
|
|
35
|
+
renderRotation: isFullCircleSlice ? currentAngle : currentAngle + halfSpacing,
|
|
36
|
+
renderAngle: isFullCircleSlice ? angle : Math.max(0, angle - spacingAngle)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { computeSliceGeometry };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { normalizeCrosshairConfig } from './chunk-
|
|
2
|
-
import { resolveNavigatorConfig } from './chunk-
|
|
3
|
-
import { buildLegendItems, resolveLegendClickAction } from './chunk-
|
|
4
|
-
import { normalizePadding, calculateTitleLayout, calculateLegendArea, calculateChartArea } from './chunk-
|
|
5
|
-
import { generateChartTypeDescription, generateChartSummary } from './chunk-
|
|
6
|
-
import { DEFAULT_CHART_TITLE_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_CHART_CAPTION_PADDING } from './chunk-
|
|
7
|
-
import { EXPORT_MENU_CONSTANTS } from './chunk-
|
|
1
|
+
import { normalizeCrosshairConfig } from './chunk-O4BTKF5R.mjs';
|
|
2
|
+
import { resolveNavigatorConfig } from './chunk-7LZWQVTL.mjs';
|
|
3
|
+
import { buildLegendItems, resolveLegendClickAction } from './chunk-AC5EAWIP.mjs';
|
|
4
|
+
import { normalizePadding, calculateTitleLayout, calculateLegendArea, calculateChartArea } from './chunk-AJ24XDEK.mjs';
|
|
5
|
+
import { generateChartTypeDescription, generateChartSummary } from './chunk-IFJPDARC.mjs';
|
|
6
|
+
import { DEFAULT_CHART_TITLE_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_CHART_CAPTION_PADDING } from './chunk-6LUIVTNV.mjs';
|
|
7
|
+
import { EXPORT_MENU_CONSTANTS } from './chunk-RIAPS5AW.mjs';
|
|
8
8
|
|
|
9
9
|
// src/orchestrator/computeLayout.ts
|
|
10
10
|
function buildLayoutInputs(p) {
|
|
@@ -467,6 +467,9 @@ function processMouseMoveCore(x, y, ctx, lastHover, tooltipConfig) {
|
|
|
467
467
|
cursorFormattedValue: typeof extHit["cursorFormattedValue"] === "string" ? extHit["cursorFormattedValue"] : void 0,
|
|
468
468
|
xValue: extHit["xValue"],
|
|
469
469
|
yValue: extHit["yValue"],
|
|
470
|
+
independentIsCategory: typeof extHit["independentIsCategory"] === "boolean" ? extHit["independentIsCategory"] : void 0,
|
|
471
|
+
xAxisTitle: typeof extHit["xAxisTitle"] === "string" ? extHit["xAxisTitle"] : void 0,
|
|
472
|
+
yAxisTitle: typeof extHit["yAxisTitle"] === "string" ? extHit["yAxisTitle"] : void 0,
|
|
470
473
|
ohlc: extHit["ohlc"],
|
|
471
474
|
bubbleValue: typeof extHit["bubbleValue"] === "number" ? extHit["bubbleValue"] : void 0,
|
|
472
475
|
snapX: ctx.hasCrosshair ? cartHit?.snapX : void 0,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { hitTestCandlestick } from './chunk-
|
|
2
|
-
import { formatTimeLabel, formatHitValue, formatCursorValue } from './chunk-
|
|
1
|
+
import { hitTestCandlestick } from './chunk-HWT6UEYE.mjs';
|
|
2
|
+
import { formatTimeLabel, formatHitValue, formatCursorValue } from './chunk-HHBFQ6AI.mjs';
|
|
3
|
+
import { formatTooltipValue } from './chunk-56MASQS2.mjs';
|
|
3
4
|
|
|
4
5
|
// src/cartesian/hittest-wrappers/candlestick.ts
|
|
5
6
|
function candlestickHitTest(x, y, ctx) {
|
|
@@ -53,7 +54,7 @@ function candlestickFindAllNearest(x, y, ctx) {
|
|
|
53
54
|
const color = candle.bodyStroke;
|
|
54
55
|
const ohlc = { open: candle.open, high: candle.high, low: candle.low, close: candle.close };
|
|
55
56
|
const label = formatTimeLabel(candle.label, layoutData);
|
|
56
|
-
const formattedValue = props ? formatHitValue(candle.close, props, "vertical", layoutData) :
|
|
57
|
+
const formattedValue = props ? formatHitValue(candle.close, props, "vertical", layoutData) : formatTooltipValue(candle.close);
|
|
57
58
|
const cursorFormattedValue = props ? formatCursorValue(x, y, props, "vertical", layoutData) : formattedValue;
|
|
58
59
|
allSeries.push({
|
|
59
60
|
datasetId,
|
|
@@ -1,4 +1,195 @@
|
|
|
1
|
-
import { hexToRgba, createSvgRadialGradient, createSvgLinearGradient, createCanvasRadialGradient, createCanvasLinearGradient, parseColorToRGB } from './chunk-
|
|
1
|
+
import { hexToRgba, createSvgRadialGradient, createSvgLinearGradient, createCanvasRadialGradient, createCanvasLinearGradient, parseColorToRGB } from './chunk-BF7RP4A3.mjs';
|
|
2
|
+
|
|
3
|
+
// src/themes/default.ts
|
|
4
|
+
var defaultLightTheme = {
|
|
5
|
+
// Series — 14-color premium pastel palette, rotated for adjacent categorical contrast.
|
|
6
|
+
// Lively enough for default demos, softer than utility-palette primaries.
|
|
7
|
+
series: [
|
|
8
|
+
"#5daeea",
|
|
9
|
+
// Azure
|
|
10
|
+
"#ffad5a",
|
|
11
|
+
// Apricot
|
|
12
|
+
"#ffd166",
|
|
13
|
+
// Gold
|
|
14
|
+
"#4ecdc4",
|
|
15
|
+
// Aqua
|
|
16
|
+
"#7c8cff",
|
|
17
|
+
// Periwinkle
|
|
18
|
+
"#c084fc",
|
|
19
|
+
// Lavender
|
|
20
|
+
"#ff6fae",
|
|
21
|
+
// Rose
|
|
22
|
+
"#9ccc3c",
|
|
23
|
+
// Lime
|
|
24
|
+
"#ff7a66",
|
|
25
|
+
// Coral
|
|
26
|
+
"#36b7d6",
|
|
27
|
+
// Cyan
|
|
28
|
+
"#a78bfa",
|
|
29
|
+
// Lilac
|
|
30
|
+
"#5ccf9f",
|
|
31
|
+
// Mint
|
|
32
|
+
"#fda4af",
|
|
33
|
+
// Salmon
|
|
34
|
+
"#94a3b8"
|
|
35
|
+
// Slate
|
|
36
|
+
],
|
|
37
|
+
// Chrome — drives axes, grid, labels, title, caption.
|
|
38
|
+
// All 4 axis slots default to the same neutral; override individual entries for multi-axis charts.
|
|
39
|
+
axes: ["#666666", "#666666", "#666666", "#666666"],
|
|
40
|
+
grid: "#e2e8f0",
|
|
41
|
+
gridMinor: "#cbd5e1",
|
|
42
|
+
tickLabel: "#666666",
|
|
43
|
+
dataLabel: "#334155",
|
|
44
|
+
dataLabelBackground: "#00000000",
|
|
45
|
+
// transparent by default
|
|
46
|
+
dataLabelBorder: "#00000000",
|
|
47
|
+
annotation: "#334155",
|
|
48
|
+
annotationBackground: "#00000000",
|
|
49
|
+
// transparent by default
|
|
50
|
+
annotationBorder: "#00000000",
|
|
51
|
+
titleColor: "#0f172a",
|
|
52
|
+
captionColor: "#64748b",
|
|
53
|
+
bandFill: "#f1f5f9",
|
|
54
|
+
// Direction signals — independent of series ramp so candlestick charts
|
|
55
|
+
// don't collide with series-colored overlays.
|
|
56
|
+
positive: "#1eb854",
|
|
57
|
+
negative: "#dc2828",
|
|
58
|
+
candleNeutral: "#6b7280",
|
|
59
|
+
// Effect coefficients — mirror state class CSS defaults.
|
|
60
|
+
hoverBrightness: 1.1,
|
|
61
|
+
dimOpacity: 1,
|
|
62
|
+
barStrokeWidth: 0,
|
|
63
|
+
// Tick halo — opposite-luma from text fill so labels pop against
|
|
64
|
+
// series-colored backgrounds. `#ffffffd9` = rgba(255,255,255,0.85).
|
|
65
|
+
tickHalo: "#ffffffd9",
|
|
66
|
+
// Heatmap defaults — mirror `--p-chart-heat-min/max/empty/null`.
|
|
67
|
+
heatColorMin: "#fde68a",
|
|
68
|
+
heatColorMax: "#ee1c1c",
|
|
69
|
+
heatEmpty: "#e5e7eb",
|
|
70
|
+
heatNull: "#f3f4f6",
|
|
71
|
+
// Tooltip — semi-transparent surface with subtle border. `f2` ≈ 0.95 alpha,
|
|
72
|
+
// `1a` ≈ 0.10 alpha. Hex w/ alpha keeps parity-test regex simple.
|
|
73
|
+
tooltipBackground: "#ffffffd9",
|
|
74
|
+
tooltipBorder: "#0000001a",
|
|
75
|
+
tooltipColor: "#374151",
|
|
76
|
+
tooltipRadius: "8px",
|
|
77
|
+
tooltipBlur: "12px",
|
|
78
|
+
tooltipShadow: "0 8px 24px #0000001f",
|
|
79
|
+
tooltipPadding: "10px 14px",
|
|
80
|
+
legendColor: "#374151",
|
|
81
|
+
legendBackground: "#00000000",
|
|
82
|
+
// transparent by default
|
|
83
|
+
legendBorder: "#00000000",
|
|
84
|
+
// Reference lines/bands — neutral-40 stroke, 10% opacity fill.
|
|
85
|
+
referenceLineColor: "#94a3b8",
|
|
86
|
+
referenceBandFill: "#0000001a",
|
|
87
|
+
// rgba(0,0,0,0.10)
|
|
88
|
+
// Navigator chrome — series line/area, dim mask outside the selection window,
|
|
89
|
+
// and the selection border + interior. Hex-with-alpha keeps the parity-test regex
|
|
90
|
+
// happy: `#3b82f6b3` ≈ rgba(59,130,246,0.70), `#3b82f614` ≈ rgba(59,130,246,0.08),
|
|
91
|
+
// `#0000001f` ≈ rgba(0,0,0,0.12).
|
|
92
|
+
navigatorSeries: "#94a3b8",
|
|
93
|
+
navigatorMask: "#0000001f",
|
|
94
|
+
navigatorSelectionColor: "#3b82f6b3",
|
|
95
|
+
navigatorSelectionFill: "#3b82f614",
|
|
96
|
+
// Treemap defaults — mirror existing `--p-chart-treemap-*` vars.
|
|
97
|
+
treemapCell: "#5daeea",
|
|
98
|
+
treemapCellBorder: "#00000026",
|
|
99
|
+
// rgba(0,0,0,0.15)
|
|
100
|
+
treemapHeaderBg: "#ffffffe6",
|
|
101
|
+
// near-white header band in light mode
|
|
102
|
+
treemapHeaderText: "#1f2937",
|
|
103
|
+
// dark slate text on the light band
|
|
104
|
+
// Content background — the surface the chart sits on (white in light mode).
|
|
105
|
+
// Used by canvas custom markers that need a fill matching the page background.
|
|
106
|
+
background: "#ffffff",
|
|
107
|
+
// Generic fallback border (final fallback in pie/bar canvas paths).
|
|
108
|
+
borderColor: "#000000",
|
|
109
|
+
// Crosshair line color — falls back to axes[0] by default.
|
|
110
|
+
crosshairColor: "#666666",
|
|
111
|
+
// Base typography — chart-level `fontFamily`/`fontSize` props still win.
|
|
112
|
+
fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
|
|
113
|
+
fontSize: 12
|
|
114
|
+
};
|
|
115
|
+
var defaultDarkTheme = {
|
|
116
|
+
// Dark keeps the same hue story with a modest lift for small marks on dark surfaces.
|
|
117
|
+
series: ["#6bbbed", "#ffb76d", "#ffdc7a", "#61d8cf", "#909dff", "#cc99fd", "#ff82ba", "#aad64c", "#ff8b76", "#4fc7df", "#b79dfb", "#6fdaad", "#fdb1bb", "#a8b5c6"],
|
|
118
|
+
axes: ["#a1a1aa", "#a1a1aa", "#a1a1aa", "#a1a1aa"],
|
|
119
|
+
grid: "#3f3f46",
|
|
120
|
+
gridMinor: "#52525b",
|
|
121
|
+
tickLabel: "#a1a1aa",
|
|
122
|
+
dataLabel: "#e4e4e7",
|
|
123
|
+
dataLabelBackground: "#00000000",
|
|
124
|
+
dataLabelBorder: "#00000000",
|
|
125
|
+
annotation: "#e4e4e7",
|
|
126
|
+
annotationBackground: "#00000000",
|
|
127
|
+
annotationBorder: "#00000000",
|
|
128
|
+
titleColor: "#fafafa",
|
|
129
|
+
captionColor: "#a1a1aa",
|
|
130
|
+
bandFill: "#27272a",
|
|
131
|
+
positive: "#22d96a",
|
|
132
|
+
negative: "#ff4d4d",
|
|
133
|
+
candleNeutral: "#a1a1a1",
|
|
134
|
+
hoverBrightness: 1.1,
|
|
135
|
+
dimOpacity: 1,
|
|
136
|
+
barStrokeWidth: 0,
|
|
137
|
+
// `#000000d9` = rgba(0,0,0,0.85) — dark halo for light text in dark mode.
|
|
138
|
+
tickHalo: "#000000d9",
|
|
139
|
+
heatColorMin: "#fde68a",
|
|
140
|
+
heatColorMax: "#ee1c1c",
|
|
141
|
+
heatEmpty: "#3f3f46",
|
|
142
|
+
heatNull: "#27272a",
|
|
143
|
+
// Tooltip — dark surface, subtle light border for separation against dark page bg.
|
|
144
|
+
tooltipBackground: "#0a0a0acc",
|
|
145
|
+
// near-black + 0.80 (frosted glass)
|
|
146
|
+
tooltipBorder: "#ffffff1a",
|
|
147
|
+
// 0.10 alpha
|
|
148
|
+
tooltipColor: "#e4e4e7",
|
|
149
|
+
tooltipRadius: "8px",
|
|
150
|
+
tooltipBlur: "12px",
|
|
151
|
+
tooltipShadow: "0 8px 24px #00000066",
|
|
152
|
+
tooltipPadding: "10px 14px",
|
|
153
|
+
legendColor: "#e4e4e7",
|
|
154
|
+
legendBackground: "#00000000",
|
|
155
|
+
legendBorder: "#00000000",
|
|
156
|
+
referenceLineColor: "#71717a",
|
|
157
|
+
referenceBandFill: "#ffffff14",
|
|
158
|
+
// rgba(255,255,255,0.08)
|
|
159
|
+
// Navigator chrome — Highcharts-style: light overlay dims dark bg so selection stands out;
|
|
160
|
+
// brighter blue (blue-400) for selection so it pops on dark surfaces.
|
|
161
|
+
// `#ffffff14` ≈ rgba(255,255,255,0.08), `#60a5fab3` ≈ rgba(96,165,250,0.70),
|
|
162
|
+
// `#60a5fa1f` ≈ rgba(96,165,250,0.12).
|
|
163
|
+
navigatorSeries: "#a1a1aa",
|
|
164
|
+
navigatorMask: "#ffffff14",
|
|
165
|
+
navigatorSelectionColor: "#60a5fab3",
|
|
166
|
+
navigatorSelectionFill: "#60a5fa1f",
|
|
167
|
+
// Treemap defaults — same Azure family for cell, mirrored borders/headers.
|
|
168
|
+
treemapCell: "#6bbbed",
|
|
169
|
+
// theme.series[0] dark
|
|
170
|
+
treemapCellBorder: "#ffffff26",
|
|
171
|
+
// rgba(255,255,255,0.15)
|
|
172
|
+
treemapHeaderBg: "#00000099",
|
|
173
|
+
// rgba(0,0,0,0.6) — dark header band in dark mode
|
|
174
|
+
treemapHeaderText: "#ffffff",
|
|
175
|
+
background: "#0a0a0a",
|
|
176
|
+
borderColor: "#ffffff",
|
|
177
|
+
crosshairColor: "#a1a1aa",
|
|
178
|
+
fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
|
|
179
|
+
fontSize: 12
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// src/utils/color/colorIndex.ts
|
|
183
|
+
var _cache = /* @__PURE__ */ new WeakMap();
|
|
184
|
+
function buildColorIndexMap(datasets) {
|
|
185
|
+
const cached = _cache.get(datasets);
|
|
186
|
+
if (cached) return cached;
|
|
187
|
+
const sorted = Array.from(datasets.entries()).sort(([, a], [, b]) => a.order - b.order);
|
|
188
|
+
const map = /* @__PURE__ */ new Map();
|
|
189
|
+
sorted.forEach(([id], i) => map.set(id, i));
|
|
190
|
+
_cache.set(datasets, map);
|
|
191
|
+
return map;
|
|
192
|
+
}
|
|
2
193
|
|
|
3
194
|
// src/utils/color/gradient.ts
|
|
4
195
|
function isGradientColor(color) {
|
|
@@ -147,171 +338,6 @@ function sampleGradientAt(color, point, center, radius, chartArea, defaultDirect
|
|
|
147
338
|
return sorted[sorted.length - 1].color;
|
|
148
339
|
}
|
|
149
340
|
|
|
150
|
-
// src/themes/default.ts
|
|
151
|
-
var defaultLightTheme = {
|
|
152
|
-
// Series — 10-hue Studio palette, hand-tuned for white backgrounds.
|
|
153
|
-
series: [
|
|
154
|
-
"#3563e9",
|
|
155
|
-
// cobalt
|
|
156
|
-
"#e8722d",
|
|
157
|
-
// persimmon
|
|
158
|
-
"#1fbe8b",
|
|
159
|
-
// jade
|
|
160
|
-
"#dc2f4f",
|
|
161
|
-
// crimson
|
|
162
|
-
"#6852d9",
|
|
163
|
-
// lavender
|
|
164
|
-
"#1dafd9",
|
|
165
|
-
// cerulean
|
|
166
|
-
"#d63384",
|
|
167
|
-
// magenta
|
|
168
|
-
"#88b83f",
|
|
169
|
-
// olive
|
|
170
|
-
"#a855cc",
|
|
171
|
-
// plum
|
|
172
|
-
"#d9a422"
|
|
173
|
-
// saffron
|
|
174
|
-
],
|
|
175
|
-
// Chrome — drives axes, grid, labels, title, caption.
|
|
176
|
-
// All 4 axis slots default to the same neutral; override individual entries for multi-axis charts.
|
|
177
|
-
axes: ["#666666", "#666666", "#666666", "#666666"],
|
|
178
|
-
grid: "#e2e8f0",
|
|
179
|
-
gridMinor: "#cbd5e1",
|
|
180
|
-
tickLabel: "#666666",
|
|
181
|
-
dataLabel: "#334155",
|
|
182
|
-
dataLabelBackground: "#00000000",
|
|
183
|
-
// transparent by default
|
|
184
|
-
dataLabelBorder: "#00000000",
|
|
185
|
-
annotation: "#334155",
|
|
186
|
-
annotationBackground: "#00000000",
|
|
187
|
-
// transparent by default
|
|
188
|
-
annotationBorder: "#00000000",
|
|
189
|
-
titleColor: "#0f172a",
|
|
190
|
-
captionColor: "#64748b",
|
|
191
|
-
bandFill: "#f1f5f9",
|
|
192
|
-
// Direction signals — independent of series ramp so candlestick charts
|
|
193
|
-
// don't collide with series-colored overlays.
|
|
194
|
-
positive: "#1eb854",
|
|
195
|
-
negative: "#dc2828",
|
|
196
|
-
candleNeutral: "#6b7280",
|
|
197
|
-
// Effect coefficients — mirror state class CSS defaults.
|
|
198
|
-
hoverBrightness: 1.1,
|
|
199
|
-
dimOpacity: 0.6,
|
|
200
|
-
barStrokeWidth: 0,
|
|
201
|
-
// Tick halo — opposite-luma from text fill so labels pop against
|
|
202
|
-
// series-colored backgrounds. `#ffffffd9` = rgba(255,255,255,0.85).
|
|
203
|
-
tickHalo: "#ffffffd9",
|
|
204
|
-
// Heatmap defaults — mirror `--p-chart-heat-min/max/empty/null`.
|
|
205
|
-
heatColorMin: "#fde68a",
|
|
206
|
-
heatColorMax: "#ee1c1c",
|
|
207
|
-
heatEmpty: "#e5e7eb",
|
|
208
|
-
heatNull: "#f3f4f6",
|
|
209
|
-
// Tooltip — semi-transparent surface with subtle border. `f2` ≈ 0.95 alpha,
|
|
210
|
-
// `1a` ≈ 0.10 alpha. Hex w/ alpha keeps parity-test regex simple.
|
|
211
|
-
tooltipBackground: "#ffffffd9",
|
|
212
|
-
tooltipBorder: "#0000001a",
|
|
213
|
-
tooltipColor: "#374151",
|
|
214
|
-
tooltipRadius: "8px",
|
|
215
|
-
tooltipBlur: "12px",
|
|
216
|
-
tooltipShadow: "0 8px 24px #0000001f",
|
|
217
|
-
tooltipPadding: "10px 14px",
|
|
218
|
-
legendColor: "#374151",
|
|
219
|
-
legendBackground: "#00000000",
|
|
220
|
-
// transparent by default
|
|
221
|
-
legendBorder: "#00000000",
|
|
222
|
-
// Reference lines/bands — neutral-40 stroke, 10% opacity fill.
|
|
223
|
-
referenceLineColor: "#94a3b8",
|
|
224
|
-
referenceBandFill: "#0000001a",
|
|
225
|
-
// rgba(0,0,0,0.10)
|
|
226
|
-
// Navigator chrome — series line/area, dim mask outside the selection window,
|
|
227
|
-
// and the selection border + interior. Hex-with-alpha keeps the parity-test regex
|
|
228
|
-
// happy: `#3b82f6b3` ≈ rgba(59,130,246,0.70), `#3b82f614` ≈ rgba(59,130,246,0.08),
|
|
229
|
-
// `#0000001f` ≈ rgba(0,0,0,0.12).
|
|
230
|
-
navigatorSeries: "#94a3b8",
|
|
231
|
-
navigatorMask: "#0000001f",
|
|
232
|
-
navigatorSelectionColor: "#3b82f6b3",
|
|
233
|
-
navigatorSelectionFill: "#3b82f614",
|
|
234
|
-
// Treemap defaults — mirror existing `--p-chart-treemap-*` vars.
|
|
235
|
-
treemapCell: "#3563e9",
|
|
236
|
-
treemapCellBorder: "#00000026",
|
|
237
|
-
// rgba(0,0,0,0.15)
|
|
238
|
-
treemapHeaderBg: "#ffffffe6",
|
|
239
|
-
// near-white header band in light mode
|
|
240
|
-
treemapHeaderText: "#1f2937",
|
|
241
|
-
// dark slate text on the light band
|
|
242
|
-
// Generic fallback border (final fallback in pie/bar canvas paths).
|
|
243
|
-
borderColor: "#000000",
|
|
244
|
-
// Crosshair line color — falls back to axes[0] by default.
|
|
245
|
-
crosshairColor: "#666666",
|
|
246
|
-
// Base typography — chart-level `fontFamily`/`fontSize` props still win.
|
|
247
|
-
fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
|
|
248
|
-
fontSize: 12
|
|
249
|
-
};
|
|
250
|
-
var defaultDarkTheme = {
|
|
251
|
-
series: ["#5790ff", "#ff8838", "#14e5a4", "#ff4d6d", "#8270ff", "#33cdff", "#ff4da0", "#b8e92f", "#c766ff", "#ffc633"],
|
|
252
|
-
axes: ["#a1a1aa", "#a1a1aa", "#a1a1aa", "#a1a1aa"],
|
|
253
|
-
grid: "#3f3f46",
|
|
254
|
-
gridMinor: "#52525b",
|
|
255
|
-
tickLabel: "#a1a1aa",
|
|
256
|
-
dataLabel: "#e4e4e7",
|
|
257
|
-
dataLabelBackground: "#00000000",
|
|
258
|
-
dataLabelBorder: "#00000000",
|
|
259
|
-
annotation: "#e4e4e7",
|
|
260
|
-
annotationBackground: "#00000000",
|
|
261
|
-
annotationBorder: "#00000000",
|
|
262
|
-
titleColor: "#fafafa",
|
|
263
|
-
captionColor: "#a1a1aa",
|
|
264
|
-
bandFill: "#27272a",
|
|
265
|
-
positive: "#22d96a",
|
|
266
|
-
negative: "#ff4d4d",
|
|
267
|
-
candleNeutral: "#a1a1a1",
|
|
268
|
-
hoverBrightness: 1.1,
|
|
269
|
-
dimOpacity: 0.6,
|
|
270
|
-
barStrokeWidth: 0,
|
|
271
|
-
// `#000000d9` = rgba(0,0,0,0.85) — dark halo for light text in dark mode.
|
|
272
|
-
tickHalo: "#000000d9",
|
|
273
|
-
heatColorMin: "#fde68a",
|
|
274
|
-
heatColorMax: "#ee1c1c",
|
|
275
|
-
heatEmpty: "#3f3f46",
|
|
276
|
-
heatNull: "#27272a",
|
|
277
|
-
// Tooltip — dark surface, subtle light border for separation against dark page bg.
|
|
278
|
-
tooltipBackground: "#0a0a0acc",
|
|
279
|
-
// near-black + 0.80 (frosted glass)
|
|
280
|
-
tooltipBorder: "#ffffff1a",
|
|
281
|
-
// 0.10 alpha
|
|
282
|
-
tooltipColor: "#e4e4e7",
|
|
283
|
-
tooltipRadius: "8px",
|
|
284
|
-
tooltipBlur: "12px",
|
|
285
|
-
tooltipShadow: "0 8px 24px #00000066",
|
|
286
|
-
tooltipPadding: "10px 14px",
|
|
287
|
-
legendColor: "#e4e4e7",
|
|
288
|
-
legendBackground: "#00000000",
|
|
289
|
-
legendBorder: "#00000000",
|
|
290
|
-
referenceLineColor: "#71717a",
|
|
291
|
-
referenceBandFill: "#ffffff14",
|
|
292
|
-
// rgba(255,255,255,0.08)
|
|
293
|
-
// Navigator chrome — Highcharts-style: light overlay dims dark bg so selection stands out;
|
|
294
|
-
// brighter blue (blue-400) for selection so it pops on dark surfaces.
|
|
295
|
-
// `#ffffff14` ≈ rgba(255,255,255,0.08), `#60a5fab3` ≈ rgba(96,165,250,0.70),
|
|
296
|
-
// `#60a5fa1f` ≈ rgba(96,165,250,0.12).
|
|
297
|
-
navigatorSeries: "#a1a1aa",
|
|
298
|
-
navigatorMask: "#ffffff14",
|
|
299
|
-
navigatorSelectionColor: "#60a5fab3",
|
|
300
|
-
navigatorSelectionFill: "#60a5fa1f",
|
|
301
|
-
// Treemap defaults — same Studio cobalt for cell, mirrored borders/headers.
|
|
302
|
-
treemapCell: "#5790ff",
|
|
303
|
-
// theme.series[0] dark
|
|
304
|
-
treemapCellBorder: "#ffffff26",
|
|
305
|
-
// rgba(255,255,255,0.15)
|
|
306
|
-
treemapHeaderBg: "#00000099",
|
|
307
|
-
// rgba(0,0,0,0.6) — dark header band in dark mode
|
|
308
|
-
treemapHeaderText: "#ffffff",
|
|
309
|
-
borderColor: "#ffffff",
|
|
310
|
-
crosshairColor: "#a1a1aa",
|
|
311
|
-
fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
|
|
312
|
-
fontSize: 12
|
|
313
|
-
};
|
|
314
|
-
|
|
315
341
|
// src/utils/accessor.utils.ts
|
|
316
342
|
function isAccessorFunction(accessor) {
|
|
317
343
|
return typeof accessor === "function";
|
|
@@ -493,7 +519,7 @@ function resolveSwatchColor(props, index, item, theme, extras) {
|
|
|
493
519
|
if (props.color != null) {
|
|
494
520
|
return getColor(props, index, item, theme, extras);
|
|
495
521
|
}
|
|
496
|
-
return `var(--p-chart-color-${index %
|
|
522
|
+
return `var(--p-chart-color-${index % 14}, ${getDefaultColor(index, theme)})`;
|
|
497
523
|
}
|
|
498
524
|
|
|
499
|
-
export { FIELD_DEFAULTS, asGradient, batchResolveAccessor, batchResolveRequired, createCanvasGradientFromColor, createSvgGradientFromColor, defaultDarkTheme, defaultLightTheme, getColor, getColorValue, getDefaultColor, getPrimaryColor, gradientToCssBackground, isAccessorArray, isAccessorFunction, isAccessorString, isGradientColor, isNestedPath, makeItemContext, normalizeGradient, remapStopsForDonut, resolveAccessor, resolveColor, resolveDash, resolveNestedPath, resolveRequired, resolveSwatchColor, resolveSwatchGradientStops, sampleGradientAt };
|
|
525
|
+
export { FIELD_DEFAULTS, asGradient, batchResolveAccessor, batchResolveRequired, buildColorIndexMap, createCanvasGradientFromColor, createSvgGradientFromColor, defaultDarkTheme, defaultLightTheme, getColor, getColorValue, getDefaultColor, getPrimaryColor, gradientToCssBackground, isAccessorArray, isAccessorFunction, isAccessorString, isGradientColor, isNestedPath, makeItemContext, normalizeGradient, remapStopsForDonut, resolveAccessor, resolveColor, resolveDash, resolveNestedPath, resolveRequired, resolveSwatchColor, resolveSwatchGradientStops, sampleGradientAt };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getCellLabelInfo, buildCellExtras } from './chunk-
|
|
2
|
-
import { createDrawImage } from './chunk-
|
|
3
|
-
import { resolveFontFamily, DEFAULT_TREEMAP_CELL_BORDER_COLOR, DEFAULT_TREEMAP_HEADER_TEXT_COLOR, DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_BRIGHTNESS } from './chunk-
|
|
4
|
-
import { getContrastColor } from './chunk-
|
|
5
|
-
import { resolveAccessor, makeItemContext, resolveDash } from './chunk-
|
|
6
|
-
import { withCanvasState, adjustBrightness } from './chunk-
|
|
1
|
+
import { getCellLabelInfo, buildCellExtras } from './chunk-KCSMOAZO.mjs';
|
|
2
|
+
import { createDrawImage } from './chunk-HXDLOOCS.mjs';
|
|
3
|
+
import { resolveFontFamily, DEFAULT_TREEMAP_CELL_BORDER_COLOR, DEFAULT_TREEMAP_HEADER_TEXT_COLOR, DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_BRIGHTNESS } from './chunk-6LUIVTNV.mjs';
|
|
4
|
+
import { getContrastColor } from './chunk-RI32WIDX.mjs';
|
|
5
|
+
import { resolveAccessor, makeItemContext, resolveDash } from './chunk-BDCNBS6W.mjs';
|
|
6
|
+
import { withCanvasState, adjustBrightness } from './chunk-BF7RP4A3.mjs';
|
|
7
7
|
|
|
8
8
|
// src/series/treemap/canvas/index.ts
|
|
9
9
|
function renderTreemapCanvas(props, layout, ctx, context) {
|