vue-data-ui 3.2.0 → 3.2.1

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 (135) hide show
  1. package/dist/{PackageVersion-D242JXMq.js → PackageVersion-BB7joYAK.js} +1 -1
  2. package/dist/{Slicer-BgpOhmb6.js → Slicer-qM5l8BsU.js} +119 -119
  3. package/dist/{Title-pI68ZJsq.js → Title-BIaVNiUQ.js} +1 -1
  4. package/dist/components/vue-ui-3d-bar.js +1 -1
  5. package/dist/components/vue-ui-accordion.js +1 -1
  6. package/dist/components/vue-ui-age-pyramid.js +1 -1
  7. package/dist/components/vue-ui-bullet.js +1 -1
  8. package/dist/components/vue-ui-candlestick.js +1 -1
  9. package/dist/components/vue-ui-carousel-table.js +1 -1
  10. package/dist/components/vue-ui-chestnut.js +1 -1
  11. package/dist/components/vue-ui-chord.js +1 -1
  12. package/dist/components/vue-ui-circle-pack.js +1 -1
  13. package/dist/components/vue-ui-cursor.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-gizmo.js +1 -1
  24. package/dist/components/vue-ui-heatmap.js +1 -1
  25. package/dist/components/vue-ui-history-plot.js +1 -1
  26. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  27. package/dist/components/vue-ui-kpi.js +1 -1
  28. package/dist/components/vue-ui-mini-loader.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-rating.js +1 -1
  38. package/dist/components/vue-ui-relation-circle.js +1 -1
  39. package/dist/components/vue-ui-ridgeline.js +1 -1
  40. package/dist/components/vue-ui-rings.js +1 -1
  41. package/dist/components/vue-ui-scatter.js +1 -1
  42. package/dist/components/vue-ui-skeleton.js +1 -1
  43. package/dist/components/vue-ui-smiley.js +1 -1
  44. package/dist/components/vue-ui-spark-trend.js +1 -1
  45. package/dist/components/vue-ui-sparkbar.js +1 -1
  46. package/dist/components/vue-ui-sparkgauge.js +1 -1
  47. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  48. package/dist/components/vue-ui-sparkline.js +1 -1
  49. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  50. package/dist/components/vue-ui-stackbar.js +1 -1
  51. package/dist/components/vue-ui-strip-plot.js +1 -1
  52. package/dist/components/vue-ui-table-heatmap.js +1 -1
  53. package/dist/components/vue-ui-table-sparkline.js +1 -1
  54. package/dist/components/vue-ui-table.js +1 -1
  55. package/dist/components/vue-ui-thermometer.js +1 -1
  56. package/dist/components/vue-ui-timer.js +1 -1
  57. package/dist/components/vue-ui-tiremarks.js +1 -1
  58. package/dist/components/vue-ui-treemap.js +1 -1
  59. package/dist/components/vue-ui-vertical-bar.js +1 -1
  60. package/dist/components/vue-ui-waffle.js +1 -1
  61. package/dist/components/vue-ui-wheel.js +1 -1
  62. package/dist/components/vue-ui-word-cloud.js +1 -1
  63. package/dist/components/vue-ui-world.js +1 -1
  64. package/dist/components/vue-ui-xy-canvas.js +1 -1
  65. package/dist/components/vue-ui-xy.js +1 -1
  66. package/dist/style.css +1 -1
  67. package/dist/types/vue-data-ui.d.ts +11 -0
  68. package/dist/{useNestedProp-DF7e2h1z.js → useNestedProp-7BbqoAYu.js} +32 -20
  69. package/dist/{vue-data-ui-BQ0WHd6H.js → vue-data-ui-DyqIdFbp.js} +63 -63
  70. package/dist/vue-data-ui.js +64 -64
  71. package/dist/{vue-ui-3d-bar-BNRehnyF.js → vue-ui-3d-bar-BrlJjJDI.js} +3 -3
  72. package/dist/{vue-ui-accordion-D-L73-T2.js → vue-ui-accordion-BSrtaPYx.js} +1 -1
  73. package/dist/{vue-ui-age-pyramid-TVT4PaCQ.js → vue-ui-age-pyramid-BDIMacvP.js} +3 -3
  74. package/dist/{vue-ui-annotator-SoAGIAm-.js → vue-ui-annotator-DGVlVhhy.js} +1 -1
  75. package/dist/{vue-ui-bullet-BQ47U1fM.js → vue-ui-bullet-CIJw4kXd.js} +3 -3
  76. package/dist/{vue-ui-candlestick-DxqNj65Y.js → vue-ui-candlestick-ZjLiyYpC.js} +4 -4
  77. package/dist/{vue-ui-carousel-table-DCenp2Yb.js → vue-ui-carousel-table-_-qalKHa.js} +2 -2
  78. package/dist/{vue-ui-chestnut-CvaTK5g0.js → vue-ui-chestnut-XkX5ANAN.js} +2 -2
  79. package/dist/{vue-ui-chord-BtFHfEyn.js → vue-ui-chord-B1vFXFgp.js} +3 -3
  80. package/dist/{vue-ui-circle-pack-CbwDKath.js → vue-ui-circle-pack-8J10Q6-I.js} +3 -3
  81. package/dist/{vue-ui-cursor-0muOlHSh.js → vue-ui-cursor-CQp6B13J.js} +1 -1
  82. package/dist/{vue-ui-dashboard-BWXIq06l.js → vue-ui-dashboard-CTEYSHVA.js} +63 -63
  83. package/dist/{vue-ui-digits-DOUNtmB0.js → vue-ui-digits-B4aZJw8I.js} +1 -1
  84. package/dist/{vue-ui-donut-75agsMef.js → vue-ui-donut-d_XvnIQB.js} +3 -3
  85. package/dist/{vue-ui-donut-evolution-DCCu-tXT.js → vue-ui-donut-evolution-Bz7fLQru.js} +4 -4
  86. package/dist/{vue-ui-dumbbell-7FKgJlQt.js → vue-ui-dumbbell-fDl24oQq.js} +3 -3
  87. package/dist/{vue-ui-flow-CshaNTgP.js → vue-ui-flow-NYnnPoDX.js} +3 -3
  88. package/dist/{vue-ui-funnel-Xnd-FRVA.js → vue-ui-funnel-BWPIKyW8.js} +3 -3
  89. package/dist/{vue-ui-galaxy-D-MU1xl4.js → vue-ui-galaxy-LabscC7n.js} +3 -3
  90. package/dist/{vue-ui-gauge-NVrFlPvW.js → vue-ui-gauge-DXETakZJ.js} +3 -3
  91. package/dist/{vue-ui-gizmo-zIjavyoS.js → vue-ui-gizmo-DZgMzP_e.js} +2 -2
  92. package/dist/{vue-ui-heatmap-GDVWtrn6.js → vue-ui-heatmap-C6Z5wEkZ.js} +4 -4
  93. package/dist/{vue-ui-history-plot-CxvcqVQY.js → vue-ui-history-plot-CUGzhcjr.js} +3 -3
  94. package/dist/{vue-ui-kpi-D7zdt7-g.js → vue-ui-kpi-DklTxULP.js} +2 -2
  95. package/dist/{vue-ui-mini-loader-CteWqKM_.js → vue-ui-mini-loader-D22vfM5g.js} +1 -1
  96. package/dist/{vue-ui-molecule-CMn9ItPU.js → vue-ui-molecule-BAH7NOZP.js} +2 -2
  97. package/dist/{vue-ui-mood-radar-ClnWru9n.js → vue-ui-mood-radar-DWZKM2u0.js} +3 -3
  98. package/dist/{vue-ui-nested-donuts-DFljgD4E.js → vue-ui-nested-donuts-CxUSyTrT.js} +3 -3
  99. package/dist/{vue-ui-onion-ynotjz5X.js → vue-ui-onion-BfzkGOmQ.js} +3 -3
  100. package/dist/{vue-ui-parallel-coordinate-plot-BS18TbxC.js → vue-ui-parallel-coordinate-plot-Dnl2GBps.js} +3 -3
  101. package/dist/{vue-ui-quadrant-DB5bt4Dh.js → vue-ui-quadrant-C_3l8xWm.js} +3 -3
  102. package/dist/vue-ui-quick-chart-E6QujRg4.js +1892 -0
  103. package/dist/{vue-ui-radar-BfDvRRdJ.js → vue-ui-radar-C_yLoJvR.js} +3 -3
  104. package/dist/{vue-ui-rating-CjoKP6-5.js → vue-ui-rating-Df02iNbL.js} +1 -1
  105. package/dist/{vue-ui-relation-circle-B_j9qaV-.js → vue-ui-relation-circle-CBIXCwQb.js} +3 -3
  106. package/dist/{vue-ui-ridgeline-COAKNQNn.js → vue-ui-ridgeline-euhLcVI0.js} +3 -3
  107. package/dist/{vue-ui-rings-ViCuX090.js → vue-ui-rings-BGxjmMDw.js} +3 -3
  108. package/dist/{vue-ui-scatter-DjtrlQMV.js → vue-ui-scatter-CO4kXKZF.js} +3 -3
  109. package/dist/{vue-ui-skeleton-C7lk4qZ8.js → vue-ui-skeleton-DrCI1AAl.js} +2 -2
  110. package/dist/{vue-ui-smiley-YRRY-yQp.js → vue-ui-smiley-FPLXOxew.js} +1 -1
  111. package/dist/{vue-ui-spark-trend-D2rL-IrB.js → vue-ui-spark-trend-D4dDN0Sc.js} +2 -2
  112. package/dist/{vue-ui-sparkbar-BImswCmL.js → vue-ui-sparkbar-BEXrQvP0.js} +2 -2
  113. package/dist/{vue-ui-sparkgauge-CLS4sHGH.js → vue-ui-sparkgauge-Cp4-BTZu.js} +2 -2
  114. package/dist/{vue-ui-sparkhistogram-DLcoy-5J.js → vue-ui-sparkhistogram-BwmKv4YF.js} +2 -2
  115. package/dist/{vue-ui-sparkline-BlwZF98N.js → vue-ui-sparkline-BXZJ-fUn.js} +2 -2
  116. package/dist/{vue-ui-sparkstackbar-CvlfgjY3.js → vue-ui-sparkstackbar-Cie2g7gk.js} +2 -2
  117. package/dist/{vue-ui-stackbar-JbGg5vfh.js → vue-ui-stackbar-B137wy4q.js} +4 -4
  118. package/dist/{vue-ui-strip-plot-67B5-og6.js → vue-ui-strip-plot-Dd1aHpFW.js} +3 -3
  119. package/dist/{vue-ui-table-DP7udYk-.js → vue-ui-table-CduckNVX.js} +3 -3
  120. package/dist/{vue-ui-table-heatmap-iu6l-6rW.js → vue-ui-table-heatmap-DZAkUjty.js} +1 -1
  121. package/dist/{vue-ui-table-sparkline-kJAE3iUQ.js → vue-ui-table-sparkline-D6oTAFEO.js} +2 -2
  122. package/dist/{vue-ui-thermometer-C_7z6ba0.js → vue-ui-thermometer-BmK3_O7T.js} +3 -3
  123. package/dist/{vue-ui-timer-BKHZtzRY.js → vue-ui-timer-BYw6Z01O.js} +3 -3
  124. package/dist/{vue-ui-tiremarks-CCLFPY-g.js → vue-ui-tiremarks-CWiME7zn.js} +3 -3
  125. package/dist/{vue-ui-treemap-Dw1ygcf6.js → vue-ui-treemap-D8PmfJbw.js} +3 -3
  126. package/dist/{vue-ui-vertical-bar-pLRJQ6-o.js → vue-ui-vertical-bar-DRC047BC.js} +4 -4
  127. package/dist/{vue-ui-waffle-XFGV0gsS.js → vue-ui-waffle-DAaBoyx4.js} +3 -3
  128. package/dist/vue-ui-wheel-DfNXrsTY.js +587 -0
  129. package/dist/{vue-ui-word-cloud-Czs95I-E.js → vue-ui-word-cloud-ByKWZtkV.js} +3 -3
  130. package/dist/{vue-ui-world-DTgxMNzP.js → vue-ui-world-BezpUr_Q.js} +2 -2
  131. package/dist/{vue-ui-xy-Cm3dbAmQ.js → vue-ui-xy-DlcJVA22.js} +415 -415
  132. package/dist/{vue-ui-xy-canvas-Cwiu1ND7.js → vue-ui-xy-canvas-DPfxdanR.js} +5 -5
  133. package/package.json +1 -1
  134. package/dist/vue-ui-quick-chart-Coh62JYO.js +0 -1802
  135. package/dist/vue-ui-wheel-BI7-CsXF.js +0 -380
@@ -0,0 +1,1892 @@
1
+ import { defineAsyncComponent as Ee, ref as w, computed as V, toRefs as da, watch as Te, shallowRef as Mt, onMounted as ca, onBeforeUnmount as Ot, nextTick as lt, watchEffect as fa, createElementBlock as n, openBlock as l, normalizeStyle as N, normalizeClass as de, createBlock as Ie, createCommentVNode as m, createElementVNode as z, createVNode as be, unref as s, createSlots as ha, withCtx as ne, renderSlot as W, normalizeProps as me, guardReactiveProps as ge, toDisplayString as B, Fragment as x, renderList as T, Teleport as ma, mergeProps as ot } from "vue";
2
+ import { c as ga, t as pa, b as ya, p as J, D as We, e as xa, L as ka, f as ba, o as Sa, h as nt, n as wa, E as Xe, X as Aa, u as La, v as it, w as Pe, a as ie, d as G, N as Nt, W as Dt, q as ue, z as je, A as ut } from "./lib-p5pfHmOX.js";
3
+ import { t as Bt, u as _a } from "./useResponsive-DfdjqQps.js";
4
+ import { u as za, a as Ut } from "./useNestedProp-7BbqoAYu.js";
5
+ import { u as $a } from "./usePrinter-Yeu5jOfm.js";
6
+ import { u as Ca } from "./useTimeLabels-BGFjWgrv.js";
7
+ import { u as Ea } from "./useChartAccessibility-9icAAmYg.js";
8
+ import { u as Ta } from "./useTimeLabelCollider-CIsgDrl9.js";
9
+ import Ia from "./img-CH7J0fYg.js";
10
+ import { S as Pa } from "./Slicer-qM5l8BsU.js";
11
+ import { t as Ra } from "./themes-D3cUNuKw.js";
12
+ import { u as Fa, B as Ma } from "./BaseScanner-BgWxam9d.js";
13
+ import { _ as Oa } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
+ const _ = {
15
+ LINE: "LINE",
16
+ BAR: "BAR",
17
+ DONUT: "DONUT"
18
+ }, Na = ["SERIE", "SERIES", "DATA", "VALUE", "VALUES", "NUM"];
19
+ function Da({ dataset: h, barLineSwitch: R = 6, debug: A = !0 }) {
20
+ let q = null, X = null, se = 0;
21
+ if ((typeof h == "number" || typeof h == "string") && A && console.warn(`The provided dataset (${h}) is not sufficient to build a chart`), Ye(h) && (re(h) && (h.length < R ? q = _.BAR : q = _.LINE, X = h, se = h.length), Ge(h))) {
22
+ if (!Ua(h))
23
+ return A && console.warn("The objects in the dataset array have a different data structure. Either keys or value types are different."), !1;
24
+ const Ze = Object.keys(h[0]), D = Object.values(h[0]);
25
+ if (!Ze.some((M) => Va(M)))
26
+ return A && 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;
27
+ Vt(D, (M) => typeof M == "number") && (q = _.DONUT, X = h), Vt(D, (M) => Array.isArray(M) && re(M)) && (qt(h) > R ? q = _.LINE : q = _.BAR, se = qt(h), X = h.map((M) => ({
28
+ ...M,
29
+ data: qa(M, (Re) => re(Re))
30
+ }))), h = h.map((M) => Ht(M)), X = X.map((M) => Ht(M));
31
+ }
32
+ return {
33
+ dataset: h,
34
+ type: q,
35
+ usableDataset: X,
36
+ maxSeriesLength: se
37
+ };
38
+ }
39
+ function Wt(h) {
40
+ return !h || Ye(h) && !h.length;
41
+ }
42
+ function Ye(h) {
43
+ return Array.isArray(h);
44
+ }
45
+ function re(h) {
46
+ if (!Ye(h) || Wt(h)) return !1;
47
+ const R = h.map((A) => Number(A));
48
+ return ![...new Set(R.flatMap((A) => typeof A == "number" && !isNaN(A)))].includes(!1);
49
+ }
50
+ function Ge(h) {
51
+ return !Ye(h) || Wt(h) || !![...new Set(h.flatMap((A) => typeof A == "object" && !Array.isArray(A)))].includes(!1) ? !1 : !h.map((A) => Object.keys(A).length > 0).includes(!1);
52
+ }
53
+ function Ba(h, R) {
54
+ const A = Object.keys(h).sort(), q = Object.keys(R).sort();
55
+ if (A.length !== q.length)
56
+ return !1;
57
+ for (let X = 0; X < A.length; X += 1) {
58
+ const se = A[X], Se = q[X];
59
+ if (se !== Se || typeof h[se] != typeof R[Se])
60
+ return !1;
61
+ }
62
+ return !0;
63
+ }
64
+ function Ua(h) {
65
+ if (h.length <= 1) return !0;
66
+ for (let R = 0; R < h.length; R += 1)
67
+ for (let A = R + 1; A < h.length; A += 1)
68
+ if (!Ba(h[R], h[A]))
69
+ return !1;
70
+ return !0;
71
+ }
72
+ function Va(h) {
73
+ return Na.includes(h.toUpperCase());
74
+ }
75
+ function Vt(h, R) {
76
+ let A = [];
77
+ for (let q = 0; q < h.length; q += 1)
78
+ A.push(R(h[q]));
79
+ return A.includes(!0);
80
+ }
81
+ function qt(h) {
82
+ return Math.max(...[...h].flatMap((R) => Object.values(R).filter((A) => re(A)).map((A) => A.length)));
83
+ }
84
+ function qa(h, R) {
85
+ return Object.values(h).filter((A) => R(A))[0];
86
+ }
87
+ function Ht(h) {
88
+ const R = {};
89
+ for (let A in h)
90
+ h.hasOwnProperty(A) && (R[A.toUpperCase()] = h[A]);
91
+ return R;
92
+ }
93
+ const Ha = ["id"], Wa = ["id"], Xa = ["xmlns", "viewBox"], ja = ["x", "y", "width", "height"], Ga = ["x", "y", "width", "height"], Ya = ["width", "height"], Za = ["id"], Ja = ["id"], Qa = ["id"], Ka = ["flood-color"], el = {
94
+ key: 0,
95
+ class: "donut-label-connectors"
96
+ }, tl = ["d", "stroke", "stroke-width", "filter"], al = ["cx", "cy", "r", "fill", "filter"], ll = { class: "donut" }, ol = ["d", "fill", "stroke", "stroke-width", "filter"], nl = ["d", "onMouseenter", "onMouseout", "onClick"], il = {
97
+ key: 1,
98
+ class: "donut-labels quick-animation"
99
+ }, ul = ["cx", "cy", "fill", "stroke", "filter"], rl = ["text-anchor", "x", "y", "fill", "font-size", "filter"], sl = ["text-anchor", "x", "y", "fill", "font-size", "filter"], vl = {
100
+ key: 2,
101
+ class: "donut-hollow quick-animation"
102
+ }, dl = ["x", "y", "font-size", "fill"], cl = ["x", "y", "font-size", "fill"], fl = {
103
+ key: 0,
104
+ class: "line-grid"
105
+ }, hl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ml = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], gl = {
106
+ key: 1,
107
+ class: "line-axis"
108
+ }, pl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], yl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], xl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], kl = ["x", "y", "font-size", "fill"], bl = {
109
+ key: 3,
110
+ class: "periodLabels"
111
+ }, Sl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], wl = { key: 0 }, Al = ["font-size", "text-anchor", "fill", "transform"], Ll = ["font-size", "text-anchor", "fill", "transform", "innerHTML"], _l = { class: "plots" }, zl = { class: "line-plot-series" }, $l = ["d", "stroke", "stroke-width"], Cl = ["d", "stroke", "stroke-width"], El = ["d", "stroke", "stroke-width"], Tl = ["d", "stroke", "stroke-width"], Il = ["cx", "cy", "fill", "stroke"], Pl = {
112
+ key: 4,
113
+ class: "dataLabels"
114
+ }, Rl = ["font-size", "fill", "x", "y"], Fl = {
115
+ key: 5,
116
+ class: "tooltip-traps"
117
+ }, Ml = ["x", "y", "height", "width", "fill", "onMouseenter", "onMouseleave", "onClick"], Ol = {
118
+ key: 0,
119
+ class: "line-grid"
120
+ }, Nl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Dl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Bl = {
121
+ key: 1,
122
+ class: "line-axis"
123
+ }, Ul = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Vl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ql = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Hl = ["x", "y", "font-size", "fill"], Wl = {
124
+ key: 3,
125
+ class: "periodLabels"
126
+ }, Xl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], jl = { key: 0 }, Gl = ["font-size", "text-anchor", "fill", "transform"], Yl = ["font-size", "text-anchor", "fill", "transform", "innerHTML"], Zl = { class: "plots" }, Jl = ["x", "width", "height", "y", "fill", "stroke", "stroke-width"], Ql = ["to"], Kl = ["from", "to"], eo = {
127
+ key: 4,
128
+ class: "dataLabels"
129
+ }, to = ["x", "y", "font-size", "fill"], ao = {
130
+ key: 5,
131
+ class: "tooltip-traps"
132
+ }, lo = ["x", "y", "height", "width", "fill", "onMouseenter", "onMouseleave", "onClick"], oo = {
133
+ key: 6,
134
+ class: "axis-labels"
135
+ }, no = ["font-size", "fill", "x", "y"], io = ["font-size", "fill", "x", "y"], uo = ["font-size", "fill", "transform"], ro = ["font-size", "fill", "transform"], so = {
136
+ key: 5,
137
+ class: "vue-data-ui-watermark"
138
+ }, vo = ["id"], co = ["onClick"], fo = ["onClick"], ho = ["onClick"], mo = {
139
+ key: 1,
140
+ class: "vue-ui-quick-chart-not-processable"
141
+ }, go = {
142
+ __name: "vue-ui-quick-chart",
143
+ props: {
144
+ config: {
145
+ type: Object,
146
+ default() {
147
+ return {};
148
+ }
149
+ },
150
+ dataset: {
151
+ type: [Array, Object, String, Number],
152
+ default() {
153
+ return null;
154
+ }
155
+ }
156
+ },
157
+ emits: ["selectDatapoint", "selectLegend"],
158
+ setup(h, { expose: R, emit: A }) {
159
+ const q = Ee(() => import("./BaseIcon-D2f9w5Z5.js")), X = Ee(() => import("./PackageVersion-BB7joYAK.js")), se = Ee(() => import("./PenAndPaper-CtDMyIvW.js")), Se = Ee(() => import("./Tooltip-Clf2K3CF.js")), rt = Ee(() => import("./UserOptions-Bn3u4JQu.js")), { vue_ui_quick_chart: Ze } = za(), D = h, M = w(null), Re = w(null), st = w(null), vt = w(null), Y = w(ga()), ce = w(!1), we = w(null), fe = w(""), te = w(null), dt = w(null), ct = w(null), L = w([]), ft = w(0), Fe = w(0), ht = w(!1), Ae = w(null), Le = w(null), ae = w(null), Me = w(null), mt = w(null), gt = w(null), Oe = w("#FFFFFF"), e = w(Ke()), Je = V(() => !!e.value.debug), { loading: U, FINAL_DATASET: Xt, manualLoading: pt } = Fa({
160
+ ...da(D),
161
+ FINAL_CONFIG: e,
162
+ prepareConfig: Ke,
163
+ callback: () => {
164
+ Promise.resolve().then(async () => {
165
+ await lt(), C.value === _.LINE && e.value.lineAnimated && !U.value && ia({
166
+ pathDuration: 1e3,
167
+ pointDuration: 1200,
168
+ labelDuration: 1200
169
+ });
170
+ });
171
+ },
172
+ skeletonDataset: [1, 2, 3, 5, 8, 13, 21, 34, 55, 89],
173
+ skeletonConfig: pa({
174
+ defaultConfig: e.value,
175
+ userConfig: {
176
+ backgroundColor: "#99999930",
177
+ customPalette: ["#BABABA"],
178
+ showDataLabels: !1,
179
+ paletteStartIndex: 0,
180
+ showUserOptions: !1,
181
+ showTooltip: !1,
182
+ xAxisLabel: "",
183
+ yAxisLabel: "",
184
+ xyAxisStroke: "#999999",
185
+ xyGridStroke: "#99999950",
186
+ xyPeriods: [],
187
+ xyShowScale: !1,
188
+ xyPaddingLeft: 6,
189
+ xyPaddingBottom: 12,
190
+ zoomXy: !1,
191
+ zoomStartIndex: null,
192
+ zoomEndIndex: null
193
+ }
194
+ })
195
+ }), { svgRef: yt } = Ea({ config: { text: e.value.title } }), jt = V(() => e.value.showUserOptionsOnChartHover), xt = V(() => e.value.keepUserOptionsStateOnChartLeave), Ne = w(!e.value.showUserOptionsOnChartHover), Qe = w(!1);
196
+ function kt(a = !1) {
197
+ Qe.value = a, jt.value && (Ne.value = a);
198
+ }
199
+ function Ke() {
200
+ const a = Ut({
201
+ userConfig: D.config,
202
+ defaultConfig: Ze
203
+ });
204
+ let r = {};
205
+ return a.theme ? r = {
206
+ ...Ut({
207
+ userConfig: Ra.vue_ui_quick_chart[a.theme] || D.config,
208
+ defaultConfig: a
209
+ }),
210
+ customPalette: ya[a.theme] || J
211
+ } : r = a, D.config && We(D.config, "zoomStartIndex") ? r.zoomStartIndex = D.config.zoomStartIndex : r.zoomStartIndex = null, D.config && We(D.config, "zoomEndIndex") ? r.zoomEndIndex = D.config.zoomEndIndex : r.zoomEndIndex = null, D.config && !We(D.config, "donutStroke") ? We(D.config, "backgroundColor") ? Oe.value = D.config.backgroundColor : Oe.value = "#FFFFFF" : Oe.value = D.config.donutStroke, r;
212
+ }
213
+ Te(() => D.config, (a) => {
214
+ U.value || (e.value = Ke()), S.value.width = e.value.width, S.value.height = e.value.height, Ne.value = !e.value.showUserOptionsOnChartHover, wt(), ye.value.showTooltip = e.value.showTooltip;
215
+ }, { deep: !0 }), Te(() => D.dataset, (a) => {
216
+ k.value = ze.value, y.value.start = 0, y.value.end = k.value.maxSeriesLength, Fe.value += 1;
217
+ }, { deep: !0 }), Te(() => D.dataset, (a) => {
218
+ Array.isArray(a) && a.length > 0 && (pt.value = !1);
219
+ }, { immediate: !0 });
220
+ const _e = V(() => xa(e.value.customPalette)), pe = A, ze = V(() => {
221
+ const a = Da({ debug: Je.value, dataset: ka(Xt.value, [
222
+ "serie",
223
+ "series",
224
+ "data",
225
+ "value",
226
+ "values",
227
+ "num"
228
+ ]), barLineSwitch: e.value.chartIsBarUnderDatasetLength });
229
+ return !a && Je.value && console.error("VueUiQuickChart : Dataset is not processable"), a;
230
+ }), k = w(ze.value), Gt = V(() => !!k.value), C = V(() => k.value ? k.value.type : null);
231
+ Te(() => C.value, (a) => {
232
+ a || ba({
233
+ componentName: "VueUiQuickChart",
234
+ type: "dataset",
235
+ debug: Je.value
236
+ });
237
+ }, { immediate: !0 });
238
+ const { isPrinting: De, isImaging: Be, generatePdf: bt, generateImage: St } = $a({
239
+ elementId: `${C.value}_${Y.value}`,
240
+ fileName: e.value.title || C.value,
241
+ options: e.value.userOptionsPrint
242
+ }), Yt = V(() => e.value.showUserOptions && !e.value.title), S = w({
243
+ width: e.value.width,
244
+ height: e.value.height
245
+ }), ye = w({
246
+ showTooltip: e.value.showTooltip
247
+ });
248
+ Te(e, () => {
249
+ ye.value = {
250
+ showTooltip: e.value.showTooltip
251
+ };
252
+ }, { immediate: !0 });
253
+ const ve = Mt(null), xe = Mt(null);
254
+ ca(async () => {
255
+ ht.value = !0, wt();
256
+ });
257
+ function wt() {
258
+ if (Sa(D.dataset) || (pt.value = e.value.loading), e.value.responsive) {
259
+ const a = Bt(() => {
260
+ const { width: r, height: t } = _a({
261
+ chart: M.value,
262
+ title: e.value.title ? Re.value : null,
263
+ legend: e.value.showLegend ? st.value : null,
264
+ slicer: [_.BAR, _.LINE].includes(C.value) && e.value.zoomXy && k.value.maxSeriesLength > 1 ? vt.value : null,
265
+ source: dt.value,
266
+ noTitle: ct.value
267
+ });
268
+ requestAnimationFrame(() => {
269
+ S.value.width = r, S.value.height = t;
270
+ });
271
+ });
272
+ ve.value && (xe.value && ve.value.unobserve(xe.value), ve.value.disconnect()), ve.value = new ResizeObserver(a), xe.value = M.value.parentNode, ve.value.observe(xe.value);
273
+ }
274
+ Et();
275
+ }
276
+ Ot(() => {
277
+ ve.value && (xe.value && ve.value.unobserve(xe.value), ve.value.disconnect());
278
+ });
279
+ const Zt = V(() => {
280
+ switch (C.value) {
281
+ case _.LINE:
282
+ return `0 0 ${S.value.width <= 0 ? 10 : S.value.width} ${S.value.height <= 0 ? 10 : S.value.height}`;
283
+ case _.BAR:
284
+ return `0 0 ${S.value.width <= 0 ? 10 : S.value.width} ${S.value.height <= 0 ? 10 : S.value.height}`;
285
+ case _.DONUT:
286
+ return `0 0 ${S.value.width <= 0 ? 10 : S.value.width} ${S.value.height <= 0 ? 10 : S.value.height}`;
287
+ default:
288
+ return `0 0 ${S.value.width <= 0 ? 10 : S.value.width} ${S.value.height <= 0 ? 10 : S.value.height}`;
289
+ }
290
+ });
291
+ function At(a) {
292
+ return [...a].map((r) => r.value).reduce((r, t) => r + t, 0);
293
+ }
294
+ function $e(a) {
295
+ return e.value.blurOnHover && ![null, void 0].includes(te.value) && te.value !== a ? `url(#blur_${Y.value})` : "";
296
+ }
297
+ function Lt(a, r) {
298
+ L.value.includes(a) ? L.value = L.value.filter((t) => t !== a) : L.value.length < r && L.value.push(a);
299
+ }
300
+ const _t = w(null), zt = w(null), Ue = w(!1);
301
+ function Jt(a, r) {
302
+ Ue.value = !0;
303
+ let t = a.value;
304
+ const o = ze.value.dataset.find((u, p) => a.id === `donut_${p}`).VALUE;
305
+ if (L.value.includes(a.id)) {
306
+ let u = function() {
307
+ t > o ? (Ue.value = !1, cancelAnimationFrame(zt.value), k.value = {
308
+ ...k.value,
309
+ dataset: k.value.dataset.map((p, b) => a.id === `donut_${b}` ? {
310
+ ...p,
311
+ value: o,
312
+ VALUE: o
313
+ } : p)
314
+ }) : (t += o * 0.025, k.value = {
315
+ ...k.value,
316
+ dataset: k.value.dataset.map((p, b) => a.id === `donut_${b}` ? {
317
+ ...p,
318
+ value: t,
319
+ VALUE: t
320
+ } : p)
321
+ }, zt.value = requestAnimationFrame(u));
322
+ };
323
+ L.value = L.value.filter((p) => p !== a.id), u();
324
+ } else if (r.length > 1) {
325
+ let u = function() {
326
+ t < o / 100 ? (Ue.value = !1, cancelAnimationFrame(_t.value), L.value.push(a.id), k.value = {
327
+ ...k.value,
328
+ dataset: k.value.dataset.map((p, b) => a.id === `donut_${b}` ? {
329
+ ...p,
330
+ value: 0,
331
+ VALUE: 0
332
+ } : p)
333
+ }) : (t /= 1.1, k.value = {
334
+ ...k.value,
335
+ dataset: k.value.dataset.map((p, b) => a.id === `donut_${b}` ? {
336
+ ...p,
337
+ value: t,
338
+ VALUE: t
339
+ } : p)
340
+ }, _t.value = requestAnimationFrame(u));
341
+ };
342
+ u();
343
+ }
344
+ }
345
+ const le = w(null);
346
+ function Qt(a) {
347
+ le.value = a;
348
+ }
349
+ const $t = V(() => e.value.donutThicknessRatio < 0.01 ? 0.01 : e.value.donutThicknessRatio > 0.4 ? 0.4 : e.value.donutThicknessRatio), P = V(() => {
350
+ if (C.value !== _.DONUT) return null;
351
+ const a = k.value.dataset.map((f, $) => ({
352
+ ...f,
353
+ value: f.VALUE || f.DATA || f.SERIE || f.VALUES || f.NUM || 0,
354
+ name: f.NAME || f.DESCRIPTION || f.TITLE || f.LABEL || `Serie ${$}`,
355
+ id: `donut_${$}`
356
+ })).map((f, $) => ({
357
+ ...f,
358
+ color: f.COLOR ? nt(f.COLOR) : _e.value[$ + e.value.paletteStartIndex] || J[$ + e.value.paletteStartIndex] || J[($ + e.value.paletteStartIndex) % J.length],
359
+ immutableValue: f.value
360
+ }));
361
+ function r(f, $) {
362
+ return G({
363
+ v: isNaN(f.value / At($)) ? 0 : f.value / At($) * 100,
364
+ s: "%",
365
+ r: e.value.dataLabelRoundingPercentage
366
+ });
367
+ }
368
+ function t(f) {
369
+ return f.proportion * 100 > e.value.donutHideLabelUnderPercentage;
370
+ }
371
+ function o(f, $) {
372
+ const v = ze.value.dataset.find((g, E) => `donut_${E}` === f).VALUE;
373
+ return Math.abs(String(Number(v.toFixed(0))).length - String(Number($.toFixed(0))).length);
374
+ }
375
+ function u({ datapoint: f, seriesIndex: $ }) {
376
+ we.value = { datapoint: f, seriesIndex: $, config: e.value, dataset: a }, te.value = f.id;
377
+ const v = e.value.tooltipCustomFormat;
378
+ if (e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: f, seriesIndex: $ }), je(v) && ut(() => v({
379
+ datapoint: f,
380
+ seriesIndex: $,
381
+ series: a,
382
+ config: e.value
383
+ })))
384
+ fe.value = v({
385
+ datapoint: f,
386
+ seriesIndex: $,
387
+ series: a,
388
+ config: e.value
389
+ });
390
+ else {
391
+ let i = "";
392
+ i += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${f.name}</div>`, i += `<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="${f.color}"/></svg>`, i += `<b>${ie(
393
+ e.value.formatter,
394
+ f.value,
395
+ G({
396
+ p: e.value.valuePrefix,
397
+ v: f.value,
398
+ s: e.value.valueSuffix,
399
+ r: e.value.dataLabelRoundingValue
400
+ }),
401
+ { datapoint: f, seriesIndex: $ }
402
+ )}</b>`, i += `<span>(${G({ v: f.proportion * 100, s: "%", r: e.value.dataLabelRoundingPercentage })})</span></div>`, fe.value = `<div>${i}</div>`;
403
+ }
404
+ ce.value = !0;
405
+ }
406
+ function p({ datapoint: f, seriesIndex: $ }) {
407
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: f, seriesIndex: $ }), ce.value = !1, te.value = null, le.value = null;
408
+ }
409
+ function b({ datapoint: f, seriesIndex: $ }) {
410
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: f, seriesIndex: $ }), pe("selectDatapoint", f);
411
+ }
412
+ const I = {
413
+ centerX: S.value.width / 2,
414
+ centerY: S.value.height / 2
415
+ }, F = a.filter((f) => !L.value.includes(f.id)).map((f) => f.value || 0).reduce((f, $) => f + $, 0), K = a.map((f, $) => ({
416
+ ...f,
417
+ proportion: (f.value || 0) / F,
418
+ value: f.value || 0,
419
+ absoluteValue: ze.value.dataset.find((v, i) => `donut_${i}` === f.id).VALUE
420
+ })), oe = S.value.width / 2, Z = S.value.height / 2, j = S.value.height * e.value.donutRadiusRatio;
421
+ return {
422
+ dataset: K.filter((f) => !L.value.includes(f.id)),
423
+ legend: K,
424
+ drawingArea: I,
425
+ displayArcPercentage: r,
426
+ isArcBigEnough: t,
427
+ useTooltip: u,
428
+ killTooltip: p,
429
+ selectDatapoint: b,
430
+ getSpaces: o,
431
+ total: F,
432
+ cx: oe,
433
+ cy: Z,
434
+ radius: j,
435
+ chart: wa(
436
+ { series: a.filter((f) => !L.value.includes(f.id)) },
437
+ oe,
438
+ Z,
439
+ j,
440
+ j,
441
+ 1.99999,
442
+ 2,
443
+ 1,
444
+ 360,
445
+ 105.25,
446
+ S.value.height * $t.value
447
+ )
448
+ };
449
+ }), y = w({
450
+ start: 0,
451
+ end: k.value.maxSeriesLength
452
+ });
453
+ function Kt() {
454
+ Et();
455
+ }
456
+ const Ct = w(null);
457
+ async function Et() {
458
+ await lt(), await lt();
459
+ const { zoomStartIndex: a, zoomEndIndex: r } = e.value, t = Ct.value;
460
+ (a != null || r != null) && t ? (a != null && t.setStartValue(a), r != null && t.setEndValue(ea(r + 1))) : (y.value = {
461
+ start: 0,
462
+ end: k.value.maxSeriesLength
463
+ }, Fe.value += 1);
464
+ }
465
+ function ea(a) {
466
+ const r = k.value.maxSeriesLength;
467
+ return a > r ? r : a < 0 || e.value.zoomStartIndex !== null && a < e.value.zoomStartIndex ? e.value.zoomStartIndex !== null ? e.value.zoomStartIndex + 1 : 1 : a;
468
+ }
469
+ const ta = V(() => {
470
+ if (!e.value.zoomMinimap.show || C.value === _.DONUT) return [];
471
+ let a = [];
472
+ re(k.value.dataset) && (a = k.value.dataset), Ge(k.value.dataset) && (a = k.value.dataset.map((u, p) => ({
473
+ values: u.VALUE || u.DATA || u.SERIE || u.SERIES || u.VALUES || u.NUM || 0,
474
+ id: C.value === _.LINE ? `line_${p}` : `bar_${p}`
475
+ })).filter((u) => !L.value.includes(u.id)));
476
+ const r = re(a) ? a.length : Math.max(...a.map((u) => u.values.length));
477
+ let t = [];
478
+ if (re(a))
479
+ t = a;
480
+ else
481
+ for (let u = 0; u < r; u += 1)
482
+ t.push(a.map((p) => p.values[u] || 0).reduce((p, b) => (p || 0) + (b || 0), 0));
483
+ const o = Math.min(...t);
484
+ return t.map((u) => u + (o < 0 ? Math.abs(o) : 0));
485
+ });
486
+ function Tt() {
487
+ let a = 0;
488
+ return Me.value && (a = Array.from(Me.value.querySelectorAll("text")).reduce((o, u) => {
489
+ const p = u.getComputedTextLength();
490
+ return p > o ? p : o;
491
+ }, 0)), a + 4;
492
+ }
493
+ const et = w(0), aa = Bt((a) => {
494
+ et.value = a;
495
+ }, 100);
496
+ fa((a) => {
497
+ const r = ae.value;
498
+ if (!r) return;
499
+ const t = new ResizeObserver((o) => {
500
+ aa(o[0].contentRect.height);
501
+ });
502
+ t.observe(r), a(() => t.disconnect());
503
+ }), Ot(() => {
504
+ et.value = 0;
505
+ });
506
+ const Ve = V(() => {
507
+ let a = 0, r = 0;
508
+ return ae.value && (r = et.value), a + r;
509
+ }), c = V(() => {
510
+ if (C.value !== _.LINE) return null;
511
+ const a = {
512
+ height: S.value.height,
513
+ width: S.value.width
514
+ };
515
+ let r = Tt();
516
+ if (ae.value) {
517
+ const v = ae.value.getBBox().x;
518
+ v < 0 && (r += Math.abs(v));
519
+ }
520
+ const t = {
521
+ left: r + e.value.xyPaddingLeft,
522
+ top: e.value.xyPaddingTop,
523
+ right: a.width - e.value.xyPaddingRight,
524
+ bottom: a.height - e.value.xyPaddingBottom - Ve.value,
525
+ width: Math.max(10, a.width - e.value.xyPaddingLeft - e.value.xyPaddingRight - r),
526
+ height: Math.max(10, a.height - e.value.xyPaddingTop - e.value.xyPaddingBottom - Ve.value)
527
+ };
528
+ let o = [];
529
+ re(k.value.dataset) && (o = [
530
+ {
531
+ values: k.value.dataset.slice(y.value.start, y.value.end),
532
+ absoluteValues: k.value.dataset,
533
+ absoluteIndices: k.value.dataset.map((v, i) => i).slice(y.value.start, y.value.end),
534
+ name: e.value.title,
535
+ color: _e.value[e.value.paletteStartIndex] || J[e.value.paletteStartIndex],
536
+ id: "line_0"
537
+ }
538
+ ]), Ge(k.value.dataset) && (o = k.value.dataset.map((v, i) => ({
539
+ ...v,
540
+ values: v.VALUE || v.DATA || v.SERIE || v.SERIES || v.VALUES || v.NUM || 0,
541
+ name: v.NAME || v.DESCRIPTION || v.TITLE || v.LABEL || `Serie ${i}`,
542
+ id: `line_${i}`
543
+ })).map((v, i) => ({
544
+ ...v,
545
+ color: v.COLOR ? nt(v.COLOR) : _e.value[i + e.value.paletteStartIndex] || J[i + e.value.paletteStartIndex] || J[(i + e.value.paletteStartIndex) % J.length],
546
+ values: v.values.slice(y.value.start, y.value.end),
547
+ absoluteValues: v.values,
548
+ absoluteIndices: v.values.map((g, E) => E).slice(y.value.start, y.value.end)
549
+ })));
550
+ const u = {
551
+ max: Math.max(...o.filter((v) => !L.value.includes(v.id)).flatMap((v) => v.values)),
552
+ min: Math.min(...o.filter((v) => !L.value.includes(v.id)).flatMap((v) => v.values)),
553
+ maxSeries: Math.max(...o.map((v) => v.values.length))
554
+ }, p = u.max === u.min ? Xe(u.min, u.min + 1, e.value.xyScaleSegments) : Xe(u.min < 0 ? u.min : 0, u.max < 0 ? 0 : u.max, e.value.xyScaleSegments), b = u.min < 0 ? Math.abs(u.min) : 0, I = u.max < 0 ? t.top : t.bottom - b / (p.max + b) * t.height, F = t.width / u.maxSeries, K = p.ticks.map((v) => ({
555
+ y: t.bottom - t.height * ((v + b) / (p.max + b)),
556
+ x: t.left - 8,
557
+ value: v
558
+ })), oe = o.map((v, i) => ({
559
+ ...v,
560
+ coordinates: v.values.map((g, E) => ({
561
+ x: t.left + F * (E + 1) - F / 2,
562
+ y: t.bottom - (g + b) / (p.max + b) * t.height,
563
+ value: g
564
+ }))
565
+ })).map((v) => {
566
+ let i = [];
567
+ return v.coordinates.forEach((g) => {
568
+ i.push(`${g.x},${g.y} `);
569
+ }), {
570
+ ...v,
571
+ linePath: i.join(" ")
572
+ };
573
+ });
574
+ function Z(v) {
575
+ return o.map((i) => ({
576
+ ...i,
577
+ value: i.values[v],
578
+ absoluteIndex: i.absoluteIndices[v]
579
+ })).filter((i) => !L.value.includes(i.id));
580
+ }
581
+ function j(v) {
582
+ te.value = v, le.value = v;
583
+ const i = Z(v);
584
+ we.value = { datapoint: i, seriesIndex: v, config: e.value, dataset: o };
585
+ const g = e.value.tooltipCustomFormat;
586
+ if (e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: i, seriesIndex: v + y.value.start }), je(g) && ut(() => g({
587
+ datapoint: i,
588
+ seriesIndex: v,
589
+ series: o,
590
+ config: e.value
591
+ })))
592
+ fe.value = g({
593
+ datapoint: i,
594
+ seriesIndex: v,
595
+ series: o,
596
+ config: e.value
597
+ });
598
+ else {
599
+ let E = "";
600
+ Q.value[i[0].absoluteIndex] && (E += `<div style="border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${Q.value[i[0].absoluteIndex].text}</div>`), i.forEach((O, H) => {
601
+ E += `
602
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
603
+ <svg viewBox="0 0 12 12" height="14" width="12"><circle cx="6" cy="6" r="6" stroke="none" fill="${O.color}"/></svg>
604
+ <span>${O.name}:</span>
605
+ <b>${ie(
606
+ e.value.formatter,
607
+ O.value,
608
+ G({
609
+ p: e.value.valuePrefix,
610
+ v: O.value,
611
+ s: e.value.valueSuffix,
612
+ r: e.value.dataLabelRoundingValue
613
+ }),
614
+ { datapoint: O, seriesIndex: H }
615
+ )}
616
+ </b>
617
+ </div>
618
+ `;
619
+ }), fe.value = E;
620
+ }
621
+ ce.value = !0;
622
+ }
623
+ function f(v) {
624
+ const i = Z(v);
625
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: i, seriesIndex: v + y.value.start }), te.value = null, le.value = null, ce.value = !1;
626
+ }
627
+ function $(v) {
628
+ const i = Z(v);
629
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: i, seriesIndex: v + y.value.start }), pe("selectDatapoint", i);
630
+ }
631
+ return {
632
+ absoluteZero: I,
633
+ dataset: oe.filter((v) => !L.value.includes(v.id)),
634
+ legend: oe,
635
+ drawingArea: t,
636
+ extremes: u,
637
+ slotSize: F,
638
+ yLabels: K,
639
+ useTooltip: j,
640
+ killTooltip: f,
641
+ selectDatapoint: $
642
+ };
643
+ }), d = V(() => {
644
+ if (C.value !== _.BAR) return null;
645
+ const a = {
646
+ height: S.value.height,
647
+ width: S.value.width
648
+ };
649
+ let r = Tt();
650
+ if (ae.value) {
651
+ const i = ae.value.getBBox().x;
652
+ i < 0 && (r += Math.abs(i));
653
+ }
654
+ const t = {
655
+ left: r + e.value.xyPaddingLeft,
656
+ top: e.value.xyPaddingTop,
657
+ right: a.width - e.value.xyPaddingRight,
658
+ bottom: a.height - e.value.xyPaddingBottom - Ve.value,
659
+ width: Math.max(10, a.width - e.value.xyPaddingLeft - e.value.xyPaddingRight - r),
660
+ height: Math.max(10, a.height - e.value.xyPaddingTop - e.value.xyPaddingBottom - Ve.value)
661
+ };
662
+ let o = [];
663
+ re(k.value.dataset) && (o = [
664
+ {
665
+ values: k.value.dataset.slice(y.value.start, y.value.end),
666
+ absoluteValues: k.value.dataset,
667
+ absoluteIndices: k.value.dataset.map((i, g) => g).slice(y.value.start, y.value.end),
668
+ name: e.value.title,
669
+ color: _e.value[e.value.paletteStartIndex] || J[e.value.paletteStartIndex],
670
+ id: "bar_0"
671
+ }
672
+ ]), Ge(k.value.dataset) && (o = k.value.dataset.map((i, g) => ({
673
+ ...i,
674
+ values: i.VALUE || i.DATA || i.SERIE || i.SERIES || i.VALUES || i.NUM || 0,
675
+ name: i.NAME || i.DESCRIPTION || i.TITLE || i.LABEL || `Serie ${g}`,
676
+ id: `bar_${g}`
677
+ })).map((i, g) => ({
678
+ ...i,
679
+ color: i.COLOR ? nt(i.COLOR) : _e.value[g + e.value.paletteStartIndex] || J[g + e.value.paletteStartIndex] || J[(g + e.value.paletteStartIndex) % J.length],
680
+ values: i.values.slice(y.value.start, y.value.end),
681
+ absoluteValues: i.values,
682
+ absoluteIndices: i.values.map((E, O) => O).slice(y.value.start, y.value.end)
683
+ })));
684
+ const u = {
685
+ max: Math.max(...o.filter((i) => !L.value.includes(i.id)).flatMap((i) => i.values)) < 0 ? 0 : Math.max(...o.filter((i) => !L.value.includes(i.id)).flatMap((i) => i.values)),
686
+ min: Math.min(...o.filter((i) => !L.value.includes(i.id)).flatMap((i) => i.values)),
687
+ maxSeries: Math.max(...o.filter((i) => !L.value.includes(i.id)).map((i) => i.values.length))
688
+ }, p = u.min === u.max ? Xe(u.min, u.min + 1, e.value.xyScaleSegments) : Xe(u.min < 0 ? u.min : 0, u.max, e.value.xyScaleSegments), b = p.min < 0 ? Math.abs(p.min) : 0, I = t.bottom - b / (p.max + b) * t.height, F = t.width / u.maxSeries, K = p.ticks.map((i) => ({
689
+ y: t.bottom - t.height * ((i + b) / (p.max + b)),
690
+ x: t.left - 8,
691
+ value: i
692
+ })), oe = o.map((i, g) => ({
693
+ ...i,
694
+ coordinates: i.values.map((E, O) => {
695
+ const H = (E + b) / (u.max + b) * t.height, ee = Math.abs(E) / Math.abs(u.min) * (t.height - I), at = b / (u.max + b) * t.height, Ce = F / o.filter((he) => !L.value.includes(he.id)).length - e.value.barGap / o.filter((he) => !L.value.includes(he.id)).length;
696
+ return {
697
+ x: t.left + F * O + Ce * g + e.value.barGap / 2,
698
+ y: E > 0 ? t.bottom - H : I,
699
+ height: E > 0 ? H - at : ee,
700
+ value: E,
701
+ width: Ce
702
+ };
703
+ })
704
+ })), Z = o.filter((i) => !L.value.includes(i.id)).map((i, g) => ({
705
+ ...i,
706
+ coordinates: i.values.map((E, O) => {
707
+ const H = (E + b) / (u.max + b) * t.height, ee = Math.abs(E) / (u.max + b) * t.height, at = b / (u.max + b) * t.height, Ce = F / o.filter((he) => !L.value.includes(he.id)).length - e.value.barGap / o.filter((he) => !L.value.includes(he.id)).length;
708
+ return {
709
+ x: t.left + F * O + Ce * g + e.value.barGap / 2,
710
+ y: E > 0 ? t.bottom - H : I,
711
+ height: E > 0 ? H - at : ee,
712
+ value: E,
713
+ width: Ce
714
+ };
715
+ })
716
+ }));
717
+ function j(i) {
718
+ return o.map((g) => ({
719
+ ...g,
720
+ value: g.values[i],
721
+ absoluteIndex: g.absoluteIndices[i]
722
+ })).filter((g) => !L.value.includes(g.id));
723
+ }
724
+ function f(i) {
725
+ te.value = i, le.value = i;
726
+ const g = j(i);
727
+ we.value = { datapoint: g, seriesIndex: i, config: e.value, dataset: o };
728
+ const E = e.value.tooltipCustomFormat;
729
+ if (e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: g, seriesIndex: i + y.value.start }), je(E) && ut(() => E({
730
+ datapoint: g,
731
+ seriesIndex: i,
732
+ series: o,
733
+ config: e.value
734
+ })))
735
+ fe.value = E({
736
+ point: g,
737
+ seriesIndex: i,
738
+ series: o,
739
+ config: e.value
740
+ });
741
+ else {
742
+ let O = "";
743
+ Q.value[g[0].absoluteIndex] && (O += `<div style="border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${Q.value[g[0].absoluteIndex].text}</div>`), g.forEach((H, ee) => {
744
+ O += `
745
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
746
+ <svg viewBox="0 0 12 12" height="14" width="12"><rect x=0 y="0" width="12" height="12" rx="1" stroke="none" fill="${H.color}"/></svg>
747
+ <span>${H.name}:</span>
748
+ <b>${ie(
749
+ e.value.formatter,
750
+ H.value,
751
+ G({
752
+ p: e.value.valuePrefix,
753
+ v: H.value,
754
+ s: e.value.valueSuffix,
755
+ r: e.value.dataLabelRoundingValue
756
+ }),
757
+ { datapoint: H, seriesIndex: ee }
758
+ )}
759
+ </b>
760
+ </div>
761
+ `;
762
+ }), fe.value = O;
763
+ }
764
+ ce.value = !0;
765
+ }
766
+ function $(i) {
767
+ const g = j(i);
768
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: g, seriesIndex: i + y.value.start }), ce.value = !1, te.value = null, le.value = null;
769
+ }
770
+ function v(i) {
771
+ const g = j(i);
772
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: g, seriesIndex: i + y.value.start }), pe("selectDatapoint", g);
773
+ }
774
+ return {
775
+ absoluteZero: I,
776
+ dataset: Z.filter((i) => !L.value.includes(i.id)),
777
+ absoluteDataset: Z,
778
+ legend: oe,
779
+ drawingArea: t,
780
+ extremes: u,
781
+ slotSize: F,
782
+ yLabels: K,
783
+ useTooltip: f,
784
+ killTooltip: $,
785
+ selectDatapoint: v
786
+ };
787
+ });
788
+ function la(a) {
789
+ if (!a) return;
790
+ const r = a.getTotalLength();
791
+ a.style.transition = "none", a.style.strokeDasharray = `${r}`, a.style.strokeDashoffset = `${r}`;
792
+ }
793
+ function It(a, { fromOpacity: r = "0", fromScale: t = "0.85" } = {}) {
794
+ a.forEach((o) => {
795
+ o.style.animation = "none", o.style.transition = "none", o.style.opacity = r, o.style.transform = `scale(${t})`, o.style.transformBox = "fill-box", o.style.transformOrigin = "50% 50%";
796
+ });
797
+ }
798
+ function oa(a) {
799
+ return a.cx?.baseVal?.value ?? parseFloat(a.getAttribute("cx"));
800
+ }
801
+ function na(a) {
802
+ const r = a.getAttribute("x");
803
+ if (r != null) return parseFloat(r);
804
+ const t = a.getCTM?.();
805
+ return t ? t.e : 0;
806
+ }
807
+ function Pt(a, r) {
808
+ if (!a.length) return [];
809
+ const t = a.map((I) => ({ el: I, x: r(I) })).filter((I) => Number.isFinite(I.x));
810
+ t.sort((I, F) => I.x - F.x);
811
+ let o = 1 / 0;
812
+ for (let I = 1; I < t.length; I++) {
813
+ const F = t[I].x - t[I - 1].x;
814
+ F > 0 && F < o && (o = F);
815
+ }
816
+ const u = (o === 1 / 0 ? 1 : o) / 2, p = [];
817
+ let b = { x: t[0].x, items: [t[0].el] };
818
+ for (let I = 1; I < t.length; I++) {
819
+ const { x: F, el: K } = t[I];
820
+ Math.abs(F - b.x) <= u ? b.items.push(K) : (p.push(b), b = { x: F, items: [K] });
821
+ }
822
+ return p.push(b), p;
823
+ }
824
+ function ia({
825
+ pathDuration: a,
826
+ pathEasing: r = "ease-in-out",
827
+ pointDuration: t,
828
+ labelDuration: o,
829
+ pointDelay: u = 0,
830
+ labelDelay: p = 0,
831
+ pointStep: b = 0,
832
+ labelStep: I = 0,
833
+ intraSeriesStep: F = 0
834
+ } = {}) {
835
+ const K = Array.isArray(Ae.value) ? Ae.value : [Ae.value].filter(Boolean), oe = Array.isArray(Le.value) ? Le.value : [Le.value].filter(Boolean), Z = [...K, ...oe].filter(Boolean), j = M.value, f = Array.from(j.querySelectorAll(".vue-ui-quick-chart-plot")), $ = Array.from(j.querySelectorAll(".vue-ui-quick-chart-label"));
836
+ Z.forEach(la), It(f, { fromOpacity: "0", fromScale: "0.75" }), It($, { fromOpacity: "0", fromScale: "0.98" }), f.forEach((g) => g.classList.remove("quick-animation")), $.forEach((g) => g.classList.remove("quick-animation")), j.offsetWidth;
837
+ const v = Pt(f, oa), i = Pt($, na);
838
+ requestAnimationFrame(() => {
839
+ requestAnimationFrame(() => {
840
+ Z.forEach((g) => {
841
+ g.style.transition = `stroke-dashoffset ${a}ms ${r}`, g.style.strokeDashoffset = "0";
842
+ }), v.forEach((g, E) => {
843
+ g.items.forEach((O, H) => {
844
+ const ee = u + E * b + H * F;
845
+ O.style.transition = `opacity ${t}ms ease-out ${ee}ms, transform ${t}ms ease-out ${ee}ms`, O.style.opacity = "1", O.style.transform = "scale(1)";
846
+ });
847
+ }), i.forEach((g, E) => {
848
+ g.items.forEach((O, H) => {
849
+ const ee = p + E * I + H * F;
850
+ O.style.transition = `opacity ${o}ms ease-out ${ee}ms, transform ${o}ms ease-out ${ee}ms`, O.style.opacity = "1", O.style.transform = "scale(1)";
851
+ });
852
+ });
853
+ });
854
+ });
855
+ }
856
+ const ua = V(() => {
857
+ if (C.value === _.LINE)
858
+ return c.value.legend.map((a) => (Math.min(...a.absoluteValues.map((r) => r ?? 0)), {
859
+ ...a,
860
+ isVisible: !L.value.includes(a.id),
861
+ type: "line",
862
+ series: a.absoluteValues
863
+ }));
864
+ if (C.value === _.BAR)
865
+ return d.value.absoluteDataset.map((a) => (Math.min(...a.absoluteValues.map((r) => r ?? 0)), {
866
+ ...a,
867
+ isVisible: !L.value.includes(a.id),
868
+ type: "bar",
869
+ series: a.absoluteValues
870
+ }));
871
+ }), Q = V(() => Ca({
872
+ values: e.value.xyPeriods,
873
+ maxDatapoints: k.value.maxSeriesLength,
874
+ formatter: e.value.datetimeFormatter,
875
+ start: y.value.start,
876
+ end: y.value.end
877
+ })), ke = V(() => {
878
+ const a = e.value.xyPeriodsModulo;
879
+ return e.value.xyPeriods.length ? Math.min(a, [...new Set(Q.value.map((r) => r.text))].length) : a;
880
+ }), qe = w(!1);
881
+ function Rt(a) {
882
+ qe.value = a, ft.value += 1;
883
+ }
884
+ function Ft() {
885
+ ye.value.showTooltip = !ye.value.showTooltip;
886
+ }
887
+ const He = w(!1);
888
+ function tt() {
889
+ He.value = !He.value;
890
+ }
891
+ async function ra({ scale: a = 2 } = {}) {
892
+ if (!M.value) return;
893
+ const { width: r, height: t } = M.value.getBoundingClientRect(), o = r / t, { imageUri: u, base64: p } = await Ia({ domElement: M.value, base64: !0, img: !0, scale: a });
894
+ return {
895
+ imageUri: u,
896
+ base64: p,
897
+ title: e.value.title,
898
+ width: r,
899
+ height: t,
900
+ aspectRatio: o
901
+ };
902
+ }
903
+ const sa = V(() => S.value.width), va = V(() => S.value.height);
904
+ return Ta({
905
+ timeLabelsEls: ae,
906
+ timeLabels: Q,
907
+ slicer: y,
908
+ configRef: e,
909
+ rotationPath: ["xyPeriodLabelsRotation"],
910
+ autoRotatePath: ["xyPeriodLabelsAutoRotate", "enable"],
911
+ isAutoSize: !1,
912
+ rotation: e.value.xyPeriodLabelsAutoRotate.angle,
913
+ height: va.value,
914
+ width: sa.value
915
+ }), R({
916
+ getImage: ra,
917
+ generatePdf: bt,
918
+ generateImage: St,
919
+ toggleTooltip: Ft,
920
+ toggleAnnotator: tt,
921
+ toggleFullscreen: Rt
922
+ }), (a, r) => Gt.value ? (l(), n("div", {
923
+ key: 0,
924
+ id: `${C.value}_${Y.value}`,
925
+ ref_key: "quickChart",
926
+ ref: M,
927
+ class: de({ "vue-ui-quick-chart": !0, "vue-data-ui-wrapper-fullscreen": qe.value }),
928
+ style: N(`background:${e.value.backgroundColor};color:${e.value.color};font-family:${e.value.fontFamily}; position: relative; ${e.value.responsive ? "height: 100%" : ""}`),
929
+ onMouseenter: r[2] || (r[2] = () => kt(!0)),
930
+ onMouseleave: r[3] || (r[3] = () => kt(!1))
931
+ }, [
932
+ e.value.userOptionsButtons.annotator ? (l(), Ie(s(se), {
933
+ key: 0,
934
+ svgRef: s(yt),
935
+ backgroundColor: e.value.backgroundColor,
936
+ color: e.value.color,
937
+ active: He.value,
938
+ onClose: tt
939
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : m("", !0),
940
+ Yt.value ? (l(), n("div", {
941
+ key: 1,
942
+ ref_key: "noTitle",
943
+ ref: ct,
944
+ class: "vue-data-ui-no-title-space",
945
+ style: "height:36px; width: 100%;background:transparent"
946
+ }, null, 512)) : m("", !0),
947
+ e.value.showUserOptions && (xt.value || Ne.value) ? (l(), Ie(s(rt), {
948
+ ref: "details",
949
+ key: `user_option_${ft.value}`,
950
+ backgroundColor: e.value.backgroundColor,
951
+ color: e.value.color,
952
+ isPrinting: s(De),
953
+ isImaging: s(Be),
954
+ uid: Y.value,
955
+ hasTooltip: e.value.userOptionsButtons.tooltip && e.value.showTooltip,
956
+ hasPdf: e.value.userOptionsButtons.pdf,
957
+ hasImg: e.value.userOptionsButtons.img,
958
+ hasFullscreen: e.value.userOptionsButtons.fullscreen,
959
+ hasXls: !1,
960
+ isTooltip: ye.value.showTooltip,
961
+ isFullscreen: qe.value,
962
+ titles: { ...e.value.userOptionsButtonTitles },
963
+ chartElement: M.value,
964
+ position: e.value.userOptionsPosition,
965
+ hasAnnotator: e.value.userOptionsButtons.annotator,
966
+ isAnnotation: He.value,
967
+ callbacks: e.value.userOptionsCallbacks,
968
+ printScale: e.value.userOptionsPrint.scale,
969
+ onToggleFullscreen: Rt,
970
+ onGeneratePdf: s(bt),
971
+ onGenerateImage: s(St),
972
+ onToggleTooltip: Ft,
973
+ onToggleAnnotator: tt,
974
+ style: N({
975
+ visibility: xt.value ? Ne.value ? "visible" : "hidden" : "visible"
976
+ })
977
+ }, ha({ _: 2 }, [
978
+ a.$slots.menuIcon ? {
979
+ name: "menuIcon",
980
+ fn: ne(({ isOpen: t, color: o }) => [
981
+ W(a.$slots, "menuIcon", me(ge({ isOpen: t, color: o })), void 0, !0)
982
+ ]),
983
+ key: "0"
984
+ } : void 0,
985
+ a.$slots.optionTooltip ? {
986
+ name: "optionTooltip",
987
+ fn: ne(() => [
988
+ W(a.$slots, "optionTooltip", {}, void 0, !0)
989
+ ]),
990
+ key: "1"
991
+ } : void 0,
992
+ a.$slots.optionPdf ? {
993
+ name: "optionPdf",
994
+ fn: ne(() => [
995
+ W(a.$slots, "optionPdf", {}, void 0, !0)
996
+ ]),
997
+ key: "2"
998
+ } : void 0,
999
+ a.$slots.optionImg ? {
1000
+ name: "optionImg",
1001
+ fn: ne(() => [
1002
+ W(a.$slots, "optionImg", {}, void 0, !0)
1003
+ ]),
1004
+ key: "3"
1005
+ } : void 0,
1006
+ a.$slots.optionFullscreen ? {
1007
+ name: "optionFullscreen",
1008
+ fn: ne(({ toggleFullscreen: t, isFullscreen: o }) => [
1009
+ W(a.$slots, "optionFullscreen", me(ge({ toggleFullscreen: t, isFullscreen: o })), void 0, !0)
1010
+ ]),
1011
+ key: "4"
1012
+ } : void 0,
1013
+ a.$slots.optionAnnotator ? {
1014
+ name: "optionAnnotator",
1015
+ fn: ne(({ toggleAnnotator: t, isAnnotator: o }) => [
1016
+ W(a.$slots, "optionAnnotator", me(ge({ toggleAnnotator: t, isAnnotator: o })), void 0, !0)
1017
+ ]),
1018
+ key: "5"
1019
+ } : void 0
1020
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasFullscreen", "isTooltip", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : m("", !0),
1021
+ e.value.title ? (l(), n("div", {
1022
+ key: 3,
1023
+ ref_key: "quickChartTitle",
1024
+ ref: Re,
1025
+ class: "vue-ui-quick-chart-title",
1026
+ style: N(`background:transparent;color:${e.value.color};font-size:${e.value.titleFontSize}px;font-weight:${e.value.titleBold ? "bold" : "normal"};text-align:${e.value.titleTextAlign}`)
1027
+ }, B(e.value.title), 5)) : m("", !0),
1028
+ z("div", {
1029
+ id: `legend-top-${Y.value}`
1030
+ }, null, 8, Wa),
1031
+ C.value ? (l(), n("svg", {
1032
+ key: 4,
1033
+ ref_key: "svgRef",
1034
+ ref: yt,
1035
+ xmlns: s(Aa),
1036
+ viewBox: Zt.value,
1037
+ style: N(`max-width:100%;overflow:visible;background:transparent;color:${e.value.color}`)
1038
+ }, [
1039
+ be(s(X)),
1040
+ a.$slots["chart-background"] && C.value === _.BAR ? (l(), n("foreignObject", {
1041
+ key: 0,
1042
+ x: d.value.drawingArea.left,
1043
+ y: d.value.drawingArea.top,
1044
+ width: d.value.drawingArea.width,
1045
+ height: d.value.drawingArea.height,
1046
+ style: {
1047
+ pointerEvents: "none"
1048
+ }
1049
+ }, [
1050
+ W(a.$slots, "chart-background", {}, void 0, !0)
1051
+ ], 8, ja)) : m("", !0),
1052
+ a.$slots["chart-background"] && C.value === _.LINE ? (l(), n("foreignObject", {
1053
+ key: 1,
1054
+ x: c.value.drawingArea.left,
1055
+ y: c.value.drawingArea.top,
1056
+ width: c.value.drawingArea.width,
1057
+ height: c.value.drawingArea.height,
1058
+ style: {
1059
+ pointerEvents: "none"
1060
+ }
1061
+ }, [
1062
+ W(a.$slots, "chart-background", {}, void 0, !0)
1063
+ ], 8, Ga)) : m("", !0),
1064
+ a.$slots["chart-background"] && C.value === _.DONUT ? (l(), n("foreignObject", {
1065
+ key: 2,
1066
+ x: 0,
1067
+ y: 0,
1068
+ width: S.value.width,
1069
+ height: S.value.height,
1070
+ style: {
1071
+ pointerEvents: "none"
1072
+ }
1073
+ }, [
1074
+ W(a.$slots, "chart-background", {}, void 0, !0)
1075
+ ], 8, Ya)) : m("", !0),
1076
+ z("defs", null, [
1077
+ z("filter", {
1078
+ id: `blur_${Y.value}`,
1079
+ x: "-50%",
1080
+ y: "-50%",
1081
+ width: "200%",
1082
+ height: "200%"
1083
+ }, [
1084
+ z("feGaussianBlur", {
1085
+ in: "SourceGraphic",
1086
+ stdDeviation: 2,
1087
+ id: `blur_std_${Y.value}`
1088
+ }, null, 8, Ja),
1089
+ r[4] || (r[4] = z("feColorMatrix", {
1090
+ type: "saturate",
1091
+ values: "0"
1092
+ }, null, -1))
1093
+ ], 8, Za),
1094
+ z("filter", {
1095
+ id: `shadow_${Y.value}`,
1096
+ "color-interpolation-filters": "sRGB"
1097
+ }, [
1098
+ z("feDropShadow", {
1099
+ dx: "0",
1100
+ dy: "0",
1101
+ stdDeviation: "10",
1102
+ "flood-opacity": "0.5",
1103
+ "flood-color": e.value.donutShadowColor
1104
+ }, null, 8, Ka)
1105
+ ], 8, Qa)
1106
+ ]),
1107
+ C.value === _.DONUT ? (l(), n(x, { key: 3 }, [
1108
+ e.value.showDataLabels ? (l(), n("g", el, [
1109
+ (l(!0), n(x, null, T(P.value.chart, (t, o) => (l(), n(x, null, [
1110
+ P.value.isArcBigEnough(t) ? (l(), n("path", {
1111
+ key: 0,
1112
+ d: s(La)(t, { x: S.value.width / 2, y: S.value.height / 2 }, 16, 16, !1, !1, S.value.height * $t.value, 12, e.value.donutCurvedMarkers),
1113
+ stroke: t.color,
1114
+ "stroke-width": e.value.donutLabelMarkerStrokeWidth,
1115
+ "stroke-linecap": "round",
1116
+ "stroke-linejoin": "round",
1117
+ fill: "none",
1118
+ filter: $e(t.id)
1119
+ }, null, 8, tl)) : m("", !0)
1120
+ ], 64))), 256))
1121
+ ])) : m("", !0),
1122
+ z("circle", {
1123
+ cx: P.value.cx,
1124
+ cy: P.value.cy,
1125
+ r: P.value.radius,
1126
+ fill: e.value.backgroundColor,
1127
+ filter: e.value.donutUseShadow ? `url(#shadow_${Y.value})` : ""
1128
+ }, null, 8, al),
1129
+ z("g", ll, [
1130
+ (l(!0), n(x, null, T(P.value.chart, (t, o) => (l(), n("path", {
1131
+ d: t.arcSlice,
1132
+ fill: t.color,
1133
+ stroke: Oe.value,
1134
+ "stroke-width": e.value.donutStrokeWidth,
1135
+ filter: $e(t.id)
1136
+ }, null, 8, ol))), 256)),
1137
+ (l(!0), n(x, null, T(P.value.chart, (t, o) => (l(), n("path", {
1138
+ d: t.arcSlice,
1139
+ fill: "transparent",
1140
+ onMouseenter: (u) => P.value.useTooltip({ datapoint: t, seriesIndex: o }),
1141
+ onMouseout: (u) => P.value.killTooltip({ datapoint: t, seriesIndex: o }),
1142
+ onClick: (u) => P.value.selectDatapoint({ datapoint: t, seriesIndex: o })
1143
+ }, null, 40, nl))), 256))
1144
+ ]),
1145
+ e.value.showDataLabels ? (l(), n("g", il, [
1146
+ (l(!0), n(x, null, T(P.value.chart, (t, o) => (l(), n(x, null, [
1147
+ P.value.isArcBigEnough(t) ? (l(), n("circle", {
1148
+ key: 0,
1149
+ cx: s(Pe)(t).x,
1150
+ cy: s(it)(t) - 3.7,
1151
+ fill: t.color,
1152
+ stroke: e.value.backgroundColor,
1153
+ "stroke-width": 1,
1154
+ r: 3,
1155
+ filter: $e(t.id)
1156
+ }, null, 8, ul)) : m("", !0),
1157
+ P.value.isArcBigEnough(t) ? (l(), n("text", {
1158
+ key: 1,
1159
+ "text-anchor": s(Pe)(t, !0, 20).anchor,
1160
+ x: s(Pe)(t, !0).x,
1161
+ y: s(it)(t),
1162
+ fill: e.value.color,
1163
+ "font-size": e.value.dataLabelFontSize,
1164
+ filter: $e(t.id)
1165
+ }, B(P.value.displayArcPercentage(t, P.value.chart)) + " (" + B(s(ie)(
1166
+ e.value.formatter,
1167
+ t.value,
1168
+ s(G)({
1169
+ p: e.value.valuePrefix,
1170
+ v: t.value,
1171
+ s: e.value.valueSuffix,
1172
+ r: e.value.dataLabelRoundingValue
1173
+ }),
1174
+ { datapoint: t, seriesIndex: o }
1175
+ )) + ") ", 9, rl)) : m("", !0),
1176
+ P.value.isArcBigEnough(t, !0, 20) ? (l(), n("text", {
1177
+ key: 2,
1178
+ "text-anchor": s(Pe)(t).anchor,
1179
+ x: s(Pe)(t, !0).x,
1180
+ y: s(it)(t) + e.value.dataLabelFontSize,
1181
+ fill: e.value.color,
1182
+ "font-size": e.value.dataLabelFontSize,
1183
+ filter: $e(t.id)
1184
+ }, B(t.name), 9, sl)) : m("", !0)
1185
+ ], 64))), 256))
1186
+ ])) : m("", !0),
1187
+ e.value.donutShowTotal ? (l(), n("g", vl, [
1188
+ z("text", {
1189
+ "text-anchor": "middle",
1190
+ x: P.value.drawingArea.centerX,
1191
+ y: P.value.drawingArea.centerY - e.value.donutTotalLabelFontSize / 2,
1192
+ "font-size": e.value.donutTotalLabelFontSize,
1193
+ fill: e.value.color
1194
+ }, B(e.value.donutTotalLabelText), 9, dl),
1195
+ z("text", {
1196
+ "text-anchor": "middle",
1197
+ x: P.value.drawingArea.centerX,
1198
+ y: P.value.drawingArea.centerY + e.value.donutTotalLabelFontSize,
1199
+ "font-size": e.value.donutTotalLabelFontSize,
1200
+ fill: e.value.color
1201
+ }, B(s(G)({
1202
+ p: e.value.valuePrefix,
1203
+ v: P.value.total,
1204
+ s: e.value.valueSuffix,
1205
+ r: e.value.dataLabelRoundingValue
1206
+ })), 9, cl)
1207
+ ])) : m("", !0)
1208
+ ], 64)) : m("", !0),
1209
+ C.value === _.LINE ? (l(), n(x, { key: 4 }, [
1210
+ e.value.xyShowGrid ? (l(), n("g", fl, [
1211
+ (l(!0), n(x, null, T(c.value.yLabels, (t) => (l(), n(x, null, [
1212
+ t.y <= c.value.drawingArea.bottom ? (l(), n("line", {
1213
+ key: 0,
1214
+ x1: c.value.drawingArea.left,
1215
+ x2: c.value.drawingArea.right,
1216
+ y1: t.y,
1217
+ y2: t.y,
1218
+ stroke: e.value.xyGridStroke,
1219
+ "stroke-width": e.value.xyGridStrokeWidth,
1220
+ "stroke-linecap": "round"
1221
+ }, null, 8, hl)) : m("", !0)
1222
+ ], 64))), 256)),
1223
+ (l(!0), n(x, null, T(c.value.extremes.maxSeries + 1, (t, o) => (l(), n("line", {
1224
+ x1: c.value.drawingArea.left + c.value.slotSize * o,
1225
+ x2: c.value.drawingArea.left + c.value.slotSize * o,
1226
+ y1: c.value.drawingArea.top,
1227
+ y2: c.value.drawingArea.bottom,
1228
+ stroke: e.value.xyGridStroke,
1229
+ "stroke-width": e.value.xyGridStrokeWidth,
1230
+ "stroke-linecap": "round"
1231
+ }, null, 8, ml))), 256))
1232
+ ])) : m("", !0),
1233
+ e.value.xyShowAxis ? (l(), n("g", gl, [
1234
+ z("line", {
1235
+ x1: c.value.drawingArea.left,
1236
+ x2: c.value.drawingArea.left,
1237
+ y1: c.value.drawingArea.top,
1238
+ y2: c.value.drawingArea.bottom,
1239
+ stroke: e.value.xyAxisStroke,
1240
+ "stroke-width": e.value.xyAxisStrokeWidth,
1241
+ "stroke-linecap": "round"
1242
+ }, null, 8, pl),
1243
+ z("line", {
1244
+ x1: c.value.drawingArea.left,
1245
+ x2: c.value.drawingArea.right,
1246
+ y1: isNaN(c.value.absoluteZero) ? c.value.drawingArea.bottom : c.value.absoluteZero,
1247
+ y2: isNaN(c.value.absoluteZero) ? c.value.drawingArea.bottom : c.value.absoluteZero,
1248
+ stroke: e.value.xyAxisStroke,
1249
+ "stroke-width": e.value.xyAxisStrokeWidth,
1250
+ "stroke-linecap": "round"
1251
+ }, null, 8, yl)
1252
+ ])) : m("", !0),
1253
+ e.value.xyShowScale ? (l(), n("g", {
1254
+ key: 2,
1255
+ class: "yLabels",
1256
+ ref_key: "scaleLabels",
1257
+ ref: Me
1258
+ }, [
1259
+ (l(!0), n(x, null, T(c.value.yLabels, (t, o) => (l(), n(x, null, [
1260
+ t.y <= c.value.drawingArea.bottom ? (l(), n("line", {
1261
+ key: 0,
1262
+ x1: t.x + 4,
1263
+ x2: c.value.drawingArea.left,
1264
+ y1: t.y,
1265
+ y2: t.y,
1266
+ stroke: e.value.xyAxisStroke,
1267
+ "stroke-width": e.value.xyAxisStrokeWidth,
1268
+ "stroke-linecap": "round"
1269
+ }, null, 8, xl)) : m("", !0),
1270
+ t.y <= c.value.drawingArea.bottom ? (l(), n("text", {
1271
+ key: 1,
1272
+ x: t.x,
1273
+ y: t.y + e.value.xyLabelsYFontSize / 3,
1274
+ "text-anchor": "end",
1275
+ "font-size": e.value.xyLabelsYFontSize,
1276
+ fill: e.value.color
1277
+ }, B(s(ie)(
1278
+ e.value.formatter,
1279
+ t.value,
1280
+ s(G)({
1281
+ p: e.value.valuePrefix,
1282
+ v: t.value,
1283
+ s: e.value.valueSuffix,
1284
+ r: e.value.dataLabelRoundingValue
1285
+ }),
1286
+ { datapoint: t, seriesIndex: o }
1287
+ )), 9, kl)) : m("", !0)
1288
+ ], 64))), 256))
1289
+ ], 512)) : m("", !0),
1290
+ e.value.xyShowScale && e.value.xyPeriods.length ? (l(), n("g", bl, [
1291
+ (l(!0), n(x, null, T(Q.value.map((t) => t.text), (t, o) => (l(), n(x, null, [
1292
+ !e.value.xyPeriodsShowOnlyAtModulo || e.value.xyPeriodsShowOnlyAtModulo && o % Math.floor((y.value.end - y.value.start) / ke.value) === 0 || y.value.end - y.value.start <= ke.value ? (l(), n("line", {
1293
+ key: 0,
1294
+ x1: c.value.drawingArea.left + c.value.slotSize * (o + 1) - c.value.slotSize / 2,
1295
+ x2: c.value.drawingArea.left + c.value.slotSize * (o + 1) - c.value.slotSize / 2,
1296
+ y1: c.value.drawingArea.bottom,
1297
+ y2: c.value.drawingArea.bottom + 4,
1298
+ stroke: e.value.xyAxisStroke,
1299
+ "stroke-width": e.value.xyAxisStrokeWidth,
1300
+ "stroke-linecap": "round"
1301
+ }, null, 8, Sl)) : m("", !0)
1302
+ ], 64))), 256)),
1303
+ z("g", {
1304
+ ref_key: "timeLabelsEls",
1305
+ ref: ae
1306
+ }, [
1307
+ (l(!0), n(x, null, T(Q.value.map((t) => t.text), (t, o) => (l(), n(x, null, [
1308
+ !e.value.xyPeriodsShowOnlyAtModulo || e.value.xyPeriodsShowOnlyAtModulo && o % Math.floor((y.value.end - y.value.start) / ke.value) === 0 || y.value.end - y.value.start <= ke.value ? (l(), n("g", wl, [
1309
+ String(t).includes(`
1310
+ `) ? (l(), n("text", {
1311
+ key: 1,
1312
+ class: "vue-data-ui-time-label",
1313
+ "font-size": e.value.xyLabelsXFontSize,
1314
+ "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1315
+ fill: e.value.color,
1316
+ transform: `translate(${c.value.drawingArea.left + c.value.slotSize * (o + 1) - c.value.slotSize / 2}, ${c.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}), rotate(${e.value.xyPeriodLabelsRotation})`,
1317
+ innerHTML: s(Nt)({
1318
+ content: String(t),
1319
+ fontSize: e.value.xyLabelsXFontSize,
1320
+ fill: e.value.color,
1321
+ x: 0,
1322
+ y: 0
1323
+ })
1324
+ }, null, 8, Ll)) : (l(), n("text", {
1325
+ key: 0,
1326
+ class: "vue-data-ui-time-label",
1327
+ "font-size": e.value.xyLabelsXFontSize,
1328
+ "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1329
+ fill: e.value.color,
1330
+ transform: `translate(${c.value.drawingArea.left + c.value.slotSize * (o + 1) - c.value.slotSize / 2}, ${c.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}), rotate(${e.value.xyPeriodLabelsRotation})`
1331
+ }, B(t), 9, Al))
1332
+ ])) : m("", !0)
1333
+ ], 64))), 256))
1334
+ ], 512)
1335
+ ])) : m("", !0),
1336
+ z("g", _l, [
1337
+ (l(!0), n(x, null, T(c.value.dataset, (t, o) => (l(), n("g", zl, [
1338
+ e.value.lineSmooth ? (l(), n(x, { key: 0 }, [
1339
+ z("path", {
1340
+ ref_for: !0,
1341
+ ref_key: "pathWrapper",
1342
+ ref: Ae,
1343
+ d: `M ${s(Dt)(t.coordinates)}`,
1344
+ stroke: e.value.backgroundColor,
1345
+ "stroke-width": e.value.lineStrokeWidth + 1,
1346
+ "stroke-linecap": "round",
1347
+ fill: "none",
1348
+ class: de({ "quick-animation": !s(U), "vue-data-ui-line-animated": e.value.lineAnimated && !s(U) }),
1349
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1350
+ }, null, 14, $l),
1351
+ z("path", {
1352
+ ref_for: !0,
1353
+ ref_key: "pathTop",
1354
+ ref: Le,
1355
+ d: `M ${s(Dt)(t.coordinates)}`,
1356
+ stroke: t.color,
1357
+ "stroke-width": e.value.lineStrokeWidth,
1358
+ "stroke-linecap": "round",
1359
+ fill: "none",
1360
+ class: de({ "quick-animation": !s(U), "vue-data-ui-line-animated": e.value.lineAnimated && !s(U) }),
1361
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1362
+ }, null, 14, Cl)
1363
+ ], 64)) : (l(), n(x, { key: 1 }, [
1364
+ z("path", {
1365
+ ref_for: !0,
1366
+ ref_key: "pathWrapper",
1367
+ ref: Ae,
1368
+ d: `M ${t.linePath}`,
1369
+ stroke: e.value.backgroundColor,
1370
+ "stroke-width": e.value.lineStrokeWidth + 1,
1371
+ "stroke-linecap": "round",
1372
+ fill: "none",
1373
+ class: de({ "quick-animation": !s(U), "vue-data-ui-line-animated": e.value.lineAnimated && !s(U) }),
1374
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1375
+ }, null, 14, El),
1376
+ z("path", {
1377
+ ref_for: !0,
1378
+ ref_key: "pathTop",
1379
+ ref: Le,
1380
+ d: `M ${t.linePath}`,
1381
+ stroke: t.color,
1382
+ "stroke-width": e.value.lineStrokeWidth,
1383
+ "stroke-linecap": "round",
1384
+ fill: "none",
1385
+ class: de({ "quick-animation": !s(U), "vue-data-ui-line-animated": e.value.lineAnimated && !s(U) }),
1386
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1387
+ }, null, 14, Tl)
1388
+ ], 64)),
1389
+ (l(!0), n(x, null, T(t.coordinates, (u, p) => (l(), n("circle", {
1390
+ cx: u.x,
1391
+ cy: s(ue)(u.y),
1392
+ r: 3,
1393
+ fill: t.color,
1394
+ stroke: e.value.backgroundColor,
1395
+ "stroke-width": "0.5",
1396
+ class: de({ "vue-ui-quick-chart-plot": !0, "quick-animation": !s(U) }),
1397
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1398
+ }, null, 14, Il))), 256))
1399
+ ]))), 256))
1400
+ ]),
1401
+ e.value.showDataLabels ? (l(), n("g", Pl, [
1402
+ (l(!0), n(x, null, T(c.value.dataset, (t, o) => (l(), n(x, null, [
1403
+ (l(!0), n(x, null, T(t.coordinates, (u, p) => (l(), n("text", {
1404
+ "text-anchor": "middle",
1405
+ "font-size": e.value.dataLabelFontSize,
1406
+ fill: t.color,
1407
+ x: u.x,
1408
+ y: s(ue)(u.y) - e.value.dataLabelFontSize / 2,
1409
+ class: de({ "vue-ui-quick-chart-label": !0, "quick-animation": !s(U) }),
1410
+ style: N({ transition: s(U) ? void 0 : "all 0.3s ease-in-out" })
1411
+ }, B(s(ie)(
1412
+ e.value.formatter,
1413
+ s(ue)(u.value),
1414
+ s(G)({
1415
+ p: e.value.valuePrefix,
1416
+ v: s(ue)(u.value),
1417
+ s: e.value.valueSuffix,
1418
+ r: e.value.dataLabelRoundingValue
1419
+ }),
1420
+ { datapoint: u, seriesIndex: p }
1421
+ )), 15, Rl))), 256))
1422
+ ], 64))), 256))
1423
+ ])) : m("", !0),
1424
+ Qe.value ? (l(), n("g", Fl, [
1425
+ (l(!0), n(x, null, T(c.value.extremes.maxSeries, (t, o) => (l(), n("rect", {
1426
+ x: c.value.drawingArea.left + o * c.value.slotSize,
1427
+ y: c.value.drawingArea.top,
1428
+ height: c.value.drawingArea.height <= 0 ? 1e-5 : c.value.drawingArea.height,
1429
+ width: c.value.slotSize <= 0 ? 1e-5 : c.value.slotSize,
1430
+ fill: [te.value, le.value].includes(o) ? e.value.xyHighlighterColor : "transparent",
1431
+ style: N(`opacity:${e.value.xyHighlighterOpacity}`),
1432
+ onMouseenter: (u) => c.value.useTooltip(o),
1433
+ onMouseleave: (u) => c.value.killTooltip(o),
1434
+ onClick: (u) => c.value.selectDatapoint(o)
1435
+ }, null, 44, Ml))), 256))
1436
+ ])) : m("", !0)
1437
+ ], 64)) : m("", !0),
1438
+ C.value === _.BAR ? (l(), n(x, { key: 5 }, [
1439
+ e.value.xyShowGrid ? (l(), n("g", Ol, [
1440
+ (l(!0), n(x, null, T(d.value.yLabels, (t) => (l(), n(x, null, [
1441
+ t.y <= d.value.drawingArea.bottom ? (l(), n("line", {
1442
+ key: 0,
1443
+ x1: d.value.drawingArea.left,
1444
+ x2: d.value.drawingArea.right,
1445
+ y1: t.y,
1446
+ y2: t.y,
1447
+ stroke: e.value.xyGridStroke,
1448
+ "stroke-width": e.value.xyGridStrokeWidth,
1449
+ "stroke-linecap": "round"
1450
+ }, null, 8, Nl)) : m("", !0)
1451
+ ], 64))), 256)),
1452
+ (l(!0), n(x, null, T(d.value.extremes.maxSeries + 1, (t, o) => (l(), n("line", {
1453
+ x1: d.value.drawingArea.left + d.value.slotSize * o,
1454
+ x2: d.value.drawingArea.left + d.value.slotSize * o,
1455
+ y1: d.value.drawingArea.top,
1456
+ y2: d.value.drawingArea.bottom,
1457
+ stroke: e.value.xyGridStroke,
1458
+ "stroke-width": e.value.xyGridStrokeWidth,
1459
+ "stroke-linecap": "round"
1460
+ }, null, 8, Dl))), 256))
1461
+ ])) : m("", !0),
1462
+ e.value.xyShowAxis ? (l(), n("g", Bl, [
1463
+ z("line", {
1464
+ x1: d.value.drawingArea.left,
1465
+ x2: d.value.drawingArea.left,
1466
+ y1: d.value.drawingArea.top,
1467
+ y2: d.value.drawingArea.bottom,
1468
+ stroke: e.value.xyAxisStroke,
1469
+ "stroke-width": e.value.xyAxisStrokeWidth,
1470
+ "stroke-linecap": "round"
1471
+ }, null, 8, Ul),
1472
+ z("line", {
1473
+ x1: d.value.drawingArea.left,
1474
+ x2: d.value.drawingArea.right,
1475
+ y1: isNaN(d.value.absoluteZero) ? d.value.drawingArea.bottom : d.value.absoluteZero,
1476
+ y2: isNaN(d.value.absoluteZero) ? d.value.drawingArea.bottom : d.value.absoluteZero,
1477
+ stroke: e.value.xyAxisStroke,
1478
+ "stroke-width": e.value.xyAxisStrokeWidth,
1479
+ "stroke-linecap": "round"
1480
+ }, null, 8, Vl)
1481
+ ])) : m("", !0),
1482
+ e.value.xyShowScale ? (l(), n("g", {
1483
+ key: 2,
1484
+ class: "yLabels",
1485
+ ref_key: "scaleLabels",
1486
+ ref: Me
1487
+ }, [
1488
+ (l(!0), n(x, null, T(d.value.yLabels, (t, o) => (l(), n(x, null, [
1489
+ t.y <= d.value.drawingArea.bottom ? (l(), n("line", {
1490
+ key: 0,
1491
+ x1: t.x + 4,
1492
+ x2: d.value.drawingArea.left,
1493
+ y1: t.y,
1494
+ y2: t.y,
1495
+ stroke: e.value.xyAxisStroke,
1496
+ "stroke-width": e.value.xyAxisStrokeWidth,
1497
+ "stroke-linecap": "round"
1498
+ }, null, 8, ql)) : m("", !0),
1499
+ t.y <= d.value.drawingArea.bottom ? (l(), n("text", {
1500
+ key: 1,
1501
+ x: t.x,
1502
+ y: t.y + e.value.xyLabelsYFontSize / 3,
1503
+ "text-anchor": "end",
1504
+ "font-size": e.value.xyLabelsYFontSize,
1505
+ fill: e.value.color
1506
+ }, B(s(ie)(
1507
+ e.value.formatter,
1508
+ t.value,
1509
+ s(G)({
1510
+ p: e.value.valuePrefix,
1511
+ v: t.value,
1512
+ s: e.value.valueSuffix,
1513
+ r: e.value.dataLabelRoundingValue
1514
+ }),
1515
+ { datapoint: t, seriesIndex: o }
1516
+ )), 9, Hl)) : m("", !0)
1517
+ ], 64))), 256))
1518
+ ], 512)) : m("", !0),
1519
+ e.value.xyShowScale && e.value.xyPeriods.length ? (l(), n("g", Wl, [
1520
+ (l(!0), n(x, null, T(e.value.xyPeriods.slice(y.value.start, y.value.end), (t, o) => (l(), n("line", {
1521
+ x1: d.value.drawingArea.left + d.value.slotSize * (o + 1) - d.value.slotSize / 2,
1522
+ x2: d.value.drawingArea.left + d.value.slotSize * (o + 1) - d.value.slotSize / 2,
1523
+ y1: d.value.drawingArea.bottom,
1524
+ y2: d.value.drawingArea.bottom + 4,
1525
+ stroke: e.value.xyAxisStroke,
1526
+ "stroke-width": e.value.xyAxisStrokeWidth,
1527
+ "stroke-linecap": "round"
1528
+ }, null, 8, Xl))), 256)),
1529
+ z("g", {
1530
+ ref_key: "timeLabelsEls",
1531
+ ref: ae
1532
+ }, [
1533
+ (l(!0), n(x, null, T(Q.value.map((t) => t.text), (t, o) => (l(), n(x, null, [
1534
+ !e.value.xyPeriodsShowOnlyAtModulo || e.value.xyPeriodsShowOnlyAtModulo && o % Math.floor((y.value.end - y.value.start) / ke.value) === 0 || y.value.end - y.value.start <= ke.value ? (l(), n("g", jl, [
1535
+ String(t).includes(`
1536
+ `) ? (l(), n("text", {
1537
+ key: 1,
1538
+ class: "vue-data-ui-time-label",
1539
+ "font-size": e.value.xyLabelsXFontSize,
1540
+ "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1541
+ fill: e.value.color,
1542
+ transform: `translate(${d.value.drawingArea.left + d.value.slotSize * (o + 1) - d.value.slotSize / 2}, ${d.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}), rotate(${e.value.xyPeriodLabelsRotation})`,
1543
+ innerHTML: s(Nt)({
1544
+ content: String(t),
1545
+ fontSize: e.value.xyLabelsXFontSize,
1546
+ fill: e.value.color,
1547
+ x: 0,
1548
+ y: 0
1549
+ })
1550
+ }, null, 8, Yl)) : (l(), n("text", {
1551
+ key: 0,
1552
+ class: "vue-data-ui-time-label",
1553
+ "font-size": e.value.xyLabelsXFontSize,
1554
+ "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1555
+ fill: e.value.color,
1556
+ transform: `translate(${d.value.drawingArea.left + d.value.slotSize * (o + 1) - d.value.slotSize / 2}, ${d.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}), rotate(${e.value.xyPeriodLabelsRotation})`
1557
+ }, B(t), 9, Gl))
1558
+ ])) : m("", !0)
1559
+ ], 64))), 256))
1560
+ ], 512)
1561
+ ])) : m("", !0),
1562
+ z("g", Zl, [
1563
+ (l(!0), n(x, null, T(d.value.dataset, (t, o) => (l(), n(x, null, [
1564
+ (l(!0), n(x, null, T(t.coordinates, (u, p) => (l(), n("rect", {
1565
+ x: u.x,
1566
+ width: u.width <= 0 ? 1e-5 : u.width,
1567
+ height: s(ue)(u.height <= 0 ? 1e-5 : u.height),
1568
+ y: s(ue)(u.y),
1569
+ fill: t.color,
1570
+ stroke: e.value.backgroundColor,
1571
+ "stroke-width": e.value.barStrokeWidth,
1572
+ "stroke-linecap": "round",
1573
+ class: de({ "vue-data-ui-bar-animated": e.value.barAnimated && u.value < 0 && !s(U) })
1574
+ }, [
1575
+ e.value.barAnimated && u.value > 0 && !s(De) && !s(Be) ? (l(), n("animate", {
1576
+ key: 0,
1577
+ attributeName: "height",
1578
+ from: 0,
1579
+ to: u.height,
1580
+ dur: "0.5s"
1581
+ }, null, 8, Ql)) : m("", !0),
1582
+ e.value.barAnimated && u.value > 0 && !s(De) && !s(Be) ? (l(), n("animate", {
1583
+ key: 1,
1584
+ attributeName: "y",
1585
+ from: d.value.absoluteZero,
1586
+ to: d.value.absoluteZero - u.height,
1587
+ dur: "0.5s"
1588
+ }, null, 8, Kl)) : m("", !0)
1589
+ ], 10, Jl))), 256))
1590
+ ], 64))), 256))
1591
+ ]),
1592
+ e.value.showDataLabels ? (l(), n("g", eo, [
1593
+ (l(!0), n(x, null, T(d.value.dataset, (t, o) => (l(), n(x, null, [
1594
+ (l(!0), n(x, null, T(t.coordinates, (u, p) => (l(), n("text", {
1595
+ x: u.x + u.width / 2,
1596
+ y: s(ue)(u.y) - e.value.dataLabelFontSize / 2,
1597
+ "text-anchor": "middle",
1598
+ "font-size": e.value.dataLabelFontSize,
1599
+ fill: t.color,
1600
+ class: "quick-animation"
1601
+ }, B(s(ie)(
1602
+ e.value.formatter,
1603
+ s(ue)(u.value),
1604
+ s(G)({
1605
+ p: e.value.valuePrefix,
1606
+ v: s(ue)(u.value),
1607
+ s: e.value.valueSuffix,
1608
+ r: e.value.dataLabelRoundingValue
1609
+ }),
1610
+ { datapoint: u, seriesIndex: p }
1611
+ )), 9, to))), 256))
1612
+ ], 64))), 256))
1613
+ ])) : m("", !0),
1614
+ Qe.value ? (l(), n("g", ao, [
1615
+ (l(!0), n(x, null, T(d.value.extremes.maxSeries, (t, o) => (l(), n("rect", {
1616
+ x: d.value.drawingArea.left + o * d.value.slotSize,
1617
+ y: d.value.drawingArea.top,
1618
+ height: d.value.drawingArea.height <= 0 ? 1e-5 : d.value.drawingArea.height,
1619
+ width: d.value.slotSize <= 0 ? 1e-5 : d.value.slotSize,
1620
+ fill: [te.value, le.value].includes(o) ? e.value.xyHighlighterColor : "transparent",
1621
+ style: N(`opacity:${e.value.xyHighlighterOpacity}`),
1622
+ onMouseenter: (u) => d.value.useTooltip(o),
1623
+ onMouseleave: (u) => d.value.killTooltip(o),
1624
+ onClick: (u) => d.value.selectDatapoint(o)
1625
+ }, null, 44, lo))), 256))
1626
+ ])) : m("", !0)
1627
+ ], 64)) : m("", !0),
1628
+ [_.LINE, _.BAR].includes(C.value) ? (l(), n("g", oo, [
1629
+ e.value.xAxisLabel && C.value === _.LINE ? (l(), n("g", {
1630
+ key: 0,
1631
+ ref_key: "xAxisLabel",
1632
+ ref: mt
1633
+ }, [
1634
+ z("text", {
1635
+ "font-size": e.value.axisLabelsFontSize,
1636
+ fill: e.value.color,
1637
+ "text-anchor": "middle",
1638
+ x: c.value.drawingArea.left + c.value.drawingArea.width / 2,
1639
+ y: S.value.height - e.value.axisLabelsFontSize / 3
1640
+ }, B(e.value.xAxisLabel), 9, no)
1641
+ ], 512)) : m("", !0),
1642
+ e.value.xAxisLabel && C.value === _.BAR ? (l(), n("g", {
1643
+ key: 1,
1644
+ ref_key: "xAxisLabel",
1645
+ ref: mt
1646
+ }, [
1647
+ z("text", {
1648
+ "font-size": e.value.axisLabelsFontSize,
1649
+ fill: e.value.color,
1650
+ "text-anchor": "middle",
1651
+ x: d.value.drawingArea.left + d.value.drawingArea.width / 2,
1652
+ y: S.value.height - e.value.axisLabelsFontSize / 3
1653
+ }, B(e.value.xAxisLabel), 9, io)
1654
+ ], 512)) : m("", !0),
1655
+ e.value.yAxisLabel && C.value === _.LINE ? (l(), n("g", {
1656
+ key: 2,
1657
+ ref_key: "yAxisLabel",
1658
+ ref: gt
1659
+ }, [
1660
+ z("text", {
1661
+ "font-size": e.value.axisLabelsFontSize,
1662
+ fill: e.value.color,
1663
+ transform: `translate(${e.value.axisLabelsFontSize}, ${c.value.drawingArea.top + c.value.drawingArea.height / 2}) rotate(-90)`,
1664
+ "text-anchor": "middle"
1665
+ }, B(e.value.yAxisLabel), 9, uo)
1666
+ ], 512)) : m("", !0),
1667
+ e.value.yAxisLabel && C.value === _.BAR ? (l(), n("g", {
1668
+ key: 3,
1669
+ ref_key: "yAxisLabel",
1670
+ ref: gt
1671
+ }, [
1672
+ z("text", {
1673
+ "font-size": e.value.axisLabelsFontSize,
1674
+ fill: e.value.color,
1675
+ transform: `translate(${e.value.axisLabelsFontSize}, ${d.value.drawingArea.top + d.value.drawingArea.height / 2}) rotate(-90)`,
1676
+ "text-anchor": "middle"
1677
+ }, B(e.value.yAxisLabel), 9, ro)
1678
+ ], 512)) : m("", !0)
1679
+ ])) : m("", !0)
1680
+ ], 12, Xa)) : m("", !0),
1681
+ a.$slots.watermark ? (l(), n("div", so, [
1682
+ W(a.$slots, "watermark", me(ge({ isPrinting: s(De) || s(Be) })), void 0, !0)
1683
+ ])) : m("", !0),
1684
+ [_.BAR, _.LINE].includes(C.value) && e.value.zoomXy && k.value.maxSeriesLength > 1 ? (l(), n("div", {
1685
+ key: `slicer_${Fe.value}`,
1686
+ ref_key: "quickChartSlicer",
1687
+ ref: vt
1688
+ }, [
1689
+ (l(), Ie(Pa, {
1690
+ ref_key: "slicerComponent",
1691
+ ref: Ct,
1692
+ key: `slicer_${Fe.value}`,
1693
+ background: e.value.zoomColor,
1694
+ borderColor: e.value.backgroundColor,
1695
+ fontSize: e.value.zoomFontSize,
1696
+ useResetSlot: e.value.zoomUseResetSlot,
1697
+ labelLeft: e.value.xyPeriods[y.value.start] ? Q.value[0].text : "",
1698
+ labelRight: e.value.xyPeriods[y.value.end - 1] ? Q.value.at(-1).text : "",
1699
+ textColor: e.value.color,
1700
+ inputColor: e.value.zoomColor,
1701
+ selectColor: e.value.zoomHighlightColor,
1702
+ max: k.value.maxSeriesLength,
1703
+ min: 0,
1704
+ valueStart: y.value.start,
1705
+ valueEnd: y.value.end,
1706
+ smoothMinimap: e.value.zoomMinimap.smooth,
1707
+ minimapSelectedColor: e.value.zoomMinimap.selectedColor,
1708
+ minimapSelectedColorOpacity: e.value.zoomMinimap.selectedColorOpacity,
1709
+ minimapSelectionRadius: e.value.zoomMinimap.selectionRadius,
1710
+ minimapLineColor: e.value.zoomMinimap.lineColor,
1711
+ minimap: ta.value,
1712
+ minimapIndicatorColor: e.value.zoomMinimap.indicatorColor,
1713
+ verticalHandles: e.value.zoomMinimap.verticalHandles,
1714
+ minimapSelectedIndex: le.value,
1715
+ start: y.value.start,
1716
+ "onUpdate:start": r[0] || (r[0] = (t) => y.value.start = t),
1717
+ end: y.value.end,
1718
+ "onUpdate:end": r[1] || (r[1] = (t) => y.value.end = t),
1719
+ refreshStartPoint: e.value.zoomStartIndex !== null ? e.value.zoomStartIndex : 0,
1720
+ refreshEndPoint: e.value.zoomEndIndex !== null ? e.value.zoomEndIndex + 1 : k.value.maxSeriesLength,
1721
+ enableRangeHandles: e.value.zoomEnableRangeHandles,
1722
+ enableSelectionDrag: e.value.zoomEnableSelectionDrag,
1723
+ minimapCompact: e.value.zoomMinimap.compact,
1724
+ minimapMerged: e.value.zoomMinimap.merged,
1725
+ allMinimaps: ua.value,
1726
+ minimapFrameColor: e.value.zoomMinimap.frameColor,
1727
+ focusOnDrag: e.value.zoomFocusOnDrag,
1728
+ focusRangeRatio: e.value.zoomFocusRangeRatio,
1729
+ onReset: Kt,
1730
+ onTrapMouse: Qt
1731
+ }, {
1732
+ "reset-action": ne(({ reset: t }) => [
1733
+ W(a.$slots, "reset-action", me(ge({ reset: t })), void 0, !0)
1734
+ ]),
1735
+ _: 3
1736
+ }, 8, ["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", "focusOnDrag", "focusRangeRatio"]))
1737
+ ])) : m("", !0),
1738
+ z("div", {
1739
+ id: `legend-bottom-${Y.value}`
1740
+ }, null, 8, vo),
1741
+ ht.value ? (l(), Ie(ma, {
1742
+ key: 7,
1743
+ to: e.value.legendPosition === "top" ? `#legend-top-${Y.value}` : `#legend-bottom-${Y.value}`
1744
+ }, [
1745
+ e.value.showLegend ? (l(), n("div", {
1746
+ key: 0,
1747
+ ref_key: "quickChartLegend",
1748
+ ref: st,
1749
+ class: "vue-ui-quick-chart-legend",
1750
+ style: N(`background:transparent;color:${e.value.color}`)
1751
+ }, [
1752
+ C.value === _.DONUT ? (l(!0), n(x, { key: 0 }, T(P.value.legend, (t, o) => (l(), n("div", {
1753
+ class: "vue-ui-quick-chart-legend-item",
1754
+ onClick: (u) => {
1755
+ Jt(t, P.value.dataset), pe("selectLegend", t);
1756
+ },
1757
+ style: N(`cursor: ${P.value.legend.length > 1 ? "pointer" : "default"}; opacity:${L.value.includes(t.id) ? "0.5" : "1"}`)
1758
+ }, [
1759
+ e.value.useCustomLegend ? W(a.$slots, "legend", ot({
1760
+ key: 0,
1761
+ ref_for: !0
1762
+ }, { legend: t }), void 0, !0) : (l(), n(x, { key: 1 }, [
1763
+ be(s(q), {
1764
+ name: e.value.legendIcon,
1765
+ stroke: t.color,
1766
+ size: e.value.legendIconSize
1767
+ }, null, 8, ["name", "stroke", "size"]),
1768
+ z("span", {
1769
+ style: N(`font-size:${e.value.legendFontSize}px`)
1770
+ }, B(t.name), 5),
1771
+ z("span", {
1772
+ style: N(`font-size:${e.value.legendFontSize}px;font-variant-numeric:tabular-nums`)
1773
+ }, B(L.value.includes(t.id) ? "-" : s(ie)(
1774
+ e.value.formatter,
1775
+ t.absoluteValue,
1776
+ s(G)({
1777
+ p: e.value.valuePrefix,
1778
+ v: t.absoluteValue,
1779
+ s: e.value.valueSuffix,
1780
+ r: e.value.dataLabelRoundingValue
1781
+ }),
1782
+ { datapoint: t, seriesIndex: o }
1783
+ )), 5),
1784
+ L.value.includes(t.id) ? (l(), n("span", {
1785
+ key: 0,
1786
+ style: N(`font-size:${e.value.legendFontSize}px`)
1787
+ }, " ( - % ) ", 4)) : Ue.value ? (l(), n("span", {
1788
+ key: 1,
1789
+ style: N(`font-size:${e.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
1790
+ }, " ( - % ) ", 4)) : (l(), n("span", {
1791
+ key: 2,
1792
+ style: N(`font-size:${e.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
1793
+ }, " (" + B(s(G)({
1794
+ v: t.value / P.value.total * 100,
1795
+ s: "%",
1796
+ r: e.value.dataLabelRoundingPercentage
1797
+ })) + ") ", 5))
1798
+ ], 64))
1799
+ ], 12, co))), 256)) : m("", !0),
1800
+ C.value === _.LINE ? (l(!0), n(x, { key: 1 }, T(c.value.legend, (t, o) => (l(), n("div", {
1801
+ class: "vue-ui-quick-chart-legend-item",
1802
+ onClick: (u) => {
1803
+ Lt(t.id, c.value.legend.length - 1), pe("selectLegend", t);
1804
+ },
1805
+ style: N(`cursor: ${c.value.legend.length > 1 ? "pointer" : "default"}; opacity:${L.value.includes(t.id) ? "0.5" : "1"}`)
1806
+ }, [
1807
+ e.value.useCustomLegend ? W(a.$slots, "legend", ot({
1808
+ key: 0,
1809
+ ref_for: !0
1810
+ }, { legend: t }), void 0, !0) : (l(), n(x, { key: 1 }, [
1811
+ be(s(q), {
1812
+ name: e.value.legendIcon,
1813
+ stroke: t.color,
1814
+ size: e.value.legendIconSize
1815
+ }, null, 8, ["name", "stroke", "size"]),
1816
+ z("span", {
1817
+ style: N(`font-size:${e.value.legendFontSize}px`)
1818
+ }, B(t.name), 5)
1819
+ ], 64))
1820
+ ], 12, fo))), 256)) : m("", !0),
1821
+ C.value === _.BAR ? (l(!0), n(x, { key: 2 }, T(d.value.legend, (t, o) => (l(), n("div", {
1822
+ class: "vue-ui-quick-chart-legend-item",
1823
+ onClick: (u) => {
1824
+ Lt(t.id, d.value.legend.length - 1), pe("selectLegend", t);
1825
+ },
1826
+ style: N(`cursor: ${d.value.legend.length > 1 ? "pointer" : "default"}; opacity:${L.value.includes(t.id) ? "0.5" : "1"}`)
1827
+ }, [
1828
+ e.value.useCustomLegend ? W(a.$slots, "legend", ot({
1829
+ key: 0,
1830
+ ref_for: !0
1831
+ }, { legend: t }), void 0, !0) : (l(), n(x, { key: 1 }, [
1832
+ be(s(q), {
1833
+ name: e.value.legendIcon,
1834
+ stroke: t.color,
1835
+ size: e.value.legendIconSize
1836
+ }, null, 8, ["name", "stroke", "size"]),
1837
+ z("span", {
1838
+ style: N(`font-size:${e.value.legendFontSize}px`)
1839
+ }, B(t.name), 5)
1840
+ ], 64))
1841
+ ], 12, ho))), 256)) : m("", !0)
1842
+ ], 4)) : m("", !0)
1843
+ ], 8, ["to"])) : m("", !0),
1844
+ a.$slots.source ? (l(), n("div", {
1845
+ key: 8,
1846
+ ref_key: "source",
1847
+ ref: dt,
1848
+ dir: "auto"
1849
+ }, [
1850
+ W(a.$slots, "source", {}, void 0, !0)
1851
+ ], 512)) : m("", !0),
1852
+ be(s(Se), {
1853
+ show: ye.value.showTooltip && ce.value,
1854
+ backgroundColor: e.value.backgroundColor,
1855
+ color: e.value.color,
1856
+ borderRadius: e.value.tooltipBorderRadius,
1857
+ borderColor: e.value.tooltipBorderColor,
1858
+ borderWidth: e.value.tooltipBorderWidth,
1859
+ fontSize: e.value.tooltipFontSize,
1860
+ backgroundOpacity: e.value.tooltipBackgroundOpacity,
1861
+ position: e.value.tooltipPosition,
1862
+ offsetY: e.value.tooltipOffsetY,
1863
+ parent: M.value,
1864
+ content: fe.value,
1865
+ isFullscreen: qe.value,
1866
+ isCustom: s(je)(e.value.tooltipCustomFormat),
1867
+ smooth: e.value.tooltipSmooth,
1868
+ smoothForce: e.value.tooltipSmoothForce,
1869
+ smoothSnapThreshold: e.value.tooltipSmoothSnapThreshold,
1870
+ backdropFilter: e.value.tooltipBackdropFilter
1871
+ }, {
1872
+ "tooltip-before": ne(() => [
1873
+ W(a.$slots, "tooltip-before", me(ge({ ...we.value })), void 0, !0)
1874
+ ]),
1875
+ "tooltip-after": ne(() => [
1876
+ W(a.$slots, "tooltip-after", me(ge({ ...we.value })), void 0, !0)
1877
+ ]),
1878
+ _: 3
1879
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "smoothForce", "smoothSnapThreshold", "backdropFilter"]),
1880
+ s(U) ? (l(), Ie(Ma, { key: 9 })) : m("", !0)
1881
+ ], 46, Ha)) : (l(), n("div", mo, [
1882
+ be(s(q), {
1883
+ name: "circleCancel",
1884
+ stroke: "red"
1885
+ }),
1886
+ r[5] || (r[5] = z("span", null, "Dataset is not processable", -1))
1887
+ ]));
1888
+ }
1889
+ }, Eo = /* @__PURE__ */ Oa(go, [["__scopeId", "data-v-0ad52bd2"]]);
1890
+ export {
1891
+ Eo as default
1892
+ };