vue-data-ui 3.26.5 → 3.27.0

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 (200) hide show
  1. package/dist/{Arrow-BQbcOtfC.js → Arrow-DKO1l8oR.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BCFCiP_6.js → BaseDraggableDialog-C50TEJFv.js} +2 -2
  3. package/dist/{BaseIcon-CIK6Sqo3.js → BaseIcon-Cx9FD751.js} +1 -1
  4. package/dist/{BaseLegendToggle-Doa5rYP2.js → BaseLegendToggle-CP3sddwv.js} +1 -1
  5. package/dist/{BaseZoomControls-BGQM8B5F.js → BaseZoomControls-vNi8YykO.js} +2 -2
  6. package/dist/{ColorPicker-Cb7qpvFt.js → ColorPicker-hmC2bvwS.js} +2 -2
  7. package/dist/{DataTable-B6LDCXBz.js → DataTable-CjF_An2h.js} +2 -2
  8. package/dist/{HillActions-CwdgCb7Q.js → HillActions-DqqGB33u.js} +1 -1
  9. package/dist/{Legend-D9FGXIbQ.js → Legend-CulFgjUY.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-9T4MSwXC.js → NonSvgPenAndPaper-BK1v_MfW.js} +3 -3
  11. package/dist/{PackageVersion-CslTvFsC.js → PackageVersion-D7H9nfK0.js} +1 -1
  12. package/dist/{PenAndPaper-C1EcBgJW.js → PenAndPaper-CNiuGw6k.js} +3 -3
  13. package/dist/{Shape-BZgQLgu5.js → Shape-DSwamtmO.js} +1 -1
  14. package/dist/{SlicerPreview-DyYv_G-_.js → SlicerPreview-k5YerMA9.js} +12 -12
  15. package/dist/{SparkTooltip-D4cRlyuq.js → SparkTooltip-D35KVv6N.js} +6 -6
  16. package/dist/{Title-Bd98RysU.js → Title-BMCuINbv.js} +1 -1
  17. package/dist/{Tooltip-DmQeI5WE.js → Tooltip-C4ZTwkLF.js} +1 -1
  18. package/dist/{UserOptions-B_yBcZ1-.js → UserOptions-CORYQiif.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-B_RJohlM.js → dom-to-png-CBusMkua.js} +1 -1
  91. package/dist/{exposedLib-C-JlvWAt.js → exposedLib-UNxZlnAS.js} +10 -10
  92. package/dist/{img-KURaWjZI.js → img-Bb5rHcpO.js} +1 -1
  93. package/dist/{labelUtils-DShv2Mbg.js → labelUtils-Ccn9kK7T.js} +1 -1
  94. package/dist/{lib-TWIH5fGr.js → lib-D4wK6ljP.js} +127 -133
  95. package/dist/{package-DbTqd5lc.js → package-DmQufM0G.js} +1 -1
  96. package/dist/{pdf-CLl24Afl.js → pdf-BzIQHx-F.js} +1 -1
  97. package/dist/{render-common-CKv-jztN.js → render-common-BtfjXdkJ.js} +10 -10
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +212 -59
  103. package/dist/types/vue-ui-stackbar.d.ts +10 -0
  104. package/dist/{useConfig-DObkR9Aa.js → useConfig-D_6ZrPMD.js} +82 -0
  105. package/dist/{useNestedProp-BxOdWM0c.js → useNestedProp-DR_8JPol.js} +1 -1
  106. package/dist/{useObjectBindings-CPmyIJxB.js → useObjectBindings-DvasYMGu.js} +2 -2
  107. package/dist/{usePrinter-8Y1Rju0Y.js → usePrinter-DdW2GSm0.js} +2 -2
  108. package/dist/utils.js +10 -10
  109. package/dist/{vue-data-ui-C3G5Zdl5.js → vue-data-ui-Df7WV80w.js} +70 -70
  110. package/dist/vue-data-ui.js +75 -75
  111. package/dist/{vue-ui-3d-bar-Cl6-fBV8.js → vue-ui-3d-bar-CJjNPwhG.js} +463 -463
  112. package/dist/{vue-ui-accordion-AyyZDab3.js → vue-ui-accordion-CaoNWreI.js} +4 -4
  113. package/dist/{vue-ui-age-pyramid-DOtWAL8s.js → vue-ui-age-pyramid-BYcM0uIP.js} +22 -22
  114. package/dist/{vue-ui-annotator-BCVjlojM.js → vue-ui-annotator-BmqjDjRF.js} +10 -10
  115. package/dist/{vue-ui-bullet-B_1Ctjvq.js → vue-ui-bullet-DBOAvpBB.js} +18 -18
  116. package/dist/vue-ui-bump-rPYwDJ4o.js +1242 -0
  117. package/dist/{vue-ui-candlestick-KvhjbAxt.js → vue-ui-candlestick-WQHIQNv_.js} +625 -625
  118. package/dist/{vue-ui-carousel-table-ArMiO0cG.js → vue-ui-carousel-table-Dojcvt49.js} +106 -106
  119. package/dist/{vue-ui-chestnut-DSM0U27X.js → vue-ui-chestnut-BdhEByUf.js} +65 -65
  120. package/dist/{vue-ui-chord-64akfaem.js → vue-ui-chord-MF4xF5az.js} +46 -46
  121. package/dist/{vue-ui-circle-pack-CaR_aNEh.js → vue-ui-circle-pack-BwDim7G8.js} +26 -26
  122. package/dist/{vue-ui-cursor-DCgqYZiz.js → vue-ui-cursor-w_5cbpSb.js} +61 -61
  123. package/dist/{vue-ui-dag-8uKK0Rlp.js → vue-ui-dag-D2EUqeDN.js} +65 -65
  124. package/dist/{vue-ui-dashboard-DeccYtSY.js → vue-ui-dashboard-BLnVXosj.js} +70 -70
  125. package/dist/{vue-ui-digits-BvK7bVuJ.js → vue-ui-digits-zSqwYWHm.js} +4 -4
  126. package/dist/{vue-ui-donut-8joMj08Z.js → vue-ui-donut-ZYZfqIhi.js} +117 -117
  127. package/dist/{vue-ui-donut-evolution-DgITf95R.js → vue-ui-donut-evolution-DtLbWi3h.js} +216 -216
  128. package/dist/vue-ui-donut-nLDLZwig.js +2427 -0
  129. package/dist/{vue-ui-dumbbell-U2L4ZYhB.js → vue-ui-dumbbell-Qgn3wRyI.js} +20 -20
  130. package/dist/{vue-ui-flow-DD20fJu_.js → vue-ui-flow-iSH6dyGw.js} +109 -109
  131. package/dist/vue-ui-funnel-Cc2z2zS5.js +749 -0
  132. package/dist/{vue-ui-galaxy-VZFZnHPv.js → vue-ui-galaxy-GhuBSU0o.js} +267 -267
  133. package/dist/vue-ui-gauge-BAjBO13a.js +934 -0
  134. package/dist/{vue-ui-geo-DeDQ6ubl.js → vue-ui-geo-mwTtvIHY.js} +19 -19
  135. package/dist/{vue-ui-gizmo-D5oUKIsP.js → vue-ui-gizmo-B5vOOrZX.js} +4 -4
  136. package/dist/vue-ui-heatmap-fimkY1nN.js +1613 -0
  137. package/dist/{vue-ui-hill-DONFacXR.js → vue-ui-hill-DPfTt3UE.js} +18 -18
  138. package/dist/{vue-ui-history-plot-BMy_y9S6.js → vue-ui-history-plot-B1WgzqTb.js} +53 -53
  139. package/dist/vue-ui-horizontal-bar-Bkp5HQdt.js +1723 -0
  140. package/dist/{vue-ui-kpi-Bol0OWs3.js → vue-ui-kpi-D-p0CSQh.js} +4 -4
  141. package/dist/{vue-ui-label-cwjXaEDQ.js → vue-ui-label-r3-QloJL.js} +65 -65
  142. package/dist/{vue-ui-mini-loader-kdpasmXb.js → vue-ui-mini-loader-CnrBGAtM.js} +3 -3
  143. package/dist/vue-ui-molecule-BhdAYX_H.js +941 -0
  144. package/dist/vue-ui-mood-radar-CdlnPrQf.js +1111 -0
  145. package/dist/{vue-ui-nested-donuts-ZmGGEvRk.js → vue-ui-nested-donuts-DceVEyUc.js} +341 -341
  146. package/dist/{vue-ui-onion-D6IKPpL-.js → vue-ui-onion-_L0uEATI.js} +209 -209
  147. package/dist/vue-ui-parallel-coordinate-plot-CbXwIM47.js +1444 -0
  148. package/dist/{vue-ui-quadrant-CueHa1Pm.js → vue-ui-quadrant-CDDFLRcX.js} +55 -55
  149. package/dist/{vue-ui-quick-chart-C8ZxX1Zw.js → vue-ui-quick-chart-Dom257hl.js} +377 -377
  150. package/dist/vue-ui-radar-BLdri1bA.js +1386 -0
  151. package/dist/{vue-ui-rating-V_OnJN9Y.js → vue-ui-rating-C_iTttXB.js} +25 -25
  152. package/dist/vue-ui-relation-circle-BmxTSgjd.js +905 -0
  153. package/dist/vue-ui-ridgeline-CsUrcVmL.js +1630 -0
  154. package/dist/{vue-ui-rings-Bf9IKwDr.js → vue-ui-rings-D_GPkgbD.js} +318 -318
  155. package/dist/vue-ui-scatter-D_C-IhnW.js +2418 -0
  156. package/dist/{vue-ui-skeleton-dyXWT6JX.js → vue-ui-skeleton-t7e6KEZ2.js} +60 -60
  157. package/dist/{vue-ui-smiley-w6nH1I0E.js → vue-ui-smiley-Dl95YWVo.js} +14 -14
  158. package/dist/{vue-ui-spark-trend-Bso9bwmY.js → vue-ui-spark-trend-pkZA7u5V.js} +20 -20
  159. package/dist/{vue-ui-sparkbar-CL06Yt56.js → vue-ui-sparkbar-Ds7OJjhG.js} +77 -77
  160. package/dist/{vue-ui-sparkgauge-BHDM5Hbr.js → vue-ui-sparkgauge-US1M88qc.js} +6 -6
  161. package/dist/vue-ui-sparkhistogram-FISVpSvv.js +589 -0
  162. package/dist/{vue-ui-sparkline-znaswFQj.js → vue-ui-sparkline-DvE1dHcs.js} +37 -37
  163. package/dist/{vue-ui-sparkstackbar-BOzVoWoa.js → vue-ui-sparkstackbar-CWtF9eG-.js} +39 -39
  164. package/dist/vue-ui-stackbar-fMgrHzZe.js +3273 -0
  165. package/dist/{vue-ui-stackline-qcLrNL09.js → vue-ui-stackline-CSMuUup2.js} +303 -303
  166. package/dist/vue-ui-strip-plot-TGD2UFHS.js +1752 -0
  167. package/dist/{vue-ui-table-D295mJIf.js → vue-ui-table-BCEIbg8-.js} +14 -14
  168. package/dist/{vue-ui-table-heatmap-CXeMKqKz.js → vue-ui-table-heatmap-CvUcFWMf.js} +9 -9
  169. package/dist/vue-ui-table-sparkline-CoVQ1qGY.js +738 -0
  170. package/dist/vue-ui-thermometer-BYFAZCzh.js +758 -0
  171. package/dist/{vue-ui-timer-BULpjYiI.js → vue-ui-timer-BKr8RVnn.js} +10 -10
  172. package/dist/{vue-ui-tiremarks-B7bTeU8h.js → vue-ui-tiremarks-BYu3cEoy.js} +35 -35
  173. package/dist/{vue-ui-treemap-DkqDz9W4.js → vue-ui-treemap-BR3rX5_L.js} +50 -50
  174. package/dist/{vue-ui-waffle-Cn7WBzqh.js → vue-ui-waffle-mP8g5aQk.js} +275 -275
  175. package/dist/{vue-ui-wheel-Cy7kBvEx.js → vue-ui-wheel-CZsSO2R6.js} +187 -187
  176. package/dist/{vue-ui-word-cloud-tRqc2ZMR.js → vue-ui-word-cloud-CJ30onqy.js} +35 -35
  177. package/dist/{vue-ui-world-B755-zji.js → vue-ui-world-BZ09DOiF.js} +498 -498
  178. package/dist/{vue-ui-xy-BiHIJ7rK.js → vue-ui-xy-C3h54loZ.js} +405 -405
  179. package/dist/{vue-ui-xy-canvas-DGuMC_Rf.js → vue-ui-xy-canvas-BwgK8drp.js} +165 -165
  180. package/dist/{vue-ui-xy-DWYTZz_v.js → vue-ui-xy-jemv5dsf.js} +288 -288
  181. package/dist/{vue_ui_stackbar-DdjDL6aq.js → vue_ui_stackbar-yQyvT4Su.js} +46 -0
  182. package/package.json +1 -1
  183. package/dist/vue-ui-bump-kOK6x4al.js +0 -1242
  184. package/dist/vue-ui-donut-CvbfzzdT.js +0 -2427
  185. package/dist/vue-ui-funnel-Cx8hVlZV.js +0 -749
  186. package/dist/vue-ui-gauge-Copa7G58.js +0 -934
  187. package/dist/vue-ui-heatmap-BukWtNsd.js +0 -1613
  188. package/dist/vue-ui-horizontal-bar-bcPSs999.js +0 -1723
  189. package/dist/vue-ui-molecule-BiAI5lbh.js +0 -941
  190. package/dist/vue-ui-mood-radar-f4xXkiBs.js +0 -1111
  191. package/dist/vue-ui-parallel-coordinate-plot-BbfModz3.js +0 -1444
  192. package/dist/vue-ui-radar-BcD7Zqvb.js +0 -1386
  193. package/dist/vue-ui-relation-circle-DlN4r83K.js +0 -905
  194. package/dist/vue-ui-ridgeline-BlQnTWXi.js +0 -1630
  195. package/dist/vue-ui-scatter-arPbS9MH.js +0 -2418
  196. package/dist/vue-ui-sparkhistogram-3Tw8PEms.js +0 -589
  197. package/dist/vue-ui-stackbar-BTOvMsP8.js +0 -2755
  198. package/dist/vue-ui-strip-plot-BLNaCPm8.js +0 -1752
  199. package/dist/vue-ui-table-sparkline-BYuwQrwA.js +0 -738
  200. package/dist/vue-ui-thermometer-BwJ0oF-H.js +0 -758
@@ -0,0 +1,2427 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Bt as n, D as r, Dt as i, Ht as a, It as o, Jt as s, S as c, X as l, Y as u, Yt as ee, at as te, b as ne, dt as d, en as re, et as ie, f, h as ae, i as p, it as oe, j as se, nn as ce, nt as le, p as m, s as ue, t as de, ut as fe, w as pe, yt as me, zt as he } from "./lib-D4wK6ljP.js";
3
+ import { n as ge, t as _e } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ve } from "./useConfig-D_6ZrPMD.js";
5
+ import { t as ye } from "./usePrinter-DdW2GSm0.js";
6
+ import { n as be, t as xe } from "./BaseScanner-Dzc8VT3j.js";
7
+ import { t as Se } from "./useNestedProp-DR_8JPol.js";
8
+ import { t as Ce } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as we } from "./useChartExport-iwOqiIWX.js";
10
+ import { t as Te } from "./img-Bb5rHcpO.js";
11
+ import { n as Ee } from "./Title-BMCuINbv.js";
12
+ import { t as De } from "./Shape-DSwamtmO.js";
13
+ import { t as Oe } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as ke, t as Ae } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as je } from "./DefGrad-DVBqDjhO.js";
16
+ import { t as Me } from "./BaseLegendToggle-CP3sddwv.js";
17
+ import { t as Ne } from "./A11yDataTable-DdRsVULz.js";
18
+ import { t as Pe } from "./useUserOptionState-DK-_1ddE.js";
19
+ import { t as Fe } from "./useChartAccessibility-DYqac8yF.js";
20
+ import { n as Ie, t as Le } from "./labelUtils-Ccn9kK7T.js";
21
+ import { t as Re } from "./vue_ui_donut-BDGqG07h.js";
22
+ import { t as ze } from "./Legend-CulFgjUY.js";
23
+ import { Fragment as h, Teleport as Be, computed as g, createBlock as _, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createSlots as Ve, createTextVNode as He, createVNode as Ue, defineAsyncComponent as We, guardReactiveProps as x, mergeProps as Ge, nextTick as Ke, normalizeClass as qe, normalizeProps as S, normalizeStyle as C, onBeforeUnmount as Je, onMounted as Ye, openBlock as w, ref as T, renderList as E, renderSlot as D, resolveDynamicComponent as Xe, shallowRef as Ze, toDisplayString as Qe, toRefs as $e, unref as O, useSlots as et, vShow as tt, watch as nt, withCtx as k, withDirectives as rt } from "vue";
24
+ //#region src/useSmallArcLayouts.js
25
+ function it(e) {
26
+ 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;
27
+ return { smallArcLayoutsClassic: g(() => {
28
+ if (t.value.type !== "classic") return {};
29
+ let e = {}, ne = n.value || [];
30
+ if (!ne.length) return e;
31
+ let d = r.value.width / 2, re = r.value.height / 2, ie = i.value.top + 16, f = r.value.height - i.value.bottom - 16, ae = a.value, p = ae / 3, oe = ae * 1.5, se = d - (o.value + 6), ce = d + (o.value + 6), le = !!t.value.style.chart.layout.curvedMarkers;
32
+ function m({ midX: e, midY: t, bandX: n, bandY: r }) {
33
+ if (!le) return `M ${e} ${t} L ${e} ${r} L ${n} ${r}`;
34
+ 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;
35
+ function ie({ x: e, y: t }) {
36
+ let n = e - d, r = t - re, i = Math.sqrt(n * n + r * r) || 1;
37
+ if (i >= ne) return {
38
+ x: e,
39
+ y: t
40
+ };
41
+ let a = ne / i;
42
+ return {
43
+ x: d + n * a,
44
+ y: re + r * a
45
+ };
46
+ }
47
+ if (s < 56) {
48
+ let i = a / s, c = -(o / s), l = i, u = (e + n) * .5, ne = (t + r) * .5, f = u + c, ae = ne + l, p = (f - d) * (f - d) + (ae - re) * (ae - re), oe = u - c, se = ne - l;
49
+ (oe - d) * (oe - d) + (se - re) * (se - re) > p && (c = -c, l = -l);
50
+ let ce = .78, le = e + a * ce, m = t + o * ce, ue = Math.max(0, Math.min(1, (s - 18) / 44)), de = ue * ue * (3 - 2 * ue), fe = 2.5 + de * 4, pe = 1 + de * 2.5;
51
+ fe *= .9;
52
+ let me = ie({
53
+ x: le + c * fe + ee * pe,
54
+ y: m + l * fe + te * pe
55
+ });
56
+ return `M ${e} ${t} Q ${me.x} ${me.y} ${n} ${r}`;
57
+ }
58
+ let f = s * .34;
59
+ f < 20 && (f = 20), f > 46 && (f = 46);
60
+ let ae = s * .46;
61
+ ae < 22 && (ae = 22), ae > 70 && (ae = 70);
62
+ let p = {
63
+ x: e + ee * f,
64
+ y: t + te * f
65
+ }, oe = d + i * Math.max(Math.abs(n - d), ne), se = {
66
+ x: n - i * Math.min(ae, Math.abs(oe - n) * .75),
67
+ y: r
68
+ }, ce = ie(p), m = ie(se);
69
+ return `M ${e} ${t} C ${ce.x} ${ce.y} ${m.x} ${m.y} ${n} ${r}`;
70
+ }
71
+ function ue(e) {
72
+ let t = String(e ?? "").split(/\n/g), n = Math.max(0, t.length - 1) * (ae * 1.2);
73
+ return oe + n;
74
+ }
75
+ function de({ arc: e, index: t }) {
76
+ let { x: n, y: r } = s(e.path);
77
+ return {
78
+ arc: e,
79
+ index: t,
80
+ midX: n,
81
+ midY: r,
82
+ inlineMarkerX: c(e).x,
83
+ inlineMarkerY: l(e) - 3.5,
84
+ labelHeight: ue(e.name)
85
+ };
86
+ }
87
+ function fe(e) {
88
+ let { arc: t } = e, n = t.seriesIndex ?? 0;
89
+ return u.value === n || ee.value.includes(n) ? !1 : te(t, n);
90
+ }
91
+ function pe(e) {
92
+ let t = e.inlineMarkerY < re, n = e.inlineMarkerX < d;
93
+ return t && n ? "TL" : t && !n ? "TR" : !t && n ? "BL" : "BR";
94
+ }
95
+ function me(e, t) {
96
+ if (t.startsWith("T")) {
97
+ e.sort((e, t) => e.inlineMarkerY - t.inlineMarkerY || e.index - t.index);
98
+ return;
99
+ }
100
+ e.sort((e, t) => t.inlineMarkerY - e.inlineMarkerY || e.index - t.index);
101
+ }
102
+ function he({ side: e, markerX: t, markerY: n, labelY: r, connectorPath: i }) {
103
+ return {
104
+ side: e,
105
+ labelX: e === "left" ? t - 8 : t + 8,
106
+ labelY: r + p,
107
+ textAnchor: e === "left" ? "end" : "start",
108
+ markerX: t,
109
+ markerY: n,
110
+ connectorPath: i
111
+ };
112
+ }
113
+ function ge({ candidateList: t, side: n, bandMarkerX: r, startY: i, direction: a }) {
114
+ let o = i;
115
+ t.forEach((t) => {
116
+ let { index: i, midX: s, midY: c, labelHeight: l } = t, u;
117
+ a === "down" ? (u = o, o += l) : (o -= l, u = o);
118
+ let ee = u, te = m({
119
+ midX: s,
120
+ midY: c,
121
+ bandX: r,
122
+ bandY: ee
123
+ });
124
+ e[i] = he({
125
+ side: n,
126
+ markerX: r,
127
+ markerY: ee,
128
+ labelY: u,
129
+ connectorPath: te
130
+ });
131
+ });
132
+ }
133
+ let _e = ne.map((e, t) => de({
134
+ arc: e,
135
+ index: t
136
+ })).filter(fe), ve = {
137
+ TL: [],
138
+ TR: [],
139
+ BL: [],
140
+ BR: []
141
+ };
142
+ return _e.forEach((e) => {
143
+ ve[pe(e)].push(e);
144
+ }), Object.keys(ve).forEach((e) => {
145
+ me(ve[e], e);
146
+ }), ge({
147
+ candidateList: ve.TL,
148
+ side: "left",
149
+ bandMarkerX: se,
150
+ startY: ie,
151
+ direction: "down"
152
+ }), ge({
153
+ candidateList: ve.TR,
154
+ side: "right",
155
+ bandMarkerX: ce,
156
+ startY: ie,
157
+ direction: "down"
158
+ }), ve.BL.length > 1 && ge({
159
+ candidateList: ve.BL,
160
+ side: "left",
161
+ bandMarkerX: se,
162
+ startY: f,
163
+ direction: "up"
164
+ }), ve.BR.length > 1 && ge({
165
+ candidateList: ve.BR,
166
+ side: "right",
167
+ bandMarkerX: ce,
168
+ startY: f,
169
+ direction: "up"
170
+ }), e;
171
+ }) };
172
+ }
173
+ //#endregion
174
+ //#region src/components/vue-ui-donut.vue
175
+ var at = /* @__PURE__ */ e({ default: () => bn }), ot = ["id"], st = ["id"], ct = ["id"], lt = { style: { position: "relative" } }, ut = [
176
+ "xmlns",
177
+ "aria-describedby",
178
+ "viewBox"
179
+ ], dt = ["width", "height"], ft = { key: 1 }, pt = { key: 2 }, mt = ["id"], ht = ["id"], gt = ["id"], _t = ["flood-color"], vt = ["id"], yt = ["flood-color"], bt = [
180
+ "d",
181
+ "stroke",
182
+ "filter"
183
+ ], xt = [
184
+ "d",
185
+ "stroke",
186
+ "filter"
187
+ ], St = [
188
+ "cx",
189
+ "cy",
190
+ "r",
191
+ "fill",
192
+ "filter"
193
+ ], Ct = { key: 6 }, wt = ["stroke", "d"], Tt = [
194
+ "d",
195
+ "fill",
196
+ "stroke",
197
+ "stroke-width",
198
+ "filter"
199
+ ], Et = { key: 0 }, Dt = [
200
+ "d",
201
+ "fill",
202
+ "stroke",
203
+ "stroke-width",
204
+ "filter"
205
+ ], Ot = { key: 0 }, kt = ["stroke", "d"], At = { key: 0 }, jt = [
206
+ "d",
207
+ "stroke",
208
+ "stroke-width",
209
+ "filter"
210
+ ], Mt = { key: 1 }, Nt = [
211
+ "d",
212
+ "fill",
213
+ "stroke",
214
+ "stroke-width",
215
+ "filter"
216
+ ], Pt = [
217
+ "d",
218
+ "fill",
219
+ "stroke",
220
+ "stroke-width",
221
+ "filter"
222
+ ], Ft = { key: 1 }, It = [
223
+ "cx",
224
+ "cy",
225
+ "r",
226
+ "fill",
227
+ "stroke",
228
+ "stroke-width"
229
+ ], Lt = [
230
+ "cx",
231
+ "cy",
232
+ "r",
233
+ "fill",
234
+ "stroke",
235
+ "stroke-width"
236
+ ], Rt = { key: 0 }, zt = [
237
+ "d",
238
+ "fill",
239
+ "stroke",
240
+ "stroke-width"
241
+ ], Bt = [
242
+ "cx",
243
+ "cy",
244
+ "r",
245
+ "stroke"
246
+ ], Vt = [
247
+ "cx",
248
+ "cy",
249
+ "r",
250
+ "fill"
251
+ ], Ht = [
252
+ "cx",
253
+ "cy",
254
+ "r"
255
+ ], Ut = { key: 0 }, Wt = [
256
+ "d",
257
+ "stroke",
258
+ "fill",
259
+ "onMouseenter",
260
+ "onMouseleave",
261
+ "onClick"
262
+ ], Gt = { key: 1 }, Kt = [
263
+ "cx",
264
+ "cy",
265
+ "r"
266
+ ], qt = [
267
+ "x",
268
+ "y",
269
+ "fill",
270
+ "font-size"
271
+ ], Jt = [
272
+ "x",
273
+ "y",
274
+ "fill",
275
+ "font-size"
276
+ ], Yt = [
277
+ "x",
278
+ "y",
279
+ "fill",
280
+ "font-size"
281
+ ], Xt = [
282
+ "x",
283
+ "y",
284
+ "fill",
285
+ "font-size"
286
+ ], Zt = ["filter", "opacity"], Qt = { key: 0 }, $t = ["x", "y"], en = { key: 1 }, tn = [
287
+ "cx",
288
+ "cy",
289
+ "fill",
290
+ "stroke",
291
+ "filter",
292
+ "onClick",
293
+ "onMouseenter",
294
+ "onMouseleave"
295
+ ], nn = [
296
+ "text-anchor",
297
+ "x",
298
+ "y",
299
+ "onClick",
300
+ "onMouseenter",
301
+ "onMouseleave",
302
+ "innerHTML"
303
+ ], rn = [
304
+ "text-anchor",
305
+ "x",
306
+ "y",
307
+ "fill",
308
+ "font-size",
309
+ "onClick",
310
+ "onMouseenter",
311
+ "onMouseleave"
312
+ ], an = [
313
+ "text-anchor",
314
+ "x",
315
+ "y",
316
+ "fill",
317
+ "font-size",
318
+ "onClick",
319
+ "onMouseenter",
320
+ "onMouseleave",
321
+ "innerHTML"
322
+ ], on = [
323
+ "cx",
324
+ "cy",
325
+ "fill",
326
+ "stroke",
327
+ "filter",
328
+ "onClick",
329
+ "onMouseenter",
330
+ "onMouseleave"
331
+ ], sn = [
332
+ "text-anchor",
333
+ "x",
334
+ "y",
335
+ "onClick",
336
+ "onMouseenter",
337
+ "onMouseleave",
338
+ "innerHTML"
339
+ ], cn = [
340
+ "text-anchor",
341
+ "x",
342
+ "y",
343
+ "fill",
344
+ "font-size",
345
+ "onClick",
346
+ "onMouseenter",
347
+ "onMouseleave"
348
+ ], ln = [
349
+ "text-anchor",
350
+ "x",
351
+ "y",
352
+ "fill",
353
+ "font-size",
354
+ "onClick",
355
+ "onMouseenter",
356
+ "onMouseleave",
357
+ "innerHTML"
358
+ ], un = { key: 2 }, dn = [
359
+ "x",
360
+ "y",
361
+ "width"
362
+ ], fn = [
363
+ "x",
364
+ "y",
365
+ "width"
366
+ ], pn = {
367
+ key: 0,
368
+ style: {
369
+ position: "absolute",
370
+ top: "100%",
371
+ left: "0",
372
+ width: "100%"
373
+ },
374
+ "data-dom-to-png-ignore": "",
375
+ "aria-hidden": "true"
376
+ }, mn = {
377
+ key: 5,
378
+ class: "vue-data-ui-watermark"
379
+ }, hn = ["id"], gn = ["onClick"], _n = {
380
+ key: 8,
381
+ class: "vue-ui-donut-hollow"
382
+ }, vn = { key: 0 }, yn = { key: 1 }, bn = /*#__PURE__*/ Oe({
383
+ __name: "vue-ui-donut",
384
+ props: {
385
+ config: {
386
+ type: Object,
387
+ default() {
388
+ return {};
389
+ }
390
+ },
391
+ dataset: {
392
+ type: Array,
393
+ default() {
394
+ return [];
395
+ }
396
+ }
397
+ },
398
+ emits: [
399
+ "selectLegend",
400
+ "selectDatapoint",
401
+ "copyAlt"
402
+ ],
403
+ setup(e, { expose: Oe, emit: at }) {
404
+ let bn = We(() => import("./Tooltip-C4ZTwkLF.js")), xn = We(() => import("./BaseIcon-Cx9FD751.js").then((e) => e.n)), Sn = We(() => import("./vue-ui-accordion-CaoNWreI.js").then((e) => e.n)), Cn = We(() => import("./DataTable-CjF_An2h.js")), wn = We(() => import("./PenAndPaper-CNiuGw6k.js").then((e) => e.t)), Tn = We(() => import("./UserOptions-CORYQiif.js").then((e) => e.n)), En = We(() => import("./PackageVersion-D7H9nfK0.js").then((e) => e.t)), Dn = We(() => import("./BaseDraggableDialog-C50TEJFv.js").then((e) => e.n)), { vue_ui_donut: On } = ve(), { isThemeValid: kn, warnInvalidTheme: An } = Ce(), jn = et(), A = e, Mn = g({
405
+ get() {
406
+ return !!A.dataset && A.dataset.length;
407
+ },
408
+ set(e) {
409
+ return e;
410
+ }
411
+ }), j = Ze(null), Nn = T(null), Pn = T(null), Fn = T(null), In = Ze(null), Ln = Ze(null), Rn = Ze(null), zn = Ze(null), Bn = Ze(null), Vn = Ze(null), Hn = T(0), Un = T(0), Wn = T(0), Gn = T(!1), Kn = T(null), qn = T(null), Jn = T(null), Yn = T({
412
+ x: 0,
413
+ y: 0
414
+ }), Xn = T("pointer"), Zn = T(!1), Qn = g({
415
+ get: () => F.value.style.chart.layout.labels.percentage.fontSize,
416
+ set: (e) => e
417
+ }), M = g({
418
+ get: () => F.value.style.chart.layout.labels.name.fontSize,
419
+ set: (e) => e
420
+ }), $n = g({
421
+ get: () => F.value.style.chart.layout.labels.dataLabels.smallArcClusterFontSize,
422
+ set: (e) => e
423
+ }), er = !1, tr = () => {
424
+ F.value.autoSize && !er && (er = !0, requestAnimationFrame(() => {
425
+ er = !1;
426
+ let e = F.value, t = Nn.value, n = Cr.value;
427
+ if (!e.autoSize || !t || !n) return;
428
+ let [r, i, a, o] = n.getAttribute("viewBox").split(" ").map(Number), s = {
429
+ x: r,
430
+ y: i,
431
+ width: a,
432
+ height: o
433
+ }, c = [
434
+ {
435
+ selector: ".vue-data-ui-datalabel-value",
436
+ baseSize: I.value.percentage.fontSize,
437
+ minSize: I.value.percentage.minFontSize,
438
+ sizeRef: Qn
439
+ },
440
+ {
441
+ selector: ".vue-data-ui-datalabel-name",
442
+ baseSize: I.value.name.fontSize,
443
+ minSize: I.value.name.minFontSize,
444
+ sizeRef: M
445
+ },
446
+ {
447
+ selector: ".vue-data-ui-datalabel-inline",
448
+ baseSize: I.value.dataLabels.smallArcClusterFontSize,
449
+ minSize: I.value.name.minFontSize,
450
+ sizeRef: $n
451
+ }
452
+ ];
453
+ 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 }) => {
454
+ t.querySelectorAll(e).forEach((e) => {
455
+ i.value = ue({
456
+ el: e,
457
+ bounds: s,
458
+ currentFontSize: n,
459
+ minFontSize: r,
460
+ attempts: 200,
461
+ padding: 1
462
+ });
463
+ });
464
+ });
465
+ }));
466
+ };
467
+ Ye(async () => {
468
+ Gn.value = !0, ir(), requestAnimationFrame(tr);
469
+ });
470
+ let nr;
471
+ Ye(() => {
472
+ j.value && (nr = new ResizeObserver((e) => {
473
+ for (let t of e) {
474
+ let { width: e, height: n } = t.contentRect;
475
+ if (e > 0 && n > 0) {
476
+ tr();
477
+ break;
478
+ }
479
+ }
480
+ }), nr.observe(j.value.parentElement));
481
+ }), Je(() => {
482
+ nr?.disconnect();
483
+ }), Je(() => {
484
+ Rn.value && (zn.value && Rn.value.unobserve(zn.value), Rn.value.disconnect());
485
+ });
486
+ let rr = g(() => F.value.debug);
487
+ function ir() {
488
+ if (he(A.dataset) ? (te({
489
+ componentName: "VueUiDonut",
490
+ type: "dataset",
491
+ debug: rr.value
492
+ }), Mn.value = !1, mr.value = !0) : (A.dataset.forEach((e, t) => {
493
+ me({
494
+ datasetObject: e,
495
+ requiredAttributes: ["name", "values"]
496
+ }).forEach((e) => {
497
+ te({
498
+ componentName: "VueUiDonut",
499
+ type: "datasetSerieAttribute",
500
+ property: e,
501
+ index: t,
502
+ debug: rr.value
503
+ }), Mn.value = !1, mr.value = !0;
504
+ });
505
+ }), rr.value && A.dataset.forEach((e, t) => {
506
+ (!e.name || e.name === "") && te({
507
+ componentName: "VueUiDonut",
508
+ type: "datasetAttributeEmpty",
509
+ property: "name",
510
+ index: t
511
+ });
512
+ })), he(A.dataset) || (mr.value = F.value.loading), F.value.responsive) {
513
+ let e = ke(() => {
514
+ let { width: e, height: t } = Ae({
515
+ chart: j.value,
516
+ title: F.value.style.chart.title.text ? In.value : null,
517
+ legend: F.value.style.chart.legend.show ? Ln.value : null,
518
+ source: Bn.value,
519
+ noTitle: Vn.value,
520
+ padding: F.value.autoSize ? void 0 : Or.value
521
+ });
522
+ requestAnimationFrame(() => {
523
+ V.value.width = e, V.value.height = t, tr();
524
+ });
525
+ });
526
+ Rn.value && (zn.value && Rn.value.unobserve(zn.value), Rn.value.disconnect()), Rn.value = new ResizeObserver(e), zn.value = j.value.parentNode, Rn.value.observe(zn.value);
527
+ }
528
+ }
529
+ let N = T(l()), ar = T(!1), or = T(""), P = T(null), sr = T(0);
530
+ function cr() {
531
+ let e = Se({
532
+ userConfig: A.config,
533
+ defaultConfig: On
534
+ }), t = {}, n = e.theme;
535
+ if (!n) t = e;
536
+ else if (!kn.value(e)) An(e), t = e;
537
+ else {
538
+ let r = Se({
539
+ userConfig: Re[n] || A.config,
540
+ defaultConfig: e
541
+ });
542
+ t = {
543
+ ...Se({
544
+ userConfig: A.config,
545
+ defaultConfig: r
546
+ }),
547
+ customPalette: e.customPalette.length ? e.customPalette : re[n] || a
548
+ };
549
+ }
550
+ return t;
551
+ }
552
+ let F = T(cr()), I = g(() => F.value.style.chart.layout.labels), L = g(() => F.value.style.chart.layout.donut), lr = g(() => F.value.style.chart.layout), R = g(() => F.value.style.chart);
553
+ ge({
554
+ config: () => F.value,
555
+ dataset: () => A.dataset,
556
+ component: "VueUiDonut",
557
+ rules: [
558
+ _e.singleSeries,
559
+ _e.emptyArray,
560
+ {
561
+ test: (e) => e.length > 6,
562
+ message: [
563
+ "👀 The number of series is > 6. Consider:",
564
+ "",
565
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
566
+ "",
567
+ "▶️ Using filters to let users choose a maximum number of series to display.",
568
+ "",
569
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
570
+ ]
571
+ }
572
+ ]
573
+ });
574
+ let ur = g(() => F.value.userOptions.useCursorPointer), dr = g(() => ce({
575
+ defaultConfig: {
576
+ useCssAnimation: !1,
577
+ table: { show: !1 },
578
+ startAnimation: { show: !1 },
579
+ userOptions: { show: !1 },
580
+ style: { chart: {
581
+ backgroundColor: "#99999930",
582
+ layout: { labels: {
583
+ dataLabels: { show: !1 },
584
+ hollow: {
585
+ average: { show: !1 },
586
+ total: { show: !1 }
587
+ },
588
+ value: { show: !1 }
589
+ } },
590
+ legend: {
591
+ backgroundColor: "transparent",
592
+ showValue: !1,
593
+ showPercentage: !1
594
+ },
595
+ title: {
596
+ color: "#1A1A1A",
597
+ subtitle: { color: "#5A5A5A" }
598
+ }
599
+ } }
600
+ },
601
+ userConfig: F.value.skeletonConfig ?? {}
602
+ })), { loading: fr, FINAL_DATASET: pr, manualLoading: mr, skeletonDataset: hr } = be({
603
+ ...$e(A),
604
+ FINAL_CONFIG: F,
605
+ prepareConfig: cr,
606
+ skeletonDataset: A.config?.skeletonDataset ?? [
607
+ {
608
+ name: "",
609
+ values: [3],
610
+ color: "#BABABA"
611
+ },
612
+ {
613
+ name: "",
614
+ values: [2],
615
+ color: "#AAAAAA"
616
+ },
617
+ {
618
+ name: "",
619
+ values: [1],
620
+ color: "#CACACA"
621
+ }
622
+ ],
623
+ skeletonConfig: ce({
624
+ defaultConfig: F.value,
625
+ userConfig: dr.value
626
+ })
627
+ }), z = T(!0), gr = T(0), _r = T(!1), vr = null;
628
+ function yr(e = 1e3) {
629
+ return new Promise((t) => {
630
+ let n = performance.now();
631
+ function r(i) {
632
+ let a = i - n, o = Math.min(a / e, 1), s = oe(o);
633
+ gr.value = s, o < 1 ? vr = requestAnimationFrame(r) : (gr.value = 1, vr = null, t());
634
+ }
635
+ vr !== null && cancelAnimationFrame(vr), gr.value = 0, vr = requestAnimationFrame(r);
636
+ });
637
+ }
638
+ nt(() => fr.value, async (e) => {
639
+ if (e || _r.value) return;
640
+ let t = pr.value === hr, n = F.value.startAnimation?.show;
641
+ !t && n ? (_r.value = !0, await yr(F.value.startAnimation.durationMs || 1e3)) : gr.value = 1, z.value = !1;
642
+ }, { immediate: !0 });
643
+ let { userOptionsVisible: br, setUserOptionsVisibility: xr, keepUserOptionState: Sr } = Pe({ config: F.value }), { svgRef: Cr } = Fe({ config: R.value.title });
644
+ function wr() {
645
+ xr(!0);
646
+ }
647
+ function Tr() {
648
+ xr(!1);
649
+ }
650
+ function Er(e) {
651
+ let t = ie(e);
652
+ return t?.style?.chart && delete t.style.chart.tooltip, JSON.stringify(t);
653
+ }
654
+ let Dr = Er(A.config);
655
+ nt(() => A.config, (e, t) => {
656
+ let n = Er(e), r = n !== Dr;
657
+ Dr = n;
658
+ let i = cr();
659
+ if (!r) {
660
+ F.value.style.chart.tooltip = i.style.chart.tooltip, B.value.showTooltip = F.value.style.chart.tooltip.show;
661
+ return;
662
+ }
663
+ fr.value || (F.value = i), br.value = !F.value.userOptions.showOnChartHover, ir(), Hn.value += 1, Un.value += 1, Wn.value += 1, B.value.dataLabels.show = I.value.dataLabels.show, B.value.showTable = F.value.table.show, B.value.showTooltip = R.value.tooltip.show, V.value.height = R.value.height, V.value.width = R.value.width;
664
+ }, { deep: !0 });
665
+ let Or = g(() => {
666
+ let { top: e, right: t, bottom: n, left: r } = R.value.padding;
667
+ return {
668
+ css: `padding:${e}px ${t}px ${n}px ${r}px`,
669
+ top: e,
670
+ right: t,
671
+ bottom: n,
672
+ left: r
673
+ };
674
+ }), { isPrinting: kr, isImaging: Ar, generatePdf: jr, generateImage: Mr } = ye({
675
+ elementId: `donut__${N.value}`,
676
+ fileName: R.value.title.text || "vue-ui-donut",
677
+ options: F.value.userOptions.print
678
+ }), Nr = g(() => F.value.userOptions.show && !R.value.title.text), Pr = g(() => pe(F.value.customPalette)), B = T({
679
+ dataLabels: { show: I.value.dataLabels.show },
680
+ showTable: F.value.table.show,
681
+ showTooltip: R.value.tooltip.show
682
+ });
683
+ nt(F, () => {
684
+ B.value = {
685
+ dataLabels: { show: I.value.dataLabels.show },
686
+ showTable: F.value.table.show,
687
+ showTooltip: R.value.tooltip.show
688
+ };
689
+ }, { immediate: !0 });
690
+ let V = T({
691
+ height: R.value.height,
692
+ width: R.value.width
693
+ }), Fr = g(() => {
694
+ if (F.value.pie) return G.value;
695
+ let e = L.value.strokeWidth / 512, t = Math.min(V.value.width, V.value.height) * e, n = t > G.value ? G.value : t;
696
+ return Math.max(n, 12 * (1 + e));
697
+ }), Ir = at, H = g(() => pr.value.sort((e, t) => {
698
+ 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;
699
+ return e.ghost && !t.ghost ? 1 : t.ghost && !e.ghost ? -1 : r - n;
700
+ }).map((e, t) => ({
701
+ name: e.name,
702
+ color: c(e.color) || Pr.value[t] || a[t] || a[t % a.length],
703
+ value: ne(e.values.reduce((e, t) => e + t, 0)),
704
+ absoluteValues: e.values,
705
+ comment: e.comment || "",
706
+ patternIndex: t,
707
+ seriesIndex: t,
708
+ ghost: !1,
709
+ pattern: `pattern_${N.value}_${t}`
710
+ })));
711
+ nt(() => A.dataset, (e) => {
712
+ Array.isArray(e) && e.length > 0 && (mr.value = !1);
713
+ }, { immediate: !0 });
714
+ let U = Ze(H.value);
715
+ nt(() => H.value, (e) => {
716
+ U.value = e, requestAnimationFrame(tr);
717
+ });
718
+ function Lr() {
719
+ return H.value.map((e) => ({
720
+ name: e.name,
721
+ color: e.color,
722
+ value: e.value
723
+ }));
724
+ }
725
+ let W = T([]), Rr = T(!1), zr = T(null);
726
+ function Br() {
727
+ Ir("selectLegend", Jr.value.map((e) => ({
728
+ name: e.name,
729
+ color: e.color,
730
+ value: e.value
731
+ })));
732
+ }
733
+ function Vr({ from: e, to: t, duration: n, onUpdate: r, onDone: i, easing: a = oe }) {
734
+ let o = performance.now();
735
+ function s(c) {
736
+ let l = Math.min((c - o) / n, 1), u = a(l);
737
+ r(e + (t - e) * u, l), l < 1 ? requestAnimationFrame(s) : (r(t, 1), i && i());
738
+ }
739
+ requestAnimationFrame(s);
740
+ }
741
+ function Hr() {
742
+ W.value.length ? W.value = [] : Yr.value.forEach((e, t) => {
743
+ W.value.push(t);
744
+ }), Br();
745
+ }
746
+ function Ur(e) {
747
+ let t = H.value.find((t, n) => n === e), n = U.value.find((t, n) => n === e).value;
748
+ if (W.value.includes(e)) {
749
+ W.value = W.value.filter((t) => t !== e);
750
+ let r = t.value;
751
+ function i() {
752
+ U.value = U.value.map((t, n) => e === n ? {
753
+ ...t,
754
+ value: r
755
+ } : t), Br();
756
+ }
757
+ function a() {
758
+ Rr.value = !0, zr.value = e, Vr({
759
+ from: n,
760
+ to: r,
761
+ duration: F.value.serieToggleAnimation.durationMs,
762
+ onUpdate: (t, n) => {
763
+ U.value = U.value.map((n, r) => e === r ? {
764
+ ...n,
765
+ value: t
766
+ } : n), requestAnimationFrame(tr);
767
+ },
768
+ onDone: () => {
769
+ i(), Rr.value = !1, zr.value = null;
770
+ }
771
+ });
772
+ }
773
+ F.value.serieToggleAnimation.show && F.value.type === "classic" ? a() : (i(), requestAnimationFrame(tr));
774
+ } else if (W.value.length < H.value.length - 1) {
775
+ function t() {
776
+ W.value.push(e), U.value = U.value.map((t, n) => e === n ? {
777
+ ...t,
778
+ value: 0
779
+ } : t), Br();
780
+ }
781
+ function r() {
782
+ Rr.value = !0, zr.value = e, Vr({
783
+ from: n,
784
+ to: 0,
785
+ duration: F.value.serieToggleAnimation.durationMs,
786
+ onUpdate: (t, n) => {
787
+ U.value = U.value.map((n, r) => e === r ? {
788
+ ...n,
789
+ value: t
790
+ } : n), requestAnimationFrame(tr);
791
+ },
792
+ onDone: () => {
793
+ t(), requestAnimationFrame(tr), Rr.value = !1, zr.value = null;
794
+ }
795
+ });
796
+ }
797
+ F.value.serieToggleAnimation.show && F.value.type === "classic" ? r() : t();
798
+ }
799
+ }
800
+ function Wr(e) {
801
+ return H.value.length ? H.value.find((t) => t.name === e) || (rr.value && console.warn(`VueUiDonut - Series name not found "${e}"`), null) : (rr.value && console.warn("VueUiDonut - There are no series to show."), null);
802
+ }
803
+ function Gr(e) {
804
+ let t = Wr(e);
805
+ t !== null && W.value.includes(t.seriesIndex) && Ur(t.seriesIndex);
806
+ }
807
+ function Kr(e) {
808
+ let t = Wr(e);
809
+ t !== null && (W.value.includes(t.seriesIndex) || Ur(t.seriesIndex));
810
+ }
811
+ let qr = g(() => pr.value.reduce((e, t) => e + t.values.reduce((e, t) => e + t, 0), 0)), Jr = g(() => {
812
+ if (z.value && !fr.value) {
813
+ let e = gr.value, t = H.value.map((t) => ({
814
+ ...t,
815
+ value: t.value * e,
816
+ color: t.color,
817
+ ghost: !1
818
+ })), n = qr.value * (1 - e);
819
+ return n > 0 && t.push({
820
+ name: "__ghost__",
821
+ value: n,
822
+ color: "transparent",
823
+ ghost: !0
824
+ }), t;
825
+ }
826
+ return U.value.forEach((e) => {
827
+ if ([null, void 0].includes(e.values)) return {
828
+ ...e,
829
+ values: []
830
+ };
831
+ }), U.value.map((e, t) => ({
832
+ ...e,
833
+ seriesIndex: t
834
+ })).filter((e, t) => !W.value.includes(t));
835
+ }), Yr = g(() => pr.value.map((e, t) => {
836
+ let n = (e.values || []).reduce((e, t) => e + t, 0), r = n / pr.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0);
837
+ return {
838
+ name: e.name,
839
+ color: c(e.color) || Pr.value[t] || a[t] || a[t % a.length],
840
+ value: n,
841
+ shape: "circle",
842
+ patternIndex: t,
843
+ proportion: r
844
+ };
845
+ }).map((e, n) => {
846
+ let r = p(I.value.value.formatter, e.value, t({
847
+ p: I.value.dataLabels.prefix,
848
+ v: e.value,
849
+ s: I.value.dataLabels.suffix,
850
+ r: R.value.legend.roundingValue
851
+ }), {
852
+ datapoint: e,
853
+ index: n
854
+ }), i = p(I.value.percentage.formatter, oi(e), t({
855
+ v: oi(e),
856
+ s: "%",
857
+ r: R.value.legend.roundingPercentage
858
+ })), a = Si({
859
+ val: r,
860
+ percentage: W.value.includes(n) ? `${xi(e.proportion * 100)}%` : i,
861
+ showVal: R.value.legend.showValue,
862
+ showPercentage: R.value.legend.showPercentage,
863
+ config: R.value.legend
864
+ });
865
+ return {
866
+ ...e,
867
+ opacity: W.value.includes(n) ? .5 : 1,
868
+ segregate: () => !Rr.value && Ur(n),
869
+ isSegregated: W.value.includes(n),
870
+ display: `${e.name}${R.value.legend.showPercentage || R.value.legend.showValue ? ": " : ""}${a}`
871
+ };
872
+ })), Xr = g(() => ({
873
+ cy: "donut-div-legend",
874
+ backgroundColor: R.value.legend.backgroundColor,
875
+ color: R.value.legend.color,
876
+ fontSize: R.value.legend.fontSize,
877
+ paddingBottom: 12,
878
+ fontWeight: R.value.legend.bold ? "bold" : ""
879
+ })), G = g(() => {
880
+ let e = L.value.radiusRatio, t = Math.max(.1, Math.min(.50001, e)), n = Math.min(V.value.width * t, V.value.height * t);
881
+ return Math.max(12, n);
882
+ }), K = g(() => o({ series: Jr.value }, V.value.width / 2, V.value.height / 2, G.value, G.value, 1.99999, 2, 1, 360, 105.25, Fr.value)), Zr = g(() => Math.abs(Jr.value.map((e) => e.value).reduce((e, t) => e + t, 0)) > 0), Qr = g(() => o({ series: [{
883
+ value: 1,
884
+ color: L.value.emptyFill,
885
+ name: "_",
886
+ seriesIndex: 0,
887
+ patternIndex: -1,
888
+ ghost: !1,
889
+ absoluteValues: [1]
890
+ }] }, V.value.width / 2, V.value.height / 2, G.value, G.value, 1.99999, 2, 1, 360, 105.25, Fr.value)), q = g(() => K.value.filter((e) => !e.ghost)), J = g(() => {
891
+ let e = Math.max(...Jr.value.map((e) => e.value)), t = Jr.value.map((t) => t.value / e);
892
+ return se({
893
+ series: t,
894
+ center: {
895
+ x: V.value.width / 2,
896
+ y: V.value.height / 2
897
+ },
898
+ maxRadius: Math.min(V.value.width, V.value.height) / 3,
899
+ hasGhost: z.value
900
+ });
901
+ });
902
+ function $r(e) {
903
+ return e.x > V.value.width / 2 + 6 ? "start" : e.x < V.value.width / 2 - 6 ? "end" : "middle";
904
+ }
905
+ function ei(e) {
906
+ return e.middlePoint.y > V.value.height / 2 ? n({
907
+ initX: e.middlePoint.x,
908
+ initY: e.middlePoint.y,
909
+ offset: 100,
910
+ centerX: V.value.width / 2,
911
+ centerY: V.value.height / 2
912
+ }).y : n({
913
+ initX: e.middlePoint.x,
914
+ initY: e.middlePoint.y,
915
+ offset: 0,
916
+ centerX: V.value.width / 2,
917
+ centerY: V.value.height / 2
918
+ }).y - 100;
919
+ }
920
+ function Y(e) {
921
+ return e.proportion * 100 > I.value.dataLabels.hideUnderValue;
922
+ }
923
+ function ti(e, t) {
924
+ let n = I.value.dataLabels.hideUnderValue, r = I.value.dataLabels.smallArcClusterThreshold, i = (ii.value[t] ?? e.proportion ?? 0) * 100;
925
+ return i > n && i <= r;
926
+ }
927
+ let { smallArcLayoutsClassic: X } = it({
928
+ FINAL_CONFIG: F,
929
+ noGhostDonut: q,
930
+ svg: V,
931
+ padding: Or,
932
+ labels_inline_fontSize: $n,
933
+ minSize: G,
934
+ findArcMidpoint: fe,
935
+ calcMarkerOffsetX: f,
936
+ calcMarkerOffsetY: m,
937
+ animatingIndex: zr,
938
+ segregated: W,
939
+ isSmallArc: ti
940
+ });
941
+ function ni(e, n) {
942
+ let r = e.value / ri(n);
943
+ return isNaN(r) ? 0 : p(I.value.percentage.formatter, r * 100, t({
944
+ v: r * 100,
945
+ s: "%",
946
+ r: I.value.percentage.rounding
947
+ }), { datapoint: e });
948
+ }
949
+ function ri(e) {
950
+ return [...e].map((e) => e.value).reduce((e, t) => e + t, 0);
951
+ }
952
+ let Z = g(() => Jr.value.map((e) => e.value).reduce((e, t) => e + t, 0)), ii = g(() => {
953
+ let e = H.value.reduce((e, t) => e + t.value, 0);
954
+ return e <= 0 ? [] : H.value.map((t) => t.value / e);
955
+ }), ai = g(() => Z.value / Jr.value.length);
956
+ function oi(e) {
957
+ return Rr.value ? e.proportion * 100 : e.value / Z.value * 100;
958
+ }
959
+ let si = T(null), ci = T(!1);
960
+ function li({ datapoint: e, seriesIndex: t }) {
961
+ F.value.events.datapointLeave && F.value.events.datapointLeave({
962
+ datapoint: e,
963
+ seriesIndex: t
964
+ }), ar.value = !1, P.value = null, Jn.value = null, Xn.value = "pointer";
965
+ }
966
+ function Q({ datapoint: e, relativeIndex: n, seriesIndex: r, show: a = !1, triggerMode: o = "pointer" }) {
967
+ F.value.events.datapointEnter && F.value.events.datapointEnter({
968
+ datapoint: e,
969
+ seriesIndex: r
970
+ }), Xn.value = o, Jn.value = n, si.value = {
971
+ datapoint: e,
972
+ seriesIndex: r,
973
+ config: F.value,
974
+ series: H.value
975
+ }, ar.value = a, P.value = n;
976
+ let s = "", c = R.value.tooltip.customFormat;
977
+ if (ci.value = !1, i(c)) try {
978
+ let t = c({
979
+ seriesIndex: r,
980
+ datapoint: e,
981
+ series: H.value,
982
+ config: F.value
983
+ });
984
+ typeof t == "string" && (or.value = t, ci.value = !0);
985
+ } catch {
986
+ console.warn("Custom format cannot be applied."), ci.value = !1;
987
+ }
988
+ ci.value || (s += `<div style="width:100%;text-align:center;border-bottom:1px solid ${R.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}"/>${jn.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${N.value}_${r})"/>` : ""}</svg>`, s += `<b>${Si({
989
+ showVal: R.value.tooltip.showValue,
990
+ showPercentage: R.value.tooltip.showPercentage,
991
+ val: `<span>${p(I.value.value.formatter, e.value, t({
992
+ p: I.value.dataLabels.prefix,
993
+ v: e.value,
994
+ s: I.value.dataLabels.suffix,
995
+ r: R.value.tooltip.roundingValue
996
+ }), {
997
+ datapoint: e,
998
+ relativeIndex: n,
999
+ seriesIndex: r
1000
+ })}</span>`,
1001
+ percentage: p(I.value.percentage.formatter, e.proportion * 100, t({
1002
+ v: e.proportion * 100,
1003
+ s: "%",
1004
+ r: R.value.tooltip.roundingPercentage
1005
+ }), {
1006
+ datapoint: e,
1007
+ relativeIndex: n,
1008
+ seriesIndex: r
1009
+ }),
1010
+ config: R.value.tooltip
1011
+ })}</b></div>`, R.value.comments.showInTooltip && e.comment && (s += `<div class="vue-data-ui-tooltip-comment" style="background:${e.color}20; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${e.color}">${e.comment}</div>`), or.value = `<div>${s}</div>`);
1012
+ }
1013
+ function ui(e, t) {
1014
+ let n = X.value[t];
1015
+ if (n) return {
1016
+ textAnchor: n.textAnchor,
1017
+ x: n.labelX,
1018
+ y: n.labelY
1019
+ };
1020
+ let r = f(e, !0, 12);
1021
+ return {
1022
+ textAnchor: r.anchor,
1023
+ x: r.x,
1024
+ y: m(e)
1025
+ };
1026
+ }
1027
+ function di(e, t, n) {
1028
+ let { textAnchor: r, x: i } = ui(e, t), a = Ci(e), o = `
1029
+ <tspan
1030
+ class="vue-data-ui-datalabel-inline"
1031
+ fill="${I.value.percentage.color}"
1032
+ font-size="${n ? $n.value : Qn.value}px"
1033
+ style="font-weight:${I.value.percentage.bold ? "bold" : ""}"
1034
+ >${a}</tspan>
1035
+ `, s = String(e.name ?? "").split(/\n/g), c = "";
1036
+ return s.forEach((e, t) => {
1037
+ c += t === 0 ? `
1038
+ <tspan
1039
+ class="${n ? "vue-data-ui-datalabel-inline" : "vue-data-ui-datalabel-name"}"
1040
+ fill="${I.value.name.color}"
1041
+ font-size="${n ? $n.value : M.value}px"
1042
+ style="font-weight:${I.value.name.bold ? "bold" : ""}"
1043
+ >${e}</tspan>
1044
+ ` : `
1045
+ <tspan
1046
+ class="${n ? "vue-data-ui-datalabel-inline" : "vue-data-ui-datalabel-name"}"
1047
+ x="${i}"
1048
+ dy="${(n ? $n.value : M.value) * 1.2}"
1049
+ fill="${I.value.name.color}"
1050
+ font-size="${n ? $n.value : M.value}px"
1051
+ style="font-weight:${I.value.name.bold ? "bold" : ""}"
1052
+ >${e}</tspan>
1053
+ `;
1054
+ }), r === "end" ? `${I.value.name.show ? c : ""}${o}` : `${o}${I.value.name.show ? c : ""}`;
1055
+ }
1056
+ function fi(e, t) {
1057
+ let r = J.value[t].middlePoint, i = $r(r), a = n({
1058
+ initX: r.x,
1059
+ initY: r.y,
1060
+ offset: 42,
1061
+ centerX: V.value.width / 2,
1062
+ centerY: V.value.height / 2
1063
+ }), o = a.x;
1064
+ a.y;
1065
+ let s = Ci(e), c = `
1066
+ <tspan
1067
+ class="vue-data-ui-datalabel-value"
1068
+ fill="${I.value.percentage.color}"
1069
+ font-size="${Qn.value}px"
1070
+ style="font-weight:${I.value.percentage.bold ? "bold" : "normal"}"
1071
+ >${s}</tspan>
1072
+ `, l = String(e.name ?? "").split(/\n/g), u = "";
1073
+ return l.forEach((e, t) => {
1074
+ u += t === 0 ? `
1075
+ <tspan
1076
+ class="vue-data-ui-datalabel-name"
1077
+ fill="${I.value.name.color}"
1078
+ font-size="${M.value}px"
1079
+ style="font-weight:${I.value.name.bold ? "bold" : "normal"}"
1080
+ >${e}</tspan>
1081
+ ` : `
1082
+ <tspan
1083
+ class="vue-data-ui-datalabel-name"
1084
+ x="${o}"
1085
+ dy="${M.value * 1.2}"
1086
+ fill="${I.value.name.color}"
1087
+ font-size="${M.value}px"
1088
+ style="font-weight:${I.value.name.bold ? "bold" : "normal"}"
1089
+ >${e}</tspan>
1090
+ `;
1091
+ }), i === "end" ? `${I.value.name.show ? u : ""}${c}` : `${c}${I.value.name.show ? u : ""}`;
1092
+ }
1093
+ function pi(e) {
1094
+ return F.value.useBlurOnHover && ![null, void 0].includes(P.value) && P.value !== e ? `url(#blur_${N.value})` : "";
1095
+ }
1096
+ function mi(e) {
1097
+ if (!Rr.value || zr.value === null || e.seriesIndex !== zr.value) return 1;
1098
+ let t = (e.proportion ?? 0) * 100, n = I.value.dataLabels.hideUnderValue, r = I.value.dataLabels.smallArcClusterThreshold + 2, i = n;
1099
+ return t >= r ? 1 : t <= i ? 0 : (t - i) / (r - i);
1100
+ }
1101
+ let hi = g(() => ({
1102
+ head: Jr.value.map((e) => ({
1103
+ name: e.name,
1104
+ color: e.color
1105
+ })),
1106
+ body: Jr.value.map((e) => e.value)
1107
+ }));
1108
+ function gi(e = null) {
1109
+ Ke(() => {
1110
+ let t = hi.value.head.map((e, t) => [
1111
+ [e.name],
1112
+ [hi.value.body[t]],
1113
+ [isNaN(hi.value.body[t] / Z.value) ? "-" : hi.value.body[t] / Z.value * 100]
1114
+ ]), n = [
1115
+ [R.value.title.text],
1116
+ [R.value.title.subtitle.text],
1117
+ [
1118
+ [""],
1119
+ ["val"],
1120
+ ["%"]
1121
+ ]
1122
+ ].concat(t), i = r(n);
1123
+ e ? e(i) : le({
1124
+ csvContent: i,
1125
+ title: R.value.title.text || "vue-ui-donut"
1126
+ });
1127
+ });
1128
+ }
1129
+ let _i = g(() => {
1130
+ let e = [
1131
+ "__SUM__",
1132
+ t({
1133
+ p: I.value.dataLabels.prefix,
1134
+ v: Z.value,
1135
+ s: I.value.dataLabels.suffix,
1136
+ r: F.value.table.td.roundingValue
1137
+ }),
1138
+ "100%"
1139
+ ], n = hi.value.head.map((e, t) => [
1140
+ {
1141
+ color: e.color,
1142
+ name: e.name || "-"
1143
+ },
1144
+ hi.value.body[t],
1145
+ isNaN(hi.value.body[t] / Z.value) ? "-" : (hi.value.body[t] / Z.value * 100).toFixed(F.value.table.td.roundingPercentage) + "%"
1146
+ ]), r = n.map((e) => e.map((e, t) => t === 0 ? e.name : e)), i = {
1147
+ th: {
1148
+ backgroundColor: F.value.table.th.backgroundColor,
1149
+ color: F.value.table.th.color,
1150
+ outline: F.value.table.th.outline
1151
+ },
1152
+ td: {
1153
+ backgroundColor: F.value.table.td.backgroundColor,
1154
+ color: F.value.table.td.color,
1155
+ outline: F.value.table.td.outline
1156
+ },
1157
+ breakpoint: F.value.table.responsiveBreakpoint
1158
+ };
1159
+ return {
1160
+ colNames: [
1161
+ F.value.table.columnNames.series,
1162
+ F.value.table.columnNames.value,
1163
+ F.value.table.columnNames.percentage
1164
+ ],
1165
+ head: e,
1166
+ body: n,
1167
+ a11yBody: r,
1168
+ config: i
1169
+ };
1170
+ }), vi = T(!1);
1171
+ function yi(e) {
1172
+ vi.value = e, sr.value += 1;
1173
+ }
1174
+ let bi = g(() => /^((?!chrome|android).)*safari/i.test(navigator.userAgent));
1175
+ function xi(e) {
1176
+ return Ie({
1177
+ num: e,
1178
+ rounding: R.value.legend.roundingPercentage
1179
+ });
1180
+ }
1181
+ function Si({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
1182
+ return Le({
1183
+ config: i,
1184
+ val: e,
1185
+ percentage: t,
1186
+ showVal: n,
1187
+ showPercentage: r
1188
+ });
1189
+ }
1190
+ function Ci(e) {
1191
+ return Si({
1192
+ val: p(I.value.value.formatter, e.value, t({
1193
+ p: I.value.dataLabels.prefix,
1194
+ v: e.value,
1195
+ s: I.value.dataLabels.suffix,
1196
+ r: I.value.value.rounding
1197
+ }), { datapoint: e }),
1198
+ percentage: ni(e, q.value),
1199
+ showVal: I.value.value.show,
1200
+ showPercentage: I.value.percentage.show,
1201
+ config: I.value.dataLabels
1202
+ });
1203
+ }
1204
+ function $(e, t) {
1205
+ F.value.events.datapointClick && F.value.events.datapointClick({
1206
+ datapoint: e,
1207
+ seriesIndex: e.seriesIndex
1208
+ }), Ir("selectDatapoint", {
1209
+ datapoint: e,
1210
+ index: t
1211
+ });
1212
+ }
1213
+ function wi() {
1214
+ B.value.showTable = !B.value.showTable;
1215
+ }
1216
+ function Ti() {
1217
+ B.value.dataLabels.show = !B.value.dataLabels.show;
1218
+ }
1219
+ function Ei() {
1220
+ B.value.showTooltip = !B.value.showTooltip;
1221
+ }
1222
+ let Di = T(!1);
1223
+ function Oi() {
1224
+ Di.value = !Di.value;
1225
+ }
1226
+ async function ki({ scale: e = 2 } = {}) {
1227
+ if (!j.value) return;
1228
+ let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Te({
1229
+ domElement: j.value,
1230
+ base64: !0,
1231
+ img: !0,
1232
+ scale: e
1233
+ });
1234
+ return {
1235
+ imageUri: i,
1236
+ base64: a,
1237
+ title: R.value.title.text,
1238
+ width: t,
1239
+ height: n,
1240
+ aspectRatio: r
1241
+ };
1242
+ }
1243
+ function Ai() {
1244
+ if (!Nn.value) return;
1245
+ let { x: e, y: t, width: n, height: r } = Nn.value.getBBox();
1246
+ Cr.value && Cr.value.setAttribute("viewBox", `${e} ${t} ${n + Math.min(0, e)} ${r + Math.min(0, t)}`);
1247
+ }
1248
+ let ji = g(() => {
1249
+ let e = F.value.table.useDialog && !F.value.table.show, t = B.value.showTable;
1250
+ return {
1251
+ component: e ? Dn : Sn,
1252
+ title: `${R.value.title.text}${R.value.title.subtitle.text ? `: ${R.value.title.subtitle.text}` : ""}`,
1253
+ props: e ? {
1254
+ backgroundColor: F.value.table.th.backgroundColor,
1255
+ color: F.value.table.th.color,
1256
+ headerColor: F.value.table.th.color,
1257
+ headerBg: F.value.table.th.backgroundColor,
1258
+ isFullscreen: vi.value,
1259
+ fullscreenParent: j.value,
1260
+ forcedWidth: Math.min(500, window.innerWidth * .8),
1261
+ isCursorPointer: ur.value
1262
+ } : {
1263
+ hideDetails: !0,
1264
+ config: {
1265
+ open: t,
1266
+ maxHeight: 1e4,
1267
+ body: {
1268
+ backgroundColor: R.value.backgroundColor,
1269
+ color: R.value.color
1270
+ },
1271
+ head: {
1272
+ backgroundColor: R.value.backgroundColor,
1273
+ color: R.value.color
1274
+ }
1275
+ }
1276
+ }
1277
+ };
1278
+ });
1279
+ nt(() => B.value.showTable, (e) => {
1280
+ F.value.table.show || (e && F.value.table.useDialog && Kn.value ? Kn.value.open() : "close" in Kn.value && Kn.value.close());
1281
+ });
1282
+ function Mi() {
1283
+ B.value.showTable = !1, qn.value && qn.value.setTableIconState(!1);
1284
+ }
1285
+ let Ni = g(() => Yr.value.map((e) => ({
1286
+ ...e,
1287
+ name: e.display
1288
+ }))), Pi = g(() => R.value.backgroundColor), Fi = g(() => R.value.legend), Ii = g(() => R.value.title), { isCallbackImaging: Li, isCallbackSvg: Ri, generateSvg: zi, onGenerateImage: Bi } = we({
1289
+ svg: Cr,
1290
+ title: Ii,
1291
+ legend: Fi,
1292
+ legendItems: Ni,
1293
+ backgroundColor: Pi,
1294
+ getSvgCallback: () => F.value.userOptions.callbacks.svg,
1295
+ generateImage: Mr
1296
+ });
1297
+ async function Vi() {
1298
+ if (Ir("copyAlt", {
1299
+ config: F.value,
1300
+ dataset: U.value
1301
+ }), !F.value.userOptions.callbacks.altCopy) {
1302
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1303
+ return;
1304
+ }
1305
+ await Promise.resolve(F.value.userOptions.callbacks.altCopy({
1306
+ config: F.value,
1307
+ dataset: U.value
1308
+ }));
1309
+ }
1310
+ function Hi() {
1311
+ Jn.value = null, Zn.value = !0;
1312
+ }
1313
+ function Ui() {
1314
+ Jn.value = null, Xn.value = "pointer", ar.value = !1, P.value = null, Zn.value = !1;
1315
+ }
1316
+ function Wi(e) {
1317
+ if (!Cr.value || Di.value || document.activeElement !== Cr.value || !q.value.length) return;
1318
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1319
+ if (!t && !n && !r && !i) return;
1320
+ if (e.preventDefault(), e.stopPropagation(), i) {
1321
+ Jn.value = null, Xn.value = "pointer", ar.value = !1, P.value = null;
1322
+ return;
1323
+ }
1324
+ if (r) {
1325
+ if (Jn.value === null) return;
1326
+ let e = q.value[Jn.value];
1327
+ if (!e) return;
1328
+ $(e, Jn.value);
1329
+ return;
1330
+ }
1331
+ let a = Jn.value, o = P.value, s = a !== null && a >= 0 && a < q.value.length, c = o !== null && o >= 0 && o < q.value.length;
1332
+ 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;
1333
+ let l = q.value[a];
1334
+ l && (Jn.value = a, Gi(a), Q({
1335
+ datapoint: l,
1336
+ relativeIndex: a,
1337
+ seriesIndex: l.seriesIndex,
1338
+ show: !0,
1339
+ triggerMode: "keyboard"
1340
+ }));
1341
+ }
1342
+ function Gi(e) {
1343
+ if (!Number.isFinite(e) || !Cr.value) return;
1344
+ let t = V.value.width / 2, n = V.value.height / 2;
1345
+ if (F.value.type === "classic") {
1346
+ let r = q.value[e];
1347
+ if (!r?.arcSlice) return;
1348
+ let i = fe(r.arcSlice);
1349
+ if (!i) return;
1350
+ t = i.x, n = i.y;
1351
+ } else {
1352
+ let r = J.value[e]?.middlePoint;
1353
+ if (!r) return;
1354
+ t = r.x, n = r.y;
1355
+ }
1356
+ let r = Cr.value.getBoundingClientRect();
1357
+ Yn.value = {
1358
+ x: r.left + t / V.value.width * r.width,
1359
+ y: r.top + n / V.value.height * r.height
1360
+ };
1361
+ }
1362
+ let Ki = g(() => ({
1363
+ headers: _i.value?.colNames ?? [],
1364
+ rows: _i.value?.a11yBody ?? []
1365
+ }));
1366
+ return Oe({
1367
+ autoSize: Ai,
1368
+ getData: Lr,
1369
+ getImage: ki,
1370
+ generatePdf: jr,
1371
+ generateCsv: gi,
1372
+ generateImage: Mr,
1373
+ generateSvg: zi,
1374
+ hideSeries: Kr,
1375
+ showSeries: Gr,
1376
+ toggleTable: wi,
1377
+ toggleLabels: Ti,
1378
+ toggleTooltip: Ei,
1379
+ toggleAnnotator: Oi,
1380
+ toggleFullscreen: yi,
1381
+ copyAlt: Vi
1382
+ }), (r, i) => (w(), y("div", {
1383
+ ref_key: "donutChart",
1384
+ ref: j,
1385
+ class: qe(`vue-data-ui-component vue-ui-donut ${vi.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${F.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1386
+ style: C(`font-family:${F.value.style.fontFamily};width:100%; ${F.value.responsive ? "height:100%;" : ""} text-align:center;background:${R.value.backgroundColor}`),
1387
+ id: `donut__${N.value}`,
1388
+ onMouseenter: wr,
1389
+ onMouseleave: Tr
1390
+ }, [
1391
+ b("div", {
1392
+ id: `chart-instructions-${N.value}`,
1393
+ class: "sr-only"
1394
+ }, [b("p", null, Qe(F.value.a11y.translations.keyboardNavigation), 1)], 8, st),
1395
+ Ki.value?.rows?.length ? (w(), _(Ne, {
1396
+ key: 0,
1397
+ uid: N.value,
1398
+ head: Ki.value.headers,
1399
+ body: Ki.value.rows,
1400
+ notice: F.value.a11y.translations.tableAvailable,
1401
+ caption: F.value.a11y.translations.tableCaption
1402
+ }, null, 8, [
1403
+ "uid",
1404
+ "head",
1405
+ "body",
1406
+ "notice",
1407
+ "caption"
1408
+ ])) : v("", !0),
1409
+ F.value.userOptions.buttons.annotator && O(Cr) ? (w(), _(O(wn), {
1410
+ key: 1,
1411
+ color: R.value.color,
1412
+ backgroundColor: R.value.backgroundColor,
1413
+ active: Di.value,
1414
+ svgRef: O(Cr),
1415
+ isCursorPointer: ur.value,
1416
+ palette: F.value.userOptions.annotatorPalette,
1417
+ onClose: Oi
1418
+ }, {
1419
+ "annotator-action-close": k(() => [D(r.$slots, "annotator-action-close", {}, void 0, !0)]),
1420
+ "annotator-action-color": k(({ color: e }) => [D(r.$slots, "annotator-action-color", S(x({ color: e })), void 0, !0)]),
1421
+ "annotator-action-draw": k(({ mode: e }) => [D(r.$slots, "annotator-action-draw", S(x({ mode: e })), void 0, !0)]),
1422
+ "annotator-action-undo": k(({ disabled: e }) => [D(r.$slots, "annotator-action-undo", S(x({ disabled: e })), void 0, !0)]),
1423
+ "annotator-action-redo": k(({ disabled: e }) => [D(r.$slots, "annotator-action-redo", S(x({ disabled: e })), void 0, !0)]),
1424
+ "annotator-action-delete": k(({ disabled: e }) => [D(r.$slots, "annotator-action-delete", S(x({ disabled: e })), void 0, !0)]),
1425
+ _: 3
1426
+ }, 8, [
1427
+ "color",
1428
+ "backgroundColor",
1429
+ "active",
1430
+ "svgRef",
1431
+ "isCursorPointer",
1432
+ "palette"
1433
+ ])) : v("", !0),
1434
+ D(r.$slots, "userConfig", {}, void 0, !0),
1435
+ Nr.value ? (w(), y("div", {
1436
+ key: 2,
1437
+ ref_key: "noTitle",
1438
+ ref: Vn,
1439
+ class: "vue-data-ui-no-title-space",
1440
+ style: "height:36px; width: 100%;background:transparent"
1441
+ }, null, 512)) : v("", !0),
1442
+ R.value.title.text ? (w(), y("div", {
1443
+ key: 3,
1444
+ ref_key: "chartTitle",
1445
+ ref: In,
1446
+ style: "width:100%;background:transparent;padding-bottom:24px"
1447
+ }, [(w(), _(Ee, {
1448
+ key: `title_${Hn.value}`,
1449
+ config: {
1450
+ title: {
1451
+ cy: "donut-div-title",
1452
+ ...R.value.title
1453
+ },
1454
+ subtitle: {
1455
+ cy: "donut-div-subtitle",
1456
+ ...R.value.title.subtitle
1457
+ }
1458
+ }
1459
+ }, null, 8, ["config"]))], 512)) : v("", !0),
1460
+ b("div", { id: `legend-top-${N.value}` }, null, 8, ct),
1461
+ F.value.userOptions.show && Mn.value && (O(Sr) || O(br)) ? (w(), _(O(Tn), {
1462
+ ref_key: "userOptionsRef",
1463
+ ref: qn,
1464
+ key: `user_option_${sr.value}`,
1465
+ backgroundColor: R.value.backgroundColor,
1466
+ color: R.value.color,
1467
+ isPrinting: O(kr),
1468
+ isImaging: O(Ar),
1469
+ uid: N.value,
1470
+ hasTooltip: R.value.tooltip.show && F.value.userOptions.buttons.tooltip,
1471
+ hasPdf: F.value.userOptions.buttons.pdf,
1472
+ hasImg: F.value.userOptions.buttons.img,
1473
+ hasSvg: F.value.userOptions.buttons.svg,
1474
+ hasXls: F.value.userOptions.buttons.csv,
1475
+ hasTable: F.value.userOptions.buttons.table,
1476
+ hasLabel: F.value.userOptions.buttons.labels,
1477
+ hasFullscreen: F.value.userOptions.buttons.fullscreen,
1478
+ hasAltCopy: F.value.userOptions.buttons.altCopy,
1479
+ isFullscreen: vi.value,
1480
+ chartElement: j.value,
1481
+ position: F.value.userOptions.position,
1482
+ callbacks: F.value.userOptions.callbacks,
1483
+ isTooltip: B.value.showTooltip,
1484
+ titles: { ...F.value.userOptions.buttonTitles },
1485
+ hasAnnotator: F.value.userOptions.buttons.annotator,
1486
+ isAnnotation: Di.value,
1487
+ printScale: F.value.userOptions.print.scale,
1488
+ tableDialog: F.value.table.useDialog,
1489
+ isCursorPointer: ur.value,
1490
+ onToggleFullscreen: yi,
1491
+ onGeneratePdf: O(jr),
1492
+ onGenerateCsv: gi,
1493
+ onGenerateImage: O(Bi),
1494
+ onGenerateSvg: O(zi),
1495
+ onToggleTable: wi,
1496
+ onToggleLabels: Ti,
1497
+ onToggleTooltip: Ei,
1498
+ onToggleAnnotator: Oi,
1499
+ onCopyAlt: Vi,
1500
+ style: C({ visibility: O(Sr) ? O(br) ? "visible" : "hidden" : "visible" })
1501
+ }, Ve({ _: 2 }, [
1502
+ r.$slots.menuIcon ? {
1503
+ name: "menuIcon",
1504
+ fn: k(({ isOpen: e, color: t }) => [D(r.$slots, "menuIcon", S(x({
1505
+ isOpen: e,
1506
+ color: t
1507
+ })), void 0, !0)]),
1508
+ key: "0"
1509
+ } : void 0,
1510
+ r.$slots.optionTooltip ? {
1511
+ name: "optionTooltip",
1512
+ fn: k(() => [D(r.$slots, "optionTooltip", {}, void 0, !0)]),
1513
+ key: "1"
1514
+ } : void 0,
1515
+ r.$slots.optionPdf ? {
1516
+ name: "optionPdf",
1517
+ fn: k(() => [D(r.$slots, "optionPdf", {}, void 0, !0)]),
1518
+ key: "2"
1519
+ } : void 0,
1520
+ r.$slots.optionCsv ? {
1521
+ name: "optionCsv",
1522
+ fn: k(() => [D(r.$slots, "optionCsv", {}, void 0, !0)]),
1523
+ key: "3"
1524
+ } : void 0,
1525
+ r.$slots.optionImg ? {
1526
+ name: "optionImg",
1527
+ fn: k(() => [D(r.$slots, "optionImg", {}, void 0, !0)]),
1528
+ key: "4"
1529
+ } : void 0,
1530
+ r.$slots.optionSvg ? {
1531
+ name: "optionSvg",
1532
+ fn: k(() => [D(r.$slots, "optionSvg", {}, void 0, !0)]),
1533
+ key: "5"
1534
+ } : void 0,
1535
+ r.$slots.optionTable ? {
1536
+ name: "optionTable",
1537
+ fn: k(() => [D(r.$slots, "optionTable", {}, void 0, !0)]),
1538
+ key: "6"
1539
+ } : void 0,
1540
+ r.$slots.optionLabels ? {
1541
+ name: "optionLabels",
1542
+ fn: k(() => [D(r.$slots, "optionLabels", {}, void 0, !0)]),
1543
+ key: "7"
1544
+ } : void 0,
1545
+ r.$slots.optionFullscreen ? {
1546
+ name: "optionFullscreen",
1547
+ fn: k(({ toggleFullscreen: e, isFullscreen: t }) => [D(r.$slots, "optionFullscreen", S(x({
1548
+ toggleFullscreen: e,
1549
+ isFullscreen: t
1550
+ })), void 0, !0)]),
1551
+ key: "8"
1552
+ } : void 0,
1553
+ r.$slots.optionAnnotator ? {
1554
+ name: "optionAnnotator",
1555
+ fn: k(({ toggleAnnotator: e, isAnnotator: t }) => [D(r.$slots, "optionAnnotator", S(x({
1556
+ toggleAnnotator: e,
1557
+ isAnnotator: t
1558
+ })), void 0, !0)]),
1559
+ key: "9"
1560
+ } : void 0,
1561
+ r.$slots.optionAltCopy ? {
1562
+ name: "optionAltCopy",
1563
+ fn: k(({ altCopy: e }) => [D(r.$slots, "optionAltCopy", S(x({ altCopy: e })), void 0, !0)]),
1564
+ key: "10"
1565
+ } : void 0,
1566
+ r.$slots["custom-menu-before"] ? {
1567
+ name: "custom-menu-before",
1568
+ fn: k(() => [D(r.$slots, "custom-menu-before", {}, void 0, !0)]),
1569
+ key: "11"
1570
+ } : void 0,
1571
+ r.$slots["custom-menu-after"] ? {
1572
+ name: "custom-menu-after",
1573
+ fn: k(() => [D(r.$slots, "custom-menu-after", {}, void 0, !0)]),
1574
+ key: "12"
1575
+ } : void 0
1576
+ ]), 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("."))) : v("", !0),
1577
+ b("div", lt, [(w(), y("svg", {
1578
+ ref_key: "svgRef",
1579
+ ref: Cr,
1580
+ xmlns: O(de),
1581
+ "aria-describedby": `chart-instructions-${N.value}`,
1582
+ class: qe({
1583
+ "vue-data-ui-fullscreen--on": vi.value,
1584
+ "vue-data-ui-fulscreen--off": !vi.value,
1585
+ "vue-data-ui-svg": !0
1586
+ }),
1587
+ viewBox: `0 0 ${V.value.width <= 0 ? 10 : V.value.width} ${V.value.height <= 0 ? 10 : V.value.height}`,
1588
+ style: C(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};${Or.value.css}`),
1589
+ tabindex: "0",
1590
+ onFocus: Hi,
1591
+ onBlur: Ui,
1592
+ onKeydown: Wi
1593
+ }, [b("g", {
1594
+ ref_key: "G",
1595
+ ref: Nn,
1596
+ class: "vue-data-ui-g"
1597
+ }, [
1598
+ Ue(O(En)),
1599
+ r.$slots["chart-background"] ? (w(), y("foreignObject", {
1600
+ key: 0,
1601
+ x: 0,
1602
+ y: 0,
1603
+ width: V.value.width <= 0 ? 10 : V.value.width,
1604
+ height: V.value.height <= 0 ? 10 : V.value.height,
1605
+ style: { pointerEvents: "none" }
1606
+ }, [D(r.$slots, "chart-background", {}, void 0, !0)], 8, dt)) : v("", !0),
1607
+ F.value.type === "classic" && !isNaN(Fr.value / G.value) ? (w(), y("defs", ft, [R.value.useGradient ? (w(), _(je, {
1608
+ key: 0,
1609
+ t: "radial",
1610
+ id: `gradient_${N.value}`,
1611
+ stops: [
1612
+ [
1613
+ "0%",
1614
+ O(s)(R.value.backgroundColor, 0),
1615
+ 0
1616
+ ],
1617
+ [
1618
+ `${(1 - Fr.value / G.value) * 100}%`,
1619
+ O(s)("#FFFFFF", 0),
1620
+ 0
1621
+ ],
1622
+ [
1623
+ `${(1 - Fr.value / G.value / 2) * 100}%`,
1624
+ O(s)("#FFFFFF", R.value.gradientIntensity),
1625
+ 1
1626
+ ],
1627
+ [
1628
+ "100%",
1629
+ O(s)(R.value.backgroundColor, 0),
1630
+ 0
1631
+ ]
1632
+ ]
1633
+ }, null, 8, ["id", "stops"])) : v("", !0)])) : v("", !0),
1634
+ F.value.type === "polar" ? (w(), y("defs", pt, [(w(!0), y(h, null, E(J.value, (e, t) => (w(), _(je, {
1635
+ t: "radial",
1636
+ id: `polar_gradient_${t}_${N.value}`,
1637
+ key: `pg_${t}_${N.value}`,
1638
+ cx: (isNaN(e.middlePoint.x / V.value.width * 100) ? 0 : e.middlePoint.x / V.value.width * 100) + "%",
1639
+ cy: (isNaN(e.middlePoint.y / V.value.height * 100) ? 0 : e.middlePoint.y / V.value.height * 100) + "%",
1640
+ r: "62%",
1641
+ stops: [[
1642
+ "0%",
1643
+ O(ee)(K.value[t].color, .05),
1644
+ R.value.gradientIntensity / 100
1645
+ ], [
1646
+ "100%",
1647
+ K.value[t].color,
1648
+ 1
1649
+ ]]
1650
+ }, null, 8, [
1651
+ "id",
1652
+ "cx",
1653
+ "cy",
1654
+ "stops"
1655
+ ]))), 128))])) : v("", !0),
1656
+ b("defs", null, [
1657
+ b("filter", {
1658
+ id: `blur_${N.value}`,
1659
+ x: "-50%",
1660
+ y: "-50%",
1661
+ width: "200%",
1662
+ height: "200%"
1663
+ }, [b("feGaussianBlur", {
1664
+ in: "SourceGraphic",
1665
+ stdDeviation: 2,
1666
+ id: `blur_std_${N.value}`
1667
+ }, null, 8, ht), i[5] ||= b("feColorMatrix", {
1668
+ type: "saturate",
1669
+ values: "0"
1670
+ }, null, -1)], 8, mt),
1671
+ b("filter", {
1672
+ id: `shadow_${N.value}`,
1673
+ "color-interpolation-filters": "sRGB"
1674
+ }, [b("feDropShadow", {
1675
+ dx: "0",
1676
+ dy: "0",
1677
+ stdDeviation: "10",
1678
+ "flood-opacity": "0.5",
1679
+ "flood-color": L.value.shadowColor
1680
+ }, null, 8, _t)], 8, gt),
1681
+ b("filter", {
1682
+ id: `drop_shadow_${N.value}`,
1683
+ "color-interpolation-filters": "sRGB",
1684
+ x: "-50%",
1685
+ y: "-50%",
1686
+ width: "200%",
1687
+ height: "200%"
1688
+ }, [b("feDropShadow", {
1689
+ dx: "0",
1690
+ dy: "0",
1691
+ stdDeviation: "3",
1692
+ "flood-opacity": "1",
1693
+ "flood-color": L.value.shadowColor
1694
+ }, null, 8, yt)], 8, vt)
1695
+ ]),
1696
+ F.value.type === "classic" ? (w(!0), y(h, { key: 3 }, E(K.value.filter((e) => !e.ghost), (e, t) => (w(), y("g", null, [Y(e) && B.value.dataLabels.show ? (w(), y("path", {
1697
+ key: 0,
1698
+ d: O(X)[t]?.connectorPath || O(ae)(e, {
1699
+ x: V.value.width / 2,
1700
+ y: V.value.height / 2
1701
+ }, 16, 16, !1, !1, Fr.value, 12, lr.value.curvedMarkers),
1702
+ stroke: e.color,
1703
+ "stroke-width": "1",
1704
+ "stroke-linecap": "round",
1705
+ "stroke-linejoin": "round",
1706
+ fill: "none",
1707
+ filter: pi(t)
1708
+ }, null, 8, bt)) : v("", !0)]))), 256)) : v("", !0),
1709
+ F.value.type === "polar" ? (w(!0), y(h, { key: 4 }, E(K.value.filter((e) => !e.ghost), (e, t) => (w(), y("g", null, [Y(e) && B.value.dataLabels.show ? (w(), y("path", {
1710
+ key: 0,
1711
+ d: `M ${O(n)({
1712
+ initX: J.value[t].middlePoint.x,
1713
+ initY: J.value[t].middlePoint.y,
1714
+ offset: 24,
1715
+ centerX: V.value.width / 2,
1716
+ centerY: V.value.height / 2
1717
+ }).x},${O(n)({
1718
+ initX: J.value[t].middlePoint.x,
1719
+ initY: J.value[t].middlePoint.y,
1720
+ offset: 24,
1721
+ centerX: V.value.width / 2,
1722
+ centerY: V.value.height / 2
1723
+ }).y} ${J.value[t].middlePoint.x},${J.value[t].middlePoint.y}`,
1724
+ stroke: e.color,
1725
+ "stroke-width": "1",
1726
+ "stroke-linecap": "round",
1727
+ "stroke-linejoin": "round",
1728
+ fill: "none",
1729
+ filter: pi(t),
1730
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` })
1731
+ }, null, 12, xt)) : v("", !0)]))), 256)) : v("", !0),
1732
+ F.value.type === "classic" && L.value.useShadow ? (w(), y("circle", {
1733
+ key: 5,
1734
+ cx: V.value.width / 2,
1735
+ cy: V.value.height / 2,
1736
+ r: G.value <= 0 ? 10 : G.value,
1737
+ fill: R.value.backgroundColor,
1738
+ filter: `url(#shadow_${N.value})`
1739
+ }, null, 8, St)) : v("", !0),
1740
+ r.$slots.pattern ? (w(), y("g", Ct, [(w(!0), y(h, null, E(e.dataset, (e, t) => (w(), y("defs", { key: `pattern-${e.patternIndex}` }, [D(r.$slots, "pattern", Ge({ ref_for: !0 }, {
1741
+ seriesIndex: t,
1742
+ patternId: `pattern_${N.value}_${t}`
1743
+ }), void 0, !0)]))), 128))])) : v("", !0),
1744
+ Z.value && F.value.type === "classic" ? (w(), y(h, { key: 7 }, [
1745
+ (w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1746
+ stroke: R.value.backgroundColor,
1747
+ d: e.arcSlice,
1748
+ fill: "#FFFFFF"
1749
+ }, null, 8, wt))), 256)),
1750
+ (w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1751
+ class: "vue-ui-donut-arc-path",
1752
+ d: e.arcSlice,
1753
+ fill: e.color,
1754
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : L.value.borderColor,
1755
+ "stroke-width": L.value.borderWidth,
1756
+ filter: pi(t)
1757
+ }, null, 8, Tt))), 256)),
1758
+ r.$slots.pattern ? (w(), y("g", Et, [(w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1759
+ class: "vue-ui-donut-arc-path",
1760
+ d: e.arcSlice,
1761
+ fill: `url(#${e.pattern})`,
1762
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : L.value.borderColor,
1763
+ "stroke-width": L.value.borderWidth,
1764
+ filter: pi(t)
1765
+ }, null, 8, Dt))), 256))])) : v("", !0)
1766
+ ], 64)) : v("", !0),
1767
+ Z.value && F.value.type === "polar" ? (w(), y(h, { key: 8 }, [K.value.length > 1 ? (w(), y("g", Ot, [
1768
+ (w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1769
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : L.value.borderColor,
1770
+ d: J.value[t].path,
1771
+ fill: "#FFFFFF",
1772
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` })
1773
+ }, null, 12, kt))), 256)),
1774
+ L.value.useShadow ? (w(), y("g", At, [(w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1775
+ class: "vue-ui-donut-arc-path",
1776
+ d: J.value[t].path,
1777
+ fill: "transparent",
1778
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : lr.value.donut.borderColor,
1779
+ "stroke-width": L.value.borderWidth,
1780
+ filter: `url(#drop_shadow_${N.value})`,
1781
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` })
1782
+ }, null, 12, jt))), 256))])) : v("", !0),
1783
+ r.$slots.pattern ? (w(), y("g", Mt, [(w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1784
+ class: "vue-ui-donut-arc-path",
1785
+ d: J.value[t].path,
1786
+ fill: `url(#${e.pattern})`,
1787
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : lr.value.donut.borderColor,
1788
+ "stroke-width": L.value.borderWidth,
1789
+ filter: pi(t),
1790
+ style: C({
1791
+ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1792
+ transformOrigin: "center"
1793
+ })
1794
+ }, null, 12, Nt))), 256))])) : v("", !0),
1795
+ (w(!0), y(h, null, E(q.value, (e, t) => (w(), y("path", {
1796
+ class: "vue-ui-donut-arc-path",
1797
+ d: J.value[t].path,
1798
+ fill: R.value.useGradient ? `url(#polar_gradient_${t}_${N.value})` : e.color,
1799
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : L.value.borderColor,
1800
+ "stroke-width": L.value.borderWidth,
1801
+ filter: pi(t),
1802
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` })
1803
+ }, null, 12, Pt))), 256))
1804
+ ])) : (w(), y("g", Ft, [r.$slots.pattern ? (w(), y("circle", {
1805
+ key: 0,
1806
+ cx: V.value.width / 2,
1807
+ cy: V.value.height / 2,
1808
+ r: G.value,
1809
+ fill: `url(#pattern_${N.value}_${K.value[0].patternIndex})`,
1810
+ stroke: R.value.backgroundColor,
1811
+ "stroke-width": L.value.borderWidth
1812
+ }, null, 8, It)) : v("", !0), b("circle", {
1813
+ cx: V.value.width / 2,
1814
+ cy: V.value.height / 2,
1815
+ r: G.value,
1816
+ fill: R.value.useGradient ? `url(#polar_gradient_0_${N.value})` : K.value[0].color,
1817
+ stroke: R.value.backgroundColor,
1818
+ "stroke-width": L.value.borderWidth
1819
+ }, null, 8, Lt)]))], 64)) : (w(), y(h, { key: 9 }, [F.value.type === "classic" && !Zr.value ? (w(), y("g", Rt, [(w(!0), y(h, null, E(Qr.value, (e, t) => (w(), y("path", {
1820
+ class: "vue-ui-donut-arc-path",
1821
+ d: e.arcSlice,
1822
+ fill: e.color,
1823
+ stroke: R.value.backgroundColor,
1824
+ "stroke-width": L.value.borderWidth
1825
+ }, null, 8, zt))), 256))])) : v("", !0), b("circle", {
1826
+ cx: V.value.width / 2,
1827
+ cy: V.value.height / 2,
1828
+ r: G.value <= 0 ? 10 : G.value,
1829
+ fill: "transparent",
1830
+ stroke: R.value.backgroundColor
1831
+ }, null, 8, Bt)], 64)),
1832
+ R.value.useGradient && F.value.type === "classic" ? (w(), y("circle", {
1833
+ key: 10,
1834
+ cx: V.value.width / 2,
1835
+ cy: V.value.height / 2,
1836
+ r: G.value <= 0 ? 10 : G.value,
1837
+ fill: `url(#gradient_${N.value})`
1838
+ }, null, 8, Vt)) : v("", !0),
1839
+ b("circle", {
1840
+ ref_key: "circle_hollow",
1841
+ ref: Fn,
1842
+ style: { pointerEvents: "none" },
1843
+ fill: "none",
1844
+ cx: V.value.width / 2,
1845
+ cy: V.value.height / 2,
1846
+ r: Math.max(.1, Fr.value * 1.7)
1847
+ }, null, 8, Ht),
1848
+ Z.value ? (w(), y(h, { key: 11 }, [K.value.length > 1 || F.value.type === "classic" ? (w(), y("g", Ut, [(w(!0), y(h, null, E(K.value.filter((e) => !e.ghost), (e, t) => (w(), y("path", {
1849
+ d: F.value.type === "classic" ? e.arcSlice : J.value[t].path,
1850
+ stroke: L.value.borderColorAuto ? R.value.backgroundColor : L.value.borderColor,
1851
+ fill: P.value === t ? L.value.selectedColor : "transparent",
1852
+ onMouseenter: (n) => Q({
1853
+ datapoint: e,
1854
+ relativeIndex: t,
1855
+ seriesIndex: e.seriesIndex,
1856
+ show: !0
1857
+ }),
1858
+ onMouseleave: (t) => li({
1859
+ datapoint: e,
1860
+ seriesIndex: e.seriesIndex
1861
+ }),
1862
+ onClick: (n) => $(e, t)
1863
+ }, null, 40, Wt))), 256))])) : (w(), y("g", Gt, [b("circle", {
1864
+ cx: V.value.width / 2,
1865
+ cy: V.value.height / 2,
1866
+ r: G.value,
1867
+ fill: "transparent",
1868
+ onMouseenter: i[0] ||= (e) => Q({
1869
+ datapoint: K.value[0],
1870
+ relativeIndex: 0,
1871
+ seriesIndex: K.value[0].seriesIndex,
1872
+ show: !0
1873
+ }),
1874
+ onMouseleave: i[1] ||= (e) => li({
1875
+ datapoint: K.value[0],
1876
+ seriesIndex: K.value[0].seriesIndex
1877
+ }),
1878
+ onClick: i[2] ||= (e) => $(K.value[0], r.i)
1879
+ }, null, 40, Kt)]))], 64)) : v("", !0),
1880
+ F.value.type === "classic" ? (w(), y("g", {
1881
+ key: 12,
1882
+ ref_key: "G_hollow",
1883
+ ref: Pn,
1884
+ class: "vue-data-ui-donut-hollow-labels"
1885
+ }, [
1886
+ I.value.hollow.total.show ? (w(), y("text", {
1887
+ key: 0,
1888
+ "text-anchor": "middle",
1889
+ x: V.value.width / 2,
1890
+ y: V.value.height / 2 - (I.value.hollow.average.show ? I.value.hollow.total.fontSize : 0) + I.value.hollow.total.offsetY,
1891
+ fill: I.value.hollow.total.color,
1892
+ "font-size": I.value.hollow.total.fontSize,
1893
+ style: C(`font-weight:${I.value.hollow.total.bold ? "bold" : ""}`)
1894
+ }, Qe(I.value.hollow.total.text), 13, qt)) : v("", !0),
1895
+ I.value.hollow.total.show ? (w(), y("text", {
1896
+ key: 1,
1897
+ "text-anchor": "middle",
1898
+ x: V.value.width / 2,
1899
+ y: V.value.height / 2 + I.value.hollow.total.fontSize - (I.value.hollow.average.show ? I.value.hollow.total.fontSize : 0) + I.value.hollow.total.value.offsetY,
1900
+ fill: I.value.hollow.total.value.color,
1901
+ "font-size": I.value.hollow.total.value.fontSize,
1902
+ style: C(`font-weight:${I.value.hollow.total.value.bold ? "bold" : ""}`)
1903
+ }, Qe(O(p)(I.value.hollow.total.value.formatter, Z.value, O(t)({
1904
+ p: I.value.hollow.total.value.prefix,
1905
+ v: Z.value,
1906
+ s: I.value.hollow.total.value.suffix
1907
+ }))), 13, Jt)) : v("", !0),
1908
+ I.value.hollow.average.show ? (w(), y("text", {
1909
+ key: 2,
1910
+ "text-anchor": "middle",
1911
+ x: V.value.width / 2,
1912
+ y: V.value.height / 2 + (I.value.hollow.total.show ? I.value.hollow.average.fontSize : 0) + I.value.hollow.average.offsetY,
1913
+ fill: I.value.hollow.average.color,
1914
+ "font-size": I.value.hollow.average.fontSize,
1915
+ style: C(`font-weight:${I.value.hollow.average.bold ? "bold" : ""}`)
1916
+ }, Qe(I.value.hollow.average.text), 13, Yt)) : v("", !0),
1917
+ I.value.hollow.average.show ? (w(), y("text", {
1918
+ key: 3,
1919
+ "text-anchor": "middle",
1920
+ x: V.value.width / 2,
1921
+ y: V.value.height / 2 + (I.value.hollow.total.show ? I.value.hollow.average.fontSize : 0) + I.value.hollow.average.fontSize + I.value.hollow.average.value.offsetY,
1922
+ fill: I.value.hollow.average.value.color,
1923
+ "font-size": I.value.hollow.average.value.fontSize,
1924
+ style: C(`font-weight:${I.value.hollow.average.value.bold ? "bold" : ""}`)
1925
+ }, Qe(Rr.value || z.value ? "--" : O(p)(I.value.hollow.average.value.formatter, O(d)(ai.value), O(t)({
1926
+ p: I.value.hollow.average.value.prefix,
1927
+ v: O(d)(ai.value),
1928
+ s: I.value.hollow.average.value.suffix,
1929
+ r: I.value.hollow.average.value.rounding
1930
+ }))), 13, Xt)) : v("", !0)
1931
+ ], 512)) : v("", !0),
1932
+ (w(!0), y(h, null, E(q.value.filter((e) => !e.ghost), (e, t) => (w(), y("g", {
1933
+ filter: pi(t),
1934
+ key: e.seriesIndex,
1935
+ opacity: mi(e)
1936
+ }, [I.value.dataLabels.useLabelSlots ? (w(), y("g", Qt, [(w(), y("foreignObject", {
1937
+ 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,
1938
+ y: O(m)(e) - (bi.value ? 20 : 0),
1939
+ width: "120",
1940
+ height: "60",
1941
+ style: { overflow: "visible" }
1942
+ }, [b("div", null, [D(r.$slots, "dataLabel", Ge({ ref_for: !0 }, {
1943
+ datapoint: e,
1944
+ isBlur: !F.value.useBlurOnHover || [null, void 0].includes(P.value) || P.value === t,
1945
+ isSafari: bi.value,
1946
+ isVisible: Y(e) && B.value.dataLabels.show,
1947
+ textAlign: O(f)(e, !0, 16, !0).anchor,
1948
+ flexAlign: O(f)(e, !0, 16).anchor,
1949
+ percentage: ni(e, q.value)
1950
+ }), void 0, !0)])], 8, $t))])) : (w(), y("g", en, [F.value.type === "classic" ? (w(), y(h, { key: 0 }, [Y(e) && B.value.dataLabels.show ? (w(), y("circle", {
1951
+ key: 0,
1952
+ cx: O(X)[t]?.markerX ?? O(f)(e).x,
1953
+ cy: O(X)[t]?.markerY ?? O(m)(e) - 3.5,
1954
+ fill: e.color,
1955
+ stroke: R.value.backgroundColor,
1956
+ "stroke-width": 1,
1957
+ r: 3,
1958
+ filter: !F.value.useBlurOnHover || [null, void 0].includes(P.value) || P.value === t ? "" : `url(#blur_${N.value})`,
1959
+ onClick: (n) => $(e, t),
1960
+ onMouseenter: (n) => Q({
1961
+ datapoint: e,
1962
+ relativeIndex: t,
1963
+ seriesIndex: e.seriesIndex,
1964
+ show: !0
1965
+ }),
1966
+ onMouseleave: (t) => li({
1967
+ datapoint: e,
1968
+ seriesIndex: e.seriesIndex
1969
+ })
1970
+ }, null, 40, tn)) : v("", !0), I.value.dataLabels.oneLine || O(X)[t] ? rt((w(), y("text", {
1971
+ key: 1,
1972
+ class: "vue-data-ui-datalabel-inline",
1973
+ "text-anchor": O(X)[t]?.textAnchor || O(f)(e, !0, 12).anchor,
1974
+ x: O(X)[t]?.labelX ?? O(f)(e, !0, 12).x,
1975
+ y: O(X)[t]?.labelY ?? O(m)(e),
1976
+ onClick: (n) => $(e, t),
1977
+ onMouseenter: (n) => Q({
1978
+ datapoint: e,
1979
+ relativeIndex: t,
1980
+ seriesIndex: e.seriesIndex,
1981
+ show: !0
1982
+ }),
1983
+ onMouseleave: (t) => li({
1984
+ datapoint: e,
1985
+ seriesIndex: e.seriesIndex
1986
+ }),
1987
+ innerHTML: di(e, t, !!O(X)[t])
1988
+ }, null, 40, nn)), [[tt, Y(e) && B.value.dataLabels.show]]) : (w(), y(h, { key: 2 }, [rt(b("text", {
1989
+ class: "vue-data-ui-datalabel-value",
1990
+ "text-anchor": O(X)[t]?.textAnchor || O(f)(e, !0, 12).anchor,
1991
+ x: O(X)[t]?.labelX ?? O(f)(e, !0, 12).x,
1992
+ y: O(X)[t]?.labelY ?? O(m)(e),
1993
+ fill: I.value.percentage.color,
1994
+ "font-size": Qn.value + "px",
1995
+ style: C(`font-weight:${I.value.percentage.bold ? "bold" : ""}`),
1996
+ onClick: (n) => $(e, t),
1997
+ onMouseenter: (n) => Q({
1998
+ datapoint: e,
1999
+ relativeIndex: t,
2000
+ seriesIndex: e.seriesIndex,
2001
+ show: !0
2002
+ }),
2003
+ onMouseleave: (t) => li({
2004
+ datapoint: e,
2005
+ seriesIndex: e.seriesIndex
2006
+ })
2007
+ }, Qe(Ci(e)), 45, rn), [[tt, Y(e) && B.value.dataLabels.show]]), rt(b("text", {
2008
+ class: "vue-data-ui-datalabel-name",
2009
+ "text-anchor": O(X)[t]?.textAnchor || O(f)(e).anchor,
2010
+ x: O(X)[t]?.labelX ?? O(f)(e, !0, 12).x,
2011
+ y: (O(X)[t]?.labelY ?? O(m)(e)) + M.value * 1.2,
2012
+ fill: I.value.name.color,
2013
+ "font-size": M.value + "px",
2014
+ style: C(`font-weight:${I.value.name.bold ? "bold" : ""}`),
2015
+ onClick: (n) => $(e, t),
2016
+ onMouseenter: (n) => Q({
2017
+ datapoint: e,
2018
+ relativeIndex: t,
2019
+ seriesIndex: e.seriesIndex,
2020
+ show: !0
2021
+ }),
2022
+ onMouseleave: (t) => li({
2023
+ datapoint: e,
2024
+ seriesIndex: e.seriesIndex
2025
+ }),
2026
+ innerHTML: O(u)({
2027
+ content: e.name,
2028
+ fontSize: M.value,
2029
+ fill: I.value.name.color,
2030
+ x: O(X)[t]?.labelX ?? O(f)(e, !0, 12).x,
2031
+ y: (O(X)[t]?.labelY ?? O(m)(e)) + M.value
2032
+ })
2033
+ }, null, 44, an), [[tt, Y(e, !0, 12) && B.value.dataLabels.show && I.value.name.show]])], 64))], 64)) : v("", !0), F.value.type === "polar" ? (w(), y(h, { key: 1 }, [Y(e) && B.value.dataLabels.show ? (w(), y("circle", {
2034
+ key: 0,
2035
+ cx: O(n)({
2036
+ initX: J.value[t].middlePoint.x,
2037
+ initY: J.value[t].middlePoint.y,
2038
+ offset: 24,
2039
+ centerX: V.value.width / 2,
2040
+ centerY: V.value.height / 2
2041
+ }).x,
2042
+ cy: O(n)({
2043
+ initX: J.value[t].middlePoint.x,
2044
+ initY: J.value[t].middlePoint.y,
2045
+ offset: 24,
2046
+ centerX: V.value.width / 2,
2047
+ centerY: V.value.height / 2
2048
+ }).y,
2049
+ fill: e.color,
2050
+ stroke: R.value.backgroundColor,
2051
+ "stroke-width": 1,
2052
+ r: 3,
2053
+ filter: !F.value.useBlurOnHover || [null, void 0].includes(P.value) || P.value === t ? "" : `url(#blur_${N.value})`,
2054
+ onClick: (n) => $(e, t),
2055
+ onMouseenter: (n) => Q({
2056
+ datapoint: e,
2057
+ relativeIndex: t,
2058
+ seriesIndex: e.seriesIndex,
2059
+ show: !0
2060
+ }),
2061
+ onMouseleave: (t) => li({
2062
+ datapoint: e,
2063
+ seriesIndex: e.seriesIndex
2064
+ }),
2065
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` })
2066
+ }, null, 44, on)) : v("", !0), I.value.dataLabels.oneLine ? rt((w(), y("text", {
2067
+ key: 1,
2068
+ class: "vue-data-ui-datalabel-inline",
2069
+ "text-anchor": $r(J.value[t].middlePoint),
2070
+ x: O(n)({
2071
+ initX: J.value[t].middlePoint.x,
2072
+ initY: J.value[t].middlePoint.y,
2073
+ offset: 42,
2074
+ centerX: V.value.width / 2,
2075
+ centerY: V.value.height / 2
2076
+ }).x,
2077
+ y: O(n)({
2078
+ initX: J.value[t].middlePoint.x,
2079
+ initY: J.value[t].middlePoint.y,
2080
+ offset: 42,
2081
+ centerX: V.value.width / 2,
2082
+ centerY: V.value.height / 2
2083
+ }).y,
2084
+ style: C({ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out` }),
2085
+ onClick: (n) => $(e, t),
2086
+ onMouseenter: (n) => Q({
2087
+ datapoint: e,
2088
+ relativeIndex: t,
2089
+ seriesIndex: e.seriesIndex,
2090
+ show: !0
2091
+ }),
2092
+ onMouseleave: (t) => li({
2093
+ datapoint: e,
2094
+ seriesIndex: e.seriesIndex
2095
+ }),
2096
+ innerHTML: fi(e, t)
2097
+ }, null, 44, sn)), [[tt, Y(e) && B.value.dataLabels.show]]) : (w(), y(h, { key: 2 }, [Y(e) && B.value.dataLabels.show ? (w(), y("text", {
2098
+ key: 0,
2099
+ class: "vue-data-ui-datalabel-value",
2100
+ "text-anchor": $r(J.value[t].middlePoint),
2101
+ x: O(n)({
2102
+ initX: J.value[t].middlePoint.x,
2103
+ initY: J.value[t].middlePoint.y,
2104
+ offset: 42,
2105
+ centerX: V.value.width / 2,
2106
+ centerY: V.value.height / 2
2107
+ }).x,
2108
+ y: O(n)({
2109
+ initX: J.value[t].middlePoint.x,
2110
+ initY: J.value[t].middlePoint.y,
2111
+ offset: 42,
2112
+ centerX: V.value.width / 2,
2113
+ centerY: V.value.height / 2
2114
+ }).y,
2115
+ fill: I.value.percentage.color,
2116
+ "font-size": Qn.value,
2117
+ style: C({
2118
+ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out`,
2119
+ fontWeight: I.value.percentage.bold ? "bold" : "normal"
2120
+ }),
2121
+ onClick: (n) => $(e, t),
2122
+ onMouseenter: (n) => Q({
2123
+ datapoint: e,
2124
+ relativeIndex: t,
2125
+ seriesIndex: e.seriesIndex,
2126
+ show: !0
2127
+ }),
2128
+ onMouseleave: (t) => li({
2129
+ datapoint: e,
2130
+ seriesIndex: e.seriesIndex
2131
+ })
2132
+ }, Qe(Ci(e)), 45, cn)) : v("", !0), Y(e, !0, 12) && B.value.dataLabels.show && I.value.name.show ? (w(), y("text", {
2133
+ key: 1,
2134
+ class: "vue-data-ui-datalabel-name",
2135
+ "text-anchor": $r(J.value[t].middlePoint),
2136
+ x: O(n)({
2137
+ initX: J.value[t].middlePoint.x,
2138
+ initY: J.value[t].middlePoint.y,
2139
+ offset: 42,
2140
+ centerX: V.value.width / 2,
2141
+ centerY: V.value.height / 2
2142
+ }).x,
2143
+ y: O(n)({
2144
+ initX: J.value[t].middlePoint.x,
2145
+ initY: J.value[t].middlePoint.y,
2146
+ offset: 42,
2147
+ centerX: V.value.width / 2,
2148
+ centerY: V.value.height / 2
2149
+ }).y + M.value * 1.2,
2150
+ fill: I.value.name.color,
2151
+ "font-size": M.value,
2152
+ style: C({
2153
+ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out`,
2154
+ fontWeight: I.value.name.bold ? "bold" : "normal"
2155
+ }),
2156
+ onClick: (n) => $(e, t),
2157
+ onMouseenter: (n) => Q({
2158
+ datapoint: e,
2159
+ relativeIndex: t,
2160
+ seriesIndex: e.seriesIndex,
2161
+ show: !0
2162
+ }),
2163
+ onMouseleave: (t) => li({
2164
+ datapoint: e,
2165
+ seriesIndex: e.seriesIndex
2166
+ }),
2167
+ innerHTML: O(u)({
2168
+ content: e.name,
2169
+ fontSize: M.value,
2170
+ fill: I.value.name.color,
2171
+ x: O(n)({
2172
+ initX: J.value[t].middlePoint.x,
2173
+ initY: J.value[t].middlePoint.y,
2174
+ offset: 42,
2175
+ centerX: V.value.width / 2,
2176
+ centerY: V.value.height / 2
2177
+ }).x,
2178
+ y: O(n)({
2179
+ initX: J.value[t].middlePoint.x,
2180
+ initY: J.value[t].middlePoint.y,
2181
+ offset: 42,
2182
+ centerX: V.value.width / 2,
2183
+ centerY: V.value.height / 2
2184
+ }).y + M.value * 1.2
2185
+ })
2186
+ }, null, 44, ln)) : v("", !0)], 64))], 64)) : v("", !0)])), B.value.dataLabels.show && R.value.comments.show && e.comment ? (w(), y("g", un, [Y(e) && F.value.type === "classic" ? (w(), y("foreignObject", {
2187
+ key: 0,
2188
+ x: R.value.comments.offsetX + (O(f)(e, !0).anchor === "end" ? O(f)(e).x - R.value.comments.width : O(f)(e, !0).anchor === "middle" ? O(f)(e).x - R.value.comments.width / 2 : O(f)(e).x),
2189
+ y: O(m)(e) + 24 + R.value.comments.offsetY,
2190
+ width: R.value.comments.width,
2191
+ height: "200",
2192
+ style: {
2193
+ overflow: "visible",
2194
+ "pointer-events": "none"
2195
+ }
2196
+ }, [b("div", null, [D(r.$slots, "plot-comment", { plot: {
2197
+ ...e,
2198
+ textAlign: O(f)(e, !0, 16, !0).anchor,
2199
+ flexAlign: O(f)(e, !0, 16).anchor,
2200
+ isFirstLoad: z.value
2201
+ } }, void 0, !0)])], 8, dn)) : v("", !0), Y(e) && F.value.type === "polar" ? (w(), y("foreignObject", {
2202
+ key: 1,
2203
+ x: R.value.comments.offsetX + ($r(J.value[t].middlePoint) === "end" ? O(n)({
2204
+ initX: J.value[t].middlePoint.x,
2205
+ initY: J.value[t].middlePoint.y,
2206
+ offset: 42,
2207
+ centerX: V.value.width / 2,
2208
+ centerY: V.value.height / 2
2209
+ }).x - R.value.comments.width : $r(J.value[t].middlePoint) === "middle" ? O(n)({
2210
+ initX: J.value[t].middlePoint.x,
2211
+ initY: J.value[t].middlePoint.y,
2212
+ offset: 42,
2213
+ centerX: V.value.width / 2,
2214
+ centerY: V.value.height / 2
2215
+ }).x - R.value.comments.width / 2 : O(n)({
2216
+ initX: J.value[t].middlePoint.x,
2217
+ initY: J.value[t].middlePoint.y,
2218
+ offset: 42,
2219
+ centerX: V.value.width / 2,
2220
+ centerY: V.value.height / 2
2221
+ }).x),
2222
+ y: ei(J.value[t]) + R.value.comments.offsetY,
2223
+ width: R.value.comments.width,
2224
+ height: "200",
2225
+ style: C({
2226
+ transition: z.value || !F.value.serieToggleAnimation.show ? "none" : `all ${F.value.serieToggleAnimation.durationMs}ms ease-in-out`,
2227
+ overflow: "visible",
2228
+ pointerEvents: "none"
2229
+ })
2230
+ }, [b("div", null, [D(r.$slots, "plot-comment", { plot: {
2231
+ ...e,
2232
+ textAlign: $r(J.value[t].middlePoint),
2233
+ flexAlign: $r(J.value[t].middlePoint),
2234
+ isFirstLoad: z.value
2235
+ } }, void 0, !0)])], 12, fn)) : v("", !0)])) : v("", !0)], 8, Zt))), 128)),
2236
+ D(r.$slots, "svg", { svg: {
2237
+ ...V.value,
2238
+ datapoints: K.value,
2239
+ isPrintingImg: O(kr) || O(Ar) || O(Li),
2240
+ isPrintingSvg: O(Ri)
2241
+ } }, void 0, !0)
2242
+ ], 512)], 46, ut)), r.$slots.hint ? (w(), y("div", pn, [D(r.$slots, "hint", S(x({
2243
+ hint: F.value.a11y.translations.keyboardNavigation,
2244
+ isVisible: Zn.value
2245
+ })), void 0, !0)])) : v("", !0)]),
2246
+ r.$slots.watermark ? (w(), y("div", mn, [D(r.$slots, "watermark", S(x({ isPrinting: O(kr) || O(Ar) || O(Li) || O(Ri) })), void 0, !0)])) : v("", !0),
2247
+ b("div", { id: `legend-bottom-${N.value}` }, null, 8, hn),
2248
+ Gn.value && (R.value.legend.show || r.$slots.legend) ? (w(), _(Be, {
2249
+ key: 6,
2250
+ to: R.value.legend.position === "top" ? `#legend-top-${N.value}` : `#legend-bottom-${N.value}`
2251
+ }, [b("div", {
2252
+ ref_key: "chartLegend",
2253
+ ref: Ln
2254
+ }, [D(r.$slots, "legend", { legend: Yr.value }, () => [R.value.legend.show ? (w(), _(ze, {
2255
+ key: `legend_${Wn.value}`,
2256
+ legendSet: Yr.value,
2257
+ config: Xr.value,
2258
+ onClickMarker: i[3] ||= ({ i: e }) => Ur(e),
2259
+ isCursorPointer: ur.value
2260
+ }, Ve({
2261
+ item: k(({ legend: e, index: t }) => [b("div", {
2262
+ style: C(`opacity:${W.value.includes(t) ? .5 : 1}`),
2263
+ onClick: (t) => e.segregate()
2264
+ }, Qe(e.display), 13, gn)]),
2265
+ legendToggle: k(() => [Yr.value.length > 2 && R.value.legend.selectAllToggle.show && !O(fr) ? (w(), _(Me, {
2266
+ key: 0,
2267
+ backgroundColor: R.value.legend.selectAllToggle.backgroundColor,
2268
+ color: R.value.legend.selectAllToggle.color,
2269
+ fontSize: R.value.legend.fontSize,
2270
+ checked: W.value.length > 0,
2271
+ isCursorPointer: ur.value,
2272
+ onToggle: Hr
2273
+ }, null, 8, [
2274
+ "backgroundColor",
2275
+ "color",
2276
+ "fontSize",
2277
+ "checked",
2278
+ "isCursorPointer"
2279
+ ])) : v("", !0)]),
2280
+ _: 2
2281
+ }, [r.$slots.pattern ? {
2282
+ name: "legend-pattern",
2283
+ fn: k(({ legend: e, index: t }) => [Ue(De, {
2284
+ shape: e.shape,
2285
+ radius: 30,
2286
+ stroke: "none",
2287
+ plot: {
2288
+ x: 30,
2289
+ y: 30
2290
+ },
2291
+ fill: `url(#pattern_${N.value}_${t})`
2292
+ }, null, 8, ["shape", "fill"])]),
2293
+ key: "0"
2294
+ } : void 0]), 1032, [
2295
+ "legendSet",
2296
+ "config",
2297
+ "isCursorPointer"
2298
+ ])) : v("", !0)], !0)], 512)], 8, ["to"])) : v("", !0),
2299
+ r.$slots.source ? (w(), y("div", {
2300
+ key: 7,
2301
+ ref_key: "source",
2302
+ ref: Bn,
2303
+ dir: "auto"
2304
+ }, [D(r.$slots, "source", {}, void 0, !0)], 512)) : v("", !0),
2305
+ r.$slots.hollow ? (w(), y("div", _n, [D(r.$slots, "hollow", S(x({
2306
+ total: Z.value,
2307
+ average: ai.value,
2308
+ dataset: H.value,
2309
+ ...V.value
2310
+ })), void 0, !0)])) : v("", !0),
2311
+ Ue(O(bn), {
2312
+ teleportTo: R.value.tooltip.teleportTo,
2313
+ show: B.value.showTooltip && ar.value,
2314
+ backgroundColor: R.value.tooltip.backgroundColor,
2315
+ color: R.value.tooltip.color,
2316
+ fontSize: R.value.tooltip.fontSize,
2317
+ borderRadius: R.value.tooltip.borderRadius,
2318
+ borderColor: R.value.tooltip.borderColor,
2319
+ borderWidth: R.value.tooltip.borderWidth,
2320
+ backgroundOpacity: R.value.tooltip.backgroundOpacity,
2321
+ position: R.value.tooltip.position,
2322
+ offsetX: R.value.tooltip.offsetX,
2323
+ offsetY: R.value.tooltip.offsetY,
2324
+ parent: j.value,
2325
+ content: or.value,
2326
+ isCustom: ci.value,
2327
+ isFullscreen: vi.value,
2328
+ smooth: R.value.tooltip.smooth,
2329
+ backdropFilter: R.value.tooltip.backdropFilter,
2330
+ smoothForce: R.value.tooltip.smoothForce,
2331
+ smoothSnapThreshold: R.value.tooltip.smoothSnapThrehsold,
2332
+ isA11yMode: Xn.value === "keyboard",
2333
+ a11yPosition: Yn.value
2334
+ }, {
2335
+ "tooltip-before": k(() => [D(r.$slots, "tooltip-before", S(x({ ...si.value })), void 0, !0)]),
2336
+ tooltip: k(() => [D(r.$slots, "tooltip", S(x({ ...si.value })), void 0, !0)]),
2337
+ "tooltip-after": k(() => [D(r.$slots, "tooltip-after", S(x({ ...si.value })), void 0, !0)]),
2338
+ _: 3
2339
+ }, 8, [
2340
+ "teleportTo",
2341
+ "show",
2342
+ "backgroundColor",
2343
+ "color",
2344
+ "fontSize",
2345
+ "borderRadius",
2346
+ "borderColor",
2347
+ "borderWidth",
2348
+ "backgroundOpacity",
2349
+ "position",
2350
+ "offsetX",
2351
+ "offsetY",
2352
+ "parent",
2353
+ "content",
2354
+ "isCustom",
2355
+ "isFullscreen",
2356
+ "smooth",
2357
+ "backdropFilter",
2358
+ "smoothForce",
2359
+ "smoothSnapThreshold",
2360
+ "isA11yMode",
2361
+ "a11yPosition"
2362
+ ]),
2363
+ Mn.value && F.value.userOptions.buttons.table ? (w(), _(Xe(ji.value.component), Ge({ key: 9 }, ji.value.props, {
2364
+ ref_key: "tableUnit",
2365
+ ref: Kn,
2366
+ onClose: Mi
2367
+ }), Ve({
2368
+ content: k(() => [(w(), _(O(Cn), {
2369
+ key: `table_${Un.value}`,
2370
+ colNames: _i.value.colNames,
2371
+ head: _i.value.head,
2372
+ body: _i.value.body,
2373
+ config: _i.value.config,
2374
+ title: F.value.table.useDialog ? "" : ji.value.title,
2375
+ withCloseButton: !F.value.table.useDialog,
2376
+ isCursorPointer: ur.value,
2377
+ onClose: Mi
2378
+ }, {
2379
+ th: k(({ th: e }) => [e === "__SUM__" ? (w(), y("div", vn, [Ue(O(xn), {
2380
+ name: "sigma",
2381
+ stroke: _i.value.config.th.color,
2382
+ size: 16
2383
+ }, null, 8, ["stroke"])])) : (w(), y("div", yn, Qe(e), 1))]),
2384
+ td: k(({ td: e }) => [He(Qe(e.name ? e.name : isNaN(Number(e)) ? e.includes("%") ? e : O(p)(I.value.percentage.formatter, e, O(t)({
2385
+ v: e,
2386
+ s: "%",
2387
+ r: I.value.percentage.rounding
2388
+ })) : O(p)(I.value.value.formatter, e, O(t)({
2389
+ p: I.value.dataLabels.prefix,
2390
+ v: e,
2391
+ s: I.value.dataLabels.suffix,
2392
+ r: I.value.value.rounding
2393
+ }))), 1)]),
2394
+ _: 1
2395
+ }, 8, [
2396
+ "colNames",
2397
+ "head",
2398
+ "body",
2399
+ "config",
2400
+ "title",
2401
+ "withCloseButton",
2402
+ "isCursorPointer"
2403
+ ]))]),
2404
+ _: 2
2405
+ }, [F.value.table.useDialog ? {
2406
+ name: "title",
2407
+ fn: k(() => [He(Qe(ji.value.title), 1)]),
2408
+ key: "0"
2409
+ } : void 0, F.value.table.useDialog ? {
2410
+ name: "actions",
2411
+ fn: k(() => [b("button", {
2412
+ tabindex: "0",
2413
+ class: "vue-ui-user-options-button",
2414
+ onClick: i[4] ||= (e) => gi(F.value.userOptions.callbacks.csv),
2415
+ style: C({ cursor: ur.value ? "pointer" : "default" })
2416
+ }, [Ue(O(xn), {
2417
+ name: "fileCsv",
2418
+ stroke: ji.value.props.color
2419
+ }, null, 8, ["stroke"])], 4)]),
2420
+ key: "1"
2421
+ } : void 0]), 1040)) : v("", !0),
2422
+ D(r.$slots, "skeleton", {}, () => [O(fr) ? (w(), _(xe, { key: 0 })) : v("", !0)], !0)
2423
+ ], 46, ot));
2424
+ }
2425
+ }, [["__scopeId", "data-v-f5725be5"]]);
2426
+ //#endregion
2427
+ export { at as n, bn as t };