@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
@@ -1085,17 +1085,30 @@ var CHART_CSS = (
1085
1085
  .chartts-geo-region {
1086
1086
  animation: chartts-geo-in 0.4s ease calc(var(--chartts-i, 0) * 3ms) forwards;
1087
1087
  opacity: 0;
1088
- transition: fill-opacity 0.2s ease, filter 0.15s ease;
1088
+ transition: fill-opacity 0.15s ease, filter 0.15s ease, stroke-width 0.15s ease, stroke 0.15s ease;
1089
1089
  cursor: pointer;
1090
1090
  }
1091
1091
  .chartts-geo-region:hover {
1092
- filter: brightness(1.1);
1092
+ filter: brightness(1.15) drop-shadow(0 0 2px rgba(0,0,0,0.3));
1093
1093
  fill-opacity: 0.95 !important;
1094
+ stroke: #fff !important;
1095
+ stroke-width: 1.5px !important;
1096
+ }
1097
+ .chartts-geo-label {
1098
+ pointer-events: none;
1099
+ text-shadow: 0 0 3px rgba(0,0,0,0.5), 0 0 6px rgba(0,0,0,0.3);
1094
1100
  }
1095
1101
  .chartts-geo-scatter {
1096
- transition: r 0.15s ease;
1102
+ transition: r 0.15s ease, opacity 0.15s ease;
1097
1103
  cursor: pointer;
1098
1104
  }
1105
+ .chartts-geo-scatter:hover {
1106
+ opacity: 0.9;
1107
+ filter: drop-shadow(0 0 4px currentColor);
1108
+ }
1109
+ .chartts-geo-legend text {
1110
+ user-select: none;
1111
+ }
1099
1112
 
1100
1113
  /* ---- Lines (flow) ---- */
1101
1114
  @keyframes chartts-lines-flow-in {
@@ -1280,8 +1293,9 @@ var CHART_CSS = (
1280
1293
  .chartts-skip-anim .chartts-renko-brick {
1281
1294
  animation: none !important;
1282
1295
  opacity: 1 !important;
1283
- transform: none !important;
1284
1296
  }
1297
+ .chartts-skip-anim .chartts-line,
1298
+ .chartts-skip-anim .chartts-sparkline-line,
1285
1299
  .chartts-skip-anim .chartts-gauge-fill {
1286
1300
  stroke-dashoffset: 0 !important;
1287
1301
  }
@@ -1312,8 +1326,9 @@ var CHART_CSS = (
1312
1326
  .chartts-renko-brick {
1313
1327
  animation: none !important;
1314
1328
  opacity: 1 !important;
1315
- transform: none !important;
1316
1329
  }
1330
+ .chartts-line,
1331
+ .chartts-sparkline-line,
1317
1332
  .chartts-gauge-fill {
1318
1333
  stroke-dashoffset: 0 !important;
1319
1334
  }
@@ -1467,10 +1482,16 @@ function applyAttrs(el2, attrs) {
1467
1482
  stroke: "stroke",
1468
1483
  strokeWidth: "stroke-width",
1469
1484
  strokeDasharray: "stroke-dasharray",
1485
+ strokeOpacity: "stroke-opacity",
1486
+ strokeLinecap: "stroke-linecap",
1487
+ strokeLinejoin: "stroke-linejoin",
1470
1488
  fill: "fill",
1471
1489
  fillOpacity: "fill-opacity",
1472
1490
  opacity: "opacity",
1473
1491
  transform: "transform",
1492
+ filter: "filter",
1493
+ cursor: "cursor",
1494
+ pointerEvents: "pointer-events",
1474
1495
  role: "role",
1475
1496
  ariaLabel: "aria-label",
1476
1497
  tabindex: "tabindex"
@@ -1488,17 +1509,20 @@ function applyAttrs(el2, attrs) {
1488
1509
  }
1489
1510
  }
1490
1511
  function applyEntryAnimations(svg) {
1491
- svg.querySelectorAll(".chartts-line, .chartts-sparkline-line").forEach((p) => {
1492
- try {
1493
- const existing = p.getAttribute("stroke-dasharray");
1494
- if (existing && existing.includes(",")) return;
1495
- const len = p.getTotalLength();
1496
- p.style.setProperty("--chartts-path-len", String(len));
1497
- p.setAttribute("stroke-dasharray", String(len));
1498
- p.setAttribute("stroke-dashoffset", String(len));
1499
- } catch {
1500
- }
1501
- });
1512
+ const skipAnim = svg.classList.contains("chartts-skip-anim");
1513
+ if (!skipAnim) {
1514
+ svg.querySelectorAll(".chartts-line, .chartts-sparkline-line").forEach((p) => {
1515
+ try {
1516
+ const existing = p.getAttribute("stroke-dasharray");
1517
+ if (existing && existing.includes(",")) return;
1518
+ const len = p.getTotalLength();
1519
+ p.style.setProperty("--chartts-path-len", String(len));
1520
+ p.setAttribute("stroke-dasharray", String(len));
1521
+ p.setAttribute("stroke-dashoffset", String(len));
1522
+ } catch {
1523
+ }
1524
+ });
1525
+ }
1502
1526
  const STAGGER_SELECTORS = [
1503
1527
  ".chartts-point",
1504
1528
  ".chartts-bar",
@@ -1540,27 +1564,54 @@ function applyEntryAnimations(svg) {
1540
1564
  el2.style.setProperty("--chartts-i", String(i));
1541
1565
  });
1542
1566
  }
1543
- svg.querySelectorAll(".chartts-gauge-fill").forEach((p) => {
1544
- try {
1545
- const len = p.getTotalLength();
1546
- p.style.setProperty("--chartts-path-len", String(len));
1547
- p.setAttribute("stroke-dasharray", String(len));
1548
- p.setAttribute("stroke-dashoffset", String(len));
1549
- } catch {
1550
- }
1551
- });
1567
+ if (!skipAnim) {
1568
+ svg.querySelectorAll(".chartts-gauge-fill").forEach((p) => {
1569
+ try {
1570
+ const len = p.getTotalLength();
1571
+ p.style.setProperty("--chartts-path-len", String(len));
1572
+ p.setAttribute("stroke-dasharray", String(len));
1573
+ p.setAttribute("stroke-dashoffset", String(len));
1574
+ } catch {
1575
+ }
1576
+ });
1577
+ }
1552
1578
  svg.querySelectorAll(".chartts-radar-area").forEach((el2, i) => {
1553
1579
  el2.style.setProperty("--chartts-radar-i", String(i));
1554
1580
  });
1555
1581
  }
1556
1582
 
1557
1583
  // src/render/canvas.ts
1584
+ var cssVarMap = {};
1585
+ function buildCssVarMap(theme) {
1586
+ const p = "--chartts";
1587
+ cssVarMap = {
1588
+ [`${p}-bg`]: theme.background,
1589
+ [`${p}-text`]: theme.textColor,
1590
+ [`${p}-text-muted`]: theme.textMuted,
1591
+ [`${p}-axis`]: theme.axisColor,
1592
+ [`${p}-grid`]: theme.gridColor,
1593
+ [`${p}-tooltip-bg`]: theme.tooltipBackground,
1594
+ [`${p}-tooltip-text`]: theme.tooltipText,
1595
+ [`${p}-tooltip-border`]: theme.tooltipBorder
1596
+ };
1597
+ theme.colors.forEach((c, i) => {
1598
+ cssVarMap[`${p}-color-${i + 1}`] = typeof c === "string" ? c : String(c);
1599
+ });
1600
+ }
1558
1601
  function resolveColor(value, fallback = "#000") {
1559
1602
  if (!value) return fallback;
1560
1603
  if (value === "none" || value === "transparent") return "transparent";
1561
1604
  if (value.startsWith("url(")) return value;
1562
- const match = value.match(/var\([^,]+,\s*([^)]+)\)/);
1563
- return match ? match[1].trim() : value;
1605
+ const varMatch = value.match(/var\(\s*([^,)]+)(?:,\s*([^)]+))?\)/);
1606
+ if (varMatch) {
1607
+ const token = varMatch[1].trim();
1608
+ const mapped = cssVarMap[token];
1609
+ if (mapped) {
1610
+ return resolveColor(mapped, varMatch[2]?.trim() ?? fallback);
1611
+ }
1612
+ return varMatch[2]?.trim() ?? fallback;
1613
+ }
1614
+ return value;
1564
1615
  }
1565
1616
  function hexToRgba(hex, alpha) {
1566
1617
  const h = hex.replace("#", "");
@@ -1624,9 +1675,10 @@ function mapTextBaseline(baseline) {
1624
1675
  return "alphabetic";
1625
1676
  }
1626
1677
  }
1627
- function createCanvasRenderer(theme) {
1628
- const colors = theme.colors;
1678
+ function createCanvasRenderer(getTheme) {
1679
+ const resolveTheme2 = typeof getTheme === "function" ? getTheme : () => getTheme;
1629
1680
  let clipPaths = /* @__PURE__ */ new Map();
1681
+ let currentColors = [];
1630
1682
  return {
1631
1683
  createRoot(target, width, height, attrs) {
1632
1684
  const canvas = document.createElement("canvas");
@@ -1639,7 +1691,7 @@ function createCanvasRenderer(theme) {
1639
1691
  if (attrs?.class) canvas.className = attrs.class;
1640
1692
  if (attrs?.role) canvas.setAttribute("role", attrs.role);
1641
1693
  if (attrs?.ariaLabel) canvas.setAttribute("aria-label", attrs.ariaLabel);
1642
- const ctx2d = canvas.getContext("2d", { alpha: false });
1694
+ const ctx2d = canvas.getContext("2d");
1643
1695
  ctx2d.setTransform(dpr, 0, 0, dpr, 0, 0);
1644
1696
  target.appendChild(canvas);
1645
1697
  const root = { element: canvas };
@@ -1653,16 +1705,25 @@ function createCanvasRenderer(theme) {
1653
1705
  const cr = root;
1654
1706
  const canvas = cr.element;
1655
1707
  const dpr = window.devicePixelRatio || 1;
1708
+ const theme = resolveTheme2();
1709
+ const colors = theme.colors;
1710
+ buildCssVarMap(theme);
1656
1711
  cr.width = canvas.width / dpr;
1657
1712
  cr.height = canvas.height / dpr;
1658
1713
  cr.dpr = dpr;
1659
1714
  clipPaths = /* @__PURE__ */ new Map();
1715
+ currentColors = colors;
1660
1716
  const ctx = cr.ctx;
1661
1717
  ctx.imageSmoothingEnabled = true;
1662
1718
  ctx.imageSmoothingQuality = "high";
1663
1719
  ctx.save();
1664
- ctx.fillStyle = resolveColor(theme.background, "#ffffff");
1665
- ctx.fillRect(0, 0, cr.width, cr.height);
1720
+ const bg = resolveColor(theme.background, "#ffffff");
1721
+ if (bg === "transparent") {
1722
+ ctx.clearRect(0, 0, cr.width, cr.height);
1723
+ } else {
1724
+ ctx.fillStyle = bg;
1725
+ ctx.fillRect(0, 0, cr.width, cr.height);
1726
+ }
1666
1727
  ctx.restore();
1667
1728
  collectClipPaths(nodes);
1668
1729
  drawNodes(cr.ctx, nodes, cr.width, cr.height);
@@ -1835,12 +1896,13 @@ function createCanvasRenderer(theme) {
1835
1896
  break;
1836
1897
  }
1837
1898
  case "text": {
1838
- const fill = resolveColor(node.attrs?.fill, theme.textColor);
1899
+ const t = resolveTheme2();
1900
+ const fill = resolveColor(node.attrs?.fill, t.textColor);
1839
1901
  const resolvedFill = resolveColor(fill);
1840
1902
  const opacity = node.attrs?.opacity ?? 1;
1841
1903
  const extra = node.attrs;
1842
- const fontSize = extra?.fontSize ?? theme.fontSize;
1843
- const fontFamily = extra?.fontFamily ?? theme.fontFamily;
1904
+ const fontSize = extra?.fontSize ?? t.fontSize;
1905
+ const fontFamily = extra?.fontFamily ?? t.fontFamily;
1844
1906
  const fontWeight = extra?.fontWeight ?? "normal";
1845
1907
  const textAnchor = extra?.textAnchor;
1846
1908
  const baseline = extra?.dominantBaseline;
@@ -1861,7 +1923,7 @@ function createCanvasRenderer(theme) {
1861
1923
  if (!fill) return "transparent";
1862
1924
  const urlId = parseUrlRef(fill);
1863
1925
  if (urlId) {
1864
- const grad = resolveGradientRef(urlId, colors, ctx, x, y, w, h);
1926
+ const grad = resolveGradientRef(urlId, currentColors, ctx, x, y, w, h);
1865
1927
  return grad ?? resolveColor(fill);
1866
1928
  }
1867
1929
  return resolveColor(fill);
@@ -2850,7 +2912,12 @@ function createZoomPan(config, onUpdate, interactionState) {
2850
2912
  state.zoomX = newZoom;
2851
2913
  }
2852
2914
  if (cfg.y) {
2853
- state.zoomY = clamp(state.zoomY * delta, cfg.minZoom, cfg.maxZoom);
2915
+ const mouseY = e.clientY - rect2.top;
2916
+ const relY = (mouseY - area.y) / area.height;
2917
+ const newZoomY = clamp(state.zoomY * delta, cfg.minZoom, cfg.maxZoom);
2918
+ const zoomRatioY = newZoomY / state.zoomY;
2919
+ state.panY = relY - (relY - state.panY) * zoomRatioY;
2920
+ state.zoomY = newZoomY;
2854
2921
  }
2855
2922
  clampPan();
2856
2923
  onUpdate();
@@ -2888,30 +2955,46 @@ function createZoomPan(config, onUpdate, interactionState) {
2888
2955
  el2.releasePointerCapture(e.pointerId);
2889
2956
  el2.style.cursor = "crosshair";
2890
2957
  }
2958
+ let lastPinchCenterX = 0;
2959
+ let lastPinchCenterY = 0;
2891
2960
  function onTouchStart(e) {
2892
2961
  if (!cfg.pinch || e.touches.length !== 2) return;
2893
2962
  lastPinchDist = pinchDistance(e);
2963
+ lastPinchCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
2964
+ lastPinchCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
2894
2965
  }
2895
2966
  function onTouchMove(e) {
2896
- if (!cfg.pinch || e.touches.length !== 2) return;
2967
+ if (!cfg.pinch || e.touches.length !== 2 || !getArea) return;
2897
2968
  e.preventDefault();
2969
+ const area = getArea();
2970
+ const rect2 = el2.getBoundingClientRect();
2898
2971
  const dist = pinchDistance(e);
2899
- const scale = dist / lastPinchDist;
2972
+ const scaleFactor = dist / lastPinchDist;
2900
2973
  lastPinchDist = dist;
2974
+ const cx = (lastPinchCenterX - rect2.left - area.x) / area.width;
2975
+ const cy = (lastPinchCenterY - rect2.top - area.y) / area.height;
2976
+ lastPinchCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2;
2977
+ lastPinchCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2;
2901
2978
  if (cfg.x) {
2902
- state.zoomX = clamp(state.zoomX * scale, cfg.minZoom, cfg.maxZoom);
2979
+ const newZoom = clamp(state.zoomX * scaleFactor, cfg.minZoom, cfg.maxZoom);
2980
+ const ratio = newZoom / state.zoomX;
2981
+ state.panX = cx - (cx - state.panX) * ratio;
2982
+ state.zoomX = newZoom;
2903
2983
  }
2904
2984
  if (cfg.y) {
2905
- state.zoomY = clamp(state.zoomY * scale, cfg.minZoom, cfg.maxZoom);
2985
+ const newZoom = clamp(state.zoomY * scaleFactor, cfg.minZoom, cfg.maxZoom);
2986
+ const ratio = newZoom / state.zoomY;
2987
+ state.panY = cy - (cy - state.panY) * ratio;
2988
+ state.zoomY = newZoom;
2906
2989
  }
2907
2990
  clampPan();
2908
2991
  onUpdate();
2909
2992
  }
2910
2993
  function clampPan() {
2911
- const visibleX = 1 / state.zoomX;
2912
- state.panX = clamp(state.panX, -(1 - visibleX), 0);
2913
- const visibleY = 1 / state.zoomY;
2914
- state.panY = clamp(state.panY, -(1 - visibleY), 0);
2994
+ const halfVisX = (1 - 1 / state.zoomX) / 2;
2995
+ state.panX = clamp(state.panX, -halfVisX, halfVisX);
2996
+ const halfVisY = (1 - 1 / state.zoomY) / 2;
2997
+ state.panY = clamp(state.panY, -halfVisY, halfVisY);
2915
2998
  }
2916
2999
  function pinchDistance(e) {
2917
3000
  const dx = e.touches[0].clientX - e.touches[1].clientX;
@@ -3766,9 +3849,61 @@ function createTooltip(config, theme) {
3766
3849
  return { show, hide, destroy };
3767
3850
  }
3768
3851
 
3852
+ // src/interaction/highlight.ts
3853
+ function defaultHighlightNodes(hit, ctx) {
3854
+ const color = resolveHighlightColor(ctx.data.series[hit.seriesIndex]?.color, ctx.theme);
3855
+ const r = ctx.theme.pointRadius;
3856
+ return [
3857
+ // Outer glow
3858
+ circle(hit.x, hit.y, r * 3, {
3859
+ class: "chartts-highlight-glow",
3860
+ fill: color,
3861
+ fillOpacity: 0.2
3862
+ }),
3863
+ // Solid dot
3864
+ circle(hit.x, hit.y, r + 1, {
3865
+ class: "chartts-highlight-dot",
3866
+ fill: color,
3867
+ stroke: ctx.theme.background === "transparent" ? "#fff" : ctx.theme.background,
3868
+ strokeWidth: 2
3869
+ })
3870
+ ];
3871
+ }
3872
+ function applyDimming(nodes, hit) {
3873
+ return nodes.map((node) => dimNode(node, hit.seriesIndex));
3874
+ }
3875
+ function dimNode(node, activeSeriesIndex) {
3876
+ if (node.type === "group") {
3877
+ const cls = node.attrs?.class ?? "";
3878
+ const seriesMatch = cls.match(/chartts-series-(\d+)/);
3879
+ if (seriesMatch) {
3880
+ const idx = parseInt(seriesMatch[1], 10);
3881
+ if (idx !== activeSeriesIndex) {
3882
+ return {
3883
+ ...node,
3884
+ attrs: { ...node.attrs, opacity: 0.3 },
3885
+ children: node.children
3886
+ };
3887
+ }
3888
+ }
3889
+ return {
3890
+ ...node,
3891
+ children: node.children.map((c) => dimNode(c, activeSeriesIndex))
3892
+ };
3893
+ }
3894
+ return node;
3895
+ }
3896
+ function resolveHighlightColor(cssVarString, theme) {
3897
+ if (!cssVarString) return theme.colors[0] ?? "#3b82f6";
3898
+ const m = cssVarString.match(/,\s*([^)]+)\)/);
3899
+ if (m) return m[1].trim();
3900
+ if (cssVarString.startsWith("#") || cssVarString.startsWith("rgb")) return cssVarString;
3901
+ return theme.colors[0] ?? "#3b82f6";
3902
+ }
3903
+
3769
3904
  // src/interaction/interaction.ts
3770
3905
  var SVG_NS = "http://www.w3.org/2000/svg";
3771
- function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState) {
3906
+ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState, canvasHighlight) {
3772
3907
  let targetEl = null;
3773
3908
  let container = null;
3774
3909
  let tooltip = null;
@@ -3794,11 +3929,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
3794
3929
  }
3795
3930
  function syncOverlay() {
3796
3931
  if (!overlayEl || !targetEl) return;
3797
- const w = targetEl.clientWidth || parseInt(targetEl.style.width) || 400;
3798
- const h = targetEl.clientHeight || parseInt(targetEl.style.height) || 300;
3932
+ const canvas = targetEl;
3933
+ const w = canvas.offsetWidth || canvas.clientWidth || parseInt(canvas.style.width) || 400;
3934
+ const h = canvas.offsetHeight || canvas.clientHeight || parseInt(canvas.style.height) || 300;
3799
3935
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
3800
- overlayEl.setAttribute("width", String(w));
3801
- overlayEl.setAttribute("height", String(h));
3936
+ overlayEl.style.width = `${w}px`;
3937
+ overlayEl.style.height = `${h}px`;
3802
3938
  }
3803
3939
  function getCrosshairConfig() {
3804
3940
  try {
@@ -4076,7 +4212,7 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4076
4212
  };
4077
4213
  if (!activePoint || activePoint.seriesIndex !== hit.seriesIndex || activePoint.pointIndex !== hit.pointIndex) {
4078
4214
  clearHighlights();
4079
- highlightPoint(hit.seriesIndex, hit.pointIndex, svgX, svgY);
4215
+ highlightPoint(hit);
4080
4216
  activePoint = { seriesIndex: hit.seriesIndex, pointIndex: hit.pointIndex };
4081
4217
  bus.emit("point:enter", { point, event: e });
4082
4218
  onHover?.(point, e);
@@ -4142,43 +4278,24 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4142
4278
  }));
4143
4279
  linkedUnsubs.push(unsub1, unsub2);
4144
4280
  }
4145
- function highlightPoint(seriesIndex, pointIndex, hitX, hitY) {
4146
- const overlay = getOverlay();
4147
- if (!overlay) return;
4148
- if (isCanvas) {
4149
- if (hitX == null || hitY == null) return;
4150
- syncOverlay();
4151
- const pointChartTypes = /* @__PURE__ */ new Set(["line", "scatter", "bubble", "area", "sparkline", "combo", "step", "baseline", "range"]);
4152
- if (!pointChartTypes.has(chartType.type)) return;
4153
- const data = getData();
4154
- const series = data.series[seriesIndex];
4155
- if (!series) return;
4156
- const glow = document.createElementNS(SVG_NS, "circle");
4157
- glow.setAttribute("cx", String(hitX));
4158
- glow.setAttribute("cy", String(hitY));
4159
- glow.setAttribute("r", "12");
4160
- glow.setAttribute("fill", "none");
4161
- glow.setAttribute("stroke", series.color);
4162
- glow.setAttribute("stroke-width", "2");
4163
- glow.setAttribute("opacity", "0.3");
4164
- glow.setAttribute("class", "chartts-canvas-highlight");
4165
- glow.style.pointerEvents = "none";
4166
- overlay.appendChild(glow);
4167
- const dot = document.createElementNS(SVG_NS, "circle");
4168
- dot.setAttribute("cx", String(hitX));
4169
- dot.setAttribute("cy", String(hitY));
4170
- dot.setAttribute("r", "5");
4171
- dot.setAttribute("fill", series.color);
4172
- dot.setAttribute("stroke", "#fff");
4173
- dot.setAttribute("stroke-width", "2");
4174
- dot.setAttribute("class", "chartts-canvas-highlight");
4175
- dot.style.pointerEvents = "none";
4176
- overlay.appendChild(dot);
4281
+ let highlightRafId = 0;
4282
+ function highlightPoint(hit) {
4283
+ if (isCanvas && canvasHighlight) {
4284
+ if (highlightRafId) return;
4285
+ highlightRafId = requestAnimationFrame(() => {
4286
+ highlightRafId = 0;
4287
+ const ctx = getContext();
4288
+ const baseNodes = canvasHighlight.getLastNodes();
4289
+ const dimmed = applyDimming(baseNodes, hit);
4290
+ const highlight = chartType.getHighlightNodes ? chartType.getHighlightNodes(ctx, hit) : defaultHighlightNodes(hit, ctx);
4291
+ canvasHighlight.renderer.render(canvasHighlight.root, [...dimmed, ...highlight]);
4292
+ });
4177
4293
  return;
4178
4294
  }
4179
4295
  const svg = targetEl;
4296
+ if (!svg) return;
4180
4297
  const target = svg.querySelector(
4181
- `[data-series="${seriesIndex}"][data-index="${pointIndex}"]`
4298
+ `[data-series="${hit.seriesIndex}"][data-index="${hit.pointIndex}"]`
4182
4299
  );
4183
4300
  if (target?.classList.contains("chartts-point")) {
4184
4301
  target.style.transition = "r 0.15s ease, stroke-width 0.15s ease";
@@ -4194,8 +4311,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4194
4311
  });
4195
4312
  }
4196
4313
  function clearHighlights() {
4197
- if (isCanvas) {
4198
- overlayEl?.querySelectorAll(".chartts-canvas-highlight").forEach((el2) => el2.remove());
4314
+ if (isCanvas && canvasHighlight) {
4315
+ if (highlightRafId) {
4316
+ cancelAnimationFrame(highlightRafId);
4317
+ highlightRafId = 0;
4318
+ }
4319
+ canvasHighlight.renderer.render(canvasHighlight.root, canvasHighlight.getLastNodes());
4199
4320
  return;
4200
4321
  }
4201
4322
  const svg = targetEl;
@@ -4217,12 +4338,11 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4217
4338
  if (isCanvas) {
4218
4339
  containerEl.style.position = "relative";
4219
4340
  overlayEl = document.createElementNS(SVG_NS, "svg");
4220
- const w = svgEl.clientWidth || parseInt(svgEl.style.width) || 400;
4221
- const h = svgEl.clientHeight || parseInt(svgEl.style.height) || 300;
4341
+ const canvas = svgEl;
4342
+ const w = canvas.offsetWidth || canvas.clientWidth || parseInt(canvas.style.width) || 400;
4343
+ const h = canvas.offsetHeight || canvas.clientHeight || parseInt(canvas.style.height) || 300;
4222
4344
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
4223
- overlayEl.setAttribute("width", String(w));
4224
- overlayEl.setAttribute("height", String(h));
4225
- overlayEl.style.cssText = "position:absolute;top:0;left:0;pointer-events:none;overflow:visible;";
4345
+ overlayEl.style.cssText = `position:absolute;top:0;left:0;width:${w}px;height:${h}px;pointer-events:none;overflow:visible;`;
4226
4346
  containerEl.appendChild(overlayEl);
4227
4347
  }
4228
4348
  svgEl.style.cursor = "crosshair";
@@ -4373,6 +4493,7 @@ function createChart(target, chartType, data, options = {}) {
4373
4493
  let lastPrepared = null;
4374
4494
  let chartState = "ready";
4375
4495
  let stateMessage;
4496
+ let lastRenderedNodes = [];
4376
4497
  let resolvedRenderer = currentOptions.renderer;
4377
4498
  if (resolvedRenderer === "auto") {
4378
4499
  const totalPoints = data.series.reduce((sum, s) => sum + s.values.length, 0);
@@ -4380,7 +4501,7 @@ function createChart(target, chartType, data, options = {}) {
4380
4501
  }
4381
4502
  const useCanvas = resolvedRenderer === "canvas" || resolvedRenderer === "webgl";
4382
4503
  const bus = createEventBus();
4383
- const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(currentTheme) : createSVGRenderer();
4504
+ const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(() => currentTheme) : createSVGRenderer();
4384
4505
  const root = renderer.createRoot(container, width, height, {
4385
4506
  class: `chartts ${currentOptions.className}`.trim(),
4386
4507
  role: "img",
@@ -4402,7 +4523,8 @@ function createChart(target, chartType, data, options = {}) {
4402
4523
  currentTheme,
4403
4524
  currentOptions.onClick,
4404
4525
  currentOptions.onHover,
4405
- interactionState
4526
+ interactionState,
4527
+ useCanvas ? { renderer, root, getLastNodes: () => lastRenderedNodes } : void 0
4406
4528
  );
4407
4529
  if (useCanvas) {
4408
4530
  interaction.attach(root.element, container);
@@ -4411,10 +4533,11 @@ function createChart(target, chartType, data, options = {}) {
4411
4533
  }
4412
4534
  let zoomPan = null;
4413
4535
  if (currentOptions.zoom || currentOptions.pan) {
4536
+ const needs2DZoom = NO_AXES_TYPES.has(chartType.type);
4414
4537
  zoomPan = createZoomPan(
4415
4538
  {
4416
4539
  x: true,
4417
- y: false,
4540
+ y: needs2DZoom,
4418
4541
  wheel: currentOptions.zoom,
4419
4542
  drag: currentOptions.pan,
4420
4543
  pinch: currentOptions.zoom
@@ -4458,12 +4581,18 @@ function createChart(target, chartType, data, options = {}) {
4458
4581
  });
4459
4582
  const stopThemeWatch = currentOptions.theme === "auto" ? watchScheme(() => {
4460
4583
  currentTheme = resolveTheme("auto");
4461
- applyTheme(root.element, currentTheme);
4584
+ if (useCanvas) {
4585
+ container.style.background = currentTheme.background;
4586
+ } else {
4587
+ applyTheme(root.element, currentTheme);
4588
+ }
4462
4589
  render();
4463
4590
  }) : () => {
4464
4591
  };
4465
4592
  render();
4466
- root.element.classList.add("chartts-skip-anim");
4593
+ requestAnimationFrame(() => {
4594
+ root.element.classList.add("chartts-skip-anim");
4595
+ });
4467
4596
  function render() {
4468
4597
  if (useCanvas) {
4469
4598
  const canvas = root.element;
@@ -4519,7 +4648,8 @@ function createChart(target, chartType, data, options = {}) {
4519
4648
  area,
4520
4649
  xScale,
4521
4650
  yScale,
4522
- theme: currentTheme
4651
+ theme: currentTheme,
4652
+ zoomPan: zoomPan ? zoomPan.getState() : void 0
4523
4653
  };
4524
4654
  lastCtx = ctx;
4525
4655
  const clipId = "chartts-clip";
@@ -4538,6 +4668,7 @@ function createChart(target, chartType, data, options = {}) {
4538
4668
  const legend = renderLegend(prepared, area, currentOptions, currentTheme);
4539
4669
  if (legend) nodes.push(legend);
4540
4670
  }
4671
+ lastRenderedNodes = nodes;
4541
4672
  renderer.render(root, nodes);
4542
4673
  if (!useCanvas) {
4543
4674
  const NS2 = "http://www.w3.org/2000/svg";
@@ -4889,5 +5020,5 @@ function computeBounds(series, options) {
4889
5020
  }
4890
5021
 
4891
5022
  export { CORPORATE_THEME, CSS_PREFIX, DARK_THEME, EDITORIAL_THEME, LIGHT_THEME, OCEAN_THEME, PALETTE, PathBuilder, SAAS_THEME, STARTUP_THEME, THEME_PRESETS, applyTheme, circle, createBrush, createCanvasRenderer, createCategoricalScale, createChart, createDebugPanel, createEventBus, createLinearScale, createSVGRenderer, createWebGLRenderer, createZoomPan, decimateData, group, line, path, prepareData, rect, renderToString, resolveTheme, text };
4892
- //# sourceMappingURL=chunk-BMTVFAX2.js.map
4893
- //# sourceMappingURL=chunk-BMTVFAX2.js.map
5023
+ //# sourceMappingURL=chunk-DX4FBN3I.js.map
5024
+ //# sourceMappingURL=chunk-DX4FBN3I.js.map