vue-data-ui 3.28.0 → 3.28.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 (256) hide show
  1. package/README.md +89 -63
  2. package/dist/{Arrow-D6OAn5rm.js → Arrow-CITPKnWF.js} +1 -1
  3. package/dist/{BaseDraggableDialog-Bw_azO0n.js → BaseDraggableDialog-DHgIPVmz.js} +1 -1
  4. package/dist/{BaseIcon-DDctLkeT.js → BaseIcon-Cm-IJ179.js} +1 -1
  5. package/dist/{BaseLegendToggle-BOcw1ke8.js → BaseLegendToggle-Q3TiW9u1.js} +1 -1
  6. package/dist/{BaseZoomControls-Cq5AOHQ0.js → BaseZoomControls-ByS_7fmI.js} +1 -1
  7. package/dist/{ColorPicker-DHQvvLT9.js → ColorPicker-Dmus34hN.js} +1 -1
  8. package/dist/{DataTable-BcVZLSs8.js → DataTable-0Vv-aGHD.js} +1 -1
  9. package/dist/HillActions-qz6J_uK7.js +1 -0
  10. package/dist/{Legend-D8NunRPr.js → Legend-DM0ClX3D.js} +1 -1
  11. package/dist/{NonSvgPenAndPaper-CxQZ0YED.js → NonSvgPenAndPaper-Do6RcwEr.js} +1 -1
  12. package/dist/{PackageVersion-ATrKWi8V.js → PackageVersion-C4ZM3Vf7.js} +1 -1
  13. package/dist/PenAndPaper-BGEp-TUm.js +1 -0
  14. package/dist/{Shape-gDVRWM6n.js → Shape-CRe8woTu.js} +1 -1
  15. package/dist/SlicerPreview-CFFUOlQr.js +1 -0
  16. package/dist/{SparkTooltip-cWKhrsKX.js → SparkTooltip-Ch06CV71.js} +1 -1
  17. package/dist/{Title-BLA0tM3g.js → Title-BliHuXfT.js} +1 -1
  18. package/dist/Tooltip-C1q0Qoh7.js +1 -0
  19. package/dist/UserOptions-uWHV_zPB.js +1 -0
  20. package/dist/{useResponsive-D2CPcpda.js → canvas-lib-22VpOI4_.js} +1 -1
  21. package/dist/{chartImage-r-G4CkRK.js → chartImage-DPGnEuYM.js} +1 -1
  22. package/dist/components/arrow.js +1 -1
  23. package/dist/components/vue-ui-3d-bar.js +1 -1
  24. package/dist/components/vue-ui-accordion.js +1 -1
  25. package/dist/components/vue-ui-age-pyramid.js +1 -1
  26. package/dist/components/vue-ui-annotator.js +1 -1
  27. package/dist/components/vue-ui-bullet.js +1 -1
  28. package/dist/components/vue-ui-bump.js +1 -1
  29. package/dist/components/vue-ui-candlestick.js +1 -1
  30. package/dist/components/vue-ui-carousel-table.js +1 -1
  31. package/dist/components/vue-ui-chestnut.js +1 -1
  32. package/dist/components/vue-ui-chord.js +1 -1
  33. package/dist/components/vue-ui-circle-pack.js +1 -1
  34. package/dist/components/vue-ui-cursor.js +1 -1
  35. package/dist/components/vue-ui-dag.js +1 -1
  36. package/dist/components/vue-ui-dashboard.js +1 -1
  37. package/dist/components/vue-ui-digits.js +1 -1
  38. package/dist/components/vue-ui-donut-evolution.js +1 -1
  39. package/dist/components/vue-ui-donut.js +1 -1
  40. package/dist/components/vue-ui-dumbbell.js +1 -1
  41. package/dist/components/vue-ui-flow.js +1 -1
  42. package/dist/components/vue-ui-funnel.js +1 -1
  43. package/dist/components/vue-ui-galaxy.js +1 -1
  44. package/dist/components/vue-ui-gauge.js +1 -1
  45. package/dist/components/vue-ui-geo.js +1 -1
  46. package/dist/components/vue-ui-gizmo.js +1 -1
  47. package/dist/components/vue-ui-graph.js +1 -1
  48. package/dist/components/vue-ui-heatmap.js +1 -1
  49. package/dist/components/vue-ui-hill.js +1 -1
  50. package/dist/components/vue-ui-history-plot.js +1 -1
  51. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  52. package/dist/components/vue-ui-icon.js +1 -1
  53. package/dist/components/vue-ui-kpi.js +1 -1
  54. package/dist/components/vue-ui-label.js +1 -1
  55. package/dist/components/vue-ui-mini-loader.js +1 -1
  56. package/dist/components/vue-ui-molecule.js +1 -1
  57. package/dist/components/vue-ui-mood-radar.js +1 -1
  58. package/dist/components/vue-ui-nested-donuts.js +1 -1
  59. package/dist/components/vue-ui-onion.js +1 -1
  60. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  61. package/dist/components/vue-ui-pattern-seed.js +1 -1
  62. package/dist/components/vue-ui-pattern.js +1 -1
  63. package/dist/components/vue-ui-quadrant.js +1 -1
  64. package/dist/components/vue-ui-quick-chart.js +1 -1
  65. package/dist/components/vue-ui-radar.js +1 -1
  66. package/dist/components/vue-ui-rating.js +1 -1
  67. package/dist/components/vue-ui-relation-circle.js +1 -1
  68. package/dist/components/vue-ui-ridgeline.js +1 -1
  69. package/dist/components/vue-ui-rings.js +1 -1
  70. package/dist/components/vue-ui-scatter.js +1 -1
  71. package/dist/components/vue-ui-skeleton.js +1 -1
  72. package/dist/components/vue-ui-smiley.js +1 -1
  73. package/dist/components/vue-ui-spark-trend.js +1 -1
  74. package/dist/components/vue-ui-sparkbar.js +1 -1
  75. package/dist/components/vue-ui-sparkgauge.js +1 -1
  76. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  77. package/dist/components/vue-ui-sparkline.js +1 -1
  78. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  79. package/dist/components/vue-ui-stackbar.js +1 -1
  80. package/dist/components/vue-ui-stackline.js +1 -1
  81. package/dist/components/vue-ui-strip-plot.js +1 -1
  82. package/dist/components/vue-ui-table-heatmap.js +1 -1
  83. package/dist/components/vue-ui-table-sparkline.js +1 -1
  84. package/dist/components/vue-ui-table.js +1 -1
  85. package/dist/components/vue-ui-thermometer.js +1 -1
  86. package/dist/components/vue-ui-timer.js +1 -1
  87. package/dist/components/vue-ui-tiremarks.js +1 -1
  88. package/dist/components/vue-ui-treemap.js +1 -1
  89. package/dist/components/vue-ui-vertical-bar.js +1 -1
  90. package/dist/components/vue-ui-waffle.js +1 -1
  91. package/dist/components/vue-ui-wheel.js +1 -1
  92. package/dist/components/vue-ui-word-cloud.js +1 -1
  93. package/dist/components/vue-ui-world.js +1 -1
  94. package/dist/components/vue-ui-xy-canvas.js +1 -1
  95. package/dist/components/vue-ui-xy.js +1 -1
  96. package/dist/{dom-to-png-Cp6rAdnI.js → dom-to-png-D56-Zgv4.js} +1 -1
  97. package/dist/{exposedLib-BDGMSW1B.js → exposedLib-BRtClmZy.js} +1 -1
  98. package/dist/{img-DiP2_5_r.js → img-D4RQwASc.js} +1 -1
  99. package/dist/{labelUtils-DXiFpsZl.js → labelUtils-CdtU-yB_.js} +1 -1
  100. package/dist/{lib-DqD8nbyX.js → lib-rPeBMZrn.js} +2 -2
  101. package/dist/package-DGRUegc-.js +1 -0
  102. package/dist/{pdf-y3S8SBFk.js → pdf-DAicVFxx.js} +1 -1
  103. package/dist/{render-common-tsNLeNaX.js → render-common-CJz0wn0I.js} +1 -1
  104. package/dist/{resolveChartConfig-ChGWTt5l.js → resolveChartConfig-CIhClE5R.js} +1 -1
  105. package/dist/ssr/vue-ui-donut.js +1 -1
  106. package/dist/ssr/vue-ui-xy.js +1 -1
  107. package/dist/ssr.js +1 -1
  108. package/dist/style.css +1 -1
  109. package/dist/types/vue-data-ui.d.ts +126 -0
  110. package/dist/useChartExport-BZts4KFb.js +1 -0
  111. package/dist/{useConfig-DM9fSqjh.js → useConfig-6jO1fkp5.js} +1 -1
  112. package/dist/{useNestedProp-DrLnzyHO.js → useNestedProp-DnGoh-XS.js} +1 -1
  113. package/dist/{useObjectBindings-Cn4Vz0RY.js → useObjectBindings-DiMX4HGv.js} +1 -1
  114. package/dist/{usePrinter-Cj4eIYC_.js → usePrinter-sVoTzet1.js} +1 -1
  115. package/dist/useResponsive-CENUxfEL.js +1 -0
  116. package/dist/useSvgLabelLayout-D1I8sQUi.js +1 -0
  117. package/dist/useTimeLabelCollider-BTybMUFi.js +1 -0
  118. package/dist/useTransitions-ChGGrtrv.js +1 -0
  119. package/dist/utils.js +1 -1
  120. package/dist/vue-data-ui-CxiWUtNw.js +1 -0
  121. package/dist/vue-data-ui.js +1 -1
  122. package/dist/vue-ui-3d-bar-CW8ahywt.js +19 -0
  123. package/dist/{vue-ui-accordion-3lBpCjGm.js → vue-ui-accordion-S3nRtTU-.js} +1 -1
  124. package/dist/vue-ui-age-pyramid-CxMwKICA.js +1 -0
  125. package/dist/{vue-ui-annotator-CpTZHnPw.js → vue-ui-annotator-CdCDYzdK.js} +3 -3
  126. package/dist/vue-ui-bullet-ClnewIWQ.js +34 -0
  127. package/dist/vue-ui-bump-C6FuNDUg.js +8 -0
  128. package/dist/vue-ui-candlestick-CyewIjJk.js +22 -0
  129. package/dist/vue-ui-carousel-table-D0dD4kai.js +1 -0
  130. package/dist/vue-ui-chestnut-nS1vjCqH.js +1 -0
  131. package/dist/vue-ui-chord-B963Q_26.js +21 -0
  132. package/dist/vue-ui-circle-pack-DEY9X3jA.js +13 -0
  133. package/dist/{vue-ui-cursor-Dn-IBaP8.js → vue-ui-cursor-CNv12HQG.js} +1 -1
  134. package/dist/vue-ui-dag-s3-TMmid.js +9 -0
  135. package/dist/vue-ui-dashboard-B5zrGAvS.js +1 -0
  136. package/dist/{vue-ui-digits-BBiRMr01.js → vue-ui-digits-DXQwmTUx.js} +1 -1
  137. package/dist/vue-ui-donut-CDryub1L.js +47 -0
  138. package/dist/{vue-ui-donut-CGyBWxzh.js → vue-ui-donut-DHfOfLBF.js} +1 -1
  139. package/dist/vue-ui-donut-evolution-C5pHSrza.js +2 -0
  140. package/dist/vue-ui-dumbbell-CQbGR7yM.js +9 -0
  141. package/dist/vue-ui-flow-B16Mj6MW.js +3 -0
  142. package/dist/vue-ui-funnel-Dh-xi_Qi.js +1 -0
  143. package/dist/vue-ui-galaxy-U_ZIP5vm.js +1 -0
  144. package/dist/vue-ui-gauge-Dr4zsf6D.js +1 -0
  145. package/dist/vue-ui-geo-DFebja0s.js +1 -0
  146. package/dist/{vue-ui-gizmo-K1lfslsA.js → vue-ui-gizmo-CssVcz-O.js} +1 -1
  147. package/dist/vue-ui-graph-BB_97Qz7.js +7 -0
  148. package/dist/vue-ui-heatmap-DEBbVnrg.js +1 -0
  149. package/dist/vue-ui-hill-C1sHz3TI.js +1 -0
  150. package/dist/vue-ui-history-plot-CsBTJXR3.js +2 -0
  151. package/dist/vue-ui-horizontal-bar-D0kfcpEW.js +4 -0
  152. package/dist/{vue-ui-kpi-BZjfQxmY.js → vue-ui-kpi-CltKSYUI.js} +1 -1
  153. package/dist/vue-ui-label-B_1kM28r.js +7 -0
  154. package/dist/{vue-ui-mini-loader-ltQXdeeW.js → vue-ui-mini-loader-7gqQI5jy.js} +1 -1
  155. package/dist/vue-ui-molecule-DtoyWWTf.js +1 -0
  156. package/dist/vue-ui-mood-radar-ClOxfeH8.js +1 -0
  157. package/dist/vue-ui-nested-donuts-CULAXTg1.js +19 -0
  158. package/dist/vue-ui-onion-D7zu861i.js +5 -0
  159. package/dist/vue-ui-parallel-coordinate-plot-Cjbc-WUG.js +9 -0
  160. package/dist/vue-ui-quadrant-DWAb_t6r.js +2 -0
  161. package/dist/vue-ui-quick-chart-oDZwgVo8.js +17 -0
  162. package/dist/vue-ui-radar-BWG_N0xO.js +1 -0
  163. package/dist/{vue-ui-rating-B33u3iIn.js → vue-ui-rating-CV2b0tjA.js} +1 -1
  164. package/dist/vue-ui-relation-circle-BCRiS2n6.js +1 -0
  165. package/dist/vue-ui-ridgeline-VYcGUP_p.js +2 -0
  166. package/dist/vue-ui-rings-Dl0AjrRj.js +1 -0
  167. package/dist/vue-ui-scatter-DTa48HvG.js +9 -0
  168. package/dist/{vue-ui-skeleton-DTn7uIui.js → vue-ui-skeleton-C5mGG8hR.js} +1 -1
  169. package/dist/{vue-ui-smiley-qCRUFmpq.js → vue-ui-smiley-VTdQetY0.js} +1 -1
  170. package/dist/vue-ui-spark-trend--frxeJ8f.js +1 -0
  171. package/dist/{vue-ui-sparkbar-DPFzdX-D.js → vue-ui-sparkbar-BS5v3HMo.js} +1 -1
  172. package/dist/{vue-ui-sparkgauge-DlEPsxc0.js → vue-ui-sparkgauge-B1TGfXvR.js} +1 -1
  173. package/dist/vue-ui-sparkhistogram-Cs97AL6h.js +1 -0
  174. package/dist/vue-ui-sparkline-Bp9J6x7z.js +1 -0
  175. package/dist/vue-ui-sparkstackbar-BVuuRD10.js +1 -0
  176. package/dist/vue-ui-stackbar-CRuXn3XI.js +29 -0
  177. package/dist/vue-ui-stackline-Besmr9vq.js +39 -0
  178. package/dist/vue-ui-strip-plot-D-aRJkR7.js +2 -0
  179. package/dist/{vue-ui-table-3F8i2ZjT.js → vue-ui-table-D_UdQwV3.js} +1 -1
  180. package/dist/{vue-ui-table-heatmap-CtYPYMIJ.js → vue-ui-table-heatmap-BtziURiu.js} +1 -1
  181. package/dist/vue-ui-table-sparkline-BdNo8fW_.js +1 -0
  182. package/dist/vue-ui-thermometer-TFg1SGY7.js +1 -0
  183. package/dist/{vue-ui-timer-DsWRNtRa.js → vue-ui-timer-BdPksC26.js} +2 -2
  184. package/dist/vue-ui-tiremarks-HWuO-eyj.js +1 -0
  185. package/dist/vue-ui-treemap-IegiAqaX.js +1 -0
  186. package/dist/vue-ui-waffle-BEyGfPks.js +1 -0
  187. package/dist/vue-ui-wheel-k8GNPGET.js +1 -0
  188. package/dist/vue-ui-word-cloud-D9_15Ve7.js +4 -0
  189. package/dist/{vue-ui-world-DQWjoFDx.js → vue-ui-world-rCp5Vb7u.js} +2 -2
  190. package/dist/{vue-ui-xy-DfvcqUwW.js → vue-ui-xy-42AXepcQ.js} +2 -2
  191. package/dist/vue-ui-xy-CFgFg11v.js +24 -0
  192. package/dist/vue-ui-xy-canvas-CeC3gcrW.js +9 -0
  193. package/package.json +3 -3
  194. package/dist/HillActions-Bq3UJ1Ut.js +0 -1
  195. package/dist/PenAndPaper-BsBFp16i.js +0 -1
  196. package/dist/SlicerPreview-Dpu4nMz6.js +0 -1
  197. package/dist/Tooltip-Iyb_S6oQ.js +0 -1
  198. package/dist/UserOptions-BSJ_S_us.js +0 -1
  199. package/dist/package-UBaXe2y9.js +0 -1
  200. package/dist/useChartExport-DtPNpc9M.js +0 -1
  201. package/dist/useTimeLabelCollider-XQf_S7-z.js +0 -1
  202. package/dist/useTransitions-DfSHzsdz.js +0 -1
  203. package/dist/vue-data-ui-yeD7UyUU.js +0 -1
  204. package/dist/vue-ui-3d-bar-COrzyTkO.js +0 -19
  205. package/dist/vue-ui-age-pyramid-CAoVjkOA.js +0 -1
  206. package/dist/vue-ui-bullet-yvY_gdw2.js +0 -34
  207. package/dist/vue-ui-bump-ChsFkIq9.js +0 -10
  208. package/dist/vue-ui-candlestick-D9UXZQoN.js +0 -22
  209. package/dist/vue-ui-carousel-table-CKyE4hME.js +0 -1
  210. package/dist/vue-ui-chestnut-BuLjW5nb.js +0 -1
  211. package/dist/vue-ui-chord-Bjwt2_BK.js +0 -21
  212. package/dist/vue-ui-circle-pack-BpAuZruK.js +0 -13
  213. package/dist/vue-ui-dag-CyY3cSa6.js +0 -9
  214. package/dist/vue-ui-dashboard-DmyStkQM.js +0 -1
  215. package/dist/vue-ui-donut-DMF74OY0.js +0 -47
  216. package/dist/vue-ui-donut-evolution-Du4zLc8D.js +0 -2
  217. package/dist/vue-ui-dumbbell-CxL_AY5e.js +0 -9
  218. package/dist/vue-ui-flow-h6kTMamJ.js +0 -3
  219. package/dist/vue-ui-funnel-BG5Addzr.js +0 -1
  220. package/dist/vue-ui-galaxy-CgnshY8i.js +0 -1
  221. package/dist/vue-ui-gauge-a13ojQPr.js +0 -1
  222. package/dist/vue-ui-geo-CflzhtuD.js +0 -1
  223. package/dist/vue-ui-graph-C2Se8bnB.js +0 -7
  224. package/dist/vue-ui-heatmap-5NsQkMwS.js +0 -1
  225. package/dist/vue-ui-hill-COnjVS2L.js +0 -1
  226. package/dist/vue-ui-history-plot-BRJdXsNo.js +0 -2
  227. package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +0 -4
  228. package/dist/vue-ui-label-BD_hTtgZ.js +0 -7
  229. package/dist/vue-ui-molecule-DI-CS5w8.js +0 -1
  230. package/dist/vue-ui-mood-radar-B5ar9WAZ.js +0 -1
  231. package/dist/vue-ui-nested-donuts-BP2YzVma.js +0 -19
  232. package/dist/vue-ui-onion-CCiZ6jmF.js +0 -5
  233. package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +0 -9
  234. package/dist/vue-ui-quadrant-BwgwvKy8.js +0 -2
  235. package/dist/vue-ui-quick-chart-BXNg0LNe.js +0 -17
  236. package/dist/vue-ui-radar-B9Ntj_Gj.js +0 -1
  237. package/dist/vue-ui-relation-circle-B60IUw50.js +0 -1
  238. package/dist/vue-ui-ridgeline-BPbYng2A.js +0 -2
  239. package/dist/vue-ui-rings-BXo9p3Ab.js +0 -1
  240. package/dist/vue-ui-scatter-BwrYPDzh.js +0 -9
  241. package/dist/vue-ui-spark-trend-wKFu-O7B.js +0 -1
  242. package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +0 -1
  243. package/dist/vue-ui-sparkline-BflZPl7s.js +0 -1
  244. package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +0 -1
  245. package/dist/vue-ui-stackbar-JKC9qE6M.js +0 -29
  246. package/dist/vue-ui-stackline-G7-oqfzp.js +0 -39
  247. package/dist/vue-ui-strip-plot-54u7AUip.js +0 -2
  248. package/dist/vue-ui-table-sparkline-CTfYTzhA.js +0 -1
  249. package/dist/vue-ui-thermometer-BpFbPqxK.js +0 -1
  250. package/dist/vue-ui-tiremarks-C4wVcSVP.js +0 -1
  251. package/dist/vue-ui-treemap-mYRv6gga.js +0 -1
  252. package/dist/vue-ui-waffle-DNBIZqZz.js +0 -1
  253. package/dist/vue-ui-wheel-DPHDp0t1.js +0 -1
  254. package/dist/vue-ui-word-cloud-BY4YsW7-.js +0 -4
  255. package/dist/vue-ui-xy-M9aD-G5a.js +0 -24
  256. package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +0 -9
@@ -1,47 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,Bt as r,D as i,Dt as a,Ht as o,It as s,Jt as c,S as l,X as u,Y as ee,Yt as te,Zt as ne,at as d,b as re,dt as ie,f,h as p,i as m,in as ae,it as oe,j as se,nn as ce,nt as le,p as h,s as ue,t as de,ut as fe,w as pe,yt as me,zt as he}from"./lib-DqD8nbyX.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DrLnzyHO.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-r-G4CkRK.js";import{n as we}from"./Title-BLA0tM3g.js";import{t as Te}from"./useChartExport-DtPNpc9M.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-Cj4eIYC_.js";import{t as Ne}from"./Shape-gDVRWM6n.js";import{l as Pe,t as Fe}from"./useResponsive-D2CPcpda.js";import{t as Ie}from"./DefGrad-DKMq1REY.js";import{t as Le}from"./BaseLegendToggle-BOcw1ke8.js";import{t as Re}from"./A11yDataTable-DWNlWXzs.js";import{t as ze}from"./useUserOptionState-CXlFnwPv.js";import{t as Be}from"./useChartAccessibility-DOMuYJfm.js";import{n as Ve,t as He}from"./labelUtils-DXiFpsZl.js";import{t as Ue}from"./vue_ui_donut-T5PeOqvf.js";import{t as We}from"./Legend-D8NunRPr.js";import{Fragment as g,Teleport as Ge,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createSlots as Ke,createTextVNode as qe,createVNode as Je,defineAsyncComponent as Ye,guardReactiveProps as Xe,mergeProps as Ze,nextTick as Qe,normalizeClass as $e,normalizeProps as et,normalizeStyle as S,onBeforeUnmount as tt,onMounted as nt,openBlock as C,ref as w,renderList as T,renderSlot as E,resolveDynamicComponent as rt,shallowRef as it,toDisplayString as D,toRefs as at,unref as O,useSlots as ot,vShow as st,watch as ct,withCtx as k,withDirectives as lt}from"vue";function ut(e){let{FINAL_CONFIG:t,noGhostDonut:n,svg:r,padding:i,labels_inline_fontSize:a,minSize:o,findArcMidpoint:s,calcMarkerOffsetX:c,calcMarkerOffsetY:l,animatingIndex:u,segregated:ee,isSmallArc:te}=e;return{smallArcLayoutsClassic:_(()=>{if(t.value.type!==`classic`)return{};let e={},ne=n.value||[];if(!ne.length)return e;let d=r.value.width/2,re=r.value.height/2,ie=i.value.top+16,f=r.value.height-i.value.bottom-16,p=a.value,m=p/3,ae=p*1.5,oe=d-(o.value+6),se=d+(o.value+6),ce=!!t.value.style.chart.layout.curvedMarkers;function le({midX:e,midY:t,bandX:n,bandY:r}){if(!ce)return`M ${e} ${t} L ${e} ${r} L ${n} ${r}`;let i=n<d?-1:1,a=n-e,o=r-t,s=Math.sqrt(a*a+o*o)||1,c=e-d,l=t-re,u=Math.sqrt(c*c+l*l)||1,ee=c/u,te=l/u,ne=u+9;function ie({x:e,y:t}){let n=e-d,r=t-re,i=Math.sqrt(n*n+r*r)||1;if(i>=ne)return{x:e,y:t};let a=ne/i;return{x:d+n*a,y:re+r*a}}if(s<56){let i=a/s,c=-(o/s),l=i,u=(e+n)*.5,ne=(t+r)*.5,f=u+c,p=ne+l,m=(f-d)*(f-d)+(p-re)*(p-re),ae=u-c,oe=ne-l;(ae-d)*(ae-d)+(oe-re)*(oe-re)>m&&(c=-c,l=-l);let se=.78,ce=e+a*se,le=t+o*se,h=Math.max(0,Math.min(1,(s-18)/44)),ue=h*h*(3-2*h),de=2.5+ue*4,fe=1+ue*2.5;de*=.9;let pe=ie({x:ce+c*de+ee*fe,y:le+l*de+te*fe});return`M ${e} ${t} Q ${pe.x} ${pe.y} ${n} ${r}`}let f=s*.34;f<20&&(f=20),f>46&&(f=46);let p=s*.46;p<22&&(p=22),p>70&&(p=70);let m={x:e+ee*f,y:t+te*f},ae=d+i*Math.max(Math.abs(n-d),ne),oe={x:n-i*Math.min(p,Math.abs(ae-n)*.75),y:r},se=ie(m),le=ie(oe);return`M ${e} ${t} C ${se.x} ${se.y} ${le.x} ${le.y} ${n} ${r}`}function h(e){let t=String(e??``).split(/\n/g),n=Math.max(0,t.length-1)*(p*1.2);return ae+n}function ue({arc:e,index:t}){let{x:n,y:r}=s(e.path);return{arc:e,index:t,midX:n,midY:r,inlineMarkerX:c(e).x,inlineMarkerY:l(e)-3.5,labelHeight:h(e.name)}}function de(e){let{arc:t}=e,n=t.seriesIndex??0;return u.value===n||ee.value.includes(n)?!1:te(t,n)}function fe(e){let t=e.inlineMarkerY<re,n=e.inlineMarkerX<d;return t&&n?`TL`:t&&!n?`TR`:!t&&n?`BL`:`BR`}function pe(e,t){if(t.startsWith(`T`)){e.sort((e,t)=>e.inlineMarkerY-t.inlineMarkerY||e.index-t.index);return}e.sort((e,t)=>t.inlineMarkerY-e.inlineMarkerY||e.index-t.index)}function me({side:e,markerX:t,markerY:n,labelY:r,connectorPath:i}){return{side:e,labelX:e===`left`?t-8:t+8,labelY:r+m,textAnchor:e===`left`?`end`:`start`,markerX:t,markerY:n,connectorPath:i}}function he({candidateList:t,side:n,bandMarkerX:r,startY:i,direction:a}){let o=i;t.forEach(t=>{let{index:i,midX:s,midY:c,labelHeight:l}=t,u;a===`down`?(u=o,o+=l):(o-=l,u=o);let ee=u,te=le({midX:s,midY:c,bandX:r,bandY:ee});e[i]=me({side:n,markerX:r,markerY:ee,labelY:u,connectorPath:te})})}let ge=ne.map((e,t)=>ue({arc:e,index:t})).filter(de),_e={TL:[],TR:[],BL:[],BR:[]};return ge.forEach(e=>{_e[fe(e)].push(e)}),Object.keys(_e).forEach(e=>{pe(_e[e],e)}),he({candidateList:_e.TL,side:`left`,bandMarkerX:oe,startY:ie,direction:`down`}),he({candidateList:_e.TR,side:`right`,bandMarkerX:se,startY:ie,direction:`down`}),_e.BL.length>1&&he({candidateList:_e.BL,side:`left`,bandMarkerX:oe,startY:f,direction:`up`}),_e.BR.length>1&&he({candidateList:_e.BR,side:`right`,bandMarkerX:se,startY:f,direction:`up`}),e})}}var dt=/* @__PURE__ */ e({default:()=>En}),ft=[`id`],pt=[`id`],mt=[`id`],ht={style:{position:`relative`}},gt=[`xmlns`,`aria-describedby`,`viewBox`],_t=[`width`,`height`],vt={key:1},yt={key:2},bt=[`id`],xt=[`id`],St=[`id`],Ct=[`flood-color`],wt=[`id`],Tt=[`flood-color`],Et=[`d`,`stroke`,`filter`],Dt=[`d`,`stroke`,`filter`],Ot=[`cx`,`cy`,`r`,`fill`,`filter`],kt={key:6},At=[`stroke`,`d`],jt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Mt={key:0},Nt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Pt={key:0},Ft=[`stroke`,`d`],It={key:0},Lt=[`d`,`stroke`,`stroke-width`,`filter`],Rt={key:1},zt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Bt=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],Vt={key:1},Ht=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ut=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Wt={key:0},Gt=[`d`,`fill`,`stroke`,`stroke-width`],Kt=[`cx`,`cy`,`r`,`stroke`],qt=[`cx`,`cy`,`r`,`fill`],Jt=[`cx`,`cy`,`r`],Yt={key:0},Xt=[`d`,`stroke`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Zt={key:1},Qt=[`cx`,`cy`,`r`],$t=[`x`,`y`,`fill`,`font-size`],en=[`x`,`y`,`fill`,`font-size`],tn=[`x`,`y`,`fill`,`font-size`],nn=[`x`,`y`,`fill`,`font-size`],rn=[`filter`,`opacity`],an={key:0},on=[`x`,`y`],sn={key:1},cn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],ln=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],un=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],dn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],fn=[`cx`,`cy`,`fill`,`stroke`,`filter`,`onClick`,`onMouseenter`,`onMouseleave`],pn=[`text-anchor`,`x`,`y`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],mn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`],hn=[`text-anchor`,`x`,`y`,`fill`,`font-size`,`onClick`,`onMouseenter`,`onMouseleave`,`innerHTML`],gn={key:2},_n=[`x`,`y`,`width`],vn=[`x`,`y`,`width`],yn={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},bn={key:5,class:`vue-data-ui-watermark`},xn=[`id`],Sn=[`onClick`],Cn={key:8,class:`vue-ui-donut-hollow`},wn={key:0},Tn={key:1},En=/*#__PURE__*/ be({__name:`vue-ui-donut`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:dt}){let En=Ye(()=>import(`./Tooltip-Iyb_S6oQ.js`)),Dn=Ye(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),On=Ye(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),kn=Ye(()=>import(`./DataTable-BcVZLSs8.js`)),An=Ye(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),jn=Ye(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Mn=Ye(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Nn=Ye(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_donut:Pn}=t(),{isThemeValid:Fn,warnInvalidTheme:In}=Se(),Ln=ot(),A=e,Rn=_({get(){return!!A.dataset&&A.dataset.length},set(e){return e}}),zn=it(null),Bn=w(null),Vn=w(null),Hn=w(null),Un=it(null),Wn=it(null),Gn=it(null),Kn=it(null),qn=it(null),Jn=it(null),Yn=w(0),Xn=w(0),Zn=w(0),Qn=w(!1),$n=w(null),er=w(null),tr=w(null),nr=w({x:0,y:0}),rr=w(`pointer`),ir=w(!1),ar=_({get:()=>P.value.style.chart.layout.labels.percentage.fontSize,set:e=>e}),j=_({get:()=>P.value.style.chart.layout.labels.name.fontSize,set:e=>e}),or=_({get:()=>P.value.style.chart.layout.labels.dataLabels.smallArcClusterFontSize,set:e=>e}),sr=!1,cr=()=>{P.value.autoSize&&!sr&&(sr=!0,requestAnimationFrame(()=>{sr=!1;let e=P.value,t=Bn.value,n=z.value;if(!e.autoSize||!t||!n)return;let[r,i,a,o]=n.getAttribute(`viewBox`).split(` `).map(Number),s={x:r,y:i,width:a,height:o},c=[{selector:`.vue-data-ui-datalabel-value`,baseSize:F.value.percentage.fontSize,minSize:F.value.percentage.minFontSize,sizeRef:ar},{selector:`.vue-data-ui-datalabel-name`,baseSize:F.value.name.fontSize,minSize:F.value.name.minFontSize,sizeRef:j},{selector:`.vue-data-ui-datalabel-inline`,baseSize:F.value.dataLabels.smallArcClusterFontSize,minSize:F.value.name.minFontSize,sizeRef:or}];c.map(e=>t.querySelectorAll(e.selector).length).reduce((e,t)=>e+t,0)!==0&&c.forEach(({selector:e,baseSize:n,minSize:r,sizeRef:i})=>{t.querySelectorAll(e).forEach(e=>{i.value=ue({el:e,bounds:s,currentFontSize:n,minFontSize:r,attempts:200,padding:1})})})}))};nt(async()=>{Qn.value=!0,dr(),requestAnimationFrame(cr)});let lr;nt(()=>{zn.value&&(lr=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){cr();break}}}),lr.observe(zn.value.parentElement))}),tt(()=>{lr?.disconnect()}),tt(()=>{Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect())});let ur=_(()=>P.value.debug);function dr(){if(he(A.dataset)?(d({componentName:`VueUiDonut`,type:`dataset`,debug:ur.value}),Rn.value=!1,xr.value=!0):(A.dataset.forEach((e,t)=>{me({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{d({componentName:`VueUiDonut`,type:`datasetSerieAttribute`,property:e,index:t,debug:ur.value}),Rn.value=!1,xr.value=!0})}),ur.value&&A.dataset.forEach((e,t)=>{(!e.name||e.name===``)&&d({componentName:`VueUiDonut`,type:`datasetAttributeEmpty`,property:`name`,index:t})})),he(A.dataset)||(xr.value=P.value.loading),P.value.responsive){let e=Pe(()=>{let{width:e,height:t}=Fe({chart:zn.value,title:P.value.style.chart.title.text?Un.value:null,legend:P.value.style.chart.legend.show?Wn.value:null,source:qn.value,noTitle:Jn.value,padding:P.value.autoSize?void 0:Nr.value});requestAnimationFrame(()=>{V.value.width=e,V.value.height=t,cr()})});Gn.value&&(Kn.value&&Gn.value.unobserve(Kn.value),Gn.value.disconnect()),Gn.value=new ResizeObserver(e),Kn.value=zn.value.parentNode,Gn.value.observe(Kn.value)}}let M=w(u()),fr=w(!1),pr=w(``),N=w(null),mr=w(0);function hr(){let e=xe({userConfig:A.config,defaultConfig:Pn}),t={},n=e.theme;if(!n)t=e;else if(!Fn.value(e))In(e),t=e;else{let r=xe({userConfig:Ue[n]||A.config,defaultConfig:e});t={...xe({userConfig:A.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:ce[n]||o}}return t}let P=w(hr()),F=_(()=>P.value.style.chart.layout.labels),I=_(()=>P.value.style.chart.layout.donut),gr=_(()=>P.value.style.chart.layout),L=_(()=>P.value.style.chart);ve({config:()=>P.value,dataset:()=>A.dataset,component:`VueUiDonut`,rules:[ye.singleSeries,ye.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let _r=_(()=>P.value.userOptions.useCursorPointer),vr=_(()=>ae({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1},hollow:{average:{show:!1},total:{show:!1}},value:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:P.value.skeletonConfig??{}})),{loading:yr,FINAL_DATASET:br,manualLoading:xr,skeletonDataset:Sr}=ge({...at(A),FINAL_CONFIG:P,prepareConfig:hr,skeletonDataset:A.config?.skeletonDataset??[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}],skeletonConfig:ae({defaultConfig:P.value,userConfig:vr.value})}),R=w(!0),Cr=w(0),wr=w(!1),Tr=null;function Er(e=1e3){return new Promise(t=>{let n=performance.now();function r(i){let a=i-n,o=Math.min(a/e,1),s=oe(o);Cr.value=s,o<1?Tr=requestAnimationFrame(r):(Cr.value=1,Tr=null,t())}Tr!==null&&cancelAnimationFrame(Tr),Cr.value=0,Tr=requestAnimationFrame(r)})}ct(()=>yr.value,async e=>{if(e||wr.value)return;let t=br.value===Sr,n=P.value.startAnimation?.show;!t&&n?(wr.value=!0,await Er(P.value.startAnimation.durationMs||1e3)):Cr.value=1,R.value=!1},{immediate:!0});let{userOptionsVisible:Dr,setUserOptionsVisibility:Or,keepUserOptionState:kr}=ze({config:P.value}),{svgRef:z}=Be({config:L.value.title});function Ar(){Or(!0)}function jr(){Or(!1)}let Mr=ne(A.config);ct(()=>A.config,(e,t)=>{let n=ne(e),r=n!==Mr;Mr=n;let i=hr();if(!r){P.value.style.chart.tooltip=i.style.chart.tooltip,B.value.showTooltip=P.value.style.chart.tooltip.show;return}yr.value||(P.value=i),Dr.value=!P.value.userOptions.showOnChartHover,dr(),Yn.value+=1,Xn.value+=1,Zn.value+=1,B.value.dataLabels.show=F.value.dataLabels.show,B.value.showTable=P.value.table.show,B.value.showTooltip=L.value.tooltip.show,V.value.height=L.value.height,V.value.width=L.value.width},{deep:!0});let Nr=_(()=>{let{top:e,right:t,bottom:n,left:r}=L.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}}),{isPrinting:Pr,isImaging:Fr,generatePdf:Ir,generateImage:Lr}=Me({elementId:`donut__${M.value}`,fileName:L.value.title.text||`vue-ui-donut`,options:P.value.userOptions.print}),Rr=_(()=>P.value.userOptions.show&&!L.value.title.text),zr=_(()=>pe(P.value.customPalette)),B=w({dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show});ct(P,()=>{B.value={dataLabels:{show:F.value.dataLabels.show},showTable:P.value.table.show,showTooltip:L.value.tooltip.show}},{immediate:!0});let V=w({height:L.value.height,width:L.value.width}),Br=_(()=>{if(P.value.pie)return G.value;let e=I.value.strokeWidth/512,t=Math.min(V.value.width,V.value.height)*e,n=t>G.value?G.value:t;return Math.max(n,12*(1+e))}),Vr=dt,H=_(()=>br.value.sort((e,t)=>{let n=Array.isArray(e.values)?e.values.reduce((e,t)=>e+t,0):e.value??0,r=Array.isArray(t.values)?t.values.reduce((e,t)=>e+t,0):t.value??0;return e.ghost&&!t.ghost?1:t.ghost&&!e.ghost?-1:r-n}).map((e,t)=>({name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:re(e.values.reduce((e,t)=>e+t,0)),absoluteValues:e.values,comment:e.comment||``,patternIndex:t,seriesIndex:t,ghost:!1,pattern:`pattern_${M.value}_${t}`})));ct(()=>A.dataset,e=>{Array.isArray(e)&&e.length>0&&(xr.value=!1)},{immediate:!0});let U=it(H.value);ct(()=>H.value,e=>{U.value=e,requestAnimationFrame(cr)});function Hr(){return H.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let W=w([]),Ur=w(!1),Wr=w(null);function Gr(){Vr(`selectLegend`,$r.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function Kr({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=oe}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),u=a(l);r(e+(t-e)*u,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}function qr(){W.value.length?W.value=[]:ei.value.forEach((e,t)=>{W.value.push(t)}),Gr()}function Jr(e){let t=H.value.find((t,n)=>n===e),n=U.value.find((t,n)=>n===e).value;if(W.value.includes(e)){W.value=W.value.filter(t=>t!==e);let r=t.value;function i(){U.value=U.value.map((t,n)=>e===n?{...t,value:r}:t),Gr()}function a(){Ur.value=!0,Wr.value=e,Kr({from:n,to:r,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{i(),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?a():(i(),requestAnimationFrame(cr))}else if(W.value.length<H.value.length-1){function t(){W.value.push(e),U.value=U.value.map((t,n)=>e===n?{...t,value:0}:t),Gr()}function r(){Ur.value=!0,Wr.value=e,Kr({from:n,to:0,duration:P.value.serieToggleAnimation.durationMs,onUpdate:(t,n)=>{U.value=U.value.map((n,r)=>e===r?{...n,value:t}:n),requestAnimationFrame(cr)},onDone:()=>{t(),requestAnimationFrame(cr),Ur.value=!1,Wr.value=null}})}P.value.serieToggleAnimation.show&&P.value.type===`classic`?r():t()}}function Yr(e){return H.value.length?H.value.find(t=>t.name===e)||(ur.value&&console.warn(`VueUiDonut - Series name not found "${e}"`),null):(ur.value&&console.warn(`VueUiDonut - There are no series to show.`),null)}function Xr(e){let t=Yr(e);t!==null&&W.value.includes(t.seriesIndex)&&Jr(t.seriesIndex)}function Zr(e){let t=Yr(e);t!==null&&(W.value.includes(t.seriesIndex)||Jr(t.seriesIndex))}let Qr=_(()=>br.value.reduce((e,t)=>e+t.values.reduce((e,t)=>e+t,0),0)),$r=_(()=>{if(R.value&&!yr.value){let e=Cr.value,t=H.value.map(t=>({...t,value:t.value*e,color:t.color,ghost:!1})),n=Qr.value*(1-e);return n>0&&t.push({name:`__ghost__`,value:n,color:`transparent`,ghost:!0}),t}return U.value.forEach(e=>{if([null,void 0].includes(e.values))return{...e,values:[]}}),U.value.map((e,t)=>({...e,seriesIndex:t})).filter((e,t)=>!W.value.includes(t))}),ei=_(()=>br.value.map((e,t)=>{let n=(e.values||[]).reduce((e,t)=>e+t,0),r=n/br.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0);return{name:e.name,color:l(e.color)||zr.value[t]||o[t]||o[t%o.length],value:n,shape:`circle`,patternIndex:t,proportion:r}}).map((e,t)=>{let r=m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,index:t}),i=m(F.value.percentage.formatter,di(e),n({v:di(e),s:`%`,r:L.value.legend.roundingPercentage})),a=Di({val:r,percentage:W.value.includes(t)?`${Ei(e.proportion*100)}%`:i,showVal:L.value.legend.showValue,showPercentage:L.value.legend.showPercentage,config:L.value.legend});return{...e,opacity:W.value.includes(t)?.5:1,segregate:()=>!Ur.value&&Jr(t),isSegregated:W.value.includes(t),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${a}`}})),ti=_(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``})),G=_(()=>{let e=I.value.radiusRatio,t=Math.max(.1,Math.min(.50001,e)),n=Math.min(V.value.width*t,V.value.height*t);return Math.max(12,n)}),K=_(()=>s({series:$r.value},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),ni=_(()=>Math.abs($r.value.map(e=>e.value).reduce((e,t)=>e+t,0))>0),ri=_(()=>s({series:[{value:1,color:I.value.emptyFill,name:`_`,seriesIndex:0,patternIndex:-1,ghost:!1,absoluteValues:[1]}]},V.value.width/2,V.value.height/2,G.value,G.value,1.99999,2,1,360,105.25,Br.value)),q=_(()=>K.value.filter(e=>!e.ghost)),J=_(()=>{let e=Math.max(...$r.value.map(e=>e.value)),t=$r.value.map(t=>t.value/e);return se({series:t,center:{x:V.value.width/2,y:V.value.height/2},maxRadius:Math.min(V.value.width,V.value.height)/3,hasGhost:R.value})});function ii(e){return e.x>V.value.width/2+6?`start`:e.x<V.value.width/2-6?`end`:`middle`}function ai(e){return e.middlePoint.y>V.value.height/2?r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:100,centerX:V.value.width/2,centerY:V.value.height/2}).y:r({initX:e.middlePoint.x,initY:e.middlePoint.y,offset:0,centerX:V.value.width/2,centerY:V.value.height/2}).y-100}function Y(e){return e.proportion*100>F.value.dataLabels.hideUnderValue}function oi(e,t){let n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold,i=(li.value[t]??e.proportion??0)*100;return i>n&&i<=r}let{smallArcLayoutsClassic:X}=ut({FINAL_CONFIG:P,noGhostDonut:q,svg:V,padding:Nr,labels_inline_fontSize:or,minSize:G,findArcMidpoint:fe,calcMarkerOffsetX:f,calcMarkerOffsetY:h,animatingIndex:Wr,segregated:W,isSmallArc:oi});function si(e,t){let r=e.value/ci(t);return isNaN(r)?0:m(F.value.percentage.formatter,r*100,n({v:r*100,s:`%`,r:F.value.percentage.rounding}),{datapoint:e})}function ci(e){return[...e].map(e=>e.value).reduce((e,t)=>e+t,0)}let Z=_(()=>$r.value.map(e=>e.value).reduce((e,t)=>e+t,0)),li=_(()=>{let e=H.value.reduce((e,t)=>e+t.value,0);return e<=0?[]:H.value.map(t=>t.value/e)}),ui=_(()=>Z.value/$r.value.length);function di(e){return Ur.value?e.proportion*100:e.value/Z.value*100}let fi=w(null),pi=w(!1);function mi({datapoint:e,seriesIndex:t}){P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t}),fr.value=!1,N.value=null,tr.value=null,rr.value=`pointer`}function Q({datapoint:e,relativeIndex:t,seriesIndex:r,show:i=!1,triggerMode:o=`pointer`}){P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:r}),rr.value=o,tr.value=t,fi.value={datapoint:e,seriesIndex:r,config:P.value,series:H.value},fr.value=i,N.value=t;let s=``,l=L.value.tooltip.customFormat;if(pi.value=!1,a(l))try{let t=l({seriesIndex:r,datapoint:e,series:H.value,config:P.value});typeof t==`string`&&(pr.value=t,pi.value=!0)}catch{console.warn(`Custom format cannot be applied.`),pi.value=!1}pi.value||(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${L.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/>${Ln.pattern?`<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${M.value}_${r})"/>`:``}</svg>`,s+=`<b>${Di({showVal:L.value.tooltip.showValue,showPercentage:L.value.tooltip.showPercentage,val:`<span>${m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:L.value.tooltip.roundingValue}),{datapoint:e,relativeIndex:t,seriesIndex:r})}</span>`,percentage:m(F.value.percentage.formatter,e.proportion*100,n({v:e.proportion*100,s:`%`,r:L.value.tooltip.roundingPercentage}),{datapoint:e,relativeIndex:t,seriesIndex:r}),config:L.value.tooltip})}</b></div>`,L.value.comments.showInTooltip&&e.comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${c(e.color,12.5)}; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${e.color}">${e.comment}</div>`),pr.value=`<div>${s}</div>`)}function hi(e,t){let n=X.value[t];if(n)return{textAnchor:n.textAnchor,x:n.labelX,y:n.labelY};let r=f(e,!0,12);return{textAnchor:r.anchor,x:r.x,y:h(e)}}function gi(e,t,n){let{textAnchor:r,x:i}=hi(e,t),a=Oi(e),o=`
2
- <tspan
3
- class="vue-data-ui-datalabel-inline"
4
- fill="${F.value.percentage.color}"
5
- font-size="${n?or.value:ar.value}px"
6
- style="font-weight:${F.value.percentage.bold?`bold`:``}"
7
- >${a}</tspan>
8
- `,s=String(e.name??``).split(/\n/g),c=``;return s.forEach((e,t)=>{c+=t===0?`
9
- <tspan
10
- class="${n?`vue-data-ui-datalabel-inline`:`vue-data-ui-datalabel-name`}"
11
- fill="${F.value.name.color}"
12
- font-size="${n?or.value:j.value}px"
13
- style="font-weight:${F.value.name.bold?`bold`:``}"
14
- >${e}</tspan>
15
- `:`
16
- <tspan
17
- class="${n?`vue-data-ui-datalabel-inline`:`vue-data-ui-datalabel-name`}"
18
- x="${i}"
19
- dy="${(n?or.value:j.value)*1.2}"
20
- fill="${F.value.name.color}"
21
- font-size="${n?or.value:j.value}px"
22
- style="font-weight:${F.value.name.bold?`bold`:``}"
23
- >${e}</tspan>
24
- `}),r===`end`?`${F.value.name.show?c:``}${o}`:`${o}${F.value.name.show?c:``}`}function _i(e,t){let n=J.value[t].middlePoint,i=ii(n),a=r({initX:n.x,initY:n.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}),o=a.x;a.y;let s=Oi(e),c=`
25
- <tspan
26
- class="vue-data-ui-datalabel-value"
27
- fill="${F.value.percentage.color}"
28
- font-size="${ar.value}px"
29
- style="font-weight:${F.value.percentage.bold?`bold`:`normal`}"
30
- >${s}</tspan>
31
- `,l=String(e.name??``).split(/\n/g),u=``;return l.forEach((e,t)=>{u+=t===0?`
32
- <tspan
33
- class="vue-data-ui-datalabel-name"
34
- fill="${F.value.name.color}"
35
- font-size="${j.value}px"
36
- style="font-weight:${F.value.name.bold?`bold`:`normal`}"
37
- >${e}</tspan>
38
- `:`
39
- <tspan
40
- class="vue-data-ui-datalabel-name"
41
- x="${o}"
42
- dy="${j.value*1.2}"
43
- fill="${F.value.name.color}"
44
- font-size="${j.value}px"
45
- style="font-weight:${F.value.name.bold?`bold`:`normal`}"
46
- >${e}</tspan>
47
- `}),i===`end`?`${F.value.name.show?u:``}${c}`:`${c}${F.value.name.show?u:``}`}function vi(e){return P.value.useBlurOnHover&&![null,void 0].includes(N.value)&&N.value!==e?`url(#blur_${M.value})`:``}function yi(e){if(!Ur.value||Wr.value===null||e.seriesIndex!==Wr.value)return 1;let t=(e.proportion??0)*100,n=F.value.dataLabels.hideUnderValue,r=F.value.dataLabels.smallArcClusterThreshold+2,i=n;return t>=r?1:t<=i?0:(t-i)/(r-i)}let bi=_(()=>({head:$r.value.map(e=>({name:e.name,color:e.color})),body:$r.value.map(e=>e.value)}));function xi(e=null){Qe(()=>{let t=bi.value.head.map((e,t)=>[[e.name],[bi.value.body[t]],[isNaN(bi.value.body[t]/Z.value)?`-`:bi.value.body[t]/Z.value*100]]),n=[[L.value.title.text],[L.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),r=i(n);e?e(r):le({csvContent:r,title:L.value.title.text||`vue-ui-donut`})})}let Si=_(()=>{let e=[`__SUM__`,n({p:F.value.dataLabels.prefix,v:Z.value,s:F.value.dataLabels.suffix,r:P.value.table.td.roundingValue}),`100%`],t=bi.value.head.map((e,t)=>[{color:e.color,name:e.name||`-`},bi.value.body[t],isNaN(bi.value.body[t]/Z.value)?`-`:(bi.value.body[t]/Z.value*100).toFixed(P.value.table.td.roundingPercentage)+`%`]),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],head:e,body:t,a11yBody:r,config:i}}),Ci=w(!1);function wi(e){Ci.value=e,mr.value+=1}let Ti=_(()=>/^((?!chrome|android).)*safari/i.test(navigator.userAgent));function Ei(e){return Ve({num:e,rounding:L.value.legend.roundingPercentage})}function Di({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return He({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Oi(e){return Di({val:m(F.value.value.formatter,e.value,n({p:F.value.dataLabels.prefix,v:e.value,s:F.value.dataLabels.suffix,r:F.value.value.rounding}),{datapoint:e}),percentage:si(e,q.value),showVal:F.value.value.show,showPercentage:F.value.percentage.show,config:F.value.dataLabels})}function $(e,t){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.seriesIndex}),Vr(`selectDatapoint`,{datapoint:e,index:t})}function ki(){B.value.showTable=!B.value.showTable}function Ai(){B.value.dataLabels.show=!B.value.dataLabels.show}function ji(){B.value.showTooltip=!B.value.showTooltip}let Mi=w(!1);function Ni(){Mi.value=!Mi.value}let Pi=Ce(zn,()=>L.value.title.text);function Fi(){if(!Bn.value)return;let{x:e,y:t,width:n,height:r}=Bn.value.getBBox();z.value&&z.value.setAttribute(`viewBox`,`${e} ${t} ${n+Math.min(0,e)} ${r+Math.min(0,t)}`)}let Ii=_(()=>De({config:P,style:L,mutableConfig:B,dialog:Nn,accordion:On,isFullscreen:Ci,parent:zn,maxWidth:500,isCursorPointer:_r}));ct(()=>B.value.showTable,e=>Ee(e,P,$n));function Li(){B.value.showTable=!1,er.value&&er.value.setTableIconState(!1)}let Ri=_(()=>ei.value.map(e=>({...e,name:e.display}))),zi=_(()=>L.value.backgroundColor),Bi=_(()=>L.value.legend),Vi=_(()=>L.value.title),{isCallbackImaging:Hi,isCallbackSvg:Ui,generateSvg:Wi,onGenerateImage:Gi}=Te({svg:z,title:Vi,legend:Bi,legendItems:Ri,backgroundColor:zi,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Lr});async function Ki(){if(Vr(`copyAlt`,{config:P.value,dataset:U.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:U.value}))}function qi(){tr.value=null,ir.value=!0}function Ji(){tr.value=null,rr.value=`pointer`,fr.value=!1,N.value=null,ir.value=!1}function Yi(e){if(!z.value||Mi.value||document.activeElement!==z.value||!q.value.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){tr.value=null,rr.value=`pointer`,fr.value=!1,N.value=null;return}if(r){if(tr.value===null)return;let e=q.value[tr.value];if(!e)return;$(e,tr.value);return}let a=tr.value,o=N.value,s=a!==null&&a>=0&&a<q.value.length,c=o!==null&&o>=0&&o<q.value.length;s?n?(a+=1,a>=q.value.length&&(a=0)):t&&(--a,a<0&&(a=q.value.length-1)):c?(a=n?o+1:o-1,a>=q.value.length&&(a=0),a<0&&(a=q.value.length-1)):a=n?0:q.value.length-1;let l=q.value[a];l&&(tr.value=a,Xi(a),Q({datapoint:l,relativeIndex:a,seriesIndex:l.seriesIndex,show:!0,triggerMode:`keyboard`}))}function Xi(e){if(!Number.isFinite(e)||!z.value)return;let t=V.value.width/2,n=V.value.height/2;if(P.value.type===`classic`){let r=q.value[e];if(!r?.arcSlice)return;let i=fe(r.arcSlice);if(!i)return;t=i.x,n=i.y}else{let r=J.value[e]?.middlePoint;if(!r)return;t=r.x,n=r.y}let r=z.value.getBoundingClientRect();nr.value={x:r.left+t/V.value.width*r.width,y:r.top+n/V.value.height*r.height}}let Zi=_(()=>({headers:Si.value?.colNames??[],rows:Si.value?.a11yBody??[]}));return be({autoSize:Fi,getData:Hr,getImage:Pi,generatePdf:Ir,generateCsv:xi,generateImage:Lr,generateSvg:Wi,hideSeries:Zr,showSeries:Xr,toggleTable:ki,toggleLabels:Ai,toggleTooltip:ji,toggleAnnotator:Ni,toggleFullscreen:wi,copyAlt:Ki}),(t,i)=>(C(),b(`div`,{ref_key:`donutChart`,ref:zn,class:$e(`vue-data-ui-component vue-ui-donut ${Ci.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:S(`font-family:${P.value.style.fontFamily};width:100%; ${P.value.responsive?`height:100%;`:``} text-align:center;background:${L.value.backgroundColor}`),id:`donut__${M.value}`,onMouseenter:Ar,onMouseleave:jr},[x(`div`,{id:`chart-instructions-${M.value}`,class:`sr-only`},[x(`p`,null,D(P.value.a11y.translations.keyboardNavigation),1)],8,pt),Zi.value?.rows?.length?(C(),v(Re,{key:0,uid:M.value,head:Zi.value.headers,body:Zi.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):y(``,!0),P.value.userOptions.buttons.annotator&&O(z)?(C(),v(O(An),{key:1,color:L.value.color,backgroundColor:L.value.backgroundColor,active:Mi.value,svgRef:O(z),isCursorPointer:_r.value,palette:P.value.userOptions.annotatorPalette,onClose:Ni},Ke({_:2},[T(O(ke),e=>({name:e,fn:k(n=>[E(t.$slots,e,et(Xe(O(Oe)(e,n))),void 0,!0)])}))]),1032,[`color`,`backgroundColor`,`active`,`svgRef`,`isCursorPointer`,`palette`])):y(``,!0),E(t.$slots,`userConfig`,{},void 0,!0),Rr.value?(C(),b(`div`,{key:2,ref_key:`noTitle`,ref:Jn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):y(``,!0),L.value.title.text?(C(),b(`div`,{key:3,ref_key:`chartTitle`,ref:Un,style:`width:100%;background:transparent;padding-bottom:24px`},[(C(),v(we,{key:`title_${Yn.value}`,config:{title:{cy:`donut-div-title`,...L.value.title},subtitle:{cy:`donut-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],512)):y(``,!0),x(`div`,{id:`legend-top-${M.value}`},null,8,mt),P.value.userOptions.show&&Rn.value&&(O(kr)||O(Dr))?(C(),v(O(jn),{ref_key:`userOptionsRef`,ref:er,key:`user_option_${mr.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:O(Pr),isImaging:O(Fr),uid:M.value,hasTooltip:L.value.tooltip.show&&P.value.userOptions.buttons.tooltip,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasLabel:P.value.userOptions.buttons.labels,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:Ci.value,chartElement:zn.value,position:P.value.userOptions.position,callbacks:P.value.userOptions.callbacks,isTooltip:B.value.showTooltip,titles:{...P.value.userOptions.buttonTitles},hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Mi.value,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:_r.value,onToggleFullscreen:wi,onGeneratePdf:O(Ir),onGenerateCsv:xi,onGenerateImage:O(Gi),onGenerateSvg:O(Wi),onToggleTable:ki,onToggleLabels:Ai,onToggleTooltip:ji,onToggleAnnotator:Ni,onCopyAlt:Ki,style:S({visibility:O(kr)?O(Dr)?`visible`:`hidden`:`visible`})},Ke({_:2},[T(O(Ae)(t.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),e=>({name:e,fn:k(n=>[E(t.$slots,e,et(Xe(O(je)(e,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.callbacks.isTooltip.titles.hasAnnotator.isAnnotation.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):y(``,!0),x(`div`,ht,[(C(),b(`svg`,{ref_key:`svgRef`,ref:z,xmlns:O(de),"aria-describedby":`chart-instructions-${M.value}`,class:$e({"vue-data-ui-fullscreen--on":Ci.value,"vue-data-ui-fulscreen--off":!Ci.value,"vue-data-ui-svg":!0}),viewBox:`0 0 ${V.value.width<=0?10:V.value.width} ${V.value.height<=0?10:V.value.height}`,style:S(`max-width:100%; overflow: visible; background:transparent;color:${L.value.color};${Nr.value.css}`),tabindex:`0`,onFocus:qi,onBlur:Ji,onKeydown:Yi},[x(`g`,{ref_key:`G`,ref:Bn,class:`vue-data-ui-g`},[Je(O(Mn)),t.$slots[`chart-background`]?(C(),b(`foreignObject`,{key:0,x:0,y:0,width:V.value.width<=0?10:V.value.width,height:V.value.height<=0?10:V.value.height,style:{pointerEvents:`none`}},[E(t.$slots,`chart-background`,{},void 0,!0)],8,_t)):y(``,!0),P.value.type===`classic`&&!isNaN(Br.value/G.value)?(C(),b(`defs`,vt,[L.value.useGradient?(C(),v(Ie,{key:0,t:`radial`,id:`gradient_${M.value}`,stops:[[`0%`,O(c)(L.value.backgroundColor,0),0],[`${(1-Br.value/G.value)*100}%`,O(c)(`#FFFFFF`,0),0],[`${(1-Br.value/G.value/2)*100}%`,O(c)(`#FFFFFF`,L.value.gradientIntensity),1],[`100%`,O(c)(L.value.backgroundColor,0),0]]},null,8,[`id`,`stops`])):y(``,!0)])):y(``,!0),P.value.type===`polar`?(C(),b(`defs`,yt,[(C(!0),b(g,null,T(J.value,(e,t)=>(C(),v(Ie,{t:`radial`,id:`polar_gradient_${t}_${M.value}`,key:`pg_${t}_${M.value}`,cx:(isNaN(e.middlePoint.x/V.value.width*100)?0:e.middlePoint.x/V.value.width*100)+`%`,cy:(isNaN(e.middlePoint.y/V.value.height*100)?0:e.middlePoint.y/V.value.height*100)+`%`,r:`62%`,stops:[[`0%`,O(te)(K.value[t].color,.05),L.value.gradientIntensity/100],[`100%`,K.value[t].color,1]]},null,8,[`id`,`cx`,`cy`,`stops`]))),128))])):y(``,!0),x(`defs`,null,[x(`filter`,{id:`blur_${M.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[x(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2,id:`blur_std_${M.value}`},null,8,xt),i[5]||=x(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)],8,bt),x(`filter`,{id:`shadow_${M.value}`,"color-interpolation-filters":`sRGB`},[x(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`10`,"flood-opacity":`0.5`,"flood-color":I.value.shadowColor},null,8,Ct)],8,St),x(`filter`,{id:`drop_shadow_${M.value}`,"color-interpolation-filters":`sRGB`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[x(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`3`,"flood-opacity":`1`,"flood-color":I.value.shadowColor},null,8,Tt)],8,wt)]),P.value.type===`classic`?(C(!0),b(g,{key:3},T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`g`,null,[Y(e)&&B.value.dataLabels.show?(C(),b(`path`,{key:0,d:O(X)[t]?.connectorPath||O(p)(e,{x:V.value.width/2,y:V.value.height/2},16,16,!1,!1,Br.value,12,gr.value.curvedMarkers),stroke:e.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`,filter:vi(t)},null,8,Et)):y(``,!0)]))),256)):y(``,!0),P.value.type===`polar`?(C(!0),b(g,{key:4},T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`g`,null,[Y(e)&&B.value.dataLabels.show?(C(),b(`path`,{key:0,d:`M ${O(r)({initX:J.value[t].middlePoint.x,initY:J.value[t].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).x},${O(r)({initX:J.value[t].middlePoint.x,initY:J.value[t].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).y} ${J.value[t].middlePoint.x},${J.value[t].middlePoint.y}`,stroke:e.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Dt)):y(``,!0)]))),256)):y(``,!0),P.value.type===`classic`&&I.value.useShadow?(C(),b(`circle`,{key:5,cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:L.value.backgroundColor,filter:`url(#shadow_${M.value})`},null,8,Ot)):y(``,!0),t.$slots.pattern?(C(),b(`g`,kt,[(C(!0),b(g,null,T(e.dataset,(e,n)=>(C(),b(`defs`,{key:`pattern-${e.patternIndex}`},[E(t.$slots,`pattern`,Ze({ref_for:!0},{seriesIndex:n,patternId:`pattern_${M.value}_${n}`}),void 0,!0)]))),128))])):y(``,!0),Z.value&&P.value.type===`classic`?(C(),b(g,{key:7},[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{stroke:L.value.backgroundColor,d:e.arcSlice,fill:`#FFFFFF`},null,8,At))),256)),(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t)},null,8,jt))),256)),t.$slots.pattern?(C(),b(`g`,Mt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:`url(#${e.pattern})`,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t)},null,8,Nt))),256))])):y(``,!0)],64)):y(``,!0),Z.value&&P.value.type===`polar`?(C(),b(g,{key:8},[K.value.length>1?(C(),b(`g`,Pt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,d:J.value[t].path,fill:`#FFFFFF`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Ft))),256)),I.value.useShadow?(C(),b(`g`,It,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:`transparent`,stroke:I.value.borderColorAuto?L.value.backgroundColor:gr.value.donut.borderColor,"stroke-width":I.value.borderWidth,filter:`url(#drop_shadow_${M.value})`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Lt))),256))])):y(``,!0),t.$slots.pattern?(C(),b(`g`,Rt,[(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:`url(#${e.pattern})`,stroke:I.value.borderColorAuto?L.value.backgroundColor:gr.value.donut.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,transformOrigin:`center`})},null,12,zt))),256))])):y(``,!0),(C(!0),b(g,null,T(q.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:J.value[t].path,fill:L.value.useGradient?`url(#polar_gradient_${t}_${M.value})`:e.color,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,"stroke-width":I.value.borderWidth,filter:vi(t),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,12,Bt))),256))])):(C(),b(`g`,Vt,[t.$slots.pattern?(C(),b(`circle`,{key:0,cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:`url(#pattern_${M.value}_${K.value[0].patternIndex})`,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Ht)):y(``,!0),x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:L.value.useGradient?`url(#polar_gradient_0_${M.value})`:K.value[0].color,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Ut)]))],64)):(C(),b(g,{key:9},[P.value.type===`classic`&&!ni.value?(C(),b(`g`,Wt,[(C(!0),b(g,null,T(ri.value,(e,t)=>(C(),b(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":I.value.borderWidth},null,8,Gt))),256))])):y(``,!0),x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:`transparent`,stroke:L.value.backgroundColor},null,8,Kt)],64)),L.value.useGradient&&P.value.type===`classic`?(C(),b(`circle`,{key:10,cx:V.value.width/2,cy:V.value.height/2,r:G.value<=0?10:G.value,fill:`url(#gradient_${M.value})`},null,8,qt)):y(``,!0),x(`circle`,{ref_key:`circle_hollow`,ref:Hn,style:{pointerEvents:`none`},fill:`none`,cx:V.value.width/2,cy:V.value.height/2,r:Math.max(.1,Br.value*1.7)},null,8,Jt),Z.value?(C(),b(g,{key:11},[K.value.length>1||P.value.type===`classic`?(C(),b(`g`,Yt,[(C(!0),b(g,null,T(K.value.filter(e=>!e.ghost),(e,t)=>(C(),b(`path`,{d:P.value.type===`classic`?e.arcSlice:J.value[t].path,stroke:I.value.borderColorAuto?L.value.backgroundColor:I.value.borderColor,fill:N.value===t?I.value.selectedColor:`transparent`,onMouseenter:n=>Q({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),onClick:n=>$(e,t)},null,40,Xt))),256))])):(C(),b(`g`,Zt,[x(`circle`,{cx:V.value.width/2,cy:V.value.height/2,r:G.value,fill:`transparent`,onMouseenter:i[0]||=e=>Q({datapoint:K.value[0],relativeIndex:0,seriesIndex:K.value[0].seriesIndex,show:!0}),onMouseleave:i[1]||=e=>mi({datapoint:K.value[0],seriesIndex:K.value[0].seriesIndex}),onClick:i[2]||=e=>$(K.value[0],t.i)},null,40,Qt)]))],64)):y(``,!0),P.value.type===`classic`?(C(),b(`g`,{key:12,ref_key:`G_hollow`,ref:Vn,class:`vue-data-ui-donut-hollow-labels`},[F.value.hollow.total.show?(C(),b(`text`,{key:0,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2-(F.value.hollow.average.show?F.value.hollow.total.fontSize:0)+F.value.hollow.total.offsetY,fill:F.value.hollow.total.color,"font-size":F.value.hollow.total.fontSize,style:S(`font-weight:${F.value.hollow.total.bold?`bold`:``}`)},D(F.value.hollow.total.text),13,$t)):y(``,!0),F.value.hollow.total.show?(C(),b(`text`,{key:1,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+F.value.hollow.total.fontSize-(F.value.hollow.average.show?F.value.hollow.total.fontSize:0)+F.value.hollow.total.value.offsetY,fill:F.value.hollow.total.value.color,"font-size":F.value.hollow.total.value.fontSize,style:S(`font-weight:${F.value.hollow.total.value.bold?`bold`:``}`)},D(O(m)(F.value.hollow.total.value.formatter,Z.value,O(n)({p:F.value.hollow.total.value.prefix,v:Z.value,s:F.value.hollow.total.value.suffix}))),13,en)):y(``,!0),F.value.hollow.average.show?(C(),b(`text`,{key:2,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+(F.value.hollow.total.show?F.value.hollow.average.fontSize:0)+F.value.hollow.average.offsetY,fill:F.value.hollow.average.color,"font-size":F.value.hollow.average.fontSize,style:S(`font-weight:${F.value.hollow.average.bold?`bold`:``}`)},D(F.value.hollow.average.text),13,tn)):y(``,!0),F.value.hollow.average.show?(C(),b(`text`,{key:3,"text-anchor":`middle`,x:V.value.width/2,y:V.value.height/2+(F.value.hollow.total.show?F.value.hollow.average.fontSize:0)+F.value.hollow.average.fontSize+F.value.hollow.average.value.offsetY,fill:F.value.hollow.average.value.color,"font-size":F.value.hollow.average.value.fontSize,style:S(`font-weight:${F.value.hollow.average.value.bold?`bold`:``}`)},D(Ur.value||R.value?`--`:O(m)(F.value.hollow.average.value.formatter,O(ie)(ui.value),O(n)({p:F.value.hollow.average.value.prefix,v:O(ie)(ui.value),s:F.value.hollow.average.value.suffix,r:F.value.hollow.average.value.rounding}))),13,nn)):y(``,!0)],512)):y(``,!0),(C(!0),b(g,null,T(q.value.filter(e=>!e.ghost),(e,n)=>(C(),b(`g`,{filter:vi(n),key:e.seriesIndex,opacity:yi(e)},[F.value.dataLabels.useLabelSlots?(C(),b(`g`,an,[(C(),b(`foreignObject`,{x:O(f)(e,!0).anchor===`end`?O(f)(e).x-120:O(f)(e,!0).anchor===`middle`?O(f)(e).x-60:O(f)(e).x,y:O(h)(e)-(Ti.value?20:0),width:`120`,height:`60`,style:{overflow:`visible`}},[x(`div`,null,[E(t.$slots,`dataLabel`,Ze({ref_for:!0},{datapoint:e,isBlur:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n,isSafari:Ti.value,isVisible:Y(e)&&B.value.dataLabels.show,textAlign:O(f)(e,!0,16,!0).anchor,flexAlign:O(f)(e,!0,16).anchor,percentage:si(e,q.value)}),void 0,!0)])],8,on))])):(C(),b(`g`,sn,[P.value.type===`classic`?(C(),b(g,{key:0},[Y(e)&&B.value.dataLabels.show?(C(),b(`circle`,{key:0,cx:O(X)[n]?.markerX??O(f)(e).x,cy:O(X)[n]?.markerY??O(h)(e)-3.5,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":1,r:3,filter:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n?``:`url(#blur_${M.value})`,onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},null,40,cn)):y(``,!0),F.value.dataLabels.oneLine||O(X)[n]?lt((C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-inline`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e,!0,12).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:O(X)[n]?.labelY??O(h)(e),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:gi(e,n,!!O(X)[n])},null,40,ln)),[[st,Y(e)&&B.value.dataLabels.show]]):(C(),b(g,{key:2},[lt(x(`text`,{class:`vue-data-ui-datalabel-value`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e,!0,12).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:O(X)[n]?.labelY??O(h)(e),fill:F.value.percentage.color,"font-size":ar.value+`px`,style:S(`font-weight:${F.value.percentage.bold?`bold`:``}`),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},D(Oi(e)),45,un),[[st,Y(e)&&B.value.dataLabels.show]]),lt(x(`text`,{class:`vue-data-ui-datalabel-name`,"text-anchor":O(X)[n]?.textAnchor||O(f)(e).anchor,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:(O(X)[n]?.labelY??O(h)(e))+j.value*1.2,fill:F.value.name.color,"font-size":j.value+`px`,style:S(`font-weight:${F.value.name.bold?`bold`:``}`),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:O(ee)({content:e.name,fontSize:j.value,fill:F.value.name.color,x:O(X)[n]?.labelX??O(f)(e,!0,12).x,y:(O(X)[n]?.labelY??O(h)(e))+j.value})},null,44,dn),[[st,Y(e,!0,12)&&B.value.dataLabels.show&&F.value.name.show]])],64))],64)):y(``,!0),P.value.type===`polar`?(C(),b(g,{key:1},[Y(e)&&B.value.dataLabels.show?(C(),b(`circle`,{key:0,cx:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).x,cy:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:24,centerX:V.value.width/2,centerY:V.value.height/2}).y,fill:e.color,stroke:L.value.backgroundColor,"stroke-width":1,r:3,filter:!P.value.useBlurOnHover||[null,void 0].includes(N.value)||N.value===n?``:`url(#blur_${M.value})`,onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`})},null,44,fn)):y(``,!0),F.value.dataLabels.oneLine?lt((C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-inline`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:_i(e,n)},null,44,pn)),[[st,Y(e)&&B.value.dataLabels.show]]):(C(),b(g,{key:2},[Y(e)&&B.value.dataLabels.show?(C(),b(`text`,{key:0,class:`vue-data-ui-datalabel-value`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y,fill:F.value.percentage.color,"font-size":ar.value,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,fontWeight:F.value.percentage.bold?`bold`:`normal`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex})},D(Oi(e)),45,mn)):y(``,!0),Y(e,!0,12)&&B.value.dataLabels.show&&F.value.name.show?(C(),b(`text`,{key:1,class:`vue-data-ui-datalabel-name`,"text-anchor":ii(J.value[n].middlePoint),x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y+j.value*1.2,fill:F.value.name.color,"font-size":j.value,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,fontWeight:F.value.name.bold?`bold`:`normal`}),onClick:t=>$(e,n),onMouseenter:t=>Q({datapoint:e,relativeIndex:n,seriesIndex:e.seriesIndex,show:!0}),onMouseleave:t=>mi({datapoint:e,seriesIndex:e.seriesIndex}),innerHTML:O(ee)({content:e.name,fontSize:j.value,fill:F.value.name.color,x:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x,y:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).y+j.value*1.2})},null,44,hn)):y(``,!0)],64))],64)):y(``,!0)])),B.value.dataLabels.show&&L.value.comments.show&&e.comment?(C(),b(`g`,gn,[Y(e)&&P.value.type===`classic`?(C(),b(`foreignObject`,{key:0,x:L.value.comments.offsetX+(O(f)(e,!0).anchor===`end`?O(f)(e).x-L.value.comments.width:O(f)(e,!0).anchor===`middle`?O(f)(e).x-L.value.comments.width/2:O(f)(e).x),y:O(h)(e)+24+L.value.comments.offsetY,width:L.value.comments.width,height:`200`,style:{overflow:`visible`,"pointer-events":`none`}},[x(`div`,null,[E(t.$slots,`plot-comment`,{plot:{...e,textAlign:O(f)(e,!0,16,!0).anchor,flexAlign:O(f)(e,!0,16).anchor,isFirstLoad:R.value}},void 0,!0)])],8,_n)):y(``,!0),Y(e)&&P.value.type===`polar`?(C(),b(`foreignObject`,{key:1,x:L.value.comments.offsetX+(ii(J.value[n].middlePoint)===`end`?O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x-L.value.comments.width:ii(J.value[n].middlePoint)===`middle`?O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x-L.value.comments.width/2:O(r)({initX:J.value[n].middlePoint.x,initY:J.value[n].middlePoint.y,offset:42,centerX:V.value.width/2,centerY:V.value.height/2}).x),y:ai(J.value[n])+L.value.comments.offsetY,width:L.value.comments.width,height:`200`,style:S({transition:R.value||!P.value.serieToggleAnimation.show?`none`:`all ${P.value.serieToggleAnimation.durationMs}ms ease-in-out`,overflow:`visible`,pointerEvents:`none`})},[x(`div`,null,[E(t.$slots,`plot-comment`,{plot:{...e,textAlign:ii(J.value[n].middlePoint),flexAlign:ii(J.value[n].middlePoint),isFirstLoad:R.value}},void 0,!0)])],12,vn)):y(``,!0)])):y(``,!0)],8,rn))),128)),E(t.$slots,`svg`,{svg:{...V.value,datapoints:K.value,isPrintingImg:O(Pr)||O(Fr)||O(Hi),isPrintingSvg:O(Ui)}},void 0,!0)],512)],46,gt)),t.$slots.hint?(C(),b(`div`,yn,[E(t.$slots,`hint`,et(Xe({hint:P.value.a11y.translations.keyboardNavigation,isVisible:ir.value})),void 0,!0)])):y(``,!0)]),t.$slots.watermark?(C(),b(`div`,bn,[E(t.$slots,`watermark`,et(Xe({isPrinting:O(Pr)||O(Fr)||O(Hi)||O(Ui)})),void 0,!0)])):y(``,!0),x(`div`,{id:`legend-bottom-${M.value}`},null,8,xn),Qn.value&&(L.value.legend.show||t.$slots.legend)?(C(),v(Ge,{key:6,to:L.value.legend.position===`top`?`#legend-top-${M.value}`:`#legend-bottom-${M.value}`},[x(`div`,{ref_key:`chartLegend`,ref:Wn},[E(t.$slots,`legend`,{legend:ei.value},()=>[L.value.legend.show?(C(),v(We,{key:`legend_${Zn.value}`,legendSet:ei.value,config:ti.value,onClickMarker:i[3]||=({i:e})=>Jr(e),isCursorPointer:_r.value},Ke({item:k(({legend:e,index:t})=>[x(`div`,{style:S(`opacity:${W.value.includes(t)?.5:1}`),onClick:t=>e.segregate()},D(e.display),13,Sn)]),legendToggle:k(()=>[ei.value.length>2&&L.value.legend.selectAllToggle.show&&!O(yr)?(C(),v(Le,{key:0,backgroundColor:L.value.legend.selectAllToggle.backgroundColor,color:L.value.legend.selectAllToggle.color,fontSize:L.value.legend.fontSize,checked:W.value.length>0,isCursorPointer:_r.value,onToggle:qr},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):y(``,!0)]),_:2},[t.$slots.pattern?{name:`legend-pattern`,fn:k(({legend:e,index:t})=>[Je(Ne,{shape:e.shape,radius:30,stroke:`none`,plot:{x:30,y:30},fill:`url(#pattern_${M.value}_${t})`},null,8,[`shape`,`fill`])]),key:`0`}:void 0]),1032,[`legendSet`,`config`,`isCursorPointer`])):y(``,!0)],!0)],512)],8,[`to`])):y(``,!0),t.$slots.source?(C(),b(`div`,{key:7,ref_key:`source`,ref:qn,dir:`auto`},[E(t.$slots,`source`,{},void 0,!0)],512)):y(``,!0),t.$slots.hollow?(C(),b(`div`,Cn,[E(t.$slots,`hollow`,et(Xe({total:Z.value,average:ui.value,dataset:H.value,...V.value})),void 0,!0)])):y(``,!0),Je(O(En),{teleportTo:L.value.tooltip.teleportTo,show:B.value.showTooltip&&fr.value,backgroundColor:L.value.tooltip.backgroundColor,color:L.value.tooltip.color,fontSize:L.value.tooltip.fontSize,borderRadius:L.value.tooltip.borderRadius,borderColor:L.value.tooltip.borderColor,borderWidth:L.value.tooltip.borderWidth,backgroundOpacity:L.value.tooltip.backgroundOpacity,position:L.value.tooltip.position,offsetX:L.value.tooltip.offsetX,offsetY:L.value.tooltip.offsetY,parent:zn.value,content:pr.value,isCustom:pi.value,isFullscreen:Ci.value,smooth:L.value.tooltip.smooth,backdropFilter:L.value.tooltip.backdropFilter,smoothForce:L.value.tooltip.smoothForce,smoothSnapThreshold:L.value.tooltip.smoothSnapThrehsold,isA11yMode:rr.value===`keyboard`,a11yPosition:nr.value},{"tooltip-before":k(()=>[E(t.$slots,`tooltip-before`,et(Xe({...fi.value})),void 0,!0)]),tooltip:k(()=>[E(t.$slots,`tooltip`,et(Xe({...fi.value})),void 0,!0)]),"tooltip-after":k(()=>[E(t.$slots,`tooltip-after`,et(Xe({...fi.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Rn.value&&P.value.userOptions.buttons.table?(C(),v(rt(Ii.value.component),Ze({key:9},Ii.value.props,{ref_key:`tableUnit`,ref:$n,onClose:Li}),Ke({content:k(()=>[(C(),v(O(kn),{key:`table_${Xn.value}`,colNames:Si.value.colNames,head:Si.value.head,body:Si.value.body,config:Si.value.config,title:P.value.table.useDialog?``:Ii.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:_r.value,onClose:Li},{th:k(({th:e})=>[e===`__SUM__`?(C(),b(`div`,wn,[Je(O(Dn),{name:`sigma`,stroke:Si.value.config.th.color,size:16},null,8,[`stroke`])])):(C(),b(`div`,Tn,D(e),1))]),td:k(({td:e})=>[qe(D(e.name?e.name:isNaN(Number(e))?e.includes(`%`)?e:O(m)(F.value.percentage.formatter,e,O(n)({v:e,s:`%`,r:F.value.percentage.rounding})):O(m)(F.value.value.formatter,e,O(n)({p:F.value.dataLabels.prefix,v:e,s:F.value.dataLabels.suffix,r:F.value.value.rounding}))),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:k(()=>[qe(D(Ii.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:k(()=>[x(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:i[4]||=e=>xi(P.value.userOptions.callbacks.csv),style:S({cursor:_r.value?`pointer`:`default`})},[Je(O(Dn),{name:`fileCsv`,stroke:Ii.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):y(``,!0),E(t.$slots,`skeleton`,{},()=>[O(yr)?(C(),v(_e,{key:0})):y(``,!0)],!0)],46,ft))}},[[`__scopeId`,`data-v-75934a20`]]);export{dt as n,En as t};
@@ -1,2 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,$t as r,At as i,D as a,Ht as o,It as ee,J as s,Jt as c,Kt as te,S as ne,X as re,_ as ie,at as ae,f as oe,h as se,i as ce,in as le,nn as ue,nt as de,p as fe,t as pe,tt as me,w as he,y as ge,yt as _e,zt as ve}from"./lib-DqD8nbyX.js";import{n as ye,t as be}from"./BaseScanner-8NdoBs7B.js";import{n as xe,t as Se}from"./useHints-BH9r_0Vd.js";import{t as Ce}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as we}from"./useNestedProp-DrLnzyHO.js";import{t as Te}from"./useThemeCheck-BKNRbGeC.js";import{t as Ee}from"./chartImage-r-G4CkRK.js";import{n as De}from"./Title-BLA0tM3g.js";import{t as Oe}from"./useChartExport-DtPNpc9M.js";import{n as ke,t as Ae}from"./tableIntegration-CNoJ1CIY.js";import{n as je,t as Me}from"./annotationSlots-BRR85CqJ.js";import{n as Ne,t as Pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Fe}from"./useTimeLabels-Das5O74F.js";import{t as Ie}from"./usePrinter-Cj4eIYC_.js";import{t as Le}from"./useTransitions-DfSHzsdz.js";import{t as Re}from"./useStableElementSize-CegFbRlF.js";import{t as ze}from"./useTimeLabelCollider-XQf_S7-z.js";import{l as Be,t as Ve}from"./useResponsive-D2CPcpda.js";import{t as He}from"./DefGrad-DKMq1REY.js";import{t as Ue}from"./SlicerPreview-Dpu4nMz6.js";import{t as We}from"./BaseLegendToggle-BOcw1ke8.js";import{t as Ge}from"./A11yDataTable-DWNlWXzs.js";import{t as Ke}from"./useUserOptionState-CXlFnwPv.js";import{t as qe}from"./useChartAccessibility-DOMuYJfm.js";import{t as Je}from"./Legend-D8NunRPr.js";import{t as Ye}from"./vue_ui_donut_evolution-CVoh3twl.js";import{Fragment as l,Teleport as Xe,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ze,createTextVNode as Qe,createVNode as $e,defineAsyncComponent as h,guardReactiveProps as et,mergeProps as tt,nextTick as nt,normalizeClass as g,normalizeProps as rt,normalizeStyle as it,onBeforeUnmount as at,onMounted as ot,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as st,shallowRef as ct,toDisplayString as x,toRefs as lt,unref as S,watch as ut,watchEffect as dt,withCtx as C}from"vue";var ft=/* @__PURE__ */ e({default:()=>tn}),pt=[`id`],mt=[`id`],ht=[`id`],gt={style:{position:`relative`}},_t=[`xmlns`,`aria-describedby`,`viewBox`],vt=[`x`,`y`,`width`,`height`],yt={key:1},bt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],xt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],St={key:0},Ct=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],wt=[`font-size`,`fill`,`transform`],Tt=[`x`,`y`,`font-size`,`fill`],Et=[`d`,`stroke`,`stroke-width`],Dt=[`transform`,`font-size`,`text-anchor`,`fill`,`font-weight`],Ot={key:0},kt=[`text-anchor`,`font-size`,`fill`,`transform`],At=[`text-anchor`,`font-size`,`fill`,`transform`,`innerHTML`],jt=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],Mt={key:1},Nt=[`cx`,`cy`,`r`,`fill`],Pt={key:0},Ft={key:0},It=[`d`,`stroke`],Lt=[`text-anchor`,`x`,`y`,`fill`],Rt=[`cx`,`cy`,`r`,`fill`],zt={key:0},Bt=[`cx`,`cy`,`fill`],Vt={key:1},Ht=[`d`,`fill`,`stroke`],Ut={key:2},Wt=[`d`,`fill`,`stroke`],Gt=[`x`,`y`,`font-size`,`fill`],Kt=[`x`,`y`,`width`,`height`,`fill`],qt=[`x`,`y`,`width`,`height`,`onMouseenter`,`onMouseleave`,`onClick`],Jt=[`x`,`y`,`width`,`height`,`fill`,`fill-opacity`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],Yt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Xt={key:5,class:`vue-data-ui-watermark`},Zt=[`id`],Qt=[`onClick`],$t={key:0},en={key:1},tn=/*#__PURE__*/ Ce({__name:`vue-ui-donut-evolution`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}},zoomState:{type:Object,default:null}},emits:[`selectLegend`,`zoomStart`,`zoomEnd`,`zoomReset`,`update:zoomState`,`copyAlt`],setup(e,{expose:Ce,emit:ft}){let tn=h(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),nn=h(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),rn=h(()=>import(`./DataTable-BcVZLSs8.js`)),an=h(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),on=h(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),sn=h(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),cn=h(()=>import(`./vue-ui-donut-DMF74OY0.js`).then(e=>e.n)),ln=h(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_donut_evolution:un}=t(),{isThemeValid:dn,warnInvalidTheme:fn}=Te(),w=e,T=v(re()),E=v([]),D=v(null),O=v(null),pn=v(!1),k=v(null),A=v(null),mn=v(null),hn=v(0),gn=v(0),_n=v(0),vn=v(0),yn=v(0),bn=v(null),xn=v(null),Sn=v(null),Cn=v(null),wn=v(!1),Tn=v(null),En=v(null),Dn=ct(null),On=v(0),kn=v(0),An=v(!1);function jn(){Dn.value=A.value?.parentNode??null}function Mn(){return new Promise(e=>{requestAnimationFrame(()=>{requestAnimationFrame(e)})})}async function Nn(){let e=++kn.value;await nt(),await Mn(),await Mn(),e===kn.value&&(On.value+=1)}function Pn(){An.value||(An.value=!0,nt(()=>{An.value=!1,jn(),Nn()}))}let Fn=Re({elementRef:Dn,minimumWidth:2,minimumHeight:2,stableFramesRequired:2,once:!1,onSizeAccepted:()=>{Nn()}}),In=v(null),Ln=v(null),Rn=v(null),zn=v(null),Bn=v(null),Vn=v(!1),j=ct(null),Hn=ct(null),Un=v(null),M=v(null),Wn=v(!1),N=ft,Gn=u(()=>!!w.dataset&&w.dataset.length);ot(()=>{wn.value=!0,jn(),Fn.start(),qn(),Nn()});let Kn=u(()=>P.value.debug);function qn(){if(ve(w.dataset)?(ae({componentName:`VueUiDonutEvolution`,type:`dataset`,debug:Kn.value}),$n.value=!0):w.dataset.length&&w.dataset.forEach((e,t)=>{_e({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:e,index:t,debug:Kn.value}),$n.value=!0})}),ve(w.dataset)||($n.value=P.value.loading),setTimeout(()=>{Vn.value=!0},10),vr(),P.value.responsive){let e=Be(()=>{Vn.value=!1;let{width:e,height:t}=Ve({chart:A.value,title:P.value.style.chart.title.text?In.value:null,legend:P.value.style.chart.legend.show?Ln.value:null,slicer:P.value.style.chart.zoom.show&&tr.value>1?Bn.value:null,source:Rn.value});requestAnimationFrame(()=>{er.value.width=e,er.value.height=t-12,Pn(),clearTimeout(Un.value),Un.value=setTimeout(()=>{Vn.value=!0},10)})});j.value&&(Hn.value&&j.value.unobserve(Hn.value),j.value.disconnect()),j.value=new ResizeObserver(e),Hn.value=A.value.parentNode,j.value.observe(Hn.value)}Pn()}let P=v(Er()),F=u(()=>I.value.grid),I=u(()=>P.value.style.chart.layout),Jn=u(()=>P.value.style.chart.dialog),L=u(()=>P.value.style.chart);xe({config:()=>P.value,dataset:()=>w.dataset,component:`VueUiDonutEvolution`,rules:[Se.emptyArray,{test:e=>e.length===1,message:[`👀 There is only a single series in your dataset. Consider:`,``,`▶️ Using VueUiXy instead, for a regular line chart.`]},{test:e=>e.length>6,message:[`👀 The number of series is > 6, which makes donuts hard to read. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.some(e=>e.values.length>24),message:[`👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:`,``,`▶️ Using larger time scales, or aggregated values.`,``,`▶️ Filtering the time range by adding date intputs in your UI.`,``,`▶️ Using VueUiXy to show longer series in a more comfortable display.`]}]});let{transitionEnabled:Yn}=Le({config:()=>P.value.transitions,dataset:()=>w.dataset}),R=u(()=>P.value.userOptions.useCursorPointer),Xn=u(()=>le({defaultConfig:{useCssAnimation:!1,table:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{dataLabels:{show:!1},grid:{stroke:`#6A6A6A`,axis:{yLabel:``,xLabel:``},yAxis:{scaleMin:null,scaleMax:null,autoScale:!1,dataLabels:{show:!1}},xAxis:{dataLabels:{show:!1}}},line:{stroke:`#CACACA60`}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},zoom:{show:!1,startIndex:null,endIndex:null}}}},userConfig:P.value.skeletonConfig??{}})),{loading:Zn,FINAL_DATASET:Qn,manualLoading:$n}=ye({...lt(w),FINAL_CONFIG:P,prepareConfig:Er,callback:()=>{Promise.resolve().then(async()=>{await vr()})},skeletonDataset:w.config?.skeletonDataset??[{name:``,values:[1,2,3,5,8,13],color:`#AAAAAA`},{name:``,values:[1,2,3,5,8,13],color:`#BABABA`},{name:``,values:[1,2,3,5,8,13],color:`#CACACA`}],skeletonConfig:le({defaultConfig:P.value,userConfig:Xn.value})}),er=v({width:I.value.width,height:I.value.height}),tr=u(()=>Math.max(...Qn.value.map(e=>e.values.length))),z=v({start:0,end:tr.value}),B=v(!1),nr=v(!1),V=v(null),H=v(null),U=v(null),rr=v(!1),ir=v({time:0,x:0,y:0,pointerType:null}),ar=u(()=>P.value.style.chart.zoom?.dragToZoom),W=u(()=>ar.value.show&&Gn.value&&sr.value&&Y.value>1&&!Zn.value),or=v(!1),sr=v(!1),cr=v(!1),lr=null,ur={};function dr(e,t=z.value){if(!e||typeof e!=`object`)return null;let n=e.start!==void 0&&e.start!==null,r=e.end!==void 0&&e.end!==null;if(!n&&!r)return null;let i=Number(n?e.start:t.start),a=Number(r?e.end:t.end);return!Number.isFinite(i)||!Number.isFinite(a)?null:{start:i,end:a}}function fr(e){let t=dr(e);t&&N(`update:zoomState`,t)}function pr(){lr&&=(cancelAnimationFrame(lr),null),ur={}}function mr(e,t=z.value.start){let n=Y.value,r=Number(t);return e>n?n:e<0||e<=r?Math.min(r+1,n):e}function hr(){let e=Y.value;if(!Number.isFinite(e)||e<=0){z.value={start:0,end:0};return}let t=Math.max(0,Math.min(Number(z.value.start)||0,e-1)),n=Math.max(t+1,Math.min(Number(z.value.end)||e,e));(!Number.isFinite(t)||!Number.isFinite(n)||n<=t)&&(t=0,n=e),z.value={start:t,end:n},zn.value&&zn.value.setRangeValues(t,n)}function gr(e){let t=dr(e);if(!t)return null;let{start:n,end:r}=t;return(n!==Number(z.value.start)||r!==Number(z.value.end))&&(pr(),z.value={start:n,end:r},hr(),Pn()),{start:Number(z.value.start),end:Number(z.value.end)}}function _r(e){let t=gr(e);return t?(fr(t),t):null}async function vr(e=!0){if(!or.value){or.value=!0;try{await nt(),await nt();let{startIndex:t,endIndex:n}=L.value.zoom,r=Y.value;if(!Number.isFinite(r)||r<=0){z.value={start:0,end:0},sr.value=!0;return}let i=t==null?0:Number(t),a=n==null?r:mr(Number(n)+1,i);cr.value=!0,z.value={start:i,end:a},hr(),sr.value=!0,e&&w.zoomState&&gr(w.zoomState)}finally{queueMicrotask(()=>{cr.value=!1}),or.value=!1,Pn()}}}async function yr({force:e=!1,publish:t=!1}={}){await vr(!e),t&&(fr({start:Number(z.value.start),end:Number(z.value.end)}),N(`zoomReset`))}ut([()=>w.zoomState,sr],([e,t])=>{t&&e&&gr(e)},{deep:!0,immediate:!0});function br(e){ur={...ur,...e},lr&&cancelAnimationFrame(lr),lr=requestAnimationFrame(()=>{let e={...z.value,...ur};ur={},lr=null,z.value=e,hr(),Pn(),fr({start:Number(z.value.start),end:Number(z.value.end)})})}function xr(e){if(or.value||cr.value)return;let t=Number(e);Number.isFinite(t)&&(N(`zoomStart`,{index:t,isZoom:t!==0}),t!==z.value.start&&br({start:t}))}function Sr(e){if(or.value||cr.value)return;let t=ur.start===void 0?z.value.start:ur.start,n=mr(Number(e),t);Number.isFinite(n)&&(N(`zoomEnd`,{index:n,isZoom:n!==Y.value}),(n!==z.value.end||ur.start!==void 0)&&br({end:n}))}let{userOptionsVisible:Cr,setUserOptionsVisibility:wr,keepUserOptionState:Tr}=Ke({config:P.value}),{svgRef:G}=qe({config:L.value.title});function Er(){let e=we({userConfig:w.config,defaultConfig:un}),t={},n=e.theme;if(n){if(!dn.value(e))fn(e),t=e;else{let r=we({userConfig:Ye[n]||w.config,defaultConfig:e});t={...we({userConfig:w.config,defaultConfig:r}),customPalette:e.customPalette?e.customPalette:ue[n]||o}}}else t=e;return t}ut(()=>w.config,e=>{Zn.value||(P.value=Er()),Cr.value=!P.value.userOptions.showOnChartHover,qn(),_n.value+=1,vn.value+=1,yn.value+=1,Nr.value.showTable=P.value.table.show},{deep:!0}),ut(()=>w.dataset,e=>{Array.isArray(e)&&e.length>0&&($n.value=!1),yr()},{deep:!0});let{isPrinting:Dr,isImaging:Or,generatePdf:kr,generateImage:Ar}=Ie({elementId:T.value,fileName:L.value.title.text||`vue-ui-donut-evolution`,options:P.value.userOptions.print}),jr=u(()=>P.value.userOptions.show&&!L.value.title.text),Mr=u(()=>he(P.value.customPalette)),Nr=v({showTable:P.value.table.show});ut(P,()=>{Nr.value={showTable:P.value.table.show}},{immediate:!0});let Pr=u(()=>({top:I.value.padding.top,right:I.value.padding.right,bottom:I.value.padding.bottom,left:I.value.padding.left})),K=u(()=>F.value.yAxis.position===`right`);function Fr(){let e=0;bn.value&&(e=Array.from(bn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=Cn.value?Cn.value.getBoundingClientRect().width+F.value.axis.yLabelOffsetX+F.value.axis.fontSize:0,n=e+t+5;return{left:K.value?0:n,right:K.value?n:0,scaleLabelsWidth:e,yAxisLabelWidth:t,crosshair:5}}let Ir=v(0),Lr=Be(e=>{Ir.value=e},100);dt(e=>{let t=xn.value;if(!t)return;let n=new ResizeObserver(e=>{Lr(e[0].contentRect.height)});n.observe(t),e(()=>n.disconnect())}),at(()=>{Ir.value=0,Fn.stop(),clearTimeout(Un.value),pr(),fi(),Qr(),j.value&&(Hn.value&&j.value.unobserve(Hn.value),j.value.disconnect(),j.value=null,Hn.value=null)});let Rr=u(()=>{let e=0;Sn.value&&(e=Sn.value.getBBox().height);let t=0;return xn.value&&(t=Ir.value),e+t+F.value.axis.fontSize+F.value.xAxis.dataLabels.offsetY}),q=u(()=>{On.value;let e=Fr(),t=I.value.dataLabels.fontSize*3,n=er.value.width,r=er.value.height,i=Pr.value.left+e.left,a=n-Pr.value.right-e.right,o=n-i-Pr.value.right-e.right,ee=r-Pr.value.top-Pr.value.bottom-t-Rr.value,s=Pr.value.top+t;return{top:s,left:i,right:a,bottom:r-Pr.value.bottom-Rr.value,absoluteHeight:r,absoluteWidth:n,centerX:i+Math.max(10,o)/2,centerY:s+Math.max(10,ee)/2,width:Math.max(10,o),height:Math.max(10,ee),scaleLabelsWidth:e.scaleLabelsWidth,yAxisLabelWidth:e.yAxisLabelWidth,crosshair:e.crosshair}}),J=u(()=>(Kn.value&&Qn.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`name`,index:t}),[null,void 0].includes(e.values)&&ae({componentName:`VueUiDonutEvolution`,type:`datasetSerieAttribute`,property:`values`,index:t})}),Qn.value.map((e,t)=>({...e,values:te(e.values),color:ne(e.color)||Mr.value[t]||o[t]||o[t%o.length],length:(e.values||[]).length,uid:re()})))),zr=u(()=>J.value.filter(e=>!E.value.includes(e.uid)).map(e=>({...e,values:e.values.filter((e,t)=>t>=z.value.start&&t<=z.value.end)}))),Y=u(()=>Math.max(...J.value.map(e=>e.length))),X=v([]),Br=0;dt(()=>{let e=++Br;(async()=>{let t=await Fe({values:F.value.xAxis.dataLabels.values,maxDatapoints:Y.value,formatter:F.value.xAxis.dataLabels.datetimeFormatter,start:z.value.start,end:z.value.end});e===Br&&(X.value=t)})()});let Z=u(()=>q.value.width/(z.value.end-z.value.start)),Vr=u(()=>{let e=[];for(let t=0;t<z.value.end-z.value.start;t+=1){let n=zr.value.map(e=>e.values[t]??null),r=n.filter(e=>[void 0,null].includes(e)).length===n.length,i=n.reduce((e,t)=>e+t,0),a=n.map(e=>e/i),o=q.value.left+Z.value*t+Z.value/2;e.push({index:t,percentages:a,subtotal:r||i<0?null:i,values:n,x:o})}return e}),Hr=u(()=>{let e=Math.max(...Vr.value.map(e=>e.subtotal).filter(e=>i(e)))??1,t=Math.min(...Vr.value.map(e=>e.subtotal).filter(e=>i(e)))??0,n=Math.max(F.value.yAxis.scaleMax??0,e),r;return r=F.value.yAxis.scaleMin==null?0:Math.min(t,F.value.yAxis.scaleMin),F.value.yAxis.autoScale&&(r=t,n=e),r===n&&(r=n/2,n*=1.5),{max:n,min:r}}),Q=u(()=>{let e=Vr.value.length===1?Hr.value.max*2:Hr.value.max;return ie(Hr.value.min,e,F.value.yAxis.dataLabels.steps)});ut(()=>Q.value.ticks.join(`|`),()=>{Pn()},{flush:`post`});function Ur(e){return(e-Q.value.min)/(Q.value.max-Q.value.min)}let Wr=u(()=>Q.value.ticks.map(e=>({y:q.value.bottom-q.value.height*Ur(e),value:e}))),$=u(()=>{let e=Vr.value,t=Math.max(...e.map(e=>e.subtotal));return e.length===1&&t*2,e.map((t,n)=>{let r=Math.min(q.value.width/24,Z.value/2*.7),i=r>q.value.width/16?q.value.width/16:r,a=D.value===t.index?q.value.width/16:i,o=e.length>4?r*2:r*2>Z.value/2*.7?Z.value/2*.7:r*2,s=q.value.bottom-q.value.height*Ur(t.subtotal),c=zr.value.map(e=>({color:e.color,name:e.name,value:e.values[n]??0})).toSorted((e,t)=>t.value-e.value);return{...t,y:s,radius:i,activeRadius:a,hoverRadius:o,donut:ee({series:c},t.x,s,i,i,1.99999,2,1,360,105.25,i/2),donutHover:ee({series:c},t.x,s,o,o,1.99999,2,1,360,105.25,o/2),donutFocus:ee({series:c},q.value.centerX,q.value.centerY,q.value.height/3.6,q.value.height/3.6,1.99999,2,1,360,105.25,q.value.height/6)}})});function Gr(e,t,r){return ce(I.value.dataLabels.formatter,e,n({p:I.value.dataLabels.prefix,v:e,s:I.value.dataLabels.suffix,r:I.value.dataLabels.rounding}),{datapoint:t,index:r})}function Kr(e,t){return isNaN(e.value/r(t,`value`))?0:(e.value/r(t,`value`)*100).toFixed(0)+`%`}function qr(e){let t=G.value;if(!t)return null;if(t.createSVGPoint&&t.getScreenCTM){let n=t.createSVGPoint();n.x=e.clientX,n.y=e.clientY;let r=t.getScreenCTM();if(r){let e=n.matrixTransform(r.inverse());return{x:e.x,y:e.y}}}let n=t.getBoundingClientRect(),r=t.viewBox?.baseVal||{x:0,y:0,width:n.width,height:n.height},i=Math.min(n.width/r.width,n.height/r.height);if(!Number.isFinite(i)||i<=0)return null;let a=r.width*i,o=r.height*i,ee=(n.width-a)/2,s=(n.height-o)/2;return{x:(e.clientX-n.left-ee)/i+r.x,y:(e.clientY-n.top-s)/i+r.y}}let Jr=u(()=>!B.value||V.value==null||H.value==null?null:{x:Math.min(V.value,H.value),y:q.value.top,width:Math.abs(H.value-V.value),height:q.value.height}),Yr=u(()=>sr.value?Number(z.value.start)!==0||Number(z.value.end)!==Number(Y.value):!1);function Xr(e){return Math.min(Math.max(e,q.value.left),q.value.right)}function Zr(){D.value=null,O.value=null,M.value=null}function Qr(e){let t=e?.pointerId==null?U.value:e.pointerId;t!=null&&G.value?.hasPointerCapture?.(t)&&G.value.releasePointerCapture(t),B.value=!1,V.value=null,H.value=null,U.value=null}function $r(){rr.value=!0,setTimeout(()=>{rr.value=!1},0)}function ei(e){rr.value&&(rr.value=!1,e.preventDefault(),e.stopPropagation())}function ti(e){if(!W.value||!Yr.value||!e)return!1;let t=Date.now(),n=e.pointerType||`mouse`,r=ir.value,i=n===`touch`?450:350,a=n===`touch`?28:10,o=Math.hypot(e.clientX-r.x,e.clientY-r.y);return r.time>0&&r.pointerType===n&&t-r.time<=i&&o<=a?(ir.value={time:0,x:0,y:0,pointerType:null},$r(),fi(),Qr(e),Fi(),yr({force:!0,publish:!0}),!0):(ir.value={time:t,x:e.clientX,y:e.clientY,pointerType:n},!1)}function ni(e){let t=Number(z.value.end)-Number(z.value.start);if(t<=0||!Number.isFinite(Z.value)||Z.value<=0)return null;let n=Math.floor((Xr(e)-q.value.left)/Z.value);return Math.max(0,Math.min(t-1,n))}function ri(e,t){let n=ni(e),r=ni(t);if(n==null||r==null)return null;let i=Math.min(n,r),a=Math.max(n,r);return a<=i?null:{start:Number(z.value.start)+i,end:Number(z.value.start)+a+1}}function ii(e){let t=_r(e);return t?(N(`zoomStart`,{index:t.start,isZoom:t.start!==0}),N(`zoomEnd`,{index:t.end,isZoom:t.end!==Y.value}),t):null}function ai(e){if(!W.value||ki.value||e.button!==void 0&&e.button!==0||U.value!=null&&e.pointerId!==U.value)return;let t=qr(e);if(!t||t.x<q.value.left||t.x>q.value.right||t.y<q.value.top||t.y>q.value.bottom||Number(z.value.end)-Number(z.value.start)<=1)return;nr.value=!0,G.value?.focus?.({preventScroll:!0}),fi(),Zr();let n=Xr(t.x);U.value=e.pointerId,B.value=!0,V.value=n,H.value=n}function oi(e){if(!W.value||!B.value||U.value!=null&&e.pointerId!==U.value)return;let t=qr(e);t&&(H.value=Xr(t.x),Zr(),V.value!=null&&Math.abs(H.value-V.value)>=2&&!G.value?.hasPointerCapture?.(e.pointerId)&&G.value?.setPointerCapture?.(e.pointerId))}function si(e){if(!W.value||!B.value||U.value!=null&&e.pointerId!==U.value)return;let t=qr(e);t&&(H.value=Xr(t.x));let n=V.value,r=H.value;if((n==null||r==null?0:Math.abs(r-n))<Math.max(4,q.value.width*.01)){if(ti(e))return;Qr(e);return}let i=ri(Math.min(n,r),Math.max(n,r));if(!i){Qr(e);return}Qr(e),ii(i)&&(ir.value={time:0,x:0,y:0,pointerType:null},Zr(),$r())}function ci(e){B.value||(D.value=null,O.value=null,M.value=null,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:e.seriesIndex+z.value.start}))}function li(e){B.value||(P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:e.index+z.value.start}),D.value=e.index,O.value=e,M.value=e.index)}let ui=v(null),di=null;function fi(){di&&=(clearTimeout(di),null)}function pi(e,t){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:e.index+z.value.start}),e.subtotal&&Jn.value.show&&(O.value=null,D.value=null,pn.value=!0,k.value=e,Ii(e),[null,void 0].includes(t)||(ui.value=t))}function mi(e,t){if(fi(),!W.value||!Yr.value){pi(e,t);return}let n=ir.value.pointerType===`touch`?480:380;di=setTimeout(()=>{di=null,pi(e,t)},n)}let hi=u(()=>J.value.map((e,t)=>({name:e.name,value:e.values.slice(z.value.start,z.value.end).reduce((e,t)=>e+t,0),shape:`circle`,uid:e.uid,color:e.color})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,opacity:E.value.includes(e.uid)?.5:1,segregate:()=>yi(e.uid),isSegregated:E.value.includes(e.uid),display:`${e.name}${L.value.legend.showPercentage||L.value.legend.showValue?`: `:``}${L.value.legend.showValue?ce(I.value.dataLabels.formatter,e.value,n({p:I.value.dataLabels.prefix,v:e.value,s:I.value.dataLabels.suffix,r:L.value.legend.roundingValue}),{datapoint:e,seriesIndex:t}):``}${L.value.legend.showPercentage?E.value.includes(e.uid)?`${L.value.legend.showValue?` (`:``}- %${L.value.legend.showValue?`)`:``}`:`${L.value.legend.showValue?` (`:``}${isNaN(e.value/gi.value)?`-`:n({v:e.value/gi.value*100,s:`%`,r:L.value.legend.roundingPercentage})}${L.value.legend.showValue?`)`:``}`:``}`}))),gi=u(()=>$.value.map(e=>e.subtotal).reduce((e,t)=>e+t,0)),_i=u(()=>({cy:`donut-div-legend`,backgroundColor:L.value.legend.backgroundColor,color:L.value.legend.color,fontSize:L.value.legend.fontSize,paddingBottom:12,fontWeight:L.value.legend.bold?`bold`:``}));function vi(){E.value.length?E.value=[]:hi.value.forEach(e=>{E.value.push(e.uid)}),N(`selectLegend`,zr.value)}function yi(e){if(E.value.includes(e))E.value=E.value.filter(t=>t!==e),N(`selectLegend`,zr.value);else{if(E.value.length===J.value.length-1)return;E.value.push(e),N(`selectLegend`,zr.value)}k.value&&pi($.value.find((e,t)=>t===ui.value))}function bi(e){return J.value.length?J.value.find(t=>t.name===e)||(Kn.value&&console.warn(`VueUiDonutEvolution - Series name not found "${e}"`),null):(Kn.value&&console.warn(`VueUiDonutEvolution - There are no series to show.`),null)}function xi(e){let t=bi(e);t!==null&&E.value.includes(t.uid)&&yi(t.uid)}function Si(e){let t=bi(e);t!==null&&(E.value.includes(t.uid)||yi(t.uid))}let Ci=u(()=>{let e=[``].concat(J.value.filter(e=>!E.value.includes(e.uid)).map(e=>({name:e.name,color:e.color})),[`Σ`]),t=[];for(let e=0;e<Y.value;e+=1){let n=J.value.filter(e=>!E.value.includes(e.uid)).map(t=>t.values[e]??0).reduce((e,t)=>e+t,0);t.push([X.value[e]?X.value[e].text:`-`].concat(J.value.filter(e=>!E.value.includes(e.uid)).map(t=>({value:t.values[e]??0,percentage:t.values[e]?t.values[e]/n*100:0})),[`${I.value.dataLabels.prefix}${Number(n.toFixed(P.value.table.td.roundingValue))}${I.value.dataLabels.suffix}`]))}return{head:e,body:t,bodyA11y:t.map(e=>e.map((t,n)=>n===0||n===e.length-1?t:`${Gr(t.value??0,null,n)} (${t.percentage.toFixed(1)}%)`)),config:{th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint},colNames:[P.value.table.columnNames.period].concat(J.value.filter(e=>!E.value.includes(e.uid)).map(e=>e.name),P.value.table.columnNames.total)}});function wi(){return J.value}function Ti(e=null){nt(()=>{let t=[[L.value.title.text],[L.value.title.subtitle.text],[``]],n=[...Ci.value.head.map(e=>e.name??e)],r=[...Ci.value.body.map(e=>e.map(e=>e.value??e))],i=t.concat([n]).concat(r),o=a(i);e?e(o):de({csvContent:o,title:L.value.title.text||`vue-ui-donut-evolution`})})}let Ei=v(!1);function Di(e){Ei.value=e,hn.value+=1}function Oi(){Nr.value.showTable=!Nr.value.showTable}let ki=v(!1);function Ai(){ki.value=!ki.value}function ji(e){return e.proportion*100>L.value.donuts.hover.hideLabelsUnderValue}let Mi=v([]),Ni=v({}),Pi=v(null);function Fi(){Pi.value?.close?.(),k.value=null,ui.value=null,pn.value=!1,O.value=null,D.value=null,M.value=null}function Ii(e){Mi.value=e.donut.map(e=>({name:e.name,values:[e.value],color:e.color})),Ni.value=me({...Jn.value.donutChart,responsive:!0,theme:P.value.theme}),Pi.value&&Pi.value.open()}let Li=Ee(A,()=>L.value.title.text),Ri=u(()=>er.value.width),zi=u(()=>er.value.height);ze({timeLabelsEls:xn,timeLabels:X,slicer:z,configRef:P,rotationPath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`layout`,`grid`,`xAxis`,`dataLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:Ri,height:zi,rotation:F.value.xAxis.dataLabels.autoRotate.angle});let Bi=u(()=>Ae({config:P,style:L,mutableConfig:Nr,dialog:ln,accordion:tn,isFullscreen:Ei,parent:A,maxWidth:800,isCursorPointer:R}));ut(()=>Nr.value.showTable,e=>ke(e,P,Tn));function Vi(){Nr.value.showTable=!1,En.value&&En.value.setTableIconState(!1)}let Hi=u(()=>hi.value.map(e=>({...e,name:e.display}))),Ui=u(()=>L.value.backgroundColor),Wi=u(()=>L.value.legend),Gi=u(()=>L.value.title),{isCallbackImaging:Ki,isCallbackSvg:qi,generateSvg:Ji,onGenerateImage:Yi}=Oe({svg:G,title:Gi,legend:Wi,legendItems:Hi,backgroundColor:Ui,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Ar});async function Xi(){if(N(`copyAlt`,{config:P.value,dataset:$.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:$.value}))}function Zi(){M.value=null,Wn.value=!0}function Qi(){nr.value=!1,M.value=null,D.value=null,O.value=null,Wn.value=!1}function $i(e){if(!G.value||ki.value||document.activeElement!==G.value||(nr.value=!1,!$.value.length))return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){if(W.value&&(Yr.value||B.value)){fi(),Qr(),Fi(),yr({force:!0,publish:!0});return}M.value=null,D.value=null,O.value=null;return}if(r){if(M.value===null)return;let e=$.value[M.value];if(!e)return;pi(e,M.value);return}let a=M.value,o=D.value,ee=a!==null&&a>=0&&a<$.value.length,s=o!==null&&o>=0&&o<$.value.length;ee?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):s?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let c=$.value[a];c&&li(c)}let ea=u(()=>({headers:Ci.value?.colNames??[],rows:Ci.value?.bodyA11y??[]}));return Ce({getData:wi,getImage:Li,generatePdf:kr,generateCsv:Ti,generateImage:Ar,generateSvg:Ji,hideSeries:Si,showSeries:xi,toggleTable:Oi,toggleAnnotator:Ai,toggleFullscreen:Di,copyAlt:Xi,resetZoom:()=>yr({force:!0,publish:!0}),setZoomState:_r}),(e,t)=>(_(),p(`div`,{ref_key:`donutEvolutionChart`,ref:A,class:g(`vue-data-ui-component vue-ui-donut-evolution ${Ei.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:it(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${L.value.backgroundColor}`),id:T.value,onMouseenter:t[4]||=()=>S(wr)(!0),onMouseleave:t[5]||=()=>S(wr)(!1)},[m(`div`,{id:`chart-instructions-${T.value}`,class:`sr-only`},[m(`p`,null,x(P.value.a11y.translations.keyboardNavigation),1)],8,mt),ea.value?.rows?.length?(_(),d(Ge,{key:0,uid:T.value,head:ea.value.headers,body:ea.value.rows,notice:P.value.a11y.translations.tableAvailable,caption:P.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):f(``,!0),P.value.userOptions.buttons.annotator?(_(),d(S(on),{key:1,svgRef:S(G),backgroundColor:L.value.backgroundColor,color:L.value.color,active:ki.value,isCursorPointer:R.value,palette:P.value.userOptions.annotatorPalette,onClose:Ai},Ze({_:2},[y(S(Me),t=>({name:t,fn:C(n=>[b(e.$slots,t,rt(et(S(je)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),jr.value?(_(),p(`div`,{key:2,ref_key:`noTitle`,ref:mn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),L.value.title.text?(_(),p(`div`,{key:3,ref_key:`chartTitle`,ref:In,style:`width:100%;background:transparent;padding-bottom:24px`,onMouseleave:ci},[(_(),d(De,{key:`title_${_n.value}`,config:{title:{cy:`donut-evolution-div-title`,...L.value.title},subtitle:{cy:`donut-evolution-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],544)):f(``,!0),m(`div`,{id:`legend-top-${T.value}`},null,8,ht),P.value.userOptions.show&&Gn.value&&(S(Tr)||S(Cr))?(_(),d(S(sn),{ref_key:`userOptionsRef`,ref:En,key:`user_options_${hn.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:S(Dr),isImaging:S(Or),uid:T.value,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:Ei.value,titles:{...P.value.userOptions.buttonTitles},chartElement:A.value,position:P.value.userOptions.position,hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:ki.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:R.value,onToggleFullscreen:Di,onGeneratePdf:S(kr),onGenerateCsv:Ti,onGenerateImage:S(Yi),onGenerateSvg:S(Ji),onToggleTable:Oi,onToggleAnnotator:Ai,onCopyAlt:Xi,style:it({visibility:S(Tr)?S(Cr)?`visible`:`hidden`:`visible`})},Ze({_:2},[y(S(Ne)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[b(e.$slots,t,rt(et(S(Pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,gt,[(_(),p(`svg`,{ref_key:`svgRef`,ref:G,xmlns:S(pe),"aria-describedby":`chart-instructions-${T.value}`,class:g({"vue-data-ui-fullscreen--on":Ei.value,"vue-data-ui-fulscreen--off":!Ei.value,"vue-data-ui-no-transition":!S(Yn),"vue-ui-donut-evolution-chart-zoom-pointer-focus":W.value&&nr.value}),viewBox:`0 0 ${q.value.absoluteWidth} ${q.value.absoluteHeight}`,style:it({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:L.value.color,cursor:W.value?B.value?`col-resize`:`crosshair`:void 0,touchAction:W.value?`pan-y`:void 0,userSelect:W.value?`none`:void 0}),tabindex:`0`,onFocus:Zi,onBlur:Qi,onKeydown:$i,onPointerdown:ai,onPointermove:oi,onPointerup:si,onPointercancel:Qr,onClickCapture:ei},[$e(S(an)),e.$slots[`chart-background`]?(_(),p(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:q.value.width,height:q.value.height,style:{pointerEvents:`none`}},[b(e.$slots,`chart-background`,{},void 0,!0)],8,vt)):f(``,!0),m(`defs`,null,[$e(He,{t:`linear`,id:`hover_${T.value}`,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,S(c)(L.value.backgroundColor,I.value.highlighter.opacity),1],[`100%`,S(c)(I.value.highlighter.color,I.value.highlighter.opacity),1]]},null,8,[`id`,`stops`]),$e(He,{t:`radial`,id:`focus_${T.value}`,stops:[[`0%`,S(c)(S(ne)(L.value.backgroundColor),0),1],[`77%`,S(c)(`#FFFFFF`,30),1],[`100%`,S(c)(S(ne)(L.value.backgroundColor),0),1]]},null,8,[`id`,`stops`])]),F.value.show?(_(),p(`g`,yt,[m(`line`,{x1:K.value?q.value.right:q.value.left,x2:K.value?q.value.right:q.value.left,y1:q.value.top,y2:q.value.top+q.value.height,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,bt),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,xt),F.value.showVerticalLines?(_(),p(`g`,St,[(_(!0),p(l,null,y(z.value.end-z.value.start,(e,t)=>(_(),p(`line`,{x1:q.value.left+(t+1)*Z.value,x2:q.value.left+(t+1)*Z.value,y1:q.value.top,y2:q.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,8,Ct))),256))])):f(``,!0)])):f(``,!0),m(`g`,null,[F.value.axis.yLabel?(_(),p(`text`,{key:0,ref_key:`yAxisLabel`,ref:Cn,"font-size":F.value.axis.fontSize,fill:F.value.axis.color,transform:`translate(${K.value?q.value.absoluteWidth-F.value.axis.fontSize/2-F.value.axis.yLabelOffsetX:F.value.axis.fontSize}, ${q.value.top+q.value.height/2}) rotate(-90)`,"text-anchor":`middle`,style:{transition:`none`}},x(F.value.axis.yLabel),9,wt)):f(``,!0),F.value.axis.xLabel?(_(),p(`text`,{key:1,ref_key:`xAxisLabel`,ref:Sn,"text-anchor":`middle`,x:q.value.absoluteWidth/2,y:q.value.absoluteHeight-3,"font-size":F.value.axis.fontSize,fill:F.value.axis.color},x(F.value.axis.xLabel),9,Tt)):f(``,!0)]),F.value.yAxis.dataLabels.show?(_(),p(`g`,{key:2,ref_key:`scaleLabels`,ref:bn,class:g({"donut-opacity":!0,"donut-behind":D.value!==null})},[(_(!0),p(l,null,y(Wr.value,(e,t)=>(_(),p(`g`,{key:`sl_${t}`},[e.value>=Q.value.min&&e.value<=Q.value.max?(_(),p(`path`,{key:0,class:g({"vue-data-ui-transition":S(Yn)}),d:`M${K.value?q.value.right:q.value.left},${e.y} ${K.value?q.value.right+5:q.value.left-5},${e.y}`,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-linecap":`round`},null,10,Et)):f(``,!0),e.value>=Q.value.min&&e.value<=Q.value.max?(_(),p(`text`,{key:1,class:g({"vue-data-ui-transition":S(Yn)}),transform:`translate(${K.value?q.value.right-F.value.yAxis.dataLabels.offsetX+7:q.value.left+F.value.yAxis.dataLabels.offsetX-7}, ${e.y+F.value.yAxis.dataLabels.fontSize/3})`,"font-size":F.value.yAxis.dataLabels.fontSize,"text-anchor":K.value?`start`:`end`,fill:F.value.yAxis.dataLabels.color,"font-weight":F.value.yAxis.dataLabels.bold?`bold`:`normal`},x(S(ge)(e.value)?S(ce)(I.value.dataLabels.formatter,e.value,S(n)({p:I.value.dataLabels.prefix,v:e.value,s:I.value.dataLabels.suffix,r:I.value.grid.yAxis.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t}):``),11,Dt)):f(``,!0)]))),128))],2)):f(``,!0),F.value.xAxis.dataLabels.show?(_(),p(`g`,{key:3,ref_key:`timeLabelsEls`,ref:xn,class:g({"donut-opacity":!0})},[(_(!0),p(l,null,y(z.value.end-z.value.start,(e,t)=>(_(),p(`g`,null,[(F.value.xAxis.dataLabels.showOnlyFirstAndLast&&(t===0||t===Y.value-1)||!F.value.xAxis.dataLabels.showOnlyFirstAndLast)&&X.value[t]&&X.value[t].text?(_(),p(`g`,Ot,[String(X.value[t].text).includes(`
2
- `)?(_(),p(`text`,{key:1,class:`vue-data-ui-time-label`,"text-anchor":F.value.xAxis.dataLabels.rotation>0?`start`:F.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":F.value.xAxis.dataLabels.fontSize,fill:F.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+F.value.xAxis.dataLabels.fontSize+F.value.xAxis.dataLabels.offsetY}), rotate(${F.value.xAxis.dataLabels.rotation})`,innerHTML:S(s)({content:String(X.value[t].text),fontSize:F.value.xAxis.dataLabels.fontSize,fill:I.value.grid.xAxis.dataLabels.color,x:0,y:0})},null,8,At)):(_(),p(`text`,{key:0,class:`vue-data-ui-time-label`,"text-anchor":F.value.xAxis.dataLabels.rotation>0?`start`:F.value.xAxis.dataLabels.rotation<0?`end`:`middle`,"font-size":F.value.xAxis.dataLabels.fontSize,fill:F.value.xAxis.dataLabels.color,transform:`translate(${q.value.left+Z.value*t+Z.value/2}, ${q.value.bottom+F.value.xAxis.dataLabels.fontSize+F.value.xAxis.dataLabels.offsetY}), rotate(${F.value.xAxis.dataLabels.rotation})`},x(X.value[t].text||``),9,kt))])):f(``,!0)]))),256))],512)):f(``,!0),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,null,[I.value.line.show&&t<$.value.length-1&&![e.subtotal,$.value[t+1].subtotal].includes(null)?(_(),p(`line`,{key:0,class:g({"donut-opacity":!0,"donut-behind":D.value!==null}),x1:e.x,y1:e.y,x2:$.value[t+1].x,y2:$.value[t+1].y,stroke:I.value.line.stroke,"stroke-width":I.value.line.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,10,jt)):f(``,!0),e.subtotal===null?f(``,!0):(_(),p(`g`,Mt,[e.subtotal?(_(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:e.activeRadius,fill:L.value.backgroundColor},null,8,Nt)):f(``,!0)]))]))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null})},[e.subtotal?(_(),p(`g`,Pt,[D.value!==null&&D.value===t?(_(),p(`g`,Ft,[(_(!0),p(l,null,y(e.donutHover,t=>(_(),p(`g`,null,[ji(t)?(_(),p(`path`,{key:0,d:S(se)(t,{x:t.center.endX,y:t.center.endY},12,12,{x:e.x,y:e.y},!1,20),stroke:t.color,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:`none`},null,8,It)):f(``,!0)]))),256)),(_(!0),p(l,null,y(e.donutHover,(t,n)=>(_(),p(`g`,null,[ji(t)?(_(),p(`text`,{key:0,"data-cy-hover-label":``,"text-anchor":S(oe)(t,!0,0).anchor,x:S(oe)(t,!0,9).x,y:S(fe)(t,14,10),fill:F.value.yAxis.dataLabels.color,"font-size":8,"font-weight":`bold`},x(t.name)+`: `+x(Kr(t,e.donut))+` (`+x(t.value===null?`-`:Gr(t.value,t,n))+`) `,9,Lt)):f(``,!0)]))),256)),m(`g`,null,[m(`circle`,{cx:e.x,cy:e.y,r:e.hoverRadius,fill:L.value.backgroundColor},null,8,Rt)])])):f(``,!0)])):f(``,!0)],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null})},[e.subtotal===null?f(``,!0):(_(),p(`g`,zt,[e.subtotal===0?(_(),p(`circle`,{key:0,cx:e.x,cy:e.y,r:3,fill:L.value.color},null,8,Bt)):D.value!==null&&D.value===t?(_(),p(`g`,Vt,[(_(!0),p(l,null,y(e.donutHover,(e,t)=>(_(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":1,stroke:L.value.backgroundColor},null,8,Ht))),256))])):(_(),p(`g`,Ut,[(_(!0),p(l,null,y(e.donut,(e,t)=>(_(),p(`path`,{d:e.arcSlice,fill:`${e.color}`,"stroke-width":.5,stroke:L.value.backgroundColor},null,8,Wt))),256))]))]))],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`g`,{class:g({"donut-opacity":!0,"donut-behind":t!==D.value&&D.value!==null||pn.value&&t!==k.value.index})},[e.subtotal!==null&&I.value.dataLabels.show?(_(),p(`text`,{key:0,"text-anchor":`middle`,x:e.x,y:D.value===e.index&&e.subtotal?e.y+I.value.dataLabels.fontSize/3:e.y-e.radius-I.value.dataLabels.fontSize+I.value.dataLabels.offsetY,"font-size":I.value.dataLabels.fontSize,"font-weight":`bold`,fill:I.value.dataLabels.color},x(Gr(e.subtotal,e,t)),9,Gt)):f(``,!0)],2))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`rect`,{x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:[D.value,ui.value].includes(e.index)?`url(#hover_${T.value})`:`transparent`,class:g({"donut-hover":R.value&&e.subtotal&&[D.value,ui.value].includes(e.index)}),style:{pointerEvents:`none`}},null,10,Kt))),256)),(_(!0),p(l,null,y($.value,(e,t)=>(_(),p(`rect`,{"data-cy-trap":``,x:q.value.left+t*Z.value,y:q.value.top,width:Z.value,height:q.value.height,fill:`transparent`,onMouseenter:t=>li(e),onMouseleave:t=>ci(e),onClick:n=>mi(e,t),style:it({cursor:W.value?B.value?`col-resize`:`crosshair`:void 0}),class:g({"donut-hover":R.value&&D.value===e.index&&e.subtotal})},null,46,qt))),256)),Jr.value?(_(),p(`rect`,{key:4,x:Jr.value.x,y:Jr.value.y,width:Jr.value.width,height:Jr.value.height,fill:ar.value.selection.fill,"fill-opacity":ar.value.selection.fillOpacity,stroke:ar.value.selection.stroke,"stroke-opacity":ar.value.selection.strokeOpacity,"stroke-width":ar.value.selection.strokeWidth,"stroke-dasharray":ar.value.selection.strokeDasharray,"stroke-linecap":`round`,"stroke-linejoin":`round`,"pointer-events":`none`},null,8,Jt)):f(``,!0),b(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:S(Dr)||S(Or)||S(Ki),isPrintingSvg:S(qi)}},void 0,!0)],46,_t)),e.$slots.hint?(_(),p(`div`,Yt,[b(e.$slots,`hint`,rt(et({hint:P.value.a11y.translations.keyboardNavigation,isVisible:Wn.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(_(),p(`div`,Xt,[b(e.$slots,`watermark`,rt(et({isPrinting:S(Dr)||S(Or)||S(Ki)||S(qi)})),void 0,!0)])):f(``,!0),m(`div`,{ref_key:`chartSlicer`,ref:Bn,style:it(`width:100%;background:${L.value.backgroundColor}`),"data-dom-to-png-ignore":``},[Y.value>1&&L.value.zoom.show?(_(),d(Ue,{ref_key:`slicerComponent`,ref:zn,key:`slicer_${gn.value}`,background:L.value.zoom.color,borderColor:L.value.backgroundColor,fontSize:L.value.zoom.fontSize,useResetSlot:L.value.zoom.useResetSlot,timeLabels:X.value,textColor:L.value.color,inputColor:L.value.zoom.color,selectColor:L.value.zoom.highlightColor,max:Y.value,min:0,valueStart:z.value.start,valueEnd:z.value.end,refreshStartPoint:L.value.zoom.startIndex===null?0:L.value.zoom.startIndex,refreshEndPoint:L.value.zoom.endIndex===null?Y.value:L.value.zoom.endIndex+1,enableRangeHandles:L.value.zoom.enableRangeHandles,enableSelectionDrag:L.value.zoom.enableSelectionDrag,focusOnDrag:L.value.zoom.focusOnDrag,focusRangeRatio:L.value.zoom.focusRangeRatio,isCursorPointer:R.value,maxWidth:L.value.zoom.maxWidth,minimapLeftInsetRatio:q.value.absoluteWidth>0&&L.value.zoom.autoFit?q.value.left/q.value.absoluteWidth:null,minimapRightInsetRatio:q.value.absoluteWidth>0&&L.value.zoom.autoFit?(q.value.absoluteWidth-q.value.right)/q.value.absoluteWidth:null,"onUpdate:start":xr,"onUpdate:end":Sr,onReset:t[0]||=()=>yr({force:!0,publish:!0})},{"reset-action":C(({reset:t})=>[b(e.$slots,`reset-action`,rt(et({reset:t})),void 0,!0)]),_:3},8,[`background`,`borderColor`,`fontSize`,`useResetSlot`,`timeLabels`,`textColor`,`inputColor`,`selectColor`,`max`,`valueStart`,`valueEnd`,`refreshStartPoint`,`refreshEndPoint`,`enableRangeHandles`,`enableSelectionDrag`,`focusOnDrag`,`focusRangeRatio`,`isCursorPointer`,`maxWidth`,`minimapLeftInsetRatio`,`minimapRightInsetRatio`])):f(``,!0)],4),m(`div`,{id:`legend-bottom-${T.value}`},null,8,Zt),wn.value&&(L.value.legend.show||e.$slots.legend)?(_(),d(Xe,{key:6,to:L.value.legend.position===`top`?`#legend-top-${T.value}`:`#legend-bottom-${T.value}`},[m(`div`,{ref_key:`chartLegend`,ref:Ln},[b(e.$slots,`legend`,{legend:hi.value},()=>[L.value.legend.show?(_(),d(Je,{key:`legend_${yn.value}`,legendSet:hi.value,config:_i.value,onClickMarker:t[1]||=({legend:e})=>yi(e.uid)},{item:C(({legend:e,index:t})=>[m(`div`,{onClick:t=>yi(e.uid),style:it(`opacity:${E.value.includes(e.uid)?.5:1}`)},x(e.display),13,Qt)]),legendToggle:C(()=>[hi.value.length>2&&L.value.legend.selectAllToggle.show&&!S(Zn)?(_(),d(We,{key:0,backgroundColor:L.value.legend.selectAllToggle.backgroundColor,color:L.value.legend.selectAllToggle.color,fontSize:L.value.legend.fontSize,checked:E.value.length>0,onToggle:vi},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):f(``,!0)]),_:1},8,[`legendSet`,`config`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(_(),p(`div`,{key:7,ref_key:`source`,ref:Rn,dir:`auto`},[b(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),Gn.value&&P.value.userOptions.buttons.table?(_(),d(st(Bi.value.component),tt({key:8},Bi.value.props,{ref_key:`tableUnit`,ref:Tn,onClose:Vi}),Ze({content:C(()=>[(_(),d(S(rn),{key:`table_${vn.value}`,colNames:Ci.value.colNames,head:Ci.value.head,body:Ci.value.body,config:Ci.value.config,title:P.value.table.useDialog?``:Bi.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:R.value,onClose:Vi},{th:C(({th:e})=>[Qe(x(e.name??e),1)]),td:C(({td:e})=>[e.value===null?(_(),p(`span`,$t,`-`)):(_(),p(`b`,en,x(isNaN(e.value)?``:I.value.dataLabels.prefix)+x(!isNaN(e.value)&&e.value!==null?Number(e.value.toFixed(P.value.table.td.roundingValue)).toLocaleString():e)+x(isNaN(e.value)?``:I.value.dataLabels.suffix),1)),m(`span`,null,x(e.percentage&&!isNaN(e.percentage)?`(${Number(e.percentage.toFixed(P.value.table.td.roundingPercentage)).toLocaleString()}%)`:``),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:C(()=>[Qe(x(Bi.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:C(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[2]||=e=>Ti(P.value.userOptions.callbacks.csv),style:it({cursor:R.value?`cursor`:`default`})},[$e(S(nn),{name:`fileCsv`,stroke:Bi.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),Jn.value.show?(_(),d(S(ln),{key:9,ref_key:`dialog`,ref:Pi,onClose:t[3]||=e=>{k.value=null,pn.value=!1,O.value=null,D.value=null,ui.value=null},backgroundColor:Jn.value.backgroundColor,color:Jn.value.color,headerBg:Jn.value.header.backgroundColor,headerColor:Jn.value.header.color,isFullscreen:Ei.value,fullscreenParent:A.value},{title:C(()=>[Qe(x(X.value[Number(k.value.index)]?X.value[Number(k.value.index)].text:``),1)]),content:C(()=>[k.value?(_(),d(S(cn),{key:0,config:Ni.value,dataset:Mi.value},null,8,[`config`,`dataset`])):f(``,!0)]),_:1},8,[`backgroundColor`,`color`,`headerBg`,`headerColor`,`isFullscreen`,`fullscreenParent`])):f(``,!0),S(Zn)?(_(),d(be,{key:10})):f(``,!0)],46,pt))}},[[`__scopeId`,`data-v-04822613`]]);export{ft as n,tn as t};
@@ -1,9 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Ft as i,Jt as a,Q as o,X as s,_ as ee,at as te,b as ne,i as c,in as re,nt as ie,t as ae,yt as oe,zt as se}from"./lib-DqD8nbyX.js";import{n as ce,t as le}from"./BaseScanner-8NdoBs7B.js";import{n as ue,t as de}from"./useHints-BH9r_0Vd.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./resolveChartConfig-ChGWTt5l.js";import{t as me}from"./chartImage-r-G4CkRK.js";import{n as he}from"./Title-BLA0tM3g.js";import{t as ge}from"./useChartExport-DtPNpc9M.js";import{n as _e,t as ve}from"./tableIntegration-CNoJ1CIY.js";import{n as ye,t as be}from"./annotationSlots-BRR85CqJ.js";import{n as xe,t as Se}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ce}from"./usePrinter-Cj4eIYC_.js";import{t as we}from"./useTimeLabelCollider-XQf_S7-z.js";import{l as Te,t as Ee}from"./useResponsive-D2CPcpda.js";import{t as l}from"./DefGrad-DKMq1REY.js";import{t as De}from"./A11yDataTable-DWNlWXzs.js";import{t as Oe}from"./useUserOptionState-CXlFnwPv.js";import{t as ke}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ae}from"./Legend-D8NunRPr.js";import{t as je}from"./usePrefersMotion-XLHwega2.js";import{t as Me}from"./vue_ui_dumbbell-BMcxK0N3.js";import{Fragment as u,Teleport as Ne,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as Pe,createTextVNode as Fe,createVNode as g,defineAsyncComponent as _,guardReactiveProps as Ie,mergeProps as Le,nextTick as Re,normalizeClass as ze,normalizeProps as Be,normalizeStyle as v,onBeforeUnmount as Ve,onMounted as He,openBlock as y,ref as b,renderList as x,renderSlot as S,resolveDynamicComponent as Ue,shallowRef as We,toDisplayString as C,toRefs as Ge,unref as w,vShow as T,watch as Ke,watchEffect as qe,withCtx as E,withDirectives as Je}from"vue";var Ye=/* @__PURE__ */ e({default:()=>Pt}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`viewBox`,`aria-describedby`],tt=[`x`,`y`,`width`,`height`],nt={key:1},rt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],it={key:2},at=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],ot=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`,`stroke-dasharray`],st=[`transform`,`font-size`,`fill`],ct=[`x`,`y`,`font-size`,`fill`,`font-weight`,`onMouseenter`,`onMouseleave`,`onClick`],lt=[`x`,`y`,`font-size`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],ut=[`x`,`y`,`font-size`,`fill`],dt=[`transform`,`font-size`,`fill`,`font-weight`,`text-anchor`],ft=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],pt=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],mt=[`x`,`y`,`height`,`width`,`fill`],ht=[`transform`,`fill`,`font-size`],gt={key:0},_t={key:0},vt=[`d`,`fill`],yt={key:1},bt=[`x`,`y`,`height`,`width`,`fill`],xt=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],St=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],Ct={key:7},wt=[`x`,`y`,`fill`,`font-size`],Tt={key:8},Et=[`x`,`y`,`fill`,`font-size`],Dt=[`x`,`y`,`width`,`height`,`fill`,`onMouseenter`,`onMouseleave`,`onClick`],Ot={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},kt={key:5,class:`vue-data-ui-watermark`},At=[`id`],jt=[`xmlns`,`height`,`width`],Mt=[`fill`],Nt={style:{display:`flex`,"align-items":`center`}},Pt=/*#__PURE__*/ fe({__name:`vue-ui-dumbbell`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectDatapoint`,`copyAlt`],setup(e,{expose:fe,emit:Ye}){let Pt=_(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),Ft=_(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),It=_(()=>import(`./DataTable-BcVZLSs8.js`)),Lt=_(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Rt=_(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),zt=_(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Bt=_(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_dumbbell:Vt}=t(),Ht=je(),D=e,Ut=Ye,Wt=d({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),O=b(s()),Gt=b(0),k=b(null),Kt=b(null),qt=b(null),Jt=b(null),Yt=b(null),Xt=b(0),Zt=b(0),Qt=b(0),$t=b(!1),en=b(null),tn=b(null),nn=b(null),rn=b(null),an=b(null),on=b(null),A=b(null),j=b(null),M=b(null),sn=b(!1),N=b(!1),P=b(vn()),F=d(()=>P.value.style.chart.grid.horizontalGrid),cn=d(()=>P.value.style.chart.grid.verticalGrid),I=d(()=>P.value.style.chart.labels);d(()=>P.value.style.chart.grid);let L=d(()=>P.value.style.chart.plots),R=d(()=>P.value.style.chart.comparisonLines),z=d(()=>P.value.style.chart);ue({config:()=>P.value,dataset:()=>D.dataset,component:`VueUiDumbbell`,rules:[de.emptyArray,{test:e=>e.length>31,message:[`👀 The number of series is > 31. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using multiple instances of the component to display related series.`]}]});let ln=d(()=>P.value.userOptions.useCursorPointer),un=d(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useAnimation:!1,style:{chart:{backgroundColor:`#99999930`,padding:{top:12,right:12,bottom:12,left:12},grid:{horizontalGrid:{stroke:`#6A6A6A`},verticalGrid:{stroke:`#6A6A6A`}},labels:{axis:{yLabel:``,xLabel:``},xAxisLabels:{show:!1},yAxisLabels:{show:!1},endLabels:{show:!1},startLabels:{show:!1}},legend:{backgroundColor:`transparent`},plots:{endColor:`#969696`,startColor:`#DBDBDB`,stroke:`#6A6A6A`,evaluationColors:{enable:!1}}}}},userConfig:P.value.skeletonConfig??{}})),{loading:dn,FINAL_DATASET:fn,manualLoading:pn}=ce({...Ge(D),FINAL_CONFIG:P,prepareConfig:vn,skeletonDataset:D.config?.skeletonDataset??[{name:`_`,start:21,end:34},{name:`_`,start:13,end:21},{name:`_`,start:8,end:13},{name:`_`,start:5,end:8},{name:`_`,start:3,end:5}],skeletonConfig:re({defaultConfig:P.value,userConfig:un.value})}),{userOptionsVisible:mn,setUserOptionsVisibility:hn,keepUserOptionState:gn}=Oe({config:P.value}),{svgRef:_n}=ke({config:z.value.title});function vn(){return pe(D.config,Vt,Me)}Ke(()=>D.config,e=>{dn.value||(P.value=vn()),mn.value=!P.value.userOptions.showOnChartHover,bn(),Xt.value+=1,Zt.value+=1,Qt.value+=1,G.value=z.value.rowHeight,K.value=z.value.width,H.value.showTable=P.value.table.show},{deep:!0}),Ke(()=>fn.value,e=>{Array.isArray(e)&&e.length>0&&(pn.value=!1),Pn(),Fn()},{deep:!0});let B=We(null),V=We(null);He(()=>{$t.value=!0,bn()});let yn=d(()=>P.value.debug);function bn(){if(se(D.dataset)?te({componentName:`VueUiDumbbell`,type:`dataset`,debug:yn.value}):D.dataset.forEach((e,t)=>{oe({datasetObject:e,requiredAttributes:[`name`,`start`,`end`]}).forEach(e=>{Wt.value=!1,te({componentName:`VueUiDumbbell`,type:`datasetSerieAttribute`,property:e,index:t,debug:yn.value})})}),P.value.responsive){let e=Te(()=>{let{width:e,height:t}=Ee({chart:k.value,title:z.value.title.text?Kt.value:null,legend:z.value.legend.show?qt.value:null,source:Jt.value,noTitle:Yt.value}),n=z.value.title.text?24:0,r=z.value.legend.show?24:0;requestAnimationFrame(async()=>{K.value=Math.max(.1,e),G.value=Math.max(.1,(Math.max(.1,t)-(n+r))/fn.value.length),Yn()})});B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect()),B.value=new ResizeObserver(e),V.value=k.value.parentNode,B.value.observe(V.value)}Yn()}Ve(()=>{X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),B.value&&(V.value&&B.value.unobserve(V.value),B.value.disconnect())});let{isPrinting:xn,isImaging:Sn,generatePdf:Cn,generateImage:wn}=Ce({elementId:`dumbbell_${O.value}`,fileName:z.value.title.text||`vue-ui-dumbbell`,options:P.value.userOptions.print}),Tn=d(()=>P.value.userOptions.show&&!z.value.title.text),H=b({showTable:P.value.table.show});Ke(P,()=>{H.value={showTable:P.value.table.show}},{immediate:!0});let U=d(()=>fn.value.map((e,t)=>({...e,start:ne(e.start),end:ne(e.end),id:e.id??`${String(e.name)}__${String(e.start)}__${String(e.end)}__${s()}`}))),En=d(()=>{let e=z.value.grid,t=U.value.flatMap(e=>[e.start,e.end]).map(e=>Number(e)).filter(e=>Number.isFinite(e)),n=t.length?Math.min(...t):0,r=t.length?Math.max(...t):0;return{min:e.scaleMin??Math.min(n,0),max:e.scaleMax??r}}),W=d(()=>ee(En.value.min,En.value.max,z.value.grid.scaleSteps)),G=b(z.value.rowHeight),K=b(z.value.width);function Dn(){let e=0;rn.value&&(e=Array.from(rn.value.querySelectorAll(`text`)).reduce((e,t)=>{let n=t.getComputedTextLength();return n>e?n:e},0));let t=nn.value?nn.value.getBoundingClientRect().width:0;return e+t+(t?24+I.value.axis.yLabelOffsetX:0)}let On=b(0),kn=Te(e=>{On.value=e},100);qe(e=>{let t=an.value;if(!t)return;let n=new ResizeObserver(e=>{kn(e[0].contentRect.height)});n.observe(t),e(()=>n.disconnect())}),Ve(()=>{On.value=0});let An=d(()=>{N.value;let e=0;on.value&&(e=on.value.getBBox().height);let t=0;return an.value&&(t=On.value),e+t}),jn=d(()=>U.value.length);function Mn(e,t,n){let r=Number(e),i=Number(t.min),a=Number(t.max),o=Number(n.width);if(!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return n.left;let s=a-i;return s<=0?n.left:n.left+(r-i)/s*o}let q=d(()=>{N.value;let e=Dn(),t=z.value.padding,n=I.value.axis.xLabel?I.value.axis.xLabelOffsetY:0,r=G.value*jn.value-An.value-t.top-t.bottom-n,i=r/jn.value,a=G.value*jn.value,o=K.value-e-t.left-t.right,s=W.value.ticks.length*(o/W.value.ticks.length);return{left:z.value.padding.left+e,right:K.value-z.value.padding.right,top:z.value.padding.top,bottom:a-z.value.padding.bottom-An.value-n,width:o,height:r,rowHeight:i,absoluteHeight:a,widthPlotReference:s}}),J=d(()=>Math.min(G.value/2*.7,L.value.radius)),Nn=b([]),Y=d({get(){let e=q.value,t=W.value;return Nn.value.map((n,r)=>{let i=Mn(n.start,t,e),a=Mn(n.endVal,t,e),o=i+(a-i)/2,s=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end>n.start,ee=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end<n.start,te=![null,void 0].includes(n.start)&&![null,void 0].includes(n.end)&&n.end===n.start||[null,void 0].includes(n.start)||[null,void 0].includes(n.end),ne=s?L.value.evaluationColors.positive:ee?L.value.evaluationColors.negative:L.value.evaluationColors.neutral;return{...n,isPositive:s,isNegative:ee,isNeutral:te,evaluationColor:ne,evaluationGrad:`url(#${s?`positive`:ee?`negative`:`neutral`}_grad_${O.value})`,startX:i,endX:a,centerX:o,y:e.top+r*e.rowHeight+e.rowHeight/2}})},set(e){Nn.value=e}});function Pn(){Nn.value=U.value.map(e=>{let t=Number(e.start);return{...e,endVal:Number.isFinite(t)?t:0}})}let X=b(null);He(()=>{Fn()});function Fn(){if(X.value!=null&&(cancelAnimationFrame(X.value),X.value=null),Pn(),!P.value.useAnimation||Ht.value){Y.value=Nn.value.map(e=>{let t=Number(e.end);return{...e,endVal:Number.isFinite(t)?t:e.endVal}});return}let e=Math.max(1,Math.min(100,P.value.animationSpeed||100))/100,t=U.value.map(e=>{let t=Number(e.start),n=Number(e.end),r=Number.isFinite(t)?t:0;return(Number.isFinite(n)?n:r)-r}),n=()=>{let r=!0;Y.value=Nn.value.map((n,i)=>{let a=Number.isFinite(Number(n.end))?Number(n.end):n.endVal,o=n.endVal+t[i]*e,s=t[i]>=0?Math.min(o,a):Math.max(o,a);return s!==a&&(r=!1),{...n,endVal:s}}),r?X.value=null:X.value=requestAnimationFrame(n)};X.value=requestAnimationFrame(n)}let In=d(()=>L.value.evaluationColors.enable?[{name:z.value.legend.labelNegative,color:L.value.gradient.show?`url(#negative_grad_${O.value})`:L.value.evaluationColors.negative},{name:z.value.legend.labelNeutral,color:L.value.gradient.show?`url(#neutral_grad_${O.value})`:L.value.evaluationColors.neutral},{name:z.value.legend.labelPositive,color:L.value.gradient.show?`url(#positive_grad_${O.value})`:L.value.evaluationColors.positive}]:[{name:z.value.legend.labelStart,color:L.value.gradient.show?`url(#start_grad_${O.value})`:L.value.startColor},{name:z.value.legend.labelEnd,color:L.value.gradient.show?`url(#end_grad_${O.value})`:L.value.endColor}]),Ln=d(()=>({cy:`donut-div-legend`,backgroundColor:z.value.legend.backgroundColor,color:z.value.legend.color,fontSize:z.value.legend.fontSize,paddingBottom:12,paddingTop:12,fontWeight:z.value.legend.bold?`bold`:``})),Z=d(()=>({head:Y.value.map(e=>({name:e.name})),body:Y.value.map(e=>({start:e.start,end:e.end}))})),Q=d(()=>{let e=[P.value.table.columnNames.series,P.value.table.columnNames.start,P.value.table.columnNames.end,P.value.table.columnNames.progression],t=Z.value.head.map((e,t)=>{let r=n({p:I.value.prefix,v:Z.value.body[t].start,s:I.value.suffix,r:P.value.table.td.roundingValue}),i=n({p:I.value.prefix,v:Z.value.body[t].end,s:I.value.suffix,r:P.value.table.td.roundingValue}),a=n({v:100*(Z.value.body[t].end/Z.value.body[t].start-1),s:`%`,r:P.value.table.td.roundingPercentage});return[{name:e.name},r,i,a]}),r={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.start,P.value.table.columnNames.end,P.value.table.columnNames.progression],head:e,body:t,config:r}});function Rn(e=null){Re(()=>{let t=Z.value.head.map((e,t)=>[[e.name],[Z.value.body[t].start],[Z.value.body[t].end]]),n=[[z.value.title.text],[z.value.title.subtitle.text],[[P.value.table.columnNames.series],[P.value.table.columnNames.start],[P.value.table.columnNames.end]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:z.value.title.text||`vue-ui-dumbbell`})})}let $=b(!1);function zn(e){$.value=e,Gt.value+=1}function Bn(){return U.value}function Vn(){H.value.showTable=!H.value.showTable}let Hn=b(!1);function Un(){Hn.value=!Hn.value}let Wn=me(k,()=>z.value.title.text),Gn=d(()=>W.value.ticks),Kn=d(()=>({start:0,end:Gn.value.length}));we({timeLabelsEls:an,timeLabels:Gn,slicer:Kn,configRef:P,rotationPath:[`style`,`chart`,`labels`,`xAxisLabels`,`rotation`],autoRotatePath:[`style`,`chart`,`labels`,`xAxisLabels`,`autoRotate`,`enable`],isAutoSize:!1,width:K,height:G,targetClass:`.vue-ui-dumbbell-scale-label`,rotation:I.value.xAxisLabels.autoRotate.angle});function qn({rowHeight:e,fontSize:t,showProgression:n}){if(!n)return!1;let r=e/3,i=e/1.3;return Math.abs(i-r)<t*1.2}let Jn=(()=>{let e=null,t=0;return n=>{if(n===N.value){e=null,t=0;return}e===null||e!==n?(e=n,t=1):(t+=1,t>=1&&(N.value=n,e=null,t=0))}})(),Yn=Te(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=qn({rowHeight:q.value.rowHeight,fontSize:I.value.yAxisLabels.fontSize,showProgression:I.value.yAxisLabels.showProgression});Jn(e)})})},100);function Xn({datapoint:e,seriesIndex:t}){A.value=t,j.value=e,P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:t})}function Zn({datapoint:e,seriesIndex:t}){A.value=null,j.value=null,P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:e,seriesIndex:t})}function Qn({datapoint:e,seriesIndex:t}){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:t}),Ut(`selectDatapoint`,{...e,seriesIndex:t})}let $n=d(()=>{if(j.value===null)return 0;let e=![null,void 0].includes(j.value.start),t=![null,void 0].includes(j.value.end);return e&&t?Math.min(j.value.startX,j.value.endX)+Math.abs(j.value.startX-j.value.endX)/2:e&&!t?j.value.startX:t&&!e?j.value.endX:null}),er=d(()=>{if(j.value===null)return``;let e=![null,void 0].includes(j.value.start),t=![null,void 0].includes(j.value.end),r=``,i=``;return e&&(r=c(I.value.formatter,j.value.start,n({p:I.value.prefix,v:j.value.start,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:j.value,seriesIndex:A.value})),t&&(i=c(I.value.formatter,j.value.end,n({p:I.value.prefix,v:j.value.end,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:j.value,seriesIndex:A.value})),e&&t?`${r} → ${i}`:e&&!t?r:t&&!e?i:``}),tr=d(()=>ve({config:P,style:z,mutableConfig:H,dialog:Bt,accordion:Ft,isFullscreen:$,parent:k,maxWidth:800,isCursorPointer:ln}));Ke(()=>H.value.showTable,e=>_e(e,P,en));function nr(){H.value.showTable=!1,tn.value&&tn.value.setTableIconState(!1)}let rr=d(()=>In.value.map(e=>({...e,shape:`circle`}))),ir=d(()=>z.value.backgroundColor),ar=d(()=>z.value.legend),or=d(()=>z.value.title),{isCallbackImaging:sr,isCallbackSvg:cr,generateSvg:lr,onGenerateImage:ur}=ge({svg:_n,title:or,legend:ar,legendItems:rr,backgroundColor:ir,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:wn});async function dr(){if(Ut(`copyAlt`,{config:P.value,dataset:Y.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:Y.value}))}function fr(e){let t=Y.value.length;return t?(e%t+t)%t:null}function pr(){if(M.value!==null){let e=Y.value[M.value];e&&Zn({datapoint:e,seriesIndex:M.value})}M.value=null,A.value=null,j.value=null}function mr(){M.value=null,sn.value=!0}function hr(){pr(),sn.value=!1}function gr(e){if(!_n.value||Hn.value||document.activeElement!==_n.value||!Y.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){pr();return}if(r){if(M.value===null)return;let e=Y.value[M.value];if(!e)return;Qn({datapoint:e,seriesIndex:M.value});return}let a=M.value;a=a===null?n?0:Y.value.length-1:fr(a+(n?1:-1));let o=Y.value[a];o&&(M.value=a,Xn({datapoint:o,seriesIndex:a}))}let _r=d(()=>({head:Q.value.head,body:Q.value.body.map(e=>[e[0]?.name??``,e[1],e[2],e[3]]),caption:P.value.a11y.translations.tableCaption,notice:P.value.a11y.translations.tableAvailable}));return fe({getData:Bn,getImage:Wn,generatePdf:Cn,generateCsv:Rn,generateImage:wn,generateSvg:lr,toggleTable:Vn,toggleAnnotator:Un,toggleFullscreen:zn,copyAlt:dr}),(e,t)=>(y(),m(`div`,{ref_key:`dumbbellChart`,ref:k,class:ze(`vue-data-ui-component vue-ui-dumbbell ${$.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:v(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${z.value.backgroundColor};${P.value.responsive?`height:100%`:``}`),id:`dumbbell_${O.value}`,onMouseenter:t[1]||=()=>w(hn)(!0),onMouseleave:t[2]||=()=>w(hn)(!1)},[h(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[h(`p`,null,C(P.value.a11y.translations.keyboardNavigation),1)],8,Ze),_r.value.body.length?(y(),f(De,{key:0,uid:O.value,head:_r.value.head,body:_r.value.body,caption:_r.value.caption,notice:_r.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):p(``,!0),P.value.userOptions.buttons.annotator?(y(),f(w(Lt),{key:1,svgRef:w(_n),backgroundColor:z.value.backgroundColor,color:z.value.color,active:Hn.value,isCursorPointer:ln.value,palette:P.value.userOptions.annotatorPalette,onClose:Un},Pe({_:2},[x(w(be),t=>({name:t,fn:E(n=>[S(e.$slots,t,Be(Ie(w(ye)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):p(``,!0),Tn.value?(y(),m(`div`,{key:2,ref_key:`noTitle`,ref:Yt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):p(``,!0),z.value.title.text?(y(),m(`div`,{key:3,ref_key:`chartTitle`,ref:Kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),f(he,{key:`title_${Xt.value}`,config:{title:{cy:`donut-div-title`,...z.value.title},subtitle:{cy:`donut-div-subtitle`,...z.value.title.subtitle}}},null,8,[`config`]))],512)):p(``,!0),h(`div`,{id:`legend-top-${O.value}`},null,8,Qe),P.value.userOptions.show&&Wt.value&&(w(gn)||w(mn))?(y(),f(w(Rt),{ref_key:`userOptionsRef`,ref:tn,key:`user_option_${Gt.value}`,backgroundColor:z.value.backgroundColor,color:z.value.color,isPrinting:w(xn),isImaging:w(Sn),uid:O.value,hasPdf:P.value.userOptions.buttons.pdf,hasXls:P.value.userOptions.buttons.csv,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasTable:P.value.userOptions.buttons.table,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:$.value,titles:{...P.value.userOptions.buttonTitles},chartElement:k.value,position:P.value.userOptions.position,hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Hn.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:ln.value,onToggleFullscreen:zn,onGeneratePdf:w(Cn),onGenerateCsv:Rn,onGenerateImage:w(ur),onGenerateSvg:w(lr),onToggleTable:Vn,onToggleAnnotator:Un,onCopyAlt:dr,style:v({visibility:w(gn)?w(mn)?`visible`:`hidden`:`visible`})},Pe({_:2},[x(w(xe)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[S(e.$slots,t,Be(Ie(w(Se)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):p(``,!0),h(`div`,$e,[(y(),m(`svg`,{ref_key:`svgRef`,ref:_n,xmlns:w(ae),class:ze({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value}),viewBox:`0 0 ${K.value} ${q.value.absoluteHeight<=0?10:q.value.absoluteHeight}`,style:v(`max-width:100%; overflow: visible; background:transparent;color:${z.value.color}`),"aria-describedby":`chart-instructions-${O.value}`,tabindex:`0`,onFocus:mr,onBlur:hr,onKeydown:gr},[g(w(zt)),e.$slots[`chart-background`]?(y(),m(`foreignObject`,{key:0,x:q.value.left,y:q.value.top,width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.height),style:{pointerEvents:`none`}},[S(e.$slots,`chart-background`,{},void 0,!0)],8,tt)):p(``,!0),cn.value.show?(y(),m(`g`,nt,[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`line`,{x1:q.value.left+t*q.value.width/(W.value.ticks.length-1),x2:q.value.left+t*q.value.width/(W.value.ticks.length-1),y1:q.value.top,y2:q.value.bottom,stroke:cn.value.stroke,"stroke-width":cn.value.strokeWidth,"stroke-dasharray":cn.value.strokeDasharray},null,8,rt))),256))])):p(``,!0),F.value.show?(y(),m(`g`,it,[(y(!0),m(u,null,x(U.value,(e,t)=>(y(),m(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.top+t*q.value.rowHeight,y2:q.value.top+t*q.value.rowHeight,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-dasharray":F.value.strokeDasharray},null,8,at))),256)),h(`line`,{x1:q.value.left,x2:q.value.right,y1:q.value.bottom,y2:q.value.bottom,stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,"stroke-dasharray":F.value.strokeDasharray},null,8,ot)])):p(``,!0),I.value.axis.yLabel?(y(),m(`text`,{key:3,ref_key:`yAxisLabel`,ref:nn,transform:`translate(${I.value.axis.fontSize}, ${q.value.absoluteHeight/2}), rotate(-90)`,"font-size":I.value.axis.fontSize,fill:I.value.axis.color,"text-anchor":`middle`},C(I.value.axis.yLabel),9,st)):p(``,!0),I.value.yAxisLabels.show?(y(),m(`g`,{key:4,ref_key:`serieLabels`,ref:rn},[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-name`,key:`serieLabel_${e.id}_${t}`,x:q.value.left-6+I.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+(!I.value.yAxisLabels.showProgression||N.value?q.value.rowHeight/2:q.value.rowHeight/3)+I.value.yAxisLabels.fontSize/3,"font-size":I.value.yAxisLabels.fontSize,fill:I.value.yAxisLabels.color,"font-weight":I.value.yAxisLabels.bold?`bold`:`normal`,"text-anchor":`end`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},C(e.name)+` `+C(N.value&&I.value.yAxisLabels.showProgression?[null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:`(${w(c)(I.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:I.value.yAxisLabels.rounding}),{datapoint:e})})`:``),41,ct))),128)),I.value.yAxisLabels.showProgression&&!N.value?(y(!0),m(u,{key:0},x(Y.value,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-serie-value`,x:q.value.left-6+I.value.yAxisLabels.offsetX,y:q.value.top+t*q.value.rowHeight+q.value.rowHeight/1.3+I.value.yAxisLabels.fontSize/3,"font-size":I.value.yAxisLabels.fontSize,fill:I.value.yAxisLabels.color,"text-anchor":`end`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},C([null,void 0].includes(e.start)||[null,void 0].includes(e.end)?``:w(c)(I.value.yAxisLabels.formatter,100*(e.end/e.start-1),w(n)({v:100*(e.end/e.start-1),s:`%`,r:I.value.yAxisLabels.rounding}),{datapoint:e})),41,lt))),256)):p(``,!0)],512)):p(``,!0),I.value.axis.xLabel?(y(),m(`text`,{key:5,ref_key:`xAxisLabel`,ref:on,x:q.value.left+q.value.width/2,y:q.value.absoluteHeight-I.value.axis.fontSize/3,"font-size":I.value.axis.fontSize,fill:I.value.axis.color,"text-anchor":`middle`},C(I.value.axis.xLabel),9,ut)):p(``,!0),I.value.xAxisLabels.show?(y(),m(`g`,{key:6,ref_key:`scaleLabels`,ref:an},[(y(!0),m(u,null,x(W.value.ticks,(e,t)=>(y(),m(`text`,{class:`vue-ui-dumbbell-scale-label`,key:`tick_${t}`,transform:`translate(${q.value.left+t*(q.value.width/(W.value.ticks.length-1))}, ${q.value.bottom+I.value.xAxisLabels.fontSize+I.value.xAxisLabels.offsetY}), rotate(${I.value.xAxisLabels.rotation})`,"font-size":I.value.xAxisLabels.fontSize,fill:I.value.xAxisLabels.color,"font-weight":I.value.xAxisLabels.bold?`bold`:`normal`,"text-anchor":I.value.xAxisLabels.rotation>0?`start`:I.value.xAxisLabels.rotation<0?`end`:`middle`},C(w(c)(I.value.formatter,e,w(n)({p:I.value.prefix,v:e,s:I.value.suffix,r:I.value.xAxisLabels.rounding}),{datapoint:e,seriesIndex:t})),9,dt))),128))],512)):p(``,!0),Je(h(`g`,null,[Je(h(`path`,{d:`M ${j.value?j.value.startX:q.value.left},${q.value.top} ${j.value?j.value.startX:q.value.left},${q.value.bottom}`,stroke:j.value?L.value.evaluationColors.enable?j.value.evaluationColor:L.value.startColor:`transparent`,"stroke-width":R.value.strokeWidth,"stroke-dasharray":R.value.strokeDasharray,style:{transition:`all 0.3s ease-in-out`}},null,8,ft),[[T,j.value!==null&&![null,void 0].includes(j.value.start)]]),Je(h(`path`,{d:`M ${j.value?j.value.endX:q.value.left},${q.value.top} ${j.value?j.value.endX:q.value.left},${q.value.bottom}`,stroke:j.value?L.value.evaluationColors.enable?j.value.evaluationColor:L.value.endColor:`transparent`,"stroke-width":R.value.strokeWidth,"stroke-dasharray":R.value.strokeDasharray,style:{transition:`all 0.3s ease-in-out`}},null,8,pt),[[T,j.value!==null&&![null,void 0].includes(j.value.end)]]),Je(h(`rect`,{x:j.value?Math.min(j.value.startX,j.value.endX):q.value.left,y:q.value.top,height:Math.max(.1,q.value.height),width:j.value?Math.max(.1,Math.abs(j.value.endX-j.value.startX)):0,fill:j.value?w(a)(R.value.rectColor,R.value.rectOpacity):`transparent`,style:{transition:`all 0.3s ease-in-out`}},null,8,mt),[[T,R.value.showRect&&j.value!==null&&![null,void 0].includes(j.value.start)&&![null,void 0].includes(j.value.end)]]),Je(h(`text`,{transform:`translate(${$n.value==null?0:$n.value}, ${q.value.top-6})`,fill:R.value.labelColor,"font-size":R.value.labelFontSize,"text-anchor":`middle`,style:{transition:`all 0.3s ease-in-out`}},C(er.value),9,ht),[[T,j.value!==null&&$n.value!==null&&R.value.showLabel]])],512),[[T,R.value.show&&A.value!==null]]),h(`defs`,null,[g(l,{t:`radial`,id:`start_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.startColor,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.startColor,.1),1],[`100%`,L.value.startColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`end_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.endColor,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.endColor,.1),1],[`100%`,L.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`positive_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.positive,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.positive,.1),1],[`100%`,L.value.evaluationColors.positive,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`negative_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.negative,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.negative,.1),1],[`100%`,L.value.evaluationColors.negative,1]]},null,8,[`id`,`stops`]),g(l,{t:`radial`,id:`neutral_grad_${O.value}`,fy:`30%`,stops:[[`10%`,w(i)(L.value.evaluationColors.neutral,L.value.gradient.intensity/100),1],[`90%`,w(o)(L.value.evaluationColors.neutral,.1),1],[`100%`,L.value.evaluationColors.neutral,1]]},null,8,[`id`,`stops`])]),(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`plot_${t}_${e.id}`},[h(`defs`,null,[g(l,{t:`linear`,id:`grad_pos_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.startColor,1],[`100%`,L.value.endColor,1]]},null,8,[`id`,`stops`]),g(l,{t:`linear`,id:`grad_neg_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.endColor,1],[`100%`,L.value.startColor,1]]},null,8,[`id`,`stops`])]),![void 0,null].includes(e.end)&&![void 0,null].includes(e.start)?(y(),m(`g`,gt,[L.value.link.type===`curved`?(y(),m(`g`,_t,[h(`path`,{d:`M
2
- ${e.startX},${e.y+J.value/2}
3
- C ${e.centerX},${e.y} ${e.centerX},${e.y}
4
- ${e.endX},${e.y+J.value/2}
5
- L ${e.endX},${e.y-J.value/2}
6
- C ${e.centerX},${e.y} ${e.centerX},${e.y}
7
- ${e.startX},${e.y-J.value/2}
8
- Z
9
- `,fill:L.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${O.value})`:`url(#grad_neg_${O.value})`},null,8,vt)])):(y(),m(`g`,yt,[h(`rect`,{x:e.endX>e.startX?e.startX:e.endX,y:e.y-L.value.link.strokeWidth/2,height:Math.max(.01,L.value.link.strokeWidth),width:Math.max(.01,Math.abs(e.endX-e.startX)),fill:L.value.evaluationColors.enable?e.evaluationColor:e.endX>e.startX?`url(#grad_pos_${O.value})`:`url(#grad_neg_${O.value})`},null,8,bt)]))])):p(``,!0),[null,void 0].includes(e.start)?p(``,!0):(y(),m(`circle`,{key:1,cx:e.startX,cy:e.y,r:J.value,fill:L.value.gradient.show?L.value.evaluationColors.enable?e.evaluationGrad:`url(#start_grad_${O.value})`:L.value.evaluationColors.enable?e.evaluationColor:L.value.startColor,stroke:L.value.stroke,"stroke-width":L.value.strokeWidth},null,8,xt)),[null,void 0].includes(e.end)?p(``,!0):(y(),m(`circle`,{key:2,cx:e.endX,cy:e.y,r:J.value,fill:L.value.gradient.show?L.value.evaluationColors.enable?e.evaluationGrad:`url(#end_grad_${O.value})`:L.value.evaluationColors.enable?e.evaluationColor:L.value.endColor,stroke:L.value.stroke,"stroke-width":L.value.strokeWidth},null,8,St))]))),128)),I.value.startLabels.show?(y(),m(`g`,Ct,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`start_label_${t}_${e.id}`},[[null,void 0].includes(e.start)?p(``,!0):(y(),m(`text`,{key:0,x:e.startX,y:e.y+J.value*2+I.value.startLabels.fontSize/2,fill:L.value.evaluationColors.enable&&I.value.startLabels.useEvaluationColor?e.evaluationColor:I.value.startLabels.useStartColor?L.value.startColor:I.value.startLabels.color,"font-size":I.value.startLabels.fontSize,"text-anchor":`middle`},C(w(c)(I.value.formatter,e.start,w(n)({p:I.value.prefix,v:e.start,s:I.value.suffix,r:I.value.startLabels.rounding}),{datapoint:e,seriesIndex:t})),9,wt))]))),128))])):p(``,!0),I.value.endLabels.show?(y(),m(`g`,Tt,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`g`,{key:`end_label_${t}_${e.id}`},[[null,void 0].includes(e.end)?p(``,!0):(y(),m(`text`,{key:0,x:e.endX,y:e.y-(J.value*2-I.value.startLabels.fontSize/3),fill:L.value.evaluationColors.enable&&I.value.endLabels.useEvaluationColor?e.evaluationColor:I.value.endLabels.useEndColor?L.value.endColor:I.value.endLabels.color,"font-size":I.value.endLabels.fontSize,"text-anchor":`middle`},C(w(c)(I.value.formatter,e.end,w(n)({p:I.value.prefix,v:e.end,s:I.value.suffix,r:I.value.endLabels.rounding}),{datapoint:e,seriesIndex:t})),9,Et))]))),128))])):p(``,!0),h(`g`,null,[(y(!0),m(u,null,x(Y.value,(e,t)=>(y(),m(`rect`,{x:q.value.left,y:q.value.top+t*Math.max(.1,q.value.rowHeight),width:Math.max(.1,q.value.width),height:Math.max(.1,q.value.rowHeight),fill:A.value===null?`transparent`:A.value===t?w(a)(z.value.highlighter.color,z.value.highlighter.opacity):`transparent`,onMouseenter:n=>Xn({datapoint:e,seriesIndex:t}),onMouseleave:n=>Zn({datapoint:e,seriesIndex:t}),onClick:n=>Qn({datapoint:e,seriesIndex:t})},null,40,Dt))),256))]),S(e.$slots,`svg`,{svg:{...q.value,isPrintingImg:w(xn)||w(Sn)||w(sr),isPrintingSvg:w(cr)}},void 0,!0)],46,et)),e.$slots.hint?(y(),m(`div`,Ot,[S(e.$slots,`hint`,Be(Ie({hint:P.value.a11y.translations.keyboardNavigation,isVisible:sn.value})),void 0,!0)])):p(``,!0)]),e.$slots.watermark?(y(),m(`div`,kt,[S(e.$slots,`watermark`,Be(Ie({isPrinting:w(xn)||w(Sn)||w(sr)||w(cr)})),void 0,!0)])):p(``,!0),h(`div`,{id:`legend-bottom-${O.value}`},null,8,At),$t.value&&(z.value.legend.show||e.$slots.legend)?(y(),f(Ne,{key:6,to:z.value.legend.position===`top`?`#legend-top-${O.value}`:`#legend-bottom-${O.value}`},[h(`div`,{ref_key:`chartLegend`,ref:qt},[S(e.$slots,`legend`,{legend:In.value},()=>[z.value.legend.show&&Wt.value?(y(),f(Ae,{key:`legend_${Qt.value}`,legendSet:In.value,config:Ln.value,clickable:!1},{item:E(({legend:e})=>[h(`div`,{style:v(`display:flex;align-items:center;gap:4px;font-size:${z.value.legend.fontSize}px`)},[(y(),m(`svg`,{xmlns:w(ae),viewBox:`0 0 20 20`,height:z.value.legend.fontSize,width:z.value.legend.fontSize},[h(`circle`,{cx:10,cy:10,r:9,fill:e.color},null,8,Mt)],8,jt)),w(dn)?p(``,!0):(y(),m(u,{key:0},[Fe(C(e.name),1)],64))],4)]),_:1},8,[`legendSet`,`config`])):p(``,!0)],!0)],512)],8,[`to`])):p(``,!0),e.$slots.source?(y(),m(`div`,{key:7,ref_key:`source`,ref:Jt,dir:`auto`},[S(e.$slots,`source`,{},void 0,!0)],512)):p(``,!0),Wt.value&&P.value.userOptions.buttons.table?(y(),f(Ue(tr.value.component),Le({key:8},tr.value.props,{ref_key:`tableUnit`,ref:en,onClose:nr}),Pe({content:E(()=>[(y(),f(w(It),{key:`table_${Zt.value}`,colNames:Q.value.colNames,head:Q.value.head,body:Q.value.body,config:Q.value.config,title:P.value.table.useDialog?``:tr.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:ln.value,onClose:nr},{th:E(({th:e})=>[h(`div`,Nt,C(e),1)]),td:E(({td:e})=>[Fe(C(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:E(()=>[Fe(C(tr.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:E(()=>[h(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Rn(P.value.userOptions.callbacks.csv),style:v({cursor:ln.value?`pointer`:`default`})},[g(w(Pt),{name:`fileCsv`,stroke:tr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):p(``,!0),S(e.$slots,`skeleton`,{},()=>[w(dn)?(y(),f(le,{key:0})):p(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-80560d95`]]);export{Ye as n,Pt as t};
@@ -1,3 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as i,Ht as a,S as o,X as s,Zt as c,at as l,b as u,i as d,in as f,n as ee,nn as p,nt as m,r as h,t as g,w as te,zt as _}from"./lib-DqD8nbyX.js";import{n as v,t as ne}from"./BaseScanner-8NdoBs7B.js";import{n as y,t as b}from"./useHints-BH9r_0Vd.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./useNestedProp-DrLnzyHO.js";import{t as ie}from"./useThemeCheck-BKNRbGeC.js";import{t as ae}from"./chartImage-r-G4CkRK.js";import{n as oe}from"./Title-BLA0tM3g.js";import{t as se}from"./useChartExport-DtPNpc9M.js";import{n as ce,t as le}from"./tableIntegration-CNoJ1CIY.js";import{n as ue,t as de}from"./annotationSlots-BRR85CqJ.js";import{n as fe,t as pe}from"./userOptionsSlots-DYuo-E5m.js";import{t as me}from"./usePrinter-Cj4eIYC_.js";import{l as he,t as ge}from"./useResponsive-D2CPcpda.js";import{t as _e}from"./A11yDataTable-DWNlWXzs.js";import{t as ve}from"./useUserOptionState-CXlFnwPv.js";import{t as ye}from"./useChartAccessibility-DOMuYJfm.js";import{t as be}from"./Legend-D8NunRPr.js";import{t as xe}from"./vue_ui_flow-kvV56Es9.js";import{Fragment as Se,Teleport as Ce,computed as S,createBlock as C,createCommentVNode as w,createElementBlock as T,createElementVNode as E,createSlots as we,createTextVNode as Te,createVNode as Ee,defineAsyncComponent as D,guardReactiveProps as O,mergeProps as De,nextTick as Oe,normalizeClass as ke,normalizeProps as k,normalizeStyle as A,onMounted as Ae,openBlock as j,ref as M,renderList as N,renderSlot as P,resolveDynamicComponent as je,toDisplayString as F,toRefs as Me,unref as I,watch as Ne,withCtx as L}from"vue";var Pe=/* @__PURE__ */ e({default:()=>tt}),Fe=[`id`],Ie=[`id`],Le={key:2,ref:`noTitle`,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},Re=[`id`],ze={style:{position:`relative`}},Be=[`xmlns`,`aria-describedby`,`viewBox`],Ve=[`width`,`height`],He=[`id`],Ue=[`stop-color`],We=[`stop-color`],Ge=[`d`,`fill`,`stroke`,`stroke-width`],Ke=[`data-a11y-node-id`,`x`,`y`,`height`,`width`,`fill`,`stroke`,`stroke-width`,`rx`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],qe={key:1},Je=[`x`,`y`,`font-size`,`fill`],Ye=[`x`,`y`,`font-size`,`fill`],Xe={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Ze={key:5,class:`vue-data-ui-watermark`},Qe=[`id`],$e=[`onClick`],et={style:{display:`flex`,"align-items":`center`}},tt=/*#__PURE__*/ x({__name:`vue-ui-flow`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:x,emit:Pe}){let tt=D(()=>import(`./Tooltip-Iyb_S6oQ.js`)),nt=D(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),rt=D(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),it=D(()=>import(`./DataTable-BcVZLSs8.js`)),at=D(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),ot=D(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),st=D(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),ct=D(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_flow:lt}=t(),{isThemeValid:ut,warnInvalidTheme:dt}=ie(),R=e,ft=Pe,z=M(s()),B=M(null),pt=M(0),mt=M(0),ht=M(!1),gt=M(``),_t=M(null),vt=M(null),yt=M(null),bt=M(null),xt=M(null),St=M(!1),Ct=M(null),wt=M(null),Tt=M(null),Et=M(null),V=M(null),Dt=M({x:0,y:0}),Ot=M(`pointer`),kt=M(!1),At=S(()=>!!R.dataset&&R.dataset.length);Ae(()=>{St.value=!0,zt()});let H=M(!1);function jt(e){H.value=e,pt.value+=1}let U=M(Ut()),W=S(()=>U.value.style.chart.nodes.labels),G=S(()=>U.value.style.chart.nodes),Mt=S(()=>U.value.style.chart.links),K=S(()=>U.value.style.chart);y({config:()=>U.value,dataset:()=>R.dataset,component:`VueUiFlow`,rules:[b.emptyArray,b.noHint]});let Nt=S(()=>U.value.userOptions.useCursorPointer),Pt=S(()=>f({defaultConfig:{userOptions:{show:!1},nodeCategories:{B:`A`,C:`B`},nodeCategoryColors:{A:`#CACACA`,B:`#AAAAAA`},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`},nodes:{labels:{show:!1},stroke:`#666666`},links:{stroke:`#666666`}}}},userConfig:U.value.skeletonConfig??{}})),{loading:Ft,FINAL_DATASET:It,manualLoading:Lt}=v({...Me(R),FINAL_CONFIG:U,prepareConfig:Ut,skeletonDataset:R.config?.skeletonDataset??[[`A`,`B`,2,`#CACACA`],[`B`,`C`,1,`#CACACA`],[`C`,`D`,.5,`#CACACA`],[`E`,`F`,1,`#AAAAAA`],[`F`,`G`,.5,`#AAAAAA`],[`G`,`H`,.25,`#AAAAAA`]],skeletonConfig:f({defaultConfig:U.value,userConfig:Pt.value})}),Rt=S(()=>U.value.debug);function zt(){if(_(R.dataset)&&(l({componentName:`VueUiFlow`,type:`dataset`,debug:Rt.value}),Lt.value=!0),_(R.dataset)||(Lt.value=U.value.loading),U.value.responsive){let e=he(()=>{let{width:e,height:t}=ge({chart:B.value,title:K.value.title.text?vt.value:null,legend:K.value.legend.show?_t.value:null,source:yt.value});requestAnimationFrame(()=>{Wt.value=e,Gt.value=t})});bt.value&&(xt.value&&bt.value.unobserve(xt.value),bt.value.disconnect()),bt.value=new ResizeObserver(e),xt.value=B.value.parentNode,bt.value.observe(xt.value)}}let{userOptionsVisible:Bt,setUserOptionsVisibility:Vt,keepUserOptionState:Ht}=ve({config:U.value}),{svgRef:q}=ye({config:K.value.title});function Ut(){let e=re({userConfig:R.config,defaultConfig:lt}),t=e,n=e.theme;if(n){if(!ut.value(e))dt(e),t=e;else{let r=re({userConfig:xe[n]||R.config,defaultConfig:e});t={...re({userConfig:R.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:p[n]||a}}}else t=e;return t.nodeCategories=R.config.nodeCategories||{},t.nodeCategoryColors=R.config.nodeCategoryColors||{},t}let Wt=M(K.value.width),Gt=M(K.value.height),Kt=c(R.config);Ne(()=>R.config,(e,t)=>{let n=c(e),r=n!==Kt;Kt=n;let i=Ut();if(!r){U.value.style.chart.tooltip=i.style.chart.tooltip,J.value.showTooltip=U.value.style.chart.tooltip.show;return}Ft.value||(U.value=i),Bt.value=!U.value.userOptions.showOnChartHover,zt(),mt.value+=1,J.value.showTable=U.value.table.show},{deep:!0}),Ne(()=>R.dataset,e=>{Array.isArray(e)&&e.length>0&&(Lt.value=!1)},{deep:!0});let{isPrinting:qt,isImaging:Jt,generatePdf:Yt,generateImage:Xt}=me({elementId:`flow_${z.value}`,fileName:K.value.title.text||`vue-ui-flow`,options:U.value.userOptions.print}),Zt=S(()=>U.value.userOptions.show&&!K.value.title.text),Qt=S(()=>te(U.value.customPalette)),$t=S(()=>G.value.width),J=M({showTable:U.value.table.show,showTooltip:K.value.tooltip.show});Ne(U,()=>{J.value={showTable:U.value.table.show,showTooltip:K.value.tooltip.show}},{immediate:!0});let en=S(()=>!It.value||!It.value.length?[]:It.value.map((e,t)=>[e[0],e[1],u(e[2]),e[3]?o(e[3]):Qt.value[t]||Qt.value[t%Qt.value.length]||a[t]||a[t%a.length]]));function tn(e){let t={},n={};function r(e,r){t[e]||(t[e]={level:null,inflow:0,outflow:0,children:[],color:null,uid:s()}),t[e].level===null&&(t[e].level=r),n[r]||(n[r]=[]),n[r].includes(e)||n[r].push(e)}e.forEach(([e,n,i])=>{let a=t[e]?.level??0,o=a+1;r(e,a),r(n,o),t[e].children.push({target:n,value:i}),t[e].outflow+=i,t[n].inflow+=i});let i=new Set(e.map(([e])=>e)),o=new Set(e.map(([,e])=>e)),c=Array.from(i).filter(e=>!o.has(e)),l={};c.forEach((e,t)=>{l[e]=Qt.value[t]||a[t%a.length]});let d={};e.forEach(([e,t,n,r])=>{r&&(d[e]=r,d[t]=r)}),Object.keys(t).forEach((e,n)=>{let r=U.value.nodeCategories?.[e],i=r?U.value.nodeCategoryColors?.[r]:null;t[e].color=d[e]||i||(c.includes(e)?l[e]:null)||a[n%a.length]}),Object.keys(t).forEach(e=>{t[e].value=Math.max(t[e].inflow,t[e].outflow)});let f=an.value,ee=on.value.width,p=on.value.height,m=Object.keys(n).map(Number).sort((e,t)=>e-t),h=m.length||1,g=h>1?ee/(h-1):0,te=Number($t.value),_=Number(G.value.gapPx??G.value.gap??8),v=Number(G.value.minHeight||0);function ne(e){let r=n[e],i=r.length;if(!i)return 1/0;let a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),s=Math.min(v,i?o/i:0),c=0,l=r.map(e=>t[e].value||0),u=l.reduce((e,t)=>e+t,0);for(let e=0;e<12;e+=1){let e=u>0?(o-c)/u:0,t=[];for(let n=0;n<l.length;n+=1){let r=l[n];r<0||r*e<s&&t.push(n)}if(!t.length)return Math.max(0,e);for(let e of t)c+=s,u-=l[e],l[e]=-1;if(u<=0)return 0}return u>0?Math.max(0,(o-c)/u):0}let y=m.map(ne),b=y.length?Math.min(...y):0,x={};m.forEach(e=>{let r=n[e],i=r.length,a=Math.max(0,(i-1)*_),o=Math.max(0,p-a),c=Math.min(v,i?o/i:0),l=r.map(e=>Math.max(c,(t[e].value||0)*b)),u=l.reduce((e,t)=>e+t,0)+a,d=Math.max(0,(p-u)/2);r.forEach((n,r)=>{let a=l[r],o=f.left+e*g,c=d;x[n]={x:o,y:c,absoluteY:c,height:a,i:r,color:t[n].color,value:t[n].value,id:s()},d+=a,r<i-1&&(d+=_)})});let re=[],ie=f.top,ae={},oe={};Object.keys(t).forEach(e=>{ae[e]=x[e]?.y??0,oe[e]=0});let se=!!Mt.value.smooth,ce=.5;return m.forEach(e=>{n[e].forEach(e=>{let n=t[e],r=x[e];if(!n.children||!n.children.length)return;let i=r.y;n.children.forEach(({target:a,value:o})=>{let c=x[a],l=t[a],d=n.outflow>0?o/n.outflow:0,f=l.inflow>0?o/l.inflow:0,ee=u(i+ie),p=u(i+d*r.height+ie),m=ae[a],h=m+f*c.height;oe[a]+=o;let g=l.inflow>0&&oe[a]>=l.inflow-1e-6,_=c.y+c.height;(g||h>_-.25)&&(h=_);let v=u(m+ie),ne=u(h+ie),y=u(r.x+te),b=u(c.x),le;if(!se||b<=y)le=`M ${y} ${ee} L ${y} ${p} L ${b} ${ne} L ${b} ${v} Z`;else{let e=b-y,t=u(y+e*ce),n=u(b-e*ce),r=ee,i=v,a=p,o=ne;le=`M ${y} ${r} C ${t} ${r}, ${n} ${i}, ${b} ${i} L ${b} ${o} C ${n} ${o}, ${t} ${a}, ${y} ${a} Z`}re.push({id:s(),source:e,target:a,path:le,value:o,sourceColor:n.color,targetColor:t[a].color}),i=p-ie,ae[a]=h})})}),{nodeCoordinates:x,links:re}}let Y=S(()=>{let e=tn(It.value);return{nodes:Object.keys(e.nodeCoordinates).map((t,n)=>({...e.nodeCoordinates[t],name:t})),links:e.links}}),nn=S(()=>Wt.value),rn=S(()=>Gt.value),an=S(()=>K.value.padding),on=S(()=>({width:Math.max(0,nn.value-40-an.value.right-an.value.left),height:Math.max(0,rn.value-an.value.top-an.value.bottom)})),sn=S(()=>({width:nn.value,height:rn.value}));function cn(e){let t={},n={},r=/* @__PURE__ */ new Set;return en.value.forEach(([e,r,i])=>{t[e]||(t[e]=[]),n[r]||(n[r]=[]),t[e].push(r),n[r].push(e)}),t[e]&&t[e].forEach(e=>r.add(e)),n[e]&&n[e].forEach(e=>r.add(e)),Array.from(r).concat(e)}let X=M(null),Z=M(null),ln=M(null),un=M(!1),dn=M(null);function fn(){dn.value=null,X.value=null,Z.value=null,ht.value=!1,Et.value=null,V.value=null}function pn(e){if(!q.value||!e)return;let t=q.value.querySelector(`[data-a11y-node-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Dt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function mn(e,t,r=`pointer`,a=null){$.value=[],X.value=cn(e.name),Z.value=e.name,dn.value=e.id,Ot.value=r,Et.value=a,V.value=e.id;let o=e.name,s=en.value,c=0,l=0,u=[],f=[],ee=new Set(s.map(([e])=>e)),p=new Set(s.map(([,e])=>e)),m=Array.from(ee).filter(e=>!p.has(e)),h=s.filter(([e])=>m.includes(e)).reduce((e,[t,n,r])=>e+r,0),g={};Y.value.nodes.forEach(e=>{g[e.name]=e.color}),s.forEach(([e,t,n])=>{t===o&&(c+=n,u.push({source:e,value:n,color:g[e]})),e===o&&(l+=n,f.push({target:t,value:n,color:g[t]}))});let te=h>0?Math.max(c,l)/h*100:0,_={name:o,inflow:c,outflow:l,from:u,to:f,percentOfTotal:te,color:g[o]||`#000000`};U.value.events.datapointEnter&&U.value.events.datapointEnter({datapoint:_,seriesIndex:t}),ln.value={datapoint:_,config:U.value,seriesIndex:t,series:Y.value},ht.value=!0;let v=``,ne=K.value.tooltip.customFormat;if(un.value=!1,i(ne))try{let e=ne({datapoint:_,series:Y.value,config:U.value});typeof e==`string`&&(gt.value=e,un.value=!0)}catch{console.warn(`Custom format cannot be applied.`)}if(!un.value){let e=K.value.tooltip.showPercentage?`<div>${n({p:K.value.tooltip.translations.percentOfTotal,v:_.percentOfTotal,s:`%`,r:K.value.tooltip.roundingPercentage})}</div>`:``;v+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${K.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${_.color}">⏹</span>${_.name}${e}</div>`,_.from.length&&(v+=`<div>${K.value.tooltip.translations.from}</div>`,_.from.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹←</span> ${e.source}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),_.to.length&&(v+=`<div style="margin-top:6px;">${K.value.tooltip.translations.to}</div>`,_.to.forEach(e=>{v+=`<div><span style="color:${e.color}">⏹→</span> ${e.target}: ${d(W.value.formatter,e.value,n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}</div>`})),gt.value=v}r===`keyboard`&&Oe(()=>{pn(e.id)})}function hn(e){let t=ln.value;U.value.events.datapointLeave&&U.value.events.datapointLeave({datapoint:t,seriesIndex:e}),!(Ot.value===`keyboard`&&V.value)&&(dn.value=null,X.value=null,Z.value=null,ht.value=!1)}function gn(e){let t=ln.value;U.value.events.datapointClick&&U.value.events.datapointClick({datapoint:t,seriesIndex:e})}let _n=S(()=>Y.value.links.map(({source:e,target:t,sourceColor:n,targetColor:r,value:i})=>({source:e,target:t,sourceColor:n,targetColor:r,value:i})));function vn(e=null){Oe(()=>{let t=_n.value.map((e,t)=>[[e.source],[e.target],[e.value]]),n=[[K.value.title.text],[K.value.title.subtitle.text],[[U.value.table.columnNames.source],[U.value.table.columnNames.target],[U.value.table.columnNames.value]]].concat(t),i=r(n);e?e(i):m({csvContent:i,title:K.value.title.text||`vue-ui-flow`})})}let yn=S(()=>{let e=[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],t=_n.value.map((e,t)=>[{color:e.sourceColor,name:e.source,shape:`square`},{color:e.targetColor,name:e.target,shape:`square`},n({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding})]),r={th:{backgroundColor:U.value.table.th.backgroundColor,color:U.value.table.th.color,outline:U.value.table.th.outline},td:{backgroundColor:U.value.table.td.backgroundColor,color:U.value.table.td.color,outline:U.value.table.td.outline},breakpoint:U.value.table.responsiveBreakpoint};return{colNames:[U.value.table.columnNames.source,U.value.table.columnNames.target,U.value.table.columnNames.value],head:e,body:t,config:r}}),bn=S(()=>({headers:yn.value?.colNames??[],rows:yn.value?.body??[]})),xn=S(()=>[...Y.value.nodes].map((e,t)=>({...e,index:t,centerX:e.x+$t.value/2,centerY:u(e.absoluteY)+K.value.padding.top+e.height/2})).sort((e,t)=>e.x===t.x?e.absoluteY-t.absoluteY:e.x-t.x)),Q=S(()=>{let e=[];return xn.value.forEach(t=>{let n=e.find(e=>Math.abs(e.x-t.x)<=1);n?n.nodes.push(t):e.push({x:t.x,nodes:[t]})}),e.forEach(e=>{e.nodes.sort((e,t)=>e.absoluteY-t.absoluteY)}),e.sort((e,t)=>e.x-t.x)}),Sn=S(()=>{let e=/* @__PURE__ */ new Map;return xn.value.forEach((t,n)=>{e.set(t.id,n)}),e});function Cn(){return Y.value}function wn(){J.value.showTable=!J.value.showTable}let Tn=M(!1);function En(){Tn.value=!Tn.value}function Dn(){J.value.showTooltip=!J.value.showTooltip}let On=S(()=>{let e=new Set(Y.value.nodes.map(e=>U.value.nodeCategories[e.name]||`__uncategorized__`));return Array.from(e).map(e=>({name:e,color:U.value.nodeCategoryColors[e]||a[0],shape:`square`,count:Y.value.nodes.filter(t=>(U.value.nodeCategories[t.name]||`__uncategorized__`)===e).length})).map((e,t)=>{let n=$.value.includes(t);return{...e,segregate:()=>An({legend:e,i:t}),isSegregated:n,opacity:$.value.length?n?1:.5:1,display:`${e.name} (${e.count})`}})}),kn=S(()=>On.value.filter(e=>e.name!==`__uncategorized__`)),$=M([]);function An({legend:e,i:t}){let n=e.name;if(X.value?.every(e=>U.value.nodeCategories[e]===n)){X.value=null,Z.value=null,$.value=[];return}$.value=[t],X.value=Y.value.nodes.filter(e=>U.value.nodeCategories[e.name]===n).map(e=>e.name),Z.value=null}let jn=S(()=>({cy:`flow-legend`,backgroundColor:K.value.legend.backgroundColor,color:K.value.legend.color,fontSize:K.value.legend.fontSize,paddingBottom:K.value.legend.paddingBottom,fontWeight:K.value.legend.bold?`bold`:`normal`})),Mn=ae(B,()=>K.value.title.text),Nn=S(()=>le({config:U,style:K,mutableConfig:J,dialog:ct,accordion:rt,isFullscreen:H,parent:B,maxWidth:800,isCursorPointer:Nt}));Ne(()=>J.value.showTable,e=>ce(e,U,Ct));function Pn(){J.value.showTable=!1,wt.value&&wt.value.setTableIconState(!1)}let Fn=S(()=>kn.value.map(e=>({...e,name:e.display}))),In=S(()=>K.value.backgroundColor),Ln=S(()=>K.value.legend),Rn=S(()=>K.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=se({svg:q,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>U.value.userOptions.callbacks.svg,generateImage:Xt});async function Un(){if(ft(`copyAlt`,{config:U.value,dataset:Y.value}),!U.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(U.value.userOptions.callbacks.altCopy({config:U.value,dataset:Y.value}))}function Wn(e){return Q.value.findIndex(t=>t.nodes.some(t=>t.id===e))}function Gn(e,t){let n=Q.value[e];return n?n.nodes.findIndex(e=>e.id===t):-1}function Kn(e,t){let n=Q.value[e];if(!n||!n.nodes.length)return null;let r=n.nodes[0],i=Math.abs(r.centerY-t);for(let e=1;e<n.nodes.length;e+=1){let a=n.nodes[e],o=Math.abs(a.centerY-t);o<i&&(r=a,i=o)}return r}function qn(){Et.value=null,V.value=null,kt.value=!0}function Jn(){fn(),kt.value=!1}function Yn(e){if(!q.value||Tn.value||document.activeElement!==q.value||!xn.value.length)return;let t=e.key===`ArrowLeft`,n=e.key===`ArrowRight`,r=e.key===`ArrowUp`,i=e.key===`ArrowDown`,a=e.key===`Enter`||e.key===` `,o=e.key===`Escape`;if(!t&&!n&&!r&&!i&&!a&&!o)return;if(e.preventDefault(),e.stopPropagation(),o){fn();return}if(a){if(Et.value===null)return;gn(Et.value);return}if(V.value===null){let e=Q.value[0]?.nodes?.[0];if(!e)return;let t=Sn.value.get(e.id)??0;mn(e,t,`keyboard`,t);return}let s=Sn.value.get(V.value);if(s===void 0)return;let c=xn.value[s];if(!c)return;let l=Wn(c.id);if(l<0)return;let u=null;if(r||i){let e=Gn(l,c.id);if(e<0)return;let t=Q.value[l];if(!t?.nodes?.length)return;let n=e+(i?1:-1);n<0&&(n=t.nodes.length-1),n>=t.nodes.length&&(n=0),u=t.nodes[n]}if(t||n){let e=l+(n?1:-1);e<0&&(e=Q.value.length-1),e>=Q.value.length&&(e=0),u=Kn(e,c.centerY)}if(!u)return;let d=Sn.value.get(u.id);d!==void 0&&mn(u,d,`keyboard`,d)}return x({getData:Cn,getImage:Mn,generateCsv:vn,generateImage:Xt,generateSvg:Vn,generatePdf:Yt,toggleTable:wn,toggleAnnotator:En,toggleTooltip:Dn,drillCategory:An,unselectNode:hn,toggleFullscreen:jt,copyAlt:Un}),(e,t)=>(j(),T(`div`,{ref_key:`flowChart`,ref:B,class:ke(`vue-data-ui-component vue-ui-flow ${H.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:A(`font-family:${U.value.style.fontFamily};width:100%; text-align:center;background:${K.value.backgroundColor}`),id:`flow_${z.value}`,onMouseenter:t[2]||=()=>I(Vt)(!0),onMouseleave:t[3]||=()=>{I(Vt)(!1),kt.value||fn()}},[E(`div`,{id:`chart-instructions-${z.value}`,class:`sr-only`},[E(`p`,null,F(U.value.a11y.translations.keyboardNavigation),1)],8,Ie),bn.value?.rows?.length?(j(),C(_e,{key:0,uid:z.value,head:bn.value.headers,body:bn.value.rows,notice:U.value.a11y.translations.tableAvailable,caption:U.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):w(``,!0),U.value.userOptions.buttons.annotator?(j(),C(I(at),{key:1,svgRef:I(q),backgroundColor:K.value.backgroundColor,color:K.value.color,active:Tn.value,palette:U.value.userOptions.annotatorPalette,isCursorPointer:Nt.value,onClose:En},we({_:2},[N(I(de),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(ue)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`palette`,`isCursorPointer`])):w(``,!0),Zt.value?(j(),T(`div`,Le,null,512)):w(``,!0),K.value.title.text?(j(),T(`div`,{key:3,ref_key:`chartTitle`,ref:vt,style:`width:100%;background:transparent;padding-bottom:24px`},[(j(),C(oe,{key:`title_${mt.value}`,config:{title:{cy:`flow-title`,...K.value.title},subtitle:{cy:`flow-subtitle`,...K.value.title.subtitle}}},null,8,[`config`]))],512)):w(``,!0),E(`div`,{id:`legend-top-${z.value}`},null,8,Re),U.value.userOptions.show&&At.value&&(I(Ht)||I(Bt))?(j(),C(I(ot),{ref_key:`userOptionsRef`,ref:wt,key:`user_option_${pt.value}`,backgroundColor:K.value.backgroundColor,color:K.value.color,isPrinting:I(qt),isImaging:I(Jt),uid:z.value,hasPdf:U.value.userOptions.buttons.pdf,hasXls:U.value.userOptions.buttons.csv,hasImg:U.value.userOptions.buttons.img,hasSvg:U.value.userOptions.buttons.svg,hasTable:U.value.userOptions.buttons.table,callbacks:U.value.userOptions.callbacks,hasFullscreen:U.value.userOptions.buttons.fullscreen,hasAltCopy:U.value.userOptions.buttons.altCopy,isFullscreen:H.value,titles:{...U.value.userOptions.buttonTitles},chartElement:B.value,position:U.value.userOptions.position,hasAnnotator:U.value.userOptions.buttons.annotator,printScale:U.value.userOptions.print.scale,isAnnotation:Tn.value,hasTooltip:K.value.tooltip.show&&U.value.userOptions.buttons.tooltip,isTooltip:J.value.showTooltip,tableDialog:U.value.table.useDialog,isCursorPointer:Nt.value,onToggleTooltip:Dn,onToggleFullscreen:jt,onGeneratePdf:I(Yt),onGenerateCsv:vn,onGenerateImage:I(Hn),onGenerateSvg:I(Vn),onToggleTable:wn,onToggleAnnotator:En,onCopyAlt:Un,style:A({visibility:I(Ht)?I(Bt)?`visible`:`hidden`:`visible`})},we({_:2},[N(I(fe)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:L(n=>[P(e.$slots,t,k(O(I(pe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.callbacks.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.printScale.isAnnotation.hasTooltip.isTooltip.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):w(``,!0),E(`div`,ze,[(j(),T(`svg`,{ref_key:`svgRef`,ref:q,xmlns:I(g),"aria-describedby":`chart-instructions-${z.value}`,viewBox:`0 0 ${sn.value.width} ${sn.value.height}`,class:ke({"vue-data-ui-fullscreen--on":H.value,"vue-data-ui-fulscreen--off":!H.value}),style:A({maxWidth:`100%`,overflow:`visible`,background:`transparent`,color:K.value.color}),tabindex:`0`,onFocus:qn,onBlur:Jn,onKeydown:Yn},[Ee(I(st)),e.$slots[`chart-background`]?(j(),T(`foreignObject`,{key:0,x:0,y:0,width:sn.value.width,height:sn.value.height,style:{pointerEvents:`none`}},[P(e.$slots,`chart-background`,{},void 0,!0)],8,Ve)):w(``,!0),E(`defs`,null,[(j(!0),T(Se,null,N(Y.value.links,(e,t)=>(j(),T(`linearGradient`,{id:e.id,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`},[E(`stop`,{offset:`0%`,"stop-color":e.sourceColor},null,8,Ue),E(`stop`,{offset:`100%`,"stop-color":e.targetColor},null,8,We)],8,He))),256))]),(j(!0),T(Se,null,N(Y.value.links,e=>(j(),T(`path`,{class:`vue-ui-flow-link`,d:e.path,"stroke-linejoin":`round`,"stroke-miterlimit":`1`,fill:`url(#${e.id})`,stroke:Mt.value.stroke,"stroke-width":Mt.value.strokeWidth,style:A(`
2
- opacity:${X.value?X.value.includes(e.source)&&X.value.includes(e.target)?1:.3:Z.value?[e.target,e.source].includes(Z.value)?1:.3:Mt.value.opacity}
3
- `)},null,12,Ge))),256)),(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`rect`,{"data-a11y-node-id":e.id,class:`vue-ui-flow-node`,x:e.x,y:I(u)(e.absoluteY)+K.value.padding.top,height:I(u)(e.height),width:$t.value,fill:e.color,stroke:G.value.stroke,"stroke-width":G.value.strokeWidth,rx:G.value.borderRadius,style:A({opacity:X.value?X.value.includes(e.name)?1:.3:1,outline:dn.value!==null&&dn.value===e.id?`2px solid currentColor`:void 0}),"aria-label":`${e.name}: ${I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}))}`,onMouseenter:n=>mn(e,t,`pointer`,Sn.value.get(e.id)),onMouseleave:e=>hn(t),onClick:e=>gn(t)},null,44,Ke))),256)),W.value.show?(j(),T(`g`,qe,[(j(!0),T(Se,null,N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:(W.value.showValue?I(u)(e.absoluteY+e.height/2-W.value.fontSize/4):e.absoluteY+e.height/2+W.value.fontSize/3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(W.value.abbreviation.use?I(ee)({source:e.name,length:G.value.labels.abbreviation.length}):e.name),13,Je))),256)),W.value.showValue?(j(!0),T(Se,{key:0},N(Y.value.nodes,(e,t)=>(j(),T(`text`,{x:e.x+$t.value/2,y:I(u)(e.absoluteY+e.height/2+W.value.fontSize/1.3)+K.value.padding.top,"font-size":W.value.fontSize,fill:I(h)(e.color),"text-anchor":`middle`,style:A(`pointer-events: none; opacity:${X.value?+!!X.value.includes(e.name):1}`)},F(I(d)(W.value.formatter,e.value,I(n)({p:W.value.prefix,v:e.value,s:W.value.suffix,r:W.value.rounding}),{datapoint:e,seriesIndex:t})),13,Ye))),256)):w(``,!0)])):w(``,!0),P(e.$slots,`svg`,{svg:{...sn.value,isPrintingImg:I(qt)||I(Jt)||I(zn),isPrintingSvg:I(Bn)}},void 0,!0)],46,Be)),e.$slots.hint?(j(),T(`div`,Xe,[P(e.$slots,`hint`,k(O({hint:U.value.a11y.translations.keyboardNavigation,isVisible:kt.value})),void 0,!0)])):w(``,!0)]),e.$slots.watermark?(j(),T(`div`,Ze,[P(e.$slots,`watermark`,k(O({isPrinting:I(qt)||I(Jt)||I(zn)||I(Bn)})),void 0,!0)])):w(``,!0),E(`div`,{id:`legend-bottom-${z.value}`},null,8,Qe),St.value&&(K.value.legend.show||e.$slots.legend)?(j(),C(Ce,{key:6,to:K.value.legend.position===`top`?`#legend-top-${z.value}`:`#legend-bottom-${z.value}`},[E(`div`,{ref_key:`chartLegend`,ref:_t},[P(e.$slots,`legend`,{legend:On.value},()=>[K.value.legend.show&&kn.value.length?(j(),C(be,{key:0,legendSet:kn.value,config:jn.value,isCursorPointer:Nt.value,onClickMarker:t[0]||=e=>An(e)},{item:L(({legend:e,index:t})=>[I(Ft)?w(``,!0):(j(),T(`div`,{key:0,onClick:t=>e.segregate(),style:A(`opacity:${$.value.length?$.value.includes(t)?1:.5:1}`)},F(e.display),13,$e))]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):w(``,!0)],!0)],512)],8,[`to`])):w(``,!0),e.$slots.source?(j(),T(`div`,{key:7,ref_key:`source`,ref:yt,dir:`auto`},[P(e.$slots,`source`,{},void 0,!0)],512)):w(``,!0),Ee(I(tt),{ref_key:`tooltip`,ref:Tt,teleportTo:K.value.tooltip.teleportTo,show:J.value.showTooltip&&ht.value,backgroundColor:K.value.tooltip.backgroundColor,color:K.value.tooltip.color,fontSize:K.value.tooltip.fontSize,borderRadius:K.value.tooltip.borderRadius,borderColor:K.value.tooltip.borderColor,borderWidth:K.value.tooltip.borderWidth,backgroundOpacity:K.value.tooltip.backgroundOpacity,position:K.value.tooltip.position,offsetX:K.value.tooltip.offsetX,offsetY:K.value.tooltip.offsetY,parent:B.value,content:gt.value,isCustom:un.value,isFullscreen:H.value,smooth:K.value.tooltip.smooth,backdropFilter:K.value.tooltip.backdropFilter,smoothForce:K.value.tooltip.smoothForce,smoothSnapThreshold:K.value.tooltip.smoothSnapThreshold,isA11yMode:Ot.value===`keyboard`,a11yPosition:Dt.value},{"tooltip-before":L(()=>[P(e.$slots,`tooltip-before`,k(O({...ln.value})),void 0,!0)]),tooltip:L(()=>[P(e.$slots,`tooltip`,k(O({...ln.value})),void 0,!0)]),"tooltip-after":L(()=>[P(e.$slots,`tooltip-after`,k(O({...ln.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isCustom`,`isFullscreen`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),At.value&&U.value.userOptions.buttons.table?(j(),C(je(Nn.value.component),De({key:8},Nn.value.props,{ref_key:`tableUnit`,ref:Ct,onClose:Pn}),we({content:L(()=>[Ee(I(it),{colNames:yn.value.colNames,head:yn.value.head,body:yn.value.body,config:yn.value.config,title:U.value.table.useDialog?``:Nn.value.title,withCloseButton:!U.value.table.useDialog,isCursorPointer:Nt.value,onClose:Pn},{th:L(({th:e})=>[E(`div`,et,F(e),1)]),td:L(({td:e})=>[Te(F(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[U.value.table.useDialog?{name:`title`,fn:L(()=>[Te(F(Nn.value.title),1)]),key:`0`}:void 0,U.value.table.useDialog?{name:`actions`,fn:L(()=>[E(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>vn(U.value.userOptions.callbacks.csv),style:A({cursor:Nt.value?`pointer`:`default`})},[Ee(I(nt),{name:`fileCsv`,stroke:Nn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):w(``,!0),P(e.$slots,`skeleton`,{},()=>[I(Ft)?(j(),C(ne,{key:0})):w(``,!0)],!0)],46,Fe))}},[[`__scopeId`,`data-v-5dd9c7a6`]]);export{Pe as n,tt as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Ft as i,S as ee,X as te,at as ne,i as a,nt as re,r as ie,rn as ae,t as oe,yt as se,zt as ce}from"./lib-DqD8nbyX.js";import{n as le,t as ue}from"./useHints-BH9r_0Vd.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as fe}from"./resolveChartConfig-ChGWTt5l.js";import{t as pe}from"./chartImage-r-G4CkRK.js";import{n as me}from"./Title-BLA0tM3g.js";import{t as he}from"./useChartExport-DtPNpc9M.js";import{n as ge,t as _e}from"./tableIntegration-CNoJ1CIY.js";import{n as ve,t as ye}from"./annotationSlots-BRR85CqJ.js";import{n as be,t as xe}from"./userOptionsSlots-DYuo-E5m.js";import{t as Se}from"./usePrinter-Cj4eIYC_.js";import{l as Ce,t as we}from"./useResponsive-D2CPcpda.js";import{t as Te}from"./DefGrad-DKMq1REY.js";import{t as Ee}from"./useUserOptionState-CXlFnwPv.js";import{t as De}from"./useChartAccessibility-DOMuYJfm.js";import{t as Oe}from"./usePrefersMotion-XLHwega2.js";import{t as ke}from"./vue_ui_funnel-CaEV5hG7.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createSlots as Ae,createTextVNode as je,createVNode as Me,defineAsyncComponent as f,guardReactiveProps as p,mergeProps as m,nextTick as Ne,normalizeClass as h,normalizeProps as Pe,normalizeStyle as g,onBeforeUnmount as Fe,onMounted as Ie,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as Le,shallowRef as Re,toDisplayString as x,unref as S,useCssVars as ze,watch as Be,withCtx as C}from"vue";var Ve=/* @__PURE__ */ e({default:()=>w}),He=[`id`],Ue=[`xmlns`,`viewBox`],We=[`width`,`height`],Ge=[`stroke`,`stroke-width`],Ke=[`stroke`,`stroke-width`],qe=[`x`,`y`,`font-size`,`fill`,`font-weight`],Je=[`points`,`fill`],Ye=[`stroke`,`stroke-width`,`rx`],Xe=[`x`,`y`,`font-size`,`fill`,`font-weight`],Ze=[`x`,`y`,`font-size`,`fill`,`font-weight`],Qe={key:5,class:`vue-data-ui-watermark`},$e={style:{display:`flex`,"align-items":`center`}},w=/*#__PURE__*/ de({__name:`vue-ui-funnel`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`copyAlt`],setup(e,{expose:de,emit:Ve}){ze(e=>({v6c990ee0:Mt.value}));let w=f(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),et=f(()=>import(`./vue-ui-skeleton-DTn7uIui.js`).then(e=>e.n)),tt=f(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),nt=f(()=>import(`./DataTable-BcVZLSs8.js`)),rt=f(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),it=f(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),at=f(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),ot=f(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_funnel:st}=t(),T=Oe(),E=e,ct=Ve,D=v(null),O=v(te()),lt=v(0),ut=v(0),dt=v(0),ft=v(null),pt=v(null),mt=v(null),k=Re(null),A=Re(null),j=v(!1),ht=v(null),M=v(null),N=s(()=>!!E.dataset&&E.dataset.length);Ie(vt),Fe(()=>{k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect())});function gt(){return fe(E.config,st,ke)}let P=s({get:()=>gt(),set:e=>e}),_t=s(()=>P.value.debug),F=s(()=>P.value.style.chart.bars),I=s(()=>P.value.style.chart.circles),L=s(()=>P.value.style.chart);function vt(){if(ce(E.dataset)?ne({componentName:`VueUiFunnel`,type:`dataset`,debug:_t.value}):E.dataset.forEach((e,t)=>{se({datasetObject:e,requiredAttributes:[`name`,`value`]}).forEach(e=>{N.value=!1,ne({componentName:`VueUiFunnel`,type:`datasetSerieAttribute`,property:e,index:t,debug:_t.value})})}),P.value.responsive){let e=Ce(()=>{let{width:e,height:t}=we({chart:D.value,title:L.value.title.text?mt.value:null,source:pt.value,noTitle:ft.value});requestAnimationFrame(()=>{H.value.height=t,H.value.width=e,W.value=Dt(),P.value.responsiveProportionalSizing?(V.value.circles=ae({relator:Math.min(e,t),adjuster:600,source:I.value.dataLabels.fontSize,threshold:10,fallback:10}),V.value.names=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.name.fontSize,threshold:10,fallback:10}),V.value.values=ae({relator:Math.min(e,t),adjuster:600,source:F.value.dataLabels.value.fontSize,threshold:10,fallback:10})):(V.value.circles=I.value.dataLabels.fontSize,V.value.names=F.value.dataLabels.name.fontSize,V.value.values=F.value.dataLabels.value.fontSize)})});k.value&&(A.value&&k.value.unobserve(A.value),k.value.disconnect()),k.value=new ResizeObserver(e),A.value=D.value.parentNode,k.value.observe(A.value)}}le({config:()=>P.value,dataset:()=>E.dataset,component:`VueUiFunnel`,rules:[ue.emptyArray,{test:e=>e.length>10,message:[`👀 The dataset has a length > 10. Consider:`,``,`▶️ Aggregating some datapoints into broader categories`]}]});let yt=s(()=>P.value.userOptions.useCursorPointer),{userOptionsVisible:R,setUserOptionsVisibility:bt,keepUserOptionState:xt}=Ee({config:P.value}),{svgRef:z}=De({config:L.value.title});Be(()=>E.config,e=>{P.value=gt(),R.value=!P.value.userOptions.showOnChartHover,vt(),ut.value+=1,dt.value+=1,V.value.circles=I.value.dataLabels.fontSize,V.value.names=F.value.dataLabels.name.fontSize,V.value.values=F.value.dataLabels.value.fontSize,B.value.showTable=P.value.table.show},{deep:!0});let{isPrinting:St,isImaging:Ct,generatePdf:wt,generateImage:Tt}=Se({elementId:`funnel_${O.value}`,fileName:L.value.title.text||`vue-ui-funnel`,options:P.value.userOptions.print}),Et=s(()=>P.value.userOptions.show&&!L.value.title.text),B=v({showTable:P.value.table.show}),V=v({circles:I.value.dataLabels.fontSize,names:F.value.dataLabels.name.fontSize,values:F.value.dataLabels.value.fontSize}),H=s({get:()=>({height:L.value.height,width:L.value.width}),set:e=>e}),U=s(()=>N.value?E.dataset.map((e,t)=>({...e,color:e.color?ee(e.color):i(F.value.defaultColor,t/E.dataset.length)})):[]);setTimeout(()=>{j.value=!0},U.value.length*150);function Dt(){let e=L.value.padding.left,t=L.value.padding.top;return{left:e,top:t,right:H.value.width-L.value.padding.right,bottom:H.value.height-L.value.padding.bottom,width:H.value.width-e-L.value.padding.right,height:H.value.height-t-L.value.padding.bottom}}let W=v(Dt()),G=s(()=>W.value.height/E.dataset.length),K=s(()=>G.value*F.value.gapRatio),Ot=s(()=>W.value.width*L.value.barCircleSpacingRatio),q=s(()=>U.value.map((e,t)=>{let n=G.value-K.value,r=W.value.top+K.value/2*t+(G.value-K.value/2)*t+K.value/2,i=e.value/U.value[0].value,ee=(W.value.width-n-Ot.value)*(e.value/U.value[0].value);return{...e,cx:W.value.left+n/2,cy:r+n/2,datapointIndex:t,fill:e.color,height:Math.max(n,0),proportion:i,r:Math.max(n/2,0),width:Math.max(ee,0),x:W.value.left+n+Ot.value,y:r}})),kt=s(()=>{let e=q.value.map(e=>`${e.x+e.width},${e.y+(G.value-K.value)/2}`);return`${q.value[0].x},${q.value[0].y+(G.value-K.value)/2} ${e.toString()} ${q.value.at(-1).x},${q.value.at(-1).y+(G.value-K.value)/2}`}),At=s(()=>({x1:q.value[0].cx,y1:q.value[0].cy,x2:q.value.at(-1).cx,y2:q.value.at(-1).cy})),J=v(!1);function jt(e){J.value=e,lt.value+=1}let Mt=s(()=>`${U.value.length*150}ms`),Y=v(!1);function Nt(){Y.value=!Y.value}function Pt(){B.value.showTable=!B.value.showTable}let X=s(()=>({head:U.value.map(e=>({name:e.name,color:e.color})),body:U.value.map(e=>e.value)})),Z=s(()=>{let e=[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],t=X.value.head.map((e,t)=>{let r=a(F.value.dataLabels.value.formatter,X.value.body[t],n({p:F.value.dataLabels.value.prefix,v:X.value.body[t],s:F.value.dataLabels.value.suffix,r:P.value.table.td.roundingValue}),{datapoint:q.value[t]}),i=a(I.value.dataLabels.formatter,q.value[t].proportion*100,n({v:q.value[t].proportion*100,s:`%`,r:P.value.table.td.roundingPercentage}),{datapoint:q.value[t]});return[{color:e.color,name:e.name},r,i]}),r={th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint};return{colNames:[P.value.table.columnNames.series,P.value.table.columnNames.value,P.value.table.columnNames.percentage],head:e,body:t,config:r}});function Q(e=null){Ne(()=>{let t=X.value.head.map((e,t)=>[[e.name],[X.value.body[t]],[q.value[t].proportion*100]]),n=[[L.value.title.text],[L.value.title.subtitle.text],[[P.value.table.columnNames.series],[P.value.table.columnNames.value],[`%`]]].concat(t),i=r(n);e?e(i):re({csvContent:i,title:L.value.title.text||`vue-ui-funnel`})})}function Ft(){return U.value}let It=pe(D,()=>L.value.title.text),$=s(()=>_e({config:P,style:L,mutableConfig:B,dialog:ot,accordion:tt,isFullscreen:J,parent:D,maxWidth:800}));Be(()=>B.value.showTable,e=>ge(e,P,ht));function Lt(){B.value.showTable=!1,M.value&&M.value.setTableIconState(!1)}let Rt=s(()=>L.value.backgroundColor),zt=s(()=>L.value.title),{isCallbackImaging:Bt,isCallbackSvg:Vt,generateSvg:Ht,onGenerateImage:Ut}=he({svg:z,title:zt,legend:null,legendItems:null,backgroundColor:Rt,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:Tt});async function Wt(){if(ct(`copyAlt`,{config:P.value,dataset:U.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:U.value}))}return de({getData:Ft,getImage:It,generatePdf:wt,generateCsv:Q,generateImage:Tt,generateSvg:Ht,toggleTable:Pt,toggleAnnotator:Nt,toggleFullscreen:jt,copyAlt:Wt}),(e,t)=>(_(),u(`div`,{ref_key:`funnelChart`,ref:D,class:h(`vue-data-ui-component vue-ui-funnel ${J.value?`vue-data-ui-wrapper-fullscreen`:``} ${P.value.useCssAnimation?``:`vue-ui-dna`}`),style:g(`font-family:${P.value.style.fontFamily};width:100%; ${P.value.responsive?`height:100%;`:``} text-align:center;background:${L.value.backgroundColor}`),id:`funnel_${O.value}`,onMouseenter:t[1]||=()=>S(bt)(!0),onMouseleave:t[2]||=()=>S(bt)(!1)},[P.value.userOptions.buttons.annotator?(_(),c(S(it),{key:0,svgRef:S(z),backgroundColor:L.value.backgroundColor,color:L.value.color,active:Y.value,isCursorPointer:yt.value,palette:P.value.userOptions.annotatorPalette,onClose:Nt},Ae({_:2},[y(S(ye),t=>({name:t,fn:C(n=>[b(e.$slots,t,Pe(p(S(ve)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):l(``,!0),Et.value?(_(),u(`div`,{key:1,ref_key:`noTitle`,ref:ft,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):l(``,!0),L.value.title.text?(_(),u(`div`,{key:2,ref_key:`chartTitle`,ref:mt,style:`width:100%;background:transparent;padding-bottom:24px`},[(_(),c(me,{key:`title_${ut.value}`,config:{title:{cy:`funnel-div-title`,...L.value.title},subtitle:{cy:`funnel-div-subtitle`,...L.value.title.subtitle}}},null,8,[`config`]))],512)):l(``,!0),P.value.userOptions.show&&N.value&&(S(xt)||S(R))?(_(),c(S(rt),{ref_key:`userOptionsRef`,ref:M,key:`user_option_${lt.value}`,backgroundColor:L.value.backgroundColor,color:L.value.color,isPrinting:S(St),isImaging:S(Ct),uid:O.value,hasTooltip:!1,hasPdf:P.value.userOptions.buttons.pdf,hasImg:P.value.userOptions.buttons.img,hasSvg:P.value.userOptions.buttons.svg,hasXls:P.value.userOptions.buttons.csv,hasTable:P.value.userOptions.buttons.table,hasLabel:!1,hasFullscreen:P.value.userOptions.buttons.fullscreen,hasAltCopy:P.value.userOptions.buttons.altCopy,isFullscreen:J.value,chartElement:D.value,position:P.value.userOptions.position,titles:{...P.value.userOptions.buttonTitles},hasAnnotator:P.value.userOptions.buttons.annotator,isAnnotation:Y.value,callbacks:P.value.userOptions.callbacks,printScale:P.value.userOptions.print.scale,tableDialog:P.value.table.useDialog,isCursorPointer:yt.value,onToggleAnnotator:Nt,onToggleFullscreen:jt,onGeneratePdf:S(wt),onGenerateImage:S(Ut),onGenerateSvg:S(Ht),onToggleTable:Pt,onGenerateCsv:Q,onCopyAlt:Wt,style:g({visibility:S(xt)?S(R)?`visible`:`hidden`:`visible`})},Ae({_:2},[y(S(be)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[b(e.$slots,t,Pe(p(S(xe)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):l(``,!0),N.value?(_(),u(`svg`,{key:4,ref_key:`svgRef`,ref:z,xmlns:S(oe),class:h({"vue-data-ui-fullscreen--on":J.value,"vue-data-ui-fulscreen--off":!J.value}),viewBox:`0 0 ${H.value.width<=0?10:H.value.width} ${H.value.height<=0?10:H.value.height}`,style:g(`max-width:100%; overflow: visible; background:transparent;color:${L.value.color}`)},[Me(S(at)),e.$slots[`chart-background`]?(_(),u(`foreignObject`,{key:0,x:0,y:0,width:H.value.width<=0?10:H.value.width,height:H.value.height<=0?10:H.value.height,style:{pointerEvents:`none`}},[b(e.$slots,`chart-background`,{},void 0,!0)],8,We)):l(``,!0),d(`defs`,null,[Me(Te,{t:`linear`,id:`funnel_area_${O.value}`,x1:`0%`,x2:`100%`,y1:`0%`,y2:`0%`,stops:[[`0%`,L.value.backgroundColor,0],[`20%`,L.value.area.color,1],[`100%`,L.value.area.color,1]]},null,8,[`id`,`stops`])]),L.value.circleLinks.show?(_(),u(`line`,m({key:1},At.value,{stroke:L.value.circleLinks.color,"stroke-width":12*L.value.circleLinks.widthRatio,"stroke-linecap":`round`,class:{animated:P.value.useCssAnimation&&!S(T)},style:{strokeDasharray:P.value.useCssAnimation&&!S(T)?W.value.height:0,strokeDashoffset:P.value.useCssAnimation&&!S(T)?W.value.height:0}}),null,16,Ge)):l(``,!0),(_(!0),u(o,null,y(q.value,({cx:e,cy:t,r:n,fill:r},i)=>(_(),u(`circle`,m({ref_for:!0},{cx:e,cy:t,r:n,fill:r},{stroke:I.value.stroke,"stroke-width":I.value.strokeWidth,class:{animated:P.value.useCssAnimation&&!j.value&&!S(T)},style:{animationDelay:`${150*i}ms`}}),null,16,Ke))),256)),(_(!0),u(o,null,y(q.value,(e,t)=>(_(),u(`text`,{x:e.cx,y:e.cy+V.value.circles/3+I.value.dataLabels.offsetY,"text-anchor":`middle`,"font-size":V.value.circles,fill:I.value.dataLabels.adaptColorToBackground?S(ie)(e.color):I.value.dataLabels.color,"font-weight":I.value.dataLabels.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(S(a)(I.value.dataLabels.formatter,e.proportion*100,S(n)({v:e.proportion*100,s:`%`,r:I.value.dataLabels.rounding}),{datapoint:e})),15,qe))),256)),L.value.area.show?(_(),u(`polygon`,{key:2,points:kt.value,fill:`url(#funnel_area_${O.value})`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({transition:P.value.useCssAnimation?`all ${150*U.value.length}ms ease-in`:`none`})},null,14,Je)):l(``,!0),(_(!0),u(o,null,y(q.value,({x:e,y:t,height:n,width:r,fill:i},ee)=>(_(),u(`rect`,m({ref_for:!0},{x:e,y:t,height:n,width:r,fill:i},{stroke:F.value.stroke,"stroke-width":F.value.strokeWidth,rx:F.value.borderRadius,class:{animated:P.value.useCssAnimation&&!j.value&&!S(T)},style:{animationDelay:`${150*ee}ms`}}),null,16,Ye))),256)),(_(!0),u(o,null,y(q.value,(e,t)=>(_(),u(`g`,null,[d(`text`,{x:e.x+e.width+F.value.dataLabels.name.offsetX+12,y:e.cy-V.value.names/2+F.value.dataLabels.name.offsetY,"text-anchor":`start`,"font-size":V.value.names,fill:F.value.dataLabels.name.color,"font-weight":F.value.dataLabels.name.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(e.name),15,Xe),d(`text`,{x:e.x+e.width+F.value.dataLabels.value.offsetX+12,y:e.cy+V.value.values+F.value.dataLabels.value.offsetY,"text-anchor":`start`,"font-size":V.value.values,fill:F.value.dataLabels.value.color,"font-weight":F.value.dataLabels.value.bold?`bold`:`normal`,class:h({animated:P.value.useCssAnimation&&!j.value&&!S(T)}),style:g({animationDelay:`${150*t}ms`})},x(S(a)(F.value.dataLabels.value.formatter,e.value,S(n)({p:F.value.dataLabels.value.prefix,v:e.value,s:F.value.dataLabels.value.suffix,r:F.value.dataLabels.value.rounding}),{datapoint:e})),15,Ze)]))),256)),b(e.$slots,`svg`,{svg:{...H.value,isPrintingImg:S(St)||S(Ct)||S(Bt),isPrintingSvg:S(Vt)}},void 0,!0)],14,Ue)):l(``,!0),e.$slots.watermark?(_(),u(`div`,Qe,[b(e.$slots,`watermark`,Pe(p({isPrinting:S(St)||S(Ct)||S(Bt)||S(Vt)})),void 0,!0)])):l(``,!0),N.value?l(``,!0):(_(),c(S(et),{key:6,config:{type:`verticalBar`,style:{backgroundColor:L.value.backgroundColor,verticalBar:{axis:{color:`#CCCCCC`},color:`#CCCCCC`}}}},null,8,[`config`])),e.$slots.source?(_(),u(`div`,{key:7,ref_key:`source`,ref:pt,dir:`auto`},[b(e.$slots,`source`,{},void 0,!0)],512)):l(``,!0),N.value&&P.value.userOptions.buttons.table?(_(),c(Le($.value.component),m({key:8},$.value.props,{ref_key:`tableUnit`,ref:ht,onClose:Lt}),Ae({content:C(()=>[(_(),c(S(nt),{key:`table_${dt.value}`,colNames:Z.value.colNames,head:Z.value.head,body:Z.value.body,config:Z.value.config,title:P.value.table.useDialog?``:$.value.title,withCloseButton:!P.value.table.useDialog,onClose:Lt},{th:C(({th:e})=>[d(`div`,$e,x(e),1)]),td:C(({td:e})=>[je(x(e.name?e.name:e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:C(()=>[je(x($.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:C(()=>[d(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[0]||=e=>Q(P.value.userOptions.callbacks.csv)},[Me(S(w),{name:`fileCsv`,stroke:$.value.props.color},null,8,[`stroke`])])]),key:`1`}:void 0]),1040)):l(``,!0)],46,He))}},[[`__scopeId`,`data-v-efc62c19`]]);export{Ve as n,w as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as i,Ht as a,Kt as o,S as ee,X as s,Zt as c,at as te,i as ne,in as re,nt as ie,pt as ae,t as oe,w as se,yt as ce,z as le,zt as ue}from"./lib-DqD8nbyX.js";import{n as de,t as fe}from"./BaseScanner-8NdoBs7B.js";import{n as pe,t as me}from"./useHints-BH9r_0Vd.js";import{t as he}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ge}from"./resolveChartConfig-ChGWTt5l.js";import{t as _e}from"./chartImage-r-G4CkRK.js";import{n as ve}from"./Title-BLA0tM3g.js";import{t as ye}from"./useChartExport-DtPNpc9M.js";import{n as be,t as xe}from"./tableIntegration-CNoJ1CIY.js";import{n as Se,t as Ce}from"./annotationSlots-BRR85CqJ.js";import{n as we,t as Te}from"./userOptionsSlots-DYuo-E5m.js";import{t as Ee}from"./usePrinter-Cj4eIYC_.js";import{t as De}from"./useTransitions-DfSHzsdz.js";import{l as Oe,t as ke}from"./useResponsive-D2CPcpda.js";import{t as Ae}from"./BaseLegendToggle-BOcw1ke8.js";import{t as je}from"./A11yDataTable-DWNlWXzs.js";import{t as Me}from"./useUserOptionState-CXlFnwPv.js";import{t as Ne}from"./useChartAccessibility-DOMuYJfm.js";import{t as Pe}from"./labelUtils-DXiFpsZl.js";import{t as Fe}from"./Legend-D8NunRPr.js";import{t as Ie}from"./vue_ui_galaxy-B94QInxc.js";import{Fragment as Le,Teleport as Re,computed as l,createBlock as u,createCommentVNode as d,createElementBlock as f,createElementVNode as p,createSlots as ze,createTextVNode as Be,createVNode as Ve,defineAsyncComponent as m,guardReactiveProps as h,mergeProps as He,nextTick as Ue,normalizeClass as g,normalizeProps as _,normalizeStyle as v,onMounted as We,openBlock as y,ref as b,renderList as Ge,renderSlot as x,resolveDynamicComponent as Ke,toDisplayString as S,toRefs as qe,unref as C,watch as Je,withCtx as w}from"vue";var Ye=/* @__PURE__ */ e({default:()=>ht}),Xe=[`id`],Ze=[`id`],Qe=[`id`],$e={style:{position:`relative`}},et=[`xmlns`,`aria-describedby`,`viewBox`],tt=[`width`,`height`],nt=[`id`],rt=[`stdDeviation`],it=[`d`,`stroke`,`stroke-width`],at=[`d`,`stroke`,`stroke-width`],ot=[`filter`],st=[`d`,`stroke`,`stroke-width`],ct=[`data-a11y-serie-id`,`d`,`stroke-width`,`aria-label`,`onMouseenter`,`onMouseleave`,`onClick`],lt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},ut={key:5,class:`vue-data-ui-watermark`},dt=[`id`],ft=[`onClick`],pt={key:0},mt={key:1},ht=/*#__PURE__*/ he({__name:`vue-ui-galaxy`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:he,emit:Ye}){let ht=m(()=>import(`./Tooltip-Iyb_S6oQ.js`)),gt=m(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),_t=m(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),vt=m(()=>import(`./DataTable-BcVZLSs8.js`)),yt=m(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),bt=m(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),xt=m(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),St=m(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_galaxy:Ct}=t(),T=e,E=b(s()),D=b(null),O=b(!1),wt=b(``),k=b(null),Tt=b(0),Et=b(0),Dt=b(0),Ot=b(0),kt=b(null),At=b(null),jt=b(null),Mt=b(null),A=b(null),j=b(null),Nt=b(!1),Pt=b(null),Ft=b(null),M=b(null),It=b(null),Lt=b({x:0,y:0}),Rt=b(`pointer`),zt=b(!1),Bt=l(()=>!!T.dataset&&T.dataset.length),N=b(Xt()),P=l(()=>N.value.style.chart.layout.arcs),F=l(()=>N.value.style.chart.layout),I=l(()=>N.value.style.chart);pe({config:()=>N.value,dataset:()=>T.dataset,component:`VueUiGalaxy`,rules:[me.singleSeries,me.emptyArray,{test:e=>e.length>6,message:[`👀 The number of series is > 6. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:Vt}=De({config:()=>N.value.transitions,dataset:()=>T.dataset}),L=l(()=>N.value.userOptions.useCursorPointer),Ht=l(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},useCssAnimation:!1,style:{chart:{backgroundColor:`#99999930`,legend:{backgroundColor:`transparent`}}}},userConfig:N.value.skeletonConfig??{}})),{loading:Ut,FINAL_DATASET:Wt}=de({...qe(T),FINAL_CONFIG:N,prepareConfig:Xt,callback:()=>{Promise.resolve().then(async()=>{await Ue(),z.value.showTable=N.value.table.show})},skeletonDataset:T.config?.skeletonDataset??[{name:`_`,values:[21],color:`#DBDBDB`},{name:`_`,values:[13],color:`#C4C4C4`},{name:`_`,values:[8],color:`#ADADAD`}],skeletonConfig:re({defaultConfig:N.value,userConfig:Ht.value})});We(()=>{Nt.value=!0,Kt()});let Gt=l(()=>N.value.debug);function Kt(){if(ue(T.dataset)?te({componentName:`VueUiGalaxy`,type:`dataset`,debug:Gt.value}):Gt.value&&T.dataset.forEach((e,t)=>{ce({datasetObject:e,requiredAttributes:[`name`,`values`]}).forEach(e=>{te({componentName:`VueUiGalaxy`,type:`datasetSerieAttribute`,property:e,index:t})})}),N.value.responsive){let e=Oe(()=>{let{width:e,height:t}=ke({chart:D.value,title:I.value.title.text?kt.value:null,legend:I.value.legend.show?At.value:null,noTitle:Mt.value,source:jt.value});requestAnimationFrame(()=>{B.value=Math.max(.1,e),an.value=Math.max(.1,t-12)})});A.value&&(j.value&&A.value.unobserve(j.value),A.value.disconnect()),A.value=new ResizeObserver(e),j.value=D.value.parentNode,A.value.observe(j.value)}}let{userOptionsVisible:qt,setUserOptionsVisibility:Jt,keepUserOptionState:Yt}=Me({config:N.value}),{svgRef:R}=Ne({config:I.value.title});function Xt(){return ge(T.config,Ct,Ie)}let Zt=c(T.config);Je(()=>T.config,(e,t)=>{let n=c(e),r=n!==Zt;Zt=n;let i=Xt();if(!r){N.value.style.chart.tooltip=i.style.chart.tooltip,z.value.showTooltip=N.value.style.chart.tooltip.show;return}N.value=i,qt.value=!N.value.userOptions.showOnChartHover,Kt(),Et.value+=1,Dt.value+=1,Ot.value+=1,z.value.dataLabels.show=F.value.labels.dataLabels.show,z.value.showTable=N.value.table.show,z.value.showTooltip=I.value.tooltip.show},{deep:!0});let{isPrinting:Qt,isImaging:$t,generatePdf:en,generateImage:tn}=Ee({elementId:`galaxy_${E.value}`,fileName:I.value.title.text||`vue-ui-galaxy`,options:N.value.userOptions.print}),nn=l(()=>N.value.userOptions.show&&!I.value.title.text),rn=l(()=>se(N.value.customPalette)),z=b({dataLabels:{show:F.value.labels.dataLabels.show},showTable:N.value.table.show,showTooltip:I.value.tooltip.show}),B=b(250),an=b(180),on=b(0),sn=b(0),V=l(()=>({width:B.value,height:an.value,viewBox:`${on.value} ${sn.value} ${B.value} ${an.value}`})),cn=Ye,H=b([]);function ln(){cn(`selectLegend`,K.value.map(e=>({name:e.name,color:e.color,value:e.value})))}function un(){H.value.length?H.value=[]:J.value.forEach(e=>{H.value.push(e.id)}),ln()}function U(e){H.value.includes(e.id)?H.value=H.value.filter(t=>t!==e.id):H.value.push(e.id),ln()}function dn(e){return W.value.length?W.value.find(t=>t.name===e)||(Gt.value&&console.warn(`VueUiGalaxy - Series name not found "${e}"`),null):(Gt.value&&console.warn(`VueUiGalaxy - There are no series to show.`),null)}function fn(e){let t=dn(e);t!==null&&H.value.includes(t.id)&&U({id:t.id})}function pn(e){let t=dn(e);t!==null&&(H.value.includes(t.id)||U({id:t.id}))}let W=l(()=>Wt.value.map((e,t)=>({name:e.name,color:ee(e.color)||rn.value[t]||a[t]||a[t%a.length],value:e.values?o(e.values).reduce((e,t)=>e+t,0):0,absoluteValues:o(e.values),id:s()})).sort((e,t)=>t.value-e.value).map((e,t)=>({...e,absoluteIndex:t})));function mn(){return W.value.map(e=>({name:e.name,color:e.color,value:e.value}))}let G=l(()=>W.value.filter(e=>!H.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0)),hn=b(190),gn=l(()=>W.value.filter(e=>!H.value.includes(e.id))),_n=l(()=>(P.value.strokeWidth+P.value.borderWidth)/2+(F.value.padding??12)),vn=l(()=>le({maxPoints:hn.value,a:P.value.a??6,b:P.value.b??6,angleStep:P.value.angleStep??.07,startX:V.value.width/2+P.value.offsetX,startY:V.value.height/2+P.value.offsetY,boxWidth:V.value.width,boxHeight:V.value.height,padding:_n.value})),K=l(()=>{let e=[];for(let t=0;t<gn.value.length;t+=1){let n=gn.value[t],r=n.value/G.value*hn.value+(t>0&&e.length?e[t-1].points:0);e.push({points:r,...n,seriesIndex:t,proportion:n.value/G.value,path:vn.value(r)})}return e.filter(e=>!H.value.includes(e.id)).toSorted((e,t)=>t.points-e.points)});function yn(e){let t=Math.min(B.value,an.value),n=k.value===e.id&&P.value.hoverEffect.show?P.value.hoverEffect.multiplicator:1,r=(P.value.strokeWidth+P.value.borderWidth)*n,i=P.value.strokeWidth*n,a=P.value.strokeWidth/2*n;return{border:r/180*t,path:i/180*t,blur:a/180*t}}let q=b(!1);function bn(e){q.value=e,Tt.value+=1}let xn=b(null);function Sn(){O.value=!1,k.value=null,M.value=null,It.value=null}function Cn(e){if(!R.value||!e)return;let t=R.value.querySelector(`[data-a11y-serie-id="${e}"]`);if(!t)return;let n=t.getBoundingClientRect();Lt.value={x:n.left+n.width/2,y:n.top+n.height/2}}function wn(e){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex}),(It.value!==e.id||Rt.value!==`keyboard`)&&(O.value=!1,k.value=null)}function Tn(e){cn(`selectDatapoint`,e),N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function En({val:e,percentage:t,showVal:n,showPercentage:r}){let i=F.value.labels.dataLabels;return Pe({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Dn({datapoint:e,_relativeIndex:t,seriesIndex:r,show:a=!1,triggerMode:o=`pointer`,flatIndex:ee=null}){if(N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),!z.value.showTooltip)return;Rt.value=o,M.value=ee,It.value=e.id,xn.value={datapoint:e,seriesIndex:r,series:W.value,config:N.value},O.value=a,k.value=e.id;let s=``,c=I.value.tooltip.customFormat;i(c)&&ae(()=>c({seriesIndex:r,datapoint:e,series:W.value,config:N.value}))?wt.value=c({seriesIndex:r,datapoint:e,series:W.value,config:N.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${I.value.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,s+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${e.color}"/></svg>`,s+=`<b>${En({showVal:I.value.tooltip.showValue,showPercentage:I.value.tooltip.showPercentage,val:ne(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:e.proportion*100,s:`%`,r:I.value.tooltip.roundingPercentage})})}</b></div>`,wt.value=`<div>${s}</div>`),o===`keyboard`&&Ue(()=>{Cn(e.id)})}let J=l(()=>W.value.map((e,t)=>{let r=ne(F.value.labels.dataLabels.formatter,e.value,n({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.value.legend.roundingValue}),{datapoint:e,index:t}),i=isNaN(e.value/G.value)||H.value.includes(e.id)?`-`:n({v:e.value/G.value*100,s:`%`,r:I.value.legend.roundingPercentage}),a=En({showVal:I.value.legend.showValue,showPercentage:I.value.legend.showPercentage,val:r,percentage:i});return{...e,proportion:(e.value||0)/Wt.value.map(e=>(e.values||[]).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),opacity:H.value.includes(e.id)?.5:1,shape:e.shape||`circle`,segregate:()=>U(e),isSegregated:H.value.includes(e.id),display:`${e.name}${I.value.legend.showPercentage||I.value.legend.showValue?`: `:``}${a}`}})),On=l(()=>({cy:`galaxy-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.value.legend.bold?`bold`:``})),Y=l(()=>({head:K.value.map(e=>({name:e.name,color:e.color})),body:K.value.map(e=>e.value)}));function kn(e=null){Ue(()=>{let t=Y.value.head.map((e,t)=>[[e.name],[Y.value.body[t]],[isNaN(Y.value.body[t]/G.value)?`-`:Y.value.body[t]/G.value*100]]),n=[[I.value.title.text],[I.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ie({csvContent:i,title:I.value.title.text||`vue-ui-galaxy`})})}let X=l(()=>{let e=[`__SUM__`,n({p:F.value.labels.dataLabels.prefix,v:G.value,s:F.value.labels.dataLabels.suffix,r:N.value.table.td.roundingValue}),`100%`],t=Y.value.head.map((e,t)=>{let r=n({p:F.value.labels.dataLabels.prefix,v:Y.value.body[t],s:F.value.labels.dataLabels.suffix,r:N.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Y.value.body[t]/G.value)?`-`:n({v:Y.value.body[t]/G.value*100,s:`%`,r:N.value.table.td.roundingPercentage})]}),r={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,config:r}});function An(){z.value.showTable=!z.value.showTable}function jn(){z.value.showTooltip=!z.value.showTooltip}let Z=b(!1);function Mn(){Z.value=!Z.value}let Nn=_e(D,()=>I.value.title.text),Q=l(()=>xe({config:N,style:I,mutableConfig:z,dialog:St,accordion:_t,isFullscreen:q,parent:D,maxWidth:500,isCursorPointer:L}));Je(()=>z.value.showTable,e=>be(e,N,Pt));function Pn(){z.value.showTable=!1,Ft.value&&Ft.value.setTableIconState(!1)}let Fn=l(()=>J.value.map(e=>({...e,name:e.display}))),In=l(()=>I.value.backgroundColor),Ln=l(()=>I.value.legend),Rn=l(()=>I.value.title),{isCallbackImaging:zn,isCallbackSvg:Bn,generateSvg:Vn,onGenerateImage:Hn}=ye({svg:R,title:Rn,legend:Ln,legendItems:Fn,backgroundColor:In,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:tn});async function Un(){if(cn(`copyAlt`,{config:N.value,dataset:W.value}),!N.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:W.value}))}function Wn(){M.value=null,It.value=null,zt.value=!0}function Gn(){Sn(),zt.value=!1}function Kn(e){if(!R.value||Z.value||document.activeElement!==R.value||!$.value.length)return;let t=e.key===`ArrowLeft`||e.key===`ArrowUp`,n=e.key===`ArrowRight`||e.key===`ArrowDown`,r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){Sn();return}if(r){if(M.value===null)return;let e=$.value[M.value];if(!e)return;Tn(e.datapoint);return}let a=M.value;a===null||a<0||a>=$.value.length?a=n?0:$.value.length-1:(a+=n?1:-1,a<0&&(a=$.value.length-1),a>=$.value.length&&(a=0));let o=$.value[a];o&&Dn({datapoint:o.datapoint,seriesIndex:o.datapoint.seriesIndex,show:!0,triggerMode:`keyboard`,flatIndex:a})}let qn=l(()=>({headers:X.value?.colNames??[],rows:X.value?.body??[]})),$=l(()=>K.value.map((e,t)=>({datapoint:e,index:t})));return he({getData:mn,getImage:Nn,generatePdf:en,generateCsv:kn,generateImage:tn,generateSvg:Vn,hideSeries:pn,showSeries:fn,toggleTable:An,toggleTooltip:jn,toggleAnnotator:Mn,toggleFullscreen:bn,copyAlt:Un}),(e,t)=>(y(),f(`div`,{ref_key:`galaxyChart`,ref:D,class:g(`vue-data-ui-component vue-ui-galaxy ${q.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`} ${C(Ut)?`loading`:``}`),style:v(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;${I.value.title.text?``:`padding-top:36px`};background:${I.value.backgroundColor}`),id:`galaxy_${E.value}`,onMouseenter:t[2]||=()=>C(Jt)(!0),onMouseleave:t[3]||=()=>{C(Jt)(!1),zt.value||Sn()}},[p(`div`,{id:`chart-instructions-${E.value}`,class:`sr-only`},[p(`p`,null,S(N.value.a11y.translations.keyboardNavigation),1)],8,Ze),qn.value?.rows?.length?(y(),u(je,{key:0,uid:E.value,head:qn.value.headers,body:qn.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):d(``,!0),N.value.userOptions.buttons.annotator?(y(),u(C(yt),{key:1,svgRef:C(R),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Z.value,isCursorPointer:L.value,palette:N.value.userOptions.annotatorPalette,onClose:Mn},ze({_:2},[Ge(C(Ce),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Se)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):d(``,!0),nn.value?(y(),f(`div`,{key:2,ref_key:`noTitle`,ref:Mt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):d(``,!0),I.value.title.text?(y(),f(`div`,{key:3,ref_key:`chartTitle`,ref:kt,style:`width:100%;background:transparent;padding-bottom:24px`},[(y(),u(ve,{key:`title_${Et.value}`,config:{title:{cy:`galaxy-div-title`,...I.value.title},subtitle:{cy:`galaxy-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):d(``,!0),p(`div`,{id:`legend-top-${E.value}`},null,8,Qe),N.value.userOptions.show&&Bt.value&&(C(Yt)||C(qt))?(y(),u(C(bt),{ref_key:`userOptionsRef`,ref:Ft,key:`user_option_${Tt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:C(Qt),isImaging:C($t),uid:E.value,hasTooltip:N.value.userOptions.buttons.tooltip&&I.value.tooltip.show,hasPdf:N.value.userOptions.buttons.pdf,hasXls:N.value.userOptions.buttons.csv,hasImg:N.value.userOptions.buttons.img,hasSvg:N.value.userOptions.buttons.svg,hasTable:N.value.userOptions.buttons.table,hasFullscreen:N.value.userOptions.buttons.fullscreen,hasAltCopy:N.value.userOptions.buttons.altCopy,isTooltip:z.value.showTooltip,isFullscreen:q.value,titles:{...N.value.userOptions.buttonTitles},chartElement:D.value,position:N.value.userOptions.position,hasAnnotator:N.value.userOptions.buttons.annotator,isAnnotation:Z.value,callbacks:N.value.userOptions.callbacks,printScale:N.value.userOptions.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:L.value,onToggleFullscreen:bn,onGeneratePdf:C(en),onGenerateCsv:kn,onGenerateImage:C(Hn),onGenerateSvg:C(Vn),onToggleTable:An,onToggleTooltip:jn,onToggleAnnotator:Mn,onCopyAlt:Un,style:v({visibility:C(Yt)?C(qt)?`visible`:`hidden`:`visible`})},ze({_:2},[Ge(C(we)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:w(n=>[x(e.$slots,t,_(h(C(Te)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):d(``,!0),p(`div`,$e,[(y(),f(`svg`,{ref_key:`svgRef`,ref:R,xmlns:C(oe),"aria-describedby":`chart-instructions-${E.value}`,class:g({"vue-data-ui-fullscreen--on":q.value,"vue-data-ui-fulscreen--off":!q.value}),viewBox:V.value.viewBox,style:v(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color}`),tabindex:`0`,onFocus:Wn,onBlur:Gn,onKeydown:Kn},[Ve(C(xt)),e.$slots[`chart-background`]?(y(),f(`foreignObject`,{key:0,x:0,y:0,width:V.value.width,height:V.value.height,style:{pointerEvents:`none`}},[x(e.$slots,`chart-background`,{},void 0,!0)],8,tt)):d(``,!0),p(`defs`,null,[p(`filter`,{id:`blur_${E.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[p(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/P.value.gradient.intensity},null,8,rt)],8,nt)]),(y(!0),f(Le,null,Ge(K.value,e=>(y(),f(`g`,{key:`dp_${e.id}`},[e.value?(y(),f(`path`,{key:0,d:e.path,fill:`none`,stroke:I.value.backgroundColor,"stroke-width":yn(e).border,class:g({"vue-data-ui-transition":C(Vt)}),"stroke-linecap":`round`},null,10,it)):d(``,!0),e.value?(y(),f(`path`,{key:1,d:e.path,fill:`none`,stroke:e.color,"stroke-width":yn(e).path,"stroke-linecap":`round`,class:g({"vue-data-ui-transition":C(Vt),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&N.value.useBlurOnHover})},null,10,at)):d(``,!0),e.value&&P.value.gradient.show?(y(),f(`g`,{key:2,filter:`url(#blur_${E.value})`},[p(`path`,{d:e.path,fill:`none`,stroke:P.value.gradient.color,"stroke-width":yn(e).blur,"stroke-linecap":`round`,class:g({"vue-ui-galaxy-gradient":!0,"vue-data-ui-transition":C(Vt),"vue-ui-galaxy-blur":k.value&&k.value!==e.id&&N.value.useBlurOnHover})},null,10,st)],8,ot)):d(``,!0)]))),128)),(y(!0),f(Le,null,Ge(K.value,(e,t)=>(y(),f(`g`,null,[e.value?(y(),f(`path`,{key:0,"data-a11y-serie-id":e.id,d:e.path,fill:`none`,stroke:`transparent`,"stroke-width":P.value.strokeWidth+P.value.borderWidth,"stroke-linecap":`round`,"aria-label":`${e.name}: ${C(n)({p:F.value.labels.dataLabels.prefix,v:e.value,s:F.value.labels.dataLabels.suffix,r:I.value.tooltip.roundingValue})}`,onMouseenter:n=>Dn({datapoint:e,relativeIndex:t,seriesIndex:e.seriesIndex,show:!0,triggerMode:`pointer`,flatIndex:t}),onMouseleave:t=>wn(e),onClick:t=>Tn(e)},null,40,ct)):d(``,!0)]))),256)),x(e.$slots,`svg`,{svg:{...V.value,isPrintingImg:C(Qt)||C($t)||C(zn),isPrintingSvg:C(Bn)}},void 0,!0)],46,et)),e.$slots.hint?(y(),f(`div`,lt,[x(e.$slots,`hint`,_(h({hint:N.value.a11y.translations.keyboardNavigation,isVisible:zt.value})),void 0,!0)])):d(``,!0)]),e.$slots.watermark?(y(),f(`div`,ut,[x(e.$slots,`watermark`,_(h({isPrinting:C(Qt)||C($t)||C(zn)||C(Bn)})),void 0,!0)])):d(``,!0),p(`div`,{id:`legend-bottom-${E.value}`},null,8,dt),Nt.value&&(I.value.legend.show||e.$slots.legend)?(y(),u(Re,{key:6,to:I.value.legend.position===`top`?`#legend-top-${E.value}`:`#legend-bottom-${E.value}`},[p(`div`,{ref_key:`chartLegend`,ref:At},[x(e.$slots,`legend`,{legend:J.value},()=>[I.value.legend.show?(y(),u(Fe,{key:`legend_${Ot.value}`,legendSet:J.value,config:On.value,onClickMarker:t[0]||=({legend:e})=>U(e)},{item:w(({legend:e,index:t})=>[C(Ut)?d(``,!0):(y(),f(`div`,{key:0,onClick:t=>U(e),style:v(`opacity:${H.value.includes(e.id)?.5:1}`)},S(e.display),13,ft))]),legendToggle:w(()=>[J.value.length>2&&I.value.legend.selectAllToggle.show&&!C(Ut)?(y(),u(Ae,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.value.legend.fontSize,checked:H.value.length>0,onToggle:un},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`])):d(``,!0)]),_:1},8,[`legendSet`,`config`])):d(``,!0)],!0)],512)],8,[`to`])):d(``,!0),e.$slots.source?(y(),f(`div`,{key:7,ref_key:`source`,ref:jt,dir:`auto`},[x(e.$slots,`source`,{},void 0,!0)],512)):d(``,!0),Ve(C(ht),{teleportTo:I.value.tooltip.teleportTo,show:z.value.showTooltip&&O.value,backgroundColor:I.value.tooltip.backgroundColor,color:I.value.tooltip.color,borderRadius:I.value.tooltip.borderRadius,borderColor:I.value.tooltip.borderColor,borderWidth:I.value.tooltip.borderWidth,fontSize:I.value.tooltip.fontSize,backgroundOpacity:I.value.tooltip.backgroundOpacity,position:I.value.tooltip.position,offsetX:I.value.tooltip.offsetX,offsetY:I.value.tooltip.offsetY,parent:D.value,content:wt.value,isFullscreen:q.value,isCustom:C(i)(I.value.tooltip.customFormat),smooth:I.value.tooltip.smooth,backdropFilter:I.value.tooltip.backdropFilter,smoothForce:I.value.tooltip.smoothForce,smoothSnapThreshold:I.value.tooltip.smoothSnapThreshold,isA11yMode:Rt.value===`keyboard`,a11yPosition:Lt.value},{"tooltip-before":w(()=>[x(e.$slots,`tooltip-before`,_(h({...xn.value})),void 0,!0)]),tooltip:w(()=>[x(e.$slots,`tooltip`,_(h({...xn.value})),void 0,!0)]),"tooltip-after":w(()=>[x(e.$slots,`tooltip-after`,_(h({...xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Bt.value&&N.value.userOptions.buttons.table?(y(),u(Ke(Q.value.component),He({key:8},Q.value.props,{ref_key:`tableUnit`,ref:Pt,onClose:Pn}),ze({content:w(()=>[(y(),u(C(vt),{key:`table_${Dt.value}`,colNames:X.value.colNames,head:X.value.head,body:X.value.body,config:X.value.config,title:N.value.table.useDialog?``:Q.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:L.value,onClose:Pn},{th:w(({th:e})=>[e===`__SUM__`?(y(),f(`div`,pt,[Ve(C(gt),{name:`sigma`,stroke:X.value.config.th.color,size:16},null,8,[`stroke`])])):(y(),f(`div`,mt,S(e),1))]),td:w(({td:e})=>[Be(S(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:w(()=>[Be(S(Q.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:w(()=>[p(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>kn(N.value.userOptions.callbacks.csv),style:v({cursor:L.value?`pointer`:`default`})},[Ve(C(gt),{name:`fileCsv`,stroke:Q.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):d(``,!0),x(e.$slots,`skeleton`,{},()=>[C(Ut)?(y(),u(fe,{key:0})):d(``,!0)],!0)],46,Xe))}},[[`__scopeId`,`data-v-fbbde348`]]);export{Ye as n,ht as t};