@chartts/core 0.1.2 → 0.1.3

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.
Files changed (563) hide show
  1. package/LICENSE +21 -0
  2. package/dist/{area-type-B3CtuIIP.d.cts → area-type-BanqpQvK.d.cts} +1 -1
  3. package/dist/{area-type-DmB6fTVf.d.ts → area-type-Bzn6ur_t.d.ts} +1 -1
  4. package/dist/area.cjs +10 -10
  5. package/dist/area.d.cts +4 -4
  6. package/dist/area.d.ts +4 -4
  7. package/dist/area.js +5 -5
  8. package/dist/{bar-type-CkI-kkrC.d.cts → bar-type-BjYOtm2e.d.cts} +1 -1
  9. package/dist/{bar-type-Bne_khsO.d.ts → bar-type-D1gkUeQ2.d.ts} +1 -1
  10. package/dist/bar.cjs +9 -9
  11. package/dist/bar.d.cts +4 -4
  12. package/dist/bar.d.ts +4 -4
  13. package/dist/bar.js +4 -4
  14. package/dist/{baseline-type-B1O4XHT3.d.ts → baseline-type-DnAv8oax.d.ts} +1 -1
  15. package/dist/{baseline-type-BAPrZJ5W.d.cts → baseline-type-DskNy6iR.d.cts} +1 -1
  16. package/dist/baseline.cjs +9 -9
  17. package/dist/baseline.d.cts +4 -4
  18. package/dist/baseline.d.ts +4 -4
  19. package/dist/baseline.js +4 -4
  20. package/dist/{boxplot-type-CEWf7p5X.d.ts → boxplot-type-Bi46NGr5.d.ts} +1 -1
  21. package/dist/{boxplot-type-Da8_smoe.d.cts → boxplot-type-Df2L92GY.d.cts} +1 -1
  22. package/dist/boxplot.cjs +9 -9
  23. package/dist/boxplot.d.cts +4 -4
  24. package/dist/boxplot.d.ts +4 -4
  25. package/dist/boxplot.js +4 -4
  26. package/dist/{bubble-type-Dxb2JCKv.d.cts → bubble-type-D2_dA-tK.d.cts} +1 -1
  27. package/dist/{bubble-type-pru5MgB7.d.ts → bubble-type-XCkdPCxY.d.ts} +1 -1
  28. package/dist/bubble.cjs +9 -9
  29. package/dist/bubble.d.cts +4 -4
  30. package/dist/bubble.d.ts +4 -4
  31. package/dist/bubble.js +4 -4
  32. package/dist/{bullet-type-CPEYkEvt.d.ts → bullet-type-CluDVdqG.d.ts} +1 -1
  33. package/dist/{bullet-type-khCmwFqH.d.cts → bullet-type-yyHFEoBR.d.cts} +1 -1
  34. package/dist/bullet.cjs +10 -10
  35. package/dist/bullet.d.cts +4 -4
  36. package/dist/bullet.d.ts +4 -4
  37. package/dist/bullet.js +5 -5
  38. package/dist/{calendar-type-yJWPY6qT.d.ts → calendar-type-BXl4jP0I.d.ts} +1 -1
  39. package/dist/{calendar-type-Br5mpdea.d.cts → calendar-type-_hW3OLW-.d.cts} +1 -1
  40. package/dist/calendar.cjs +10 -10
  41. package/dist/calendar.d.cts +4 -4
  42. package/dist/calendar.d.ts +4 -4
  43. package/dist/calendar.js +5 -5
  44. package/dist/{candlestick-type-CtLZy_uC.d.ts → candlestick-type-CAfkfMPN.d.ts} +1 -1
  45. package/dist/{candlestick-type-CazXUb77.d.cts → candlestick-type-D-fhJzmV.d.cts} +1 -1
  46. package/dist/candlestick.cjs +9 -9
  47. package/dist/candlestick.d.cts +4 -4
  48. package/dist/candlestick.d.ts +4 -4
  49. package/dist/candlestick.js +4 -4
  50. package/dist/{chord-type-ruvHboZl.d.ts → chord-type-BLjyRxsx.d.ts} +1 -1
  51. package/dist/{chord-type-ChIZaOZd.d.cts → chord-type-Dvuvx5rp.d.cts} +1 -1
  52. package/dist/chord.cjs +10 -10
  53. package/dist/chord.d.cts +4 -4
  54. package/dist/chord.d.ts +4 -4
  55. package/dist/chord.js +5 -5
  56. package/dist/{chunk-FEQKBVCZ.cjs → chunk-2EZ2TVYT.cjs} +14 -14
  57. package/dist/chunk-2EZ2TVYT.cjs.map +1 -0
  58. package/dist/{chunk-GI7PBJSK.js → chunk-2ITF366P.js} +4 -4
  59. package/dist/chunk-2ITF366P.js.map +1 -0
  60. package/dist/{chunk-YMJQUKKX.js → chunk-2MWA7H6J.js} +68 -42
  61. package/dist/chunk-2MWA7H6J.js.map +1 -0
  62. package/dist/{chunk-CJEMSKW3.js → chunk-3SOKHPAO.js} +217 -57
  63. package/dist/chunk-3SOKHPAO.js.map +1 -0
  64. package/dist/{chunk-3N447NTJ.cjs → chunk-3V64BDKG.cjs} +14 -14
  65. package/dist/chunk-3V64BDKG.cjs.map +1 -0
  66. package/dist/{chunk-DZW35WR2.js → chunk-46ZZTP5B.js} +5 -5
  67. package/dist/chunk-46ZZTP5B.js.map +1 -0
  68. package/dist/{chunk-PCTMS2PX.cjs → chunk-47EP245Y.cjs} +19 -9
  69. package/dist/chunk-47EP245Y.cjs.map +1 -0
  70. package/dist/{chunk-DZHP4UUE.cjs → chunk-4H2LGLGI.cjs} +16 -12
  71. package/dist/chunk-4H2LGLGI.cjs.map +1 -0
  72. package/dist/{chunk-7HOU6XMW.js → chunk-4L62MAZA.js} +25 -28
  73. package/dist/chunk-4L62MAZA.js.map +1 -0
  74. package/dist/{chunk-GQR7IHER.js → chunk-4ORSJM2I.js} +6 -6
  75. package/dist/chunk-4ORSJM2I.js.map +1 -0
  76. package/dist/{chunk-FQG4DRJS.cjs → chunk-4WQUX2B4.cjs} +71 -45
  77. package/dist/chunk-4WQUX2B4.cjs.map +1 -0
  78. package/dist/{chunk-3QXN7JBV.js → chunk-4XVJYNOT.js} +7 -5
  79. package/dist/chunk-4XVJYNOT.js.map +1 -0
  80. package/dist/{chunk-6WJJ26J5.js → chunk-5J26EN5I.js} +6 -6
  81. package/dist/chunk-5J26EN5I.js.map +1 -0
  82. package/dist/{chunk-K2EZ4SS4.js → chunk-5YNIOIKK.js} +5 -5
  83. package/dist/chunk-5YNIOIKK.js.map +1 -0
  84. package/dist/{chunk-5LQ26P4J.cjs → chunk-66BHM3UN.cjs} +11 -11
  85. package/dist/chunk-66BHM3UN.cjs.map +1 -0
  86. package/dist/{chunk-DAH76GIX.cjs → chunk-6E6ZDWZD.cjs} +11 -11
  87. package/dist/chunk-6E6ZDWZD.cjs.map +1 -0
  88. package/dist/{chunk-COPERSVL.cjs → chunk-6EGHZDZI.cjs} +15 -15
  89. package/dist/{chunk-COPERSVL.cjs.map → chunk-6EGHZDZI.cjs.map} +1 -1
  90. package/dist/{chunk-KHQRHTTN.js → chunk-6JNW43SE.js} +40 -30
  91. package/dist/chunk-6JNW43SE.js.map +1 -0
  92. package/dist/{chunk-3YFDZGHO.cjs → chunk-6UWYKNFN.cjs} +13 -13
  93. package/dist/{chunk-3YFDZGHO.cjs.map → chunk-6UWYKNFN.cjs.map} +1 -1
  94. package/dist/{chunk-CHERQT4B.js → chunk-7PNCJ4OQ.js} +4 -4
  95. package/dist/chunk-7PNCJ4OQ.js.map +1 -0
  96. package/dist/{chunk-2KMMVJEE.cjs → chunk-7ZPHLIFP.cjs} +7 -7
  97. package/dist/chunk-7ZPHLIFP.cjs.map +1 -0
  98. package/dist/{chunk-FIAKZSRR.cjs → chunk-AG7VY6MJ.cjs} +19 -12
  99. package/dist/chunk-AG7VY6MJ.cjs.map +1 -0
  100. package/dist/{chunk-7MXBXWVD.js → chunk-ASNAQ35U.js} +5 -5
  101. package/dist/chunk-ASNAQ35U.js.map +1 -0
  102. package/dist/{chunk-DKVRRL3F.js → chunk-BT5H3WMI.js} +6 -6
  103. package/dist/chunk-BT5H3WMI.js.map +1 -0
  104. package/dist/{chunk-S64PTNT7.cjs → chunk-BYB3LQAT.cjs} +27 -30
  105. package/dist/chunk-BYB3LQAT.cjs.map +1 -0
  106. package/dist/{chunk-NZWFBAFQ.js → chunk-CCMLOCTH.js} +30 -4
  107. package/dist/chunk-CCMLOCTH.js.map +1 -0
  108. package/dist/{chunk-HOPFELRP.cjs → chunk-CDS2NXGT.cjs} +4 -4
  109. package/dist/{chunk-HOPFELRP.cjs.map → chunk-CDS2NXGT.cjs.map} +1 -1
  110. package/dist/{chunk-7JN6GXML.cjs → chunk-DKXW2FQC.cjs} +13 -11
  111. package/dist/chunk-DKXW2FQC.cjs.map +1 -0
  112. package/dist/{chunk-QCR6L55R.js → chunk-DR5MQC3W.js} +8 -5
  113. package/dist/chunk-DR5MQC3W.js.map +1 -0
  114. package/dist/{chunk-GUVPVNPD.cjs → chunk-DRIJNFWP.cjs} +11 -11
  115. package/dist/chunk-DRIJNFWP.cjs.map +1 -0
  116. package/dist/{chunk-BMTVFAX2.js → chunk-DX4FBN3I.js} +230 -99
  117. package/dist/chunk-DX4FBN3I.js.map +1 -0
  118. package/dist/{chunk-IKUA7O73.cjs → chunk-E43H3A3G.cjs} +7 -7
  119. package/dist/{chunk-IKUA7O73.cjs.map → chunk-E43H3A3G.cjs.map} +1 -1
  120. package/dist/{chunk-K7UR7GYC.cjs → chunk-ECB3UPTC.cjs} +13 -13
  121. package/dist/chunk-ECB3UPTC.cjs.map +1 -0
  122. package/dist/{chunk-TVPS2NJH.cjs → chunk-EHKHXQ46.cjs} +11 -11
  123. package/dist/chunk-EHKHXQ46.cjs.map +1 -0
  124. package/dist/{chunk-SLJNRP7O.cjs → chunk-EHNX3MG3.cjs} +14 -24
  125. package/dist/chunk-EHNX3MG3.cjs.map +1 -0
  126. package/dist/{chunk-MQBKLKYF.js → chunk-F5AOBHQY.js} +4 -4
  127. package/dist/{chunk-MQBKLKYF.js.map → chunk-F5AOBHQY.js.map} +1 -1
  128. package/dist/{chunk-KUFDELQM.cjs → chunk-FDNJNVKA.cjs} +10 -10
  129. package/dist/chunk-FDNJNVKA.cjs.map +1 -0
  130. package/dist/{chunk-NML7F34A.js → chunk-FSDI3NJV.js} +4 -4
  131. package/dist/chunk-FSDI3NJV.js.map +1 -0
  132. package/dist/{chunk-CCHMQZIB.js → chunk-FV7R2LLD.js} +5 -5
  133. package/dist/chunk-FV7R2LLD.js.map +1 -0
  134. package/dist/{chunk-ID7GYRYL.cjs → chunk-FZIBM3G5.cjs} +11 -11
  135. package/dist/chunk-FZIBM3G5.cjs.map +1 -0
  136. package/dist/{chunk-43WDYYVH.cjs → chunk-G6R6MSRF.cjs} +10 -10
  137. package/dist/chunk-G6R6MSRF.cjs.map +1 -0
  138. package/dist/{chunk-VK72MICB.cjs → chunk-GAWIUMAK.cjs} +8 -8
  139. package/dist/{chunk-VK72MICB.cjs.map → chunk-GAWIUMAK.cjs.map} +1 -1
  140. package/dist/{chunk-3NWZJCWL.js → chunk-GPSNBZPX.js} +5 -5
  141. package/dist/chunk-GPSNBZPX.js.map +1 -0
  142. package/dist/{chunk-MGYBMQAX.cjs → chunk-HFWO37RY.cjs} +9 -9
  143. package/dist/chunk-HFWO37RY.cjs.map +1 -0
  144. package/dist/{chunk-U7GBOQXX.js → chunk-HMB2RIEE.js} +5 -5
  145. package/dist/chunk-HMB2RIEE.js.map +1 -0
  146. package/dist/{chunk-RLH3PS3Y.js → chunk-ILCWDAKD.js} +3 -3
  147. package/dist/{chunk-RLH3PS3Y.js.map → chunk-ILCWDAKD.js.map} +1 -1
  148. package/dist/{chunk-L37ZPX6D.js → chunk-IRUIWMH6.js} +5 -5
  149. package/dist/chunk-IRUIWMH6.js.map +1 -0
  150. package/dist/{chunk-B7IV2PB3.cjs → chunk-JNQ4NL3R.cjs} +9 -9
  151. package/dist/chunk-JNQ4NL3R.cjs.map +1 -0
  152. package/dist/{chunk-FSKUEB7P.js → chunk-K5TPJVOK.js} +3 -3
  153. package/dist/{chunk-FSKUEB7P.js.map → chunk-K5TPJVOK.js.map} +1 -1
  154. package/dist/{chunk-5M624BRW.js → chunk-KTCP23W6.js} +4 -4
  155. package/dist/chunk-KTCP23W6.js.map +1 -0
  156. package/dist/{chunk-2L46SAT7.js → chunk-LIY7MYRG.js} +30 -5
  157. package/dist/chunk-LIY7MYRG.js.map +1 -0
  158. package/dist/{chunk-AA45U5KV.js → chunk-LK2A3HBT.js} +5 -5
  159. package/dist/chunk-LK2A3HBT.js.map +1 -0
  160. package/dist/{chunk-GMLJDDHZ.js → chunk-MPQECPE3.js} +3 -3
  161. package/dist/{chunk-GMLJDDHZ.js.map → chunk-MPQECPE3.js.map} +1 -1
  162. package/dist/{chunk-T6LXFMBR.cjs → chunk-MY4KMVJ5.cjs} +9 -9
  163. package/dist/{chunk-T6LXFMBR.cjs.map → chunk-MY4KMVJ5.cjs.map} +1 -1
  164. package/dist/chunk-MYXLKVJE.js +889 -0
  165. package/dist/chunk-MYXLKVJE.js.map +1 -0
  166. package/dist/{chunk-N7NZQVIV.cjs → chunk-NG7DRWWT.cjs} +7 -7
  167. package/dist/chunk-NG7DRWWT.cjs.map +1 -0
  168. package/dist/{chunk-MZQY2FTP.cjs → chunk-NGKUI7XE.cjs} +13 -13
  169. package/dist/chunk-NGKUI7XE.cjs.map +1 -0
  170. package/dist/{chunk-D2IP3MWJ.cjs → chunk-OAIMES5S.cjs} +219 -59
  171. package/dist/chunk-OAIMES5S.cjs.map +1 -0
  172. package/dist/{chunk-XKDBNAHH.cjs → chunk-OAL5RS2X.cjs} +11 -11
  173. package/dist/chunk-OAL5RS2X.cjs.map +1 -0
  174. package/dist/{chunk-FTKL3UAN.cjs → chunk-OFEROCC5.cjs} +6 -6
  175. package/dist/{chunk-FTKL3UAN.cjs.map → chunk-OFEROCC5.cjs.map} +1 -1
  176. package/dist/{chunk-IAE4VRB7.cjs → chunk-OUN3MWRQ.cjs} +35 -10
  177. package/dist/chunk-OUN3MWRQ.cjs.map +1 -0
  178. package/dist/{chunk-TIHVTKXS.cjs → chunk-PQCHNZHM.cjs} +11 -11
  179. package/dist/chunk-PQCHNZHM.cjs.map +1 -0
  180. package/dist/{chunk-BMEMMYVF.js → chunk-PVPTFMJJ.js} +5 -5
  181. package/dist/{chunk-BMEMMYVF.js.map → chunk-PVPTFMJJ.js.map} +1 -1
  182. package/dist/{chunk-LCEMO7NI.js → chunk-QERWC7U6.js} +3 -3
  183. package/dist/{chunk-LCEMO7NI.js.map → chunk-QERWC7U6.js.map} +1 -1
  184. package/dist/{chunk-2PRCN5OJ.cjs → chunk-QKJUAMRK.cjs} +6 -6
  185. package/dist/{chunk-2PRCN5OJ.cjs.map → chunk-QKJUAMRK.cjs.map} +1 -1
  186. package/dist/{chunk-WS2AL7GY.cjs → chunk-R6ZDSXN7.cjs} +34 -8
  187. package/dist/chunk-R6ZDSXN7.cjs.map +1 -0
  188. package/dist/{chunk-FKVYS4RB.js → chunk-RFEKSP62.js} +15 -8
  189. package/dist/chunk-RFEKSP62.js.map +1 -0
  190. package/dist/{chunk-FKAA5FNG.cjs → chunk-RHTVKBRC.cjs} +10 -10
  191. package/dist/chunk-RHTVKBRC.cjs.map +1 -0
  192. package/dist/{chunk-QRTYX5KO.js → chunk-RJIPFWW7.js} +5 -5
  193. package/dist/chunk-RJIPFWW7.js.map +1 -0
  194. package/dist/{chunk-GL3M7MAM.js → chunk-RN7NNB6I.js} +4 -4
  195. package/dist/chunk-RN7NNB6I.js.map +1 -0
  196. package/dist/{chunk-VGGKMTO6.js → chunk-RQJRVKAH.js} +4 -4
  197. package/dist/chunk-RQJRVKAH.js.map +1 -0
  198. package/dist/{chunk-AAKS22M3.cjs → chunk-RWQH5EO5.cjs} +12 -12
  199. package/dist/{chunk-AAKS22M3.cjs.map → chunk-RWQH5EO5.cjs.map} +1 -1
  200. package/dist/{chunk-SKREYNRK.cjs → chunk-SXVMEC6N.cjs} +45 -35
  201. package/dist/chunk-SXVMEC6N.cjs.map +1 -0
  202. package/dist/{chunk-4ABM7UYD.js → chunk-TVDQNLGJ.js} +4 -4
  203. package/dist/chunk-TVDQNLGJ.js.map +1 -0
  204. package/dist/{chunk-QXQSJ3FZ.js → chunk-TWSWD4PU.js} +5 -5
  205. package/dist/chunk-TWSWD4PU.js.map +1 -0
  206. package/dist/chunk-UFMPALRH.js +126 -0
  207. package/dist/chunk-UFMPALRH.js.map +1 -0
  208. package/dist/{chunk-3TLJCGGQ.cjs → chunk-UMIJYYF3.cjs} +230 -99
  209. package/dist/chunk-UMIJYYF3.cjs.map +1 -0
  210. package/dist/{chunk-DZKYVTV3.js → chunk-UZH6PVHD.js} +5 -5
  211. package/dist/{chunk-DZKYVTV3.js.map → chunk-UZH6PVHD.js.map} +1 -1
  212. package/dist/{chunk-ARQLGTTV.js → chunk-V45C74EB.js} +5 -5
  213. package/dist/{chunk-ARQLGTTV.js.map → chunk-V45C74EB.js.map} +1 -1
  214. package/dist/{chunk-EAKXLFOR.cjs → chunk-VBEZS3Q4.cjs} +11 -11
  215. package/dist/chunk-VBEZS3Q4.cjs.map +1 -0
  216. package/dist/{chunk-IXFSJBJS.js → chunk-WJP6CRML.js} +4 -14
  217. package/dist/chunk-WJP6CRML.js.map +1 -0
  218. package/dist/{chunk-KEMT7F5H.cjs → chunk-WVQVGQJO.cjs} +9 -9
  219. package/dist/chunk-WVQVGQJO.cjs.map +1 -0
  220. package/dist/chunk-WYIIWTIR.cjs +128 -0
  221. package/dist/chunk-WYIIWTIR.cjs.map +1 -0
  222. package/dist/{chunk-EYN74SQ5.js → chunk-XE5ZYFGM.js} +5 -5
  223. package/dist/chunk-XE5ZYFGM.js.map +1 -0
  224. package/dist/{chunk-S6NGWPXC.js → chunk-XKERO5K2.js} +4 -4
  225. package/dist/chunk-XKERO5K2.js.map +1 -0
  226. package/dist/chunk-XN6YS55F.cjs +891 -0
  227. package/dist/chunk-XN6YS55F.cjs.map +1 -0
  228. package/dist/{chunk-JT6H7G52.js → chunk-XWCY67K5.js} +5 -5
  229. package/dist/chunk-XWCY67K5.js.map +1 -0
  230. package/dist/{chunk-SC5BGA2N.cjs → chunk-XWN43PZF.cjs} +8 -8
  231. package/dist/chunk-XWN43PZF.cjs.map +1 -0
  232. package/dist/{chunk-Y4HJCMB4.cjs → chunk-YDQDZWZ7.cjs} +7 -7
  233. package/dist/chunk-YDQDZWZ7.cjs.map +1 -0
  234. package/dist/{chunk-VJQCHBS6.js → chunk-YJHB2GHQ.js} +15 -5
  235. package/dist/chunk-YJHB2GHQ.js.map +1 -0
  236. package/dist/{chunk-IUYPKYOU.js → chunk-YOLF5DYU.js} +9 -5
  237. package/dist/chunk-YOLF5DYU.js.map +1 -0
  238. package/dist/{chunk-ALRCYQQX.cjs → chunk-YX6RW6ZW.cjs} +10 -7
  239. package/dist/chunk-YX6RW6ZW.cjs.map +1 -0
  240. package/dist/{chunk-27E6G2GT.js → chunk-YZQROIJY.js} +4 -4
  241. package/dist/chunk-YZQROIJY.js.map +1 -0
  242. package/dist/{chunk-M6JYSINX.cjs → chunk-ZFSFOD5W.cjs} +8 -8
  243. package/dist/chunk-ZFSFOD5W.cjs.map +1 -0
  244. package/dist/{chunk-EFRBTSUO.cjs → chunk-ZTUKOCJN.cjs} +4 -4
  245. package/dist/{chunk-EFRBTSUO.cjs.map → chunk-ZTUKOCJN.cjs.map} +1 -1
  246. package/dist/{chunk-MVJKRPX7.js → chunk-ZY7ETQD6.js} +3 -3
  247. package/dist/{chunk-MVJKRPX7.js.map → chunk-ZY7ETQD6.js.map} +1 -1
  248. package/dist/{combo-type-wodyLq1f.d.cts → combo-type-CCrfKcTc.d.cts} +1 -1
  249. package/dist/{combo-type-BdSohVyy.d.ts → combo-type-Drb7xHSH.d.ts} +1 -1
  250. package/dist/combo.cjs +9 -9
  251. package/dist/combo.d.cts +4 -4
  252. package/dist/combo.d.ts +4 -4
  253. package/dist/combo.js +4 -4
  254. package/dist/{custom-type-B6w1n5Ua.d.cts → custom-type-CUdaJtsU.d.cts} +1 -1
  255. package/dist/{custom-type-XFjuPwCr.d.ts → custom-type-DeCdYBIK.d.ts} +1 -1
  256. package/dist/custom.cjs +10 -10
  257. package/dist/custom.d.cts +4 -4
  258. package/dist/custom.d.ts +4 -4
  259. package/dist/custom.js +5 -5
  260. package/dist/donut.cjs +11 -10
  261. package/dist/donut.cjs.map +1 -1
  262. package/dist/donut.d.cts +4 -4
  263. package/dist/donut.d.ts +4 -4
  264. package/dist/donut.js +6 -5
  265. package/dist/donut.js.map +1 -1
  266. package/dist/{dumbbell-type-w424KzI2.d.cts → dumbbell-type--8jqwUbP.d.cts} +1 -1
  267. package/dist/{dumbbell-type-DPSE0OTg.d.ts → dumbbell-type-FrAcyybz.d.ts} +1 -1
  268. package/dist/dumbbell.cjs +10 -10
  269. package/dist/dumbbell.d.cts +4 -4
  270. package/dist/dumbbell.d.ts +4 -4
  271. package/dist/dumbbell.js +5 -5
  272. package/dist/{engine-CNukbv7k.d.ts → engine-7vdmtmTm.d.cts} +20 -0
  273. package/dist/{engine-CNukbv7k.d.cts → engine-7vdmtmTm.d.ts} +20 -0
  274. package/dist/{factory-dbngWV4d.d.cts → factory-DVmPQ-5P.d.cts} +1 -1
  275. package/dist/{factory-jRzNNxwj.d.ts → factory-DXvw-FCZ.d.ts} +1 -1
  276. package/dist/{funnel-type-CMXGQq4T.d.ts → funnel-type-BhtkYPBR.d.ts} +1 -1
  277. package/dist/{funnel-type-BeVl3ohX.d.cts → funnel-type-BqLhbGkI.d.cts} +1 -1
  278. package/dist/funnel.cjs +10 -10
  279. package/dist/funnel.d.cts +4 -4
  280. package/dist/funnel.d.ts +4 -4
  281. package/dist/funnel.js +5 -5
  282. package/dist/{gauge-type-DmjDdfsY.d.cts → gauge-type-NeAO1otO.d.cts} +1 -1
  283. package/dist/{gauge-type-BpDBwCeD.d.ts → gauge-type-h6z_4lnL.d.ts} +1 -1
  284. package/dist/gauge.cjs +10 -10
  285. package/dist/gauge.d.cts +4 -4
  286. package/dist/gauge.d.ts +4 -4
  287. package/dist/gauge.js +5 -5
  288. package/dist/geo.cjs +12 -12
  289. package/dist/geo.d.cts +4 -4
  290. package/dist/geo.d.ts +4 -4
  291. package/dist/geo.js +5 -5
  292. package/dist/graph-type-Bg04GFeS.d.ts +15 -0
  293. package/dist/graph-type-DF-vww8T.d.cts +15 -0
  294. package/dist/graph.cjs +63 -10
  295. package/dist/graph.cjs.map +1 -1
  296. package/dist/graph.d.cts +65 -5
  297. package/dist/graph.d.ts +65 -5
  298. package/dist/graph.js +58 -6
  299. package/dist/graph.js.map +1 -1
  300. package/dist/{heatmap-type-q6nNhVTr.d.ts → heatmap-type-BAxcLZ1S.d.ts} +1 -1
  301. package/dist/{heatmap-type-D0shkxK7.d.cts → heatmap-type-CkmoO1Vi.d.cts} +1 -1
  302. package/dist/heatmap.cjs +10 -10
  303. package/dist/heatmap.d.cts +4 -4
  304. package/dist/heatmap.d.ts +4 -4
  305. package/dist/heatmap.js +5 -5
  306. package/dist/{histogram-type-BWil-Rb7.d.cts → histogram-type-BMxwKNZD.d.cts} +1 -1
  307. package/dist/{histogram-type-CF593WSp.d.ts → histogram-type-Bz1r_8dr.d.ts} +1 -1
  308. package/dist/histogram.cjs +9 -9
  309. package/dist/histogram.d.cts +4 -4
  310. package/dist/histogram.d.ts +4 -4
  311. package/dist/histogram.js +4 -4
  312. package/dist/{horizontal-bar-type-0mqnyMUR.d.cts → horizontal-bar-type-CPMqObyF.d.cts} +1 -1
  313. package/dist/{horizontal-bar-type-DAlrxY0h.d.ts → horizontal-bar-type-oNPstB_X.d.ts} +1 -1
  314. package/dist/horizontal-bar.cjs +9 -9
  315. package/dist/horizontal-bar.d.cts +4 -4
  316. package/dist/horizontal-bar.d.ts +4 -4
  317. package/dist/horizontal-bar.js +4 -4
  318. package/dist/index.cjs +180 -179
  319. package/dist/index.cjs.map +1 -1
  320. package/dist/index.d.cts +47 -47
  321. package/dist/index.d.ts +47 -47
  322. package/dist/index.js +92 -91
  323. package/dist/index.js.map +1 -1
  324. package/dist/{kagi-type-Y5XUVm3h.d.ts → kagi-type-DLvdmNEs.d.ts} +1 -1
  325. package/dist/{kagi-type-aG-Q1bWk.d.cts → kagi-type-DolumABK.d.cts} +1 -1
  326. package/dist/kagi.cjs +10 -10
  327. package/dist/kagi.d.cts +4 -4
  328. package/dist/kagi.d.ts +4 -4
  329. package/dist/kagi.js +5 -5
  330. package/dist/{line-type-Diw0nXj7.d.ts → line-type-CQ_Sbwde.d.ts} +1 -1
  331. package/dist/{line-type-B8lgTFjb.d.cts → line-type-DU-iLYyU.d.cts} +1 -1
  332. package/dist/line.cjs +9 -9
  333. package/dist/line.d.cts +4 -4
  334. package/dist/line.d.ts +4 -4
  335. package/dist/line.js +4 -4
  336. package/dist/{lines-type-CGrg_mDi.d.cts → lines-type-BZF5YnFG.d.cts} +1 -1
  337. package/dist/{lines-type-V-seVNZ4.d.ts → lines-type-CkKW7kQN.d.ts} +1 -1
  338. package/dist/lines.cjs +10 -10
  339. package/dist/lines.d.cts +4 -4
  340. package/dist/lines.d.ts +4 -4
  341. package/dist/lines.js +5 -5
  342. package/dist/{lollipop-type-CoTzKLSu.d.cts → lollipop-type-BUeY0pGU.d.cts} +1 -1
  343. package/dist/{lollipop-type-Ygc4rRql.d.ts → lollipop-type-DY7z1meu.d.ts} +1 -1
  344. package/dist/lollipop.cjs +9 -9
  345. package/dist/lollipop.d.cts +4 -4
  346. package/dist/lollipop.d.ts +4 -4
  347. package/dist/lollipop.js +4 -4
  348. package/dist/{matrix-type-Crb_NwUJ.d.cts → matrix-type-DZBt3yku.d.cts} +1 -1
  349. package/dist/{matrix-type-Dag1VLCY.d.ts → matrix-type-DkaWmxKb.d.ts} +1 -1
  350. package/dist/matrix.cjs +10 -10
  351. package/dist/matrix.d.cts +4 -4
  352. package/dist/matrix.d.ts +4 -4
  353. package/dist/matrix.js +5 -5
  354. package/dist/{ohlc-type-BQBHvVJO.d.cts → ohlc-type-C6NE-Bb3.d.cts} +1 -1
  355. package/dist/{ohlc-type-CGR-vRGL.d.ts → ohlc-type-eQd0E8lm.d.ts} +1 -1
  356. package/dist/ohlc.cjs +9 -9
  357. package/dist/ohlc.d.cts +4 -4
  358. package/dist/ohlc.d.ts +4 -4
  359. package/dist/ohlc.js +4 -4
  360. package/dist/{parallel-type-D-S-EqeC.d.cts → parallel-type-Cn2B_2-r.d.cts} +1 -1
  361. package/dist/{parallel-type-6t6xyHMg.d.ts → parallel-type-D4B96-R-.d.ts} +1 -1
  362. package/dist/parallel.cjs +10 -10
  363. package/dist/parallel.d.cts +4 -4
  364. package/dist/parallel.d.ts +4 -4
  365. package/dist/parallel.js +5 -5
  366. package/dist/{pictorialbar-type-A-8mTX1N.d.ts → pictorialbar-type-CoClaroO.d.ts} +1 -1
  367. package/dist/{pictorialbar-type-CnJEH9GZ.d.cts → pictorialbar-type-jiWGSHOU.d.cts} +1 -1
  368. package/dist/pictorialbar.cjs +10 -10
  369. package/dist/pictorialbar.d.cts +4 -4
  370. package/dist/pictorialbar.d.ts +4 -4
  371. package/dist/pictorialbar.js +5 -5
  372. package/dist/{pie-type-S7kUKGRS.d.ts → pie-type-0inQl-lu.d.ts} +1 -1
  373. package/dist/{pie-type-duX5xkfQ.d.cts → pie-type-9iaid0XE.d.cts} +1 -1
  374. package/dist/pie.cjs +11 -10
  375. package/dist/pie.cjs.map +1 -1
  376. package/dist/pie.d.cts +4 -4
  377. package/dist/pie.d.ts +4 -4
  378. package/dist/pie.js +6 -5
  379. package/dist/pie.js.map +1 -1
  380. package/dist/{polar-type-CI6-I8Yg.d.cts → polar-type-BraqKI4A.d.ts} +2 -1
  381. package/dist/{polar-type-Dj21GIc9.d.ts → polar-type-DsB9FOAO.d.cts} +2 -1
  382. package/dist/polar.cjs +11 -10
  383. package/dist/polar.cjs.map +1 -1
  384. package/dist/polar.d.cts +4 -4
  385. package/dist/polar.d.ts +4 -4
  386. package/dist/polar.js +6 -5
  387. package/dist/polar.js.map +1 -1
  388. package/dist/{radar-type-CYjZHuKm.d.ts → radar-type-C0JiXn53.d.ts} +1 -1
  389. package/dist/{radar-type-Dgyr13Zd.d.cts → radar-type-DaLjHpgO.d.cts} +1 -1
  390. package/dist/radar.cjs +10 -10
  391. package/dist/radar.d.cts +4 -4
  392. package/dist/radar.d.ts +4 -4
  393. package/dist/radar.js +5 -5
  394. package/dist/{radialbar-type-CLZ8XgST.d.ts → radialbar-type-DMzib3wW.d.ts} +1 -1
  395. package/dist/{radialbar-type-C_SBXoaa.d.cts → radialbar-type-YtZDe2x4.d.cts} +1 -1
  396. package/dist/radialbar.cjs +10 -10
  397. package/dist/radialbar.d.cts +4 -4
  398. package/dist/radialbar.d.ts +4 -4
  399. package/dist/radialbar.js +5 -5
  400. package/dist/{range-type-_LbMV4tl.d.ts → range-type-RlwPvBxs.d.ts} +1 -1
  401. package/dist/{range-type-CkriEnLm.d.cts → range-type-imi4626F.d.cts} +1 -1
  402. package/dist/range.cjs +9 -9
  403. package/dist/range.d.cts +4 -4
  404. package/dist/range.d.ts +4 -4
  405. package/dist/range.js +4 -4
  406. package/dist/{renko-type-ejoXt2ro.d.ts → renko-type-Bv23hPuk.d.ts} +1 -1
  407. package/dist/{renko-type-43OXCtZ3.d.cts → renko-type-DEe4vBKT.d.cts} +1 -1
  408. package/dist/renko.cjs +10 -10
  409. package/dist/renko.d.cts +4 -4
  410. package/dist/renko.d.ts +4 -4
  411. package/dist/renko.js +5 -5
  412. package/dist/{sankey-type-DfkTUnXB.d.cts → sankey-type-B0LCLees.d.cts} +1 -1
  413. package/dist/{sankey-type-CN7PL5MQ.d.ts → sankey-type-Gr2owHtQ.d.ts} +1 -1
  414. package/dist/sankey.cjs +10 -10
  415. package/dist/sankey.d.cts +4 -4
  416. package/dist/sankey.d.ts +4 -4
  417. package/dist/sankey.js +5 -5
  418. package/dist/{scatter-type-CD7X1pZb.d.cts → scatter-type-C0vMtH11.d.cts} +1 -1
  419. package/dist/{scatter-type-D3HdPkZ6.d.ts → scatter-type-DPCIXt3X.d.ts} +1 -1
  420. package/dist/scatter.cjs +9 -9
  421. package/dist/scatter.d.cts +4 -4
  422. package/dist/scatter.d.ts +4 -4
  423. package/dist/scatter.js +4 -4
  424. package/dist/{sparkline-type-qt3yoLs7.d.cts → sparkline-type-BDDpw4DS.d.cts} +1 -1
  425. package/dist/{sparkline-type-COW3izgF.d.ts → sparkline-type-BtSsuoh4.d.ts} +1 -1
  426. package/dist/sparkline.cjs +9 -9
  427. package/dist/sparkline.d.cts +4 -4
  428. package/dist/sparkline.d.ts +4 -4
  429. package/dist/sparkline.js +4 -4
  430. package/dist/{stacked-bar-type-C-5pmb-D.d.ts → stacked-bar-type-5_GXIxLN.d.ts} +1 -1
  431. package/dist/{stacked-bar-type-Ct6HK2A0.d.cts → stacked-bar-type-BF4R1zEK.d.cts} +1 -1
  432. package/dist/stacked-bar.cjs +9 -9
  433. package/dist/stacked-bar.d.cts +4 -4
  434. package/dist/stacked-bar.d.ts +4 -4
  435. package/dist/stacked-bar.js +4 -4
  436. package/dist/{step-type-BSL-CUny.d.cts → step-type-CZJO5PE4.d.cts} +1 -1
  437. package/dist/{step-type-Cleoshov.d.ts → step-type-CoBGeRRR.d.ts} +1 -1
  438. package/dist/step.cjs +10 -10
  439. package/dist/step.d.cts +4 -4
  440. package/dist/step.d.ts +4 -4
  441. package/dist/step.js +5 -5
  442. package/dist/{sunburst-type-ZFw2w6m8.d.ts → sunburst-type-CAcFLV8s.d.ts} +1 -1
  443. package/dist/{sunburst-type-BOztb_Px.d.cts → sunburst-type-DgP1x1nn.d.cts} +1 -1
  444. package/dist/sunburst.cjs +11 -10
  445. package/dist/sunburst.cjs.map +1 -1
  446. package/dist/sunburst.d.cts +4 -4
  447. package/dist/sunburst.d.ts +4 -4
  448. package/dist/sunburst.js +6 -5
  449. package/dist/sunburst.js.map +1 -1
  450. package/dist/{themeriver-type-B5PYChcC.d.ts → themeriver-type-BxLJux1v.d.ts} +1 -1
  451. package/dist/{themeriver-type-BnRSsyal.d.cts → themeriver-type-CGn5zE2F.d.cts} +1 -1
  452. package/dist/themeriver.cjs +10 -10
  453. package/dist/themeriver.d.cts +4 -4
  454. package/dist/themeriver.d.ts +4 -4
  455. package/dist/themeriver.js +5 -5
  456. package/dist/{tree-type-B-bOSg0l.d.ts → tree-type-Dyw9F7oq.d.ts} +1 -1
  457. package/dist/{tree-type-Cz84wHnR.d.cts → tree-type-xf-pj4pG.d.cts} +1 -1
  458. package/dist/tree.cjs +10 -10
  459. package/dist/tree.d.cts +4 -4
  460. package/dist/tree.d.ts +4 -4
  461. package/dist/tree.js +5 -5
  462. package/dist/{treemap-type-DYDj-rWv.d.ts → treemap-type-B4ty-Vge.d.ts} +1 -1
  463. package/dist/{treemap-type-OBCGexiK.d.cts → treemap-type-CeLgbJFQ.d.cts} +1 -1
  464. package/dist/treemap.cjs +10 -10
  465. package/dist/treemap.d.cts +4 -4
  466. package/dist/treemap.d.ts +4 -4
  467. package/dist/treemap.js +5 -5
  468. package/dist/{volume-type-C9wRmKR6.d.ts → volume-type-2ZgLIkPV.d.ts} +1 -1
  469. package/dist/{volume-type-CfERBN5g.d.cts → volume-type-Dvnr4sC9.d.cts} +1 -1
  470. package/dist/volume.cjs +9 -9
  471. package/dist/volume.d.cts +4 -4
  472. package/dist/volume.d.ts +4 -4
  473. package/dist/volume.js +4 -4
  474. package/dist/{waterfall-type-hm5ylGgW.d.cts → waterfall-type-D_6Db7Zy.d.cts} +1 -1
  475. package/dist/{waterfall-type-CpdVtBi_.d.ts → waterfall-type-DsC5vlAP.d.ts} +1 -1
  476. package/dist/waterfall.cjs +9 -9
  477. package/dist/waterfall.d.cts +4 -4
  478. package/dist/waterfall.d.ts +4 -4
  479. package/dist/waterfall.js +4 -4
  480. package/dist/world-regions-C0JUJCGT.d.ts +25 -0
  481. package/dist/world-regions-gUFRPji8.d.cts +25 -0
  482. package/package.json +11 -7
  483. package/dist/chunk-27E6G2GT.js.map +0 -1
  484. package/dist/chunk-2KMMVJEE.cjs.map +0 -1
  485. package/dist/chunk-2L46SAT7.js.map +0 -1
  486. package/dist/chunk-3N447NTJ.cjs.map +0 -1
  487. package/dist/chunk-3NWZJCWL.js.map +0 -1
  488. package/dist/chunk-3QXN7JBV.js.map +0 -1
  489. package/dist/chunk-3TLJCGGQ.cjs.map +0 -1
  490. package/dist/chunk-43WDYYVH.cjs.map +0 -1
  491. package/dist/chunk-4ABM7UYD.js.map +0 -1
  492. package/dist/chunk-5LQ26P4J.cjs.map +0 -1
  493. package/dist/chunk-5M624BRW.js.map +0 -1
  494. package/dist/chunk-6WJJ26J5.js.map +0 -1
  495. package/dist/chunk-7HOU6XMW.js.map +0 -1
  496. package/dist/chunk-7JN6GXML.cjs.map +0 -1
  497. package/dist/chunk-7MXBXWVD.js.map +0 -1
  498. package/dist/chunk-AA45U5KV.js.map +0 -1
  499. package/dist/chunk-ALRCYQQX.cjs.map +0 -1
  500. package/dist/chunk-B7IV2PB3.cjs.map +0 -1
  501. package/dist/chunk-BMTVFAX2.js.map +0 -1
  502. package/dist/chunk-CCHMQZIB.js.map +0 -1
  503. package/dist/chunk-CHERQT4B.js.map +0 -1
  504. package/dist/chunk-CJEMSKW3.js.map +0 -1
  505. package/dist/chunk-D2IP3MWJ.cjs.map +0 -1
  506. package/dist/chunk-DAH76GIX.cjs.map +0 -1
  507. package/dist/chunk-DKVRRL3F.js.map +0 -1
  508. package/dist/chunk-DZHP4UUE.cjs.map +0 -1
  509. package/dist/chunk-DZW35WR2.js.map +0 -1
  510. package/dist/chunk-EAKXLFOR.cjs.map +0 -1
  511. package/dist/chunk-EYN74SQ5.js.map +0 -1
  512. package/dist/chunk-FEQKBVCZ.cjs.map +0 -1
  513. package/dist/chunk-FIAKZSRR.cjs.map +0 -1
  514. package/dist/chunk-FKAA5FNG.cjs.map +0 -1
  515. package/dist/chunk-FKVYS4RB.js.map +0 -1
  516. package/dist/chunk-FQG4DRJS.cjs.map +0 -1
  517. package/dist/chunk-GI7PBJSK.js.map +0 -1
  518. package/dist/chunk-GL3M7MAM.js.map +0 -1
  519. package/dist/chunk-GQR7IHER.js.map +0 -1
  520. package/dist/chunk-GUVPVNPD.cjs.map +0 -1
  521. package/dist/chunk-IAE4VRB7.cjs.map +0 -1
  522. package/dist/chunk-ID7GYRYL.cjs.map +0 -1
  523. package/dist/chunk-IUYPKYOU.js.map +0 -1
  524. package/dist/chunk-IXFSJBJS.js.map +0 -1
  525. package/dist/chunk-JT6H7G52.js.map +0 -1
  526. package/dist/chunk-K2EZ4SS4.js.map +0 -1
  527. package/dist/chunk-K7UR7GYC.cjs.map +0 -1
  528. package/dist/chunk-KEMT7F5H.cjs.map +0 -1
  529. package/dist/chunk-KHQRHTTN.js.map +0 -1
  530. package/dist/chunk-KUFDELQM.cjs.map +0 -1
  531. package/dist/chunk-L37ZPX6D.js.map +0 -1
  532. package/dist/chunk-M6JYSINX.cjs.map +0 -1
  533. package/dist/chunk-MGYBMQAX.cjs.map +0 -1
  534. package/dist/chunk-MZCKMTQE.cjs +0 -210
  535. package/dist/chunk-MZCKMTQE.cjs.map +0 -1
  536. package/dist/chunk-MZQY2FTP.cjs.map +0 -1
  537. package/dist/chunk-N7NZQVIV.cjs.map +0 -1
  538. package/dist/chunk-NML7F34A.js.map +0 -1
  539. package/dist/chunk-NQGZMWNT.js +0 -208
  540. package/dist/chunk-NQGZMWNT.js.map +0 -1
  541. package/dist/chunk-NZWFBAFQ.js.map +0 -1
  542. package/dist/chunk-PCTMS2PX.cjs.map +0 -1
  543. package/dist/chunk-QCR6L55R.js.map +0 -1
  544. package/dist/chunk-QRTYX5KO.js.map +0 -1
  545. package/dist/chunk-QXQSJ3FZ.js.map +0 -1
  546. package/dist/chunk-S64PTNT7.cjs.map +0 -1
  547. package/dist/chunk-S6NGWPXC.js.map +0 -1
  548. package/dist/chunk-SC5BGA2N.cjs.map +0 -1
  549. package/dist/chunk-SKREYNRK.cjs.map +0 -1
  550. package/dist/chunk-SLJNRP7O.cjs.map +0 -1
  551. package/dist/chunk-TIHVTKXS.cjs.map +0 -1
  552. package/dist/chunk-TVPS2NJH.cjs.map +0 -1
  553. package/dist/chunk-U7GBOQXX.js.map +0 -1
  554. package/dist/chunk-VGGKMTO6.js.map +0 -1
  555. package/dist/chunk-VJQCHBS6.js.map +0 -1
  556. package/dist/chunk-WS2AL7GY.cjs.map +0 -1
  557. package/dist/chunk-XKDBNAHH.cjs.map +0 -1
  558. package/dist/chunk-Y4HJCMB4.cjs.map +0 -1
  559. package/dist/chunk-YMJQUKKX.js.map +0 -1
  560. package/dist/graph-type-DkdAB6Vc.d.cts +0 -5
  561. package/dist/graph-type-ul9xwdf5.d.ts +0 -5
  562. package/dist/world-regions-D-TCHPZP.d.cts +0 -38
  563. package/dist/world-regions-DjMvYgFu.d.ts +0 -38
@@ -1087,17 +1087,30 @@ var CHART_CSS = (
1087
1087
  .chartts-geo-region {
1088
1088
  animation: chartts-geo-in 0.4s ease calc(var(--chartts-i, 0) * 3ms) forwards;
1089
1089
  opacity: 0;
1090
- transition: fill-opacity 0.2s ease, filter 0.15s ease;
1090
+ transition: fill-opacity 0.15s ease, filter 0.15s ease, stroke-width 0.15s ease, stroke 0.15s ease;
1091
1091
  cursor: pointer;
1092
1092
  }
1093
1093
  .chartts-geo-region:hover {
1094
- filter: brightness(1.1);
1094
+ filter: brightness(1.15) drop-shadow(0 0 2px rgba(0,0,0,0.3));
1095
1095
  fill-opacity: 0.95 !important;
1096
+ stroke: #fff !important;
1097
+ stroke-width: 1.5px !important;
1098
+ }
1099
+ .chartts-geo-label {
1100
+ pointer-events: none;
1101
+ text-shadow: 0 0 3px rgba(0,0,0,0.5), 0 0 6px rgba(0,0,0,0.3);
1096
1102
  }
1097
1103
  .chartts-geo-scatter {
1098
- transition: r 0.15s ease;
1104
+ transition: r 0.15s ease, opacity 0.15s ease;
1099
1105
  cursor: pointer;
1100
1106
  }
1107
+ .chartts-geo-scatter:hover {
1108
+ opacity: 0.9;
1109
+ filter: drop-shadow(0 0 4px currentColor);
1110
+ }
1111
+ .chartts-geo-legend text {
1112
+ user-select: none;
1113
+ }
1101
1114
 
1102
1115
  /* ---- Lines (flow) ---- */
1103
1116
  @keyframes chartts-lines-flow-in {
@@ -1282,8 +1295,9 @@ var CHART_CSS = (
1282
1295
  .chartts-skip-anim .chartts-renko-brick {
1283
1296
  animation: none !important;
1284
1297
  opacity: 1 !important;
1285
- transform: none !important;
1286
1298
  }
1299
+ .chartts-skip-anim .chartts-line,
1300
+ .chartts-skip-anim .chartts-sparkline-line,
1287
1301
  .chartts-skip-anim .chartts-gauge-fill {
1288
1302
  stroke-dashoffset: 0 !important;
1289
1303
  }
@@ -1314,8 +1328,9 @@ var CHART_CSS = (
1314
1328
  .chartts-renko-brick {
1315
1329
  animation: none !important;
1316
1330
  opacity: 1 !important;
1317
- transform: none !important;
1318
1331
  }
1332
+ .chartts-line,
1333
+ .chartts-sparkline-line,
1319
1334
  .chartts-gauge-fill {
1320
1335
  stroke-dashoffset: 0 !important;
1321
1336
  }
@@ -1469,10 +1484,16 @@ function applyAttrs(el2, attrs) {
1469
1484
  stroke: "stroke",
1470
1485
  strokeWidth: "stroke-width",
1471
1486
  strokeDasharray: "stroke-dasharray",
1487
+ strokeOpacity: "stroke-opacity",
1488
+ strokeLinecap: "stroke-linecap",
1489
+ strokeLinejoin: "stroke-linejoin",
1472
1490
  fill: "fill",
1473
1491
  fillOpacity: "fill-opacity",
1474
1492
  opacity: "opacity",
1475
1493
  transform: "transform",
1494
+ filter: "filter",
1495
+ cursor: "cursor",
1496
+ pointerEvents: "pointer-events",
1476
1497
  role: "role",
1477
1498
  ariaLabel: "aria-label",
1478
1499
  tabindex: "tabindex"
@@ -1490,17 +1511,20 @@ function applyAttrs(el2, attrs) {
1490
1511
  }
1491
1512
  }
1492
1513
  function applyEntryAnimations(svg) {
1493
- svg.querySelectorAll(".chartts-line, .chartts-sparkline-line").forEach((p) => {
1494
- try {
1495
- const existing = p.getAttribute("stroke-dasharray");
1496
- if (existing && existing.includes(",")) return;
1497
- const len = p.getTotalLength();
1498
- p.style.setProperty("--chartts-path-len", String(len));
1499
- p.setAttribute("stroke-dasharray", String(len));
1500
- p.setAttribute("stroke-dashoffset", String(len));
1501
- } catch {
1502
- }
1503
- });
1514
+ const skipAnim = svg.classList.contains("chartts-skip-anim");
1515
+ if (!skipAnim) {
1516
+ svg.querySelectorAll(".chartts-line, .chartts-sparkline-line").forEach((p) => {
1517
+ try {
1518
+ const existing = p.getAttribute("stroke-dasharray");
1519
+ if (existing && existing.includes(",")) return;
1520
+ const len = p.getTotalLength();
1521
+ p.style.setProperty("--chartts-path-len", String(len));
1522
+ p.setAttribute("stroke-dasharray", String(len));
1523
+ p.setAttribute("stroke-dashoffset", String(len));
1524
+ } catch {
1525
+ }
1526
+ });
1527
+ }
1504
1528
  const STAGGER_SELECTORS = [
1505
1529
  ".chartts-point",
1506
1530
  ".chartts-bar",
@@ -1542,27 +1566,54 @@ function applyEntryAnimations(svg) {
1542
1566
  el2.style.setProperty("--chartts-i", String(i));
1543
1567
  });
1544
1568
  }
1545
- svg.querySelectorAll(".chartts-gauge-fill").forEach((p) => {
1546
- try {
1547
- const len = p.getTotalLength();
1548
- p.style.setProperty("--chartts-path-len", String(len));
1549
- p.setAttribute("stroke-dasharray", String(len));
1550
- p.setAttribute("stroke-dashoffset", String(len));
1551
- } catch {
1552
- }
1553
- });
1569
+ if (!skipAnim) {
1570
+ svg.querySelectorAll(".chartts-gauge-fill").forEach((p) => {
1571
+ try {
1572
+ const len = p.getTotalLength();
1573
+ p.style.setProperty("--chartts-path-len", String(len));
1574
+ p.setAttribute("stroke-dasharray", String(len));
1575
+ p.setAttribute("stroke-dashoffset", String(len));
1576
+ } catch {
1577
+ }
1578
+ });
1579
+ }
1554
1580
  svg.querySelectorAll(".chartts-radar-area").forEach((el2, i) => {
1555
1581
  el2.style.setProperty("--chartts-radar-i", String(i));
1556
1582
  });
1557
1583
  }
1558
1584
 
1559
1585
  // src/render/canvas.ts
1586
+ var cssVarMap = {};
1587
+ function buildCssVarMap(theme) {
1588
+ const p = "--chartts";
1589
+ cssVarMap = {
1590
+ [`${p}-bg`]: theme.background,
1591
+ [`${p}-text`]: theme.textColor,
1592
+ [`${p}-text-muted`]: theme.textMuted,
1593
+ [`${p}-axis`]: theme.axisColor,
1594
+ [`${p}-grid`]: theme.gridColor,
1595
+ [`${p}-tooltip-bg`]: theme.tooltipBackground,
1596
+ [`${p}-tooltip-text`]: theme.tooltipText,
1597
+ [`${p}-tooltip-border`]: theme.tooltipBorder
1598
+ };
1599
+ theme.colors.forEach((c, i) => {
1600
+ cssVarMap[`${p}-color-${i + 1}`] = typeof c === "string" ? c : String(c);
1601
+ });
1602
+ }
1560
1603
  function resolveColor(value, fallback = "#000") {
1561
1604
  if (!value) return fallback;
1562
1605
  if (value === "none" || value === "transparent") return "transparent";
1563
1606
  if (value.startsWith("url(")) return value;
1564
- const match = value.match(/var\([^,]+,\s*([^)]+)\)/);
1565
- return match ? match[1].trim() : value;
1607
+ const varMatch = value.match(/var\(\s*([^,)]+)(?:,\s*([^)]+))?\)/);
1608
+ if (varMatch) {
1609
+ const token = varMatch[1].trim();
1610
+ const mapped = cssVarMap[token];
1611
+ if (mapped) {
1612
+ return resolveColor(mapped, varMatch[2]?.trim() ?? fallback);
1613
+ }
1614
+ return varMatch[2]?.trim() ?? fallback;
1615
+ }
1616
+ return value;
1566
1617
  }
1567
1618
  function hexToRgba(hex, alpha) {
1568
1619
  const h = hex.replace("#", "");
@@ -1626,9 +1677,10 @@ function mapTextBaseline(baseline) {
1626
1677
  return "alphabetic";
1627
1678
  }
1628
1679
  }
1629
- function createCanvasRenderer(theme) {
1630
- const colors = theme.colors;
1680
+ function createCanvasRenderer(getTheme) {
1681
+ const resolveTheme2 = typeof getTheme === "function" ? getTheme : () => getTheme;
1631
1682
  let clipPaths = /* @__PURE__ */ new Map();
1683
+ let currentColors = [];
1632
1684
  return {
1633
1685
  createRoot(target, width, height, attrs) {
1634
1686
  const canvas = document.createElement("canvas");
@@ -1641,7 +1693,7 @@ function createCanvasRenderer(theme) {
1641
1693
  if (attrs?.class) canvas.className = attrs.class;
1642
1694
  if (attrs?.role) canvas.setAttribute("role", attrs.role);
1643
1695
  if (attrs?.ariaLabel) canvas.setAttribute("aria-label", attrs.ariaLabel);
1644
- const ctx2d = canvas.getContext("2d", { alpha: false });
1696
+ const ctx2d = canvas.getContext("2d");
1645
1697
  ctx2d.setTransform(dpr, 0, 0, dpr, 0, 0);
1646
1698
  target.appendChild(canvas);
1647
1699
  const root = { element: canvas };
@@ -1655,16 +1707,25 @@ function createCanvasRenderer(theme) {
1655
1707
  const cr = root;
1656
1708
  const canvas = cr.element;
1657
1709
  const dpr = window.devicePixelRatio || 1;
1710
+ const theme = resolveTheme2();
1711
+ const colors = theme.colors;
1712
+ buildCssVarMap(theme);
1658
1713
  cr.width = canvas.width / dpr;
1659
1714
  cr.height = canvas.height / dpr;
1660
1715
  cr.dpr = dpr;
1661
1716
  clipPaths = /* @__PURE__ */ new Map();
1717
+ currentColors = colors;
1662
1718
  const ctx = cr.ctx;
1663
1719
  ctx.imageSmoothingEnabled = true;
1664
1720
  ctx.imageSmoothingQuality = "high";
1665
1721
  ctx.save();
1666
- ctx.fillStyle = resolveColor(theme.background, "#ffffff");
1667
- ctx.fillRect(0, 0, cr.width, cr.height);
1722
+ const bg = resolveColor(theme.background, "#ffffff");
1723
+ if (bg === "transparent") {
1724
+ ctx.clearRect(0, 0, cr.width, cr.height);
1725
+ } else {
1726
+ ctx.fillStyle = bg;
1727
+ ctx.fillRect(0, 0, cr.width, cr.height);
1728
+ }
1668
1729
  ctx.restore();
1669
1730
  collectClipPaths(nodes);
1670
1731
  drawNodes(cr.ctx, nodes, cr.width, cr.height);
@@ -1837,12 +1898,13 @@ function createCanvasRenderer(theme) {
1837
1898
  break;
1838
1899
  }
1839
1900
  case "text": {
1840
- const fill = resolveColor(node.attrs?.fill, theme.textColor);
1901
+ const t = resolveTheme2();
1902
+ const fill = resolveColor(node.attrs?.fill, t.textColor);
1841
1903
  const resolvedFill = resolveColor(fill);
1842
1904
  const opacity = node.attrs?.opacity ?? 1;
1843
1905
  const extra = node.attrs;
1844
- const fontSize = extra?.fontSize ?? theme.fontSize;
1845
- const fontFamily = extra?.fontFamily ?? theme.fontFamily;
1906
+ const fontSize = extra?.fontSize ?? t.fontSize;
1907
+ const fontFamily = extra?.fontFamily ?? t.fontFamily;
1846
1908
  const fontWeight = extra?.fontWeight ?? "normal";
1847
1909
  const textAnchor = extra?.textAnchor;
1848
1910
  const baseline = extra?.dominantBaseline;
@@ -1863,7 +1925,7 @@ function createCanvasRenderer(theme) {
1863
1925
  if (!fill) return "transparent";
1864
1926
  const urlId = parseUrlRef(fill);
1865
1927
  if (urlId) {
1866
- const grad = resolveGradientRef(urlId, colors, ctx, x, y, w, h);
1928
+ const grad = resolveGradientRef(urlId, currentColors, ctx, x, y, w, h);
1867
1929
  return grad ?? resolveColor(fill);
1868
1930
  }
1869
1931
  return resolveColor(fill);
@@ -2852,7 +2914,12 @@ function createZoomPan(config, onUpdate, interactionState) {
2852
2914
  state.zoomX = newZoom;
2853
2915
  }
2854
2916
  if (cfg.y) {
2855
- state.zoomY = clamp(state.zoomY * delta, cfg.minZoom, cfg.maxZoom);
2917
+ const mouseY = e.clientY - rect2.top;
2918
+ const relY = (mouseY - area.y) / area.height;
2919
+ const newZoomY = clamp(state.zoomY * delta, cfg.minZoom, cfg.maxZoom);
2920
+ const zoomRatioY = newZoomY / state.zoomY;
2921
+ state.panY = relY - (relY - state.panY) * zoomRatioY;
2922
+ state.zoomY = newZoomY;
2856
2923
  }
2857
2924
  clampPan();
2858
2925
  onUpdate();
@@ -2890,30 +2957,46 @@ function createZoomPan(config, onUpdate, interactionState) {
2890
2957
  el2.releasePointerCapture(e.pointerId);
2891
2958
  el2.style.cursor = "crosshair";
2892
2959
  }
2960
+ let lastPinchCenterX = 0;
2961
+ let lastPinchCenterY = 0;
2893
2962
  function onTouchStart(e) {
2894
2963
  if (!cfg.pinch || e.touches.length !== 2) return;
2895
2964
  lastPinchDist = pinchDistance(e);
2965
+ lastPinchCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
2966
+ lastPinchCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
2896
2967
  }
2897
2968
  function onTouchMove(e) {
2898
- if (!cfg.pinch || e.touches.length !== 2) return;
2969
+ if (!cfg.pinch || e.touches.length !== 2 || !getArea) return;
2899
2970
  e.preventDefault();
2971
+ const area = getArea();
2972
+ const rect2 = el2.getBoundingClientRect();
2900
2973
  const dist = pinchDistance(e);
2901
- const scale = dist / lastPinchDist;
2974
+ const scaleFactor = dist / lastPinchDist;
2902
2975
  lastPinchDist = dist;
2976
+ const cx = (lastPinchCenterX - rect2.left - area.x) / area.width;
2977
+ const cy = (lastPinchCenterY - rect2.top - area.y) / area.height;
2978
+ lastPinchCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
2979
+ lastPinchCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
2903
2980
  if (cfg.x) {
2904
- state.zoomX = clamp(state.zoomX * scale, cfg.minZoom, cfg.maxZoom);
2981
+ const newZoom = clamp(state.zoomX * scaleFactor, cfg.minZoom, cfg.maxZoom);
2982
+ const ratio = newZoom / state.zoomX;
2983
+ state.panX = cx - (cx - state.panX) * ratio;
2984
+ state.zoomX = newZoom;
2905
2985
  }
2906
2986
  if (cfg.y) {
2907
- state.zoomY = clamp(state.zoomY * scale, cfg.minZoom, cfg.maxZoom);
2987
+ const newZoom = clamp(state.zoomY * scaleFactor, cfg.minZoom, cfg.maxZoom);
2988
+ const ratio = newZoom / state.zoomY;
2989
+ state.panY = cy - (cy - state.panY) * ratio;
2990
+ state.zoomY = newZoom;
2908
2991
  }
2909
2992
  clampPan();
2910
2993
  onUpdate();
2911
2994
  }
2912
2995
  function clampPan() {
2913
- const visibleX = 1 / state.zoomX;
2914
- state.panX = clamp(state.panX, -(1 - visibleX), 0);
2915
- const visibleY = 1 / state.zoomY;
2916
- state.panY = clamp(state.panY, -(1 - visibleY), 0);
2996
+ const halfVisX = (1 - 1 / state.zoomX) / 2;
2997
+ state.panX = clamp(state.panX, -halfVisX, halfVisX);
2998
+ const halfVisY = (1 - 1 / state.zoomY) / 2;
2999
+ state.panY = clamp(state.panY, -halfVisY, halfVisY);
2917
3000
  }
2918
3001
  function pinchDistance(e) {
2919
3002
  const dx = e.touches[0].clientX - e.touches[1].clientX;
@@ -3768,9 +3851,61 @@ function createTooltip(config, theme) {
3768
3851
  return { show, hide, destroy };
3769
3852
  }
3770
3853
 
3854
+ // src/interaction/highlight.ts
3855
+ function defaultHighlightNodes(hit, ctx) {
3856
+ const color = resolveHighlightColor(ctx.data.series[hit.seriesIndex]?.color, ctx.theme);
3857
+ const r = ctx.theme.pointRadius;
3858
+ return [
3859
+ // Outer glow
3860
+ circle(hit.x, hit.y, r * 3, {
3861
+ class: "chartts-highlight-glow",
3862
+ fill: color,
3863
+ fillOpacity: 0.2
3864
+ }),
3865
+ // Solid dot
3866
+ circle(hit.x, hit.y, r + 1, {
3867
+ class: "chartts-highlight-dot",
3868
+ fill: color,
3869
+ stroke: ctx.theme.background === "transparent" ? "#fff" : ctx.theme.background,
3870
+ strokeWidth: 2
3871
+ })
3872
+ ];
3873
+ }
3874
+ function applyDimming(nodes, hit) {
3875
+ return nodes.map((node) => dimNode(node, hit.seriesIndex));
3876
+ }
3877
+ function dimNode(node, activeSeriesIndex) {
3878
+ if (node.type === "group") {
3879
+ const cls = node.attrs?.class ?? "";
3880
+ const seriesMatch = cls.match(/chartts-series-(\d+)/);
3881
+ if (seriesMatch) {
3882
+ const idx = parseInt(seriesMatch[1], 10);
3883
+ if (idx !== activeSeriesIndex) {
3884
+ return {
3885
+ ...node,
3886
+ attrs: { ...node.attrs, opacity: 0.3 },
3887
+ children: node.children
3888
+ };
3889
+ }
3890
+ }
3891
+ return {
3892
+ ...node,
3893
+ children: node.children.map((c) => dimNode(c, activeSeriesIndex))
3894
+ };
3895
+ }
3896
+ return node;
3897
+ }
3898
+ function resolveHighlightColor(cssVarString, theme) {
3899
+ if (!cssVarString) return theme.colors[0] ?? "#3b82f6";
3900
+ const m = cssVarString.match(/,\s*([^)]+)\)/);
3901
+ if (m) return m[1].trim();
3902
+ if (cssVarString.startsWith("#") || cssVarString.startsWith("rgb")) return cssVarString;
3903
+ return theme.colors[0] ?? "#3b82f6";
3904
+ }
3905
+
3771
3906
  // src/interaction/interaction.ts
3772
3907
  var SVG_NS = "http://www.w3.org/2000/svg";
3773
- function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState) {
3908
+ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState, canvasHighlight) {
3774
3909
  let targetEl = null;
3775
3910
  let container = null;
3776
3911
  let tooltip = null;
@@ -3796,11 +3931,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
3796
3931
  }
3797
3932
  function syncOverlay() {
3798
3933
  if (!overlayEl || !targetEl) return;
3799
- const w = targetEl.clientWidth || parseInt(targetEl.style.width) || 400;
3800
- const h = targetEl.clientHeight || parseInt(targetEl.style.height) || 300;
3934
+ const canvas = targetEl;
3935
+ const w = canvas.offsetWidth || canvas.clientWidth || parseInt(canvas.style.width) || 400;
3936
+ const h = canvas.offsetHeight || canvas.clientHeight || parseInt(canvas.style.height) || 300;
3801
3937
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
3802
- overlayEl.setAttribute("width", String(w));
3803
- overlayEl.setAttribute("height", String(h));
3938
+ overlayEl.style.width = `${w}px`;
3939
+ overlayEl.style.height = `${h}px`;
3804
3940
  }
3805
3941
  function getCrosshairConfig() {
3806
3942
  try {
@@ -4078,7 +4214,7 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4078
4214
  };
4079
4215
  if (!activePoint || activePoint.seriesIndex !== hit.seriesIndex || activePoint.pointIndex !== hit.pointIndex) {
4080
4216
  clearHighlights();
4081
- highlightPoint(hit.seriesIndex, hit.pointIndex, svgX, svgY);
4217
+ highlightPoint(hit);
4082
4218
  activePoint = { seriesIndex: hit.seriesIndex, pointIndex: hit.pointIndex };
4083
4219
  bus.emit("point:enter", { point, event: e });
4084
4220
  onHover?.(point, e);
@@ -4144,43 +4280,24 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4144
4280
  }));
4145
4281
  linkedUnsubs.push(unsub1, unsub2);
4146
4282
  }
4147
- function highlightPoint(seriesIndex, pointIndex, hitX, hitY) {
4148
- const overlay = getOverlay();
4149
- if (!overlay) return;
4150
- if (isCanvas) {
4151
- if (hitX == null || hitY == null) return;
4152
- syncOverlay();
4153
- const pointChartTypes = /* @__PURE__ */ new Set(["line", "scatter", "bubble", "area", "sparkline", "combo", "step", "baseline", "range"]);
4154
- if (!pointChartTypes.has(chartType.type)) return;
4155
- const data = getData();
4156
- const series = data.series[seriesIndex];
4157
- if (!series) return;
4158
- const glow = document.createElementNS(SVG_NS, "circle");
4159
- glow.setAttribute("cx", String(hitX));
4160
- glow.setAttribute("cy", String(hitY));
4161
- glow.setAttribute("r", "12");
4162
- glow.setAttribute("fill", "none");
4163
- glow.setAttribute("stroke", series.color);
4164
- glow.setAttribute("stroke-width", "2");
4165
- glow.setAttribute("opacity", "0.3");
4166
- glow.setAttribute("class", "chartts-canvas-highlight");
4167
- glow.style.pointerEvents = "none";
4168
- overlay.appendChild(glow);
4169
- const dot = document.createElementNS(SVG_NS, "circle");
4170
- dot.setAttribute("cx", String(hitX));
4171
- dot.setAttribute("cy", String(hitY));
4172
- dot.setAttribute("r", "5");
4173
- dot.setAttribute("fill", series.color);
4174
- dot.setAttribute("stroke", "#fff");
4175
- dot.setAttribute("stroke-width", "2");
4176
- dot.setAttribute("class", "chartts-canvas-highlight");
4177
- dot.style.pointerEvents = "none";
4178
- overlay.appendChild(dot);
4283
+ let highlightRafId = 0;
4284
+ function highlightPoint(hit) {
4285
+ if (isCanvas && canvasHighlight) {
4286
+ if (highlightRafId) return;
4287
+ highlightRafId = requestAnimationFrame(() => {
4288
+ highlightRafId = 0;
4289
+ const ctx = getContext();
4290
+ const baseNodes = canvasHighlight.getLastNodes();
4291
+ const dimmed = applyDimming(baseNodes, hit);
4292
+ const highlight = chartType.getHighlightNodes ? chartType.getHighlightNodes(ctx, hit) : defaultHighlightNodes(hit, ctx);
4293
+ canvasHighlight.renderer.render(canvasHighlight.root, [...dimmed, ...highlight]);
4294
+ });
4179
4295
  return;
4180
4296
  }
4181
4297
  const svg = targetEl;
4298
+ if (!svg) return;
4182
4299
  const target = svg.querySelector(
4183
- `[data-series="${seriesIndex}"][data-index="${pointIndex}"]`
4300
+ `[data-series="${hit.seriesIndex}"][data-index="${hit.pointIndex}"]`
4184
4301
  );
4185
4302
  if (target?.classList.contains("chartts-point")) {
4186
4303
  target.style.transition = "r 0.15s ease, stroke-width 0.15s ease";
@@ -4196,8 +4313,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4196
4313
  });
4197
4314
  }
4198
4315
  function clearHighlights() {
4199
- if (isCanvas) {
4200
- overlayEl?.querySelectorAll(".chartts-canvas-highlight").forEach((el2) => el2.remove());
4316
+ if (isCanvas && canvasHighlight) {
4317
+ if (highlightRafId) {
4318
+ cancelAnimationFrame(highlightRafId);
4319
+ highlightRafId = 0;
4320
+ }
4321
+ canvasHighlight.renderer.render(canvasHighlight.root, canvasHighlight.getLastNodes());
4201
4322
  return;
4202
4323
  }
4203
4324
  const svg = targetEl;
@@ -4219,12 +4340,11 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4219
4340
  if (isCanvas) {
4220
4341
  containerEl.style.position = "relative";
4221
4342
  overlayEl = document.createElementNS(SVG_NS, "svg");
4222
- const w = svgEl.clientWidth || parseInt(svgEl.style.width) || 400;
4223
- const h = svgEl.clientHeight || parseInt(svgEl.style.height) || 300;
4343
+ const canvas = svgEl;
4344
+ const w = canvas.offsetWidth || canvas.clientWidth || parseInt(canvas.style.width) || 400;
4345
+ const h = canvas.offsetHeight || canvas.clientHeight || parseInt(canvas.style.height) || 300;
4224
4346
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
4225
- overlayEl.setAttribute("width", String(w));
4226
- overlayEl.setAttribute("height", String(h));
4227
- overlayEl.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;overflow:visible;";
4347
+ overlayEl.style.cssText = `position:absolute;top:0;left:0;width:${w}px;height:${h}px;pointer-events:none;overflow:visible;`;
4228
4348
  containerEl.appendChild(overlayEl);
4229
4349
  }
4230
4350
  svgEl.style.cursor = "crosshair";
@@ -4375,6 +4495,7 @@ function createChart(target, chartType, data, options = {}) {
4375
4495
  let lastPrepared = null;
4376
4496
  let chartState = "ready";
4377
4497
  let stateMessage;
4498
+ let lastRenderedNodes = [];
4378
4499
  let resolvedRenderer = currentOptions.renderer;
4379
4500
  if (resolvedRenderer === "auto") {
4380
4501
  const totalPoints = data.series.reduce((sum, s) => sum + s.values.length, 0);
@@ -4382,7 +4503,7 @@ function createChart(target, chartType, data, options = {}) {
4382
4503
  }
4383
4504
  const useCanvas = resolvedRenderer === "canvas" || resolvedRenderer === "webgl";
4384
4505
  const bus = createEventBus();
4385
- const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(currentTheme) : createSVGRenderer();
4506
+ const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(() => currentTheme) : createSVGRenderer();
4386
4507
  const root = renderer.createRoot(container, width, height, {
4387
4508
  class: `chartts ${currentOptions.className}`.trim(),
4388
4509
  role: "img",
@@ -4404,7 +4525,8 @@ function createChart(target, chartType, data, options = {}) {
4404
4525
  currentTheme,
4405
4526
  currentOptions.onClick,
4406
4527
  currentOptions.onHover,
4407
- interactionState
4528
+ interactionState,
4529
+ useCanvas ? { renderer, root, getLastNodes: () => lastRenderedNodes } : void 0
4408
4530
  );
4409
4531
  if (useCanvas) {
4410
4532
  interaction.attach(root.element, container);
@@ -4413,10 +4535,11 @@ function createChart(target, chartType, data, options = {}) {
4413
4535
  }
4414
4536
  let zoomPan = null;
4415
4537
  if (currentOptions.zoom || currentOptions.pan) {
4538
+ const needs2DZoom = NO_AXES_TYPES.has(chartType.type);
4416
4539
  zoomPan = createZoomPan(
4417
4540
  {
4418
4541
  x: true,
4419
- y: false,
4542
+ y: needs2DZoom,
4420
4543
  wheel: currentOptions.zoom,
4421
4544
  drag: currentOptions.pan,
4422
4545
  pinch: currentOptions.zoom
@@ -4460,12 +4583,18 @@ function createChart(target, chartType, data, options = {}) {
4460
4583
  });
4461
4584
  const stopThemeWatch = currentOptions.theme === "auto" ? watchScheme(() => {
4462
4585
  currentTheme = resolveTheme("auto");
4463
- applyTheme(root.element, currentTheme);
4586
+ if (useCanvas) {
4587
+ container.style.background = currentTheme.background;
4588
+ } else {
4589
+ applyTheme(root.element, currentTheme);
4590
+ }
4464
4591
  render();
4465
4592
  }) : () => {
4466
4593
  };
4467
4594
  render();
4468
- root.element.classList.add("chartts-skip-anim");
4595
+ requestAnimationFrame(() => {
4596
+ root.element.classList.add("chartts-skip-anim");
4597
+ });
4469
4598
  function render() {
4470
4599
  if (useCanvas) {
4471
4600
  const canvas = root.element;
@@ -4521,7 +4650,8 @@ function createChart(target, chartType, data, options = {}) {
4521
4650
  area,
4522
4651
  xScale,
4523
4652
  yScale,
4524
- theme: currentTheme
4653
+ theme: currentTheme,
4654
+ zoomPan: zoomPan ? zoomPan.getState() : void 0
4525
4655
  };
4526
4656
  lastCtx = ctx;
4527
4657
  const clipId = "chartts-clip";
@@ -4540,6 +4670,7 @@ function createChart(target, chartType, data, options = {}) {
4540
4670
  const legend = renderLegend(prepared, area, currentOptions, currentTheme);
4541
4671
  if (legend) nodes.push(legend);
4542
4672
  }
4673
+ lastRenderedNodes = nodes;
4543
4674
  renderer.render(root, nodes);
4544
4675
  if (!useCanvas) {
4545
4676
  const NS2 = "http://www.w3.org/2000/svg";
@@ -4922,5 +5053,5 @@ exports.rect = rect;
4922
5053
  exports.renderToString = renderToString;
4923
5054
  exports.resolveTheme = resolveTheme;
4924
5055
  exports.text = text;
4925
- //# sourceMappingURL=chunk-3TLJCGGQ.cjs.map
4926
- //# sourceMappingURL=chunk-3TLJCGGQ.cjs.map
5056
+ //# sourceMappingURL=chunk-UMIJYYF3.cjs.map
5057
+ //# sourceMappingURL=chunk-UMIJYYF3.cjs.map