vue-data-ui 3.0.0-next.9 → 3.0.0

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