@chartts/core 0.1.4 → 0.1.5
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/area.cjs +10 -10
- package/dist/area.js +5 -5
- package/dist/bar.cjs +9 -9
- package/dist/bar.js +4 -4
- package/dist/baseline.cjs +9 -9
- package/dist/baseline.js +4 -4
- package/dist/boxplot.cjs +9 -9
- package/dist/boxplot.js +4 -4
- package/dist/bubble.cjs +9 -9
- package/dist/bubble.js +4 -4
- package/dist/bullet.cjs +10 -10
- package/dist/bullet.js +5 -5
- package/dist/calendar.cjs +10 -10
- package/dist/calendar.js +5 -5
- package/dist/candlestick.cjs +9 -9
- package/dist/candlestick.js +4 -4
- package/dist/chord.cjs +10 -10
- package/dist/chord.js +5 -5
- package/dist/chunk-2OWMJBRN.js +122 -0
- package/dist/chunk-2OWMJBRN.js.map +1 -0
- package/dist/{chunk-62DBXI4N.js → chunk-2VHG2N75.js} +4 -4
- package/dist/{chunk-62DBXI4N.js.map → chunk-2VHG2N75.js.map} +1 -1
- package/dist/{chunk-VJXUBN7J.js → chunk-2X7UIG3G.js} +3 -3
- package/dist/{chunk-VJXUBN7J.js.map → chunk-2X7UIG3G.js.map} +1 -1
- package/dist/{chunk-ESJMEDLY.cjs → chunk-35XUPEAD.cjs} +4 -4
- package/dist/{chunk-ESJMEDLY.cjs.map → chunk-35XUPEAD.cjs.map} +1 -1
- package/dist/{chunk-Y6CVUI6A.cjs → chunk-3HBRAGJA.cjs} +13 -13
- package/dist/{chunk-Y6CVUI6A.cjs.map → chunk-3HBRAGJA.cjs.map} +1 -1
- package/dist/{chunk-ZOEN3ARN.js → chunk-45Y77XDM.js} +3 -3
- package/dist/{chunk-ZOEN3ARN.js.map → chunk-45Y77XDM.js.map} +1 -1
- package/dist/{chunk-PCAYYCLY.cjs → chunk-47R2QUID.cjs} +10 -10
- package/dist/{chunk-PCAYYCLY.cjs.map → chunk-47R2QUID.cjs.map} +1 -1
- package/dist/{chunk-IF6RQ53Q.cjs → chunk-4C5IV57Z.cjs} +9 -9
- package/dist/{chunk-IF6RQ53Q.cjs.map → chunk-4C5IV57Z.cjs.map} +1 -1
- package/dist/{chunk-2BUIZDOB.js → chunk-4EV5UN6V.js} +3 -3
- package/dist/{chunk-2BUIZDOB.js.map → chunk-4EV5UN6V.js.map} +1 -1
- package/dist/{chunk-THHZMRFU.js → chunk-5JDHVXPE.js} +3 -3
- package/dist/{chunk-THHZMRFU.js.map → chunk-5JDHVXPE.js.map} +1 -1
- package/dist/{chunk-PKXW45G4.js → chunk-5VI5F5XA.js} +3 -3
- package/dist/{chunk-PKXW45G4.js.map → chunk-5VI5F5XA.js.map} +1 -1
- package/dist/{chunk-TEZNWW3R.cjs → chunk-64B7FGFP.cjs} +8 -8
- package/dist/{chunk-TEZNWW3R.cjs.map → chunk-64B7FGFP.cjs.map} +1 -1
- package/dist/{chunk-5HZEDCJG.js → chunk-66GE7TI3.js} +3 -3
- package/dist/{chunk-5HZEDCJG.js.map → chunk-66GE7TI3.js.map} +1 -1
- package/dist/{chunk-CWZADOJ6.js → chunk-6H34P4AG.js} +3 -3
- package/dist/{chunk-CWZADOJ6.js.map → chunk-6H34P4AG.js.map} +1 -1
- package/dist/{chunk-BGGESAAG.cjs → chunk-6KNS32OH.cjs} +7 -7
- package/dist/{chunk-BGGESAAG.cjs.map → chunk-6KNS32OH.cjs.map} +1 -1
- package/dist/{chunk-GBL4R3GH.cjs → chunk-6S2NCXNP.cjs} +6 -6
- package/dist/{chunk-GBL4R3GH.cjs.map → chunk-6S2NCXNP.cjs.map} +1 -1
- package/dist/{chunk-FVLVTY5D.cjs → chunk-6XD3VSAM.cjs} +6 -6
- package/dist/{chunk-FVLVTY5D.cjs.map → chunk-6XD3VSAM.cjs.map} +1 -1
- package/dist/{chunk-KWSVJRXX.cjs → chunk-6XWZSV6M.cjs} +4 -4
- package/dist/{chunk-KWSVJRXX.cjs.map → chunk-6XWZSV6M.cjs.map} +1 -1
- package/dist/{chunk-N35UAFEU.js → chunk-7FUQMZGT.js} +4 -4
- package/dist/{chunk-N35UAFEU.js.map → chunk-7FUQMZGT.js.map} +1 -1
- package/dist/chunk-7LZVSOZR.cjs +172 -0
- package/dist/chunk-7LZVSOZR.cjs.map +1 -0
- package/dist/{chunk-A5G32G2R.cjs → chunk-7XOK2HLV.cjs} +9 -9
- package/dist/{chunk-A5G32G2R.cjs.map → chunk-7XOK2HLV.cjs.map} +1 -1
- package/dist/{chunk-SGZUUUXU.js → chunk-ACN4JCSF.js} +4 -4
- package/dist/{chunk-SGZUUUXU.js.map → chunk-ACN4JCSF.js.map} +1 -1
- package/dist/{chunk-3NHH6C4K.cjs → chunk-AOZ47DTE.cjs} +13 -13
- package/dist/{chunk-3NHH6C4K.cjs.map → chunk-AOZ47DTE.cjs.map} +1 -1
- package/dist/{chunk-WZCES5M6.js → chunk-AYEXPYFE.js} +4 -4
- package/dist/{chunk-WZCES5M6.js.map → chunk-AYEXPYFE.js.map} +1 -1
- package/dist/{chunk-D5QUAWF3.cjs → chunk-BPXEQPZU.cjs} +10 -10
- package/dist/{chunk-D5QUAWF3.cjs.map → chunk-BPXEQPZU.cjs.map} +1 -1
- package/dist/{chunk-YZXRD6K6.cjs → chunk-BQUMYOBP.cjs} +7 -7
- package/dist/{chunk-YZXRD6K6.cjs.map → chunk-BQUMYOBP.cjs.map} +1 -1
- package/dist/{chunk-FGHSUT6X.cjs → chunk-CG4KMZRU.cjs} +6 -6
- package/dist/{chunk-FGHSUT6X.cjs.map → chunk-CG4KMZRU.cjs.map} +1 -1
- package/dist/{chunk-BFBVJ6MU.js → chunk-CLBVCWJG.js} +3 -3
- package/dist/{chunk-BFBVJ6MU.js.map → chunk-CLBVCWJG.js.map} +1 -1
- package/dist/{chunk-754Z4OR6.cjs → chunk-CVKWXLXW.cjs} +10 -10
- package/dist/{chunk-754Z4OR6.cjs.map → chunk-CVKWXLXW.cjs.map} +1 -1
- package/dist/{chunk-5E7FXDBM.js → chunk-D4RP2H6A.js} +4 -4
- package/dist/{chunk-5E7FXDBM.js.map → chunk-D4RP2H6A.js.map} +1 -1
- package/dist/{chunk-HCIBBUV5.js → chunk-DMBUUJGU.js} +3 -3
- package/dist/{chunk-HCIBBUV5.js.map → chunk-DMBUUJGU.js.map} +1 -1
- package/dist/{chunk-EWVXMQRW.js → chunk-DQAFYVCX.js} +5 -5
- package/dist/{chunk-EWVXMQRW.js.map → chunk-DQAFYVCX.js.map} +1 -1
- package/dist/{chunk-ATMSGQCW.cjs → chunk-EXA5HCX7.cjs} +9 -9
- package/dist/{chunk-ATMSGQCW.cjs.map → chunk-EXA5HCX7.cjs.map} +1 -1
- package/dist/{chunk-TLHQ6JCK.cjs → chunk-F3TVVAYG.cjs} +11 -11
- package/dist/{chunk-TLHQ6JCK.cjs.map → chunk-F3TVVAYG.cjs.map} +1 -1
- package/dist/{chunk-HCK2VUWD.cjs → chunk-FCDKWHIV.cjs} +8 -8
- package/dist/{chunk-HCK2VUWD.cjs.map → chunk-FCDKWHIV.cjs.map} +1 -1
- package/dist/{chunk-IDZTDJLH.js → chunk-FWKYNE3A.js} +3 -3
- package/dist/{chunk-IDZTDJLH.js.map → chunk-FWKYNE3A.js.map} +1 -1
- package/dist/{chunk-6QMV75NT.js → chunk-GAXX6YK5.js} +4 -4
- package/dist/{chunk-6QMV75NT.js.map → chunk-GAXX6YK5.js.map} +1 -1
- package/dist/{chunk-OMAW52LY.cjs → chunk-H2DHSBPO.cjs} +6 -6
- package/dist/{chunk-OMAW52LY.cjs.map → chunk-H2DHSBPO.cjs.map} +1 -1
- package/dist/{chunk-DX77WSIB.js → chunk-I7HB3FBC.js} +5 -5
- package/dist/{chunk-DX77WSIB.js.map → chunk-I7HB3FBC.js.map} +1 -1
- package/dist/{chunk-MJY25P44.js → chunk-IGIAGPC5.js} +3 -3
- package/dist/{chunk-MJY25P44.js.map → chunk-IGIAGPC5.js.map} +1 -1
- package/dist/{chunk-4QRND2V5.js → chunk-ILD5ZZHH.js} +3 -3
- package/dist/{chunk-4QRND2V5.js.map → chunk-ILD5ZZHH.js.map} +1 -1
- package/dist/{chunk-CU5ZXVZQ.js → chunk-IN7SCXMD.js} +4 -4
- package/dist/{chunk-CU5ZXVZQ.js.map → chunk-IN7SCXMD.js.map} +1 -1
- package/dist/chunk-IRBGJP2E.js +170 -0
- package/dist/chunk-IRBGJP2E.js.map +1 -0
- package/dist/{chunk-7GLCJPV5.js → chunk-J6A72I5K.js} +4 -4
- package/dist/{chunk-7GLCJPV5.js.map → chunk-J6A72I5K.js.map} +1 -1
- package/dist/chunk-JRTD6Y34.cjs +148 -0
- package/dist/chunk-JRTD6Y34.cjs.map +1 -0
- package/dist/{chunk-KNMEXOKJ.js → chunk-K7NVM76W.js} +4 -4
- package/dist/{chunk-KNMEXOKJ.js.map → chunk-K7NVM76W.js.map} +1 -1
- package/dist/chunk-KNUMF6K2.cjs +156 -0
- package/dist/chunk-KNUMF6K2.cjs.map +1 -0
- package/dist/chunk-KQJZJADP.js +146 -0
- package/dist/chunk-KQJZJADP.js.map +1 -0
- package/dist/{chunk-OMSHGBV3.js → chunk-KRLKDJPM.js} +4 -4
- package/dist/{chunk-OMSHGBV3.js.map → chunk-KRLKDJPM.js.map} +1 -1
- package/dist/{chunk-ZNKVOTPB.cjs → chunk-KSCMLSUI.cjs} +15 -15
- package/dist/{chunk-ZNKVOTPB.cjs.map → chunk-KSCMLSUI.cjs.map} +1 -1
- package/dist/{chunk-OTXHJHXU.cjs → chunk-KT4LY42Y.cjs} +11 -11
- package/dist/{chunk-OTXHJHXU.cjs.map → chunk-KT4LY42Y.cjs.map} +1 -1
- package/dist/chunk-KX4ZBUHB.cjs +211 -0
- package/dist/chunk-KX4ZBUHB.cjs.map +1 -0
- package/dist/{chunk-56BN43J4.js → chunk-KXJOIVL5.js} +5 -5
- package/dist/{chunk-56BN43J4.js.map → chunk-KXJOIVL5.js.map} +1 -1
- package/dist/{chunk-EPUWA3ZW.js → chunk-LFV46XLH.js} +4 -4
- package/dist/{chunk-EPUWA3ZW.js.map → chunk-LFV46XLH.js.map} +1 -1
- package/dist/{chunk-T7SCCACB.js → chunk-LKSKGQX7.js} +3 -3
- package/dist/{chunk-T7SCCACB.js.map → chunk-LKSKGQX7.js.map} +1 -1
- package/dist/{chunk-LARNENXE.cjs → chunk-LQ26WSLH.cjs} +10 -10
- package/dist/{chunk-LARNENXE.cjs.map → chunk-LQ26WSLH.cjs.map} +1 -1
- package/dist/{chunk-NRULNA5F.js → chunk-LROB73B4.js} +4 -4
- package/dist/{chunk-NRULNA5F.js.map → chunk-LROB73B4.js.map} +1 -1
- package/dist/{chunk-34DQGCPP.js → chunk-LXBBM6IF.js} +4 -4
- package/dist/{chunk-34DQGCPP.js.map → chunk-LXBBM6IF.js.map} +1 -1
- package/dist/{chunk-QPHWRD25.js → chunk-MCORUYWB.js} +3 -3
- package/dist/{chunk-QPHWRD25.js.map → chunk-MCORUYWB.js.map} +1 -1
- package/dist/{chunk-2JYK52HV.js → chunk-MJFCMUIY.js} +4 -4
- package/dist/{chunk-2JYK52HV.js.map → chunk-MJFCMUIY.js.map} +1 -1
- package/dist/{chunk-7PHOSSLJ.cjs → chunk-NHSPO4BN.cjs} +9 -9
- package/dist/{chunk-7PHOSSLJ.cjs.map → chunk-NHSPO4BN.cjs.map} +1 -1
- package/dist/{chunk-5QT67VYJ.cjs → chunk-NR5NQ6TV.cjs} +10 -10
- package/dist/{chunk-5QT67VYJ.cjs.map → chunk-NR5NQ6TV.cjs.map} +1 -1
- package/dist/{chunk-DT4GG5BF.cjs → chunk-NRMQMPUE.cjs} +7 -7
- package/dist/{chunk-DT4GG5BF.cjs.map → chunk-NRMQMPUE.cjs.map} +1 -1
- package/dist/{chunk-FGBIJ6PL.js → chunk-NW4JBVY2.js} +4 -4
- package/dist/{chunk-FGBIJ6PL.js.map → chunk-NW4JBVY2.js.map} +1 -1
- package/dist/{chunk-2QRCHYTZ.cjs → chunk-OLY33H6E.cjs} +7 -7
- package/dist/{chunk-2QRCHYTZ.cjs.map → chunk-OLY33H6E.cjs.map} +1 -1
- package/dist/{chunk-2IWLOBSF.cjs → chunk-OUQ63IJQ.cjs} +6 -6
- package/dist/{chunk-2IWLOBSF.cjs.map → chunk-OUQ63IJQ.cjs.map} +1 -1
- package/dist/{chunk-VUHNBLFA.js → chunk-PHFBF5ON.js} +3 -3
- package/dist/{chunk-VUHNBLFA.js.map → chunk-PHFBF5ON.js.map} +1 -1
- package/dist/{chunk-4MNVJVK3.cjs → chunk-PL3M46GS.cjs} +6 -6
- package/dist/{chunk-4MNVJVK3.cjs.map → chunk-PL3M46GS.cjs.map} +1 -1
- package/dist/{chunk-JYVRX3BX.cjs → chunk-PNHDHEBQ.cjs} +8 -8
- package/dist/{chunk-JYVRX3BX.cjs.map → chunk-PNHDHEBQ.cjs.map} +1 -1
- package/dist/{chunk-QYI7ZV3B.cjs → chunk-PX7MLSIH.cjs} +369 -124
- package/dist/chunk-PX7MLSIH.cjs.map +1 -0
- package/dist/{chunk-YCL43UQM.cjs → chunk-QCEC2KBW.cjs} +12 -12
- package/dist/{chunk-YCL43UQM.cjs.map → chunk-QCEC2KBW.cjs.map} +1 -1
- package/dist/{chunk-ZFGLBJYC.js → chunk-QRVTY6UU.js} +3 -3
- package/dist/{chunk-ZFGLBJYC.js.map → chunk-QRVTY6UU.js.map} +1 -1
- package/dist/chunk-QS6GR2CQ.js +154 -0
- package/dist/chunk-QS6GR2CQ.js.map +1 -0
- package/dist/{chunk-QPHUAF3R.cjs → chunk-QVQKYVD2.cjs} +8 -8
- package/dist/{chunk-QPHUAF3R.cjs.map → chunk-QVQKYVD2.cjs.map} +1 -1
- package/dist/{chunk-CUIPBYMG.cjs → chunk-RIJPMRKC.cjs} +8 -8
- package/dist/{chunk-CUIPBYMG.cjs.map → chunk-RIJPMRKC.cjs.map} +1 -1
- package/dist/{chunk-5QVUBGM7.js → chunk-RKX7GKOU.js} +4 -4
- package/dist/{chunk-5QVUBGM7.js.map → chunk-RKX7GKOU.js.map} +1 -1
- package/dist/{chunk-3SVNEKXE.cjs → chunk-ROUFAI5M.cjs} +11 -11
- package/dist/{chunk-3SVNEKXE.cjs.map → chunk-ROUFAI5M.cjs.map} +1 -1
- package/dist/{chunk-55ZTXQQQ.cjs → chunk-S52RCLDQ.cjs} +12 -12
- package/dist/{chunk-55ZTXQQQ.cjs.map → chunk-S52RCLDQ.cjs.map} +1 -1
- package/dist/{chunk-GRXHW5S3.cjs → chunk-SEOHPUXV.cjs} +12 -12
- package/dist/{chunk-GRXHW5S3.cjs.map → chunk-SEOHPUXV.cjs.map} +1 -1
- package/dist/{chunk-KHG3G2ZX.js → chunk-SI4VJK4A.js} +3 -3
- package/dist/{chunk-KHG3G2ZX.js.map → chunk-SI4VJK4A.js.map} +1 -1
- package/dist/{chunk-VGJD4F4H.js → chunk-SUB5WML4.js} +3 -3
- package/dist/{chunk-VGJD4F4H.js.map → chunk-SUB5WML4.js.map} +1 -1
- package/dist/{chunk-CA42BCSM.cjs → chunk-T5NDUMLD.cjs} +8 -8
- package/dist/{chunk-CA42BCSM.cjs.map → chunk-T5NDUMLD.cjs.map} +1 -1
- package/dist/{chunk-QEPMEEZC.cjs → chunk-TKHYY3B5.cjs} +6 -6
- package/dist/{chunk-QEPMEEZC.cjs.map → chunk-TKHYY3B5.cjs.map} +1 -1
- package/dist/{chunk-LXYNL7BI.cjs → chunk-TMQ2V5B2.cjs} +10 -10
- package/dist/{chunk-LXYNL7BI.cjs.map → chunk-TMQ2V5B2.cjs.map} +1 -1
- package/dist/{chunk-R2W3RJFW.cjs → chunk-TNIMRV3N.cjs} +13 -13
- package/dist/{chunk-R2W3RJFW.cjs.map → chunk-TNIMRV3N.cjs.map} +1 -1
- package/dist/{chunk-NQ7Y6ZKH.js → chunk-TUPPYHUR.js} +3 -3
- package/dist/{chunk-NQ7Y6ZKH.js.map → chunk-TUPPYHUR.js.map} +1 -1
- package/dist/{chunk-MSCRIA2U.cjs → chunk-U456ET3M.cjs} +12 -12
- package/dist/{chunk-MSCRIA2U.cjs.map → chunk-U456ET3M.cjs.map} +1 -1
- package/dist/{chunk-NE2W2MF3.cjs → chunk-UMS2MPYC.cjs} +10 -10
- package/dist/{chunk-NE2W2MF3.cjs.map → chunk-UMS2MPYC.cjs.map} +1 -1
- package/dist/{chunk-DAAU5H24.js → chunk-UNQBXGX5.js} +3 -3
- package/dist/{chunk-DAAU5H24.js.map → chunk-UNQBXGX5.js.map} +1 -1
- package/dist/{chunk-VBMLJUBE.js → chunk-V3AENTZB.js} +4 -4
- package/dist/{chunk-VBMLJUBE.js.map → chunk-V3AENTZB.js.map} +1 -1
- package/dist/{chunk-3JB4JBBK.js → chunk-V5LLTYOY.js} +4 -4
- package/dist/{chunk-3JB4JBBK.js.map → chunk-V5LLTYOY.js.map} +1 -1
- package/dist/chunk-VALFF4NG.cjs +124 -0
- package/dist/chunk-VALFF4NG.cjs.map +1 -0
- package/dist/{chunk-MEERXUZS.js → chunk-VJT5UA7J.js} +4 -4
- package/dist/{chunk-MEERXUZS.js.map → chunk-VJT5UA7J.js.map} +1 -1
- package/dist/{chunk-JVVGQLJQ.cjs → chunk-W626EAS5.cjs} +100 -6
- package/dist/chunk-W626EAS5.cjs.map +1 -0
- package/dist/{chunk-IOV77VHP.js → chunk-WHGNA44O.js} +4 -4
- package/dist/{chunk-IOV77VHP.js.map → chunk-WHGNA44O.js.map} +1 -1
- package/dist/{chunk-ZYXRRVR6.js → chunk-WIA4MDRX.js} +3 -3
- package/dist/{chunk-ZYXRRVR6.js.map → chunk-WIA4MDRX.js.map} +1 -1
- package/dist/{chunk-OEGSDOJ2.cjs → chunk-WOYVHVXC.cjs} +7 -7
- package/dist/{chunk-OEGSDOJ2.cjs.map → chunk-WOYVHVXC.cjs.map} +1 -1
- package/dist/{chunk-V5Q6UNUK.cjs → chunk-X5SG6MFS.cjs} +4 -4
- package/dist/{chunk-V5Q6UNUK.cjs.map → chunk-X5SG6MFS.cjs.map} +1 -1
- package/dist/{chunk-LRHMLNPW.js → chunk-XB5K7OYD.js} +353 -108
- package/dist/chunk-XB5K7OYD.js.map +1 -0
- package/dist/{chunk-AEQXFDL7.js → chunk-XIVC32HU.js} +100 -6
- package/dist/chunk-XIVC32HU.js.map +1 -0
- package/dist/{chunk-TC3H6ZED.js → chunk-XQ7BTVV3.js} +4 -4
- package/dist/{chunk-TC3H6ZED.js.map → chunk-XQ7BTVV3.js.map} +1 -1
- package/dist/{chunk-4D6PVH2C.cjs → chunk-YMOQGTGJ.cjs} +9 -9
- package/dist/{chunk-4D6PVH2C.cjs.map → chunk-YMOQGTGJ.cjs.map} +1 -1
- package/dist/{chunk-2IMUTDTD.cjs → chunk-YOK3JGW5.cjs} +10 -10
- package/dist/{chunk-2IMUTDTD.cjs.map → chunk-YOK3JGW5.cjs.map} +1 -1
- package/dist/{chunk-24557PYN.js → chunk-YUIHMAHA.js} +3 -3
- package/dist/{chunk-24557PYN.js.map → chunk-YUIHMAHA.js.map} +1 -1
- package/dist/chunk-ZBWBLCY2.js +209 -0
- package/dist/chunk-ZBWBLCY2.js.map +1 -0
- package/dist/{chunk-W476ER4X.cjs → chunk-ZCLW4B5S.cjs} +17 -17
- package/dist/{chunk-W476ER4X.cjs.map → chunk-ZCLW4B5S.cjs.map} +1 -1
- package/dist/combo.cjs +9 -9
- package/dist/combo.js +4 -4
- package/dist/custom.cjs +10 -10
- package/dist/custom.js +5 -5
- package/dist/donut.cjs +11 -11
- package/dist/donut.js +6 -6
- package/dist/dumbbell.cjs +10 -10
- package/dist/dumbbell.js +5 -5
- package/dist/funnel.cjs +10 -10
- package/dist/funnel.js +5 -5
- package/dist/gauge.cjs +10 -10
- package/dist/gauge.js +5 -5
- package/dist/geo.cjs +12 -12
- package/dist/geo.js +5 -5
- package/dist/graph-type-Cyb5U1y2.d.ts +5 -0
- package/dist/graph-type-DRbMI2E9.d.cts +5 -0
- package/dist/graph.cjs +10 -10
- package/dist/graph.d.cts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/graph.js +5 -5
- package/dist/heatmap.cjs +10 -10
- package/dist/heatmap.js +5 -5
- package/dist/histogram.cjs +9 -9
- package/dist/histogram.js +4 -4
- package/dist/horizontal-bar.cjs +9 -9
- package/dist/horizontal-bar.js +4 -4
- package/dist/index.cjs +242 -192
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -2
- package/dist/index.d.ts +12 -2
- package/dist/index.js +123 -93
- package/dist/index.js.map +1 -1
- package/dist/kagi.cjs +10 -10
- package/dist/kagi.js +5 -5
- package/dist/line.cjs +9 -9
- package/dist/line.js +4 -4
- package/dist/lines.cjs +10 -10
- package/dist/lines.js +5 -5
- package/dist/lollipop.cjs +9 -9
- package/dist/lollipop.js +4 -4
- package/dist/matrix.cjs +10 -10
- package/dist/matrix.js +5 -5
- package/dist/ohlc.cjs +9 -9
- package/dist/ohlc.js +4 -4
- package/dist/pack-type-CdtdkPBR.d.cts +10 -0
- package/dist/pack-type-Dm27RLC-.d.ts +10 -0
- package/dist/pack.cjs +33 -0
- package/dist/pack.cjs.map +1 -0
- package/dist/pack.d.cts +8 -0
- package/dist/pack.d.ts +8 -0
- package/dist/pack.js +12 -0
- package/dist/pack.js.map +1 -0
- package/dist/parallel.cjs +10 -10
- package/dist/parallel.js +5 -5
- package/dist/pictorialbar.cjs +10 -10
- package/dist/pictorialbar.js +5 -5
- package/dist/pie.cjs +11 -11
- package/dist/pie.js +6 -6
- package/dist/pillar-type-CIcSuZdu.d.cts +11 -0
- package/dist/pillar-type-DNpR_98h.d.ts +11 -0
- package/dist/pillar.cjs +33 -0
- package/dist/pillar.cjs.map +1 -0
- package/dist/pillar.d.cts +8 -0
- package/dist/pillar.d.ts +8 -0
- package/dist/pillar.js +12 -0
- package/dist/pillar.js.map +1 -0
- package/dist/polar.cjs +11 -11
- package/dist/polar.js +6 -6
- package/dist/radar.cjs +10 -10
- package/dist/radar.js +5 -5
- package/dist/radialbar.cjs +10 -10
- package/dist/radialbar.js +5 -5
- package/dist/range.cjs +9 -9
- package/dist/range.js +4 -4
- package/dist/renko.cjs +10 -10
- package/dist/renko.js +5 -5
- package/dist/sankey.cjs +10 -10
- package/dist/sankey.js +5 -5
- package/dist/scatter.cjs +9 -9
- package/dist/scatter.js +4 -4
- package/dist/sparkline.cjs +9 -9
- package/dist/sparkline.js +4 -4
- package/dist/stacked-bar.cjs +9 -9
- package/dist/stacked-bar.js +4 -4
- package/dist/step.cjs +10 -10
- package/dist/step.js +5 -5
- package/dist/sunburst.cjs +11 -11
- package/dist/sunburst.js +6 -6
- package/dist/themeriver.cjs +10 -10
- package/dist/themeriver.js +5 -5
- package/dist/tree.cjs +10 -10
- package/dist/tree.js +5 -5
- package/dist/treemap.cjs +10 -10
- package/dist/treemap.js +5 -5
- package/dist/violin-type-6KmTiJNp.d.cts +5 -0
- package/dist/violin-type-BOmiulQc.d.ts +5 -0
- package/dist/violin.cjs +33 -0
- package/dist/violin.cjs.map +1 -0
- package/dist/violin.d.cts +8 -0
- package/dist/violin.d.ts +8 -0
- package/dist/violin.js +12 -0
- package/dist/violin.js.map +1 -0
- package/dist/volume.cjs +9 -9
- package/dist/volume.js +4 -4
- package/dist/voronoi-type-BU5WnrcT.d.cts +12 -0
- package/dist/voronoi-type-D7n4mFNp.d.ts +12 -0
- package/dist/voronoi.cjs +33 -0
- package/dist/voronoi.cjs.map +1 -0
- package/dist/voronoi.d.cts +8 -0
- package/dist/voronoi.d.ts +8 -0
- package/dist/voronoi.js +12 -0
- package/dist/voronoi.js.map +1 -0
- package/dist/waterfall.cjs +9 -9
- package/dist/waterfall.js +4 -4
- package/dist/wordcloud-type-C6X9ORRR.d.ts +11 -0
- package/dist/wordcloud-type-CCm8rWK7.d.cts +11 -0
- package/dist/wordcloud.cjs +33 -0
- package/dist/wordcloud.cjs.map +1 -0
- package/dist/wordcloud.d.cts +8 -0
- package/dist/wordcloud.d.ts +8 -0
- package/dist/wordcloud.js +12 -0
- package/dist/wordcloud.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-AEQXFDL7.js.map +0 -1
- package/dist/chunk-JVVGQLJQ.cjs.map +0 -1
- package/dist/chunk-LRHMLNPW.js.map +0 -1
- package/dist/chunk-QYI7ZV3B.cjs.map +0 -1
- package/dist/graph-type-Bg04GFeS.d.ts +0 -15
- package/dist/graph-type-DF-vww8T.d.cts +0 -15
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { prepareNoAxes } from './chunk-LKSKGQX7.js';
|
|
2
|
+
import { path, text, group } from './chunk-XIVC32HU.js';
|
|
3
|
+
|
|
4
|
+
// src/charts/voronoi/voronoi-type.ts
|
|
5
|
+
var voronoiChartType = {
|
|
6
|
+
type: "voronoi",
|
|
7
|
+
getScaleTypes() {
|
|
8
|
+
return { x: "categorical", y: "linear" };
|
|
9
|
+
},
|
|
10
|
+
prepareData(data, options) {
|
|
11
|
+
return prepareNoAxes(data, options);
|
|
12
|
+
},
|
|
13
|
+
render(ctx) {
|
|
14
|
+
const { data, area, theme, options } = ctx;
|
|
15
|
+
const nodes = [];
|
|
16
|
+
const series = data.series[0];
|
|
17
|
+
if (!series || series.values.length === 0) return nodes;
|
|
18
|
+
const n = series.values.length;
|
|
19
|
+
const values = series.values;
|
|
20
|
+
const minVal = Math.min(...values);
|
|
21
|
+
const maxVal = Math.max(...values);
|
|
22
|
+
const range = maxVal - minVal || 1;
|
|
23
|
+
const weights = values.map((v) => (v - minVal) / range);
|
|
24
|
+
const seeds = fibonacciSeeds(n, area);
|
|
25
|
+
const cells = computeWeightedVoronoi(seeds, weights, area);
|
|
26
|
+
const padding = 3;
|
|
27
|
+
for (let i = 0; i < n; i++) {
|
|
28
|
+
const cell = cells[i];
|
|
29
|
+
if (!cell || cell.length < 3) continue;
|
|
30
|
+
const t = weights[i];
|
|
31
|
+
const label = String(data.labels[i] ?? `${i}`);
|
|
32
|
+
const color = options.colors[i % options.colors.length] ?? "#3b82f6";
|
|
33
|
+
const opacity = 0.25 + t * 0.65;
|
|
34
|
+
const centroid = cell.reduce(
|
|
35
|
+
(acc, p) => ({ x: acc.x + p.x / cell.length, y: acc.y + p.y / cell.length }),
|
|
36
|
+
{ x: 0, y: 0 }
|
|
37
|
+
);
|
|
38
|
+
const paddedCell = cell.map((p) => {
|
|
39
|
+
const dx = p.x - centroid.x;
|
|
40
|
+
const dy = p.y - centroid.y;
|
|
41
|
+
const dist = Math.sqrt(dx * dx + dy * dy) || 1;
|
|
42
|
+
const shrink = Math.min(padding / dist, 0.3);
|
|
43
|
+
return { x: p.x - dx * shrink, y: p.y - dy * shrink };
|
|
44
|
+
});
|
|
45
|
+
const d = paddedCell.map((p, j) => `${j === 0 ? "M" : "L"} ${p.x} ${p.y}`).join(" ") + " Z";
|
|
46
|
+
const cellNodes = [];
|
|
47
|
+
cellNodes.push(path(d, {
|
|
48
|
+
class: "chartts-voronoi-cell",
|
|
49
|
+
fill: color,
|
|
50
|
+
fillOpacity: opacity,
|
|
51
|
+
stroke: theme.background,
|
|
52
|
+
strokeWidth: 2,
|
|
53
|
+
style: `--chartts-i:${i}`,
|
|
54
|
+
"data-series": 0,
|
|
55
|
+
"data-index": i,
|
|
56
|
+
tabindex: 0,
|
|
57
|
+
role: "img",
|
|
58
|
+
ariaLabel: `${label}: ${values[i]}`
|
|
59
|
+
}));
|
|
60
|
+
if (n <= 20) {
|
|
61
|
+
const cellArea = polygonArea(paddedCell);
|
|
62
|
+
const minCellDim = Math.sqrt(cellArea);
|
|
63
|
+
const fontSize = Math.max(8, Math.min(theme.fontSize, minCellDim * 0.2));
|
|
64
|
+
cellNodes.push(text(centroid.x, centroid.y - fontSize * 0.4, label, {
|
|
65
|
+
class: "chartts-voronoi-label",
|
|
66
|
+
fill: theme.textColor,
|
|
67
|
+
textAnchor: "middle",
|
|
68
|
+
dominantBaseline: "auto",
|
|
69
|
+
fontSize,
|
|
70
|
+
fontFamily: theme.fontFamily,
|
|
71
|
+
fontWeight: 600,
|
|
72
|
+
pointerEvents: "none"
|
|
73
|
+
}));
|
|
74
|
+
if (minCellDim > 40) {
|
|
75
|
+
cellNodes.push(text(centroid.x, centroid.y + fontSize * 0.7, String(values[i]), {
|
|
76
|
+
class: "chartts-voronoi-value",
|
|
77
|
+
fill: theme.textMuted,
|
|
78
|
+
textAnchor: "middle",
|
|
79
|
+
dominantBaseline: "auto",
|
|
80
|
+
fontSize: fontSize * 0.8,
|
|
81
|
+
fontFamily: theme.fontFamily,
|
|
82
|
+
pointerEvents: "none"
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
nodes.push(group(cellNodes, {
|
|
87
|
+
class: `chartts-series chartts-series-${i}`,
|
|
88
|
+
"data-series-name": label
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
return nodes;
|
|
92
|
+
},
|
|
93
|
+
hitTest(ctx, mx, my) {
|
|
94
|
+
const { data, area } = ctx;
|
|
95
|
+
const series = data.series[0];
|
|
96
|
+
if (!series || series.values.length === 0) return null;
|
|
97
|
+
const values = series.values;
|
|
98
|
+
const minVal = Math.min(...values);
|
|
99
|
+
const maxVal = Math.max(...values);
|
|
100
|
+
const range = maxVal - minVal || 1;
|
|
101
|
+
const weights = values.map((v) => (v - minVal) / range);
|
|
102
|
+
const seeds = fibonacciSeeds(values.length, area);
|
|
103
|
+
const cells = computeWeightedVoronoi(seeds, weights, area);
|
|
104
|
+
for (let i = 0; i < cells.length; i++) {
|
|
105
|
+
const cell = cells[i];
|
|
106
|
+
if (!cell || cell.length < 3) continue;
|
|
107
|
+
if (pointInPolygon(mx, my, cell)) {
|
|
108
|
+
const centroid = cell.reduce(
|
|
109
|
+
(acc, p) => ({ x: acc.x + p.x / cell.length, y: acc.y + p.y / cell.length }),
|
|
110
|
+
{ x: 0, y: 0 }
|
|
111
|
+
);
|
|
112
|
+
return { seriesIndex: 0, pointIndex: i, distance: 0, x: centroid.x, y: centroid.y };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
function pointInPolygon(px, py, poly) {
|
|
119
|
+
let inside = false;
|
|
120
|
+
for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) {
|
|
121
|
+
const a = poly[i], b = poly[j];
|
|
122
|
+
if (a.y > py !== b.y > py && px < (b.x - a.x) * (py - a.y) / (b.y - a.y) + a.x) {
|
|
123
|
+
inside = !inside;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return inside;
|
|
127
|
+
}
|
|
128
|
+
function weightScale(area) {
|
|
129
|
+
return area.width * area.height * 0.15;
|
|
130
|
+
}
|
|
131
|
+
function fibonacciSeeds(n, area) {
|
|
132
|
+
const cx = area.x + area.width / 2;
|
|
133
|
+
const cy = area.y + area.height / 2;
|
|
134
|
+
const maxR = Math.min(area.width, area.height) * 0.45;
|
|
135
|
+
const golden = (1 + Math.sqrt(5)) / 2;
|
|
136
|
+
const pts = [];
|
|
137
|
+
for (let i = 0; i < n; i++) {
|
|
138
|
+
const r = maxR * Math.sqrt((i + 0.5) / n);
|
|
139
|
+
const theta = 2 * Math.PI * i / (golden * golden);
|
|
140
|
+
pts.push({
|
|
141
|
+
x: cx + r * Math.cos(theta) * (area.width / Math.min(area.width, area.height)),
|
|
142
|
+
y: cy + r * Math.sin(theta) * (area.height / Math.min(area.width, area.height))
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return pts;
|
|
146
|
+
}
|
|
147
|
+
function computeWeightedVoronoi(seeds, weights, area) {
|
|
148
|
+
const cells = [];
|
|
149
|
+
const { x: ax, y: ay, width: aw, height: ah } = area;
|
|
150
|
+
const wScale = weightScale(area);
|
|
151
|
+
for (let i = 0; i < seeds.length; i++) {
|
|
152
|
+
let polygon = [
|
|
153
|
+
{ x: ax, y: ay },
|
|
154
|
+
{ x: ax + aw, y: ay },
|
|
155
|
+
{ x: ax + aw, y: ay + ah },
|
|
156
|
+
{ x: ax, y: ay + ah }
|
|
157
|
+
];
|
|
158
|
+
const si = seeds[i];
|
|
159
|
+
const wi = weights[i];
|
|
160
|
+
for (let j = 0; j < seeds.length; j++) {
|
|
161
|
+
if (i === j) continue;
|
|
162
|
+
const sj = seeds[j];
|
|
163
|
+
const wj = weights[j];
|
|
164
|
+
const dx = si.x - sj.x;
|
|
165
|
+
const dy = si.y - sj.y;
|
|
166
|
+
const len2 = dx * dx + dy * dy;
|
|
167
|
+
if (len2 === 0) continue;
|
|
168
|
+
const len = Math.sqrt(len2);
|
|
169
|
+
const shift = (wi - wj) * wScale / (2 * len2);
|
|
170
|
+
const mx = (si.x + sj.x) / 2 + dx * shift;
|
|
171
|
+
const my = (si.y + sj.y) / 2 + dy * shift;
|
|
172
|
+
const nx = dx / len;
|
|
173
|
+
const ny = dy / len;
|
|
174
|
+
polygon = clipPolygon(polygon, mx, my, nx, ny);
|
|
175
|
+
if (polygon.length < 3) break;
|
|
176
|
+
}
|
|
177
|
+
cells.push(polygon);
|
|
178
|
+
}
|
|
179
|
+
return cells;
|
|
180
|
+
}
|
|
181
|
+
function polygonArea(pts) {
|
|
182
|
+
let area = 0;
|
|
183
|
+
for (let i = 0; i < pts.length; i++) {
|
|
184
|
+
const a = pts[i];
|
|
185
|
+
const b = pts[(i + 1) % pts.length];
|
|
186
|
+
area += a.x * b.y - b.x * a.y;
|
|
187
|
+
}
|
|
188
|
+
return Math.abs(area) / 2;
|
|
189
|
+
}
|
|
190
|
+
function clipPolygon(poly, mx, my, nx, ny) {
|
|
191
|
+
if (poly.length < 3) return poly;
|
|
192
|
+
const out = [];
|
|
193
|
+
for (let i = 0; i < poly.length; i++) {
|
|
194
|
+
const a = poly[i];
|
|
195
|
+
const b = poly[(i + 1) % poly.length];
|
|
196
|
+
const da = (a.x - mx) * nx + (a.y - my) * ny;
|
|
197
|
+
const db = (b.x - mx) * nx + (b.y - my) * ny;
|
|
198
|
+
if (da >= 0) out.push(a);
|
|
199
|
+
if (da >= 0 !== db >= 0) {
|
|
200
|
+
const t = da / (da - db);
|
|
201
|
+
out.push({ x: a.x + t * (b.x - a.x), y: a.y + t * (b.y - a.y) });
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export { voronoiChartType };
|
|
208
|
+
//# sourceMappingURL=chunk-ZBWBLCY2.js.map
|
|
209
|
+
//# sourceMappingURL=chunk-ZBWBLCY2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/voronoi/voronoi-type.ts"],"names":[],"mappings":"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","file":"chunk-ZBWBLCY2.js","sourcesContent":["import type {\n ChartTypePlugin, ChartData, ResolvedOptions, PreparedData,\n RenderContext, RenderNode, HitResult, ScaleType,\n} from '../../types'\nimport { prepareNoAxes } from '../../utils/prepare'\nimport { group, path, text } from '../../render/tree'\n\n/**\n * Voronoi chart — weighted tessellation where cell AREA is proportional to value.\n *\n * Uses a power diagram: the bisector between two seeds shifts toward the\n * lighter seed, giving heavier seeds (higher values) larger cells.\n * Labels are the cell names, series[0] values control cell size.\n */\nexport const voronoiChartType: ChartTypePlugin = {\n type: 'voronoi',\n\n getScaleTypes(): { x: ScaleType; y: ScaleType } {\n return { x: 'categorical', y: 'linear' }\n },\n\n prepareData(data: ChartData, options: ResolvedOptions): PreparedData {\n return prepareNoAxes(data, options)\n },\n\n render(ctx: RenderContext): RenderNode[] {\n const { data, area, theme, options } = ctx\n const nodes: RenderNode[] = []\n\n const series = data.series[0]\n if (!series || series.values.length === 0) return nodes\n\n const n = series.values.length\n const values = series.values\n const minVal = Math.min(...values)\n const maxVal = Math.max(...values)\n const range = maxVal - minVal || 1\n\n // Compute weights from values — higher value = higher weight = larger cell\n const weights = values.map(v => ((v - minVal) / range))\n\n // Distribute seed points using Fibonacci for even initial spacing\n const seeds = fibonacciSeeds(n, area)\n\n // Compute weighted Voronoi cells (power diagram)\n const cells = computeWeightedVoronoi(seeds, weights, area)\n\n const padding = 3\n\n for (let i = 0; i < n; i++) {\n const cell = cells[i]\n if (!cell || cell.length < 3) continue\n\n const t = weights[i]!\n const label = String(data.labels[i] ?? `${i}`)\n const color = options.colors[i % options.colors.length] ?? '#3b82f6'\n const opacity = 0.25 + t * 0.65\n\n // Shrink cell toward centroid for visual padding\n const centroid = cell.reduce(\n (acc, p) => ({ x: acc.x + p.x / cell.length, y: acc.y + p.y / cell.length }),\n { x: 0, y: 0 },\n )\n const paddedCell = cell.map(p => {\n const dx = p.x - centroid.x\n const dy = p.y - centroid.y\n const dist = Math.sqrt(dx * dx + dy * dy) || 1\n const shrink = Math.min(padding / dist, 0.3)\n return { x: p.x - dx * shrink, y: p.y - dy * shrink }\n })\n\n const d = paddedCell.map((p, j) => `${j === 0 ? 'M' : 'L'} ${p.x} ${p.y}`).join(' ') + ' Z'\n\n const cellNodes: RenderNode[] = []\n\n cellNodes.push(path(d, {\n class: 'chartts-voronoi-cell',\n fill: color,\n fillOpacity: opacity,\n stroke: theme.background,\n strokeWidth: 2,\n style: `--chartts-i:${i}`,\n 'data-series': 0,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${label}: ${values[i]}`,\n }))\n\n // Label at centroid\n if (n <= 20) {\n const cellArea = polygonArea(paddedCell)\n const minCellDim = Math.sqrt(cellArea)\n const fontSize = Math.max(8, Math.min(theme.fontSize, minCellDim * 0.2))\n\n cellNodes.push(text(centroid.x, centroid.y - fontSize * 0.4, label, {\n class: 'chartts-voronoi-label',\n fill: theme.textColor,\n textAnchor: 'middle',\n dominantBaseline: 'auto',\n fontSize,\n fontFamily: theme.fontFamily,\n fontWeight: 600,\n pointerEvents: 'none',\n }))\n\n // Value below label\n if (minCellDim > 40) {\n cellNodes.push(text(centroid.x, centroid.y + fontSize * 0.7, String(values[i]), {\n class: 'chartts-voronoi-value',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'auto',\n fontSize: fontSize * 0.8,\n fontFamily: theme.fontFamily,\n pointerEvents: 'none',\n }))\n }\n }\n\n nodes.push(group(cellNodes, {\n class: `chartts-series chartts-series-${i}`,\n 'data-series-name': label,\n }))\n }\n\n return nodes\n },\n\n hitTest(ctx: RenderContext, mx: number, my: number): HitResult | null {\n const { data, area } = ctx\n const series = data.series[0]\n if (!series || series.values.length === 0) return null\n\n const values = series.values\n const minVal = Math.min(...values)\n const maxVal = Math.max(...values)\n const range = maxVal - minVal || 1\n const weights = values.map(v => ((v - minVal) / range))\n\n const seeds = fibonacciSeeds(values.length, area)\n const cells = computeWeightedVoronoi(seeds, weights, area)\n\n // Point-in-polygon test on each cell\n for (let i = 0; i < cells.length; i++) {\n const cell = cells[i]\n if (!cell || cell.length < 3) continue\n if (pointInPolygon(mx, my, cell)) {\n const centroid = cell.reduce(\n (acc, p) => ({ x: acc.x + p.x / cell.length, y: acc.y + p.y / cell.length }),\n { x: 0, y: 0 },\n )\n return { seriesIndex: 0, pointIndex: i, distance: 0, x: centroid.x, y: centroid.y }\n }\n }\n\n return null\n },\n}\n\ninterface Pt { x: number; y: number }\n\n/** Ray-casting point-in-polygon test. */\nfunction pointInPolygon(px: number, py: number, poly: Pt[]): boolean {\n let inside = false\n for (let i = 0, j = poly.length - 1; i < poly.length; j = i++) {\n const a = poly[i]!, b = poly[j]!\n if ((a.y > py) !== (b.y > py) &&\n px < (b.x - a.x) * (py - a.y) / (b.y - a.y) + a.x) {\n inside = !inside\n }\n }\n return inside\n}\n\n/** Scale factor for weights based on chart area. */\nfunction weightScale(area: { width: number; height: number }): number {\n return (area.width * area.height) * 0.15\n}\n\n/** Fibonacci/sunflower seed distribution for even spacing. */\nfunction fibonacciSeeds(n: number, area: { x: number; y: number; width: number; height: number }): Pt[] {\n const cx = area.x + area.width / 2\n const cy = area.y + area.height / 2\n const maxR = Math.min(area.width, area.height) * 0.45\n const golden = (1 + Math.sqrt(5)) / 2\n const pts: Pt[] = []\n\n for (let i = 0; i < n; i++) {\n const r = maxR * Math.sqrt((i + 0.5) / n)\n const theta = 2 * Math.PI * i / (golden * golden)\n pts.push({\n x: cx + r * Math.cos(theta) * (area.width / Math.min(area.width, area.height)),\n y: cy + r * Math.sin(theta) * (area.height / Math.min(area.width, area.height)),\n })\n }\n\n return pts\n}\n\n/**\n * Compute weighted Voronoi cells (power diagram).\n *\n * Instead of clipping at the perpendicular bisector (equidistant line),\n * we shift the bisector toward the lighter seed. For seeds i and j with\n * weights wi and wj, the dividing plane shifts along the i→j axis by:\n * shift = (wi - wj) * scale / (2 * |si - sj|)\n * This gives heavier seeds proportionally larger cells.\n */\nfunction computeWeightedVoronoi(\n seeds: Pt[],\n weights: number[],\n area: { x: number; y: number; width: number; height: number },\n): Pt[][] {\n const cells: Pt[][] = []\n const { x: ax, y: ay, width: aw, height: ah } = area\n const wScale = weightScale(area)\n\n for (let i = 0; i < seeds.length; i++) {\n let polygon: Pt[] = [\n { x: ax, y: ay },\n { x: ax + aw, y: ay },\n { x: ax + aw, y: ay + ah },\n { x: ax, y: ay + ah },\n ]\n\n const si = seeds[i]!\n const wi = weights[i]!\n\n for (let j = 0; j < seeds.length; j++) {\n if (i === j) continue\n const sj = seeds[j]!\n const wj = weights[j]!\n\n // Direction from j to i\n const dx = si.x - sj.x\n const dy = si.y - sj.y\n const len2 = dx * dx + dy * dy\n if (len2 === 0) continue\n const len = Math.sqrt(len2)\n\n // Shift bisector toward the lighter seed\n // Positive shift = toward sj = seed i gets more area\n const shift = (wi - wj) * wScale / (2 * len2)\n\n // Shifted midpoint\n const mx = (si.x + sj.x) / 2 + dx * shift\n const my = (si.y + sj.y) / 2 + dy * shift\n\n // Normal pointing toward seed i\n const nx = dx / len\n const ny = dy / len\n\n polygon = clipPolygon(polygon, mx, my, nx, ny)\n if (polygon.length < 3) break\n }\n\n cells.push(polygon)\n }\n\n return cells\n}\n\n/** Approximate polygon area via shoelace formula. */\nfunction polygonArea(pts: Pt[]): number {\n let area = 0\n for (let i = 0; i < pts.length; i++) {\n const a = pts[i]!\n const b = pts[(i + 1) % pts.length]!\n area += a.x * b.y - b.x * a.y\n }\n return Math.abs(area) / 2\n}\n\n/** Sutherland-Hodgman clip: keep the side where dot(p - m, n) >= 0. */\nfunction clipPolygon(poly: Pt[], mx: number, my: number, nx: number, ny: number): Pt[] {\n if (poly.length < 3) return poly\n const out: Pt[] = []\n\n for (let i = 0; i < poly.length; i++) {\n const a = poly[i]!\n const b = poly[(i + 1) % poly.length]!\n const da = (a.x - mx) * nx + (a.y - my) * ny\n const db = (b.x - mx) * nx + (b.y - my) * ny\n\n if (da >= 0) out.push(a)\n if ((da >= 0) !== (db >= 0)) {\n const t = da / (da - db)\n out.push({ x: a.x + t * (b.x - a.x), y: a.y + t * (b.y - a.y) })\n }\n }\n\n return out\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkX5SG6MFS_cjs = require('./chunk-X5SG6MFS.cjs');
|
|
4
|
+
var chunkW626EAS5_cjs = require('./chunk-W626EAS5.cjs');
|
|
5
5
|
|
|
6
6
|
// src/charts/geo/world-regions.ts
|
|
7
7
|
var WORLD_REGIONS = [
|
|
@@ -282,7 +282,7 @@ var geoChartType = {
|
|
|
282
282
|
return { x: "categorical", y: "linear" };
|
|
283
283
|
},
|
|
284
284
|
prepareData(data, options) {
|
|
285
|
-
return
|
|
285
|
+
return chunkX5SG6MFS_cjs.prepareNoAxes(data, options);
|
|
286
286
|
},
|
|
287
287
|
render(ctx) {
|
|
288
288
|
const { data, area, theme, options } = ctx;
|
|
@@ -315,7 +315,7 @@ var geoChartType = {
|
|
|
315
315
|
const hasData = val !== void 0;
|
|
316
316
|
const t = hasData ? (val - minVal) / range : 0;
|
|
317
317
|
const fillOpacity = hasData ? 0.2 + t * 0.75 : 0.06;
|
|
318
|
-
nodes.push(
|
|
318
|
+
nodes.push(chunkW626EAS5_cjs.path(region.path, {
|
|
319
319
|
class: "chartts-geo-region",
|
|
320
320
|
fill: hasData ? baseColor : theme.gridColor,
|
|
321
321
|
fillOpacity,
|
|
@@ -336,7 +336,7 @@ var geoChartType = {
|
|
|
336
336
|
if (!centroid) continue;
|
|
337
337
|
const lx = offsetX + centroid.x * scale;
|
|
338
338
|
const ly = offsetY + centroid.y * scale;
|
|
339
|
-
labelNodes.push(
|
|
339
|
+
labelNodes.push(chunkW626EAS5_cjs.text(lx, ly, name, {
|
|
340
340
|
class: "chartts-geo-label",
|
|
341
341
|
fill: theme.textColor,
|
|
342
342
|
textAnchor: "middle",
|
|
@@ -354,7 +354,7 @@ var geoChartType = {
|
|
|
354
354
|
if (!centroid) continue;
|
|
355
355
|
const lx = offsetX + centroid.x * scale;
|
|
356
356
|
const ly = offsetY + centroid.y * scale;
|
|
357
|
-
labelNodes.push(
|
|
357
|
+
labelNodes.push(chunkW626EAS5_cjs.text(lx, ly, region.name, {
|
|
358
358
|
class: "chartts-geo-label",
|
|
359
359
|
fill: theme.textMuted,
|
|
360
360
|
textAnchor: "middle",
|
|
@@ -365,7 +365,7 @@ var geoChartType = {
|
|
|
365
365
|
}));
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
|
-
nodes.push(
|
|
368
|
+
nodes.push(chunkW626EAS5_cjs.group(labelNodes, { class: "chartts-geo-labels", pointerEvents: "none" }));
|
|
369
369
|
}
|
|
370
370
|
if (gOpts.scatterSeries !== void 0) {
|
|
371
371
|
const scatterSeries = data.series[gOpts.scatterSeries];
|
|
@@ -382,7 +382,7 @@ var geoChartType = {
|
|
|
382
382
|
const sy = offsetY + centroid.y * scale;
|
|
383
383
|
const r = 3 + val / maxScatter * 12;
|
|
384
384
|
const color = options.colors[1 % options.colors.length];
|
|
385
|
-
scatterNodes.push(
|
|
385
|
+
scatterNodes.push(chunkW626EAS5_cjs.circle(sx, sy, r, {
|
|
386
386
|
class: "chartts-geo-scatter",
|
|
387
387
|
fill: color,
|
|
388
388
|
fillOpacity: 0.5,
|
|
@@ -393,7 +393,7 @@ var geoChartType = {
|
|
|
393
393
|
}));
|
|
394
394
|
}
|
|
395
395
|
if (scatterNodes.length > 0) {
|
|
396
|
-
nodes.push(
|
|
396
|
+
nodes.push(chunkW626EAS5_cjs.group(scatterNodes, { class: "chartts-geo-scatter-layer" }));
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
399
|
}
|
|
@@ -408,13 +408,13 @@ var geoChartType = {
|
|
|
408
408
|
for (let s = 0; s < steps; s++) {
|
|
409
409
|
const t = s / (steps - 1);
|
|
410
410
|
const opacity = 0.2 + t * 0.75;
|
|
411
|
-
legendNodes.push(
|
|
411
|
+
legendNodes.push(chunkW626EAS5_cjs.rect(lx + s * stepW, ly, stepW + 0.5, lh, {
|
|
412
412
|
fill: baseColor,
|
|
413
413
|
fillOpacity: opacity,
|
|
414
414
|
stroke: "none"
|
|
415
415
|
}));
|
|
416
416
|
}
|
|
417
|
-
legendNodes.push(
|
|
417
|
+
legendNodes.push(chunkW626EAS5_cjs.rect(lx, ly, lw, lh, {
|
|
418
418
|
fill: "none",
|
|
419
419
|
stroke: theme.textMuted,
|
|
420
420
|
strokeWidth: 0.5,
|
|
@@ -422,20 +422,20 @@ var geoChartType = {
|
|
|
422
422
|
}));
|
|
423
423
|
const labelSize = Math.max(8, theme.fontSizeSmall * 0.8);
|
|
424
424
|
const seriesName = series?.name ?? "";
|
|
425
|
-
legendNodes.push(
|
|
425
|
+
legendNodes.push(chunkW626EAS5_cjs.text(lx, ly + lh + labelSize + 2, formatValue(minVal), {
|
|
426
426
|
fill: theme.textMuted,
|
|
427
427
|
fontSize: labelSize,
|
|
428
428
|
fontFamily: theme.fontFamily,
|
|
429
429
|
textAnchor: "start"
|
|
430
430
|
}));
|
|
431
|
-
legendNodes.push(
|
|
431
|
+
legendNodes.push(chunkW626EAS5_cjs.text(lx + lw, ly + lh + labelSize + 2, formatValue(maxVal), {
|
|
432
432
|
fill: theme.textMuted,
|
|
433
433
|
fontSize: labelSize,
|
|
434
434
|
fontFamily: theme.fontFamily,
|
|
435
435
|
textAnchor: "end"
|
|
436
436
|
}));
|
|
437
437
|
if (seriesName) {
|
|
438
|
-
legendNodes.push(
|
|
438
|
+
legendNodes.push(chunkW626EAS5_cjs.text(lx + lw / 2, ly + lh + labelSize + 2, seriesName, {
|
|
439
439
|
fill: theme.textColor,
|
|
440
440
|
fontSize: labelSize,
|
|
441
441
|
fontFamily: theme.fontFamily,
|
|
@@ -443,7 +443,7 @@ var geoChartType = {
|
|
|
443
443
|
fontWeight: 600
|
|
444
444
|
}));
|
|
445
445
|
}
|
|
446
|
-
nodes.push(
|
|
446
|
+
nodes.push(chunkW626EAS5_cjs.group(legendNodes, { class: "chartts-geo-legend" }));
|
|
447
447
|
}
|
|
448
448
|
return nodes;
|
|
449
449
|
},
|
|
@@ -516,5 +516,5 @@ function getPathBBox(d) {
|
|
|
516
516
|
exports.WORLD_REGIONS = WORLD_REGIONS;
|
|
517
517
|
exports.WORLD_SIMPLE = WORLD_SIMPLE;
|
|
518
518
|
exports.geoChartType = geoChartType;
|
|
519
|
-
//# sourceMappingURL=chunk-
|
|
520
|
-
//# sourceMappingURL=chunk-
|
|
519
|
+
//# sourceMappingURL=chunk-ZCLW4B5S.cjs.map
|
|
520
|
+
//# sourceMappingURL=chunk-ZCLW4B5S.cjs.map
|