vue-data-ui 3.3.3 → 3.4.0

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