vue-data-ui 3.8.3 → 3.8.4

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 (161) hide show
  1. package/dist/{Arrow-pvqmWZAQ.js → Arrow-i6njovHV.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BYwNgX3M.js → BaseDraggableDialog-C2wzOVzX.js} +2 -2
  3. package/dist/{BaseIcon-CALhpING.js → BaseIcon-_2VlkSHq.js} +1 -1
  4. package/dist/{ColorPicker-B_9b0REv.js → ColorPicker-Y-VfX-24.js} +2 -2
  5. package/dist/{DataTable-Ca1twcf7.js → DataTable-CokMin24.js} +2 -2
  6. package/dist/{Legend-Djkw4FGq.js → Legend-PhhPyrZ0.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-DCQPVA4M.js → NonSvgPenAndPaper-ir3Z1ZAu.js} +3 -3
  8. package/dist/{PackageVersion-C8V4NAR4.js → PackageVersion-BuD3uLvK.js} +1 -1
  9. package/dist/PenAndPaper-CFRubEEG.js +402 -0
  10. package/dist/{Shape-BEGGcaL8.js → Shape-BuBasQnO.js} +1 -1
  11. package/dist/{Slicer-DaUi0o8i.js → Slicer-CVcdknEx.js} +2 -2
  12. package/dist/{SlicerPreview-Bk-h_ANq.js → SlicerPreview-C1EQEgYE.js} +2 -2
  13. package/dist/{SparkTooltip-BWdCP-h3.js → SparkTooltip-yKdo0Bx6.js} +1 -1
  14. package/dist/{Title-CWX8otQg.js → Title-DnykBvFl.js} +1 -1
  15. package/dist/{Tooltip-OHx7yHlS.js → Tooltip-l2pmtXwi.js} +1 -1
  16. package/dist/{UserOptions-ChRXLqps.js → UserOptions-M5A9w5GL.js} +2 -2
  17. package/dist/components/arrow.js +1 -1
  18. package/dist/components/vue-ui-3d-bar.js +1 -1
  19. package/dist/components/vue-ui-accordion.js +1 -1
  20. package/dist/components/vue-ui-age-pyramid.js +1 -1
  21. package/dist/components/vue-ui-annotator.js +1 -1
  22. package/dist/components/vue-ui-bullet.js +1 -1
  23. package/dist/components/vue-ui-candlestick.js +1 -1
  24. package/dist/components/vue-ui-carousel-table.js +1 -1
  25. package/dist/components/vue-ui-chestnut.js +1 -1
  26. package/dist/components/vue-ui-chord.js +1 -1
  27. package/dist/components/vue-ui-circle-pack.js +1 -1
  28. package/dist/components/vue-ui-cursor.js +1 -1
  29. package/dist/components/vue-ui-dag.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +1 -1
  33. package/dist/components/vue-ui-donut.js +1 -1
  34. package/dist/components/vue-ui-dumbbell.js +1 -1
  35. package/dist/components/vue-ui-flow.js +1 -1
  36. package/dist/components/vue-ui-funnel.js +1 -1
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +1 -1
  42. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +1 -1
  47. package/dist/components/vue-ui-mood-radar.js +1 -1
  48. package/dist/components/vue-ui-nested-donuts.js +1 -1
  49. package/dist/components/vue-ui-onion.js +1 -1
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +1 -1
  52. package/dist/components/vue-ui-quick-chart.js +1 -1
  53. package/dist/components/vue-ui-radar.js +1 -1
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +1 -1
  56. package/dist/components/vue-ui-ridgeline.js +1 -1
  57. package/dist/components/vue-ui-rings.js +1 -1
  58. package/dist/components/vue-ui-scatter.js +1 -1
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +1 -1
  63. package/dist/components/vue-ui-sparkgauge.js +1 -1
  64. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  65. package/dist/components/vue-ui-sparkline.js +1 -1
  66. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  67. package/dist/components/vue-ui-stackbar.js +1 -1
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +1 -1
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +1 -1
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +1 -1
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +1 -1
  76. package/dist/components/vue-ui-treemap.js +1 -1
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +1 -1
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +1 -1
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +1 -1
  83. package/dist/components/vue-ui-xy.js +1 -1
  84. package/dist/{dom-to-png-VQEAYRVr.js → dom-to-png-CNmX1SJg.js} +1 -1
  85. package/dist/{img-CwrkWkkl.js → img-C5q4A7ke.js} +1 -1
  86. package/dist/{lib-qMPkcvmh.js → lib-_nVZfi2t.js} +29 -28
  87. package/dist/{pdf-BMMrFX8S.js → pdf-B7obJjyd.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +3 -0
  90. package/dist/{useAutoSizeLabelsInsideViewbox-CY90KinM.js → useAutoSizeLabelsInsideViewbox-Cj4ZcFAh.js} +1 -1
  91. package/dist/{useNestedProp-DH2Pjkde.js → useNestedProp-CNjAKn-Z.js} +5 -1
  92. package/dist/{usePrinter-CjGh4mFJ.js → usePrinter-DXIMGR61.js} +2 -2
  93. package/dist/{vue-data-ui-D9A7BQhW.js → vue-data-ui-DXfEvcys.js} +66 -66
  94. package/dist/vue-data-ui.js +70 -70
  95. package/dist/{vue-ui-3d-bar-T2poQw5J.js → vue-ui-3d-bar-BR7AtlR0.js} +6 -6
  96. package/dist/{vue-ui-accordion-DiNnR-ZE.js → vue-ui-accordion-WOPRF2Tv.js} +3 -3
  97. package/dist/{vue-ui-age-pyramid-Bg81jLU-.js → vue-ui-age-pyramid-DUcx-5pl.js} +6 -6
  98. package/dist/{vue-ui-annotator-D_z1JO0m.js → vue-ui-annotator-BBgWTQxm.js} +7 -7
  99. package/dist/{vue-ui-bullet-Dc9_2igK.js → vue-ui-bullet-e-E8vgoK.js} +7 -7
  100. package/dist/{vue-ui-candlestick-MBTM2NMl.js → vue-ui-candlestick-ofOO-UZd.js} +7 -7
  101. package/dist/{vue-ui-carousel-table-8vsED4Wq.js → vue-ui-carousel-table-Cw9AZ6K_.js} +4 -4
  102. package/dist/{vue-ui-chestnut-BZXP9GIq.js → vue-ui-chestnut-BfxiZIas.js} +5 -5
  103. package/dist/{vue-ui-chord-BNXIEwN9.js → vue-ui-chord-BZplQ2Ah.js} +8 -8
  104. package/dist/{vue-ui-circle-pack-CoCeCgAp.js → vue-ui-circle-pack-65-cbeZq.js} +6 -6
  105. package/dist/{vue-ui-cursor-CJ3Dk0cm.js → vue-ui-cursor-CowLXeRB.js} +3 -3
  106. package/dist/{vue-ui-dag-Dx5iUljS.js → vue-ui-dag-Cnv5koqb.js} +7 -7
  107. package/dist/{vue-ui-dashboard-4XKLCy93.js → vue-ui-dashboard-CH4lfPnJ.js} +68 -68
  108. package/dist/{vue-ui-digits-B7rN8UWS.js → vue-ui-digits-DwsMbBDJ.js} +2 -2
  109. package/dist/{vue-ui-donut-evolution-DMe4W1Q1.js → vue-ui-donut-evolution-DNicvCVK.js} +8 -8
  110. package/dist/vue-ui-donut-gntDZdB4.js +2001 -0
  111. package/dist/{vue-ui-dumbbell-w_aw2ieo.js → vue-ui-dumbbell-CQIJgRxY.js} +7 -7
  112. package/dist/{vue-ui-flow-Cv9rVhMM.js → vue-ui-flow-BUThxO9F.js} +7 -7
  113. package/dist/{vue-ui-funnel-EB2hktyr.js → vue-ui-funnel-fPcBhjoP.js} +6 -6
  114. package/dist/{vue-ui-galaxy-3wmzP-tW.js → vue-ui-galaxy-ClBzduIz.js} +7 -7
  115. package/dist/{vue-ui-gauge-CsXxg1Vv.js → vue-ui-gauge-BnWsuqfT.js} +7 -7
  116. package/dist/{vue-ui-gizmo-Dslss4KX.js → vue-ui-gizmo-B1RWjhoX.js} +3 -3
  117. package/dist/{vue-ui-heatmap-BXTwWTJE.js → vue-ui-heatmap-CdGmGjGH.js} +7 -7
  118. package/dist/{vue-ui-history-plot-ChCZQJ-N.js → vue-ui-history-plot-CyUvc35T.js} +7 -7
  119. package/dist/{vue-ui-horizontal-bar-cQwDfZmn.js → vue-ui-horizontal-bar-CUwFkoh_.js} +13 -13
  120. package/dist/{vue-ui-kpi-B6oDMqQL.js → vue-ui-kpi-BXQvKfTh.js} +3 -3
  121. package/dist/{vue-ui-mini-loader-BXLMnXR4.js → vue-ui-mini-loader-DFBgplMk.js} +2 -2
  122. package/dist/{vue-ui-molecule-XKapMUGW.js → vue-ui-molecule-BTaGK6l7.js} +54 -54
  123. package/dist/{vue-ui-mood-radar-D7Aqu1nJ.js → vue-ui-mood-radar-DIxGLyf6.js} +7 -7
  124. package/dist/{vue-ui-nested-donuts-Cs-eiA--.js → vue-ui-nested-donuts-Buo1qlvt.js} +7 -7
  125. package/dist/{vue-ui-onion-tu3ZEuXB.js → vue-ui-onion-CTRuEQxm.js} +8 -8
  126. package/dist/{vue-ui-parallel-coordinate-plot-CmNq-rJX.js → vue-ui-parallel-coordinate-plot-CX_sxW2v.js} +28 -28
  127. package/dist/{vue-ui-quadrant-Dv-6oPYq.js → vue-ui-quadrant-DmVXReZH.js} +8 -8
  128. package/dist/{vue-ui-quick-chart-CqBEE-YA.js → vue-ui-quick-chart-B9hUcTr6.js} +6 -6
  129. package/dist/{vue-ui-radar-BNhzFURc.js → vue-ui-radar-DCIkshOp.js} +8 -8
  130. package/dist/{vue-ui-rating-CtkV7O_k.js → vue-ui-rating-jjJl1N9l.js} +2 -2
  131. package/dist/{vue-ui-relation-circle-Z8i-RR0i.js → vue-ui-relation-circle-CM2duT_R.js} +7 -7
  132. package/dist/{vue-ui-ridgeline-l6Xx3jn0.js → vue-ui-ridgeline-y7Fwkr-1.js} +8 -8
  133. package/dist/{vue-ui-rings-BRcNv-ei.js → vue-ui-rings-B6HLC79S.js} +8 -8
  134. package/dist/{vue-ui-scatter-Dk2qhJtm.js → vue-ui-scatter-BDp469sU.js} +8 -8
  135. package/dist/{vue-ui-skeleton-CqWtSpp9.js → vue-ui-skeleton-CTivICoM.js} +3 -3
  136. package/dist/{vue-ui-smiley-C-mXyFxi.js → vue-ui-smiley-YLy2xBa-.js} +2 -2
  137. package/dist/{vue-ui-spark-trend-a2qK1MY1.js → vue-ui-spark-trend-B2wOWiSY.js} +3 -3
  138. package/dist/{vue-ui-sparkbar-JGI9eOfS.js → vue-ui-sparkbar-CqwjRMPQ.js} +3 -3
  139. package/dist/{vue-ui-sparkgauge-BeSdViZo.js → vue-ui-sparkgauge-BNv5nBv8.js} +3 -3
  140. package/dist/{vue-ui-sparkhistogram-CWFeGs-k.js → vue-ui-sparkhistogram-ZrALpNpM.js} +4 -4
  141. package/dist/{vue-ui-sparkline-n1ZYLiG9.js → vue-ui-sparkline-D7_6htbE.js} +3 -3
  142. package/dist/{vue-ui-sparkstackbar-ueFrYh65.js → vue-ui-sparkstackbar-BQD6cbOE.js} +3 -3
  143. package/dist/{vue-ui-stackbar-B8YeQsru.js → vue-ui-stackbar-C9KeiS-Q.js} +9 -9
  144. package/dist/{vue-ui-stackline-CHEKZZVr.js → vue-ui-stackline-qJW5y3GA.js} +9 -9
  145. package/dist/{vue-ui-strip-plot-DdiVa06h.js → vue-ui-strip-plot-Bgt_dkJ3.js} +7 -7
  146. package/dist/{vue-ui-table-cj1I--kU.js → vue-ui-table-BvpnTcTk.js} +5 -5
  147. package/dist/{vue-ui-table-heatmap-DODhMbZE.js → vue-ui-table-heatmap-UkSDagXf.js} +10 -10
  148. package/dist/{vue-ui-table-sparkline-BL4kE9rz.js → vue-ui-table-sparkline-D-UoYPFq.js} +4 -4
  149. package/dist/{vue-ui-thermometer-DwCL1CXe.js → vue-ui-thermometer-CCySf8Ei.js} +7 -7
  150. package/dist/{vue-ui-timer-C3f6kBOP.js → vue-ui-timer-D2-YQFf3.js} +5 -5
  151. package/dist/{vue-ui-tiremarks-cJDOMLRT.js → vue-ui-tiremarks-NDuNR9MY.js} +6 -6
  152. package/dist/{vue-ui-treemap-DwEAnLMk.js → vue-ui-treemap-Dzlc-kC5.js} +8 -8
  153. package/dist/{vue-ui-waffle-2pywAYQD.js → vue-ui-waffle-CBBfrQqs.js} +8 -8
  154. package/dist/{vue-ui-wheel-B3Ej8kWP.js → vue-ui-wheel-iFV_KfLw.js} +6 -6
  155. package/dist/{vue-ui-word-cloud-CzExwlyQ.js → vue-ui-word-cloud-DLBK1KRY.js} +6 -6
  156. package/dist/{vue-ui-world-Cq36qyqc.js → vue-ui-world-BinQefwp.js} +6 -6
  157. package/dist/{vue-ui-xy-K_z37RNu.js → vue-ui-xy-BSxvJyZM.js} +9 -9
  158. package/dist/{vue-ui-xy-canvas-Cq-lVd9y.js → vue-ui-xy-canvas-Bl4ZS4GS.js} +10 -10
  159. package/package.json +1 -1
  160. package/dist/PenAndPaper-DscVdZ1u.js +0 -388
  161. package/dist/vue-ui-donut-CoG8zI-8.js +0 -1713
@@ -1,1713 +0,0 @@
1
- import { defineAsyncComponent as le, useSlots as Ll, computed as f, shallowRef as J, ref as b, onMounted as Tt, onBeforeUnmount as Pt, toRefs as Ml, watch as ye, createElementBlock as r, openBlock as s, normalizeStyle as _, normalizeClass as qe, createBlock as oe, createCommentVNode as c, renderSlot as y, createElementVNode as h, createVNode as Se, unref as u, withCtx as m, normalizeProps as O, guardReactiveProps as E, createSlots as We, Fragment as k, renderList as D, mergeProps as je, toDisplayString as U, withDirectives as Dt, createTextVNode as Te, vShow as It, Teleport as Bl, resolveDynamicComponent as zl, nextTick as Ol } from "vue";
2
- import { o as Lt, g as He, k as El, c as Nl, t as Yl, j as Xl, T as Vl, l as Mt, p as ie, a as q, d as N, a2 as Bt, a6 as Rl, X as Gl, s as Pe, h as Ul, a3 as ql, a7 as T, a4 as ge, a5 as x, a8 as zt, f as Wl, i as jl, a0 as Je, u as Hl, q as Jl, x as Kl, a9 as Ot } from "./lib-qMPkcvmh.js";
3
- import { t as Ql, u as Zl } from "./useResponsive-DfdjqQps.js";
4
- import { u as eo, a as Ke } from "./useNestedProp-DH2Pjkde.js";
5
- import { u as to } from "./usePrinter-CjGh4mFJ.js";
6
- import { u as lo, B as oo } from "./BaseScanner-BgWxam9d.js";
7
- import { u as ao } from "./useSvgExport-DrjCWun4.js";
8
- import { u as no } from "./useThemeCheck-DGJ31Vi5.js";
9
- import { u as so } from "./useUserOptionState-BIvW1Kz7.js";
10
- import { u as uo } from "./useChartAccessibility-9icAAmYg.js";
11
- import ro from "./img-CwrkWkkl.js";
12
- import { _ as io } from "./Shape-BEGGcaL8.js";
13
- import co from "./Title-CWX8otQg.js";
14
- import vo from "./Legend-Djkw4FGq.js";
15
- import { _ as ho } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
- const Et = { style: { chart: { backgroundColor: "#1A1A1A", color: "#CCCCCC", layout: { labels: { percentage: { color: "#CCCCCC" }, name: { color: "#CCCCCC" }, hollow: { total: { color: "#CCCCCC", value: { color: "#CCCCCC" } }, average: { color: "#CCCCCC", value: { color: "#CCCCCC" } } } } }, legend: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, title: { color: "#CCCCCC", subtitle: { color: "#757575" } }, tooltip: { backgroundColor: "#1A1A1A", backgroundOpacity: 70, color: "#CCCCCC", borderColor: "#5A5A5A" } } }, table: { th: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, td: { backgroundColor: "#1A1A1A", color: "#CCCCCC" } } }, Nt = { style: { chart: { backgroundColor: "#FFF8E1", color: "#424242", layout: { labels: { percentage: { color: "#424242" }, name: { color: "#424242" }, hollow: { total: { color: "#424242", value: { color: "#424242" } }, average: { color: "#424242", value: { color: "#424242" } } } } }, legend: { backgroundColor: "#FFF8E1", color: "#424242" }, title: { color: "#424242", subtitle: { color: "#757575" } }, tooltip: { backgroundColor: "#FFECB3", backgroundOpacity: 30, color: "#424242", borderColor: "#FF8A65" } } }, table: { th: { backgroundColor: "#FFF8E1", color: "#424242" }, td: { backgroundColor: "#FFF8E1", color: "#424242" } } }, Yt = { style: { chart: { backgroundColor: "#1E1E1E", color: "#BDBDBD", layout: { labels: { percentage: { color: "#BDBDBD" }, name: { color: "#BDBDBD" }, hollow: { total: { color: "#BDBDBD", value: { color: "#BDBDBD" } }, average: { color: "#BDBDBD", value: { color: "#BDBDBD" } } } } }, legend: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } }, tooltip: { backgroundColor: "#1E1E1E", backgroundOpacity: 30, color: "#FFF8E1", borderColor: "#FF8A65" } } }, table: { th: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, td: { backgroundColor: "#1E1E1E", color: "#BDBDBD" } } }, Xt = { style: { chart: { backgroundColor: "#f6f6fb", color: "#50606C", layout: { labels: { percentage: { color: "#61747E" }, name: { color: "#8A9892" }, hollow: { total: { color: "#8A9892", value: { color: "#61747E" } }, average: { color: "#8A9892", value: { color: "#61747E" } } } } }, legend: { backgroundColor: "#f6f6fb", color: "#61747E" }, title: { color: "#50606C", subtitle: { color: "#718890" } }, tooltip: { backgroundColor: "#f6f6fb", color: "#50606C" } } }, table: { th: { backgroundColor: "#f6f6fb", color: "#50606C" }, td: { backgroundColor: "#f6f6fb", color: "#50606C" } } }, Vt = { style: { chart: { backgroundColor: "#1A1A1A", color: "#99AA99", layout: { labels: { percentage: { color: "#AACCAA" }, name: { color: "#99CC99" }, hollow: { total: { color: "#99CC99", value: { color: "#AACCAA" } }, average: { color: "#99CC99", value: { color: "#AACCAA" } } } } }, legend: { backgroundColor: "#1A1A1A", color: "#99AA99" }, title: { color: "#66CC66", subtitle: { color: "#99AA99" } }, tooltip: { backgroundColor: "#2A2F2A", color: "#AACCAA", borderColor: "#66CC66" } } }, table: { th: { backgroundColor: "#1A1A1A", color: "#99AA99" }, td: { backgroundColor: "#1A1A1A", color: "#AACCAA" } } }, Rt = { style: { chart: { backgroundColor: "#fbfafa", color: "#8A9892", layout: { labels: { percentage: { color: "#A0AC94" }, name: { color: "#8A9892" }, hollow: { total: { color: "#8A9892", value: { color: "#A0AC94" } }, average: { color: "#8A9892", value: { color: "#A0AC94" } } } } }, legend: { backgroundColor: "#fbfafa", color: "#99AA99" }, title: { color: "#8A9892", subtitle: { color: "#99AA99" } }, tooltip: { backgroundColor: "#fbfafa", color: "#8A9892" } } }, table: { th: { backgroundColor: "#fbfafa", color: "#8F837A" }, td: { backgroundColor: "#fbfafa", color: "#8F837A" } } }, Gt = {
17
- default: {},
18
- dark: Et,
19
- celebration: Nt,
20
- celebrationNight: Yt,
21
- concrete: Xt,
22
- hack: Vt,
23
- zen: Rt
24
- }, qa = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
25
- __proto__: null,
26
- celebration: Nt,
27
- celebrationNight: Yt,
28
- concrete: Xt,
29
- dark: Et,
30
- default: Gt,
31
- hack: Vt,
32
- zen: Rt
33
- }, Symbol.toStringTag, { value: "Module" })), fo = ["id"], yo = ["id"], go = ["xmlns", "viewBox"], po = ["width", "height"], bo = { key: 1 }, mo = ["id"], wo = ["stop-color"], ko = ["offset", "stop-color"], Co = ["offset", "stop-color"], xo = ["stop-color"], Ao = { key: 2 }, _o = ["id", "cx", "cy"], $o = ["stop-color", "stop-opacity"], Fo = ["stop-color"], So = ["id"], To = ["id"], Po = ["id"], Do = ["flood-color"], Io = ["id"], Lo = ["flood-color"], Mo = ["d", "stroke", "filter"], Bo = ["d", "stroke", "filter"], zo = ["cx", "cy", "r", "fill", "filter"], Oo = { key: 6 }, Eo = ["stroke", "d"], No = ["d", "fill", "stroke", "stroke-width", "filter"], Yo = { key: 0 }, Xo = ["d", "fill", "stroke", "stroke-width", "filter"], Vo = { key: 0 }, Ro = ["stroke", "d"], Go = { key: 0 }, Uo = ["d", "stroke", "stroke-width", "filter"], qo = { key: 1 }, Wo = ["d", "fill", "stroke", "stroke-width", "filter"], jo = ["d", "fill", "stroke", "stroke-width", "filter"], Ho = { key: 1 }, Jo = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ko = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Qo = { key: 0 }, Zo = ["d", "fill", "stroke", "stroke-width"], ea = ["cx", "cy", "r", "stroke"], ta = ["cx", "cy", "r", "fill"], la = ["cx", "cy", "r"], oa = { key: 0 }, aa = ["d", "stroke", "fill", "onMouseenter", "onMouseleave", "onClick"], na = { key: 1 }, sa = ["cx", "cy", "r"], ua = ["x", "y", "fill", "font-size"], ra = ["x", "y", "fill", "font-size"], ia = ["x", "y", "fill", "font-size"], ca = ["x", "y", "fill", "font-size"], va = ["filter"], da = { key: 0 }, ha = ["x", "y"], fa = { key: 1 }, ya = ["cx", "cy", "fill", "stroke", "filter", "onClick", "onMouseenter", "onMouseleave"], ga = ["cx", "cy", "fill", "stroke", "filter", "onClick", "onMouseenter", "onMouseleave"], pa = ["text-anchor", "x", "y", "fill", "font-size", "onClick", "onMouseenter", "onMouseleave"], ba = ["text-anchor", "x", "y", "fill", "font-size", "onClick", "innerHTML"], ma = ["text-anchor", "x", "y", "fill", "font-size", "onClick", "onMouseenter", "onMouseleave"], wa = ["text-anchor", "x", "y", "fill", "font-size", "onClick", "innerHTML"], ka = { key: 2 }, Ca = ["x", "y", "width"], xa = ["x", "y", "width"], Aa = {
34
- key: 4,
35
- class: "vue-data-ui-watermark"
36
- }, _a = ["id"], $a = ["onClick"], Fa = {
37
- key: 7,
38
- class: "vue-ui-donut-hollow"
39
- }, Sa = ["innerHTML"], Ta = {
40
- __name: "vue-ui-donut",
41
- props: {
42
- config: {
43
- type: Object,
44
- default() {
45
- return {};
46
- }
47
- },
48
- dataset: {
49
- type: Array,
50
- default() {
51
- return [];
52
- }
53
- }
54
- },
55
- emits: ["selectLegend", "selectDatapoint"],
56
- setup(Qe, { expose: Ut, emit: qt }) {
57
- const Wt = le(() => import("./Tooltip-OHx7yHlS.js")), jt = le(() => import("./BaseIcon-CALhpING.js")), Ht = le(() => import("./vue-ui-accordion-DiNnR-ZE.js")), Jt = le(() => import("./DataTable-Ca1twcf7.js")), Kt = le(() => import("./PenAndPaper-DscVdZ1u.js")), Qt = le(() => import("./UserOptions-ChRXLqps.js")), Zt = le(() => import("./PackageVersion-C8V4NAR4.js")), el = le(() => import("./BaseDraggableDialog-BYwNgX3M.js")), { vue_ui_donut: tl } = eo(), { isThemeValid: ll, warnInvalidTheme: ol } = no(), al = Ll(), C = Qe, we = f({
58
- get() {
59
- return !!C.dataset && C.dataset.length;
60
- },
61
- set(t) {
62
- return t;
63
- }
64
- }), Y = J(null), ke = b(null), nl = b(null), sl = b(null), Ze = J(null), et = J(null), K = J(null), ce = J(null), tt = J(null), lt = J(null), ot = b(0), at = b(0), nt = b(0), st = b(!1), pe = b(null), De = b(null), Ce = f({
65
- get: () => e.value.style.chart.layout.labels.percentage.fontSize,
66
- set: (t) => t
67
- }), Q = f({
68
- get: () => e.value.style.chart.layout.labels.name.fontSize,
69
- set: (t) => t
70
- });
71
- let Ie = !1;
72
- const W = () => {
73
- !e.value.autoSize || Ie || (Ie = !0, requestAnimationFrame(() => {
74
- Ie = !1;
75
- const t = e.value, a = ke.value, l = ae.value;
76
- if (!t.autoSize || !a || !l) return;
77
- const [o, i, d, w] = l.getAttribute("viewBox").split(" ").map(Number), $ = { x: o, y: i, width: d, height: w }, B = [
78
- {
79
- selector: ".vue-data-ui-datalabel-value",
80
- baseSize: t.style.chart.layout.labels.percentage.fontSize,
81
- minSize: t.style.chart.layout.labels.percentage.minFontSize,
82
- sizeRef: Ce
83
- },
84
- {
85
- selector: ".vue-data-ui-datalabel-name",
86
- baseSize: t.style.chart.layout.labels.name.fontSize,
87
- minSize: t.style.chart.layout.labels.name.minFontSize,
88
- sizeRef: Q
89
- }
90
- ];
91
- B.map((G) => a.querySelectorAll(G.selector).length).reduce((G, te) => G + te, 0) !== 0 && B.forEach(({ selector: G, baseSize: te, minSize: Ue, sizeRef: Pl }) => {
92
- a.querySelectorAll(G).forEach((Dl) => {
93
- const Il = Wl({
94
- el: Dl,
95
- bounds: $,
96
- currentFontSize: te,
97
- minFontSize: Ue,
98
- attempts: 200,
99
- padding: 1
100
- });
101
- Pl.value = Il;
102
- });
103
- });
104
- }));
105
- };
106
- Tt(async () => {
107
- st.value = !0, ut(), requestAnimationFrame(W);
108
- });
109
- let Le;
110
- Tt(() => {
111
- Y.value && (Le = new ResizeObserver((t) => {
112
- for (const a of t) {
113
- const { width: l, height: o } = a.contentRect;
114
- if (l > 0 && o > 0) {
115
- W();
116
- break;
117
- }
118
- }
119
- }), Le.observe(Y.value.parentElement));
120
- }), Pt(() => {
121
- Le?.disconnect();
122
- }), Pt(() => {
123
- K.value && (ce.value && K.value.unobserve(ce.value), K.value.disconnect());
124
- });
125
- const Me = f(() => !!e.value.debug);
126
- function ut() {
127
- if (Lt(C.dataset) ? (He({
128
- componentName: "VueUiDonut",
129
- type: "dataset",
130
- debug: Me.value
131
- }), we.value = !1, Ae.value = !0) : (C.dataset.forEach((t, a) => {
132
- El({
133
- datasetObject: t,
134
- requiredAttributes: ["name", "values"]
135
- }).forEach((l) => {
136
- He({
137
- componentName: "VueUiDonut",
138
- type: "datasetSerieAttribute",
139
- property: l,
140
- index: a,
141
- debug: Me.value
142
- }), we.value = !1, Ae.value = !0;
143
- });
144
- }), C.dataset.forEach((t, a) => {
145
- (!t.name || t.name === "") && He({
146
- componentName: "VueUiDonut",
147
- type: "datasetAttributeEmpty",
148
- property: "name",
149
- index: a,
150
- debug: Me.value
151
- });
152
- })), Lt(C.dataset) || (Ae.value = e.value.loading), e.value.responsive) {
153
- const t = Ql(() => {
154
- const { width: a, height: l } = Zl({
155
- chart: Y.value,
156
- title: e.value.style.chart.title.text ? Ze.value : null,
157
- legend: e.value.style.chart.legend.show ? et.value : null,
158
- source: tt.value,
159
- noTitle: lt.value,
160
- padding: e.value.autoSize ? void 0 : dt.value
161
- });
162
- requestAnimationFrame(() => {
163
- n.value.width = a, n.value.height = l, W();
164
- });
165
- });
166
- K.value && (ce.value && K.value.unobserve(ce.value), K.value.disconnect()), K.value = new ResizeObserver(t), ce.value = Y.value.parentNode, K.value.observe(ce.value);
167
- }
168
- }
169
- const g = b(Nl()), Be = b(!1), ze = b(""), X = b(null), rt = b(0);
170
- function Oe() {
171
- const t = Ke({
172
- userConfig: C.config,
173
- defaultConfig: tl
174
- });
175
- let a = {};
176
- const l = t.theme;
177
- if (!l)
178
- a = t;
179
- else if (!ll.value(t))
180
- ol(t), a = t;
181
- else {
182
- const o = Ke({
183
- userConfig: Gt[l] || C.config,
184
- defaultConfig: t
185
- });
186
- a = {
187
- ...Ke({
188
- userConfig: C.config,
189
- defaultConfig: o
190
- }),
191
- customPalette: t.customPalette.length ? t.customPalette : jl[l] || ie
192
- };
193
- }
194
- return C.config && Je(C.config, "events.datapointEnter") ? a.events.datapointEnter = C.config.events.datapointEnter : a.events.datapointEnter = null, C.config && Je(C.config, "events.datapointLeave") ? a.events.datapointLeave = C.config.events.datapointLeave : a.events.datapointLeave = null, C.config && Je(C.config, "events.datapointClick") ? a.events.datapointClick = C.config.events.datapointClick : a.events.datapointClick = null, a;
195
- }
196
- const e = b(Oe()), { loading: xe, FINAL_DATASET: ve, manualLoading: Ae, skeletonDataset: ul } = lo({
197
- ...Ml(C),
198
- FINAL_CONFIG: e,
199
- prepareConfig: Oe,
200
- skeletonDataset: [
201
- {
202
- name: "",
203
- values: [3],
204
- color: "#BABABA"
205
- },
206
- {
207
- name: "",
208
- values: [2],
209
- color: "#AAAAAA"
210
- },
211
- {
212
- name: "",
213
- values: [1],
214
- color: "#CACACA"
215
- }
216
- ],
217
- skeletonConfig: Yl({
218
- defaultConfig: e.value,
219
- userConfig: {
220
- useCssAnimation: !1,
221
- table: { show: !1 },
222
- startAnimation: {
223
- show: !1
224
- },
225
- userOptions: { show: !1 },
226
- style: {
227
- chart: {
228
- backgroundColor: "#99999930",
229
- layout: {
230
- labels: {
231
- dataLabels: { show: !1 },
232
- hollow: {
233
- average: { show: !1 },
234
- total: { show: !1 }
235
- },
236
- value: { show: !1 }
237
- }
238
- },
239
- legend: {
240
- backgroundColor: "transparent",
241
- showValue: !1,
242
- showPercentage: !1
243
- },
244
- title: {
245
- color: "#1A1A1A",
246
- subtitle: {
247
- color: "#5A5A5A"
248
- }
249
- }
250
- }
251
- }
252
- }
253
- })
254
- }), F = b(!0), j = J([]);
255
- function rl(t, a = 1e3, l = 50) {
256
- return new Promise((o) => {
257
- const i = t.length;
258
- j.value = Array(i).fill(0);
259
- let d = 0;
260
- t.forEach((w, $) => {
261
- setTimeout(() => {
262
- const B = performance.now();
263
- function z(G) {
264
- const te = Math.min((G - B) / a, 1), Ue = Ot(te);
265
- j.value[$] = w * Ue, j.value = [...j.value], te < 1 ? (requestAnimationFrame(z), requestAnimationFrame(W)) : (j.value[$] = w, j.value = [...j.value], d += 1, d === i && o(), requestAnimationFrame(W));
266
- }
267
- requestAnimationFrame(z);
268
- }, $ * l);
269
- });
270
- });
271
- }
272
- const it = b(!1);
273
- ye(
274
- () => xe.value,
275
- async (t) => {
276
- if (t || it.value) return;
277
- const a = ve.value === ul, l = e.value.startAnimation?.show;
278
- if (!a && l) {
279
- it.value = !0;
280
- const o = ve.value.map(
281
- (i) => i.values.reduce((d, w) => d + w, 0)
282
- );
283
- await rl(
284
- o,
285
- e.value.startAnimation.durationMs,
286
- e.value.startAnimation.staggerMs
287
- );
288
- }
289
- F.value = !1;
290
- },
291
- { immediate: !0 }
292
- );
293
- const { userOptionsVisible: Ee, setUserOptionsVisibility: ct, keepUserOptionState: vt } = so({ config: e.value }), { svgRef: ae } = uo({ config: e.value.style.chart.title });
294
- function il() {
295
- ct(!0);
296
- }
297
- function cl() {
298
- ct(!1);
299
- }
300
- ye(() => C.config, (t) => {
301
- xe.value || (e.value = Oe()), Ee.value = !e.value.userOptions.showOnChartHover, ut(), ot.value += 1, at.value += 1, nt.value += 1, p.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, p.value.showTable = e.value.table.show, p.value.showTooltip = e.value.style.chart.tooltip.show, n.value.height = e.value.style.chart.height, n.value.width = e.value.style.chart.width;
302
- }, { deep: !0 });
303
- const dt = f(() => {
304
- const { top: t, right: a, bottom: l, left: o } = e.value.style.chart.padding;
305
- return {
306
- css: `padding:${t}px ${a}px ${l}px ${o}px`,
307
- top: t,
308
- right: a,
309
- bottom: l,
310
- left: o
311
- };
312
- }), { isPrinting: ht, isImaging: ft, generatePdf: yt, generateImage: gt } = to({
313
- elementId: `donut__${g.value}`,
314
- fileName: e.value.style.chart.title.text || "vue-ui-donut",
315
- options: e.value.userOptions.print
316
- }), vl = f(() => e.value.userOptions.show && !e.value.style.chart.title.text), pt = f(() => Xl(e.value.customPalette)), p = b({
317
- dataLabels: {
318
- show: e.value.style.chart.layout.labels.dataLabels.show
319
- },
320
- showTable: e.value.table.show,
321
- showTooltip: e.value.style.chart.tooltip.show
322
- });
323
- ye(e, () => {
324
- p.value = {
325
- dataLabels: {
326
- show: e.value.style.chart.layout.labels.dataLabels.show
327
- },
328
- showTable: e.value.table.show,
329
- showTooltip: e.value.style.chart.tooltip.show
330
- };
331
- }, { immediate: !0 });
332
- const n = b({
333
- height: e.value.style.chart.height,
334
- width: e.value.style.chart.width
335
- }), ne = f(() => {
336
- if (e.value.pie)
337
- return A.value;
338
- const t = e.value.style.chart.layout.donut.strokeWidth / 512, a = Math.min(n.value.width, n.value.height) * t, l = a > A.value ? A.value : a;
339
- return Math.max(l, 12 * (1 + t));
340
- }), bt = qt, I = f(() => ve.value.map((t, a) => ({
341
- name: t.name,
342
- color: Mt(t.color) || pt.value[a] || ie[a] || ie[a % ie.length],
343
- value: Vl(t.values.reduce((l, o) => l + o, 0)),
344
- absoluteValues: t.values,
345
- comment: t.comment || "",
346
- patternIndex: a,
347
- seriesIndex: a,
348
- ghost: !1,
349
- pattern: `pattern_${g.value}_${a}`
350
- })));
351
- ye(() => C.dataset, (t) => {
352
- Array.isArray(t) && t.length > 0 && (Ae.value = !1);
353
- }, { immediate: !0 });
354
- const L = J(I.value);
355
- ye(() => I.value, (t) => {
356
- L.value = t, requestAnimationFrame(W);
357
- });
358
- function dl() {
359
- return I.value.map((t) => ({
360
- name: t.name,
361
- color: t.color,
362
- value: t.value
363
- }));
364
- }
365
- const M = b([]), se = b(!1);
366
- function mt({ from: t, to: a, duration: l, onUpdate: o, onDone: i, easing: d = Ot }) {
367
- const w = performance.now();
368
- function $(B) {
369
- const z = Math.min((B - w) / l, 1), G = d(z), te = t + (a - t) * G;
370
- o(te, z), z < 1 ? requestAnimationFrame($) : (o(a, 1), i && i());
371
- }
372
- requestAnimationFrame($);
373
- }
374
- function _e(t) {
375
- const a = I.value.find((i, d) => d === t);
376
- let o = L.value.find((i, d) => d === t).value;
377
- if (M.value.includes(t)) {
378
- let d = function() {
379
- L.value = L.value.map(
380
- ($, B) => t === B ? { ...$, value: i } : $
381
- );
382
- }, w = function() {
383
- se.value = !0, mt({
384
- from: o,
385
- to: i,
386
- duration: e.value.serieToggleAnimation.durationMs,
387
- onUpdate: ($, B) => {
388
- L.value = L.value.map(
389
- (z, G) => t === G ? { ...z, value: $ } : z
390
- ), requestAnimationFrame(W);
391
- },
392
- onDone: () => {
393
- d(), se.value = !1;
394
- }
395
- });
396
- };
397
- M.value = M.value.filter(($) => $ !== t);
398
- const i = a.value;
399
- e.value.serieToggleAnimation.show && e.value.type === "classic" ? w() : (d(), requestAnimationFrame(W));
400
- } else if (M.value.length < I.value.length - 1) {
401
- let i = function() {
402
- M.value.push(t), L.value = L.value.map(
403
- (w, $) => t === $ ? { ...w, value: 0 } : w
404
- );
405
- }, d = function() {
406
- se.value = !0, mt({
407
- from: o,
408
- to: 0,
409
- duration: e.value.serieToggleAnimation.durationMs,
410
- onUpdate: (w, $) => {
411
- L.value = L.value.map(
412
- (B, z) => t === z ? { ...B, value: w } : B
413
- ), requestAnimationFrame(W);
414
- },
415
- onDone: () => {
416
- i(), requestAnimationFrame(W), se.value = !1;
417
- }
418
- });
419
- };
420
- e.value.serieToggleAnimation.show && e.value.type === "classic" ? d() : i();
421
- }
422
- bt("selectLegend", H.value.map((i) => ({
423
- name: i.name,
424
- color: i.color,
425
- value: i.value
426
- })));
427
- }
428
- function wt(t) {
429
- if (!I.value.length)
430
- return e.value.debug && console.warn("VueUiDonut - There are no series to show."), null;
431
- const a = I.value.find((l) => l.name === t);
432
- return a || (e.value.debug && console.warn(`VueUiDonut - Series name not found "${t}"`), null);
433
- }
434
- function hl(t) {
435
- const a = wt(t);
436
- a !== null && M.value.includes(a.seriesIndex) && _e(a.seriesIndex);
437
- }
438
- function fl(t) {
439
- const a = wt(t);
440
- a !== null && (M.value.includes(a.seriesIndex) || _e(a.seriesIndex));
441
- }
442
- const yl = f(() => ve.value.reduce((t, a) => t + a.values.reduce((l, o) => l + o, 0), 0)), H = f(() => {
443
- if (F.value && !xe.value) {
444
- const t = j.value.map((l, o) => ({
445
- ...I.value[o],
446
- value: l,
447
- color: I.value[o].color,
448
- ghost: !1
449
- })), a = yl.value - j.value.reduce((l, o) => l + o, 0);
450
- return a > 0 && t.push({
451
- name: "__ghost__",
452
- value: a,
453
- color: "transparent",
454
- ghost: !0
455
- }), t;
456
- } else
457
- return L.value.forEach((t, a) => {
458
- if ([null, void 0].includes(t.values))
459
- return {
460
- ...t,
461
- values: []
462
- };
463
- }), L.value.map((t, a) => ({
464
- ...t,
465
- seriesIndex: a
466
- })).filter((t, a) => !M.value.includes(a));
467
- }), Ne = f(() => ve.value.map((t, a) => {
468
- const l = (t.values || []).reduce((i, d) => i + d, 0), o = l / ve.value.map((i) => (i.values || []).reduce((d, w) => d + w, 0)).reduce((i, d) => i + d, 0);
469
- return {
470
- name: t.name,
471
- color: Mt(t.color) || pt.value[a] || ie[a] || ie[a % ie.length],
472
- value: l,
473
- shape: "circle",
474
- patternIndex: a,
475
- proportion: o
476
- };
477
- }).map((t, a) => ({
478
- ...t,
479
- opacity: M.value.includes(a) ? 0.5 : 1,
480
- segregate: () => !se.value && _e(a),
481
- isSegregated: M.value.includes(a),
482
- display: `${t.name}${e.value.style.chart.legend.showPercentage || e.value.style.chart.legend.showValue ? ": " : ""}${e.value.style.chart.legend.showValue ? q(e.value.style.chart.layout.labels.value.formatter, t.value, N({
483
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
484
- v: t.value,
485
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
486
- r: e.value.style.chart.legend.roundingValue
487
- }), { datapoint: t, index: a }) : ""}${e.value.style.chart.legend.showPercentage ? M.value.includes(a) ? `${e.value.style.chart.legend.showValue ? "(" : ""}${kl(t.proportion * 100)}%${e.value.style.chart.legend.showValue ? ")" : ""}` : `${e.value.style.chart.legend.showValue ? " (" : ""}${isNaN(t.value / P.value) ? "-" : q(e.value.style.chart.layout.labels.percentage.formatter, kt(t), N({
488
- v: kt(t),
489
- s: "%",
490
- r: e.value.style.chart.legend.roundingPercentage
491
- }))}${e.value.style.chart.legend.showValue ? ")" : ""}` : ""}`
492
- }))), gl = f(() => ({
493
- cy: "donut-div-legend",
494
- backgroundColor: e.value.style.chart.legend.backgroundColor,
495
- color: e.value.style.chart.legend.color,
496
- fontSize: e.value.style.chart.legend.fontSize,
497
- paddingBottom: 12,
498
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
499
- })), A = f(() => {
500
- const t = e.value.style.chart.layout.donut.radiusRatio, a = Math.max(0.1, Math.min(0.50001, t)), l = Math.min(n.value.width * a, n.value.height * a);
501
- return Math.max(12, l);
502
- }), S = f(() => Bt({ series: H.value }, n.value.width / 2, n.value.height / 2, A.value, A.value, 1.99999, 2, 1, 360, 105.25, ne.value)), pl = f(() => Math.abs(H.value.map((t) => t.value).reduce((t, a) => t + a, 0)) > 0), bl = f(() => Bt({
503
- series: [
504
- {
505
- value: 1,
506
- color: e.value.style.chart.layout.donut.emptyFill,
507
- name: "_",
508
- seriesIndex: 0,
509
- patternIndex: -1,
510
- ghost: !1,
511
- absoluteValues: [1]
512
- }
513
- ]
514
- }, n.value.width / 2, n.value.height / 2, A.value, A.value, 1.99999, 2, 1, 360, 105.25, ne.value)), V = f(() => S.value.filter((t) => !t.ghost)), v = f(() => {
515
- const t = Math.max(...H.value.map((l) => l.value)), a = H.value.map((l) => l.value / t);
516
- return Rl({
517
- series: a,
518
- center: {
519
- x: n.value.width / 2,
520
- y: n.value.height / 2
521
- },
522
- maxRadius: Math.min(n.value.width, n.value.height) / 3,
523
- hasGhost: F.value
524
- });
525
- });
526
- function de(t) {
527
- return t.x > n.value.width / 2 + 6 ? "start" : t.x < n.value.width / 2 - 6 ? "end" : "middle";
528
- }
529
- function ml(t) {
530
- return t.middlePoint.y > n.value.height / 2 ? T({ initX: t.middlePoint.x, initY: t.middlePoint.y, offset: 100, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y : T({ initX: t.middlePoint.x, initY: t.middlePoint.y, offset: 0, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y - 100;
531
- }
532
- function R(t) {
533
- return t.proportion * 100 > e.value.style.chart.layout.labels.dataLabels.hideUnderValue;
534
- }
535
- function Ye(t, a) {
536
- const l = t.value / wl(a);
537
- return isNaN(l) ? 0 : q(
538
- e.value.style.chart.layout.labels.percentage.formatter,
539
- l * 100,
540
- N({
541
- v: l * 100,
542
- s: "%",
543
- r: e.value.style.chart.layout.labels.percentage.rounding
544
- }),
545
- { datapoint: t }
546
- );
547
- }
548
- function wl(t) {
549
- return [...t].map((a) => a.value).reduce((a, l) => a + l, 0);
550
- }
551
- const P = f(() => H.value.map((t) => t.value).reduce((t, a) => t + a, 0)), Xe = f(() => P.value / H.value.length);
552
- function kt(t) {
553
- return se.value ? t.proportion * 100 : t.value / P.value * 100;
554
- }
555
- const Ve = b(null), be = b(!1);
556
- function he({ datapoint: t, seriesIndex: a }) {
557
- e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: a }), Be.value = !1, X.value = null;
558
- }
559
- function fe({ datapoint: t, relativeIndex: a, seriesIndex: l, show: o = !1 }) {
560
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: l }), Ve.value = { datapoint: t, seriesIndex: l, config: e.value, series: I.value }, Be.value = o, X.value = a;
561
- let i = "";
562
- const d = e.value.style.chart.tooltip.customFormat;
563
- if (be.value = !1, Kl(d))
564
- try {
565
- const w = d({
566
- seriesIndex: l,
567
- datapoint: t,
568
- series: I.value,
569
- config: e.value
570
- });
571
- typeof w == "string" && (ze.value = w, be.value = !0);
572
- } catch {
573
- console.warn("Custom format cannot be applied."), be.value = !1;
574
- }
575
- if (!be.value) {
576
- if (i += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`, i += `<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="${t.color}"/>${al.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${g.value}_${l})"/>` : ""}</svg>`, e.value.style.chart.tooltip.showValue && (i += `<b>${q(
577
- e.value.style.chart.layout.labels.value.formatter,
578
- t.value,
579
- N({
580
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
581
- v: t.value,
582
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
583
- r: e.value.style.chart.tooltip.roundingValue
584
- }),
585
- {
586
- datapoint: t,
587
- relativeIndex: a,
588
- seriesIndex: l
589
- }
590
- )}</b>`), e.value.style.chart.tooltip.showPercentage) {
591
- const w = q(
592
- e.value.style.chart.layout.labels.percentage.formatter,
593
- t.proportion * 100,
594
- N({
595
- v: t.proportion * 100,
596
- s: "%",
597
- r: e.value.style.chart.tooltip.roundingPercentage
598
- }),
599
- {
600
- datapoint: t,
601
- relativeIndex: a,
602
- seriesIndex: l
603
- }
604
- );
605
- e.value.style.chart.tooltip.showValue ? i += `<span>(${w})</span></div>` : i += `<b>${w}</b></div>`;
606
- }
607
- e.value.style.chart.comments.showInTooltip && t.comment && (i += `<div class="vue-data-ui-tooltip-comment" style="background:${t.color}20; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${t.color}">${t.comment}</div>`), ze.value = `<div>${i}</div>`;
608
- }
609
- }
610
- function ue(t) {
611
- return e.value.useBlurOnHover && ![null, void 0].includes(X.value) && X.value !== t ? `url(#blur_${g.value})` : "";
612
- }
613
- const Z = f(() => {
614
- const t = H.value.map((l) => ({
615
- name: l.name,
616
- color: l.color
617
- })), a = H.value.map((l) => l.value);
618
- return { head: t, body: a };
619
- });
620
- function Re(t = null) {
621
- Ol(() => {
622
- const a = Z.value.head.map((i, d) => [[
623
- i.name
624
- ], [Z.value.body[d]], [isNaN(Z.value.body[d] / P.value) ? "-" : Z.value.body[d] / P.value * 100]]), l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(a), o = Hl(l);
625
- t ? t(o) : Jl({ csvContent: o, title: e.value.style.chart.title.text || "vue-ui-donut" });
626
- });
627
- }
628
- const $e = f(() => {
629
- const t = [
630
- ' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',
631
- N({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: P.value, s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue }),
632
- "100%"
633
- ], a = Z.value.head.map((i, d) => [
634
- {
635
- color: i.color,
636
- name: i.name || "-"
637
- },
638
- Z.value.body[d],
639
- isNaN(Z.value.body[d] / P.value) ? "-" : (Z.value.body[d] / P.value * 100).toFixed(e.value.table.td.roundingPercentage) + "%"
640
- ]), l = {
641
- th: {
642
- backgroundColor: e.value.table.th.backgroundColor,
643
- color: e.value.table.th.color,
644
- outline: e.value.table.th.outline
645
- },
646
- td: {
647
- backgroundColor: e.value.table.td.backgroundColor,
648
- color: e.value.table.td.color,
649
- outline: e.value.table.td.outline
650
- },
651
- breakpoint: e.value.table.responsiveBreakpoint
652
- };
653
- return {
654
- colNames: [
655
- e.value.table.columnNames.series,
656
- e.value.table.columnNames.value,
657
- e.value.table.columnNames.percentage
658
- ],
659
- head: t,
660
- body: a,
661
- config: l
662
- };
663
- }), re = b(!1);
664
- function Ct(t) {
665
- re.value = t, rt.value += 1;
666
- }
667
- const xt = f(() => /^((?!chrome|android).)*safari/i.test(navigator.userAgent));
668
- function kl(t) {
669
- return t.toFixed(e.value.style.chart.legend.roundingPercentage).split("").map((a) => "-").join("");
670
- }
671
- function ee(t, a) {
672
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: t.seriesIndex }), bt("selectDatapoint", { datapoint: t, index: a });
673
- }
674
- function At() {
675
- p.value.showTable = !p.value.showTable;
676
- }
677
- function _t() {
678
- p.value.dataLabels.show = !p.value.dataLabels.show;
679
- }
680
- function $t() {
681
- p.value.showTooltip = !p.value.showTooltip;
682
- }
683
- const Fe = b(!1);
684
- function Ge() {
685
- Fe.value = !Fe.value;
686
- }
687
- async function Cl({ scale: t = 2 } = {}) {
688
- if (!Y.value) return;
689
- const { width: a, height: l } = Y.value.getBoundingClientRect(), o = a / l, { imageUri: i, base64: d } = await ro({ domElement: Y.value, base64: !0, img: !0, scale: t });
690
- return {
691
- imageUri: i,
692
- base64: d,
693
- title: e.value.style.chart.title.text,
694
- width: a,
695
- height: l,
696
- aspectRatio: o
697
- };
698
- }
699
- function xl() {
700
- if (!ke.value) return;
701
- const { x: t, y: a, width: l, height: o } = ke.value.getBBox();
702
- ae.value && ae.value.setAttribute("viewBox", `${t} ${a} ${l + Math.min(0, t)} ${o + Math.min(0, a)}`);
703
- }
704
- const me = f(() => {
705
- const t = e.value.table.useDialog && !e.value.table.show, a = p.value.showTable;
706
- return {
707
- component: t ? el : Ht,
708
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
709
- props: t ? {
710
- backgroundColor: e.value.table.th.backgroundColor,
711
- color: e.value.table.th.color,
712
- headerColor: e.value.table.th.color,
713
- headerBg: e.value.table.th.backgroundColor,
714
- isFullscreen: re.value,
715
- fullscreenParent: Y.value,
716
- forcedWidth: Math.min(500, window.innerWidth * 0.8)
717
- } : {
718
- hideDetails: !0,
719
- config: {
720
- open: a,
721
- maxHeight: 1e4,
722
- body: {
723
- backgroundColor: e.value.style.chart.backgroundColor,
724
- color: e.value.style.chart.color
725
- },
726
- head: {
727
- backgroundColor: e.value.style.chart.backgroundColor,
728
- color: e.value.style.chart.color
729
- }
730
- }
731
- }
732
- };
733
- });
734
- ye(() => p.value.showTable, (t) => {
735
- e.value.table.show || (t && e.value.table.useDialog && pe.value ? pe.value.open() : "close" in pe.value && pe.value.close());
736
- });
737
- function Ft() {
738
- p.value.showTable = !1, De.value && De.value.setTableIconState(!1);
739
- }
740
- const Al = f(() => Ne.value.map((t) => ({
741
- ...t,
742
- name: t.display
743
- }))), _l = f(() => e.value.style.chart.backgroundColor), $l = f(() => e.value.style.chart.legend), Fl = f(() => e.value.style.chart.title), { exportSvg: Sl, getSvg: Tl } = ao({
744
- svg: ae,
745
- title: Fl,
746
- legend: $l,
747
- legendItems: Al,
748
- backgroundColor: _l
749
- });
750
- async function St({ isCb: t }) {
751
- if (t) {
752
- const { blob: a, url: l, text: o, dataUrl: i } = await Tl();
753
- e.value.userOptions.callbacks.svg({ blob: a, url: l, text: o, dataUrl: i });
754
- } else
755
- Sl();
756
- }
757
- return Ut({
758
- autoSize: xl,
759
- getData: dl,
760
- getImage: Cl,
761
- generatePdf: yt,
762
- generateCsv: Re,
763
- generateImage: gt,
764
- generateSvg: St,
765
- hideSeries: fl,
766
- showSeries: hl,
767
- toggleTable: At,
768
- toggleLabels: _t,
769
- toggleTooltip: $t,
770
- toggleAnnotator: Ge,
771
- toggleFullscreen: Ct
772
- }), (t, a) => (s(), r("div", {
773
- ref_key: "donutChart",
774
- ref: Y,
775
- class: qe(`vue-data-ui-component vue-ui-donut ${re.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
776
- style: _(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height:100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
777
- id: `donut__${g.value}`,
778
- onMouseenter: il,
779
- onMouseleave: cl
780
- }, [
781
- e.value.userOptions.buttons.annotator && u(ae) ? (s(), oe(u(Kt), {
782
- key: 0,
783
- color: e.value.style.chart.color,
784
- backgroundColor: e.value.style.chart.backgroundColor,
785
- active: Fe.value,
786
- svgRef: u(ae),
787
- onClose: Ge
788
- }, {
789
- "annotator-action-close": m(() => [
790
- y(t.$slots, "annotator-action-close", {}, void 0, !0)
791
- ]),
792
- "annotator-action-color": m(({ color: l }) => [
793
- y(t.$slots, "annotator-action-color", O(E({ color: l })), void 0, !0)
794
- ]),
795
- "annotator-action-draw": m(({ mode: l }) => [
796
- y(t.$slots, "annotator-action-draw", O(E({ mode: l })), void 0, !0)
797
- ]),
798
- "annotator-action-undo": m(({ disabled: l }) => [
799
- y(t.$slots, "annotator-action-undo", O(E({ disabled: l })), void 0, !0)
800
- ]),
801
- "annotator-action-redo": m(({ disabled: l }) => [
802
- y(t.$slots, "annotator-action-redo", O(E({ disabled: l })), void 0, !0)
803
- ]),
804
- "annotator-action-delete": m(({ disabled: l }) => [
805
- y(t.$slots, "annotator-action-delete", O(E({ disabled: l })), void 0, !0)
806
- ]),
807
- _: 3
808
- }, 8, ["color", "backgroundColor", "active", "svgRef"])) : c("", !0),
809
- y(t.$slots, "userConfig", {}, void 0, !0),
810
- vl.value ? (s(), r("div", {
811
- key: 1,
812
- ref_key: "noTitle",
813
- ref: lt,
814
- class: "vue-data-ui-no-title-space",
815
- style: "height:36px; width: 100%;background:transparent"
816
- }, null, 512)) : c("", !0),
817
- e.value.style.chart.title.text ? (s(), r("div", {
818
- key: 2,
819
- ref_key: "chartTitle",
820
- ref: Ze,
821
- style: "width:100%;background:transparent;padding-bottom:24px"
822
- }, [
823
- (s(), oe(co, {
824
- key: `title_${ot.value}`,
825
- config: {
826
- title: {
827
- cy: "donut-div-title",
828
- ...e.value.style.chart.title
829
- },
830
- subtitle: {
831
- cy: "donut-div-subtitle",
832
- ...e.value.style.chart.title.subtitle
833
- }
834
- }
835
- }, null, 8, ["config"]))
836
- ], 512)) : c("", !0),
837
- h("div", {
838
- id: `legend-top-${g.value}`
839
- }, null, 8, yo),
840
- e.value.userOptions.show && we.value && (u(vt) || u(Ee)) ? (s(), oe(u(Qt), {
841
- ref_key: "userOptionsRef",
842
- ref: De,
843
- key: `user_option_${rt.value}`,
844
- backgroundColor: e.value.style.chart.backgroundColor,
845
- color: e.value.style.chart.color,
846
- isPrinting: u(ht),
847
- isImaging: u(ft),
848
- uid: g.value,
849
- hasTooltip: e.value.style.chart.tooltip.show && e.value.userOptions.buttons.tooltip,
850
- hasPdf: e.value.userOptions.buttons.pdf,
851
- hasImg: e.value.userOptions.buttons.img,
852
- hasSvg: e.value.userOptions.buttons.svg,
853
- hasXls: e.value.userOptions.buttons.csv,
854
- hasTable: e.value.userOptions.buttons.table,
855
- hasLabel: e.value.userOptions.buttons.labels,
856
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
857
- isFullscreen: re.value,
858
- chartElement: Y.value,
859
- position: e.value.userOptions.position,
860
- callbacks: e.value.userOptions.callbacks,
861
- isTooltip: p.value.showTooltip,
862
- titles: { ...e.value.userOptions.buttonTitles },
863
- hasAnnotator: e.value.userOptions.buttons.annotator,
864
- isAnnotation: Fe.value,
865
- printScale: e.value.userOptions.print.scale,
866
- tableDialog: e.value.table.useDialog,
867
- onToggleFullscreen: Ct,
868
- onGeneratePdf: u(yt),
869
- onGenerateCsv: Re,
870
- onGenerateImage: u(gt),
871
- onGenerateSvg: St,
872
- onToggleTable: At,
873
- onToggleLabels: _t,
874
- onToggleTooltip: $t,
875
- onToggleAnnotator: Ge,
876
- style: _({ visibility: u(vt) ? u(Ee) ? "visible" : "hidden" : "visible" })
877
- }, We({ _: 2 }, [
878
- t.$slots.menuIcon ? {
879
- name: "menuIcon",
880
- fn: m(({ isOpen: l, color: o }) => [
881
- y(t.$slots, "menuIcon", O(E({ isOpen: l, color: o })), void 0, !0)
882
- ]),
883
- key: "0"
884
- } : void 0,
885
- t.$slots.optionTooltip ? {
886
- name: "optionTooltip",
887
- fn: m(() => [
888
- y(t.$slots, "optionTooltip", {}, void 0, !0)
889
- ]),
890
- key: "1"
891
- } : void 0,
892
- t.$slots.optionPdf ? {
893
- name: "optionPdf",
894
- fn: m(() => [
895
- y(t.$slots, "optionPdf", {}, void 0, !0)
896
- ]),
897
- key: "2"
898
- } : void 0,
899
- t.$slots.optionCsv ? {
900
- name: "optionCsv",
901
- fn: m(() => [
902
- y(t.$slots, "optionCsv", {}, void 0, !0)
903
- ]),
904
- key: "3"
905
- } : void 0,
906
- t.$slots.optionImg ? {
907
- name: "optionImg",
908
- fn: m(() => [
909
- y(t.$slots, "optionImg", {}, void 0, !0)
910
- ]),
911
- key: "4"
912
- } : void 0,
913
- t.$slots.optionSvg ? {
914
- name: "optionSvg",
915
- fn: m(() => [
916
- y(t.$slots, "optionSvg", {}, void 0, !0)
917
- ]),
918
- key: "5"
919
- } : void 0,
920
- t.$slots.optionTable ? {
921
- name: "optionTable",
922
- fn: m(() => [
923
- y(t.$slots, "optionTable", {}, void 0, !0)
924
- ]),
925
- key: "6"
926
- } : void 0,
927
- t.$slots.optionLabels ? {
928
- name: "optionLabels",
929
- fn: m(() => [
930
- y(t.$slots, "optionLabels", {}, void 0, !0)
931
- ]),
932
- key: "7"
933
- } : void 0,
934
- t.$slots.optionFullscreen ? {
935
- name: "optionFullscreen",
936
- fn: m(({ toggleFullscreen: l, isFullscreen: o }) => [
937
- y(t.$slots, "optionFullscreen", O(E({ toggleFullscreen: l, isFullscreen: o })), void 0, !0)
938
- ]),
939
- key: "8"
940
- } : void 0,
941
- t.$slots.optionAnnotator ? {
942
- name: "optionAnnotator",
943
- fn: m(({ toggleAnnotator: l, isAnnotator: o }) => [
944
- y(t.$slots, "optionAnnotator", O(E({ toggleAnnotator: l, isAnnotator: o })), void 0, !0)
945
- ]),
946
- key: "9"
947
- } : void 0
948
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasLabel", "hasFullscreen", "isFullscreen", "chartElement", "position", "callbacks", "isTooltip", "titles", "hasAnnotator", "isAnnotation", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : c("", !0),
949
- (s(), r("svg", {
950
- ref_key: "svgRef",
951
- ref: ae,
952
- xmlns: u(Gl),
953
- class: qe({ "vue-data-ui-fullscreen--on": re.value, "vue-data-ui-fulscreen--off": !re.value, "vue-data-ui-svg": !0 }),
954
- viewBox: `0 0 ${n.value.width <= 0 ? 10 : n.value.width} ${n.value.height <= 0 ? 10 : n.value.height}`,
955
- style: _(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color};${dt.value.css}`)
956
- }, [
957
- h("g", {
958
- ref_key: "G",
959
- ref: ke,
960
- class: "vue-data-ui-g"
961
- }, [
962
- Se(u(Zt)),
963
- t.$slots["chart-background"] ? (s(), r("foreignObject", {
964
- key: 0,
965
- x: 0,
966
- y: 0,
967
- width: n.value.width <= 0 ? 10 : n.value.width,
968
- height: n.value.height <= 0 ? 10 : n.value.height,
969
- style: {
970
- pointerEvents: "none"
971
- }
972
- }, [
973
- y(t.$slots, "chart-background", {}, void 0, !0)
974
- ], 8, po)) : c("", !0),
975
- e.value.type === "classic" && !isNaN(ne.value / A.value) ? (s(), r("defs", bo, [
976
- e.value.style.chart.useGradient ? (s(), r("radialGradient", {
977
- key: 0,
978
- id: `gradient_${g.value}`
979
- }, [
980
- h("stop", {
981
- offset: "0%",
982
- "stop-color": u(Pe)(e.value.style.chart.backgroundColor, 0),
983
- "stop-opacity": "0"
984
- }, null, 8, wo),
985
- h("stop", {
986
- offset: `${(1 - ne.value / A.value) * 100}%`,
987
- "stop-color": u(Pe)("#FFFFFF", 0),
988
- "stop-opacity": "0"
989
- }, null, 8, ko),
990
- h("stop", {
991
- offset: `${(1 - ne.value / A.value / 2) * 100}%`,
992
- "stop-color": u(Pe)("#FFFFFF", e.value.style.chart.gradientIntensity)
993
- }, null, 8, Co),
994
- h("stop", {
995
- offset: "100%",
996
- "stop-color": u(Pe)(e.value.style.chart.backgroundColor, 0),
997
- "stop-opacity": "0"
998
- }, null, 8, xo)
999
- ], 8, mo)) : c("", !0)
1000
- ])) : c("", !0),
1001
- e.value.type === "polar" ? (s(), r("defs", Ao, [
1002
- (s(!0), r(k, null, D(v.value, (l, o) => (s(), r("radialGradient", {
1003
- id: `polar_gradient_${o}_${g.value}`,
1004
- cx: (isNaN(l.middlePoint.x / n.value.width * 100) ? 0 : l.middlePoint.x / n.value.width * 100) + "%",
1005
- cy: (isNaN(l.middlePoint.y / n.value.height * 100) ? 0 : l.middlePoint.y / n.value.height * 100) + "%",
1006
- r: "62%"
1007
- }, [
1008
- h("stop", {
1009
- offset: "0%",
1010
- "stop-color": u(Ul)(S.value[o].color, 0.05),
1011
- "stop-opacity": e.value.style.chart.gradientIntensity / 100
1012
- }, null, 8, $o),
1013
- h("stop", {
1014
- offset: "100%",
1015
- "stop-color": S.value[o].color
1016
- }, null, 8, Fo)
1017
- ], 8, _o))), 256))
1018
- ])) : c("", !0),
1019
- h("defs", null, [
1020
- h("filter", {
1021
- id: `blur_${g.value}`,
1022
- x: "-50%",
1023
- y: "-50%",
1024
- width: "200%",
1025
- height: "200%"
1026
- }, [
1027
- h("feGaussianBlur", {
1028
- in: "SourceGraphic",
1029
- stdDeviation: 2,
1030
- id: `blur_std_${g.value}`
1031
- }, null, 8, To),
1032
- a[5] || (a[5] = h("feColorMatrix", {
1033
- type: "saturate",
1034
- values: "0"
1035
- }, null, -1))
1036
- ], 8, So),
1037
- h("filter", {
1038
- id: `shadow_${g.value}`,
1039
- "color-interpolation-filters": "sRGB"
1040
- }, [
1041
- h("feDropShadow", {
1042
- dx: "0",
1043
- dy: "0",
1044
- stdDeviation: "10",
1045
- "flood-opacity": "0.5",
1046
- "flood-color": e.value.style.chart.layout.donut.shadowColor
1047
- }, null, 8, Do)
1048
- ], 8, Po),
1049
- h("filter", {
1050
- id: `drop_shadow_${g.value}`,
1051
- "color-interpolation-filters": "sRGB",
1052
- x: "-50%",
1053
- y: "-50%",
1054
- width: "200%",
1055
- height: "200%"
1056
- }, [
1057
- h("feDropShadow", {
1058
- dx: "0",
1059
- dy: "0",
1060
- stdDeviation: "3",
1061
- "flood-opacity": "1",
1062
- "flood-color": e.value.style.chart.layout.donut.shadowColor
1063
- }, null, 8, Lo)
1064
- ], 8, Io)
1065
- ]),
1066
- e.value.type === "classic" ? (s(!0), r(k, { key: 3 }, D(S.value.filter((l) => !l.ghost), (l, o) => (s(), r("g", null, [
1067
- R(l) && p.value.dataLabels.show ? (s(), r("path", {
1068
- key: 0,
1069
- d: u(ql)(l, { x: n.value.width / 2, y: n.value.height / 2 }, 16, 16, !1, !1, ne.value, 12, e.value.style.chart.layout.curvedMarkers),
1070
- stroke: l.color,
1071
- "stroke-width": "1",
1072
- "stroke-linecap": "round",
1073
- "stroke-linejoin": "round",
1074
- fill: "none",
1075
- filter: ue(o)
1076
- }, null, 8, Mo)) : c("", !0)
1077
- ]))), 256)) : c("", !0),
1078
- e.value.type === "polar" ? (s(!0), r(k, { key: 4 }, D(S.value.filter((l) => !l.ghost), (l, o) => (s(), r("g", null, [
1079
- R(l) && p.value.dataLabels.show ? (s(), r("path", {
1080
- key: 0,
1081
- d: `M ${u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 24, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x},${u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 24, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y} ${v.value[o].middlePoint.x},${v.value[o].middlePoint.y}`,
1082
- stroke: l.color,
1083
- "stroke-width": "1",
1084
- "stroke-linecap": "round",
1085
- "stroke-linejoin": "round",
1086
- fill: "none",
1087
- filter: ue(o),
1088
- style: _({
1089
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1090
- })
1091
- }, null, 12, Bo)) : c("", !0)
1092
- ]))), 256)) : c("", !0),
1093
- e.value.type === "classic" && e.value.style.chart.layout.donut.useShadow ? (s(), r("circle", {
1094
- key: 5,
1095
- cx: n.value.width / 2,
1096
- cy: n.value.height / 2,
1097
- r: A.value <= 0 ? 10 : A.value,
1098
- fill: e.value.style.chart.backgroundColor,
1099
- filter: `url(#shadow_${g.value})`
1100
- }, null, 8, zo)) : c("", !0),
1101
- t.$slots.pattern ? (s(), r("g", Oo, [
1102
- (s(!0), r(k, null, D(Qe.dataset, (l, o) => (s(), r("defs", {
1103
- key: `pattern-${l.patternIndex}`
1104
- }, [
1105
- y(t.$slots, "pattern", je({ ref_for: !0 }, { seriesIndex: o, patternId: `pattern_${g.value}_${o}` }), void 0, !0)
1106
- ]))), 128))
1107
- ])) : c("", !0),
1108
- P.value && e.value.type === "classic" ? (s(), r(k, { key: 7 }, [
1109
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1110
- stroke: e.value.style.chart.backgroundColor,
1111
- d: l.arcSlice,
1112
- fill: "#FFFFFF"
1113
- }, null, 8, Eo))), 256)),
1114
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1115
- class: "vue-ui-donut-arc-path",
1116
- d: l.arcSlice,
1117
- fill: l.color,
1118
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1119
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
1120
- filter: ue(o)
1121
- }, null, 8, No))), 256)),
1122
- t.$slots.pattern ? (s(), r("g", Yo, [
1123
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1124
- class: "vue-ui-donut-arc-path",
1125
- d: l.arcSlice,
1126
- fill: `url(#${l.pattern})`,
1127
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1128
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
1129
- filter: ue(o)
1130
- }, null, 8, Xo))), 256))
1131
- ])) : c("", !0)
1132
- ], 64)) : c("", !0),
1133
- P.value && e.value.type === "polar" ? (s(), r(k, { key: 8 }, [
1134
- S.value.length > 1 ? (s(), r("g", Vo, [
1135
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1136
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1137
- d: v.value[o].path,
1138
- fill: "#FFFFFF",
1139
- style: _({
1140
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1141
- })
1142
- }, null, 12, Ro))), 256)),
1143
- e.value.style.chart.layout.donut.useShadow ? (s(), r("g", Go, [
1144
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1145
- class: "vue-ui-donut-arc-path",
1146
- d: v.value[o].path,
1147
- fill: "transparent",
1148
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1149
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
1150
- filter: `url(#drop_shadow_${g.value})`,
1151
- style: _({
1152
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1153
- })
1154
- }, null, 12, Uo))), 256))
1155
- ])) : c("", !0),
1156
- t.$slots.pattern ? (s(), r("g", qo, [
1157
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1158
- class: "vue-ui-donut-arc-path",
1159
- d: v.value[o].path,
1160
- fill: `url(#${l.pattern})`,
1161
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1162
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
1163
- filter: ue(o),
1164
- style: _({
1165
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1166
- transformOrigin: "center"
1167
- })
1168
- }, null, 12, Wo))), 256))
1169
- ])) : c("", !0),
1170
- (s(!0), r(k, null, D(V.value, (l, o) => (s(), r("path", {
1171
- class: "vue-ui-donut-arc-path",
1172
- d: v.value[o].path,
1173
- fill: e.value.style.chart.useGradient ? `url(#polar_gradient_${o}_${g.value})` : l.color,
1174
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1175
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
1176
- filter: ue(o),
1177
- style: _({
1178
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1179
- })
1180
- }, null, 12, jo))), 256))
1181
- ])) : (s(), r("g", Ho, [
1182
- t.$slots.pattern ? (s(), r("circle", {
1183
- key: 0,
1184
- cx: n.value.width / 2,
1185
- cy: n.value.height / 2,
1186
- r: A.value,
1187
- fill: `url(#pattern_${g.value}_${S.value[0].patternIndex})`,
1188
- stroke: e.value.style.chart.backgroundColor,
1189
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
1190
- }, null, 8, Jo)) : c("", !0),
1191
- h("circle", {
1192
- cx: n.value.width / 2,
1193
- cy: n.value.height / 2,
1194
- r: A.value,
1195
- fill: e.value.style.chart.useGradient ? `url(#polar_gradient_0_${g.value})` : S.value[0].color,
1196
- stroke: e.value.style.chart.backgroundColor,
1197
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
1198
- }, null, 8, Ko)
1199
- ]))
1200
- ], 64)) : (s(), r(k, { key: 9 }, [
1201
- e.value.type === "classic" && !pl.value ? (s(), r("g", Qo, [
1202
- (s(!0), r(k, null, D(bl.value, (l, o) => (s(), r("path", {
1203
- class: "vue-ui-donut-arc-path",
1204
- d: l.arcSlice,
1205
- fill: l.color,
1206
- stroke: e.value.style.chart.backgroundColor,
1207
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
1208
- }, null, 8, Zo))), 256))
1209
- ])) : c("", !0),
1210
- h("circle", {
1211
- cx: n.value.width / 2,
1212
- cy: n.value.height / 2,
1213
- r: A.value <= 0 ? 10 : A.value,
1214
- fill: "transparent",
1215
- stroke: e.value.style.chart.backgroundColor
1216
- }, null, 8, ea)
1217
- ], 64)),
1218
- e.value.style.chart.useGradient && e.value.type === "classic" ? (s(), r("circle", {
1219
- key: 10,
1220
- cx: n.value.width / 2,
1221
- cy: n.value.height / 2,
1222
- r: (
1223
- /* This might require adjustments */
1224
- A.value <= 0 ? 10 : A.value
1225
- ),
1226
- fill: `url(#gradient_${g.value})`
1227
- }, null, 8, ta)) : c("", !0),
1228
- h("circle", {
1229
- ref_key: "circle_hollow",
1230
- ref: sl,
1231
- style: { pointerEvents: "none" },
1232
- fill: "none",
1233
- cx: n.value.width / 2,
1234
- cy: n.value.height / 2,
1235
- r: Math.max(0.1, ne.value * 1.7)
1236
- }, null, 8, la),
1237
- P.value ? (s(), r(k, { key: 11 }, [
1238
- S.value.length > 1 || e.value.type === "classic" ? (s(), r("g", oa, [
1239
- (s(!0), r(k, null, D(S.value.filter((l) => !l.ghost), (l, o) => (s(), r("path", {
1240
- d: e.value.type === "classic" ? l.arcSlice : v.value[o].path,
1241
- stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
1242
- fill: X.value === o ? e.value.style.chart.layout.donut.selectedColor : "transparent",
1243
- onMouseenter: (i) => fe({
1244
- datapoint: l,
1245
- relativeIndex: o,
1246
- seriesIndex: l.seriesIndex,
1247
- show: !0
1248
- }),
1249
- onMouseleave: (i) => he({ datapoint: l, seriesIndex: l.seriesIndex }),
1250
- onClick: (i) => ee(l, o)
1251
- }, null, 40, aa))), 256))
1252
- ])) : (s(), r("g", na, [
1253
- h("circle", {
1254
- cx: n.value.width / 2,
1255
- cy: n.value.height / 2,
1256
- r: A.value,
1257
- fill: "transparent",
1258
- onMouseenter: a[0] || (a[0] = (l) => fe({
1259
- datapoint: S.value[0],
1260
- relativeIndex: 0,
1261
- seriesIndex: S.value[0].seriesIndex,
1262
- show: !0
1263
- })),
1264
- onMouseleave: a[1] || (a[1] = (l) => he({ datapoint: S.value[0], seriesIndex: S.value[0].seriesIndex })),
1265
- onClick: a[2] || (a[2] = (l) => ee(S.value[0], t.i))
1266
- }, null, 40, sa)
1267
- ]))
1268
- ], 64)) : c("", !0),
1269
- e.value.type === "classic" ? (s(), r("g", {
1270
- key: 12,
1271
- ref_key: "G_hollow",
1272
- ref: nl,
1273
- class: "vue-data-ui-donut-hollow-labels"
1274
- }, [
1275
- e.value.style.chart.layout.labels.hollow.total.show ? (s(), r("text", {
1276
- key: 0,
1277
- "text-anchor": "middle",
1278
- x: n.value.width / 2,
1279
- y: n.value.height / 2 - (e.value.style.chart.layout.labels.hollow.average.show ? e.value.style.chart.layout.labels.hollow.total.fontSize : 0) + e.value.style.chart.layout.labels.hollow.total.offsetY,
1280
- fill: e.value.style.chart.layout.labels.hollow.total.color,
1281
- "font-size": e.value.style.chart.layout.labels.hollow.total.fontSize,
1282
- style: _(`font-weight:${e.value.style.chart.layout.labels.hollow.total.bold ? "bold" : ""}`)
1283
- }, U(e.value.style.chart.layout.labels.hollow.total.text), 13, ua)) : c("", !0),
1284
- e.value.style.chart.layout.labels.hollow.total.show ? (s(), r("text", {
1285
- key: 1,
1286
- "text-anchor": "middle",
1287
- x: n.value.width / 2,
1288
- y: n.value.height / 2 + e.value.style.chart.layout.labels.hollow.total.fontSize - (e.value.style.chart.layout.labels.hollow.average.show ? e.value.style.chart.layout.labels.hollow.total.fontSize : 0) + e.value.style.chart.layout.labels.hollow.total.value.offsetY,
1289
- fill: e.value.style.chart.layout.labels.hollow.total.value.color,
1290
- "font-size": e.value.style.chart.layout.labels.hollow.total.value.fontSize,
1291
- style: _(`font-weight:${e.value.style.chart.layout.labels.hollow.total.value.bold ? "bold" : ""}`)
1292
- }, U(u(q)(
1293
- e.value.style.chart.layout.labels.hollow.total.value.formatter,
1294
- P.value,
1295
- u(N)({
1296
- p: e.value.style.chart.layout.labels.hollow.total.value.prefix,
1297
- v: P.value,
1298
- s: e.value.style.chart.layout.labels.hollow.total.value.suffix
1299
- })
1300
- )), 13, ra)) : c("", !0),
1301
- e.value.style.chart.layout.labels.hollow.average.show ? (s(), r("text", {
1302
- key: 2,
1303
- "text-anchor": "middle",
1304
- x: n.value.width / 2,
1305
- y: n.value.height / 2 + (e.value.style.chart.layout.labels.hollow.total.show ? e.value.style.chart.layout.labels.hollow.average.fontSize : 0) + e.value.style.chart.layout.labels.hollow.average.offsetY,
1306
- fill: e.value.style.chart.layout.labels.hollow.average.color,
1307
- "font-size": e.value.style.chart.layout.labels.hollow.average.fontSize,
1308
- style: _(`font-weight:${e.value.style.chart.layout.labels.hollow.average.bold ? "bold" : ""}`)
1309
- }, U(e.value.style.chart.layout.labels.hollow.average.text), 13, ia)) : c("", !0),
1310
- e.value.style.chart.layout.labels.hollow.average.show ? (s(), r("text", {
1311
- key: 3,
1312
- "text-anchor": "middle",
1313
- x: n.value.width / 2,
1314
- y: n.value.height / 2 + (e.value.style.chart.layout.labels.hollow.total.show ? e.value.style.chart.layout.labels.hollow.average.fontSize : 0) + e.value.style.chart.layout.labels.hollow.average.fontSize + e.value.style.chart.layout.labels.hollow.average.value.offsetY,
1315
- fill: e.value.style.chart.layout.labels.hollow.average.value.color,
1316
- "font-size": e.value.style.chart.layout.labels.hollow.average.value.fontSize,
1317
- style: _(`font-weight:${e.value.style.chart.layout.labels.hollow.average.value.bold ? "bold" : ""}`)
1318
- }, U(se.value || F.value ? "--" : u(q)(
1319
- e.value.style.chart.layout.labels.hollow.average.value.formatter,
1320
- Xe.value,
1321
- u(N)({
1322
- p: e.value.style.chart.layout.labels.hollow.average.value.prefix,
1323
- v: Xe.value,
1324
- s: e.value.style.chart.layout.labels.hollow.average.value.suffix,
1325
- r: e.value.style.chart.layout.labels.hollow.average.value.rounding
1326
- })
1327
- )), 13, ca)) : c("", !0)
1328
- ], 512)) : c("", !0),
1329
- (s(!0), r(k, null, D(V.value.filter((l) => !l.ghost), (l, o) => (s(), r("g", {
1330
- filter: ue(o),
1331
- class: qe({ animated: e.value.useCssAnimation }),
1332
- key: l.seriesIndex
1333
- }, [
1334
- e.value.style.chart.layout.labels.dataLabels.useLabelSlots ? (s(), r("g", da, [
1335
- (s(), r("foreignObject", {
1336
- x: u(x)(l, !0).anchor === "end" ? u(x)(l).x - 120 : u(x)(l, !0).anchor === "middle" ? u(x)(l).x - 60 : u(x)(l).x,
1337
- y: u(ge)(l) - (xt.value ? 20 : 0),
1338
- width: "120",
1339
- height: "60",
1340
- style: { overflow: "visible" }
1341
- }, [
1342
- h("div", null, [
1343
- y(t.$slots, "dataLabel", je({ ref_for: !0 }, {
1344
- datapoint: l,
1345
- isBlur: !e.value.useBlurOnHover || [null, void 0].includes(X.value) || X.value === o,
1346
- isSafari: xt.value,
1347
- isVisible: R(l) && p.value.dataLabels.show,
1348
- textAlign: u(x)(l, !0, 16, !0).anchor,
1349
- flexAlign: u(x)(l, !0, 16).anchor,
1350
- percentage: Ye(l, V.value)
1351
- }), void 0, !0)
1352
- ])
1353
- ], 8, ha))
1354
- ])) : (s(), r("g", fa, [
1355
- e.value.type === "classic" ? (s(), r(k, { key: 0 }, [
1356
- R(l) && p.value.dataLabels.show ? (s(), r("circle", {
1357
- key: 0,
1358
- cx: u(x)(l).x,
1359
- cy: u(ge)(l) - 3.5,
1360
- fill: l.color,
1361
- stroke: e.value.style.chart.backgroundColor,
1362
- "stroke-width": 1,
1363
- r: 3,
1364
- filter: !e.value.useBlurOnHover || [null, void 0].includes(X.value) || X.value === o ? "" : `url(#blur_${g.value})`,
1365
- onClick: (i) => ee(l, o),
1366
- onMouseenter: (i) => fe({
1367
- datapoint: l,
1368
- relativeIndex: o,
1369
- seriesIndex: l.seriesIndex,
1370
- show: !0
1371
- }),
1372
- onMouseleave: (i) => he({ datapoint: l, seriesIndex: l.seriesIndex })
1373
- }, null, 40, ya)) : c("", !0)
1374
- ], 64)) : c("", !0),
1375
- e.value.type === "polar" ? (s(), r(k, { key: 1 }, [
1376
- R(l) && p.value.dataLabels.show ? (s(), r("circle", {
1377
- key: 0,
1378
- cx: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 24, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x,
1379
- cy: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 24, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y,
1380
- fill: l.color,
1381
- stroke: e.value.style.chart.backgroundColor,
1382
- "stroke-width": 1,
1383
- r: 3,
1384
- filter: !e.value.useBlurOnHover || [null, void 0].includes(X.value) || X.value === o ? "" : `url(#blur_${g.value})`,
1385
- onClick: (i) => ee(l, o),
1386
- onMouseenter: (i) => fe({
1387
- datapoint: l,
1388
- relativeIndex: o,
1389
- seriesIndex: l.seriesIndex,
1390
- show: !0
1391
- }),
1392
- onMouseleave: (i) => he({ datapoint: l, seriesIndex: l.seriesIndex }),
1393
- style: _({
1394
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1395
- })
1396
- }, null, 44, ga)) : c("", !0)
1397
- ], 64)) : c("", !0),
1398
- e.value.type === "classic" ? (s(), r(k, { key: 2 }, [
1399
- Dt(h("text", {
1400
- class: "vue-data-ui-datalabel-value",
1401
- "text-anchor": u(x)(l, !0, 12).anchor,
1402
- x: u(x)(l, !0, 12).x,
1403
- y: u(ge)(l),
1404
- fill: e.value.style.chart.layout.labels.percentage.color,
1405
- "font-size": Ce.value + "px",
1406
- style: _(`font-weight:${e.value.style.chart.layout.labels.percentage.bold ? "bold" : ""}`),
1407
- onClick: (i) => ee(l, o),
1408
- onMouseenter: (i) => fe({
1409
- datapoint: l,
1410
- relativeIndex: o,
1411
- seriesIndex: l.seriesIndex,
1412
- show: !0
1413
- }),
1414
- onMouseleave: (i) => he({ datapoint: l, seriesIndex: l.seriesIndex })
1415
- }, U(Ye(l, V.value)) + " " + U(e.value.style.chart.layout.labels.value.show ? `(${u(q)(
1416
- e.value.style.chart.layout.labels.value.formatter,
1417
- l.value,
1418
- u(N)({
1419
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1420
- v: l.value,
1421
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1422
- r: e.value.style.chart.layout.labels.value.rounding
1423
- }),
1424
- { datapoint: l }
1425
- )})` : ""), 45, pa), [
1426
- [It, R(l) && p.value.dataLabels.show]
1427
- ]),
1428
- Dt(h("text", {
1429
- class: "vue-data-ui-datalabel-name",
1430
- "text-anchor": u(x)(l).anchor,
1431
- x: u(x)(l, !0, 12).x,
1432
- y: u(ge)(l) + Q.value * 1.2,
1433
- fill: e.value.style.chart.layout.labels.name.color,
1434
- "font-size": Q.value + "px",
1435
- style: _(`font-weight:${e.value.style.chart.layout.labels.name.bold ? "bold" : ""}`),
1436
- onClick: (i) => ee(l, o),
1437
- innerHTML: u(zt)({
1438
- content: l.name,
1439
- fontSize: Q.value,
1440
- fill: e.value.style.chart.layout.labels.name.color,
1441
- x: u(x)(l, !0, 12).x,
1442
- y: u(ge)(l) + Q.value
1443
- })
1444
- }, null, 12, ba), [
1445
- [It, R(l) && p.value.dataLabels.show]
1446
- ]),
1447
- a[6] || (a[6] = Te(' @mouseenter="useTooltip({ datapoint: arc, relativeIndex: i, seriesIndex: arc.seriesIndex, show: true })" @mouseleave="handleDatapointLeave({ datapoint: arc, seriesIndex: arc.seriesIndex })" /> ', -1))
1448
- ], 64)) : c("", !0),
1449
- e.value.type === "polar" ? (s(), r(k, { key: 3 }, [
1450
- R(l) && p.value.dataLabels.show ? (s(), r("text", {
1451
- key: 0,
1452
- class: "vue-data-ui-datalabel-value",
1453
- "text-anchor": de(v.value[o].middlePoint),
1454
- x: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x,
1455
- y: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y,
1456
- fill: e.value.style.chart.layout.labels.percentage.color,
1457
- "font-size": Ce.value,
1458
- style: _({
1459
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1460
- fontWeight: e.value.style.chart.layout.labels.percentage.bold ? "bold" : "normal"
1461
- }),
1462
- onClick: (i) => ee(l, o),
1463
- onMouseenter: (i) => fe({
1464
- datapoint: l,
1465
- relativeIndex: o,
1466
- seriesIndex: l.seriesIndex,
1467
- show: !0
1468
- }),
1469
- onMouseleave: (i) => he({ datapoint: l, seriesIndex: l.seriesIndex })
1470
- }, U(Ye(l, V.value)) + " " + U(e.value.style.chart.layout.labels.value.show ? `(${u(q)(
1471
- e.value.style.chart.layout.labels.value.formatter,
1472
- l.value,
1473
- u(N)({
1474
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1475
- v: l.value,
1476
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1477
- r: e.value.style.chart.layout.labels.value.rounding
1478
- }),
1479
- { datapoint: l }
1480
- )})` : ""), 45, ma)) : c("", !0),
1481
- R(l) && p.value.dataLabels.show ? (s(), r("text", {
1482
- key: 1,
1483
- class: "vue-data-ui-datalabel-name",
1484
- "text-anchor": de(v.value[o].middlePoint),
1485
- x: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x,
1486
- y: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y + Q.value * 1.2,
1487
- fill: e.value.style.chart.layout.labels.name.color,
1488
- "font-size": Q.value,
1489
- style: _({
1490
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1491
- fontWeight: e.value.style.chart.layout.labels.name.bold ? "bold" : "normal"
1492
- }),
1493
- onClick: (i) => ee(l, o),
1494
- innerHTML: u(zt)({
1495
- content: l.name,
1496
- fontSize: Ce.value,
1497
- fill: e.value.style.chart.layout.labels.name.color,
1498
- x: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x,
1499
- y: u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).y + Q.value * 1.2
1500
- })
1501
- }, null, 12, wa)) : c("", !0),
1502
- a[7] || (a[7] = Te(' @mouseenter="useTooltip({ datapoint: arc, relativeIndex: i, seriesIndex: arc.seriesIndex, show: true })" @mouseleave="handleDatapointLeave({ datapoint: arc, seriesIndex: arc.seriesIndex })" /> ', -1))
1503
- ], 64)) : c("", !0)
1504
- ])),
1505
- p.value.dataLabels.show && e.value.style.chart.comments.show && l.comment ? (s(), r("g", ka, [
1506
- R(l) && e.value.type === "classic" ? (s(), r("foreignObject", {
1507
- key: 0,
1508
- x: e.value.style.chart.comments.offsetX + (u(x)(l, !0).anchor === "end" ? u(x)(l).x - e.value.style.chart.comments.width : u(x)(l, !0).anchor === "middle" ? u(x)(l).x - e.value.style.chart.comments.width / 2 : u(x)(l).x),
1509
- y: u(ge)(l) + 24 + e.value.style.chart.comments.offsetY,
1510
- width: e.value.style.chart.comments.width,
1511
- height: "200",
1512
- style: { overflow: "visible", "pointer-events": "none" }
1513
- }, [
1514
- h("div", null, [
1515
- y(t.$slots, "plot-comment", {
1516
- plot: { ...l, textAlign: u(x)(l, !0, 16, !0).anchor, flexAlign: u(x)(l, !0, 16).anchor, isFirstLoad: F.value }
1517
- }, void 0, !0)
1518
- ])
1519
- ], 8, Ca)) : c("", !0),
1520
- R(l) && e.value.type === "polar" ? (s(), r("foreignObject", {
1521
- key: 1,
1522
- x: e.value.style.chart.comments.offsetX + (de(v.value[o].middlePoint) === "end" ? u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x - e.value.style.chart.comments.width : de(v.value[o].middlePoint) === "middle" ? u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x - e.value.style.chart.comments.width / 2 : u(T)({ initX: v.value[o].middlePoint.x, initY: v.value[o].middlePoint.y, offset: 42, centerX: n.value.width / 2, centerY: n.value.height / 2 }).x),
1523
- y: ml(v.value[o]) + e.value.style.chart.comments.offsetY,
1524
- width: e.value.style.chart.comments.width,
1525
- height: "200",
1526
- style: _({
1527
- transition: F.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1528
- overflow: "visible",
1529
- pointerEvents: "none"
1530
- })
1531
- }, [
1532
- h("div", null, [
1533
- y(t.$slots, "plot-comment", {
1534
- plot: { ...l, textAlign: de(v.value[o].middlePoint), flexAlign: de(v.value[o].middlePoint), isFirstLoad: F.value }
1535
- }, void 0, !0)
1536
- ])
1537
- ], 12, xa)) : c("", !0)
1538
- ])) : c("", !0)
1539
- ], 10, va))), 128)),
1540
- y(t.$slots, "svg", { svg: n.value }, void 0, !0)
1541
- ], 512)
1542
- ], 14, go)),
1543
- t.$slots.watermark ? (s(), r("div", Aa, [
1544
- y(t.$slots, "watermark", O(E({ isPrinting: u(ht) || u(ft) })), void 0, !0)
1545
- ])) : c("", !0),
1546
- h("div", {
1547
- id: `legend-bottom-${g.value}`
1548
- }, null, 8, _a),
1549
- st.value ? (s(), oe(Bl, {
1550
- key: 5,
1551
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${g.value}` : `#legend-bottom-${g.value}`
1552
- }, [
1553
- h("div", {
1554
- ref_key: "chartLegend",
1555
- ref: et
1556
- }, [
1557
- e.value.style.chart.legend.show ? (s(), oe(vo, {
1558
- key: `legend_${nt.value}`,
1559
- legendSet: Ne.value,
1560
- config: gl.value,
1561
- onClickMarker: a[3] || (a[3] = ({ i: l }) => _e(l))
1562
- }, We({
1563
- item: m(({ legend: l, index: o }) => [
1564
- h("div", {
1565
- style: _(`opacity:${M.value.includes(o) ? 0.5 : 1}`),
1566
- onClick: (i) => l.segregate()
1567
- }, U(l.display), 13, $a)
1568
- ]),
1569
- _: 2
1570
- }, [
1571
- t.$slots.pattern ? {
1572
- name: "legend-pattern",
1573
- fn: m(({ legend: l, index: o }) => [
1574
- Se(io, {
1575
- shape: l.shape,
1576
- radius: 30,
1577
- stroke: "none",
1578
- plot: { x: 30, y: 30 },
1579
- fill: `url(#pattern_${g.value}_${o})`
1580
- }, null, 8, ["shape", "fill"])
1581
- ]),
1582
- key: "0"
1583
- } : void 0
1584
- ]), 1032, ["legendSet", "config"])) : c("", !0),
1585
- y(t.$slots, "legend", { legend: Ne.value }, void 0, !0)
1586
- ], 512)
1587
- ], 8, ["to"])) : c("", !0),
1588
- t.$slots.source ? (s(), r("div", {
1589
- key: 6,
1590
- ref_key: "source",
1591
- ref: tt,
1592
- dir: "auto"
1593
- }, [
1594
- y(t.$slots, "source", {}, void 0, !0)
1595
- ], 512)) : c("", !0),
1596
- t.$slots.hollow ? (s(), r("div", Fa, [
1597
- y(t.$slots, "hollow", O(E({
1598
- total: P.value,
1599
- average: Xe.value,
1600
- dataset: I.value
1601
- })), void 0, !0)
1602
- ])) : c("", !0),
1603
- Se(u(Wt), {
1604
- show: p.value.showTooltip && Be.value,
1605
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
1606
- color: e.value.style.chart.tooltip.color,
1607
- fontSize: e.value.style.chart.tooltip.fontSize,
1608
- borderRadius: e.value.style.chart.tooltip.borderRadius,
1609
- borderColor: e.value.style.chart.tooltip.borderColor,
1610
- borderWidth: e.value.style.chart.tooltip.borderWidth,
1611
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
1612
- position: e.value.style.chart.tooltip.position,
1613
- offsetY: e.value.style.chart.tooltip.offsetY,
1614
- parent: Y.value,
1615
- content: ze.value,
1616
- isCustom: be.value,
1617
- isFullscreen: re.value,
1618
- smooth: e.value.style.chart.tooltip.smooth,
1619
- backdropFilter: e.value.style.chart.tooltip.backdropFilter,
1620
- smoothForce: e.value.style.chart.tooltip.smoothForce,
1621
- smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThrehsold
1622
- }, {
1623
- "tooltip-before": m(() => [
1624
- y(t.$slots, "tooltip-before", O(E({ ...Ve.value })), void 0, !0)
1625
- ]),
1626
- "tooltip-after": m(() => [
1627
- y(t.$slots, "tooltip-after", O(E({ ...Ve.value })), void 0, !0)
1628
- ]),
1629
- _: 3
1630
- }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1631
- we.value && e.value.userOptions.buttons.table ? (s(), oe(zl(me.value.component), je({ key: 8 }, me.value.props, {
1632
- ref_key: "tableUnit",
1633
- ref: pe,
1634
- onClose: Ft
1635
- }), We({
1636
- content: m(() => [
1637
- (s(), oe(u(Jt), {
1638
- key: `table_${at.value}`,
1639
- colNames: $e.value.colNames,
1640
- head: $e.value.head,
1641
- body: $e.value.body,
1642
- config: $e.value.config,
1643
- title: e.value.table.useDialog ? "" : me.value.title,
1644
- withCloseButton: !e.value.table.useDialog,
1645
- onClose: Ft
1646
- }, {
1647
- th: m(({ th: l }) => [
1648
- h("div", {
1649
- innerHTML: l,
1650
- style: { display: "flex", "align-items": "center" }
1651
- }, null, 8, Sa)
1652
- ]),
1653
- td: m(({ td: l }) => [
1654
- Te(U(l.name ? l.name : isNaN(Number(l)) ? l.includes("%") ? l : u(q)(
1655
- e.value.style.chart.layout.labels.percentage.formatter,
1656
- l,
1657
- u(N)({
1658
- v: l,
1659
- s: "%",
1660
- r: e.value.style.chart.layout.labels.percentage.rounding
1661
- })
1662
- ) : u(q)(
1663
- e.value.style.chart.layout.labels.value.formatter,
1664
- l,
1665
- u(N)({
1666
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1667
- v: l,
1668
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1669
- r: e.value.style.chart.layout.labels.value.rounding
1670
- })
1671
- )), 1)
1672
- ]),
1673
- _: 1
1674
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
1675
- ]),
1676
- _: 2
1677
- }, [
1678
- e.value.table.useDialog ? {
1679
- name: "title",
1680
- fn: m(() => [
1681
- Te(U(me.value.title), 1)
1682
- ]),
1683
- key: "0"
1684
- } : void 0,
1685
- e.value.table.useDialog ? {
1686
- name: "actions",
1687
- fn: m(() => [
1688
- h("button", {
1689
- tabindex: "0",
1690
- class: "vue-ui-user-options-button",
1691
- onClick: a[4] || (a[4] = (l) => Re(e.value.userOptions.callbacks.csv))
1692
- }, [
1693
- Se(u(jt), {
1694
- name: "excel",
1695
- stroke: me.value.props.color
1696
- }, null, 8, ["stroke"])
1697
- ])
1698
- ]),
1699
- key: "1"
1700
- } : void 0
1701
- ]), 1040)) : c("", !0),
1702
- u(xe) ? (s(), oe(oo, { key: 9 })) : c("", !0)
1703
- ], 46, fo));
1704
- }
1705
- }, Pa = /* @__PURE__ */ ho(Ta, [["__scopeId", "data-v-24401cdc"]]), Wa = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1706
- __proto__: null,
1707
- default: Pa
1708
- }, Symbol.toStringTag, { value: "Module" }));
1709
- export {
1710
- Pa as V,
1711
- Wa as a,
1712
- qa as v
1713
- };