@chartts/core 0.1.3 → 0.1.4
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-XKERO5K2.js → chunk-24557PYN.js} +3 -3
- package/dist/{chunk-XKERO5K2.js.map → chunk-24557PYN.js.map} +1 -1
- package/dist/{chunk-5YNIOIKK.js → chunk-2BUIZDOB.js} +3 -3
- package/dist/{chunk-5YNIOIKK.js.map → chunk-2BUIZDOB.js.map} +1 -1
- package/dist/{chunk-EHKHXQ46.cjs → chunk-2IMUTDTD.cjs} +10 -10
- package/dist/{chunk-EHKHXQ46.cjs.map → chunk-2IMUTDTD.cjs.map} +1 -1
- package/dist/{chunk-7ZPHLIFP.cjs → chunk-2IWLOBSF.cjs} +6 -6
- package/dist/{chunk-7ZPHLIFP.cjs.map → chunk-2IWLOBSF.cjs.map} +1 -1
- package/dist/{chunk-F5AOBHQY.js → chunk-2JYK52HV.js} +4 -4
- package/dist/{chunk-F5AOBHQY.js.map → chunk-2JYK52HV.js.map} +1 -1
- package/dist/{chunk-WVQVGQJO.cjs → chunk-2QRCHYTZ.cjs} +7 -7
- package/dist/{chunk-WVQVGQJO.cjs.map → chunk-2QRCHYTZ.cjs.map} +1 -1
- package/dist/{chunk-XWCY67K5.js → chunk-34DQGCPP.js} +4 -4
- package/dist/{chunk-XWCY67K5.js.map → chunk-34DQGCPP.js.map} +1 -1
- package/dist/{chunk-5J26EN5I.js → chunk-3JB4JBBK.js} +4 -4
- package/dist/{chunk-5J26EN5I.js.map → chunk-3JB4JBBK.js.map} +1 -1
- package/dist/{chunk-EHNX3MG3.cjs → chunk-3NHH6C4K.cjs} +13 -13
- package/dist/{chunk-EHNX3MG3.cjs.map → chunk-3NHH6C4K.cjs.map} +1 -1
- package/dist/{chunk-ECB3UPTC.cjs → chunk-3SVNEKXE.cjs} +11 -11
- package/dist/{chunk-ECB3UPTC.cjs.map → chunk-3SVNEKXE.cjs.map} +1 -1
- package/dist/{chunk-BYB3LQAT.cjs → chunk-4D6PVH2C.cjs} +9 -9
- package/dist/{chunk-BYB3LQAT.cjs.map → chunk-4D6PVH2C.cjs.map} +1 -1
- package/dist/{chunk-NG7DRWWT.cjs → chunk-4MNVJVK3.cjs} +6 -6
- package/dist/{chunk-NG7DRWWT.cjs.map → chunk-4MNVJVK3.cjs.map} +1 -1
- package/dist/{chunk-RQJRVKAH.js → chunk-4QRND2V5.js} +3 -3
- package/dist/{chunk-RQJRVKAH.js.map → chunk-4QRND2V5.js.map} +1 -1
- package/dist/{chunk-NGKUI7XE.cjs → chunk-55ZTXQQQ.cjs} +12 -12
- package/dist/{chunk-NGKUI7XE.cjs.map → chunk-55ZTXQQQ.cjs.map} +1 -1
- package/dist/{chunk-2MWA7H6J.js → chunk-56BN43J4.js} +5 -5
- package/dist/{chunk-2MWA7H6J.js.map → chunk-56BN43J4.js.map} +1 -1
- package/dist/{chunk-RJIPFWW7.js → chunk-5E7FXDBM.js} +4 -4
- package/dist/{chunk-RJIPFWW7.js.map → chunk-5E7FXDBM.js.map} +1 -1
- package/dist/{chunk-ILCWDAKD.js → chunk-5HZEDCJG.js} +3 -3
- package/dist/{chunk-ILCWDAKD.js.map → chunk-5HZEDCJG.js.map} +1 -1
- package/dist/{chunk-DKXW2FQC.cjs → chunk-5QT67VYJ.cjs} +10 -10
- package/dist/{chunk-DKXW2FQC.cjs.map → chunk-5QT67VYJ.cjs.map} +1 -1
- package/dist/{chunk-XE5ZYFGM.js → chunk-5QVUBGM7.js} +4 -4
- package/dist/{chunk-XE5ZYFGM.js.map → chunk-5QVUBGM7.js.map} +1 -1
- package/dist/{chunk-DR5MQC3W.js → chunk-62DBXI4N.js} +4 -4
- package/dist/{chunk-DR5MQC3W.js.map → chunk-62DBXI4N.js.map} +1 -1
- package/dist/{chunk-HMB2RIEE.js → chunk-6QMV75NT.js} +4 -4
- package/dist/{chunk-HMB2RIEE.js.map → chunk-6QMV75NT.js.map} +1 -1
- package/dist/{chunk-OUN3MWRQ.cjs → chunk-754Z4OR6.cjs} +10 -10
- package/dist/{chunk-OUN3MWRQ.cjs.map → chunk-754Z4OR6.cjs.map} +1 -1
- package/dist/{chunk-3SOKHPAO.js → chunk-7GLCJPV5.js} +4 -4
- package/dist/{chunk-3SOKHPAO.js.map → chunk-7GLCJPV5.js.map} +1 -1
- package/dist/{chunk-PQCHNZHM.cjs → chunk-7PHOSSLJ.cjs} +9 -9
- package/dist/{chunk-PQCHNZHM.cjs.map → chunk-7PHOSSLJ.cjs.map} +1 -1
- package/dist/{chunk-VBEZS3Q4.cjs → chunk-A5G32G2R.cjs} +9 -9
- package/dist/{chunk-VBEZS3Q4.cjs.map → chunk-A5G32G2R.cjs.map} +1 -1
- package/dist/{chunk-DX4FBN3I.js → chunk-AEQXFDL7.js} +14 -9
- package/dist/chunk-AEQXFDL7.js.map +1 -0
- package/dist/{chunk-RHTVKBRC.cjs → chunk-ATMSGQCW.cjs} +9 -9
- package/dist/{chunk-RHTVKBRC.cjs.map → chunk-ATMSGQCW.cjs.map} +1 -1
- package/dist/{chunk-2ITF366P.js → chunk-BFBVJ6MU.js} +3 -3
- package/dist/{chunk-2ITF366P.js.map → chunk-BFBVJ6MU.js.map} +1 -1
- package/dist/{chunk-E43H3A3G.cjs → chunk-BGGESAAG.cjs} +7 -7
- package/dist/{chunk-E43H3A3G.cjs.map → chunk-BGGESAAG.cjs.map} +1 -1
- package/dist/{chunk-R6ZDSXN7.cjs → chunk-CA42BCSM.cjs} +8 -8
- package/dist/{chunk-R6ZDSXN7.cjs.map → chunk-CA42BCSM.cjs.map} +1 -1
- package/dist/{chunk-FV7R2LLD.js → chunk-CU5ZXVZQ.js} +4 -4
- package/dist/{chunk-FV7R2LLD.js.map → chunk-CU5ZXVZQ.js.map} +1 -1
- package/dist/{chunk-JNQ4NL3R.cjs → chunk-CUIPBYMG.cjs} +8 -8
- package/dist/{chunk-JNQ4NL3R.cjs.map → chunk-CUIPBYMG.cjs.map} +1 -1
- package/dist/{chunk-CCMLOCTH.js → chunk-CWZADOJ6.js} +3 -3
- package/dist/{chunk-CCMLOCTH.js.map → chunk-CWZADOJ6.js.map} +1 -1
- package/dist/{chunk-FZIBM3G5.cjs → chunk-D5QUAWF3.cjs} +10 -10
- package/dist/{chunk-FZIBM3G5.cjs.map → chunk-D5QUAWF3.cjs.map} +1 -1
- package/dist/{chunk-YZQROIJY.js → chunk-DAAU5H24.js} +3 -3
- package/dist/{chunk-YZQROIJY.js.map → chunk-DAAU5H24.js.map} +1 -1
- package/dist/{chunk-GAWIUMAK.cjs → chunk-DT4GG5BF.cjs} +7 -7
- package/dist/{chunk-GAWIUMAK.cjs.map → chunk-DT4GG5BF.cjs.map} +1 -1
- package/dist/{chunk-4L62MAZA.js → chunk-DX77WSIB.js} +5 -5
- package/dist/{chunk-4L62MAZA.js.map → chunk-DX77WSIB.js.map} +1 -1
- package/dist/{chunk-4ORSJM2I.js → chunk-EPUWA3ZW.js} +4 -4
- package/dist/{chunk-4ORSJM2I.js.map → chunk-EPUWA3ZW.js.map} +1 -1
- package/dist/{chunk-ZTUKOCJN.cjs → chunk-ESJMEDLY.cjs} +4 -4
- package/dist/{chunk-ZTUKOCJN.cjs.map → chunk-ESJMEDLY.cjs.map} +1 -1
- package/dist/{chunk-6JNW43SE.js → chunk-EWVXMQRW.js} +5 -5
- package/dist/{chunk-6JNW43SE.js.map → chunk-EWVXMQRW.js.map} +1 -1
- package/dist/{chunk-LIY7MYRG.js → chunk-FGBIJ6PL.js} +4 -4
- package/dist/{chunk-LIY7MYRG.js.map → chunk-FGBIJ6PL.js.map} +1 -1
- package/dist/{chunk-OFEROCC5.cjs → chunk-FGHSUT6X.cjs} +6 -6
- package/dist/{chunk-OFEROCC5.cjs.map → chunk-FGHSUT6X.cjs.map} +1 -1
- package/dist/{chunk-QKJUAMRK.cjs → chunk-FVLVTY5D.cjs} +6 -6
- package/dist/{chunk-QKJUAMRK.cjs.map → chunk-FVLVTY5D.cjs.map} +1 -1
- package/dist/{chunk-YX6RW6ZW.cjs → chunk-GBL4R3GH.cjs} +6 -6
- package/dist/{chunk-YX6RW6ZW.cjs.map → chunk-GBL4R3GH.cjs.map} +1 -1
- package/dist/{chunk-SXVMEC6N.cjs → chunk-GRXHW5S3.cjs} +12 -12
- package/dist/{chunk-SXVMEC6N.cjs.map → chunk-GRXHW5S3.cjs.map} +1 -1
- package/dist/{chunk-K5TPJVOK.js → chunk-HCIBBUV5.js} +3 -3
- package/dist/{chunk-K5TPJVOK.js.map → chunk-HCIBBUV5.js.map} +1 -1
- package/dist/{chunk-HFWO37RY.cjs → chunk-HCK2VUWD.cjs} +8 -8
- package/dist/{chunk-HFWO37RY.cjs.map → chunk-HCK2VUWD.cjs.map} +1 -1
- package/dist/{chunk-FSDI3NJV.js → chunk-IDZTDJLH.js} +3 -3
- package/dist/{chunk-FSDI3NJV.js.map → chunk-IDZTDJLH.js.map} +1 -1
- package/dist/{chunk-FDNJNVKA.cjs → chunk-IF6RQ53Q.cjs} +9 -9
- package/dist/{chunk-FDNJNVKA.cjs.map → chunk-IF6RQ53Q.cjs.map} +1 -1
- package/dist/{chunk-PVPTFMJJ.js → chunk-IOV77VHP.js} +4 -4
- package/dist/{chunk-PVPTFMJJ.js.map → chunk-IOV77VHP.js.map} +1 -1
- package/dist/{chunk-UMIJYYF3.cjs → chunk-JVVGQLJQ.cjs} +14 -9
- package/dist/chunk-JVVGQLJQ.cjs.map +1 -0
- package/dist/{chunk-MY4KMVJ5.cjs → chunk-JYVRX3BX.cjs} +8 -8
- package/dist/{chunk-MY4KMVJ5.cjs.map → chunk-JYVRX3BX.cjs.map} +1 -1
- package/dist/{chunk-ZY7ETQD6.js → chunk-KHG3G2ZX.js} +3 -3
- package/dist/{chunk-ZY7ETQD6.js.map → chunk-KHG3G2ZX.js.map} +1 -1
- package/dist/{chunk-ASNAQ35U.js → chunk-KNMEXOKJ.js} +4 -4
- package/dist/{chunk-ASNAQ35U.js.map → chunk-KNMEXOKJ.js.map} +1 -1
- package/dist/{chunk-WYIIWTIR.cjs → chunk-KWSVJRXX.cjs} +4 -4
- package/dist/{chunk-WYIIWTIR.cjs.map → chunk-KWSVJRXX.cjs.map} +1 -1
- package/dist/{chunk-OAL5RS2X.cjs → chunk-LARNENXE.cjs} +10 -10
- package/dist/{chunk-OAL5RS2X.cjs.map → chunk-LARNENXE.cjs.map} +1 -1
- package/dist/{chunk-MYXLKVJE.js → chunk-LRHMLNPW.js} +12 -4
- package/dist/chunk-LRHMLNPW.js.map +1 -0
- package/dist/{chunk-66BHM3UN.cjs → chunk-LXYNL7BI.cjs} +10 -10
- package/dist/{chunk-66BHM3UN.cjs.map → chunk-LXYNL7BI.cjs.map} +1 -1
- package/dist/{chunk-V45C74EB.js → chunk-MEERXUZS.js} +4 -4
- package/dist/{chunk-V45C74EB.js.map → chunk-MEERXUZS.js.map} +1 -1
- package/dist/{chunk-YJHB2GHQ.js → chunk-MJY25P44.js} +3 -3
- package/dist/{chunk-YJHB2GHQ.js.map → chunk-MJY25P44.js.map} +1 -1
- package/dist/{chunk-6UWYKNFN.cjs → chunk-MSCRIA2U.cjs} +12 -12
- package/dist/{chunk-6UWYKNFN.cjs.map → chunk-MSCRIA2U.cjs.map} +1 -1
- package/dist/{chunk-UZH6PVHD.js → chunk-N35UAFEU.js} +4 -4
- package/dist/{chunk-UZH6PVHD.js.map → chunk-N35UAFEU.js.map} +1 -1
- package/dist/{chunk-6E6ZDWZD.cjs → chunk-NE2W2MF3.cjs} +10 -10
- package/dist/{chunk-6E6ZDWZD.cjs.map → chunk-NE2W2MF3.cjs.map} +1 -1
- package/dist/{chunk-7PNCJ4OQ.js → chunk-NQ7Y6ZKH.js} +3 -3
- package/dist/{chunk-7PNCJ4OQ.js.map → chunk-NQ7Y6ZKH.js.map} +1 -1
- package/dist/{chunk-LK2A3HBT.js → chunk-NRULNA5F.js} +4 -4
- package/dist/{chunk-LK2A3HBT.js.map → chunk-NRULNA5F.js.map} +1 -1
- package/dist/{chunk-47EP245Y.cjs → chunk-OEGSDOJ2.cjs} +7 -7
- package/dist/{chunk-47EP245Y.cjs.map → chunk-OEGSDOJ2.cjs.map} +1 -1
- package/dist/{chunk-ZFSFOD5W.cjs → chunk-OMAW52LY.cjs} +6 -6
- package/dist/{chunk-ZFSFOD5W.cjs.map → chunk-OMAW52LY.cjs.map} +1 -1
- package/dist/{chunk-YOLF5DYU.js → chunk-OMSHGBV3.js} +4 -4
- package/dist/{chunk-YOLF5DYU.js.map → chunk-OMSHGBV3.js.map} +1 -1
- package/dist/{chunk-4H2LGLGI.cjs → chunk-OTXHJHXU.cjs} +11 -11
- package/dist/{chunk-4H2LGLGI.cjs.map → chunk-OTXHJHXU.cjs.map} +1 -1
- package/dist/{chunk-DRIJNFWP.cjs → chunk-PCAYYCLY.cjs} +10 -10
- package/dist/{chunk-DRIJNFWP.cjs.map → chunk-PCAYYCLY.cjs.map} +1 -1
- package/dist/{chunk-QERWC7U6.js → chunk-PKXW45G4.js} +3 -3
- package/dist/{chunk-QERWC7U6.js.map → chunk-PKXW45G4.js.map} +1 -1
- package/dist/{chunk-YDQDZWZ7.cjs → chunk-QEPMEEZC.cjs} +6 -6
- package/dist/{chunk-YDQDZWZ7.cjs.map → chunk-QEPMEEZC.cjs.map} +1 -1
- package/dist/{chunk-G6R6MSRF.cjs → chunk-QPHUAF3R.cjs} +8 -8
- package/dist/{chunk-G6R6MSRF.cjs.map → chunk-QPHUAF3R.cjs.map} +1 -1
- package/dist/{chunk-RFEKSP62.js → chunk-QPHWRD25.js} +3 -3
- package/dist/{chunk-RFEKSP62.js.map → chunk-QPHWRD25.js.map} +1 -1
- package/dist/{chunk-XN6YS55F.cjs → chunk-QYI7ZV3B.cjs} +30 -22
- package/dist/chunk-QYI7ZV3B.cjs.map +1 -0
- package/dist/{chunk-3V64BDKG.cjs → chunk-R2W3RJFW.cjs} +13 -13
- package/dist/{chunk-3V64BDKG.cjs.map → chunk-R2W3RJFW.cjs.map} +1 -1
- package/dist/{chunk-46ZZTP5B.js → chunk-SGZUUUXU.js} +4 -4
- package/dist/{chunk-46ZZTP5B.js.map → chunk-SGZUUUXU.js.map} +1 -1
- package/dist/{chunk-MPQECPE3.js → chunk-T7SCCACB.js} +3 -3
- package/dist/{chunk-MPQECPE3.js.map → chunk-T7SCCACB.js.map} +1 -1
- package/dist/{chunk-GPSNBZPX.js → chunk-TC3H6ZED.js} +4 -4
- package/dist/{chunk-GPSNBZPX.js.map → chunk-TC3H6ZED.js.map} +1 -1
- package/dist/{chunk-AG7VY6MJ.cjs → chunk-TEZNWW3R.cjs} +8 -8
- package/dist/{chunk-AG7VY6MJ.cjs.map → chunk-TEZNWW3R.cjs.map} +1 -1
- package/dist/{chunk-KTCP23W6.js → chunk-THHZMRFU.js} +3 -3
- package/dist/{chunk-KTCP23W6.js.map → chunk-THHZMRFU.js.map} +1 -1
- package/dist/{chunk-RWQH5EO5.cjs → chunk-TLHQ6JCK.cjs} +11 -11
- package/dist/{chunk-RWQH5EO5.cjs.map → chunk-TLHQ6JCK.cjs.map} +1 -1
- package/dist/{chunk-CDS2NXGT.cjs → chunk-V5Q6UNUK.cjs} +4 -4
- package/dist/{chunk-CDS2NXGT.cjs.map → chunk-V5Q6UNUK.cjs.map} +1 -1
- package/dist/{chunk-BT5H3WMI.js → chunk-VBMLJUBE.js} +4 -4
- package/dist/{chunk-BT5H3WMI.js.map → chunk-VBMLJUBE.js.map} +1 -1
- package/dist/{chunk-UFMPALRH.js → chunk-VGJD4F4H.js} +3 -3
- package/dist/{chunk-UFMPALRH.js.map → chunk-VGJD4F4H.js.map} +1 -1
- package/dist/{chunk-RN7NNB6I.js → chunk-VJXUBN7J.js} +3 -3
- package/dist/{chunk-RN7NNB6I.js.map → chunk-VJXUBN7J.js.map} +1 -1
- package/dist/{chunk-TVDQNLGJ.js → chunk-VUHNBLFA.js} +3 -3
- package/dist/{chunk-TVDQNLGJ.js.map → chunk-VUHNBLFA.js.map} +1 -1
- package/dist/{chunk-OAIMES5S.cjs → chunk-W476ER4X.cjs} +17 -17
- package/dist/{chunk-OAIMES5S.cjs.map → chunk-W476ER4X.cjs.map} +1 -1
- package/dist/{chunk-4XVJYNOT.js → chunk-WZCES5M6.js} +4 -4
- package/dist/{chunk-4XVJYNOT.js.map → chunk-WZCES5M6.js.map} +1 -1
- package/dist/{chunk-2EZ2TVYT.cjs → chunk-Y6CVUI6A.cjs} +13 -13
- package/dist/{chunk-2EZ2TVYT.cjs.map → chunk-Y6CVUI6A.cjs.map} +1 -1
- package/dist/{chunk-4WQUX2B4.cjs → chunk-YCL43UQM.cjs} +12 -12
- package/dist/{chunk-4WQUX2B4.cjs.map → chunk-YCL43UQM.cjs.map} +1 -1
- package/dist/{chunk-XWN43PZF.cjs → chunk-YZXRD6K6.cjs} +7 -7
- package/dist/{chunk-XWN43PZF.cjs.map → chunk-YZXRD6K6.cjs.map} +1 -1
- package/dist/{chunk-IRUIWMH6.js → chunk-ZFGLBJYC.js} +3 -3
- package/dist/{chunk-IRUIWMH6.js.map → chunk-ZFGLBJYC.js.map} +1 -1
- package/dist/{chunk-6EGHZDZI.cjs → chunk-ZNKVOTPB.cjs} +15 -15
- package/dist/{chunk-6EGHZDZI.cjs.map → chunk-ZNKVOTPB.cjs.map} +1 -1
- package/dist/{chunk-WJP6CRML.js → chunk-ZOEN3ARN.js} +3 -3
- package/dist/{chunk-WJP6CRML.js.map → chunk-ZOEN3ARN.js.map} +1 -1
- package/dist/{chunk-TWSWD4PU.js → chunk-ZYXRRVR6.js} +3 -3
- package/dist/{chunk-TWSWD4PU.js.map → chunk-ZYXRRVR6.js.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.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 +180 -180
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +92 -92
- 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 +11 -11
- package/dist/pie.js +6 -6
- 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/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-DX4FBN3I.js.map +0 -1
- package/dist/chunk-MYXLKVJE.js.map +0 -1
- package/dist/chunk-UMIJYYF3.cjs.map +0 -1
- package/dist/chunk-XN6YS55F.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/bar/horizontal-bar-type.ts"],"names":[],"mappings":"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","file":"chunk-FSDI3NJV.js","sourcesContent":["import type {\n ChartTypePlugin, ChartData, ResolvedOptions, PreparedData,\n RenderContext, RenderNode, HitResult, ScaleType,\n} from '../../types'\nimport { prepareData } from '../../data/prepare'\nimport { group, rect, path, text } from '../../render/tree'\nimport { formatNum } from '../../utils/format'\nimport { createHorizontalMapper } from '../../utils/scale'\n\n/**\n * Horizontal bar chart — bars grow left-to-right.\n *\n * Uses the xScale for categories (mapped to y positions) and yScale for values\n * (mapped to x positions), but transposes the rendering.\n */\nexport const horizontalBarChartType: ChartTypePlugin = {\n type: 'horizontal-bar',\n\n getScaleTypes(): { x: ScaleType; y: ScaleType } {\n return { x: 'categorical', y: 'linear' }\n },\n\n prepareData(data: ChartData, options: ResolvedOptions): PreparedData {\n const prepared = prepareData(data, {\n ...options,\n xAxis: false,\n yAxis: false,\n xGrid: false,\n yGrid: false,\n legend: false,\n })\n if (options.yMin === undefined && prepared.bounds.yMin > 0) {\n prepared.bounds.yMin = 0\n }\n if (options.yMax === undefined && prepared.bounds.yMax < 0) {\n prepared.bounds.yMax = 0\n }\n return prepared\n },\n\n render(ctx: RenderContext): RenderNode[] {\n const { data, area, options, yScale, theme } = ctx\n const nodes: RenderNode[] = []\n\n const seriesCount = data.series.length\n const pointCount = data.series[0]?.values.length ?? 0\n if (pointCount === 0) return nodes\n\n // Reserve space for category labels on the left\n const labelWidth = Math.min(70, area.width * 0.2)\n const chartX = area.x + labelWidth\n const chartW = area.width - labelWidth\n\n // In horizontal mode:\n // - Y axis becomes categories\n // - X axis becomes value axis (use yScale for values mapped to x positions)\n const categoryHeight = area.height / pointCount\n const barGap = options.barGap\n const groupHeight = categoryHeight * (1 - barGap)\n const barHeight = groupHeight / seriesCount\n const groupOffset = -groupHeight / 2\n\n const valueToX = createHorizontalMapper(yScale, area, chartX, chartW)\n const zeroX = valueToX(0)\n\n // Category labels on the left\n for (let i = 0; i < pointCount; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n nodes.push(text(area.x + labelWidth - 6, catCenter, String(data.labels[i] ?? ''), {\n class: 'chartts-hbar-label',\n fill: theme.textMuted,\n textAnchor: 'end',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n for (const series of data.series) {\n const barNodes: RenderNode[] = []\n\n for (let i = 0; i < series.values.length; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n const barY = catCenter + groupOffset + series.index * barHeight\n const vx = valueToX(series.values[i]!)\n\n const x = Math.min(vx, zeroX)\n const w = Math.abs(vx - zeroX)\n const isPositive = series.values[i]! >= 0\n\n const barFill = `url(#chartts-bar-${series.index})`\n const r = Math.min(options.barRadius, barHeight / 2, w / 2)\n\n if (r > 0 && w > r * 2) {\n // Rounded right end for positive, left end for negative\n const d = isPositive\n ? `M${formatNum(x)},${formatNum(barY)}H${formatNum(x + w - r)}Q${formatNum(x + w)},${formatNum(barY)},${formatNum(x + w)},${formatNum(barY + r)}V${formatNum(barY + barHeight - r)}Q${formatNum(x + w)},${formatNum(barY + barHeight)},${formatNum(x + w - r)},${formatNum(barY + barHeight)}H${formatNum(x)}Z`\n : `M${formatNum(x + w)},${formatNum(barY)}H${formatNum(x + r)}Q${formatNum(x)},${formatNum(barY)},${formatNum(x)},${formatNum(barY + r)}V${formatNum(barY + barHeight - r)}Q${formatNum(x)},${formatNum(barY + barHeight)},${formatNum(x + r)},${formatNum(barY + barHeight)}H${formatNum(x + w)}Z`\n\n barNodes.push(path(d, {\n class: 'chartts-bar chartts-bar-horizontal',\n fill: barFill,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name}: ${series.values[i]}`,\n }))\n } else {\n barNodes.push(rect(x, barY, w, barHeight, {\n class: 'chartts-bar chartts-bar-horizontal',\n fill: barFill,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name}: ${series.values[i]}`,\n }))\n }\n }\n\n nodes.push(group(barNodes, {\n class: `chartts-series chartts-series-${series.index}`,\n 'data-series-name': series.name,\n }))\n }\n\n return nodes\n },\n\n hitTest(ctx: RenderContext, mx: number, my: number): HitResult | null {\n const { data, area, options, yScale } = ctx\n const seriesCount = data.series.length\n const pointCount = data.series[0]?.values.length ?? 0\n if (pointCount === 0) return null\n\n const labelWidth = Math.min(70, area.width * 0.2)\n const chartX = area.x + labelWidth\n const chartW = area.width - labelWidth\n const categoryHeight = area.height / pointCount\n const groupHeight = categoryHeight * (1 - options.barGap)\n const barHeight = groupHeight / seriesCount\n const groupOffset = -groupHeight / 2\n\n const valueToX = createHorizontalMapper(yScale, area, chartX, chartW)\n const zeroX = valueToX(0)\n\n for (const series of data.series) {\n for (let i = 0; i < series.values.length; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n const barY = catCenter + groupOffset + series.index * barHeight\n const vx = valueToX(series.values[i]!)\n const x = Math.min(vx, zeroX)\n const w = Math.abs(vx - zeroX)\n\n if (mx >= x - 2 && mx <= x + w + 2 && my >= barY - 2 && my <= barY + barHeight + 2) {\n return { seriesIndex: series.index, pointIndex: i, distance: 0, x: vx, y: catCenter }\n }\n }\n }\n\n return null\n },\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/bar/horizontal-bar-type.ts"],"names":[],"mappings":";;;;;AAeO,IAAM,sBAAA,GAA0C;AAAA,EACrD,IAAA,EAAM,gBAAA;AAAA,EAEN,aAAA,GAAgD;AAC9C,IAAA,OAAO,EAAE,CAAA,EAAG,aAAA,EAAe,CAAA,EAAG,QAAA,EAAS;AAAA,EACzC,CAAA;AAAA,EAEA,WAAA,CAAY,MAAiB,OAAA,EAAwC;AACnE,IAAA,MAAM,QAAA,GAAW,YAAY,IAAA,EAAM;AAAA,MACjC,GAAG,OAAA;AAAA,MACH,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAO,KAAA;AAAA,MACP,MAAA,EAAQ;AAAA,KACT,CAAA;AACD,IAAA,IAAI,QAAQ,IAAA,KAAS,MAAA,IAAa,QAAA,CAAS,MAAA,CAAO,OAAO,CAAA,EAAG;AAC1D,MAAA,QAAA,CAAS,OAAO,IAAA,GAAO,CAAA;AAAA,IACzB;AACA,IAAA,IAAI,QAAQ,IAAA,KAAS,MAAA,IAAa,QAAA,CAAS,MAAA,CAAO,OAAO,CAAA,EAAG;AAC1D,MAAA,QAAA,CAAS,OAAO,IAAA,GAAO,CAAA;AAAA,IACzB;AACA,IAAA,OAAO,QAAA;AAAA,EACT,CAAA;AAAA,EAEA,OAAO,GAAA,EAAkC;AACvC,IAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,MAAA,EAAQ,OAAM,GAAI,GAAA;AAC/C,IAAA,MAAM,QAAsB,EAAC;AAE7B,IAAA,MAAM,WAAA,GAAc,KAAK,MAAA,CAAO,MAAA;AAChC,IAAA,MAAM,aAAa,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,EAAG,OAAO,MAAA,IAAU,CAAA;AACpD,IAAA,IAAI,UAAA,KAAe,GAAG,OAAO,KAAA;AAG7B,IAAA,MAAM,aAAa,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,IAAA,CAAK,QAAQ,GAAG,CAAA;AAChD,IAAA,MAAM,MAAA,GAAS,KAAK,CAAA,GAAI,UAAA;AACxB,IAAA,MAAM,MAAA,GAAS,KAAK,KAAA,GAAQ,UAAA;AAK5B,IAAA,MAAM,cAAA,GAAiB,KAAK,MAAA,GAAS,UAAA;AACrC,IAAA,MAAM,SAAS,OAAA,CAAQ,MAAA;AACvB,IAAA,MAAM,WAAA,GAAc,kBAAkB,CAAA,GAAI,MAAA,CAAA;AAC1C,IAAA,MAAM,YAAY,WAAA,GAAc,WAAA;AAChC,IAAA,MAAM,WAAA,GAAc,CAAC,WAAA,GAAc,CAAA;AAEnC,IAAA,MAAM,QAAA,GAAW,sBAAA,CAAuB,MAAA,EAAQ,IAAA,EAAM,QAAQ,MAAM,CAAA;AACpE,IAAA,MAAM,KAAA,GAAQ,SAAS,CAAC,CAAA;AAGxB,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,UAAA,EAAY,CAAA,EAAA,EAAK;AACnC,MAAA,MAAM,SAAA,GAAY,IAAA,CAAK,CAAA,GAAI,cAAA,IAAkB,CAAA,GAAI,GAAA,CAAA;AACjD,MAAA,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,IAAA,CAAK,CAAA,GAAI,UAAA,GAAa,CAAA,EAAG,SAAA,EAAW,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,IAAK,EAAE,CAAA,EAAG;AAAA,QAChF,KAAA,EAAO,oBAAA;AAAA,QACP,MAAM,KAAA,CAAM,SAAA;AAAA,QACZ,UAAA,EAAY,KAAA;AAAA,QACZ,gBAAA,EAAkB,SAAA;AAAA,QAClB,UAAU,KAAA,CAAM,aAAA;AAAA,QAChB,YAAY,KAAA,CAAM;AAAA,OACnB,CAAC,CAAA;AAAA,IACJ;AAEA,IAAA,KAAA,MAAW,MAAA,IAAU,KAAK,MAAA,EAAQ;AAChC,MAAA,MAAM,WAAyB,EAAC;AAEhC,MAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AAC7C,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,CAAA,GAAI,cAAA,IAAkB,CAAA,GAAI,GAAA,CAAA;AACjD,QAAA,MAAM,IAAA,GAAO,SAAA,GAAY,WAAA,GAAc,MAAA,CAAO,KAAA,GAAQ,SAAA;AACtD,QAAA,MAAM,EAAA,GAAK,QAAA,CAAS,MAAA,CAAO,MAAA,CAAO,CAAC,CAAE,CAAA;AAErC,QAAA,MAAM,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,KAAK,CAAA;AAC5B,QAAA,MAAM,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,EAAA,GAAK,KAAK,CAAA;AAC7B,QAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,IAAM,CAAA;AAExC,QAAA,MAAM,OAAA,GAAU,CAAA,iBAAA,EAAoB,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA;AAChD,QAAA,MAAM,CAAA,GAAI,KAAK,GAAA,CAAI,OAAA,CAAQ,WAAW,SAAA,GAAY,CAAA,EAAG,IAAI,CAAC,CAAA;AAE1D,QAAA,IAAI,CAAA,GAAI,CAAA,IAAK,CAAA,GAAI,CAAA,GAAI,CAAA,EAAG;AAEtB,UAAA,MAAM,CAAA,GAAI,UAAA,GACN,CAAA,CAAA,EAAI,SAAA,CAAU,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAA,GAAY,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAC,CAAC,CAAA,CAAA,CAAA,GAC1S,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAC,CAAC,IAAI,SAAA,CAAU,IAAA,GAAO,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAA,GAAY,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA,EAAI,SAAA,CAAU,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA,CAAA;AAElS,UAAA,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA,EAAG;AAAA,YACpB,KAAA,EAAO,oCAAA;AAAA,YACP,IAAA,EAAM,OAAA;AAAA,YACN,eAAe,MAAA,CAAO,KAAA;AAAA,YACtB,YAAA,EAAc,CAAA;AAAA,YACd,QAAA,EAAU,CAAA;AAAA,YACV,IAAA,EAAM,KAAA;AAAA,YACN,SAAA,EAAW,GAAG,MAAA,CAAO,IAAI,KAAK,MAAA,CAAO,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,WAC/C,CAAC,CAAA;AAAA,QACJ,CAAA,MAAO;AACL,UAAA,QAAA,CAAS,IAAA,CAAK,IAAA,CAAK,CAAA,EAAG,IAAA,EAAM,GAAG,SAAA,EAAW;AAAA,YACxC,KAAA,EAAO,oCAAA;AAAA,YACP,IAAA,EAAM,OAAA;AAAA,YACN,eAAe,MAAA,CAAO,KAAA;AAAA,YACtB,YAAA,EAAc,CAAA;AAAA,YACd,QAAA,EAAU,CAAA;AAAA,YACV,IAAA,EAAM,KAAA;AAAA,YACN,SAAA,EAAW,GAAG,MAAA,CAAO,IAAI,KAAK,MAAA,CAAO,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,WAC/C,CAAC,CAAA;AAAA,QACJ;AAAA,MACF;AAEA,MAAA,KAAA,CAAM,IAAA,CAAK,MAAM,QAAA,EAAU;AAAA,QACzB,KAAA,EAAO,CAAA,8BAAA,EAAiC,MAAA,CAAO,KAAK,CAAA,CAAA;AAAA,QACpD,oBAAoB,MAAA,CAAO;AAAA,OAC5B,CAAC,CAAA;AAAA,IACJ;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAAA,EAEA,OAAA,CAAQ,GAAA,EAAoB,EAAA,EAAY,EAAA,EAA8B;AACpE,IAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,QAAO,GAAI,GAAA;AACxC,IAAA,MAAM,WAAA,GAAc,KAAK,MAAA,CAAO,MAAA;AAChC,IAAA,MAAM,aAAa,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,EAAG,OAAO,MAAA,IAAU,CAAA;AACpD,IAAA,IAAI,UAAA,KAAe,GAAG,OAAO,IAAA;AAE7B,IAAA,MAAM,aAAa,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,IAAA,CAAK,QAAQ,GAAG,CAAA;AAChD,IAAA,MAAM,MAAA,GAAS,KAAK,CAAA,GAAI,UAAA;AACxB,IAAA,MAAM,MAAA,GAAS,KAAK,KAAA,GAAQ,UAAA;AAC5B,IAAA,MAAM,cAAA,GAAiB,KAAK,MAAA,GAAS,UAAA;AACrC,IAAA,MAAM,WAAA,GAAc,cAAA,IAAkB,CAAA,GAAI,OAAA,CAAQ,MAAA,CAAA;AAClD,IAAA,MAAM,YAAY,WAAA,GAAc,WAAA;AAChC,IAAA,MAAM,WAAA,GAAc,CAAC,WAAA,GAAc,CAAA;AAEnC,IAAA,MAAM,QAAA,GAAW,sBAAA,CAAuB,MAAA,EAAQ,IAAA,EAAM,QAAQ,MAAM,CAAA;AACpE,IAAA,MAAM,KAAA,GAAQ,SAAS,CAAC,CAAA;AAExB,IAAA,KAAA,MAAW,MAAA,IAAU,KAAK,MAAA,EAAQ;AAChC,MAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AAC7C,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,CAAA,GAAI,cAAA,IAAkB,CAAA,GAAI,GAAA,CAAA;AACjD,QAAA,MAAM,IAAA,GAAO,SAAA,GAAY,WAAA,GAAc,MAAA,CAAO,KAAA,GAAQ,SAAA;AACtD,QAAA,MAAM,EAAA,GAAK,QAAA,CAAS,MAAA,CAAO,MAAA,CAAO,CAAC,CAAE,CAAA;AACrC,QAAA,MAAM,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,KAAK,CAAA;AAC5B,QAAA,MAAM,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,EAAA,GAAK,KAAK,CAAA;AAE7B,QAAA,IAAI,EAAA,IAAM,CAAA,GAAI,CAAA,IAAK,EAAA,IAAM,CAAA,GAAI,CAAA,GAAI,CAAA,IAAK,EAAA,IAAM,IAAA,GAAO,CAAA,IAAK,EAAA,IAAM,IAAA,GAAO,YAAY,CAAA,EAAG;AAClF,UAAA,OAAO,EAAE,WAAA,EAAa,MAAA,CAAO,KAAA,EAAO,UAAA,EAAY,CAAA,EAAG,QAAA,EAAU,CAAA,EAAG,CAAA,EAAG,EAAA,EAAI,CAAA,EAAG,SAAA,EAAU;AAAA,QACtF;AAAA,MACF;AAAA,IACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"chunk-IDZTDJLH.js","sourcesContent":["import type {\n ChartTypePlugin, ChartData, ResolvedOptions, PreparedData,\n RenderContext, RenderNode, HitResult, ScaleType,\n} from '../../types'\nimport { prepareData } from '../../data/prepare'\nimport { group, rect, path, text } from '../../render/tree'\nimport { formatNum } from '../../utils/format'\nimport { createHorizontalMapper } from '../../utils/scale'\n\n/**\n * Horizontal bar chart — bars grow left-to-right.\n *\n * Uses the xScale for categories (mapped to y positions) and yScale for values\n * (mapped to x positions), but transposes the rendering.\n */\nexport const horizontalBarChartType: ChartTypePlugin = {\n type: 'horizontal-bar',\n\n getScaleTypes(): { x: ScaleType; y: ScaleType } {\n return { x: 'categorical', y: 'linear' }\n },\n\n prepareData(data: ChartData, options: ResolvedOptions): PreparedData {\n const prepared = prepareData(data, {\n ...options,\n xAxis: false,\n yAxis: false,\n xGrid: false,\n yGrid: false,\n legend: false,\n })\n if (options.yMin === undefined && prepared.bounds.yMin > 0) {\n prepared.bounds.yMin = 0\n }\n if (options.yMax === undefined && prepared.bounds.yMax < 0) {\n prepared.bounds.yMax = 0\n }\n return prepared\n },\n\n render(ctx: RenderContext): RenderNode[] {\n const { data, area, options, yScale, theme } = ctx\n const nodes: RenderNode[] = []\n\n const seriesCount = data.series.length\n const pointCount = data.series[0]?.values.length ?? 0\n if (pointCount === 0) return nodes\n\n // Reserve space for category labels on the left\n const labelWidth = Math.min(70, area.width * 0.2)\n const chartX = area.x + labelWidth\n const chartW = area.width - labelWidth\n\n // In horizontal mode:\n // - Y axis becomes categories\n // - X axis becomes value axis (use yScale for values mapped to x positions)\n const categoryHeight = area.height / pointCount\n const barGap = options.barGap\n const groupHeight = categoryHeight * (1 - barGap)\n const barHeight = groupHeight / seriesCount\n const groupOffset = -groupHeight / 2\n\n const valueToX = createHorizontalMapper(yScale, area, chartX, chartW)\n const zeroX = valueToX(0)\n\n // Category labels on the left\n for (let i = 0; i < pointCount; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n nodes.push(text(area.x + labelWidth - 6, catCenter, String(data.labels[i] ?? ''), {\n class: 'chartts-hbar-label',\n fill: theme.textMuted,\n textAnchor: 'end',\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n for (const series of data.series) {\n const barNodes: RenderNode[] = []\n\n for (let i = 0; i < series.values.length; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n const barY = catCenter + groupOffset + series.index * barHeight\n const vx = valueToX(series.values[i]!)\n\n const x = Math.min(vx, zeroX)\n const w = Math.abs(vx - zeroX)\n const isPositive = series.values[i]! >= 0\n\n const barFill = `url(#chartts-bar-${series.index})`\n const r = Math.min(options.barRadius, barHeight / 2, w / 2)\n\n if (r > 0 && w > r * 2) {\n // Rounded right end for positive, left end for negative\n const d = isPositive\n ? `M${formatNum(x)},${formatNum(barY)}H${formatNum(x + w - r)}Q${formatNum(x + w)},${formatNum(barY)},${formatNum(x + w)},${formatNum(barY + r)}V${formatNum(barY + barHeight - r)}Q${formatNum(x + w)},${formatNum(barY + barHeight)},${formatNum(x + w - r)},${formatNum(barY + barHeight)}H${formatNum(x)}Z`\n : `M${formatNum(x + w)},${formatNum(barY)}H${formatNum(x + r)}Q${formatNum(x)},${formatNum(barY)},${formatNum(x)},${formatNum(barY + r)}V${formatNum(barY + barHeight - r)}Q${formatNum(x)},${formatNum(barY + barHeight)},${formatNum(x + r)},${formatNum(barY + barHeight)}H${formatNum(x + w)}Z`\n\n barNodes.push(path(d, {\n class: 'chartts-bar chartts-bar-horizontal',\n fill: barFill,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name}: ${series.values[i]}`,\n }))\n } else {\n barNodes.push(rect(x, barY, w, barHeight, {\n class: 'chartts-bar chartts-bar-horizontal',\n fill: barFill,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name}: ${series.values[i]}`,\n }))\n }\n }\n\n nodes.push(group(barNodes, {\n class: `chartts-series chartts-series-${series.index}`,\n 'data-series-name': series.name,\n }))\n }\n\n return nodes\n },\n\n hitTest(ctx: RenderContext, mx: number, my: number): HitResult | null {\n const { data, area, options, yScale } = ctx\n const seriesCount = data.series.length\n const pointCount = data.series[0]?.values.length ?? 0\n if (pointCount === 0) return null\n\n const labelWidth = Math.min(70, area.width * 0.2)\n const chartX = area.x + labelWidth\n const chartW = area.width - labelWidth\n const categoryHeight = area.height / pointCount\n const groupHeight = categoryHeight * (1 - options.barGap)\n const barHeight = groupHeight / seriesCount\n const groupOffset = -groupHeight / 2\n\n const valueToX = createHorizontalMapper(yScale, area, chartX, chartW)\n const zeroX = valueToX(0)\n\n for (const series of data.series) {\n for (let i = 0; i < series.values.length; i++) {\n const catCenter = area.y + categoryHeight * (i + 0.5)\n const barY = catCenter + groupOffset + series.index * barHeight\n const vx = valueToX(series.values[i]!)\n const x = Math.min(vx, zeroX)\n const w = Math.abs(vx - zeroX)\n\n if (mx >= x - 2 && mx <= x + w + 2 && my >= barY - 2 && my <= barY + barHeight + 2) {\n return { seriesIndex: series.index, pointIndex: i, distance: 0, x: vx, y: catCenter }\n }\n }\n }\n\n return null\n },\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkV5Q6UNUK_cjs = require('./chunk-V5Q6UNUK.cjs');
|
|
4
|
+
var chunkJVVGQLJQ_cjs = require('./chunk-JVVGQLJQ.cjs');
|
|
5
5
|
|
|
6
6
|
// src/charts/funnel/funnel-type.ts
|
|
7
7
|
var funnelChartType = {
|
|
@@ -10,7 +10,7 @@ var funnelChartType = {
|
|
|
10
10
|
return { x: "categorical", y: "linear" };
|
|
11
11
|
},
|
|
12
12
|
prepareData(data, options) {
|
|
13
|
-
return
|
|
13
|
+
return chunkV5Q6UNUK_cjs.prepareNoAxes(data, options);
|
|
14
14
|
},
|
|
15
15
|
render(ctx) {
|
|
16
16
|
const { data, area, theme, options } = ctx;
|
|
@@ -35,7 +35,7 @@ var funnelChartType = {
|
|
|
35
35
|
const bottomWidth = nextVal / maxVal * area.width;
|
|
36
36
|
const y = area.y + i * (stepHeight + stepGap);
|
|
37
37
|
const color = options.colors[i % options.colors.length];
|
|
38
|
-
const pb = new
|
|
38
|
+
const pb = new chunkJVVGQLJQ_cjs.PathBuilder();
|
|
39
39
|
pb.moveTo(centerX - topWidth / 2, y);
|
|
40
40
|
pb.lineTo(centerX + topWidth / 2, y);
|
|
41
41
|
pb.lineTo(centerX + bottomWidth / 2, y + stepHeight);
|
|
@@ -43,7 +43,7 @@ var funnelChartType = {
|
|
|
43
43
|
pb.close();
|
|
44
44
|
const stepNodes = [];
|
|
45
45
|
const colorIndex = i % options.colors.length;
|
|
46
|
-
stepNodes.push(
|
|
46
|
+
stepNodes.push(chunkJVVGQLJQ_cjs.path(pb.build(), {
|
|
47
47
|
class: "chartts-funnel-step",
|
|
48
48
|
fill: `url(#chartts-bar-${colorIndex})`,
|
|
49
49
|
stroke: color,
|
|
@@ -59,7 +59,7 @@ var funnelChartType = {
|
|
|
59
59
|
const label = String(data.labels[i] ?? `Step ${i + 1}`);
|
|
60
60
|
const pct = maxVal > 0 ? Math.round(val / maxVal * 100) : 0;
|
|
61
61
|
const labelStr = showValues ? `${label}: ${values[i]} (${pct}%)` : `${label} (${pct}%)`;
|
|
62
|
-
stepNodes.push(
|
|
62
|
+
stepNodes.push(chunkJVVGQLJQ_cjs.text(centerX, textY, labelStr, {
|
|
63
63
|
class: "chartts-funnel-label",
|
|
64
64
|
fill: "#fff",
|
|
65
65
|
textAnchor: "middle",
|
|
@@ -69,7 +69,7 @@ var funnelChartType = {
|
|
|
69
69
|
fontWeight: 600
|
|
70
70
|
}));
|
|
71
71
|
}
|
|
72
|
-
nodes.push(
|
|
72
|
+
nodes.push(chunkJVVGQLJQ_cjs.group(stepNodes, {
|
|
73
73
|
class: `chartts-series chartts-series-${i}`,
|
|
74
74
|
"data-series-name": String(data.labels[i] ?? `Step ${i + 1}`)
|
|
75
75
|
}));
|
|
@@ -96,5 +96,5 @@ var funnelChartType = {
|
|
|
96
96
|
};
|
|
97
97
|
|
|
98
98
|
exports.funnelChartType = funnelChartType;
|
|
99
|
-
//# sourceMappingURL=chunk-
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
99
|
+
//# sourceMappingURL=chunk-IF6RQ53Q.cjs.map
|
|
100
|
+
//# sourceMappingURL=chunk-IF6RQ53Q.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/funnel/funnel-type.ts"],"names":["prepareNoAxes","PathBuilder","path","text","group"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/charts/funnel/funnel-type.ts"],"names":["prepareNoAxes","PathBuilder","path","text","group"],"mappings":";;;;;;AAqBO,IAAM,eAAA,GAAmC;AAAA,EAC9C,IAAA,EAAM,QAAA;AAAA,EAEN,aAAA,GAAgD;AAC9C,IAAA,OAAO,EAAE,CAAA,EAAG,aAAA,EAAe,CAAA,EAAG,QAAA,EAAS;AAAA,EACzC,CAAA;AAAA,EAEA,WAAA,CAAY,MAAiB,OAAA,EAAwC;AACnE,IAAA,OAAOA,+BAAA,CAAc,MAAM,OAAO,CAAA;AAAA,EACpC,CAAA;AAAA,EAEA,OAAO,GAAA,EAAkC;AACvC,IAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,SAAQ,GAAI,GAAA;AACvC,IAAA,MAAM,QAAsB,EAAC;AAE7B,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA;AAC5B,IAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,MAAA,CAAO,MAAA,KAAW,GAAG,OAAO,KAAA;AAElD,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,IAAW,CAAA;AACjC,IAAA,MAAM,UAAA,GAAa,MAAM,UAAA,IAAc,IAAA;AACvC,IAAA,MAAM,UAAA,GAAa,MAAM,UAAA,IAAc,IAAA;AAEvC,IAAA,MAAM,SAAS,MAAA,CAAO,MAAA;AACtB,IAAA,MAAM,MAAA,GAAS,KAAK,GAAA,CAAI,GAAG,OAAO,GAAA,CAAI,IAAA,CAAK,GAAG,CAAC,CAAA;AAC/C,IAAA,IAAI,MAAA,KAAW,GAAG,OAAO,KAAA;AAEzB,IAAA,MAAM,YAAY,MAAA,CAAO,MAAA;AACzB,IAAA,MAAM,QAAA,GAAW,WAAW,SAAA,GAAY,CAAA,CAAA;AACxC,IAAA,MAAM,UAAA,GAAA,CAAc,IAAA,CAAK,MAAA,GAAS,QAAA,IAAY,SAAA;AAC9C,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,CAAA,GAAI,IAAA,CAAK,KAAA,GAAQ,CAAA;AAEtC,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,MAAA,MAAM,GAAA,GAAM,IAAA,CAAK,GAAA,CAAI,MAAA,CAAO,CAAC,CAAE,CAAA;AAC/B,MAAA,MAAM,OAAA,GAAU,CAAA,GAAI,SAAA,GAAY,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,MAAA,CAAO,CAAA,GAAI,CAAC,CAAE,CAAA,GAAI,GAAA,GAAM,GAAA;AAErE,MAAA,MAAM,QAAA,GAAY,GAAA,GAAM,MAAA,GAAU,IAAA,CAAK,KAAA;AACvC,MAAA,MAAM,WAAA,GAAe,OAAA,GAAU,MAAA,GAAU,IAAA,CAAK,KAAA;AAC9C,MAAA,MAAM,CAAA,GAAI,IAAA,CAAK,CAAA,GAAI,CAAA,IAAK,UAAA,GAAa,OAAA,CAAA;AAErC,MAAA,MAAM,QAAQ,OAAA,CAAQ,MAAA,CAAO,CAAA,GAAI,OAAA,CAAQ,OAAO,MAAM,CAAA;AAGtD,MAAA,MAAM,EAAA,GAAK,IAAIC,6BAAA,EAAY;AAC3B,MAAA,EAAA,CAAG,MAAA,CAAO,OAAA,GAAU,QAAA,GAAW,CAAA,EAAG,CAAC,CAAA;AACnC,MAAA,EAAA,CAAG,MAAA,CAAO,OAAA,GAAU,QAAA,GAAW,CAAA,EAAG,CAAC,CAAA;AACnC,MAAA,EAAA,CAAG,MAAA,CAAO,OAAA,GAAU,WAAA,GAAc,CAAA,EAAG,IAAI,UAAU,CAAA;AACnD,MAAA,EAAA,CAAG,MAAA,CAAO,OAAA,GAAU,WAAA,GAAc,CAAA,EAAG,IAAI,UAAU,CAAA;AACnD,MAAA,EAAA,CAAG,KAAA,EAAM;AAET,MAAA,MAAM,YAA0B,EAAC;AAEjC,MAAA,MAAM,UAAA,GAAa,CAAA,GAAI,OAAA,CAAQ,MAAA,CAAO,MAAA;AACtC,MAAA,SAAA,CAAU,IAAA,CAAKC,sBAAA,CAAK,EAAA,CAAG,KAAA,EAAM,EAAG;AAAA,QAC9B,KAAA,EAAO,qBAAA;AAAA,QACP,IAAA,EAAM,oBAAoB,UAAU,CAAA,CAAA,CAAA;AAAA,QACpC,MAAA,EAAQ,KAAA;AAAA,QACR,WAAA,EAAa,GAAA;AAAA,QACb,aAAA,EAAe,CAAA;AAAA,QACf,YAAA,EAAc,CAAA;AAAA,QACd,QAAA,EAAU,CAAA;AAAA,QACV,IAAA,EAAM,KAAA;AAAA,QACN,SAAA,EAAW,CAAA,EAAG,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,IAAK,CAAA,KAAA,EAAQ,CAAA,GAAI,CAAC,CAAA,CAAE,CAAA,EAAA,EAAK,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,OAC9D,CAAC,CAAA;AAGF,MAAA,MAAM,KAAA,GAAQ,IAAI,UAAA,GAAa,CAAA;AAC/B,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,MAAM,KAAA,GAAQ,OAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,IAAK,CAAA,KAAA,EAAQ,CAAA,GAAI,CAAC,CAAA,CAAE,CAAA;AACtD,QAAA,MAAM,GAAA,GAAM,SAAS,CAAA,GAAI,IAAA,CAAK,MAAO,GAAA,GAAM,MAAA,GAAU,GAAG,CAAA,GAAI,CAAA;AAE5D,QAAA,MAAM,QAAA,GAAW,UAAA,GACb,CAAA,EAAG,KAAK,KAAK,MAAA,CAAO,CAAC,CAAC,CAAA,EAAA,EAAK,GAAG,CAAA,EAAA,CAAA,GAC9B,CAAA,EAAG,KAAK,KAAK,GAAG,CAAA,EAAA,CAAA;AAEpB,QAAA,SAAA,CAAU,IAAA,CAAKC,sBAAA,CAAK,OAAA,EAAS,KAAA,EAAO,QAAA,EAAU;AAAA,UAC5C,KAAA,EAAO,sBAAA;AAAA,UACP,IAAA,EAAM,MAAA;AAAA,UACN,UAAA,EAAY,QAAA;AAAA,UACZ,gBAAA,EAAkB,SAAA;AAAA,UAClB,UAAU,KAAA,CAAM,QAAA;AAAA,UAChB,YAAY,KAAA,CAAM,UAAA;AAAA,UAClB,UAAA,EAAY;AAAA,SACb,CAAC,CAAA;AAAA,MACJ;AAEA,MAAA,KAAA,CAAM,IAAA,CAAKC,wBAAM,SAAA,EAAW;AAAA,QAC1B,KAAA,EAAO,iCAAiC,CAAC,CAAA,CAAA;AAAA,QACzC,kBAAA,EAAoB,OAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,IAAK,CAAA,KAAA,EAAQ,CAAA,GAAI,CAAC,CAAA,CAAE;AAAA,OAC7D,CAAC,CAAA;AAAA,IACJ;AAEA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA;AAAA,EAEA,OAAA,CAAQ,GAAA,EAAoB,GAAA,EAAa,EAAA,EAA8B;AACrE,IAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAQ,GAAI,GAAA;AAChC,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA;AAC5B,IAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,MAAA,CAAO,MAAA,KAAW,GAAG,OAAO,IAAA;AAElD,IAAA,MAAM,KAAA,GAAQ,OAAA;AACd,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,IAAW,CAAA;AACjC,IAAA,MAAM,SAAA,GAAY,OAAO,MAAA,CAAO,MAAA;AAChC,IAAA,MAAM,QAAA,GAAW,WAAW,SAAA,GAAY,CAAA,CAAA;AACxC,IAAA,MAAM,UAAA,GAAA,CAAc,IAAA,CAAK,MAAA,GAAS,QAAA,IAAY,SAAA;AAE9C,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,SAAA,EAAW,CAAA,EAAA,EAAK;AAClC,MAAA,MAAM,CAAA,GAAI,IAAA,CAAK,CAAA,GAAI,CAAA,IAAK,UAAA,GAAa,OAAA,CAAA;AACrC,MAAA,IAAI,EAAA,IAAM,CAAA,IAAK,EAAA,IAAM,CAAA,GAAI,UAAA,EAAY;AACnC,QAAA,OAAO,EAAE,WAAA,EAAa,CAAA,EAAG,UAAA,EAAY,CAAA,EAAG,UAAU,CAAA,EAAG,CAAA,EAAG,IAAA,CAAK,CAAA,GAAI,KAAK,KAAA,GAAQ,CAAA,EAAG,CAAA,EAAG,CAAA,GAAI,aAAa,CAAA,EAAE;AAAA,MACzG;AAAA,IACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"chunk-IF6RQ53Q.cjs","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'\nimport { PathBuilder } from '../../render/tree'\n\nexport interface FunnelOptions {\n /** Gap between steps in px. Default 2. */\n stepGap?: number\n /** Show percentage labels. Default true. */\n showLabels?: boolean\n /** Show value labels. Default true. */\n showValues?: boolean\n}\n\n/**\n * Funnel chart — tapered horizontal bars representing conversion steps.\n * Uses the first series. Values should be descending (largest to smallest).\n */\nexport const funnelChartType: ChartTypePlugin = {\n type: 'funnel',\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 fOpts = options as unknown as FunnelOptions\n const stepGap = fOpts.stepGap ?? 4\n const showLabels = fOpts.showLabels ?? true\n const showValues = fOpts.showValues ?? true\n\n const values = series.values\n const maxVal = Math.max(...values.map(Math.abs))\n if (maxVal === 0) return nodes\n\n const stepCount = values.length\n const totalGap = stepGap * (stepCount - 1)\n const stepHeight = (area.height - totalGap) / stepCount\n const centerX = area.x + area.width / 2\n\n for (let i = 0; i < stepCount; i++) {\n const val = Math.abs(values[i]!)\n const nextVal = i < stepCount - 1 ? Math.abs(values[i + 1]!) : val * 0.7\n\n const topWidth = (val / maxVal) * area.width\n const bottomWidth = (nextVal / maxVal) * area.width\n const y = area.y + i * (stepHeight + stepGap)\n\n const color = options.colors[i % options.colors.length]!\n\n // Trapezoid path\n const pb = new PathBuilder()\n pb.moveTo(centerX - topWidth / 2, y)\n pb.lineTo(centerX + topWidth / 2, y)\n pb.lineTo(centerX + bottomWidth / 2, y + stepHeight)\n pb.lineTo(centerX - bottomWidth / 2, y + stepHeight)\n pb.close()\n\n const stepNodes: RenderNode[] = []\n\n const colorIndex = i % options.colors.length\n stepNodes.push(path(pb.build(), {\n class: 'chartts-funnel-step',\n fill: `url(#chartts-bar-${colorIndex})`,\n stroke: color,\n strokeWidth: 0.5,\n 'data-series': 0,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${data.labels[i] ?? `Step ${i + 1}`}: ${values[i]}`,\n }))\n\n // Label text\n const textY = y + stepHeight / 2\n if (showLabels) {\n const label = String(data.labels[i] ?? `Step ${i + 1}`)\n const pct = maxVal > 0 ? Math.round((val / maxVal) * 100) : 0\n\n const labelStr = showValues\n ? `${label}: ${values[i]} (${pct}%)`\n : `${label} (${pct}%)`\n\n stepNodes.push(text(centerX, textY, labelStr, {\n class: 'chartts-funnel-label',\n fill: '#fff',\n textAnchor: 'middle',\n dominantBaseline: 'central',\n fontSize: theme.fontSize,\n fontFamily: theme.fontFamily,\n fontWeight: 600,\n }))\n }\n\n nodes.push(group(stepNodes, {\n class: `chartts-series chartts-series-${i}`,\n 'data-series-name': String(data.labels[i] ?? `Step ${i + 1}`),\n }))\n }\n\n return nodes\n },\n\n hitTest(ctx: RenderContext, _mx: number, my: number): HitResult | null {\n const { data, area, options } = ctx\n const series = data.series[0]\n if (!series || series.values.length === 0) return null\n\n const fOpts = options as unknown as FunnelOptions\n const stepGap = fOpts.stepGap ?? 2\n const stepCount = series.values.length\n const totalGap = stepGap * (stepCount - 1)\n const stepHeight = (area.height - totalGap) / stepCount\n\n for (let i = 0; i < stepCount; i++) {\n const y = area.y + i * (stepHeight + stepGap)\n if (my >= y && my <= y + stepHeight) {\n return { seriesIndex: 0, pointIndex: i, distance: 0, x: area.x + area.width / 2, y: y + stepHeight / 2 }\n }\n }\n\n return null\n },\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { prepareNoAxes } from './chunk-
|
|
2
|
-
import { PathBuilder, path, text, circle, group } from './chunk-
|
|
1
|
+
import { prepareNoAxes } from './chunk-T7SCCACB.js';
|
|
2
|
+
import { PathBuilder, path, text, circle, group } from './chunk-AEQXFDL7.js';
|
|
3
3
|
|
|
4
4
|
// src/charts/radar/radar-type.ts
|
|
5
5
|
var radarChartType = {
|
|
@@ -154,5 +154,5 @@ var radarChartType = {
|
|
|
154
154
|
};
|
|
155
155
|
|
|
156
156
|
export { radarChartType };
|
|
157
|
-
//# sourceMappingURL=chunk-
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
157
|
+
//# sourceMappingURL=chunk-IOV77VHP.js.map
|
|
158
|
+
//# sourceMappingURL=chunk-IOV77VHP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/radar/radar-type.ts"],"names":[],"mappings":"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","file":"chunk-PVPTFMJJ.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, circle, text } from '../../render/tree'\nimport { PathBuilder } from '../../render/tree'\n\n/**\n * Radar / Spider chart — plots multi-dimensional data on radial axes.\n * Each category becomes an axis radiating from center.\n */\nexport const radarChartType: ChartTypePlugin = {\n type: 'radar',\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 } = ctx\n const nodes: RenderNode[] = []\n\n const labelCount = data.labels.length\n if (labelCount < 3) return nodes\n\n const cx = area.x + area.width / 2\n const cy = area.y + area.height / 2\n const radius = Math.min(area.width, area.height) / 2 - 24\n\n // Find the max value across all series for scaling\n let maxVal = 0\n for (const series of data.series) {\n for (const v of series.values) {\n if (Math.abs(v) > maxVal) maxVal = Math.abs(v)\n }\n }\n if (maxVal === 0) maxVal = 1\n\n const angleStep = (Math.PI * 2) / labelCount\n const startAngle = -Math.PI / 2 // start from top\n\n // Draw grid rings (3 levels)\n const gridLevels = 3\n for (let level = 1; level <= gridLevels; level++) {\n const r = (radius * level) / gridLevels\n const pb = new PathBuilder()\n for (let i = 0; i <= labelCount; i++) {\n const angle = startAngle + (i % labelCount) * angleStep\n const x = cx + r * Math.cos(angle)\n const y = cy + r * Math.sin(angle)\n if (i === 0) pb.moveTo(x, y)\n else pb.lineTo(x, y)\n }\n nodes.push(path(pb.build(), {\n class: 'chartts-radar-grid',\n stroke: theme.gridColor,\n strokeWidth: theme.gridWidth,\n fillOpacity: 0,\n fill: 'none',\n }))\n }\n\n // Draw axis lines from center to each vertex\n for (let i = 0; i < labelCount; i++) {\n const angle = startAngle + i * angleStep\n const x = cx + radius * Math.cos(angle)\n const y = cy + radius * Math.sin(angle)\n\n nodes.push({\n type: 'line',\n x1: cx,\n y1: cy,\n x2: x,\n y2: y,\n attrs: {\n class: 'chartts-radar-axis',\n stroke: theme.gridColor,\n strokeWidth: theme.gridWidth,\n },\n })\n\n // Label at vertex\n const labelR = radius + 14\n const lx = cx + labelR * Math.cos(angle)\n const ly = cy + labelR * Math.sin(angle)\n const anchor = Math.abs(Math.cos(angle)) < 0.01 ? 'middle' as const\n : Math.cos(angle) > 0 ? 'start' as const : 'end' as const\n\n nodes.push(text(lx, ly, String(data.labels[i]!), {\n class: 'chartts-radar-label',\n fill: theme.textMuted,\n textAnchor: anchor,\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n // Draw series polygons\n for (const series of data.series) {\n const pb = new PathBuilder()\n const points: { x: number; y: number }[] = []\n\n for (let i = 0; i < labelCount; i++) {\n const val = series.values[i] ?? 0\n const r = (Math.abs(val) / maxVal) * radius\n const angle = startAngle + i * angleStep\n const x = cx + r * Math.cos(angle)\n const y = cy + r * Math.sin(angle)\n points.push({ x, y })\n\n if (i === 0) pb.moveTo(x, y)\n else pb.lineTo(x, y)\n }\n pb.close()\n\n const seriesNodes: RenderNode[] = []\n\n // Fill\n seriesNodes.push(path(pb.build(), {\n class: 'chartts-radar-area',\n fill: series.color,\n fillOpacity: 0.2,\n stroke: series.color,\n strokeWidth: theme.lineWidth,\n 'data-series': series.index,\n }))\n\n // Points\n for (let i = 0; i < points.length; i++) {\n seriesNodes.push(circle(points[i]!.x, points[i]!.y, theme.pointRadius, {\n class: 'chartts-radar-point',\n fill: series.color,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name} ${data.labels[i]}: ${series.values[i]}`,\n }))\n }\n\n nodes.push(group(seriesNodes, {\n class: `chartts-series chartts-series-${series.index}`,\n 'data-series-name': series.name,\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 labelCount = data.labels.length\n if (labelCount < 3) return null\n\n const cx = area.x + area.width / 2\n const cy = area.y + area.height / 2\n const radius = Math.min(area.width, area.height) / 2 - 24\n const angleStep = (Math.PI * 2) / labelCount\n const startAngle = -Math.PI / 2\n\n let maxVal = 0\n for (const series of data.series) {\n for (const v of series.values) {\n if (Math.abs(v) > maxVal) maxVal = Math.abs(v)\n }\n }\n if (maxVal === 0) return null\n\n let best: HitResult | null = null\n let bestDist = Infinity\n const hitRadius = 15\n\n for (const series of data.series) {\n for (let i = 0; i < labelCount; i++) {\n const val = series.values[i] ?? 0\n const r = (Math.abs(val) / maxVal) * radius\n const angle = startAngle + i * angleStep\n const px = cx + r * Math.cos(angle)\n const py = cy + r * Math.sin(angle)\n const dist = Math.sqrt((mx - px) ** 2 + (my - py) ** 2)\n if (dist < bestDist && dist < hitRadius) {\n bestDist = dist\n best = { seriesIndex: series.index, pointIndex: i, distance: dist, x: px, y: py }\n }\n }\n }\n\n return best\n },\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/radar/radar-type.ts"],"names":[],"mappings":"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","file":"chunk-IOV77VHP.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, circle, text } from '../../render/tree'\nimport { PathBuilder } from '../../render/tree'\n\n/**\n * Radar / Spider chart — plots multi-dimensional data on radial axes.\n * Each category becomes an axis radiating from center.\n */\nexport const radarChartType: ChartTypePlugin = {\n type: 'radar',\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 } = ctx\n const nodes: RenderNode[] = []\n\n const labelCount = data.labels.length\n if (labelCount < 3) return nodes\n\n const cx = area.x + area.width / 2\n const cy = area.y + area.height / 2\n const radius = Math.min(area.width, area.height) / 2 - 24\n\n // Find the max value across all series for scaling\n let maxVal = 0\n for (const series of data.series) {\n for (const v of series.values) {\n if (Math.abs(v) > maxVal) maxVal = Math.abs(v)\n }\n }\n if (maxVal === 0) maxVal = 1\n\n const angleStep = (Math.PI * 2) / labelCount\n const startAngle = -Math.PI / 2 // start from top\n\n // Draw grid rings (3 levels)\n const gridLevels = 3\n for (let level = 1; level <= gridLevels; level++) {\n const r = (radius * level) / gridLevels\n const pb = new PathBuilder()\n for (let i = 0; i <= labelCount; i++) {\n const angle = startAngle + (i % labelCount) * angleStep\n const x = cx + r * Math.cos(angle)\n const y = cy + r * Math.sin(angle)\n if (i === 0) pb.moveTo(x, y)\n else pb.lineTo(x, y)\n }\n nodes.push(path(pb.build(), {\n class: 'chartts-radar-grid',\n stroke: theme.gridColor,\n strokeWidth: theme.gridWidth,\n fillOpacity: 0,\n fill: 'none',\n }))\n }\n\n // Draw axis lines from center to each vertex\n for (let i = 0; i < labelCount; i++) {\n const angle = startAngle + i * angleStep\n const x = cx + radius * Math.cos(angle)\n const y = cy + radius * Math.sin(angle)\n\n nodes.push({\n type: 'line',\n x1: cx,\n y1: cy,\n x2: x,\n y2: y,\n attrs: {\n class: 'chartts-radar-axis',\n stroke: theme.gridColor,\n strokeWidth: theme.gridWidth,\n },\n })\n\n // Label at vertex\n const labelR = radius + 14\n const lx = cx + labelR * Math.cos(angle)\n const ly = cy + labelR * Math.sin(angle)\n const anchor = Math.abs(Math.cos(angle)) < 0.01 ? 'middle' as const\n : Math.cos(angle) > 0 ? 'start' as const : 'end' as const\n\n nodes.push(text(lx, ly, String(data.labels[i]!), {\n class: 'chartts-radar-label',\n fill: theme.textMuted,\n textAnchor: anchor,\n dominantBaseline: 'central',\n fontSize: theme.fontSizeSmall,\n fontFamily: theme.fontFamily,\n }))\n }\n\n // Draw series polygons\n for (const series of data.series) {\n const pb = new PathBuilder()\n const points: { x: number; y: number }[] = []\n\n for (let i = 0; i < labelCount; i++) {\n const val = series.values[i] ?? 0\n const r = (Math.abs(val) / maxVal) * radius\n const angle = startAngle + i * angleStep\n const x = cx + r * Math.cos(angle)\n const y = cy + r * Math.sin(angle)\n points.push({ x, y })\n\n if (i === 0) pb.moveTo(x, y)\n else pb.lineTo(x, y)\n }\n pb.close()\n\n const seriesNodes: RenderNode[] = []\n\n // Fill\n seriesNodes.push(path(pb.build(), {\n class: 'chartts-radar-area',\n fill: series.color,\n fillOpacity: 0.2,\n stroke: series.color,\n strokeWidth: theme.lineWidth,\n 'data-series': series.index,\n }))\n\n // Points\n for (let i = 0; i < points.length; i++) {\n seriesNodes.push(circle(points[i]!.x, points[i]!.y, theme.pointRadius, {\n class: 'chartts-radar-point',\n fill: series.color,\n 'data-series': series.index,\n 'data-index': i,\n tabindex: 0,\n role: 'img',\n ariaLabel: `${series.name} ${data.labels[i]}: ${series.values[i]}`,\n }))\n }\n\n nodes.push(group(seriesNodes, {\n class: `chartts-series chartts-series-${series.index}`,\n 'data-series-name': series.name,\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 labelCount = data.labels.length\n if (labelCount < 3) return null\n\n const cx = area.x + area.width / 2\n const cy = area.y + area.height / 2\n const radius = Math.min(area.width, area.height) / 2 - 24\n const angleStep = (Math.PI * 2) / labelCount\n const startAngle = -Math.PI / 2\n\n let maxVal = 0\n for (const series of data.series) {\n for (const v of series.values) {\n if (Math.abs(v) > maxVal) maxVal = Math.abs(v)\n }\n }\n if (maxVal === 0) return null\n\n let best: HitResult | null = null\n let bestDist = Infinity\n const hitRadius = 15\n\n for (const series of data.series) {\n for (let i = 0; i < labelCount; i++) {\n const val = series.values[i] ?? 0\n const r = (Math.abs(val) / maxVal) * radius\n const angle = startAngle + i * angleStep\n const px = cx + r * Math.cos(angle)\n const py = cy + r * Math.sin(angle)\n const dist = Math.sqrt((mx - px) ** 2 + (my - py) ** 2)\n if (dist < bestDist && dist < hitRadius) {\n bestDist = dist\n best = { seriesIndex: series.index, pointIndex: i, distance: dist, x: px, y: py }\n }\n }\n }\n\n return best\n },\n}\n"]}
|
|
@@ -2883,7 +2883,8 @@ function createZoomPan(config, onUpdate, interactionState) {
|
|
|
2883
2883
|
drag: config.drag ?? true,
|
|
2884
2884
|
pinch: config.pinch ?? true,
|
|
2885
2885
|
minZoom: config.minZoom ?? 1,
|
|
2886
|
-
maxZoom: config.maxZoom ?? 20
|
|
2886
|
+
maxZoom: config.maxZoom ?? 20,
|
|
2887
|
+
normalizedPan: config.normalizedPan ?? true
|
|
2887
2888
|
};
|
|
2888
2889
|
const state = {
|
|
2889
2890
|
zoomX: 1,
|
|
@@ -2942,10 +2943,10 @@ function createZoomPan(config, onUpdate, interactionState) {
|
|
|
2942
2943
|
const dx = e.clientX - dragStartX;
|
|
2943
2944
|
const dy = e.clientY - dragStartY;
|
|
2944
2945
|
if (cfg.x) {
|
|
2945
|
-
state.panX = dragStartPanX + dx / (area.width * state.zoomX);
|
|
2946
|
+
state.panX = dragStartPanX + dx / (cfg.normalizedPan ? area.width * state.zoomX : area.width);
|
|
2946
2947
|
}
|
|
2947
2948
|
if (cfg.y) {
|
|
2948
|
-
state.panY = dragStartPanY + dy / (area.height * state.zoomY);
|
|
2949
|
+
state.panY = dragStartPanY + dy / (cfg.normalizedPan ? area.height * state.zoomY : area.height);
|
|
2949
2950
|
}
|
|
2950
2951
|
clampPan();
|
|
2951
2952
|
onUpdate();
|
|
@@ -2994,9 +2995,11 @@ function createZoomPan(config, onUpdate, interactionState) {
|
|
|
2994
2995
|
}
|
|
2995
2996
|
function clampPan() {
|
|
2996
2997
|
const halfVisX = (1 - 1 / state.zoomX) / 2;
|
|
2997
|
-
|
|
2998
|
+
const limitX = cfg.normalizedPan ? halfVisX : state.zoomX - 1;
|
|
2999
|
+
state.panX = clamp(state.panX, -limitX, limitX);
|
|
2998
3000
|
const halfVisY = (1 - 1 / state.zoomY) / 2;
|
|
2999
|
-
|
|
3001
|
+
const limitY = cfg.normalizedPan ? halfVisY : state.zoomY - 1;
|
|
3002
|
+
state.panY = clamp(state.panY, -limitY, limitY);
|
|
3000
3003
|
}
|
|
3001
3004
|
function pinchDistance(e) {
|
|
3002
3005
|
const dx = e.touches[0].clientX - e.touches[1].clientX;
|
|
@@ -4542,7 +4545,8 @@ function createChart(target, chartType, data, options = {}) {
|
|
|
4542
4545
|
y: needs2DZoom,
|
|
4543
4546
|
wheel: currentOptions.zoom,
|
|
4544
4547
|
drag: currentOptions.pan,
|
|
4545
|
-
pinch: currentOptions.zoom
|
|
4548
|
+
pinch: currentOptions.zoom,
|
|
4549
|
+
normalizedPan: !needs2DZoom
|
|
4546
4550
|
},
|
|
4547
4551
|
() => {
|
|
4548
4552
|
render();
|
|
@@ -4616,7 +4620,8 @@ function createChart(target, chartType, data, options = {}) {
|
|
|
4616
4620
|
renderer.render(root, renderErrorState(width, height, currentTheme, stateMessage));
|
|
4617
4621
|
return;
|
|
4618
4622
|
}
|
|
4619
|
-
const
|
|
4623
|
+
const hasRichGraphData = chartType.type === "graph" && (options.nodes || options.edges);
|
|
4624
|
+
const isEmpty = !hasRichGraphData && (!currentData.series.length || currentData.series.every((s) => s.values.length === 0));
|
|
4620
4625
|
if (chartState === "empty" || isEmpty) {
|
|
4621
4626
|
renderer.render(root, renderEmptyState(width, height, currentTheme, stateMessage));
|
|
4622
4627
|
return;
|
|
@@ -5053,5 +5058,5 @@ exports.rect = rect;
|
|
|
5053
5058
|
exports.renderToString = renderToString;
|
|
5054
5059
|
exports.resolveTheme = resolveTheme;
|
|
5055
5060
|
exports.text = text;
|
|
5056
|
-
//# sourceMappingURL=chunk-
|
|
5057
|
-
//# sourceMappingURL=chunk-
|
|
5061
|
+
//# sourceMappingURL=chunk-JVVGQLJQ.cjs.map
|
|
5062
|
+
//# sourceMappingURL=chunk-JVVGQLJQ.cjs.map
|