@chartts/core 0.1.1 → 0.1.2
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/README.md +61 -5
- 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-E2S7RAT2.js → chunk-27E6G2GT.js} +3 -3
- package/dist/{chunk-E2S7RAT2.js.map → chunk-27E6G2GT.js.map} +1 -1
- package/dist/{chunk-ROYZ7W4M.cjs → chunk-2KMMVJEE.cjs} +6 -6
- package/dist/{chunk-ROYZ7W4M.cjs.map → chunk-2KMMVJEE.cjs.map} +1 -1
- package/dist/{chunk-QZ4ZYTP6.js → chunk-2L46SAT7.js} +4 -4
- package/dist/{chunk-QZ4ZYTP6.js.map → chunk-2L46SAT7.js.map} +1 -1
- package/dist/{chunk-MVWERW4G.cjs → chunk-2PRCN5OJ.cjs} +6 -6
- package/dist/{chunk-MVWERW4G.cjs.map → chunk-2PRCN5OJ.cjs.map} +1 -1
- package/dist/{chunk-B54L2CPW.cjs → chunk-3N447NTJ.cjs} +13 -13
- package/dist/{chunk-B54L2CPW.cjs.map → chunk-3N447NTJ.cjs.map} +1 -1
- package/dist/{chunk-7YV56WPE.js → chunk-3NWZJCWL.js} +4 -4
- package/dist/{chunk-7YV56WPE.js.map → chunk-3NWZJCWL.js.map} +1 -1
- package/dist/{chunk-O5KGKQSU.js → chunk-3QXN7JBV.js} +4 -4
- package/dist/{chunk-O5KGKQSU.js.map → chunk-3QXN7JBV.js.map} +1 -1
- package/dist/{chunk-XHQWWR5M.cjs → chunk-3TLJCGGQ.cjs} +71 -37
- package/dist/chunk-3TLJCGGQ.cjs.map +1 -0
- package/dist/{chunk-BXX2EPFE.cjs → chunk-3YFDZGHO.cjs} +12 -12
- package/dist/{chunk-BXX2EPFE.cjs.map → chunk-3YFDZGHO.cjs.map} +1 -1
- package/dist/{chunk-LEJGLR2P.cjs → chunk-43WDYYVH.cjs} +8 -8
- package/dist/{chunk-LEJGLR2P.cjs.map → chunk-43WDYYVH.cjs.map} +1 -1
- package/dist/{chunk-SUNC3CPV.js → chunk-4ABM7UYD.js} +3 -3
- package/dist/{chunk-SUNC3CPV.js.map → chunk-4ABM7UYD.js.map} +1 -1
- package/dist/{chunk-Z6E3XVP2.cjs → chunk-5LQ26P4J.cjs} +10 -10
- package/dist/{chunk-Z6E3XVP2.cjs.map → chunk-5LQ26P4J.cjs.map} +1 -1
- package/dist/{chunk-SJS4ISBA.js → chunk-5M624BRW.js} +3 -3
- package/dist/{chunk-SJS4ISBA.js.map → chunk-5M624BRW.js.map} +1 -1
- package/dist/{chunk-4VG47RLS.js → chunk-6WJJ26J5.js} +4 -4
- package/dist/{chunk-4VG47RLS.js.map → chunk-6WJJ26J5.js.map} +1 -1
- package/dist/{chunk-HOOOCSU4.js → chunk-7HOU6XMW.js} +4 -4
- package/dist/{chunk-HOOOCSU4.js.map → chunk-7HOU6XMW.js.map} +1 -1
- package/dist/{chunk-M4AQD6WX.cjs → chunk-7JN6GXML.cjs} +10 -10
- package/dist/{chunk-M4AQD6WX.cjs.map → chunk-7JN6GXML.cjs.map} +1 -1
- package/dist/{chunk-LUTU4WW3.js → chunk-7MXBXWVD.js} +4 -4
- package/dist/{chunk-LUTU4WW3.js.map → chunk-7MXBXWVD.js.map} +1 -1
- package/dist/{chunk-22LR6CFM.js → chunk-AA45U5KV.js} +4 -4
- package/dist/{chunk-22LR6CFM.js.map → chunk-AA45U5KV.js.map} +1 -1
- package/dist/{chunk-GNRRK7TZ.cjs → chunk-AAKS22M3.cjs} +11 -11
- package/dist/{chunk-GNRRK7TZ.cjs.map → chunk-AAKS22M3.cjs.map} +1 -1
- package/dist/{chunk-J6NPRKT4.cjs → chunk-ALRCYQQX.cjs} +6 -6
- package/dist/{chunk-J6NPRKT4.cjs.map → chunk-ALRCYQQX.cjs.map} +1 -1
- package/dist/{chunk-KVI6DN3R.js → chunk-ARQLGTTV.js} +4 -4
- package/dist/{chunk-KVI6DN3R.js.map → chunk-ARQLGTTV.js.map} +1 -1
- package/dist/{chunk-H4RNJ7FK.cjs → chunk-B7IV2PB3.cjs} +8 -8
- package/dist/{chunk-H4RNJ7FK.cjs.map → chunk-B7IV2PB3.cjs.map} +1 -1
- package/dist/{chunk-CMEXNS5V.js → chunk-BMEMMYVF.js} +4 -4
- package/dist/{chunk-CMEXNS5V.js.map → chunk-BMEMMYVF.js.map} +1 -1
- package/dist/{chunk-3BRQGYDX.js → chunk-BMTVFAX2.js} +71 -37
- package/dist/chunk-BMTVFAX2.js.map +1 -0
- package/dist/{chunk-BR3KTAGW.js → chunk-CCHMQZIB.js} +4 -4
- package/dist/{chunk-BR3KTAGW.js.map → chunk-CCHMQZIB.js.map} +1 -1
- package/dist/{chunk-NQSC7CKN.js → chunk-CHERQT4B.js} +3 -3
- package/dist/{chunk-NQSC7CKN.js.map → chunk-CHERQT4B.js.map} +1 -1
- package/dist/{chunk-KOHWMGRF.js → chunk-CJEMSKW3.js} +7 -7
- package/dist/{chunk-KOHWMGRF.js.map → chunk-CJEMSKW3.js.map} +1 -1
- package/dist/{chunk-3TTTELGB.cjs → chunk-COPERSVL.cjs} +15 -15
- package/dist/{chunk-3TTTELGB.cjs.map → chunk-COPERSVL.cjs.map} +1 -1
- package/dist/{chunk-PLGZ4REQ.cjs → chunk-D2IP3MWJ.cjs} +12 -12
- package/dist/{chunk-PLGZ4REQ.cjs.map → chunk-D2IP3MWJ.cjs.map} +1 -1
- package/dist/{chunk-M4UST3UU.cjs → chunk-DAH76GIX.cjs} +10 -10
- package/dist/{chunk-M4UST3UU.cjs.map → chunk-DAH76GIX.cjs.map} +1 -1
- package/dist/{chunk-TOS2RYHQ.js → chunk-DKVRRL3F.js} +4 -4
- package/dist/{chunk-TOS2RYHQ.js.map → chunk-DKVRRL3F.js.map} +1 -1
- package/dist/{chunk-SKVCPG5R.cjs → chunk-DZHP4UUE.cjs} +11 -11
- package/dist/{chunk-SKVCPG5R.cjs.map → chunk-DZHP4UUE.cjs.map} +1 -1
- package/dist/{chunk-NMLDPXOL.js → chunk-DZKYVTV3.js} +4 -4
- package/dist/{chunk-NMLDPXOL.js.map → chunk-DZKYVTV3.js.map} +1 -1
- package/dist/{chunk-66HSJRRH.js → chunk-DZW35WR2.js} +4 -4
- package/dist/{chunk-66HSJRRH.js.map → chunk-DZW35WR2.js.map} +1 -1
- package/dist/{chunk-FFJ6BVEY.cjs → chunk-EAKXLFOR.cjs} +9 -9
- package/dist/{chunk-FFJ6BVEY.cjs.map → chunk-EAKXLFOR.cjs.map} +1 -1
- package/dist/{chunk-QHJHYV3H.cjs → chunk-EFRBTSUO.cjs} +4 -4
- package/dist/{chunk-QHJHYV3H.cjs.map → chunk-EFRBTSUO.cjs.map} +1 -1
- package/dist/{chunk-QIJZZOX7.js → chunk-EYN74SQ5.js} +4 -4
- package/dist/{chunk-QIJZZOX7.js.map → chunk-EYN74SQ5.js.map} +1 -1
- package/dist/{chunk-Y54XVNXB.cjs → chunk-FEQKBVCZ.cjs} +13 -13
- package/dist/{chunk-Y54XVNXB.cjs.map → chunk-FEQKBVCZ.cjs.map} +1 -1
- package/dist/{chunk-UQBDGCS6.cjs → chunk-FIAKZSRR.cjs} +7 -7
- package/dist/{chunk-UQBDGCS6.cjs.map → chunk-FIAKZSRR.cjs.map} +1 -1
- package/dist/{chunk-HB4EGHJ7.cjs → chunk-FKAA5FNG.cjs} +9 -9
- package/dist/{chunk-HB4EGHJ7.cjs.map → chunk-FKAA5FNG.cjs.map} +1 -1
- package/dist/{chunk-NYVFC2SF.js → chunk-FKVYS4RB.js} +3 -3
- package/dist/{chunk-NYVFC2SF.js.map → chunk-FKVYS4RB.js.map} +1 -1
- package/dist/{chunk-ZDZQG3GH.cjs → chunk-FQG4DRJS.cjs} +13 -13
- package/dist/chunk-FQG4DRJS.cjs.map +1 -0
- package/dist/{chunk-GM3ZO5WV.js → chunk-FSKUEB7P.js} +3 -3
- package/dist/{chunk-GM3ZO5WV.js.map → chunk-FSKUEB7P.js.map} +1 -1
- package/dist/{chunk-NONU7KUN.cjs → chunk-FTKL3UAN.cjs} +6 -6
- package/dist/{chunk-NONU7KUN.cjs.map → chunk-FTKL3UAN.cjs.map} +1 -1
- package/dist/{chunk-ZL25X5WW.js → chunk-GI7PBJSK.js} +3 -3
- package/dist/{chunk-ZL25X5WW.js.map → chunk-GI7PBJSK.js.map} +1 -1
- package/dist/{chunk-NFD6VAVM.js → chunk-GL3M7MAM.js} +3 -3
- package/dist/{chunk-NFD6VAVM.js.map → chunk-GL3M7MAM.js.map} +1 -1
- package/dist/{chunk-3XVGEBR4.js → chunk-GMLJDDHZ.js} +3 -3
- package/dist/{chunk-3XVGEBR4.js.map → chunk-GMLJDDHZ.js.map} +1 -1
- package/dist/{chunk-N6IVODRJ.js → chunk-GQR7IHER.js} +4 -4
- package/dist/{chunk-N6IVODRJ.js.map → chunk-GQR7IHER.js.map} +1 -1
- package/dist/{chunk-MYPCA25Y.cjs → chunk-GUVPVNPD.cjs} +10 -10
- package/dist/{chunk-MYPCA25Y.cjs.map → chunk-GUVPVNPD.cjs.map} +1 -1
- package/dist/{chunk-5QOQR5FE.cjs → chunk-HOPFELRP.cjs} +4 -4
- package/dist/{chunk-5QOQR5FE.cjs.map → chunk-HOPFELRP.cjs.map} +1 -1
- package/dist/{chunk-FRWC6GUR.cjs → chunk-IAE4VRB7.cjs} +9 -9
- package/dist/{chunk-FRWC6GUR.cjs.map → chunk-IAE4VRB7.cjs.map} +1 -1
- package/dist/{chunk-BYXRFTEI.cjs → chunk-ID7GYRYL.cjs} +10 -10
- package/dist/{chunk-BYXRFTEI.cjs.map → chunk-ID7GYRYL.cjs.map} +1 -1
- package/dist/{chunk-QLRK46YY.cjs → chunk-IKUA7O73.cjs} +7 -7
- package/dist/{chunk-QLRK46YY.cjs.map → chunk-IKUA7O73.cjs.map} +1 -1
- package/dist/{chunk-HDWWUEPD.js → chunk-IUYPKYOU.js} +4 -4
- package/dist/{chunk-HDWWUEPD.js.map → chunk-IUYPKYOU.js.map} +1 -1
- package/dist/{chunk-BC6KW2OG.js → chunk-IXFSJBJS.js} +3 -3
- package/dist/{chunk-BC6KW2OG.js.map → chunk-IXFSJBJS.js.map} +1 -1
- package/dist/{chunk-X2JNB5UN.js → chunk-JT6H7G52.js} +4 -4
- package/dist/{chunk-X2JNB5UN.js.map → chunk-JT6H7G52.js.map} +1 -1
- package/dist/{chunk-TW6KPQIS.js → chunk-K2EZ4SS4.js} +3 -3
- package/dist/{chunk-TW6KPQIS.js.map → chunk-K2EZ4SS4.js.map} +1 -1
- package/dist/{chunk-KE7ILTM4.cjs → chunk-K7UR7GYC.cjs} +11 -11
- package/dist/{chunk-KE7ILTM4.cjs.map → chunk-K7UR7GYC.cjs.map} +1 -1
- package/dist/{chunk-TTOX27BZ.cjs → chunk-KEMT7F5H.cjs} +7 -7
- package/dist/{chunk-TTOX27BZ.cjs.map → chunk-KEMT7F5H.cjs.map} +1 -1
- package/dist/{chunk-FKYNRMPX.js → chunk-KHQRHTTN.js} +4 -4
- package/dist/{chunk-FKYNRMPX.js.map → chunk-KHQRHTTN.js.map} +1 -1
- package/dist/{chunk-ZDYCIP6N.cjs → chunk-KUFDELQM.cjs} +9 -9
- package/dist/{chunk-ZDYCIP6N.cjs.map → chunk-KUFDELQM.cjs.map} +1 -1
- package/dist/{chunk-LB4MV5CG.js → chunk-L37ZPX6D.js} +3 -3
- package/dist/{chunk-LB4MV5CG.js.map → chunk-L37ZPX6D.js.map} +1 -1
- package/dist/{chunk-QAYX6XN3.js → chunk-LCEMO7NI.js} +3 -3
- package/dist/{chunk-QAYX6XN3.js.map → chunk-LCEMO7NI.js.map} +1 -1
- package/dist/{chunk-L54BZYAI.cjs → chunk-M6JYSINX.cjs} +6 -6
- package/dist/{chunk-L54BZYAI.cjs.map → chunk-M6JYSINX.cjs.map} +1 -1
- package/dist/{chunk-VPI7UGB3.cjs → chunk-MGYBMQAX.cjs} +8 -8
- package/dist/{chunk-VPI7UGB3.cjs.map → chunk-MGYBMQAX.cjs.map} +1 -1
- package/dist/{chunk-6KNBJ4CE.js → chunk-MQBKLKYF.js} +4 -4
- package/dist/{chunk-6KNBJ4CE.js.map → chunk-MQBKLKYF.js.map} +1 -1
- package/dist/{chunk-BRSHEDTZ.js → chunk-MVJKRPX7.js} +3 -3
- package/dist/{chunk-BRSHEDTZ.js.map → chunk-MVJKRPX7.js.map} +1 -1
- package/dist/{chunk-Q6U5D2ZB.cjs → chunk-MZCKMTQE.cjs} +9 -9
- package/dist/{chunk-Q6U5D2ZB.cjs.map → chunk-MZCKMTQE.cjs.map} +1 -1
- package/dist/{chunk-BEYG2HQ4.cjs → chunk-MZQY2FTP.cjs} +12 -12
- package/dist/{chunk-BEYG2HQ4.cjs.map → chunk-MZQY2FTP.cjs.map} +1 -1
- package/dist/{chunk-ETPZGEL7.cjs → chunk-N7NZQVIV.cjs} +6 -6
- package/dist/{chunk-ETPZGEL7.cjs.map → chunk-N7NZQVIV.cjs.map} +1 -1
- package/dist/{chunk-H2AE7JMU.js → chunk-NML7F34A.js} +3 -3
- package/dist/{chunk-H2AE7JMU.js.map → chunk-NML7F34A.js.map} +1 -1
- package/dist/{chunk-DNQ6N3VG.js → chunk-NQGZMWNT.js} +4 -4
- package/dist/{chunk-DNQ6N3VG.js.map → chunk-NQGZMWNT.js.map} +1 -1
- package/dist/{chunk-MLX3EO2C.js → chunk-NZWFBAFQ.js} +3 -3
- package/dist/{chunk-MLX3EO2C.js.map → chunk-NZWFBAFQ.js.map} +1 -1
- package/dist/{chunk-XBIM73HV.cjs → chunk-PCTMS2PX.cjs} +7 -7
- package/dist/{chunk-XBIM73HV.cjs.map → chunk-PCTMS2PX.cjs.map} +1 -1
- package/dist/{chunk-D2SV6YT3.js → chunk-QCR6L55R.js} +4 -4
- package/dist/{chunk-D2SV6YT3.js.map → chunk-QCR6L55R.js.map} +1 -1
- package/dist/{chunk-SZVK6RRQ.js → chunk-QRTYX5KO.js} +4 -4
- package/dist/{chunk-SZVK6RRQ.js.map → chunk-QRTYX5KO.js.map} +1 -1
- package/dist/{chunk-FUZFNUCJ.js → chunk-QXQSJ3FZ.js} +3 -3
- package/dist/{chunk-FUZFNUCJ.js.map → chunk-QXQSJ3FZ.js.map} +1 -1
- package/dist/{chunk-7SEHTEMR.js → chunk-RLH3PS3Y.js} +3 -3
- package/dist/{chunk-7SEHTEMR.js.map → chunk-RLH3PS3Y.js.map} +1 -1
- package/dist/{chunk-Q2BDB5ZA.cjs → chunk-S64PTNT7.cjs} +8 -8
- package/dist/{chunk-Q2BDB5ZA.cjs.map → chunk-S64PTNT7.cjs.map} +1 -1
- package/dist/{chunk-6LKN3HRX.js → chunk-S6NGWPXC.js} +3 -3
- package/dist/{chunk-6LKN3HRX.js.map → chunk-S6NGWPXC.js.map} +1 -1
- package/dist/{chunk-4YJPBUX2.cjs → chunk-SC5BGA2N.cjs} +7 -7
- package/dist/{chunk-4YJPBUX2.cjs.map → chunk-SC5BGA2N.cjs.map} +1 -1
- package/dist/{chunk-KSRROKYC.cjs → chunk-SKREYNRK.cjs} +11 -11
- package/dist/{chunk-KSRROKYC.cjs.map → chunk-SKREYNRK.cjs.map} +1 -1
- package/dist/{chunk-2TWYS3BT.cjs → chunk-SLJNRP7O.cjs} +14 -14
- package/dist/{chunk-2TWYS3BT.cjs.map → chunk-SLJNRP7O.cjs.map} +1 -1
- package/dist/{chunk-Y2JZHX3P.cjs → chunk-T6LXFMBR.cjs} +8 -8
- package/dist/{chunk-Y2JZHX3P.cjs.map → chunk-T6LXFMBR.cjs.map} +1 -1
- package/dist/{chunk-RCVRZCCC.cjs → chunk-TIHVTKXS.cjs} +9 -9
- package/dist/{chunk-RCVRZCCC.cjs.map → chunk-TIHVTKXS.cjs.map} +1 -1
- package/dist/{chunk-DL7P72FA.cjs → chunk-TVPS2NJH.cjs} +10 -10
- package/dist/{chunk-DL7P72FA.cjs.map → chunk-TVPS2NJH.cjs.map} +1 -1
- package/dist/{chunk-SQJAKZ4W.js → chunk-U7GBOQXX.js} +4 -4
- package/dist/{chunk-SQJAKZ4W.js.map → chunk-U7GBOQXX.js.map} +1 -1
- package/dist/{chunk-6N66T7VQ.js → chunk-VGGKMTO6.js} +3 -3
- package/dist/{chunk-6N66T7VQ.js.map → chunk-VGGKMTO6.js.map} +1 -1
- package/dist/{chunk-7CGXK7KT.js → chunk-VJQCHBS6.js} +3 -3
- package/dist/{chunk-7CGXK7KT.js.map → chunk-VJQCHBS6.js.map} +1 -1
- package/dist/{chunk-4HK4RM3X.cjs → chunk-VK72MICB.cjs} +7 -7
- package/dist/{chunk-4HK4RM3X.cjs.map → chunk-VK72MICB.cjs.map} +1 -1
- package/dist/{chunk-EGQ4JCFU.cjs → chunk-WS2AL7GY.cjs} +7 -7
- package/dist/{chunk-EGQ4JCFU.cjs.map → chunk-WS2AL7GY.cjs.map} +1 -1
- package/dist/{chunk-Y4P4VY7A.cjs → chunk-XKDBNAHH.cjs} +10 -10
- package/dist/{chunk-Y4P4VY7A.cjs.map → chunk-XKDBNAHH.cjs.map} +1 -1
- package/dist/{chunk-UN7K3YQG.cjs → chunk-Y4HJCMB4.cjs} +6 -6
- package/dist/{chunk-UN7K3YQG.cjs.map → chunk-Y4HJCMB4.cjs.map} +1 -1
- package/dist/{chunk-SWYCVF46.js → chunk-YMJQUKKX.js} +8 -8
- package/dist/chunk-YMJQUKKX.js.map +1 -0
- 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 +10 -10
- package/dist/donut.js +5 -5
- 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.cjs +10 -10
- 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 +179 -179
- package/dist/index.js +91 -91
- 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/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 +10 -10
- package/dist/pie.js +5 -5
- package/dist/polar.cjs +10 -10
- package/dist/polar.js +5 -5
- 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 +10 -10
- package/dist/sunburst.js +5 -5
- 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/volume.cjs +9 -9
- package/dist/volume.js +4 -4
- package/dist/waterfall.cjs +9 -9
- package/dist/waterfall.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-3BRQGYDX.js.map +0 -1
- package/dist/chunk-SWYCVF46.js.map +0 -1
- package/dist/chunk-XHQWWR5M.cjs.map +0 -1
- package/dist/chunk-ZDZQG3GH.cjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkHOPFELRP_cjs = require('./chunk-HOPFELRP.cjs');
|
|
4
|
+
var chunk3TLJCGGQ_cjs = require('./chunk-3TLJCGGQ.cjs');
|
|
5
5
|
|
|
6
6
|
// src/charts/gauge/gauge-type.ts
|
|
7
7
|
var gaugeChartType = {
|
|
@@ -10,7 +10,7 @@ var gaugeChartType = {
|
|
|
10
10
|
return { x: "categorical", y: "linear" };
|
|
11
11
|
},
|
|
12
12
|
prepareData(data, options) {
|
|
13
|
-
return
|
|
13
|
+
return chunkHOPFELRP_cjs.prepareNoAxes(data, options);
|
|
14
14
|
},
|
|
15
15
|
render(ctx) {
|
|
16
16
|
const { data, area, theme, options } = ctx;
|
|
@@ -36,7 +36,7 @@ var gaugeChartType = {
|
|
|
36
36
|
const strokeW = Math.max(12, Math.min(radius * 0.18, 28));
|
|
37
37
|
const cy = area.y + radius + strokeW / 2 + 4;
|
|
38
38
|
const arcBottomY = cy + radius * Math.sin(toRad(30));
|
|
39
|
-
nodes.push(
|
|
39
|
+
nodes.push(chunk3TLJCGGQ_cjs.path(strokeArc(cx, cy, radius, startRad, endRad), {
|
|
40
40
|
class: "chartts-gauge-track",
|
|
41
41
|
stroke: theme.gridColor,
|
|
42
42
|
strokeWidth: strokeW,
|
|
@@ -47,7 +47,7 @@ var gaugeChartType = {
|
|
|
47
47
|
const color = options.colors[0];
|
|
48
48
|
if (pct > 5e-3) {
|
|
49
49
|
const valueRad = startRad + (endRad - startRad) * pct;
|
|
50
|
-
nodes.push(
|
|
50
|
+
nodes.push(chunk3TLJCGGQ_cjs.path(strokeArc(cx, cy, radius, startRad, valueRad), {
|
|
51
51
|
class: "chartts-gauge-fill",
|
|
52
52
|
stroke: color,
|
|
53
53
|
strokeWidth: strokeW,
|
|
@@ -64,24 +64,24 @@ var gaugeChartType = {
|
|
|
64
64
|
const baseR = 3.5;
|
|
65
65
|
const bAngle1 = needleAngle + Math.PI / 2;
|
|
66
66
|
const bAngle2 = needleAngle - Math.PI / 2;
|
|
67
|
-
const npb = new
|
|
67
|
+
const npb = new chunk3TLJCGGQ_cjs.PathBuilder();
|
|
68
68
|
npb.moveTo(needleTipX, needleTipY);
|
|
69
69
|
npb.lineTo(cx + baseR * Math.cos(bAngle1), cy + baseR * Math.sin(bAngle1));
|
|
70
70
|
npb.lineTo(cx + baseR * Math.cos(bAngle2), cy + baseR * Math.sin(bAngle2));
|
|
71
71
|
npb.close();
|
|
72
|
-
nodes.push(
|
|
72
|
+
nodes.push(chunk3TLJCGGQ_cjs.path(npb.build(), {
|
|
73
73
|
class: "chartts-gauge-needle",
|
|
74
74
|
fill: color,
|
|
75
75
|
opacity: 0.85
|
|
76
76
|
}));
|
|
77
|
-
nodes.push(
|
|
77
|
+
nodes.push(chunk3TLJCGGQ_cjs.circle(cx, cy, 5, {
|
|
78
78
|
class: "chartts-gauge-needle-cap",
|
|
79
79
|
fill: color
|
|
80
80
|
}));
|
|
81
81
|
if (showValue) {
|
|
82
82
|
const valueFontSize = Math.max(16, Math.min(radius * 0.35, 40));
|
|
83
83
|
const valueY = arcBottomY + labelSpace * 0.28;
|
|
84
|
-
nodes.push(
|
|
84
|
+
nodes.push(chunk3TLJCGGQ_cjs.text(cx, valueY, valueFormat(value), {
|
|
85
85
|
class: "chartts-gauge-value",
|
|
86
86
|
fill: theme.textColor,
|
|
87
87
|
textAnchor: "middle",
|
|
@@ -91,7 +91,7 @@ var gaugeChartType = {
|
|
|
91
91
|
fontWeight: 700
|
|
92
92
|
}));
|
|
93
93
|
if (series.name) {
|
|
94
|
-
nodes.push(
|
|
94
|
+
nodes.push(chunk3TLJCGGQ_cjs.text(cx, valueY + valueFontSize * 0.85, series.name, {
|
|
95
95
|
class: "chartts-gauge-label",
|
|
96
96
|
fill: theme.textMuted,
|
|
97
97
|
textAnchor: "middle",
|
|
@@ -102,7 +102,7 @@ var gaugeChartType = {
|
|
|
102
102
|
}
|
|
103
103
|
const minX = cx + radius * Math.cos(startRad);
|
|
104
104
|
const minY = cy + radius * Math.sin(startRad) + strokeW / 2 + 12;
|
|
105
|
-
nodes.push(
|
|
105
|
+
nodes.push(chunk3TLJCGGQ_cjs.text(minX, minY, valueFormat(min), {
|
|
106
106
|
class: "chartts-gauge-min",
|
|
107
107
|
fill: theme.textMuted,
|
|
108
108
|
textAnchor: "middle",
|
|
@@ -112,7 +112,7 @@ var gaugeChartType = {
|
|
|
112
112
|
}));
|
|
113
113
|
const maxX = cx + radius * Math.cos(toRad(30));
|
|
114
114
|
const maxY = cy + radius * Math.sin(toRad(30)) + strokeW / 2 + 12;
|
|
115
|
-
nodes.push(
|
|
115
|
+
nodes.push(chunk3TLJCGGQ_cjs.text(maxX, maxY, valueFormat(max), {
|
|
116
116
|
class: "chartts-gauge-max",
|
|
117
117
|
fill: theme.textMuted,
|
|
118
118
|
textAnchor: "middle",
|
|
@@ -128,7 +128,7 @@ var gaugeChartType = {
|
|
|
128
128
|
}
|
|
129
129
|
};
|
|
130
130
|
function strokeArc(cx, cy, r, startAngle, endAngle) {
|
|
131
|
-
const pb = new
|
|
131
|
+
const pb = new chunk3TLJCGGQ_cjs.PathBuilder();
|
|
132
132
|
const x1 = cx + r * Math.cos(startAngle);
|
|
133
133
|
const y1 = cy + r * Math.sin(startAngle);
|
|
134
134
|
const x2 = cx + r * Math.cos(endAngle);
|
|
@@ -142,5 +142,5 @@ function strokeArc(cx, cy, r, startAngle, endAngle) {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
exports.gaugeChartType = gaugeChartType;
|
|
145
|
-
//# sourceMappingURL=chunk-
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
145
|
+
//# sourceMappingURL=chunk-COPERSVL.cjs.map
|
|
146
|
+
//# sourceMappingURL=chunk-COPERSVL.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/gauge/gauge-type.ts"],"names":["prepareNoAxes","path","PathBuilder","circle","text"],"mappings":"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","file":"chunk-3TTTELGB.cjs","sourcesContent":["import type {\n ChartTypePlugin, ChartData, ResolvedOptions, PreparedData,\n RenderContext, RenderNode, HitResult, ScaleType,\n} from '../../types'\nimport { prepareNoAxes } from '../../utils/prepare'\nimport { path, circle, text } from '../../render/tree'\nimport { PathBuilder } from '../../render/tree'\n\nexport interface GaugeOptions {\n /** Minimum value. Default 0. */\n gaugeMin?: number\n /** Maximum value. Default 100. */\n gaugeMax?: number\n /** Show value text in center. Default true. */\n showValue?: boolean\n /** Value format function. Default: round to int. */\n valueFormat?: (v: number) => string\n}\n\n/**\n * Gauge / Meter chart — single-value 240° arc with stroke-based rendering.\n *\n * Uses stroke-linecap:round for clean rounded endcaps. No fill-based donut arcs.\n * Looks like a modern dashboard gauge (Grafana, Material style).\n */\nexport const gaugeChartType: ChartTypePlugin = {\n type: 'gauge',\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 gOpts = options as unknown as GaugeOptions\n const min = gOpts.gaugeMin ?? 0\n const max = gOpts.gaugeMax ?? 100\n const showValue = gOpts.showValue ?? true\n const valueFormat = gOpts.valueFormat ?? ((v: number) => String(Math.round(v)))\n\n const value = series.values[0]!\n const pct = Math.max(0, Math.min(1, (value - min) / (max - min || 1)))\n\n // ----- Layout -----\n const cx = area.x + area.width / 2\n\n // Arc angles: 240° sweep, opening at the bottom\n // Start at 150° (bottom-left), sweep CW to 30° (bottom-right)\n const toRad = (d: number) => (d * Math.PI) / 180\n const startRad = toRad(150)\n const endRad = toRad(390) // 390° = 30° but keeps sweep direction clear\n\n // Size the arc to fit within the area with padding for labels\n // The arc bottom-most points are at 150° and 30° — y = cy + r*sin(30°) = cy + r*0.5\n // The arc top is at cy - r\n // Below the arc we need ~50px for value text, label, min/max\n const labelSpace = Math.min(60, area.height * 0.22)\n const availH = area.height - labelSpace\n // Arc top to arc bottom-endpoints: r + r*sin(30°) = r*1.5\n // So r*1.5 + strokeW <= availH\n const maxRadiusH = (availH - 8) / 1.55\n const maxRadiusW = (area.width - 16) / 2\n const radius = Math.min(maxRadiusH, maxRadiusW)\n const strokeW = Math.max(12, Math.min(radius * 0.18, 28))\n\n // Position: the top of the arc (cy - radius - strokeW/2) should be just inside area.y\n const cy = area.y + radius + strokeW / 2 + 4\n\n // Arc bottom-left/right y coordinate\n const arcBottomY = cy + radius * Math.sin(toRad(30))\n\n // ----- Track arc (background) -----\n nodes.push(path(strokeArc(cx, cy, radius, startRad, endRad), {\n class: 'chartts-gauge-track',\n stroke: theme.gridColor,\n strokeWidth: strokeW,\n fill: 'none',\n opacity: 0.3,\n style: 'stroke-linecap:round',\n }))\n\n // ----- Value arc -----\n const color = options.colors[0]!\n if (pct > 0.005) {\n const valueRad = startRad + (endRad - startRad) * pct\n nodes.push(path(strokeArc(cx, cy, radius, startRad, valueRad), {\n class: 'chartts-gauge-fill',\n stroke: color,\n strokeWidth: strokeW,\n fill: 'none',\n style: 'stroke-linecap:round',\n 'data-series': 0,\n 'data-index': 0,\n }))\n }\n\n // ----- Needle -----\n const needleAngle = startRad + (endRad - startRad) * pct\n const needleLen = radius - strokeW / 2 - 2\n const needleTipX = cx + needleLen * Math.cos(needleAngle)\n const needleTipY = cy + needleLen * Math.sin(needleAngle)\n\n // Tapered needle triangle\n const baseR = 3.5\n const bAngle1 = needleAngle + Math.PI / 2\n const bAngle2 = needleAngle - Math.PI / 2\n const npb = new PathBuilder()\n npb.moveTo(needleTipX, needleTipY)\n npb.lineTo(cx + baseR * Math.cos(bAngle1), cy + baseR * Math.sin(bAngle1))\n npb.lineTo(cx + baseR * Math.cos(bAngle2), cy + baseR * Math.sin(bAngle2))\n npb.close()\n\n nodes.push(path(npb.build(), {\n class: 'chartts-gauge-needle',\n fill: color,\n opacity: 0.85,\n }))\n\n // Center cap\n nodes.push(circle(cx, cy, 5, {\n class: 'chartts-gauge-needle-cap',\n fill: color,\n }))\n\n // ----- Labels -----\n if (showValue) {\n // Big value — in the gap below the arc center\n const valueFontSize = Math.max(16, Math.min(radius * 0.35, 40))\n const valueY = arcBottomY + labelSpace * 0.28\n nodes.push(text(cx, valueY, valueFormat(value), {\n class: 'chartts-gauge-value',\n fill: theme.textColor,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: valueFontSize,\n fontFamily: theme.fontFamily,\n fontWeight: 700,\n }))\n\n // Series name\n if (series.name) {\n nodes.push(text(cx, valueY + valueFontSize * 0.85, series.name, {\n class: 'chartts-gauge-label',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n // Min / Max at arc endpoints\n const minX = cx + radius * Math.cos(startRad)\n const minY = cy + radius * Math.sin(startRad) + strokeW / 2 + 12\n nodes.push(text(minX, minY, valueFormat(min), {\n class: 'chartts-gauge-min',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n\n const maxX = cx + radius * Math.cos(toRad(30))\n const maxY = cy + radius * Math.sin(toRad(30)) + strokeW / 2 + 12\n nodes.push(text(maxX, maxY, valueFormat(max), {\n class: 'chartts-gauge-max',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n return nodes\n },\n\n hitTest(): HitResult | null {\n return null\n },\n}\n\n/**\n * Stroke-based arc path (open, for use with thick stroke + stroke-linecap:round).\n * Angles in radians, CW from positive X axis (SVG convention).\n */\nfunction strokeArc(\n cx: number, cy: number, r: number,\n startAngle: number, endAngle: number,\n): string {\n const pb = new PathBuilder()\n const x1 = cx + r * Math.cos(startAngle)\n const y1 = cy + r * Math.sin(startAngle)\n const x2 = cx + r * Math.cos(endAngle)\n const y2 = cy + r * Math.sin(endAngle)\n\n let span = endAngle - startAngle\n if (span < 0) span += 2 * Math.PI\n const largeArc = span > Math.PI\n\n pb.moveTo(x1, y1)\n pb.arc(r, r, 0, largeArc, true, x2, y2)\n return pb.build()\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/gauge/gauge-type.ts"],"names":["prepareNoAxes","path","PathBuilder","circle","text"],"mappings":"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","file":"chunk-COPERSVL.cjs","sourcesContent":["import type {\n ChartTypePlugin, ChartData, ResolvedOptions, PreparedData,\n RenderContext, RenderNode, HitResult, ScaleType,\n} from '../../types'\nimport { prepareNoAxes } from '../../utils/prepare'\nimport { path, circle, text } from '../../render/tree'\nimport { PathBuilder } from '../../render/tree'\n\nexport interface GaugeOptions {\n /** Minimum value. Default 0. */\n gaugeMin?: number\n /** Maximum value. Default 100. */\n gaugeMax?: number\n /** Show value text in center. Default true. */\n showValue?: boolean\n /** Value format function. Default: round to int. */\n valueFormat?: (v: number) => string\n}\n\n/**\n * Gauge / Meter chart — single-value 240° arc with stroke-based rendering.\n *\n * Uses stroke-linecap:round for clean rounded endcaps. No fill-based donut arcs.\n * Looks like a modern dashboard gauge (Grafana, Material style).\n */\nexport const gaugeChartType: ChartTypePlugin = {\n type: 'gauge',\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 gOpts = options as unknown as GaugeOptions\n const min = gOpts.gaugeMin ?? 0\n const max = gOpts.gaugeMax ?? 100\n const showValue = gOpts.showValue ?? true\n const valueFormat = gOpts.valueFormat ?? ((v: number) => String(Math.round(v)))\n\n const value = series.values[0]!\n const pct = Math.max(0, Math.min(1, (value - min) / (max - min || 1)))\n\n // ----- Layout -----\n const cx = area.x + area.width / 2\n\n // Arc angles: 240° sweep, opening at the bottom\n // Start at 150° (bottom-left), sweep CW to 30° (bottom-right)\n const toRad = (d: number) => (d * Math.PI) / 180\n const startRad = toRad(150)\n const endRad = toRad(390) // 390° = 30° but keeps sweep direction clear\n\n // Size the arc to fit within the area with padding for labels\n // The arc bottom-most points are at 150° and 30° — y = cy + r*sin(30°) = cy + r*0.5\n // The arc top is at cy - r\n // Below the arc we need ~50px for value text, label, min/max\n const labelSpace = Math.min(60, area.height * 0.22)\n const availH = area.height - labelSpace\n // Arc top to arc bottom-endpoints: r + r*sin(30°) = r*1.5\n // So r*1.5 + strokeW <= availH\n const maxRadiusH = (availH - 8) / 1.55\n const maxRadiusW = (area.width - 16) / 2\n const radius = Math.min(maxRadiusH, maxRadiusW)\n const strokeW = Math.max(12, Math.min(radius * 0.18, 28))\n\n // Position: the top of the arc (cy - radius - strokeW/2) should be just inside area.y\n const cy = area.y + radius + strokeW / 2 + 4\n\n // Arc bottom-left/right y coordinate\n const arcBottomY = cy + radius * Math.sin(toRad(30))\n\n // ----- Track arc (background) -----\n nodes.push(path(strokeArc(cx, cy, radius, startRad, endRad), {\n class: 'chartts-gauge-track',\n stroke: theme.gridColor,\n strokeWidth: strokeW,\n fill: 'none',\n opacity: 0.3,\n style: 'stroke-linecap:round',\n }))\n\n // ----- Value arc -----\n const color = options.colors[0]!\n if (pct > 0.005) {\n const valueRad = startRad + (endRad - startRad) * pct\n nodes.push(path(strokeArc(cx, cy, radius, startRad, valueRad), {\n class: 'chartts-gauge-fill',\n stroke: color,\n strokeWidth: strokeW,\n fill: 'none',\n style: 'stroke-linecap:round',\n 'data-series': 0,\n 'data-index': 0,\n }))\n }\n\n // ----- Needle -----\n const needleAngle = startRad + (endRad - startRad) * pct\n const needleLen = radius - strokeW / 2 - 2\n const needleTipX = cx + needleLen * Math.cos(needleAngle)\n const needleTipY = cy + needleLen * Math.sin(needleAngle)\n\n // Tapered needle triangle\n const baseR = 3.5\n const bAngle1 = needleAngle + Math.PI / 2\n const bAngle2 = needleAngle - Math.PI / 2\n const npb = new PathBuilder()\n npb.moveTo(needleTipX, needleTipY)\n npb.lineTo(cx + baseR * Math.cos(bAngle1), cy + baseR * Math.sin(bAngle1))\n npb.lineTo(cx + baseR * Math.cos(bAngle2), cy + baseR * Math.sin(bAngle2))\n npb.close()\n\n nodes.push(path(npb.build(), {\n class: 'chartts-gauge-needle',\n fill: color,\n opacity: 0.85,\n }))\n\n // Center cap\n nodes.push(circle(cx, cy, 5, {\n class: 'chartts-gauge-needle-cap',\n fill: color,\n }))\n\n // ----- Labels -----\n if (showValue) {\n // Big value — in the gap below the arc center\n const valueFontSize = Math.max(16, Math.min(radius * 0.35, 40))\n const valueY = arcBottomY + labelSpace * 0.28\n nodes.push(text(cx, valueY, valueFormat(value), {\n class: 'chartts-gauge-value',\n fill: theme.textColor,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: valueFontSize,\n fontFamily: theme.fontFamily,\n fontWeight: 700,\n }))\n\n // Series name\n if (series.name) {\n nodes.push(text(cx, valueY + valueFontSize * 0.85, series.name, {\n class: 'chartts-gauge-label',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n // Min / Max at arc endpoints\n const minX = cx + radius * Math.cos(startRad)\n const minY = cy + radius * Math.sin(startRad) + strokeW / 2 + 12\n nodes.push(text(minX, minY, valueFormat(min), {\n class: 'chartts-gauge-min',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n\n const maxX = cx + radius * Math.cos(toRad(30))\n const maxY = cy + radius * Math.sin(toRad(30)) + strokeW / 2 + 12\n nodes.push(text(maxX, maxY, valueFormat(max), {\n class: 'chartts-gauge-max',\n fill: theme.textMuted,\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n return nodes\n },\n\n hitTest(): HitResult | null {\n return null\n },\n}\n\n/**\n * Stroke-based arc path (open, for use with thick stroke + stroke-linecap:round).\n * Angles in radians, CW from positive X axis (SVG convention).\n */\nfunction strokeArc(\n cx: number, cy: number, r: number,\n startAngle: number, endAngle: number,\n): string {\n const pb = new PathBuilder()\n const x1 = cx + r * Math.cos(startAngle)\n const y1 = cy + r * Math.sin(startAngle)\n const x2 = cx + r * Math.cos(endAngle)\n const y2 = cy + r * Math.sin(endAngle)\n\n let span = endAngle - startAngle\n if (span < 0) span += 2 * Math.PI\n const largeArc = span > Math.PI\n\n pb.moveTo(x1, y1)\n pb.arc(r, r, 0, largeArc, true, x2, y2)\n return pb.build()\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkHOPFELRP_cjs = require('./chunk-HOPFELRP.cjs');
|
|
4
|
+
var chunk3TLJCGGQ_cjs = require('./chunk-3TLJCGGQ.cjs');
|
|
5
5
|
|
|
6
6
|
// src/charts/geo/world-regions.ts
|
|
7
7
|
var WORLD_REGIONS = [
|
|
@@ -236,14 +236,14 @@ var geoChartType = {
|
|
|
236
236
|
return { x: "categorical", y: "linear" };
|
|
237
237
|
},
|
|
238
238
|
prepareData(data, options) {
|
|
239
|
-
return
|
|
239
|
+
return chunkHOPFELRP_cjs.prepareNoAxes(data, options);
|
|
240
240
|
},
|
|
241
241
|
render(ctx) {
|
|
242
242
|
const { data, area, theme, options } = ctx;
|
|
243
243
|
const nodes = [];
|
|
244
244
|
const gOpts = options;
|
|
245
245
|
const regions = gOpts.regions ?? WORLD_SIMPLE;
|
|
246
|
-
const showLabels = gOpts.showLabels
|
|
246
|
+
const showLabels = gOpts.showLabels === true;
|
|
247
247
|
if (regions.length === 0) return nodes;
|
|
248
248
|
const valueMap = /* @__PURE__ */ new Map();
|
|
249
249
|
const series = data.series[0];
|
|
@@ -256,10 +256,10 @@ var geoChartType = {
|
|
|
256
256
|
const minVal = values.length > 0 ? Math.min(...values) : 0;
|
|
257
257
|
const maxVal = values.length > 0 ? Math.max(...values) : 1;
|
|
258
258
|
const range = maxVal - minVal || 1;
|
|
259
|
-
const vb = gOpts.viewBox ?? { x: 0, y: 0, width:
|
|
259
|
+
const vb = gOpts.viewBox ?? { x: 0, y: 0, width: 1e3, height: 430 };
|
|
260
260
|
const scaleX = area.width / vb.width;
|
|
261
261
|
const scaleY = area.height / vb.height;
|
|
262
|
-
const scale = Math.min(scaleX, scaleY) * 0.
|
|
262
|
+
const scale = Math.min(scaleX, scaleY) * 0.85;
|
|
263
263
|
const offsetX = area.x + (area.width - vb.width * scale) / 2 - vb.x * scale;
|
|
264
264
|
const offsetY = area.y + (area.height - vb.height * scale) / 2 - vb.y * scale;
|
|
265
265
|
const transform = `translate(${offsetX},${offsetY}) scale(${scale})`;
|
|
@@ -270,7 +270,7 @@ var geoChartType = {
|
|
|
270
270
|
const t = hasData ? (val - minVal) / range : 0;
|
|
271
271
|
const baseColor = options.colors[0] ?? "#3b82f6";
|
|
272
272
|
const fillOpacity = hasData ? 0.15 + t * 0.8 : 0.08;
|
|
273
|
-
nodes.push(
|
|
273
|
+
nodes.push(chunk3TLJCGGQ_cjs.path(region.path, {
|
|
274
274
|
class: "chartts-geo-region",
|
|
275
275
|
fill: hasData ? baseColor : theme.gridColor,
|
|
276
276
|
fillOpacity,
|
|
@@ -291,7 +291,7 @@ var geoChartType = {
|
|
|
291
291
|
if (!centroid) continue;
|
|
292
292
|
const lx = offsetX + centroid.x * scale;
|
|
293
293
|
const ly = offsetY + centroid.y * scale;
|
|
294
|
-
nodes.push(
|
|
294
|
+
nodes.push(chunk3TLJCGGQ_cjs.text(lx, ly, region.name, {
|
|
295
295
|
class: "chartts-geo-label",
|
|
296
296
|
fill: theme.textColor,
|
|
297
297
|
textAnchor: "middle",
|
|
@@ -319,7 +319,7 @@ var geoChartType = {
|
|
|
319
319
|
const sy = offsetY + centroid.y * scale;
|
|
320
320
|
const r = 3 + val / maxScatter * 12;
|
|
321
321
|
const color = options.colors[1 % options.colors.length];
|
|
322
|
-
scatterNodes.push(
|
|
322
|
+
scatterNodes.push(chunk3TLJCGGQ_cjs.circle(sx, sy, r, {
|
|
323
323
|
class: "chartts-geo-scatter",
|
|
324
324
|
fill: color,
|
|
325
325
|
fillOpacity: 0.6,
|
|
@@ -330,7 +330,7 @@ var geoChartType = {
|
|
|
330
330
|
}));
|
|
331
331
|
}
|
|
332
332
|
if (scatterNodes.length > 0) {
|
|
333
|
-
nodes.push(
|
|
333
|
+
nodes.push(chunk3TLJCGGQ_cjs.group(scatterNodes, { class: "chartts-geo-scatter-layer" }));
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
336
|
return nodes;
|
|
@@ -356,5 +356,5 @@ function getPathCentroid(d) {
|
|
|
356
356
|
exports.WORLD_REGIONS = WORLD_REGIONS;
|
|
357
357
|
exports.WORLD_SIMPLE = WORLD_SIMPLE;
|
|
358
358
|
exports.geoChartType = geoChartType;
|
|
359
|
-
//# sourceMappingURL=chunk-
|
|
360
|
-
//# sourceMappingURL=chunk-
|
|
359
|
+
//# sourceMappingURL=chunk-D2IP3MWJ.cjs.map
|
|
360
|
+
//# sourceMappingURL=chunk-D2IP3MWJ.cjs.map
|