vue-data-ui 3.0.0-next.25 → 3.0.0-next.27

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 (90) hide show
  1. package/dist/{Arrow-BTsjhHHh.js → Arrow-RGDVmFSH.js} +1 -1
  2. package/dist/{BaseDraggableDialog-7344fBM0.js → BaseDraggableDialog-2MH5hxMc.js} +2 -2
  3. package/dist/{BaseIcon-CDz2oozx.js → BaseIcon-DLJ5Lzvf.js} +1 -1
  4. package/dist/{ColorPicker-BxiEt6Tt.js → ColorPicker-uH4pBeoc.js} +2 -2
  5. package/dist/{DataTable-iAIT4SCP.js → DataTable-DWXGn13M.js} +2 -2
  6. package/dist/{Legend-CyOENTUo.js → Legend-XvLWu-U4.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-CA6KMiGz.js → NonSvgPenAndPaper-DY6-8nWM.js} +3 -3
  8. package/dist/{PackageVersion-BYRaFDzL.js → PackageVersion-CcyOrmqr.js} +1 -1
  9. package/dist/{PenAndPaper-rr8902FN.js → PenAndPaper-S1h1sM_v.js} +3 -3
  10. package/dist/{Shape-CEqtl1VO.js → Shape-B2NNkVEU.js} +1 -1
  11. package/dist/{Slicer-DDzthK35.js → Slicer-C2128jWm.js} +2 -2
  12. package/dist/{SparkTooltip-CtRls3um.js → SparkTooltip-B0IgrAiC.js} +1 -1
  13. package/dist/{Title-B7M9e3sH.js → Title-BT7bS0eb.js} +1 -1
  14. package/dist/{Tooltip-COY92a5-.js → Tooltip-CbaafXw_.js} +1 -1
  15. package/dist/{UserOptions-DK3vsMFd.js → UserOptions-C9lB05jb.js} +2 -2
  16. package/dist/{dom-to-png-D3GALOZU.js → dom-to-png-B5f_cRVB.js} +1 -1
  17. package/dist/{img-CcchoCI6.js → img-BScthXJW.js} +1 -1
  18. package/dist/{index-fJBJ72OC.js → index-DTJkgcxh.js} +341 -337
  19. package/dist/{pdf-DYTZWUjw.js → pdf-DEfty6-G.js} +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/types/vue-data-ui.d.cts +3 -2
  22. package/dist/types/vue-data-ui.d.ts +3 -2
  23. package/dist/{useNestedProp-BliM4SGD.js → useNestedProp-DvwKj8Zn.js} +1 -1
  24. package/dist/{usePrinter-DQuFkOC5.js → usePrinter-CbokYjoB.js} +2 -2
  25. package/dist/{vue-data-ui-C1lvBv6z.js → vue-data-ui-BubXK-EN.js} +64 -64
  26. package/dist/vue-data-ui.js +1 -1
  27. package/dist/{vue-ui-3d-bar-C3eQe8U7.js → vue-ui-3d-bar-BgbiwMsJ.js} +6 -6
  28. package/dist/{vue-ui-accordion-CsrBV8sH.js → vue-ui-accordion-BDuLBbkX.js} +3 -3
  29. package/dist/{vue-ui-age-pyramid-n7sNiWF2.js → vue-ui-age-pyramid-B8esFXAj.js} +6 -6
  30. package/dist/{vue-ui-annotator-DYst7GL2.js → vue-ui-annotator-BM2Fxwyn.js} +2 -2
  31. package/dist/{vue-ui-bullet-Cl2M41Ke.js → vue-ui-bullet-C5r2tlAw.js} +7 -7
  32. package/dist/{vue-ui-candlestick-6jYtO7Vh.js → vue-ui-candlestick-DEqKEVdy.js} +149 -150
  33. package/dist/{vue-ui-carousel-table--F9f6OWZ.js → vue-ui-carousel-table-CHABZSa7.js} +4 -4
  34. package/dist/{vue-ui-chestnut-nZz6MY0E.js → vue-ui-chestnut-CKmXKQ61.js} +5 -5
  35. package/dist/{vue-ui-chord-Dlj-3X51.js → vue-ui-chord-DW2ndivp.js} +8 -8
  36. package/dist/{vue-ui-circle-pack-DhUppMs-.js → vue-ui-circle-pack-BKlgiMRS.js} +6 -6
  37. package/dist/{vue-ui-cursor-D6sHbFHG.js → vue-ui-cursor-BpctNjDR.js} +2 -2
  38. package/dist/{vue-ui-dashboard-DaxbLtod.js → vue-ui-dashboard-C304-EeY.js} +62 -62
  39. package/dist/{vue-ui-digits-D-ujFZF8.js → vue-ui-digits-anpApSWe.js} +2 -2
  40. package/dist/{vue-ui-donut-DORQBhM_.js → vue-ui-donut-JzjQTiDx.js} +8 -8
  41. package/dist/vue-ui-donut-evolution-nQbgWXs5.js +1072 -0
  42. package/dist/{vue-ui-dumbbell-Biush2C5.js → vue-ui-dumbbell-BgnmrlkA.js} +7 -7
  43. package/dist/{vue-ui-flow-DpX0UCZi.js → vue-ui-flow-DEPrQA-w.js} +7 -7
  44. package/dist/{vue-ui-funnel-CP1GlNtS.js → vue-ui-funnel-ojf0srk6.js} +6 -6
  45. package/dist/{vue-ui-galaxy-DfKr6Mae.js → vue-ui-galaxy-CYP_NOuc.js} +5 -5
  46. package/dist/{vue-ui-gauge-BZmrsbJ9.js → vue-ui-gauge-PZkGA3xT.js} +6 -6
  47. package/dist/{vue-ui-gizmo-DU7dxEIZ.js → vue-ui-gizmo-BVEf1l02.js} +3 -3
  48. package/dist/{vue-ui-heatmap-DLeCwx6k.js → vue-ui-heatmap-C0QKWdB2.js} +7 -7
  49. package/dist/{vue-ui-history-plot-BrvUX4gK.js → vue-ui-history-plot-DL6znOA2.js} +7 -7
  50. package/dist/{vue-ui-kpi-s56r373O.js → vue-ui-kpi-k901VoIN.js} +3 -3
  51. package/dist/{vue-ui-mini-loader-jNRdHqeK.js → vue-ui-mini-loader-dO16jdj9.js} +2 -2
  52. package/dist/{vue-ui-molecule-DZUOPeeV.js → vue-ui-molecule-CgBLfrXa.js} +5 -5
  53. package/dist/{vue-ui-mood-radar-CySbOHJ9.js → vue-ui-mood-radar-BxwR2Ez7.js} +7 -7
  54. package/dist/{vue-ui-nested-donuts-zmWAssyd.js → vue-ui-nested-donuts-BIjRulQt.js} +9 -9
  55. package/dist/{vue-ui-onion-L_TXtgR4.js → vue-ui-onion-CkoPdA0-.js} +7 -7
  56. package/dist/{vue-ui-parallel-coordinate-plot-BjTfK64F.js → vue-ui-parallel-coordinate-plot-CHQ4Brih.js} +8 -8
  57. package/dist/{vue-ui-quadrant-DndNU61k.js → vue-ui-quadrant-CEQTH_Vf.js} +8 -8
  58. package/dist/{vue-ui-quick-chart-B1RCrld7.js → vue-ui-quick-chart-DIoqKBCM.js} +265 -263
  59. package/dist/{vue-ui-radar-OMddOqeu.js → vue-ui-radar-Cft9wyK8.js} +7 -7
  60. package/dist/{vue-ui-rating-BTFawXu8.js → vue-ui-rating-OARiI9ot.js} +2 -2
  61. package/dist/{vue-ui-relation-circle-CSZUUpA2.js → vue-ui-relation-circle-B-Zb1LQY.js} +6 -6
  62. package/dist/{vue-ui-ridgeline-Hq3omBeT.js → vue-ui-ridgeline-v7NEDfRs.js} +8 -8
  63. package/dist/{vue-ui-rings-CwPNpgCY.js → vue-ui-rings-BQwfTTzr.js} +8 -8
  64. package/dist/{vue-ui-scatter-CtiY2eO5.js → vue-ui-scatter-CHQCbV8M.js} +8 -8
  65. package/dist/{vue-ui-skeleton-Coyylsf1.js → vue-ui-skeleton-CHJxsFpK.js} +3 -3
  66. package/dist/{vue-ui-smiley-CtC16aE_.js → vue-ui-smiley-CsWC9IZ1.js} +2 -2
  67. package/dist/{vue-ui-spark-trend-D51qNzOE.js → vue-ui-spark-trend-BuamubwE.js} +3 -3
  68. package/dist/{vue-ui-sparkbar-BIV0QfYy.js → vue-ui-sparkbar-BHGRAUXV.js} +3 -3
  69. package/dist/{vue-ui-sparkgauge-B4ClXnGf.js → vue-ui-sparkgauge-DUnltuDi.js} +3 -3
  70. package/dist/{vue-ui-sparkhistogram-Dr7IDQTa.js → vue-ui-sparkhistogram-BMedlapo.js} +4 -4
  71. package/dist/{vue-ui-sparkline-BOlHSO6v.js → vue-ui-sparkline-BHNwaMiS.js} +3 -3
  72. package/dist/{vue-ui-sparkstackbar-D4XwZcKR.js → vue-ui-sparkstackbar-vRQz_uQJ.js} +3 -3
  73. package/dist/{vue-ui-stackbar-4aaZsvIC.js → vue-ui-stackbar-CQ6dTUhn.js} +328 -329
  74. package/dist/{vue-ui-strip-plot-CjqnGufK.js → vue-ui-strip-plot-CO2CPtr7.js} +7 -7
  75. package/dist/{vue-ui-table-CmOvVren.js → vue-ui-table-BLsZesaa.js} +3 -3
  76. package/dist/{vue-ui-table-heatmap-DBl2qszz.js → vue-ui-table-heatmap-CGDBekDd.js} +5 -5
  77. package/dist/{vue-ui-table-sparkline-CocUmVJB.js → vue-ui-table-sparkline-DDBnNFfS.js} +4 -4
  78. package/dist/{vue-ui-thermometer-BrjOEzEz.js → vue-ui-thermometer-DCgjIlYn.js} +6 -6
  79. package/dist/{vue-ui-timer-B5AaNDZt.js → vue-ui-timer-BUTGgiXL.js} +5 -5
  80. package/dist/{vue-ui-tiremarks-CMhnPzcj.js → vue-ui-tiremarks-Dbwy0DLv.js} +6 -6
  81. package/dist/{vue-ui-treemap-wV1Brun_.js → vue-ui-treemap-fZnaJFLV.js} +8 -8
  82. package/dist/{vue-ui-vertical-bar-DkdMEKrJ.js → vue-ui-vertical-bar-CC1RSDNH.js} +9 -9
  83. package/dist/{vue-ui-waffle-D7UqwRa-.js → vue-ui-waffle-yCHIWPVz.js} +8 -8
  84. package/dist/{vue-ui-wheel-G7G2XvoJ.js → vue-ui-wheel-BgCEnXux.js} +6 -6
  85. package/dist/{vue-ui-word-cloud-D04DJczJ.js → vue-ui-word-cloud-DdYN7hGc.js} +6 -6
  86. package/dist/{vue-ui-world-F3toaZ3V.js → vue-ui-world-Drt14jLg.js} +6 -6
  87. package/dist/{vue-ui-xy-DgUQf_Zh.js → vue-ui-xy-E2hScHc-.js} +348 -342
  88. package/dist/{vue-ui-xy-canvas-BEEg7Vs6.js → vue-ui-xy-canvas-DYaSIflg.js} +251 -252
  89. package/package.json +1 -1
  90. package/dist/vue-ui-donut-evolution-CIESyjfI.js +0 -1034
@@ -0,0 +1,1072 @@
1
+ import { defineAsyncComponent as V, ref as c, shallowRef as vt, computed as g, onMounted as Wt, toRefs as Yt, nextTick as Ce, watch as _e, watchEffect as jt, onBeforeUnmount as qt, createElementBlock as n, openBlock as o, unref as i, normalizeStyle as q, normalizeClass as N, createBlock as T, createCommentVNode as v, createElementVNode as p, createSlots as Jt, withCtx as L, renderSlot as S, normalizeProps as J, guardReactiveProps as K, createVNode as Kt, Fragment as z, renderList as $, toDisplayString as m, createTextVNode as dt } from "vue";
2
+ import { u as Qt, c as ht, o as yt, e as se, g as Zt, A as el, t as tl, p as ne, a as ll, C as ft, b as al, d as Le, G as ol, D as gt, m as Ae, X as ul, s as Q, H as sl, i as Se, f as re, I as nl, j as rl, k as il, n as mt, q as cl, r as vl, J as bt, K as dl } from "./index-DTJkgcxh.js";
3
+ import { u as hl } from "./useChartAccessibility-9icAAmYg.js";
4
+ import { u as xt } from "./useNestedProp-DvwKj8Zn.js";
5
+ import { u as yl } from "./usePrinter-CbokYjoB.js";
6
+ import { u as fl } from "./useTimeLabels-DFkUfjfs.js";
7
+ import { u as gl } from "./useUserOptionState-BIvW1Kz7.js";
8
+ import { u as ml } from "./useTimeLabelCollider-V7AOiPLB.js";
9
+ import bl from "./Legend-XvLWu-U4.js";
10
+ import { S as xl } from "./Slicer-C2128jWm.js";
11
+ import pl from "./Title-BT7bS0eb.js";
12
+ import kl from "./img-BScthXJW.js";
13
+ import { t as pt, u as wl } from "./useResponsive-DfdjqQps.js";
14
+ import { u as Cl, B as _l } from "./BaseScanner-DIK2NTdp.js";
15
+ import { _ as Ll } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
+ const Al = ["id"], Sl = ["xmlns", "viewBox"], zl = ["x", "y", "width", "height"], $l = ["id"], Il = ["stop-color"], Nl = ["stop-color"], Tl = ["id"], Ol = ["stop-color"], Pl = ["stop-color"], Fl = ["stop-color"], Dl = { key: 1 }, El = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Rl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Vl = { key: 0 }, Ml = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Bl = ["font-size", "fill", "transform"], Hl = ["x", "y", "font-size", "fill"], Ul = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Xl = ["x", "y", "font-size", "fill", "font-weight"], Gl = { key: 0 }, Wl = ["text-anchor", "font-size", "fill", "transform"], Yl = ["text-anchor", "font-size", "fill", "transform", "innerHTML"], jl = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], ql = { key: 1 }, Jl = ["cx", "cy", "r", "fill"], Kl = { key: 0 }, Ql = { key: 0 }, Zl = ["d", "stroke"], ea = ["text-anchor", "x", "y", "fill"], ta = ["cx", "cy", "r", "fill"], la = { key: 0 }, aa = ["cx", "cy", "fill"], oa = { key: 1 }, ua = ["d", "fill", "stroke"], sa = { key: 2 }, na = ["d", "fill", "stroke"], ra = ["x", "y", "font-size", "fill"], ia = ["x", "y", "width", "height", "fill"], ca = ["x", "y", "width", "height", "onMouseenter", "onClick"], va = {
17
+ key: 4,
18
+ class: "vue-data-ui-watermark"
19
+ }, da = ["onClick"], ha = { key: 0 }, ya = { key: 1 }, fa = {
20
+ __name: "vue-ui-donut-evolution",
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"],
36
+ setup(kt, { expose: wt, emit: Ct }) {
37
+ const _t = V(() => import("./vue-ui-accordion-BDuLBbkX.js")), Lt = V(() => import("./BaseDraggableDialog-2MH5hxMc.js")), At = V(() => import("./DataTable-DWXGn13M.js")), St = V(() => import("./PackageVersion-CcyOrmqr.js")), zt = V(() => import("./PenAndPaper-S1h1sM_v.js")), $t = V(() => import("./UserOptions-C9lB05jb.js")), It = V(() => import("./vue-ui-donut-JzjQTiDx.js")), { vue_ui_donut_evolution: Nt } = Qt(), b = kt, M = c(ht()), w = c([]), f = c(null), Z = c(null), ie = c(!1), E = c(null), P = c(null), Tt = c(null), ze = c(0), $e = c(0), Ie = c(0), Ne = c(0), Te = c(0), ce = c(null), ee = c(null), ve = c(null), de = c(null), Oe = c(null), Pe = c(null), Fe = c(null), De = c(null), Ee = c(null), he = c(!1), W = vt(null), te = vt(null), Re = c(null), Ve = Ct, Me = g(() => !!b.dataset && b.dataset.length);
38
+ Wt(() => {
39
+ Be();
40
+ });
41
+ const le = g(() => !!e.value.debug);
42
+ function Be() {
43
+ if (yt(b.dataset) ? (se({
44
+ componentName: "VueUiDonutEvolution",
45
+ type: "dataset",
46
+ debug: le.value
47
+ }), ae.value = !0) : b.dataset.length && b.dataset.forEach((t, a) => {
48
+ Zt({
49
+ datasetObject: t,
50
+ requiredAttributes: ["name", "values"]
51
+ }).forEach((l) => {
52
+ se({
53
+ componentName: "VueUiDonutEvolution",
54
+ type: "datasetSerieAttribute",
55
+ property: l,
56
+ index: a,
57
+ debug: le.value
58
+ }), ae.value = !0;
59
+ });
60
+ }), yt(b.dataset) || (ae.value = e.value.loading), setTimeout(() => {
61
+ he.value = !0;
62
+ }, 10), fe(), e.value.responsive) {
63
+ const t = pt(() => {
64
+ he.value = !1;
65
+ const { width: a, height: l } = wl({
66
+ chart: P.value,
67
+ title: e.value.style.chart.title.text ? Oe.value : null,
68
+ legend: e.value.style.chart.legend.show ? Pe.value : null,
69
+ slicer: e.value.style.chart.zoom.show && Ue.value > 1 ? Ee.value : null,
70
+ source: Fe.value
71
+ });
72
+ requestAnimationFrame(() => {
73
+ oe.value.width = a, oe.value.height = l - 12, clearTimeout(Re.value), Re.value = setTimeout(() => {
74
+ he.value = !0;
75
+ }, 10);
76
+ });
77
+ });
78
+ W.value && (te.value && W.value.unobserve(te.value), W.value.disconnect()), W.value = new ResizeObserver(t), te.value = P.value.parentNode, W.value.observe(te.value);
79
+ }
80
+ }
81
+ const e = c(me()), { loading: He, FINAL_DATASET: ye, manualLoading: ae } = Cl({
82
+ ...Yt(b),
83
+ FINAL_CONFIG: e,
84
+ prepareConfig: me,
85
+ callback: () => {
86
+ Promise.resolve().then(async () => {
87
+ await fe();
88
+ });
89
+ },
90
+ skeletonDataset: [
91
+ {
92
+ name: "",
93
+ values: [1, 2, 3, 5, 8, 13],
94
+ color: "#AAAAAA"
95
+ },
96
+ {
97
+ name: "",
98
+ values: [1, 2, 3, 5, 8, 13],
99
+ color: "#BABABA"
100
+ },
101
+ {
102
+ name: "",
103
+ values: [1, 2, 3, 5, 8, 13],
104
+ color: "#CACACA"
105
+ }
106
+ ],
107
+ skeletonConfig: el({
108
+ defaultConfig: e.value,
109
+ userConfig: {
110
+ useCssAnimation: !1,
111
+ table: { show: !1 },
112
+ userOptions: { show: !1 },
113
+ style: {
114
+ chart: {
115
+ backgroundColor: "#99999930",
116
+ layout: {
117
+ dataLabels: { show: !1 },
118
+ grid: {
119
+ stroke: "#6A6A6A",
120
+ axis: {
121
+ yLabel: "",
122
+ xLabel: ""
123
+ },
124
+ yAxis: {
125
+ dataLabels: { show: !1 }
126
+ },
127
+ xAxis: {
128
+ dataLabels: { show: !1 }
129
+ }
130
+ },
131
+ line: {
132
+ stroke: "#CACACA60"
133
+ }
134
+ },
135
+ legend: {
136
+ backgroundColor: "transparent",
137
+ showValue: !1,
138
+ showPercentage: !1
139
+ },
140
+ zoom: {
141
+ show: !1,
142
+ startIndex: null,
143
+ endIndex: null
144
+ }
145
+ }
146
+ }
147
+ }
148
+ })
149
+ }), oe = c({
150
+ width: e.value.style.chart.layout.width,
151
+ height: e.value.style.chart.layout.height
152
+ }), Ue = g(() => Math.max(...ye.value.map((t) => t.values.length))), y = c({
153
+ start: 0,
154
+ end: Ue.value
155
+ });
156
+ function Xe() {
157
+ fe();
158
+ }
159
+ async function fe() {
160
+ await Ce(), await Ce();
161
+ const { startIndex: t, endIndex: a } = e.value.style.chart.zoom, l = De.value;
162
+ (t != null || a != null) && l ? (t != null && l.setStartValue(t), a != null && l.setEndValue(Ot(a + 1))) : (y.value = {
163
+ start: 0,
164
+ end: F.value
165
+ }, $e.value += 1);
166
+ }
167
+ function Ot(t) {
168
+ const a = F.value;
169
+ return t > a ? a : t < 0 || e.value.style.chart.zoom.startIndex !== null && t < e.value.style.chart.zoom.startIndex ? e.value.style.chart.zoom.startIndex !== null ? e.value.style.chart.zoom.startIndex + 1 : 1 : t;
170
+ }
171
+ const { userOptionsVisible: ge, setUserOptionsVisibility: Ge, keepUserOptionState: We } = gl({ config: e.value }), { svgRef: Ye } = hl({ config: e.value.style.chart.title });
172
+ function me() {
173
+ const t = xt({
174
+ userConfig: b.config,
175
+ defaultConfig: Nt
176
+ });
177
+ let a = {};
178
+ return t.theme ? a = {
179
+ ...xt({
180
+ userConfig: ll.vue_ui_donut_evolution[t.theme] || b.config,
181
+ defaultConfig: t
182
+ }),
183
+ customPalette: tl[t.theme] || ne
184
+ } : a = t, b.config && ft(b.config, "style.chart.zoom.startIndex") ? a.style.chart.zoom.startIndex = b.config.style.chart.zoom.startIndex : a.style.chart.zoom.startIndex = null, b.config && ft(b.config, "style.chart.zoom.endIndex") ? a.style.chart.zoom.endIndex = b.config.style.chart.zoom.endIndex : a.style.chart.zoom.endIndex = null, a;
185
+ }
186
+ _e(() => b.config, (t) => {
187
+ He.value || (e.value = me()), ge.value = !e.value.userOptions.showOnChartHover, Be(), Ie.value += 1, Ne.value += 1, Te.value += 1, B.value.showTable = e.value.table.show;
188
+ }, { deep: !0 }), _e(() => b.dataset, (t) => {
189
+ Array.isArray(t) && t.length > 0 && (ae.value = !1), Xe();
190
+ }, { deep: !0 });
191
+ const { isPrinting: je, isImaging: qe, generatePdf: Je, generateImage: Ke } = yl({
192
+ elementId: M.value,
193
+ fileName: e.value.style.chart.title.text || "vue-ui-donut-evolution",
194
+ options: e.value.userOptions.print
195
+ }), Pt = g(() => e.value.userOptions.show && !e.value.style.chart.title.text), Ft = g(() => al(e.value.customPalette)), B = c({
196
+ showTable: e.value.table.show
197
+ });
198
+ _e(e, () => {
199
+ B.value = {
200
+ showTable: e.value.table.show
201
+ };
202
+ }, { immediate: !0 });
203
+ const R = g(() => ({
204
+ top: e.value.style.chart.layout.padding.top,
205
+ right: e.value.style.chart.layout.padding.right,
206
+ bottom: e.value.style.chart.layout.padding.bottom,
207
+ left: e.value.style.chart.layout.padding.left
208
+ }));
209
+ function Dt() {
210
+ let t = 0;
211
+ ce.value && (t = Array.from(ce.value.querySelectorAll("text")).reduce((u, h) => {
212
+ const d = h.getComputedTextLength();
213
+ return (d > u ? d : u) + e.value.style.chart.layout.grid.axis.yLabelOffsetX;
214
+ }, 0));
215
+ const a = de.value ? de.value.getBoundingClientRect().width + e.value.style.chart.layout.grid.axis.yLabelOffsetX + e.value.style.chart.layout.grid.axis.fontSize : 0;
216
+ return t + a + 5;
217
+ }
218
+ const be = c(0), Et = pt((t) => {
219
+ be.value = t;
220
+ }, 100);
221
+ jt((t) => {
222
+ const a = ee.value;
223
+ if (!a) return;
224
+ const l = new ResizeObserver((s) => {
225
+ Et(s[0].contentRect.height);
226
+ });
227
+ l.observe(a), t(() => l.disconnect());
228
+ }), qt(() => {
229
+ be.value = 0;
230
+ });
231
+ const Qe = g(() => {
232
+ let t = 0;
233
+ ve.value && (t = ve.value.getBBox().height);
234
+ let a = 0;
235
+ return ee.value && (a = be.value), t + a + e.value.style.chart.layout.grid.axis.fontSize + e.value.style.chart.layout.grid.xAxis.dataLabels.offsetY;
236
+ }), r = g(() => {
237
+ const t = Dt(), a = e.value.style.chart.layout.dataLabels.fontSize * 3, l = oe.value.width, s = oe.value.height, u = R.value.left + t, h = l - R.value.right, d = l - u - R.value.right, x = s - R.value.top - R.value.bottom - a - Qe.value, G = R.value.top + a, D = s - R.value.bottom - Qe.value;
238
+ return {
239
+ top: G,
240
+ left: u,
241
+ right: h,
242
+ bottom: D,
243
+ absoluteHeight: s,
244
+ absoluteWidth: l,
245
+ centerX: u + Math.max(10, d) / 2,
246
+ centerY: G + Math.max(10, x) / 2,
247
+ width: Math.max(10, d),
248
+ height: Math.max(10, x)
249
+ };
250
+ }), O = g(() => (ye.value.forEach((t, a) => {
251
+ [null, void 0].includes(t.name) && se({
252
+ componentName: "VueUiDonutEvolution",
253
+ type: "datasetSerieAttribute",
254
+ property: "name",
255
+ index: a,
256
+ debug: le.value
257
+ }), [null, void 0].includes(t.values) && se({
258
+ componentName: "VueUiDonutEvolution",
259
+ type: "datasetSerieAttribute",
260
+ property: "values",
261
+ index: a,
262
+ debug: le.value
263
+ });
264
+ }), ye.value.map((t, a) => ({
265
+ ...t,
266
+ values: ol(t.values),
267
+ color: Le(t.color) || Ft.value[a] || ne[a] || ne[a % ne.length],
268
+ length: (t.values || []).length,
269
+ uid: ht()
270
+ })))), Y = g(() => O.value.filter((t) => !w.value.includes(t.uid)).map((t) => ({
271
+ ...t,
272
+ values: t.values.filter((a, l) => l >= y.value.start && l <= y.value.end)
273
+ }))), F = g(() => Math.max(...Y.value.map((t) => t.length))), C = g(() => fl({
274
+ values: e.value.style.chart.layout.grid.xAxis.dataLabels.values,
275
+ maxDatapoints: F.value,
276
+ formatter: e.value.style.chart.layout.grid.xAxis.dataLabels.datetimeFormatter,
277
+ start: y.value.start,
278
+ end: y.value.end
279
+ })), k = g(() => r.value.width / (y.value.end - y.value.start)), _ = g(() => {
280
+ const t = [];
281
+ for (let u = 0; u < y.value.end - y.value.start; u += 1) {
282
+ const h = Y.value.map((I) => I.values[u] ?? null), d = h.filter((I) => [void 0, null].includes(I)).length === h.length, x = h.reduce((I, A) => I + A, 0), G = h.map((I) => I / x), D = r.value.left + k.value * u + k.value / 2;
283
+ t.push({
284
+ index: u,
285
+ percentages: G,
286
+ subtotal: d || x < 0 ? null : x,
287
+ values: h,
288
+ x: D
289
+ });
290
+ }
291
+ const a = 0, l = Math.max(...t.map((u) => u.subtotal)), s = t.length === 1 ? l * 2 : l;
292
+ return t.map((u, h) => {
293
+ const d = Math.min(r.value.width / 24, k.value / 2 * 0.7), x = d > r.value.width / 16 ? r.value.width / 16 : d, G = f.value === u.index ? r.value.width / 16 : x, D = t.length > 4 ? d * 2 : d * 2 > k.value / 2 * 0.7 ? k.value / 2 * 0.7 : d * 2, I = r.value.bottom - r.value.height * u.subtotal / gt(a, s, e.value.style.chart.layout.grid.yAxis.dataLabels.steps).max;
294
+ return {
295
+ ...u,
296
+ y: I,
297
+ radius: x,
298
+ activeRadius: G,
299
+ hoverRadius: D,
300
+ donut: Ae({
301
+ series: Y.value.map((A, ct) => ({
302
+ color: A.color,
303
+ name: A.name,
304
+ value: A.values[h] ?? 0
305
+ }))
306
+ }, u.x, I, x, x, 1.99999, 2, 1, 360, 105.25, x / 2),
307
+ donutHover: Ae({
308
+ series: Y.value.map((A, ct) => ({
309
+ color: A.color,
310
+ name: A.name,
311
+ value: A.values[h] ?? 0
312
+ }))
313
+ }, u.x, I, D, D, 1.99999, 2, 1, 360, 105.25, D / 2),
314
+ donutFocus: Ae({
315
+ series: Y.value.map((A, ct) => ({
316
+ color: A.color,
317
+ name: A.name,
318
+ value: A.values[h] ?? 0
319
+ }))
320
+ }, r.value.centerX, r.value.centerY, r.value.height / 3.6, r.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, r.value.height / 6)
321
+ };
322
+ });
323
+ });
324
+ function Ze(t, a, l) {
325
+ return Se(
326
+ e.value.style.chart.layout.dataLabels.formatter,
327
+ t,
328
+ re({
329
+ p: e.value.style.chart.layout.dataLabels.prefix,
330
+ v: t,
331
+ s: e.value.style.chart.layout.dataLabels.suffix,
332
+ r: e.value.style.chart.layout.dataLabels.rounding
333
+ }),
334
+ { datapoint: a, index: l }
335
+ );
336
+ }
337
+ const xe = g(() => ({
338
+ max: Math.max(..._.value.map((t) => t.subtotal)),
339
+ min: 0
340
+ })), H = g(() => {
341
+ const t = _.value.length === 1 ? xe.value.max * 2 : xe.value.max;
342
+ return gt(xe.value.min, t, e.value.style.chart.layout.grid.yAxis.dataLabels.steps);
343
+ });
344
+ function Rt(t) {
345
+ return t / H.value.max;
346
+ }
347
+ const Vt = g(() => H.value.ticks.map((t) => ({
348
+ y: r.value.bottom - r.value.height * Rt(t),
349
+ value: t
350
+ })));
351
+ function Mt(t, a) {
352
+ return isNaN(t.value / bt(a, "value")) ? 0 : (t.value / bt(a, "value") * 100).toFixed(0) + "%";
353
+ }
354
+ function et() {
355
+ f.value = null, Z.value = null;
356
+ }
357
+ function Bt(t) {
358
+ f.value = t.index, Z.value = t;
359
+ }
360
+ const j = c(null);
361
+ function tt(t, a) {
362
+ !t.subtotal || !e.value.style.chart.dialog.show || (Z.value = null, f.value = null, ie.value = !0, E.value = t, Xt(t), [null, void 0].includes(a) || (j.value = a));
363
+ }
364
+ const lt = g(() => O.value.map((t, a) => ({
365
+ name: t.name,
366
+ value: t.values.slice(y.value.start, y.value.end).reduce((l, s) => l + s, 0),
367
+ shape: "circle",
368
+ uid: t.uid,
369
+ color: t.color
370
+ })).sort((t, a) => a.value - t.value).map((t) => ({
371
+ ...t,
372
+ opacity: w.value.includes(t.uid) ? 0.5 : 1,
373
+ segregate: () => pe(t.uid),
374
+ isSegregated: w.value.includes(t.uid)
375
+ }))), at = g(() => _.value.map((t) => t.subtotal).reduce((t, a) => t + a, 0)), Ht = g(() => ({
376
+ cy: "donut-div-legend",
377
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
378
+ color: e.value.style.chart.legend.color,
379
+ fontSize: e.value.style.chart.legend.fontSize,
380
+ paddingBottom: 12,
381
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
382
+ }));
383
+ function pe(t) {
384
+ if (w.value.includes(t))
385
+ w.value = w.value.filter((a) => a !== t), Ve("selectLegend", null);
386
+ else {
387
+ if (w.value.length === O.value.length - 1) return;
388
+ w.value.push(t), Ve("selectLegend", O.value.find((a) => a.uid === t));
389
+ }
390
+ E.value && tt(_.value.find((a, l) => l === j.value));
391
+ }
392
+ const U = g(() => {
393
+ const t = [""].concat(O.value.filter((u) => !w.value.includes(u.uid)).map((u) => ({
394
+ name: u.name,
395
+ color: u.color
396
+ }))).concat(["Σ"]);
397
+ let a = [];
398
+ for (let u = 0; u < F.value; u += 1) {
399
+ const h = O.value.filter((d) => !w.value.includes(d.uid)).map((d) => d.values[u] ?? 0).reduce((d, x) => d + x, 0);
400
+ a.push([C[u] ? C[u].text : "-"].concat(O.value.filter((d) => !w.value.includes(d.uid)).map((d) => ({
401
+ value: d.values[u] ?? 0,
402
+ percentage: d.values[u] ? d.values[u] / h * 100 : 0
403
+ }))).concat([`${e.value.style.chart.layout.dataLabels.prefix}${Number(h.toFixed(e.value.table.td.roundingValue))}${e.value.style.chart.layout.dataLabels.suffix}`]));
404
+ }
405
+ const l = {
406
+ th: {
407
+ backgroundColor: e.value.table.th.backgroundColor,
408
+ color: e.value.table.th.color,
409
+ outline: e.value.table.th.outline
410
+ },
411
+ td: {
412
+ backgroundColor: e.value.table.td.backgroundColor,
413
+ color: e.value.table.td.color,
414
+ outline: e.value.table.td.outline
415
+ },
416
+ breakpoint: e.value.table.responsiveBreakpoint
417
+ }, s = [
418
+ e.value.table.columnNames.period
419
+ ].concat(O.value.filter((u) => !w.value.includes(u.uid)).map((u) => u.name)).concat(e.value.table.columnNames.total);
420
+ return { head: t, body: a, config: l, colNames: s };
421
+ });
422
+ function Ut() {
423
+ return O.value;
424
+ }
425
+ function ot(t = null) {
426
+ Ce(() => {
427
+ const a = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], l = [...U.value.head.map((d) => d.name ?? d)], s = [...U.value.body.map((d) => d.map((x) => x.value ?? x))], u = a.concat([l]).concat(s), h = cl(u);
428
+ t ? t(h) : vl({ csvContent: h, title: e.value.style.chart.title.text || "vue-ui-donut-evolution" });
429
+ });
430
+ }
431
+ const X = c(!1);
432
+ function ut(t) {
433
+ X.value = t, ze.value += 1;
434
+ }
435
+ function st() {
436
+ B.value.showTable = !B.value.showTable;
437
+ }
438
+ const ue = c(!1);
439
+ function ke() {
440
+ ue.value = !ue.value;
441
+ }
442
+ function nt(t) {
443
+ return t.proportion * 100 > e.value.style.chart.donuts.hover.hideLabelsUnderValue;
444
+ }
445
+ const rt = c([]), it = c({}), we = c(null);
446
+ function Xt(t) {
447
+ rt.value = t.donut.map((a) => ({
448
+ name: a.name,
449
+ values: [a.value],
450
+ color: a.color
451
+ })), it.value = dl({
452
+ ...e.value.style.chart.dialog.donutChart,
453
+ responsive: !0,
454
+ theme: e.value.theme
455
+ }), we.value && we.value.open();
456
+ }
457
+ async function Gt({ scale: t = 2 } = {}) {
458
+ if (!P.value) return;
459
+ const { width: a, height: l } = P.value.getBoundingClientRect(), s = a / l, { imageUri: u, base64: h } = await kl({ domElement: P.value, base64: !0, img: !0, scale: t });
460
+ return {
461
+ imageUri: u,
462
+ base64: h,
463
+ title: e.value.style.chart.title.text,
464
+ width: a,
465
+ height: l,
466
+ aspectRatio: s
467
+ };
468
+ }
469
+ return ml({
470
+ timeLabelsEls: ee,
471
+ timeLabels: C,
472
+ slicer: y,
473
+ configRef: e,
474
+ rotationPath: ["style", "chart", "layout", "grid", "xAxis", "dataLabels", "rotation"],
475
+ autoRotatePath: ["style", "chart", "layout", "grid", "xAxis", "dataLabels", "autoRotate"],
476
+ isAutoSize: !1
477
+ }), wt({
478
+ getData: Ut,
479
+ getImage: Gt,
480
+ generatePdf: Je,
481
+ generateCsv: ot,
482
+ generateImage: Ke,
483
+ toggleTable: st,
484
+ toggleAnnotator: ke,
485
+ toggleFullscreen: ut
486
+ }), (t, a) => (o(), n("div", {
487
+ ref_key: "donutEvolutionChart",
488
+ ref: P,
489
+ class: N(`vue-ui-donut-evolution ${X.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
490
+ style: q(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.chart.backgroundColor}`),
491
+ id: M.value,
492
+ onMouseenter: a[5] || (a[5] = () => i(Ge)(!0)),
493
+ onMouseleave: a[6] || (a[6] = () => i(Ge)(!1))
494
+ }, [
495
+ e.value.userOptions.buttons.annotator ? (o(), T(i(zt), {
496
+ key: 0,
497
+ svgRef: i(Ye),
498
+ backgroundColor: e.value.style.chart.backgroundColor,
499
+ color: e.value.style.chart.color,
500
+ active: ue.value,
501
+ onClose: ke
502
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : v("", !0),
503
+ Pt.value ? (o(), n("div", {
504
+ key: 1,
505
+ ref_key: "noTitle",
506
+ ref: Tt,
507
+ class: "vue-data-ui-no-title-space",
508
+ style: "height:36px; width: 100%;background:transparent"
509
+ }, null, 512)) : v("", !0),
510
+ e.value.style.chart.title.text ? (o(), n("div", {
511
+ key: 2,
512
+ ref_key: "chartTitle",
513
+ ref: Oe,
514
+ style: "width:100%;background:transparent;padding-bottom:24px",
515
+ onMouseleave: et
516
+ }, [
517
+ (o(), T(pl, {
518
+ key: `title_${Ie.value}`,
519
+ config: {
520
+ title: {
521
+ cy: "donut-evolution-div-title",
522
+ ...e.value.style.chart.title
523
+ },
524
+ subtitle: {
525
+ cy: "donut-evolution-div-subtitle",
526
+ ...e.value.style.chart.title.subtitle
527
+ }
528
+ }
529
+ }, null, 8, ["config"]))
530
+ ], 544)) : v("", !0),
531
+ e.value.userOptions.show && Me.value && (i(We) || i(ge)) ? (o(), T(i($t), {
532
+ ref: "details",
533
+ key: `user_options_${ze.value}`,
534
+ backgroundColor: e.value.style.chart.backgroundColor,
535
+ color: e.value.style.chart.color,
536
+ isPrinting: i(je),
537
+ isImaging: i(qe),
538
+ uid: M.value,
539
+ hasPdf: e.value.userOptions.buttons.pdf,
540
+ hasImg: e.value.userOptions.buttons.img,
541
+ hasXls: e.value.userOptions.buttons.csv,
542
+ hasTable: e.value.userOptions.buttons.table,
543
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
544
+ isFullscreen: X.value,
545
+ titles: { ...e.value.userOptions.buttonTitles },
546
+ chartElement: P.value,
547
+ position: e.value.userOptions.position,
548
+ hasAnnotator: e.value.userOptions.buttons.annotator,
549
+ isAnnotation: ue.value,
550
+ callbacks: e.value.userOptions.callbacks,
551
+ printScale: e.value.userOptions.print.scale,
552
+ onToggleFullscreen: ut,
553
+ onGeneratePdf: i(Je),
554
+ onGenerateCsv: ot,
555
+ onGenerateImage: i(Ke),
556
+ onToggleTable: st,
557
+ onToggleAnnotator: ke,
558
+ style: q({
559
+ visibility: i(We) ? i(ge) ? "visible" : "hidden" : "visible"
560
+ })
561
+ }, Jt({ _: 2 }, [
562
+ t.$slots.menuIcon ? {
563
+ name: "menuIcon",
564
+ fn: L(({ isOpen: l, color: s }) => [
565
+ S(t.$slots, "menuIcon", J(K({ isOpen: l, color: s })), void 0, !0)
566
+ ]),
567
+ key: "0"
568
+ } : void 0,
569
+ t.$slots.optionPdf ? {
570
+ name: "optionPdf",
571
+ fn: L(() => [
572
+ S(t.$slots, "optionPdf", {}, void 0, !0)
573
+ ]),
574
+ key: "1"
575
+ } : void 0,
576
+ t.$slots.optionCsv ? {
577
+ name: "optionCsv",
578
+ fn: L(() => [
579
+ S(t.$slots, "optionCsv", {}, void 0, !0)
580
+ ]),
581
+ key: "2"
582
+ } : void 0,
583
+ t.$slots.optionImg ? {
584
+ name: "optionImg",
585
+ fn: L(() => [
586
+ S(t.$slots, "optionImg", {}, void 0, !0)
587
+ ]),
588
+ key: "3"
589
+ } : void 0,
590
+ t.$slots.optionTable ? {
591
+ name: "optionTable",
592
+ fn: L(() => [
593
+ S(t.$slots, "optionTable", {}, void 0, !0)
594
+ ]),
595
+ key: "4"
596
+ } : void 0,
597
+ t.$slots.optionFullscreen ? {
598
+ name: "optionFullscreen",
599
+ fn: L(({ toggleFullscreen: l, isFullscreen: s }) => [
600
+ S(t.$slots, "optionFullscreen", J(K({ toggleFullscreen: l, isFullscreen: s })), void 0, !0)
601
+ ]),
602
+ key: "5"
603
+ } : void 0,
604
+ t.$slots.optionAnnotator ? {
605
+ name: "optionAnnotator",
606
+ fn: L(({ toggleAnnotator: l, isAnnotator: s }) => [
607
+ S(t.$slots, "optionAnnotator", J(K({ toggleAnnotator: l, isAnnotator: s })), void 0, !0)
608
+ ]),
609
+ key: "6"
610
+ } : void 0
611
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : v("", !0),
612
+ (o(), n("svg", {
613
+ ref_key: "svgRef",
614
+ ref: Ye,
615
+ xmlns: i(ul),
616
+ class: N({ "vue-data-ui-fullscreen--on": X.value, "vue-data-ui-fulscreen--off": !X.value }),
617
+ viewBox: `0 0 ${r.value.absoluteWidth} ${r.value.absoluteHeight}`,
618
+ style: q(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color};`)
619
+ }, [
620
+ Kt(i(St)),
621
+ t.$slots["chart-background"] ? (o(), n("foreignObject", {
622
+ key: 0,
623
+ x: r.value.left,
624
+ y: r.value.top,
625
+ width: r.value.width,
626
+ height: r.value.height,
627
+ style: {
628
+ pointerEvents: "none"
629
+ }
630
+ }, [
631
+ S(t.$slots, "chart-background", {}, void 0, !0)
632
+ ], 8, zl)) : v("", !0),
633
+ p("defs", null, [
634
+ p("linearGradient", {
635
+ id: `hover_${M.value}`,
636
+ x1: "0%",
637
+ y1: "0%",
638
+ x2: "0%",
639
+ y2: "100%"
640
+ }, [
641
+ p("stop", {
642
+ offset: "0%",
643
+ "stop-color": i(Q)(e.value.style.chart.backgroundColor, e.value.style.chart.layout.highlighter.opacity)
644
+ }, null, 8, Il),
645
+ p("stop", {
646
+ offset: "100%",
647
+ "stop-color": i(Q)(e.value.style.chart.layout.highlighter.color, e.value.style.chart.layout.highlighter.opacity)
648
+ }, null, 8, Nl)
649
+ ], 8, $l),
650
+ p("radialGradient", {
651
+ id: `focus_${M.value}`
652
+ }, [
653
+ p("stop", {
654
+ offset: "0%",
655
+ "stop-color": i(Q)(i(Le)(e.value.style.chart.backgroundColor), 0)
656
+ }, null, 8, Ol),
657
+ p("stop", {
658
+ offset: "77%",
659
+ "stop-color": i(Q)("#FFFFFF", 30)
660
+ }, null, 8, Pl),
661
+ p("stop", {
662
+ offset: "100%",
663
+ "stop-color": i(Q)(i(Le)(e.value.style.chart.backgroundColor), 0)
664
+ }, null, 8, Fl)
665
+ ], 8, Tl)
666
+ ]),
667
+ e.value.style.chart.layout.grid.show ? (o(), n("g", Dl, [
668
+ p("line", {
669
+ x1: r.value.left,
670
+ x2: r.value.left,
671
+ y1: r.value.top,
672
+ y2: r.value.top + r.value.height,
673
+ stroke: e.value.style.chart.layout.grid.stroke,
674
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
675
+ "stroke-linecap": "round"
676
+ }, null, 8, El),
677
+ p("line", {
678
+ x1: r.value.left,
679
+ x2: r.value.right,
680
+ y1: r.value.bottom,
681
+ y2: r.value.bottom,
682
+ stroke: e.value.style.chart.layout.grid.stroke,
683
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
684
+ "stroke-linecap": "round"
685
+ }, null, 8, Rl),
686
+ e.value.style.chart.layout.grid.showVerticalLines ? (o(), n("g", Vl, [
687
+ (o(!0), n(z, null, $(y.value.end - y.value.start, (l, s) => (o(), n("line", {
688
+ x1: r.value.left + (s + 1) * k.value,
689
+ x2: r.value.left + (s + 1) * k.value,
690
+ y1: r.value.top,
691
+ y2: r.value.bottom,
692
+ stroke: e.value.style.chart.layout.grid.stroke,
693
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth,
694
+ "stroke-linecap": "round"
695
+ }, null, 8, Ml))), 256))
696
+ ])) : v("", !0)
697
+ ])) : v("", !0),
698
+ p("g", null, [
699
+ e.value.style.chart.layout.grid.axis.yLabel ? (o(), n("text", {
700
+ key: 0,
701
+ ref_key: "yAxisLabel",
702
+ ref: de,
703
+ "font-size": e.value.style.chart.layout.grid.axis.fontSize,
704
+ fill: e.value.style.chart.layout.grid.axis.color,
705
+ transform: `translate(${e.value.style.chart.layout.grid.axis.fontSize}, ${r.value.top + r.value.height / 2}) rotate(-90)`,
706
+ "text-anchor": "middle",
707
+ style: { transition: "none" }
708
+ }, m(e.value.style.chart.layout.grid.axis.yLabel), 9, Bl)) : v("", !0),
709
+ e.value.style.chart.layout.grid.axis.xLabel ? (o(), n("text", {
710
+ key: 1,
711
+ ref_key: "xAxisLabel",
712
+ ref: ve,
713
+ "text-anchor": "middle",
714
+ x: r.value.absoluteWidth / 2,
715
+ y: r.value.absoluteHeight - 3,
716
+ "font-size": e.value.style.chart.layout.grid.axis.fontSize,
717
+ fill: e.value.style.chart.layout.grid.axis.color
718
+ }, m(e.value.style.chart.layout.grid.axis.xLabel), 9, Hl)) : v("", !0)
719
+ ]),
720
+ e.value.style.chart.layout.grid.yAxis.dataLabels.show ? (o(), n("g", {
721
+ key: 2,
722
+ ref_key: "scaleLabels",
723
+ ref: ce,
724
+ class: N({ "donut-opacity": !0, "donut-behind": f.value !== null })
725
+ }, [
726
+ (o(!0), n(z, null, $(Vt.value, (l, s) => (o(), n("g", null, [
727
+ l.value >= H.value.min && l.value <= H.value.max ? (o(), n("line", {
728
+ key: 0,
729
+ x1: r.value.left,
730
+ x2: r.value.left - 5,
731
+ y1: l.y,
732
+ y2: l.y,
733
+ stroke: e.value.style.chart.layout.grid.stroke,
734
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
735
+ }, null, 8, Ul)) : v("", !0),
736
+ l.value >= H.value.min && l.value <= H.value.max ? (o(), n("text", {
737
+ key: 1,
738
+ x: r.value.left,
739
+ y: l.y + e.value.style.chart.layout.grid.yAxis.dataLabels.fontSize / 3,
740
+ "font-size": e.value.style.chart.layout.grid.yAxis.dataLabels.fontSize,
741
+ "text-anchor": "end",
742
+ fill: e.value.style.chart.layout.grid.yAxis.dataLabels.color,
743
+ "font-weight": e.value.style.chart.layout.grid.yAxis.dataLabels.bold ? "bold" : "normal"
744
+ }, m(i(sl)(l.value) ? i(Se)(
745
+ e.value.style.chart.layout.dataLabels.formatter,
746
+ l.value,
747
+ i(re)({
748
+ p: e.value.style.chart.layout.dataLabels.prefix,
749
+ v: l.value,
750
+ s: e.value.style.chart.layout.dataLabels.suffix,
751
+ r: e.value.style.chart.layout.grid.yAxis.dataLabels.roundingValue
752
+ }),
753
+ { datapoint: l, seriesIndex: s }
754
+ ) : ""), 9, Xl)) : v("", !0)
755
+ ]))), 256))
756
+ ], 2)) : v("", !0),
757
+ e.value.style.chart.layout.grid.xAxis.dataLabels.show ? (o(), n("g", {
758
+ key: 3,
759
+ ref_key: "timeLabelsEls",
760
+ ref: ee,
761
+ class: N({ "donut-opacity": !0 })
762
+ }, [
763
+ (o(!0), n(z, null, $(y.value.end - y.value.start, (l, s) => (o(), n("g", null, [
764
+ (e.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast && (s === 0 || s === F.value - 1) || !e.value.style.chart.layout.grid.xAxis.dataLabels.showOnlyFirstAndLast) && C.value[s] && C.value[s].text ? (o(), n("g", Gl, [
765
+ String(C.value[s].text).includes(`
766
+ `) ? (o(), n("text", {
767
+ key: 1,
768
+ class: "vue-data-ui-time-label",
769
+ "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",
770
+ "font-size": e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,
771
+ fill: e.value.style.chart.layout.grid.xAxis.dataLabels.color,
772
+ transform: `translate(${r.value.left + k.value * s + k.value / 2}, ${r.value.bottom + e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize + e.value.style.chart.layout.grid.xAxis.dataLabels.offsetY}), rotate(${e.value.style.chart.layout.grid.xAxis.dataLabels.rotation})`,
773
+ innerHTML: i(nl)({
774
+ content: String(C.value[s].text),
775
+ fontSize: e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,
776
+ fill: e.value.style.chart.layout.grid.xAxis.dataLabels.color,
777
+ x: 0,
778
+ y: 0
779
+ })
780
+ }, null, 8, Yl)) : (o(), n("text", {
781
+ key: 0,
782
+ class: "vue-data-ui-time-label",
783
+ "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",
784
+ "font-size": e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize,
785
+ fill: e.value.style.chart.layout.grid.xAxis.dataLabels.color,
786
+ transform: `translate(${r.value.left + k.value * s + k.value / 2}, ${r.value.bottom + e.value.style.chart.layout.grid.xAxis.dataLabels.fontSize + e.value.style.chart.layout.grid.xAxis.dataLabels.offsetY}), rotate(${e.value.style.chart.layout.grid.xAxis.dataLabels.rotation})`
787
+ }, m(C.value[s].text || ""), 9, Wl))
788
+ ])) : v("", !0)
789
+ ]))), 256))
790
+ ], 512)) : v("", !0),
791
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("g", null, [
792
+ e.value.style.chart.layout.line.show && s < _.value.length - 1 && ![l.subtotal, _.value[s + 1].subtotal].includes(null) ? (o(), n("line", {
793
+ key: 0,
794
+ class: N({ "donut-opacity": !0, "donut-behind": f.value !== null }),
795
+ x1: l.x,
796
+ y1: l.y,
797
+ x2: _.value[s + 1].x,
798
+ y2: _.value[s + 1].y,
799
+ stroke: e.value.style.chart.layout.line.stroke,
800
+ "stroke-width": e.value.style.chart.layout.line.strokeWidth,
801
+ "stroke-linecap": "round",
802
+ "stroke-linejoin": "round"
803
+ }, null, 10, jl)) : v("", !0),
804
+ l.subtotal !== null ? (o(), n("g", ql, [
805
+ l.subtotal ? (o(), n("circle", {
806
+ key: 0,
807
+ cx: l.x,
808
+ cy: l.y,
809
+ r: l.activeRadius,
810
+ fill: e.value.style.chart.backgroundColor
811
+ }, null, 8, Jl)) : v("", !0)
812
+ ])) : v("", !0)
813
+ ]))), 256)),
814
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("g", {
815
+ class: N({ "donut-opacity": !0, "donut-behind": s !== f.value && f.value !== null })
816
+ }, [
817
+ l.subtotal ? (o(), n("g", Kl, [
818
+ f.value !== null && f.value === s ? (o(), n("g", Ql, [
819
+ (o(!0), n(z, null, $(l.donutHover, (u) => (o(), n("g", null, [
820
+ nt(u) ? (o(), n("path", {
821
+ key: 0,
822
+ d: i(rl)(u, { x: u.center.endX, y: u.center.endY }, 12, 12, { x: l.x, y: l.y }, !1, 20),
823
+ stroke: u.color,
824
+ "stroke-width": "1",
825
+ "stroke-linecap": "round",
826
+ "stroke-linejoin": "round",
827
+ fill: "none"
828
+ }, null, 8, Zl)) : v("", !0)
829
+ ]))), 256)),
830
+ (o(!0), n(z, null, $(l.donutHover, (u, h) => (o(), n("g", null, [
831
+ nt(u) ? (o(), n("text", {
832
+ key: 0,
833
+ "data-cy-hover-label": "",
834
+ "text-anchor": i(mt)(u, !0, 0).anchor,
835
+ x: i(mt)(u, !0, 9).x,
836
+ y: i(il)(u, 14, 10),
837
+ fill: e.value.style.chart.layout.grid.yAxis.dataLabels.color,
838
+ "font-size": 8,
839
+ "font-weight": "bold"
840
+ }, m(u.name) + ": " + m(Mt(u, l.donut)) + " (" + m(u.value === null ? "-" : Ze(u.value, u, h)) + ") ", 9, ea)) : v("", !0)
841
+ ]))), 256)),
842
+ p("g", null, [
843
+ p("circle", {
844
+ cx: l.x,
845
+ cy: l.y,
846
+ r: l.hoverRadius,
847
+ fill: e.value.style.chart.backgroundColor
848
+ }, null, 8, ta)
849
+ ])
850
+ ])) : v("", !0)
851
+ ])) : v("", !0)
852
+ ], 2))), 256)),
853
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("g", {
854
+ class: N({ "donut-opacity": !0, "donut-behind": s !== f.value && f.value !== null })
855
+ }, [
856
+ l.subtotal !== null ? (o(), n("g", la, [
857
+ l.subtotal === 0 ? (o(), n("circle", {
858
+ key: 0,
859
+ cx: l.x,
860
+ cy: l.y,
861
+ r: 3,
862
+ fill: e.value.style.chart.color
863
+ }, null, 8, aa)) : f.value !== null && f.value === s ? (o(), n("g", oa, [
864
+ (o(!0), n(z, null, $(l.donutHover, (u, h) => (o(), n("path", {
865
+ d: u.arcSlice,
866
+ fill: `${u.color}`,
867
+ "stroke-width": 1,
868
+ stroke: e.value.style.chart.backgroundColor
869
+ }, null, 8, ua))), 256))
870
+ ])) : (o(), n("g", sa, [
871
+ (o(!0), n(z, null, $(l.donut, (u, h) => (o(), n("path", {
872
+ d: u.arcSlice,
873
+ fill: `${u.color}`,
874
+ "stroke-width": 0.5,
875
+ stroke: e.value.style.chart.backgroundColor
876
+ }, null, 8, na))), 256))
877
+ ]))
878
+ ])) : v("", !0)
879
+ ], 2))), 256)),
880
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("g", {
881
+ class: N({ "donut-opacity": !0, "donut-behind": s !== f.value && f.value !== null || ie.value && s !== E.value.index })
882
+ }, [
883
+ l.subtotal !== null && e.value.style.chart.layout.dataLabels.show ? (o(), n("text", {
884
+ key: 0,
885
+ "text-anchor": "middle",
886
+ x: l.x,
887
+ y: f.value === l.index && l.subtotal ? l.y + e.value.style.chart.layout.dataLabels.fontSize / 3 : l.y - l.radius - e.value.style.chart.layout.dataLabels.fontSize + e.value.style.chart.layout.dataLabels.offsetY,
888
+ "font-size": e.value.style.chart.layout.dataLabels.fontSize,
889
+ "font-weight": "bold",
890
+ fill: e.value.style.chart.layout.dataLabels.color
891
+ }, m(Ze(l.subtotal, l, s)), 9, ra)) : v("", !0)
892
+ ], 2))), 256)),
893
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("rect", {
894
+ x: r.value.left + s * k.value,
895
+ y: r.value.top,
896
+ width: k.value,
897
+ height: r.value.height,
898
+ fill: [f.value, j.value].includes(l.index) ? `url(#hover_${M.value})` : "transparent",
899
+ class: N({ "donut-hover": l.subtotal && [f.value, j.value].includes(l.index) }),
900
+ style: {
901
+ pointerEvents: "none"
902
+ }
903
+ }, null, 10, ia))), 256)),
904
+ (o(!0), n(z, null, $(_.value, (l, s) => (o(), n("rect", {
905
+ "data-cy-trap": "",
906
+ x: r.value.left + s * k.value,
907
+ y: r.value.top,
908
+ width: k.value,
909
+ height: r.value.height,
910
+ fill: "transparent",
911
+ onMouseenter: (u) => Bt(l),
912
+ onMouseleave: et,
913
+ onClick: (u) => tt(l, s),
914
+ class: N({ "donut-hover": f.value === l.index && l.subtotal })
915
+ }, null, 42, ca))), 256)),
916
+ S(t.$slots, "svg", { svg: r.value }, void 0, !0)
917
+ ], 14, Sl)),
918
+ t.$slots.watermark ? (o(), n("div", va, [
919
+ S(t.$slots, "watermark", J(K({ isPrinting: i(je) || i(qe) })), void 0, !0)
920
+ ])) : v("", !0),
921
+ p("div", {
922
+ ref_key: "chartSlicer",
923
+ ref: Ee,
924
+ style: q(`width:100%;background:${e.value.style.chart.backgroundColor}`),
925
+ "data-dom-to-png-ignore": ""
926
+ }, [
927
+ F.value > 1 && e.value.style.chart.zoom.show ? (o(), T(xl, {
928
+ ref_key: "slicerComponent",
929
+ ref: De,
930
+ key: `slicer_${$e.value}`,
931
+ background: e.value.style.chart.zoom.color,
932
+ borderColor: e.value.style.chart.backgroundColor,
933
+ fontSize: e.value.style.chart.zoom.fontSize,
934
+ useResetSlot: e.value.style.chart.zoom.useResetSlot,
935
+ labelLeft: C.value[0] ? C.value[0].text : "",
936
+ labelRight: C.value.at(-1) ? C.value.at(-1).text : "",
937
+ textColor: e.value.style.chart.color,
938
+ inputColor: e.value.style.chart.zoom.color,
939
+ selectColor: e.value.style.chart.zoom.highlightColor,
940
+ max: F.value,
941
+ min: 0,
942
+ valueStart: y.value.start,
943
+ valueEnd: y.value.end,
944
+ start: y.value.start,
945
+ "onUpdate:start": a[0] || (a[0] = (l) => y.value.start = l),
946
+ end: y.value.end,
947
+ "onUpdate:end": a[1] || (a[1] = (l) => y.value.end = l),
948
+ refreshStartPoint: e.value.style.chart.zoom.startIndex !== null ? e.value.style.chart.zoom.startIndex : 0,
949
+ refreshEndPoint: e.value.style.chart.zoom.endIndex !== null ? e.value.style.chart.zoom.endIndex + 1 : F.value,
950
+ enableRangeHandles: e.value.style.chart.zoom.enableRangeHandles,
951
+ enableSelectionDrag: e.value.style.chart.zoom.enableSelectionDrag,
952
+ onReset: Xe
953
+ }, {
954
+ "reset-action": L(({ reset: l }) => [
955
+ S(t.$slots, "reset-action", J(K({ reset: l })), void 0, !0)
956
+ ]),
957
+ _: 3
958
+ }, 8, ["background", "borderColor", "fontSize", "useResetSlot", "labelLeft", "labelRight", "textColor", "inputColor", "selectColor", "max", "valueStart", "valueEnd", "start", "end", "refreshStartPoint", "refreshEndPoint", "enableRangeHandles", "enableSelectionDrag"])) : v("", !0)
959
+ ], 4),
960
+ p("div", {
961
+ ref_key: "chartLegend",
962
+ ref: Pe
963
+ }, [
964
+ e.value.style.chart.legend.show ? (o(), T(bl, {
965
+ key: `legend_${Te.value}`,
966
+ legendSet: lt.value,
967
+ config: Ht.value,
968
+ onClickMarker: a[2] || (a[2] = ({ legend: l }) => pe(l.uid))
969
+ }, {
970
+ item: L(({ legend: l, index: s }) => [
971
+ p("div", {
972
+ onClick: (u) => pe(l.uid),
973
+ style: q(`opacity:${w.value.includes(l.uid) ? 0.5 : 1}`)
974
+ }, m(l.name) + m(e.value.style.chart.legend.showPercentage || e.value.style.chart.legend.showValue ? ":" : "") + " " + m(e.value.style.chart.legend.showValue ? i(Se)(
975
+ e.value.style.chart.layout.dataLabels.formatter,
976
+ l.value,
977
+ i(re)({
978
+ p: e.value.style.chart.layout.dataLabels.prefix,
979
+ v: l.value,
980
+ s: e.value.style.chart.layout.dataLabels.suffix,
981
+ r: e.value.style.chart.legend.roundingValue
982
+ }),
983
+ { datapoint: l, seriesIndex: s }
984
+ ) : "") + " " + m(e.value.style.chart.legend.showPercentage ? w.value.includes(l.uid) ? `${e.value.style.chart.legend.showValue ? "(" : ""}- %${e.value.style.chart.legend.showValue ? ")" : ""}` : `${e.value.style.chart.legend.showValue ? "(" : ""}${isNaN(l.value / at.value) ? "-" : i(re)({
985
+ v: l.value / at.value * 100,
986
+ s: "%",
987
+ r: e.value.style.chart.legend.roundingPercentage
988
+ })}${e.value.style.chart.legend.showValue ? ")" : ""}` : ""), 13, da)
989
+ ]),
990
+ _: 1
991
+ }, 8, ["legendSet", "config"])) : v("", !0),
992
+ S(t.$slots, "legend", { legend: lt.value }, void 0, !0)
993
+ ], 512),
994
+ t.$slots.source ? (o(), n("div", {
995
+ key: 5,
996
+ ref_key: "source",
997
+ ref: Fe,
998
+ dir: "auto"
999
+ }, [
1000
+ S(t.$slots, "source", {}, void 0, !0)
1001
+ ], 512)) : v("", !0),
1002
+ Me.value ? (o(), T(i(_t), {
1003
+ key: 6,
1004
+ hideDetails: "",
1005
+ config: {
1006
+ open: B.value.showTable,
1007
+ maxHeight: 1e4,
1008
+ body: {
1009
+ backgroundColor: e.value.style.chart.backgroundColor,
1010
+ color: e.value.style.chart.color
1011
+ },
1012
+ head: {
1013
+ backgroundColor: e.value.style.chart.backgroundColor,
1014
+ color: e.value.style.chart.color
1015
+ }
1016
+ }
1017
+ }, {
1018
+ content: L(() => [
1019
+ (o(), T(i(At), {
1020
+ key: `table_${Ne.value}`,
1021
+ colNames: U.value.colNames,
1022
+ head: U.value.head,
1023
+ body: U.value.body,
1024
+ config: U.value.config,
1025
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
1026
+ onClose: a[3] || (a[3] = (l) => B.value.showTable = !1)
1027
+ }, {
1028
+ th: L(({ th: l }) => [
1029
+ dt(m(l.name ?? l), 1)
1030
+ ]),
1031
+ td: L(({ td: l }) => [
1032
+ l.value === null ? (o(), n("span", ha, "-")) : (o(), n("b", ya, m(isNaN(l.value) ? "" : e.value.style.chart.layout.dataLabels.prefix) + m(!isNaN(l.value) && l.value !== null ? Number(l.value.toFixed(e.value.table.td.roundingValue)).toLocaleString() : l) + m(isNaN(l.value) ? "" : e.value.style.chart.layout.dataLabels.suffix), 1)),
1033
+ p("span", null, m(l.percentage && !isNaN(l.percentage) ? `(${Number(l.percentage.toFixed(e.value.table.td.roundingPercentage)).toLocaleString()}%)` : ""), 1)
1034
+ ]),
1035
+ _: 1
1036
+ }, 8, ["colNames", "head", "body", "config", "title"]))
1037
+ ]),
1038
+ _: 1
1039
+ }, 8, ["config"])) : v("", !0),
1040
+ e.value.style.chart.dialog.show ? (o(), T(i(Lt), {
1041
+ key: 7,
1042
+ ref_key: "dialog",
1043
+ ref: we,
1044
+ onClose: a[4] || (a[4] = (l) => {
1045
+ E.value = null, ie.value = !1, Z.value = null, f.value = null, j.value = null;
1046
+ }),
1047
+ backgroundColor: e.value.style.chart.dialog.backgroundColor,
1048
+ color: e.value.style.chart.dialog.color,
1049
+ headerBg: e.value.style.chart.dialog.header.backgroundColor,
1050
+ headerColor: e.value.style.chart.dialog.header.color,
1051
+ isFullscreen: X.value,
1052
+ fullscreenParent: P.value
1053
+ }, {
1054
+ title: L(() => [
1055
+ dt(m(C.value[Number(E.value.index)] ? C.value[Number(E.value.index)].text : ""), 1)
1056
+ ]),
1057
+ default: L(() => [
1058
+ E.value ? (o(), T(i(It), {
1059
+ key: 0,
1060
+ config: it.value,
1061
+ dataset: rt.value
1062
+ }, null, 8, ["config", "dataset"])) : v("", !0)
1063
+ ]),
1064
+ _: 1
1065
+ }, 8, ["backgroundColor", "color", "headerBg", "headerColor", "isFullscreen", "fullscreenParent"])) : v("", !0),
1066
+ i(He) ? (o(), T(_l, { key: 8 })) : v("", !0)
1067
+ ], 46, Al));
1068
+ }
1069
+ }, Na = /* @__PURE__ */ Ll(fa, [["__scopeId", "data-v-e863f653"]]);
1070
+ export {
1071
+ Na as default
1072
+ };