vue-data-ui 3.0.3 → 3.0.5

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 (91) hide show
  1. package/dist/{Arrow-CUUMjZed.js → Arrow-R_06vsL3.js} +1 -1
  2. package/dist/{BaseDraggableDialog-DgADqZE_.js → BaseDraggableDialog-BfZiRpgN.js} +2 -2
  3. package/dist/{BaseIcon-DLm6QTwr.js → BaseIcon-6kiJh-im.js} +1 -1
  4. package/dist/{ColorPicker-Crz_B792.js → ColorPicker-Da2CFG40.js} +2 -2
  5. package/dist/{DataTable-CWzb1j8d.js → DataTable-PcC2kzj2.js} +2 -2
  6. package/dist/{Legend-CevCqVZ5.js → Legend-CXfKjXA8.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-DOG92bzo.js → NonSvgPenAndPaper-CwPKzh9S.js} +3 -3
  8. package/dist/{PackageVersion-n4qokxnx.js → PackageVersion-CcdmmLiD.js} +1 -1
  9. package/dist/{PenAndPaper-C_R9vJkU.js → PenAndPaper-V0rcuEhp.js} +3 -3
  10. package/dist/{Shape-BHVN6hj0.js → Shape-D64xbn0k.js} +1 -1
  11. package/dist/{Slicer-BBjJsLlJ.js → Slicer-DZFEVbZ-.js} +2 -2
  12. package/dist/{SparkTooltip-BHlSggBm.js → SparkTooltip-CLxz6EJW.js} +7 -7
  13. package/dist/{Title-CINHji0n.js → Title-DJ4Zs5dK.js} +1 -1
  14. package/dist/{Tooltip-hfdFRoLp.js → Tooltip-Cl65Yo1e.js} +1 -1
  15. package/dist/{UserOptions-r0epwyXR.js → UserOptions-BMEIDjaa.js} +2 -2
  16. package/dist/{dom-to-png-m7MwDfMh.js → dom-to-png-CiRSor0J.js} +1 -1
  17. package/dist/{img-CBdOMFyn.js → img-9Af6k3q7.js} +1 -1
  18. package/dist/{index-DrRiscPm.js → index-Bg6rSkmY.js} +715 -566
  19. package/dist/{pdf-CITAFtf8.js → pdf-NBCL0nET.js} +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/types/vue-data-ui.d.cts +5 -0
  22. package/dist/types/vue-data-ui.d.ts +5 -0
  23. package/dist/{useAutoSizeLabelsInsideViewbox-C0d8h29h.js → useAutoSizeLabelsInsideViewbox-CXnviGIu.js} +1 -1
  24. package/dist/{useNestedProp-BXhArS-K.js → useNestedProp-cpuiqnzF.js} +1 -1
  25. package/dist/{usePrinter-CZk2ISUm.js → usePrinter-D0C5k6Z4.js} +2 -2
  26. package/dist/{vue-data-ui-omyV52aJ.js → vue-data-ui-BDW6SrRD.js} +64 -64
  27. package/dist/vue-data-ui.js +15 -15
  28. package/dist/{vue-ui-3d-bar-ByS7XX4A.js → vue-ui-3d-bar-Bx8ijxGL.js} +6 -6
  29. package/dist/{vue-ui-accordion-s_m_NJzJ.js → vue-ui-accordion-ammU82F5.js} +3 -3
  30. package/dist/{vue-ui-age-pyramid-BJRjKF9G.js → vue-ui-age-pyramid-BozS0JsT.js} +6 -6
  31. package/dist/{vue-ui-annotator-BcdnqcBy.js → vue-ui-annotator-CQ6ocwmj.js} +2 -2
  32. package/dist/{vue-ui-bullet-D82pT7tL.js → vue-ui-bullet-Dx6V3Xt0.js} +7 -7
  33. package/dist/{vue-ui-candlestick-ThIDj7Q5.js → vue-ui-candlestick-41TPZGCs.js} +7 -7
  34. package/dist/{vue-ui-carousel-table-BHOAO0Gj.js → vue-ui-carousel-table-CfhXPuOr.js} +4 -4
  35. package/dist/{vue-ui-chestnut-3sjb4gzU.js → vue-ui-chestnut-C1B0nAga.js} +5 -5
  36. package/dist/{vue-ui-chord-CfVEqNV6.js → vue-ui-chord-DgWhhFR_.js} +8 -8
  37. package/dist/{vue-ui-circle-pack-u4ABWUZI.js → vue-ui-circle-pack-DRu7WqG5.js} +6 -6
  38. package/dist/{vue-ui-cursor-ByfhuSzG.js → vue-ui-cursor-p5u1DcMw.js} +2 -2
  39. package/dist/{vue-ui-dashboard-CBCck-UI.js → vue-ui-dashboard-DAdsXA8u.js} +62 -62
  40. package/dist/{vue-ui-digits-BU-8e-1s.js → vue-ui-digits-CUfo7CjM.js} +2 -2
  41. package/dist/{vue-ui-donut-g5x3IpMV.js → vue-ui-donut-BEB2MgNY.js} +8 -8
  42. package/dist/{vue-ui-donut-evolution-B4lDDX7G.js → vue-ui-donut-evolution-8j0FsdMd.js} +8 -8
  43. package/dist/{vue-ui-dumbbell-BJ8qcUud.js → vue-ui-dumbbell-BeP6_q7W.js} +7 -7
  44. package/dist/{vue-ui-flow-CRwGogHq.js → vue-ui-flow-CQiosJqq.js} +7 -7
  45. package/dist/{vue-ui-funnel-DzF_UOAJ.js → vue-ui-funnel-CFcah21s.js} +6 -6
  46. package/dist/{vue-ui-galaxy-BqunXfkx.js → vue-ui-galaxy-CcfvLYdp.js} +5 -5
  47. package/dist/{vue-ui-gauge-DPjvYyeF.js → vue-ui-gauge-B3YDSQpO.js} +7 -7
  48. package/dist/{vue-ui-gizmo-CU7HsWOV.js → vue-ui-gizmo-BB6jnnRb.js} +3 -3
  49. package/dist/{vue-ui-heatmap-CFh-br8X.js → vue-ui-heatmap-DpoYgtmE.js} +7 -7
  50. package/dist/{vue-ui-history-plot-OdhJu988.js → vue-ui-history-plot-BgE9JGtE.js} +7 -7
  51. package/dist/{vue-ui-kpi-CVp3sMeg.js → vue-ui-kpi-BFbr8s-W.js} +3 -3
  52. package/dist/{vue-ui-mini-loader-LtGcTTh2.js → vue-ui-mini-loader-CA-TuQBI.js} +2 -2
  53. package/dist/{vue-ui-molecule-DklqwI8c.js → vue-ui-molecule-6u2A_Y5x.js} +5 -5
  54. package/dist/{vue-ui-mood-radar-CGuHZngw.js → vue-ui-mood-radar-DFOnzdiW.js} +7 -7
  55. package/dist/{vue-ui-nested-donuts-CHrryP89.js → vue-ui-nested-donuts-KE8qlPjp.js} +7 -7
  56. package/dist/{vue-ui-onion-n74T6frI.js → vue-ui-onion-C34104cN.js} +8 -8
  57. package/dist/{vue-ui-parallel-coordinate-plot-DtQi0qWp.js → vue-ui-parallel-coordinate-plot-C8eS8rEx.js} +8 -8
  58. package/dist/{vue-ui-quadrant-CZn3Ab1f.js → vue-ui-quadrant-cqpYv3nP.js} +8 -8
  59. package/dist/{vue-ui-quick-chart-CUBOj0Y6.js → vue-ui-quick-chart-M6tgZi02.js} +6 -6
  60. package/dist/{vue-ui-radar-BAazL3Qv.js → vue-ui-radar-Danu6D0Y.js} +8 -8
  61. package/dist/{vue-ui-rating-CPa7MotU.js → vue-ui-rating-COM_KWAc.js} +2 -2
  62. package/dist/{vue-ui-relation-circle-g6pCa6y9.js → vue-ui-relation-circle-B0OKu3Lh.js} +7 -7
  63. package/dist/{vue-ui-ridgeline-C_Mpseru.js → vue-ui-ridgeline-BKYNyZaL.js} +8 -8
  64. package/dist/{vue-ui-rings-grCm0xEc.js → vue-ui-rings-BOov8YgR.js} +8 -8
  65. package/dist/{vue-ui-scatter-CEr615c-.js → vue-ui-scatter-C2hHkmpK.js} +8 -8
  66. package/dist/{vue-ui-skeleton-BaqJKjqR.js → vue-ui-skeleton-DK544otX.js} +3 -3
  67. package/dist/{vue-ui-smiley-DyIfQ5KW.js → vue-ui-smiley-Dlbby1WO.js} +2 -2
  68. package/dist/{vue-ui-spark-trend-CqVF6MXT.js → vue-ui-spark-trend-D0aqxibL.js} +3 -3
  69. package/dist/{vue-ui-sparkbar-DwSd_DZu.js → vue-ui-sparkbar-CrIQJK9C.js} +3 -3
  70. package/dist/{vue-ui-sparkgauge-Bm4UGamr.js → vue-ui-sparkgauge-C7pYSzrs.js} +3 -3
  71. package/dist/{vue-ui-sparkhistogram-DTZK4gCA.js → vue-ui-sparkhistogram-BKRwcg12.js} +4 -4
  72. package/dist/{vue-ui-sparkline-DGfIevXQ.js → vue-ui-sparkline-DLDaWY9Q.js} +3 -3
  73. package/dist/{vue-ui-sparkstackbar-RT_LpLKL.js → vue-ui-sparkstackbar-8OkiLKwI.js} +3 -3
  74. package/dist/{vue-ui-stackbar-9Yxdd7ko.js → vue-ui-stackbar-DK0qL1oS.js} +9 -9
  75. package/dist/{vue-ui-strip-plot--2bdwjUL.js → vue-ui-strip-plot-CuiqeptB.js} +7 -7
  76. package/dist/{vue-ui-table-BSNxwgTV.js → vue-ui-table-ClaL9Bk9.js} +3 -3
  77. package/dist/{vue-ui-table-heatmap-BaK9FRE1.js → vue-ui-table-heatmap-D6KvkPpQ.js} +5 -5
  78. package/dist/{vue-ui-table-sparkline-Dbi7H7Xb.js → vue-ui-table-sparkline-DhmpUl08.js} +4 -4
  79. package/dist/{vue-ui-thermometer-9EIYVN0g.js → vue-ui-thermometer-YAvsunn1.js} +7 -7
  80. package/dist/{vue-ui-timer-OH8HQjpu.js → vue-ui-timer-DfFAOVnW.js} +5 -5
  81. package/dist/{vue-ui-tiremarks-D6JpH-vv.js → vue-ui-tiremarks-CwQIDt8S.js} +6 -6
  82. package/dist/{vue-ui-treemap-DqEQgjj-.js → vue-ui-treemap-Bn1JxxYZ.js} +8 -8
  83. package/dist/{vue-ui-vertical-bar-BfnMDmGN.js → vue-ui-vertical-bar-Dd-mVDzj.js} +9 -9
  84. package/dist/{vue-ui-waffle-BJu7n_i7.js → vue-ui-waffle-CLEp6qLb.js} +8 -8
  85. package/dist/{vue-ui-wheel-KDWfx0os.js → vue-ui-wheel-CD-67ZKS.js} +6 -6
  86. package/dist/{vue-ui-word-cloud-Dcg3uI2O.js → vue-ui-word-cloud-D27rHP9g.js} +6 -6
  87. package/dist/{vue-ui-world-SYtMz1jo.js → vue-ui-world-BswC9pLV.js} +6 -6
  88. package/dist/vue-ui-xy-M_tgGjlb.js +3879 -0
  89. package/dist/{vue-ui-xy-canvas-BGJg2doK.js → vue-ui-xy-canvas-C7O4MXTI.js} +8 -8
  90. package/package.json +1 -1
  91. package/dist/vue-ui-xy-qzB1oN1A.js +0 -3819
@@ -1,3819 +0,0 @@
1
- import { useCssVars as no, computed as k, ref as p, onMounted as rt, onBeforeUnmount as ct, watch as al, nextTick as Kl, onUpdated as io, createElementBlock as i, openBlock as n, createElementVNode as b, createCommentVNode as f, renderSlot as Q, normalizeStyle as _, createVNode as ql, withDirectives as Yt, unref as v, Fragment as x, renderList as L, normalizeClass as Ne, withKeys as La, vModelText as Ma, toDisplayString as te, defineAsyncComponent as kl, useSlots as so, getCurrentInstance as ro, toRefs as co, watchEffect as vo, createBlock as Be, createSlots as ho, withCtx as me, normalizeProps as il, guardReactiveProps as wl, mergeProps as _t, Teleport as fo, vModelCheckbox as go, createTextVNode as mo } from "vue";
2
- import { c as Ct, V as zt, U as It, X as xo, F as qe, u as bo, f as Ft, t as po, a4 as Ue, d as yo, D as st, ac as Nl, e as ko, p as wo, ad as Lt, a9 as D, ae as So, h as V, af as Aa, ag as Ca, ah as $o, ai as za, aj as Ia, k as pe, y as _o, z as Lo, _ as Ta, R as tl, i as Fe, x as Ol, s as Ze, a7 as j, L as Mo, ak as Mt, I as Ao, al as Sl, C as We, a as Co, b as zo, o as Na, v as Io, w as To, E as Zl } from "./index-DrRiscPm.js";
3
- import { t as Dt, u as No } from "./useResponsive-DfdjqQps.js";
4
- import { u as Oo } from "./usePrinter-CZk2ISUm.js";
5
- import { u as Ro, B as Po } from "./useLoading-D7YHNtLX.js";
6
- import { u as Wt } from "./useNestedProp-BXhArS-K.js";
7
- import { u as Oa } from "./useTimeLabels-DkzmKfZn.js";
8
- import { u as Ho } from "./useTimeLabelCollider-CIsgDrl9.js";
9
- import Vo from "./img-CBdOMFyn.js";
10
- import Eo from "./Title-CINHji0n.js";
11
- import { S as Bo } from "./Slicer-BBjJsLlJ.js";
12
- import { _ as At } from "./Shape-BHVN6hj0.js";
13
- import Fo from "./BaseIcon-DLm6QTwr.js";
14
- import { _ as Ra } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
- const Wo = {
16
- class: "vue-data-ui-slicer-labels",
17
- style: { position: "relative", "z-index": "1", "pointer-events": "none" }
18
- }, Yo = {
19
- key: 0,
20
- style: { width: "100%", position: "relative" }
21
- }, Do = {
22
- key: 0,
23
- class: "minimap",
24
- style: { width: "100%" }
25
- }, Xo = ["xmlns", "viewBox"], Go = ["id"], Uo = ["stop-color"], Zo = ["d", "stroke"], qo = ["x", "width", "height", "fill", "rx"], Ko = ["d", "fill"], Jo = ["x", "width", "height", "rx", "fill"], Qo = ["x", "width", "height", "fill", "rx"], jo = ["d", "fill"], eu = ["d", "stroke"], lu = ["cx", "cy", "stroke", "fill"], tu = ["cx", "cy", "stroke", "fill"], au = ["x1", "x2", "y2", "stroke"], ou = ["x", "height", "width", "onMouseenter"], uu = ["min", "max"], nu = ["min", "max"], iu = {
26
- __name: "SlicerPreview",
27
- props: {
28
- background: {
29
- type: String,
30
- default: "#FFFFFF"
31
- },
32
- borderColor: {
33
- type: String,
34
- default: "#FFFFFF"
35
- },
36
- fontSize: {
37
- type: Number,
38
- default: 14
39
- },
40
- labelLeft: {
41
- type: [String, Number],
42
- default: ""
43
- },
44
- labelRight: {
45
- type: [String, Number],
46
- default: ""
47
- },
48
- textColor: {
49
- type: String,
50
- default: "#1A1A1A"
51
- },
52
- inputColor: {
53
- type: String,
54
- default: "#1A1A1A"
55
- },
56
- max: {
57
- type: Number,
58
- default: 0
59
- },
60
- min: {
61
- type: Number,
62
- default: 0
63
- },
64
- selectColor: {
65
- type: String,
66
- default: "#4A4A4A"
67
- },
68
- useResetSlot: {
69
- type: Boolean,
70
- default: !1
71
- },
72
- valueStart: {
73
- type: [Number, String],
74
- default: 0
75
- },
76
- valueEnd: {
77
- type: [Number, String],
78
- default: 0
79
- },
80
- minimap: {
81
- type: Array,
82
- default: []
83
- },
84
- smoothMinimap: {
85
- type: Boolean,
86
- default: !1
87
- },
88
- minimapSelectedColor: {
89
- type: String,
90
- default: "#1f77b4"
91
- },
92
- minimapSelectionRadius: {
93
- type: Number,
94
- default: 12
95
- },
96
- minimapLineColor: {
97
- type: String,
98
- default: "#2D353C"
99
- },
100
- minimapSelectedColorOpacity: {
101
- type: Number,
102
- default: 0.2
103
- },
104
- minimapSelectedIndex: {
105
- type: Number,
106
- default: null
107
- },
108
- minimapIndicatorColor: {
109
- type: String,
110
- default: "#2D353C"
111
- },
112
- refreshStartPoint: {
113
- type: Number,
114
- default: 0
115
- },
116
- refreshEndPoint: {
117
- type: Number,
118
- default: null
119
- },
120
- enableRangeHandles: {
121
- type: Boolean,
122
- default: !1
123
- },
124
- enableSelectionDrag: {
125
- type: Boolean,
126
- default: !0
127
- },
128
- verticalHandles: {
129
- type: Boolean,
130
- default: !1
131
- },
132
- timeLabels: {
133
- type: Array
134
- },
135
- isPreview: {
136
- type: Boolean,
137
- default: !1
138
- }
139
- },
140
- emits: ["futureStart", "futureEnd", "update:start", "update:end", "reset", "trapMouse"],
141
- setup(C, { expose: Tt, emit: Nt }) {
142
- no((m) => ({
143
- "08ee7c46": cl.value,
144
- d9036b5e: Ke.value,
145
- "4e6bd1fc": Ll.value,
146
- "73b38b81": C.selectColor,
147
- "07444d8f": _l.value
148
- }));
149
- const d = C, Oe = p(null), de = p(d.min), he = p(d.max), $l = k(() => !!d.minimap.length), Jl = p(Ct()), Rl = p(0), sl = k({
150
- get() {
151
- return de.value;
152
- },
153
- set(m) {
154
- const h = Math.min(m, he.value - 1);
155
- de.value = h, dl.value && (dl.value.value = String(h)), Ye("futureStart", h);
156
- }
157
- }), rl = k({
158
- get() {
159
- return he.value;
160
- },
161
- set(m) {
162
- const h = Math.max(m, de.value + 1);
163
- he.value = h, Ql.value && (Ql.value.value = String(h)), Ye("futureEnd", h);
164
- }
165
- });
166
- rt(() => {
167
- const m = () => {
168
- Oe.value && (Rl.value = Oe.value.getBoundingClientRect().width);
169
- };
170
- m();
171
- const h = Dt(m, 50);
172
- window.addEventListener("resize", h), ct(() => {
173
- window.removeEventListener("resize", h);
174
- });
175
- });
176
- let Pl = null;
177
- function Re() {
178
- clearTimeout(Pl), Ye("update:start", Number(de.value)), Ye("update:end", Number(he.value));
179
- }
180
- const Ot = k(() => d.refreshEndPoint === null ? d.max : d.refreshEndPoint), Ye = Nt, ue = k(() => {
181
- const m = d.max - d.min, h = (de.value - d.min) / m * 100, w = (he.value - d.min) / m * 100, g = (h + w) / 2, ie = Ae.value ? `calc(${g}% - ${e.value.width}px)` : ol.value ? `calc(${g}%)` : `calc(${g}% - ${e.value.width / 2}px)`;
182
- return {
183
- left: `${h}%`,
184
- width: `${w - h}%`,
185
- background: d.selectColor,
186
- tooltipLeft: `calc(${h}% - ${ol.value ? 0 : Al.value / 2}px)`,
187
- tooltipRight: `calc(${w}% - ${Ae.value ? Cl.value : Cl.value / 2}px)`,
188
- tooltipCenter: ie,
189
- arrowLeft: !ol.value,
190
- arrowRight: !Ae.value
191
- };
192
- }), ol = k(() => Oe.value ? Oe.value.getBoundingClientRect().width * ((de.value - d.min) / (d.max - d.min)) - Al.value / 2 < 0 : !1), Ae = k(() => Oe.value ? Oe.value.getBoundingClientRect().width * ((he.value - d.min) / (d.max - d.min)) + Cl.value / 2 > Oe.value.getBoundingClientRect().width : !1), cl = k(() => d.inputColor), _l = k(() => d.background), Ll = k(() => `${d.selectColor}33`), Ke = k(() => d.borderColor), Hl = k(() => {
193
- let m = [];
194
- for (let h = 0; h < d.minimap.length; h += 1)
195
- m.push(h);
196
- return m;
197
- });
198
- function Vl() {
199
- Ye("reset");
200
- }
201
- p({
202
- start: de.value,
203
- end: he.value
204
- }), al(
205
- () => d.min,
206
- (m) => {
207
- Number(de.value) < Number(m) && (de.value = Number(m)), Number(he.value) < Number(m) && (he.value = Number(m));
208
- }
209
- ), al(
210
- () => d.max,
211
- (m) => {
212
- Number(de.value) > Number(m) && (de.value = Number(m)), Number(he.value) > Number(m) && (he.value = Number(m));
213
- }
214
- );
215
- const Je = p(null), q = p({
216
- width: 1,
217
- height: 1
218
- }), $e = p(null);
219
- rt(() => {
220
- if ($l.value) {
221
- const m = Dt(() => {
222
- const { width: h, height: w } = No({
223
- chart: Je.value
224
- });
225
- q.value.width = h, q.value.height = w - 47;
226
- });
227
- $e.value = new ResizeObserver(m), $e.value.observe(Je.value);
228
- }
229
- }), ct(() => {
230
- $e.value && $e.value.disconnect();
231
- });
232
- const fe = k(() => d.minimap.length ? q.value.width / d.minimap.length : 0), ye = k(() => {
233
- if (!d.minimap.length) return [];
234
- const m = Math.max(...d.minimap), h = Math.min(...d.minimap) - 10, w = m - (h > 0 ? 0 : h), g = d.minimap.map((Xl, Rt) => {
235
- const et = Xl - h;
236
- return {
237
- x: q.value.width / d.minimap.length * Rt + fe.value / 2,
238
- y: q.value.height - et / w * (q.value.height * 0.9)
239
- };
240
- }), ie = d.smoothMinimap ? zt(g) : It(g), xl = [...g].slice(d.valueStart, d.valueEnd), ft = d.smoothMinimap ? zt(xl) : It(xl);
241
- return {
242
- fullSet: ie,
243
- selectionSet: ft,
244
- sliced: xl,
245
- firstPlot: g[d.valueStart],
246
- lastPlot: g[d.valueEnd - 1]
247
- };
248
- }), M = k(() => ({
249
- x: fe.value * de.value + fe.value / 2,
250
- width: q.value.width * ((he.value - de.value) / d.max) - fe.value
251
- })), vl = p(d.minimapSelectedIndex);
252
- al(() => d.minimapSelectedIndex, (m) => {
253
- vl.value = m + d.valueStart;
254
- }, { immediate: !0 });
255
- function xe(m) {
256
- vl.value = m, m >= d.valueStart && m < d.valueEnd && Ye("trapMouse", m - d.valueStart);
257
- }
258
- const ne = p(0), dl = p(null), Ql = p(null);
259
- function hl(m) {
260
- if (typeof m == "object" && m && "target" in m) {
261
- const w = m.target, g = "valueAsNumber" in w ? w.valueAsNumber : +w.value;
262
- return Number.isFinite(g) ? g : NaN;
263
- }
264
- const h = +m;
265
- return Number.isFinite(h) ? h : NaN;
266
- }
267
- function fl(m) {
268
- const h = hl(m);
269
- Number.isFinite(h) && (sl.value = h);
270
- }
271
- function ul(m) {
272
- const h = hl(m);
273
- Number.isFinite(h) && (rl.value = h);
274
- }
275
- const El = k(() => d.valueEnd - d.valueStart), Ce = p(!1);
276
- let ae = p(null);
277
- const X = k(() => (Rl.value - 48) / (d.max - d.min)), vt = k(() => (Rl.value - 48) / (d.max - d.min) * El.value), dt = p(2.5), jl = k(() => {
278
- const m = Rl.value - 48;
279
- return Math.ceil(
280
- (d.max - d.min) / ((m - vt.value) / dt.value)
281
- );
282
- });
283
- let _e = null, Pe = null, z = null, De = null;
284
- const Bl = (m) => {
285
- if (y.value = !0, !d.enableSelectionDrag) return;
286
- const h = m.type === "touchstart", w = h && m.targetTouches && m.targetTouches[0] ? m.targetTouches[0] : null, g = h ? w ? w.target : null : m.target;
287
- !g || !(g instanceof Element) || g.classList && g.classList.contains("range-handle") || (Ce.value = !0, ae.value = h ? w ? w.clientX : 0 : m.clientX, _e = h ? "touchmove" : "mousemove", Pe = h ? "touchend" : "mouseup", z = h ? ke : Fl, De = h ? ht : Wl, window.addEventListener(_e, z, { passive: !1 }), window.addEventListener(Pe, De));
288
- };
289
- function Fl(m) {
290
- Ce.value && He(m.clientX);
291
- }
292
- function ke(m) {
293
- if (!Ce.value || !Oe.value) return;
294
- const h = m.target;
295
- if (!(h instanceof Element) || !Oe.value.contains(h) || h.classList && h.classList.contains("range-handle")) return;
296
- m.preventDefault();
297
- const w = m.targetTouches && m.targetTouches[0] ? m.targetTouches[0] : null;
298
- w && He(w.clientX);
299
- }
300
- function He(m) {
301
- if (!Ce.value) return;
302
- const h = m - ae.value;
303
- if (Math.abs(h) > X.value) {
304
- if (h > 0) {
305
- const w = Math.min(d.max, he.value + jl.value);
306
- rl.value = w, sl.value = w - El.value;
307
- } else {
308
- const w = Math.max(d.min, de.value - jl.value);
309
- sl.value = w, rl.value = w + El.value;
310
- }
311
- ae.value = m;
312
- }
313
- }
314
- function Wl() {
315
- S();
316
- }
317
- function ht() {
318
- S();
319
- }
320
- function S() {
321
- Ce.value = !1, _e && z && window.removeEventListener(_e, z), Pe && De && window.removeEventListener(Pe, De), _e = Pe = null, z = De = null, Re();
322
- }
323
- const gl = p(!1), Ml = p(null), ml = p(null), Al = p(1), Cl = p(1), y = p(!1);
324
- function Yl() {
325
- Ml.value && (Al.value = Ml.value.getBoundingClientRect().width);
326
- }
327
- function $() {
328
- ml.value && (Cl.value = ml.value.getBoundingClientRect().width);
329
- }
330
- const Le = p(0);
331
- function Dl(m) {
332
- Le.value = m === "start" ? 1 : 0;
333
- }
334
- const Qe = p(!1), e = p({
335
- width: 0,
336
- left: 0
337
- });
338
- al([de, he], async () => {
339
- if (await Kl(), !Ml.value || !ml.value) {
340
- Qe.value = !1, e.value = { width: 0, left: 0 };
341
- return;
342
- }
343
- const m = Ml.value.getBoundingClientRect(), h = ml.value.getBoundingClientRect();
344
- Qe.value = m.x + m.width > h.x;
345
- const w = m.x + m.width / 2, g = h.x + h.width / 2, ie = m.width + h.width, xl = (w + g) / 2;
346
- e.value = {
347
- width: ie,
348
- left: xl - ie / 2
349
- };
350
- }), io(() => {
351
- Yl(), $();
352
- }), al(() => d.labelLeft, () => {
353
- Kl(Yl);
354
- }, { deep: !0 }), al(() => d.labelRight, () => {
355
- Kl($);
356
- }, { deep: !0 });
357
- const B = k(() => {
358
- const m = d.timeLabels.find((w) => w.absoluteIndex === de.value), h = d.timeLabels.find((w) => w.absoluteIndex === he.value - 1);
359
- return {
360
- left: m ? m.text : "",
361
- right: h ? h.text : ""
362
- };
363
- });
364
- return ct(() => {
365
- $e.value && $e.value.disconnect(), _e && z && window.removeEventListener(_e, z), Pe && De && window.removeEventListener(Pe, De), _e = Pe = null, z = De = null, clearTimeout(Pl);
366
- }), Tt({
367
- setStartValue: fl,
368
- setEndValue: ul
369
- }), (m, h) => (n(), i("div", {
370
- "data-dom-to-png-ignore": "",
371
- style: { padding: "0 24px" },
372
- class: "vue-data-ui-zoom",
373
- ref_key: "zoomWrapper",
374
- ref: Oe,
375
- onMousedown: Bl,
376
- onTouchstart: Bl
377
- }, [
378
- b("div", Wo, [
379
- C.valueStart !== C.refreshStartPoint || C.valueEnd !== Ot.value ? (n(), i("div", Yo, [
380
- C.useResetSlot ? Q(m.$slots, "reset-action", {
381
- key: 1,
382
- reset: Vl
383
- }, void 0, !0) : (n(), i("button", {
384
- key: 0,
385
- tabindex: "0",
386
- role: "button",
387
- class: "vue-data-ui-refresh-button",
388
- style: _({
389
- top: $l.value ? "36px" : "-16px",
390
- pointerEvents: "all !important"
391
- }),
392
- onClick: Vl
393
- }, [
394
- ql(Fo, {
395
- name: "refresh",
396
- stroke: C.textColor
397
- }, null, 8, ["stroke"])
398
- ], 4))
399
- ])) : f("", !0)
400
- ]),
401
- b("div", {
402
- class: "double-range-slider",
403
- ref_key: "minimapWrapper",
404
- ref: Je,
405
- style: { "z-index": "0" },
406
- onMouseenter: h[13] || (h[13] = (w) => y.value = !0),
407
- onMouseleave: h[14] || (h[14] = (w) => y.value = !1)
408
- }, [
409
- $l.value ? (n(), i("div", Do, [
410
- (n(), i("svg", {
411
- xmlns: v(xo),
412
- viewBox: `0 0 ${q.value.width < 0 ? 0 : q.value.width} ${q.value.height < 0 ? 0 : q.value.height}`
413
- }, [
414
- b("defs", null, [
415
- b("linearGradient", {
416
- id: Jl.value,
417
- x1: "0%",
418
- y1: "0%",
419
- x2: "0%",
420
- y2: "100%"
421
- }, [
422
- b("stop", {
423
- offset: "0%",
424
- "stop-color": `${C.minimapLineColor}50`
425
- }, null, 8, Uo),
426
- h[15] || (h[15] = b("stop", {
427
- offset: "100%",
428
- "stop-color": "transparent"
429
- }, null, -1))
430
- ], 8, Go)
431
- ]),
432
- b("path", {
433
- d: `M${ye.value.fullSet}`,
434
- stroke: `${C.minimapLineColor}`,
435
- fill: "none",
436
- "stroke-width": "1",
437
- "stroke-linecap": "round",
438
- "stroke-linejoin": "round",
439
- style: { opacity: "1" }
440
- }, null, 8, Zo),
441
- b("rect", {
442
- x: M.value.x,
443
- width: M.value.width < 0 ? 0 : M.value.width,
444
- height: Math.max(q.value.height, 0),
445
- y: 0,
446
- fill: Ke.value,
447
- rx: C.minimapSelectionRadius,
448
- stroke: "none"
449
- }, null, 8, qo),
450
- b("path", {
451
- d: `M${fe.value / 2},${Math.max(q.value.height, 0)} ${ye.value.fullSet} L${q.value.width - fe.value / 2},${Math.max(q.value.height, 0)}Z`,
452
- fill: `url(#${Jl.value})`,
453
- stroke: "none",
454
- style: { opacity: "1" }
455
- }, null, 8, Ko),
456
- b("rect", {
457
- x: M.value.x,
458
- width: M.value.width < 0 ? 0 : M.value.width,
459
- height: Math.max(q.value.height, 0),
460
- y: 0,
461
- rx: C.minimapSelectionRadius,
462
- fill: Ke.value
463
- }, null, 8, Jo),
464
- b("rect", {
465
- x: M.value.x,
466
- width: M.value.width < 0 ? 0 : M.value.width,
467
- height: Math.max(q.value.height, 0),
468
- y: 0,
469
- fill: C.minimapSelectedColor,
470
- rx: C.minimapSelectionRadius,
471
- style: _({
472
- opacity: C.minimapSelectedColorOpacity
473
- })
474
- }, null, 12, Qo),
475
- b("path", {
476
- d: `M${ye.value.sliced[0].x},${Math.max(q.value.height, 0)} ${ye.value.selectionSet} L${ye.value.sliced.at(-1).x},${Math.max(q.value.height, 0)}Z`,
477
- fill: `url(#${Jl.value})`,
478
- stroke: "none",
479
- style: { opacity: "1" }
480
- }, null, 8, jo),
481
- b("path", {
482
- d: `M ${ye.value.selectionSet}`,
483
- stroke: `${C.minimapLineColor}`,
484
- fill: "transparent",
485
- "stroke-width": "2",
486
- "stroke-linecap": "round",
487
- "stroke-linejoin": "round"
488
- }, null, 8, eu),
489
- b("circle", {
490
- cx: ye.value.firstPlot.x,
491
- cy: ye.value.firstPlot.y,
492
- "stroke-width": "0.5",
493
- stroke: Ke.value,
494
- r: "3",
495
- fill: C.minimapLineColor
496
- }, null, 8, lu),
497
- b("circle", {
498
- cx: ye.value.lastPlot.x,
499
- cy: ye.value.lastPlot.y,
500
- "stroke-width": "0.5",
501
- stroke: Ke.value,
502
- r: "3",
503
- fill: C.minimapLineColor
504
- }, null, 8, tu),
505
- vl.value !== null ? (n(!0), i(x, { key: 0 }, L(Hl.value, (w, g) => (n(), i("g", null, [
506
- vl.value === w && w >= C.valueStart && w < C.valueEnd ? (n(), i("line", {
507
- key: 0,
508
- x1: fe.value * g + fe.value / 2,
509
- x2: fe.value * g + fe.value / 2,
510
- y1: 0,
511
- y2: Math.max(q.value.height, 0),
512
- stroke: C.minimapIndicatorColor,
513
- "stroke-linecap": "round",
514
- "stroke-dasharray": "2",
515
- "stroke-width": "1"
516
- }, null, 8, au)) : f("", !0)
517
- ]))), 256)) : f("", !0),
518
- (n(!0), i(x, null, L(Hl.value, (w, g) => (n(), i("rect", {
519
- x: fe.value * g,
520
- y: 0,
521
- height: Math.max(q.value.height, 0),
522
- width: fe.value < 0 ? 0 : fe.value,
523
- fill: "transparent",
524
- style: _([{ "pointer-events": "all !important" }, {
525
- cursor: w >= C.valueStart && w < C.valueEnd && C.enableSelectionDrag ? gl.value ? "grabbing" : "grab" : "default"
526
- }]),
527
- onMousedown: h[0] || (h[0] = (ie) => gl.value = !0),
528
- onMouseup: h[1] || (h[1] = (ie) => gl.value = !1),
529
- onMouseenter: (ie) => xe(w),
530
- onMouseleave: h[2] || (h[2] = (ie) => {
531
- vl.value = null, Ye("trapMouse", null);
532
- })
533
- }, null, 44, ou))), 256))
534
- ], 8, Xo))
535
- ])) : f("", !0),
536
- h[16] || (h[16] = b("div", { class: "slider-track" }, null, -1)),
537
- b("div", {
538
- class: Ne({
539
- "range-highlight": !0,
540
- move: C.enableSelectionDrag
541
- }),
542
- onMousedown: h[3] || (h[3] = (w) => gl.value = !0),
543
- onMouseup: h[4] || (h[4] = (w) => gl.value = !1),
544
- style: _({
545
- ...ue.value,
546
- cursor: gl.value ? "grabbing" : "grab"
547
- })
548
- }, null, 38),
549
- C.enableRangeHandles ? Yt((n(), i("input", {
550
- ref_key: "rangeStart",
551
- ref: dl,
552
- key: `range-min${ne.value}`,
553
- type: "range",
554
- class: Ne({ "range-left": !0, "range-handle": !0, "range-minimap": $l.value && C.verticalHandles }),
555
- min: C.min,
556
- max: C.max,
557
- "onUpdate:modelValue": h[5] || (h[5] = (w) => sl.value = w),
558
- onInput: h[6] || (h[6] = (w) => fl(w)),
559
- onChange: Re,
560
- onKeyup: La(Re, ["enter"]),
561
- onBlur: Re,
562
- onMouseenter: h[7] || (h[7] = (w) => Dl("start")),
563
- onPointermove: h[8] || (h[8] = (w) => sl.value = +w.target.value),
564
- onPointerup: Re
565
- }, null, 42, uu)), [
566
- [
567
- Ma,
568
- sl.value,
569
- void 0,
570
- { number: !0 }
571
- ]
572
- ]) : f("", !0),
573
- C.enableRangeHandles ? Yt((n(), i("input", {
574
- key: 2,
575
- ref_key: "rangeEnd",
576
- ref: Ql,
577
- type: "range",
578
- class: Ne({ "range-right": !0, "range-handle": !0, "range-minimap": $l.value && C.verticalHandles }),
579
- min: C.min,
580
- max: C.max,
581
- "onUpdate:modelValue": h[9] || (h[9] = (w) => rl.value = w),
582
- onInput: h[10] || (h[10] = (w) => ul(w)),
583
- onChange: Re,
584
- onKeyup: La(Re, ["enter"]),
585
- onBlur: Re,
586
- onMouseenter: h[11] || (h[11] = (w) => Dl("end")),
587
- onPointermove: h[12] || (h[12] = (w) => rl.value = +w.target.value),
588
- onPointerup: Re
589
- }, null, 42, nu)), [
590
- [
591
- Ma,
592
- rl.value,
593
- void 0,
594
- { number: !0 }
595
- ]
596
- ]) : f("", !0),
597
- B.value.left ? (n(), i("div", {
598
- key: 3,
599
- ref_key: "tooltipLeft",
600
- ref: Ml,
601
- class: Ne({
602
- "range-tooltip": !0,
603
- "range-tooltip-visible": y.value,
604
- "range-tooltip-arrow": ue.value.arrowLeft && !C.verticalHandles,
605
- "range-tooltip-arrow-left": !ue.value.arrowLeft && !C.verticalHandles
606
- }),
607
- style: _({
608
- left: ue.value.tooltipLeft,
609
- color: v(qe)(C.selectColor),
610
- backgroundColor: C.selectColor,
611
- border: `1px solid ${Ke.value}`,
612
- zIndex: `${Le.value + 4}`,
613
- visibility: Qe.value || B.value.left === B.value.right ? "hidden" : "visible"
614
- })
615
- }, te(B.value.left), 7)) : f("", !0),
616
- (Qe.value || B.value.left === B.value.right) && (B.value.left || B.value.right) ? (n(), i("div", {
617
- key: 4,
618
- ref: "tooltipMerge",
619
- class: Ne({
620
- "range-tooltip": !0,
621
- "range-tooltip-visible": y.value,
622
- "range-tooltip-arrow": !0,
623
- "range-tooltip-arrow-left": !ue.value.arrowLeft && !C.verticalHandles,
624
- "range-tooltip-arrow-right": !ue.value.arrowRight && !C.verticalHandles
625
- }),
626
- style: _({
627
- left: ue.value.tooltipCenter,
628
- width: e.value.width + "px",
629
- color: v(qe)(C.selectColor),
630
- backgroundColor: C.selectColor,
631
- border: `1px solid ${Ke.value}`,
632
- zIndex: "4"
633
- })
634
- }, te(B.value.left === B.value.right ? B.value.left : `${B.value.left} - ${B.value.right}`), 7)) : f("", !0),
635
- B.value.right ? (n(), i("div", {
636
- key: 5,
637
- ref_key: "tooltipRight",
638
- ref: ml,
639
- class: Ne({
640
- "range-tooltip": !0,
641
- "range-tooltip-visible": y.value,
642
- "range-tooltip-arrow": ue.value.arrowRight && !C.verticalHandles,
643
- "range-tooltip-arrow-right": !ue.value.arrowRight && !C.verticalHandles
644
- }),
645
- style: _({
646
- left: ue.value.tooltipRight,
647
- color: v(qe)(C.selectColor),
648
- backgroundColor: C.selectColor,
649
- border: `1px solid ${Ke.value}`,
650
- zIndex: "4",
651
- visibility: Qe.value || B.value.left === B.value.right ? "hidden" : "visible"
652
- })
653
- }, te(B.value.right), 7)) : f("", !0)
654
- ], 544)
655
- ], 544));
656
- }
657
- }, su = /* @__PURE__ */ Ra(iu, [["__scopeId", "data-v-619e736c"]]), ru = ["id"], cu = ["id"], vu = ["viewBox", "aria-label"], du = ["x", "y", "width", "height"], hu = { key: 1 }, fu = { class: "vue-ui-xy-grid" }, gu = ["stroke", "x1", "x2", "y1", "y2"], mu = ["stroke", "x1", "x2", "y1", "y2"], xu = { key: 1 }, bu = ["x1", "x2", "y1", "y2", "stroke"], pu = ["x1", "x2", "y1", "y2", "stroke"], yu = ["x1", "x2", "y1", "y2", "stroke"], ku = { key: 3 }, wu = ["d", "stroke"], Su = { key: 4 }, $u = ["d", "stroke"], _u = ["id"], Lu = ["stop-color"], Mu = ["stop-color"], Au = ["stop-color"], Cu = ["id"], zu = ["stop-color"], Iu = ["stop-color"], Tu = ["stop-color"], Nu = ["id"], Ou = ["stop-color"], Ru = ["stop-color"], Pu = ["id"], Hu = ["stop-color"], Vu = ["stop-color"], Eu = ["id"], Bu = ["stop-color"], Fu = ["stop-color"], Wu = ["x", "y", "height", "width", "fill"], Yu = ["x", "y", "width"], Du = { key: 0 }, Xu = ["x", "y", "height", "width", "fill"], Gu = ["x", "y", "height", "width", "rx", "fill", "stroke", "stroke-width"], Uu = ["x", "y", "height", "width", "rx", "fill", "stroke", "stroke-width"], Zu = ["width", "x", "y"], qu = { key: 0 }, Ku = ["id"], Ju = ["fill"], Qu = ["x1", "x2", "y1", "y2", "stroke", "marker-end"], ju = ["x", "y", "font-size", "fill"], en = ["stroke", "x1", "x2", "y1", "y2"], ln = { key: 3 }, tn = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], an = ["x", "y", "width", "height", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin", "stroke-dasharray"], on = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], un = ["fill", "font-size", "transform"], nn = ["x1", "x2", "y1", "y2", "stroke"], sn = ["x", "y", "font-size", "fill"], rn = ["x1", "x2", "y1", "y2", "stroke"], cn = ["x", "y", "font-size", "fill"], vn = ["width", "x", "y"], dn = { style: { width: "100%" } }, hn = { key: 0 }, fn = ["id"], gn = ["fill"], mn = ["x1", "x2", "y1", "y2", "stroke", "marker-end"], xn = ["x", "y", "font-size", "fill"], bn = ["d", "stroke", "stroke-width", "stroke-dasharray"], pn = ["d", "stroke", "stroke-width", "stroke-dasharray"], yn = { key: 6 }, kn = { key: 0 }, wn = ["d", "fill"], Sn = ["d", "fill"], $n = ["d", "fill"], _n = ["d", "fill"], Ln = ["d", "stroke", "stroke-width", "stroke-dasharray"], Mn = ["d", "stroke", "stroke-width", "stroke-dasharray"], An = ["width", "x", "y"], Cn = { style: { width: "100%" } }, zn = { key: 3 }, In = ["id"], Tn = ["fill"], Nn = ["x1", "x2", "y1", "y2", "stroke", "marker-end"], On = ["x", "y", "font-size", "fill"], Rn = { key: 7 }, Pn = ["x", "y", "font-size", "fill"], Hn = ["x", "y", "font-size", "fill", "font-weight"], Vn = { key: 8 }, En = ["x", "y", "font-size", "fill"], Bn = { key: 9 }, Fn = ["x", "y"], Wn = ["innerHTML"], Yn = ["x", "y"], Dn = ["innerHTML"], Xn = ["x1", "x2", "y1", "y2", "stroke"], Gn = { key: 10 }, Un = ["x", "y", "font-size", "fill"], Zn = { key: 11 }, qn = ["x", "y"], Kn = ["innerHTML"], Jn = ["x", "y"], Qn = ["innerHTML"], jn = ["x1", "x2", "y1", "y2", "stroke"], ei = ["x", "y", "font-size", "fill", "innerHTML"], li = ["x", "y", "font-size", "fill", "innerHTML"], ti = ["x", "y", "font-size", "fill", "innerHTML"], ai = ["x", "y", "font-size", "fill", "innerHTML"], oi = ["id"], ui = ["stop-color"], ni = ["stop-color"], ii = ["x", "y", "width", "height", "fill", "onMouseenter"], si = ["font-size", "fill", "transform"], ri = ["x", "y", "font-size", "fill"], ci = ["text-anchor", "font-size", "fill", "transform", "onClick"], vi = ["text-anchor", "font-size", "fill", "transform", "innerHTML", "onClick"], di = { key: 14 }, hi = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], fi = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], gi = ["y", "x", "width", "height", "fill"], mi = ["id", "x", "y", "font-size", "fill", "text-anchor"], xi = {
658
- key: 15,
659
- style: { "pointer-events": "none" }
660
- }, bi = ["x", "y"], pi = ["cx", "cy", "r", "fill"], yi = {
661
- key: 4,
662
- class: "vue-data-ui-watermark"
663
- }, ki = {
664
- class: "vue-ui-xy-tag-arrow",
665
- height: "20",
666
- viewBox: "0 0 10 20",
667
- style: { position: "absolute", right: "100%", top: "50%", transform: "translateY(-50%)" }
668
- }, wi = ["fill"], Si = ["innerHTML"], $i = {
669
- class: "vue-ui-xy-tag-arrow",
670
- height: "100%",
671
- viewBox: "0 0 10 20",
672
- style: { position: "absolute", left: "100%", top: "50%", transform: "translateY(-50%)" }
673
- }, _i = ["fill"], Li = ["innerHTML"], Mi = {
674
- class: "vue-ui-xy-tag-arrow",
675
- height: "20",
676
- viewBox: "0 0 10 20",
677
- style: { position: "absolute", right: "100%", top: "50%", transform: "translateY(-50%)" }
678
- }, Ai = ["fill"], Ci = ["innerHTML"], zi = {
679
- class: "vue-ui-xy-tag-arrow",
680
- height: "100%",
681
- viewBox: "0 0 10 20",
682
- style: { position: "absolute", left: "100%", top: "50%", transform: "translateY(-50%)" }
683
- }, Ii = ["fill"], Ti = ["innerHTML"], Ni = ["id"], Oi = ["onClick"], Ri = {
684
- key: 0,
685
- viewBox: "0 0 20 12",
686
- height: "14",
687
- width: "20"
688
- }, Pi = ["stroke", "fill"], Hi = {
689
- key: 1,
690
- viewBox: "0 0 40 40",
691
- height: "14",
692
- width: "14"
693
- }, Vi = ["fill"], Ei = ["fill"], Bi = {
694
- key: 2,
695
- viewBox: "0 0 12 12",
696
- height: "14",
697
- width: "14"
698
- }, Fi = {
699
- style: { display: "flex", "flex-direction": "row", gap: "6px", "align-items": "center", "padding-left": "6px" },
700
- "data-dom-to-png-ignore": ""
701
- }, Wi = ["innerHTML"], Yi = {
702
- __name: "vue-ui-xy",
703
- props: {
704
- config: {
705
- type: Object,
706
- default() {
707
- return {};
708
- }
709
- },
710
- dataset: {
711
- type: Array,
712
- default() {
713
- return [];
714
- }
715
- },
716
- selectedXIndex: {
717
- type: Number,
718
- default: void 0
719
- }
720
- },
721
- emits: ["selectTimeLabel", "selectX", "selectLegend"],
722
- setup(C, { expose: Tt, emit: Nt }) {
723
- const d = C, Oe = kl(() => import("./DataTable-CWzb1j8d.js")), de = kl(() => import("./Tooltip-hfdFRoLp.js")), he = kl(() => import("./UserOptions-r0epwyXR.js")), $l = kl(() => import("./BaseIcon-DLm6QTwr.js")), Jl = kl(() => import("./vue-ui-table-sparkline-Dbi7H7Xb.js")), Rl = kl(() => import("./vue-ui-accordion-s_m_NJzJ.js")), sl = kl(() => import("./PackageVersion-n4qokxnx.js")), rl = kl(() => import("./PenAndPaper-C_R9vJkU.js")), Pl = Nt, Re = so(), Ot = ro(), { vue_ui_xy: Ye } = bo(), ue = p(null), ol = p(null), Ae = p(null), cl = p(null), _l = p(null), Ll = p(null), Ke = p(null), Hl = p(null), Vl = p(null), Je = p(null), q = p(null), $e = p(null), fe = p(null), ye = p(0), M = p(null), vl = p(!0), xe = p(600), ne = p(1e3), dl = p("0 0 1000 600"), Ql = p({ x: 0, y: 0 }), hl = p({ line: "line", bar: "bar", plot: "plot" }), fl = p(!1), ul = p(!1), El = p(!1), Ce = p(null), ae = p([]), X = p(Ct()), vt = p(0), dt = p(0), jl = p(0), _e = p(!0), Pe = p(0), z = p(null), De = p(!1), Bl = p(!0), Fl = p(!0), ke = p(null), He = p({}), Wl = p(null), ht = p(!1), S = p(null), gl = k(() => ({
724
- height: xe.value,
725
- width: ne.value
726
- })), Ml = d.config.downsample && d.config.downsample.threshold ? d.config.downsample.threshold : 500;
727
- function ml(t) {
728
- return Number.isFinite(t) ? Math.max(0, Math.floor(t)) : 0;
729
- }
730
- function Al(t, r, l = 0) {
731
- return Number.isFinite(t) && Number.isFinite(r) && Math.abs(r) > 1e-9 ? t / r : l;
732
- }
733
- const Cl = p(!1), y = p({
734
- dataLabels: { show: !0 },
735
- showTooltip: !0,
736
- showTable: !1,
737
- isStacked: !1,
738
- useIndividualScale: !1
739
- });
740
- function Yl() {
741
- Cl.value ? (y.value.isStacked = e.value.chart.grid.labels.yAxis.stacked, y.value.useIndividualScale == null && (y.value.useIndividualScale = e.value.chart.grid.labels.yAxis.useIndividualScale)) : (y.value = {
742
- dataLabels: { show: !0 },
743
- showTooltip: e.value.chart.tooltip.show === !0,
744
- showTable: e.value.showTable === !0,
745
- isStacked: e.value.chart.grid.labels.yAxis.stacked,
746
- useIndividualScale: e.value.chart.grid.labels.yAxis.useIndividualScale
747
- }, Cl.value = !0);
748
- }
749
- const $ = p({
750
- xAxis: 18,
751
- yAxis: 12,
752
- dataLabels: 20,
753
- plotLabels: 10
754
- }), Le = p({ plot: 3, line: 3 });
755
- rt(() => {
756
- ht.value = !0, d.dataset.length && d.dataset.forEach((t, r) => {
757
- [null, void 0].includes(t.series) && Ft({
758
- componentName: "VueUiXy",
759
- type: "datasetSerieAttribute",
760
- property: "series (number[])",
761
- index: r,
762
- debug: ut.value
763
- });
764
- });
765
- });
766
- function Dl() {
767
- if (!Object.keys(d.config || {}).length)
768
- return Ye;
769
- const t = Wt({
770
- userConfig: d.config,
771
- defaultConfig: Ye
772
- });
773
- return d.config && We(d.config, "chart.highlightArea") && (Array.isArray(d.config.chart.highlightArea) ? t.chart.highlightArea = d.config.chart.highlightArea : t.chart.highlightArea = [d.config.chart.highlightArea]), d.config && We(d.config, "chart.grid.labels.yAxis.scaleMin") ? t.chart.grid.labels.yAxis.scaleMin = d.config.chart.grid.labels.yAxis.scaleMin : t.chart.grid.labels.yAxis.scaleMin = null, d.config && We(d.config, "chart.grid.labels.yAxis.scaleMax") ? t.chart.grid.labels.yAxis.scaleMax = d.config.chart.grid.labels.yAxis.scaleMax : t.chart.grid.labels.yAxis.scaleMax = null, d.config && We(d.config, "chart.zoom.startIndex") ? t.chart.zoom.startIndex = d.config.chart.zoom.startIndex : t.chart.zoom.startIndex = null, d.config && We(d.config, "chart.zoom.endIndex") ? t.chart.zoom.endIndex = d.config.chart.zoom.endIndex : t.chart.zoom.endIndex = null, d.config && We(d.config, "chart.grid.labels.yAxis.groupColor") ? t.chart.grid.labels.yAxis.groupColor = d.config.chart.grid.labels.yAxis.groupColor : t.chart.grid.labels.yAxis.groupColor = null, d.config && d.config.chart.annotations && Array.isArray(d.config.chart.annotations) && d.config.chart.annotations.length ? t.chart.annotations = d.config.chart.annotations.map((r) => Wt({
774
- defaultConfig: Ye.chart.annotations[0],
775
- userConfig: r
776
- })) : t.chart.annotations = [], d.config && We(d.config, "chart.grid.position") && d.config.chart.grid.position === "start" && d.dataset.length && d.dataset.some((r) => r.type === "bar") && (t.chart.grid.position = "middle", We(d.config, "debug") && console.warn("Vue Data UI - VueUiXy - config.chart.grid.position was overriden to `middle` because your dataset contains a bar")), d.config && We(d.config, "chart.grid.labels.yAxis.serieNameFormatter") ? t.chart.grid.labels.yAxis.serieNameFormatter = d.config.chart.grid.labels.yAxis.serieNameFormatter : t.chart.grid.labels.yAxis.serieNameFormatter = null, d.config && We(d.config, "events.datapointEnter") ? t.events.datapointEnter = d.config.events.datapointEnter : t.events.datapointEnter = null, d.config && We(d.config, "events.datapointLeave") ? t.events.datapointLeave = d.config.events.datapointLeave : t.events.datapointLeave = null, d.config && We(d.config, "events.datapointClick") ? t.events.datapointClick = d.config.events.datapointClick : t.events.datapointClick = null, t.theme ? {
777
- ...Wt({
778
- userConfig: zo.vue_ui_xy[t.theme] || d.config,
779
- defaultConfig: t
780
- }),
781
- customPalette: Co[t.theme] || d.palette
782
- } : t;
783
- }
784
- const Qe = k({
785
- get() {
786
- return !!d.dataset && d.dataset.length;
787
- },
788
- set(t) {
789
- return t;
790
- }
791
- }), e = p(Dl()), { loading: B, FINAL_DATASET: m, manualLoading: h } = Ro({
792
- ...co(d),
793
- FINAL_CONFIG: e,
794
- prepareConfig: Dl,
795
- callback: () => {
796
- Promise.resolve().then(async () => {
797
- await pt();
798
- });
799
- },
800
- skeletonDataset: [
801
- {
802
- name: "",
803
- series: [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 134],
804
- type: "line",
805
- smooth: !0,
806
- color: "#BABABA"
807
- },
808
- {
809
- name: "",
810
- series: [0, 0.5, 1, 1.5, 2.5, 4, 6.5, 10.5, 17, 27.5, 44.5, 67],
811
- type: "bar",
812
- color: "#CACACA"
813
- }
814
- ],
815
- skeletonConfig: po({
816
- defaultConfig: e.value,
817
- userConfig: {
818
- useCssAnimation: !1,
819
- showTable: !1,
820
- chart: {
821
- annotations: [],
822
- highlightArea: [],
823
- backgroundColor: "#99999930",
824
- grid: {
825
- stroke: "#6A6A6A",
826
- labels: {
827
- show: !1,
828
- axis: {
829
- yLabel: "",
830
- xLabel: ""
831
- },
832
- xAxisLabels: { show: !1 },
833
- yAxis: {
834
- commonScaleSteps: 10,
835
- useNiceScale: !0,
836
- scaleMin: 0,
837
- scaleMax: 134
838
- },
839
- zeroLine: { show: !0 }
840
- }
841
- },
842
- padding: {
843
- top: 12,
844
- bottom: 24,
845
- left: 24,
846
- right: 24
847
- },
848
- userOptions: { show: !1 },
849
- zoom: {
850
- show: !1,
851
- startIndex: null,
852
- endIndex: null
853
- }
854
- },
855
- bar: {
856
- serieName: { show: !1 },
857
- labels: { show: !1 },
858
- border: {
859
- useSerieColor: !1,
860
- stroke: "#999999"
861
- }
862
- },
863
- line: {
864
- dot: {
865
- useSerieColor: !1,
866
- fill: "#8A8A8A"
867
- },
868
- labels: { show: !1 }
869
- }
870
- }
871
- })
872
- }), w = k({
873
- get: () => Math.max(...m.value.map((t) => Ue({ data: t.series, threshold: Ml }).length)),
874
- set: (t) => t
875
- }), g = p({ start: 0, end: w.value }), ie = p({ start: 0, end: w.value }), xl = k(() => e.value.chart.zoom.preview.enable && (ie.value.start !== g.value.start || ie.value.end !== g.value.end));
876
- function ft(t, r) {
877
- ie.value[t] = r;
878
- }
879
- function Xl() {
880
- const t = Math.max(
881
- 1,
882
- ...m.value.map((u) => Ue({
883
- data: u.series,
884
- threshold: e.value.downsample.threshold
885
- }).length)
886
- );
887
- let r = Math.max(0, Math.min(g.value.start ?? 0, t - 1)), l = Math.max(r + 1, Math.min(g.value.end ?? t, t));
888
- (!Number.isFinite(r) || !Number.isFinite(l) || l <= r) && (r = 0, l = t), g.value = { start: r, end: l }, ie.value.start = r, ie.value.end = l;
889
- }
890
- const Rt = k(() => {
891
- const { left: t, top: r, width: l, height: u } = c.value, a = g.value.start, o = g.value.end - a, H = l / o, G = ie.value.start - a, U = ie.value.end - a, T = Math.max(0, Math.min(o, G)), R = Math.max(0, Math.min(o, U));
892
- return {
893
- x: t + T * H,
894
- y: r,
895
- width: (R - T) * H,
896
- height: u,
897
- fill: e.value.chart.zoom.preview.fill,
898
- stroke: e.value.chart.zoom.preview.stroke,
899
- "stroke-width": e.value.chart.zoom.preview.strokeWidth,
900
- "stroke-dasharray": e.value.chart.zoom.preview.strokeDasharray,
901
- "stroke-linecap": "round",
902
- "stroke-linejoin": "round",
903
- style: {
904
- pointerEvents: "none",
905
- transition: "all 0.1s ease-in-out",
906
- animation: "none !important"
907
- }
908
- };
909
- });
910
- al(() => d.selectedXIndex, (t) => {
911
- if ([null, void 0].includes(d.selectedXIndex)) {
912
- S.value = null;
913
- return;
914
- }
915
- const r = t - g.value.start;
916
- r < 0 || t >= g.value.end ? S.value = null : S.value = r ?? null;
917
- }, { immediate: !0 });
918
- const { isPrinting: et, isImaging: Xt, generatePdf: Gt, generateImage: Ut } = Oo({
919
- elementId: `vue-ui-xy_${X.value}`,
920
- fileName: e.value.chart.title.text || "vue-ui-xy",
921
- options: e.value.chart.userOptions.print
922
- }), Pa = p(!1), Zt = k(() => yo(e.value.customPalette)), gt = k(() => {
923
- if (e.value.chart.grid.labels.yAxis.scaleMin !== null)
924
- return e.value.chart.grid.labels.yAxis.scaleMin;
925
- const t = Math.min(...nl.value.filter((r) => !ae.value.includes(r.id)).map((r) => Math.min(...r.series)));
926
- return t > 0 ? 0 : t;
927
- }), mt = k(() => {
928
- if (e.value.chart.grid.labels.yAxis.scaleMax)
929
- return e.value.chart.grid.labels.yAxis.scaleMax;
930
- const t = Math.max(...nl.value.filter((r) => !ae.value.includes(r.id)).map((r) => Math.max(...r.series)));
931
- return gt.value === t ? t + 1 : t;
932
- }), Xe = k(() => e.value.chart.grid.labels.yAxis.useNiceScale ? st(gt.value, mt.value < 0 ? 0 : mt.value, e.value.chart.grid.labels.yAxis.commonScaleSteps) : Nl(gt.value, mt.value < 0 ? 0 : mt.value, e.value.chart.grid.labels.yAxis.commonScaleSteps)), lt = k(() => [null, void 0].includes(e.value.chart.grid.labels.yAxis.scaleMin) ? Xe.value.min >= 0 ? 0 : Math.abs(Xe.value.min) : -Xe.value.min), nl = k(() => vl.value ? m.value.map((t, r) => {
933
- const l = Ue({
934
- data: t.series,
935
- threshold: e.value.downsample.threshold
936
- }), u = `uniqueId_${r}`;
937
- return {
938
- ...t,
939
- slotAbsoluteIndex: r,
940
- series: l.map((a) => Lt(a) ? a : null).slice(g.value.start, g.value.end),
941
- color: ko(t.color ? t.color : Zt.value[r] ? Zt.value[r] : wo[r]),
942
- id: u,
943
- scaleLabel: t.scaleLabel || u
944
- };
945
- }) : m.value), je = k(() => nl.value.map((t, r) => ({
946
- absoluteIndex: r,
947
- ...t,
948
- series: t.series.map((l) => l + lt.value),
949
- absoluteValues: t.series,
950
- segregate: () => ca(t),
951
- isSegregated: ae.value.includes(t.id)
952
- }))), Ve = k(() => nl.value.map((t, r) => ({
953
- ...t,
954
- series: t.series.map((l) => l + lt.value),
955
- absoluteValues: t.series
956
- })).filter((t) => !ae.value.includes(t.id)));
957
- function Ha() {
958
- let t = 0;
959
- q.value && (t = Array.from(q.value.querySelectorAll("text")).reduce((a, s) => {
960
- const o = s.getComputedTextLength();
961
- return (o > a ? o : a) + e.value.chart.grid.labels.yAxis.scaleValueOffsetX;
962
- }, 0));
963
- const r = Vl.value ? Vl.value.getBoundingClientRect().width + e.value.chart.grid.labels.axis.yLabelOffsetX + $.value.yAxis : 0, l = e.value.chart.grid.labels.yAxis.crosshairSize;
964
- return t + r + l;
965
- }
966
- const Pt = p(0), Va = Dt((t) => {
967
- Pt.value = t;
968
- }, 100);
969
- vo((t) => {
970
- const r = Je.value;
971
- if (!r) return;
972
- const l = new ResizeObserver((u) => {
973
- Va(u[0].contentRect.height);
974
- });
975
- l.observe(r), t(() => l.disconnect());
976
- }), ct(() => {
977
- Pt.value = 0;
978
- });
979
- const qt = k(() => {
980
- let t = 0;
981
- Hl.value && (t = Hl.value.getBBox().height);
982
- let r = 0;
983
- return Je.value && (r = Pt.value), t + r + $.value.xAxis;
984
- }), Ea = k(() => m.value.some((t) => t.useProgression)), c = k(() => {
985
- let t = 0;
986
- const r = 36;
987
- e.value.chart.grid.labels.show && (y.value.useIndividualScale && !y.value.isStacked ? t = (m.value.length - ae.value.length) * (e.value.chart.grid.labels.yAxis.labelWidth + r) : y.value.useIndividualScale && y.value.isStacked ? t = e.value.chart.grid.labels.yAxis.labelWidth + r : t = Ha());
988
- const l = e.value.chart.labels.fontSize * 1.1, u = Ea.value ? 24 : 6;
989
- if (Je.value) {
990
- const o = Je.value.getBBox().x;
991
- o < 0 && (t += Math.abs(o));
992
- }
993
- const a = ne.value - t - e.value.chart.grid.labels.yAxis.crosshairSize - u - e.value.chart.padding.left - e.value.chart.padding.right, s = e.value.chart.grid.position === "middle" ? 0 : a / A.value / 2;
994
- return {
995
- top: e.value.chart.padding.top + l,
996
- right: ne.value - u - e.value.chart.padding.right,
997
- bottom: xe.value - qt.value - e.value.chart.padding.bottom - e.value.chart.grid.labels.axis.xLabelOffsetY,
998
- left: t + e.value.chart.grid.labels.yAxis.crosshairSize - s + e.value.chart.padding.left,
999
- height: xe.value - qt.value - e.value.chart.padding.top - e.value.chart.padding.bottom - l - e.value.chart.grid.labels.axis.xLabelOffsetY,
1000
- width: a,
1001
- scaleLabelX: t,
1002
- individualOffsetX: r
1003
- };
1004
- }), Ba = k(() => {
1005
- const t = e.value.chart.grid.position === "middle" ? 1 : 0, r = A.value + t, l = D(c.value.top), u = D(c.value.bottom);
1006
- return Array.from({ length: r }).map((a, s) => {
1007
- const o = c.value.width / A.value * s + c.value.left + ee.value;
1008
- return `M${o},${l} L${o},${u}`;
1009
- }).join(" ");
1010
- }), Fa = k(() => {
1011
- if (!e.value.chart.grid.labels.xAxis.showCrosshairs)
1012
- return "";
1013
- const {
1014
- showOnlyAtModulo: t,
1015
- showOnlyFirstAndLast: r,
1016
- modulo: l
1017
- } = e.value.chart.grid.labels.xAxisLabels, u = K.value.length ? Math.min(l, [...new Set(K.value.map((s) => s.text))].length) : l, a = Math.floor((g.value.end - g.value.start) / u);
1018
- return K.value.map((s, o) => {
1019
- if (!s) return null;
1020
- const H = t && A.value <= u, G = !r && !t, U = r && !t && (o === 0 || o === K.value.length - 1), T = r && !t && S.value === o, R = !r && t && o % a === 0;
1021
- if (!(H || G || U || T || R))
1022
- return null;
1023
- const Z = c.value.width / A.value, N = c.value.left + Z * o + Z / 2, E = e.value.chart.grid.labels.xAxis.crosshairSize, O = e.value.chart.grid.labels.xAxis.crosshairsAlwaysAtZero, se = O ? we.value - (we.value === c.value.bottom ? 0 : E / 2) : c.value.bottom, ge = O ? we.value + E / (we.value === c.value.bottom ? 1 : 2) : c.value.bottom + E;
1024
- return `M${N},${se} L${N},${ge}`;
1025
- }).filter((s) => s !== null).join(" ");
1026
- });
1027
- function Kt() {
1028
- return !!Ot?.vnode.props?.onSelectTimeLabel;
1029
- }
1030
- function Wa(t, r, l) {
1031
- if (!Wl.value) {
1032
- const u = document.createElement("canvas");
1033
- Wl.value = u.getContext("2d");
1034
- }
1035
- return Wl.value.font = `normal ${t}px sans-serif`, Wl.value;
1036
- }
1037
- function Jt() {
1038
- const t = ue.value.querySelectorAll(".vue-ui-xy-tag");
1039
- t.length && Array.from(t).forEach((r) => r.style.opacity = "0");
1040
- }
1041
- function xt(t, r, l, u, a) {
1042
- l && (He.value[`${t}_${r}_${u}_${a}`] = l);
1043
- }
1044
- const Qt = p(!1);
1045
- async function jt(t = !1) {
1046
- await Kl(), Qt.value = t, De.value && (Fl.value = t);
1047
- }
1048
- function Ht() {
1049
- fl.value = !fl.value;
1050
- }
1051
- const K = k(() => {
1052
- const t = Math.max(...m.value.map((r) => Ue({ data: r.series, threshold: e.value.downsample.threshold }).length));
1053
- return Oa({
1054
- values: e.value.chart.grid.labels.xAxisLabels.values,
1055
- maxDatapoints: t,
1056
- formatter: e.value.chart.grid.labels.xAxisLabels.datetimeFormatter,
1057
- start: g.value.start,
1058
- end: g.value.end
1059
- });
1060
- }), Ya = k(() => {
1061
- const t = Math.max(...m.value.map((r) => Ue({ data: r.series, threshold: e.value.downsample.threshold }).length));
1062
- return Oa({
1063
- values: e.value.chart.grid.labels.xAxisLabels.values,
1064
- maxDatapoints: t,
1065
- formatter: e.value.chart.grid.labels.xAxisLabels.datetimeFormatter,
1066
- start: 0,
1067
- end: w.value
1068
- });
1069
- }), bt = k(() => {
1070
- const t = e.value.chart.grid.labels.xAxisLabels.modulo;
1071
- return K.value.length ? Math.min(t, [...new Set(K.value.map((r) => r.text))].length) : t;
1072
- });
1073
- function ea(t, r) {
1074
- const l = Ve.value.map((u) => ({
1075
- shape: u.shape || null,
1076
- name: u.name,
1077
- color: u.color,
1078
- type: u.type,
1079
- value: u.absoluteValues.find((a, s) => s === r),
1080
- comments: u.comments || [],
1081
- prefix: u.prefix || e.value.chart.labels.prefix,
1082
- suffix: u.suffix || e.value.chart.labels.suffix
1083
- }));
1084
- Pl("selectTimeLabel", {
1085
- datapoint: l,
1086
- absoluteIndex: t.absoluteIndex,
1087
- label: t.text
1088
- });
1089
- }
1090
- const A = k(() => {
1091
- const t = ml((g.value.end ?? 0) - (g.value.start ?? 0));
1092
- return Math.max(1, t);
1093
- });
1094
- function la(t) {
1095
- z.value = t;
1096
- }
1097
- function ta() {
1098
- y.value.isStacked = !y.value.isStacked, y.value.isStacked ? y.value.useIndividualScale = !0 : y.value.useIndividualScale = e.value.chart.grid.labels.yAxis.useIndividualScale;
1099
- }
1100
- function Vt(t) {
1101
- ut.value && t.autoScaling && (e.value.chart.grid.labels.yAxis.useIndividualScale || console.warn(`VueUiXy (datapoint: ${t.name}) : autoScaling only works when config.chart.grid.labels.yAxis.useIndividualScale is set to true`), e.value.chart.grid.labels.yAxis.stacked || console.warn(`VueUiXy (datapoint: ${t.name}) : autoScaling only works when config.chart.grid.labels.yAxis.stacked is set to true`));
1102
- }
1103
- function Da(t, r) {
1104
- const l = ml(t), u = Array(l).fill(0);
1105
- for (let a = 0; a < r.length && a < l; a += 1) u[a] = r[a] ?? 0;
1106
- return u;
1107
- }
1108
- function Xa(t) {
1109
- const r = Math.max(...m.value.map((l) => Ue({ data: l.series, threshold: e.value.downsample.threshold }).length));
1110
- return t > r ? r : t < 0 || e.value.chart.zoom.startIndex !== null && t < e.value.chart.zoom.startIndex ? e.value.chart.zoom.startIndex !== null ? e.value.chart.zoom.startIndex + 1 : 1 : t;
1111
- }
1112
- async function pt() {
1113
- await Kl(), await Kl();
1114
- const { startIndex: t, endIndex: r } = e.value.chart.zoom, l = Ae.value, u = Math.max(
1115
- ...m.value.map(
1116
- (a) => Ue({
1117
- data: a.series,
1118
- threshold: e.value.downsample.threshold
1119
- }).length
1120
- )
1121
- );
1122
- (t != null || r != null) && l ? (t != null && (g.value.start = t, l.setStartValue(t)), r != null && (g.value.end = r + 1, l.setEndValue(Xa(r + 1)))) : (g.value = { start: 0, end: u }, ye.value += 1), ie.value.start = g.value.start, ie.value.end = g.value.end, Xl();
1123
- }
1124
- async function aa() {
1125
- await pt();
1126
- }
1127
- function ze(t) {
1128
- return ![null, void 0, NaN, 1 / 0, -1 / 0].includes(t);
1129
- }
1130
- const oa = k(() => Xe.value.max + lt.value);
1131
- function zl(t) {
1132
- return t / (ze(oa.value) ? oa.value : 1);
1133
- }
1134
- const we = k(() => isNaN(zl(lt.value)) ? c.value.bottom : c.value.bottom - c.value.height * zl(lt.value));
1135
- function ua(t) {
1136
- const r = ![null, void 0].includes(e.value.chart.grid.labels.yAxis.scaleMin) && e.value.chart.grid.labels.yAxis.scaleMin > 0 && gt.value >= 0 ? c.value.bottom : we.value;
1137
- return t.value >= 0 ? V(r - t.y <= 0 ? 1e-5 : r - t.y) : V(t.y - we.value <= 0 ? 1e-5 : t.y - we.value);
1138
- }
1139
- function na(t) {
1140
- return t.value >= 0 ? V(t.zeroPosition - t.y <= 0 ? 1e-5 : t.zeroPosition - t.y) : V(t.y - t.zeroPosition <= 0 ? 1e-5 : t.zeroPosition - t.y);
1141
- }
1142
- const oe = k(() => {
1143
- const t = Math.max(1, A.value), r = Math.max(1, c.value.width), l = Math.max(1, nl.value.filter((u) => u.type === "bar" && !ae.value.includes(u.id)).length);
1144
- return {
1145
- bar: Al(r, t * l, 1),
1146
- plot: Al(r, t, 1),
1147
- line: Al(r, t, 1)
1148
- };
1149
- });
1150
- function Gl() {
1151
- return y.value.useIndividualScale && y.value.isStacked ? oe.value.line - c.value.width / A.value * 0.1 : oe.value.bar;
1152
- }
1153
- function yt(t) {
1154
- return y.value.useIndividualScale && y.value.isStacked ? t.x + c.value.width / A.value * 0.05 : t.x + oe.value.bar / 2;
1155
- }
1156
- function ia(t) {
1157
- return t.value >= 0 ? t.y : [null, void 0, NaN, 1 / 0, -1 / 0].includes(we.value) ? c.bottom.value : we.value;
1158
- }
1159
- function sa(t) {
1160
- return t.value >= 0 ? t.y : [null, void 0, NaN, 1 / 0, -1 / 0].includes(t.zeroPosition) ? 0 : t.zeroPosition;
1161
- }
1162
- const tt = p(null);
1163
- function Ga(t) {
1164
- if (fl.value) return;
1165
- const r = ke.value.getBoundingClientRect(), u = ke.value.viewBox.baseVal.width / r.width, s = (t.clientX - r.left) * u - c.value.left, o = c.value.width / A.value, H = Math.floor(s / o);
1166
- H >= 0 && H < A.value ? tt.value !== H && (tt.value = H, pa(!0, H)) : ra();
1167
- }
1168
- function ra() {
1169
- tt.value = null, pa(!1, null);
1170
- }
1171
- function Ua() {
1172
- tt.value != null && Za(tt.value);
1173
- }
1174
- function Za(t) {
1175
- const r = Ve.value.map((l) => ({
1176
- name: l.name,
1177
- value: [null, void 0, NaN].includes(l.absoluteValues[t]) ? null : l.absoluteValues[t],
1178
- color: l.color,
1179
- type: l.type
1180
- }));
1181
- Pl(
1182
- "selectX",
1183
- {
1184
- dataset: r,
1185
- index: t,
1186
- indexLabel: e.value.chart.grid.labels.xAxisLabels.values[t]
1187
- }
1188
- ), e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: r, seriesIndex: t + g.value.start });
1189
- }
1190
- function qa() {
1191
- return je.value.map((t) => ({
1192
- values: t.absoluteValues,
1193
- color: t.color,
1194
- name: t.name,
1195
- type: t.type
1196
- }));
1197
- }
1198
- async function Ka({ scale: t = 2 } = {}) {
1199
- if (!ue.value) return;
1200
- const { width: r, height: l } = ue.value.getBoundingClientRect(), u = r / l, { imageUri: a, base64: s } = await Vo({ domElement: ue.value, base64: !0, img: !0, scale: t });
1201
- return {
1202
- imageUri: a,
1203
- base64: s,
1204
- title: e.value.chart.title.text,
1205
- width: r,
1206
- height: l,
1207
- aspectRatio: u
1208
- };
1209
- }
1210
- function ca(t) {
1211
- if (ae.value.includes(t.id))
1212
- ae.value = ae.value.filter((r) => r !== t.id);
1213
- else {
1214
- if (ae.value.length + 1 === nl.value.length) return;
1215
- ae.value.push(t.id);
1216
- }
1217
- Pl("selectLegend", Ve.value.map((r) => ({
1218
- name: r.name,
1219
- values: r.absoluteValues,
1220
- color: r.color,
1221
- type: r.type
1222
- }))), Pe.value += 1;
1223
- }
1224
- const Ja = k(() => {
1225
- const t = e.value.chart.title.text || "Chart visualization", r = e.value.chart.title.subtitle.text || "";
1226
- return `${t}. ${r}`;
1227
- }), va = k(() => ({
1228
- linePlot: A.value > e.value.line.dot.hideAboveMaxSerieLength
1229
- })), Qa = k(() => e.value.chart.userOptions.show && (!e.value.chart.title.show || !e.value.chart.title.text)), ja = k(() => {
1230
- if (Array.isArray(e.value.chart.highlightArea))
1231
- return e.value.chart.highlightArea.map((r) => {
1232
- const l = Math.min(r.to, w.value - 1);
1233
- return {
1234
- ...r,
1235
- span: r.from === l ? 1 : l < r.from ? 0 : l - r.from + 1
1236
- };
1237
- });
1238
- const t = {
1239
- ...e.value.chart.highlightArea,
1240
- to: Math.min(e.value.chart.highlightArea.to, w.value - 1)
1241
- };
1242
- return [{ ...t, span: t.from === t.to ? 1 : t.to < t.from ? 0 : t.to - t.from + 1 }];
1243
- }), eo = k(() => vl.value ? m.value.map((t, r) => ({
1244
- ...t,
1245
- series: Ue({
1246
- data: t.series,
1247
- threshold: e.value.downsample.threshold
1248
- }),
1249
- id: `uniqueId_${r}`
1250
- })) : m.value), lo = k(() => Ve.value.map((t) => {
1251
- const r = t.absoluteValues.map((l) => [void 0, null].includes(l) ? 0 : l);
1252
- return {
1253
- id: t.id,
1254
- name: t.name,
1255
- color: t.color,
1256
- values: Da(A.value, r)
1257
- };
1258
- })), to = k(() => ({
1259
- responsiveBreakpoint: e.value.table.responsiveBreakpoint,
1260
- roundingValues: e.value.table.rounding,
1261
- showAverage: !1,
1262
- showMedian: !1,
1263
- showTotal: !1,
1264
- fontFamily: e.value.chart.fontFamily,
1265
- prefix: e.value.chart.labels.prefix,
1266
- suffix: e.value.chart.labels.suffix,
1267
- colNames: K.value.map((t) => t.text),
1268
- thead: {
1269
- backgroundColor: e.value.table.th.backgroundColor,
1270
- color: e.value.table.th.color,
1271
- outline: e.value.table.th.outline
1272
- },
1273
- tbody: {
1274
- backgroundColor: e.value.table.td.backgroundColor,
1275
- color: e.value.table.td.color,
1276
- outline: e.value.table.td.outline
1277
- },
1278
- userOptions: {
1279
- show: !1
1280
- }
1281
- })), ee = k(() => e.value.chart.grid.position === "middle" ? 0 : c.value.width / A.value / 2), Il = k(() => So(je.value.filter((t) => !ae.value.includes(t.id)))), I = k(() => {
1282
- const t = Object.groupBy(Il.value, (l) => l.scaleLabel), r = {};
1283
- for (const [l, u] of Object.entries(t)) {
1284
- const a = u.flatMap((s) => s.absoluteValues);
1285
- r[l] = {
1286
- min: Math.min(...a) || 0,
1287
- max: Math.max(...a) || 1,
1288
- groupId: `scale_group_${Ct()}`
1289
- };
1290
- }
1291
- return r;
1292
- }), ao = k(() => {
1293
- const t = nl.value.filter((r) => r.type === "bar").filter((r) => !ae.value.includes(r.id)).length;
1294
- return c.value.width / A.value / t - kt.value * t;
1295
- }), kt = k(() => oe.value.line * e.value.bar.periodGap), wt = k(() => Math.max(1e-5, Gl() - (y.value.useIndividualScale && y.value.isStacked ? 0 : kt.value))), St = k(() => wt.value * Math.min(Math.abs(e.value.bar.innerGap), 0.95)), da = k(() => {
1296
- if (!e.value.chart.zoom.minimap.show) return [];
1297
- const t = eo.value.filter((a) => !ae.value.includes(a.id)), r = Math.max(...t.map((a) => a.series.length)), l = [];
1298
- for (let a = 0; a < r; a += 1)
1299
- l.push(t.map((s) => s.series[a] || 0).reduce((s, o) => (s || 0) + (o || 0), 0));
1300
- const u = Math.min(...l);
1301
- return l.map((a) => a + (u < 0 ? Math.abs(u) : 0));
1302
- }), at = k(() => Ve.value.map((t) => ({
1303
- slotAbsoluteIndex: t.slotAbsoluteIndex,
1304
- shape: t.shape || null,
1305
- name: t.name,
1306
- color: t.color,
1307
- type: t.type,
1308
- value: t.absoluteValues.find((r, l) => l === S.value),
1309
- comments: t.comments || [],
1310
- prefix: t.prefix || e.value.chart.labels.prefix,
1311
- suffix: t.suffix || e.value.chart.labels.suffix
1312
- }))), ha = k(() => Xe.value.ticks.map((t) => ({
1313
- y: t >= 0 ? we.value - c.value.height * zl(t) : we.value + c.value.height * zl(Math.abs(t)),
1314
- value: t,
1315
- prefix: e.value.chart.labels.prefix,
1316
- suffix: e.value.chart.labels.suffix
1317
- }))), fa = k(() => {
1318
- const t = e.value.chart.annotations;
1319
- if (!t || !Array.isArray(t) || t.every((T) => !T.show)) return [];
1320
- const r = t.filter(
1321
- (T) => T.show && (T.yAxis.yTop != null || T.yAxis.yBottom != null)
1322
- );
1323
- if (!r.length) return [];
1324
- const { left: l, right: u } = c.value, a = we.value, s = c.value.height, o = Xe.value.min, G = Xe.value.max - o, U = (T) => {
1325
- const R = (T - 0) / G;
1326
- return a - R * s;
1327
- };
1328
- return r.map((T) => {
1329
- const { yAxis: { yTop: R, yBottom: Z, label: N } } = T, E = R != null && Z != null && R !== Z, O = R == null ? null : U(R), se = Z == null ? null : U(Z), ge = Wa(N.fontSize);
1330
- ge.font = `${N.fontSize}px sans-serif`;
1331
- const le = ge.measureText(N.text).width, Ee = N.fontSize, ll = (N.position === "start" ? l + N.padding.left : u - N.padding.right) + N.offsetX, Ie = (O != null && se != null ? Math.min(O, se) : O ?? se) - N.fontSize / 3 + N.offsetY - N.padding.top;
1332
- let W;
1333
- N.textAnchor === "middle" ? W = ll - le / 2 - N.padding.left : N.textAnchor === "end" ? W = ll - le - N.padding.right : W = ll - N.padding.left;
1334
- const Y = Ie - Ee * 0.75 - N.padding.top;
1335
- return {
1336
- show: ![O, se, Y].includes(NaN),
1337
- id: `annotation_y_${Ct()}`,
1338
- hasArea: E,
1339
- areaHeight: E ? Math.abs(O - se) : 0,
1340
- yTop: O,
1341
- yBottom: se,
1342
- config: T.yAxis,
1343
- x1: l,
1344
- x2: u,
1345
- _text: { x: ll, y: Ie },
1346
- _box: {
1347
- x: W,
1348
- y: Y,
1349
- width: le + N.padding.left + N.padding.right,
1350
- height: Ee + N.padding.top + N.padding.bottom,
1351
- fill: N.backgroundColor,
1352
- stroke: N.border.stroke,
1353
- rx: N.border.rx,
1354
- ry: N.border.ry,
1355
- strokeWidth: N.border.strokeWidth
1356
- }
1357
- };
1358
- });
1359
- });
1360
- function ga(t, r) {
1361
- const l = t[r - 1], u = t[r + 1];
1362
- let a = !!l && !!u && l.value == null && u.value == null || !l && !!u && u.value == null || !!l && !u && l.value == null;
1363
- return ze(t[r].value) && a && e.value.line.cutNullValues;
1364
- }
1365
- const bl = k(() => {
1366
- const t = Il.value.filter((o) => ["bar", "line", "plot"].includes(o.type)), r = t.length, l = e.value.chart.grid.labels.yAxis.gap, u = y.value.isStacked, a = u ? l * (r - 1) : 0, s = c.value.height - a;
1367
- return t.filter((o) => o.type === "bar").map((o, H) => {
1368
- Vt(o);
1369
- const G = I.value[o.scaleLabel].min, U = I.value[o.scaleLabel].max;
1370
- o.absoluteValues.filter((F) => ![null, void 0].includes(F)).map((F) => (F - G) / (U - G));
1371
- const T = {
1372
- valueMin: G,
1373
- valueMax: U < 0 ? 0 : U
1374
- }, R = {
1375
- max: o.scaleMax || Math.max(...o.absoluteValues) || 1,
1376
- min: o.scaleMin || Math.min(...o.absoluteValues.filter((F) => ![void 0, null].includes(F))) > 0 ? 0 : Math.min(...o.absoluteValues.filter((F) => ![null, void 0].includes(F)))
1377
- }, Z = o.scaleSteps || e.value.chart.grid.labels.yAxis.commonScaleSteps, N = 1.0000001, E = e.value.chart.grid.labels.yAxis.useNiceScale ? st(R.min, R.max === R.min ? R.max * N : R.max, Z) : Nl(R.min, R.max === R.min ? R.max * N : R.max, Z), O = e.value.chart.grid.labels.yAxis.useNiceScale ? st(T.valueMin, T.valueMax === T.valueMin ? T.valueMax * N : T.valueMax, Z) : Nl(T.valueMin, T.valueMax === T.valueMin ? T.valueMax * N : T.valueMax, Z), se = E.min >= 0 ? 0 : Math.abs(E.min), ge = 0, le = E.max + se, Ee = O.max + Math.abs(ge), ll = o.stackIndex, Ul = r - 1 - ll, Ie = u ? 1 - o.cumulatedStackRatio : 0, W = u ? s * Ie + l * Ul : 0, Y = u ? s * o.stackRatio : c.value.height, re = c.value.bottom - W - Y * se / le, Te = c.value.bottom - W - Y * ge / Ee, Se = je.value.filter((F) => F.type === "bar").filter((F) => !ae.value.includes(F.id)).length, nt = o.series.map((F, ve) => {
1378
- const yl = y.value.useIndividualScale ? (o.absoluteValues[ve] + se) / le : zl(F), Tl = y.value.useIndividualScale && y.value.isStacked ? c.value.left + c.value.width / A.value * ve : c.value.left + oe.value.bar * H + oe.value.bar * ve * Se - ao.value / 2 - H * kt.value;
1379
- return {
1380
- yOffset: V(W),
1381
- individualHeight: V(Y),
1382
- x: V(Tl),
1383
- y: c.value.bottom - W - Y * yl,
1384
- value: o.absoluteValues[ve],
1385
- zeroPosition: V(re),
1386
- individualMax: V(le),
1387
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[ve] || ""
1388
- };
1389
- }), Me = o.absoluteValues.map((F) => O.min >= 0 ? (F - Math.abs(O.min)) / (O.max - Math.abs(O.min)) : (F + Math.abs(O.min)) / (O.max + Math.abs(O.min))), pl = o.series.map((F, ve) => {
1390
- const yl = y.value.useIndividualScale && y.value.isStacked ? c.value.left + c.value.width / A.value * ve : c.value.left - oe.value.bar / 2 + oe.value.bar * H + oe.value.bar * ve * je.value.filter((Tl) => Tl.type === "bar").filter((Tl) => !ae.value.includes(Tl.id)).length;
1391
- return {
1392
- yOffset: V(W),
1393
- individualHeight: V(Y),
1394
- x: V(yl),
1395
- y: V(c.value.bottom - V(W) - (V(Y) * Me[ve] || 0)),
1396
- value: o.absoluteValues[ve],
1397
- zeroPosition: V(re),
1398
- individualMax: V(le),
1399
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[ve] || ""
1400
- };
1401
- }), J = E.ticks.map((F) => ({
1402
- y: F >= 0 ? re - Y * (F / le) : re + Y * Math.abs(F) / le,
1403
- value: F,
1404
- prefix: o.prefix || e.value.chart.labels.prefix,
1405
- suffix: o.suffix || e.value.chart.labels.suffix,
1406
- datapoint: o
1407
- })), ce = O.ticks.map((F) => {
1408
- const ve = (F - O.min) / (O.max - O.min);
1409
- return {
1410
- y: F >= 0 ? Te - Y * ve : Te + Y * ve,
1411
- value: F,
1412
- prefix: o.prefix || e.value.chart.labels.prefix,
1413
- suffix: o.suffix || e.value.chart.labels.suffix,
1414
- datapoint: o
1415
- };
1416
- });
1417
- return I.value[o.scaleLabel].name = o.name, I.value[o.scaleLabel].groupName = o.scaleLabel, I.value[o.scaleLabel].groupColor = e.value.chart.grid.labels.yAxis.groupColor || o.color, I.value[o.scaleLabel].color = o.color, I.value[o.scaleLabel].scaleYLabels = o.autoScaling ? ce : J, I.value[o.scaleLabel].zeroPosition = o.autoScaling ? Te : re, I.value[o.scaleLabel].individualMax = o.autoScaling ? Ee : le, I.value[o.scaleLabel].scaleLabel = o.scaleLabel, I.value[o.scaleLabel].id = o.id, I.value[o.scaleLabel].yOffset = W, I.value[o.scaleLabel].individualHeight = Y, I.value[o.scaleLabel].autoScaleYLabels = ce, I.value[o.scaleLabel].unique = Il.value.filter((F) => F.scaleLabel === o.scaleLabel).length === 1, {
1418
- ...o,
1419
- yOffset: W,
1420
- autoScaleYLabels: ce,
1421
- individualHeight: Y,
1422
- scaleYLabels: o.autoScaling ? ce : J,
1423
- individualScale: o.autoScaling ? O : E,
1424
- individualMax: o.autoScaling ? Ee : le,
1425
- zeroPosition: o.autoScaling ? Te : re,
1426
- plots: o.autoScaling ? pl : nt,
1427
- groupId: I.value[o.scaleLabel].groupId
1428
- };
1429
- });
1430
- }), Ge = k(() => {
1431
- const t = Il.value.filter((o) => ["bar", "line", "plot"].includes(o.type)), r = t.length, l = e.value.chart.grid.labels.yAxis.gap, u = y.value.isStacked, a = u ? l * (r - 1) : 0, s = c.value.height - a;
1432
- return t.filter((o) => o.type === "line").map((o, H) => {
1433
- Vt(o);
1434
- const G = I.value[o.scaleLabel].min, U = I.value[o.scaleLabel].max;
1435
- o.absoluteValues.filter((P) => ![null, void 0].includes(P)).map((P) => (P - G) / (U - G));
1436
- const T = {
1437
- valueMin: G,
1438
- valueMax: U
1439
- }, R = {
1440
- max: o.scaleMax || Math.max(...o.absoluteValues) || 1,
1441
- min: o.scaleMin || (Math.min(...o.absoluteValues) > 0 ? 0 : Math.min(...o.absoluteValues))
1442
- }, Z = o.scaleSteps || e.value.chart.grid.labels.yAxis.commonScaleSteps, N = 1.0000001, E = e.value.chart.grid.labels.yAxis.useNiceScale ? st(R.min, R.max === R.min ? R.max * N : R.max, Z) : Nl(R.min, R.max === R.min ? R.max * N : R.max, Z), O = e.value.chart.grid.labels.yAxis.useNiceScale ? st(T.valueMin, T.valueMax === T.valueMin ? T.valueMax * N : T.valueMax, Z) : Nl(T.valueMin, T.valueMax === T.valueMin ? T.valueMax * N : T.valueMax, Z), se = E.min >= 0 ? 0 : Math.abs(E.min), ge = 0, le = E.max + Math.abs(se), Ee = O.max + Math.abs(ge), ll = o.stackIndex, Ul = r - 1 - ll, Ie = u ? 1 - o.cumulatedStackRatio : 0, W = u ? s * Ie + l * Ul : 0, Y = u ? s * o.stackRatio : c.value.height, re = c.value.bottom - W - Y * se / le, Te = c.value.bottom - W - Y * ge / Ee, Se = o.series.map((P, be) => {
1443
- const uo = y.value.useIndividualScale ? (o.absoluteValues[be] + Math.abs(se)) / le : zl(P);
1444
- return {
1445
- x: V(c.value.left + oe.value.line / 2 + oe.value.line * be),
1446
- y: V(c.value.bottom - W - Y * uo),
1447
- value: o.absoluteValues[be],
1448
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[be] || ""
1449
- };
1450
- }), nt = o.absoluteValues.map((P) => O.min >= 0 ? (P - Math.abs(O.min)) / (O.max - Math.abs(O.min)) : (P + Math.abs(O.min)) / (O.max + Math.abs(O.min))), Me = o.series.map((P, be) => [void 0, null].includes(o.absoluteValues[be]) ? {
1451
- x: V(c.value.left + oe.value.line / 2 + oe.value.line * be),
1452
- y: re,
1453
- value: o.absoluteValues[be],
1454
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[be] || ""
1455
- } : {
1456
- x: V(c.value.left + oe.value.line / 2 + oe.value.line * be),
1457
- y: V(c.value.bottom - W - (Y * nt[be] || 0)),
1458
- value: o.absoluteValues[be],
1459
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[be] || ""
1460
- }), pl = e.value.line.cutNullValues ? Aa(Se) : zt(Se.filter((P) => P.value !== null)), J = e.value.line.cutNullValues ? Aa(Me) : zt(Me.filter((P) => P.value !== null)), ce = e.value.line.cutNullValues ? Ca(Se) : It(Se.filter((P) => P.value !== null)), F = e.value.line.cutNullValues ? Ca(Me) : It(Me.filter((P) => P.value !== null)), ve = E.ticks.map((P) => ({
1461
- y: P >= 0 ? re - Y * (P / le) : re + Y * Math.abs(P) / le,
1462
- value: P,
1463
- prefix: o.prefix || e.value.chart.labels.prefix,
1464
- suffix: o.suffix || e.value.chart.labels.suffix,
1465
- datapoint: o
1466
- })), yl = O.ticks.map((P) => {
1467
- const be = (P - O.min) / (O.max - O.min);
1468
- return {
1469
- y: P >= 0 ? Te - Y * be : Te + Y * be,
1470
- value: P,
1471
- prefix: o.prefix || e.value.chart.labels.prefix,
1472
- suffix: o.suffix || e.value.chart.labels.suffix,
1473
- datapoint: o
1474
- };
1475
- });
1476
- I.value[o.scaleLabel].name = o.name, I.value[o.scaleLabel].groupName = o.scaleLabel, I.value[o.scaleLabel].groupColor = e.value.chart.grid.labels.yAxis.groupColor || o.color, I.value[o.scaleLabel].color = o.color, I.value[o.scaleLabel].scaleYLabels = o.autoScaling ? yl : ve, I.value[o.scaleLabel].zeroPosition = o.autoScaling ? Te : re, I.value[o.scaleLabel].individualMax = o.autoScaling ? Ee : le, I.value[o.scaleLabel].scaleLabel = o.scaleLabel, I.value[o.scaleLabel].id = o.id, I.value[o.scaleLabel].yOffset = W, I.value[o.scaleLabel].individualHeight = Y, I.value[o.scaleLabel].autoScaleYLabels = yl, I.value[o.scaleLabel].unique = Il.value.filter((P) => P.scaleLabel === o.scaleLabel).length === 1;
1477
- const Tl = y.value.useIndividualScale ? o.autoScaling ? Te : re : we.value, it = Math.max(Math.max(o.autoScaling ? Te : ve.at(-1) ? ve.at(-1).y : 0, c.value.top), Tl);
1478
- return {
1479
- ...o,
1480
- yOffset: W,
1481
- autoScaleYLabels: yl,
1482
- individualHeight: Y,
1483
- scaleYLabels: o.autoScaling ? yl : ve,
1484
- individualScale: o.autoScaling ? O : E,
1485
- individualMax: o.autoScaling ? Ee : le,
1486
- zeroPosition: o.autoScaling ? Te : re,
1487
- curve: o.autoScaling ? J : pl,
1488
- plots: o.autoScaling ? Me : Se,
1489
- area: o.useArea ? y.value.useIndividualScale ? e.value.line.cutNullValues ? za(
1490
- o.autoScaling ? Me : Se,
1491
- it
1492
- ) : Ia(
1493
- o.autoScaling ? Me.filter((P) => P.value !== null) : Se.filter((P) => P.value !== null),
1494
- it
1495
- ) : e.value.line.cutNullValues ? za(Se, it) : Ia(Se.filter((P) => P.value !== null), it) : "",
1496
- curveAreas: o.useArea ? $o(
1497
- o.autoScaling ? e.value.line.cutNullValues ? Me : Me.filter((P) => P.value !== null) : e.value.line.cutNullValues ? Se : Se.filter((P) => P.value !== null),
1498
- it,
1499
- e.value.line.cutNullValues
1500
- ) : [],
1501
- straight: o.autoScaling ? F : ce,
1502
- groupId: I.value[o.scaleLabel].groupId
1503
- };
1504
- });
1505
- }), el = k(() => {
1506
- const t = Il.value.filter((o) => ["bar", "line", "plot"].includes(o.type)), r = t.length, l = e.value.chart.grid.labels.yAxis.gap, u = y.value.isStacked, a = u ? l * (r - 1) : 0, s = c.value.height - a;
1507
- return t.filter((o) => o.type === "plot").map((o) => {
1508
- Vt(o);
1509
- const H = I.value[o.scaleLabel].min, G = I.value[o.scaleLabel].max;
1510
- o.absoluteValues.filter((J) => ![null, void 0].includes(J)).map((J) => (J - H) / (G - H));
1511
- const U = {
1512
- valueMin: H,
1513
- valueMax: G
1514
- }, T = {
1515
- max: o.scaleMax || Math.max(...o.absoluteValues) || 1,
1516
- min: o.scaleMin || Math.min(...o.absoluteValues) > 0 ? 0 : Math.min(...o.absoluteValues)
1517
- }, R = o.scaleSteps || e.value.chart.grid.labels.yAxis.commonScaleSteps, Z = 1.0000001, N = Nl(T.min, T.max === T.min ? T.max * Z : T.max, R), E = Nl(U.valueMin, U.valueMax === U.valueMin ? U.valueMax * Z : U.valueMax, R), O = N.min >= 0 ? 0 : Math.abs(N.min), se = 0, ge = N.max + O, le = E.max + Math.abs(se), Ee = o.stackIndex, ll = r - 1 - Ee, Ul = u ? 1 - o.cumulatedStackRatio : 0, Ie = u ? s * Ul + l * ll : 0, W = u ? s * o.stackRatio : c.value.height, Y = c.value.bottom - Ie - W * O / ge, re = c.value.bottom - Ie - W * se / le, Te = o.series.map((J, ce) => {
1518
- const F = y.value.useIndividualScale ? (o.absoluteValues[ce] + Math.abs(O)) / ge : zl(J);
1519
- return {
1520
- x: V(c.value.left + oe.value.plot / 2 + oe.value.plot * ce),
1521
- y: V(c.value.bottom - Ie - W * F),
1522
- value: o.absoluteValues[ce],
1523
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[ce] || ""
1524
- };
1525
- }), Se = o.absoluteValues.map((J) => E.min >= 0 ? (J - Math.abs(E.min)) / (E.max - Math.abs(E.min)) : (J + Math.abs(E.min)) / (E.max + Math.abs(E.min))), nt = o.series.map((J, ce) => ({
1526
- x: V(c.value.left + oe.value.plot / 2 + oe.value.plot * ce),
1527
- y: V(c.value.bottom - Ie - (W * Se[ce] || 0)),
1528
- value: o.absoluteValues[ce],
1529
- comment: o.comments && o.comments.slice(g.value.start, g.value.end)[ce] || ""
1530
- })), Me = N.ticks.map((J) => ({
1531
- y: J >= 0 ? Y - W * (J / ge) : Y + W * Math.abs(J) / ge,
1532
- value: J,
1533
- prefix: o.prefix || e.value.chart.labels.prefix,
1534
- suffix: o.suffix || e.value.chart.labels.suffix,
1535
- datapoint: o
1536
- })), pl = E.ticks.map((J) => {
1537
- const ce = (J - E.min) / (E.max - E.min);
1538
- return {
1539
- y: J >= 0 ? re - W * ce : re + W * ce,
1540
- value: J,
1541
- prefix: o.prefix || e.value.chart.labels.prefix,
1542
- suffix: o.suffix || e.value.chart.labels.suffix,
1543
- datapoint: o
1544
- };
1545
- });
1546
- return I.value[o.scaleLabel].name = o.name, I.value[o.scaleLabel].groupName = o.scaleLabel, I.value[o.scaleLabel].groupColor = e.value.chart.grid.labels.yAxis.groupColor || o.color, I.value[o.scaleLabel].color = o.color, I.value[o.scaleLabel].scaleYLabels = o.autoScaling ? pl : Me, I.value[o.scaleLabel].zeroPosition = o.autoScaling ? re : Y, I.value[o.scaleLabel].individualMax = o.autoScaling ? le : ge, I.value[o.scaleLabel].scaleLabel = o.scaleLabel, I.value[o.scaleLabel].id = o.id, I.value[o.scaleLabel].yOffset = Ie, I.value[o.scaleLabel].individualHeight = W, I.value[o.scaleLabel].autoScaleYLabels = pl, I.value[o.scaleLabel].unique = Il.value.filter((J) => J.scaleLabel === o.scaleLabel).length === 1, {
1547
- ...o,
1548
- yOffset: Ie,
1549
- autoScaleYLabels: pl,
1550
- individualHeight: W,
1551
- scaleYLabels: o.autoScaling ? pl : Me,
1552
- individualScale: o.autoScaling ? E : N,
1553
- individualMax: o.autoScaling ? le : ge,
1554
- zeroPosition: o.autoScaling ? re : Y,
1555
- plots: o.autoScaling ? nt : Te,
1556
- groupId: I.value[o.scaleLabel].groupId
1557
- };
1558
- });
1559
- }), ot = k(() => {
1560
- const t = Ge.value.map((s) => ({
1561
- name: s.name,
1562
- color: s.color,
1563
- scale: s.individualScale,
1564
- scaleYLabels: s.scaleYLabels,
1565
- zero: s.zeroPosition,
1566
- max: s.individualMax,
1567
- scaleLabel: s.scaleLabel || "",
1568
- id: s.id,
1569
- yOffset: s.yOffset || 0,
1570
- individualHeight: s.individualHeight || c.value.height,
1571
- autoScaleYLabels: s.autoScaleYLabels
1572
- })), r = bl.value.map((s) => ({
1573
- name: s.name,
1574
- color: s.color,
1575
- scale: s.individualScale,
1576
- scaleYLabels: s.scaleYLabels,
1577
- zero: s.zeroPosition,
1578
- max: s.individualMax,
1579
- scaleLabel: s.scaleLabel || "",
1580
- id: s.id,
1581
- yOffset: s.yOffset || 0,
1582
- individualHeight: s.individualHeight || c.value.height
1583
- })), l = el.value.map((s) => ({
1584
- name: s.name,
1585
- color: s.color,
1586
- scale: s.individualScale,
1587
- scaleYLabels: s.scaleYLabels,
1588
- // FIX
1589
- zero: s.zeroPosition,
1590
- max: s.individualMax,
1591
- scaleLabel: s.scaleLabel || "",
1592
- id: s.id,
1593
- yOffset: s.yOffset || 0,
1594
- individualHeight: s.individualHeight || c.value.height
1595
- })), u = y.value.useIndividualScale && !y.value.isStacked ? Object.values(I.value) : [...t, ...r, ...l], a = u.flatMap((s) => s).length;
1596
- return u.flatMap((s, o) => {
1597
- let H = 0;
1598
- H = y.value.isStacked ? c.value.left : c.value.left / a * (o + 1);
1599
- const G = y.value.useIndividualScale && !y.value.isStacked ? s.unique ? s.name : s.groupName : s.name;
1600
- return {
1601
- unique: s.unique,
1602
- id: s.id,
1603
- groupId: s.groupId,
1604
- scaleLabel: s.scaleLabel,
1605
- name: pe(
1606
- e.value.chart.grid.labels.yAxis.serieNameFormatter,
1607
- G,
1608
- G,
1609
- s
1610
- ),
1611
- color: y.value.useIndividualScale && !y.value.isStacked ? s.unique ? s.color : s.groupColor : s.color,
1612
- scale: s.scale,
1613
- yOffset: s.yOffset,
1614
- individualHeight: s.individualHeight,
1615
- x: H,
1616
- yLabels: s.scaleYLabels || s.scale.ticks.map((U) => ({
1617
- y: U >= 0 ? s.zero - s.individualHeight * (U / s.max) : s.zero + s.individualHeight * Math.abs(U) / s.max,
1618
- value: U
1619
- }))
1620
- };
1621
- });
1622
- }), ma = k(() => ({
1623
- datapoint: at.value,
1624
- seriesIndex: S.value,
1625
- series: je.value,
1626
- bars: bl.value,
1627
- lines: Ge.value,
1628
- plots: el.value,
1629
- config: e.value
1630
- })), oo = k(() => {
1631
- let t = "", r = at.value.map((a) => a.value).filter((a) => Lt(a) && a !== null).reduce((a, s) => Math.abs(a) + Math.abs(s), 0);
1632
- const l = K.value[S.value], u = e.value.chart.tooltip.customFormat;
1633
- return _o(u) && Lo(() => u({
1634
- absoluteIndex: S.value + g.value.start,
1635
- seriesIndex: S.value,
1636
- datapoint: at.value,
1637
- series: je.value,
1638
- bars: bl.value,
1639
- lines: Ge.value,
1640
- plots: el.value,
1641
- config: e.value
1642
- })) ? u({
1643
- absoluteIndex: S.value + g.value.start,
1644
- seriesIndex: S.value,
1645
- datapoint: at.value,
1646
- series: je.value,
1647
- bars: bl.value,
1648
- lines: Ge.value,
1649
- plots: el.value,
1650
- config: e.value
1651
- }) : (l && l.text && e.value.chart.tooltip.showTimeLabel && (t += `<div style="padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid ${e.value.chart.tooltip.borderColor}; width:100%">${l.text}</div>`), at.value.forEach((a) => {
1652
- if (Lt(a.value)) {
1653
- let s = "", o = "";
1654
- switch (hl.value[a.type]) {
1655
- case "bar":
1656
- s = `<svg viewBox="0 0 40 40" height="14" width="14">${Re.pattern ? `<rect x="0" y="0" rx="1" stroke="none" height="40" width="40" fill="${a.color}" />` : ""}<rect x="0" y="0" rx="1" stroke="none" height="40" width="40" fill="${Re.pattern ? `url(#pattern_${X.value}_${a.slotAbsoluteIndex}` : a.color}" /></svg>`;
1657
- break;
1658
- case "line":
1659
- !a.shape || !["star", "triangle", "square", "diamond", "pentagon", "hexagon"].includes(a.shape) ? o = `<circle cx="10" cy="8" r="4" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" fill="${a.color}" />` : a.shape === "triangle" ? o = `<path d="${tl({ plot: { x: 10, y: 8 }, radius: 4, sides: 3, rotation: 0.52 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" />` : a.shape === "square" ? o = `<path d="${tl({ plot: { x: 10, y: 8 }, radius: 4, sides: 4, rotation: 0.8 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" />` : a.shape === "diamond" ? o = `<path d="${tl({ plot: { x: 10, y: 8 }, radius: 4, sides: 4, rotation: 0 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" />` : a.shape === "pentagon" ? o = `<path d="${tl({ plot: { x: 10, y: 8 }, radius: 4, sides: 5, rotation: 0.95 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" />` : a.shape === "hexagon" ? o = `<path d="${tl({ plot: { x: 10, y: 8 }, radius: 4, sides: 6, rotation: 0 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" />` : a.shape === "star" && (o = `<polygon stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" fill="${a.color}" points="${Ta({ plot: { x: 10, y: 8 }, radius: 4 })}" />`), s = `<svg viewBox="0 0 20 12" height="14" width="20"><rect rx="1.5" x="0" y="6.5" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="0.5" height="3" width="20" fill="${a.color}" />${o}</svg>`;
1660
- break;
1661
- case "plot":
1662
- if (!a.shape || !["star", "triangle", "square", "diamond", "pentagon", "hexagon"].includes(a.shape)) {
1663
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" fill="${a.color}" /></svg>`;
1664
- break;
1665
- }
1666
- if (a.shape === "star") {
1667
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><polygon stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" fill="${a.color}" points="${Ta({ plot: { x: 6, y: 6 }, radius: 5 })}" /></svg>`;
1668
- break;
1669
- }
1670
- if (a.shape === "triangle") {
1671
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${tl({ plot: { x: 6, y: 6 }, radius: 6, sides: 3, rotation: 0.52 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`;
1672
- break;
1673
- }
1674
- if (a.shape === "square") {
1675
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${tl({ plot: { x: 6, y: 6 }, radius: 6, sides: 4, rotation: 0.8 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`;
1676
- break;
1677
- }
1678
- if (a.shape === "diamond") {
1679
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${tl({ plot: { x: 6, y: 6 }, radius: 5, sides: 4, rotation: 0 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`;
1680
- break;
1681
- }
1682
- if (a.shape === "pentagon") {
1683
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${tl({ plot: { x: 6, y: 6 }, radius: 5, sides: 5, rotation: 0.95 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`;
1684
- break;
1685
- }
1686
- if (a.shape === "hexagon") {
1687
- s = `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${tl({ plot: { x: 6, y: 6 }, radius: 5, sides: 6, rotation: 0 }).path}" fill="${a.color}" stroke="${e.value.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`;
1688
- break;
1689
- }
1690
- }
1691
- t += `<div style="display:flex;flex-direction:row; align-items:center;gap:3px;"><div style="width:20px">${s}</div> ${a.name}: <b>${e.value.chart.tooltip.showValue ? pe(
1692
- a.type === "line" ? e.value.line.labels.formatter : a.type === "bar" ? e.value.bar.labels.formatter : e.value.plot.labels.formatter,
1693
- a.value,
1694
- Fe({
1695
- p: a.prefix,
1696
- v: a.value,
1697
- s: a.suffix,
1698
- r: e.value.chart.tooltip.roundingValue
1699
- }),
1700
- { datapoint: a }
1701
- ) : ""}</b> ${e.value.chart.tooltip.showPercentage ? `(${Fe({
1702
- v: V(Math.abs(a.value) / r * 100),
1703
- s: "%",
1704
- r: e.value.chart.tooltip.roundingPercentage
1705
- })})` : ""}</div>`, e.value.chart.comments.showInTooltip && a.comments.length && a.comments.slice(g.value.start, g.value.end)[S.value] && (t += `<div class="vue-data-ui-tooltip-comment" style="background:${a.color}20; padding: 6px; margin-bottom: 6px; border-left: 1px solid ${a.color}">${a.comments.slice(g.value.start, g.value.end)[S.value]}</div>`);
1706
- }
1707
- }), `<div style="border-radius:4px;padding:12px;font-variant-numeric: tabular-nums;color:${e.value.chart.tooltip.color}">${t}</div>`);
1708
- }), xa = k(() => {
1709
- if (nl.value.length === 0) return { head: [], body: [], config: {}, columnNames: [] };
1710
- const t = Ve.value.map((l) => ({
1711
- label: l.name,
1712
- color: l.color,
1713
- type: l.type
1714
- })), r = [];
1715
- return K.value.forEach((l, u) => {
1716
- const a = [l.text];
1717
- Ve.value.forEach((s) => {
1718
- a.push(ze(s.absoluteValues[u]) ? Number(s.absoluteValues[u].toFixed(e.value.table.rounding)) : "");
1719
- }), r.push(a);
1720
- }), { head: t, body: r };
1721
- }), $t = k(() => {
1722
- const t = e.value.table.showSum;
1723
- let r = [""].concat(Ve.value.map((s) => s.name));
1724
- t && (r = r.concat(' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>'));
1725
- let l = [];
1726
- for (let s = 0; s < A.value; s += 1) {
1727
- const o = Ve.value.map((H) => H.absoluteValues[s] ?? 0).reduce((H, G) => H + G, 0);
1728
- l.push(
1729
- [
1730
- K.value[s].text ?? "-"
1731
- ].concat(Ve.value.map(
1732
- (H) => pe(
1733
- H.type === "line" ? e.value.line.labels.formatter : H.type === "bar" ? e.value.bar.labels.formatter : e.value.plot.labels.formatter,
1734
- H.absoluteValues[s] ?? 0,
1735
- Fe({
1736
- p: H.prefix || e.value.chart.labels.prefix,
1737
- v: H.absoluteValues[s] ?? 0,
1738
- s: H.suffix || e.value.chart.labels.suffix,
1739
- r: e.value.table.rounding
1740
- })
1741
- )
1742
- )).concat(t ? (o ?? 0).toFixed(e.value.table.rounding) : [])
1743
- );
1744
- }
1745
- const u = {
1746
- th: {
1747
- backgroundColor: e.value.table.th.backgroundColor,
1748
- color: e.value.table.th.color,
1749
- outline: e.value.table.th.outline
1750
- },
1751
- td: {
1752
- backgroundColor: e.value.table.td.backgroundColor,
1753
- color: e.value.table.td.color,
1754
- outline: e.value.table.td.outline
1755
- },
1756
- breakpoint: e.value.table.responsiveBreakpoint
1757
- }, a = [e.value.table.columnNames.period].concat(Ve.value.map((s) => s.name)).concat(e.value.table.columnNames.total);
1758
- return { head: r, body: l, config: u, colNames: a };
1759
- });
1760
- function ba(t = null) {
1761
- const r = [[e.value.chart.title.text], [e.value.chart.title.subtitle.text], [""]], l = ["", ...xa.value.head.map((o) => o.label)], u = xa.value.body, a = r.concat([l]).concat(u), s = Io(a);
1762
- t ? t(s) : To({ csvContent: s, title: e.value.chart.title.text || "vue-ui-xy" });
1763
- }
1764
- function pa(t, r = null) {
1765
- El.value = t;
1766
- const l = Ve.value.map((u) => ({
1767
- name: u.name,
1768
- value: [null, void 0, NaN].includes(u.absoluteValues[r]) ? null : u.absoluteValues[r],
1769
- color: u.color,
1770
- type: u.type
1771
- }));
1772
- t ? (S.value = r, e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: l, seriesIndex: r + g.value.start })) : (S.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: l, seriesIndex: r + g.value.start }));
1773
- }
1774
- function ya() {
1775
- y.value.showTable = !y.value.showTable;
1776
- }
1777
- function ka() {
1778
- y.value.dataLabels.show = !y.value.dataLabels.show;
1779
- }
1780
- function wa() {
1781
- y.value.showTooltip = !y.value.showTooltip;
1782
- }
1783
- function Sa(t) {
1784
- ul.value = t, vt.value += 1;
1785
- }
1786
- function $a() {
1787
- if (!e.value.responsiveProportionalSizing) {
1788
- $.value.dataLabels = e.value.chart.grid.labels.fontSize, $.value.yAxis = e.value.chart.grid.labels.axis.fontSize, $.value.xAxis = e.value.chart.grid.labels.xAxisLabels.fontSize, $.value.plotLabels = e.value.chart.labels.fontSize, Le.value.plot = e.value.plot.radius, Le.value.line = e.value.line.radius;
1789
- return;
1790
- }
1791
- $.value.dataLabels = Zl({
1792
- relator: xe.value,
1793
- adjuster: 400,
1794
- source: e.value.chart.grid.labels.fontSize,
1795
- threshold: 10,
1796
- fallback: 10
1797
- }), $.value.yAxis = Zl({
1798
- relator: ne.value,
1799
- adjuster: 1e3,
1800
- source: e.value.chart.grid.labels.axis.fontSize,
1801
- threshold: 10,
1802
- fallback: 10
1803
- }), $.value.xAxis = Zl({
1804
- relator: ne.value,
1805
- adjuster: 1e3,
1806
- source: e.value.chart.grid.labels.xAxisLabels.fontSize,
1807
- threshold: 10,
1808
- fallback: 10
1809
- }), $.value.plotLabels = Zl({
1810
- relator: ne.value,
1811
- adjuster: 800,
1812
- source: e.value.chart.labels.fontSize,
1813
- threshold: 10,
1814
- fallback: 10
1815
- }), Le.value.plot = Zl({
1816
- relator: ne.value,
1817
- adjuster: 800,
1818
- source: e.value.plot.radius,
1819
- threshold: 1,
1820
- fallback: 1
1821
- }), Le.value.line = Zl({
1822
- relator: ne.value,
1823
- adjuster: 800,
1824
- source: e.value.line.radius,
1825
- threshold: 1,
1826
- fallback: 1
1827
- });
1828
- }
1829
- const ut = k(() => !!e.value.debug);
1830
- function Et() {
1831
- Na(d.dataset) ? (Ft({
1832
- componentName: "VueUiXy",
1833
- type: "dataset",
1834
- debug: ut.value
1835
- }), h.value = !0) : d.dataset.forEach((r, l) => {
1836
- [null, void 0].includes(r.name) && (Ft({
1837
- componentName: "VueUiXy",
1838
- type: "datasetSerieAttribute",
1839
- property: "name (string)",
1840
- index: l,
1841
- debug: ut.value
1842
- }), h.value = !0);
1843
- }), ut.value && d.dataset.forEach((r) => {
1844
- r.series.forEach((l, u) => {
1845
- Lt(l) || console.warn(`VueUiXy has detected an unsafe value in your dataset:
1846
- -----> The serie '${r.name}' contains the value '${l}' at index ${u}.
1847
- '${l}' was converted to null to allow the chart to display.`);
1848
- });
1849
- }), Na(d.dataset) || (h.value = e.value.loading), De.value = e.value.chart.userOptions.showOnChartHover, Bl.value = e.value.chart.userOptions.keepStateOnChartLeave, Fl.value = !e.value.chart.userOptions.showOnChartHover, Yl();
1850
- const t = 12;
1851
- if (e.value.responsive) {
1852
- const l = ue.value.parentNode;
1853
- $e.value && ($e.value.unobserve(fe.value), $e.value.disconnect());
1854
- const { height: u, width: a } = l.getBoundingClientRect();
1855
- let s = null, o = 0;
1856
- e.value.chart.title.show && ol.value && (s = ol.value, o = s.getBoundingClientRect().height);
1857
- let H = null, G = 0;
1858
- e.value.chart.zoom.show && w.value > 6 && Qe.value && Ae.value && Ae.value.$el && (H = Ae.value.$el, G = H.getBoundingClientRect().height);
1859
- let U = null, T = 0;
1860
- e.value.chart.legend.show && cl.value && (U = cl.value, T = U.getBoundingClientRect().height);
1861
- let R = 0;
1862
- _l.value && (R = _l.value.getBoundingClientRect().height);
1863
- let Z = 0;
1864
- Ll.value && (Z = Ll.value.getBoundingClientRect().height), xe.value = u - o - T - G - R - Z - t, ne.value = a, dl.value = `0 0 ${ne.value < 0 ? 10 : ne.value} ${xe.value < 0 ? 10 : xe.value}`, $a();
1865
- const N = new ResizeObserver((E) => {
1866
- for (const O of E)
1867
- e.value.chart.title.show && ol.value ? o = ol.value.getBoundingClientRect().height : o = 0, Ae.value && Ae.value.$el ? G = Ae.value.$el.getBoundingClientRect().height : G = 0, cl.value ? T = cl.value.getBoundingClientRect().height : T = 0, _l.value ? R = _l.value.getBoundingClientRect().height : R = 0, Ll.value ? Z = Ll.value.getBoundingClientRect().height : Z = 0, requestAnimationFrame(() => {
1868
- xe.value = O.contentRect.height - o - T - G - R - Z - t, ne.value = O.contentBoxSize[0].inlineSize, dl.value = `0 0 ${ne.value < 0 ? 10 : ne.value} ${xe.value < 0 ? 10 : xe.value}`, $a();
1869
- });
1870
- });
1871
- $e.value = N, fe.value = l, N.observe(l);
1872
- } else
1873
- xe.value = e.value.chart.height, ne.value = e.value.chart.width, $.value.dataLabels = e.value.chart.grid.labels.fontSize, $.value.yAxis = e.value.chart.grid.labels.axis.fontSize, $.value.xAxis = e.value.chart.grid.labels.xAxisLabels.fontSize, $.value.plotLabels = e.value.chart.labels.fontSize, Le.value.plot = e.value.plot.radius, Le.value.line = e.value.line.radius, dl.value = `0 0 ${ne.value} ${xe.value}`;
1874
- }
1875
- rt(() => {
1876
- Et(), pt(), document.addEventListener("mousemove", (t) => {
1877
- Ql.value = {
1878
- x: t.clientX,
1879
- y: t.clientY
1880
- };
1881
- }), document.addEventListener("scroll", Jt);
1882
- }), ct(() => {
1883
- document.removeEventListener("scroll", Jt), $e.value && ($e.value.unobserve(fe.value), $e.value.disconnect());
1884
- }), Ho({
1885
- timeLabelsEls: Je,
1886
- timeLabels: K,
1887
- slicer: g,
1888
- configRef: e,
1889
- rotationPath: ["chart", "grid", "labels", "xAxisLabels", "rotation"],
1890
- autoRotatePath: ["chart", "grid", "labels", "xAxisLabels", "autoRotate", "enable"],
1891
- isAutoSize: Pa,
1892
- height: xe,
1893
- width: ne,
1894
- rotation: e.value.chart.grid.labels.xAxisLabels.autoRotate.angle
1895
- }), al(() => d.dataset, (t) => {
1896
- Array.isArray(t) && t.length > 0 && (h.value = !1), w.value = Math.max(...m.value.map((r) => Ue({
1897
- data: r.series,
1898
- threshold: e.value.downsample.threshold
1899
- }).length)), g.value = {
1900
- start: 0,
1901
- end: w.value
1902
- }, ye.value += 1, Pe.value += 1, Xl();
1903
- }, { deep: !0 }), al(() => d.config, (t) => {
1904
- B.value || (e.value = Dl()), Et(), jl.value += 1, dt.value += 1, Yl(), Xl();
1905
- }, { deep: !0 });
1906
- const Bt = p(!1);
1907
- function _a() {
1908
- const t = ue.value?.parentNode;
1909
- if (!t) {
1910
- Bt.value = !1;
1911
- return;
1912
- }
1913
- const r = t.getBoundingClientRect();
1914
- Bt.value = r.width > 2 && r.height > 2;
1915
- }
1916
- return rt(() => {
1917
- _a();
1918
- const t = new ResizeObserver(() => {
1919
- _a(), Bt.value && (Et(), Xl(), pt());
1920
- });
1921
- ue.value?.parentNode && t.observe(ue.value.parentNode);
1922
- }), al(e, () => {
1923
- Yl();
1924
- }, { immediate: !0 }), Tt({
1925
- getData: qa,
1926
- getImage: Ka,
1927
- generatePdf: Gt,
1928
- generateImage: Ut,
1929
- generateCsv: ba,
1930
- toggleStack: ta,
1931
- toggleTable: ya,
1932
- toggleLabels: ka,
1933
- toggleTooltip: wa,
1934
- toggleAnnotator: Ht,
1935
- toggleFullscreen: Sa
1936
- }), (t, r) => (n(), i("div", {
1937
- id: `vue-ui-xy_${X.value}`,
1938
- class: Ne(`vue-ui-xy ${ul.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1939
- ref_key: "chart",
1940
- ref: ue,
1941
- style: _(`background:${e.value.chart.backgroundColor}; color:${e.value.chart.color};width:100%;font-family:${e.value.chart.fontFamily};${e.value.responsive ? "height: 100%" : ""}`),
1942
- onMouseenter: r[10] || (r[10] = () => jt(!0)),
1943
- onMouseleave: r[11] || (r[11] = () => jt(!1))
1944
- }, [
1945
- e.value.chart.userOptions.buttons.annotator && ke.value ? (n(), Be(v(rl), {
1946
- key: 0,
1947
- svgRef: ke.value,
1948
- backgroundColor: e.value.chart.backgroundColor,
1949
- color: e.value.chart.color,
1950
- active: fl.value,
1951
- onClose: Ht
1952
- }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : f("", !0),
1953
- Qa.value ? (n(), i("div", {
1954
- key: 1,
1955
- ref_key: "noTitle",
1956
- ref: Ll,
1957
- class: "vue-data-ui-no-title-space",
1958
- style: "height:36px; width: 100%; background:transparent"
1959
- }, null, 512)) : f("", !0),
1960
- e.value.chart.title.show ? (n(), i("div", {
1961
- key: 2,
1962
- ref_key: "chartTitle",
1963
- ref: ol,
1964
- class: "vue-ui-xy-title",
1965
- style: _(`font-family:${e.value.chart.fontFamily}`)
1966
- }, [
1967
- (n(), Be(Eo, {
1968
- key: `title_${jl.value}`,
1969
- config: {
1970
- title: {
1971
- cy: "xy-div-title",
1972
- ...e.value.chart.title
1973
- },
1974
- subtitle: {
1975
- cy: "xy-div-subtitle",
1976
- ...e.value.chart.title.subtitle
1977
- }
1978
- }
1979
- }, null, 8, ["config"]))
1980
- ], 4)) : f("", !0),
1981
- b("div", {
1982
- id: `legend-top-${X.value}`
1983
- }, null, 8, cu),
1984
- e.value.chart.userOptions.show && (Bl.value || Fl.value) ? (n(), Be(v(he), {
1985
- ref: "defails",
1986
- key: `user_options_${vt.value}`,
1987
- backgroundColor: e.value.chart.backgroundColor,
1988
- color: e.value.chart.color,
1989
- isPrinting: v(et),
1990
- isImaging: v(Xt),
1991
- uid: X.value,
1992
- hasTooltip: e.value.chart.userOptions.buttons.tooltip && e.value.chart.tooltip.show,
1993
- hasPdf: e.value.chart.userOptions.buttons.pdf,
1994
- hasXls: e.value.chart.userOptions.buttons.csv,
1995
- hasImg: e.value.chart.userOptions.buttons.img,
1996
- hasLabel: e.value.chart.userOptions.buttons.labels,
1997
- hasTable: e.value.chart.userOptions.buttons.table,
1998
- hasStack: C.dataset.length > 1 && e.value.chart.userOptions.buttons.stack,
1999
- hasFullscreen: e.value.chart.userOptions.buttons.fullscreen,
2000
- isStacked: y.value.isStacked,
2001
- isFullscreen: ul.value,
2002
- chartElement: t.$refs.chart,
2003
- position: e.value.chart.userOptions.position,
2004
- isTooltip: y.value.showTooltip,
2005
- titles: { ...e.value.chart.userOptions.buttonTitles },
2006
- hasAnnotator: e.value.chart.userOptions.buttons.annotator,
2007
- isAnnotation: fl.value,
2008
- callbacks: e.value.chart.userOptions.callbacks,
2009
- printScale: e.value.chart.userOptions.print.scale,
2010
- onToggleFullscreen: Sa,
2011
- onGeneratePdf: v(Gt),
2012
- onGenerateCsv: ba,
2013
- onGenerateImage: v(Ut),
2014
- onToggleTable: ya,
2015
- onToggleLabels: ka,
2016
- onToggleStack: ta,
2017
- onToggleTooltip: wa,
2018
- onToggleAnnotator: Ht,
2019
- style: _({
2020
- visibility: Bl.value ? Fl.value ? "visible" : "hidden" : "visible"
2021
- })
2022
- }, ho({ _: 2 }, [
2023
- t.$slots.menuIcon ? {
2024
- name: "menuIcon",
2025
- fn: me(({ isOpen: l, color: u }) => [
2026
- Q(t.$slots, "menuIcon", il(wl({ isOpen: l, color: u })), void 0, !0)
2027
- ]),
2028
- key: "0"
2029
- } : void 0,
2030
- t.$slots.optionTooltip ? {
2031
- name: "optionTooltip",
2032
- fn: me(() => [
2033
- Q(t.$slots, "optionTooltip", {}, void 0, !0)
2034
- ]),
2035
- key: "1"
2036
- } : void 0,
2037
- t.$slots.optionPdf ? {
2038
- name: "optionPdf",
2039
- fn: me(() => [
2040
- Q(t.$slots, "optionPdf", {}, void 0, !0)
2041
- ]),
2042
- key: "2"
2043
- } : void 0,
2044
- t.$slots.optionCsv ? {
2045
- name: "optionCsv",
2046
- fn: me(() => [
2047
- Q(t.$slots, "optionCsv", {}, void 0, !0)
2048
- ]),
2049
- key: "3"
2050
- } : void 0,
2051
- t.$slots.optionImg ? {
2052
- name: "optionImg",
2053
- fn: me(() => [
2054
- Q(t.$slots, "optionImg", {}, void 0, !0)
2055
- ]),
2056
- key: "4"
2057
- } : void 0,
2058
- t.$slots.optionTable ? {
2059
- name: "optionTable",
2060
- fn: me(() => [
2061
- Q(t.$slots, "optionTable", {}, void 0, !0)
2062
- ]),
2063
- key: "5"
2064
- } : void 0,
2065
- t.$slots.optionLabels ? {
2066
- name: "optionLabels",
2067
- fn: me(() => [
2068
- Q(t.$slots, "optionLabels", {}, void 0, !0)
2069
- ]),
2070
- key: "6"
2071
- } : void 0,
2072
- t.$slots.optionStack ? {
2073
- name: "optionStack",
2074
- fn: me(() => [
2075
- Q(t.$slots, "optionStack", {}, void 0, !0)
2076
- ]),
2077
- key: "7"
2078
- } : void 0,
2079
- t.$slots.optionFullscreen ? {
2080
- name: "optionFullscreen",
2081
- fn: me(({ toggleFullscreen: l, isFullscreen: u }) => [
2082
- Q(t.$slots, "optionFullscreen", il(wl({ toggleFullscreen: l, isFullscreen: u })), void 0, !0)
2083
- ]),
2084
- key: "8"
2085
- } : void 0,
2086
- t.$slots.optionAnnotator ? {
2087
- name: "optionAnnotator",
2088
- fn: me(({ toggleAnnotator: l, isAnnotator: u }) => [
2089
- Q(t.$slots, "optionAnnotator", il(wl({ toggleAnnotator: l, isAnnotator: u })), void 0, !0)
2090
- ]),
2091
- key: "9"
2092
- } : void 0
2093
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasXls", "hasImg", "hasLabel", "hasTable", "hasStack", "hasFullscreen", "isStacked", "isFullscreen", "chartElement", "position", "isTooltip", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : f("", !0),
2094
- (n(), i("svg", {
2095
- ref_key: "svgRef",
2096
- ref: ke,
2097
- xmlns: "http://www.w3.org/2000/svg",
2098
- class: Ne([{ "vue-data-ui-fullscreen--on": ul.value, "vue-data-ui-fulscreen--off": !ul.value }, "vue-ui-xy-svg vue-data-ui-svg"]),
2099
- width: "100%",
2100
- viewBox: dl.value,
2101
- style: _({
2102
- background: "transparent",
2103
- color: e.value.chart.color,
2104
- fontFamily: e.value.chart.fontFamily
2105
- }),
2106
- "aria-label": Ja.value,
2107
- role: "img",
2108
- "aria-live": "polite",
2109
- preserveAspectRatio: "xMidYMid",
2110
- onMousemove: Ga,
2111
- onMouseleave: ra,
2112
- onClick: Ua
2113
- }, [
2114
- b("g", {
2115
- ref_key: "G",
2116
- ref: Ke,
2117
- class: "vue-data-ui-g"
2118
- }, [
2119
- ql(v(sl)),
2120
- t.$slots["chart-background"] ? (n(), i("foreignObject", {
2121
- key: 0,
2122
- x: c.value.left + ee.value < 0 ? 0 : c.value.left + ee.value,
2123
- y: c.value.top,
2124
- width: c.value.width - (e.value.chart.grid.position === "middle" ? 0 : c.value.width / A.value) < 0 ? 0 : c.value.width - (e.value.chart.grid.position === "middle" ? 0 : c.value.width / A.value),
2125
- height: c.value.height < 0 ? 0 : c.value.height,
2126
- style: {
2127
- pointerEvents: "none"
2128
- }
2129
- }, [
2130
- Q(t.$slots, "chart-background", {}, void 0, !0)
2131
- ], 8, du)) : f("", !0),
2132
- A.value > 0 ? (n(), i("g", hu, [
2133
- b("g", fu, [
2134
- e.value.chart.grid.labels.xAxis.showBaseline ? (n(), i("line", {
2135
- key: 0,
2136
- stroke: e.value.chart.grid.stroke,
2137
- "stroke-width": "1",
2138
- x1: c.value.left + ee.value,
2139
- x2: c.value.right - ee.value,
2140
- y1: v(D)(c.value.bottom),
2141
- y2: v(D)(c.value.bottom),
2142
- "stroke-linecap": "round",
2143
- style: { animation: "none !important" }
2144
- }, null, 8, gu)) : f("", !0),
2145
- y.value.useIndividualScale ? e.value.chart.grid.showHorizontalLines ? (n(!0), i(x, { key: 2 }, L(ot.value, (l) => (n(), i("g", null, [
2146
- l.id === M.value && l.yLabels.length ? (n(!0), i(x, { key: 0 }, L(l.yLabels, (u) => (n(), i("line", {
2147
- x1: c.value.left + ee.value,
2148
- x2: c.value.right - ee.value,
2149
- y1: v(D)(u.y),
2150
- y2: v(D)(u.y),
2151
- stroke: l.color,
2152
- "stroke-width": 0.5,
2153
- "stroke-linecap": "round",
2154
- style: { animation: "none !important" }
2155
- }, null, 8, pu))), 256)) : l.yLabels.length ? (n(!0), i(x, { key: 1 }, L(l.yLabels, (u) => (n(), i("line", {
2156
- x1: c.value.left + ee.value,
2157
- x2: c.value.right - ee.value,
2158
- y1: v(D)(u.y),
2159
- y2: v(D)(u.y),
2160
- stroke: e.value.chart.grid.stroke,
2161
- "stroke-width": 0.5,
2162
- "stroke-linecap": "round",
2163
- style: { animation: "none !important" }
2164
- }, null, 8, yu))), 256)) : f("", !0)
2165
- ]))), 256)) : f("", !0) : (n(), i(x, { key: 1 }, [
2166
- e.value.chart.grid.labels.yAxis.showBaseline ? (n(), i("line", {
2167
- key: 0,
2168
- stroke: e.value.chart.grid.stroke,
2169
- "stroke-width": "1",
2170
- x1: c.value.left + ee.value,
2171
- x2: c.value.left + ee.value,
2172
- y1: v(D)(c.value.top),
2173
- y2: v(D)(c.value.bottom),
2174
- "stroke-linecap": "round",
2175
- style: { animation: "none !important" }
2176
- }, null, 8, mu)) : f("", !0),
2177
- e.value.chart.grid.showHorizontalLines ? (n(), i("g", xu, [
2178
- (n(!0), i(x, null, L(ha.value, (l) => (n(), i("line", {
2179
- x1: c.value.left + ee.value,
2180
- x2: c.value.right,
2181
- y1: v(D)(l.y),
2182
- y2: v(D)(l.y),
2183
- stroke: e.value.chart.grid.stroke,
2184
- "stroke-width": 0.5,
2185
- "stroke-linecap": "round",
2186
- style: { animation: "none !important" }
2187
- }, null, 8, bu))), 256))
2188
- ])) : f("", !0)
2189
- ], 64)),
2190
- e.value.chart.grid.showVerticalLines ? (n(), i("g", ku, [
2191
- b("path", {
2192
- d: Ba.value,
2193
- "stroke-width": 0.5,
2194
- stroke: e.value.chart.grid.stroke,
2195
- "stroke-linecap": "round",
2196
- style: { animation: "none !important" }
2197
- }, null, 8, wu)
2198
- ])) : f("", !0),
2199
- e.value.chart.grid.labels.xAxisLabels.show ? (n(), i("g", Su, [
2200
- b("path", {
2201
- d: Fa.value,
2202
- stroke: e.value.chart.grid.stroke,
2203
- "stroke-width": 1,
2204
- "stroke-linecap": "round",
2205
- style: { animation: "none !important" }
2206
- }, null, 8, $u)
2207
- ])) : f("", !0)
2208
- ]),
2209
- (n(!0), i(x, null, L(bl.value, (l, u) => (n(), i("defs", {
2210
- key: `def_rect_${u}`
2211
- }, [
2212
- b("linearGradient", {
2213
- id: `rectGradient_pos_${u}_${X.value}`,
2214
- x2: "0%",
2215
- y2: "100%"
2216
- }, [
2217
- b("stop", {
2218
- offset: "0%",
2219
- "stop-color": l.color
2220
- }, null, 8, Lu),
2221
- b("stop", {
2222
- offset: "62%",
2223
- "stop-color": `${v(Ol)(l.color, 0.02)}`
2224
- }, null, 8, Mu),
2225
- b("stop", {
2226
- offset: "100%",
2227
- "stop-color": `${v(Ol)(l.color, 0.05)}`
2228
- }, null, 8, Au)
2229
- ], 8, _u),
2230
- b("linearGradient", {
2231
- id: `rectGradient_neg_${u}_${X.value}`,
2232
- x2: "0%",
2233
- y2: "100%"
2234
- }, [
2235
- b("stop", {
2236
- offset: "0%",
2237
- "stop-color": `${v(Ol)(l.color, 0.05)}`
2238
- }, null, 8, zu),
2239
- b("stop", {
2240
- offset: "38%",
2241
- "stop-color": `${v(Ol)(l.color, 0.02)}`
2242
- }, null, 8, Iu),
2243
- b("stop", {
2244
- offset: "100%",
2245
- "stop-color": l.color
2246
- }, null, 8, Tu)
2247
- ], 8, Cu)
2248
- ]))), 128)),
2249
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i("defs", {
2250
- key: `def_plot_${u}`
2251
- }, [
2252
- b("radialGradient", {
2253
- id: `plotGradient_${u}_${X.value}`,
2254
- cx: "50%",
2255
- cy: "50%",
2256
- r: "50%",
2257
- fx: "50%",
2258
- fy: "50%"
2259
- }, [
2260
- b("stop", {
2261
- offset: "0%",
2262
- "stop-color": `${v(Ol)(l.color, 0.05)}`
2263
- }, null, 8, Ou),
2264
- b("stop", {
2265
- offset: "100%",
2266
- "stop-color": l.color
2267
- }, null, 8, Ru)
2268
- ], 8, Nu)
2269
- ]))), 128)),
2270
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i("defs", {
2271
- key: `def_line_${u}`
2272
- }, [
2273
- b("radialGradient", {
2274
- id: `lineGradient_${u}_${X.value}`,
2275
- cx: "50%",
2276
- cy: "50%",
2277
- r: "50%",
2278
- fx: "50%",
2279
- fy: "50%"
2280
- }, [
2281
- b("stop", {
2282
- offset: "0%",
2283
- "stop-color": `${v(Ol)(l.color, 0.05)}`
2284
- }, null, 8, Hu),
2285
- b("stop", {
2286
- offset: "100%",
2287
- "stop-color": l.color
2288
- }, null, 8, Vu)
2289
- ], 8, Pu),
2290
- b("linearGradient", {
2291
- id: `areaGradient_${u}_${X.value}`,
2292
- x1: "0%",
2293
- x2: "100%",
2294
- y1: "0%",
2295
- y2: "0%"
2296
- }, [
2297
- b("stop", {
2298
- offset: "0%",
2299
- "stop-color": `${v(Ze)(v(Ol)(l.color, 0.03), e.value.line.area.opacity)}`
2300
- }, null, 8, Bu),
2301
- b("stop", {
2302
- offset: "100%",
2303
- "stop-color": `${v(Ze)(l.color, e.value.line.area.opacity)}`
2304
- }, null, 8, Fu)
2305
- ], 8, Eu)
2306
- ]))), 128)),
2307
- (n(!0), i(x, null, L(ja.value, (l) => (n(), i("g", null, [
2308
- l.show ? (n(), i(x, { key: 0 }, [
2309
- (n(!0), i(x, null, L(l.span, (u, a) => (n(), i("g", null, [
2310
- b("rect", {
2311
- style: _({
2312
- transition: "none",
2313
- opacity: l.from + a >= g.value.start && l.from + a <= g.value.end - 1 ? 1 : 0
2314
- }),
2315
- x: c.value.left + c.value.width / A.value * (l.from + a - g.value.start),
2316
- y: c.value.top,
2317
- height: c.value.height < 0 ? 10 : c.value.height,
2318
- width: c.value.width / A.value < 0 ? 1e-5 : c.value.width / A.value,
2319
- fill: v(Ze)(l.color, l.opacity)
2320
- }, null, 12, Wu)
2321
- ]))), 256)),
2322
- (n(!0), i(x, null, L(l.span, (u, a) => (n(), i("g", null, [
2323
- l.caption.text && a === 0 ? (n(), i("foreignObject", {
2324
- key: 0,
2325
- x: c.value.left + c.value.width / A.value * (l.from + a - g.value.start) - (l.caption.width === "auto" ? 0 : l.caption.width / 2 - c.value.width / A.value * l.span / 2),
2326
- y: c.value.top + l.caption.offsetY,
2327
- style: _({
2328
- overflow: "visible",
2329
- opacity: l.to >= g.value.start && l.from < g.value.end ? 1 : 0
2330
- }),
2331
- height: "1",
2332
- width: l.caption.width === "auto" ? c.value.width / A.value * l.span : l.caption.width
2333
- }, [
2334
- b("div", {
2335
- style: _(`padding:${l.caption.padding}px;text-align:${l.caption.textAlign};font-size:${l.caption.fontSize}px;color:${l.caption.color};font-weight:${l.caption.bold ? "bold" : "normal"}`)
2336
- }, te(l.caption.text), 5)
2337
- ], 12, Yu)) : f("", !0)
2338
- ]))), 256))
2339
- ], 64)) : f("", !0)
2340
- ]))), 256)),
2341
- Qt.value ? (n(), i("g", Du, [
2342
- (n(!0), i(x, null, L(A.value, (l, u) => (n(), i("g", {
2343
- key: `tooltip_trap_highlighter_${u}`
2344
- }, [
2345
- b("rect", {
2346
- x: c.value.left + c.value.width / A.value * u,
2347
- y: c.value.top,
2348
- height: c.value.height < 0 ? 10 : c.value.height,
2349
- width: c.value.width / A.value < 0 ? 1e-5 : c.value.width / A.value,
2350
- fill: [z.value, S.value, Ce.value].includes(u) ? v(Ze)(e.value.chart.highlighter.color, e.value.chart.highlighter.opacity) : "transparent",
2351
- style: { transition: "none !important", animation: "none !important" }
2352
- }, null, 8, Xu)
2353
- ]))), 128))
2354
- ])) : f("", !0),
2355
- bl.value.length ? (n(!0), i(x, { key: 1 }, L(bl.value, (l, u) => (n(), i("g", {
2356
- key: `serie_bar_${u}`,
2357
- class: Ne(`serie_bar_${u}`),
2358
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2359
- }, [
2360
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i("g", {
2361
- key: `bar_plot_${u}_${s}`
2362
- }, [
2363
- ze(a.value) ? (n(), i("rect", {
2364
- key: 0,
2365
- x: yt(a) + St.value / 2,
2366
- y: y.value.useIndividualScale ? sa(a) : ia(a),
2367
- height: y.value.useIndividualScale ? Math.abs(na(a)) : Math.abs(ua(a)),
2368
- width: wt.value - St.value,
2369
- rx: e.value.bar.borderRadius,
2370
- fill: e.value.bar.useGradient ? a.value >= 0 ? `url(#rectGradient_pos_${u}_${X.value})` : `url(#rectGradient_neg_${u}_${X.value})` : l.color,
2371
- stroke: e.value.bar.border.useSerieColor ? l.color : e.value.bar.border.stroke,
2372
- "stroke-width": e.value.bar.border.strokeWidth,
2373
- style: _({ transition: v(B) || !e.value.bar.showTransition ? void 0 : `all ${e.value.bar.transitionDurationMs}ms ease-in-out` })
2374
- }, null, 12, Gu)) : f("", !0),
2375
- ze(a.value) && t.$slots.pattern ? (n(), i("rect", {
2376
- key: 1,
2377
- x: yt(a) - St.value / 2,
2378
- y: y.value.useIndividualScale ? sa(a) : ia(a),
2379
- height: y.value.useIndividualScale ? Math.abs(na(a)) : Math.abs(ua(a)),
2380
- width: wt.value - St.value,
2381
- rx: e.value.bar.borderRadius,
2382
- fill: `url(#pattern_${X.value}_${l.slotAbsoluteIndex})`,
2383
- stroke: e.value.bar.border.useSerieColor ? l.color : e.value.bar.border.stroke,
2384
- "stroke-width": e.value.bar.border.strokeWidth,
2385
- style: _({ transition: v(B) || !e.value.bar.showTransition ? void 0 : `all ${e.value.bar.transitionDurationMs}ms ease-in-out` })
2386
- }, null, 12, Uu)) : f("", !0),
2387
- a.comment && e.value.chart.comments.show ? (n(), i("foreignObject", {
2388
- key: 2,
2389
- style: { overflow: "visible" },
2390
- height: "12",
2391
- width: wt.value / 2 + e.value.chart.comments.width,
2392
- x: yt(a) - e.value.chart.comments.width / 2 + e.value.chart.comments.offsetX,
2393
- y: v(V)(a.y) + e.value.chart.comments.offsetY + 6
2394
- }, [
2395
- Q(t.$slots, "plot-comment", {
2396
- plot: { ...a, color: l.color, seriesIndex: u, datapointIndex: s }
2397
- }, void 0, !0)
2398
- ], 8, Zu)) : f("", !0)
2399
- ]))), 128)),
2400
- Object.hasOwn(l, "useProgression") && l.useProgression === !0 && !isNaN(v(j)(l.plots).trend) ? (n(), i("g", qu, [
2401
- b("defs", null, [
2402
- b("marker", {
2403
- id: `bar_arrow_${u}`,
2404
- markerWidth: 7,
2405
- markerHeight: 7,
2406
- refX: "0",
2407
- refY: 7 / 2,
2408
- orient: "auto"
2409
- }, [
2410
- b("polygon", {
2411
- points: `0 0, 7 ${7 / 2}, 0 7`,
2412
- fill: l.color
2413
- }, null, 8, Ju)
2414
- ], 8, Ku)
2415
- ]),
2416
- l.plots.length > 1 ? (n(), i("line", {
2417
- key: 0,
2418
- x1: v(j)(l.plots).x1 + Gl(),
2419
- x2: v(j)(l.plots).x2 + Gl(),
2420
- y1: v(D)(v(j)(l.plots).y1),
2421
- y2: v(D)(v(j)(l.plots).y2),
2422
- "stroke-width": 1,
2423
- stroke: l.color,
2424
- "stroke-dasharray": 2,
2425
- "marker-end": `url(#bar_arrow_${u})`
2426
- }, null, 8, Qu)) : f("", !0),
2427
- l.plots.length > 1 ? (n(), i("text", {
2428
- key: 1,
2429
- "text-anchor": "middle",
2430
- x: v(j)(l.plots).x2 + Gl(),
2431
- y: v(j)(l.plots).y2 - 6,
2432
- "font-size": $.value.plotLabels,
2433
- fill: l.color
2434
- }, te(v(Fe)({
2435
- v: v(j)(l.plots).trend * 100,
2436
- s: "%",
2437
- r: 2
2438
- })), 9, ju)) : f("", !0)
2439
- ])) : f("", !0)
2440
- ], 6))), 128)) : f("", !0),
2441
- !y.value.useIndividualScale && e.value.chart.grid.labels.zeroLine.show ? (n(), i("line", {
2442
- key: 2,
2443
- stroke: e.value.chart.grid.stroke,
2444
- "stroke-width": "1",
2445
- x1: c.value.left + ee.value,
2446
- x2: c.value.right - ee.value,
2447
- y1: v(D)(we.value),
2448
- y2: v(D)(we.value),
2449
- "stroke-linecap": "round",
2450
- style: { animation: "none !important" }
2451
- }, null, 8, en)) : f("", !0),
2452
- e.value.chart.highlighter.useLine && (![null, void 0].includes(S.value) || ![null, void 0].includes(z.value)) ? (n(), i("g", ln, [
2453
- b("line", {
2454
- x1: c.value.left + c.value.width / A.value * ((S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)) + c.value.width / A.value / 2,
2455
- x2: c.value.left + c.value.width / A.value * ((S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)) + c.value.width / A.value / 2,
2456
- y1: v(D)(c.value.top),
2457
- y2: v(D)(c.value.bottom),
2458
- stroke: e.value.chart.highlighter.color,
2459
- "stroke-width": e.value.chart.highlighter.lineWidth,
2460
- "stroke-dasharray": e.value.chart.highlighter.lineDasharray,
2461
- "stroke-linecap": "round",
2462
- style: { transition: "none !important", animation: "none !important", "pointer-events": "none" }
2463
- }, null, 8, tn)
2464
- ])) : f("", !0),
2465
- e.value.chart.grid.frame.show ? (n(), i("rect", {
2466
- key: 4,
2467
- style: { pointerEvents: "none", transition: "none", animation: "none !important" },
2468
- x: c.value.left + ee.value < 0 ? 0 : c.value.left + ee.value,
2469
- y: c.value.top,
2470
- width: c.value.width - (e.value.chart.grid.position === "middle" ? 0 : c.value.width / A.value) < 0 ? 0 : c.value.width - (e.value.chart.grid.position === "middle" ? 0 : c.value.width / A.value),
2471
- height: c.value.height < 0 ? 0 : c.value.height,
2472
- fill: "transparent",
2473
- stroke: e.value.chart.grid.frame.stroke,
2474
- "stroke-width": e.value.chart.grid.frame.strokeWidth,
2475
- "stroke-linecap": e.value.chart.grid.frame.strokeLinecap,
2476
- "stroke-linejoin": e.value.chart.grid.frame.strokeLinejoin,
2477
- "stroke-dasharray": e.value.chart.grid.frame.strokeDasharray
2478
- }, null, 8, an)) : f("", !0),
2479
- e.value.chart.grid.labels.show ? (n(), i("g", {
2480
- key: 5,
2481
- ref_key: "scaleLabels",
2482
- ref: q
2483
- }, [
2484
- y.value.useIndividualScale ? (n(), i(x, { key: 0 }, [
2485
- (n(!0), i(x, null, L(ot.value, (l) => (n(), i("g", null, [
2486
- b("line", {
2487
- x1: l.x + ee.value - c.value.individualOffsetX,
2488
- x2: l.x + ee.value - c.value.individualOffsetX,
2489
- y1: y.value.isStacked ? v(D)(c.value.bottom - l.yOffset - l.individualHeight) : v(D)(c.value.top),
2490
- y2: y.value.isStacked ? v(D)(c.value.bottom - l.yOffset) : v(D)(c.value.bottom),
2491
- stroke: l.color,
2492
- "stroke-width": e.value.chart.grid.stroke,
2493
- "stroke-linecap": "round",
2494
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.3 : 1};transition:opacity 0.2s ease-in-out; animation: none !important`)
2495
- }, null, 12, on)
2496
- ]))), 256)),
2497
- (n(!0), i(x, null, L(ot.value, (l) => (n(), i("g", {
2498
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.3 : 1};transition:opacity 0.2s ease-in-out`)
2499
- }, [
2500
- b("text", {
2501
- fill: l.color,
2502
- "font-size": $.value.dataLabels * 0.8,
2503
- "text-anchor": "middle",
2504
- transform: `translate(${l.x - $.value.dataLabels * 0.8 / 2 + ee.value}, ${y.value.isStacked ? c.value.bottom - l.yOffset - l.individualHeight / 2 : c.value.top + c.value.height / 2}) rotate(-90)`
2505
- }, te(l.name) + " " + te(l.scaleLabel && l.unique && l.scaleLabel !== l.id ? `-
2506
- ${l.scaleLabel}` : ""), 9, un),
2507
- (n(!0), i(x, null, L(l.yLabels, (u, a) => (n(), i(x, null, [
2508
- e.value.chart.grid.labels.yAxis.showCrosshairs ? (n(), i("line", {
2509
- key: 0,
2510
- x1: l.x + 3 + ee.value - e.value.chart.grid.labels.yAxis.crosshairSize - c.value.individualOffsetX,
2511
- x2: l.x + ee.value - c.value.individualOffsetX,
2512
- y1: v(D)(u.y),
2513
- y2: v(D)(u.y),
2514
- stroke: l.color,
2515
- "stroke-width": 1,
2516
- "stroke-linecap": "round",
2517
- style: { animation: "none !important" }
2518
- }, null, 8, nn)) : f("", !0)
2519
- ], 64))), 256)),
2520
- (n(!0), i(x, null, L(l.yLabels, (u, a) => (n(), i("text", {
2521
- x: l.x - 5 + ee.value - c.value.individualOffsetX,
2522
- y: v(D)(u.y) + $.value.dataLabels / 3,
2523
- "font-size": $.value.dataLabels,
2524
- "text-anchor": "end",
2525
- fill: l.color
2526
- }, te(v(pe)(
2527
- e.value.chart.grid.labels.yAxis.formatter,
2528
- u.value,
2529
- v(Fe)({
2530
- p: u.prefix,
2531
- v: u.value,
2532
- s: u.suffix,
2533
- r: e.value.chart.grid.labels.yAxis.rounding
2534
- }),
2535
- { datapoint: u.datapoint, seriesIndex: a }
2536
- )), 9, sn))), 256))
2537
- ], 4))), 256))
2538
- ], 64)) : (n(!0), i(x, { key: 1 }, L(ha.value, (l, u) => (n(), i("g", {
2539
- key: `yLabel_${u}`
2540
- }, [
2541
- ze(l) && l.value >= Xe.value.min && l.value <= Xe.value.max && e.value.chart.grid.labels.yAxis.showCrosshairs ? (n(), i("line", {
2542
- key: 0,
2543
- x1: c.value.left,
2544
- x2: c.value.left - e.value.chart.grid.labels.yAxis.crosshairSize,
2545
- y1: v(D)(l.y),
2546
- y2: v(D)(l.y),
2547
- stroke: e.value.chart.grid.stroke,
2548
- "stroke-width": "1",
2549
- "stroke-linecap": "round",
2550
- style: { animation: "none !important" }
2551
- }, null, 8, rn)) : f("", !0),
2552
- l.value >= Xe.value.min && l.value <= Xe.value.max ? (n(), i("text", {
2553
- key: 1,
2554
- x: c.value.scaleLabelX - e.value.chart.grid.labels.yAxis.crosshairSize,
2555
- y: v(V)(l.y + $.value.dataLabels / 3),
2556
- "font-size": $.value.dataLabels,
2557
- "text-anchor": "end",
2558
- fill: e.value.chart.grid.labels.color
2559
- }, te(ze(l.value) ? v(pe)(
2560
- e.value.chart.grid.labels.yAxis.formatter,
2561
- l.value,
2562
- v(Fe)({
2563
- p: l.prefix,
2564
- v: l.value,
2565
- s: l.suffix,
2566
- r: e.value.chart.grid.labels.yAxis.rounding
2567
- })
2568
- ) : ""), 9, cn)) : f("", !0)
2569
- ]))), 128))
2570
- ], 512)) : f("", !0),
2571
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i("g", {
2572
- key: `serie_plot_${u}`,
2573
- class: Ne(`serie_plot_${u}`),
2574
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2575
- }, [
2576
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i("g", {
2577
- key: `circle_plot_${u}_${s}`
2578
- }, [
2579
- a && ze(a.value) ? (n(), Be(At, {
2580
- key: 0,
2581
- shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(l.shape) ? l.shape : "circle",
2582
- color: e.value.plot.useGradient ? `url(#plotGradient_${u}_${X.value})` : e.value.plot.dot.useSerieColor ? l.color : e.value.plot.dot.fill,
2583
- plot: { x: v(V)(a.x), y: v(V)(a.y) },
2584
- radius: S.value !== null && S.value === s || z.value !== null && z.value === s ? (Le.value.plot || 6) * 1.5 : Le.value.plot || 6,
2585
- stroke: e.value.plot.dot.useSerieColor ? e.value.chart.backgroundColor : l.color,
2586
- strokeWidth: e.value.plot.dot.strokeWidth,
2587
- transition: v(B) || !e.value.plot.showTransition || S.value !== null && S.value === s || z.value !== null && z.value === s ? void 0 : `all ${e.value.plot.transitionDurationMs}ms ease-in-out`
2588
- }, null, 8, ["shape", "color", "plot", "radius", "stroke", "strokeWidth", "transition"])) : f("", !0),
2589
- a.comment && e.value.chart.comments.show ? (n(), i("foreignObject", {
2590
- key: 1,
2591
- style: { overflow: "visible" },
2592
- height: "12",
2593
- width: e.value.chart.comments.width,
2594
- x: a.x - e.value.chart.comments.width / 2 + e.value.chart.comments.offsetX,
2595
- y: a.y + e.value.chart.comments.offsetY + 6
2596
- }, [
2597
- b("div", dn, [
2598
- Q(t.$slots, "plot-comment", {
2599
- plot: { ...a, color: l.color, seriesIndex: u, datapointIndex: s }
2600
- }, void 0, !0)
2601
- ])
2602
- ], 8, vn)) : f("", !0)
2603
- ]))), 128)),
2604
- Object.hasOwn(l, "useProgression") && l.useProgression === !0 && !isNaN(v(j)(l.plots).trend) ? (n(), i("g", hn, [
2605
- b("defs", null, [
2606
- b("marker", {
2607
- id: `plot_arrow_${u}`,
2608
- markerWidth: 7,
2609
- markerHeight: 7,
2610
- refX: "0",
2611
- refY: 7 / 2,
2612
- orient: "auto"
2613
- }, [
2614
- b("polygon", {
2615
- points: `0 0, 7 ${7 / 2}, 0 7`,
2616
- fill: l.color
2617
- }, null, 8, gn)
2618
- ], 8, fn)
2619
- ]),
2620
- l.plots.length > 1 ? (n(), i("line", {
2621
- key: 0,
2622
- x1: v(j)(l.plots).x1,
2623
- x2: v(j)(l.plots).x2,
2624
- y1: v(D)(v(j)(l.plots).y1),
2625
- y2: v(D)(v(j)(l.plots).y2),
2626
- "stroke-width": 1,
2627
- stroke: l.color,
2628
- "stroke-dasharray": 2,
2629
- "marker-end": `url(#plot_arrow_${u})`
2630
- }, null, 8, mn)) : f("", !0),
2631
- l.plots.length > 1 ? (n(), i("text", {
2632
- key: 1,
2633
- "text-anchor": "middle",
2634
- x: v(j)(l.plots).x2,
2635
- y: v(j)(l.plots).y2 - 6,
2636
- "font-size": $.value.plotLabels,
2637
- fill: l.color
2638
- }, te(v(Fe)({
2639
- v: v(j)(l.plots).trend * 100,
2640
- s: "%",
2641
- r: 2
2642
- })), 9, xn)) : f("", !0)
2643
- ])) : f("", !0)
2644
- ], 6))), 128)),
2645
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i("g", {
2646
- key: `serie_line_${u}`,
2647
- class: Ne(`serie_line_${u}`),
2648
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2649
- }, [
2650
- l.smooth && l.plots.length > 1 && l.curve ? (n(), i("path", {
2651
- key: 0,
2652
- d: `M${l.curve}`,
2653
- stroke: e.value.chart.backgroundColor,
2654
- "stroke-width": e.value.line.strokeWidth + 1,
2655
- "stroke-dasharray": l.dashed ? e.value.line.strokeWidth * 2 : 0,
2656
- fill: "none",
2657
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2658
- }, null, 12, bn)) : l.plots.length > 1 && l.straight ? (n(), i("path", {
2659
- key: 1,
2660
- d: `M${l.straight}`,
2661
- stroke: e.value.chart.backgroundColor,
2662
- "stroke-width": e.value.line.strokeWidth + 1,
2663
- "stroke-dasharray": l.dashed ? e.value.line.strokeWidth * 2 : 0,
2664
- fill: "none",
2665
- "stroke-linecap": "round",
2666
- "stroke-linejoin": "round",
2667
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2668
- }, null, 12, pn)) : f("", !0)
2669
- ], 6))), 128)),
2670
- t.$slots.pattern ? (n(), i("defs", yn, [
2671
- (n(!0), i(x, null, L(nl.value, (l, u) => Q(t.$slots, "pattern", _t({
2672
- key: `serie_pattern_slot_${u}`
2673
- }, { ref_for: !0 }, { ...l, seriesIndex: l.slotAbsoluteIndex, patternId: `pattern_${X.value}_${u}` }), void 0, !0)), 128))
2674
- ])) : f("", !0),
2675
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i("g", {
2676
- key: `serie_line_${u}`,
2677
- class: Ne(`serie_line_${u}`),
2678
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2679
- }, [
2680
- l.useArea && l.plots.length > 1 ? (n(), i("g", kn, [
2681
- l.smooth ? (n(!0), i(x, { key: 0 }, L(l.curveAreas, (a, s) => (n(), i(x, { key: s }, [
2682
- a ? (n(), i("path", {
2683
- key: 0,
2684
- d: a,
2685
- fill: e.value.line.area.useGradient ? `url(#areaGradient_${u}_${X.value})` : v(Ze)(l.color, e.value.line.area.opacity),
2686
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2687
- }, null, 12, wn)) : f("", !0),
2688
- t.$slots.pattern && a ? (n(), i("path", {
2689
- key: 1,
2690
- d: a,
2691
- fill: `url(#pattern_${X.value}_${l.slotAbsoluteIndex})`,
2692
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2693
- }, null, 12, Sn)) : f("", !0)
2694
- ], 64))), 128)) : (n(!0), i(x, { key: 1 }, L(l.area.split(";"), (a, s) => (n(), i(x, { key: s }, [
2695
- a ? (n(), i("path", {
2696
- key: 0,
2697
- d: `M${a}Z`,
2698
- fill: e.value.line.area.useGradient ? `url(#areaGradient_${u}_${X.value})` : v(Ze)(l.color, e.value.line.area.opacity),
2699
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2700
- }, null, 12, $n)) : f("", !0),
2701
- t.$slots.pattern && a ? (n(), i("path", {
2702
- key: 1,
2703
- d: `M${a}Z`,
2704
- fill: `url(#pattern_${X.value}_${l.slotAbsoluteIndex})`,
2705
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2706
- }, null, 12, _n)) : f("", !0)
2707
- ], 64))), 128))
2708
- ])) : f("", !0),
2709
- l.smooth && l.plots.length > 1 && l.curve ? (n(), i("path", {
2710
- key: 1,
2711
- d: `M${l.curve}`,
2712
- stroke: l.color,
2713
- "stroke-width": e.value.line.strokeWidth,
2714
- "stroke-dasharray": l.dashed ? e.value.line.strokeWidth * 2 : 0,
2715
- fill: "none",
2716
- "stroke-linecap": "round",
2717
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2718
- }, null, 12, Ln)) : l.plots.length > 1 && l.straight ? (n(), i("path", {
2719
- key: 2,
2720
- d: `M${l.straight}`,
2721
- stroke: l.color,
2722
- "stroke-width": e.value.line.strokeWidth,
2723
- "stroke-dasharray": l.dashed ? e.value.line.strokeWidth * 2 : 0,
2724
- fill: "none",
2725
- "stroke-linecap": "round",
2726
- "stroke-linejoin": "round",
2727
- style: _({ transition: v(B) || !e.value.line.showTransition ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out` })
2728
- }, null, 12, Mn)) : f("", !0),
2729
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2730
- key: `circle_line_${u}_${s}`
2731
- }, [
2732
- !va.value.linePlot && a && ze(a.value) || va.value.linePlot && a && ze(a.value) && (S.value !== null && S.value === s || z.value !== null && z.value === s) || ga(l.plots, s) ? (n(), Be(At, {
2733
- key: 0,
2734
- shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(l.shape) ? l.shape : "circle",
2735
- color: e.value.line.useGradient ? `url(#lineGradient_${u}_${X.value})` : e.value.line.dot.useSerieColor ? l.color : e.value.line.dot.fill,
2736
- plot: { x: v(V)(a.x), y: v(V)(a.y) },
2737
- radius: S.value !== null && S.value === s || z.value !== null && z.value === s ? (Le.value.line || 6) * 1.5 : (ga(l.plots, s), Le.value.line || 6),
2738
- stroke: e.value.line.dot.useSerieColor ? e.value.chart.backgroundColor : l.color,
2739
- strokeWidth: e.value.line.dot.strokeWidth,
2740
- transition: v(B) || !e.value.line.showTransition || S.value !== null && S.value === s || z.value !== null && z.value === s ? void 0 : `all ${e.value.line.transitionDurationMs}ms ease-in-out`
2741
- }, null, 8, ["shape", "color", "plot", "radius", "stroke", "strokeWidth", "transition"])) : f("", !0),
2742
- a.comment && e.value.chart.comments.show ? (n(), i("foreignObject", {
2743
- key: 1,
2744
- style: { overflow: "visible" },
2745
- height: "12",
2746
- width: e.value.chart.comments.width,
2747
- x: a.x - e.value.chart.comments.width / 2 + e.value.chart.comments.offsetX,
2748
- y: a.y + e.value.chart.comments.offsetY + 6
2749
- }, [
2750
- b("div", Cn, [
2751
- Q(t.$slots, "plot-comment", {
2752
- plot: { ...a, color: l.color, seriesIndex: u, datapointIndex: s }
2753
- }, void 0, !0)
2754
- ])
2755
- ], 8, An)) : f("", !0)
2756
- ], 64))), 128)),
2757
- Object.hasOwn(l, "useProgression") && l.useProgression === !0 && !isNaN(v(j)(l.plots).trend) ? (n(), i("g", zn, [
2758
- b("defs", null, [
2759
- b("marker", {
2760
- id: `line_arrow_${u}`,
2761
- markerWidth: 7,
2762
- markerHeight: 7,
2763
- refX: "0",
2764
- refY: 7 / 2,
2765
- orient: "auto"
2766
- }, [
2767
- b("polygon", {
2768
- points: `0 0, 7 ${7 / 2}, 0 7`,
2769
- fill: l.color
2770
- }, null, 8, Tn)
2771
- ], 8, In)
2772
- ]),
2773
- l.plots.length > 1 ? (n(), i("line", {
2774
- key: 0,
2775
- x1: v(j)(l.plots).x1,
2776
- x2: v(j)(l.plots).x2,
2777
- y1: v(D)(v(j)(l.plots).y1),
2778
- y2: v(D)(v(j)(l.plots).y2),
2779
- "stroke-width": 1,
2780
- stroke: l.color,
2781
- "stroke-dasharray": 2,
2782
- "marker-end": `url(#line_arrow_${u})`
2783
- }, null, 8, Nn)) : f("", !0),
2784
- l.plots.length > 1 ? (n(), i("text", {
2785
- key: 1,
2786
- "text-anchor": "middle",
2787
- x: v(j)(l.plots).x2,
2788
- y: v(j)(l.plots).y2 - 6,
2789
- "font-size": $.value.plotLabels,
2790
- fill: l.color
2791
- }, te(v(Fe)({
2792
- v: v(j)(l.plots).trend * 100,
2793
- s: "%",
2794
- r: 2
2795
- })), 9, On)) : f("", !0)
2796
- ])) : f("", !0)
2797
- ], 6))), 128)),
2798
- (e.value.bar.labels.show || e.value.bar.serieName.show) && y.value.dataLabels.show ? (n(), i("g", Rn, [
2799
- (n(!0), i(x, null, L(bl.value, (l, u) => (n(), i(x, {
2800
- key: `xLabel_bar_${u}`
2801
- }, [
2802
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2803
- key: `xLabel_bar_${u}_${s}`
2804
- }, [
2805
- a && (!Object.hasOwn(l, "dataLabels") || l.dataLabels === !0 || S.value !== null && S.value === s || z.value !== null && z.value === s) && e.value.bar.labels.show ? (n(), i("text", {
2806
- key: 0,
2807
- x: y.value.useIndividualScale && y.value.isStacked ? a.x + oe.value.line / 2 : yt(a) + Gl() / 2 - kt.value / 2,
2808
- y: v(V)(a.y) + (a.value >= 0 ? e.value.bar.labels.offsetY : -e.value.bar.labels.offsetY * 3),
2809
- "text-anchor": "middle",
2810
- "font-size": $.value.plotLabels,
2811
- fill: e.value.bar.labels.color,
2812
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2813
- }, te(ze(a.value) ? v(pe)(
2814
- e.value.bar.labels.formatter,
2815
- a.value,
2816
- v(Fe)({
2817
- p: l.prefix || e.value.chart.labels.prefix,
2818
- v: a.value,
2819
- s: l.suffix || e.value.chart.labels.suffix,
2820
- r: e.value.bar.labels.rounding
2821
- }),
2822
- {
2823
- datapoint: a,
2824
- serie: l
2825
- }
2826
- ) : ""), 13, Pn)) : f("", !0),
2827
- a && e.value.bar.serieName.show ? (n(), i("text", {
2828
- key: 1,
2829
- x: y.value.useIndividualScale && y.value.isStacked ? a.x + oe.value.line / 2 : a.x + Gl() * 1.1,
2830
- y: a.y + (a.value > 0 ? e.value.bar.serieName.offsetY : -e.value.bar.serieName.offsetY * 3),
2831
- "text-anchor": "middle",
2832
- "font-size": $.value.plotLabels,
2833
- fill: e.value.bar.serieName.useSerieColor ? l.color : e.value.bar.serieName.color,
2834
- "font-weight": e.value.bar.serieName.bold ? "bold" : "normal",
2835
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2836
- }, te(e.value.bar.serieName.useAbbreviation ? v(Mo)({
2837
- source: l.name,
2838
- length: e.value.bar.serieName.abbreviationSize
2839
- }) : l.name), 13, Hn)) : f("", !0)
2840
- ], 64))), 128))
2841
- ], 64))), 128))
2842
- ])) : f("", !0),
2843
- e.value.plot.labels.show && y.value.dataLabels.show ? (n(), i("g", Vn, [
2844
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i(x, {
2845
- key: `xLabel_plot_${u}`
2846
- }, [
2847
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2848
- key: `xLabel_plot_${u}_${s}`
2849
- }, [
2850
- a && !Object.hasOwn(l, "dataLabels") || l.dataLabels === !0 || S.value !== null && S.value === s || z.value !== null && z.value === s ? (n(), i("text", {
2851
- key: 0,
2852
- x: a.x,
2853
- y: a.y + e.value.plot.labels.offsetY,
2854
- "text-anchor": "middle",
2855
- "font-size": $.value.plotLabels,
2856
- fill: e.value.plot.labels.color,
2857
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2858
- }, te(ze(a.value) ? v(pe)(
2859
- e.value.plot.labels.formatter,
2860
- a.value,
2861
- v(Fe)({
2862
- p: l.prefix || e.value.chart.labels.prefix,
2863
- v: a.value,
2864
- s: l.suffix || e.value.chart.labels.suffix,
2865
- r: e.value.plot.labels.rounding
2866
- }),
2867
- {
2868
- datapoint: a,
2869
- serie: l
2870
- }
2871
- ) : ""), 13, En)) : f("", !0)
2872
- ], 64))), 128))
2873
- ], 64))), 128))
2874
- ])) : (n(), i("g", Bn, [
2875
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i(x, {
2876
- key: `xLabel_plot_${u}`
2877
- }, [
2878
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2879
- key: `xLabel_plot_${u}_${s}`
2880
- }, [
2881
- e.value.plot.tag.followValue ? (n(), i(x, { key: 1 }, [
2882
- [z.value, S.value, Ce.value].includes(s) && l.useTag ? (n(), i("line", {
2883
- key: 0,
2884
- class: "vue-ui-xy-tag-plot",
2885
- x1: c.value.left,
2886
- x2: c.value.right,
2887
- y1: a.y,
2888
- y2: a.y,
2889
- "stroke-width": 1,
2890
- "stroke-linecap": "round",
2891
- "stroke-dasharray": "2",
2892
- stroke: l.color
2893
- }, null, 8, Xn)) : f("", !0)
2894
- ], 64)) : (n(), i(x, { key: 0 }, [
2895
- a && s === 0 && l.useTag && l.useTag === "start" ? (n(), i("foreignObject", {
2896
- key: 0,
2897
- x: a.x,
2898
- y: a.y - 20,
2899
- height: 24,
2900
- width: "150",
2901
- style: _(`overflow: visible; opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2902
- }, [
2903
- b("div", {
2904
- style: _(`padding: 3px; background:${v(Ze)(l.color, 80)};color:${v(qe)(l.color)};width:fit-content;font-size:${$.value.plotLabels}px;border-radius: 2px;`),
2905
- innerHTML: v(pe)(
2906
- e.value.plot.tag.formatter,
2907
- a.value,
2908
- l.name,
2909
- {
2910
- datapoint: a,
2911
- seriesIndex: s,
2912
- serieName: l.name
2913
- }
2914
- )
2915
- }, null, 12, Wn)
2916
- ], 12, Fn)) : f("", !0),
2917
- a && s === l.plots.length - 1 && l.useTag && l.useTag === "end" ? (n(), i("foreignObject", {
2918
- key: 1,
2919
- x: a.x - l.name.length * ($.value.plotLabels / 2),
2920
- y: a.y - 20,
2921
- height: 24,
2922
- width: "150",
2923
- style: _(`overflow: visible; opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2924
- }, [
2925
- b("div", {
2926
- style: _(`padding: 3px; background:${v(Ze)(l.color, 80)};color:${v(qe)(l.color)};width:fit-content;font-size:${$.value.plotLabels}px;border-radius: 2px;`),
2927
- innerHTML: v(pe)(
2928
- e.value.plot.tag.formatter,
2929
- a.value,
2930
- l.name,
2931
- {
2932
- datapoint: a,
2933
- seriesIndex: s,
2934
- serieName: l.name
2935
- }
2936
- )
2937
- }, null, 12, Dn)
2938
- ], 12, Yn)) : f("", !0)
2939
- ], 64))
2940
- ], 64))), 128))
2941
- ], 64))), 128))
2942
- ])),
2943
- e.value.line.labels.show && y.value.dataLabels.show ? (n(), i("g", Gn, [
2944
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i(x, {
2945
- key: `xLabel_line_${u}`
2946
- }, [
2947
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2948
- key: `xLabel_line_${u}_${s}`
2949
- }, [
2950
- a && !Object.hasOwn(l, "dataLabels") || l.dataLabels === !0 || S.value !== null && S.value === s || z.value !== null && z.value === s ? (n(), i("text", {
2951
- key: 0,
2952
- x: a.x,
2953
- y: a.y + (a.value >= 0 ? e.value.line.labels.offsetY : -e.value.line.labels.offsetY * 3),
2954
- "text-anchor": "middle",
2955
- "font-size": $.value.plotLabels,
2956
- fill: e.value.line.labels.color,
2957
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
2958
- }, te(ze(a.value) ? v(pe)(
2959
- e.value.line.labels.formatter,
2960
- a.value,
2961
- v(Fe)({
2962
- p: l.prefix || e.value.chart.labels.prefix,
2963
- v: a.value,
2964
- s: l.suffix || e.value.chart.labels.suffix,
2965
- r: e.value.line.labels.rounding
2966
- }),
2967
- {
2968
- datapoint: a,
2969
- serie: l
2970
- }
2971
- ) : ""), 13, Un)) : f("", !0)
2972
- ], 64))), 128))
2973
- ], 64))), 128))
2974
- ])) : (n(), i("g", Zn, [
2975
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i(x, {
2976
- key: `xLabel_line_${u}`
2977
- }, [
2978
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
2979
- key: `xLabel_line_${u}_${s}`
2980
- }, [
2981
- e.value.line.tag.followValue ? (n(), i(x, { key: 1 }, [
2982
- [z.value, S.value, Ce.value].includes(s) && l.useTag ? (n(), i("line", {
2983
- key: 0,
2984
- class: "vue-ui-xy-tag-line",
2985
- x1: c.value.left,
2986
- x2: c.value.right,
2987
- y1: a.y,
2988
- y2: a.y,
2989
- "stroke-width": 1,
2990
- "stroke-linecap": "round",
2991
- "stroke-dasharray": "2",
2992
- stroke: l.color
2993
- }, null, 8, jn)) : f("", !0)
2994
- ], 64)) : (n(), i(x, { key: 0 }, [
2995
- a && s === 0 && l.useTag && l.useTag === "start" ? (n(), i("foreignObject", {
2996
- key: 0,
2997
- x: a.x,
2998
- y: a.y - 20,
2999
- height: 24,
3000
- width: "150",
3001
- style: _(`overflow: visible; opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3002
- }, [
3003
- b("div", {
3004
- style: _(`padding: 3px; background:${v(Ze)(l.color, 80)};color:${v(qe)(l.color)};width:fit-content;font-size:${$.value.plotLabels}px;border-radius: 2px;`),
3005
- innerHTML: v(pe)(
3006
- e.value.line.tag.formatter,
3007
- a.value,
3008
- l.name,
3009
- {
3010
- datapoint: a,
3011
- seriesIndex: s,
3012
- serieName: l.name
3013
- }
3014
- )
3015
- }, null, 12, Kn)
3016
- ], 12, qn)) : f("", !0),
3017
- a && s === l.plots.length - 1 && l.useTag && l.useTag === "end" ? (n(), i("foreignObject", {
3018
- key: 1,
3019
- x: a.x,
3020
- y: a.y - 20,
3021
- height: 24,
3022
- width: "150",
3023
- style: _(`overflow: visible; opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3024
- }, [
3025
- b("div", {
3026
- style: _(`padding: 3px; background:${v(Ze)(l.color, 80)};color:${v(qe)(l.color)};width:fit-content;font-size:${$.value.plotLabels}px;border-radius: 2px;`),
3027
- innerHTML: v(pe)(
3028
- e.value.line.tag.formatter,
3029
- a.value,
3030
- l.name,
3031
- {
3032
- datapoint: a,
3033
- seriesIndex: s,
3034
- serieName: l.name
3035
- }
3036
- )
3037
- }, null, 12, Qn)
3038
- ], 12, Jn)) : f("", !0)
3039
- ], 64))
3040
- ], 64))), 128))
3041
- ], 64))), 128))
3042
- ])),
3043
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i(x, {
3044
- key: `xLabel_line_${u}`
3045
- }, [
3046
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
3047
- key: `xLabel_line_${u}_${s}`
3048
- }, [
3049
- a && s === 0 && l.showSerieName && l.showSerieName === "start" ? (n(), i("text", {
3050
- key: 0,
3051
- x: a.x - $.value.plotLabels,
3052
- y: a.y,
3053
- "font-size": $.value.plotLabels,
3054
- "text-anchor": "end",
3055
- fill: l.color,
3056
- innerHTML: v(Mt)({
3057
- content: l.name,
3058
- fontSize: $.value.plotLabels,
3059
- fill: l.color,
3060
- x: a.x - $.value.plotLabels,
3061
- y: a.y,
3062
- maxWords: 2
3063
- }),
3064
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3065
- }, null, 12, ei)) : f("", !0),
3066
- a && s === l.plots.length - 1 && l.showSerieName && l.showSerieName === "end" ? (n(), i("text", {
3067
- key: 1,
3068
- x: a.x + $.value.plotLabels,
3069
- y: a.y,
3070
- "font-size": $.value.plotLabels,
3071
- "text-anchor": "start",
3072
- fill: l.color,
3073
- innerHTML: v(Mt)({
3074
- content: l.name,
3075
- fontSize: $.value.plotLabels,
3076
- fill: l.color,
3077
- x: a.x + $.value.plotLabels,
3078
- y: a.y,
3079
- maxWords: 2
3080
- }),
3081
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3082
- }, null, 12, li)) : f("", !0)
3083
- ], 64))), 128))
3084
- ], 64))), 128)),
3085
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i(x, {
3086
- key: `xLabel_plot_${u}`
3087
- }, [
3088
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
3089
- key: `xLabel_plot_${u}_${s}`
3090
- }, [
3091
- a && s === 0 && l.showSerieName && l.showSerieName === "start" ? (n(), i("text", {
3092
- key: 0,
3093
- x: a.x - $.value.plotLabels,
3094
- y: a.y,
3095
- "font-size": $.value.plotLabels,
3096
- "text-anchor": "end",
3097
- fill: l.color,
3098
- innerHTML: v(Mt)({
3099
- content: l.name,
3100
- fontSize: $.value.plotLabels,
3101
- fill: l.color,
3102
- x: a.x - $.value.plotLabels,
3103
- y: a.y,
3104
- maxWords: 2
3105
- }),
3106
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3107
- }, null, 12, ti)) : f("", !0),
3108
- a && s === l.plots.length - 1 && l.showSerieName && l.showSerieName === "end" ? (n(), i("text", {
3109
- key: 1,
3110
- x: a.x + $.value.plotLabels,
3111
- y: a.y,
3112
- "font-size": $.value.plotLabels,
3113
- "text-anchor": "start",
3114
- fill: l.color,
3115
- innerHTML: v(Mt)({
3116
- content: l.name,
3117
- fontSize: $.value.plotLabels,
3118
- fill: l.color,
3119
- x: a.x + $.value.plotLabels,
3120
- y: a.y,
3121
- maxWords: 2
3122
- }),
3123
- style: _(`opacity:${M.value ? M.value === l.groupId ? 1 : 0.2 : 1};transition:opacity 0.2s ease-in-out`)
3124
- }, null, 12, ai)) : f("", !0)
3125
- ], 64))), 128))
3126
- ], 64))), 128)),
3127
- y.value.useIndividualScale && !y.value.isStacked ? (n(), i(x, { key: 12 }, [
3128
- b("defs", null, [
3129
- (n(!0), i(x, null, L(ot.value, (l, u) => (n(), i("linearGradient", {
3130
- id: `individual_scale_gradient_${X.value}_${u}`,
3131
- x1: "0%",
3132
- x2: "100%",
3133
- y1: "0%",
3134
- y2: "0%"
3135
- }, [
3136
- b("stop", {
3137
- offset: "0%",
3138
- "stop-color": e.value.chart.backgroundColor,
3139
- "stop-opacity": "0"
3140
- }, null, 8, ui),
3141
- b("stop", {
3142
- offset: "100%",
3143
- "stop-color": l.color,
3144
- "stop-opacity": "0.2"
3145
- }, null, 8, ni)
3146
- ], 8, oi))), 256))
3147
- ]),
3148
- (n(!0), i(x, null, L(ot.value, (l, u) => (n(), i("rect", {
3149
- x: l.x - e.value.chart.grid.labels.yAxis.labelWidth + ee.value - c.value.individualOffsetX,
3150
- y: c.value.top,
3151
- width: e.value.chart.grid.labels.yAxis.labelWidth + c.value.individualOffsetX,
3152
- height: c.value.height < 0 ? 10 : c.value.height,
3153
- fill: M.value === l.groupId ? `url(#individual_scale_gradient_${X.value}_${u})` : "transparent",
3154
- onMouseenter: (a) => M.value = l.groupId,
3155
- onMouseleave: r[0] || (r[0] = (a) => M.value = null)
3156
- }, null, 40, ii))), 256))
3157
- ], 64)) : f("", !0),
3158
- b("g", null, [
3159
- e.value.chart.grid.labels.axis.yLabel && !y.value.useIndividualScale ? (n(), i("text", {
3160
- key: 0,
3161
- ref_key: "yAxisLabel",
3162
- ref: Vl,
3163
- "font-size": $.value.yAxis,
3164
- fill: e.value.chart.grid.labels.color,
3165
- transform: `translate(${e.value.chart.grid.labels.axis.fontSize}, ${c.value.top + c.value.height / 2}) rotate(-90)`,
3166
- "text-anchor": "middle",
3167
- style: { transition: "none" }
3168
- }, te(e.value.chart.grid.labels.axis.yLabel), 9, si)) : f("", !0),
3169
- e.value.chart.grid.labels.axis.xLabel ? (n(), i("text", {
3170
- key: 1,
3171
- ref_key: "xAxisLabel",
3172
- ref: Hl,
3173
- "text-anchor": "middle",
3174
- x: ne.value / 2,
3175
- y: xe.value - 3,
3176
- "font-size": $.value.yAxis,
3177
- fill: e.value.chart.grid.labels.color
3178
- }, te(e.value.chart.grid.labels.axis.xLabel), 9, ri)) : f("", !0)
3179
- ]),
3180
- e.value.chart.grid.labels.xAxisLabels.show ? (n(), i("g", {
3181
- key: 13,
3182
- ref_key: "timeLabelsEls",
3183
- ref: Je
3184
- }, [
3185
- t.$slots["time-label"] ? (n(!0), i(x, { key: 0 }, L(K.value, (l, u) => Q(t.$slots, "time-label", _t({
3186
- key: `time_label_${u}`,
3187
- ref_for: !0
3188
- }, {
3189
- x: c.value.left + c.value.width / A.value * u + c.value.width / A.value / 2,
3190
- y: c.value.bottom,
3191
- fontSize: $.value.xAxis,
3192
- fill: e.value.chart.grid.labels.xAxisLabels.color,
3193
- transform: `translate(${c.value.left + c.value.width / A.value * u + c.value.width / A.value / 2}, ${c.value.bottom + $.value.xAxis * 1.3 + e.value.chart.grid.labels.xAxisLabels.yOffset}), rotate(${e.value.chart.grid.labels.xAxisLabels.rotation})`,
3194
- absoluteIndex: l.absoluteIndex,
3195
- content: l.text,
3196
- textAnchor: e.value.chart.grid.labels.xAxisLabels.rotation > 0 ? "start" : e.value.chart.grid.labels.xAxisLabels.rotation < 0 ? "end" : "middle",
3197
- show: l && e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo && A.value <= bt.value || l && !e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && (u === 0 || u === K.value.length - 1) && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && S.value === u && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && !e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo && u % Math.floor((g.value.end - g.value.start) / bt.value) === 0
3198
- }), void 0, !0)), 128)) : (n(!0), i(x, { key: 1 }, L(K.value, (l, u) => (n(), i("g", {
3199
- key: `time_label_${u}`
3200
- }, [
3201
- l && e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo && A.value <= bt.value || l && !e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && (u === 0 || u === K.value.length - 1) && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && S.value === u && !e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo || l && !e.value.chart.grid.labels.xAxisLabels.showOnlyFirstAndLast && e.value.chart.grid.labels.xAxisLabels.showOnlyAtModulo && u % Math.floor((g.value.end - g.value.start) / bt.value) === 0 ? (n(), i(x, { key: 0 }, [
3202
- String(l.text).includes(`
3203
- `) ? (n(), i("text", {
3204
- key: 1,
3205
- class: "vue-data-ui-time-label",
3206
- "text-anchor": e.value.chart.grid.labels.xAxisLabels.rotation > 0 ? "start" : e.value.chart.grid.labels.xAxisLabels.rotation < 0 ? "end" : "middle",
3207
- "font-size": $.value.xAxis,
3208
- fill: e.value.chart.grid.labels.xAxisLabels.color,
3209
- transform: `translate(${c.value.left + c.value.width / A.value * u + c.value.width / A.value / 2}, ${c.value.bottom + $.value.xAxis * 1.5}), rotate(${e.value.chart.grid.labels.xAxisLabels.rotation})`,
3210
- style: _({
3211
- cursor: Kt() ? "pointer" : "default"
3212
- }),
3213
- innerHTML: v(Ao)({
3214
- content: String(l.text),
3215
- fontSize: $.value.xAxis,
3216
- fill: e.value.chart.grid.labels.xAxisLabels.color,
3217
- x: 0,
3218
- y: 0
3219
- }),
3220
- onClick: () => ea(l, u)
3221
- }, null, 12, vi)) : (n(), i("text", {
3222
- key: 0,
3223
- class: "vue-data-ui-time-label",
3224
- "text-anchor": e.value.chart.grid.labels.xAxisLabels.rotation > 0 ? "start" : e.value.chart.grid.labels.xAxisLabels.rotation < 0 ? "end" : "middle",
3225
- "font-size": $.value.xAxis,
3226
- fill: e.value.chart.grid.labels.xAxisLabels.color,
3227
- transform: `translate(${c.value.left + c.value.width / A.value * u + c.value.width / A.value / 2}, ${c.value.bottom + $.value.xAxis * 1.5}), rotate(${e.value.chart.grid.labels.xAxisLabels.rotation})`,
3228
- style: _({
3229
- cursor: Kt() ? "pointer" : "default"
3230
- }),
3231
- onClick: () => ea(l, u)
3232
- }, te(l.text || ""), 13, ci))
3233
- ], 64)) : f("", !0)
3234
- ]))), 128))
3235
- ], 512)) : f("", !0),
3236
- fa.value.length && !y.value.isStacked ? (n(), i("g", di, [
3237
- (n(!0), i(x, null, L(fa.value, (l) => (n(), i("g", {
3238
- key: l.uid
3239
- }, [
3240
- l.yTop && l.show && isFinite(l.yTop) ? (n(), i("line", {
3241
- key: 0,
3242
- x1: l.x1,
3243
- y1: l.yTop,
3244
- x2: l.x2,
3245
- y2: l.yTop,
3246
- stroke: l.config.line.stroke,
3247
- "stroke-width": l.config.line.strokeWidth,
3248
- "stroke-dasharray": l.config.line.strokeDasharray,
3249
- "stroke-linecap": "round",
3250
- style: { animation: "none !important" }
3251
- }, null, 8, hi)) : f("", !0),
3252
- l.yBottom && l.show && isFinite(l.yBottom) ? (n(), i("line", {
3253
- key: 1,
3254
- x1: l.x1,
3255
- y1: l.yBottom,
3256
- x2: l.x2,
3257
- y2: l.yBottom,
3258
- stroke: l.config.line.stroke,
3259
- "stroke-width": l.config.line.strokeWidth,
3260
- "stroke-dasharray": l.config.line.strokeDasharray,
3261
- "stroke-linecap": "round",
3262
- style: { animation: "none !important" }
3263
- }, null, 8, fi)) : f("", !0),
3264
- l.hasArea && l.show && isFinite(l.yTop) && isFinite(l.yBottom) ? (n(), i("rect", {
3265
- key: 2,
3266
- y: Math.min(l.yTop, l.yBottom),
3267
- x: l.x1,
3268
- width: c.value.width,
3269
- height: v(V)(l.areaHeight, 0),
3270
- fill: v(Ze)(l.config.area.fill, l.config.area.opacity),
3271
- style: { animation: "none !important" }
3272
- }, null, 8, gi)) : f("", !0),
3273
- l.config.label.text && l.show && isFinite(l._box.y) ? (n(), i("rect", _t({
3274
- key: 3,
3275
- class: "vue-ui-xy-annotation-label-box"
3276
- }, { ref_for: !0 }, l._box, { style: { animation: "none !important", transition: "none !important" } }), null, 16)) : f("", !0),
3277
- l.config.label.text && l.show && isFinite(l._text.y) ? (n(), i("text", {
3278
- key: 4,
3279
- id: l.id,
3280
- class: "vue-ui-xy-annotation-label",
3281
- x: l._text.x,
3282
- y: l._text.y,
3283
- "font-size": l.config.label.fontSize,
3284
- fill: l.config.label.color,
3285
- "text-anchor": l.config.label.textAnchor
3286
- }, te(l.config.label.text), 9, mi)) : f("", !0)
3287
- ]))), 128))
3288
- ])) : f("", !0),
3289
- e.value.chart.timeTag.show && (![null, void 0].includes(S.value) || ![null, void 0].includes(z.value)) ? (n(), i("g", xi, [
3290
- (n(), i("foreignObject", {
3291
- x: c.value.left + c.value.width / A.value * ((S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)) - 100 + c.value.width / A.value / 2,
3292
- y: c.value.bottom,
3293
- width: "200",
3294
- height: "40",
3295
- style: { overflow: "visible !important" }
3296
- }, [
3297
- b("div", {
3298
- class: "vue-ui-xy-time-tag",
3299
- style: _(`width: fit-content;margin: 0 auto;text-align:center;padding:3px 12px;background:${e.value.chart.timeTag.backgroundColor};color:${e.value.chart.timeTag.color};font-size:${e.value.chart.timeTag.fontSize}px`)
3300
- }, te((K.value[(S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)] ? K.value[(S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)].text : "") || (S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)), 5)
3301
- ], 8, bi)),
3302
- b("circle", {
3303
- cx: c.value.left + c.value.width / A.value * ((S.value !== null ? S.value : 0) || (z.value !== null ? z.value : 0)) + c.value.width / A.value / 2,
3304
- cy: c.value.bottom,
3305
- r: e.value.chart.timeTag.circleMarker.radius,
3306
- fill: e.value.chart.timeTag.circleMarker.color
3307
- }, null, 8, pi)
3308
- ])) : f("", !0)
3309
- ])) : f("", !0),
3310
- xl.value ? (n(), i("rect", il(_t({ key: 2 }, Rt.value)), null, 16)) : f("", !0),
3311
- Q(t.$slots, "svg", { svg: gl.value }, void 0, !0)
3312
- ], 512)
3313
- ], 46, vu)),
3314
- t.$slots.watermark ? (n(), i("div", yi, [
3315
- Q(t.$slots, "watermark", il(wl({ isPrinting: v(et) || v(Xt) })), void 0, !0)
3316
- ])) : f("", !0),
3317
- (n(!0), i(x, null, L(Ge.value, (l, u) => (n(), i(x, {
3318
- key: `tag_line_${u}`
3319
- }, [
3320
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
3321
- key: `tag_line_${u}_${s}`
3322
- }, [
3323
- [z.value, S.value, Ce.value].includes(s) && l.useTag && l.useTag === "end" && e.value.line.tag.followValue ? (n(), i("div", {
3324
- key: 0,
3325
- ref_for: !0,
3326
- ref: (o) => xt(u, s, o, "right", "line"),
3327
- class: "vue-ui-xy-tag",
3328
- "data-tag": "right",
3329
- style: _({
3330
- position: "fixed",
3331
- top: v(Sl)({
3332
- svgElement: ke.value,
3333
- x: c.value.right + e.value.line.tag.fontSize / 1.5,
3334
- y: a.y,
3335
- element: He.value[`${u}_${s}_right_line`],
3336
- position: "right"
3337
- }).top + "px",
3338
- left: v(Sl)({
3339
- svgElement: ke.value,
3340
- x: c.value.right + e.value.line.tag.fontSize / 1.5,
3341
- y: a.y,
3342
- element: He.value[`${u}_${s}_right_line`],
3343
- position: "right"
3344
- }).left + "px",
3345
- height: "fit-content",
3346
- width: "fit-content",
3347
- background: l.color,
3348
- color: v(qe)(l.color),
3349
- padding: "0 6px",
3350
- fontSize: e.value.line.tag.fontSize + "px",
3351
- opacity: 1
3352
- })
3353
- }, [
3354
- (n(), i("svg", ki, [
3355
- b("path", {
3356
- d: "M 0,10 10,0 10,20 Z",
3357
- fill: l.color,
3358
- stroke: "none"
3359
- }, null, 8, wi)
3360
- ])),
3361
- b("div", {
3362
- class: "vue-ui-xy-tag-content",
3363
- innerHTML: v(pe)(
3364
- e.value.line.tag.formatter,
3365
- a.value,
3366
- l.name,
3367
- {
3368
- datapoint: a,
3369
- seriesIndex: s,
3370
- serieName: l.name
3371
- }
3372
- )
3373
- }, null, 8, Si)
3374
- ], 4)) : f("", !0),
3375
- [z.value, S.value, Ce.value].includes(s) && l.useTag && l.useTag === "start" && e.value.line.tag.followValue ? (n(), i("div", {
3376
- key: 1,
3377
- ref_for: !0,
3378
- ref: (o) => xt(u, s, o, "left", "line"),
3379
- class: "vue-ui-xy-tag",
3380
- "data-tag": "left",
3381
- style: _({
3382
- position: "fixed",
3383
- top: v(Sl)({
3384
- svgElement: ke.value,
3385
- x: c.value.left - e.value.line.tag.fontSize / 1.5,
3386
- y: a.y,
3387
- element: He.value[`${u}_${s}_left_line`],
3388
- position: "left"
3389
- }).top + "px",
3390
- left: v(Sl)({
3391
- svgElement: ke.value,
3392
- x: c.value.left - e.value.line.tag.fontSize / 1.5,
3393
- y: a.y,
3394
- element: He.value[`${u}_${s}_left_line`],
3395
- position: "left"
3396
- }).left + "px",
3397
- height: "fit-content",
3398
- width: "fit-content",
3399
- background: l.color,
3400
- color: v(qe)(l.color),
3401
- padding: "0 6px",
3402
- fontSize: e.value.line.tag.fontSize + "px",
3403
- opacity: 1
3404
- })
3405
- }, [
3406
- (n(), i("svg", $i, [
3407
- b("path", {
3408
- d: "M 0,0 10,10 0,20 Z",
3409
- fill: l.color,
3410
- stroke: "none"
3411
- }, null, 8, _i)
3412
- ])),
3413
- b("div", {
3414
- class: "vue-ui-xy-tag-content",
3415
- innerHTML: v(pe)(
3416
- e.value.line.tag.formatter,
3417
- a.value,
3418
- l.name,
3419
- {
3420
- datapoint: a,
3421
- seriesIndex: s,
3422
- serieName: l.name
3423
- }
3424
- )
3425
- }, null, 8, Li)
3426
- ], 4)) : f("", !0)
3427
- ], 64))), 128))
3428
- ], 64))), 128)),
3429
- (n(!0), i(x, null, L(el.value, (l, u) => (n(), i(x, {
3430
- key: `tag_plot_${u}`
3431
- }, [
3432
- (n(!0), i(x, null, L(l.plots, (a, s) => (n(), i(x, {
3433
- key: `tag_plot_${u}_${s}`
3434
- }, [
3435
- [z.value, S.value, Ce.value].includes(s) && l.useTag && l.useTag === "end" && e.value.plot.tag.followValue ? (n(), i("div", {
3436
- key: 0,
3437
- ref_for: !0,
3438
- ref: (o) => xt(u, s, o, "right", "plot"),
3439
- class: "vue-ui-xy-tag",
3440
- "data-tag": "right",
3441
- style: _({
3442
- position: "fixed",
3443
- top: v(Sl)({
3444
- svgElement: ke.value,
3445
- x: c.value.right + e.value.plot.tag.fontSize / 1.5,
3446
- y: a.y,
3447
- element: He.value[`${u}_${s}_right_plot`],
3448
- position: "right"
3449
- }).top + "px",
3450
- left: v(Sl)({
3451
- svgElement: ke.value,
3452
- x: c.value.right + e.value.plot.tag.fontSize / 1.5,
3453
- y: a.y,
3454
- element: He.value[`${u}_${s}_right_plot`],
3455
- position: "right"
3456
- }).left + "px",
3457
- height: "fit-content",
3458
- width: "fit-content",
3459
- background: l.color,
3460
- color: v(qe)(l.color),
3461
- padding: "0 6px",
3462
- fontSize: e.value.plot.tag.fontSize + "px",
3463
- opacity: 1
3464
- })
3465
- }, [
3466
- (n(), i("svg", Mi, [
3467
- b("path", {
3468
- d: "M 0,10 10,0 10,20 Z",
3469
- fill: l.color,
3470
- stroke: "none"
3471
- }, null, 8, Ai)
3472
- ])),
3473
- b("div", {
3474
- class: "vue-ui-xy-tag-content",
3475
- innerHTML: v(pe)(
3476
- e.value.plot.tag.formatter,
3477
- a.value,
3478
- l.name,
3479
- {
3480
- datapoint: a,
3481
- seriesIndex: s,
3482
- serieName: l.name
3483
- }
3484
- )
3485
- }, null, 8, Ci)
3486
- ], 4)) : f("", !0),
3487
- [z.value, S.value, Ce.value].includes(s) && l.useTag && l.useTag === "start" && e.value.plot.tag.followValue ? (n(), i("div", {
3488
- key: 1,
3489
- ref_for: !0,
3490
- ref: (o) => xt(u, s, o, "left", "plot"),
3491
- class: "vue-ui-xy-tag",
3492
- "data-tag": "left",
3493
- style: _({
3494
- position: "fixed",
3495
- top: v(Sl)({
3496
- svgElement: ke.value,
3497
- x: c.value.left - e.value.plot.tag.fontSize / 1.5,
3498
- y: a.y,
3499
- element: He.value[`${u}_${s}_left_plot`],
3500
- position: "left"
3501
- }).top + "px",
3502
- left: v(Sl)({
3503
- svgElement: ke.value,
3504
- x: c.value.left - e.value.plot.tag.fontSize / 1.5,
3505
- y: a.y,
3506
- element: He.value[`${u}_${s}_left_plot`],
3507
- position: "left"
3508
- }).left + "px",
3509
- height: "fit-content",
3510
- width: "fit-content",
3511
- background: l.color,
3512
- color: v(qe)(l.color),
3513
- padding: "0 6px",
3514
- fontSize: e.value.plot.tag.fontSize + "px",
3515
- opacity: 1
3516
- })
3517
- }, [
3518
- (n(), i("svg", zi, [
3519
- b("path", {
3520
- d: "M 0,0 10,10 0,20 Z",
3521
- fill: l.color,
3522
- stroke: "none"
3523
- }, null, 8, Ii)
3524
- ])),
3525
- b("div", {
3526
- class: "vue-ui-xy-tag-content",
3527
- innerHTML: v(pe)(
3528
- e.value.plot.tag.formatter,
3529
- a.value,
3530
- l.name,
3531
- {
3532
- datapoint: a,
3533
- seriesIndex: s,
3534
- serieName: l.name
3535
- }
3536
- )
3537
- }, null, 8, Ti)
3538
- ], 4)) : f("", !0)
3539
- ], 64))), 128))
3540
- ], 64))), 128)),
3541
- e.value.chart.zoom.preview.enable ? (n(), i(x, { key: 5 }, [
3542
- e.value.chart.zoom.show && w.value > 6 && Qe.value ? (n(), Be(su, {
3543
- ref_key: "chartSlicer",
3544
- ref: Ae,
3545
- key: `slicer_${ye.value}`,
3546
- background: e.value.chart.zoom.color,
3547
- fontSize: e.value.chart.zoom.fontSize,
3548
- useResetSlot: e.value.chart.zoom.useResetSlot,
3549
- labelLeft: K.value[0] ? K.value[0].text : "",
3550
- labelRight: K.value.at(-1) ? K.value.at(-1).text : "",
3551
- textColor: e.value.chart.color,
3552
- inputColor: e.value.chart.zoom.color,
3553
- selectColor: e.value.chart.zoom.highlightColor,
3554
- borderColor: e.value.chart.backgroundColor,
3555
- minimap: da.value,
3556
- smoothMinimap: e.value.chart.zoom.minimap.smooth,
3557
- minimapSelectedColor: e.value.chart.zoom.minimap.selectedColor,
3558
- minimapSelectionRadius: e.value.chart.zoom.minimap.selectionRadius,
3559
- minimapLineColor: e.value.chart.zoom.minimap.lineColor,
3560
- minimapSelectedColorOpacity: e.value.chart.zoom.minimap.selectedColorOpacity,
3561
- minimapSelectedIndex: S.value,
3562
- minimapIndicatorColor: e.value.chart.zoom.minimap.indicatorColor,
3563
- verticalHandles: e.value.chart.zoom.minimap.verticalHandles,
3564
- max: w.value,
3565
- min: 0,
3566
- valueStart: g.value.start,
3567
- valueEnd: g.value.end,
3568
- start: g.value.start,
3569
- "onUpdate:start": r[1] || (r[1] = (l) => g.value.start = l),
3570
- end: g.value.end,
3571
- "onUpdate:end": r[2] || (r[2] = (l) => g.value.end = l),
3572
- refreshStartPoint: e.value.chart.zoom.startIndex !== null ? e.value.chart.zoom.startIndex : 0,
3573
- refreshEndPoint: e.value.chart.zoom.endIndex !== null ? e.value.chart.zoom.endIndex + 1 : Math.max(...C.dataset.map((l) => v(Ue)({ data: l.series, threshold: e.value.downsample.threshold }).length)),
3574
- enableRangeHandles: e.value.chart.zoom.enableRangeHandles,
3575
- enableSelectionDrag: e.value.chart.zoom.enableSelectionDrag,
3576
- onReset: aa,
3577
- onTrapMouse: la,
3578
- onFutureStart: r[3] || (r[3] = (l) => ft("start", l)),
3579
- onFutureEnd: r[4] || (r[4] = (l) => ft("end", l)),
3580
- timeLabels: Ya.value,
3581
- isPreview: xl.value
3582
- }, {
3583
- "reset-action": me(({ reset: l }) => [
3584
- Q(t.$slots, "reset-action", il(wl({ reset: l })), void 0, !0)
3585
- ]),
3586
- _: 3
3587
- }, 8, ["background", "fontSize", "useResetSlot", "labelLeft", "labelRight", "textColor", "inputColor", "selectColor", "borderColor", "minimap", "smoothMinimap", "minimapSelectedColor", "minimapSelectionRadius", "minimapLineColor", "minimapSelectedColorOpacity", "minimapSelectedIndex", "minimapIndicatorColor", "verticalHandles", "max", "valueStart", "valueEnd", "start", "end", "refreshStartPoint", "refreshEndPoint", "enableRangeHandles", "enableSelectionDrag", "timeLabels", "isPreview"])) : f("", !0)
3588
- ], 64)) : (n(), i(x, { key: 6 }, [
3589
- e.value.chart.zoom.show && w.value > 6 && Qe.value ? (n(), Be(Bo, {
3590
- ref_key: "chartSlicer",
3591
- ref: Ae,
3592
- key: `slicer_${ye.value}`,
3593
- background: e.value.chart.zoom.color,
3594
- fontSize: e.value.chart.zoom.fontSize,
3595
- useResetSlot: e.value.chart.zoom.useResetSlot,
3596
- labelLeft: K.value[0] ? K.value[0].text : "",
3597
- labelRight: K.value.at(-1) ? K.value.at(-1).text : "",
3598
- textColor: e.value.chart.color,
3599
- inputColor: e.value.chart.zoom.color,
3600
- selectColor: e.value.chart.zoom.highlightColor,
3601
- borderColor: e.value.chart.backgroundColor,
3602
- minimap: da.value,
3603
- smoothMinimap: e.value.chart.zoom.minimap.smooth,
3604
- minimapSelectedColor: e.value.chart.zoom.minimap.selectedColor,
3605
- minimapSelectionRadius: e.value.chart.zoom.minimap.selectionRadius,
3606
- minimapLineColor: e.value.chart.zoom.minimap.lineColor,
3607
- minimapSelectedColorOpacity: e.value.chart.zoom.minimap.selectedColorOpacity,
3608
- minimapSelectedIndex: S.value,
3609
- minimapIndicatorColor: e.value.chart.zoom.minimap.indicatorColor,
3610
- verticalHandles: e.value.chart.zoom.minimap.verticalHandles,
3611
- max: w.value,
3612
- min: 0,
3613
- valueStart: g.value.start,
3614
- valueEnd: g.value.end,
3615
- start: g.value.start,
3616
- "onUpdate:start": r[5] || (r[5] = (l) => g.value.start = l),
3617
- end: g.value.end,
3618
- "onUpdate:end": r[6] || (r[6] = (l) => g.value.end = l),
3619
- refreshStartPoint: e.value.chart.zoom.startIndex !== null ? e.value.chart.zoom.startIndex : 0,
3620
- refreshEndPoint: e.value.chart.zoom.endIndex !== null ? e.value.chart.zoom.endIndex + 1 : Math.max(...C.dataset.map((l) => v(Ue)({ data: l.series, threshold: e.value.downsample.threshold }).length)),
3621
- enableRangeHandles: e.value.chart.zoom.enableRangeHandles,
3622
- enableSelectionDrag: e.value.chart.zoom.enableSelectionDrag,
3623
- onReset: aa,
3624
- onTrapMouse: la
3625
- }, {
3626
- "reset-action": me(({ reset: l }) => [
3627
- Q(t.$slots, "reset-action", il(wl({ reset: l })), void 0, !0)
3628
- ]),
3629
- _: 3
3630
- }, 8, ["background", "fontSize", "useResetSlot", "labelLeft", "labelRight", "textColor", "inputColor", "selectColor", "borderColor", "minimap", "smoothMinimap", "minimapSelectedColor", "minimapSelectionRadius", "minimapLineColor", "minimapSelectedColorOpacity", "minimapSelectedIndex", "minimapIndicatorColor", "verticalHandles", "max", "valueStart", "valueEnd", "start", "end", "refreshStartPoint", "refreshEndPoint", "enableRangeHandles", "enableSelectionDrag"])) : f("", !0)
3631
- ], 64)),
3632
- b("div", {
3633
- id: `legend-bottom-${X.value}`
3634
- }, null, 8, Ni),
3635
- ht.value ? (n(), Be(fo, {
3636
- key: 7,
3637
- to: e.value.chart.legend.position === "top" ? `#legend-top-${X.value}` : `#legend-bottom-${X.value}`
3638
- }, [
3639
- e.value.chart.legend.show ? (n(), i("div", {
3640
- key: 0,
3641
- ref_key: "chartLegend",
3642
- ref: cl,
3643
- class: "vue-ui-xy-legend",
3644
- style: _(`font-size:${e.value.chart.legend.fontSize}px`)
3645
- }, [
3646
- (n(!0), i(x, null, L(je.value, (l, u) => (n(), i("div", {
3647
- key: `div_legend_item_${u}`,
3648
- onClick: (a) => ca(l),
3649
- class: Ne({ "vue-ui-xy-legend-item-alone": je.value.length === 1, "vue-ui-xy-legend-item": !0, "vue-ui-xy-legend-item-segregated": ae.value.includes(l.id) })
3650
- }, [
3651
- hl.value[l.type] === "line" ? (n(), i("svg", Ri, [
3652
- b("rect", {
3653
- x: "0",
3654
- y: "7.5",
3655
- rx: "1.5",
3656
- stroke: e.value.chart.backgroundColor,
3657
- "stroke-width": 0.5,
3658
- height: "3",
3659
- width: "20",
3660
- fill: l.color
3661
- }, null, 8, Pi),
3662
- ql(At, {
3663
- plot: { x: 10, y: 9 },
3664
- radius: 4,
3665
- color: l.color,
3666
- shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(l.shape) ? l.shape : "circle",
3667
- stroke: e.value.chart.backgroundColor,
3668
- strokeWidth: 0.5
3669
- }, null, 8, ["color", "shape", "stroke"])
3670
- ])) : hl.value[l.type] === "bar" ? (n(), i("svg", Hi, [
3671
- hl.value[l.type] === "bar" && t.$slots.pattern ? (n(), i("rect", {
3672
- key: 0,
3673
- x: "0",
3674
- y: "0",
3675
- rx: "1",
3676
- height: "40",
3677
- width: "40",
3678
- stroke: "none",
3679
- fill: l.color
3680
- }, null, 8, Vi)) : f("", !0),
3681
- hl.value[l.type] === "bar" ? (n(), i("rect", {
3682
- key: 1,
3683
- x: "0",
3684
- y: "0",
3685
- rx: "1",
3686
- height: "40",
3687
- width: "40",
3688
- stroke: "none",
3689
- fill: t.$slots.pattern ? `url(#pattern_${X.value}_${l.slotAbsoluteIndex})` : l.color
3690
- }, null, 8, Ei)) : f("", !0)
3691
- ])) : (n(), i("svg", Bi, [
3692
- ql(At, {
3693
- plot: { x: 6, y: 6 },
3694
- radius: 5,
3695
- color: l.color,
3696
- shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(l.shape) ? l.shape : "circle"
3697
- }, null, 8, ["color", "shape"])
3698
- ])),
3699
- b("span", {
3700
- style: _(`color:${e.value.chart.legend.color}`)
3701
- }, te(l.name), 5)
3702
- ], 10, Oi))), 128))
3703
- ], 4)) : (n(), i("div", {
3704
- key: 1,
3705
- ref_key: "chartLegend",
3706
- ref: cl
3707
- }, [
3708
- Q(t.$slots, "legend", { legend: je.value }, void 0, !0)
3709
- ], 512))
3710
- ], 8, ["to"])) : f("", !0),
3711
- t.$slots.source ? (n(), i("div", {
3712
- key: 8,
3713
- ref_key: "source",
3714
- ref: _l,
3715
- dir: "auto"
3716
- }, [
3717
- Q(t.$slots, "source", {}, void 0, !0)
3718
- ], 512)) : f("", !0),
3719
- ql(v(de), {
3720
- show: y.value.showTooltip && El.value,
3721
- backgroundColor: e.value.chart.tooltip.backgroundColor,
3722
- color: e.value.chart.tooltip.color,
3723
- fontSize: e.value.chart.tooltip.fontSize,
3724
- borderRadius: e.value.chart.tooltip.borderRadius,
3725
- borderColor: e.value.chart.tooltip.borderColor,
3726
- borderWidth: e.value.chart.tooltip.borderWidth,
3727
- backgroundOpacity: e.value.chart.tooltip.backgroundOpacity,
3728
- position: e.value.chart.tooltip.position,
3729
- offsetY: e.value.chart.tooltip.offsetY,
3730
- parent: t.$refs.chart,
3731
- content: oo.value,
3732
- isFullscreen: ul.value,
3733
- isCustom: e.value.chart.tooltip.customFormat && typeof e.value.chart.tooltip.customFormat == "function",
3734
- smooth: e.value.chart.tooltip.smooth,
3735
- backdropFilter: e.value.chart.tooltip.backdropFilter
3736
- }, {
3737
- "tooltip-before": me(() => [
3738
- Q(t.$slots, "tooltip-before", il(wl({ ...ma.value })), void 0, !0)
3739
- ]),
3740
- "tooltip-after": me(() => [
3741
- Q(t.$slots, "tooltip-after", il(wl({ ...ma.value })), void 0, !0)
3742
- ]),
3743
- _: 3
3744
- }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
3745
- Qe.value ? (n(), Be(v(Rl), {
3746
- key: 9,
3747
- hideDetails: "",
3748
- config: {
3749
- open: y.value.showTable,
3750
- maxHeight: 1e4,
3751
- body: {
3752
- backgroundColor: e.value.chart.backgroundColor,
3753
- color: e.value.chart.color
3754
- },
3755
- head: {
3756
- backgroundColor: e.value.chart.backgroundColor,
3757
- color: e.value.chart.color
3758
- }
3759
- }
3760
- }, {
3761
- content: me(() => [
3762
- b("div", {
3763
- style: _(`${v(et) ? "" : "max-height:400px"};overflow:auto;width:100%;margin-top:48px`)
3764
- }, [
3765
- b("div", Fi, [
3766
- Yt(b("input", {
3767
- type: "checkbox",
3768
- "onUpdate:modelValue": r[7] || (r[7] = (l) => _e.value = l)
3769
- }, null, 512), [
3770
- [go, _e.value]
3771
- ]),
3772
- b("div", {
3773
- onClick: r[8] || (r[8] = (l) => _e.value = !_e.value),
3774
- style: { cursor: "pointer" }
3775
- }, [
3776
- ql(v($l), {
3777
- name: "chartLine",
3778
- size: 20,
3779
- stroke: e.value.chart.color
3780
- }, null, 8, ["stroke"])
3781
- ])
3782
- ]),
3783
- _e.value ? (n(), Be(v(Jl), {
3784
- key: `sparkline_${Pe.value}`,
3785
- dataset: lo.value,
3786
- config: to.value
3787
- }, null, 8, ["dataset", "config"])) : (n(), Be(v(Oe), {
3788
- key: `table_${dt.value}`,
3789
- colNames: $t.value.colNames,
3790
- head: $t.value.head,
3791
- body: $t.value.body,
3792
- config: $t.value.config,
3793
- title: `${e.value.chart.title.text}${e.value.chart.title.subtitle.text ? ` : ${e.value.chart.title.subtitle.text}` : ""}`,
3794
- onClose: r[9] || (r[9] = (l) => y.value.showTable = !1)
3795
- }, {
3796
- th: me(({ th: l }) => [
3797
- b("div", { innerHTML: l }, null, 8, Wi)
3798
- ]),
3799
- td: me(({ td: l }) => [
3800
- mo(te(isNaN(Number(l)) ? l : v(Fe)({
3801
- p: e.value.chart.labels.prefix,
3802
- v: l,
3803
- s: e.value.chart.labels.suffix,
3804
- r: e.value.table.rounding
3805
- })), 1)
3806
- ]),
3807
- _: 1
3808
- }, 8, ["colNames", "head", "body", "config", "title"]))
3809
- ], 4)
3810
- ]),
3811
- _: 1
3812
- }, 8, ["config"])) : f("", !0),
3813
- v(B) ? (n(), Be(Po, { key: 10 })) : f("", !0)
3814
- ], 46, ru));
3815
- }
3816
- }, os = /* @__PURE__ */ Ra(Yi, [["__scopeId", "data-v-7b7b831a"]]);
3817
- export {
3818
- os as default
3819
- };