@primeui/chart-core 0.0.1-alpha.1 → 1.0.0-beta.1

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 (244) hide show
  1. package/dist/animations/index.d.mts +1 -1
  2. package/dist/animations/index.mjs +19 -18
  3. package/dist/{annotation.utils-Bm0lOO1o.d.mts → annotation.utils-D-7ijAWO.d.mts} +22 -1
  4. package/dist/cartesian/index.d.mts +3 -2
  5. package/dist/cartesian/index.mjs +96 -93
  6. package/dist/{chunk-WPFUV7K3.mjs → chunks/chunk-2LLTN7T4.mjs} +23 -14
  7. package/dist/{chunk-RO4N6YFS.mjs → chunks/chunk-2T226WJI.mjs} +31 -14
  8. package/dist/{chunk-A6ZQZFL2.mjs → chunks/chunk-3CUSPV47.mjs} +12 -9
  9. package/dist/{chunk-3FFJEX4A.mjs → chunks/chunk-3QQLETCJ.mjs} +13 -12
  10. package/dist/{chunk-JWFBOPM6.mjs → chunks/chunk-4N2XIMAB.mjs} +2 -2
  11. package/dist/{chunk-LVMDQ4OJ.mjs → chunks/chunk-4S3FOFCN.mjs} +2 -2
  12. package/dist/{chunk-XTVE4P3L.mjs → chunks/chunk-56MASQS2.mjs} +6 -2
  13. package/dist/{chunk-DTWTCFRG.mjs → chunks/chunk-5EQSFUBA.mjs} +41 -13
  14. package/dist/{chunk-KQIFO5I3.mjs → chunks/chunk-5QSTMSPW.mjs} +15 -10
  15. package/dist/{chunk-NKUYIWAP.mjs → chunks/chunk-6LUIVTNV.mjs} +6 -6
  16. package/dist/chunks/chunk-6MAO6I3E.mjs +6 -0
  17. package/dist/{chunk-WFVOQ2QZ.mjs → chunks/chunk-77K3DEKL.mjs} +2 -2
  18. package/dist/{chunk-4C6EVJ54.mjs → chunks/chunk-7I2SAKHL.mjs} +7 -44
  19. package/dist/{chunk-6HSEJLSR.mjs → chunks/chunk-7I2SNJ2X.mjs} +35 -18
  20. package/dist/{chunk-66T4MRC5.mjs → chunks/chunk-7IKKWWRT.mjs} +4 -6
  21. package/dist/{chunk-BKP26M4K.mjs → chunks/chunk-7LZWQVTL.mjs} +43 -24
  22. package/dist/{chunk-NHRK5KU2.mjs → chunks/chunk-A5YBHYIS.mjs} +25 -17
  23. package/dist/{chunk-ZT2Z7ERM.mjs → chunks/chunk-AC5EAWIP.mjs} +12 -9
  24. package/dist/{chunk-ZTL2FQEW.mjs → chunks/chunk-AETETRB4.mjs} +24 -9
  25. package/dist/{chunk-NPDZLYIF.mjs → chunks/chunk-AJ24XDEK.mjs} +2 -2
  26. package/dist/chunks/chunk-ARVMVGWS.mjs +40 -0
  27. package/dist/{chunk-3IYSJ2U7.mjs → chunks/chunk-AYEAEAOV.mjs} +10 -7
  28. package/dist/{chunk-M7B3JF43.mjs → chunks/chunk-AZPJMIZE.mjs} +4 -3
  29. package/dist/{chunk-O2X6FF45.mjs → chunks/chunk-BDCNBS6W.mjs} +194 -168
  30. package/dist/{chunk-55Y3WI6S.mjs → chunks/chunk-BR4PSSPU.mjs} +6 -6
  31. package/dist/{chunk-DN6AXQYZ.mjs → chunks/chunk-BYAAMQBN.mjs} +46 -41
  32. package/dist/{chunk-TA4MVAEX.mjs → chunks/chunk-CFA2SUBF.mjs} +32 -24
  33. package/dist/{chunk-WH3C3Y7P.mjs → chunks/chunk-CKQ4DNNJ.mjs} +7 -18
  34. package/dist/chunks/chunk-DIJFKY6H.mjs +21 -0
  35. package/dist/{chunk-AUF4CHDP.mjs → chunks/chunk-DJOHDKTP.mjs} +18 -11
  36. package/dist/{chunk-3Z62EUJN.mjs → chunks/chunk-DKWZKYHF.mjs} +5 -5
  37. package/dist/{chunk-PLSDU3C2.mjs → chunks/chunk-DOC4YOCD.mjs} +63 -37
  38. package/dist/{chunk-Y3L3D4GQ.mjs → chunks/chunk-DORUY7GR.mjs} +69 -34
  39. package/dist/chunks/chunk-DWBJKYLH.mjs +238 -0
  40. package/dist/{chunk-XQQCGFYB.mjs → chunks/chunk-EQLCJTM4.mjs} +1 -1
  41. package/dist/{chunk-VGLSBZDN.mjs → chunks/chunk-F2E2QCZM.mjs} +1 -1
  42. package/dist/{chunk-BZN2QHGP.mjs → chunks/chunk-F6AGZQDA.mjs} +4 -72
  43. package/dist/{chunk-ILUWFYGY.mjs → chunks/chunk-FNMLVZOA.mjs} +8 -8
  44. package/dist/{chunk-SXHVDJGF.mjs → chunks/chunk-FQAFGPW6.mjs} +6 -6
  45. package/dist/{chunk-N3TIT3OH.mjs → chunks/chunk-FSPE3M5E.mjs} +66 -43
  46. package/dist/{chunk-KNDZP446.mjs → chunks/chunk-FSWYYRPX.mjs} +5 -5
  47. package/dist/{chunk-KP2TWD4Z.mjs → chunks/chunk-FWNWV3H7.mjs} +1 -1
  48. package/dist/chunks/chunk-G3DIMENH.mjs +63 -0
  49. package/dist/{chunk-QQBXUDM4.mjs → chunks/chunk-G3DYNMWT.mjs} +20 -16
  50. package/dist/{chunk-J65DBT4R.mjs → chunks/chunk-GA6YZQYT.mjs} +3 -3
  51. package/dist/chunks/chunk-GAQLLQUM.mjs +20 -0
  52. package/dist/{chunk-TAHCOZHF.mjs → chunks/chunk-GN7VQCCH.mjs} +27 -30
  53. package/dist/{chunk-R6Y3R7EW.mjs → chunks/chunk-GOOBVFFH.mjs} +1 -1
  54. package/dist/chunks/chunk-GSW5OBEG.mjs +233 -0
  55. package/dist/{chunk-22ST6YPP.mjs → chunks/chunk-GTX6MLTG.mjs} +9 -9
  56. package/dist/{chunk-XUAASRXW.mjs → chunks/chunk-GWHRTGGC.mjs} +35 -27
  57. package/dist/{chunk-TQ6S34QZ.mjs → chunks/chunk-GXCLRRE5.mjs} +6 -6
  58. package/dist/{chunk-DP2IZNN3.mjs → chunks/chunk-HHBFQ6AI.mjs} +4 -3
  59. package/dist/{chunk-3OZLP4I4.mjs → chunks/chunk-HWT6UEYE.mjs} +14 -10
  60. package/dist/{chunk-X7T34OLW.mjs → chunks/chunk-I25SSZE3.mjs} +3 -3
  61. package/dist/{chunk-OGJ6IIBW.mjs → chunks/chunk-IFJPDARC.mjs} +21 -9
  62. package/dist/{chunk-CINXJIRR.mjs → chunks/chunk-ISU27QL2.mjs} +66 -6
  63. package/dist/{chunk-OXTFAWSK.mjs → chunks/chunk-J2WHJ73Y.mjs} +7 -2
  64. package/dist/{chunk-VN7CKCSE.mjs → chunks/chunk-JS47MSB2.mjs} +9 -1
  65. package/dist/{chunk-WYLILAOO.mjs → chunks/chunk-K44SD67H.mjs} +16 -7
  66. package/dist/{chunk-RQ3CKQOX.mjs → chunks/chunk-K7AGQTVK.mjs} +63 -3
  67. package/dist/{chunk-VVI3OBPJ.mjs → chunks/chunk-KCSMOAZO.mjs} +7 -9
  68. package/dist/{chunk-ARRGOEFX.mjs → chunks/chunk-L6GXEQOO.mjs} +7 -7
  69. package/dist/{chunk-7QQ6ETB4.mjs → chunks/chunk-LBNP5PJA.mjs} +14 -12
  70. package/dist/{chunk-AHYIS6EB.mjs → chunks/chunk-LC2ZEZWP.mjs} +7 -7
  71. package/dist/{chunk-WCG35U6M.mjs → chunks/chunk-LJ6BXF3H.mjs} +31 -23
  72. package/dist/{chunk-3WEMHXZI.mjs → chunks/chunk-LTQH3LQJ.mjs} +2 -8
  73. package/dist/{chunk-QWQ6HY4I.mjs → chunks/chunk-O4BTKF5R.mjs} +9 -8
  74. package/dist/{chunk-WY4AURRE.mjs → chunks/chunk-P2Q4DYOS.mjs} +240 -83
  75. package/dist/{chunk-KVDEROP6.mjs → chunks/chunk-P563L7WL.mjs} +1 -1
  76. package/dist/{chunk-SDBPQ5CF.mjs → chunks/chunk-PJLFNUOW.mjs} +45 -30
  77. package/dist/{chunk-MTGMXRNF.mjs → chunks/chunk-PSDRVQSK.mjs} +7 -7
  78. package/dist/{chunk-6STOLMCA.mjs → chunks/chunk-QCBESCLG.mjs} +13 -12
  79. package/dist/{chunk-PRDVPOZX.mjs → chunks/chunk-QIYJUZ7I.mjs} +7 -2
  80. package/dist/{chunk-UPRXABX5.mjs → chunks/chunk-RH3OQ2VX.mjs} +6 -6
  81. package/dist/{chunk-QS76E3TD.mjs → chunks/chunk-RI32WIDX.mjs} +2 -2
  82. package/dist/{chunk-OWW3K55O.mjs → chunks/chunk-RIAPS5AW.mjs} +49 -7
  83. package/dist/{chunk-ERVQB2VZ.mjs → chunks/chunk-RJ3ZOZTS.mjs} +4 -4
  84. package/dist/{chunk-WFTX4AQJ.mjs → chunks/chunk-RKNL7UWZ.mjs} +19 -7
  85. package/dist/chunks/chunk-RLS3GMJ6.mjs +8 -0
  86. package/dist/{chunk-WRULPWHD.mjs → chunks/chunk-RVTEIKW5.mjs} +5 -5
  87. package/dist/{chunk-FHTC2YDB.mjs → chunks/chunk-SVASYTK5.mjs} +70 -5
  88. package/dist/{chunk-ARB5T6MP.mjs → chunks/chunk-SWVOBJLG.mjs} +3 -100
  89. package/dist/{chunk-OHGCZZPZ.mjs → chunks/chunk-SY7LVXIW.mjs} +53 -27
  90. package/dist/{chunk-JGOVWSKH.mjs → chunks/chunk-TW3KLJVO.mjs} +37 -12
  91. package/dist/{chunk-RBLZRT5K.mjs → chunks/chunk-UF2TPGQB.mjs} +103 -15
  92. package/dist/{chunk-X4D7FKUS.mjs → chunks/chunk-UZWWYKL7.mjs} +2 -2
  93. package/dist/{chunk-LKC7MZKK.mjs → chunks/chunk-XECVYJE2.mjs} +16 -8
  94. package/dist/chunks/chunk-XMSAUIVL.mjs +1 -0
  95. package/dist/{chunk-J4RI2C2G.mjs → chunks/chunk-XPZTRMU2.mjs} +6 -6
  96. package/dist/{chunk-BABQKA6K.mjs → chunks/chunk-XXJRGDKE.mjs} +3 -3
  97. package/dist/{chunk-SALTGZFR.mjs → chunks/chunk-YVDVKLPR.mjs} +10 -9
  98. package/dist/circular/arc/index.mjs +3 -3
  99. package/dist/circular/index.d.mts +1 -1
  100. package/dist/circular/index.mjs +14 -13
  101. package/dist/controllers/index.mjs +113 -110
  102. package/dist/{datalabel.utils-CkjGeB8S.d.mts → datalabel.utils-CNRKHy7j.d.mts} +10 -1
  103. package/dist/{decimation.utils-CcvJVhI4.d.mts → decimation.utils-C0xpslz_.d.mts} +33 -2
  104. package/dist/geometry-BVWJedvw.d.mts +53 -0
  105. package/dist/index.d.mts +16 -17
  106. package/dist/index.mjs +113 -110
  107. package/dist/luminance-TvUgaQ91.d.mts +57 -0
  108. package/dist/orchestrator/index.d.mts +2 -2
  109. package/dist/orchestrator/index.mjs +36 -33
  110. package/dist/plugins/index.mjs +1 -1
  111. package/dist/{property-animations-D433wXzz.d.mts → property-animations-CI0zyp6V.d.mts} +6 -20
  112. package/dist/radial/index.mjs +40 -37
  113. package/dist/renderers/axis/index.mjs +9 -8
  114. package/dist/renderers/index.d.mts +8 -9
  115. package/dist/renderers/index.mjs +78 -75
  116. package/dist/renderers/navigator/index.d.mts +1 -1
  117. package/dist/renderers/navigator/index.mjs +10 -8
  118. package/dist/{ring.utils-DXvrxMkU.d.mts → ring.utils-aHt9Nqum.d.mts} +2 -7
  119. package/dist/{scale-KFv30jqZ.d.mts → scale-CFkPlyUe.d.mts} +2 -2
  120. package/dist/{scales-Drf8AIhL.d.mts → scales-BZzjlR4U.d.mts} +15 -1
  121. package/dist/series/bar/canvas/index.mjs +11 -10
  122. package/dist/series/bar/controller/index.d.mts +17 -0
  123. package/dist/series/bar/controller/index.mjs +47 -44
  124. package/dist/series/bar/controller-canvas/index.mjs +47 -44
  125. package/dist/series/bar/controller-svg/index.mjs +47 -44
  126. package/dist/series/bar/index.d.mts +2 -2
  127. package/dist/series/bar/index.mjs +16 -13
  128. package/dist/series/bar/svg/index.mjs +14 -11
  129. package/dist/series/candlestick/canvas/index.mjs +8 -8
  130. package/dist/series/candlestick/controller/index.d.mts +2 -0
  131. package/dist/series/candlestick/controller/index.mjs +43 -40
  132. package/dist/series/candlestick/controller-canvas/index.mjs +43 -40
  133. package/dist/series/candlestick/controller-svg/index.mjs +43 -40
  134. package/dist/series/candlestick/index.mjs +11 -10
  135. package/dist/series/candlestick/svg/index.mjs +8 -8
  136. package/dist/series/heatmap/canvas/index.mjs +9 -9
  137. package/dist/series/heatmap/controller/index.d.mts +9 -0
  138. package/dist/series/heatmap/controller/index.mjs +26 -23
  139. package/dist/series/heatmap/controller-canvas/index.mjs +26 -23
  140. package/dist/series/heatmap/controller-svg/index.mjs +26 -23
  141. package/dist/series/heatmap/index.mjs +14 -13
  142. package/dist/series/heatmap/svg/index.mjs +11 -10
  143. package/dist/series/line/canvas/index.mjs +9 -9
  144. package/dist/series/line/controller/index.d.mts +7 -0
  145. package/dist/series/line/controller/index.mjs +51 -47
  146. package/dist/series/line/controller-canvas/index.mjs +53 -49
  147. package/dist/series/line/controller-svg/index.mjs +53 -49
  148. package/dist/series/line/index.d.mts +1 -1
  149. package/dist/series/line/index.mjs +17 -13
  150. package/dist/series/line/svg/index.mjs +12 -9
  151. package/dist/series/pie/canvas/index.d.mts +12 -4
  152. package/dist/series/pie/canvas/index.mjs +15 -10
  153. package/dist/series/pie/controller/index.mjs +113 -110
  154. package/dist/series/pie/controller-canvas/index.mjs +113 -110
  155. package/dist/series/pie/controller-svg/index.mjs +113 -110
  156. package/dist/series/pie/index.d.mts +3 -56
  157. package/dist/series/pie/index.mjs +11 -15
  158. package/dist/series/pie/svg/index.d.mts +18 -4
  159. package/dist/series/pie/svg/index.mjs +10 -11
  160. package/dist/series/polar/canvas/index.mjs +7 -7
  161. package/dist/series/polar/controller/index.d.mts +9 -0
  162. package/dist/series/polar/controller/index.mjs +49 -46
  163. package/dist/series/polar/controller-canvas/index.mjs +50 -47
  164. package/dist/series/polar/controller-svg/index.mjs +50 -47
  165. package/dist/series/polar/index.mjs +19 -16
  166. package/dist/series/polar/svg/index.mjs +11 -8
  167. package/dist/series/radar/canvas/index.mjs +8 -8
  168. package/dist/series/radar/controller/index.d.mts +11 -0
  169. package/dist/series/radar/controller/index.mjs +46 -43
  170. package/dist/series/radar/controller-canvas/index.mjs +49 -46
  171. package/dist/series/radar/controller-svg/index.mjs +49 -46
  172. package/dist/series/radar/index.d.mts +2 -2
  173. package/dist/series/radar/index.mjs +16 -13
  174. package/dist/series/radar/svg/index.mjs +12 -9
  175. package/dist/series/scatter/canvas/index.mjs +13 -11
  176. package/dist/series/scatter/controller/index.mjs +48 -44
  177. package/dist/series/scatter/controller-canvas/index.mjs +50 -46
  178. package/dist/series/scatter/controller-svg/index.mjs +50 -46
  179. package/dist/series/scatter/index.d.mts +1 -1
  180. package/dist/series/scatter/index.mjs +18 -14
  181. package/dist/series/scatter/svg/index.mjs +16 -12
  182. package/dist/series/treemap/canvas/index.mjs +10 -10
  183. package/dist/series/treemap/controller/index.mjs +23 -20
  184. package/dist/series/treemap/controller-canvas/index.mjs +23 -20
  185. package/dist/series/treemap/controller-svg/index.mjs +23 -20
  186. package/dist/series/treemap/index.d.mts +17 -9
  187. package/dist/series/treemap/index.mjs +12 -12
  188. package/dist/series/treemap/svg/index.mjs +9 -9
  189. package/dist/{stacking-CChuAcLN.d.mts → stacking-Dz1OBhzm.d.mts} +1 -1
  190. package/dist/sync/index.mjs +6 -5
  191. package/dist/{tooltip.renderer-D5wpSlBa.d.mts → tooltip.renderer-DZfza6xV.d.mts} +3 -3
  192. package/dist/utils/color/index.d.mts +11 -53
  193. package/dist/utils/color/index.mjs +4 -4
  194. package/dist/utils/data/index.d.mts +2 -2
  195. package/dist/utils/data/index.mjs +7 -7
  196. package/dist/utils/export/index.mjs +6 -6
  197. package/dist/utils/index.d.mts +7 -7
  198. package/dist/utils/index.mjs +32 -29
  199. package/dist/utils/interaction/index.d.mts +1 -31
  200. package/dist/utils/interaction/index.mjs +12 -9
  201. package/dist/utils/layout/index.mjs +10 -10
  202. package/dist/utils/math/index.d.mts +1 -1
  203. package/dist/utils/math/index.mjs +1 -1
  204. package/dist/utils/render/index.mjs +3 -3
  205. package/dist/utils/specialized/index.d.mts +1 -1
  206. package/dist/utils/specialized/index.mjs +13 -15
  207. package/dist/utils/text/index.d.mts +1 -1
  208. package/dist/utils/text/index.mjs +9 -8
  209. package/dist/utils/theme/index.d.mts +6 -6
  210. package/dist/utils/theme/index.mjs +5 -5
  211. package/dist/utils/zoom/index.mjs +3 -3
  212. package/package.json +3 -3
  213. package/dist/canvas-D4vigq47.d.mts +0 -34
  214. package/dist/chunk-2QRS4YQ5.mjs +0 -18
  215. package/dist/chunk-53HW45JB.mjs +0 -102
  216. package/dist/chunk-B4FTADAZ.mjs +0 -561
  217. package/dist/chunk-IXOWSEHO.mjs +0 -114
  218. package/dist/chunk-VWF57TS3.mjs +0 -62
  219. package/dist/chunk-XIHBK5D3.mjs +0 -68
  220. package/dist/renderers/circular/index.d.mts +0 -13
  221. package/dist/renderers/circular/index.mjs +0 -13
  222. package/dist/{chunk-WA3OVISZ.mjs → chunks/chunk-4KQZXAHZ.mjs} +0 -0
  223. package/dist/{chunk-CHW4RKY3.mjs → chunks/chunk-576P5DBH.mjs} +0 -0
  224. package/dist/{chunk-EDAKJLNA.mjs → chunks/chunk-5WFF272M.mjs} +0 -0
  225. package/dist/{chunk-ADKLH73T.mjs → chunks/chunk-6XZ6U7GL.mjs} +0 -0
  226. package/dist/{chunk-2QK2KOBN.mjs → chunks/chunk-AOTUNMVD.mjs} +0 -0
  227. package/dist/{chunk-AGU3NG6D.mjs → chunks/chunk-AWMO5TS3.mjs} +0 -0
  228. package/dist/{chunk-SSLTFJ3U.mjs → chunks/chunk-BF7RP4A3.mjs} +132 -132
  229. /package/dist/{chunk-BETFQBM2.mjs → chunks/chunk-FML3QEEI.mjs} +0 -0
  230. /package/dist/{chunk-FFMT6OCO.mjs → chunks/chunk-FRVJH7ZG.mjs} +0 -0
  231. /package/dist/{chunk-HDFGCN2F.mjs → chunks/chunk-HBTCRORW.mjs} +0 -0
  232. /package/dist/{chunk-7CMVDIOU.mjs → chunks/chunk-HXDLOOCS.mjs} +0 -0
  233. /package/dist/{chunk-5JCI2DEB.mjs → chunks/chunk-JQVX6XFW.mjs} +0 -0
  234. /package/dist/{chunk-C36VWQ7A.mjs → chunks/chunk-KMKULH54.mjs} +0 -0
  235. /package/dist/{chunk-Q6PPVIHU.mjs → chunks/chunk-MT3OLVZC.mjs} +0 -0
  236. /package/dist/{chunk-WS64BZXT.mjs → chunks/chunk-OWVSSQZ4.mjs} +0 -0
  237. /package/dist/{chunk-EAMUNLRU.mjs → chunks/chunk-P2LG7GDM.mjs} +0 -0
  238. /package/dist/{chunk-IEGLX7VL.mjs → chunks/chunk-PXUXZADY.mjs} +0 -0
  239. /package/dist/{chunk-SANZPAJ4.mjs → chunks/chunk-SFUDXJKO.mjs} +0 -0
  240. /package/dist/{chunk-ZQFK6CAE.mjs → chunks/chunk-SJNUJM54.mjs} +0 -0
  241. /package/dist/{chunk-AP3UYWYT.mjs → chunks/chunk-SPU6BO3B.mjs} +0 -0
  242. /package/dist/{chunk-YBJ56XJS.mjs → chunks/chunk-T2UAEMHY.mjs} +0 -0
  243. /package/dist/{chunk-JO7VACY2.mjs → chunks/chunk-VADXCPQ4.mjs} +0 -0
  244. /package/dist/{chunk-FRST55HY.mjs → chunks/chunk-ZZCVDIU5.mjs} +0 -0
@@ -1,9 +1,10 @@
1
- import { createDrawImage } from './chunk-7CMVDIOU.mjs';
2
- import { measureFontMetrics, measureTextWidth } from './chunk-XTVE4P3L.mjs';
3
- import { DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_POINT_RADIUS_MULTIPLIER, DEFAULT_REFERENCE_LINE_STROKE, DEFAULT_REFERENCE_LINE_WIDTH, DEFAULT_REFERENCE_LABEL_OFFSET, DEFAULT_REFERENCE_BAND_FILL, DEFAULT_REFERENCE_BAND_OPACITY, resolveFontFamily, resolveFontSize, DEFAULT_REFERENCE_LABEL_FONT_SIZE, DEFAULT_REFERENCE_LABEL_FONT_WEIGHT } from './chunk-NKUYIWAP.mjs';
4
- import { resolveAccessor, makeItemContext, resolveSwatchColor, isGradientColor } from './chunk-O2X6FF45.mjs';
5
- import { createSvgGroup, appendChild, createSvgRect, createSvgText, createSvgLine, withCanvasState } from './chunk-SSLTFJ3U.mjs';
6
- import { shallowEqual } from './chunk-RQ3CKQOX.mjs';
1
+ import { createDrawImage } from './chunk-HXDLOOCS.mjs';
2
+ import { safeRenderProp } from './chunk-DIJFKY6H.mjs';
3
+ import { measureFontMetrics, measureTextWidth } from './chunk-56MASQS2.mjs';
4
+ import { DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_POINT_RADIUS_MULTIPLIER, DEFAULT_REFERENCE_LINE_STROKE, DEFAULT_REFERENCE_LINE_WIDTH, DEFAULT_REFERENCE_LABEL_OFFSET, DEFAULT_REFERENCE_BAND_FILL, DEFAULT_REFERENCE_BAND_OPACITY, resolveFontFamily, resolveFontSize, DEFAULT_REFERENCE_LABEL_FONT_SIZE, DEFAULT_REFERENCE_LABEL_FONT_WEIGHT } from './chunk-6LUIVTNV.mjs';
5
+ import { buildColorIndexMap, resolveAccessor, makeItemContext, resolveSwatchColor, isGradientColor } from './chunk-BDCNBS6W.mjs';
6
+ import { createSvgGroup, appendChild, createSvgRect, createSvgText, createSvgLine, withCanvasState } from './chunk-BF7RP4A3.mjs';
7
+ import { shallowEqual } from './chunk-K7AGQTVK.mjs';
7
8
 
8
9
  // src/utils/customRender.utils.ts
9
10
  function renderCustomMarkersCanvas(ctx, entries, hover, options) {
@@ -35,7 +36,7 @@ function renderCustomMarkersCanvas(ctx, entries, hover, options) {
35
36
  ctx.save();
36
37
  ctx.translate(pt.x, pt.y);
37
38
  ctx.globalAlpha = opacity;
38
- entry.renderMarker(context);
39
+ safeRenderProp(() => entry.renderMarker(context), "marker");
39
40
  ctx.restore();
40
41
  }
41
42
  }
@@ -106,19 +107,21 @@ function resolveLegendGradient(props, index, item, extras) {
106
107
  function buildLegendItems(options) {
107
108
  const { datasets, datasetVisibility, hiddenItems, isCartesian, hasRadarDatasets, hasPolarDatasets, hasStackedPies, theme } = options;
108
109
  const sortedDatasets = Array.from(datasets.entries()).sort(([, a], [, b]) => a.order - b.order);
110
+ const colorIndexById = buildColorIndexMap(datasets);
109
111
  if (isCartesian || hasRadarDatasets || hasPolarDatasets) {
110
112
  const items2 = [];
111
113
  for (const [datasetId, dataset] of sortedDatasets) {
112
114
  const visible = datasetVisibility.get(datasetId) ?? true;
113
115
  const props = dataset.props;
114
116
  const firstItem = props.data?.[0];
115
- const color = resolveLegendColor(props, dataset.order, firstItem, theme);
117
+ const colorIndex = colorIndexById.get(datasetId) ?? dataset.order;
118
+ const color = resolveLegendColor(props, colorIndex, firstItem, theme);
116
119
  items2.push({
117
120
  type: "dataset",
118
121
  datasetId,
119
122
  label: props.name ?? datasetId,
120
123
  color,
121
- colorGradient: resolveLegendGradient(props, dataset.order, firstItem),
124
+ colorGradient: resolveLegendGradient(props, colorIndex, firstItem),
122
125
  visible
123
126
  });
124
127
  }
@@ -1,9 +1,10 @@
1
- import { hasCollisions } from './chunk-R6Y3R7EW.mjs';
2
- import { measureTextWidth, measureFontMetrics, svgAnchorToCanvasAlign } from './chunk-XTVE4P3L.mjs';
3
- import { DEFAULT_TITLE_LABEL_GAP, resolveFontSize, DEFAULT_TITLE_FONT_SIZE, resolveFontFamily, resolveAxisColor, DEFAULT_TICK_LENGTH, DEFAULT_LABEL_PADDING, DEFAULT_TICK_FONT_SIZE } from './chunk-NKUYIWAP.mjs';
4
- import { defaultLightTheme } from './chunk-O2X6FF45.mjs';
5
- import { createSvgGroup, appendChild, createSvgRect, createSvgLine, setAttr, createSvgText, withCanvasState } from './chunk-SSLTFJ3U.mjs';
6
- import { crisp, detectTickUnit, isPeriodBoundary, formatTimeTick, generateIntervalTicks } from './chunk-RQ3CKQOX.mjs';
1
+ import { hasCollisions } from './chunk-GOOBVFFH.mjs';
2
+ import { safeFormat } from './chunk-DIJFKY6H.mjs';
3
+ import { measureTextWidth, measureFontMetrics, svgAnchorToCanvasAlign } from './chunk-56MASQS2.mjs';
4
+ import { DEFAULT_TITLE_LABEL_GAP, resolveFontSize, DEFAULT_TITLE_FONT_SIZE, resolveFontFamily, resolveAxisColor, DEFAULT_TICK_LENGTH, DEFAULT_LABEL_PADDING, DEFAULT_TICK_FONT_SIZE } from './chunk-6LUIVTNV.mjs';
5
+ import { defaultLightTheme } from './chunk-BDCNBS6W.mjs';
6
+ import { createSvgGroup, appendChild, createSvgRect, createSvgLine, setAttr, createSvgText, withCanvasState } from './chunk-BF7RP4A3.mjs';
7
+ import { crisp, detectTickUnit, isPeriodBoundary, formatTimeTick, generateIntervalTicks } from './chunk-K7AGQTVK.mjs';
7
8
 
8
9
  // src/renderers/axis/geometry.ticks.ts
9
10
  function resolveTickStyle(style, axisColor, globalFont) {
@@ -140,7 +141,11 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
140
141
  const maxTicks = Math.max(1, Math.floor(axisLength / userMinGridDistance));
141
142
  step = Math.max(1, Math.ceil(filtered.length / maxTicks));
142
143
  } else if (isHorizontal) {
143
- const sampleLabel = formatter ? typeof formatter === "function" ? formatter(filtered[0].value, 0) : String(filtered[0].value) : formatValue(filtered[0].value, locale);
144
+ const sampleLabel = formatter ? typeof formatter === "function" ? safeFormat(
145
+ () => formatter(filtered[0].value, 0),
146
+ () => formatValue(filtered[0].value, locale),
147
+ "tick"
148
+ ) : String(filtered[0].value) : formatValue(filtered[0].value, locale);
144
149
  const sampleWidth = measureTextWidth(sampleLabel, style.fontSize, style.fontWeight, style.fontFamily);
145
150
  const textHeight = style.fontSize * 1.2;
146
151
  const footprint0 = sampleWidth;
@@ -149,7 +154,13 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
149
154
  const step0 = Math.max(1, Math.ceil(filtered.length / maxTicks0));
150
155
  if (step0 === 1) {
151
156
  if (manualRotation === 0 && (baseProps.autoRotate ?? true)) {
152
- const preLabels = filtered.map((v, idx) => formatter ? typeof formatter === "function" ? formatter(v.value, idx) : String(v.value) : formatValue(v.value, locale));
157
+ const preLabels = filtered.map(
158
+ (v, idx) => formatter ? typeof formatter === "function" ? safeFormat(
159
+ () => formatter(v.value, idx),
160
+ () => formatValue(v.value, locale),
161
+ "tick"
162
+ ) : String(v.value) : formatValue(v.value, locale)
163
+ );
153
164
  if (hasCollisions(
154
165
  preLabels,
155
166
  filtered.map((v) => v.pos),
@@ -203,7 +214,11 @@ function calculateTicks(scale, position, chartArea, props, style, locale) {
203
214
  const isFirst = i === 0;
204
215
  const isLast = i >= filtered.length - step;
205
216
  const isHidden = isFirst && !showFirst || isLast && !showLast;
206
- const label = isHidden ? "" : formatter ? typeof formatter === "function" ? formatter(value, i) : String(value) : formatValue(value, locale);
217
+ const label = isHidden ? "" : formatter ? typeof formatter === "function" ? safeFormat(
218
+ () => formatter(value, i),
219
+ () => formatValue(value, locale),
220
+ "tick"
221
+ ) : String(value) : formatValue(value, locale);
207
222
  const perTickStyle = tickStyleFn ? tickStyleFn(value, i) : void 0;
208
223
  let baseAnchor;
209
224
  let baseBaseline;
@@ -1,5 +1,5 @@
1
- import { DEFAULT_CHART_PADDING, resolveFontSize, DEFAULT_CHART_TITLE_FONT_SIZE, DEFAULT_CHART_TITLE_PADDING, DEFAULT_CHART_CAPTION_FONT_SIZE, DEFAULT_CHART_CAPTION_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_LEGEND_WIDTH, DEFAULT_LEGEND_HEIGHT } from './chunk-NKUYIWAP.mjs';
2
- import { calculateArcBoundingBox } from './chunk-RQ3CKQOX.mjs';
1
+ import { DEFAULT_CHART_PADDING, resolveFontSize, DEFAULT_CHART_TITLE_FONT_SIZE, DEFAULT_CHART_TITLE_PADDING, DEFAULT_CHART_CAPTION_FONT_SIZE, DEFAULT_CHART_CAPTION_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_LEGEND_WIDTH, DEFAULT_LEGEND_HEIGHT } from './chunk-6LUIVTNV.mjs';
2
+ import { calculateArcBoundingBox } from './chunk-K7AGQTVK.mjs';
3
3
 
4
4
  // src/utils/layout/layout.utils.ts
5
5
  function normalizePadding(padding) {
@@ -0,0 +1,40 @@
1
+ import { toRad } from './chunk-K7AGQTVK.mjs';
2
+
3
+ // src/circular/radial.helpers.ts
4
+ function computeSliceGeometry(slice, currentAngle, frame) {
5
+ const { outerRadius, innerRadius, willBeSingleSlice, currentRingRadii, hoverState, hoverOffset, hoverScale } = frame;
6
+ const ringRadii = currentRingRadii.get(String(slice.datasetIndex));
7
+ const baseOuterRadius = ringRadii?.outer ?? outerRadius;
8
+ const sliceInnerRadius = ringRadii?.inner ?? innerRadius;
9
+ const sliceOuterRadius = sliceInnerRadius + (baseOuterRadius - sliceInnerRadius) * slice.radiusRatio;
10
+ const spacing = slice.spacing ?? 0;
11
+ const spacingAngle = spacing > 0 && sliceOuterRadius > 0 ? spacing / sliceOuterRadius * (180 / Math.PI) : 0;
12
+ const halfSpacing = spacingAngle / 2;
13
+ const angle = slice.endAngle - slice.rotation;
14
+ const isFullCircleSlice = willBeSingleSlice || slice.targetAngle >= 355 || angle >= 355;
15
+ const midAngle = currentAngle + angle / 2;
16
+ const midRadius = (sliceOuterRadius + sliceInnerRadius) / 2;
17
+ const isHovered = hoverState.datasetIndex === slice.datasetIndex && hoverState.index === slice.originalIndex;
18
+ const sliceHoverOffset = isHovered && !isFullCircleSlice ? hoverOffset : 0;
19
+ const hoverOffsetX = sliceHoverOffset > 0 ? Math.cos(toRad(midAngle)) * sliceHoverOffset : 0;
20
+ const hoverOffsetY = sliceHoverOffset > 0 ? Math.sin(toRad(midAngle)) * sliceHoverOffset : 0;
21
+ const baseOffset = slice.baseOffset ?? 0;
22
+ const baseOffsetX = baseOffset !== 0 ? Math.cos(toRad(midAngle)) * baseOffset : 0;
23
+ const baseOffsetY = baseOffset !== 0 ? Math.sin(toRad(midAngle)) * baseOffset : 0;
24
+ const scale = isHovered && !isFullCircleSlice && hoverScale > 1 ? hoverScale : 1;
25
+ return {
26
+ sliceOuterRadius,
27
+ sliceInnerRadius,
28
+ isFullCircleSlice,
29
+ midAngle,
30
+ midRadius,
31
+ isHovered,
32
+ offsetX: hoverOffsetX + baseOffsetX,
33
+ offsetY: hoverOffsetY + baseOffsetY,
34
+ scale,
35
+ renderRotation: isFullCircleSlice ? currentAngle : currentAngle + halfSpacing,
36
+ renderAngle: isFullCircleSlice ? angle : Math.max(0, angle - spacingAngle)
37
+ };
38
+ }
39
+
40
+ export { computeSliceGeometry };
@@ -1,10 +1,10 @@
1
- import { normalizeCrosshairConfig } from './chunk-QWQ6HY4I.mjs';
2
- import { resolveNavigatorConfig } from './chunk-BKP26M4K.mjs';
3
- import { buildLegendItems, resolveLegendClickAction } from './chunk-ZT2Z7ERM.mjs';
4
- import { normalizePadding, calculateTitleLayout, calculateLegendArea, calculateChartArea } from './chunk-NPDZLYIF.mjs';
5
- import { generateChartTypeDescription, generateChartSummary } from './chunk-OGJ6IIBW.mjs';
6
- import { DEFAULT_CHART_TITLE_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_CHART_CAPTION_PADDING } from './chunk-NKUYIWAP.mjs';
7
- import { EXPORT_MENU_CONSTANTS } from './chunk-OWW3K55O.mjs';
1
+ import { normalizeCrosshairConfig } from './chunk-O4BTKF5R.mjs';
2
+ import { resolveNavigatorConfig } from './chunk-7LZWQVTL.mjs';
3
+ import { buildLegendItems, resolveLegendClickAction } from './chunk-AC5EAWIP.mjs';
4
+ import { normalizePadding, calculateTitleLayout, calculateLegendArea, calculateChartArea } from './chunk-AJ24XDEK.mjs';
5
+ import { generateChartTypeDescription, generateChartSummary } from './chunk-IFJPDARC.mjs';
6
+ import { DEFAULT_CHART_TITLE_PADDING, DEFAULT_LEGEND_PADDING, DEFAULT_CHART_CAPTION_PADDING } from './chunk-6LUIVTNV.mjs';
7
+ import { EXPORT_MENU_CONSTANTS } from './chunk-RIAPS5AW.mjs';
8
8
 
9
9
  // src/orchestrator/computeLayout.ts
10
10
  function buildLayoutInputs(p) {
@@ -467,6 +467,9 @@ function processMouseMoveCore(x, y, ctx, lastHover, tooltipConfig) {
467
467
  cursorFormattedValue: typeof extHit["cursorFormattedValue"] === "string" ? extHit["cursorFormattedValue"] : void 0,
468
468
  xValue: extHit["xValue"],
469
469
  yValue: extHit["yValue"],
470
+ independentIsCategory: typeof extHit["independentIsCategory"] === "boolean" ? extHit["independentIsCategory"] : void 0,
471
+ xAxisTitle: typeof extHit["xAxisTitle"] === "string" ? extHit["xAxisTitle"] : void 0,
472
+ yAxisTitle: typeof extHit["yAxisTitle"] === "string" ? extHit["yAxisTitle"] : void 0,
470
473
  ohlc: extHit["ohlc"],
471
474
  bubbleValue: typeof extHit["bubbleValue"] === "number" ? extHit["bubbleValue"] : void 0,
472
475
  snapX: ctx.hasCrosshair ? cartHit?.snapX : void 0,
@@ -1,5 +1,6 @@
1
- import { hitTestCandlestick } from './chunk-3OZLP4I4.mjs';
2
- import { formatTimeLabel, formatHitValue, formatCursorValue } from './chunk-DP2IZNN3.mjs';
1
+ import { hitTestCandlestick } from './chunk-HWT6UEYE.mjs';
2
+ import { formatTimeLabel, formatHitValue, formatCursorValue } from './chunk-HHBFQ6AI.mjs';
3
+ import { formatTooltipValue } from './chunk-56MASQS2.mjs';
3
4
 
4
5
  // src/cartesian/hittest-wrappers/candlestick.ts
5
6
  function candlestickHitTest(x, y, ctx) {
@@ -53,7 +54,7 @@ function candlestickFindAllNearest(x, y, ctx) {
53
54
  const color = candle.bodyStroke;
54
55
  const ohlc = { open: candle.open, high: candle.high, low: candle.low, close: candle.close };
55
56
  const label = formatTimeLabel(candle.label, layoutData);
56
- const formattedValue = props ? formatHitValue(candle.close, props, "vertical", layoutData) : String(candle.close);
57
+ const formattedValue = props ? formatHitValue(candle.close, props, "vertical", layoutData) : formatTooltipValue(candle.close);
57
58
  const cursorFormattedValue = props ? formatCursorValue(x, y, props, "vertical", layoutData) : formattedValue;
58
59
  allSeries.push({
59
60
  datasetId,
@@ -1,4 +1,195 @@
1
- import { hexToRgba, createSvgRadialGradient, createSvgLinearGradient, createCanvasRadialGradient, createCanvasLinearGradient, parseColorToRGB } from './chunk-SSLTFJ3U.mjs';
1
+ import { hexToRgba, createSvgRadialGradient, createSvgLinearGradient, createCanvasRadialGradient, createCanvasLinearGradient, parseColorToRGB } from './chunk-BF7RP4A3.mjs';
2
+
3
+ // src/themes/default.ts
4
+ var defaultLightTheme = {
5
+ // Series — 14-color premium pastel palette, rotated for adjacent categorical contrast.
6
+ // Lively enough for default demos, softer than utility-palette primaries.
7
+ series: [
8
+ "#5daeea",
9
+ // Azure
10
+ "#ffad5a",
11
+ // Apricot
12
+ "#ffd166",
13
+ // Gold
14
+ "#4ecdc4",
15
+ // Aqua
16
+ "#7c8cff",
17
+ // Periwinkle
18
+ "#c084fc",
19
+ // Lavender
20
+ "#ff6fae",
21
+ // Rose
22
+ "#9ccc3c",
23
+ // Lime
24
+ "#ff7a66",
25
+ // Coral
26
+ "#36b7d6",
27
+ // Cyan
28
+ "#a78bfa",
29
+ // Lilac
30
+ "#5ccf9f",
31
+ // Mint
32
+ "#fda4af",
33
+ // Salmon
34
+ "#94a3b8"
35
+ // Slate
36
+ ],
37
+ // Chrome — drives axes, grid, labels, title, caption.
38
+ // All 4 axis slots default to the same neutral; override individual entries for multi-axis charts.
39
+ axes: ["#666666", "#666666", "#666666", "#666666"],
40
+ grid: "#e2e8f0",
41
+ gridMinor: "#cbd5e1",
42
+ tickLabel: "#666666",
43
+ dataLabel: "#334155",
44
+ dataLabelBackground: "#00000000",
45
+ // transparent by default
46
+ dataLabelBorder: "#00000000",
47
+ annotation: "#334155",
48
+ annotationBackground: "#00000000",
49
+ // transparent by default
50
+ annotationBorder: "#00000000",
51
+ titleColor: "#0f172a",
52
+ captionColor: "#64748b",
53
+ bandFill: "#f1f5f9",
54
+ // Direction signals — independent of series ramp so candlestick charts
55
+ // don't collide with series-colored overlays.
56
+ positive: "#1eb854",
57
+ negative: "#dc2828",
58
+ candleNeutral: "#6b7280",
59
+ // Effect coefficients — mirror state class CSS defaults.
60
+ hoverBrightness: 1.1,
61
+ dimOpacity: 1,
62
+ barStrokeWidth: 0,
63
+ // Tick halo — opposite-luma from text fill so labels pop against
64
+ // series-colored backgrounds. `#ffffffd9` = rgba(255,255,255,0.85).
65
+ tickHalo: "#ffffffd9",
66
+ // Heatmap defaults — mirror `--p-chart-heat-min/max/empty/null`.
67
+ heatColorMin: "#fde68a",
68
+ heatColorMax: "#ee1c1c",
69
+ heatEmpty: "#e5e7eb",
70
+ heatNull: "#f3f4f6",
71
+ // Tooltip — semi-transparent surface with subtle border. `f2` ≈ 0.95 alpha,
72
+ // `1a` ≈ 0.10 alpha. Hex w/ alpha keeps parity-test regex simple.
73
+ tooltipBackground: "#ffffffd9",
74
+ tooltipBorder: "#0000001a",
75
+ tooltipColor: "#374151",
76
+ tooltipRadius: "8px",
77
+ tooltipBlur: "12px",
78
+ tooltipShadow: "0 8px 24px #0000001f",
79
+ tooltipPadding: "10px 14px",
80
+ legendColor: "#374151",
81
+ legendBackground: "#00000000",
82
+ // transparent by default
83
+ legendBorder: "#00000000",
84
+ // Reference lines/bands — neutral-40 stroke, 10% opacity fill.
85
+ referenceLineColor: "#94a3b8",
86
+ referenceBandFill: "#0000001a",
87
+ // rgba(0,0,0,0.10)
88
+ // Navigator chrome — series line/area, dim mask outside the selection window,
89
+ // and the selection border + interior. Hex-with-alpha keeps the parity-test regex
90
+ // happy: `#3b82f6b3` ≈ rgba(59,130,246,0.70), `#3b82f614` ≈ rgba(59,130,246,0.08),
91
+ // `#0000001f` ≈ rgba(0,0,0,0.12).
92
+ navigatorSeries: "#94a3b8",
93
+ navigatorMask: "#0000001f",
94
+ navigatorSelectionColor: "#3b82f6b3",
95
+ navigatorSelectionFill: "#3b82f614",
96
+ // Treemap defaults — mirror existing `--p-chart-treemap-*` vars.
97
+ treemapCell: "#5daeea",
98
+ treemapCellBorder: "#00000026",
99
+ // rgba(0,0,0,0.15)
100
+ treemapHeaderBg: "#ffffffe6",
101
+ // near-white header band in light mode
102
+ treemapHeaderText: "#1f2937",
103
+ // dark slate text on the light band
104
+ // Content background — the surface the chart sits on (white in light mode).
105
+ // Used by canvas custom markers that need a fill matching the page background.
106
+ background: "#ffffff",
107
+ // Generic fallback border (final fallback in pie/bar canvas paths).
108
+ borderColor: "#000000",
109
+ // Crosshair line color — falls back to axes[0] by default.
110
+ crosshairColor: "#666666",
111
+ // Base typography — chart-level `fontFamily`/`fontSize` props still win.
112
+ fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
113
+ fontSize: 12
114
+ };
115
+ var defaultDarkTheme = {
116
+ // Dark keeps the same hue story with a modest lift for small marks on dark surfaces.
117
+ series: ["#6bbbed", "#ffb76d", "#ffdc7a", "#61d8cf", "#909dff", "#cc99fd", "#ff82ba", "#aad64c", "#ff8b76", "#4fc7df", "#b79dfb", "#6fdaad", "#fdb1bb", "#a8b5c6"],
118
+ axes: ["#a1a1aa", "#a1a1aa", "#a1a1aa", "#a1a1aa"],
119
+ grid: "#3f3f46",
120
+ gridMinor: "#52525b",
121
+ tickLabel: "#a1a1aa",
122
+ dataLabel: "#e4e4e7",
123
+ dataLabelBackground: "#00000000",
124
+ dataLabelBorder: "#00000000",
125
+ annotation: "#e4e4e7",
126
+ annotationBackground: "#00000000",
127
+ annotationBorder: "#00000000",
128
+ titleColor: "#fafafa",
129
+ captionColor: "#a1a1aa",
130
+ bandFill: "#27272a",
131
+ positive: "#22d96a",
132
+ negative: "#ff4d4d",
133
+ candleNeutral: "#a1a1a1",
134
+ hoverBrightness: 1.1,
135
+ dimOpacity: 1,
136
+ barStrokeWidth: 0,
137
+ // `#000000d9` = rgba(0,0,0,0.85) — dark halo for light text in dark mode.
138
+ tickHalo: "#000000d9",
139
+ heatColorMin: "#fde68a",
140
+ heatColorMax: "#ee1c1c",
141
+ heatEmpty: "#3f3f46",
142
+ heatNull: "#27272a",
143
+ // Tooltip — dark surface, subtle light border for separation against dark page bg.
144
+ tooltipBackground: "#0a0a0acc",
145
+ // near-black + 0.80 (frosted glass)
146
+ tooltipBorder: "#ffffff1a",
147
+ // 0.10 alpha
148
+ tooltipColor: "#e4e4e7",
149
+ tooltipRadius: "8px",
150
+ tooltipBlur: "12px",
151
+ tooltipShadow: "0 8px 24px #00000066",
152
+ tooltipPadding: "10px 14px",
153
+ legendColor: "#e4e4e7",
154
+ legendBackground: "#00000000",
155
+ legendBorder: "#00000000",
156
+ referenceLineColor: "#71717a",
157
+ referenceBandFill: "#ffffff14",
158
+ // rgba(255,255,255,0.08)
159
+ // Navigator chrome — Highcharts-style: light overlay dims dark bg so selection stands out;
160
+ // brighter blue (blue-400) for selection so it pops on dark surfaces.
161
+ // `#ffffff14` ≈ rgba(255,255,255,0.08), `#60a5fab3` ≈ rgba(96,165,250,0.70),
162
+ // `#60a5fa1f` ≈ rgba(96,165,250,0.12).
163
+ navigatorSeries: "#a1a1aa",
164
+ navigatorMask: "#ffffff14",
165
+ navigatorSelectionColor: "#60a5fab3",
166
+ navigatorSelectionFill: "#60a5fa1f",
167
+ // Treemap defaults — same Azure family for cell, mirrored borders/headers.
168
+ treemapCell: "#6bbbed",
169
+ // theme.series[0] dark
170
+ treemapCellBorder: "#ffffff26",
171
+ // rgba(255,255,255,0.15)
172
+ treemapHeaderBg: "#00000099",
173
+ // rgba(0,0,0,0.6) — dark header band in dark mode
174
+ treemapHeaderText: "#ffffff",
175
+ background: "#0a0a0a",
176
+ borderColor: "#ffffff",
177
+ crosshairColor: "#a1a1aa",
178
+ fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
179
+ fontSize: 12
180
+ };
181
+
182
+ // src/utils/color/colorIndex.ts
183
+ var _cache = /* @__PURE__ */ new WeakMap();
184
+ function buildColorIndexMap(datasets) {
185
+ const cached = _cache.get(datasets);
186
+ if (cached) return cached;
187
+ const sorted = Array.from(datasets.entries()).sort(([, a], [, b]) => a.order - b.order);
188
+ const map = /* @__PURE__ */ new Map();
189
+ sorted.forEach(([id], i) => map.set(id, i));
190
+ _cache.set(datasets, map);
191
+ return map;
192
+ }
2
193
 
3
194
  // src/utils/color/gradient.ts
4
195
  function isGradientColor(color) {
@@ -147,171 +338,6 @@ function sampleGradientAt(color, point, center, radius, chartArea, defaultDirect
147
338
  return sorted[sorted.length - 1].color;
148
339
  }
149
340
 
150
- // src/themes/default.ts
151
- var defaultLightTheme = {
152
- // Series — 10-hue Studio palette, hand-tuned for white backgrounds.
153
- series: [
154
- "#3563e9",
155
- // cobalt
156
- "#e8722d",
157
- // persimmon
158
- "#1fbe8b",
159
- // jade
160
- "#dc2f4f",
161
- // crimson
162
- "#6852d9",
163
- // lavender
164
- "#1dafd9",
165
- // cerulean
166
- "#d63384",
167
- // magenta
168
- "#88b83f",
169
- // olive
170
- "#a855cc",
171
- // plum
172
- "#d9a422"
173
- // saffron
174
- ],
175
- // Chrome — drives axes, grid, labels, title, caption.
176
- // All 4 axis slots default to the same neutral; override individual entries for multi-axis charts.
177
- axes: ["#666666", "#666666", "#666666", "#666666"],
178
- grid: "#e2e8f0",
179
- gridMinor: "#cbd5e1",
180
- tickLabel: "#666666",
181
- dataLabel: "#334155",
182
- dataLabelBackground: "#00000000",
183
- // transparent by default
184
- dataLabelBorder: "#00000000",
185
- annotation: "#334155",
186
- annotationBackground: "#00000000",
187
- // transparent by default
188
- annotationBorder: "#00000000",
189
- titleColor: "#0f172a",
190
- captionColor: "#64748b",
191
- bandFill: "#f1f5f9",
192
- // Direction signals — independent of series ramp so candlestick charts
193
- // don't collide with series-colored overlays.
194
- positive: "#1eb854",
195
- negative: "#dc2828",
196
- candleNeutral: "#6b7280",
197
- // Effect coefficients — mirror state class CSS defaults.
198
- hoverBrightness: 1.1,
199
- dimOpacity: 0.6,
200
- barStrokeWidth: 0,
201
- // Tick halo — opposite-luma from text fill so labels pop against
202
- // series-colored backgrounds. `#ffffffd9` = rgba(255,255,255,0.85).
203
- tickHalo: "#ffffffd9",
204
- // Heatmap defaults — mirror `--p-chart-heat-min/max/empty/null`.
205
- heatColorMin: "#fde68a",
206
- heatColorMax: "#ee1c1c",
207
- heatEmpty: "#e5e7eb",
208
- heatNull: "#f3f4f6",
209
- // Tooltip — semi-transparent surface with subtle border. `f2` ≈ 0.95 alpha,
210
- // `1a` ≈ 0.10 alpha. Hex w/ alpha keeps parity-test regex simple.
211
- tooltipBackground: "#ffffffd9",
212
- tooltipBorder: "#0000001a",
213
- tooltipColor: "#374151",
214
- tooltipRadius: "8px",
215
- tooltipBlur: "12px",
216
- tooltipShadow: "0 8px 24px #0000001f",
217
- tooltipPadding: "10px 14px",
218
- legendColor: "#374151",
219
- legendBackground: "#00000000",
220
- // transparent by default
221
- legendBorder: "#00000000",
222
- // Reference lines/bands — neutral-40 stroke, 10% opacity fill.
223
- referenceLineColor: "#94a3b8",
224
- referenceBandFill: "#0000001a",
225
- // rgba(0,0,0,0.10)
226
- // Navigator chrome — series line/area, dim mask outside the selection window,
227
- // and the selection border + interior. Hex-with-alpha keeps the parity-test regex
228
- // happy: `#3b82f6b3` ≈ rgba(59,130,246,0.70), `#3b82f614` ≈ rgba(59,130,246,0.08),
229
- // `#0000001f` ≈ rgba(0,0,0,0.12).
230
- navigatorSeries: "#94a3b8",
231
- navigatorMask: "#0000001f",
232
- navigatorSelectionColor: "#3b82f6b3",
233
- navigatorSelectionFill: "#3b82f614",
234
- // Treemap defaults — mirror existing `--p-chart-treemap-*` vars.
235
- treemapCell: "#3563e9",
236
- treemapCellBorder: "#00000026",
237
- // rgba(0,0,0,0.15)
238
- treemapHeaderBg: "#ffffffe6",
239
- // near-white header band in light mode
240
- treemapHeaderText: "#1f2937",
241
- // dark slate text on the light band
242
- // Generic fallback border (final fallback in pie/bar canvas paths).
243
- borderColor: "#000000",
244
- // Crosshair line color — falls back to axes[0] by default.
245
- crosshairColor: "#666666",
246
- // Base typography — chart-level `fontFamily`/`fontSize` props still win.
247
- fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
248
- fontSize: 12
249
- };
250
- var defaultDarkTheme = {
251
- series: ["#5790ff", "#ff8838", "#14e5a4", "#ff4d6d", "#8270ff", "#33cdff", "#ff4da0", "#b8e92f", "#c766ff", "#ffc633"],
252
- axes: ["#a1a1aa", "#a1a1aa", "#a1a1aa", "#a1a1aa"],
253
- grid: "#3f3f46",
254
- gridMinor: "#52525b",
255
- tickLabel: "#a1a1aa",
256
- dataLabel: "#e4e4e7",
257
- dataLabelBackground: "#00000000",
258
- dataLabelBorder: "#00000000",
259
- annotation: "#e4e4e7",
260
- annotationBackground: "#00000000",
261
- annotationBorder: "#00000000",
262
- titleColor: "#fafafa",
263
- captionColor: "#a1a1aa",
264
- bandFill: "#27272a",
265
- positive: "#22d96a",
266
- negative: "#ff4d4d",
267
- candleNeutral: "#a1a1a1",
268
- hoverBrightness: 1.1,
269
- dimOpacity: 0.6,
270
- barStrokeWidth: 0,
271
- // `#000000d9` = rgba(0,0,0,0.85) — dark halo for light text in dark mode.
272
- tickHalo: "#000000d9",
273
- heatColorMin: "#fde68a",
274
- heatColorMax: "#ee1c1c",
275
- heatEmpty: "#3f3f46",
276
- heatNull: "#27272a",
277
- // Tooltip — dark surface, subtle light border for separation against dark page bg.
278
- tooltipBackground: "#0a0a0acc",
279
- // near-black + 0.80 (frosted glass)
280
- tooltipBorder: "#ffffff1a",
281
- // 0.10 alpha
282
- tooltipColor: "#e4e4e7",
283
- tooltipRadius: "8px",
284
- tooltipBlur: "12px",
285
- tooltipShadow: "0 8px 24px #00000066",
286
- tooltipPadding: "10px 14px",
287
- legendColor: "#e4e4e7",
288
- legendBackground: "#00000000",
289
- legendBorder: "#00000000",
290
- referenceLineColor: "#71717a",
291
- referenceBandFill: "#ffffff14",
292
- // rgba(255,255,255,0.08)
293
- // Navigator chrome — Highcharts-style: light overlay dims dark bg so selection stands out;
294
- // brighter blue (blue-400) for selection so it pops on dark surfaces.
295
- // `#ffffff14` ≈ rgba(255,255,255,0.08), `#60a5fab3` ≈ rgba(96,165,250,0.70),
296
- // `#60a5fa1f` ≈ rgba(96,165,250,0.12).
297
- navigatorSeries: "#a1a1aa",
298
- navigatorMask: "#ffffff14",
299
- navigatorSelectionColor: "#60a5fab3",
300
- navigatorSelectionFill: "#60a5fa1f",
301
- // Treemap defaults — same Studio cobalt for cell, mirrored borders/headers.
302
- treemapCell: "#5790ff",
303
- // theme.series[0] dark
304
- treemapCellBorder: "#ffffff26",
305
- // rgba(255,255,255,0.15)
306
- treemapHeaderBg: "#00000099",
307
- // rgba(0,0,0,0.6) — dark header band in dark mode
308
- treemapHeaderText: "#ffffff",
309
- borderColor: "#ffffff",
310
- crosshairColor: "#a1a1aa",
311
- fontFamily: 'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',
312
- fontSize: 12
313
- };
314
-
315
341
  // src/utils/accessor.utils.ts
316
342
  function isAccessorFunction(accessor) {
317
343
  return typeof accessor === "function";
@@ -493,7 +519,7 @@ function resolveSwatchColor(props, index, item, theme, extras) {
493
519
  if (props.color != null) {
494
520
  return getColor(props, index, item, theme, extras);
495
521
  }
496
- return `var(--p-chart-color-${index % 10}, ${getDefaultColor(index, theme)})`;
522
+ return `var(--p-chart-color-${index % 14}, ${getDefaultColor(index, theme)})`;
497
523
  }
498
524
 
499
- export { FIELD_DEFAULTS, asGradient, batchResolveAccessor, batchResolveRequired, createCanvasGradientFromColor, createSvgGradientFromColor, defaultDarkTheme, defaultLightTheme, getColor, getColorValue, getDefaultColor, getPrimaryColor, gradientToCssBackground, isAccessorArray, isAccessorFunction, isAccessorString, isGradientColor, isNestedPath, makeItemContext, normalizeGradient, remapStopsForDonut, resolveAccessor, resolveColor, resolveDash, resolveNestedPath, resolveRequired, resolveSwatchColor, resolveSwatchGradientStops, sampleGradientAt };
525
+ export { FIELD_DEFAULTS, asGradient, batchResolveAccessor, batchResolveRequired, buildColorIndexMap, createCanvasGradientFromColor, createSvgGradientFromColor, defaultDarkTheme, defaultLightTheme, getColor, getColorValue, getDefaultColor, getPrimaryColor, gradientToCssBackground, isAccessorArray, isAccessorFunction, isAccessorString, isGradientColor, isNestedPath, makeItemContext, normalizeGradient, remapStopsForDonut, resolveAccessor, resolveColor, resolveDash, resolveNestedPath, resolveRequired, resolveSwatchColor, resolveSwatchGradientStops, sampleGradientAt };
@@ -1,9 +1,9 @@
1
- import { getCellLabelInfo, buildCellExtras } from './chunk-VVI3OBPJ.mjs';
2
- import { createDrawImage } from './chunk-7CMVDIOU.mjs';
3
- import { resolveFontFamily, DEFAULT_TREEMAP_CELL_BORDER_COLOR, DEFAULT_TREEMAP_HEADER_TEXT_COLOR, DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_BRIGHTNESS } from './chunk-NKUYIWAP.mjs';
4
- import { getContrastColor } from './chunk-QS76E3TD.mjs';
5
- import { resolveAccessor, makeItemContext, resolveDash } from './chunk-O2X6FF45.mjs';
6
- import { withCanvasState, adjustBrightness } from './chunk-SSLTFJ3U.mjs';
1
+ import { getCellLabelInfo, buildCellExtras } from './chunk-KCSMOAZO.mjs';
2
+ import { createDrawImage } from './chunk-HXDLOOCS.mjs';
3
+ import { resolveFontFamily, DEFAULT_TREEMAP_CELL_BORDER_COLOR, DEFAULT_TREEMAP_HEADER_TEXT_COLOR, DEFAULT_HOVER_DIM_OPACITY, DEFAULT_HOVER_BRIGHTNESS } from './chunk-6LUIVTNV.mjs';
4
+ import { getContrastColor } from './chunk-RI32WIDX.mjs';
5
+ import { resolveAccessor, makeItemContext, resolveDash } from './chunk-BDCNBS6W.mjs';
6
+ import { withCanvasState, adjustBrightness } from './chunk-BF7RP4A3.mjs';
7
7
 
8
8
  // src/series/treemap/canvas/index.ts
9
9
  function renderTreemapCanvas(props, layout, ctx, context) {