vue-data-ui 2.3.2 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/Arrow-B6gJebT9.js +101 -0
  2. package/dist/Arrow-C5yj6zwY.cjs +1 -0
  3. package/dist/BaseIcon-7_g11dRj.js +174 -0
  4. package/dist/BaseIcon-JtWoVorZ.cjs +1 -0
  5. package/dist/DataTable-CwaOlAsy.js +127 -0
  6. package/dist/DataTable-Rm9II-m2.cjs +1 -0
  7. package/dist/Legend-CxvJTjEm.js +62 -0
  8. package/dist/Legend-D59FIuMs.cjs +1 -0
  9. package/dist/Shape-CVItL3vh.cjs +1 -0
  10. package/dist/Shape-CjLV0scA.js +107 -0
  11. package/dist/Slicer-Bxg5niHl.js +156 -0
  12. package/dist/Slicer-Cdss5Rus.cjs +1 -0
  13. package/dist/Title-2iks1ziC.js +46 -0
  14. package/dist/Title-Bb-A5OSV.cjs +1 -0
  15. package/dist/Tooltip-C3phqKuU.js +94 -0
  16. package/dist/Tooltip-C_UE6y-E.cjs +1 -0
  17. package/dist/_plugin-vue_export-helper-BHFhmbuH.cjs +1 -0
  18. package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  19. package/dist/html2canvas.esm-BA_v9SIU.cjs +22 -0
  20. package/dist/html2canvas.esm-d2sM-0Wm.js +4870 -0
  21. package/dist/index-p5gfZSvB.cjs +4 -0
  22. package/dist/index-uOtklCCx.js +10268 -0
  23. package/dist/{index.es-BoVO5twe.js → index.es-YufTdp0y.js} +1 -1
  24. package/dist/{index.es-w_iDpZ-o.cjs → index.es-uyeSCnWE.cjs} +1 -1
  25. package/dist/jspdf.es.min-C660YX78.js +8038 -0
  26. package/dist/jspdf.es.min-DLYY9DTT.cjs +243 -0
  27. package/dist/pdf-97UbtKC2.js +44 -0
  28. package/dist/pdf-Cz3729tZ.cjs +1 -0
  29. package/dist/style.css +1 -1
  30. package/dist/useNestedProp-2kIU-7On.cjs +1 -0
  31. package/dist/useNestedProp-BgWkUab_.js +13 -0
  32. package/dist/usePrinter-B6xQCyL-.js +464 -0
  33. package/dist/usePrinter-fZlsJid8.cjs +1 -0
  34. package/dist/useResponsive-B3TrDDIG.cjs +1 -0
  35. package/dist/useResponsive-NZB-WLRF.js +187 -0
  36. package/dist/vue-data-ui-Be0rgmbA.cjs +9 -0
  37. package/dist/vue-data-ui-Ccy6rBZN.js +246 -0
  38. package/dist/vue-data-ui.cjs +1 -1
  39. package/dist/vue-data-ui.js +62 -61
  40. package/dist/vue-ui-3d-bar-BKMPFDi2.js +1085 -0
  41. package/dist/vue-ui-3d-bar-CKa4UXq4.cjs +19 -0
  42. package/dist/vue-ui-accordion-C_pwrAJl.cjs +1 -0
  43. package/dist/vue-ui-accordion-HJPf7My0.js +77 -0
  44. package/dist/vue-ui-age-pyramid-CE1xnA-8.cjs +1 -0
  45. package/dist/vue-ui-age-pyramid-DB_CL-gu.js +596 -0
  46. package/dist/vue-ui-annotator-BAMZcPlH.cjs +371 -0
  47. package/dist/vue-ui-annotator-DQsAL-nZ.js +2177 -0
  48. package/dist/vue-ui-candlestick-DCl8fpNu.js +657 -0
  49. package/dist/vue-ui-candlestick-Duv6oG79.cjs +2 -0
  50. package/dist/vue-ui-chestnut-BYHA6MT4.js +1051 -0
  51. package/dist/vue-ui-chestnut-mIZ4-ZEM.cjs +6 -0
  52. package/dist/vue-ui-cursor-C96IChA3.js +229 -0
  53. package/dist/vue-ui-cursor-De7dy4Mo.cjs +1 -0
  54. package/dist/vue-ui-dashboard-B2Yz41yO.js +232 -0
  55. package/dist/vue-ui-dashboard-BMGwKr0K.cjs +1 -0
  56. package/dist/vue-ui-digits-BnxLp7zQ.js +153 -0
  57. package/dist/vue-ui-digits-DSWyL-5K.cjs +1 -0
  58. package/dist/vue-ui-donut-1kei9ws5.cjs +1 -0
  59. package/dist/vue-ui-donut-B9iXisHK.js +743 -0
  60. package/dist/vue-ui-donut-evolution-B7Sun8sw.js +799 -0
  61. package/dist/vue-ui-donut-evolution-yv17DnGy.cjs +1 -0
  62. package/dist/vue-ui-dumbbell-BJEf_JEq.cjs +9 -0
  63. package/dist/vue-ui-dumbbell-DIsDnD1d.js +624 -0
  64. package/dist/vue-ui-flow-BTivYoGd.js +454 -0
  65. package/dist/vue-ui-flow-DOxJa8di.cjs +1 -0
  66. package/dist/vue-ui-galaxy-BEmywfFB.js +485 -0
  67. package/dist/vue-ui-galaxy-CHGOwCwM.cjs +1 -0
  68. package/dist/vue-ui-gauge-QAfMl-8t.cjs +1 -0
  69. package/dist/vue-ui-gauge-o4rDOqF3.js +466 -0
  70. package/dist/vue-ui-heatmap-BS4EzedX.cjs +1 -0
  71. package/dist/vue-ui-heatmap-DwqQqEsk.js +598 -0
  72. package/dist/vue-ui-kpi-F4qkJ_U-.cjs +1 -0
  73. package/dist/vue-ui-kpi-h8elYTcA.js +54 -0
  74. package/dist/vue-ui-mini-loader-C_8B2Pm6.cjs +1 -0
  75. package/dist/vue-ui-mini-loader-Cgoi9rhH.js +131 -0
  76. package/dist/vue-ui-molecule-Bmv76SWz.js +750 -0
  77. package/dist/vue-ui-molecule-C5CY_YYc.cjs +1 -0
  78. package/dist/vue-ui-mood-radar-BN0dzlfp.cjs +1 -0
  79. package/dist/vue-ui-mood-radar-DeMouUIe.js +548 -0
  80. package/dist/vue-ui-nested-donuts-ZyFoV-Zn.cjs +16 -0
  81. package/dist/vue-ui-nested-donuts-wOUkSVyZ.js +771 -0
  82. package/dist/vue-ui-onion-DCOKG2wG.js +554 -0
  83. package/dist/vue-ui-onion-VmTUo7TR.cjs +1 -0
  84. package/dist/vue-ui-parallel-coordinate-plot-BGtO2P4a.js +651 -0
  85. package/dist/vue-ui-parallel-coordinate-plot-BziXRF8E.cjs +8 -0
  86. package/dist/vue-ui-quadrant--JOTjPZh.js +1178 -0
  87. package/dist/vue-ui-quadrant-DawUUrur.cjs +1 -0
  88. package/dist/vue-ui-quick-chart-LXKfaJgS.js +1310 -0
  89. package/dist/vue-ui-quick-chart-jFlFtiNV.cjs +13 -0
  90. package/dist/vue-ui-radar-CWNIqvcA.js +614 -0
  91. package/dist/vue-ui-radar-VGH-lhaT.cjs +1 -0
  92. package/dist/vue-ui-rating-BNrIoJHN.js +271 -0
  93. package/dist/vue-ui-rating-Dtu6pwGx.cjs +1 -0
  94. package/dist/vue-ui-relation-circle-B3NKudOy.js +304 -0
  95. package/dist/vue-ui-relation-circle-Dwpx9o18.cjs +1 -0
  96. package/dist/vue-ui-rings-CsUngX_F.js +510 -0
  97. package/dist/vue-ui-rings-D9_OG--0.cjs +1 -0
  98. package/dist/vue-ui-scatter-DUsuh7bd.cjs +1 -0
  99. package/dist/vue-ui-scatter-DgxTz4Jx.js +874 -0
  100. package/dist/vue-ui-screenshot-51H_VrYY.js +160 -0
  101. package/dist/vue-ui-screenshot-C2Dz7CAe.cjs +3 -0
  102. package/dist/vue-ui-skeleton-BM9rwmxY.js +2064 -0
  103. package/dist/vue-ui-skeleton-sjfOtCZr.cjs +41 -0
  104. package/dist/vue-ui-smiley-DNnBtHht.cjs +2 -0
  105. package/dist/vue-ui-smiley-H5rSN-1B.js +763 -0
  106. package/dist/vue-ui-spark-trend-CLXZDYlk.js +246 -0
  107. package/dist/vue-ui-spark-trend-R4JJvfry.cjs +1 -0
  108. package/dist/vue-ui-sparkbar-C0k4ah-7.js +242 -0
  109. package/dist/vue-ui-sparkbar-CEUDIw0A.cjs +1 -0
  110. package/dist/vue-ui-sparkgauge-BHj00A07.js +157 -0
  111. package/dist/vue-ui-sparkgauge-CaEw6nmI.cjs +1 -0
  112. package/dist/vue-ui-sparkhistogram-B6GuavEu.cjs +1 -0
  113. package/dist/vue-ui-sparkhistogram-DbMLYKqE.js +244 -0
  114. package/dist/vue-ui-sparkline-CJydanLS.cjs +1 -0
  115. package/dist/vue-ui-sparkline-CYova9x3.js +333 -0
  116. package/dist/vue-ui-sparkstackbar-Df__yM5b.cjs +1 -0
  117. package/dist/vue-ui-sparkstackbar-N5rVBM2h.js +244 -0
  118. package/dist/vue-ui-strip-plot-DJJ1vEWz.js +618 -0
  119. package/dist/vue-ui-strip-plot-b5lhB35d.cjs +1 -0
  120. package/dist/vue-ui-table-NHhOVDbs.cjs +14 -0
  121. package/dist/vue-ui-table-heatmap-Cro2etCY.js +237 -0
  122. package/dist/vue-ui-table-heatmap-DlL2nCqz.cjs +1 -0
  123. package/dist/vue-ui-table-sparkline-Bw2Gc_ur.cjs +1 -0
  124. package/dist/vue-ui-table-sparkline-DppMitqF.js +420 -0
  125. package/dist/vue-ui-table-xSvwJIa7.js +1430 -0
  126. package/dist/vue-ui-thermometer-M2kdp1x5.js +385 -0
  127. package/dist/vue-ui-thermometer-Q_3PX2V3.cjs +1 -0
  128. package/dist/vue-ui-timer-BtSDeIRp.cjs +64 -0
  129. package/dist/vue-ui-timer-CAaQ-QD6.js +453 -0
  130. package/dist/vue-ui-tiremarks-CbGOSEvD.cjs +1 -0
  131. package/dist/vue-ui-tiremarks-JFv4JLP0.js +249 -0
  132. package/dist/vue-ui-treemap-BqDX-bPf.cjs +1 -0
  133. package/dist/vue-ui-treemap-DCnv-xYr.js +722 -0
  134. package/dist/vue-ui-vertical-bar-CEbApJZl.js +737 -0
  135. package/dist/vue-ui-vertical-bar-CJB_KXyr.cjs +4 -0
  136. package/dist/vue-ui-waffle-CTS6C7gu.js +638 -0
  137. package/dist/vue-ui-waffle-IMEbGe-b.cjs +1 -0
  138. package/dist/vue-ui-wheel-CuOmEWMQ.cjs +1 -0
  139. package/dist/vue-ui-wheel-_zyCdFiI.js +227 -0
  140. package/dist/vue-ui-word-cloud-RDlXBEAN.js +346 -0
  141. package/dist/vue-ui-word-cloud-Y7Yk7uUJ.cjs +1 -0
  142. package/dist/vue-ui-xy-BZJQBKnU.cjs +3 -0
  143. package/dist/vue-ui-xy-DsvN9EIQ.js +2064 -0
  144. package/dist/vue-ui-xy-canvas-D_dnbyFS.cjs +9 -0
  145. package/dist/vue-ui-xy-canvas-Dbcw8-9Q.js +1006 -0
  146. package/package.json +1 -1
  147. package/dist/index-C6KVJkgd.cjs +0 -843
  148. package/dist/index-bDBuMYfe.js +0 -57303
@@ -0,0 +1,799 @@
1
+ import { computed as x, ref as L, onMounted as Re, openBlock as a, createElementBlock as u, normalizeClass as F, normalizeStyle as j, createVNode as me, createCommentVNode as d, createBlock as R, unref as b, createSlots as Ue, withCtx as P, renderSlot as T, normalizeProps as pe, guardReactiveProps as ke, createElementVNode as c, Fragment as m, renderList as p, toDisplayString as y, withKeys as Xe, createTextVNode as _e, nextTick as Ge } from "vue";
2
+ import { u as je, o as Be, e as B, g as Ye, c as Ce, t as Ke, a as qe, p as Y, b as Je, d as le, z as we, m as ae, X as Qe, r as ue, A as Ze, i as Le, j as K, k as $e, D as Se, n as et, q as tt } from "./index-uOtklCCx.js";
3
+ import { _ as lt } from "./Title-2iks1ziC.js";
4
+ import { u as at, U as ut } from "./usePrinter-B6xQCyL-.js";
5
+ import { D as ot } from "./DataTable-CwaOlAsy.js";
6
+ import { L as st } from "./Legend-CxvJTjEm.js";
7
+ import nt from "./vue-ui-skeleton-BM9rwmxY.js";
8
+ import { S as rt } from "./Slicer-Bxg5niHl.js";
9
+ import it from "./vue-ui-accordion-HJPf7My0.js";
10
+ import { u as Ne } from "./useNestedProp-BgWkUab_.js";
11
+ import { _ as ct } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
+ const vt = ["id"], dt = ["xmlns", "viewBox"], ht = ["id"], yt = ["stop-color"], gt = ["stop-color"], ft = ["id"], bt = ["stop-color"], xt = ["stop-color"], mt = ["stop-color"], pt = { key: 0 }, kt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], _t = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Ct = { key: 0 }, wt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Lt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], $t = ["x", "y", "font-size", "fill", "font-weight"], St = ["text-anchor", "font-size", "fill", "transform"], Nt = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], At = { key: 1 }, zt = ["cx", "cy", "r", "fill"], Ft = { key: 0 }, Pt = { key: 0 }, Dt = ["d", "stroke"], Tt = ["text-anchor", "x", "y", "fill"], Et = ["cx", "cy", "r", "fill"], It = { key: 0 }, Ot = ["cx", "cy", "fill"], Vt = { key: 1 }, Ht = ["d", "fill", "stroke"], Mt = { key: 2 }, Wt = ["d", "fill", "stroke"], Rt = ["x", "y", "font-size", "fill"], Ut = ["x", "y", "width", "fill", "onClick"], Xt = ["x", "y", "width", "height", "onMouseenter", "onClick"], Gt = {
13
+ key: 3,
14
+ "data-cy-zoom": "",
15
+ class: "vue-ui-donut-evolution-dialog"
16
+ }, jt = ["x", "y", "width", "height", "fill"], Bt = ["x1", "y1", "x2", "y2", "stroke"], Yt = ["x1", "y2", "x2", "y1", "stroke"], Kt = ["onKeypress", "cx", "cy", "r"], qt = ["d", "stroke"], Jt = ["cx", "cy", "r", "fill"], Qt = ["d", "fill", "stroke"], Zt = { class: "vue-ui-donut-evolution-focus" }, el = ["text-anchor", "x", "y", "fill"], tl = ["cx", "cy", "r", "fill"], ll = ["cx", "cy", "r", "fill"], al = ["x", "y", "fill"], ul = ["x", "y", "font-size", "fill"], ol = ["onClick"], sl = { key: 0 }, nl = { key: 1 }, rl = { key: 0 }, il = { key: 1 }, cl = {
17
+ __name: "vue-ui-donut-evolution",
18
+ props: {
19
+ config: {
20
+ type: Object,
21
+ default() {
22
+ return {};
23
+ }
24
+ },
25
+ dataset: {
26
+ type: Array,
27
+ default() {
28
+ return [];
29
+ }
30
+ }
31
+ },
32
+ emits: ["selectLegend"],
33
+ setup(Ae, { expose: ze, emit: oe }) {
34
+ const A = Ae, { vue_ui_donut_evolution: Fe } = je(), U = x(() => !!A.dataset && A.dataset.length), v = L({
35
+ start: 0,
36
+ end: Math.max(...A.dataset.map((l) => l.values.length))
37
+ });
38
+ function Pe() {
39
+ v.value = {
40
+ start: 0,
41
+ end: M.value
42
+ }, re.value += 1;
43
+ }
44
+ Re(() => {
45
+ Be(A.dataset) ? B({
46
+ componentName: "VueUiDonutEvolution",
47
+ type: "dataset"
48
+ }) : A.dataset.length && A.dataset.forEach((l, r) => {
49
+ Ye({
50
+ datasetObject: l,
51
+ requiredAttributes: ["name", "values"]
52
+ }).forEach((t) => {
53
+ B({
54
+ componentName: "VueUiDonutEvolution",
55
+ type: "datasetSerieAttribute",
56
+ property: t,
57
+ index: r
58
+ });
59
+ });
60
+ });
61
+ });
62
+ const E = L(Ce()), k = L([]), g = L(null), q = L(null), $ = L(!1), z = L(null), se = L(null), ne = L(0), re = L(0), e = x(() => {
63
+ const l = Ne({
64
+ userConfig: A.config,
65
+ defaultConfig: Fe
66
+ });
67
+ return l.theme ? {
68
+ ...Ne({
69
+ userConfig: Ke.vue_ui_donut_evolution[l.theme] || A.config,
70
+ defaultConfig: l
71
+ }),
72
+ customPalette: qe[l.theme] || Y
73
+ } : l;
74
+ }), { isPrinting: De, isImaging: Te, generatePdf: ie, generateImage: ce } = at({
75
+ elementId: E.value,
76
+ fileName: e.value.style.chart.title.text || "vue-ui-donut-evolution"
77
+ }), Ee = x(() => Je(e.value.customPalette)), X = L({
78
+ showTable: e.value.table.show
79
+ }), s = x(() => ({
80
+ top: e.value.style.chart.layout.padding.top,
81
+ right: e.value.style.chart.layout.padding.right,
82
+ bottom: e.value.style.chart.layout.padding.bottom,
83
+ left: e.value.style.chart.layout.padding.left
84
+ })), n = x(() => {
85
+ const l = e.value.style.chart.layout.height, r = e.value.style.chart.layout.width, t = l - s.value.top - s.value.bottom, i = r - s.value.left - s.value.right;
86
+ return {
87
+ absoluteHeight: l,
88
+ absoluteWidth: r,
89
+ centerX: s.value.left + i / 2,
90
+ centerY: s.value.top + t / 2,
91
+ height: t,
92
+ width: i
93
+ };
94
+ }), D = x(() => (A.dataset.forEach((l, r) => {
95
+ [null, void 0].includes(l.name) && B({
96
+ componentName: "VueUiDonutEvolution",
97
+ type: "datasetSerieAttribute",
98
+ property: "name",
99
+ index: r
100
+ }), [null, void 0].includes(l.values) && B({
101
+ componentName: "VueUiDonutEvolution",
102
+ type: "datasetSerieAttribute",
103
+ property: "values",
104
+ index: r
105
+ });
106
+ }), A.dataset.map((l, r) => ({
107
+ ...l,
108
+ values: l.values || [],
109
+ color: le(l.color) || Ee.value[r] || Y[r] || Y[r % Y.length],
110
+ length: (l.values || []).length,
111
+ uid: Ce()
112
+ })))), H = x(() => D.value.filter((l) => !k.value.includes(l.uid)).map((l) => ({
113
+ ...l,
114
+ values: l.values.filter((r, t) => t >= v.value.start && t <= v.value.end)
115
+ }))), M = x(() => Math.max(...H.value.map((l) => l.length))), C = x(() => n.value.width / (v.value.end - v.value.start)), _ = x(() => {
116
+ const l = [];
117
+ for (let o = 0; o < v.value.end - v.value.start; o += 1) {
118
+ const f = H.value.map((N) => N.values[o] ?? null), h = f.filter((N) => [void 0, null].includes(N)).length === f.length, S = f.reduce((N, w) => N + w, 0), te = f.map((N) => N / S), V = s.value.left + C.value * o + C.value / 2;
119
+ l.push({
120
+ index: o,
121
+ percentages: te,
122
+ subtotal: h || S < 0 ? null : S,
123
+ values: f,
124
+ x: V
125
+ });
126
+ }
127
+ const r = 0, t = Math.max(...l.map((o) => o.subtotal)), i = l.length === 1 ? t * 2 : t;
128
+ return l.map((o, f) => {
129
+ const h = C.value / 2 * 0.7, S = h > n.value.width / 16 ? n.value.width / 16 : h, te = g.value === o.index ? n.value.width / 16 : S, V = l.length > 4 ? h * 2 : h * 2 > C.value / 2 * 0.7 ? C.value / 2 * 0.7 : h * 2, N = n.value.absoluteHeight - s.value.bottom - n.value.height * o.subtotal / we(r, i, e.value.style.chart.layout.grid.yAxis.dataLabels.steps).max;
130
+ return {
131
+ ...o,
132
+ y: N,
133
+ radius: S,
134
+ activeRadius: te,
135
+ hoverRadius: V,
136
+ donut: ae({
137
+ series: H.value.map((w, xe) => ({
138
+ color: w.color,
139
+ name: w.name,
140
+ value: w.values[f] ?? 0
141
+ }))
142
+ }, o.x, N, S, S, 1.99999, 2, 1, 360, 105.25, S / 2),
143
+ donutHover: ae({
144
+ series: H.value.map((w, xe) => ({
145
+ color: w.color,
146
+ name: w.name,
147
+ value: w.values[f] ?? 0
148
+ }))
149
+ }, o.x, N, V, V, 1.99999, 2, 1, 360, 105.25, V / 2),
150
+ donutFocus: ae({
151
+ series: H.value.map((w, xe) => ({
152
+ color: w.color,
153
+ name: w.name,
154
+ value: w.values[f] ?? 0
155
+ }))
156
+ }, n.value.centerX, n.value.centerY, n.value.height / 3.6, n.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, n.value.height / 6)
157
+ };
158
+ });
159
+ });
160
+ function G(l) {
161
+ return `${e.value.style.chart.layout.dataLabels.prefix}${isNaN(l) ? "-" : Number(l.toFixed(e.value.style.chart.layout.dataLabels.rounding)).toLocaleString()}${e.value.style.chart.layout.dataLabels.suffix}`;
162
+ }
163
+ const J = x(() => ({
164
+ max: Math.max(..._.value.map((l) => l.subtotal)),
165
+ min: 0
166
+ })), I = x(() => {
167
+ const l = _.value.length === 1 ? J.value.max * 2 : J.value.max;
168
+ return we(J.value.min, l, e.value.style.chart.layout.grid.yAxis.dataLabels.steps);
169
+ });
170
+ function Ie(l) {
171
+ return l / I.value.max;
172
+ }
173
+ const Oe = x(() => I.value.ticks.map((l) => ({
174
+ y: n.value.absoluteHeight - s.value.bottom - n.value.height * Ie(l),
175
+ value: l
176
+ })));
177
+ function ve(l, r) {
178
+ return isNaN(l.value / Se(r, "value")) ? 0 : (l.value / Se(r, "value") * 100).toFixed(0) + "%";
179
+ }
180
+ function de() {
181
+ $.value || (g.value = null, q.value = null);
182
+ }
183
+ function Ve(l) {
184
+ $.value || (g.value = l.index, q.value = l);
185
+ }
186
+ const Q = L(null);
187
+ function Z(l, r) {
188
+ l.subtotal && (q.value = null, g.value = null, $.value = !0, z.value = l, [null, void 0].includes(r) || (Q.value = r));
189
+ }
190
+ function he() {
191
+ z.value = null, $.value = !1, Q.value = null;
192
+ }
193
+ const ye = x(() => D.value.map((l, r) => ({
194
+ name: l.name,
195
+ value: l.values.slice(v.value.start, v.value.end).reduce((t, i) => t + i, 0),
196
+ shape: "circle",
197
+ uid: l.uid,
198
+ color: l.color
199
+ })).sort((l, r) => r.value - l.value).map((l) => ({
200
+ ...l,
201
+ opacity: k.value.includes(l.uid) ? 0.5 : 1,
202
+ segregate: () => ee(l.uid),
203
+ isSegregated: k.value.includes(l.uid)
204
+ }))), ge = x(() => _.value.map((l) => l.subtotal).reduce((l, r) => l + r, 0)), He = x(() => ({
205
+ cy: "donut-div-legend",
206
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
207
+ color: e.value.style.chart.legend.color,
208
+ fontSize: e.value.style.chart.legend.fontSize,
209
+ paddingBottom: 12,
210
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
211
+ }));
212
+ function ee(l) {
213
+ if (k.value.includes(l))
214
+ k.value = k.value.filter((r) => r !== l), oe("selectLegend", null);
215
+ else {
216
+ if (k.value.length === D.value.length - 1) return;
217
+ k.value.push(l), oe("selectLegend", D.value.find((r) => r.uid === l));
218
+ }
219
+ z.value && Z(_.value.find((r, t) => t === Q.value));
220
+ }
221
+ const O = x(() => {
222
+ const l = [""].concat(D.value.filter((o) => !k.value.includes(o.uid)).map((o) => ({
223
+ name: o.name,
224
+ color: o.color
225
+ }))).concat(["Σ"]);
226
+ let r = [];
227
+ for (let o = 0; o < M.value; o += 1) {
228
+ const f = D.value.filter((h) => !k.value.includes(h.uid)).map((h) => h.values[o] ?? 0).reduce((h, S) => h + S, 0);
229
+ r.push([e.value.style.chart.layout.grid.xAxis.dataLabels.values[o] ?? "-"].concat(D.value.filter((h) => !k.value.includes(h.uid)).map((h) => ({
230
+ value: h.values[o] ?? 0,
231
+ percentage: h.values[o] ? h.values[o] / f * 100 : 0
232
+ }))).concat([`${e.value.style.chart.layout.dataLabels.prefix}${Number(f.toFixed(e.value.table.td.roundingValue))}${e.value.style.chart.layout.dataLabels.suffix}`]));
233
+ }
234
+ const t = {
235
+ th: {
236
+ backgroundColor: e.value.table.th.backgroundColor,
237
+ color: e.value.table.th.color,
238
+ outline: e.value.table.th.outline
239
+ },
240
+ td: {
241
+ backgroundColor: e.value.table.td.backgroundColor,
242
+ color: e.value.table.td.color,
243
+ outline: e.value.table.td.outline
244
+ },
245
+ breakpoint: e.value.table.responsiveBreakpoint
246
+ }, i = [
247
+ e.value.table.columnNames.period
248
+ ].concat(D.value.filter((o) => !k.value.includes(o.uid)).map((o) => o.name)).concat(e.value.table.columnNames.total);
249
+ return { head: l, body: r, config: t, colNames: i };
250
+ });
251
+ function Me() {
252
+ return D.value;
253
+ }
254
+ function fe() {
255
+ Ge(() => {
256
+ const l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], r = [...O.value.head.map((f) => f.name ?? f)], t = [...O.value.body.map((f) => f.map((h) => h.value ?? h))], i = l.concat([r]).concat(t), o = et(i);
257
+ tt({ csvContent: o, title: e.value.style.chart.title.text || "vue-ui-donut-evolution" });
258
+ });
259
+ }
260
+ const W = L(!1);
261
+ function We(l) {
262
+ W.value = l, ne.value += 1;
263
+ }
264
+ function be() {
265
+ X.value.showTable = !X.value.showTable;
266
+ }
267
+ return ze({
268
+ getData: Me,
269
+ generatePdf: ie,
270
+ generateCsv: fe,
271
+ generateImage: ce,
272
+ toggleTable: be
273
+ }), (l, r) => (a(), u("div", {
274
+ ref_key: "donutEvolutionChart",
275
+ ref: se,
276
+ class: F(`vue-ui-donut-evolution ${W.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
277
+ style: j(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;${e.value.style.chart.title.text ? "" : "padding-top:36px"};background:${e.value.style.chart.backgroundColor}`),
278
+ id: E.value
279
+ }, [
280
+ e.value.style.chart.title.text ? (a(), u("div", {
281
+ key: 0,
282
+ style: j(`width:100%;background:${e.value.style.chart.backgroundColor};padding-bottom:24px`),
283
+ onMouseleave: de
284
+ }, [
285
+ me(lt, {
286
+ config: {
287
+ title: {
288
+ cy: "donut-evolution-div-title",
289
+ ...e.value.style.chart.title
290
+ },
291
+ subtitle: {
292
+ cy: "donut-evolution-div-subtitle",
293
+ ...e.value.style.chart.title.subtitle
294
+ }
295
+ }
296
+ }, null, 8, ["config"])
297
+ ], 36)) : d("", !0),
298
+ e.value.userOptions.show && U.value ? (a(), R(ut, {
299
+ ref: "details",
300
+ key: `user_options_${ne.value}`,
301
+ backgroundColor: e.value.style.chart.backgroundColor,
302
+ color: e.value.style.chart.color,
303
+ isPrinting: b(De),
304
+ isImaging: b(Te),
305
+ uid: E.value,
306
+ hasPdf: e.value.userOptions.buttons.pdf,
307
+ hasImg: e.value.userOptions.buttons.img,
308
+ hasXls: e.value.userOptions.buttons.csv,
309
+ hasTable: e.value.userOptions.buttons.table,
310
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
311
+ isFullscreen: W.value,
312
+ titles: { ...e.value.userOptions.buttonTitles },
313
+ chartElement: se.value,
314
+ onToggleFullscreen: We,
315
+ onGeneratePdf: b(ie),
316
+ onGenerateCsv: fe,
317
+ onGenerateImage: b(ce),
318
+ onToggleTable: be
319
+ }, Ue({ _: 2 }, [
320
+ l.$slots.optionPdf ? {
321
+ name: "optionPdf",
322
+ fn: P(() => [
323
+ T(l.$slots, "optionPdf", {}, void 0, !0)
324
+ ]),
325
+ key: "0"
326
+ } : void 0,
327
+ l.$slots.optionCsv ? {
328
+ name: "optionCsv",
329
+ fn: P(() => [
330
+ T(l.$slots, "optionCsv", {}, void 0, !0)
331
+ ]),
332
+ key: "1"
333
+ } : void 0,
334
+ l.$slots.optionImg ? {
335
+ name: "optionImg",
336
+ fn: P(() => [
337
+ T(l.$slots, "optionImg", {}, void 0, !0)
338
+ ]),
339
+ key: "2"
340
+ } : void 0,
341
+ l.$slots.optionTable ? {
342
+ name: "optionTable",
343
+ fn: P(() => [
344
+ T(l.$slots, "optionTable", {}, void 0, !0)
345
+ ]),
346
+ key: "3"
347
+ } : void 0,
348
+ l.$slots.optionFullscreen ? {
349
+ name: "optionFullscreen",
350
+ fn: P(({ toggleFullscreen: t, isFullscreen: i }) => [
351
+ T(l.$slots, "optionFullscreen", pe(ke({ toggleFullscreen: t, isFullscreen: i })), void 0, !0)
352
+ ]),
353
+ key: "4"
354
+ } : void 0
355
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : d("", !0),
356
+ U.value ? (a(), u("svg", {
357
+ key: 2,
358
+ xmlns: b(Qe),
359
+ class: F({ "vue-data-ui-fullscreen--on": W.value, "vue-data-ui-fulscreen--off": !W.value }),
360
+ viewBox: `0 0 ${n.value.absoluteWidth} ${n.value.absoluteHeight}`,
361
+ style: j(`max-width:100%; overflow: visible; background:${e.value.style.chart.backgroundColor};color:${e.value.style.chart.color}`)
362
+ }, [
363
+ c("defs", null, [
364
+ c("linearGradient", {
365
+ id: `hover_${E.value}`,
366
+ x1: "0%",
367
+ y1: "0%",
368
+ x2: "0%",
369
+ y2: "100%"
370
+ }, [
371
+ c("stop", {
372
+ offset: "0%",
373
+ "stop-color": `${e.value.style.chart.backgroundColor}${b(ue)[e.value.style.chart.layout.highlighter.opacity]}`
374
+ }, null, 8, yt),
375
+ c("stop", {
376
+ offset: "100%",
377
+ "stop-color": `${e.value.style.chart.layout.highlighter.color}${b(ue)[e.value.style.chart.layout.highlighter.opacity]}`
378
+ }, null, 8, gt)
379
+ ], 8, ht),
380
+ c("radialGradient", {
381
+ id: `focus_${E.value}`
382
+ }, [
383
+ c("stop", {
384
+ offset: "0%",
385
+ "stop-color": `${b(le)(e.value.style.chart.backgroundColor)}00`
386
+ }, null, 8, bt),
387
+ c("stop", {
388
+ offset: "77%",
389
+ "stop-color": "#FFFFFF" + b(ue)[30]
390
+ }, null, 8, xt),
391
+ c("stop", {
392
+ offset: "100%",
393
+ "stop-color": `${b(le)(e.value.style.chart.backgroundColor)}00`
394
+ }, null, 8, mt)
395
+ ], 8, ft)
396
+ ]),
397
+ e.value.style.chart.layout.grid.show ? (a(), u("g", pt, [
398
+ c("line", {
399
+ x1: s.value.left,
400
+ x2: s.value.left,
401
+ y1: s.value.top,
402
+ y2: s.value.top + n.value.height,
403
+ stroke: e.value.style.chart.layout.grid.stroke,
404
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
405
+ "stroke-linecap": "round"
406
+ }, null, 8, kt),
407
+ c("line", {
408
+ x1: s.value.left,
409
+ x2: n.value.absoluteWidth - s.value.right,
410
+ y1: n.value.absoluteHeight - s.value.bottom,
411
+ y2: n.value.absoluteHeight - s.value.bottom,
412
+ stroke: e.value.style.chart.layout.grid.stroke,
413
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
414
+ "stroke-linecap": "round"
415
+ }, null, 8, _t),
416
+ e.value.style.chart.layout.grid.showVerticalLines ? (a(), u("g", Ct, [
417
+ (a(!0), u(m, null, p(v.value.end - v.value.start, (t, i) => (a(), u("line", {
418
+ x1: s.value.left + (i + 1) * C.value,
419
+ x2: s.value.left + (i + 1) * C.value,
420
+ y1: s.value.top,
421
+ y2: n.value.absoluteHeight - s.value.bottom,
422
+ stroke: e.value.style.chart.layout.grid.stroke,
423
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
424
+ "stroke-linecap": "round"
425
+ }, null, 8, wt))), 256))
426
+ ])) : d("", !0)
427
+ ])) : d("", !0),
428
+ e.value.style.chart.layout.grid.yAxis.dataLabels.show ? (a(), u("g", {
429
+ key: 1,
430
+ class: F({ "donut-opacity": !0, "donut-behind": g.value !== null || $.value })
431
+ }, [
432
+ (a(!0), u(m, null, p(Oe.value, (t, i) => (a(), u("g", null, [
433
+ t.value >= I.value.min && t.value <= I.value.max ? (a(), u("line", {
434
+ key: 0,
435
+ x1: s.value.left,
436
+ x2: s.value.left - 5,
437
+ y1: t.y,
438
+ y2: t.y,
439
+ stroke: e.value.style.chart.layout.grid.stroke,
440
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
441
+ }, null, 8, Lt)) : d("", !0),
442
+ t.value >= I.value.min && t.value <= I.value.max ? (a(), u("text", {
443
+ key: 1,
444
+ x: s.value.left - 8 + e.value.style.chart.layout.grid.yAxis.dataLabels.offsetX,
445
+ y: t.y + e.value.style.chart.layout.grid.yAxis.dataLabels.fontSize / 3,
446
+ "font-size": e.value.style.chart.layout.grid.yAxis.dataLabels.fontSize,
447
+ "text-anchor": "end",
448
+ fill: e.value.style.chart.layout.grid.yAxis.dataLabels.color,
449
+ "font-weight": e.value.style.chart.layout.grid.yAxis.dataLabels.bold ? "bold" : "normal"
450
+ }, y(e.value.style.chart.layout.dataLabels.prefix) + " " + y(b(Ze)(t.value) ? t.value.toFixed(e.value.style.chart.layout.grid.yAxis.dataLabels.roundingValue) : "") + " " + y(e.value.style.chart.layout.dataLabels.suffix), 9, $t)) : d("", !0)
451
+ ]))), 256))
452
+ ], 2)) : d("", !0),
453
+ e.value.style.chart.layout.grid.xAxis.dataLabels.show ? (a(), u("g", {
454
+ key: 2,
455
+ class: F({ "donut-opacity": !0, "donut-behind": $.value })
456
+ }, [
457
+ (a(!0), u(m, null, p(v.value.end - v.value.start, (t, i) => (a(), u("g", null, [
458
+ e.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast && (i === 0 || i === M.value - 1) || !e.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast ? (a(), u("text", {
459
+ key: 0,
460
+ "text-anchor": e.value.style.chart.layout.grid.xAxis.dataLabels.rotation > 0 ? "start" : e.value.style.chart.layout.grid.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
461
+ "font-size": e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,
462
+ fill: e.value.style.chart.layout.grid.xAxis.dataLabels.color,
463
+ transform: `translate(${s.value.left + C.value * i + C.value / 2}, ${e.value.style.chart.layout.grid.xAxis.dataLabels.offsetY + n.value.absoluteHeight - s.value.bottom + e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize * 2}), rotate(${e.value.style.chart.layout.grid.xAxis.dataLabels.rotation})`
464
+ }, y(e.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(i) + Number(v.value.start)] ?? ""), 9, St)) : d("", !0)
465
+ ]))), 256))
466
+ ], 2)) : d("", !0),
467
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("g", null, [
468
+ e.value.style.chart.layout.line.show && i < _.value.length - 1 && ![t.subtotal, _.value[i + 1].subtotal].includes(null) ? (a(), u("line", {
469
+ key: 0,
470
+ class: F({ "donut-opacity": !0, "donut-behind": g.value !== null || $.value }),
471
+ x1: t.x,
472
+ y1: t.y,
473
+ x2: _.value[i + 1].x,
474
+ y2: _.value[i + 1].y,
475
+ stroke: e.value.style.chart.layout.line.stroke,
476
+ "stroke-width": e.value.style.chart.layout.line.strokeWidth,
477
+ "stroke-linecap": "round",
478
+ "stroke-linejoin": "round"
479
+ }, null, 10, Nt)) : d("", !0),
480
+ t.subtotal !== null ? (a(), u("g", At, [
481
+ t.subtotal ? (a(), u("circle", {
482
+ key: 0,
483
+ cx: t.x,
484
+ cy: t.y,
485
+ r: t.activeRadius,
486
+ fill: e.value.style.chart.backgroundColor
487
+ }, null, 8, zt)) : d("", !0)
488
+ ])) : d("", !0)
489
+ ]))), 256)),
490
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("g", {
491
+ class: F({ "donut-opacity": !0, "donut-behind": i !== g.value && g.value !== null || $.value })
492
+ }, [
493
+ t.subtotal ? (a(), u("g", Ft, [
494
+ g.value !== null && g.value === i ? (a(), u("g", Pt, [
495
+ (a(!0), u(m, null, p(t.donutHover, (o) => (a(), u("g", null, [
496
+ c("path", {
497
+ d: b(Le)(o, { x: o.center.endX, y: o.center.endY }, 12, 12, { x: t.x, y: t.y }, !0),
498
+ stroke: o.color,
499
+ "stroke-width": "1",
500
+ "stroke-linecap": "round",
501
+ "stroke-linejoin": "round",
502
+ fill: "none"
503
+ }, null, 8, Dt)
504
+ ]))), 256)),
505
+ (a(!0), u(m, null, p(t.donutHover, (o, f) => (a(), u("g", null, [
506
+ c("text", {
507
+ "data-cy-hover-label": "",
508
+ "text-anchor": b(K)(o, !0, 0).anchor,
509
+ x: b(K)(o, !0, 3).x,
510
+ y: b($e)(o),
511
+ fill: e.value.style.chart.layout.grid.yAxis.dataLabels.color,
512
+ "font-size": 8,
513
+ "font-weight": "bold"
514
+ }, y(o.name) + ": " + y(ve(o, t.donut)) + " (" + y(o.value === null ? "-" : G(o.value)) + ") ", 9, Tt)
515
+ ]))), 256)),
516
+ c("g", null, [
517
+ c("circle", {
518
+ cx: t.x,
519
+ cy: t.y,
520
+ r: t.hoverRadius,
521
+ fill: e.value.style.chart.backgroundColor
522
+ }, null, 8, Et)
523
+ ])
524
+ ])) : d("", !0)
525
+ ])) : d("", !0)
526
+ ], 2))), 256)),
527
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("g", {
528
+ class: F({ "donut-opacity": !0, "donut-behind": i !== g.value && g.value !== null || $.value })
529
+ }, [
530
+ t.subtotal !== null ? (a(), u("g", It, [
531
+ t.subtotal === 0 ? (a(), u("circle", {
532
+ key: 0,
533
+ cx: t.x,
534
+ cy: t.y,
535
+ r: 3,
536
+ fill: e.value.style.chart.color
537
+ }, null, 8, Ot)) : g.value !== null && g.value === i ? (a(), u("g", Vt, [
538
+ (a(!0), u(m, null, p(t.donutHover, (o, f) => (a(), u("path", {
539
+ d: o.arcSlice,
540
+ fill: `${o.color}`,
541
+ "stroke-width": 1,
542
+ stroke: e.value.style.chart.backgroundColor
543
+ }, null, 8, Ht))), 256))
544
+ ])) : (a(), u("g", Mt, [
545
+ (a(!0), u(m, null, p(t.donut, (o, f) => (a(), u("path", {
546
+ d: o.arcSlice,
547
+ fill: `${o.color}`,
548
+ "stroke-width": 0.5,
549
+ stroke: e.value.style.chart.backgroundColor
550
+ }, null, 8, Wt))), 256))
551
+ ]))
552
+ ])) : d("", !0)
553
+ ], 2))), 256)),
554
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("g", {
555
+ class: F({ "donut-opacity": !0, "donut-behind": i !== g.value && g.value !== null || $.value })
556
+ }, [
557
+ t.subtotal !== null && e.value.style.chart.layout.dataLabels.show ? (a(), u("text", {
558
+ key: 0,
559
+ "text-anchor": "middle",
560
+ x: t.x,
561
+ y: g.value === t.index && t.subtotal ? t.y + e.value.style.chart.layout.dataLabels.fontSize / 3 : t.y - t.radius - e.value.style.chart.layout.dataLabels.fontSize + e.value.style.chart.layout.dataLabels.offsetY,
562
+ "font-size": e.value.style.chart.layout.dataLabels.fontSize,
563
+ "font-weight": "bold",
564
+ fill: e.value.style.chart.layout.dataLabels.color
565
+ }, y(G(t.subtotal)), 9, Rt)) : d("", !0)
566
+ ], 2))), 256)),
567
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("rect", {
568
+ x: s.value.left + i * C.value,
569
+ y: n.value.absoluteHeight - s.value.bottom - 10,
570
+ width: C.value,
571
+ height: 10,
572
+ fill: g.value === t.index ? `url(#hover_${E.value})` : "transparent",
573
+ onClick: (o) => Z(t, i),
574
+ class: F({ "donut-hover": g.value === t.index && t.subtotal })
575
+ }, null, 10, Ut))), 256)),
576
+ (a(!0), u(m, null, p(_.value, (t, i) => (a(), u("rect", {
577
+ "data-cy-trap": "",
578
+ x: s.value.left + i * C.value,
579
+ y: s.value.top,
580
+ width: C.value,
581
+ height: n.value.height,
582
+ fill: "transparent",
583
+ onMouseenter: (o) => Ve(t),
584
+ onMouseleave: de,
585
+ onClick: (o) => Z(t, i),
586
+ class: F({ "donut-hover": g.value === t.index && t.subtotal })
587
+ }, null, 42, Xt))), 256)),
588
+ $.value ? (a(), u("g", Gt, [
589
+ c("rect", {
590
+ rx: 4,
591
+ x: s.value.left,
592
+ y: s.value.top,
593
+ width: n.value.width,
594
+ height: n.value.height,
595
+ fill: e.value.style.chart.backgroundColor,
596
+ style: { filter: "drop-shadow(0 12px 12px rgba(0,0,0,0.3))" }
597
+ }, null, 8, jt),
598
+ c("line", {
599
+ "data-html2canvas-ignore": "",
600
+ x1: n.value.absoluteWidth - s.value.right - 15,
601
+ y1: s.value.top + 5,
602
+ x2: n.value.absoluteWidth - s.value.right - 4,
603
+ y2: s.value.top + 15.5,
604
+ "stroke-linecap": "round",
605
+ stroke: e.value.style.chart.color,
606
+ "stroke-width": "1.5"
607
+ }, null, 8, Bt),
608
+ c("line", {
609
+ "data-html2canvas-ignore": "",
610
+ x1: n.value.absoluteWidth - s.value.right - 15,
611
+ y2: s.value.top + 5,
612
+ x2: n.value.absoluteWidth - s.value.right - 4,
613
+ y1: s.value.top + 15.5,
614
+ "stroke-linecap": "round",
615
+ stroke: e.value.style.chart.color,
616
+ "stroke-width": "1.5"
617
+ }, null, 8, Yt),
618
+ c("circle", {
619
+ "data-cy-close": "",
620
+ onClick: he,
621
+ onKeypress: Xe(he, ["enter"]),
622
+ cx: n.value.absoluteWidth - s.value.right - n.value.width / 40,
623
+ cy: s.value.top + n.value.height / 30,
624
+ r: n.value.height / 12,
625
+ fill: "transparent",
626
+ style: { cursor: "pointer" },
627
+ tabindex: "0"
628
+ }, null, 40, Kt),
629
+ (a(!0), u(m, null, p(z.value.donutFocus, (t) => (a(), u("g", null, [
630
+ c("path", {
631
+ "data-cy-zoom-donut": "",
632
+ d: b(Le)(t, { x: n.value.centerX, y: n.value.centerY }, 12, 12, !1, !1, 1),
633
+ stroke: t.color,
634
+ "stroke-width": "1",
635
+ "stroke-linecap": "round",
636
+ "stroke-linejoin": "round",
637
+ fill: "none",
638
+ class: "vue-ui-donut-evolution-focus"
639
+ }, null, 8, qt)
640
+ ]))), 256)),
641
+ c("circle", {
642
+ cx: s.value.left + n.value.width / 2,
643
+ cy: s.value.top + n.value.height / 2,
644
+ r: n.value.height / 7,
645
+ fill: e.value.style.chart.backgroundColor
646
+ }, null, 8, Jt),
647
+ (a(!0), u(m, null, p(z.value.donutFocus, (t, i) => (a(), u("path", {
648
+ d: t.arcSlice,
649
+ fill: `${t.color}`,
650
+ "stroke-width": 1,
651
+ stroke: e.value.style.chart.backgroundColor,
652
+ class: "vue-ui-donut-evolution-focus"
653
+ }, null, 8, Qt))), 256)),
654
+ (a(!0), u(m, null, p(z.value.donutFocus, (t, i) => (a(), u("g", Zt, [
655
+ c("text", {
656
+ "text-anchor": b(K)(t, !0, 20).anchor,
657
+ x: b(K)(t, !0, 10).x,
658
+ y: b($e)(t),
659
+ fill: e.value.style.chart.layout.grid.yAxis.dataLabels.color,
660
+ "font-size": 10,
661
+ "font-weight": "bold"
662
+ }, y(t.name) + ": " + y(ve(t, z.value.donutFocus)) + " (" + y(t.value === null ? "-" : G(t.value)) + ") ", 9, el)
663
+ ]))), 256)),
664
+ c("circle", {
665
+ cx: s.value.left + n.value.width / 2,
666
+ cy: s.value.top + n.value.height / 2,
667
+ r: n.value.height / 3.8,
668
+ fill: `url(#focus_${E.value})`
669
+ }, null, 8, tl),
670
+ c("circle", {
671
+ cx: s.value.left + n.value.width / 2,
672
+ cy: s.value.top + n.value.height / 2,
673
+ r: n.value.height / 7.7,
674
+ fill: e.value.style.chart.backgroundColor
675
+ }, null, 8, ll),
676
+ c("text", {
677
+ "text-anchor": "middle",
678
+ x: s.value.left + n.value.width / 2,
679
+ y: s.value.top + n.value.height / 2 + 14 / 3,
680
+ "font-size": 14,
681
+ "font-weight": "bold",
682
+ fill: e.value.style.chart.layout.dataLabels.color,
683
+ class: "vue-ui-donut-evolution-focus"
684
+ }, y(G(z.value.subtotal)), 9, al),
685
+ e.value.style.chart.layout.grid.xAxis.dataLabels.values[z.value.index] ? (a(), u("text", {
686
+ key: 0,
687
+ x: s.value.left + 6,
688
+ y: s.value.top + e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize * 2,
689
+ "font-size": e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize * 1.6,
690
+ fill: e.value.style.chart.layout.dataLabels.color
691
+ }, y(e.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(z.value.index) + Number(v.value.start)]), 9, ul)) : d("", !0)
692
+ ])) : d("", !0),
693
+ T(l.$slots, "svg", { svg: n.value }, void 0, !0)
694
+ ], 14, dt)) : d("", !0),
695
+ U.value ? d("", !0) : (a(), R(nt, {
696
+ key: 3,
697
+ config: {
698
+ type: "donutEvolution",
699
+ style: {
700
+ backgroundColor: e.value.style.chart.backgroundColor,
701
+ donutEvolution: {
702
+ axis: {
703
+ color: "#CCCCCC"
704
+ },
705
+ donuts: {
706
+ color: "#CCCCCC"
707
+ }
708
+ }
709
+ }
710
+ }
711
+ }, null, 8, ["config"])),
712
+ M.value > 1 && e.value.style.chart.zoom.show ? (a(), R(rt, {
713
+ key: `slicer_${re.value}`,
714
+ background: e.value.style.chart.zoom.color,
715
+ borderColor: e.value.style.chart.backgroundColor,
716
+ fontSize: e.value.style.chart.zoom.fontSize,
717
+ useResetSlot: e.value.style.chart.zoom.useResetSlot,
718
+ labelLeft: e.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(v.value.start)] || "",
719
+ labelRight: e.value.style.chart.layout.grid.xAxis.dataLabels.values[Number(v.value.end) - 1] || "",
720
+ textColor: e.value.style.chart.color,
721
+ inputColor: e.value.style.chart.zoom.color,
722
+ selectColor: e.value.style.chart.zoom.highlightColor,
723
+ max: M.value,
724
+ min: 0,
725
+ valueStart: v.value.start,
726
+ valueEnd: v.value.end,
727
+ start: v.value.start,
728
+ "onUpdate:start": r[0] || (r[0] = (t) => v.value.start = t),
729
+ end: v.value.end,
730
+ "onUpdate:end": r[1] || (r[1] = (t) => v.value.end = t),
731
+ onReset: Pe
732
+ }, {
733
+ "reset-action": P(({ reset: t }) => [
734
+ T(l.$slots, "reset-action", pe(ke({ reset: t })), void 0, !0)
735
+ ]),
736
+ _: 3
737
+ }, 8, ["background", "borderColor", "fontSize", "useResetSlot", "labelLeft", "labelRight", "textColor", "inputColor", "selectColor", "max", "valueStart", "valueEnd", "start", "end"])) : d("", !0),
738
+ e.value.style.chart.legend.show ? (a(), R(st, {
739
+ key: 5,
740
+ legendSet: ye.value,
741
+ config: He.value,
742
+ onClickMarker: r[2] || (r[2] = ({ legend: t }) => ee(t.uid))
743
+ }, {
744
+ item: P(({ legend: t, index: i }) => [
745
+ c("div", {
746
+ "data-cy-legend-item": "",
747
+ onClick: (o) => ee(t.uid),
748
+ style: j(`opacity:${k.value.includes(t.uid) ? 0.5 : 1}`)
749
+ }, [
750
+ _e(y(t.name) + ": " + y(Number(t.value.toFixed(e.value.style.chart.legend.roundingValue)).toLocaleString()) + " ", 1),
751
+ k.value.includes(t.uid) ? (a(), u("span", nl, " ( - % ) ")) : (a(), u("span", sl, " (" + y(isNaN(t.value / ge.value) ? "-" : (t.value / ge.value * 100).toFixed(e.value.style.chart.legend.roundingPercentage)) + "%) ", 1))
752
+ ], 12, ol)
753
+ ]),
754
+ _: 1
755
+ }, 8, ["legendSet", "config"])) : d("", !0),
756
+ T(l.$slots, "legend", { legend: ye.value }, void 0, !0),
757
+ U.value ? (a(), R(it, {
758
+ key: 6,
759
+ hideDetails: "",
760
+ config: {
761
+ open: X.value.showTable,
762
+ maxHeight: 1e4,
763
+ body: {
764
+ backgroundColor: e.value.style.chart.backgroundColor,
765
+ color: e.value.style.chart.color
766
+ },
767
+ head: {
768
+ backgroundColor: e.value.style.chart.backgroundColor,
769
+ color: e.value.style.chart.color
770
+ }
771
+ }
772
+ }, {
773
+ content: P(() => [
774
+ me(ot, {
775
+ colNames: O.value.colNames,
776
+ head: O.value.head,
777
+ body: O.value.body,
778
+ config: O.value.config,
779
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
780
+ onClose: r[3] || (r[3] = (t) => X.value.showTable = !1)
781
+ }, {
782
+ th: P(({ th: t }) => [
783
+ _e(y(t.name ?? t), 1)
784
+ ]),
785
+ td: P(({ td: t }) => [
786
+ t.value === null ? (a(), u("span", rl, "-")) : (a(), u("b", il, y(isNaN(t.value) ? "" : e.value.style.chart.layout.dataLabels.prefix) + y(!isNaN(t.value) && t.value !== null ? Number(t.value.toFixed(e.value.table.td.roundingValue)).toLocaleString() : t) + y(isNaN(t.value) ? "" : e.value.style.chart.layout.dataLabels.suffix), 1)),
787
+ c("span", null, y(t.percentage && !isNaN(t.percentage) ? `(${Number(t.percentage.toFixed(e.value.table.td.roundingPercentage)).toLocaleString()}%)` : ""), 1)
788
+ ]),
789
+ _: 1
790
+ }, 8, ["colNames", "head", "body", "config", "title"])
791
+ ]),
792
+ _: 1
793
+ }, 8, ["config"])) : d("", !0)
794
+ ], 14, vt));
795
+ }
796
+ }, _l = /* @__PURE__ */ ct(cl, [["__scopeId", "data-v-d8dbd0c8"]]);
797
+ export {
798
+ _l as default
799
+ };