vue-data-ui 3.19.7 → 3.19.9

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 (131) hide show
  1. package/README.md +1 -1
  2. package/dist/{PackageVersion-DUU5Aku2.js → PackageVersion-Dl9W5zJD.js} +1 -1
  3. package/dist/components/vue-ui-3d-bar.js +1 -1
  4. package/dist/components/vue-ui-age-pyramid.js +1 -1
  5. package/dist/components/vue-ui-bullet.js +1 -1
  6. package/dist/components/vue-ui-bump.js +1 -1
  7. package/dist/components/vue-ui-candlestick.js +1 -1
  8. package/dist/components/vue-ui-carousel-table.js +1 -1
  9. package/dist/components/vue-ui-chestnut.js +1 -1
  10. package/dist/components/vue-ui-chord.js +1 -1
  11. package/dist/components/vue-ui-circle-pack.js +1 -1
  12. package/dist/components/vue-ui-cursor.js +1 -1
  13. package/dist/components/vue-ui-dag.js +1 -1
  14. package/dist/components/vue-ui-dashboard.js +1 -1
  15. package/dist/components/vue-ui-digits.js +1 -1
  16. package/dist/components/vue-ui-donut-evolution.js +1 -1
  17. package/dist/components/vue-ui-donut.js +1 -1
  18. package/dist/components/vue-ui-dumbbell.js +1 -1
  19. package/dist/components/vue-ui-flow.js +1 -1
  20. package/dist/components/vue-ui-funnel.js +1 -1
  21. package/dist/components/vue-ui-galaxy.js +1 -1
  22. package/dist/components/vue-ui-gauge.js +1 -1
  23. package/dist/components/vue-ui-geo.js +1 -1
  24. package/dist/components/vue-ui-gizmo.js +1 -1
  25. package/dist/components/vue-ui-heatmap.js +1 -1
  26. package/dist/components/vue-ui-history-plot.js +1 -1
  27. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  28. package/dist/components/vue-ui-kpi.js +1 -1
  29. package/dist/components/vue-ui-molecule.js +1 -1
  30. package/dist/components/vue-ui-mood-radar.js +1 -1
  31. package/dist/components/vue-ui-nested-donuts.js +1 -1
  32. package/dist/components/vue-ui-onion.js +1 -1
  33. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  34. package/dist/components/vue-ui-quadrant.js +1 -1
  35. package/dist/components/vue-ui-quick-chart.js +1 -1
  36. package/dist/components/vue-ui-radar.js +1 -1
  37. package/dist/components/vue-ui-relation-circle.js +1 -1
  38. package/dist/components/vue-ui-ridgeline.js +1 -1
  39. package/dist/components/vue-ui-rings.js +1 -1
  40. package/dist/components/vue-ui-scatter.js +1 -1
  41. package/dist/components/vue-ui-skeleton.js +1 -1
  42. package/dist/components/vue-ui-spark-trend.js +1 -1
  43. package/dist/components/vue-ui-sparkbar.js +1 -1
  44. package/dist/components/vue-ui-sparkgauge.js +1 -1
  45. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  46. package/dist/components/vue-ui-sparkline.js +1 -1
  47. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  48. package/dist/components/vue-ui-stackbar.js +1 -1
  49. package/dist/components/vue-ui-stackline.js +1 -1
  50. package/dist/components/vue-ui-strip-plot.js +1 -1
  51. package/dist/components/vue-ui-table-sparkline.js +1 -1
  52. package/dist/components/vue-ui-table.js +1 -1
  53. package/dist/components/vue-ui-thermometer.js +1 -1
  54. package/dist/components/vue-ui-timer.js +1 -1
  55. package/dist/components/vue-ui-tiremarks.js +1 -1
  56. package/dist/components/vue-ui-treemap.js +1 -1
  57. package/dist/components/vue-ui-vertical-bar.js +1 -1
  58. package/dist/components/vue-ui-waffle.js +1 -1
  59. package/dist/components/vue-ui-wheel.js +1 -1
  60. package/dist/components/vue-ui-word-cloud.js +1 -1
  61. package/dist/components/vue-ui-world.js +1 -1
  62. package/dist/components/vue-ui-xy-canvas.js +1 -1
  63. package/dist/components/vue-ui-xy.js +1 -1
  64. package/dist/style.css +1 -1
  65. package/dist/types/vue-ui-dag.d.ts +2 -0
  66. package/dist/{vue-data-ui-DBjj6t8B.js → vue-data-ui-nsosW-n5.js} +61 -61
  67. package/dist/vue-data-ui.js +61 -61
  68. package/dist/{vue-ui-3d-bar-CmAc1xBL.js → vue-ui-3d-bar-CTvvvgBE.js} +1 -1
  69. package/dist/{vue-ui-age-pyramid-CFvux3-S.js → vue-ui-age-pyramid-ckZtLlmH.js} +1 -1
  70. package/dist/{vue-ui-bullet-C4xEb3fq.js → vue-ui-bullet-3CkhGOSb.js} +1 -1
  71. package/dist/{vue-ui-bump-BW76g7ep.js → vue-ui-bump-LQuPTOlm.js} +1 -1
  72. package/dist/{vue-ui-candlestick-ShTn9uzH.js → vue-ui-candlestick-BeO06tlH.js} +1 -1
  73. package/dist/{vue-ui-carousel-table-DMan_IZb.js → vue-ui-carousel-table-nZJ1k6se.js} +1 -1
  74. package/dist/{vue-ui-chestnut-BIfaNOqy.js → vue-ui-chestnut-BWItE1hg.js} +1 -1
  75. package/dist/{vue-ui-chord-GDJiAjfD.js → vue-ui-chord-YflKRyWK.js} +1 -1
  76. package/dist/{vue-ui-circle-pack-Bo4ljiP_.js → vue-ui-circle-pack-DyTYvEg3.js} +1 -1
  77. package/dist/{vue-ui-cursor-BuLoDOFw.js → vue-ui-cursor-C5_wkWul.js} +1 -1
  78. package/dist/{vue-ui-dag-BmbwijZi.js → vue-ui-dag-mH0baWM3.js} +1 -1
  79. package/dist/{vue-ui-dashboard-CyzIaw6M.js → vue-ui-dashboard-F7pEuJDh.js} +58 -58
  80. package/dist/{vue-ui-digits-B33dTRHj.js → vue-ui-digits-BYBtwXy_.js} +1 -1
  81. package/dist/{vue-ui-donut-BIgvjStd.js → vue-ui-donut-B3L7jeHL.js} +434 -432
  82. package/dist/{vue-ui-donut-evolution-DT5F88LK.js → vue-ui-donut-evolution-C46h0gLy.js} +356 -356
  83. package/dist/{vue-ui-dumbbell-SwLKpHuh.js → vue-ui-dumbbell-xekp1obI.js} +1 -1
  84. package/dist/{vue-ui-flow-BqTUyRBS.js → vue-ui-flow-BYYyk5KL.js} +1 -1
  85. package/dist/{vue-ui-funnel-GOx4FfhB.js → vue-ui-funnel-BfY509t-.js} +1 -1
  86. package/dist/{vue-ui-galaxy-CTMyOfp7.js → vue-ui-galaxy-D061gTYS.js} +260 -257
  87. package/dist/{vue-ui-gauge-Clz_TmiX.js → vue-ui-gauge-BRxZNBBS.js} +1 -1
  88. package/dist/{vue-ui-geo-2kZK_UVF.js → vue-ui-geo-BwOMFUVr.js} +1 -1
  89. package/dist/{vue-ui-gizmo-BpNEwLo7.js → vue-ui-gizmo-CQsP8Nd3.js} +1 -1
  90. package/dist/{vue-ui-heatmap-B6FLZij5.js → vue-ui-heatmap-DOsulVoP.js} +1 -1
  91. package/dist/{vue-ui-history-plot-DpGwqYyg.js → vue-ui-history-plot-CXW6lF42.js} +4 -8
  92. package/dist/{vue-ui-horizontal-bar-BHFd966c.js → vue-ui-horizontal-bar-CideXtlg.js} +4 -4
  93. package/dist/{vue-ui-kpi-DyIqCISK.js → vue-ui-kpi-CE-JFZ1o.js} +1 -1
  94. package/dist/{vue-ui-molecule-BtQOQ32e.js → vue-ui-molecule-B1Prm5Lk.js} +1 -1
  95. package/dist/{vue-ui-mood-radar-CZSLnIMi.js → vue-ui-mood-radar-B29gVcTN.js} +1 -1
  96. package/dist/{vue-ui-nested-donuts-Lhteboo1.js → vue-ui-nested-donuts-Bsx5f9Gv.js} +97 -94
  97. package/dist/{vue-ui-onion-uCUgmyF1.js → vue-ui-onion-MN-PjNJq.js} +3 -3
  98. package/dist/{vue-ui-parallel-coordinate-plot-_u_VTAjF.js → vue-ui-parallel-coordinate-plot-C9zU7MP5.js} +91 -95
  99. package/dist/{vue-ui-quadrant-CgalDMyS.js → vue-ui-quadrant-h-QFG9O4.js} +3 -3
  100. package/dist/vue-ui-quick-chart-PAVz4c9z.js +2469 -0
  101. package/dist/{vue-ui-radar-64HPFASp.js → vue-ui-radar-D2pVd53z.js} +115 -112
  102. package/dist/{vue-ui-relation-circle-DT4So4-6.js → vue-ui-relation-circle-BjB0J53V.js} +1 -1
  103. package/dist/{vue-ui-ridgeline-5fZANTS9.js → vue-ui-ridgeline-DamvqiyJ.js} +3 -3
  104. package/dist/{vue-ui-rings-QFY794j3.js → vue-ui-rings-DkHS5dwd.js} +105 -102
  105. package/dist/{vue-ui-scatter-BPCY-u36.js → vue-ui-scatter-dFDowCVQ.js} +5 -5
  106. package/dist/{vue-ui-skeleton-Dj_ZVfSX.js → vue-ui-skeleton-zhkS1cmh.js} +1 -1
  107. package/dist/{vue-ui-spark-trend-DB0VHzm0.js → vue-ui-spark-trend-fQ10-UvM.js} +1 -1
  108. package/dist/{vue-ui-sparkbar-DVGRTFO5.js → vue-ui-sparkbar-D5toou8V.js} +1 -1
  109. package/dist/{vue-ui-sparkgauge-3UFZaDF9.js → vue-ui-sparkgauge-DRZcIPYf.js} +1 -1
  110. package/dist/{vue-ui-sparkhistogram-DRmBVef7.js → vue-ui-sparkhistogram-YizEqFdN.js} +1 -1
  111. package/dist/{vue-ui-sparkline-vsqKnakQ.js → vue-ui-sparkline-w2nclIW0.js} +1 -1
  112. package/dist/vue-ui-sparkstackbar-CTShNXhW.js +662 -0
  113. package/dist/{vue-ui-stackbar-9jP1s0MN.js → vue-ui-stackbar-BFLCEsRk.js} +404 -404
  114. package/dist/{vue-ui-stackline-D1o_afno.js → vue-ui-stackline-CU6s-hhv.js} +125 -125
  115. package/dist/{vue-ui-strip-plot-CogQ8VSl.js → vue-ui-strip-plot-ByaDLFSL.js} +1 -1
  116. package/dist/{vue-ui-table-Bub1v0eM.js → vue-ui-table-DuA_CfGn.js} +2 -2
  117. package/dist/{vue-ui-table-sparkline-BPts9wTR.js → vue-ui-table-sparkline-Dfei_QrJ.js} +1 -1
  118. package/dist/{vue-ui-thermometer-CJJ4cVt0.js → vue-ui-thermometer-biw3ivMI.js} +1 -1
  119. package/dist/{vue-ui-timer-BEPXWd20.js → vue-ui-timer-9LNNDl4q.js} +1 -1
  120. package/dist/{vue-ui-tiremarks-BC7bLLQD.js → vue-ui-tiremarks-kF0Baqia.js} +1 -1
  121. package/dist/{vue-ui-treemap-Cja-vZoa.js → vue-ui-treemap-BexKMBhz.js} +373 -373
  122. package/dist/{vue-ui-waffle-BRj-YBlz.js → vue-ui-waffle-Dq50j_uw.js} +1 -1
  123. package/dist/{vue-ui-wheel-AOTFpTWN.js → vue-ui-wheel-BETHlWsO.js} +1 -1
  124. package/dist/{vue-ui-word-cloud-dqfAdhW-.js → vue-ui-word-cloud-D1AQtzmT.js} +1 -1
  125. package/dist/{vue-ui-world-DqwsIYze.js → vue-ui-world-CcgbuSp_.js} +1 -1
  126. package/dist/vue-ui-xy-BQ1YONCq.js +4219 -0
  127. package/dist/{vue-ui-xy-canvas-B06Rit63.js → vue-ui-xy-canvas-4ABYnasj.js} +3 -3
  128. package/package.json +1 -1
  129. package/dist/vue-ui-quick-chart-BAWcSaDB.js +0 -2471
  130. package/dist/vue-ui-sparkstackbar-BNUhunuQ.js +0 -662
  131. package/dist/vue-ui-xy-Dhult6gR.js +0 -4181
@@ -0,0 +1,2469 @@
1
+ import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
+ import { B as t, G as n, H as r, Lt as i, St as a, Tt as o, X as s, bt as c, d as l, h as u, i as d, k as f, kt as p, nt as ee, p as te, pt as ne, t as re, u as m, v as h, x as ie, y as ae, zt as oe } from "./lib-BkiwukKO.js";
3
+ import { t as se } from "./useTimeLabels-C0x7zUXP.js";
4
+ import { t as ce } from "./useConfig-ByaaSKhz.js";
5
+ import { t as le } from "./usePrinter-X0yWOynH.js";
6
+ import { n as ue, t as de } from "./BaseScanner-C7dmAref.js";
7
+ import { t as fe } from "./useSvgExport-Dtu973wa.js";
8
+ import { t as pe } from "./useNestedProp-Ck4hsrpu.js";
9
+ import { t as me } from "./useThemeCheck-rFK9Zlb_.js";
10
+ import { t as he } from "./useTimeLabelCollider-Dm55Emzg.js";
11
+ import { t as ge } from "./img-BjOr008R.js";
12
+ import { t as _e } from "./_plugin-vue_export-helper-Dq1MygBL.js";
13
+ import { c as ve } from "./canvas-lib-DTaADQOK.js";
14
+ import { t as ye } from "./useResponsive-CrAInupd.js";
15
+ import { t as be } from "./BaseLegendToggle-CJTwLGXL.js";
16
+ import { t as xe } from "./A11yDataTable-q2-8fSlJ.js";
17
+ import { t as Se } from "./useChartAccessibility-Do37qcw2.js";
18
+ import { t as Ce } from "./Slicer-CPWGgGSp.js";
19
+ import { t as we } from "./vue_ui_quick_chart--VaYQuM4.js";
20
+ import { Fragment as g, Teleport as Te, computed as _, createBlock as Ee, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createSlots as De, createVNode as Oe, defineAsyncComponent as ke, guardReactiveProps as x, mergeProps as Ae, nextTick as je, normalizeClass as Me, normalizeProps as S, normalizeStyle as C, onBeforeUnmount as Ne, onMounted as Pe, openBlock as w, ref as T, renderList as E, renderSlot as D, shallowRef as Fe, toDisplayString as O, toRefs as Ie, unref as k, watch as Le, watchEffect as Re, withCtx as A } from "vue";
21
+ //#region src/chartDetector.js
22
+ var j = {
23
+ LINE: "LINE",
24
+ BAR: "BAR",
25
+ DONUT: "DONUT"
26
+ }, ze = [
27
+ "SERIE",
28
+ "SERIES",
29
+ "DATA",
30
+ "VALUE",
31
+ "VALUES",
32
+ "NUM"
33
+ ];
34
+ function Be({ dataset: e, barLineSwitch: t = 6, debug: n = !0 }) {
35
+ let r = null, i = null, a = 0;
36
+ if ((typeof e == "number" || typeof e == "string") && n && console.warn(`The provided dataset (${e}) is not sufficient to build a chart`), He(e) && (M(e) && (r = e.length < t ? j.BAR : j.LINE, i = e, a = e.length), Ue(e))) {
37
+ if (!Ge(e)) return n && console.warn("The objects in the dataset array have a different data structure. Either keys or value types are different."), !1;
38
+ let o = Object.keys(e[0]), s = Object.values(e[0]);
39
+ if (!o.some((e) => Ke(e))) return n && console.warn("The data type of the dataset objects in the array must contain one of the following keys: DATA, SERIES, VALUE, VALUES, NUM. Casing is not important."), !1;
40
+ qe(s, (e) => typeof e == "number") && (r = j.DONUT, i = e), qe(s, (e) => Array.isArray(e) && M(e)) && (r = Je(e) > t ? j.LINE : j.BAR, a = Je(e), i = e.map((e) => ({
41
+ ...e,
42
+ data: Ye(e, (e) => M(e))
43
+ }))), e = e.map((e) => N(e)), i = i.map((e) => N(e));
44
+ }
45
+ return {
46
+ dataset: e,
47
+ type: r,
48
+ usableDataset: i,
49
+ maxSeriesLength: a
50
+ };
51
+ }
52
+ function Ve(e) {
53
+ return !e || He(e) && !e.length;
54
+ }
55
+ function He(e) {
56
+ return Array.isArray(e);
57
+ }
58
+ function M(e) {
59
+ if (!He(e) || Ve(e)) return !1;
60
+ let t = e.map((e) => Number(e));
61
+ return ![...new Set(t.flatMap((e) => typeof e == "number" && !isNaN(e)))].includes(!1);
62
+ }
63
+ function Ue(e) {
64
+ return !He(e) || Ve(e) || [...new Set(e.flatMap((e) => typeof e == "object" && !Array.isArray(e)))].includes(!1) ? !1 : !e.map((e) => Object.keys(e).length > 0).includes(!1);
65
+ }
66
+ function We(e, t) {
67
+ let n = Object.keys(e).sort(), r = Object.keys(t).sort();
68
+ if (n.length !== r.length) return !1;
69
+ for (let i = 0; i < n.length; i += 1) {
70
+ let a = n[i], o = r[i];
71
+ if (a !== o || typeof e[a] != typeof t[o]) return !1;
72
+ }
73
+ return !0;
74
+ }
75
+ function Ge(e) {
76
+ if (e.length <= 1) return !0;
77
+ for (let t = 0; t < e.length; t += 1) for (let n = t + 1; n < e.length; n += 1) if (!We(e[t], e[n])) return !1;
78
+ return !0;
79
+ }
80
+ function Ke(e) {
81
+ return ze.includes(e.toUpperCase());
82
+ }
83
+ function qe(e, t) {
84
+ let n = [];
85
+ for (let r = 0; r < e.length; r += 1) n.push(t(e[r]));
86
+ return n.includes(!0);
87
+ }
88
+ function Je(e) {
89
+ return Math.max(...[...e].flatMap((e) => Object.values(e).filter((e) => M(e)).map((e) => e.length)));
90
+ }
91
+ function Ye(e, t) {
92
+ return Object.values(e).filter((e) => t(e))[0];
93
+ }
94
+ function N(e) {
95
+ let t = {};
96
+ for (let n in e) e.hasOwnProperty(n) && (t[n.toUpperCase()] = e[n]);
97
+ return t;
98
+ }
99
+ //#endregion
100
+ //#region src/components/vue-ui-quick-chart.vue
101
+ var P = /* @__PURE__ */ e({ default: () => Tn }), Xe = ["id"], Ze = ["id"], Qe = ["id"], $e = { style: { position: "relative" } }, et = [
102
+ "xmlns",
103
+ "aria-describedby",
104
+ "viewBox"
105
+ ], tt = [
106
+ "x",
107
+ "y",
108
+ "width",
109
+ "height"
110
+ ], nt = [
111
+ "x",
112
+ "y",
113
+ "width",
114
+ "height"
115
+ ], rt = ["width", "height"], it = ["id"], at = ["id"], ot = ["id"], st = ["flood-color"], ct = {
116
+ key: 0,
117
+ class: "donut-label-connectors"
118
+ }, lt = [
119
+ "d",
120
+ "stroke",
121
+ "stroke-width",
122
+ "filter"
123
+ ], ut = [
124
+ "cx",
125
+ "cy",
126
+ "r",
127
+ "fill",
128
+ "filter"
129
+ ], dt = { class: "donut" }, ft = [
130
+ "d",
131
+ "fill",
132
+ "stroke",
133
+ "stroke-width",
134
+ "filter"
135
+ ], pt = [
136
+ "d",
137
+ "onMouseenter",
138
+ "onMouseout",
139
+ "onClick"
140
+ ], mt = {
141
+ key: 1,
142
+ class: "donut-labels quick-animation"
143
+ }, ht = [
144
+ "cx",
145
+ "cy",
146
+ "fill",
147
+ "stroke",
148
+ "filter"
149
+ ], gt = [
150
+ "text-anchor",
151
+ "x",
152
+ "y",
153
+ "fill",
154
+ "font-size",
155
+ "filter"
156
+ ], _t = [
157
+ "text-anchor",
158
+ "x",
159
+ "y",
160
+ "fill",
161
+ "font-size",
162
+ "filter"
163
+ ], vt = {
164
+ key: 2,
165
+ class: "donut-hollow quick-animation"
166
+ }, yt = [
167
+ "x",
168
+ "y",
169
+ "font-size",
170
+ "fill"
171
+ ], bt = [
172
+ "x",
173
+ "y",
174
+ "font-size",
175
+ "fill"
176
+ ], xt = {
177
+ key: 0,
178
+ class: "line-grid"
179
+ }, St = [
180
+ "x1",
181
+ "x2",
182
+ "y1",
183
+ "y2",
184
+ "stroke",
185
+ "stroke-width"
186
+ ], Ct = [
187
+ "x1",
188
+ "x2",
189
+ "y1",
190
+ "y2",
191
+ "stroke",
192
+ "stroke-width"
193
+ ], wt = {
194
+ key: 1,
195
+ class: "line-axis"
196
+ }, Tt = [
197
+ "x1",
198
+ "x2",
199
+ "y1",
200
+ "y2",
201
+ "stroke",
202
+ "stroke-width"
203
+ ], Et = [
204
+ "x1",
205
+ "x2",
206
+ "y1",
207
+ "y2",
208
+ "stroke",
209
+ "stroke-width"
210
+ ], Dt = [
211
+ "x1",
212
+ "x2",
213
+ "y1",
214
+ "y2",
215
+ "stroke",
216
+ "stroke-width"
217
+ ], Ot = [
218
+ "x",
219
+ "y",
220
+ "font-size",
221
+ "fill"
222
+ ], kt = {
223
+ key: 3,
224
+ class: "periodLabels"
225
+ }, At = [
226
+ "x1",
227
+ "x2",
228
+ "y1",
229
+ "y2",
230
+ "stroke",
231
+ "stroke-width"
232
+ ], jt = { key: 0 }, Mt = [
233
+ "font-size",
234
+ "text-anchor",
235
+ "fill",
236
+ "transform"
237
+ ], Nt = [
238
+ "font-size",
239
+ "text-anchor",
240
+ "fill",
241
+ "transform",
242
+ "innerHTML"
243
+ ], Pt = { class: "plots" }, Ft = { class: "line-plot-series" }, It = [
244
+ "d",
245
+ "stroke",
246
+ "stroke-width"
247
+ ], Lt = [
248
+ "d",
249
+ "stroke",
250
+ "stroke-width"
251
+ ], Rt = [
252
+ "d",
253
+ "stroke",
254
+ "stroke-width"
255
+ ], zt = [
256
+ "d",
257
+ "stroke",
258
+ "stroke-width"
259
+ ], Bt = [
260
+ "cx",
261
+ "cy",
262
+ "fill",
263
+ "stroke"
264
+ ], Vt = {
265
+ key: 4,
266
+ class: "dataLabels"
267
+ }, Ht = [
268
+ "font-size",
269
+ "fill",
270
+ "x",
271
+ "y"
272
+ ], Ut = {
273
+ key: 5,
274
+ class: "tooltip-traps"
275
+ }, Wt = [
276
+ "x",
277
+ "y",
278
+ "height",
279
+ "width",
280
+ "fill",
281
+ "onMouseenter",
282
+ "onMouseleave",
283
+ "onClick"
284
+ ], Gt = {
285
+ key: 0,
286
+ class: "line-grid"
287
+ }, Kt = [
288
+ "x1",
289
+ "x2",
290
+ "y1",
291
+ "y2",
292
+ "stroke",
293
+ "stroke-width"
294
+ ], qt = [
295
+ "x1",
296
+ "x2",
297
+ "y1",
298
+ "y2",
299
+ "stroke",
300
+ "stroke-width"
301
+ ], Jt = {
302
+ key: 1,
303
+ class: "line-axis"
304
+ }, Yt = [
305
+ "x1",
306
+ "x2",
307
+ "y1",
308
+ "y2",
309
+ "stroke",
310
+ "stroke-width"
311
+ ], Xt = [
312
+ "x1",
313
+ "x2",
314
+ "y1",
315
+ "y2",
316
+ "stroke",
317
+ "stroke-width"
318
+ ], Zt = [
319
+ "x1",
320
+ "x2",
321
+ "y1",
322
+ "y2",
323
+ "stroke",
324
+ "stroke-width"
325
+ ], Qt = [
326
+ "x",
327
+ "y",
328
+ "font-size",
329
+ "fill"
330
+ ], $t = {
331
+ key: 3,
332
+ class: "periodLabels"
333
+ }, en = [
334
+ "x1",
335
+ "x2",
336
+ "y1",
337
+ "y2",
338
+ "stroke",
339
+ "stroke-width"
340
+ ], tn = { key: 0 }, nn = [
341
+ "font-size",
342
+ "text-anchor",
343
+ "fill",
344
+ "transform"
345
+ ], rn = [
346
+ "font-size",
347
+ "text-anchor",
348
+ "fill",
349
+ "transform",
350
+ "innerHTML"
351
+ ], an = { class: "plots" }, on = [
352
+ "x",
353
+ "width",
354
+ "height",
355
+ "y",
356
+ "fill",
357
+ "stroke",
358
+ "stroke-width"
359
+ ], sn = ["to"], cn = ["from", "to"], ln = {
360
+ key: 4,
361
+ class: "dataLabels"
362
+ }, un = [
363
+ "x",
364
+ "y",
365
+ "font-size",
366
+ "fill"
367
+ ], dn = {
368
+ key: 5,
369
+ class: "tooltip-traps"
370
+ }, fn = [
371
+ "x",
372
+ "y",
373
+ "height",
374
+ "width",
375
+ "fill",
376
+ "onMouseenter",
377
+ "onMouseleave",
378
+ "onClick"
379
+ ], pn = {
380
+ key: 6,
381
+ class: "axis-labels"
382
+ }, mn = [
383
+ "font-size",
384
+ "fill",
385
+ "x",
386
+ "y"
387
+ ], hn = [
388
+ "font-size",
389
+ "fill",
390
+ "x",
391
+ "y"
392
+ ], gn = [
393
+ "font-size",
394
+ "fill",
395
+ "transform"
396
+ ], _n = [
397
+ "font-size",
398
+ "fill",
399
+ "transform"
400
+ ], vn = {
401
+ key: 1,
402
+ style: {
403
+ position: "absolute",
404
+ top: "100%",
405
+ left: "0",
406
+ width: "100%"
407
+ },
408
+ "data-dom-to-png-ignore": "",
409
+ "aria-hidden": "true"
410
+ }, yn = {
411
+ key: 5,
412
+ class: "vue-data-ui-watermark"
413
+ }, bn = ["id"], xn = ["onClick", "onKeydown"], Sn = ["onClick", "onKeydown"], Cn = ["onClick", "onKeydown"], wn = {
414
+ key: 1,
415
+ class: "vue-ui-quick-chart-not-processable"
416
+ }, Tn = /* @__PURE__ */ _e({
417
+ __name: "vue-ui-quick-chart",
418
+ props: {
419
+ config: {
420
+ type: Object,
421
+ default() {
422
+ return {};
423
+ }
424
+ },
425
+ dataset: {
426
+ type: [
427
+ Array,
428
+ Object,
429
+ String,
430
+ Number
431
+ ],
432
+ default() {
433
+ return null;
434
+ }
435
+ }
436
+ },
437
+ emits: [
438
+ "selectDatapoint",
439
+ "selectLegend",
440
+ "copyAlt"
441
+ ],
442
+ setup(e, { expose: _e, emit: ze }) {
443
+ let Ve = ke(() => import("./BaseIcon-DM1x8hQF.js").then((e) => e.n)), He = ke(() => import("./PackageVersion-Dl9W5zJD.js").then((e) => e.t)), We = ke(() => import("./PenAndPaper-DNgm6y3l.js").then((e) => e.t)), Ge = ke(() => import("./Tooltip-CuWEYGr3.js")), Ke = ke(() => import("./UserOptions-D7zR0tnR.js").then((e) => e.n)), { vue_ui_quick_chart: qe } = ce(), { isThemeValid: Je, warnInvalidTheme: Ye } = me(), N = e, P = T(null), Tn = T(null), En = T(null), Dn = T(null), F = T(r()), I = T(!1), On = T(null), kn = T(""), L = T(null), An = T(null), jn = T(null), R = T([]), Mn = T(0), Nn = T(0), Pn = T(!1), Fn = T(null), In = T(null), z = T(null), Ln = T(null), Rn = T(null), zn = T(null);
444
+ T("#FFFFFF");
445
+ let B = T($n()), Bn = _(() => !!B.value.debug), Vn = _(() => B.value.useCursorPointer), V = T(null), Hn = T({
446
+ x: 0,
447
+ y: 0
448
+ }), H = T("pointer"), Un = T(!1), Wn = _(() => oe({
449
+ dafaultConfig: {
450
+ backgroundColor: "#99999930",
451
+ customPalette: ["#BABABA"],
452
+ showDataLabels: !1,
453
+ paletteStartIndex: 0,
454
+ showUserOptions: !1,
455
+ showTooltip: !1,
456
+ xAxisLabel: "",
457
+ yAxisLabel: "",
458
+ xyAxisStroke: "#999999",
459
+ xyGridStroke: "#99999950",
460
+ xyPeriods: [],
461
+ xyShowScale: !1,
462
+ xyPaddingLeft: 6,
463
+ xyPaddingBottom: 12,
464
+ zoomXy: !1,
465
+ zoomStartIndex: null,
466
+ zoomEndIndex: null
467
+ },
468
+ userConfig: B.value.skeletonConfig ?? {}
469
+ })), { loading: U, FINAL_DATASET: Gn, manualLoading: Kn } = ue({
470
+ ...Ie(N),
471
+ FINAL_CONFIG: B,
472
+ prepareConfig: $n,
473
+ callback: () => {
474
+ Promise.resolve().then(async () => {
475
+ await je(), K.value === j.LINE && B.value.lineAnimated && !U.value && Lr({
476
+ pathDuration: 1e3,
477
+ pointDuration: 1200,
478
+ labelDuration: 1200
479
+ });
480
+ });
481
+ },
482
+ skeletonDataset: N.config?.skeletonDataset ?? [
483
+ 1,
484
+ 2,
485
+ 3,
486
+ 5,
487
+ 8,
488
+ 13,
489
+ 21,
490
+ 34,
491
+ 55,
492
+ 89
493
+ ],
494
+ skeletonConfig: oe({
495
+ defaultConfig: B.value,
496
+ userConfig: Wn.value
497
+ })
498
+ }), { svgRef: qn } = Se({ config: { text: B.value.title } }), Jn = _(() => B.value.showUserOptionsOnChartHover), Yn = _(() => B.value.keepUserOptionsStateOnChartLeave), Xn = T(!B.value.showUserOptionsOnChartHover), Zn = T(!1);
499
+ function Qn(e = !1) {
500
+ Zn.value = e, Jn.value && (Xn.value = e);
501
+ }
502
+ function $n() {
503
+ let e = pe({
504
+ userConfig: N.config,
505
+ defaultConfig: qe
506
+ }), t = {}, n = e.theme;
507
+ if (n) if (!Je.value(e)) Ye(e), t = e;
508
+ else {
509
+ let r = pe({
510
+ userConfig: we[n] || N.config,
511
+ defaultConfig: e
512
+ });
513
+ t = {
514
+ ...pe({
515
+ userConfig: N.config,
516
+ defaultConfig: r
517
+ }),
518
+ customPalette: e.customPalette.length ? e.customPalette : i[n] || o
519
+ };
520
+ }
521
+ else t = e;
522
+ return t;
523
+ }
524
+ Le(() => N.config, (e) => {
525
+ U.value || (B.value = $n()), q.value.width = B.value.width, q.value.height = B.value.height, Xn.value = !B.value.showUserOptionsOnChartHover, dr(), cr.value.showTooltip = B.value.showTooltip;
526
+ }, { deep: !0 }), Le(() => N.dataset, (e) => {
527
+ G.value = tr.value, X.value.start = 0, X.value.end = G.value.maxSeriesLength, Nn.value += 1;
528
+ }, { deep: !0 }), Le(() => N.dataset, (e) => {
529
+ Array.isArray(e) && e.length > 0 && (Kn.value = !1);
530
+ }, { immediate: !0 });
531
+ let er = _(() => ie(B.value.customPalette)), W = ze, tr = _(() => {
532
+ let e = Be({
533
+ debug: Bn.value,
534
+ dataset: p(Gn.value, [
535
+ "serie",
536
+ "series",
537
+ "data",
538
+ "value",
539
+ "values",
540
+ "num"
541
+ ]),
542
+ barLineSwitch: B.value.chartIsBarUnderDatasetLength
543
+ });
544
+ return !e && Bn.value && console.error("VueUiQuickChart : Dataset is not processable"), e;
545
+ }), G = T(tr.value), nr = _(() => !!G.value), K = _(() => G.value ? G.value.type : null);
546
+ Le(() => K.value, (e) => {
547
+ e || s({
548
+ componentName: "VueUiQuickChart",
549
+ type: "dataset",
550
+ debug: Bn.value
551
+ });
552
+ }, { immediate: !0 });
553
+ let { isPrinting: rr, isImaging: ir, generatePdf: ar, generateImage: or } = le({
554
+ elementId: `${K.value}_${F.value}`,
555
+ fileName: B.value.title || K.value,
556
+ options: B.value.userOptionsPrint
557
+ }), sr = _(() => B.value.showUserOptions && !B.value.title), q = T({
558
+ width: B.value.width,
559
+ height: B.value.height
560
+ }), cr = T({ showTooltip: B.value.showTooltip });
561
+ Le(B, () => {
562
+ cr.value = { showTooltip: B.value.showTooltip };
563
+ }, { immediate: !0 });
564
+ let lr = Fe(null), ur = Fe(null);
565
+ Pe(async () => {
566
+ Pn.value = !0, dr();
567
+ });
568
+ function dr() {
569
+ if (a(N.dataset) || (Kn.value = B.value.loading), B.value.responsive) {
570
+ let e = ve(() => {
571
+ let { width: e, height: t } = ye({
572
+ chart: P.value,
573
+ title: B.value.title ? Tn.value : null,
574
+ legend: B.value.showLegend ? En.value : null,
575
+ slicer: [j.BAR, j.LINE].includes(K.value) && B.value.zoomXy && G.value.maxSeriesLength > 1 ? Dn.value : null,
576
+ source: An.value,
577
+ noTitle: jn.value
578
+ });
579
+ requestAnimationFrame(() => {
580
+ q.value.width = e, q.value.height = t;
581
+ });
582
+ });
583
+ lr.value && (ur.value && lr.value.unobserve(ur.value), lr.value.disconnect()), lr.value = new ResizeObserver(e), ur.value = P.value.parentNode, lr.value.observe(ur.value);
584
+ }
585
+ Tr();
586
+ }
587
+ Ne(() => {
588
+ lr.value && (ur.value && lr.value.unobserve(ur.value), lr.value.disconnect());
589
+ });
590
+ let fr = _(() => {
591
+ switch (K.value) {
592
+ case j.LINE: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
593
+ case j.BAR: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
594
+ case j.DONUT: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
595
+ default: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
596
+ }
597
+ });
598
+ function pr(e) {
599
+ return [...e].map((e) => e.value).reduce((e, t) => e + t, 0);
600
+ }
601
+ function mr(e) {
602
+ return B.value.blurOnHover && ![null, void 0].includes(L.value) && L.value !== e ? `url(#blur_${F.value})` : "";
603
+ }
604
+ function hr() {
605
+ R.value.length ? R.value = [] : K.value === j.DONUT ? Y.value.legend.forEach((e) => {
606
+ R.value.push(e.id);
607
+ }) : K.value === j.LINE ? Z.value.legend.forEach((e) => {
608
+ R.value.push(e.id);
609
+ }) : K.value === j.BAR && Q.value.legend.forEach((e) => {
610
+ R.value.push(e.id);
611
+ }), K.value === j.DONUT ? W("selectLegend", Y.value.dataset) : K.value === j.LINE ? W("selectLegend", Z.value.dataset) : K.value === j.BAR && W("selectLegend", Q.value.dataset);
612
+ }
613
+ function gr(e, t) {
614
+ R.value.includes(e) ? R.value = R.value.filter((t) => t !== e) : R.value.length < t && R.value.push(e);
615
+ }
616
+ let _r = T(null), vr = T(null), yr = T(!1);
617
+ function br(e, t) {
618
+ yr.value = !0;
619
+ let n = e.value, r = tr.value.dataset.find((t, n) => e.id === `donut_${n}`).VALUE;
620
+ if (R.value.includes(e.id)) {
621
+ R.value = R.value.filter((t) => t !== e.id);
622
+ function t() {
623
+ n > r ? (yr.value = !1, cancelAnimationFrame(vr.value), G.value = {
624
+ ...G.value,
625
+ dataset: G.value.dataset.map((t, n) => e.id === `donut_${n}` ? {
626
+ ...t,
627
+ value: r,
628
+ VALUE: r
629
+ } : t)
630
+ }, W("selectLegend", Y.value.dataset)) : (n += r * .025, G.value = {
631
+ ...G.value,
632
+ dataset: G.value.dataset.map((t, r) => e.id === `donut_${r}` ? {
633
+ ...t,
634
+ value: n,
635
+ VALUE: n
636
+ } : t)
637
+ }, vr.value = requestAnimationFrame(t));
638
+ }
639
+ t();
640
+ } else if (t.length > 1) {
641
+ function t() {
642
+ n < r / 100 ? (yr.value = !1, cancelAnimationFrame(_r.value), R.value.push(e.id), G.value = {
643
+ ...G.value,
644
+ dataset: G.value.dataset.map((t, n) => e.id === `donut_${n}` ? {
645
+ ...t,
646
+ value: 0,
647
+ VALUE: 0
648
+ } : t)
649
+ }, W("selectLegend", Y.value.dataset)) : (n /= 1.1, G.value = {
650
+ ...G.value,
651
+ dataset: G.value.dataset.map((t, r) => e.id === `donut_${r}` ? {
652
+ ...t,
653
+ value: n,
654
+ VALUE: n
655
+ } : t)
656
+ }, _r.value = requestAnimationFrame(t));
657
+ }
658
+ t();
659
+ } else W("selectLegend", Y.value.dataset);
660
+ }
661
+ let J = T(null);
662
+ function xr(e) {
663
+ J.value = e;
664
+ }
665
+ let Sr = _(() => B.value.donutThicknessRatio < .01 ? .01 : B.value.donutThicknessRatio > .4 ? .4 : B.value.donutThicknessRatio), Y = _(() => {
666
+ if (K.value !== j.DONUT) return null;
667
+ let e = G.value.dataset.map((e, t) => ({
668
+ ...e,
669
+ value: e.VALUE || e.DATA || e.SERIE || e.VALUES || e.NUM || 0,
670
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
671
+ id: `donut_${t}`
672
+ })).map((e, t) => ({
673
+ ...e,
674
+ color: e.COLOR ? ae(e.COLOR) : er.value[t + B.value.paletteStartIndex] || o[t + B.value.paletteStartIndex] || o[(t + B.value.paletteStartIndex) % o.length],
675
+ immutableValue: e.value
676
+ }));
677
+ function t(e, t) {
678
+ return n({
679
+ v: isNaN(e.value / pr(t)) ? 0 : e.value / pr(t) * 100,
680
+ s: "%",
681
+ r: B.value.dataLabelRoundingPercentage
682
+ });
683
+ }
684
+ function r(e) {
685
+ return e.proportion * 100 > B.value.donutHideLabelUnderPercentage;
686
+ }
687
+ function i(e, t) {
688
+ let n = tr.value.dataset.find((t, n) => `donut_${n}` === e).VALUE;
689
+ return Math.abs(String(Number(n.toFixed(0))).length - String(Number(t.toFixed(0))).length);
690
+ }
691
+ function a({ datapoint: t, seriesIndex: r, triggerMode: i = "pointer" }) {
692
+ On.value = {
693
+ datapoint: t,
694
+ seriesIndex: r,
695
+ config: B.value,
696
+ dataset: e
697
+ }, L.value = t.id, V.value = r, H.value = i;
698
+ let a = B.value.tooltipCustomFormat;
699
+ if (B.value.events.datapointEnter && B.value.events.datapointEnter({
700
+ datapoint: t,
701
+ seriesIndex: r
702
+ }), ne(a) && ee(() => a({
703
+ datapoint: t,
704
+ seriesIndex: r,
705
+ series: e,
706
+ config: B.value
707
+ }))) kn.value = a({
708
+ datapoint: t,
709
+ seriesIndex: r,
710
+ series: e,
711
+ config: B.value
712
+ });
713
+ else {
714
+ let e = "";
715
+ e += `<div style="width:100%;text-align:center;border-bottom:1px solid ${B.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`, e += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${t.color}"/></svg>`, e += `<b>${d(B.value.formatter, t.value, n({
716
+ p: B.value.valuePrefix,
717
+ v: t.value,
718
+ s: B.value.valueSuffix,
719
+ r: B.value.dataLabelRoundingValue
720
+ }), {
721
+ datapoint: t,
722
+ seriesIndex: r
723
+ })}</b>`, e += `<span>(${n({
724
+ v: t.proportion * 100,
725
+ s: "%",
726
+ r: B.value.dataLabelRoundingPercentage
727
+ })})</span></div>`, kn.value = `<div>${e}</div>`;
728
+ }
729
+ I.value = !0;
730
+ }
731
+ function s({ datapoint: e, seriesIndex: t }) {
732
+ B.value.events.datapointLeave && B.value.events.datapointLeave({
733
+ datapoint: e,
734
+ seriesIndex: t
735
+ }), I.value = !1, L.value = null, J.value = null, V.value = null, H.value = "pointer";
736
+ }
737
+ function l({ datapoint: e, seriesIndex: t }) {
738
+ B.value.events.datapointClick && B.value.events.datapointClick({
739
+ datapoint: e,
740
+ seriesIndex: t
741
+ }), W("selectDatapoint", e);
742
+ }
743
+ let u = {
744
+ centerX: q.value.width / 2,
745
+ centerY: q.value.height / 2
746
+ }, f = e.filter((e) => !R.value.includes(e.id)).map((e) => e.value || 0).reduce((e, t) => e + t, 0), p = e.map((e, t) => ({
747
+ ...e,
748
+ proportion: (e.value || 0) / f,
749
+ value: e.value || 0,
750
+ absoluteValue: tr.value.dataset.find((t, n) => `donut_${n}` === e.id).VALUE,
751
+ shape: "circle"
752
+ })), te = q.value.width / 2, re = q.value.height / 2, m = q.value.height * B.value.donutRadiusRatio;
753
+ return {
754
+ dataset: p.filter((e) => !R.value.includes(e.id)),
755
+ legend: p,
756
+ drawingArea: u,
757
+ displayArcPercentage: t,
758
+ isArcBigEnough: r,
759
+ useTooltip: a,
760
+ killTooltip: s,
761
+ selectDatapoint: l,
762
+ getSpaces: i,
763
+ total: f,
764
+ cx: te,
765
+ cy: re,
766
+ radius: m,
767
+ chart: c({ series: e.filter((e) => !R.value.includes(e.id)) }, te, re, m, m, 1.99999, 2, 1, 360, 105.25, q.value.height * Sr.value)
768
+ };
769
+ }), X = T({
770
+ start: 0,
771
+ end: G.value.maxSeriesLength
772
+ });
773
+ function Cr() {
774
+ Tr();
775
+ }
776
+ let wr = T(null);
777
+ async function Tr() {
778
+ await je(), await je();
779
+ let { zoomStartIndex: e, zoomEndIndex: t } = B.value, n = wr.value;
780
+ (e != null || t != null) && n ? (e != null && n.setStartValue(e), t != null && n.setEndValue(Er(t + 1))) : (X.value = {
781
+ start: 0,
782
+ end: G.value.maxSeriesLength
783
+ }, Nn.value += 1);
784
+ }
785
+ function Er(e) {
786
+ let t = G.value.maxSeriesLength;
787
+ return e > t ? t : e < 0 || B.value.zoomStartIndex !== null && e < B.value.zoomStartIndex ? B.value.zoomStartIndex === null ? 1 : B.value.zoomStartIndex + 1 : e;
788
+ }
789
+ let Dr = _(() => {
790
+ if (!B.value.zoomMinimap.show || K.value === j.DONUT) return [];
791
+ let e = [];
792
+ M(G.value.dataset) && (e = G.value.dataset), Ue(G.value.dataset) && (e = G.value.dataset.map((e, t) => ({
793
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
794
+ id: K.value === j.LINE ? `line_${t}` : `bar_${t}`
795
+ })).filter((e) => !R.value.includes(e.id)));
796
+ let t = M(e) ? e.length : Math.max(...e.map((e) => e.values.length)), n = [];
797
+ if (M(e)) n = e;
798
+ else for (let r = 0; r < t; r += 1) n.push(e.map((e) => e.values[r] || 0).reduce((e, t) => (e || 0) + (t || 0), 0));
799
+ let r = Math.min(...n);
800
+ return n.map((e) => e + (r < 0 ? Math.abs(r) : 0));
801
+ });
802
+ function Or() {
803
+ let e = 0;
804
+ return Ln.value && (e = Array.from(Ln.value.querySelectorAll("text")).reduce((e, t) => {
805
+ let n = t.getComputedTextLength();
806
+ return n > e ? n : e;
807
+ }, 0)), e + 4;
808
+ }
809
+ let kr = T(0), Ar = ve((e) => {
810
+ kr.value = e;
811
+ }, 100);
812
+ Re((e) => {
813
+ let t = z.value;
814
+ if (!t) return;
815
+ let n = new ResizeObserver((e) => {
816
+ Ar(e[0].contentRect.height);
817
+ });
818
+ n.observe(t), e(() => n.disconnect());
819
+ }), Ne(() => {
820
+ kr.value = 0;
821
+ });
822
+ let jr = _(() => {
823
+ let e = 0;
824
+ return z.value && (e = kr.value), 0 + e;
825
+ }), Z = _(() => {
826
+ if (K.value !== j.LINE) return null;
827
+ let e = {
828
+ height: q.value.height,
829
+ width: q.value.width
830
+ }, t = Or();
831
+ if (z.value) {
832
+ let e = z.value.getBBox().x;
833
+ e < 0 && (t += Math.abs(e));
834
+ }
835
+ let r = {
836
+ left: t + B.value.xyPaddingLeft,
837
+ top: B.value.xyPaddingTop,
838
+ right: e.width - B.value.xyPaddingRight,
839
+ bottom: e.height - B.value.xyPaddingBottom - jr.value,
840
+ width: Math.max(10, e.width - B.value.xyPaddingLeft - B.value.xyPaddingRight - t),
841
+ height: Math.max(10, e.height - B.value.xyPaddingTop - B.value.xyPaddingBottom - jr.value)
842
+ }, i = [];
843
+ M(G.value.dataset) && (i = [{
844
+ values: G.value.dataset.slice(X.value.start, X.value.end),
845
+ absoluteValues: G.value.dataset,
846
+ absoluteIndices: G.value.dataset.map((e, t) => t).slice(X.value.start, X.value.end),
847
+ name: B.value.title,
848
+ color: er.value[B.value.paletteStartIndex] || o[B.value.paletteStartIndex],
849
+ id: "line_0"
850
+ }]), Ue(G.value.dataset) && (i = G.value.dataset.map((e, t) => ({
851
+ ...e,
852
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
853
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
854
+ id: `line_${t}`
855
+ })).map((e, t) => ({
856
+ ...e,
857
+ color: e.COLOR ? ae(e.COLOR) : er.value[t + B.value.paletteStartIndex] || o[t + B.value.paletteStartIndex] || o[(t + B.value.paletteStartIndex) % o.length],
858
+ values: e.values.slice(X.value.start, X.value.end),
859
+ absoluteValues: e.values,
860
+ absoluteIndices: e.values.map((e, t) => t).slice(X.value.start, X.value.end)
861
+ })));
862
+ let a = {
863
+ max: Math.max(...i.filter((e) => !R.value.includes(e.id)).flatMap((e) => e.values)),
864
+ min: Math.min(...i.filter((e) => !R.value.includes(e.id)).flatMap((e) => e.values)),
865
+ maxSeries: Math.max(...i.map((e) => e.values.length))
866
+ }, s = a.max === a.min ? u(a.min, a.min + 1, B.value.xyScaleSegments) : u(a.min < 0 ? a.min : 0, a.max < 0 ? 0 : a.max, B.value.xyScaleSegments), c = a.min < 0 ? Math.abs(a.min) : 0, l = a.max < 0 ? r.top : r.bottom - c / (s.max + c) * r.height, f = r.width / a.maxSeries, p = s.ticks.map((e) => ({
867
+ y: r.bottom - r.height * ((e + c) / (s.max + c)),
868
+ x: r.left - 8,
869
+ value: e
870
+ })), te = i.map((e, t) => ({
871
+ ...e,
872
+ shape: "circle",
873
+ coordinates: e.values.map((e, t) => ({
874
+ x: r.left + f * (t + 1) - f / 2,
875
+ y: r.bottom - (e + c) / (s.max + c) * r.height,
876
+ value: e
877
+ }))
878
+ })).map((e) => {
879
+ let t = [];
880
+ return e.coordinates.forEach((e) => {
881
+ t.push(`${e.x},${e.y} `);
882
+ }), {
883
+ ...e,
884
+ linePath: t.join(" ")
885
+ };
886
+ });
887
+ function re(e) {
888
+ return i.map((t) => ({
889
+ ...t,
890
+ value: t.values[e],
891
+ absoluteIndex: t.absoluteIndices[e]
892
+ })).filter((e) => !R.value.includes(e.id));
893
+ }
894
+ function m(e, t = "pointer") {
895
+ L.value = e, J.value = e, V.value = e, H.value = t;
896
+ let r = re(e);
897
+ On.value = {
898
+ datapoint: r,
899
+ seriesIndex: e,
900
+ config: B.value,
901
+ dataset: i
902
+ };
903
+ let a = B.value.tooltipCustomFormat;
904
+ if (B.value.events.datapointEnter && B.value.events.datapointEnter({
905
+ datapoint: r,
906
+ seriesIndex: e + X.value.start
907
+ }), ne(a) && ee(() => a({
908
+ datapoint: r,
909
+ seriesIndex: e,
910
+ series: i,
911
+ config: B.value
912
+ }))) kn.value = a({
913
+ datapoint: r,
914
+ seriesIndex: e,
915
+ series: i,
916
+ config: B.value
917
+ });
918
+ else {
919
+ let e = "";
920
+ $.value[r[0].absoluteIndex] && (e += `<div style="border-bottom:1px solid ${B.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${$.value[r[0].absoluteIndex].text}</div>`), r.forEach((t, r) => {
921
+ e += `
922
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
923
+ <svg viewBox="0 0 12 12" height="14" width="12"><circle cx="6" cy="6" r="6" stroke="none" fill="${t.color}"/></svg>
924
+ <span>${t.name}:</span>
925
+ <b>${d(B.value.formatter, t.value, n({
926
+ p: B.value.valuePrefix,
927
+ v: t.value,
928
+ s: B.value.valueSuffix,
929
+ r: B.value.dataLabelRoundingValue
930
+ }), {
931
+ datapoint: t,
932
+ seriesIndex: r
933
+ })}
934
+ </b>
935
+ </div>
936
+ `;
937
+ }), kn.value = e;
938
+ }
939
+ I.value = !0;
940
+ }
941
+ function h(e) {
942
+ let t = re(e);
943
+ B.value.events.datapointLeave && B.value.events.datapointLeave({
944
+ datapoint: t,
945
+ seriesIndex: e + X.value.start
946
+ }), L.value = null, J.value = null, I.value = !1, V.value = null, H.value = "pointer";
947
+ }
948
+ function ie(e) {
949
+ let t = re(e);
950
+ B.value.events.datapointClick && B.value.events.datapointClick({
951
+ datapoint: t,
952
+ seriesIndex: e + X.value.start
953
+ }), W("selectDatapoint", t);
954
+ }
955
+ return {
956
+ absoluteZero: l,
957
+ dataset: te.filter((e) => !R.value.includes(e.id)),
958
+ legend: te,
959
+ drawingArea: r,
960
+ extremes: a,
961
+ slotSize: f,
962
+ yLabels: p,
963
+ useTooltip: m,
964
+ killTooltip: h,
965
+ selectDatapoint: ie
966
+ };
967
+ }), Q = _(() => {
968
+ if (K.value !== j.BAR) return null;
969
+ let e = {
970
+ height: q.value.height,
971
+ width: q.value.width
972
+ }, t = Or();
973
+ if (z.value) {
974
+ let e = z.value.getBBox().x;
975
+ e < 0 && (t += Math.abs(e));
976
+ }
977
+ let r = {
978
+ left: t + B.value.xyPaddingLeft,
979
+ top: B.value.xyPaddingTop,
980
+ right: e.width - B.value.xyPaddingRight,
981
+ bottom: e.height - B.value.xyPaddingBottom - jr.value,
982
+ width: Math.max(10, e.width - B.value.xyPaddingLeft - B.value.xyPaddingRight - t),
983
+ height: Math.max(10, e.height - B.value.xyPaddingTop - B.value.xyPaddingBottom - jr.value)
984
+ }, i = [];
985
+ M(G.value.dataset) && (i = [{
986
+ values: G.value.dataset.slice(X.value.start, X.value.end),
987
+ absoluteValues: G.value.dataset,
988
+ absoluteIndices: G.value.dataset.map((e, t) => t).slice(X.value.start, X.value.end),
989
+ name: B.value.title,
990
+ color: er.value[B.value.paletteStartIndex] || o[B.value.paletteStartIndex],
991
+ id: "bar_0"
992
+ }]), Ue(G.value.dataset) && (i = G.value.dataset.map((e, t) => ({
993
+ ...e,
994
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
995
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
996
+ id: `bar_${t}`
997
+ })).map((e, t) => ({
998
+ ...e,
999
+ color: e.COLOR ? ae(e.COLOR) : er.value[t + B.value.paletteStartIndex] || o[t + B.value.paletteStartIndex] || o[(t + B.value.paletteStartIndex) % o.length],
1000
+ values: e.values.slice(X.value.start, X.value.end),
1001
+ absoluteValues: e.values,
1002
+ absoluteIndices: e.values.map((e, t) => t).slice(X.value.start, X.value.end)
1003
+ })));
1004
+ let a = {
1005
+ max: Math.max(...i.filter((e) => !R.value.includes(e.id)).flatMap((e) => e.values)) < 0 ? 0 : Math.max(...i.filter((e) => !R.value.includes(e.id)).flatMap((e) => e.values)) ?? 1,
1006
+ min: Math.min(...i.filter((e) => !R.value.includes(e.id)).flatMap((e) => e.values)) ?? 0,
1007
+ maxSeries: Math.max(...i.filter((e) => !R.value.includes(e.id)).map((e) => e.values.length)) ?? 0
1008
+ }, s = a.min === a.max ? u(a.min, a.min + 1, B.value.xyScaleSegments) : u(a.min < 0 ? a.min : 0, a.max, B.value.xyScaleSegments), c = s.min < 0 ? Math.abs(s.min) : 0, l = r.bottom - c / (s.max + c) * r.height, f = r.width / a.maxSeries, p = s.ticks.map((e) => ({
1009
+ y: r.bottom - r.height * ((e + c) / (s.max + c)),
1010
+ x: r.left - 8,
1011
+ value: e
1012
+ })), te = i.map((e, t) => ({
1013
+ ...e,
1014
+ shape: "square",
1015
+ coordinates: e.values.map((e, n) => {
1016
+ let o = (e + c) / (a.max + c) * r.height, s = Math.abs(e) / Math.abs(a.min) * (r.height - l), u = c / (a.max + c) * r.height, d = f / i.filter((e) => !R.value.includes(e.id)).length - B.value.barGap / i.filter((e) => !R.value.includes(e.id)).length;
1017
+ return {
1018
+ x: r.left + f * n + d * t + B.value.barGap / 2,
1019
+ y: e > 0 ? r.bottom - o : l,
1020
+ height: e > 0 ? o - u : s,
1021
+ value: e,
1022
+ width: d
1023
+ };
1024
+ })
1025
+ })), re = i.filter((e) => !R.value.includes(e.id)).map((e, t) => ({
1026
+ ...e,
1027
+ coordinates: e.values.map((e, n) => {
1028
+ let o = (e + c) / (a.max + c) * r.height, s = Math.abs(e) / (a.max + c) * r.height, u = c / (a.max + c) * r.height, d = f / i.filter((e) => !R.value.includes(e.id)).length - B.value.barGap / i.filter((e) => !R.value.includes(e.id)).length;
1029
+ return {
1030
+ x: r.left + f * n + d * t + B.value.barGap / 2,
1031
+ y: e > 0 ? r.bottom - o : l,
1032
+ height: e > 0 ? o - u : s,
1033
+ value: e,
1034
+ width: d
1035
+ };
1036
+ })
1037
+ }));
1038
+ function m(e) {
1039
+ return i.map((t) => ({
1040
+ ...t,
1041
+ value: t.values[e],
1042
+ absoluteIndex: t.absoluteIndices[e]
1043
+ })).filter((e) => !R.value.includes(e.id));
1044
+ }
1045
+ function h(e, t = "pointer") {
1046
+ L.value = e, J.value = e, V.value = e, H.value = t;
1047
+ let r = m(e);
1048
+ On.value = {
1049
+ datapoint: r,
1050
+ seriesIndex: e,
1051
+ config: B.value,
1052
+ dataset: i
1053
+ };
1054
+ let a = B.value.tooltipCustomFormat;
1055
+ if (B.value.events.datapointEnter && B.value.events.datapointEnter({
1056
+ datapoint: r,
1057
+ seriesIndex: e + X.value.start
1058
+ }), ne(a) && ee(() => a({
1059
+ datapoint: r,
1060
+ seriesIndex: e,
1061
+ series: i,
1062
+ config: B.value
1063
+ }))) kn.value = a({
1064
+ point: r,
1065
+ seriesIndex: e,
1066
+ series: i,
1067
+ config: B.value
1068
+ });
1069
+ else {
1070
+ let e = "";
1071
+ $.value[r[0].absoluteIndex] && (e += `<div style="border-bottom:1px solid ${B.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${$.value[r[0].absoluteIndex].text}</div>`), r.forEach((t, r) => {
1072
+ e += `
1073
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
1074
+ <svg viewBox="0 0 12 12" height="14" width="12"><rect x=0 y="0" width="12" height="12" rx="1" stroke="none" fill="${t.color}"/></svg>
1075
+ <span>${t.name}:</span>
1076
+ <b>${d(B.value.formatter, t.value, n({
1077
+ p: B.value.valuePrefix,
1078
+ v: t.value,
1079
+ s: B.value.valueSuffix,
1080
+ r: B.value.dataLabelRoundingValue
1081
+ }), {
1082
+ datapoint: t,
1083
+ seriesIndex: r
1084
+ })}
1085
+ </b>
1086
+ </div>
1087
+ `;
1088
+ }), kn.value = e;
1089
+ }
1090
+ I.value = !0;
1091
+ }
1092
+ function ie(e) {
1093
+ let t = m(e);
1094
+ B.value.events.datapointLeave && B.value.events.datapointLeave({
1095
+ datapoint: t,
1096
+ seriesIndex: e + X.value.start
1097
+ }), I.value = !1, L.value = null, J.value = null, V.value = null, H.value = "pointer";
1098
+ }
1099
+ function oe(e) {
1100
+ let t = m(e);
1101
+ B.value.events.datapointClick && B.value.events.datapointClick({
1102
+ datapoint: t,
1103
+ seriesIndex: e + X.value.start
1104
+ }), W("selectDatapoint", t);
1105
+ }
1106
+ return {
1107
+ absoluteZero: l,
1108
+ dataset: re.filter((e) => !R.value.includes(e.id)),
1109
+ absoluteDataset: re,
1110
+ legend: te,
1111
+ drawingArea: r,
1112
+ extremes: a,
1113
+ slotSize: f,
1114
+ yLabels: p,
1115
+ useTooltip: h,
1116
+ killTooltip: ie,
1117
+ selectDatapoint: oe
1118
+ };
1119
+ });
1120
+ function Mr(e) {
1121
+ if (!e) return;
1122
+ let t = e.getTotalLength();
1123
+ e.style.transition = "none", e.style.strokeDasharray = `${t}`, e.style.strokeDashoffset = `${t}`;
1124
+ }
1125
+ function Nr(e, { fromOpacity: t = "0", fromScale: n = "0.85" } = {}) {
1126
+ e.forEach((e) => {
1127
+ e.style.animation = "none", e.style.transition = "none", e.style.opacity = t, e.style.transform = `scale(${n})`, e.style.transformBox = "fill-box", e.style.transformOrigin = "50% 50%";
1128
+ });
1129
+ }
1130
+ function Pr(e) {
1131
+ return e.cx?.baseVal?.value ?? parseFloat(e.getAttribute("cx"));
1132
+ }
1133
+ function Fr(e) {
1134
+ let t = e.getAttribute("x");
1135
+ if (t != null) return parseFloat(t);
1136
+ let n = e.getCTM?.();
1137
+ return n ? n.e : 0;
1138
+ }
1139
+ function Ir(e, t) {
1140
+ if (!e.length) return [];
1141
+ let n = e.map((e) => ({
1142
+ el: e,
1143
+ x: t(e)
1144
+ })).filter((e) => Number.isFinite(e.x));
1145
+ n.sort((e, t) => e.x - t.x);
1146
+ let r = Infinity;
1147
+ for (let e = 1; e < n.length; e++) {
1148
+ let t = n[e].x - n[e - 1].x;
1149
+ t > 0 && t < r && (r = t);
1150
+ }
1151
+ let i = (r === Infinity ? 1 : r) / 2, a = [], o = {
1152
+ x: n[0].x,
1153
+ items: [n[0].el]
1154
+ };
1155
+ for (let e = 1; e < n.length; e++) {
1156
+ let { x: t, el: r } = n[e];
1157
+ Math.abs(t - o.x) <= i ? o.items.push(r) : (a.push(o), o = {
1158
+ x: t,
1159
+ items: [r]
1160
+ });
1161
+ }
1162
+ return a.push(o), a;
1163
+ }
1164
+ function Lr({ pathDuration: e, pathEasing: t = "ease-in-out", pointDuration: n, labelDuration: r, pointDelay: i = 0, labelDelay: a = 0, pointStep: o = 0, labelStep: s = 0, intraSeriesStep: c = 0 } = {}) {
1165
+ let l = Array.isArray(Fn?.value) ? Fn.value : [Fn?.value].filter(Boolean), u = Array.isArray(In?.value) ? In.value : [In?.value].filter(Boolean), d = [...l, ...u].filter(Boolean), f = P?.value || null, p = f ? Array.from(f.querySelectorAll(".vue-ui-quick-chart-plot")) : [], ee = f ? Array.from(f.querySelectorAll(".vue-ui-quick-chart-label")) : [];
1166
+ d.forEach(Mr), Nr(p, {
1167
+ fromOpacity: "0",
1168
+ fromScale: "0.75"
1169
+ }), Nr(ee, {
1170
+ fromOpacity: "0",
1171
+ fromScale: "0.98"
1172
+ }), p.forEach((e) => e.classList.remove("quick-animation")), ee.forEach((e) => e.classList.remove("quick-animation")), f && f.offsetWidth;
1173
+ let te = p.length ? Ir(p, Pr) : [], ne = ee.length ? Ir(ee, Fr) : [];
1174
+ requestAnimationFrame(() => {
1175
+ requestAnimationFrame(() => {
1176
+ d.forEach((n) => {
1177
+ n.style.transition = `stroke-dashoffset ${e}ms ${t}`, n.style.strokeDashoffset = "0";
1178
+ }), te.forEach((e, t) => {
1179
+ e.items.forEach((e, r) => {
1180
+ let a = i + t * o + r * c;
1181
+ e.style.transition = `opacity ${n}ms ease-out ${a}ms, transform ${n}ms ease-out ${a}ms`, e.style.opacity = "1", e.style.transform = "scale(1)";
1182
+ });
1183
+ }), ne.forEach((e, t) => {
1184
+ e.items.forEach((e, n) => {
1185
+ let i = a + t * s + n * c;
1186
+ e.style.transition = `opacity ${r}ms ease-out ${i}ms, transform ${r}ms ease-out ${i}ms`, e.style.opacity = "1", e.style.transform = "scale(1)";
1187
+ });
1188
+ });
1189
+ });
1190
+ });
1191
+ }
1192
+ let Rr = _(() => {
1193
+ if (K.value === j.LINE) return Z.value.legend.map((e) => (Math.min(...e.absoluteValues.map((e) => e ?? 0)), {
1194
+ ...e,
1195
+ isVisible: !R.value.includes(e.id),
1196
+ type: "line",
1197
+ series: e.absoluteValues
1198
+ }));
1199
+ if (K.value === j.BAR) return Q.value.legend.map((e) => (Math.min(...e.absoluteValues.map((e) => e ?? 0)), {
1200
+ ...e,
1201
+ isVisible: !R.value.includes(e.id),
1202
+ type: "bar",
1203
+ series: e.absoluteValues
1204
+ }));
1205
+ }), $ = T([]), zr = 0;
1206
+ Re(() => {
1207
+ let e = ++zr;
1208
+ (async () => {
1209
+ let t = await se({
1210
+ values: B.value.xyPeriods,
1211
+ maxDatapoints: G.value.maxSeriesLength,
1212
+ formatter: B.value.datetimeFormatter,
1213
+ start: X.value.start,
1214
+ end: X.value.end
1215
+ });
1216
+ e === zr && ($.value = t);
1217
+ })();
1218
+ });
1219
+ let Br = _(() => {
1220
+ let e = B.value.xyPeriodsModulo;
1221
+ return B.value.xyPeriods.length ? Math.min(e, [...new Set($.value.map((e) => e.text))].length) : e;
1222
+ }), Vr = T(!1);
1223
+ function Hr(e) {
1224
+ Vr.value = e, Mn.value += 1;
1225
+ }
1226
+ function Ur() {
1227
+ cr.value.showTooltip = !cr.value.showTooltip;
1228
+ }
1229
+ let Wr = T(!1);
1230
+ function Gr() {
1231
+ Wr.value = !Wr.value;
1232
+ }
1233
+ async function Kr({ scale: e = 2 } = {}) {
1234
+ if (!P.value) return;
1235
+ let { width: t, height: n } = P.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ge({
1236
+ domElement: P.value,
1237
+ base64: !0,
1238
+ img: !0,
1239
+ scale: e
1240
+ });
1241
+ return {
1242
+ imageUri: i,
1243
+ base64: a,
1244
+ title: B.value.title,
1245
+ width: t,
1246
+ height: n,
1247
+ aspectRatio: r
1248
+ };
1249
+ }
1250
+ let qr = _(() => q.value.width), Jr = _(() => q.value.height);
1251
+ he({
1252
+ timeLabelsEls: z,
1253
+ timeLabels: $,
1254
+ slicer: X,
1255
+ configRef: B,
1256
+ rotationPath: ["xyPeriodLabelsRotation"],
1257
+ autoRotatePath: ["xyPeriodLabelsAutoRotate", "enable"],
1258
+ isAutoSize: !1,
1259
+ rotation: B.value.xyPeriodLabelsAutoRotate.angle,
1260
+ height: Jr.value,
1261
+ width: qr.value
1262
+ });
1263
+ let Yr = _(() => B.value.backgroundColor), Xr = _(() => K.value === j.DONUT ? Y.value.legend : K.value === j.LINE ? Z.value.legend : Q.value.legend), Zr = _(() => ({
1264
+ show: B.value.showLegend,
1265
+ bold: !1,
1266
+ backgroundColor: B.value.backgroundColor,
1267
+ color: B.value.color,
1268
+ fontSize: B.value.legendFontSize,
1269
+ position: B.value.legendPosition
1270
+ })), { exportSvg: Qr, getSvg: $r } = fe({
1271
+ svg: qn,
1272
+ title: _(() => ({
1273
+ text: B.value.title,
1274
+ color: B.value.color,
1275
+ fontSize: B.value.titleFontSize,
1276
+ bold: B.value.titleBold,
1277
+ textAlign: B.value.titleTextAlign,
1278
+ subtitle: { text: "" }
1279
+ })),
1280
+ legend: Zr,
1281
+ legendItems: Xr,
1282
+ backgroundColor: Yr
1283
+ });
1284
+ async function ei({ isCb: e }) {
1285
+ if (e) {
1286
+ let { blob: e, url: t, text: n, dataUrl: r } = await $r();
1287
+ B.value.userOptionsCallbacks.svg({
1288
+ blob: e,
1289
+ url: t,
1290
+ text: n,
1291
+ dataUrl: r
1292
+ });
1293
+ } else Qr();
1294
+ }
1295
+ async function ti() {
1296
+ if (W("copyAlt", {
1297
+ config: B.value,
1298
+ dataset: {
1299
+ line: Z.value,
1300
+ bar: Q.value,
1301
+ donut: Y.value
1302
+ }
1303
+ }), !B.value.userOptionsCallbacks.altCopy) {
1304
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1305
+ return;
1306
+ }
1307
+ await Promise.resolve(B.value.userOptionsCallbacks.altCopy({
1308
+ config: B.value,
1309
+ dataset: {
1310
+ line: Z.value,
1311
+ bar: Q.value,
1312
+ donut: Y.value
1313
+ }
1314
+ }));
1315
+ }
1316
+ function ni(e, t) {
1317
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t());
1318
+ }
1319
+ let ri = _(() => K.value === j.DONUT ? Y.value?.chart?.length ?? 0 : K.value === j.LINE ? Z.value?.extremes?.maxSeries ?? 0 : K.value === j.BAR ? Q.value?.extremes?.maxSeries ?? 0 : 0);
1320
+ function ii() {
1321
+ V.value = null, Un.value = !0;
1322
+ }
1323
+ function ai() {
1324
+ V.value = null, H.value = "pointer", I.value = !1, L.value = null, J.value = null, Un.value = !1;
1325
+ }
1326
+ function oi(e) {
1327
+ if (!qn.value || Wr.value || document.activeElement !== qn.value || !ri.value) return;
1328
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1329
+ if (!t && !n && !r && !i) return;
1330
+ if (e.preventDefault(), e.stopPropagation(), i) {
1331
+ V.value = null, H.value = "pointer", I.value = !1, L.value = null, J.value = null;
1332
+ return;
1333
+ }
1334
+ if (r) {
1335
+ if (V.value === null) return;
1336
+ if (K.value === j.DONUT) {
1337
+ let e = Y.value?.chart?.[V.value];
1338
+ if (!e) return;
1339
+ Y.value.selectDatapoint({
1340
+ datapoint: e,
1341
+ seriesIndex: V.value
1342
+ });
1343
+ return;
1344
+ }
1345
+ if (K.value === j.LINE) {
1346
+ Z.value?.selectDatapoint(V.value);
1347
+ return;
1348
+ }
1349
+ if (K.value === j.BAR) {
1350
+ Q.value?.selectDatapoint(V.value);
1351
+ return;
1352
+ }
1353
+ return;
1354
+ }
1355
+ let a = V.value, o = J.value, s = a !== null && a >= 0 && a < ri.value, c = o !== null && o >= 0 && o < ri.value;
1356
+ if (s ? n ? (a += 1, a >= ri.value && (a = 0)) : t && (--a, a < 0 && (a = ri.value - 1)) : c ? (a = n ? o + 1 : o - 1, a >= ri.value && (a = 0), a < 0 && (a = ri.value - 1)) : a = n ? 0 : ri.value - 1, K.value === j.DONUT) {
1357
+ let e = Y.value?.chart?.[a];
1358
+ if (!e) return;
1359
+ si(a), Y.value.useTooltip({
1360
+ datapoint: e,
1361
+ seriesIndex: a,
1362
+ triggerMode: "keyboard"
1363
+ });
1364
+ return;
1365
+ }
1366
+ if (K.value === j.LINE) {
1367
+ si(a), Z.value?.useTooltip(a, "keyboard");
1368
+ return;
1369
+ }
1370
+ K.value === j.BAR && (si(a), Q.value?.useTooltip(a, "keyboard"));
1371
+ }
1372
+ function si(e) {
1373
+ if (!Number.isFinite(e) || !qn.value) return;
1374
+ let t = 0, n = 0;
1375
+ if (K.value === j.DONUT) {
1376
+ let r = Y.value?.chart?.[e];
1377
+ if (!r) return;
1378
+ t = m(r, !0).x, n = l(r);
1379
+ }
1380
+ if (K.value === j.LINE) {
1381
+ let r = Z.value?.drawingArea, i = Z.value?.slotSize;
1382
+ if (!r || !i) return;
1383
+ t = r.left + i * (e + 1) - i / 2, n = r.top + r.height / 2;
1384
+ }
1385
+ if (K.value === j.BAR) {
1386
+ let r = Q.value?.drawingArea, i = Q.value?.slotSize;
1387
+ if (!r || !i) return;
1388
+ t = r.left + i * (e + 1) - i / 2, n = r.top + r.height / 2;
1389
+ }
1390
+ let r = qn.value.getBoundingClientRect();
1391
+ Hn.value = {
1392
+ x: r.left + t / q.value.width * r.width,
1393
+ y: r.top + n / q.value.height * r.height
1394
+ };
1395
+ }
1396
+ let ci = _(() => {
1397
+ if (K.value === j.DONUT) return {
1398
+ headers: [
1399
+ "Series",
1400
+ "Value",
1401
+ "Percentage"
1402
+ ],
1403
+ rows: (Y.value?.dataset ?? []).map((e) => {
1404
+ let t = Y.value?.total ? n({
1405
+ v: e.value / Y.value.total * 100,
1406
+ s: "%",
1407
+ r: B.value.dataLabelRoundingPercentage
1408
+ }) : "0%";
1409
+ return [
1410
+ e.name,
1411
+ d(B.value.formatter, e.value, n({
1412
+ p: B.value.valuePrefix,
1413
+ v: e.value,
1414
+ s: B.value.valueSuffix,
1415
+ r: B.value.dataLabelRoundingValue
1416
+ })),
1417
+ t
1418
+ ];
1419
+ })
1420
+ };
1421
+ if (K.value === j.LINE || K.value === j.BAR) {
1422
+ let e = K.value === j.LINE ? Z.value?.dataset ?? [] : Q.value?.dataset ?? [], t = K.value === j.LINE ? Z.value?.extremes?.maxSeries ?? 0 : Q.value?.extremes?.maxSeries ?? 0;
1423
+ return {
1424
+ headers: ["Index", ...e.map((e) => e.name)],
1425
+ rows: Array.from({ length: t }, (t, r) => [$.value?.[r + X.value.start]?.text ?? String(r + X.value.start), ...e.map((e) => {
1426
+ let t = e.values?.[r];
1427
+ return d(B.value.formatter, t, n({
1428
+ p: B.value.valuePrefix,
1429
+ v: t,
1430
+ s: B.value.valueSuffix,
1431
+ r: B.value.dataLabelRoundingValue
1432
+ }));
1433
+ })])
1434
+ };
1435
+ }
1436
+ return {
1437
+ headers: [],
1438
+ rows: []
1439
+ };
1440
+ });
1441
+ return _e({
1442
+ getImage: Kr,
1443
+ generatePdf: ar,
1444
+ generateImage: or,
1445
+ generateSvg: ei,
1446
+ toggleTooltip: Ur,
1447
+ toggleAnnotator: Gr,
1448
+ toggleFullscreen: Hr,
1449
+ copyAlt: ti
1450
+ }), (e, r) => nr.value ? (w(), y("div", {
1451
+ key: 0,
1452
+ id: `${K.value}_${F.value}`,
1453
+ ref_key: "quickChart",
1454
+ ref: P,
1455
+ class: Me({
1456
+ "vue-data-ui-component": !0,
1457
+ "vue-ui-quick-chart": !0,
1458
+ "vue-data-ui-wrapper-fullscreen": Vr.value
1459
+ }),
1460
+ style: C(`background:${B.value.backgroundColor};color:${B.value.color};font-family:${B.value.fontFamily}; position: relative; ${B.value.responsive ? "height: 100%" : ""}`),
1461
+ onMouseenter: r[2] ||= () => Qn(!0),
1462
+ onMouseleave: r[3] ||= () => Qn(!1)
1463
+ }, [
1464
+ b("div", {
1465
+ id: `chart-instructions-${F.value}`,
1466
+ class: "sr-only"
1467
+ }, [b("p", null, O(B.value.a11y.translations.keyboardNavigation), 1)], 8, Ze),
1468
+ ci.value.rows.length ? (w(), Ee(xe, {
1469
+ key: 0,
1470
+ uid: F.value,
1471
+ head: ci.value.headers,
1472
+ body: ci.value.rows,
1473
+ notice: B.value.a11y.translations.tableAvailable,
1474
+ caption: B.value.a11y.translations.tableCaption
1475
+ }, null, 8, [
1476
+ "uid",
1477
+ "head",
1478
+ "body",
1479
+ "notice",
1480
+ "caption"
1481
+ ])) : v("", !0),
1482
+ B.value.userOptionsButtons.annotator ? (w(), Ee(k(We), {
1483
+ key: 1,
1484
+ svgRef: k(qn),
1485
+ backgroundColor: B.value.backgroundColor,
1486
+ color: B.value.color,
1487
+ active: Wr.value,
1488
+ isCursorPointer: Vn.value,
1489
+ onClose: Gr
1490
+ }, {
1491
+ "annotator-action-close": A(() => [D(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1492
+ "annotator-action-color": A(({ color: t }) => [D(e.$slots, "annotator-action-color", S(x({ color: t })), void 0, !0)]),
1493
+ "annotator-action-draw": A(({ mode: t }) => [D(e.$slots, "annotator-action-draw", S(x({ mode: t })), void 0, !0)]),
1494
+ "annotator-action-undo": A(({ disabled: t }) => [D(e.$slots, "annotator-action-undo", S(x({ disabled: t })), void 0, !0)]),
1495
+ "annotator-action-redo": A(({ disabled: t }) => [D(e.$slots, "annotator-action-redo", S(x({ disabled: t })), void 0, !0)]),
1496
+ "annotator-action-delete": A(({ disabled: t }) => [D(e.$slots, "annotator-action-delete", S(x({ disabled: t })), void 0, !0)]),
1497
+ _: 3
1498
+ }, 8, [
1499
+ "svgRef",
1500
+ "backgroundColor",
1501
+ "color",
1502
+ "active",
1503
+ "isCursorPointer"
1504
+ ])) : v("", !0),
1505
+ sr.value ? (w(), y("div", {
1506
+ key: 2,
1507
+ ref_key: "noTitle",
1508
+ ref: jn,
1509
+ class: "vue-data-ui-no-title-space",
1510
+ style: "height:36px; width: 100%;background:transparent"
1511
+ }, null, 512)) : v("", !0),
1512
+ B.value.showUserOptions && (Yn.value || Xn.value) ? (w(), Ee(k(Ke), {
1513
+ ref: "details",
1514
+ key: `user_option_${Mn.value}`,
1515
+ backgroundColor: B.value.backgroundColor,
1516
+ color: B.value.color,
1517
+ isPrinting: k(rr),
1518
+ isImaging: k(ir),
1519
+ uid: F.value,
1520
+ hasTooltip: B.value.userOptionsButtons.tooltip && B.value.showTooltip,
1521
+ hasPdf: B.value.userOptionsButtons.pdf,
1522
+ hasImg: B.value.userOptionsButtons.img,
1523
+ hasSvg: B.value.userOptionsButtons.svg,
1524
+ hasFullscreen: B.value.userOptionsButtons.fullscreen,
1525
+ hasAltCopy: B.value.userOptionsButtons.altCopy,
1526
+ hasXls: !1,
1527
+ isTooltip: cr.value.showTooltip,
1528
+ isFullscreen: Vr.value,
1529
+ titles: { ...B.value.userOptionsButtonTitles },
1530
+ chartElement: P.value,
1531
+ position: B.value.userOptionsPosition,
1532
+ hasAnnotator: B.value.userOptionsButtons.annotator,
1533
+ isAnnotation: Wr.value,
1534
+ callbacks: B.value.userOptionsCallbacks,
1535
+ printScale: B.value.userOptionsPrint.scale,
1536
+ isCursorPointer: Vn.value,
1537
+ onToggleFullscreen: Hr,
1538
+ onGeneratePdf: k(ar),
1539
+ onGenerateImage: k(or),
1540
+ onGenerateSvg: ei,
1541
+ onToggleTooltip: Ur,
1542
+ onToggleAnnotator: Gr,
1543
+ onCopyAlt: ti,
1544
+ style: C({ visibility: Yn.value ? Xn.value ? "visible" : "hidden" : "visible" })
1545
+ }, De({ _: 2 }, [
1546
+ e.$slots.menuIcon ? {
1547
+ name: "menuIcon",
1548
+ fn: A(({ isOpen: t, color: n }) => [D(e.$slots, "menuIcon", S(x({
1549
+ isOpen: t,
1550
+ color: n
1551
+ })), void 0, !0)]),
1552
+ key: "0"
1553
+ } : void 0,
1554
+ e.$slots.optionTooltip ? {
1555
+ name: "optionTooltip",
1556
+ fn: A(() => [D(e.$slots, "optionTooltip", {}, void 0, !0)]),
1557
+ key: "1"
1558
+ } : void 0,
1559
+ e.$slots.optionPdf ? {
1560
+ name: "optionPdf",
1561
+ fn: A(() => [D(e.$slots, "optionPdf", {}, void 0, !0)]),
1562
+ key: "2"
1563
+ } : void 0,
1564
+ e.$slots.optionImg ? {
1565
+ name: "optionImg",
1566
+ fn: A(() => [D(e.$slots, "optionImg", {}, void 0, !0)]),
1567
+ key: "3"
1568
+ } : void 0,
1569
+ e.$slots.optionSvg ? {
1570
+ name: "optionSvg",
1571
+ fn: A(() => [D(e.$slots, "optionSvg", {}, void 0, !0)]),
1572
+ key: "4"
1573
+ } : void 0,
1574
+ e.$slots.optionFullscreen ? {
1575
+ name: "optionFullscreen",
1576
+ fn: A(({ toggleFullscreen: t, isFullscreen: n }) => [D(e.$slots, "optionFullscreen", S(x({
1577
+ toggleFullscreen: t,
1578
+ isFullscreen: n
1579
+ })), void 0, !0)]),
1580
+ key: "5"
1581
+ } : void 0,
1582
+ e.$slots.optionAnnotator ? {
1583
+ name: "optionAnnotator",
1584
+ fn: A(({ toggleAnnotator: t, isAnnotator: n }) => [D(e.$slots, "optionAnnotator", S(x({
1585
+ toggleAnnotator: t,
1586
+ isAnnotator: n
1587
+ })), void 0, !0)]),
1588
+ key: "6"
1589
+ } : void 0,
1590
+ e.$slots.optionAltCopy ? {
1591
+ name: "optionAltCopy",
1592
+ fn: A(({ altCopy: t }) => [D(e.$slots, "optionAltCopy", S(x({ altCopy: t })), void 0, !0)]),
1593
+ key: "7"
1594
+ } : void 0,
1595
+ e.$slots["custom-menu-before"] ? {
1596
+ name: "custom-menu-before",
1597
+ fn: A(() => [D(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1598
+ key: "8"
1599
+ } : void 0,
1600
+ e.$slots["custom-menu-after"] ? {
1601
+ name: "custom-menu-after",
1602
+ fn: A(() => [D(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1603
+ key: "9"
1604
+ } : void 0
1605
+ ]), 1032, [
1606
+ "backgroundColor",
1607
+ "color",
1608
+ "isPrinting",
1609
+ "isImaging",
1610
+ "uid",
1611
+ "hasTooltip",
1612
+ "hasPdf",
1613
+ "hasImg",
1614
+ "hasSvg",
1615
+ "hasFullscreen",
1616
+ "hasAltCopy",
1617
+ "isTooltip",
1618
+ "isFullscreen",
1619
+ "titles",
1620
+ "chartElement",
1621
+ "position",
1622
+ "hasAnnotator",
1623
+ "isAnnotation",
1624
+ "callbacks",
1625
+ "printScale",
1626
+ "isCursorPointer",
1627
+ "onGeneratePdf",
1628
+ "onGenerateImage",
1629
+ "style"
1630
+ ])) : v("", !0),
1631
+ B.value.title ? (w(), y("div", {
1632
+ key: 4,
1633
+ ref_key: "quickChartTitle",
1634
+ ref: Tn,
1635
+ class: "vue-ui-quick-chart-title",
1636
+ style: C(`background:transparent;color:${B.value.color};font-size:${B.value.titleFontSize}px;font-weight:${B.value.titleBold ? "bold" : "normal"};text-align:${B.value.titleTextAlign}`)
1637
+ }, O(B.value.title), 5)) : v("", !0),
1638
+ b("div", { id: `legend-top-${F.value}` }, null, 8, Qe),
1639
+ b("div", $e, [K.value ? (w(), y("svg", {
1640
+ key: 0,
1641
+ ref_key: "svgRef",
1642
+ ref: qn,
1643
+ xmlns: k(re),
1644
+ "aria-describedby": `chart-instructions-${F.value}`,
1645
+ viewBox: fr.value,
1646
+ style: C(`max-width:100%;overflow:visible;background:transparent;color:${B.value.color}`),
1647
+ tabindex: "0",
1648
+ onFocus: ii,
1649
+ onBlur: ai,
1650
+ onKeydown: oi
1651
+ }, [
1652
+ Oe(k(He)),
1653
+ e.$slots["chart-background"] && K.value === j.BAR ? (w(), y("foreignObject", {
1654
+ key: 0,
1655
+ x: Q.value.drawingArea.left,
1656
+ y: Q.value.drawingArea.top,
1657
+ width: Q.value.drawingArea.width,
1658
+ height: Q.value.drawingArea.height,
1659
+ style: { pointerEvents: "none" }
1660
+ }, [D(e.$slots, "chart-background", {}, void 0, !0)], 8, tt)) : v("", !0),
1661
+ e.$slots["chart-background"] && K.value === j.LINE ? (w(), y("foreignObject", {
1662
+ key: 1,
1663
+ x: Z.value.drawingArea.left,
1664
+ y: Z.value.drawingArea.top,
1665
+ width: Z.value.drawingArea.width,
1666
+ height: Z.value.drawingArea.height,
1667
+ style: { pointerEvents: "none" }
1668
+ }, [D(e.$slots, "chart-background", {}, void 0, !0)], 8, nt)) : v("", !0),
1669
+ e.$slots["chart-background"] && K.value === j.DONUT ? (w(), y("foreignObject", {
1670
+ key: 2,
1671
+ x: 0,
1672
+ y: 0,
1673
+ width: q.value.width,
1674
+ height: q.value.height,
1675
+ style: { pointerEvents: "none" }
1676
+ }, [D(e.$slots, "chart-background", {}, void 0, !0)], 8, rt)) : v("", !0),
1677
+ b("defs", null, [b("filter", {
1678
+ id: `blur_${F.value}`,
1679
+ x: "-50%",
1680
+ y: "-50%",
1681
+ width: "200%",
1682
+ height: "200%"
1683
+ }, [b("feGaussianBlur", {
1684
+ in: "SourceGraphic",
1685
+ stdDeviation: 2,
1686
+ id: `blur_std_${F.value}`
1687
+ }, null, 8, at), r[4] ||= b("feColorMatrix", {
1688
+ type: "saturate",
1689
+ values: "0"
1690
+ }, null, -1)], 8, it), b("filter", {
1691
+ id: `shadow_${F.value}`,
1692
+ "color-interpolation-filters": "sRGB"
1693
+ }, [b("feDropShadow", {
1694
+ dx: "0",
1695
+ dy: "0",
1696
+ stdDeviation: "10",
1697
+ "flood-opacity": "0.5",
1698
+ "flood-color": B.value.donutShadowColor
1699
+ }, null, 8, st)], 8, ot)]),
1700
+ K.value === j.DONUT ? (w(), y(g, { key: 3 }, [
1701
+ B.value.showDataLabels ? (w(), y("g", ct, [(w(!0), y(g, null, E(Y.value.chart, (e, t) => (w(), y(g, null, [Y.value.isArcBigEnough(e) ? (w(), y("path", {
1702
+ key: 0,
1703
+ d: k(te)(e, {
1704
+ x: q.value.width / 2,
1705
+ y: q.value.height / 2
1706
+ }, 16, 16, !1, !1, q.value.height * Sr.value, 12, B.value.donutCurvedMarkers),
1707
+ stroke: e.color,
1708
+ "stroke-width": B.value.donutLabelMarkerStrokeWidth,
1709
+ "stroke-linecap": "round",
1710
+ "stroke-linejoin": "round",
1711
+ fill: "none",
1712
+ filter: mr(e.id)
1713
+ }, null, 8, lt)) : v("", !0)], 64))), 256))])) : v("", !0),
1714
+ b("circle", {
1715
+ cx: Y.value.cx,
1716
+ cy: Y.value.cy,
1717
+ r: Y.value.radius,
1718
+ fill: B.value.backgroundColor,
1719
+ filter: B.value.donutUseShadow ? `url(#shadow_${F.value})` : ""
1720
+ }, null, 8, ut),
1721
+ b("g", dt, [(w(!0), y(g, null, E(Y.value.chart, (e, t) => (w(), y("path", {
1722
+ d: e.arcSlice,
1723
+ fill: e.color,
1724
+ stroke: B.value.donutStroke || B.value.backgroundColor,
1725
+ "stroke-width": B.value.donutStrokeWidth,
1726
+ filter: mr(e.id)
1727
+ }, null, 8, ft))), 256)), (w(!0), y(g, null, E(Y.value.chart, (e, t) => (w(), y("path", {
1728
+ d: e.arcSlice,
1729
+ fill: "transparent",
1730
+ onMouseenter: (n) => Y.value.useTooltip({
1731
+ datapoint: e,
1732
+ seriesIndex: t,
1733
+ triggerMode: "pointer"
1734
+ }),
1735
+ onMouseout: (n) => Y.value.killTooltip({
1736
+ datapoint: e,
1737
+ seriesIndex: t
1738
+ }),
1739
+ onClick: (n) => Y.value.selectDatapoint({
1740
+ datapoint: e,
1741
+ seriesIndex: t
1742
+ })
1743
+ }, null, 40, pt))), 256))]),
1744
+ B.value.showDataLabels ? (w(), y("g", mt, [(w(!0), y(g, null, E(Y.value.chart, (e, t) => (w(), y(g, null, [
1745
+ Y.value.isArcBigEnough(e) ? (w(), y("circle", {
1746
+ key: 0,
1747
+ cx: k(m)(e).x,
1748
+ cy: k(l)(e) - 3.7,
1749
+ fill: e.color,
1750
+ stroke: B.value.backgroundColor,
1751
+ "stroke-width": 1,
1752
+ r: 3,
1753
+ filter: mr(e.id)
1754
+ }, null, 8, ht)) : v("", !0),
1755
+ Y.value.isArcBigEnough(e) ? (w(), y("text", {
1756
+ key: 1,
1757
+ "text-anchor": k(m)(e, !0, 20).anchor,
1758
+ x: k(m)(e, !0).x,
1759
+ y: k(l)(e),
1760
+ fill: B.value.color,
1761
+ "font-size": B.value.dataLabelFontSize,
1762
+ filter: mr(e.id)
1763
+ }, O(Y.value.displayArcPercentage(e, Y.value.chart)) + " (" + O(k(d)(B.value.formatter, e.value, k(n)({
1764
+ p: B.value.valuePrefix,
1765
+ v: e.value,
1766
+ s: B.value.valueSuffix,
1767
+ r: B.value.dataLabelRoundingValue
1768
+ }), {
1769
+ datapoint: e,
1770
+ seriesIndex: t
1771
+ })) + ") ", 9, gt)) : v("", !0),
1772
+ Y.value.isArcBigEnough(e, !0, 20) ? (w(), y("text", {
1773
+ key: 2,
1774
+ "text-anchor": k(m)(e).anchor,
1775
+ x: k(m)(e, !0).x,
1776
+ y: k(l)(e) + B.value.dataLabelFontSize,
1777
+ fill: B.value.color,
1778
+ "font-size": B.value.dataLabelFontSize,
1779
+ filter: mr(e.id)
1780
+ }, O(e.name), 9, _t)) : v("", !0)
1781
+ ], 64))), 256))])) : v("", !0),
1782
+ B.value.donutShowTotal ? (w(), y("g", vt, [b("text", {
1783
+ "text-anchor": "middle",
1784
+ x: Y.value.drawingArea.centerX,
1785
+ y: Y.value.drawingArea.centerY - B.value.donutTotalLabelFontSize / 2,
1786
+ "font-size": B.value.donutTotalLabelFontSize,
1787
+ fill: B.value.color
1788
+ }, O(B.value.donutTotalLabelText), 9, yt), b("text", {
1789
+ "text-anchor": "middle",
1790
+ x: Y.value.drawingArea.centerX,
1791
+ y: Y.value.drawingArea.centerY + B.value.donutTotalLabelFontSize,
1792
+ "font-size": B.value.donutTotalLabelFontSize,
1793
+ fill: B.value.color
1794
+ }, O(k(n)({
1795
+ p: B.value.valuePrefix,
1796
+ v: Y.value.total,
1797
+ s: B.value.valueSuffix,
1798
+ r: B.value.dataLabelRoundingValue
1799
+ })), 9, bt)])) : v("", !0)
1800
+ ], 64)) : v("", !0),
1801
+ K.value === j.LINE ? (w(), y(g, { key: 4 }, [
1802
+ B.value.xyShowGrid ? (w(), y("g", xt, [(w(!0), y(g, null, E(Z.value.yLabels, (e) => (w(), y(g, null, [e.y <= Z.value.drawingArea.bottom ? (w(), y("line", {
1803
+ key: 0,
1804
+ x1: Z.value.drawingArea.left,
1805
+ x2: Z.value.drawingArea.right,
1806
+ y1: e.y,
1807
+ y2: e.y,
1808
+ stroke: B.value.xyGridStroke,
1809
+ "stroke-width": B.value.xyGridStrokeWidth,
1810
+ "stroke-linecap": "round"
1811
+ }, null, 8, St)) : v("", !0)], 64))), 256)), (w(!0), y(g, null, E(Z.value.extremes.maxSeries + 1, (e, t) => (w(), y("line", {
1812
+ x1: Z.value.drawingArea.left + Z.value.slotSize * t,
1813
+ x2: Z.value.drawingArea.left + Z.value.slotSize * t,
1814
+ y1: Z.value.drawingArea.top,
1815
+ y2: Z.value.drawingArea.bottom,
1816
+ stroke: B.value.xyGridStroke,
1817
+ "stroke-width": B.value.xyGridStrokeWidth,
1818
+ "stroke-linecap": "round"
1819
+ }, null, 8, Ct))), 256))])) : v("", !0),
1820
+ B.value.xyShowAxis ? (w(), y("g", wt, [b("line", {
1821
+ x1: Z.value.drawingArea.left,
1822
+ x2: Z.value.drawingArea.left,
1823
+ y1: Z.value.drawingArea.top,
1824
+ y2: Z.value.drawingArea.bottom,
1825
+ stroke: B.value.xyAxisStroke,
1826
+ "stroke-width": B.value.xyAxisStrokeWidth,
1827
+ "stroke-linecap": "round"
1828
+ }, null, 8, Tt), b("line", {
1829
+ x1: Z.value.drawingArea.left,
1830
+ x2: Z.value.drawingArea.right,
1831
+ y1: isNaN(Z.value.absoluteZero) ? Z.value.drawingArea.bottom : Z.value.absoluteZero,
1832
+ y2: isNaN(Z.value.absoluteZero) ? Z.value.drawingArea.bottom : Z.value.absoluteZero,
1833
+ stroke: B.value.xyAxisStroke,
1834
+ "stroke-width": B.value.xyAxisStrokeWidth,
1835
+ "stroke-linecap": "round"
1836
+ }, null, 8, Et)])) : v("", !0),
1837
+ B.value.xyShowScale ? (w(), y("g", {
1838
+ key: 2,
1839
+ class: "yLabels",
1840
+ ref_key: "scaleLabels",
1841
+ ref: Ln
1842
+ }, [(w(!0), y(g, null, E(Z.value.yLabels, (e, t) => (w(), y(g, null, [e.y <= Z.value.drawingArea.bottom ? (w(), y("line", {
1843
+ key: 0,
1844
+ x1: e.x + 4,
1845
+ x2: Z.value.drawingArea.left,
1846
+ y1: e.y,
1847
+ y2: e.y,
1848
+ stroke: B.value.xyAxisStroke,
1849
+ "stroke-width": B.value.xyAxisStrokeWidth,
1850
+ "stroke-linecap": "round"
1851
+ }, null, 8, Dt)) : v("", !0), e.y <= Z.value.drawingArea.bottom ? (w(), y("text", {
1852
+ key: 1,
1853
+ x: e.x,
1854
+ y: e.y + B.value.xyLabelsYFontSize / 3,
1855
+ "text-anchor": "end",
1856
+ "font-size": B.value.xyLabelsYFontSize,
1857
+ fill: B.value.color
1858
+ }, O(k(d)(B.value.formatter, e.value, k(n)({
1859
+ p: B.value.valuePrefix,
1860
+ v: e.value,
1861
+ s: B.value.valueSuffix,
1862
+ r: B.value.dataLabelRoundingValue
1863
+ }), {
1864
+ datapoint: e,
1865
+ seriesIndex: t
1866
+ })), 9, Ot)) : v("", !0)], 64))), 256))], 512)) : v("", !0),
1867
+ B.value.xyShowScale && B.value.xyPeriods.length ? (w(), y("g", kt, [(w(!0), y(g, null, E($.value.map((e) => e.text), (e, t) => (w(), y(g, null, [!B.value.xyPeriodsShowOnlyAtModulo || B.value.xyPeriodsShowOnlyAtModulo && t % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (w(), y("line", {
1868
+ key: 0,
1869
+ x1: Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2,
1870
+ x2: Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2,
1871
+ y1: Z.value.drawingArea.bottom,
1872
+ y2: Z.value.drawingArea.bottom + 4,
1873
+ stroke: B.value.xyAxisStroke,
1874
+ "stroke-width": B.value.xyAxisStrokeWidth,
1875
+ "stroke-linecap": "round"
1876
+ }, null, 8, At)) : v("", !0)], 64))), 256)), b("g", {
1877
+ ref_key: "timeLabelsEls",
1878
+ ref: z
1879
+ }, [(w(!0), y(g, null, E($.value.map((e) => e.text), (e, n) => (w(), y(g, null, [!B.value.xyPeriodsShowOnlyAtModulo || B.value.xyPeriodsShowOnlyAtModulo && n % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (w(), y("g", jt, [String(e).includes("\n") ? (w(), y("text", {
1880
+ key: 1,
1881
+ class: "vue-data-ui-time-label",
1882
+ "font-size": B.value.xyLabelsXFontSize,
1883
+ "text-anchor": B.value.xyPeriodLabelsRotation > 0 ? "start" : B.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1884
+ fill: B.value.color,
1885
+ transform: `translate(${Z.value.drawingArea.left + Z.value.slotSize * (n + 1) - Z.value.slotSize / 2}, ${Z.value.drawingArea.bottom + B.value.xyLabelsXFontSize + 6}), rotate(${B.value.xyPeriodLabelsRotation})`,
1886
+ innerHTML: k(t)({
1887
+ content: String(e),
1888
+ fontSize: B.value.xyLabelsXFontSize,
1889
+ fill: B.value.color,
1890
+ x: 0,
1891
+ y: 0
1892
+ })
1893
+ }, null, 8, Nt)) : (w(), y("text", {
1894
+ key: 0,
1895
+ class: "vue-data-ui-time-label",
1896
+ "font-size": B.value.xyLabelsXFontSize,
1897
+ "text-anchor": B.value.xyPeriodLabelsRotation > 0 ? "start" : B.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1898
+ fill: B.value.color,
1899
+ transform: `translate(${Z.value.drawingArea.left + Z.value.slotSize * (n + 1) - Z.value.slotSize / 2}, ${Z.value.drawingArea.bottom + B.value.xyLabelsXFontSize + 6}), rotate(${B.value.xyPeriodLabelsRotation})`
1900
+ }, O(e), 9, Mt))])) : v("", !0)], 64))), 256))], 512)])) : v("", !0),
1901
+ b("g", Pt, [(w(!0), y(g, null, E(Z.value.dataset, (e, t) => (w(), y("g", Ft, [B.value.lineSmooth ? (w(), y(g, { key: 0 }, [b("path", {
1902
+ ref_for: !0,
1903
+ ref_key: "pathWrapper",
1904
+ ref: Fn,
1905
+ d: `M ${k(f)(e.coordinates)}`,
1906
+ stroke: B.value.backgroundColor,
1907
+ "stroke-width": B.value.lineStrokeWidth + 1,
1908
+ "stroke-linecap": "round",
1909
+ fill: "none",
1910
+ class: Me({
1911
+ "quick-animation": !k(U),
1912
+ "vue-data-ui-line-animated": B.value.lineAnimated && !k(U)
1913
+ }),
1914
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1915
+ }, null, 14, It), b("path", {
1916
+ ref_for: !0,
1917
+ ref_key: "pathTop",
1918
+ ref: In,
1919
+ d: `M ${k(f)(e.coordinates)}`,
1920
+ stroke: e.color,
1921
+ "stroke-width": B.value.lineStrokeWidth,
1922
+ "stroke-linecap": "round",
1923
+ fill: "none",
1924
+ class: Me({
1925
+ "quick-animation": !k(U),
1926
+ "vue-data-ui-line-animated": B.value.lineAnimated && !k(U)
1927
+ }),
1928
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1929
+ }, null, 14, Lt)], 64)) : (w(), y(g, { key: 1 }, [b("path", {
1930
+ ref_for: !0,
1931
+ ref_key: "pathWrapper",
1932
+ ref: Fn,
1933
+ d: `M ${e.linePath}`,
1934
+ stroke: B.value.backgroundColor,
1935
+ "stroke-width": B.value.lineStrokeWidth + 1,
1936
+ "stroke-linecap": "round",
1937
+ fill: "none",
1938
+ class: Me({
1939
+ "quick-animation": !k(U),
1940
+ "vue-data-ui-line-animated": B.value.lineAnimated && !k(U)
1941
+ }),
1942
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1943
+ }, null, 14, Rt), b("path", {
1944
+ ref_for: !0,
1945
+ ref_key: "pathTop",
1946
+ ref: In,
1947
+ d: `M ${e.linePath}`,
1948
+ stroke: e.color,
1949
+ "stroke-width": B.value.lineStrokeWidth,
1950
+ "stroke-linecap": "round",
1951
+ fill: "none",
1952
+ class: Me({
1953
+ "quick-animation": !k(U),
1954
+ "vue-data-ui-line-animated": B.value.lineAnimated && !k(U)
1955
+ }),
1956
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1957
+ }, null, 14, zt)], 64)), (w(!0), y(g, null, E(e.coordinates, (t, n) => (w(), y("circle", {
1958
+ cx: t.x,
1959
+ cy: k(h)(t.y),
1960
+ r: 3,
1961
+ fill: e.color,
1962
+ stroke: B.value.backgroundColor,
1963
+ "stroke-width": "0.5",
1964
+ class: Me({
1965
+ "vue-ui-quick-chart-plot": !0,
1966
+ "quick-animation": !k(U)
1967
+ }),
1968
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1969
+ }, null, 14, Bt))), 256))]))), 256))]),
1970
+ B.value.showDataLabels ? (w(), y("g", Vt, [(w(!0), y(g, null, E(Z.value.dataset, (e, t) => (w(), y(g, null, [(w(!0), y(g, null, E(e.coordinates, (t, r) => (w(), y("text", {
1971
+ "text-anchor": "middle",
1972
+ "font-size": B.value.dataLabelFontSize,
1973
+ fill: e.color,
1974
+ x: t.x,
1975
+ y: k(h)(t.y) - B.value.dataLabelFontSize / 2,
1976
+ class: Me({
1977
+ "vue-ui-quick-chart-label": !0,
1978
+ "quick-animation": !k(U)
1979
+ }),
1980
+ style: C({ transition: k(U) ? void 0 : "all 0.3s ease-in-out" })
1981
+ }, O(k(d)(B.value.formatter, k(h)(t.value), k(n)({
1982
+ p: B.value.valuePrefix,
1983
+ v: k(h)(t.value),
1984
+ s: B.value.valueSuffix,
1985
+ r: B.value.dataLabelRoundingValue
1986
+ }), {
1987
+ datapoint: t,
1988
+ seriesIndex: r
1989
+ })), 15, Ht))), 256))], 64))), 256))])) : v("", !0),
1990
+ Zn.value ? (w(), y("g", Ut, [(w(!0), y(g, null, E(Z.value.extremes.maxSeries, (e, t) => (w(), y("rect", {
1991
+ x: Z.value.drawingArea.left + t * Z.value.slotSize,
1992
+ y: Z.value.drawingArea.top,
1993
+ height: Z.value.drawingArea.height <= 0 ? 1e-5 : Z.value.drawingArea.height,
1994
+ width: Z.value.slotSize <= 0 ? 1e-5 : Z.value.slotSize,
1995
+ fill: [L.value, J.value].includes(t) ? B.value.xyHighlighterColor : "transparent",
1996
+ style: C(`opacity:${B.value.xyHighlighterOpacity}`),
1997
+ onMouseenter: (e) => Z.value.useTooltip(t, "pointer"),
1998
+ onMouseleave: (e) => Z.value.killTooltip(t),
1999
+ onClick: (e) => Z.value.selectDatapoint(t)
2000
+ }, null, 44, Wt))), 256))])) : v("", !0)
2001
+ ], 64)) : v("", !0),
2002
+ K.value === j.BAR ? (w(), y(g, { key: 5 }, [
2003
+ B.value.xyShowGrid ? (w(), y("g", Gt, [(w(!0), y(g, null, E(Q.value.yLabels, (e) => (w(), y(g, null, [e.y <= Q.value.drawingArea.bottom ? (w(), y("line", {
2004
+ key: 0,
2005
+ x1: Q.value.drawingArea.left,
2006
+ x2: Q.value.drawingArea.right,
2007
+ y1: e.y,
2008
+ y2: e.y,
2009
+ stroke: B.value.xyGridStroke,
2010
+ "stroke-width": B.value.xyGridStrokeWidth,
2011
+ "stroke-linecap": "round"
2012
+ }, null, 8, Kt)) : v("", !0)], 64))), 256)), R.value.length < Q.value.legend.length ? (w(!0), y(g, { key: 0 }, E(Q.value.extremes.maxSeries + 1, (e, t) => (w(), y("line", {
2013
+ x1: Q.value.drawingArea.left + Q.value.slotSize * t,
2014
+ x2: Q.value.drawingArea.left + Q.value.slotSize * t,
2015
+ y1: Q.value.drawingArea.top,
2016
+ y2: Q.value.drawingArea.bottom,
2017
+ stroke: B.value.xyGridStroke,
2018
+ "stroke-width": B.value.xyGridStrokeWidth,
2019
+ "stroke-linecap": "round"
2020
+ }, null, 8, qt))), 256)) : v("", !0)])) : v("", !0),
2021
+ B.value.xyShowAxis ? (w(), y("g", Jt, [b("line", {
2022
+ x1: Q.value.drawingArea.left,
2023
+ x2: Q.value.drawingArea.left,
2024
+ y1: Q.value.drawingArea.top,
2025
+ y2: Q.value.drawingArea.bottom,
2026
+ stroke: B.value.xyAxisStroke,
2027
+ "stroke-width": B.value.xyAxisStrokeWidth,
2028
+ "stroke-linecap": "round"
2029
+ }, null, 8, Yt), b("line", {
2030
+ x1: Q.value.drawingArea.left,
2031
+ x2: Q.value.drawingArea.right,
2032
+ y1: isNaN(Q.value.absoluteZero) ? Q.value.drawingArea.bottom : Q.value.absoluteZero,
2033
+ y2: isNaN(Q.value.absoluteZero) ? Q.value.drawingArea.bottom : Q.value.absoluteZero,
2034
+ stroke: B.value.xyAxisStroke,
2035
+ "stroke-width": B.value.xyAxisStrokeWidth,
2036
+ "stroke-linecap": "round"
2037
+ }, null, 8, Xt)])) : v("", !0),
2038
+ B.value.xyShowScale ? (w(), y("g", {
2039
+ key: 2,
2040
+ class: "yLabels",
2041
+ ref_key: "scaleLabels",
2042
+ ref: Ln
2043
+ }, [(w(!0), y(g, null, E(Q.value.yLabels, (e, t) => (w(), y(g, null, [e.y <= Q.value.drawingArea.bottom ? (w(), y("line", {
2044
+ key: 0,
2045
+ x1: e.x + 4,
2046
+ x2: Q.value.drawingArea.left,
2047
+ y1: e.y,
2048
+ y2: e.y,
2049
+ stroke: B.value.xyAxisStroke,
2050
+ "stroke-width": B.value.xyAxisStrokeWidth,
2051
+ "stroke-linecap": "round"
2052
+ }, null, 8, Zt)) : v("", !0), e.y <= Q.value.drawingArea.bottom ? (w(), y("text", {
2053
+ key: 1,
2054
+ x: e.x,
2055
+ y: e.y + B.value.xyLabelsYFontSize / 3,
2056
+ "text-anchor": "end",
2057
+ "font-size": B.value.xyLabelsYFontSize,
2058
+ fill: B.value.color
2059
+ }, O(k(d)(B.value.formatter, e.value, k(n)({
2060
+ p: B.value.valuePrefix,
2061
+ v: e.value,
2062
+ s: B.value.valueSuffix,
2063
+ r: B.value.dataLabelRoundingValue
2064
+ }), {
2065
+ datapoint: e,
2066
+ seriesIndex: t
2067
+ })), 9, Qt)) : v("", !0)], 64))), 256))], 512)) : v("", !0),
2068
+ B.value.xyShowScale && B.value.xyPeriods.length ? (w(), y("g", $t, [(w(!0), y(g, null, E(B.value.xyPeriods.slice(X.value.start, X.value.end), (e, t) => (w(), y("line", {
2069
+ x1: Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2,
2070
+ x2: Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2,
2071
+ y1: Q.value.drawingArea.bottom,
2072
+ y2: Q.value.drawingArea.bottom + 4,
2073
+ stroke: B.value.xyAxisStroke,
2074
+ "stroke-width": B.value.xyAxisStrokeWidth,
2075
+ "stroke-linecap": "round"
2076
+ }, null, 8, en))), 256)), b("g", {
2077
+ ref_key: "timeLabelsEls",
2078
+ ref: z
2079
+ }, [(w(!0), y(g, null, E($.value.map((e) => e.text), (e, n) => (w(), y(g, null, [!B.value.xyPeriodsShowOnlyAtModulo || B.value.xyPeriodsShowOnlyAtModulo && n % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (w(), y("g", tn, [String(e).includes("\n") ? (w(), y("text", {
2080
+ key: 1,
2081
+ class: "vue-data-ui-time-label",
2082
+ "font-size": B.value.xyLabelsXFontSize,
2083
+ "text-anchor": B.value.xyPeriodLabelsRotation > 0 ? "start" : B.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
2084
+ fill: B.value.color,
2085
+ transform: `translate(${Q.value.drawingArea.left + Q.value.slotSize * (n + 1) - Q.value.slotSize / 2}, ${Q.value.drawingArea.bottom + B.value.xyLabelsXFontSize + 6}), rotate(${B.value.xyPeriodLabelsRotation})`,
2086
+ innerHTML: k(t)({
2087
+ content: String(e),
2088
+ fontSize: B.value.xyLabelsXFontSize,
2089
+ fill: B.value.color,
2090
+ x: 0,
2091
+ y: 0
2092
+ })
2093
+ }, null, 8, rn)) : (w(), y("text", {
2094
+ key: 0,
2095
+ class: "vue-data-ui-time-label",
2096
+ "font-size": B.value.xyLabelsXFontSize,
2097
+ "text-anchor": B.value.xyPeriodLabelsRotation > 0 ? "start" : B.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
2098
+ fill: B.value.color,
2099
+ transform: `translate(${Q.value.drawingArea.left + Q.value.slotSize * (n + 1) - Q.value.slotSize / 2}, ${Q.value.drawingArea.bottom + B.value.xyLabelsXFontSize + 6}), rotate(${B.value.xyPeriodLabelsRotation})`
2100
+ }, O(e), 9, nn))])) : v("", !0)], 64))), 256))], 512)])) : v("", !0),
2101
+ b("g", an, [(w(!0), y(g, null, E(Q.value.dataset, (e, t) => (w(), y(g, null, [(w(!0), y(g, null, E(e.coordinates, (t, n) => (w(), y("rect", {
2102
+ x: t.x,
2103
+ width: t.width <= 0 ? 1e-5 : t.width,
2104
+ height: k(h)(t.height <= 0 ? 1e-5 : t.height),
2105
+ y: k(h)(t.y),
2106
+ fill: e.color,
2107
+ stroke: B.value.backgroundColor,
2108
+ "stroke-width": B.value.barStrokeWidth,
2109
+ "stroke-linecap": "round",
2110
+ class: Me({ "vue-data-ui-bar-animated": B.value.barAnimated && t.value < 0 && !k(U) })
2111
+ }, [B.value.barAnimated && t.value > 0 && !k(rr) && !k(ir) ? (w(), y("animate", {
2112
+ key: 0,
2113
+ attributeName: "height",
2114
+ from: 0,
2115
+ to: t.height,
2116
+ dur: "0.5s"
2117
+ }, null, 8, sn)) : v("", !0), B.value.barAnimated && t.value > 0 && !k(rr) && !k(ir) ? (w(), y("animate", {
2118
+ key: 1,
2119
+ attributeName: "y",
2120
+ from: Q.value.absoluteZero,
2121
+ to: Q.value.absoluteZero - t.height,
2122
+ dur: "0.5s"
2123
+ }, null, 8, cn)) : v("", !0)], 10, on))), 256))], 64))), 256))]),
2124
+ B.value.showDataLabels ? (w(), y("g", ln, [(w(!0), y(g, null, E(Q.value.dataset, (e, t) => (w(), y(g, null, [(w(!0), y(g, null, E(e.coordinates, (t, r) => (w(), y("text", {
2125
+ x: t.x + t.width / 2,
2126
+ y: k(h)(t.y) - B.value.dataLabelFontSize / 2,
2127
+ "text-anchor": "middle",
2128
+ "font-size": B.value.dataLabelFontSize,
2129
+ fill: e.color,
2130
+ class: "quick-animation"
2131
+ }, O(k(d)(B.value.formatter, k(h)(t.value), k(n)({
2132
+ p: B.value.valuePrefix,
2133
+ v: k(h)(t.value),
2134
+ s: B.value.valueSuffix,
2135
+ r: B.value.dataLabelRoundingValue
2136
+ }), {
2137
+ datapoint: t,
2138
+ seriesIndex: r
2139
+ })), 9, un))), 256))], 64))), 256))])) : v("", !0),
2140
+ Zn.value && R.value.length < Q.value.legend.length ? (w(), y("g", dn, [(w(!0), y(g, null, E(Q.value.extremes.maxSeries, (e, t) => (w(), y("rect", {
2141
+ x: Q.value.drawingArea.left + t * Q.value.slotSize,
2142
+ y: Q.value.drawingArea.top,
2143
+ height: Q.value.drawingArea.height <= 0 ? 1e-5 : Q.value.drawingArea.height,
2144
+ width: Q.value.slotSize <= 0 ? 1e-5 : Q.value.slotSize,
2145
+ fill: [L.value, J.value].includes(t) ? B.value.xyHighlighterColor : "transparent",
2146
+ style: C(`opacity:${B.value.xyHighlighterOpacity}`),
2147
+ onMouseenter: (e) => Q.value.useTooltip(t, "pointer"),
2148
+ onMouseleave: (e) => Q.value.killTooltip(t),
2149
+ onClick: (e) => Q.value.selectDatapoint(t)
2150
+ }, null, 44, fn))), 256))])) : v("", !0)
2151
+ ], 64)) : v("", !0),
2152
+ [j.LINE, j.BAR].includes(K.value) ? (w(), y("g", pn, [
2153
+ B.value.xAxisLabel && K.value === j.LINE ? (w(), y("g", {
2154
+ key: 0,
2155
+ ref_key: "xAxisLabel",
2156
+ ref: Rn
2157
+ }, [b("text", {
2158
+ "font-size": B.value.axisLabelsFontSize,
2159
+ fill: B.value.color,
2160
+ "text-anchor": "middle",
2161
+ x: Z.value.drawingArea.left + Z.value.drawingArea.width / 2,
2162
+ y: q.value.height - B.value.axisLabelsFontSize / 3
2163
+ }, O(B.value.xAxisLabel), 9, mn)], 512)) : v("", !0),
2164
+ B.value.xAxisLabel && K.value === j.BAR ? (w(), y("g", {
2165
+ key: 1,
2166
+ ref_key: "xAxisLabel",
2167
+ ref: Rn
2168
+ }, [b("text", {
2169
+ "font-size": B.value.axisLabelsFontSize,
2170
+ fill: B.value.color,
2171
+ "text-anchor": "middle",
2172
+ x: Q.value.drawingArea.left + Q.value.drawingArea.width / 2,
2173
+ y: q.value.height - B.value.axisLabelsFontSize / 3
2174
+ }, O(B.value.xAxisLabel), 9, hn)], 512)) : v("", !0),
2175
+ B.value.yAxisLabel && K.value === j.LINE ? (w(), y("g", {
2176
+ key: 2,
2177
+ ref_key: "yAxisLabel",
2178
+ ref: zn
2179
+ }, [b("text", {
2180
+ "font-size": B.value.axisLabelsFontSize,
2181
+ fill: B.value.color,
2182
+ transform: `translate(${B.value.axisLabelsFontSize}, ${Z.value.drawingArea.top + Z.value.drawingArea.height / 2}) rotate(-90)`,
2183
+ "text-anchor": "middle"
2184
+ }, O(B.value.yAxisLabel), 9, gn)], 512)) : v("", !0),
2185
+ B.value.yAxisLabel && K.value === j.BAR ? (w(), y("g", {
2186
+ key: 3,
2187
+ ref_key: "yAxisLabel",
2188
+ ref: zn
2189
+ }, [b("text", {
2190
+ "font-size": B.value.axisLabelsFontSize,
2191
+ fill: B.value.color,
2192
+ transform: `translate(${B.value.axisLabelsFontSize}, ${Q.value.drawingArea.top + Q.value.drawingArea.height / 2}) rotate(-90)`,
2193
+ "text-anchor": "middle"
2194
+ }, O(B.value.yAxisLabel), 9, _n)], 512)) : v("", !0)
2195
+ ])) : v("", !0)
2196
+ ], 44, et)) : v("", !0), e.$slots.hint ? (w(), y("div", vn, [D(e.$slots, "hint", S(x({
2197
+ hint: B.value.a11y.translations.keyboardNavigation,
2198
+ isVisible: Un.value
2199
+ })), void 0, !0)])) : v("", !0)]),
2200
+ e.$slots.watermark ? (w(), y("div", yn, [D(e.$slots, "watermark", S(x({ isPrinting: k(rr) || k(ir) })), void 0, !0)])) : v("", !0),
2201
+ [j.BAR, j.LINE].includes(K.value) && B.value.zoomXy && G.value.maxSeriesLength > 1 ? (w(), y("div", {
2202
+ key: `slicer_${Nn.value}`,
2203
+ ref_key: "quickChartSlicer",
2204
+ ref: Dn
2205
+ }, [(w(), Ee(Ce, {
2206
+ ref_key: "slicerComponent",
2207
+ ref: wr,
2208
+ key: `slicer_${Nn.value}`,
2209
+ background: B.value.zoomColor,
2210
+ borderColor: B.value.backgroundColor,
2211
+ fontSize: B.value.zoomFontSize,
2212
+ useResetSlot: B.value.zoomUseResetSlot,
2213
+ labelLeft: B.value.xyPeriods[X.value.start] && $.value[0] ? $.value[0].text : "",
2214
+ labelRight: B.value.xyPeriods[X.value.end - 1] && $.value?.length ? $.value.at(-1).text : "",
2215
+ textColor: B.value.color,
2216
+ inputColor: B.value.zoomColor,
2217
+ selectColor: B.value.zoomHighlightColor,
2218
+ max: G.value.maxSeriesLength,
2219
+ min: 0,
2220
+ valueStart: X.value.start,
2221
+ valueEnd: X.value.end,
2222
+ smoothMinimap: B.value.zoomMinimap.smooth,
2223
+ minimapSelectedColor: B.value.zoomMinimap.selectedColor,
2224
+ minimapSelectedColorOpacity: B.value.zoomMinimap.selectedColorOpacity,
2225
+ minimapSelectionRadius: B.value.zoomMinimap.selectionRadius,
2226
+ minimapLineColor: B.value.zoomMinimap.lineColor,
2227
+ minimap: Dr.value,
2228
+ minimapIndicatorColor: B.value.zoomMinimap.indicatorColor,
2229
+ verticalHandles: B.value.zoomMinimap.verticalHandles,
2230
+ minimapSelectedIndex: J.value,
2231
+ start: X.value.start,
2232
+ "onUpdate:start": r[0] ||= (e) => X.value.start = e,
2233
+ end: X.value.end,
2234
+ "onUpdate:end": r[1] ||= (e) => X.value.end = e,
2235
+ refreshStartPoint: B.value.zoomStartIndex === null ? 0 : B.value.zoomStartIndex,
2236
+ refreshEndPoint: B.value.zoomEndIndex === null ? G.value.maxSeriesLength : B.value.zoomEndIndex + 1,
2237
+ enableRangeHandles: B.value.zoomEnableRangeHandles,
2238
+ enableSelectionDrag: B.value.zoomEnableSelectionDrag,
2239
+ minimapCompact: B.value.zoomMinimap.compact,
2240
+ minimapMerged: B.value.zoomMinimap.merged,
2241
+ allMinimaps: Rr.value,
2242
+ minimapFrameColor: B.value.zoomMinimap.frameColor,
2243
+ additionalMinimapHeight: B.value.zoomMinimap.additionalHeight,
2244
+ handleType: B.value.zoomMinimap.handleType,
2245
+ handleWidth: B.value.zoomMinimap.handleWidth,
2246
+ handleBorderWidth: B.value.zoomMinimap.handleBorderWidth,
2247
+ handleIconColor: B.value.zoomMinimap.handleIconColor,
2248
+ handleBorderColor: B.value.zoomMinimap.handleBorderColor,
2249
+ handleFill: B.value.zoomMinimap.handleFill,
2250
+ focusOnDrag: B.value.zoomFocusOnDrag,
2251
+ focusRangeRatio: B.value.zoomFocusRangeRatio,
2252
+ maxWidth: B.value.zoomMaxWidth,
2253
+ onReset: Cr,
2254
+ onTrapMouse: xr
2255
+ }, {
2256
+ "reset-action": A(({ reset: t }) => [D(e.$slots, "reset-action", S(x({ reset: t })), void 0, !0)]),
2257
+ _: 3
2258
+ }, 8, /* @__PURE__ */ "background.borderColor.fontSize.useResetSlot.labelLeft.labelRight.textColor.inputColor.selectColor.max.valueStart.valueEnd.smoothMinimap.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectionRadius.minimapLineColor.minimap.minimapIndicatorColor.verticalHandles.minimapSelectedIndex.start.end.refreshStartPoint.refreshEndPoint.enableRangeHandles.enableSelectionDrag.minimapCompact.minimapMerged.allMinimaps.minimapFrameColor.additionalMinimapHeight.handleType.handleWidth.handleBorderWidth.handleIconColor.handleBorderColor.handleFill.focusOnDrag.focusRangeRatio.maxWidth".split(".")))])) : v("", !0),
2259
+ b("div", { id: `legend-bottom-${F.value}` }, null, 8, bn),
2260
+ Pn.value && B.value.showLegend ? (w(), Ee(Te, {
2261
+ key: 7,
2262
+ to: B.value.legendPosition === "top" ? `#legend-top-${F.value}` : `#legend-bottom-${F.value}`
2263
+ }, [B.value.showLegend ? (w(), y("div", {
2264
+ key: 0,
2265
+ ref_key: "quickChartLegend",
2266
+ ref: En,
2267
+ class: "vue-ui-quick-chart-legend",
2268
+ style: C(`background:transparent;color:${B.value.color}`)
2269
+ }, [
2270
+ (Y.value?.legend?.length > 2 || Z.value?.legend?.length > 2 || Q.value?.legend?.length > 2) && B.value.showLegendSelectAllToggle && !k(U) ? (w(), Ee(be, {
2271
+ key: 0,
2272
+ backgroundColor: B.value.legendSelectAllToggleBackgroundColor,
2273
+ color: B.value.legendSelectAllToggleColor,
2274
+ fontSize: B.value.legendFontSize,
2275
+ checked: R.value.length > 0,
2276
+ isCursorPointer: Vn.value,
2277
+ onToggle: hr
2278
+ }, null, 8, [
2279
+ "backgroundColor",
2280
+ "color",
2281
+ "fontSize",
2282
+ "checked",
2283
+ "isCursorPointer"
2284
+ ])) : v("", !0),
2285
+ K.value === j.DONUT ? (w(!0), y(g, { key: 1 }, E(Y.value.legend, (t, r) => (w(), y("div", {
2286
+ class: "vue-ui-quick-chart-legend-item",
2287
+ onClick: (e) => br(t, Y.value.dataset),
2288
+ style: C(`cursor: ${Y.value.legend.length > 1 && Vn.value ? "pointer" : "default"}; opacity:${R.value.includes(t.id) ? "0.5" : "1"}`),
2289
+ role: "button",
2290
+ tabindex: "0",
2291
+ onKeydown: (e) => {
2292
+ ni(e, () => {
2293
+ br(t, Y.value.dataset);
2294
+ });
2295
+ }
2296
+ }, [B.value.useCustomLegend ? D(e.$slots, "legend", Ae({
2297
+ key: 0,
2298
+ ref_for: !0
2299
+ }, { legend: {
2300
+ ...t,
2301
+ isSegregated: R.value.includes(t.id),
2302
+ segregate: () => {
2303
+ br(t, Y.value.dataset);
2304
+ }
2305
+ } }), void 0, !0) : (w(), y(g, { key: 1 }, [
2306
+ Oe(k(Ve), {
2307
+ name: B.value.legendIcon,
2308
+ stroke: t.color,
2309
+ size: B.value.legendIconSize
2310
+ }, null, 8, [
2311
+ "name",
2312
+ "stroke",
2313
+ "size"
2314
+ ]),
2315
+ b("span", { style: C(`font-size:${B.value.legendFontSize}px`) }, O(t.name), 5),
2316
+ b("span", { style: C(`font-size:${B.value.legendFontSize}px;font-variant-numeric:tabular-nums`) }, O(R.value.includes(t.id) ? "-" : k(d)(B.value.formatter, t.absoluteValue, k(n)({
2317
+ p: B.value.valuePrefix,
2318
+ v: t.absoluteValue,
2319
+ s: B.value.valueSuffix,
2320
+ r: B.value.dataLabelRoundingValue
2321
+ }), {
2322
+ datapoint: t,
2323
+ seriesIndex: r
2324
+ })), 5),
2325
+ R.value.includes(t.id) ? (w(), y("span", {
2326
+ key: 0,
2327
+ style: C(`font-size:${B.value.legendFontSize}px`)
2328
+ }, " ( - % ) ", 4)) : yr.value ? (w(), y("span", {
2329
+ key: 1,
2330
+ style: C(`font-size:${B.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
2331
+ }, " ( - % ) ", 4)) : (w(), y("span", {
2332
+ key: 2,
2333
+ style: C(`font-size:${B.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
2334
+ }, " (" + O(k(n)({
2335
+ v: t.value / Y.value.total * 100,
2336
+ s: "%",
2337
+ r: B.value.dataLabelRoundingPercentage
2338
+ })) + ") ", 5))
2339
+ ], 64))], 44, xn))), 256)) : v("", !0),
2340
+ K.value === j.LINE ? (w(!0), y(g, { key: 2 }, E(Z.value.legend, (t, n) => (w(), y("div", {
2341
+ class: "vue-ui-quick-chart-legend-item",
2342
+ onClick: (e) => {
2343
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2344
+ },
2345
+ style: C(`cursor: ${Z.value.legend.length > 1 && Vn.value ? "pointer" : "default"}; opacity:${R.value.includes(t.id) ? "0.5" : "1"}`),
2346
+ role: "button",
2347
+ tabindex: "0",
2348
+ onKeydown: (e) => {
2349
+ ni(e, () => {
2350
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2351
+ });
2352
+ }
2353
+ }, [B.value.useCustomLegend ? D(e.$slots, "legend", Ae({
2354
+ key: 0,
2355
+ ref_for: !0
2356
+ }, { legend: {
2357
+ ...t,
2358
+ isSegregated: R.value.includes(t.id),
2359
+ segregate: () => {
2360
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2361
+ }
2362
+ } }), void 0, !0) : (w(), y(g, { key: 1 }, [Oe(k(Ve), {
2363
+ name: B.value.legendIcon,
2364
+ stroke: t.color,
2365
+ size: B.value.legendIconSize
2366
+ }, null, 8, [
2367
+ "name",
2368
+ "stroke",
2369
+ "size"
2370
+ ]), b("span", { style: C(`font-size:${B.value.legendFontSize}px`) }, O(t.name), 5)], 64))], 44, Sn))), 256)) : v("", !0),
2371
+ K.value === j.BAR ? (w(!0), y(g, { key: 3 }, E(Q.value.legend, (t, n) => (w(), y("div", {
2372
+ class: "vue-ui-quick-chart-legend-item",
2373
+ onClick: (e) => {
2374
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2375
+ },
2376
+ style: C(`cursor: ${Q.value.legend.length > 1 && Vn.value ? "pointer" : "default"}; opacity:${R.value.includes(t.id) ? "0.5" : "1"}`),
2377
+ role: "button",
2378
+ tabindex: "0",
2379
+ onKeydown: (e) => {
2380
+ ni(e, () => {
2381
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2382
+ });
2383
+ }
2384
+ }, [B.value.useCustomLegend ? D(e.$slots, "legend", Ae({
2385
+ key: 0,
2386
+ ref_for: !0
2387
+ }, { legend: {
2388
+ ...t,
2389
+ isSegregated: R.value.includes(t.id),
2390
+ segregate: () => {
2391
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2392
+ }
2393
+ } }), void 0, !0) : (w(), y(g, { key: 1 }, [Oe(k(Ve), {
2394
+ name: B.value.legendIcon,
2395
+ stroke: t.color,
2396
+ size: B.value.legendIconSize
2397
+ }, null, 8, [
2398
+ "name",
2399
+ "stroke",
2400
+ "size"
2401
+ ]), b("span", { style: C(`font-size:${B.value.legendFontSize}px`) }, O(t.name), 5)], 64))], 44, Cn))), 256)) : v("", !0)
2402
+ ], 4)) : v("", !0)], 8, ["to"])) : v("", !0),
2403
+ e.$slots.source ? (w(), y("div", {
2404
+ key: 8,
2405
+ ref_key: "source",
2406
+ ref: An,
2407
+ dir: "auto"
2408
+ }, [D(e.$slots, "source", {}, void 0, !0)], 512)) : v("", !0),
2409
+ Oe(k(Ge), {
2410
+ teleportTo: B.value.tooltipTeleportTo,
2411
+ show: cr.value.showTooltip && I.value,
2412
+ backgroundColor: B.value.backgroundColor,
2413
+ color: B.value.color,
2414
+ borderRadius: B.value.tooltipBorderRadius,
2415
+ borderColor: B.value.tooltipBorderColor,
2416
+ borderWidth: B.value.tooltipBorderWidth,
2417
+ fontSize: B.value.tooltipFontSize,
2418
+ backgroundOpacity: B.value.tooltipBackgroundOpacity,
2419
+ position: B.value.tooltipPosition,
2420
+ offsetX: B.value.tooltipOffsetX,
2421
+ offsetY: B.value.tooltipOffsetY,
2422
+ parent: P.value,
2423
+ content: kn.value,
2424
+ isFullscreen: Vr.value,
2425
+ isCustom: k(ne)(B.value.tooltipCustomFormat),
2426
+ smooth: B.value.tooltipSmooth,
2427
+ smoothForce: B.value.tooltipSmoothForce,
2428
+ smoothSnapThreshold: B.value.tooltipSmoothSnapThreshold,
2429
+ backdropFilter: B.value.tooltipBackdropFilter,
2430
+ isA11yMode: H.value === "keyboard",
2431
+ a11yPosition: Hn.value
2432
+ }, {
2433
+ "tooltip-before": A(() => [D(e.$slots, "tooltip-before", S(x({ ...On.value })), void 0, !0)]),
2434
+ tooltip: A(() => [D(e.$slots, "tooltip", S(x({ ...On.value })), void 0, !0)]),
2435
+ "tooltip-after": A(() => [D(e.$slots, "tooltip-after", S(x({ ...On.value })), void 0, !0)]),
2436
+ _: 3
2437
+ }, 8, [
2438
+ "teleportTo",
2439
+ "show",
2440
+ "backgroundColor",
2441
+ "color",
2442
+ "borderRadius",
2443
+ "borderColor",
2444
+ "borderWidth",
2445
+ "fontSize",
2446
+ "backgroundOpacity",
2447
+ "position",
2448
+ "offsetX",
2449
+ "offsetY",
2450
+ "parent",
2451
+ "content",
2452
+ "isFullscreen",
2453
+ "isCustom",
2454
+ "smooth",
2455
+ "smoothForce",
2456
+ "smoothSnapThreshold",
2457
+ "backdropFilter",
2458
+ "isA11yMode",
2459
+ "a11yPosition"
2460
+ ]),
2461
+ D(e.$slots, "skeleton", {}, () => [k(U) ? (w(), Ee(de, { key: 0 })) : v("", !0)], !0)
2462
+ ], 46, Xe)) : (w(), y("div", wn, [Oe(k(Ve), {
2463
+ name: "circleCancel",
2464
+ stroke: "red"
2465
+ }), r[5] ||= b("span", null, "Dataset is not processable", -1)]));
2466
+ }
2467
+ }, [["__scopeId", "data-v-a78997c2"]]);
2468
+ //#endregion
2469
+ export { P as n, Tn as t };