@chartts/core 0.1.1 → 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 (564) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +61 -5
  3. package/dist/{area-type-B3CtuIIP.d.cts → area-type-BanqpQvK.d.cts} +1 -1
  4. package/dist/{area-type-DmB6fTVf.d.ts → area-type-Bzn6ur_t.d.ts} +1 -1
  5. package/dist/area.cjs +10 -10
  6. package/dist/area.d.cts +4 -4
  7. package/dist/area.d.ts +4 -4
  8. package/dist/area.js +5 -5
  9. package/dist/{bar-type-CkI-kkrC.d.cts → bar-type-BjYOtm2e.d.cts} +1 -1
  10. package/dist/{bar-type-Bne_khsO.d.ts → bar-type-D1gkUeQ2.d.ts} +1 -1
  11. package/dist/bar.cjs +9 -9
  12. package/dist/bar.d.cts +4 -4
  13. package/dist/bar.d.ts +4 -4
  14. package/dist/bar.js +4 -4
  15. package/dist/{baseline-type-B1O4XHT3.d.ts → baseline-type-DnAv8oax.d.ts} +1 -1
  16. package/dist/{baseline-type-BAPrZJ5W.d.cts → baseline-type-DskNy6iR.d.cts} +1 -1
  17. package/dist/baseline.cjs +9 -9
  18. package/dist/baseline.d.cts +4 -4
  19. package/dist/baseline.d.ts +4 -4
  20. package/dist/baseline.js +4 -4
  21. package/dist/{boxplot-type-CEWf7p5X.d.ts → boxplot-type-Bi46NGr5.d.ts} +1 -1
  22. package/dist/{boxplot-type-Da8_smoe.d.cts → boxplot-type-Df2L92GY.d.cts} +1 -1
  23. package/dist/boxplot.cjs +9 -9
  24. package/dist/boxplot.d.cts +4 -4
  25. package/dist/boxplot.d.ts +4 -4
  26. package/dist/boxplot.js +4 -4
  27. package/dist/{bubble-type-Dxb2JCKv.d.cts → bubble-type-D2_dA-tK.d.cts} +1 -1
  28. package/dist/{bubble-type-pru5MgB7.d.ts → bubble-type-XCkdPCxY.d.ts} +1 -1
  29. package/dist/bubble.cjs +9 -9
  30. package/dist/bubble.d.cts +4 -4
  31. package/dist/bubble.d.ts +4 -4
  32. package/dist/bubble.js +4 -4
  33. package/dist/{bullet-type-CPEYkEvt.d.ts → bullet-type-CluDVdqG.d.ts} +1 -1
  34. package/dist/{bullet-type-khCmwFqH.d.cts → bullet-type-yyHFEoBR.d.cts} +1 -1
  35. package/dist/bullet.cjs +10 -10
  36. package/dist/bullet.d.cts +4 -4
  37. package/dist/bullet.d.ts +4 -4
  38. package/dist/bullet.js +5 -5
  39. package/dist/{calendar-type-yJWPY6qT.d.ts → calendar-type-BXl4jP0I.d.ts} +1 -1
  40. package/dist/{calendar-type-Br5mpdea.d.cts → calendar-type-_hW3OLW-.d.cts} +1 -1
  41. package/dist/calendar.cjs +10 -10
  42. package/dist/calendar.d.cts +4 -4
  43. package/dist/calendar.d.ts +4 -4
  44. package/dist/calendar.js +5 -5
  45. package/dist/{candlestick-type-CtLZy_uC.d.ts → candlestick-type-CAfkfMPN.d.ts} +1 -1
  46. package/dist/{candlestick-type-CazXUb77.d.cts → candlestick-type-D-fhJzmV.d.cts} +1 -1
  47. package/dist/candlestick.cjs +9 -9
  48. package/dist/candlestick.d.cts +4 -4
  49. package/dist/candlestick.d.ts +4 -4
  50. package/dist/candlestick.js +4 -4
  51. package/dist/{chord-type-ruvHboZl.d.ts → chord-type-BLjyRxsx.d.ts} +1 -1
  52. package/dist/{chord-type-ChIZaOZd.d.cts → chord-type-Dvuvx5rp.d.cts} +1 -1
  53. package/dist/chord.cjs +10 -10
  54. package/dist/chord.d.cts +4 -4
  55. package/dist/chord.d.ts +4 -4
  56. package/dist/chord.js +5 -5
  57. package/dist/{chunk-Y54XVNXB.cjs → chunk-2EZ2TVYT.cjs} +14 -14
  58. package/dist/chunk-2EZ2TVYT.cjs.map +1 -0
  59. package/dist/{chunk-ZL25X5WW.js → chunk-2ITF366P.js} +4 -4
  60. package/dist/chunk-2ITF366P.js.map +1 -0
  61. package/dist/{chunk-SWYCVF46.js → chunk-2MWA7H6J.js} +68 -42
  62. package/dist/chunk-2MWA7H6J.js.map +1 -0
  63. package/dist/{chunk-KOHWMGRF.js → chunk-3SOKHPAO.js} +217 -57
  64. package/dist/chunk-3SOKHPAO.js.map +1 -0
  65. package/dist/{chunk-B54L2CPW.cjs → chunk-3V64BDKG.cjs} +14 -14
  66. package/dist/chunk-3V64BDKG.cjs.map +1 -0
  67. package/dist/{chunk-66HSJRRH.js → chunk-46ZZTP5B.js} +5 -5
  68. package/dist/chunk-46ZZTP5B.js.map +1 -0
  69. package/dist/{chunk-XBIM73HV.cjs → chunk-47EP245Y.cjs} +19 -9
  70. package/dist/chunk-47EP245Y.cjs.map +1 -0
  71. package/dist/{chunk-SKVCPG5R.cjs → chunk-4H2LGLGI.cjs} +16 -12
  72. package/dist/chunk-4H2LGLGI.cjs.map +1 -0
  73. package/dist/{chunk-HOOOCSU4.js → chunk-4L62MAZA.js} +25 -28
  74. package/dist/chunk-4L62MAZA.js.map +1 -0
  75. package/dist/{chunk-N6IVODRJ.js → chunk-4ORSJM2I.js} +6 -6
  76. package/dist/chunk-4ORSJM2I.js.map +1 -0
  77. package/dist/{chunk-ZDZQG3GH.cjs → chunk-4WQUX2B4.cjs} +71 -45
  78. package/dist/chunk-4WQUX2B4.cjs.map +1 -0
  79. package/dist/{chunk-O5KGKQSU.js → chunk-4XVJYNOT.js} +7 -5
  80. package/dist/chunk-4XVJYNOT.js.map +1 -0
  81. package/dist/{chunk-4VG47RLS.js → chunk-5J26EN5I.js} +6 -6
  82. package/dist/chunk-5J26EN5I.js.map +1 -0
  83. package/dist/{chunk-TW6KPQIS.js → chunk-5YNIOIKK.js} +5 -5
  84. package/dist/chunk-5YNIOIKK.js.map +1 -0
  85. package/dist/{chunk-Z6E3XVP2.cjs → chunk-66BHM3UN.cjs} +11 -11
  86. package/dist/chunk-66BHM3UN.cjs.map +1 -0
  87. package/dist/{chunk-M4UST3UU.cjs → chunk-6E6ZDWZD.cjs} +11 -11
  88. package/dist/chunk-6E6ZDWZD.cjs.map +1 -0
  89. package/dist/{chunk-3TTTELGB.cjs → chunk-6EGHZDZI.cjs} +15 -15
  90. package/dist/{chunk-3TTTELGB.cjs.map → chunk-6EGHZDZI.cjs.map} +1 -1
  91. package/dist/{chunk-FKYNRMPX.js → chunk-6JNW43SE.js} +40 -30
  92. package/dist/chunk-6JNW43SE.js.map +1 -0
  93. package/dist/{chunk-BXX2EPFE.cjs → chunk-6UWYKNFN.cjs} +13 -13
  94. package/dist/{chunk-BXX2EPFE.cjs.map → chunk-6UWYKNFN.cjs.map} +1 -1
  95. package/dist/{chunk-NQSC7CKN.js → chunk-7PNCJ4OQ.js} +4 -4
  96. package/dist/chunk-7PNCJ4OQ.js.map +1 -0
  97. package/dist/{chunk-ROYZ7W4M.cjs → chunk-7ZPHLIFP.cjs} +7 -7
  98. package/dist/chunk-7ZPHLIFP.cjs.map +1 -0
  99. package/dist/{chunk-UQBDGCS6.cjs → chunk-AG7VY6MJ.cjs} +19 -12
  100. package/dist/chunk-AG7VY6MJ.cjs.map +1 -0
  101. package/dist/{chunk-LUTU4WW3.js → chunk-ASNAQ35U.js} +5 -5
  102. package/dist/chunk-ASNAQ35U.js.map +1 -0
  103. package/dist/{chunk-TOS2RYHQ.js → chunk-BT5H3WMI.js} +6 -6
  104. package/dist/chunk-BT5H3WMI.js.map +1 -0
  105. package/dist/{chunk-Q2BDB5ZA.cjs → chunk-BYB3LQAT.cjs} +27 -30
  106. package/dist/chunk-BYB3LQAT.cjs.map +1 -0
  107. package/dist/{chunk-MLX3EO2C.js → chunk-CCMLOCTH.js} +30 -4
  108. package/dist/chunk-CCMLOCTH.js.map +1 -0
  109. package/dist/{chunk-5QOQR5FE.cjs → chunk-CDS2NXGT.cjs} +4 -4
  110. package/dist/{chunk-5QOQR5FE.cjs.map → chunk-CDS2NXGT.cjs.map} +1 -1
  111. package/dist/{chunk-M4AQD6WX.cjs → chunk-DKXW2FQC.cjs} +13 -11
  112. package/dist/chunk-DKXW2FQC.cjs.map +1 -0
  113. package/dist/{chunk-D2SV6YT3.js → chunk-DR5MQC3W.js} +8 -5
  114. package/dist/chunk-DR5MQC3W.js.map +1 -0
  115. package/dist/{chunk-MYPCA25Y.cjs → chunk-DRIJNFWP.cjs} +11 -11
  116. package/dist/chunk-DRIJNFWP.cjs.map +1 -0
  117. package/dist/{chunk-3BRQGYDX.js → chunk-DX4FBN3I.js} +295 -130
  118. package/dist/chunk-DX4FBN3I.js.map +1 -0
  119. package/dist/{chunk-QLRK46YY.cjs → chunk-E43H3A3G.cjs} +7 -7
  120. package/dist/{chunk-QLRK46YY.cjs.map → chunk-E43H3A3G.cjs.map} +1 -1
  121. package/dist/{chunk-KE7ILTM4.cjs → chunk-ECB3UPTC.cjs} +13 -13
  122. package/dist/chunk-ECB3UPTC.cjs.map +1 -0
  123. package/dist/{chunk-DL7P72FA.cjs → chunk-EHKHXQ46.cjs} +11 -11
  124. package/dist/chunk-EHKHXQ46.cjs.map +1 -0
  125. package/dist/{chunk-2TWYS3BT.cjs → chunk-EHNX3MG3.cjs} +14 -24
  126. package/dist/chunk-EHNX3MG3.cjs.map +1 -0
  127. package/dist/{chunk-6KNBJ4CE.js → chunk-F5AOBHQY.js} +4 -4
  128. package/dist/{chunk-6KNBJ4CE.js.map → chunk-F5AOBHQY.js.map} +1 -1
  129. package/dist/{chunk-ZDYCIP6N.cjs → chunk-FDNJNVKA.cjs} +10 -10
  130. package/dist/chunk-FDNJNVKA.cjs.map +1 -0
  131. package/dist/{chunk-H2AE7JMU.js → chunk-FSDI3NJV.js} +4 -4
  132. package/dist/chunk-FSDI3NJV.js.map +1 -0
  133. package/dist/{chunk-BR3KTAGW.js → chunk-FV7R2LLD.js} +5 -5
  134. package/dist/chunk-FV7R2LLD.js.map +1 -0
  135. package/dist/{chunk-BYXRFTEI.cjs → chunk-FZIBM3G5.cjs} +11 -11
  136. package/dist/chunk-FZIBM3G5.cjs.map +1 -0
  137. package/dist/{chunk-LEJGLR2P.cjs → chunk-G6R6MSRF.cjs} +10 -10
  138. package/dist/chunk-G6R6MSRF.cjs.map +1 -0
  139. package/dist/{chunk-4HK4RM3X.cjs → chunk-GAWIUMAK.cjs} +8 -8
  140. package/dist/{chunk-4HK4RM3X.cjs.map → chunk-GAWIUMAK.cjs.map} +1 -1
  141. package/dist/{chunk-7YV56WPE.js → chunk-GPSNBZPX.js} +5 -5
  142. package/dist/chunk-GPSNBZPX.js.map +1 -0
  143. package/dist/{chunk-VPI7UGB3.cjs → chunk-HFWO37RY.cjs} +9 -9
  144. package/dist/chunk-HFWO37RY.cjs.map +1 -0
  145. package/dist/{chunk-SQJAKZ4W.js → chunk-HMB2RIEE.js} +5 -5
  146. package/dist/chunk-HMB2RIEE.js.map +1 -0
  147. package/dist/{chunk-7SEHTEMR.js → chunk-ILCWDAKD.js} +3 -3
  148. package/dist/{chunk-7SEHTEMR.js.map → chunk-ILCWDAKD.js.map} +1 -1
  149. package/dist/{chunk-LB4MV5CG.js → chunk-IRUIWMH6.js} +5 -5
  150. package/dist/chunk-IRUIWMH6.js.map +1 -0
  151. package/dist/{chunk-H4RNJ7FK.cjs → chunk-JNQ4NL3R.cjs} +9 -9
  152. package/dist/chunk-JNQ4NL3R.cjs.map +1 -0
  153. package/dist/{chunk-GM3ZO5WV.js → chunk-K5TPJVOK.js} +3 -3
  154. package/dist/{chunk-GM3ZO5WV.js.map → chunk-K5TPJVOK.js.map} +1 -1
  155. package/dist/{chunk-SJS4ISBA.js → chunk-KTCP23W6.js} +4 -4
  156. package/dist/chunk-KTCP23W6.js.map +1 -0
  157. package/dist/{chunk-QZ4ZYTP6.js → chunk-LIY7MYRG.js} +30 -5
  158. package/dist/chunk-LIY7MYRG.js.map +1 -0
  159. package/dist/{chunk-22LR6CFM.js → chunk-LK2A3HBT.js} +5 -5
  160. package/dist/chunk-LK2A3HBT.js.map +1 -0
  161. package/dist/{chunk-3XVGEBR4.js → chunk-MPQECPE3.js} +3 -3
  162. package/dist/{chunk-3XVGEBR4.js.map → chunk-MPQECPE3.js.map} +1 -1
  163. package/dist/{chunk-Y2JZHX3P.cjs → chunk-MY4KMVJ5.cjs} +9 -9
  164. package/dist/{chunk-Y2JZHX3P.cjs.map → chunk-MY4KMVJ5.cjs.map} +1 -1
  165. package/dist/chunk-MYXLKVJE.js +889 -0
  166. package/dist/chunk-MYXLKVJE.js.map +1 -0
  167. package/dist/{chunk-ETPZGEL7.cjs → chunk-NG7DRWWT.cjs} +7 -7
  168. package/dist/chunk-NG7DRWWT.cjs.map +1 -0
  169. package/dist/{chunk-BEYG2HQ4.cjs → chunk-NGKUI7XE.cjs} +13 -13
  170. package/dist/chunk-NGKUI7XE.cjs.map +1 -0
  171. package/dist/{chunk-PLGZ4REQ.cjs → chunk-OAIMES5S.cjs} +219 -59
  172. package/dist/chunk-OAIMES5S.cjs.map +1 -0
  173. package/dist/{chunk-Y4P4VY7A.cjs → chunk-OAL5RS2X.cjs} +11 -11
  174. package/dist/chunk-OAL5RS2X.cjs.map +1 -0
  175. package/dist/{chunk-NONU7KUN.cjs → chunk-OFEROCC5.cjs} +6 -6
  176. package/dist/{chunk-NONU7KUN.cjs.map → chunk-OFEROCC5.cjs.map} +1 -1
  177. package/dist/{chunk-FRWC6GUR.cjs → chunk-OUN3MWRQ.cjs} +35 -10
  178. package/dist/chunk-OUN3MWRQ.cjs.map +1 -0
  179. package/dist/{chunk-RCVRZCCC.cjs → chunk-PQCHNZHM.cjs} +11 -11
  180. package/dist/chunk-PQCHNZHM.cjs.map +1 -0
  181. package/dist/{chunk-CMEXNS5V.js → chunk-PVPTFMJJ.js} +5 -5
  182. package/dist/{chunk-CMEXNS5V.js.map → chunk-PVPTFMJJ.js.map} +1 -1
  183. package/dist/{chunk-QAYX6XN3.js → chunk-QERWC7U6.js} +3 -3
  184. package/dist/{chunk-QAYX6XN3.js.map → chunk-QERWC7U6.js.map} +1 -1
  185. package/dist/{chunk-MVWERW4G.cjs → chunk-QKJUAMRK.cjs} +6 -6
  186. package/dist/{chunk-MVWERW4G.cjs.map → chunk-QKJUAMRK.cjs.map} +1 -1
  187. package/dist/{chunk-EGQ4JCFU.cjs → chunk-R6ZDSXN7.cjs} +34 -8
  188. package/dist/chunk-R6ZDSXN7.cjs.map +1 -0
  189. package/dist/{chunk-NYVFC2SF.js → chunk-RFEKSP62.js} +15 -8
  190. package/dist/chunk-RFEKSP62.js.map +1 -0
  191. package/dist/{chunk-HB4EGHJ7.cjs → chunk-RHTVKBRC.cjs} +10 -10
  192. package/dist/chunk-RHTVKBRC.cjs.map +1 -0
  193. package/dist/{chunk-SZVK6RRQ.js → chunk-RJIPFWW7.js} +5 -5
  194. package/dist/chunk-RJIPFWW7.js.map +1 -0
  195. package/dist/{chunk-NFD6VAVM.js → chunk-RN7NNB6I.js} +4 -4
  196. package/dist/chunk-RN7NNB6I.js.map +1 -0
  197. package/dist/{chunk-6N66T7VQ.js → chunk-RQJRVKAH.js} +4 -4
  198. package/dist/chunk-RQJRVKAH.js.map +1 -0
  199. package/dist/{chunk-GNRRK7TZ.cjs → chunk-RWQH5EO5.cjs} +12 -12
  200. package/dist/{chunk-GNRRK7TZ.cjs.map → chunk-RWQH5EO5.cjs.map} +1 -1
  201. package/dist/{chunk-KSRROKYC.cjs → chunk-SXVMEC6N.cjs} +45 -35
  202. package/dist/chunk-SXVMEC6N.cjs.map +1 -0
  203. package/dist/{chunk-SUNC3CPV.js → chunk-TVDQNLGJ.js} +4 -4
  204. package/dist/chunk-TVDQNLGJ.js.map +1 -0
  205. package/dist/{chunk-FUZFNUCJ.js → chunk-TWSWD4PU.js} +5 -5
  206. package/dist/chunk-TWSWD4PU.js.map +1 -0
  207. package/dist/chunk-UFMPALRH.js +126 -0
  208. package/dist/chunk-UFMPALRH.js.map +1 -0
  209. package/dist/{chunk-XHQWWR5M.cjs → chunk-UMIJYYF3.cjs} +295 -130
  210. package/dist/chunk-UMIJYYF3.cjs.map +1 -0
  211. package/dist/{chunk-NMLDPXOL.js → chunk-UZH6PVHD.js} +5 -5
  212. package/dist/{chunk-NMLDPXOL.js.map → chunk-UZH6PVHD.js.map} +1 -1
  213. package/dist/{chunk-KVI6DN3R.js → chunk-V45C74EB.js} +5 -5
  214. package/dist/{chunk-KVI6DN3R.js.map → chunk-V45C74EB.js.map} +1 -1
  215. package/dist/{chunk-FFJ6BVEY.cjs → chunk-VBEZS3Q4.cjs} +11 -11
  216. package/dist/chunk-VBEZS3Q4.cjs.map +1 -0
  217. package/dist/{chunk-BC6KW2OG.js → chunk-WJP6CRML.js} +4 -14
  218. package/dist/chunk-WJP6CRML.js.map +1 -0
  219. package/dist/{chunk-TTOX27BZ.cjs → chunk-WVQVGQJO.cjs} +9 -9
  220. package/dist/chunk-WVQVGQJO.cjs.map +1 -0
  221. package/dist/chunk-WYIIWTIR.cjs +128 -0
  222. package/dist/chunk-WYIIWTIR.cjs.map +1 -0
  223. package/dist/{chunk-QIJZZOX7.js → chunk-XE5ZYFGM.js} +5 -5
  224. package/dist/chunk-XE5ZYFGM.js.map +1 -0
  225. package/dist/{chunk-6LKN3HRX.js → chunk-XKERO5K2.js} +4 -4
  226. package/dist/chunk-XKERO5K2.js.map +1 -0
  227. package/dist/chunk-XN6YS55F.cjs +891 -0
  228. package/dist/chunk-XN6YS55F.cjs.map +1 -0
  229. package/dist/{chunk-X2JNB5UN.js → chunk-XWCY67K5.js} +5 -5
  230. package/dist/chunk-XWCY67K5.js.map +1 -0
  231. package/dist/{chunk-4YJPBUX2.cjs → chunk-XWN43PZF.cjs} +8 -8
  232. package/dist/chunk-XWN43PZF.cjs.map +1 -0
  233. package/dist/{chunk-UN7K3YQG.cjs → chunk-YDQDZWZ7.cjs} +7 -7
  234. package/dist/chunk-YDQDZWZ7.cjs.map +1 -0
  235. package/dist/{chunk-7CGXK7KT.js → chunk-YJHB2GHQ.js} +15 -5
  236. package/dist/chunk-YJHB2GHQ.js.map +1 -0
  237. package/dist/{chunk-HDWWUEPD.js → chunk-YOLF5DYU.js} +9 -5
  238. package/dist/chunk-YOLF5DYU.js.map +1 -0
  239. package/dist/{chunk-J6NPRKT4.cjs → chunk-YX6RW6ZW.cjs} +10 -7
  240. package/dist/chunk-YX6RW6ZW.cjs.map +1 -0
  241. package/dist/{chunk-E2S7RAT2.js → chunk-YZQROIJY.js} +4 -4
  242. package/dist/chunk-YZQROIJY.js.map +1 -0
  243. package/dist/{chunk-L54BZYAI.cjs → chunk-ZFSFOD5W.cjs} +8 -8
  244. package/dist/chunk-ZFSFOD5W.cjs.map +1 -0
  245. package/dist/{chunk-QHJHYV3H.cjs → chunk-ZTUKOCJN.cjs} +4 -4
  246. package/dist/{chunk-QHJHYV3H.cjs.map → chunk-ZTUKOCJN.cjs.map} +1 -1
  247. package/dist/{chunk-BRSHEDTZ.js → chunk-ZY7ETQD6.js} +3 -3
  248. package/dist/{chunk-BRSHEDTZ.js.map → chunk-ZY7ETQD6.js.map} +1 -1
  249. package/dist/{combo-type-wodyLq1f.d.cts → combo-type-CCrfKcTc.d.cts} +1 -1
  250. package/dist/{combo-type-BdSohVyy.d.ts → combo-type-Drb7xHSH.d.ts} +1 -1
  251. package/dist/combo.cjs +9 -9
  252. package/dist/combo.d.cts +4 -4
  253. package/dist/combo.d.ts +4 -4
  254. package/dist/combo.js +4 -4
  255. package/dist/{custom-type-B6w1n5Ua.d.cts → custom-type-CUdaJtsU.d.cts} +1 -1
  256. package/dist/{custom-type-XFjuPwCr.d.ts → custom-type-DeCdYBIK.d.ts} +1 -1
  257. package/dist/custom.cjs +10 -10
  258. package/dist/custom.d.cts +4 -4
  259. package/dist/custom.d.ts +4 -4
  260. package/dist/custom.js +5 -5
  261. package/dist/donut.cjs +11 -10
  262. package/dist/donut.cjs.map +1 -1
  263. package/dist/donut.d.cts +4 -4
  264. package/dist/donut.d.ts +4 -4
  265. package/dist/donut.js +6 -5
  266. package/dist/donut.js.map +1 -1
  267. package/dist/{dumbbell-type-w424KzI2.d.cts → dumbbell-type--8jqwUbP.d.cts} +1 -1
  268. package/dist/{dumbbell-type-DPSE0OTg.d.ts → dumbbell-type-FrAcyybz.d.ts} +1 -1
  269. package/dist/dumbbell.cjs +10 -10
  270. package/dist/dumbbell.d.cts +4 -4
  271. package/dist/dumbbell.d.ts +4 -4
  272. package/dist/dumbbell.js +5 -5
  273. package/dist/{engine-CNukbv7k.d.ts → engine-7vdmtmTm.d.cts} +20 -0
  274. package/dist/{engine-CNukbv7k.d.cts → engine-7vdmtmTm.d.ts} +20 -0
  275. package/dist/{factory-dbngWV4d.d.cts → factory-DVmPQ-5P.d.cts} +1 -1
  276. package/dist/{factory-jRzNNxwj.d.ts → factory-DXvw-FCZ.d.ts} +1 -1
  277. package/dist/{funnel-type-CMXGQq4T.d.ts → funnel-type-BhtkYPBR.d.ts} +1 -1
  278. package/dist/{funnel-type-BeVl3ohX.d.cts → funnel-type-BqLhbGkI.d.cts} +1 -1
  279. package/dist/funnel.cjs +10 -10
  280. package/dist/funnel.d.cts +4 -4
  281. package/dist/funnel.d.ts +4 -4
  282. package/dist/funnel.js +5 -5
  283. package/dist/{gauge-type-DmjDdfsY.d.cts → gauge-type-NeAO1otO.d.cts} +1 -1
  284. package/dist/{gauge-type-BpDBwCeD.d.ts → gauge-type-h6z_4lnL.d.ts} +1 -1
  285. package/dist/gauge.cjs +10 -10
  286. package/dist/gauge.d.cts +4 -4
  287. package/dist/gauge.d.ts +4 -4
  288. package/dist/gauge.js +5 -5
  289. package/dist/geo.cjs +12 -12
  290. package/dist/geo.d.cts +4 -4
  291. package/dist/geo.d.ts +4 -4
  292. package/dist/geo.js +5 -5
  293. package/dist/graph-type-Bg04GFeS.d.ts +15 -0
  294. package/dist/graph-type-DF-vww8T.d.cts +15 -0
  295. package/dist/graph.cjs +63 -10
  296. package/dist/graph.cjs.map +1 -1
  297. package/dist/graph.d.cts +65 -5
  298. package/dist/graph.d.ts +65 -5
  299. package/dist/graph.js +58 -6
  300. package/dist/graph.js.map +1 -1
  301. package/dist/{heatmap-type-q6nNhVTr.d.ts → heatmap-type-BAxcLZ1S.d.ts} +1 -1
  302. package/dist/{heatmap-type-D0shkxK7.d.cts → heatmap-type-CkmoO1Vi.d.cts} +1 -1
  303. package/dist/heatmap.cjs +10 -10
  304. package/dist/heatmap.d.cts +4 -4
  305. package/dist/heatmap.d.ts +4 -4
  306. package/dist/heatmap.js +5 -5
  307. package/dist/{histogram-type-BWil-Rb7.d.cts → histogram-type-BMxwKNZD.d.cts} +1 -1
  308. package/dist/{histogram-type-CF593WSp.d.ts → histogram-type-Bz1r_8dr.d.ts} +1 -1
  309. package/dist/histogram.cjs +9 -9
  310. package/dist/histogram.d.cts +4 -4
  311. package/dist/histogram.d.ts +4 -4
  312. package/dist/histogram.js +4 -4
  313. package/dist/{horizontal-bar-type-0mqnyMUR.d.cts → horizontal-bar-type-CPMqObyF.d.cts} +1 -1
  314. package/dist/{horizontal-bar-type-DAlrxY0h.d.ts → horizontal-bar-type-oNPstB_X.d.ts} +1 -1
  315. package/dist/horizontal-bar.cjs +9 -9
  316. package/dist/horizontal-bar.d.cts +4 -4
  317. package/dist/horizontal-bar.d.ts +4 -4
  318. package/dist/horizontal-bar.js +4 -4
  319. package/dist/index.cjs +180 -179
  320. package/dist/index.cjs.map +1 -1
  321. package/dist/index.d.cts +47 -47
  322. package/dist/index.d.ts +47 -47
  323. package/dist/index.js +92 -91
  324. package/dist/index.js.map +1 -1
  325. package/dist/{kagi-type-Y5XUVm3h.d.ts → kagi-type-DLvdmNEs.d.ts} +1 -1
  326. package/dist/{kagi-type-aG-Q1bWk.d.cts → kagi-type-DolumABK.d.cts} +1 -1
  327. package/dist/kagi.cjs +10 -10
  328. package/dist/kagi.d.cts +4 -4
  329. package/dist/kagi.d.ts +4 -4
  330. package/dist/kagi.js +5 -5
  331. package/dist/{line-type-Diw0nXj7.d.ts → line-type-CQ_Sbwde.d.ts} +1 -1
  332. package/dist/{line-type-B8lgTFjb.d.cts → line-type-DU-iLYyU.d.cts} +1 -1
  333. package/dist/line.cjs +9 -9
  334. package/dist/line.d.cts +4 -4
  335. package/dist/line.d.ts +4 -4
  336. package/dist/line.js +4 -4
  337. package/dist/{lines-type-CGrg_mDi.d.cts → lines-type-BZF5YnFG.d.cts} +1 -1
  338. package/dist/{lines-type-V-seVNZ4.d.ts → lines-type-CkKW7kQN.d.ts} +1 -1
  339. package/dist/lines.cjs +10 -10
  340. package/dist/lines.d.cts +4 -4
  341. package/dist/lines.d.ts +4 -4
  342. package/dist/lines.js +5 -5
  343. package/dist/{lollipop-type-CoTzKLSu.d.cts → lollipop-type-BUeY0pGU.d.cts} +1 -1
  344. package/dist/{lollipop-type-Ygc4rRql.d.ts → lollipop-type-DY7z1meu.d.ts} +1 -1
  345. package/dist/lollipop.cjs +9 -9
  346. package/dist/lollipop.d.cts +4 -4
  347. package/dist/lollipop.d.ts +4 -4
  348. package/dist/lollipop.js +4 -4
  349. package/dist/{matrix-type-Crb_NwUJ.d.cts → matrix-type-DZBt3yku.d.cts} +1 -1
  350. package/dist/{matrix-type-Dag1VLCY.d.ts → matrix-type-DkaWmxKb.d.ts} +1 -1
  351. package/dist/matrix.cjs +10 -10
  352. package/dist/matrix.d.cts +4 -4
  353. package/dist/matrix.d.ts +4 -4
  354. package/dist/matrix.js +5 -5
  355. package/dist/{ohlc-type-BQBHvVJO.d.cts → ohlc-type-C6NE-Bb3.d.cts} +1 -1
  356. package/dist/{ohlc-type-CGR-vRGL.d.ts → ohlc-type-eQd0E8lm.d.ts} +1 -1
  357. package/dist/ohlc.cjs +9 -9
  358. package/dist/ohlc.d.cts +4 -4
  359. package/dist/ohlc.d.ts +4 -4
  360. package/dist/ohlc.js +4 -4
  361. package/dist/{parallel-type-D-S-EqeC.d.cts → parallel-type-Cn2B_2-r.d.cts} +1 -1
  362. package/dist/{parallel-type-6t6xyHMg.d.ts → parallel-type-D4B96-R-.d.ts} +1 -1
  363. package/dist/parallel.cjs +10 -10
  364. package/dist/parallel.d.cts +4 -4
  365. package/dist/parallel.d.ts +4 -4
  366. package/dist/parallel.js +5 -5
  367. package/dist/{pictorialbar-type-A-8mTX1N.d.ts → pictorialbar-type-CoClaroO.d.ts} +1 -1
  368. package/dist/{pictorialbar-type-CnJEH9GZ.d.cts → pictorialbar-type-jiWGSHOU.d.cts} +1 -1
  369. package/dist/pictorialbar.cjs +10 -10
  370. package/dist/pictorialbar.d.cts +4 -4
  371. package/dist/pictorialbar.d.ts +4 -4
  372. package/dist/pictorialbar.js +5 -5
  373. package/dist/{pie-type-S7kUKGRS.d.ts → pie-type-0inQl-lu.d.ts} +1 -1
  374. package/dist/{pie-type-duX5xkfQ.d.cts → pie-type-9iaid0XE.d.cts} +1 -1
  375. package/dist/pie.cjs +11 -10
  376. package/dist/pie.cjs.map +1 -1
  377. package/dist/pie.d.cts +4 -4
  378. package/dist/pie.d.ts +4 -4
  379. package/dist/pie.js +6 -5
  380. package/dist/pie.js.map +1 -1
  381. package/dist/{polar-type-CI6-I8Yg.d.cts → polar-type-BraqKI4A.d.ts} +2 -1
  382. package/dist/{polar-type-Dj21GIc9.d.ts → polar-type-DsB9FOAO.d.cts} +2 -1
  383. package/dist/polar.cjs +11 -10
  384. package/dist/polar.cjs.map +1 -1
  385. package/dist/polar.d.cts +4 -4
  386. package/dist/polar.d.ts +4 -4
  387. package/dist/polar.js +6 -5
  388. package/dist/polar.js.map +1 -1
  389. package/dist/{radar-type-CYjZHuKm.d.ts → radar-type-C0JiXn53.d.ts} +1 -1
  390. package/dist/{radar-type-Dgyr13Zd.d.cts → radar-type-DaLjHpgO.d.cts} +1 -1
  391. package/dist/radar.cjs +10 -10
  392. package/dist/radar.d.cts +4 -4
  393. package/dist/radar.d.ts +4 -4
  394. package/dist/radar.js +5 -5
  395. package/dist/{radialbar-type-CLZ8XgST.d.ts → radialbar-type-DMzib3wW.d.ts} +1 -1
  396. package/dist/{radialbar-type-C_SBXoaa.d.cts → radialbar-type-YtZDe2x4.d.cts} +1 -1
  397. package/dist/radialbar.cjs +10 -10
  398. package/dist/radialbar.d.cts +4 -4
  399. package/dist/radialbar.d.ts +4 -4
  400. package/dist/radialbar.js +5 -5
  401. package/dist/{range-type-_LbMV4tl.d.ts → range-type-RlwPvBxs.d.ts} +1 -1
  402. package/dist/{range-type-CkriEnLm.d.cts → range-type-imi4626F.d.cts} +1 -1
  403. package/dist/range.cjs +9 -9
  404. package/dist/range.d.cts +4 -4
  405. package/dist/range.d.ts +4 -4
  406. package/dist/range.js +4 -4
  407. package/dist/{renko-type-ejoXt2ro.d.ts → renko-type-Bv23hPuk.d.ts} +1 -1
  408. package/dist/{renko-type-43OXCtZ3.d.cts → renko-type-DEe4vBKT.d.cts} +1 -1
  409. package/dist/renko.cjs +10 -10
  410. package/dist/renko.d.cts +4 -4
  411. package/dist/renko.d.ts +4 -4
  412. package/dist/renko.js +5 -5
  413. package/dist/{sankey-type-DfkTUnXB.d.cts → sankey-type-B0LCLees.d.cts} +1 -1
  414. package/dist/{sankey-type-CN7PL5MQ.d.ts → sankey-type-Gr2owHtQ.d.ts} +1 -1
  415. package/dist/sankey.cjs +10 -10
  416. package/dist/sankey.d.cts +4 -4
  417. package/dist/sankey.d.ts +4 -4
  418. package/dist/sankey.js +5 -5
  419. package/dist/{scatter-type-CD7X1pZb.d.cts → scatter-type-C0vMtH11.d.cts} +1 -1
  420. package/dist/{scatter-type-D3HdPkZ6.d.ts → scatter-type-DPCIXt3X.d.ts} +1 -1
  421. package/dist/scatter.cjs +9 -9
  422. package/dist/scatter.d.cts +4 -4
  423. package/dist/scatter.d.ts +4 -4
  424. package/dist/scatter.js +4 -4
  425. package/dist/{sparkline-type-qt3yoLs7.d.cts → sparkline-type-BDDpw4DS.d.cts} +1 -1
  426. package/dist/{sparkline-type-COW3izgF.d.ts → sparkline-type-BtSsuoh4.d.ts} +1 -1
  427. package/dist/sparkline.cjs +9 -9
  428. package/dist/sparkline.d.cts +4 -4
  429. package/dist/sparkline.d.ts +4 -4
  430. package/dist/sparkline.js +4 -4
  431. package/dist/{stacked-bar-type-C-5pmb-D.d.ts → stacked-bar-type-5_GXIxLN.d.ts} +1 -1
  432. package/dist/{stacked-bar-type-Ct6HK2A0.d.cts → stacked-bar-type-BF4R1zEK.d.cts} +1 -1
  433. package/dist/stacked-bar.cjs +9 -9
  434. package/dist/stacked-bar.d.cts +4 -4
  435. package/dist/stacked-bar.d.ts +4 -4
  436. package/dist/stacked-bar.js +4 -4
  437. package/dist/{step-type-BSL-CUny.d.cts → step-type-CZJO5PE4.d.cts} +1 -1
  438. package/dist/{step-type-Cleoshov.d.ts → step-type-CoBGeRRR.d.ts} +1 -1
  439. package/dist/step.cjs +10 -10
  440. package/dist/step.d.cts +4 -4
  441. package/dist/step.d.ts +4 -4
  442. package/dist/step.js +5 -5
  443. package/dist/{sunburst-type-ZFw2w6m8.d.ts → sunburst-type-CAcFLV8s.d.ts} +1 -1
  444. package/dist/{sunburst-type-BOztb_Px.d.cts → sunburst-type-DgP1x1nn.d.cts} +1 -1
  445. package/dist/sunburst.cjs +11 -10
  446. package/dist/sunburst.cjs.map +1 -1
  447. package/dist/sunburst.d.cts +4 -4
  448. package/dist/sunburst.d.ts +4 -4
  449. package/dist/sunburst.js +6 -5
  450. package/dist/sunburst.js.map +1 -1
  451. package/dist/{themeriver-type-B5PYChcC.d.ts → themeriver-type-BxLJux1v.d.ts} +1 -1
  452. package/dist/{themeriver-type-BnRSsyal.d.cts → themeriver-type-CGn5zE2F.d.cts} +1 -1
  453. package/dist/themeriver.cjs +10 -10
  454. package/dist/themeriver.d.cts +4 -4
  455. package/dist/themeriver.d.ts +4 -4
  456. package/dist/themeriver.js +5 -5
  457. package/dist/{tree-type-B-bOSg0l.d.ts → tree-type-Dyw9F7oq.d.ts} +1 -1
  458. package/dist/{tree-type-Cz84wHnR.d.cts → tree-type-xf-pj4pG.d.cts} +1 -1
  459. package/dist/tree.cjs +10 -10
  460. package/dist/tree.d.cts +4 -4
  461. package/dist/tree.d.ts +4 -4
  462. package/dist/tree.js +5 -5
  463. package/dist/{treemap-type-DYDj-rWv.d.ts → treemap-type-B4ty-Vge.d.ts} +1 -1
  464. package/dist/{treemap-type-OBCGexiK.d.cts → treemap-type-CeLgbJFQ.d.cts} +1 -1
  465. package/dist/treemap.cjs +10 -10
  466. package/dist/treemap.d.cts +4 -4
  467. package/dist/treemap.d.ts +4 -4
  468. package/dist/treemap.js +5 -5
  469. package/dist/{volume-type-C9wRmKR6.d.ts → volume-type-2ZgLIkPV.d.ts} +1 -1
  470. package/dist/{volume-type-CfERBN5g.d.cts → volume-type-Dvnr4sC9.d.cts} +1 -1
  471. package/dist/volume.cjs +9 -9
  472. package/dist/volume.d.cts +4 -4
  473. package/dist/volume.d.ts +4 -4
  474. package/dist/volume.js +4 -4
  475. package/dist/{waterfall-type-hm5ylGgW.d.cts → waterfall-type-D_6Db7Zy.d.cts} +1 -1
  476. package/dist/{waterfall-type-CpdVtBi_.d.ts → waterfall-type-DsC5vlAP.d.ts} +1 -1
  477. package/dist/waterfall.cjs +9 -9
  478. package/dist/waterfall.d.cts +4 -4
  479. package/dist/waterfall.d.ts +4 -4
  480. package/dist/waterfall.js +4 -4
  481. package/dist/world-regions-C0JUJCGT.d.ts +25 -0
  482. package/dist/world-regions-gUFRPji8.d.cts +25 -0
  483. package/package.json +11 -7
  484. package/dist/chunk-22LR6CFM.js.map +0 -1
  485. package/dist/chunk-2TWYS3BT.cjs.map +0 -1
  486. package/dist/chunk-3BRQGYDX.js.map +0 -1
  487. package/dist/chunk-4VG47RLS.js.map +0 -1
  488. package/dist/chunk-4YJPBUX2.cjs.map +0 -1
  489. package/dist/chunk-66HSJRRH.js.map +0 -1
  490. package/dist/chunk-6LKN3HRX.js.map +0 -1
  491. package/dist/chunk-6N66T7VQ.js.map +0 -1
  492. package/dist/chunk-7CGXK7KT.js.map +0 -1
  493. package/dist/chunk-7YV56WPE.js.map +0 -1
  494. package/dist/chunk-B54L2CPW.cjs.map +0 -1
  495. package/dist/chunk-BC6KW2OG.js.map +0 -1
  496. package/dist/chunk-BEYG2HQ4.cjs.map +0 -1
  497. package/dist/chunk-BR3KTAGW.js.map +0 -1
  498. package/dist/chunk-BYXRFTEI.cjs.map +0 -1
  499. package/dist/chunk-D2SV6YT3.js.map +0 -1
  500. package/dist/chunk-DL7P72FA.cjs.map +0 -1
  501. package/dist/chunk-DNQ6N3VG.js +0 -208
  502. package/dist/chunk-DNQ6N3VG.js.map +0 -1
  503. package/dist/chunk-E2S7RAT2.js.map +0 -1
  504. package/dist/chunk-EGQ4JCFU.cjs.map +0 -1
  505. package/dist/chunk-ETPZGEL7.cjs.map +0 -1
  506. package/dist/chunk-FFJ6BVEY.cjs.map +0 -1
  507. package/dist/chunk-FKYNRMPX.js.map +0 -1
  508. package/dist/chunk-FRWC6GUR.cjs.map +0 -1
  509. package/dist/chunk-FUZFNUCJ.js.map +0 -1
  510. package/dist/chunk-H2AE7JMU.js.map +0 -1
  511. package/dist/chunk-H4RNJ7FK.cjs.map +0 -1
  512. package/dist/chunk-HB4EGHJ7.cjs.map +0 -1
  513. package/dist/chunk-HDWWUEPD.js.map +0 -1
  514. package/dist/chunk-HOOOCSU4.js.map +0 -1
  515. package/dist/chunk-J6NPRKT4.cjs.map +0 -1
  516. package/dist/chunk-KE7ILTM4.cjs.map +0 -1
  517. package/dist/chunk-KOHWMGRF.js.map +0 -1
  518. package/dist/chunk-KSRROKYC.cjs.map +0 -1
  519. package/dist/chunk-L54BZYAI.cjs.map +0 -1
  520. package/dist/chunk-LB4MV5CG.js.map +0 -1
  521. package/dist/chunk-LEJGLR2P.cjs.map +0 -1
  522. package/dist/chunk-LUTU4WW3.js.map +0 -1
  523. package/dist/chunk-M4AQD6WX.cjs.map +0 -1
  524. package/dist/chunk-M4UST3UU.cjs.map +0 -1
  525. package/dist/chunk-MLX3EO2C.js.map +0 -1
  526. package/dist/chunk-MYPCA25Y.cjs.map +0 -1
  527. package/dist/chunk-N6IVODRJ.js.map +0 -1
  528. package/dist/chunk-NFD6VAVM.js.map +0 -1
  529. package/dist/chunk-NQSC7CKN.js.map +0 -1
  530. package/dist/chunk-NYVFC2SF.js.map +0 -1
  531. package/dist/chunk-O5KGKQSU.js.map +0 -1
  532. package/dist/chunk-PLGZ4REQ.cjs.map +0 -1
  533. package/dist/chunk-Q2BDB5ZA.cjs.map +0 -1
  534. package/dist/chunk-Q6U5D2ZB.cjs +0 -210
  535. package/dist/chunk-Q6U5D2ZB.cjs.map +0 -1
  536. package/dist/chunk-QIJZZOX7.js.map +0 -1
  537. package/dist/chunk-QZ4ZYTP6.js.map +0 -1
  538. package/dist/chunk-RCVRZCCC.cjs.map +0 -1
  539. package/dist/chunk-ROYZ7W4M.cjs.map +0 -1
  540. package/dist/chunk-SJS4ISBA.js.map +0 -1
  541. package/dist/chunk-SKVCPG5R.cjs.map +0 -1
  542. package/dist/chunk-SQJAKZ4W.js.map +0 -1
  543. package/dist/chunk-SUNC3CPV.js.map +0 -1
  544. package/dist/chunk-SWYCVF46.js.map +0 -1
  545. package/dist/chunk-SZVK6RRQ.js.map +0 -1
  546. package/dist/chunk-TOS2RYHQ.js.map +0 -1
  547. package/dist/chunk-TTOX27BZ.cjs.map +0 -1
  548. package/dist/chunk-TW6KPQIS.js.map +0 -1
  549. package/dist/chunk-UN7K3YQG.cjs.map +0 -1
  550. package/dist/chunk-UQBDGCS6.cjs.map +0 -1
  551. package/dist/chunk-VPI7UGB3.cjs.map +0 -1
  552. package/dist/chunk-X2JNB5UN.js.map +0 -1
  553. package/dist/chunk-XBIM73HV.cjs.map +0 -1
  554. package/dist/chunk-XHQWWR5M.cjs.map +0 -1
  555. package/dist/chunk-Y4P4VY7A.cjs.map +0 -1
  556. package/dist/chunk-Y54XVNXB.cjs.map +0 -1
  557. package/dist/chunk-Z6E3XVP2.cjs.map +0 -1
  558. package/dist/chunk-ZDYCIP6N.cjs.map +0 -1
  559. package/dist/chunk-ZDZQG3GH.cjs.map +0 -1
  560. package/dist/chunk-ZL25X5WW.js.map +0 -1
  561. package/dist/graph-type-DkdAB6Vc.d.cts +0 -5
  562. package/dist/graph-type-ul9xwdf5.d.ts +0 -5
  563. package/dist/world-regions-D-TCHPZP.d.cts +0 -38
  564. package/dist/world-regions-DjMvYgFu.d.ts +0 -38
@@ -473,7 +473,7 @@ var CHART_CSS = (
473
473
  transform-origin: center;
474
474
  transform-box: fill-box;
475
475
  animation: chartts-point-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
476
- animation-delay: calc(var(--chartts-i, 0) * 30ms + 0.4s);
476
+ animation-delay: calc(var(--chartts-i, 0) * 10ms + 0.4s);
477
477
  opacity: 0;
478
478
  transition: opacity 0.15s ease, stroke-width 0.15s ease;
479
479
  cursor: pointer;
@@ -492,7 +492,7 @@ var CHART_CSS = (
492
492
  transform-origin: bottom center;
493
493
  transform-box: fill-box;
494
494
  animation: chartts-bar-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
495
- animation-delay: calc(var(--chartts-i, 0) * 40ms);
495
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
496
496
  opacity: 0;
497
497
  transition: filter 0.15s ease, opacity 0.15s ease;
498
498
  cursor: pointer;
@@ -518,15 +518,15 @@ var CHART_CSS = (
518
518
  transform-origin: center;
519
519
  transform-box: fill-box;
520
520
  animation: chartts-slice-in 0.5s cubic-bezier(0.34, 1.3, 0.64, 1) forwards;
521
- animation-delay: calc(var(--chartts-i, 0) * 60ms);
521
+ animation-delay: calc(var(--chartts-i, 0) * 25ms);
522
522
  opacity: 0;
523
- transition: filter 0.15s ease, opacity 0.15s ease;
523
+ transition: filter 0.2s ease, opacity 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.3, 0.64, 1);
524
524
  cursor: pointer;
525
525
  pointer-events: all;
526
526
  }
527
527
  .chartts-slice:hover {
528
- filter: brightness(1.1) saturate(1.15);
529
- opacity: 0.92;
528
+ filter: brightness(1.08) saturate(1.15) drop-shadow(0 2px 8px rgba(0,0,0,0.2));
529
+ transform: scale(1.04);
530
530
  }
531
531
 
532
532
  /* ---- Sparkline ---- */
@@ -547,7 +547,7 @@ var CHART_CSS = (
547
547
  transform-origin: center;
548
548
  transform-box: fill-box;
549
549
  animation: chartts-radar-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
550
- animation-delay: calc(var(--chartts-radar-i, 0) * 120ms);
550
+ animation-delay: calc(var(--chartts-radar-i, 0) * 35ms);
551
551
  opacity: 0;
552
552
  transition: opacity 0.2s ease, fill-opacity 0.2s ease;
553
553
  }
@@ -558,7 +558,7 @@ var CHART_CSS = (
558
558
  transform-origin: center;
559
559
  transform-box: fill-box;
560
560
  animation: chartts-point-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
561
- animation-delay: calc(var(--chartts-i, 0) * 30ms + 0.5s);
561
+ animation-delay: calc(var(--chartts-i, 0) * 10ms + 0.5s);
562
562
  opacity: 0;
563
563
  transition: r 0.15s ease, opacity 0.15s ease;
564
564
  cursor: pointer;
@@ -598,7 +598,7 @@ var CHART_CSS = (
598
598
  }
599
599
  .chartts-funnel-step {
600
600
  animation: chartts-funnel-slide 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
601
- animation-delay: calc(var(--chartts-i, 0) * 80ms);
601
+ animation-delay: calc(var(--chartts-i, 0) * 25ms);
602
602
  opacity: 0;
603
603
  transition: filter 0.15s ease;
604
604
  cursor: pointer;
@@ -614,7 +614,7 @@ var CHART_CSS = (
614
614
  }
615
615
  .chartts-waterfall-bar {
616
616
  animation: chartts-waterfall-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
617
- animation-delay: calc(var(--chartts-i, 0) * 50ms);
617
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
618
618
  opacity: 0;
619
619
  transition: filter 0.15s ease;
620
620
  cursor: pointer;
@@ -632,7 +632,7 @@ var CHART_CSS = (
632
632
  transform-origin: center;
633
633
  transform-box: fill-box;
634
634
  animation: chartts-candle-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
635
- animation-delay: calc(var(--chartts-i, 0) * 50ms);
635
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
636
636
  opacity: 0;
637
637
  transition: filter 0.15s ease;
638
638
  cursor: pointer;
@@ -654,7 +654,7 @@ var CHART_CSS = (
654
654
  transform-origin: center;
655
655
  transform-box: fill-box;
656
656
  animation: chartts-bubble-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
657
- animation-delay: calc(var(--chartts-i, 0) * 50ms);
657
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
658
658
  opacity: 0;
659
659
  transition: filter 0.15s ease, opacity 0.15s ease;
660
660
  cursor: pointer;
@@ -668,7 +668,7 @@ var CHART_CSS = (
668
668
  transform-origin: center;
669
669
  transform-box: fill-box;
670
670
  animation: chartts-point-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
671
- animation-delay: calc(var(--chartts-i, 0) * 30ms);
671
+ animation-delay: calc(var(--chartts-i, 0) * 10ms);
672
672
  opacity: 0;
673
673
  transition: filter 0.15s ease, opacity 0.15s ease;
674
674
  cursor: pointer;
@@ -705,7 +705,7 @@ var CHART_CSS = (
705
705
  transform-origin: center;
706
706
  transform-box: fill-box;
707
707
  animation: chartts-boxplot-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
708
- animation-delay: calc(var(--chartts-i, 0) * 60ms);
708
+ animation-delay: calc(var(--chartts-i, 0) * 3ms);
709
709
  opacity: 0;
710
710
  transition: filter 0.15s ease;
711
711
  cursor: pointer;
@@ -726,7 +726,7 @@ var CHART_CSS = (
726
726
  transform-origin: center;
727
727
  transform-box: fill-box;
728
728
  animation: chartts-cell-grow 0.4s ease forwards;
729
- animation-delay: calc(var(--chartts-i, 0) * 40ms);
729
+ animation-delay: calc(var(--chartts-i, 0) * 12ms);
730
730
  cursor: pointer;
731
731
  transition: filter 0.15s ease;
732
732
  }
@@ -746,7 +746,7 @@ var CHART_CSS = (
746
746
  transform-origin: center;
747
747
  transform-box: fill-box;
748
748
  animation: chartts-wedge-in 0.5s ease forwards;
749
- animation-delay: calc(var(--chartts-i, 0) * 50ms);
749
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
750
750
  cursor: pointer;
751
751
  transition: filter 0.15s ease;
752
752
  }
@@ -767,7 +767,7 @@ var CHART_CSS = (
767
767
  }
768
768
  .chartts-radialbar-arc {
769
769
  animation: chartts-radialbar-in 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
770
- animation-delay: calc(var(--chartts-i, 0) * 100ms);
770
+ animation-delay: calc(var(--chartts-i, 0) * 30ms);
771
771
  opacity: 0;
772
772
  transition: filter 0.15s ease;
773
773
  cursor: pointer;
@@ -788,7 +788,7 @@ var CHART_CSS = (
788
788
  transform-origin: bottom center;
789
789
  transform-box: fill-box;
790
790
  animation: chartts-lollipop-in 0.4s ease forwards;
791
- animation-delay: calc(var(--chartts-i, 0) * 40ms);
791
+ animation-delay: calc(var(--chartts-i, 0) * 12ms);
792
792
  }
793
793
  .chartts-lollipop-dot {
794
794
  cursor: pointer;
@@ -807,7 +807,7 @@ var CHART_CSS = (
807
807
  transform-origin: left center;
808
808
  transform-box: fill-box;
809
809
  animation: chartts-bullet-in 0.5s ease forwards;
810
- animation-delay: calc(var(--chartts-i, 0) * 80ms);
810
+ animation-delay: calc(var(--chartts-i, 0) * 25ms);
811
811
  cursor: pointer;
812
812
  transition: filter 0.15s ease;
813
813
  }
@@ -828,7 +828,7 @@ var CHART_CSS = (
828
828
  transform-origin: center;
829
829
  transform-box: fill-box;
830
830
  animation: chartts-dumbbell-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
831
- animation-delay: calc(var(--chartts-i, 0) * 60ms);
831
+ animation-delay: calc(var(--chartts-i, 0) * 3ms);
832
832
  opacity: 0;
833
833
  cursor: pointer;
834
834
  transition: filter 0.15s ease;
@@ -845,7 +845,7 @@ var CHART_CSS = (
845
845
  cursor: pointer;
846
846
  transition: filter 0.15s ease;
847
847
  animation: chartts-cell-in 0.3s ease forwards;
848
- animation-delay: calc(var(--chartts-i, 0) * 8ms);
848
+ animation-delay: calc(var(--chartts-i, 0) * 3ms);
849
849
  }
850
850
  .chartts-calendar-cell:hover {
851
851
  filter: brightness(1.2);
@@ -897,7 +897,7 @@ var CHART_CSS = (
897
897
  transform-origin: center;
898
898
  transform-box: fill-box;
899
899
  animation: chartts-sunburst-in 0.5s cubic-bezier(0.34, 1.3, 0.64, 1) forwards;
900
- animation-delay: calc(var(--chartts-i, 0) * 30ms);
900
+ animation-delay: calc(var(--chartts-i, 0) * 10ms);
901
901
  opacity: 0;
902
902
  transition: filter 0.15s ease, fill-opacity 0.15s ease;
903
903
  cursor: pointer;
@@ -920,7 +920,7 @@ var CHART_CSS = (
920
920
  transform-origin: center;
921
921
  transform-box: fill-box;
922
922
  animation: chartts-tree-node-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
923
- animation-delay: calc(var(--chartts-i, 0) * 50ms);
923
+ animation-delay: calc(var(--chartts-i, 0) * 15ms);
924
924
  opacity: 0;
925
925
  transition: filter 0.15s ease, r 0.15s ease;
926
926
  cursor: pointer;
@@ -946,7 +946,7 @@ var CHART_CSS = (
946
946
  transform-origin: center;
947
947
  transform-box: fill-box;
948
948
  animation: chartts-graph-node-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
949
- animation-delay: calc(var(--chartts-i, 0) * 40ms);
949
+ animation-delay: calc(var(--chartts-i, 0) * 12ms);
950
950
  opacity: 0;
951
951
  transition: filter 0.15s ease, r 0.15s ease;
952
952
  cursor: pointer;
@@ -992,7 +992,7 @@ var CHART_CSS = (
992
992
  transform-origin: center;
993
993
  transform-box: fill-box;
994
994
  animation: chartts-stream-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
995
- animation-delay: calc(var(--chartts-i, 0) * 80ms);
995
+ animation-delay: calc(var(--chartts-i, 0) * 25ms);
996
996
  opacity: 0;
997
997
  transition: fill-opacity 0.15s ease;
998
998
  cursor: pointer;
@@ -1014,7 +1014,7 @@ var CHART_CSS = (
1014
1014
  transform-origin: center;
1015
1015
  transform-box: fill-box;
1016
1016
  animation: chartts-pictorial-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
1017
- animation-delay: calc(var(--chartts-i, 0) * 20ms);
1017
+ animation-delay: calc(var(--chartts-i, 0) * 3ms);
1018
1018
  opacity: 0;
1019
1019
  transition: filter 0.15s ease;
1020
1020
  cursor: pointer;
@@ -1035,7 +1035,7 @@ var CHART_CSS = (
1035
1035
  transform-origin: center;
1036
1036
  transform-box: fill-box;
1037
1037
  animation: chartts-chord-arc-in 0.5s ease forwards;
1038
- animation-delay: calc(var(--chartts-i, 0) * 60ms);
1038
+ animation-delay: calc(var(--chartts-i, 0) * 3ms);
1039
1039
  opacity: 0;
1040
1040
  transition: filter 0.15s ease;
1041
1041
  cursor: pointer;
@@ -1071,7 +1071,7 @@ var CHART_CSS = (
1071
1071
  }
1072
1072
  .chartts-skeleton-bar {
1073
1073
  animation: chartts-shimmer 1.5s ease-in-out infinite;
1074
- animation-delay: calc(var(--chartts-i, 0) * 150ms);
1074
+ animation-delay: calc(var(--chartts-i, 0) * 40ms);
1075
1075
  }
1076
1076
 
1077
1077
  /* ---- Grid ---- */
@@ -1085,19 +1085,32 @@ var CHART_CSS = (
1085
1085
  to { opacity: 1; }
1086
1086
  }
1087
1087
  .chartts-geo-region {
1088
- animation: chartts-geo-in 0.4s ease calc(var(--chartts-i, 0) * 30ms) forwards;
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 {
@@ -1106,7 +1119,7 @@ var CHART_CSS = (
1106
1119
  }
1107
1120
  .chartts-lines-flow {
1108
1121
  stroke-dasharray: 300;
1109
- animation: chartts-lines-flow-in 0.8s ease calc(var(--chartts-i, 0) * 80ms) forwards;
1122
+ animation: chartts-lines-flow-in 0.8s ease calc(var(--chartts-i, 0) * 8ms) forwards;
1110
1123
  opacity: 0;
1111
1124
  transition: stroke-width 0.2s ease, stroke-opacity 0.2s ease;
1112
1125
  cursor: pointer;
@@ -1126,7 +1139,7 @@ var CHART_CSS = (
1126
1139
  to { opacity: 1; transform: scale(1); }
1127
1140
  }
1128
1141
  .chartts-matrix-cell {
1129
- animation: chartts-matrix-in 0.3s ease calc(var(--chartts-i, 0) * 15ms) forwards;
1142
+ animation: chartts-matrix-in 0.3s ease calc(var(--chartts-i, 0) * 5ms) forwards;
1130
1143
  opacity: 0;
1131
1144
  transition: filter 0.15s ease;
1132
1145
  cursor: pointer;
@@ -1141,7 +1154,7 @@ var CHART_CSS = (
1141
1154
  to { opacity: 1; transform: scaleY(1); }
1142
1155
  }
1143
1156
  .chartts-ohlc-stem, .chartts-ohlc-tick {
1144
- animation: chartts-ohlc-in 0.3s ease calc(var(--chartts-i, 0) * 20ms) forwards;
1157
+ animation: chartts-ohlc-in 0.3s ease calc(var(--chartts-i, 0) * 8ms) forwards;
1145
1158
  opacity: 0;
1146
1159
  transition: stroke-width 0.15s ease;
1147
1160
  }
@@ -1155,7 +1168,7 @@ var CHART_CSS = (
1155
1168
  to { opacity: 1; transform: scaleY(1); }
1156
1169
  }
1157
1170
  .chartts-volume-bar {
1158
- animation: chartts-volume-in 0.3s ease calc(var(--chartts-i, 0) * 20ms) forwards;
1171
+ animation: chartts-volume-in 0.3s ease calc(var(--chartts-i, 0) * 8ms) forwards;
1159
1172
  opacity: 0;
1160
1173
  transition: filter 0.15s ease, fill-opacity 0.15s ease;
1161
1174
  cursor: pointer;
@@ -1208,7 +1221,7 @@ var CHART_CSS = (
1208
1221
  }
1209
1222
  .chartts-kagi-line {
1210
1223
  stroke-dasharray: 200;
1211
- animation: chartts-kagi-in 0.6s ease calc(var(--chartts-i, 0) * 40ms) forwards;
1224
+ animation: chartts-kagi-in 0.6s ease calc(var(--chartts-i, 0) * 12ms) forwards;
1212
1225
  opacity: 0;
1213
1226
  transition: stroke-width 0.15s ease;
1214
1227
  }
@@ -1219,7 +1232,7 @@ var CHART_CSS = (
1219
1232
  to { opacity: 1; transform: scale(1); }
1220
1233
  }
1221
1234
  .chartts-renko-brick {
1222
- animation: chartts-renko-in 0.3s ease calc(var(--chartts-i, 0) * 25ms) forwards;
1235
+ animation: chartts-renko-in 0.3s ease calc(var(--chartts-i, 0) * 8ms) forwards;
1223
1236
  opacity: 0;
1224
1237
  transition: filter 0.15s ease;
1225
1238
  cursor: pointer;
@@ -1257,6 +1270,38 @@ var CHART_CSS = (
1257
1270
  opacity: 0.7;
1258
1271
  }
1259
1272
 
1273
+ /* ---- Skip animations on data update ---- */
1274
+ .chartts-skip-anim .chartts-line, .chartts-skip-anim .chartts-area, .chartts-skip-anim .chartts-point,
1275
+ .chartts-skip-anim .chartts-bar, .chartts-skip-anim .chartts-slice, .chartts-skip-anim .chartts-bubble,
1276
+ .chartts-skip-anim .chartts-funnel-step, .chartts-skip-anim .chartts-waterfall-bar,
1277
+ .chartts-skip-anim .chartts-sparkline-line, .chartts-skip-anim .chartts-gauge-fill,
1278
+ .chartts-skip-anim .chartts-gauge-needle, .chartts-skip-anim .chartts-gauge-needle-cap,
1279
+ .chartts-skip-anim .chartts-radar-area, .chartts-skip-anim .chartts-radar-point,
1280
+ .chartts-skip-anim .chartts-treemap-cell, .chartts-skip-anim .chartts-polar-wedge,
1281
+ .chartts-skip-anim .chartts-lollipop-stem, .chartts-skip-anim .chartts-bullet-bar,
1282
+ .chartts-skip-anim .chartts-dumbbell-dot, .chartts-skip-anim .chartts-boxplot-box,
1283
+ .chartts-skip-anim .chartts-radialbar-arc, .chartts-skip-anim .chartts-sankey-link,
1284
+ .chartts-skip-anim .chartts-calendar-cell,
1285
+ .chartts-skip-anim .chartts-sunburst-sector, .chartts-skip-anim .chartts-tree-node,
1286
+ .chartts-skip-anim .chartts-graph-node, .chartts-skip-anim .chartts-graph-edge,
1287
+ .chartts-skip-anim .chartts-themeriver-stream, .chartts-skip-anim .chartts-pictorialbar-symbol,
1288
+ .chartts-skip-anim .chartts-chord-arc, .chartts-skip-anim .chartts-chord-ribbon,
1289
+ .chartts-skip-anim .chartts-geo-region, .chartts-skip-anim .chartts-lines-flow,
1290
+ .chartts-skip-anim .chartts-lines-node, .chartts-skip-anim .chartts-matrix-cell,
1291
+ .chartts-skip-anim .chartts-ohlc-stem, .chartts-skip-anim .chartts-ohlc-tick,
1292
+ .chartts-skip-anim .chartts-volume-bar, .chartts-skip-anim .chartts-range-band,
1293
+ .chartts-skip-anim .chartts-baseline-pos, .chartts-skip-anim .chartts-baseline-neg,
1294
+ .chartts-skip-anim .chartts-baseline-line, .chartts-skip-anim .chartts-kagi-line,
1295
+ .chartts-skip-anim .chartts-renko-brick {
1296
+ animation: none !important;
1297
+ opacity: 1 !important;
1298
+ }
1299
+ .chartts-skip-anim .chartts-line,
1300
+ .chartts-skip-anim .chartts-sparkline-line,
1301
+ .chartts-skip-anim .chartts-gauge-fill {
1302
+ stroke-dashoffset: 0 !important;
1303
+ }
1304
+
1260
1305
  /* ---- Reduced motion ---- */
1261
1306
  @media (prefers-reduced-motion: reduce) {
1262
1307
  .chartts-line, .chartts-area, .chartts-point,
@@ -1283,8 +1328,9 @@ var CHART_CSS = (
1283
1328
  .chartts-renko-brick {
1284
1329
  animation: none !important;
1285
1330
  opacity: 1 !important;
1286
- transform: none !important;
1287
1331
  }
1332
+ .chartts-line,
1333
+ .chartts-sparkline-line,
1288
1334
  .chartts-gauge-fill {
1289
1335
  stroke-dashoffset: 0 !important;
1290
1336
  }
@@ -1438,10 +1484,16 @@ function applyAttrs(el2, attrs) {
1438
1484
  stroke: "stroke",
1439
1485
  strokeWidth: "stroke-width",
1440
1486
  strokeDasharray: "stroke-dasharray",
1487
+ strokeOpacity: "stroke-opacity",
1488
+ strokeLinecap: "stroke-linecap",
1489
+ strokeLinejoin: "stroke-linejoin",
1441
1490
  fill: "fill",
1442
1491
  fillOpacity: "fill-opacity",
1443
1492
  opacity: "opacity",
1444
1493
  transform: "transform",
1494
+ filter: "filter",
1495
+ cursor: "cursor",
1496
+ pointerEvents: "pointer-events",
1445
1497
  role: "role",
1446
1498
  ariaLabel: "aria-label",
1447
1499
  tabindex: "tabindex"
@@ -1459,17 +1511,20 @@ function applyAttrs(el2, attrs) {
1459
1511
  }
1460
1512
  }
1461
1513
  function applyEntryAnimations(svg) {
1462
- svg.querySelectorAll(".chartts-line, .chartts-sparkline-line").forEach((p) => {
1463
- try {
1464
- const existing = p.getAttribute("stroke-dasharray");
1465
- if (existing && existing.includes(",")) return;
1466
- const len = p.getTotalLength();
1467
- p.style.setProperty("--chartts-path-len", String(len));
1468
- p.setAttribute("stroke-dasharray", String(len));
1469
- p.setAttribute("stroke-dashoffset", String(len));
1470
- } catch {
1471
- }
1472
- });
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
+ }
1473
1528
  const STAGGER_SELECTORS = [
1474
1529
  ".chartts-point",
1475
1530
  ".chartts-bar",
@@ -1511,27 +1566,54 @@ function applyEntryAnimations(svg) {
1511
1566
  el2.style.setProperty("--chartts-i", String(i));
1512
1567
  });
1513
1568
  }
1514
- svg.querySelectorAll(".chartts-gauge-fill").forEach((p) => {
1515
- try {
1516
- const len = p.getTotalLength();
1517
- p.style.setProperty("--chartts-path-len", String(len));
1518
- p.setAttribute("stroke-dasharray", String(len));
1519
- p.setAttribute("stroke-dashoffset", String(len));
1520
- } catch {
1521
- }
1522
- });
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
+ }
1523
1580
  svg.querySelectorAll(".chartts-radar-area").forEach((el2, i) => {
1524
1581
  el2.style.setProperty("--chartts-radar-i", String(i));
1525
1582
  });
1526
1583
  }
1527
1584
 
1528
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
+ }
1529
1603
  function resolveColor(value, fallback = "#000") {
1530
1604
  if (!value) return fallback;
1531
1605
  if (value === "none" || value === "transparent") return "transparent";
1532
1606
  if (value.startsWith("url(")) return value;
1533
- const match = value.match(/var\([^,]+,\s*([^)]+)\)/);
1534
- 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;
1535
1617
  }
1536
1618
  function hexToRgba(hex, alpha) {
1537
1619
  const h = hex.replace("#", "");
@@ -1595,9 +1677,10 @@ function mapTextBaseline(baseline) {
1595
1677
  return "alphabetic";
1596
1678
  }
1597
1679
  }
1598
- function createCanvasRenderer(theme) {
1599
- const colors = theme.colors;
1680
+ function createCanvasRenderer(getTheme) {
1681
+ const resolveTheme2 = typeof getTheme === "function" ? getTheme : () => getTheme;
1600
1682
  let clipPaths = /* @__PURE__ */ new Map();
1683
+ let currentColors = [];
1601
1684
  return {
1602
1685
  createRoot(target, width, height, attrs) {
1603
1686
  const canvas = document.createElement("canvas");
@@ -1610,7 +1693,7 @@ function createCanvasRenderer(theme) {
1610
1693
  if (attrs?.class) canvas.className = attrs.class;
1611
1694
  if (attrs?.role) canvas.setAttribute("role", attrs.role);
1612
1695
  if (attrs?.ariaLabel) canvas.setAttribute("aria-label", attrs.ariaLabel);
1613
- const ctx2d = canvas.getContext("2d", { alpha: false });
1696
+ const ctx2d = canvas.getContext("2d");
1614
1697
  ctx2d.setTransform(dpr, 0, 0, dpr, 0, 0);
1615
1698
  target.appendChild(canvas);
1616
1699
  const root = { element: canvas };
@@ -1624,16 +1707,25 @@ function createCanvasRenderer(theme) {
1624
1707
  const cr = root;
1625
1708
  const canvas = cr.element;
1626
1709
  const dpr = window.devicePixelRatio || 1;
1710
+ const theme = resolveTheme2();
1711
+ const colors = theme.colors;
1712
+ buildCssVarMap(theme);
1627
1713
  cr.width = canvas.width / dpr;
1628
1714
  cr.height = canvas.height / dpr;
1629
1715
  cr.dpr = dpr;
1630
1716
  clipPaths = /* @__PURE__ */ new Map();
1717
+ currentColors = colors;
1631
1718
  const ctx = cr.ctx;
1632
1719
  ctx.imageSmoothingEnabled = true;
1633
1720
  ctx.imageSmoothingQuality = "high";
1634
1721
  ctx.save();
1635
- ctx.fillStyle = resolveColor(theme.background, "#ffffff");
1636
- 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
+ }
1637
1729
  ctx.restore();
1638
1730
  collectClipPaths(nodes);
1639
1731
  drawNodes(cr.ctx, nodes, cr.width, cr.height);
@@ -1806,12 +1898,13 @@ function createCanvasRenderer(theme) {
1806
1898
  break;
1807
1899
  }
1808
1900
  case "text": {
1809
- const fill = resolveColor(node.attrs?.fill, theme.textColor);
1901
+ const t = resolveTheme2();
1902
+ const fill = resolveColor(node.attrs?.fill, t.textColor);
1810
1903
  const resolvedFill = resolveColor(fill);
1811
1904
  const opacity = node.attrs?.opacity ?? 1;
1812
1905
  const extra = node.attrs;
1813
- const fontSize = extra?.fontSize ?? theme.fontSize;
1814
- const fontFamily = extra?.fontFamily ?? theme.fontFamily;
1906
+ const fontSize = extra?.fontSize ?? t.fontSize;
1907
+ const fontFamily = extra?.fontFamily ?? t.fontFamily;
1815
1908
  const fontWeight = extra?.fontWeight ?? "normal";
1816
1909
  const textAnchor = extra?.textAnchor;
1817
1910
  const baseline = extra?.dominantBaseline;
@@ -1832,7 +1925,7 @@ function createCanvasRenderer(theme) {
1832
1925
  if (!fill) return "transparent";
1833
1926
  const urlId = parseUrlRef(fill);
1834
1927
  if (urlId) {
1835
- const grad = resolveGradientRef(urlId, colors, ctx, x, y, w, h);
1928
+ const grad = resolveGradientRef(urlId, currentColors, ctx, x, y, w, h);
1836
1929
  return grad ?? resolveColor(fill);
1837
1930
  }
1838
1931
  return resolveColor(fill);
@@ -2821,7 +2914,12 @@ function createZoomPan(config, onUpdate, interactionState) {
2821
2914
  state.zoomX = newZoom;
2822
2915
  }
2823
2916
  if (cfg.y) {
2824
- 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;
2825
2923
  }
2826
2924
  clampPan();
2827
2925
  onUpdate();
@@ -2859,30 +2957,46 @@ function createZoomPan(config, onUpdate, interactionState) {
2859
2957
  el2.releasePointerCapture(e.pointerId);
2860
2958
  el2.style.cursor = "crosshair";
2861
2959
  }
2960
+ let lastPinchCenterX = 0;
2961
+ let lastPinchCenterY = 0;
2862
2962
  function onTouchStart(e) {
2863
2963
  if (!cfg.pinch || e.touches.length !== 2) return;
2864
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;
2865
2967
  }
2866
2968
  function onTouchMove(e) {
2867
- if (!cfg.pinch || e.touches.length !== 2) return;
2969
+ if (!cfg.pinch || e.touches.length !== 2 || !getArea) return;
2868
2970
  e.preventDefault();
2971
+ const area = getArea();
2972
+ const rect2 = el2.getBoundingClientRect();
2869
2973
  const dist = pinchDistance(e);
2870
- const scale = dist / lastPinchDist;
2974
+ const scaleFactor = dist / lastPinchDist;
2871
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;
2872
2980
  if (cfg.x) {
2873
- 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;
2874
2985
  }
2875
2986
  if (cfg.y) {
2876
- 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;
2877
2991
  }
2878
2992
  clampPan();
2879
2993
  onUpdate();
2880
2994
  }
2881
2995
  function clampPan() {
2882
- const visibleX = 1 / state.zoomX;
2883
- state.panX = clamp(state.panX, -(1 - visibleX), 0);
2884
- const visibleY = 1 / state.zoomY;
2885
- 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);
2886
3000
  }
2887
3001
  function pinchDistance(e) {
2888
3002
  const dx = e.touches[0].clientX - e.touches[1].clientX;
@@ -3737,9 +3851,61 @@ function createTooltip(config, theme) {
3737
3851
  return { show, hide, destroy };
3738
3852
  }
3739
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
+
3740
3906
  // src/interaction/interaction.ts
3741
3907
  var SVG_NS = "http://www.w3.org/2000/svg";
3742
- function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState) {
3908
+ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConfig, theme, onClick, onHover, interactionState, canvasHighlight) {
3743
3909
  let targetEl = null;
3744
3910
  let container = null;
3745
3911
  let tooltip = null;
@@ -3765,11 +3931,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
3765
3931
  }
3766
3932
  function syncOverlay() {
3767
3933
  if (!overlayEl || !targetEl) return;
3768
- const w = targetEl.clientWidth || parseInt(targetEl.style.width) || 400;
3769
- 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;
3770
3937
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
3771
- overlayEl.setAttribute("width", String(w));
3772
- overlayEl.setAttribute("height", String(h));
3938
+ overlayEl.style.width = `${w}px`;
3939
+ overlayEl.style.height = `${h}px`;
3773
3940
  }
3774
3941
  function getCrosshairConfig() {
3775
3942
  try {
@@ -4047,7 +4214,7 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4047
4214
  };
4048
4215
  if (!activePoint || activePoint.seriesIndex !== hit.seriesIndex || activePoint.pointIndex !== hit.pointIndex) {
4049
4216
  clearHighlights();
4050
- highlightPoint(hit.seriesIndex, hit.pointIndex, svgX, svgY);
4217
+ highlightPoint(hit);
4051
4218
  activePoint = { seriesIndex: hit.seriesIndex, pointIndex: hit.pointIndex };
4052
4219
  bus.emit("point:enter", { point, event: e });
4053
4220
  onHover?.(point, e);
@@ -4113,41 +4280,24 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4113
4280
  }));
4114
4281
  linkedUnsubs.push(unsub1, unsub2);
4115
4282
  }
4116
- function highlightPoint(seriesIndex, pointIndex, hitX, hitY) {
4117
- const overlay = getOverlay();
4118
- if (!overlay) return;
4119
- if (isCanvas) {
4120
- if (hitX == null || hitY == null) return;
4121
- syncOverlay();
4122
- const data = getData();
4123
- const series = data.series[seriesIndex];
4124
- if (!series) return;
4125
- const glow = document.createElementNS(SVG_NS, "circle");
4126
- glow.setAttribute("cx", String(hitX));
4127
- glow.setAttribute("cy", String(hitY));
4128
- glow.setAttribute("r", "12");
4129
- glow.setAttribute("fill", "none");
4130
- glow.setAttribute("stroke", series.color);
4131
- glow.setAttribute("stroke-width", "2");
4132
- glow.setAttribute("opacity", "0.3");
4133
- glow.setAttribute("class", "chartts-canvas-highlight");
4134
- glow.style.pointerEvents = "none";
4135
- overlay.appendChild(glow);
4136
- const dot = document.createElementNS(SVG_NS, "circle");
4137
- dot.setAttribute("cx", String(hitX));
4138
- dot.setAttribute("cy", String(hitY));
4139
- dot.setAttribute("r", "5");
4140
- dot.setAttribute("fill", series.color);
4141
- dot.setAttribute("stroke", "#fff");
4142
- dot.setAttribute("stroke-width", "2");
4143
- dot.setAttribute("class", "chartts-canvas-highlight");
4144
- dot.style.pointerEvents = "none";
4145
- 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
+ });
4146
4295
  return;
4147
4296
  }
4148
4297
  const svg = targetEl;
4298
+ if (!svg) return;
4149
4299
  const target = svg.querySelector(
4150
- `[data-series="${seriesIndex}"][data-index="${pointIndex}"]`
4300
+ `[data-series="${hit.seriesIndex}"][data-index="${hit.pointIndex}"]`
4151
4301
  );
4152
4302
  if (target?.classList.contains("chartts-point")) {
4153
4303
  target.style.transition = "r 0.15s ease, stroke-width 0.15s ease";
@@ -4163,8 +4313,12 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4163
4313
  });
4164
4314
  }
4165
4315
  function clearHighlights() {
4166
- if (isCanvas) {
4167
- 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());
4168
4322
  return;
4169
4323
  }
4170
4324
  const svg = targetEl;
@@ -4186,12 +4340,11 @@ function createInteractionLayer(chartType, getContext, getData, bus, tooltipConf
4186
4340
  if (isCanvas) {
4187
4341
  containerEl.style.position = "relative";
4188
4342
  overlayEl = document.createElementNS(SVG_NS, "svg");
4189
- const w = svgEl.clientWidth || parseInt(svgEl.style.width) || 400;
4190
- 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;
4191
4346
  overlayEl.setAttribute("viewBox", `0 0 ${w} ${h}`);
4192
- overlayEl.setAttribute("width", String(w));
4193
- overlayEl.setAttribute("height", String(h));
4194
- 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;`;
4195
4348
  containerEl.appendChild(overlayEl);
4196
4349
  }
4197
4350
  svgEl.style.cursor = "crosshair";
@@ -4342,6 +4495,7 @@ function createChart(target, chartType, data, options = {}) {
4342
4495
  let lastPrepared = null;
4343
4496
  let chartState = "ready";
4344
4497
  let stateMessage;
4498
+ let lastRenderedNodes = [];
4345
4499
  let resolvedRenderer = currentOptions.renderer;
4346
4500
  if (resolvedRenderer === "auto") {
4347
4501
  const totalPoints = data.series.reduce((sum, s) => sum + s.values.length, 0);
@@ -4349,7 +4503,7 @@ function createChart(target, chartType, data, options = {}) {
4349
4503
  }
4350
4504
  const useCanvas = resolvedRenderer === "canvas" || resolvedRenderer === "webgl";
4351
4505
  const bus = createEventBus();
4352
- const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(currentTheme) : createSVGRenderer();
4506
+ const renderer = resolvedRenderer === "webgl" ? createWebGLRenderer(currentTheme) : resolvedRenderer === "canvas" ? createCanvasRenderer(() => currentTheme) : createSVGRenderer();
4353
4507
  const root = renderer.createRoot(container, width, height, {
4354
4508
  class: `chartts ${currentOptions.className}`.trim(),
4355
4509
  role: "img",
@@ -4371,7 +4525,8 @@ function createChart(target, chartType, data, options = {}) {
4371
4525
  currentTheme,
4372
4526
  currentOptions.onClick,
4373
4527
  currentOptions.onHover,
4374
- interactionState
4528
+ interactionState,
4529
+ useCanvas ? { renderer, root, getLastNodes: () => lastRenderedNodes } : void 0
4375
4530
  );
4376
4531
  if (useCanvas) {
4377
4532
  interaction.attach(root.element, container);
@@ -4380,10 +4535,11 @@ function createChart(target, chartType, data, options = {}) {
4380
4535
  }
4381
4536
  let zoomPan = null;
4382
4537
  if (currentOptions.zoom || currentOptions.pan) {
4538
+ const needs2DZoom = NO_AXES_TYPES.has(chartType.type);
4383
4539
  zoomPan = createZoomPan(
4384
4540
  {
4385
4541
  x: true,
4386
- y: false,
4542
+ y: needs2DZoom,
4387
4543
  wheel: currentOptions.zoom,
4388
4544
  drag: currentOptions.pan,
4389
4545
  pinch: currentOptions.zoom
@@ -4427,11 +4583,18 @@ function createChart(target, chartType, data, options = {}) {
4427
4583
  });
4428
4584
  const stopThemeWatch = currentOptions.theme === "auto" ? watchScheme(() => {
4429
4585
  currentTheme = resolveTheme("auto");
4430
- applyTheme(root.element, currentTheme);
4586
+ if (useCanvas) {
4587
+ container.style.background = currentTheme.background;
4588
+ } else {
4589
+ applyTheme(root.element, currentTheme);
4590
+ }
4431
4591
  render();
4432
4592
  }) : () => {
4433
4593
  };
4434
4594
  render();
4595
+ requestAnimationFrame(() => {
4596
+ root.element.classList.add("chartts-skip-anim");
4597
+ });
4435
4598
  function render() {
4436
4599
  if (useCanvas) {
4437
4600
  const canvas = root.element;
@@ -4487,7 +4650,8 @@ function createChart(target, chartType, data, options = {}) {
4487
4650
  area,
4488
4651
  xScale,
4489
4652
  yScale,
4490
- theme: currentTheme
4653
+ theme: currentTheme,
4654
+ zoomPan: zoomPan ? zoomPan.getState() : void 0
4491
4655
  };
4492
4656
  lastCtx = ctx;
4493
4657
  const clipId = "chartts-clip";
@@ -4506,6 +4670,7 @@ function createChart(target, chartType, data, options = {}) {
4506
4670
  const legend = renderLegend(prepared, area, currentOptions, currentTheme);
4507
4671
  if (legend) nodes.push(legend);
4508
4672
  }
4673
+ lastRenderedNodes = nodes;
4509
4674
  renderer.render(root, nodes);
4510
4675
  if (!useCanvas) {
4511
4676
  const NS2 = "http://www.w3.org/2000/svg";
@@ -4888,5 +5053,5 @@ exports.rect = rect;
4888
5053
  exports.renderToString = renderToString;
4889
5054
  exports.resolveTheme = resolveTheme;
4890
5055
  exports.text = text;
4891
- //# sourceMappingURL=chunk-XHQWWR5M.cjs.map
4892
- //# sourceMappingURL=chunk-XHQWWR5M.cjs.map
5056
+ //# sourceMappingURL=chunk-UMIJYYF3.cjs.map
5057
+ //# sourceMappingURL=chunk-UMIJYYF3.cjs.map