vue-data-ui 3.0.0-next.7 → 3.0.0-next.70

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 (136) hide show
  1. package/dist/{Arrow-Bl8urcli.js → Arrow-fzydFjfE.js} +1 -1
  2. package/dist/{BaseDraggableDialog-CyhpaZU5.js → BaseDraggableDialog-BwazM8ka.js} +2 -2
  3. package/dist/{BaseIcon-BCZfTCeM.js → BaseIcon-BnbvQjs5.js} +1 -1
  4. package/dist/{ColorPicker-CSJf42vx.js → ColorPicker-DR1Yr4kR.js} +2 -2
  5. package/dist/{DataTable-mQ6Wd-rR.js → DataTable-CKpA_OA_.js} +2 -2
  6. package/dist/{Legend-B2hrDh4G.js → Legend-ChXhJNzd.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-DQ8KsK4W.js → NonSvgPenAndPaper-CPOpM7Os.js} +3 -3
  8. package/dist/{PackageVersion-CeEYZfaH.js → PackageVersion-CBHvscRY.js} +1 -1
  9. package/dist/{PenAndPaper-DhSxfUrQ.js → PenAndPaper-BCcfYvgR.js} +3 -3
  10. package/dist/{Shape-C2qH26wh.js → Shape-C1rNfsMY.js} +43 -37
  11. package/dist/Slicer-D8a4Wv1q.js +602 -0
  12. package/dist/{SparkTooltip-BcHgW6YX.js → SparkTooltip-BUdf02cs.js} +1 -1
  13. package/dist/{Title-B7Xb3YuE.js → Title-feqCv0Si.js} +1 -1
  14. package/dist/{Tooltip-BidRoM5E.js → Tooltip-DQbksria.js} +23 -19
  15. package/dist/{UserOptions-0tvMM8PF.js → UserOptions-CGnAZpYs.js} +2 -2
  16. package/dist/{dom-to-png-CTrlbKHr.js → dom-to-png-DTPmkDTK.js} +1 -1
  17. package/dist/{img-D72yZNUg.js → img-_RMhslMZ.js} +1 -1
  18. package/dist/{index-Cg-RjxqH.js → index-CnY41r21.js} +2103 -1411
  19. package/dist/{pdf-DgX01_wu.js → pdf-C02XBmhm.js} +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/types/vue-data-ui.d.cts +600 -22
  22. package/dist/types/vue-data-ui.d.ts +600 -22
  23. package/dist/useAutoSizeLabelsInsideViewbox-DVYZBwNc.js +81 -0
  24. package/dist/useFitSvgText-2crs6Fv5.js +69 -0
  25. package/dist/useLoading-D7YHNtLX.js +29 -0
  26. package/dist/useNestedProp-DtUATNAU.js +13 -0
  27. package/dist/usePanZoom-BVca3eMk.js +122 -0
  28. package/dist/{usePrinter-BUzmyQf9.js → usePrinter-CJ1uZx0D.js} +2 -2
  29. package/dist/useTimeLabelCollider-CIsgDrl9.js +78 -0
  30. package/dist/{useTimeLabels-Mrr0jrpL.js → useTimeLabels-DkzmKfZn.js} +211 -152
  31. package/dist/{vue-data-ui-DpO93ey5.js → vue-data-ui-DDBabVWX.js} +105 -100
  32. package/dist/vue-data-ui.js +23 -22
  33. package/dist/vue-ui-3d-bar-CtPXePUa.js +1323 -0
  34. package/dist/{vue-ui-accordion-CRomxzaL.js → vue-ui-accordion-CnLY8CrQ.js} +3 -3
  35. package/dist/vue-ui-age-pyramid-CvrNLE47.js +834 -0
  36. package/dist/{vue-ui-annotator-BAOxPiFx.js → vue-ui-annotator-NuSwWka4.js} +2 -2
  37. package/dist/vue-ui-bullet-CpIVgkPB.js +571 -0
  38. package/dist/vue-ui-candlestick-DGWKUeJp.js +999 -0
  39. package/dist/{vue-ui-carousel-table-DVGlPZIa.js → vue-ui-carousel-table-DWbQS8F3.js} +29 -29
  40. package/dist/{vue-ui-chestnut-P1v4ffD0.js → vue-ui-chestnut-K4-oOYff.js} +5 -5
  41. package/dist/vue-ui-chord-DqmP8yTR.js +1038 -0
  42. package/dist/{vue-ui-circle-pack-FXmemXgl.js → vue-ui-circle-pack-D_ufubH5.js} +24 -24
  43. package/dist/{vue-ui-cursor-CdvMgIrP.js → vue-ui-cursor-B0tP4woK.js} +2 -2
  44. package/dist/{vue-ui-dashboard-Vke0452J.js → vue-ui-dashboard-D_7qyx3P.js} +62 -62
  45. package/dist/{vue-ui-digits-BVhyYqCs.js → vue-ui-digits-pUQErY07.js} +2 -2
  46. package/dist/{vue-ui-donut-BpIivKcf.js → vue-ui-donut-Dl__PVfq.js} +320 -308
  47. package/dist/vue-ui-donut-evolution-BCGGTZZI.js +1075 -0
  48. package/dist/vue-ui-dumbbell-KzCa3k9g.js +1119 -0
  49. package/dist/vue-ui-flow-B1AOqk14.js +841 -0
  50. package/dist/{vue-ui-funnel-BbFmbsft.js → vue-ui-funnel-DCl9v71X.js} +16 -16
  51. package/dist/{vue-ui-galaxy-Cn6vHbaw.js → vue-ui-galaxy-0rAzDHe5.js} +60 -58
  52. package/dist/vue-ui-gauge-Cg4qAOEf.js +791 -0
  53. package/dist/vue-ui-gizmo-CQmMkODw.js +210 -0
  54. package/dist/vue-ui-heatmap-CgkgUDI0.js +1078 -0
  55. package/dist/vue-ui-history-plot-CYvkTszV.js +1073 -0
  56. package/dist/{vue-ui-kpi-jN_yMnLj.js → vue-ui-kpi-BDuOZbc2.js} +26 -26
  57. package/dist/{vue-ui-mini-loader-rYr76x8g.js → vue-ui-mini-loader-BZaU_YD-.js} +2 -2
  58. package/dist/{vue-ui-molecule-BWZHOQLi.js → vue-ui-molecule-HYjHgVuN.js} +53 -51
  59. package/dist/vue-ui-mood-radar-4pYtL93A.js +785 -0
  60. package/dist/vue-ui-nested-donuts-BVbvVm19.js +1286 -0
  61. package/dist/vue-ui-onion-DQg97Dwm.js +776 -0
  62. package/dist/vue-ui-parallel-coordinate-plot-KQ4FTUda.js +915 -0
  63. package/dist/{vue-ui-quadrant-BFFzfDw3.js → vue-ui-quadrant-D8OU7TFs.js} +512 -459
  64. package/dist/vue-ui-quick-chart-BOKDoHdK.js +1761 -0
  65. package/dist/vue-ui-radar-2hTf-Qrf.js +796 -0
  66. package/dist/{vue-ui-rating-BAauyqTn.js → vue-ui-rating-QriKDSO7.js} +2 -2
  67. package/dist/vue-ui-relation-circle-DqLiKEHw.js +598 -0
  68. package/dist/vue-ui-ridgeline-CvFlsavM.js +1153 -0
  69. package/dist/vue-ui-rings-B2ges9Ud.js +728 -0
  70. package/dist/vue-ui-scatter-DQJeFlv4.js +1178 -0
  71. package/dist/{vue-ui-skeleton-CUOhCY4p.js → vue-ui-skeleton-Bghm5obp.js} +3 -3
  72. package/dist/{vue-ui-smiley-B6SqWMov.js → vue-ui-smiley-C3SkDNoz.js} +26 -26
  73. package/dist/vue-ui-spark-trend-dd8h3N7H.js +315 -0
  74. package/dist/vue-ui-sparkbar-BTj8M7fY.js +351 -0
  75. package/dist/vue-ui-sparkgauge-BBQAo-W1.js +232 -0
  76. package/dist/vue-ui-sparkhistogram-C4ZEcb8S.js +380 -0
  77. package/dist/vue-ui-sparkline-Bm3GpqJx.js +489 -0
  78. package/dist/vue-ui-sparkstackbar-Dde4iayd.js +421 -0
  79. package/dist/vue-ui-stackbar-DPvfNjwH.js +1370 -0
  80. package/dist/vue-ui-strip-plot-iZIN9U90.js +915 -0
  81. package/dist/{vue-ui-table-Dwjl3L0p.js → vue-ui-table-C4EoviSd.js} +11 -11
  82. package/dist/{vue-ui-table-heatmap-DazTE3fa.js → vue-ui-table-heatmap-D-eqO3LU.js} +5 -5
  83. package/dist/{vue-ui-table-sparkline-BXMPUEpN.js → vue-ui-table-sparkline-CD7IH49g.js} +14 -14
  84. package/dist/vue-ui-thermometer-BKEFH2Xt.js +541 -0
  85. package/dist/{vue-ui-timer-yLvNAZL_.js → vue-ui-timer-hhKj1gPp.js} +5 -5
  86. package/dist/vue-ui-tiremarks-CmNwCnVC.js +406 -0
  87. package/dist/vue-ui-treemap-BL7T8x_B.js +1035 -0
  88. package/dist/{vue-ui-vertical-bar-BrYCoVym.js → vue-ui-vertical-bar-CGn_OX3P.js} +71 -69
  89. package/dist/vue-ui-waffle-qfT-wDhI.js +910 -0
  90. package/dist/vue-ui-wheel-B8J8C3AN.js +379 -0
  91. package/dist/vue-ui-word-cloud-B6oHFfEK.js +765 -0
  92. package/dist/{vue-ui-world-B4Dqrk4l.js → vue-ui-world-BEv_oTrC.js} +11 -9
  93. package/dist/vue-ui-xy-DPBrciAR.js +3771 -0
  94. package/dist/{vue-ui-xy-canvas-D7fL36kT.js → vue-ui-xy-canvas-BXT3mXj5.js} +265 -264
  95. package/package.json +1 -1
  96. package/dist/Slicer-BD8Z8VCW.js +0 -577
  97. package/dist/useLoading-Bt5Doa8m.js +0 -28
  98. package/dist/useNestedProp-C_G5E08Y.js +0 -13
  99. package/dist/usePanZoom-BQMvRXEQ.js +0 -115
  100. package/dist/vue-ui-3d-bar-D8imUwEz.js +0 -1227
  101. package/dist/vue-ui-age-pyramid-CV7gtFOC.js +0 -746
  102. package/dist/vue-ui-bullet-BtuMMBF7.js +0 -513
  103. package/dist/vue-ui-candlestick-BsRtXKrv.js +0 -873
  104. package/dist/vue-ui-chord-CIuzYmpM.js +0 -949
  105. package/dist/vue-ui-donut-evolution-BRlsCA4U.js +0 -903
  106. package/dist/vue-ui-dumbbell-D87Dumjh.js +0 -753
  107. package/dist/vue-ui-flow-D_L_xssL.js +0 -765
  108. package/dist/vue-ui-gauge-Ds4terqY.js +0 -738
  109. package/dist/vue-ui-gizmo-BTncpI62.js +0 -192
  110. package/dist/vue-ui-heatmap-B6GpjeWC.js +0 -877
  111. package/dist/vue-ui-history-plot-DTDzEeGq.js +0 -924
  112. package/dist/vue-ui-mood-radar-CPfS6f1L.js +0 -670
  113. package/dist/vue-ui-nested-donuts-Bsd2kGoJ.js +0 -1177
  114. package/dist/vue-ui-onion-BQ4nISXW.js +0 -701
  115. package/dist/vue-ui-parallel-coordinate-plot-BoHgVgbn.js +0 -807
  116. package/dist/vue-ui-quick-chart-oNMTeOAL.js +0 -1612
  117. package/dist/vue-ui-radar-98mXFZe-.js +0 -741
  118. package/dist/vue-ui-relation-circle-6oDCSxkO.js +0 -542
  119. package/dist/vue-ui-ridgeline-CugMGjOU.js +0 -969
  120. package/dist/vue-ui-rings-bsGXaD2m.js +0 -685
  121. package/dist/vue-ui-scatter-7ssLliGg.js +0 -1045
  122. package/dist/vue-ui-spark-trend-jauInkkN.js +0 -291
  123. package/dist/vue-ui-sparkbar-DXByIxQH.js +0 -301
  124. package/dist/vue-ui-sparkgauge-BMrV2gDi.js +0 -201
  125. package/dist/vue-ui-sparkhistogram-CoNM4G7o.js +0 -313
  126. package/dist/vue-ui-sparkline-DrN3_wS0.js +0 -459
  127. package/dist/vue-ui-sparkstackbar-W1a0JQi9.js +0 -381
  128. package/dist/vue-ui-stackbar-D1-gbUgE.js +0 -1207
  129. package/dist/vue-ui-strip-plot-KhfvrVuN.js +0 -761
  130. package/dist/vue-ui-thermometer-Cn6lJRs3.js +0 -495
  131. package/dist/vue-ui-tiremarks-BYsWePfK.js +0 -358
  132. package/dist/vue-ui-treemap-Ce7RVFG3.js +0 -965
  133. package/dist/vue-ui-waffle-CCrR2T1G.js +0 -863
  134. package/dist/vue-ui-wheel-BuxjnrDN.js +0 -352
  135. package/dist/vue-ui-word-cloud-C6fawHJE.js +0 -659
  136. package/dist/vue-ui-xy-ubRnv9iJ.js +0 -2980
@@ -0,0 +1,1286 @@
1
+ import { defineAsyncComponent as U, computed as C, ref as h, toRefs as Wt, watch as re, onMounted as qt, shallowRef as ct, onBeforeUnmount as Ht, createElementBlock as r, openBlock as n, unref as i, normalizeStyle as ie, normalizeClass as z, createBlock as G, createCommentVNode as $, createVNode as ht, createSlots as Jt, withCtx as x, renderSlot as _, normalizeProps as H, guardReactiveProps as J, createElementVNode as y, Fragment as A, renderList as T, toDisplayString as O, withDirectives as ft, vShow as yt, createTextVNode as Kt, nextTick as pt } from "vue";
2
+ import { u as Qt, c as Zt, t as jt, a as ea, p as Se, b as ta, C as Ie, o as aa, f as K, d as la, G as M, e as oa, m as Ve, i as F, X as sa, s as ua, L as bt, q as Pe, r as Q, k as j, y as gt, v as na, w as ra, z as ia, T as mt, h as De } from "./index-CnY41r21.js";
3
+ import { t as da, u as va } from "./useResponsive-DfdjqQps.js";
4
+ import { u as wt } from "./useNestedProp-DtUATNAU.js";
5
+ import { u as ca } from "./usePrinter-CJ1uZx0D.js";
6
+ import { u as ha } from "./useUserOptionState-BIvW1Kz7.js";
7
+ import { u as fa } from "./useChartAccessibility-9icAAmYg.js";
8
+ import ya from "./Title-feqCv0Si.js";
9
+ import pa from "./Legend-ChXhJNzd.js";
10
+ import ba from "./img-_RMhslMZ.js";
11
+ import { u as ga, B as ma } from "./useLoading-D7YHNtLX.js";
12
+ import { _ as wa } from "./_plugin-vue_export-helper-CHgC5LLL.js";
13
+ const $a = ["id"], ka = ["xmlns", "viewBox"], La = ["width", "height"], Ca = ["id"], xa = ["offset", "stop-color"], _a = ["offset", "stop-opacity"], Aa = ["id"], Ta = ["id"], Na = ["id"], Fa = ["flood-color"], Oa = ["id", "d"], Sa = ["d", "fill", "stroke", "stroke-width", "filter"], Ia = ["d", "fill", "stroke", "stroke-width"], Va = { key: 1 }, Pa = ["d", "fill"], Da = { key: 2 }, za = ["font-size", "font-weight", "fill", "dy"], Ma = ["href"], Ea = ["x", "y", "font-size", "font-weight", "fill"], Ba = { key: 3 }, Ra = ["filter"], Ua = ["opacity", "text-anchor", "x", "y", "fill", "font-size", "font-weight"], Ga = ["opacity", "text-anchor", "x", "y", "fill", "font-size", "font-weight"], Ya = ["text-anchor", "x", "y", "fill", "font-size", "font-weight"], Xa = ["d", "fill", "onMouseenter", "onClick", "onMouseleave"], Wa = {
14
+ key: 4,
15
+ class: "vue-data-ui-watermark"
16
+ }, qa = {
17
+ key: 0,
18
+ class: "vue-ui-nested-donuts-legend-title"
19
+ }, Ha = ["onClick"], Ja = ["innerHTML"], Ka = {
20
+ __name: "vue-ui-nested-donuts",
21
+ props: {
22
+ config: {
23
+ type: Object,
24
+ default() {
25
+ return {};
26
+ }
27
+ },
28
+ dataset: {
29
+ type: Array,
30
+ default() {
31
+ return [];
32
+ }
33
+ }
34
+ },
35
+ emits: ["selectLegend", "selectDatapoint"],
36
+ setup($t, { expose: kt, emit: Lt }) {
37
+ const Ct = U(() => import("./vue-ui-accordion-CnLY8CrQ.js")), xt = U(() => import("./DataTable-CKpA_OA_.js")), _t = U(() => import("./PackageVersion-CBHvscRY.js")), At = U(() => import("./PenAndPaper-BCcfYvgR.js"));
38
+ U(() => import("./vue-ui-skeleton-Bghm5obp.js"));
39
+ const Tt = U(() => import("./Tooltip-DQbksria.js")), Nt = U(() => import("./UserOptions-CGnAZpYs.js")), { vue_ui_nested_donuts: Ft } = Qt(), g = $t, de = C({
40
+ get() {
41
+ return !!g.dataset && g.dataset.length;
42
+ },
43
+ set(a) {
44
+ return a;
45
+ }
46
+ }), p = h(Zt()), ve = h(!1), ce = h(""), he = h(null), ze = h(0), V = h(null), Me = h(null), fe = h(null), Ee = h(null), Be = h(null), Re = h(0), Ue = h(0), Ge = h(0), E = h(!0), B = h([]), Z = h([]), Y = h(!1);
47
+ function Ye(a) {
48
+ Y.value = a, ze.value += 1;
49
+ }
50
+ const e = h(ge()), Xe = {
51
+ name: "",
52
+ series: [
53
+ {
54
+ name: "",
55
+ values: [3],
56
+ color: "#BABABA"
57
+ },
58
+ {
59
+ name: "",
60
+ values: [2],
61
+ color: "#AAAAAA"
62
+ },
63
+ {
64
+ name: "",
65
+ values: [1],
66
+ color: "#CACACA"
67
+ }
68
+ ]
69
+ }, { loading: ye, FINAL_DATASET: R, manualLoading: pe } = ga({
70
+ ...Wt(g),
71
+ FINAL_CONFIG: e,
72
+ prepareConfig: ge,
73
+ callback: () => {
74
+ Promise.resolve().then(async () => {
75
+ await Je();
76
+ });
77
+ },
78
+ skeletonDataset: [Xe, Xe],
79
+ skeletonConfig: jt({
80
+ defaultConfig: e.value,
81
+ userConfig: {
82
+ useCssAnimation: !1,
83
+ table: { show: !1 },
84
+ startAnimation: { show: !1 },
85
+ userOptions: { show: !1 },
86
+ style: {
87
+ chart: {
88
+ backgroundColor: "#99999930",
89
+ layout: {
90
+ labels: {
91
+ dataLabels: { show: !1 }
92
+ }
93
+ },
94
+ legend: { backgroundColor: "transparent", showValue: !1, showPercentage: !1 },
95
+ title: {
96
+ color: "#1A1A1A",
97
+ subtitle: {
98
+ color: "#5A5A5A"
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ })
105
+ }), { userOptionsVisible: be, setUserOptionsVisibility: We, keepUserOptionState: qe } = ha({ config: e.value }), { svgRef: ee } = fa({
106
+ config: e.value.style.chart.title
107
+ });
108
+ function ge() {
109
+ const a = wt({
110
+ userConfig: g.config,
111
+ defaultConfig: Ft
112
+ });
113
+ let s = {};
114
+ return a.theme ? s = {
115
+ ...wt({
116
+ userConfig: ta.vue_ui_nested_donuts[a.theme] || g.config,
117
+ defaultConfig: a
118
+ }),
119
+ customPalette: ea[a.theme] || Se
120
+ } : s = a, g.config && Ie(g.config, "events.datapointEnter") ? s.events.datapointEnter = g.config.events.datapointEnter : s.events.datapointEnter = null, g.config && Ie(g.config, "events.datapointLeave") ? s.events.datapointLeave = g.config.events.datapointLeave : s.events.datapointLeave = null, g.config && Ie(g.config, "events.datapointClick") ? s.events.datapointClick = g.config.events.datapointClick : s.events.datapointClick = null, s;
121
+ }
122
+ re(
123
+ () => g.config,
124
+ (a) => {
125
+ ye.value || (e.value = ge()), be.value = !e.value.userOptions.showOnChartHover, Ke(), Re.value += 1, Ue.value += 1, Ge.value += 1, k.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, k.value.showTable = e.value.table.show, k.value.showTooltip = e.value.style.chart.tooltip.show, c.value.width = e.value.style.chart.width, c.value.height = e.value.style.chart.height;
126
+ },
127
+ { deep: !0 }
128
+ );
129
+ const He = C(() => {
130
+ const { top: a, right: s, bottom: l, left: o } = e.value.style.chart.padding;
131
+ return {
132
+ css: `padding:${a}px ${s}px ${l}px ${o}px`,
133
+ top: a,
134
+ right: s,
135
+ bottom: l,
136
+ left: o
137
+ };
138
+ });
139
+ function Ot(a, s = 1e3, l = 50) {
140
+ return new Promise((o) => {
141
+ const t = a.length;
142
+ B.value = Array(t).fill(0), Z.value = [];
143
+ let u = 0;
144
+ a.forEach((v, f) => {
145
+ setTimeout(() => {
146
+ const w = performance.now();
147
+ function d(b) {
148
+ const N = Math.min((b - w) / s, 1), xe = mt(N), _e = v * xe;
149
+ B.value[f] = _e, B.value = [...B.value];
150
+ const ue = [];
151
+ let Ae = 0;
152
+ g.dataset.forEach((ne, Te) => {
153
+ const Ut = De(ne.series.reduce(
154
+ (Fe, Oe) => Fe + De(M(Oe.values).reduce((Yt, Xt) => Yt + Xt, 0)),
155
+ 0
156
+ )), Gt = De(B.value.slice(Ae, Ae + ne.series.length).reduce((Fe, Oe) => Fe + Oe, 0)), Ne = Ut - Gt;
157
+ Ne > Number.MIN_VALUE && ue.push({
158
+ name: "__ghost__",
159
+ arcOf: ne.name,
160
+ arcOfId: `${p.value}_${Te}`,
161
+ id: `ghost_${p.value}_${Te}`,
162
+ seriesIndex: -1,
163
+ datasetIndex: Te,
164
+ color: "transparent",
165
+ value: Ne,
166
+ fullValue: Ne,
167
+ absoluteValues: [],
168
+ ghost: !0
169
+ }), Ae += ne.series.length;
170
+ }), Z.value = ue, N < 1 ? requestAnimationFrame(d) : (u += 1, u === t && o());
171
+ }
172
+ requestAnimationFrame(d);
173
+ }, f * l);
174
+ });
175
+ });
176
+ }
177
+ async function Je() {
178
+ if (e.value.startAnimation?.show) {
179
+ const s = R.value.flatMap((l) => l.series).map(
180
+ (l) => M(l.values).reduce((o, t) => o + t, 0)
181
+ );
182
+ B.value = s.map(() => 0), E.value = !0, Z.value = R.value.map((l, o) => {
183
+ const t = l.series.reduce(
184
+ (u, v) => u + M(v.values).reduce((f, w) => f + w, 0),
185
+ 0
186
+ );
187
+ return {
188
+ name: "__ghost__",
189
+ arcOf: l.name,
190
+ arcOfId: `${p.value}_${o}`,
191
+ id: `ghost_${p.value}_${o}`,
192
+ seriesIndex: -1,
193
+ datasetIndex: o,
194
+ color: "transparent",
195
+ value: t,
196
+ fullValue: t,
197
+ absoluteValues: [],
198
+ ghost: !0
199
+ };
200
+ }), await pt(), Ot(
201
+ s,
202
+ e.value.startAnimation.durationMs,
203
+ e.value.startAnimation.staggerMs
204
+ ).then(() => {
205
+ E.value = !1, Z.value = [];
206
+ });
207
+ } else
208
+ E.value = !1;
209
+ }
210
+ qt(async () => {
211
+ Ke(), await Je();
212
+ });
213
+ const P = ct(null), X = ct(null), W = C(() => !!e.value.debug);
214
+ function Ke() {
215
+ if (aa(g.dataset) ? (K({
216
+ componentName: "VueUiNestedDonuts",
217
+ type: "dataset",
218
+ debug: W.value
219
+ }), de.value = !1, pe.value = !0) : pe.value = e.value.loading, e.value.responsive) {
220
+ const a = da(() => {
221
+ const { width: s, height: l } = va({
222
+ chart: V.value,
223
+ title: e.value.style.chart.title.text ? Me.value : null,
224
+ legend: e.value.style.chart.legend.show ? fe.value : null,
225
+ source: Ee.value,
226
+ noTitle: Be.value,
227
+ padding: He.value
228
+ });
229
+ requestAnimationFrame(() => {
230
+ c.value.width = s, c.value.height = l;
231
+ });
232
+ });
233
+ P.value && (X.value && P.value.unobserve(X.value), P.value.disconnect()), P.value = new ResizeObserver(a), X.value = V.value.parentNode, P.value.observe(X.value);
234
+ }
235
+ }
236
+ Ht(() => {
237
+ P.value && (X.value && P.value.unobserve(X.value), P.value.disconnect());
238
+ });
239
+ const { isPrinting: Qe, isImaging: Ze, generatePdf: je, generateImage: et } = ca({
240
+ elementId: `nested_donuts_${p.value}`,
241
+ fileName: e.value.style.chart.title.text || "vue-ui-nested-donuts",
242
+ options: e.value.userOptions.print
243
+ }), St = C(() => e.value.userOptions.show && !e.value.style.chart.title.text), It = C(() => la(e.value.customPalette)), k = h({
244
+ dataLabels: {
245
+ show: e.value.style.chart.layout.labels.dataLabels.show
246
+ },
247
+ showTable: e.value.table.show,
248
+ showTooltip: e.value.style.chart.tooltip.show
249
+ });
250
+ re(e, () => {
251
+ k.value = {
252
+ dataLabels: {
253
+ show: e.value.style.chart.layout.labels.dataLabels.show
254
+ },
255
+ showTable: e.value.table.show,
256
+ showTooltip: e.value.style.chart.tooltip.show
257
+ };
258
+ }, { immediate: !0 });
259
+ const c = h({
260
+ width: e.value.style.chart.width,
261
+ height: e.value.style.chart.height
262
+ }), tt = Lt;
263
+ function Vt({ datapoint: a, index: s, seriesIndex: l }) {
264
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: a, seriesIndex: l }), tt("selectDatapoint", { datapoint: a, index: s });
265
+ }
266
+ function at({
267
+ from: a,
268
+ to: s,
269
+ duration: l,
270
+ onUpdate: o,
271
+ onDone: t,
272
+ easing: u = mt
273
+ }) {
274
+ const v = performance.now();
275
+ function f(w) {
276
+ const d = Math.min((w - v) / l, 1), b = u(d), N = a + (s - a) * b;
277
+ o(N, d), d < 1 ? requestAnimationFrame(f) : (o(s, 1), t && t());
278
+ }
279
+ requestAnimationFrame(f);
280
+ }
281
+ const L = h([]), S = C(() => {
282
+ ye.value, R.value.forEach((s, l) => {
283
+ [null, void 0].includes(s.name) && K({
284
+ componentName: "VueUiNestedDonuts",
285
+ type: "datasetSerieAttribute",
286
+ property: "name",
287
+ index: l,
288
+ debug: W.value
289
+ }), [null, void 0].includes(s.series) ? K({
290
+ componentName: "VueUiNestedDonuts",
291
+ type: "datasetSerieAttribute",
292
+ property: "series",
293
+ index: l,
294
+ debug: W.value
295
+ }) : s.series.length === 0 ? K({
296
+ componentName: "VueUiNestedDonuts",
297
+ type: "datasetAttributeEmpty",
298
+ property: `series at index ${l}`,
299
+ debug: W.value
300
+ }) : s.series.forEach((o, t) => {
301
+ [null, void 0].includes(o.name) && K({
302
+ componentName: "VueUiNestedDonuts",
303
+ type: "datasetSerieAttribute",
304
+ property: "name",
305
+ index: t,
306
+ key: "serie",
307
+ debug: W.value
308
+ }), [null, void 0].includes(o.values) && K({
309
+ componentName: "VueUiNestedDonuts",
310
+ type: "datasetSerieAttribute",
311
+ property: "values",
312
+ index: t,
313
+ key: "serie",
314
+ debug: W.value
315
+ });
316
+ });
317
+ });
318
+ let a = 0;
319
+ return R.value.map((s, l) => ({
320
+ ...s,
321
+ total: s.series.filter((o) => !L.value.includes(o.id)).map((o) => M(o.values).reduce((t, u) => t + u, 0)).reduce((o, t) => o + t, 0),
322
+ datasetIndex: l,
323
+ id: `${p.value}_${l}`,
324
+ series: s.series.map((o, t) => {
325
+ const u = M(o.values).reduce((v, f) => v + f, 0);
326
+ return {
327
+ name: o.name,
328
+ arcOf: s.name,
329
+ arcOfId: `${p.value}_${l}`,
330
+ id: `${p.value}_${l}_${t}`,
331
+ seriesIndex: t,
332
+ datasetIndex: l,
333
+ color: oa(o.color) || It.value[t] || Se[t % Se.length],
334
+ value: E.value ? B.value[a++] ?? 0 : u,
335
+ absoluteValues: o.values || []
336
+ };
337
+ })
338
+ }));
339
+ });
340
+ re(() => g.dataset, (a) => {
341
+ Array.isArray(a) && a.length > 0 && (pe.value = !1);
342
+ }, { immediate: !0 });
343
+ const I = C(() => Math.min(c.value.height, c.value.width) * (e.value.style.chart.layout.donut.strokeWidth / 512)), lt = C(() => [...S.value].map((a, s) => {
344
+ const l = a.series.filter((o) => !L.value.includes(o.id)).map((o) => o.value).reduce((o, t) => o + t, 0);
345
+ return {
346
+ ...a,
347
+ total: l,
348
+ series: a.series.filter((o) => !L.value.includes(o.id)).map((o) => ({
349
+ ...o,
350
+ proportion: o.value / l
351
+ }))
352
+ };
353
+ }));
354
+ function Pt(a, s, l) {
355
+ let o = 0;
356
+ for (let t = 0; t < a.length; t += 1)
357
+ l.includes(a[t]) && (o += 1);
358
+ return o < s;
359
+ }
360
+ const m = h(lt.value);
361
+ re(
362
+ () => lt.value,
363
+ (a) => m.value = a
364
+ );
365
+ function me(a) {
366
+ tt("selectLegend", a);
367
+ const s = g.dataset.flatMap(
368
+ (d, b) => d.series.map((N, xe) => ({
369
+ value: M(N.values).reduce((_e, ue) => _e + ue, 0),
370
+ id: `${p.value}_${b}_${xe}`,
371
+ arcOfId: `${p.value}_${b}`
372
+ }))
373
+ ).find((d) => d.id === a.id);
374
+ if (!s) return;
375
+ const l = S.value.flatMap((d) => d.series).find((d) => d.id === a.id)?.value ?? 0, o = m.value.flatMap((d) => d.series).find((d) => d.id === a.id);
376
+ let u = o ? o.value : 0;
377
+ const v = S.value.find(
378
+ (d) => d.id === s.arcOfId
379
+ );
380
+ if (!v) return;
381
+ const f = v.series.map((d) => d.id), w = Pt(
382
+ f,
383
+ f.length - 1,
384
+ L.value
385
+ );
386
+ L.value.includes(a.id) ? (L.value = L.value.filter((d) => d !== a.id), e.value.serieToggleAnimation.show ? at({
387
+ from: u,
388
+ to: l,
389
+ duration: e.value.serieToggleAnimation.durationMs,
390
+ onUpdate: (d) => {
391
+ m.value = m.value.map((b) => ({
392
+ ...b,
393
+ series: b.series.map((N) => N.id === a.id ? { ...N, value: d } : N)
394
+ }));
395
+ }
396
+ }) : m.value = m.value.map((d) => ({
397
+ ...d,
398
+ series: d.series.map((b) => b.id === a.id ? { ...b, value: l } : b)
399
+ }))) : w && (e.value.serieToggleAnimation.show ? at({
400
+ from: u,
401
+ to: 0,
402
+ duration: e.value.serieToggleAnimation.durationMs,
403
+ onUpdate: (d) => {
404
+ m.value = m.value.map((b) => ({
405
+ ...b,
406
+ series: b.series.map((N) => N.id === a.id ? { ...N, value: d } : N)
407
+ }));
408
+ },
409
+ onDone: () => {
410
+ L.value.push(a.id);
411
+ }
412
+ }) : (m.value = m.value.map((d) => ({
413
+ ...d,
414
+ series: d.series.map((b) => b.id === a.id ? { ...b, value: 0 } : b)
415
+ })), L.value.push(a.id)));
416
+ }
417
+ const te = C(() => I.value / S.value.length * e.value.style.chart.layout.donut.spacingRatio), ot = C(() => m.value.map((a, s) => I.value - s * I.value / S.value.length)), q = C(() => m.value.map((a, s) => {
418
+ const l = Math.abs(a.series.map((w) => w.value).reduce((w, d) => w + d, 0)) > 0, o = I.value - s * I.value / m.value.length, t = E.value ? Z.value.find((w) => w.datasetIndex === s) : null, u = [...a.series, ...t ? [t] : []].map((w) => ({
419
+ ...w,
420
+ value: w.value < 1e-11 ? Number.MIN_VALUE : w.value
421
+ })), v = Ve(
422
+ { series: [
423
+ { name: "_", color: e.value.style.chart.layout.donut.emptyFill, value: 1 }
424
+ ] },
425
+ c.value.width / 2,
426
+ c.value.height / 2,
427
+ o,
428
+ o,
429
+ 1.99999,
430
+ 2,
431
+ 1,
432
+ 360,
433
+ 105.25,
434
+ te.value
435
+ ), f = `M ${c.value.width / 2},${c.value.height / 2 + o}
436
+ a ${o},${o} 0 1,1 0,${-2 * o}
437
+ a ${o},${o} 0 1,1 0,${2 * o}`;
438
+ return {
439
+ ...a,
440
+ hasData: l,
441
+ radius: o,
442
+ skeleton: v,
443
+ fullCirclePath: f,
444
+ donut: Ve(
445
+ { series: u },
446
+ c.value.width / 2,
447
+ c.value.height / 2,
448
+ o,
449
+ o,
450
+ 1.99999,
451
+ 2,
452
+ 1,
453
+ 360,
454
+ 105.25,
455
+ te.value
456
+ )
457
+ };
458
+ })), st = C(() => [...S.value].map((a, s) => {
459
+ const l = s * I.value / S.value.length;
460
+ return {
461
+ sizeRatio: l,
462
+ donut: Ve(
463
+ { series: [{ value: 1 }] },
464
+ c.value.width / 2,
465
+ c.value.height / 2,
466
+ I.value - l,
467
+ I.value - l,
468
+ 1.99999,
469
+ 2,
470
+ 1,
471
+ 360,
472
+ 105.25,
473
+ I.value / S.value.length * e.value.style.chart.layout.donut.spacingRatio
474
+ )[0]
475
+ };
476
+ })), ut = h(null), ae = h(null), le = h(null), we = h(null);
477
+ function Dt({ datapoint: a, seriesIndex: s }) {
478
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: a, seriesIndex: s }), ve.value = !1, ut.value = null, he.value = null, ae.value = null, le.value = null;
479
+ }
480
+ function zt({ datapoint: a, _relativeIndex: s, seriesIndex: l }) {
481
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: a, seriesIndex: l }), ut.value = a.arcOfId, ae.value = a.id, le.value = l, he.value = a.id, we.value = {
482
+ datapoint: a,
483
+ seriesIndex: l,
484
+ series: m.value,
485
+ config: e.value
486
+ };
487
+ const o = e.value.style.chart.tooltip.customFormat;
488
+ if (gt(o) && ia(
489
+ () => o({
490
+ seriesIndex: l,
491
+ datapoint: a,
492
+ series: m.value,
493
+ config: e.value
494
+ })
495
+ ))
496
+ ce.value = o({
497
+ seriesIndex: l,
498
+ datapoint: a,
499
+ series: m.value,
500
+ config: e.value
501
+ });
502
+ else {
503
+ let t = "";
504
+ if (e.value.style.chart.tooltip.showAllItemsAtIndex && L.value.length === 0) {
505
+ const u = m.value.map((v) => v.series.find((f) => f.seriesIndex === l));
506
+ u.forEach((v, f) => {
507
+ if (!v) return "";
508
+ t += `
509
+ <div style="display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start;padding:6px 0; ${f < u.length - 1 ? `border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor}` : ""}">
510
+ <div style="display:flex; flex-direction: row; gap: 3px; justify-content:flex-start; align-items:center;">
511
+ <svg viewBox="0 0 20 20" height="${e.value.style.chart.tooltip.fontSize}" width="${e.value.style.chart.tooltip.fontSize}">
512
+ <circle cx="10" cy="10" r="10" fill="${v.color}"/>
513
+ </svg>
514
+ <span>
515
+ ${v.arcOf ?? ""} - ${v.name}
516
+ </span>
517
+ </div>
518
+ <span>
519
+ ${e.value.style.chart.tooltip.showValue ? `<b>${j(
520
+ e.value.style.chart.layout.labels.dataLabels.formatter,
521
+ a.value,
522
+ F({
523
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
524
+ v: a.value,
525
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
526
+ r: e.value.style.chart.tooltip.roundingValue
527
+ }),
528
+ { datapoint: a, seriesIndex: l }
529
+ )}
530
+ </b>` : ""}
531
+ ${e.value.style.chart.tooltip.showPercentage ? `(${F({
532
+ v: v.proportion * 100,
533
+ s: "%",
534
+ r: e.value.style.chart.tooltip.roundingPercentage
535
+ })})` : ""}
536
+ </span>
537
+ </div>
538
+ `;
539
+ });
540
+ } else
541
+ t += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${a.arcOf ?? ""} - ${a.name}</div>`, t += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${a.color}"/></svg>`, e.value.style.chart.tooltip.showValue && (t += `<b>${j(
542
+ e.value.style.chart.layout.labels.dataLabels.formatter,
543
+ a.value,
544
+ F({
545
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
546
+ v: a.value,
547
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
548
+ r: e.value.style.chart.tooltip.roundingValue
549
+ }),
550
+ { datapoint: a, seriesIndex: l }
551
+ )}</b>`), e.value.style.chart.tooltip.showPercentage && (e.value.style.chart.tooltip.showValue ? t += `<span>(${F({
552
+ v: a.proportion * 100,
553
+ s: "%",
554
+ r: e.value.style.chart.tooltip.roundingPercentage
555
+ })})</span></div>` : t += `<b>${F({
556
+ v: a.proportion * 100,
557
+ s: "%",
558
+ r: e.value.style.chart.tooltip.roundingPercentage
559
+ })}</b></div>`);
560
+ ce.value = `<div style="font-size:${e.value.style.chart.tooltip.fontSize}px">${t}</div>`;
561
+ }
562
+ ve.value = !0;
563
+ }
564
+ function $e(a) {
565
+ return a.proportion * 100 > e.value.style.chart.layout.labels.dataLabels.hideUnderValue;
566
+ }
567
+ function nt(a, s) {
568
+ if (!e.value.useBlurOnHover)
569
+ return "";
570
+ if (e.value.style.chart.tooltip.showAllItemsAtIndex && L.value.length === 0)
571
+ return [null, void 0].includes(le.value) || le.value === s ? "" : `url(#blur_${p.value})`;
572
+ if (!e.value.style.chart.tooltip.showAllItemsAtIndex || L.value.length)
573
+ return [null, void 0].includes(ae.value) || ae.value === a.id ? "" : `url(#blur_${p.value})`;
574
+ }
575
+ const ke = C(() => S.value.map((a, s) => {
576
+ const l = a.series.filter(
577
+ (t) => !L.value.includes(t.id)
578
+ ), o = E.value ? l.map((t) => {
579
+ const u = R.value[s].series.findIndex(
580
+ (v) => v.name === t.name
581
+ );
582
+ return M(
583
+ R.value[s].series[u].values
584
+ ).reduce((v, f) => v + f, 0);
585
+ }).reduce((t, u) => t + u, 0) : l.map((t) => t.value).reduce((t, u) => t + u, 0);
586
+ return a.series.map((t, u) => {
587
+ const v = M(R.value[s].series[u].values).reduce(
588
+ (w, d) => w + d,
589
+ 0
590
+ ), f = E.value ? v : t.value;
591
+ return {
592
+ name: t.name,
593
+ color: t.color,
594
+ value: f,
595
+ shape: "circle",
596
+ arcOf: t.arcOf,
597
+ id: t.id,
598
+ seriesIndex: u,
599
+ datasetIndex: s,
600
+ total: o,
601
+ opacity: L.value.includes(t.id) ? 0.5 : 1,
602
+ segregate: () => me(t),
603
+ isSegregated: L.value.includes(t.id)
604
+ };
605
+ });
606
+ })), Mt = C(() => ({
607
+ cy: "nested-donuts-legend",
608
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
609
+ color: e.value.style.chart.legend.color,
610
+ fontSize: e.value.style.chart.legend.fontSize,
611
+ paddingBottom: 12,
612
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
613
+ })), D = C(() => {
614
+ const a = m.value.flatMap((l) => l.series.map((o) => ({
615
+ name: `${l.name} - ${o.name}`,
616
+ color: o.color,
617
+ total: l.total
618
+ }))), s = m.value.flatMap((l) => l.series.map((o) => o.value));
619
+ return { head: a, body: s };
620
+ });
621
+ function rt(a = null) {
622
+ pt(() => {
623
+ const s = D.value.head.map((t, u) => [
624
+ [t.name],
625
+ [D.value.body[u]],
626
+ [
627
+ isNaN(D.value.body[u] / t.total) ? "-" : D.value.body[u] / t.total * 100
628
+ ]
629
+ ]), l = [
630
+ [e.value.style.chart.title.text],
631
+ [e.value.style.chart.title.subtitle.text],
632
+ [[""], ["val"], ["%"]]
633
+ ].concat(s), o = na(l);
634
+ a ? a(o) : ra({
635
+ csvContent: o,
636
+ title: e.value.style.chart.title.text || "vue-ui-nested-donuts"
637
+ });
638
+ });
639
+ }
640
+ const oe = C(() => {
641
+ const a = [
642
+ e.value.table.columnNames.series,
643
+ e.value.table.columnNames.value,
644
+ e.value.table.columnNames.percentage
645
+ ], s = D.value.head.map((t, u) => {
646
+ const v = F({
647
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
648
+ v: D.value.body[u],
649
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
650
+ r: e.value.table.td.roundingValue
651
+ });
652
+ return [
653
+ {
654
+ color: t.color,
655
+ name: t.name
656
+ },
657
+ v,
658
+ isNaN(D.value.body[u] / t.total) ? "-" : F({
659
+ v: D.value.body[u] / t.total * 100,
660
+ s: "%",
661
+ r: e.value.table.td.roundingPercentage
662
+ })
663
+ ];
664
+ }), l = {
665
+ th: {
666
+ backgroundColor: e.value.table.th.backgroundColor,
667
+ color: e.value.table.th.color,
668
+ outline: e.value.table.th.outline
669
+ },
670
+ td: {
671
+ backgroundColor: e.value.table.td.backgroundColor,
672
+ color: e.value.table.td.color,
673
+ outline: e.value.table.td.outline
674
+ },
675
+ breakpoint: e.value.table.responsiveBreakpoint
676
+ };
677
+ return {
678
+ colNames: [
679
+ e.value.table.columnNames.series,
680
+ e.value.table.columnNames.value,
681
+ e.value.table.columnNames.percentage
682
+ ],
683
+ head: a,
684
+ body: s,
685
+ config: l
686
+ };
687
+ });
688
+ function Et() {
689
+ return S.value;
690
+ }
691
+ function it() {
692
+ k.value.showTable = !k.value.showTable;
693
+ }
694
+ function dt() {
695
+ k.value.dataLabels.show = !k.value.dataLabels.show;
696
+ }
697
+ function vt() {
698
+ k.value.showTooltip = !k.value.showTooltip;
699
+ }
700
+ const se = h(!1);
701
+ function Le() {
702
+ se.value = !se.value;
703
+ }
704
+ async function Bt({ scale: a = 2 } = {}) {
705
+ if (!V.value) return;
706
+ const { width: s, height: l } = V.value.getBoundingClientRect(), o = s / l, { imageUri: t, base64: u } = await ba({ domElement: V.value, base64: !0, img: !0, scale: a });
707
+ return {
708
+ imageUri: t,
709
+ base64: u,
710
+ title: e.value.style.chart.title.text,
711
+ width: s,
712
+ height: l,
713
+ aspectRatio: o
714
+ };
715
+ }
716
+ const Ce = h(null);
717
+ function Rt() {
718
+ if (!Ce.value) return;
719
+ const { x: a, y: s, width: l, height: o } = Ce.value.getBBox();
720
+ ee.value && ee.value.setAttribute("viewBox", `${a} ${s} ${l + Math.min(0, a)} ${o + Math.min(0, s)}`);
721
+ }
722
+ return kt({
723
+ autoSize: Rt,
724
+ getData: Et,
725
+ getImage: Bt,
726
+ generatePdf: je,
727
+ generateCsv: rt,
728
+ generateImage: et,
729
+ toggleTable: it,
730
+ toggleLabels: dt,
731
+ toggleTooltip: vt,
732
+ toggleAnnotator: Le,
733
+ toggleFullscreen: Ye
734
+ }), (a, s) => (n(), r("div", {
735
+ ref_key: "nestedDonutsChart",
736
+ ref: V,
737
+ class: z(`vue-ui-nested-donuts ${Y.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
738
+ style: ie(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.chart.backgroundColor}`),
739
+ id: `nested_donuts_${p.value}`,
740
+ onMouseenter: s[2] || (s[2] = () => i(We)(!0)),
741
+ onMouseleave: s[3] || (s[3] = () => i(We)(!1))
742
+ }, [
743
+ e.value.userOptions.buttons.annotator ? (n(), G(i(At), {
744
+ key: 0,
745
+ svgRef: i(ee),
746
+ backgroundColor: e.value.style.chart.backgroundColor,
747
+ color: e.value.style.chart.color,
748
+ active: se.value,
749
+ onClose: Le
750
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : $("", !0),
751
+ St.value ? (n(), r("div", {
752
+ key: 1,
753
+ ref_key: "noTitle",
754
+ ref: Be,
755
+ class: "vue-data-ui-no-title-space",
756
+ style: "height:36px; width: 100%;background:transparent"
757
+ }, null, 512)) : $("", !0),
758
+ e.value.style.chart.title.text ? (n(), r("div", {
759
+ key: 2,
760
+ ref_key: "chartTitle",
761
+ ref: Me
762
+ }, [
763
+ (n(), G(ya, {
764
+ key: `title_${Re.value}`,
765
+ config: {
766
+ title: {
767
+ cy: "donut-div-title",
768
+ ...e.value.style.chart.title
769
+ },
770
+ subtitle: {
771
+ cy: "donut-div-subtitle",
772
+ ...e.value.style.chart.title.subtitle
773
+ }
774
+ }
775
+ }, null, 8, ["config"]))
776
+ ], 512)) : $("", !0),
777
+ e.value.userOptions.show && de.value && (i(qe) || i(be)) ? (n(), G(i(Nt), {
778
+ ref: "details",
779
+ key: `user_option_${ze.value}`,
780
+ backgroundColor: e.value.style.chart.backgroundColor,
781
+ color: e.value.style.chart.color,
782
+ isPrinting: i(Qe),
783
+ isImaging: i(Ze),
784
+ uid: p.value,
785
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
786
+ hasPdf: e.value.userOptions.buttons.pdf,
787
+ hasXls: e.value.userOptions.buttons.csv,
788
+ hasImg: e.value.userOptions.buttons.img,
789
+ hasTable: e.value.userOptions.buttons.table,
790
+ hasLabel: e.value.userOptions.buttons.labels,
791
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
792
+ isFullscreen: Y.value,
793
+ isTooltip: k.value.showTooltip,
794
+ titles: { ...e.value.userOptions.buttonTitles },
795
+ chartElement: V.value,
796
+ position: e.value.userOptions.position,
797
+ hasAnnotator: e.value.userOptions.buttons.annotator,
798
+ isAnnotation: se.value,
799
+ callbacks: e.value.userOptions.callbacks,
800
+ printScale: e.value.userOptions.print.scale,
801
+ onToggleFullscreen: Ye,
802
+ onGeneratePdf: i(je),
803
+ onGenerateCsv: rt,
804
+ onGenerateImage: i(et),
805
+ onToggleTable: it,
806
+ onToggleLabels: dt,
807
+ onToggleTooltip: vt,
808
+ onToggleAnnotator: Le,
809
+ style: ie({
810
+ visibility: i(qe) ? i(be) ? "visible" : "hidden" : "visible"
811
+ })
812
+ }, Jt({ _: 2 }, [
813
+ a.$slots.menuIcon ? {
814
+ name: "menuIcon",
815
+ fn: x(({ isOpen: l, color: o }) => [
816
+ _(a.$slots, "menuIcon", H(J({ isOpen: l, color: o })), void 0, !0)
817
+ ]),
818
+ key: "0"
819
+ } : void 0,
820
+ a.$slots.optionTooltip ? {
821
+ name: "optionTooltip",
822
+ fn: x(() => [
823
+ _(a.$slots, "optionTooltip", {}, void 0, !0)
824
+ ]),
825
+ key: "1"
826
+ } : void 0,
827
+ a.$slots.optionPdf ? {
828
+ name: "optionPdf",
829
+ fn: x(() => [
830
+ _(a.$slots, "optionPdf", {}, void 0, !0)
831
+ ]),
832
+ key: "2"
833
+ } : void 0,
834
+ a.$slots.optionCsv ? {
835
+ name: "optionCsv",
836
+ fn: x(() => [
837
+ _(a.$slots, "optionCsv", {}, void 0, !0)
838
+ ]),
839
+ key: "3"
840
+ } : void 0,
841
+ a.$slots.optionImg ? {
842
+ name: "optionImg",
843
+ fn: x(() => [
844
+ _(a.$slots, "optionImg", {}, void 0, !0)
845
+ ]),
846
+ key: "4"
847
+ } : void 0,
848
+ a.$slots.optionTable ? {
849
+ name: "optionTable",
850
+ fn: x(() => [
851
+ _(a.$slots, "optionTable", {}, void 0, !0)
852
+ ]),
853
+ key: "5"
854
+ } : void 0,
855
+ a.$slots.optionLabels ? {
856
+ name: "optionLabels",
857
+ fn: x(() => [
858
+ _(a.$slots, "optionLabels", {}, void 0, !0)
859
+ ]),
860
+ key: "6"
861
+ } : void 0,
862
+ a.$slots.optionFullscreen ? {
863
+ name: "optionFullscreen",
864
+ fn: x(({ toggleFullscreen: l, isFullscreen: o }) => [
865
+ _(a.$slots, "optionFullscreen", H(J({ toggleFullscreen: l, isFullscreen: o })), void 0, !0)
866
+ ]),
867
+ key: "7"
868
+ } : void 0,
869
+ a.$slots.optionAnnotator ? {
870
+ name: "optionAnnotator",
871
+ fn: x(({ toggleAnnotator: l, isAnnotator: o }) => [
872
+ _(a.$slots, "optionAnnotator", H(J({ toggleAnnotator: l, isAnnotator: o })), void 0, !0)
873
+ ]),
874
+ key: "8"
875
+ } : void 0
876
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasXls", "hasImg", "hasTable", "hasLabel", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : $("", !0),
877
+ (n(), r("svg", {
878
+ ref_key: "svgRef",
879
+ ref: ee,
880
+ xmlns: i(sa),
881
+ class: z({
882
+ "vue-data-ui-fullscreen--on": Y.value,
883
+ "vue-data-ui-fulscreen--off": !Y.value,
884
+ "vue-data-ui-svg": !0
885
+ }),
886
+ viewBox: `0 0 ${c.value.width <= 0 ? 1e-3 : c.value.width} ${c.value.height < 0 ? 1e-3 : c.value.height}`,
887
+ style: ie(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color};${He.value.css}`)
888
+ }, [
889
+ y("g", {
890
+ ref_key: "G",
891
+ ref: Ce,
892
+ class: "vue-data-ui-g"
893
+ }, [
894
+ ht(i(_t)),
895
+ a.$slots["chart-background"] ? (n(), r("foreignObject", {
896
+ key: 0,
897
+ x: 0,
898
+ y: 0,
899
+ width: c.value.width <= 0 ? 1e-3 : c.value.width,
900
+ height: c.value.height < 0 ? 1e-3 : c.value.height,
901
+ style: {
902
+ pointerEvents: "none"
903
+ }
904
+ }, [
905
+ _(a.$slots, "chart-background", {}, void 0, !0)
906
+ ], 8, La)) : $("", !0),
907
+ y("defs", null, [
908
+ (n(!0), r(A, null, T(st.value, (l, o) => (n(), r("radialGradient", {
909
+ id: `radial_${p.value}_${o}`
910
+ }, [
911
+ s[4] || (s[4] = y("stop", {
912
+ offset: "0%",
913
+ "stop-color": "#FFFFFF",
914
+ "stop-opacity": "0"
915
+ }, null, -1)),
916
+ y("stop", {
917
+ offset: `${(1 - te.value / ot.value[o]) * 100}%`,
918
+ "stop-color": i(ua)("#FFFFFF", 0),
919
+ "stop-opacity": "0"
920
+ }, null, 8, xa),
921
+ y("stop", {
922
+ offset: `${(1 - te.value / ot.value[o] / 2) * 100}%`,
923
+ "stop-color": "#FFFFFF",
924
+ "stop-opacity": e.value.style.chart.gradientIntensity / 100
925
+ }, null, 8, _a),
926
+ s[5] || (s[5] = y("stop", {
927
+ offset: "100%",
928
+ "stop-color": "#FFFFFF",
929
+ "stop-opacity": "0"
930
+ }, null, -1))
931
+ ], 8, Ca))), 256))
932
+ ]),
933
+ y("defs", null, [
934
+ y("filter", {
935
+ id: `blur_${p.value}`,
936
+ x: "-50%",
937
+ y: "-50%",
938
+ width: "200%",
939
+ height: "200%"
940
+ }, [
941
+ y("feGaussianBlur", {
942
+ in: "SourceGraphic",
943
+ stdDeviation: 2,
944
+ id: `blur_std_${p.value}`
945
+ }, null, 8, Ta),
946
+ s[6] || (s[6] = y("feColorMatrix", {
947
+ type: "saturate",
948
+ values: "0"
949
+ }, null, -1))
950
+ ], 8, Aa),
951
+ y("filter", {
952
+ id: `shadow_${p.value}`,
953
+ "color-interpolation-filters": "sRGB"
954
+ }, [
955
+ y("feDropShadow", {
956
+ dx: "0",
957
+ dy: "0",
958
+ stdDeviation: "10",
959
+ "flood-opacity": "0.5",
960
+ "flood-color": e.value.style.chart.layout.donut.shadowColor
961
+ }, null, 8, Fa)
962
+ ], 8, Na)
963
+ ]),
964
+ y("defs", null, [
965
+ (n(!0), r(A, null, T(q.value, (l, o) => (n(), r("path", {
966
+ key: `path-full-${o}`,
967
+ id: `path-full-${o}-${p.value}`,
968
+ d: l.fullCirclePath,
969
+ fill: "none"
970
+ }, null, 8, Oa))), 128))
971
+ ]),
972
+ (n(!0), r(A, null, T(q.value, (l, o) => (n(), r("g", null, [
973
+ l.hasData ? (n(!0), r(A, { key: 0 }, T(l.donut.filter((t) => !t.ghost), (t, u) => (n(), r("g", null, [
974
+ y("path", {
975
+ class: "vue-ui-donut-arc-path",
976
+ d: t.arcSlice,
977
+ fill: t.color,
978
+ stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
979
+ "stroke-width": e.value.style.chart.layout.donut.borderWidth,
980
+ filter: nt(t, u)
981
+ }, null, 8, Sa)
982
+ ]))), 256)) : (n(!0), r(A, { key: 1 }, T(l.skeleton, (t, u) => (n(), r("g", null, [
983
+ y("path", {
984
+ class: "vue-ui-donut-arc-path",
985
+ d: t.arcSlice,
986
+ fill: t.color,
987
+ stroke: e.value.style.chart.layout.donut.borderColorAuto ? e.value.style.chart.backgroundColor : e.value.style.chart.layout.donut.borderColor,
988
+ "stroke-width": e.value.style.chart.layout.donut.borderWidth
989
+ }, null, 8, Ia)
990
+ ]))), 256))
991
+ ]))), 256)),
992
+ e.value.style.chart.useGradient ? (n(), r("g", Va, [
993
+ (n(!0), r(A, null, T(st.value, (l, o) => (n(), r("g", null, [
994
+ y("path", {
995
+ d: l.donut.arcSlice,
996
+ fill: `url(#radial_${p.value}_${o})`,
997
+ stroke: "transparent",
998
+ "stroke-width": "0"
999
+ }, null, 8, Pa)
1000
+ ]))), 256))
1001
+ ])) : $("", !0),
1002
+ e.value.style.chart.layout.labels.dataLabels.showDonutName ? (n(), r("g", Da, [
1003
+ e.value.style.chart.layout.labels.dataLabels.curvedDonutName ? (n(!0), r(A, { key: 0 }, T(q.value, (l, o) => (n(), r("g", null, [
1004
+ (n(!0), r(A, null, T(l.donut, (t, u) => (n(), r("g", null, [
1005
+ u === 0 && c.value.width && c.value.height ? (n(), r("text", {
1006
+ key: 0,
1007
+ class: z({ animated: e.value.useCssAnimation }),
1008
+ "text-anchor": "middle",
1009
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
1010
+ "font-weight": e.value.style.chart.layout.labels.dataLabels.boldDonutName ? "bold" : "normal",
1011
+ fill: e.value.style.chart.layout.labels.dataLabels.color,
1012
+ dy: e.value.style.chart.layout.labels.dataLabels.donutNameOffsetY
1013
+ }, [
1014
+ y("textPath", {
1015
+ href: `#path-full-${o}-${p.value}`,
1016
+ startOffset: "50%",
1017
+ "text-anchor": "middle",
1018
+ method: "align",
1019
+ spacing: "auto",
1020
+ side: "right"
1021
+ }, O(e.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? i(bt)({
1022
+ source: l.name,
1023
+ length: e.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1024
+ }) : l.name), 9, Ma)
1025
+ ], 10, za)) : $("", !0)
1026
+ ]))), 256))
1027
+ ]))), 256)) : (n(!0), r(A, { key: 1 }, T(q.value, (l, o) => (n(), r("g", null, [
1028
+ (n(!0), r(A, null, T(l.donut, (t, u) => (n(), r("g", null, [
1029
+ u === 0 && c.value.width && c.value.height ? (n(), r("text", {
1030
+ key: 0,
1031
+ class: z({ animated: e.value.useCssAnimation }),
1032
+ x: c.value.width / 2,
1033
+ y: t.startY - e.value.style.chart.layout.labels.dataLabels.fontSize + e.value.style.chart.layout.labels.dataLabels.donutNameOffsetY,
1034
+ "text-anchor": "middle",
1035
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
1036
+ "font-weight": e.value.style.chart.layout.labels.dataLabels.boldDonutName ? "bold" : "normal",
1037
+ fill: e.value.style.chart.layout.labels.dataLabels.color
1038
+ }, O(e.value.style.chart.layout.labels.dataLabels.donutNameAbbreviation ? i(bt)({
1039
+ source: l.name,
1040
+ length: e.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize
1041
+ }) : l.name), 11, Ea)) : $("", !0)
1042
+ ]))), 256))
1043
+ ]))), 256))
1044
+ ])) : $("", !0),
1045
+ e.value.style.chart.layout.labels.dataLabels.show ? (n(), r("g", Ba, [
1046
+ (n(!0), r(A, null, T(q.value, (l, o) => (n(), r("g", null, [
1047
+ (n(!0), r(A, null, T(l.donut.filter((t) => !t.ghost), (t, u) => (n(), r("g", {
1048
+ filter: nt(t, u)
1049
+ }, [
1050
+ ft(y("text", {
1051
+ class: z({ animated: e.value.useCssAnimation }),
1052
+ opacity: $e(t) ? 1 : 0,
1053
+ "text-anchor": i(Q)(t, !0).anchor,
1054
+ x: i(Q)(
1055
+ t,
1056
+ !1,
1057
+ e.value.style.chart.layout.labels.dataLabels.offsetX
1058
+ ).x || 0,
1059
+ y: i(Pe)(
1060
+ t,
1061
+ e.value.style.chart.layout.labels.dataLabels.offsetY,
1062
+ e.value.style.chart.layout.labels.dataLabels.offsetY
1063
+ ),
1064
+ fill: e.value.style.chart.layout.labels.dataLabels.useSerieColor ? t.color : e.value.style.chart.layout.labels.dataLabels.color,
1065
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
1066
+ "font-weight": e.value.style.chart.layout.labels.dataLabels.boldPercentage ? "bold" : "normal"
1067
+ }, O(i(F)({
1068
+ v: t.proportion * 100,
1069
+ s: "%",
1070
+ r: e.value.style.chart.layout.labels.dataLabels.roundingPercentage
1071
+ })), 11, Ua), [
1072
+ [
1073
+ yt,
1074
+ k.value.dataLabels.show && e.value.style.chart.layout.labels.dataLabels.showPercentage
1075
+ ]
1076
+ ]),
1077
+ ft(y("text", {
1078
+ class: z({ animated: e.value.useCssAnimation }),
1079
+ opacity: $e(t) ? 1 : 0,
1080
+ "text-anchor": i(Q)(t, !0).anchor,
1081
+ x: i(Q)(
1082
+ t,
1083
+ !1,
1084
+ e.value.style.chart.layout.labels.dataLabels.offsetX
1085
+ ).x || 0,
1086
+ y: i(Pe)(
1087
+ t,
1088
+ e.value.style.chart.layout.labels.dataLabels.offsetY,
1089
+ e.value.style.chart.layout.labels.dataLabels.offsetY
1090
+ ) + e.value.style.chart.layout.labels.dataLabels.fontSize,
1091
+ fill: e.value.style.chart.layout.labels.dataLabels.useSerieColor ? t.color : e.value.style.chart.layout.labels.dataLabels.color,
1092
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
1093
+ "font-weight": e.value.style.chart.layout.labels.dataLabels.boldValue ? "bold" : "normal"
1094
+ }, " (" + O(i(j)(
1095
+ e.value.style.chart.layout.labels.dataLabels.formatter,
1096
+ t.value,
1097
+ i(F)({
1098
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
1099
+ v: t.value,
1100
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
1101
+ r: e.value.style.chart.layout.labels.dataLabels.roundingValue
1102
+ }),
1103
+ { datapoint: t, seriesIndex: o, datapointIndex: u }
1104
+ )) + ") ", 11, Ga), [
1105
+ [
1106
+ yt,
1107
+ k.value.dataLabels.show && e.value.style.chart.layout.labels.dataLabels.showPercentage && e.value.style.chart.layout.labels.dataLabels.showValue
1108
+ ]
1109
+ ]),
1110
+ $e(t) && k.value.dataLabels.show && !e.value.style.chart.layout.labels.dataLabels.showPercentage && e.value.style.chart.layout.labels.dataLabels.showValue ? (n(), r("text", {
1111
+ key: 0,
1112
+ class: z({ animated: e.value.useCssAnimation }),
1113
+ "text-anchor": i(Q)(t, !0).anchor,
1114
+ x: i(Q)(
1115
+ t,
1116
+ !1,
1117
+ e.value.style.chart.layout.labels.dataLabels.offsetX
1118
+ ).x || 0,
1119
+ y: i(Pe)(
1120
+ t,
1121
+ e.value.style.chart.layout.labels.dataLabels.offsetY,
1122
+ e.value.style.chart.layout.labels.dataLabels.offsetY
1123
+ ),
1124
+ fill: e.value.style.chart.layout.labels.dataLabels.useSerieColor ? t.color : e.value.style.chart.layout.labels.dataLabels.color,
1125
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
1126
+ "font-weight": e.value.style.chart.layout.labels.dataLabels.boldValue ? "bold" : "normal"
1127
+ }, O(i(j)(
1128
+ e.value.style.chart.layout.labels.dataLabels.formatter,
1129
+ t.value,
1130
+ i(F)({
1131
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
1132
+ v: t.value,
1133
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
1134
+ r: e.value.style.chart.layout.labels.dataLabels.roundingValue
1135
+ }),
1136
+ { datapoint: t, seriesIndex: o, datapointIndex: u }
1137
+ )), 11, Ya)) : $("", !0)
1138
+ ], 8, Ra))), 256))
1139
+ ]))), 256))
1140
+ ])) : $("", !0),
1141
+ (n(!0), r(A, null, T(q.value, (l, o) => (n(), r("g", null, [
1142
+ (n(!0), r(A, null, T(l.donut, (t, u) => (n(), r("g", null, [
1143
+ y("path", {
1144
+ d: t.arcSlice,
1145
+ fill: he.value === t.id ? e.value.style.chart.layout.donut.selectedColor : "transparent",
1146
+ onMouseenter: (v) => zt({
1147
+ datapoint: t,
1148
+ seriesIndex: t.seriesIndex
1149
+ }),
1150
+ onClick: (v) => Vt({ datapoint: t, index: u, seriesIndex: t.seriesIndex }),
1151
+ onMouseleave: (v) => Dt({ datapoint: t, seriesIndex: t.seriesIndex })
1152
+ }, null, 40, Xa)
1153
+ ]))), 256))
1154
+ ]))), 256)),
1155
+ _(a.$slots, "svg", { svg: c.value }, void 0, !0)
1156
+ ], 512)
1157
+ ], 14, ka)),
1158
+ a.$slots.watermark ? (n(), r("div", Wa, [
1159
+ _(a.$slots, "watermark", H(J({ isPrinting: i(Qe) || i(Ze) })), void 0, !0)
1160
+ ])) : $("", !0),
1161
+ ht(i(Tt), {
1162
+ show: k.value.showTooltip && ve.value,
1163
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
1164
+ color: e.value.style.chart.tooltip.color,
1165
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
1166
+ borderColor: e.value.style.chart.tooltip.borderColor,
1167
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
1168
+ fontSize: e.value.style.chart.tooltip.fontSize,
1169
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
1170
+ position: e.value.style.chart.tooltip.position,
1171
+ offsetY: e.value.style.chart.tooltip.offsetY,
1172
+ parent: V.value,
1173
+ content: ce.value,
1174
+ isFullscreen: Y.value,
1175
+ isCustom: i(gt)(e.value.style.chart.tooltip.customFormat),
1176
+ smooth: e.value.style.chart.tooltip.smooth,
1177
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter
1178
+ }, {
1179
+ "tooltip-before": x(() => [
1180
+ _(a.$slots, "tooltip-before", H(J({ ...we.value })), void 0, !0)
1181
+ ]),
1182
+ "tooltip-after": x(() => [
1183
+ _(a.$slots, "tooltip-after", H(J({ ...we.value })), void 0, !0)
1184
+ ]),
1185
+ _: 3
1186
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
1187
+ e.value.style.chart.legend.show ? (n(), r("div", {
1188
+ key: 5,
1189
+ ref_key: "chartLegend",
1190
+ ref: fe,
1191
+ class: z({ "vue-ui-nested-donuts-legend": ke.value.length > 1 })
1192
+ }, [
1193
+ (n(!0), r(A, null, T(ke.value, (l, o) => (n(), G(pa, {
1194
+ key: `legend_${o}_${Ge.value}`,
1195
+ legendSet: l,
1196
+ config: Mt.value,
1197
+ onClickMarker: s[0] || (s[0] = ({ legend: t }) => me(t))
1198
+ }, {
1199
+ legendTitle: x(({ titleSet: t }) => [
1200
+ t[0] && t[0].arcOf ? (n(), r("div", qa, O(t[0].arcOf), 1)) : $("", !0)
1201
+ ]),
1202
+ item: x(({ legend: t, index: u }) => [
1203
+ y("div", {
1204
+ onClick: (v) => me(t),
1205
+ style: ie(`opacity:${L.value.includes(t.id) ? 0.5 : 1}`)
1206
+ }, O(t.name) + O(e.value.style.chart.legend.showPercentage || e.value.style.chart.legend.showValue ? ":" : "") + " " + O(e.value.style.chart.legend.showValue ? i(j)(
1207
+ e.value.style.chart.layout.labels.dataLabels.formatter,
1208
+ t.value,
1209
+ i(F)({
1210
+ p: e.value.style.chart.layout.labels.dataLabels.prefix,
1211
+ v: t.value,
1212
+ s: e.value.style.chart.layout.labels.dataLabels.suffix,
1213
+ r: e.value.style.chart.legend.roundingValue
1214
+ }),
1215
+ { datapoint: t, seriesIndex: u }
1216
+ ) : "") + " " + O(e.value.style.chart.legend.showPercentage ? L.value.includes(t.id) ? `${e.value.style.chart.legend.showValue ? "(" : ""}- %${e.value.style.chart.legend.showValue ? ")" : ""}` : `${e.value.style.chart.legend.showValue ? "(" : ""}${isNaN(t.value / t.total) ? "-" : i(F)({
1217
+ v: t.value / t.total * 100,
1218
+ s: "%",
1219
+ r: e.value.style.chart.legend.roundingPercentage
1220
+ })}${e.value.style.chart.legend.showValue ? ")" : ""}` : ""), 13, Ha)
1221
+ ]),
1222
+ _: 2
1223
+ }, 1032, ["legendSet", "config"]))), 128))
1224
+ ], 2)) : $("", !0),
1225
+ e.value.style.chart.legend.show ? $("", !0) : (n(), r("div", {
1226
+ key: 6,
1227
+ ref_key: "chartLegend",
1228
+ ref: fe
1229
+ }, [
1230
+ _(a.$slots, "legend", { legend: ke.value }, void 0, !0)
1231
+ ], 512)),
1232
+ a.$slots.source ? (n(), r("div", {
1233
+ key: 7,
1234
+ ref_key: "source",
1235
+ ref: Ee,
1236
+ dir: "auto"
1237
+ }, [
1238
+ _(a.$slots, "source", {}, void 0, !0)
1239
+ ], 512)) : $("", !0),
1240
+ de.value ? (n(), G(i(Ct), {
1241
+ key: 8,
1242
+ hideDetails: "",
1243
+ config: {
1244
+ open: k.value.showTable,
1245
+ maxHeight: 1e4,
1246
+ body: {
1247
+ backgroundColor: e.value.style.chart.backgroundColor,
1248
+ color: e.value.style.chart.color
1249
+ },
1250
+ head: {
1251
+ backgroundColor: e.value.style.chart.backgroundColor,
1252
+ color: e.value.style.chart.color
1253
+ }
1254
+ }
1255
+ }, {
1256
+ content: x(() => [
1257
+ (n(), G(i(xt), {
1258
+ key: `table_${Ue.value}`,
1259
+ colNames: oe.value.colNames,
1260
+ head: oe.value.head,
1261
+ body: oe.value.body,
1262
+ config: oe.value.config,
1263
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
1264
+ onClose: s[1] || (s[1] = (l) => k.value.showTable = !1)
1265
+ }, {
1266
+ th: x(({ th: l }) => [
1267
+ y("div", {
1268
+ innerHTML: l,
1269
+ style: { display: "flex", "align-items": "center" }
1270
+ }, null, 8, Ja)
1271
+ ]),
1272
+ td: x(({ td: l }) => [
1273
+ Kt(O(l.name || l), 1)
1274
+ ]),
1275
+ _: 1
1276
+ }, 8, ["colNames", "head", "body", "config", "title"]))
1277
+ ]),
1278
+ _: 1
1279
+ }, 8, ["config"])) : $("", !0),
1280
+ i(ye) ? (n(), G(ma, { key: 9 })) : $("", !0)
1281
+ ], 46, $a));
1282
+ }
1283
+ }, il = /* @__PURE__ */ wa(Ka, [["__scopeId", "data-v-2b87514e"]]);
1284
+ export {
1285
+ il as default
1286
+ };