vue-data-ui 3.20.10 → 3.21.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 (190) hide show
  1. package/dist/{Arrow-D6j6ocXm.js → Arrow-_pDGXl76.js} +1 -1
  2. package/dist/{BaseDraggableDialog-4hDW-Rj2.js → BaseDraggableDialog-BvaFJWHb.js} +2 -2
  3. package/dist/{BaseIcon-DfLoHNUj.js → BaseIcon-CbDazQLH.js} +1 -1
  4. package/dist/{BaseLegendToggle-C_Db-y7s.js → BaseLegendToggle-BNRi408o.js} +1 -1
  5. package/dist/{BaseZoomControls-CG7hI_1P.js → BaseZoomControls-Dbtq9oyx.js} +2 -2
  6. package/dist/{ColorPicker-Bjwxnvfh.js → ColorPicker-B4ob7JgP.js} +2 -2
  7. package/dist/{DataTable-B--IN22e.js → DataTable-DweDyHc1.js} +2 -2
  8. package/dist/{Legend-Cz2uQ5gs.js → Legend-BLhREbj7.js} +2 -2
  9. package/dist/{NonSvgPenAndPaper-gLNJ1Lmr.js → NonSvgPenAndPaper-BzZyMJBF.js} +3 -3
  10. package/dist/{PackageVersion-BbgWxFC4.js → PackageVersion-DYLo3MRd.js} +1 -1
  11. package/dist/{PenAndPaper-DqrClVfb.js → PenAndPaper-D4aFMYZf.js} +3 -3
  12. package/dist/{Shape-BPCJfphn.js → Shape-BxFtoF1z.js} +1 -1
  13. package/dist/{Slicer-SHBj0VaV.js → Slicer-GABgkLkB.js} +2 -2
  14. package/dist/SlicerPreview-CXLgqXX8.js +1676 -0
  15. package/dist/{SparkTooltip-CfE6yCad.js → SparkTooltip-CdSRUoZN.js} +6 -6
  16. package/dist/{Title-NWp4qB4K.js → Title-DH6G8_cZ.js} +1 -1
  17. package/dist/{Tooltip-BENq327o.js → Tooltip-979Ytd8R.js} +1 -1
  18. package/dist/{UserOptions-C1NgoGu6.js → UserOptions-qFz-9Pnw.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-history-plot.js +1 -1
  46. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  47. package/dist/components/vue-ui-icon.js +1 -1
  48. package/dist/components/vue-ui-kpi.js +1 -1
  49. package/dist/components/vue-ui-mini-loader.js +1 -1
  50. package/dist/components/vue-ui-molecule.js +1 -1
  51. package/dist/components/vue-ui-mood-radar.js +1 -1
  52. package/dist/components/vue-ui-nested-donuts.js +1 -1
  53. package/dist/components/vue-ui-onion.js +1 -1
  54. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  55. package/dist/components/vue-ui-quadrant.js +1 -1
  56. package/dist/components/vue-ui-quick-chart.js +1 -1
  57. package/dist/components/vue-ui-radar.js +1 -1
  58. package/dist/components/vue-ui-rating.js +1 -1
  59. package/dist/components/vue-ui-relation-circle.js +1 -1
  60. package/dist/components/vue-ui-ridgeline.js +1 -1
  61. package/dist/components/vue-ui-rings.js +1 -1
  62. package/dist/components/vue-ui-scatter.js +1 -1
  63. package/dist/components/vue-ui-skeleton.js +1 -1
  64. package/dist/components/vue-ui-smiley.js +1 -1
  65. package/dist/components/vue-ui-spark-trend.js +1 -1
  66. package/dist/components/vue-ui-sparkbar.js +1 -1
  67. package/dist/components/vue-ui-sparkgauge.js +1 -1
  68. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  69. package/dist/components/vue-ui-sparkline.js +1 -1
  70. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  71. package/dist/components/vue-ui-stackbar.js +1 -1
  72. package/dist/components/vue-ui-stackline.js +1 -1
  73. package/dist/components/vue-ui-strip-plot.js +1 -1
  74. package/dist/components/vue-ui-table-heatmap.js +1 -1
  75. package/dist/components/vue-ui-table-sparkline.js +1 -1
  76. package/dist/components/vue-ui-table.js +1 -1
  77. package/dist/components/vue-ui-thermometer.js +1 -1
  78. package/dist/components/vue-ui-timer.js +1 -1
  79. package/dist/components/vue-ui-tiremarks.js +1 -1
  80. package/dist/components/vue-ui-treemap.js +1 -1
  81. package/dist/components/vue-ui-vertical-bar.js +1 -1
  82. package/dist/components/vue-ui-waffle.js +1 -1
  83. package/dist/components/vue-ui-wheel.js +1 -1
  84. package/dist/components/vue-ui-word-cloud.js +1 -1
  85. package/dist/components/vue-ui-world.js +1 -1
  86. package/dist/components/vue-ui-xy-canvas.js +1 -1
  87. package/dist/components/vue-ui-xy.js +1 -1
  88. package/dist/{dom-to-png-BYtB4BF3.js → dom-to-png-CtV3uxDJ.js} +1 -1
  89. package/dist/exposedLib-BJbE_A8E.js +19 -0
  90. package/dist/{img-1cKsci8e.js → img-C_RNNswI.js} +1 -1
  91. package/dist/{labelUtils-CUctkYoA.js → labelUtils-Bycs-017.js} +1 -1
  92. package/dist/{lib-DUeYQsS0.js → lib-AJRHFE5U.js} +12 -6
  93. package/dist/{pdf-D0eZ99cP.js → pdf-CdX23zf1.js} +1 -1
  94. package/dist/ssr.js +1366 -0
  95. package/dist/style.css +1 -1
  96. package/dist/types/ssr.d.ts +128 -0
  97. package/dist/types/vue-data-ui.d.ts +135 -1
  98. package/dist/{useAutoSizeLabelsInsideViewbox-BIVntRZp.js → useAutoSizeLabelsInsideViewbox-kjVKQz36.js} +1 -1
  99. package/dist/{useNestedProp-CNcoy38D.js → useNestedProp-DtcXIg7n.js} +1 -1
  100. package/dist/{usePrinter-C1Gqt_Sp.js → usePrinter-6n2MzVyV.js} +2 -2
  101. package/dist/utils.js +8 -8
  102. package/dist/{vue-data-ui-CBjd88aV.js → vue-data-ui-D2dM3IQZ.js} +68 -68
  103. package/dist/vue-data-ui.js +72 -72
  104. package/dist/vue-ui-3d-bar-0C_yshya.js +1757 -0
  105. package/dist/{vue-ui-accordion-Bpbv-VHE.js → vue-ui-accordion-DLnwuQda.js} +3 -3
  106. package/dist/vue-ui-age-pyramid-DFNELwbT.js +1238 -0
  107. package/dist/{vue-ui-annotator-Q57JevNc.js → vue-ui-annotator-BljP5cB7.js} +8 -8
  108. package/dist/vue-ui-bullet-ChQq42AN.js +710 -0
  109. package/dist/{vue-ui-bump-S-FGGlPW.js → vue-ui-bump-BVCYywuS.js} +253 -253
  110. package/dist/{vue-ui-candlestick-BaaswVai.js → vue-ui-candlestick-CQ0nfkmL.js} +276 -276
  111. package/dist/vue-ui-carousel-table-Cvi1gsKR.js +455 -0
  112. package/dist/vue-ui-chestnut-DeWbKqze.js +2010 -0
  113. package/dist/vue-ui-chord-bRXYWpGT.js +1391 -0
  114. package/dist/{vue-ui-circle-pack--4oUO8hO.js → vue-ui-circle-pack-DWO8x9gf.js} +36 -36
  115. package/dist/{vue-ui-cursor-C7zZVebz.js → vue-ui-cursor-BKGUvOWO.js} +3 -3
  116. package/dist/{vue-ui-dag-DsCnV6f0.js → vue-ui-dag-lL0juBzN.js} +20 -20
  117. package/dist/{vue-ui-dashboard-CmTnG8CS.js → vue-ui-dashboard-CEk2z8v9.js} +69 -69
  118. package/dist/{vue-ui-digits-BQ0e9Czq.js → vue-ui-digits-BAjr0eIJ.js} +3 -3
  119. package/dist/vue-ui-donut-BsSpIinL.js +2410 -0
  120. package/dist/vue-ui-donut-evolution-1UhFKEgG.js +1510 -0
  121. package/dist/vue-ui-dumbbell-ChqJicg9.js +1530 -0
  122. package/dist/{vue-ui-flow-jBINqYMb.js → vue-ui-flow-BXfzMTXx.js} +57 -57
  123. package/dist/{vue-ui-funnel-B9DsneCv.js → vue-ui-funnel-BpnC82m0.js} +32 -32
  124. package/dist/{vue-ui-galaxy-SAZjgllD.js → vue-ui-galaxy-FNzwDOH1.js} +330 -330
  125. package/dist/vue-ui-gauge-D6I78FZr.js +920 -0
  126. package/dist/{vue-ui-geo-B41ZRCPC.js → vue-ui-geo-Z1xuH8r6.js} +18 -18
  127. package/dist/{vue-ui-gizmo-PL2TAIV_.js → vue-ui-gizmo-ZlmJIh0_.js} +62 -62
  128. package/dist/{vue-ui-heatmap-NkJ_KGMs.js → vue-ui-heatmap-BWN0UBKE.js} +264 -264
  129. package/dist/{vue-ui-history-plot-B9KX1kKs.js → vue-ui-history-plot-2E6KrNhv.js} +74 -74
  130. package/dist/vue-ui-horizontal-bar-BzP7k_3J.js +1681 -0
  131. package/dist/{vue-ui-kpi-Bo4x1-vC.js → vue-ui-kpi-B9bdicir.js} +3 -3
  132. package/dist/{vue-ui-mini-loader-Bi0nsbao.js → vue-ui-mini-loader-BnLOdRA0.js} +2 -2
  133. package/dist/vue-ui-molecule-B-69fE_1.js +925 -0
  134. package/dist/{vue-ui-mood-radar-DE71e1H_.js → vue-ui-mood-radar-D3kF7iHz.js} +21 -21
  135. package/dist/{vue-ui-nested-donuts-DQhSwNYF.js → vue-ui-nested-donuts-CTmomXj1.js} +256 -256
  136. package/dist/{vue-ui-onion-X9anqRDz.js → vue-ui-onion-3fJB4mfC.js} +45 -45
  137. package/dist/{vue-ui-parallel-coordinate-plot-aN0OHwgH.js → vue-ui-parallel-coordinate-plot-CKKkbBlu.js} +39 -39
  138. package/dist/{vue-ui-quadrant-CpKMBoX9.js → vue-ui-quadrant-DGLnjwva.js} +355 -355
  139. package/dist/{vue-ui-quick-chart-BwD7IGYx.js → vue-ui-quick-chart-DJnhlEXi.js} +359 -359
  140. package/dist/vue-ui-radar-AIBX0QYs.js +1229 -0
  141. package/dist/{vue-ui-rating-D8QQctnQ.js → vue-ui-rating-pDVqT08V.js} +33 -33
  142. package/dist/vue-ui-relation-circle-BQVR8L9Y.js +924 -0
  143. package/dist/{vue-ui-ridgeline-68X0PTKo.js → vue-ui-ridgeline-CYq3APPQ.js} +54 -54
  144. package/dist/{vue-ui-rings-cDPIzhPb.js → vue-ui-rings-BgFO7NYF.js} +81 -81
  145. package/dist/vue-ui-scatter-BPu5DwaJ.js +2413 -0
  146. package/dist/{vue-ui-skeleton-BD0JzrcV.js → vue-ui-skeleton-qpdvvWtx.js} +41 -41
  147. package/dist/{vue-ui-smiley-CqwB6Uhu.js → vue-ui-smiley-DUI5n89s.js} +16 -16
  148. package/dist/{vue-ui-spark-trend-DLXJpfGh.js → vue-ui-spark-trend-CQ9ZN5sL.js} +27 -27
  149. package/dist/{vue-ui-sparkbar-5pFFPu5l.js → vue-ui-sparkbar-d6ctWlLA.js} +83 -83
  150. package/dist/{vue-ui-sparkgauge--CihPbUW.js → vue-ui-sparkgauge-HX_rqLxX.js} +44 -44
  151. package/dist/{vue-ui-sparkhistogram-CjrIcako.js → vue-ui-sparkhistogram-B_zxKMHv.js} +110 -110
  152. package/dist/vue-ui-sparkline-BSdOdtKu.js +1507 -0
  153. package/dist/{vue-ui-sparkstackbar-Dlg1W_fF.js → vue-ui-sparkstackbar-B2sqpW-w.js} +155 -155
  154. package/dist/{vue-ui-stackbar-DltfPoDm.js → vue-ui-stackbar-DH75CCpy.js} +81 -81
  155. package/dist/vue-ui-stackline-CXodezD1.js +2398 -0
  156. package/dist/{vue-ui-strip-plot-CEE-cw3d.js → vue-ui-strip-plot-C1un5Mku.js} +90 -90
  157. package/dist/{vue-ui-table-C7AvFChf.js → vue-ui-table-R-aXpHvF.js} +86 -86
  158. package/dist/{vue-ui-table-heatmap-xwfStZrD.js → vue-ui-table-heatmap-C1e_7MJ2.js} +16 -16
  159. package/dist/{vue-ui-table-sparkline-DgTHhaZI.js → vue-ui-table-sparkline-Dy-6i82F.js} +22 -22
  160. package/dist/{vue-ui-thermometer-Cg7jcmgc.js → vue-ui-thermometer-CIse_lcE.js} +21 -21
  161. package/dist/{vue-ui-timer-U045embk.js → vue-ui-timer-AlYvthQ6.js} +23 -23
  162. package/dist/{vue-ui-tiremarks-T55IpHYP.js → vue-ui-tiremarks-CP_bw6by.js} +19 -19
  163. package/dist/{vue-ui-treemap-BPQ-Ekq4.js → vue-ui-treemap-BXrV5VAp.js} +65 -65
  164. package/dist/{vue-ui-waffle-DNCJGwEA.js → vue-ui-waffle-uoqEnQ30.js} +232 -232
  165. package/dist/{vue-ui-wheel-5GuVbUOq.js → vue-ui-wheel-DLgw_xfe.js} +36 -36
  166. package/dist/{vue-ui-word-cloud-Cs-MBJJU.js → vue-ui-word-cloud-Bgu-qbcp.js} +35 -35
  167. package/dist/{vue-ui-world-D3v5f6dU.js → vue-ui-world-B93iq1ZM.js} +445 -445
  168. package/dist/vue-ui-xy-DzuOBbPL.js +4744 -0
  169. package/dist/{vue-ui-xy-canvas-Ww81eEZ6.js → vue-ui-xy-canvas-DjxM7y3T.js} +60 -60
  170. package/package.json +6 -2
  171. package/dist/SlicerPreview-CpvCUAIM.js +0 -1669
  172. package/dist/exposedLib-CI8ji8G-.js +0 -19
  173. package/dist/vue-ui-3d-bar-DmMi_eVe.js +0 -1757
  174. package/dist/vue-ui-age-pyramid-CbJDodNj.js +0 -1238
  175. package/dist/vue-ui-bullet-rCmOch09.js +0 -710
  176. package/dist/vue-ui-carousel-table-DFUP6c1B.js +0 -455
  177. package/dist/vue-ui-chestnut-DKNsQA7h.js +0 -2010
  178. package/dist/vue-ui-chord-BMkz02R6.js +0 -1391
  179. package/dist/vue-ui-donut-BLlR2VgI.js +0 -2410
  180. package/dist/vue-ui-donut-evolution-kXDchwtH.js +0 -1510
  181. package/dist/vue-ui-dumbbell-BWuXbccQ.js +0 -1530
  182. package/dist/vue-ui-gauge-NSzY9L6X.js +0 -920
  183. package/dist/vue-ui-horizontal-bar-mmoqYnkA.js +0 -1681
  184. package/dist/vue-ui-molecule-QoXYCfyP.js +0 -925
  185. package/dist/vue-ui-radar-TfxsgQrA.js +0 -1229
  186. package/dist/vue-ui-relation-circle-CMqV9U6C.js +0 -924
  187. package/dist/vue-ui-scatter-8nirnHQi.js +0 -2413
  188. package/dist/vue-ui-sparkline-DPZm7RqN.js +0 -1507
  189. package/dist/vue-ui-stackline-6agFEYxZ.js +0 -2398
  190. package/dist/vue-ui-xy-C0kcCaFA.js +0 -4747
package/dist/ssr.js ADDED
@@ -0,0 +1,1366 @@
1
+ import { $ as e, B as t, Bt as n, D as r, F as i, Ft as a, G as o, Ht as s, I as c, L as l, M as u, Nt as d, O as f, Ot as p, P as m, Pt as h, Q as g, R as _, T as v, a as y, c as b, g as ee, h as x, i as S, j as te, k as C, pt as w, s as T, w as E, y as D } from "./lib-AJRHFE5U.js";
2
+ import { t as O } from "./useTimeLabels-BmBRv27Y.js";
3
+ import { t as k } from "./useConfig-DnH7Pf_2.js";
4
+ import { t as A } from "./vue_ui_xy-BA3-_LCx.js";
5
+ //#region src/svg/vue-ui-xy/create.js
6
+ var { vue_ui_xy: j } = k();
7
+ function ne({ config: e = {}, dataset: t = [] } = {}) {
8
+ let r = e ?? {}, i = s({
9
+ userConfig: r,
10
+ defaultConfig: j
11
+ });
12
+ w(r, "chart.highlightArea") && (Array.isArray(r.chart.highlightArea) ? i.chart.highlightArea = r.chart.highlightArea.map((e) => s({
13
+ defaultConfig: j.chart.highlightArea,
14
+ userConfig: e
15
+ })) : i.chart.highlightArea = [s({
16
+ defaultConfig: j.chart.highlightArea,
17
+ userConfig: r.chart.highlightArea
18
+ })]), w(r, "chart.annotations") && Array.isArray(r.chart.annotations) && r.chart.annotations.length ? i.chart.annotations = r.chart.annotations.map((e) => s({
19
+ defaultConfig: j.chart.annotations[0],
20
+ userConfig: e
21
+ })) : i.chart.annotations = [], w(r, "chart.grid.position") && r.chart.grid.position === "start" && t.some((e) => e.type === "bar") && (i.chart.grid.position = "middle");
22
+ let a = i.theme;
23
+ if (!a) return {
24
+ ...i,
25
+ customPalette: i.customPalette?.length ? i.customPalette : p
26
+ };
27
+ let o = s({
28
+ userConfig: r,
29
+ defaultConfig: s({
30
+ userConfig: A[a] || {},
31
+ defaultConfig: i
32
+ })
33
+ });
34
+ return {
35
+ ...o,
36
+ customPalette: o.customPalette?.length ? o.customPalette : n[a] || p
37
+ };
38
+ }
39
+ function M({ dataset: e = [], config: t = {}, width: n = 1e3, height: r = 600, selectedXIndex: i, additionalSvgContent: a = "", svgTitle: o = "" } = {}) {
40
+ let s = ne({
41
+ config: t,
42
+ dataset: e
43
+ }), c = {
44
+ top: s.chart.padding.top,
45
+ left: s.chart.padding.left,
46
+ right: n - s.chart.padding.right,
47
+ bottom: r - s.chart.padding.bottom
48
+ };
49
+ c.width = c.right - c.left, c.height = c.bottom - c.top;
50
+ let l = e.flatMap((e) => Array.isArray(e.series) ? e.series.map((e) => Number(typeof e == "object" && e ? e.y : e)) : []).filter(Number.isFinite), u = x(Math.min(0, ...l), Math.max(1, ...l), 6), d = Math.max(0, ...e.map((e) => e.series?.length || 0)), f = (e) => d <= 1 ? c.left + c.width / 2 : c.left + e / (d - 1) * c.width, m = (e) => {
51
+ let t = (Number(e) - u.min) / (u.max - u.min || 1);
52
+ return c.bottom - t * c.height;
53
+ }, h = Array.isArray(s.customPalette) ? s.customPalette : [], g = h.length ? h : p;
54
+ return {
55
+ width: n,
56
+ height: r,
57
+ selectedXIndex: i,
58
+ dataset: e,
59
+ config: s,
60
+ drawingArea: c,
61
+ scale: u,
62
+ series: e.map((e, t) => {
63
+ let n = (e.color ? D(e.color) : "") || g[t % g.length], r = (e.series || []).map((e, t) => {
64
+ let n = e == null ? null : typeof e == "object" ? e.y ?? null : Number(e);
65
+ return {
66
+ x: f(t),
67
+ y: n === null || !Number.isFinite(Number(n)) ? null : m(n),
68
+ value: n,
69
+ index: t,
70
+ label: e?.name ?? e?.x ?? String(t)
71
+ };
72
+ });
73
+ return {
74
+ ...e,
75
+ color: n,
76
+ type: e.type || "line",
77
+ plots: r
78
+ };
79
+ }),
80
+ additionalSvgContent: a,
81
+ svgTitle: o
82
+ };
83
+ }
84
+ //#endregion
85
+ //#region src/svg/utils/index.js
86
+ function N(e, t = 0) {
87
+ let n = Number(e);
88
+ return Number.isFinite(n) ? n : t;
89
+ }
90
+ function P(e) {
91
+ return Array.isArray(e) ? e : [];
92
+ }
93
+ function F(e) {
94
+ return Number.isFinite(Number(e));
95
+ }
96
+ function I(t, n = {}, r = "") {
97
+ let i = Object.entries(n).filter(([, e]) => e != null && e !== !1).map(([t, n]) => `${t}="${e(n)}"`).join(" ");
98
+ return `<${t}${i ? ` ${i}` : ""}>${r}</${t}>`;
99
+ }
100
+ function L(t, n = {}) {
101
+ let r = Object.entries(n).filter(([, e]) => e != null && e !== !1).map(([t, n]) => `${t}="${e(n)}"`).join(" ");
102
+ return `<${t}${r ? ` ${r}` : ""}/>`;
103
+ }
104
+ function R(e, t = {}) {
105
+ return I("text", t, g(e ?? ""));
106
+ }
107
+ function re(e) {
108
+ return [
109
+ "triangle",
110
+ "square",
111
+ "diamond",
112
+ "pentagon",
113
+ "hexagon",
114
+ "star"
115
+ ].includes(e) ? e : "circle";
116
+ }
117
+ function ie({ dataCy: e, shape: t, plot: n, radius: i, fill: a, stroke: o, strokeWidth: s }) {
118
+ let c = re(t), l = N(n.x, 0), u = N(n.y, 0), d = N(i, 4);
119
+ if (c === "circle") return L("circle", {
120
+ "data-cy": e,
121
+ cx: l,
122
+ cy: u,
123
+ r: d,
124
+ fill: a,
125
+ stroke: o,
126
+ "stroke-width": s
127
+ });
128
+ if (c === "star") return L("polygon", {
129
+ "data-cy": e,
130
+ points: m({
131
+ plot: {
132
+ x: l,
133
+ y: u
134
+ },
135
+ radius: d
136
+ }),
137
+ fill: a,
138
+ stroke: o,
139
+ "stroke-width": s
140
+ });
141
+ let f = {
142
+ triangle: {
143
+ sides: 3,
144
+ rotation: .52
145
+ },
146
+ square: {
147
+ sides: 4,
148
+ rotation: .8
149
+ },
150
+ diamond: {
151
+ sides: 4,
152
+ rotation: 0
153
+ },
154
+ pentagon: {
155
+ sides: 5,
156
+ rotation: .95
157
+ },
158
+ hexagon: {
159
+ sides: 6,
160
+ rotation: 0
161
+ }
162
+ }[c];
163
+ return L("path", {
164
+ "data-cy": e,
165
+ d: r({
166
+ plot: {
167
+ x: l,
168
+ y: u
169
+ },
170
+ radius: d,
171
+ sides: f.sides,
172
+ rotation: f.rotation
173
+ }).path,
174
+ fill: a,
175
+ stroke: o,
176
+ "stroke-width": s
177
+ });
178
+ }
179
+ function z(e, t, n) {
180
+ let r = e;
181
+ for (let e of t.split(".")) {
182
+ if (!r || typeof r != "object" || !(e in r)) return n;
183
+ r = r[e];
184
+ }
185
+ return r ?? n;
186
+ }
187
+ function ae(e, t) {
188
+ return String(e ?? "").length * t * .58;
189
+ }
190
+ //#endregion
191
+ //#region src/svg/vue-ui-xy/render.js
192
+ function B(e) {
193
+ return !!z(e, "chart.grid.labels.yAxis.useIndividualScale", !1);
194
+ }
195
+ function V(e) {
196
+ return String(e.scaleLabel ?? e.id ?? e.name ?? "");
197
+ }
198
+ function H(e) {
199
+ return N(z(e, "chart.grid.labels.yAxis.labelWidth", 40), 40) + 36;
200
+ }
201
+ function oe(e) {
202
+ return P(e).flatMap((e) => P(e.plots)).map((e) => e?.value === null || e?.value === void 0 ? null : Number(e.value)).filter(Number.isFinite);
203
+ }
204
+ function se(e, t, n) {
205
+ let r = oe(n), i = z(e, "chart.grid.labels.yAxis.scaleMin", null), a = z(e, "chart.grid.labels.yAxis.scaleMax", null), o = Z(i) ? Number(i) : Math.min(0, ...r), s = Z(a) ? Number(a) : Math.max(1, ...r), c = N(z(e, "chart.grid.labels.yAxis.commonScaleSteps", 6), 6);
206
+ return !r.length && !Z(i) && !Z(a) ? t : Se(e, o, s === o ? o + 1 : s, c);
207
+ }
208
+ function ce(e, t) {
209
+ let { drawingArea: n } = e, r = N(t.__yOffset, 0), i = N(t.__individualHeight, n.height);
210
+ return {
211
+ top: n.bottom - r - i,
212
+ bottom: n.bottom - r
213
+ };
214
+ }
215
+ function le(e, t, n, r) {
216
+ let i = ce(e, t), a = Math.min(n.y, r), o = Math.max(n.y, r), s = Math.max(i.top, a), c = Math.min(i.bottom, o);
217
+ return {
218
+ y: s,
219
+ height: Math.max(1e-5, c - s)
220
+ };
221
+ }
222
+ function U(e, t) {
223
+ let n = {};
224
+ return P(t).forEach((t, r) => {
225
+ let i = V(t) || `serie_${r}`, a = P(t.plots).map((e) => Number(e.value)).filter(Number.isFinite);
226
+ n[i] || (n[i] = {
227
+ scaleLabel: i,
228
+ name: t.name ?? i,
229
+ color: z(e, "chart.grid.labels.yAxis.groupColor", null) || t.color,
230
+ series: [],
231
+ values: []
232
+ }), n[i].series.push(t), n[i].values.push(...a);
233
+ }), Object.values(n).forEach((t) => {
234
+ t.scale = Ce(e, {
235
+ ...t.series[0],
236
+ plots: t.series.flatMap((e) => P(e.plots))
237
+ });
238
+ }), n;
239
+ }
240
+ function ue(e, t, n, r, i, a) {
241
+ return !i && !a ? r : n[V(t)]?.scale ?? Ce(e, t);
242
+ }
243
+ function de(e) {
244
+ return e === "bar" || e === "line" || e === "plot" ? e : "line";
245
+ }
246
+ function fe(e) {
247
+ return P(e.series).map((e) => ({
248
+ ...e,
249
+ type: de(e.type),
250
+ plots: P(e.plots).filter((e) => e && F(e.x))
251
+ }));
252
+ }
253
+ function W(e) {
254
+ let { drawingArea: t, scale: n } = e, r = (0 - n.min) / (n.max - n.min || 1);
255
+ return t.bottom - r * t.height;
256
+ }
257
+ function G(e) {
258
+ return e.uniqueId ?? "ssr";
259
+ }
260
+ function K(e, t, n) {
261
+ return `rectGradient_${n}_${t}_${G(e)}`;
262
+ }
263
+ function pe(e, t) {
264
+ return `lineGradient_${t}_${G(e)}`;
265
+ }
266
+ function me(e, t) {
267
+ return `temperature_grad_line_${t}_${G(e)}`;
268
+ }
269
+ function he(e, t, n) {
270
+ return t.temperatureColors && !t.isFlatTemperatureLine ? `url(#${me(e, n)})` : t.color;
271
+ }
272
+ function ge(e, t) {
273
+ return `plotGradient_${t}_${G(e)}`;
274
+ }
275
+ function _e(e, t, n) {
276
+ let { config: r } = e;
277
+ return z(r, "line.useGradient", !1) ? `url(#${pe(e, n)})` : z(r, "line.dot.useSerieColor", !0) ? t.color : z(r, "line.dot.fill", "#FFFFFF");
278
+ }
279
+ function ve(e, t, n) {
280
+ let { config: r } = e;
281
+ return z(r, "line.area.useGradient", !1) ? `url(#${Je(e, n)})` : h(t.color, N(z(r, "line.area.opacity", 30), 30));
282
+ }
283
+ function ye(e, t, n, r) {
284
+ return z(e.config, "bar.useGradient", !1) ? r >= 0 ? `url(#${K(e, n, "pos")})` : `url(#${K(e, n, "neg")})` : t.color;
285
+ }
286
+ function be(e, t) {
287
+ let { config: n } = e, r = [];
288
+ return z(n, "bar.useGradient", !1) && t.filter((e) => e.type === "bar").forEach((t, n) => {
289
+ r.push(I("linearGradient", {
290
+ id: K(e, n, "pos"),
291
+ x2: "0%",
292
+ y2: "100%"
293
+ }, [
294
+ L("stop", {
295
+ offset: "0%",
296
+ "stop-color": D(t.color)
297
+ }),
298
+ L("stop", {
299
+ offset: "62%",
300
+ "stop-color": a(D(t.color), .02)
301
+ }),
302
+ L("stop", {
303
+ offset: "100%",
304
+ "stop-color": a(D(t.color), .05)
305
+ })
306
+ ].join(""))), r.push(I("linearGradient", {
307
+ id: K(e, n, "neg"),
308
+ x2: "0%",
309
+ y2: "100%"
310
+ }, [
311
+ L("stop", {
312
+ offset: "0%",
313
+ "stop-color": a(D(t.color), .05)
314
+ }),
315
+ L("stop", {
316
+ offset: "38%",
317
+ "stop-color": a(D(t.color), .02)
318
+ }),
319
+ L("stop", {
320
+ offset: "100%",
321
+ "stop-color": D(t.color)
322
+ })
323
+ ].join("")));
324
+ }), t.filter((e) => e.type === "line").forEach((t, i) => {
325
+ z(n, "line.useGradient", !1) && r.push(I("radialGradient", {
326
+ id: pe(e, i),
327
+ cx: "50%",
328
+ cy: "50%",
329
+ r: "50%",
330
+ fx: "50%",
331
+ fy: "50%"
332
+ }, [L("stop", {
333
+ offset: "0%",
334
+ "stop-color": a(D(t.color), .05)
335
+ }), L("stop", {
336
+ offset: "100%",
337
+ "stop-color": D(t.color)
338
+ })].join(""))), t.temperatureColors && !t.isFlatTemperatureLine && r.push(I("linearGradient", {
339
+ id: me(e, i),
340
+ gradientTransform: "rotate(90)"
341
+ }, t.temperatureColors.map((e, n) => L("stop", {
342
+ offset: d(n, t.temperatureColors.length),
343
+ "stop-color": D(e)
344
+ })).join("")));
345
+ }), t.filter((e) => e.type === "plot").forEach((t, i) => {
346
+ z(n, "plot.useGradient", !1) && r.push(I("radialGradient", {
347
+ id: ge(e, i),
348
+ cx: "50%",
349
+ cy: "50%",
350
+ r: "50%",
351
+ fx: "50%",
352
+ fy: "50%"
353
+ }, [L("stop", {
354
+ offset: "0%",
355
+ "stop-color": a(D(t.color), .05)
356
+ }), L("stop", {
357
+ offset: "100%",
358
+ "stop-color": D(t.color)
359
+ })].join("")));
360
+ }), r.length ? I("defs", { "data-layer": "gradients" }, r.join("")) : "";
361
+ }
362
+ function xe(e) {
363
+ let t = z(e.config, "chart.backgroundColor", "#FFFFFF");
364
+ return L("rect", {
365
+ width: e.width,
366
+ height: e.height,
367
+ fill: t
368
+ });
369
+ }
370
+ function q(e) {
371
+ return {
372
+ dataLabels: N(z(e, "chart.grid.labels.fontSize", 12), 12),
373
+ xAxis: N(z(e, "chart.grid.labels.xAxisLabels.fontSize", 12), 12),
374
+ yAxis: N(z(e, "chart.grid.labels.axis.fontSize", 12), 12)
375
+ };
376
+ }
377
+ function J(e) {
378
+ return z(e, "chart.grid.labels.yAxis.position", "left") === "right";
379
+ }
380
+ function Y(e, t) {
381
+ let n = o({
382
+ p: z(t, "chart.labels.prefix", ""),
383
+ v: e,
384
+ s: z(t, "chart.labels.suffix", ""),
385
+ r: z(t, "chart.grid.labels.yAxis.rounding", 0)
386
+ });
387
+ return S(z(t, "chart.grid.labels.yAxis.formatter", null), e, n, t);
388
+ }
389
+ function X(e) {
390
+ return !!z(e, "chart.grid.labels.yAxis.stacked", !1);
391
+ }
392
+ function Z(e) {
393
+ return e != null && Number.isFinite(Number(e));
394
+ }
395
+ function Se(e, t, n, r) {
396
+ return z(e, "chart.grid.labels.yAxis.useNiceScale", !0) ? x(t, n, r) : ee(t, n, r);
397
+ }
398
+ function Ce(e, t) {
399
+ let n = P(t.plots).map((e) => Number(e.value)).filter(Number.isFinite), r = z(e, "chart.grid.labels.yAxis.scaleMin", null), i = z(e, "chart.grid.labels.yAxis.scaleMax", null), a = Z(r) ? Number(r) : Z(t.scaleMin) ? Number(t.scaleMin) : Math.min(0, ...n), o = Z(i) ? Number(i) : Z(t.scaleMax) ? Number(t.scaleMax) : Math.max(1, ...n);
400
+ return Se(e, a, o === a ? a + 1 : o, N(t.scaleSteps ?? z(e, "chart.grid.labels.yAxis.commonScaleSteps", 6), 6));
401
+ }
402
+ function we(e, t, n = []) {
403
+ let r = q(e), i = X(e), a = B(e), o = H(e);
404
+ if (a && !i) {
405
+ let t = Object.keys(U(e, n)).length;
406
+ return {
407
+ left: J(e) ? 0 : t * o,
408
+ right: J(e) ? t * o : 0,
409
+ scaleLabelsOffset: t * o,
410
+ yAxisLabelWidth: 0
411
+ };
412
+ }
413
+ if (a && i) return {
414
+ left: J(e) ? 0 : o,
415
+ right: J(e) ? o : 0,
416
+ scaleLabelsOffset: o,
417
+ yAxisLabelWidth: 0
418
+ };
419
+ let s = (i ? n.flatMap((t) => Ce(e, t).ticks) : P(t.ticks)).reduce((t, n) => Math.max(t, ae(Y(n, e), r.dataLabels)), 0), c = z(e, "chart.grid.labels.axis.yLabel", "") ? r.yAxis * 2 + 24 + N(z(e, "chart.grid.labels.axis.yLabelOffsetX", 0), 0) + r.yAxis : 0, l = s + N(z(e, "chart.grid.labels.yAxis.scaleValueOffsetX", 0), 0) + N(z(e, "chart.grid.labels.yAxis.crosshairSize", 0), 0);
420
+ return {
421
+ left: J(e) ? 0 : l + c,
422
+ right: J(e) ? l + c : 0,
423
+ scaleLabelsOffset: l,
424
+ yAxisLabelWidth: c
425
+ };
426
+ }
427
+ function Te(e, t) {
428
+ let { config: n, scale: r, width: i, height: a } = e, o = q(n), s = e.drawingArea, c = we(n, r, t), l = z(n, "chart.legend.position", "bottom"), u = z(n, "chart.legend.show", !0), d = u ? Ke({
429
+ ...e,
430
+ width: i,
431
+ height: a
432
+ }, t) : { height: 0 }, f = u && l === "top" ? d.height : 0, p = u && l !== "top" ? d.height : 0, m = z(n, "chart.grid.labels.axis.xLabel", ""), h = z(n, "chart.grid.labels.xAxisLabels.show", !0) ? o.xAxis * 2 : 0, g = (m ? o.yAxis * 1.5 : 0) + h + o.xAxis, _ = ct(n) + N(z(n, "chart.labels.fontSize", 12), 12) * 1.1, v = N(z(n, "chart.padding.top", 12), 12), b = N(z(n, "chart.padding.right", 12), 12), ee = N(z(n, "chart.padding.bottom", 12), 12), x = N(z(n, "chart.padding.left", 12), 12), S = N(z(n, "chart.grid.labels.axis.xLabelOffsetY", 0), 0), te = N(z(n, "chart.grid.labels.yAxis.crosshairSize", 0), 0), C = c.left, w = c.right, T = i - C - w - 6 - x - b, E = {
433
+ top: v + _ + f,
434
+ right: C + (J(n) ? 0 : te) + x + T,
435
+ bottom: a - g - ee - S - p,
436
+ left: C + (J(n) ? 0 : te) + x,
437
+ width: Math.max(1, T),
438
+ height: 1,
439
+ scaleLabelX: C,
440
+ rightScaleLabelX: w,
441
+ scaleLabelsOffset: c.scaleLabelsOffset,
442
+ yAxisLabelWidth: c.yAxisLabelWidth,
443
+ individualOffsetX: 36
444
+ };
445
+ E.height = Math.max(1, E.bottom - E.top);
446
+ function D(e) {
447
+ let t = (e - s.left) / (s.width || 1);
448
+ return E.left + t * E.width;
449
+ }
450
+ let O = X(n), k = O ? y(t) : t, A = Math.max(1, k.length), j = O ? N(z(n, "chart.grid.labels.yAxis.gap", 12), 12) : 0, ne = j * Math.max(0, A - 1), M = Math.max(1, E.height - ne), F = B(n), I = U(n, t), L = Math.max(1, ...t.map((e) => P(e.plots).length));
451
+ function R(t, n) {
452
+ return Q(e) ? D(t.x) : $({
453
+ ...e,
454
+ drawingArea: E
455
+ }, t.index ?? n, L);
456
+ }
457
+ let re = t.map((e, t) => {
458
+ let i = e.id !== void 0 && e.id !== null ? k.find((t) => t.id === e.id) ?? k[t] ?? e : k[t] ?? e, a = ue(n, e, I, r, F, O), o = N(i.stackIndex, t), s = N(i.stackRatio, 1 / A), c = N(i.cumulatedStackRatio, s * (o + 1)), l = A - 1 - o, u = O ? 1 - c : 0, d = O ? M * u + j * l : 0, f = O ? M * s : E.height;
459
+ function p(e) {
460
+ let t = (e - a.min) / (a.max - a.min || 1);
461
+ return E.bottom - d - t * f;
462
+ }
463
+ let m = p(0);
464
+ return {
465
+ ...e,
466
+ __scale: a,
467
+ __yOffset: d,
468
+ __individualHeight: f,
469
+ __zeroY: m,
470
+ __scaleYLabels: P(a.ticks).map((t) => ({
471
+ value: t,
472
+ y: p(t),
473
+ serie: e
474
+ })),
475
+ plots: e.plots.map((e, t) => {
476
+ let n = e.value === null || e.value === void 0 ? null : Number(e.value);
477
+ return {
478
+ ...e,
479
+ value: n,
480
+ x: R(e, t),
481
+ y: n === null || !Number.isFinite(n) ? null : p(n)
482
+ };
483
+ })
484
+ };
485
+ });
486
+ return {
487
+ ...e,
488
+ drawingArea: E,
489
+ series: re,
490
+ __scaleGroups: I,
491
+ __useIndividualScale: F
492
+ };
493
+ }
494
+ function Ee(e) {
495
+ let { config: t, drawingArea: n, scale: r, series: i } = e;
496
+ if (!z(t, "chart.grid.labels.show", !0) || !z(t, "chart.grid.labels.yAxis.show", !0)) return "";
497
+ let a = B(t), o = X(t);
498
+ if (a) return De(e);
499
+ let s = q(t), c = J(t), l = z(t, "chart.grid.labels.yAxis.showCrosshairs", !1), u = N(z(t, "chart.grid.labels.yAxis.crosshairSize", 0), 0), d = N(z(t, "chart.grid.labels.yAxis.scaleValueOffsetX", 0), 0), f = z(t, "chart.grid.labels.color", "#2A2A2A"), p = z(t, "chart.grid.stroke", "#CCCCCC"), m = o ? i.flatMap((e) => P(e.__scaleYLabels)) : P(r.ticks).map((e) => {
500
+ let t = (e - r.min) / (r.max - r.min || 1);
501
+ return {
502
+ value: e,
503
+ y: n.bottom - t * n.height
504
+ };
505
+ }), h = [];
506
+ return m.forEach((e) => {
507
+ Number.isFinite(e.y) && (l && h.push(L("line", {
508
+ "data-cy": "axis-y-tick",
509
+ x1: c ? n.right : n.left,
510
+ x2: c ? n.right + u : n.left - u,
511
+ y1: e.y,
512
+ y2: e.y,
513
+ stroke: p,
514
+ "stroke-width": 1,
515
+ "stroke-linecap": "round"
516
+ })), h.push(R(Y(e.value, t), {
517
+ "data-cy": "axis-y-label",
518
+ transform: `translate(${c ? n.right + u + d + 5 : n.scaleLabelX - u}, ${e.y + s.dataLabels / 3})`,
519
+ "font-size": s.dataLabels,
520
+ "text-anchor": c ? "start" : "end",
521
+ fill: o && e.serie?.color ? z(t, "chart.grid.labels.yAxis.groupColor", null) || e.serie.color : f
522
+ })));
523
+ }), I("g", { "data-layer": "scale-labels" }, h.join(""));
524
+ }
525
+ function De(e) {
526
+ let { config: t, drawingArea: n, series: r } = e, i = q(t), a = J(t), o = X(t), s = e.__scaleGroups ?? U(t, r), c = z(t, "chart.grid.labels.yAxis.showCrosshairs", !1), l = N(z(t, "chart.grid.labels.yAxis.crosshairSize", 0), 0), u = N(z(t, "chart.grid.labels.yAxis.scaleValueOffsetX", 0), 0), d = N(z(t, "chart.grid.labels.yAxis.labelWidth", 40), 40), f = N(n.individualOffsetX, 36), p = [], m = Object.values(s);
527
+ return m.forEach((e, s) => {
528
+ let h = r.find((t) => V(t) === e.scaleLabel) ?? r[s];
529
+ if (!h) return;
530
+ let g = o ? a ? n.right : n.left : a ? n.right + H(t) * s : n.left - H(t) * (m.length - s - 1), _ = N(h.__yOffset, 0), v = N(h.__individualHeight, n.height), y = o ? n.bottom - _ - v : n.top, b = o ? n.bottom - _ : n.bottom;
531
+ p.push(L("line", {
532
+ x1: o || a ? g : g - f,
533
+ x2: o || a ? g : g - f,
534
+ y1: y,
535
+ y2: b,
536
+ stroke: e.color,
537
+ "stroke-width": z(t, "chart.grid.strokeWidth", 1),
538
+ "stroke-linecap": "round"
539
+ }));
540
+ let ee = o ? a ? n.right + l + u + 5 + d + f : n.left - l - u - d : a ? g + l + u + 5 + d : g - i.dataLabels / 2;
541
+ p.push(R(e.name, {
542
+ transform: `translate(${ee}, ${y + (b - y) / 2}) rotate(-90)`,
543
+ "font-size": i.dataLabels * .8,
544
+ "text-anchor": "middle",
545
+ fill: e.color
546
+ })), P(e.scale.ticks).forEach((r) => {
547
+ let s = b - (r - e.scale.min) / (e.scale.max - e.scale.min || 1) * (b - y);
548
+ Number.isFinite(s) && (c && p.push(L("line", {
549
+ "data-cy": "axis-y-tick",
550
+ x1: o || a ? g : g + 3 - l - f,
551
+ x2: o ? a ? g + l : g - l : a ? g + l : g - f,
552
+ y1: s,
553
+ y2: s,
554
+ stroke: e.color,
555
+ "stroke-width": 1,
556
+ "stroke-linecap": "round"
557
+ })), p.push(R(Y(r, t), {
558
+ "data-cy": "axis-y-label",
559
+ transform: `translate(${o ? a ? n.right + l + u + 5 : n.left - l - u - 5 : a ? g + l + u + 5 : g - 5 - f}, ${s + i.dataLabels / 3})`,
560
+ "font-size": i.dataLabels,
561
+ "text-anchor": a ? "start" : "end",
562
+ fill: e.color
563
+ })));
564
+ });
565
+ }), I("g", { "data-layer": "individual-scale-labels" }, p.join(""));
566
+ }
567
+ function Oe(e, t) {
568
+ let { config: n, drawingArea: r } = e, i = X(n), a = t.filter((e) => e.type === "bar");
569
+ if (!a.length) return "";
570
+ let o = Math.max(1, ...t.map((e) => P(e.plots).length)), s = r.width / o, c = N(z(n, "bar.periodGap", .2), .2), l = N(z(n, "bar.innerGap", .05), .05), u = z(n, "bar.borderRadius", 0), d = [];
571
+ if (i) {
572
+ let t = Math.max(1e-5, s * .9), n = t * Math.min(Math.abs(l), .95);
573
+ return a.forEach((i, a) => {
574
+ let o = Number.isFinite(Number(i.__zeroY)) ? Number(i.__zeroY) : W(e);
575
+ P(i.plots).forEach((c, l) => {
576
+ if (!c || c.value === null || c.value === void 0 || !Number.isFinite(Number(c.value)) || !Number.isFinite(Number(c.y))) return;
577
+ let f = r.left + s * l + s * .05 + n / 2, { y: p, height: m } = le(e, i, c, o);
578
+ c.__barLabelX = f + Math.max(1e-5, t - n) / 2, d.push(L("rect", {
579
+ "data-cy": "datapoint-bar",
580
+ x: f,
581
+ y: p,
582
+ width: Math.max(1e-5, t - n),
583
+ height: m,
584
+ rx: u,
585
+ fill: ye(e, i, a, Number(c.value)),
586
+ ...tt(e, i)
587
+ }));
588
+ });
589
+ }), I("g", { "data-layer": "bars" }, d.join(""));
590
+ }
591
+ let f = s * (1 - c), p = f / Math.max(1, a.length), m = p * Math.min(Math.abs(l), .95);
592
+ return W(e), a.forEach((t, n) => {
593
+ let i = Number.isFinite(Number(t.__zeroY)) ? Number(t.__zeroY) : W(e);
594
+ P(t.plots).forEach((a, o) => {
595
+ if (!a || a.value === null || a.value === void 0 || !Number.isFinite(Number(a.value)) || !Number.isFinite(Number(a.y))) return;
596
+ let c = r.left + s * o + (s - f) / 2 + p * n + m / 2, { y: l, height: h } = le(e, t, a, i);
597
+ a.__barLabelX = c + Math.max(1e-5, p - m) / 2, d.push(L("rect", {
598
+ "data-cy": "datapoint-bar",
599
+ x: c,
600
+ y: l,
601
+ width: Math.max(1e-5, p - m),
602
+ height: h,
603
+ rx: u,
604
+ fill: ye(e, t, n, Number(a.value)),
605
+ ...tt(e, t)
606
+ }));
607
+ });
608
+ }), I("g", { "data-layer": "bars" }, d.join(""));
609
+ }
610
+ function ke(e) {
611
+ let { config: t, drawingArea: n, scale: r, series: i } = e;
612
+ return B(t) || X(t) ? i.flatMap((e) => P(e.__scaleYLabels)) : P(r.ticks).map((e) => {
613
+ let t = (e - r.min) / (r.max - r.min || 1);
614
+ return {
615
+ value: e,
616
+ y: n.bottom - t * n.height
617
+ };
618
+ });
619
+ }
620
+ function Ae(e, t, n) {
621
+ let { drawingArea: r } = e, i = r.width / Math.max(1, n);
622
+ return r.left + i * t;
623
+ }
624
+ function je(e, t) {
625
+ let { config: n, drawingArea: r } = e, i = Math.max(1, ...t.map((e) => P(e.plots).length)), a = r.top, o = r.bottom;
626
+ if (Q(e)) {
627
+ let e = [...new Set(t.flatMap((e) => P(e.plots)).map((e) => Number(e.x)).filter(Number.isFinite))].sort((e, t) => e - t);
628
+ return e.length ? z(n, "chart.grid.position", "middle") === "middle" ? e.map((e, t, n) => {
629
+ if (t === 0) return null;
630
+ let r = n[t - 1], i = r + (e - r) / 2;
631
+ return `M${i},${a} L${i},${o}`;
632
+ }).filter(Boolean).join(" ") : e.map((e) => `M${e},${a} L${e},${o}`).join(" ") : "";
633
+ }
634
+ let s = i + +(z(n, "chart.grid.position", "middle") === "middle");
635
+ return Array.from({ length: s }).map((t, r) => {
636
+ let s = z(n, "chart.grid.position", "middle") === "middle" ? Ae(e, r, i) : $(e, r, i);
637
+ return `M${s},${a} L${s},${o}`;
638
+ }).join(" ");
639
+ }
640
+ function Me(e) {
641
+ let { config: t, drawingArea: n, scale: r, series: i } = e, a = z(t, "chart.grid.show", !0), o = z(t, "chart.grid.showHorizontalLines", !0), s = z(t, "chart.grid.showVerticalLines", !1), c = z(t, "chart.grid.stroke", "#CCCCCC"), l = N(z(t, "chart.grid.strokeWidth", .5), .5), u = [];
642
+ if (a && o && ke(e).forEach((e) => {
643
+ Number.isFinite(Number(e.y)) && u.push(L("line", {
644
+ "data-cy": "xy-grid-horizontal-line",
645
+ x1: n.left,
646
+ x2: n.right,
647
+ y1: e.y,
648
+ y2: e.y,
649
+ stroke: c,
650
+ "stroke-width": l,
651
+ "stroke-linecap": "round"
652
+ }));
653
+ }), a && s) {
654
+ let t = je(e, i);
655
+ t && u.push(L("path", {
656
+ "data-cy": "xy-grid-vertical-line",
657
+ d: t,
658
+ stroke: c,
659
+ "stroke-width": l,
660
+ "stroke-linecap": "round"
661
+ }));
662
+ }
663
+ u.push(L("line", {
664
+ x1: n.left,
665
+ y1: n.bottom,
666
+ x2: n.right,
667
+ y2: n.bottom,
668
+ stroke: c,
669
+ "stroke-width": l,
670
+ "stroke-linecap": "round"
671
+ }));
672
+ let d = J(t) ? n.right : n.left;
673
+ return u.push(L("line", {
674
+ x1: d,
675
+ y1: n.top,
676
+ x2: d,
677
+ y2: n.bottom,
678
+ stroke: c,
679
+ "stroke-width": l,
680
+ "stroke-linecap": "round"
681
+ })), r.min < 0 && r.max > 0 && u.push(L("line", {
682
+ x1: n.left,
683
+ y1: W(e),
684
+ x2: n.right,
685
+ y2: W(e),
686
+ stroke: c,
687
+ "stroke-width": l,
688
+ "stroke-dasharray": 4,
689
+ "stroke-linecap": "round"
690
+ })), I("g", { "data-layer": "grid" }, u.join(""));
691
+ }
692
+ function Ne(e) {
693
+ return e && typeof e == "object" && Number.isFinite(Number(e.x)) && Number.isFinite(Number(e.y));
694
+ }
695
+ function Q(e) {
696
+ return P(e.series).some((e) => P(e.series).some(Ne));
697
+ }
698
+ function $(e, t, n) {
699
+ let { drawingArea: r, config: i } = e, a = z(i, "chart.grid.position", "middle"), o = r.width, s = a === "middle" ? o / Math.max(1, n) : o / Math.max(1, n - 1);
700
+ return a === "middle" ? r.left + s / 2 + s * t : r.left + s * t;
701
+ }
702
+ function Pe(e) {
703
+ let t = P(e.series).flatMap((e) => P(e.series)).filter(Ne).map((e) => Number(e.x));
704
+ if (!t.length) return {
705
+ min: 0,
706
+ max: 1
707
+ };
708
+ let n = Math.min(...t), r = Math.max(...t);
709
+ return n === r ? {
710
+ min: n - 1,
711
+ max: r + 1
712
+ } : {
713
+ min: n,
714
+ max: r
715
+ };
716
+ }
717
+ function Fe(e, t) {
718
+ let { drawingArea: n, config: r } = e, i = Pe(e), a = (Number(t) - i.min) / (i.max - i.min || 1), o = z(r, "chart.grid.labels.xAxis.reverse", !1) ? 1 - a : a;
719
+ return n.left + n.width * o;
720
+ }
721
+ function Ie(e, t, n) {
722
+ let { config: r } = e;
723
+ return o({
724
+ v: t,
725
+ s: z(r, "chart.labels.prefix", ""),
726
+ p: z(r, "chart.labels.suffix", ""),
727
+ r: z(r, "chart.grid.labels.xAxis.rounding", 0)
728
+ });
729
+ }
730
+ function Le(e) {
731
+ let { scale: t, config: n } = e, r = P(t?.ticks);
732
+ return (z(n, "chart.grid.labels.xAxis.reverse", !1) ? [...r].reverse() : r).map((t, n) => ({
733
+ id: `continuous_x_label_${n}`,
734
+ text: Ie(e, t, n),
735
+ value: t,
736
+ x: Fe(e, t),
737
+ index: n,
738
+ absoluteIndex: n
739
+ }));
740
+ }
741
+ async function Re(e, t) {
742
+ let { config: n } = e, r = Math.max(0, ...t.map((e) => P(e.plots).length));
743
+ return await O({
744
+ values: z(n, "chart.grid.labels.xAxisLabels.values", []),
745
+ maxDatapoints: r,
746
+ formatter: z(n, "chart.grid.labels.xAxisLabels.datetimeFormatter", null),
747
+ start: N(e.slotStartIndex ?? e.startAbs, 0),
748
+ end: N(e.slotEndIndex ?? e.endAbs, r)
749
+ });
750
+ }
751
+ async function ze(e, t) {
752
+ let { config: n } = e, r = z(n, "chart.grid.labels.xAxisLabels", {}), i = Math.max(0, ...t.map((e) => P(e.plots).length)), a = await Re(e, t), o = await O({
753
+ values: z(n, "chart.grid.labels.xAxisLabels.values", []),
754
+ maxDatapoints: i,
755
+ formatter: z(n, "chart.grid.labels.xAxisLabels.datetimeFormatter", null),
756
+ start: 0,
757
+ end: i
758
+ }), s = a.map((e) => e?.text ?? ""), c = o.map((e) => e?.text ?? ""), l = Math.min(N(r.modulo, 1), Math.max(1, new Set(s).size));
759
+ return T(!!r.showOnlyFirstAndLast, !!r.showOnlyAtModulo, Math.max(1, l || 1), s, c, N(e.slotStartIndex ?? e.startAbs, 0), e.selectedXIndex ?? null, i);
760
+ }
761
+ async function Be(e, t) {
762
+ return Q(e) ? Le(e) : await ze(e, t);
763
+ }
764
+ function Ve(e, t, n, r) {
765
+ return Q(e) ? t.x : $(e, n, r);
766
+ }
767
+ function He(e) {
768
+ return w(e.userConfig ?? e.sourceConfig ?? e.props?.config ?? {}, "chart.grid.labels.xAxisLabels.rotation") ? N(z(e.config, "chart.grid.labels.xAxisLabels.rotation", 0), 0) : z(e.config, "chart.grid.labels.xAxisLabels.autoRotate.enable", !1) ? N(z(e.config, "chart.grid.labels.xAxisLabels.autoRotate.angle", 0), 0) : N(z(e.config, "chart.grid.labels.xAxisLabels.rotation", 0), 0);
769
+ }
770
+ async function Ue(e, n) {
771
+ let { config: r, drawingArea: i } = e;
772
+ if (!n[0] || !z(r, "chart.grid.labels.xAxisLabels.show", !0)) return "";
773
+ z(r, "chart.grid.labels.xAxisLabels", {});
774
+ let a = N(z(r, "chart.grid.labels.xAxisLabels.fontSize", 12), 12), o = z(r, "chart.grid.labels.xAxisLabels.color", z(r, "chart.grid.labels.color", "#2A2A2A")), s = He(e), c = Math.max(1, n[0].plots.length), l = await Be(e, n), u = s > 0 ? "start" : s < 0 ? "end" : "middle";
775
+ return I("g", { "data-layer": "x-axis-labels" }, l.map((n, r) => {
776
+ let l = typeof n == "string" ? n : n?.text;
777
+ if (!l) return "";
778
+ let d = `translate(${Ve(e, n, r, c)}, ${i.bottom + a * 1.5}), rotate(${s})`;
779
+ return String(l).includes("\n") ? I("text", {
780
+ class: "vue-data-ui-time-label",
781
+ "data-cy": "time-label",
782
+ "text-anchor": u,
783
+ "font-size": a,
784
+ fill: o,
785
+ transform: d
786
+ }, t({
787
+ content: String(l),
788
+ fontSize: a,
789
+ fill: o,
790
+ x: 0,
791
+ y: 0
792
+ })) : R(l, {
793
+ class: "vue-data-ui-time-label",
794
+ "data-cy": "time-label",
795
+ "text-anchor": u,
796
+ "font-size": a,
797
+ fill: o,
798
+ transform: d
799
+ });
800
+ }).join(""));
801
+ }
802
+ function We(e) {
803
+ let { config: t, drawingArea: n, height: r } = e, i = q(t), a = z(t, "chart.grid.labels.axis.xLabel", ""), o = z(t, "chart.grid.labels.axis.yLabel", ""), s = z(t, "chart.grid.labels.axis.color", z(t, "chart.grid.labels.color", "#2A2A2A")), c = N(z(t, "chart.grid.labels.axis.yLabelOffsetX", 0), 0), l = N(z(t, "chart.grid.labels.axis.xLabelOffsetY", 0), 0), u = N(z(t, "chart.grid.labels.yAxis.crosshairSize", 0), 0), d = N(z(t, "chart.grid.labels.yAxis.scaleValueOffsetX", 0), 0), f = N(z(t, "chart.grid.labels.yAxis.labelWidth", 0), 0), p = J(t), m = [];
804
+ if (a && m.push(R(a, {
805
+ x: n.left + n.width / 2,
806
+ y: Math.min(r - 4, n.bottom + i.xAxis * 3 + l),
807
+ "font-size": i.yAxis,
808
+ "text-anchor": "middle",
809
+ fill: s
810
+ })), o) {
811
+ let e = p ? n.right + u + d + 5 + f + c : n.scaleLabelX - u - d - f - c, t = n.top + n.height / 2;
812
+ m.push(R(o, {
813
+ x: e,
814
+ y: t,
815
+ transform: `rotate(-90 ${e} ${t})`,
816
+ "font-size": i.yAxis,
817
+ "text-anchor": "middle",
818
+ fill: s
819
+ }));
820
+ }
821
+ return I("g", { "data-layer": "axis-labels" }, m.join(""));
822
+ }
823
+ async function Ge(e, t) {
824
+ let { config: n, drawingArea: r } = e, i = z(n, "chart.grid.labels.xAxisLabels.show", !0), a = z(n, "chart.grid.labels.xAxis.showCrosshairs", !1);
825
+ if (!i || !a || !t[0]) return "";
826
+ let o = N(z(n, "chart.grid.labels.xAxis.crosshairSize", 6), 6), s = !!z(n, "chart.grid.labels.xAxis.crosshairsAlwaysAtZero", !1), c = Math.max(1, t[0].plots.length), l = await Be(e, t), u = W(e), d = l.map((t, n) => {
827
+ if (!(typeof t == "string" ? t : t?.text)) return "";
828
+ let i = Q(e) ? t.x : $(e, n, c);
829
+ return `M${i},${s ? u - (u === r.bottom ? 0 : o / 2) : r.bottom} L${i},${s ? u + o / (u === r.bottom ? 1 : 2) : r.bottom + o}`;
830
+ }).filter(Boolean).join(" ");
831
+ return d ? I("g", { "data-layer": "x-axis-ticks" }, L("path", {
832
+ d,
833
+ stroke: z(n, "chart.grid.stroke", "#CCCCCC"),
834
+ "stroke-width": 1,
835
+ "stroke-linecap": "round",
836
+ "data-cy": "axis-x-tick"
837
+ })) : "";
838
+ }
839
+ function Ke(e, t) {
840
+ let { config: n, width: r } = e, i = z(n, "chart.legend", {}), a = N(i.fontSize, 12), o = N(i.markerSize, 10), s = N(i.itemGap, 16), c = N(i.rowGap, 8), l = N(i.padding, 8), u = Math.max(1, r - l * 2), d = [], f = [], p = 0;
841
+ return t.forEach((e) => {
842
+ let t = String(e.name ?? ""), n = o + 6 + ae(t, a) + s;
843
+ f.length && p + n > u && (d.push({
844
+ items: f,
845
+ width: p
846
+ }), f = [], p = 0), f.push({
847
+ serie: e,
848
+ label: t,
849
+ itemWidth: n
850
+ }), p += n;
851
+ }), f.length && d.push({
852
+ items: f,
853
+ width: p
854
+ }), {
855
+ rows: d,
856
+ fontSize: a,
857
+ markerSize: o,
858
+ itemGap: s,
859
+ rowGap: c,
860
+ padding: l,
861
+ height: d.length * Math.max(o, a) + Math.max(0, d.length - 1) * c + l * 2
862
+ };
863
+ }
864
+ function qe(e, t) {
865
+ let { config: n, width: r, height: i } = e;
866
+ if (!z(n, "chart.legend.show", !0) || !t.length) return "";
867
+ let a = z(n, "chart.legend", {}), o = a.position || "bottom", s = a.color || z(n, "chart.color", "#2A2A2A"), c = Ke(e, t), l = Math.max(c.markerSize, c.fontSize), u = o === "top" ? c.padding + l : i - c.height + c.padding + l, d = [];
868
+ return c.rows.forEach((e, t) => {
869
+ let n = Math.max(c.padding, r / 2 - e.width / 2), i = u + t * (l + c.rowGap);
870
+ e.items.forEach(({ serie: e, label: t, itemWidth: r }) => {
871
+ d.push(L("rect", {
872
+ x: n,
873
+ y: i - c.markerSize / 2,
874
+ width: c.markerSize,
875
+ height: c.markerSize,
876
+ rx: 2,
877
+ fill: e.color
878
+ })), d.push(R(t, {
879
+ x: n + c.markerSize + 6,
880
+ y: i + 2,
881
+ "font-size": c.fontSize,
882
+ "dominant-baseline": "middle",
883
+ fill: s
884
+ })), n += r;
885
+ });
886
+ }), I("g", { "data-layer": "legend" }, d.join(""));
887
+ }
888
+ function Je(e, t) {
889
+ return `areaGradient_${t}_${e.uniqueId ?? "ssr"}`;
890
+ }
891
+ function Ye(e, t) {
892
+ let { config: n } = e;
893
+ if (!z(n, "line.area.useGradient", !1)) return "";
894
+ let r = N(z(n, "line.area.opacity", 30), 30), i = t.filter((e) => e.type === "line" && e.useArea).map((t, n) => I("linearGradient", {
895
+ id: Je(e, n),
896
+ x1: "0%",
897
+ x2: "0%",
898
+ y1: "0%",
899
+ y2: "100%"
900
+ }, [L("stop", {
901
+ offset: "0%",
902
+ "stop-color": h(a(D(t.color), .03), r),
903
+ "stop-opacity": 1
904
+ }), L("stop", {
905
+ offset: "100%",
906
+ "stop-color": t.color,
907
+ "stop-opacity": 0
908
+ })].join(""))).join("");
909
+ return i ? I("defs", {}, i) : "";
910
+ }
911
+ function Xe(e, t) {
912
+ let { config: n } = e, r = !!z(n, "line.cutNullValues", !1), a = [];
913
+ return t.filter((e) => e.type === "line" && e.useArea).forEach((t, n) => {
914
+ let o = P(t.plots), s = o.filter((e) => e && e.value !== null);
915
+ if (s.length < 2) return;
916
+ let c = Number.isFinite(Number(t.__zeroY)) ? Number(t.__zeroY) : W(e), l = ve(e, t, n);
917
+ if (t.smooth && !t.useStepper) {
918
+ f(r ? o : s, c, r).forEach((e) => {
919
+ e && a.push(L("path", {
920
+ d: e,
921
+ fill: l,
922
+ "data-cy": "datapoint-line-area-smooth"
923
+ }));
924
+ });
925
+ return;
926
+ }
927
+ (t.useStepper ? i(r ? o : s, c) : r ? v(o, c) : E(s, c)).split(";").filter(Boolean).forEach((e) => {
928
+ a.push(L("path", {
929
+ d: `M${e}Z`,
930
+ fill: l,
931
+ "data-cy": "datapoint-line-area-straight"
932
+ }));
933
+ });
934
+ }), I("g", { "data-layer": "line-areas" }, a.join(""));
935
+ }
936
+ function Ze(e, t) {
937
+ let n = N(t.slotStartIndex ?? t.startAbs, 0);
938
+ return P(e.dashIndices).map((e) => Number(e) - n).filter(Number.isFinite);
939
+ }
940
+ function Qe(e, t, n, r, i) {
941
+ let { config: a } = e, o = N(t.strokeWidth || z(a, "line.strokeWidth", 2), 2);
942
+ return L("path", {
943
+ d: `M${r}`,
944
+ fill: "none",
945
+ stroke: he(e, t, n),
946
+ "stroke-width": o,
947
+ "stroke-linecap": "round",
948
+ "stroke-linejoin": "round",
949
+ "stroke-dasharray": i ? o * 2 : 0
950
+ });
951
+ }
952
+ function $e(e, t) {
953
+ let { config: n } = e, r = t.filter((e) => e.type === "line"), a = !!z(n, "line.cutNullValues", !1), o = [];
954
+ return r.forEach((t, r) => {
955
+ let s = a ? P(t.plots) : P(t.plots).filter((e) => e.value !== null), d = s.filter((e) => e.value !== null);
956
+ if (!(d.length < 2)) {
957
+ if (P(t.dashIndices).length > 0 && !t.useStepper) {
958
+ let i = Ze(t, e);
959
+ (t.smooth || z(n, "line.smooth", !1) ? u(s, i) : _(s, i)).forEach((n) => {
960
+ n?.path && o.push(Qe(e, t, r, n.path, !!n.dashed));
961
+ });
962
+ return;
963
+ }
964
+ (t.useStepper ? i(s).split(";").filter(Boolean) : [t.smooth || z(n, "line.smooth", !1) ? a ? te(s) : C(d) : a ? l(s) : c(d, !1, !0)]).forEach((n) => {
965
+ n && o.push(Qe(e, t, r, n, !!t.dashed));
966
+ });
967
+ }
968
+ }), I("g", { "data-layer": "lines" }, o.join(""));
969
+ }
970
+ function et(e, t, n) {
971
+ let { config: r } = e;
972
+ return z(r, "plot.useGradient", !1) ? `url(#${ge(e, n)})` : z(r, "plot.dot.useSerieColor", !0) ? t.color : z(r, "plot.dot.fill", t.color);
973
+ }
974
+ function tt(e, t) {
975
+ let n = z(e.config, "bar.border", {});
976
+ return {
977
+ stroke: n.useSerieColor ? t.color : n.stroke,
978
+ "stroke-width": N(n.strokeWidth, 0)
979
+ };
980
+ }
981
+ function nt(e, t) {
982
+ let { config: n } = e, r = t.filter((e) => e.type === "plot"), i = z(n, "plot.radius", 4), a = z(n, "plot.dot.strokeWidth", 2), o = z(n, "chart.backgroundColor", "#FFFFFF"), s = [];
983
+ return r.forEach((t, r) => {
984
+ t.plots.forEach((c, l) => {
985
+ F(c.value) && s.push(ie({
986
+ dataCy: `xy-plot-${r}-${l}`,
987
+ shape: t.shape,
988
+ plot: c,
989
+ radius: t.radius || i,
990
+ fill: et(e, t, r),
991
+ stroke: z(n, "plot.dot.useSerieColor", !0) ? o : t.color,
992
+ strokeWidth: a
993
+ }));
994
+ });
995
+ }), I("g", { "data-layer": "plots" }, s.join(""));
996
+ }
997
+ function rt(e) {
998
+ return ![
999
+ null,
1000
+ void 0,
1001
+ NaN,
1002
+ Infinity,
1003
+ -Infinity
1004
+ ].includes(e);
1005
+ }
1006
+ function it(e, t, n) {
1007
+ let r = e[t - 1], i = e[t + 1], a = !!r && !!i && r.value == null && i.value == null || !r && !!i && i.value == null || !!r && !i && r.value == null;
1008
+ return rt(e[t]?.value) && a && !!z(n, "line.cutNullValues", !1);
1009
+ }
1010
+ function at(e, t, n, r, i) {
1011
+ let { config: a } = e;
1012
+ if (!n || !rt(n.value)) return !1;
1013
+ if (!(i > N(z(a, "line.dot.hideAboveMaxSerieLength", Infinity), Infinity))) return !0;
1014
+ let o = e.selectedSerieIndex ?? null, s = e.selectedMinimapIndex ?? null;
1015
+ return o !== null && o === r || s !== null && s === r || it(t.plots, r, a);
1016
+ }
1017
+ function ot(e, t) {
1018
+ let { config: n } = e, r = t.filter((e) => e.type === "line"), i = Math.max(0, ...r.map((e) => P(e.plots).length)), a = z(n, "line.radius", 4), o = z(n, "line.dot.strokeWidth", 2), s = z(n, "chart.backgroundColor", "#FFFFFF"), c = [];
1019
+ return r.forEach((t, r) => {
1020
+ t.plots.forEach((l, u) => {
1021
+ at(e, t, l, u, i) && c.push(ie({
1022
+ dataCy: "datapoint-line-plot",
1023
+ shape: t.shape,
1024
+ plot: l,
1025
+ radius: t.radius || a,
1026
+ fill: _e(e, t, r),
1027
+ stroke: z(n, "line.dot.useSerieColor", !0) ? s : t.color,
1028
+ strokeWidth: o
1029
+ }));
1030
+ });
1031
+ }), I("g", { "data-layer": "line-dots" }, c.join(""));
1032
+ }
1033
+ function st(e, t) {
1034
+ let { config: n } = e;
1035
+ if (X(n)) return "";
1036
+ let r = z(n, "line.interLine", {}), i = P(r.pairs), a = P(r.colors);
1037
+ if (!i.length) return "";
1038
+ let o = t.filter((e) => e.type === "line"), s = N(r.fillOpacity, .2), c = !!z(n, "line.cutNullValues", !1), l = [];
1039
+ return i.forEach((e, t) => {
1040
+ let [n, r] = Array.isArray(e) ? e : [e?.a, e?.b];
1041
+ if (!n || !r) return;
1042
+ let i = o.find((e) => e.name === n), u = o.find((e) => e.name === r);
1043
+ if (!i || !u) return;
1044
+ let d = a?.[t]?.[0] ?? i.color, f = a?.[t]?.[1] ?? u.color;
1045
+ b({
1046
+ lineA: P(i.plots),
1047
+ lineB: P(u.plots),
1048
+ smoothA: !!i.smooth,
1049
+ smoothB: !!u.smooth,
1050
+ colorLineA: d,
1051
+ colorLineB: f,
1052
+ sampleStepPx: 2,
1053
+ cutNullValues: c
1054
+ }).forEach((e, i) => {
1055
+ l.push(L("path", {
1056
+ "data-cy": "interline-area",
1057
+ d: e.d,
1058
+ fill: e.color,
1059
+ "fill-opacity": s,
1060
+ stroke: "none",
1061
+ "pointer-events": "none",
1062
+ "data-key": `inter_${n}_${r}_${t}_${i}`
1063
+ }));
1064
+ });
1065
+ }), l.length ? I("g", { "data-layer": "interline-areas" }, l.join("")) : "";
1066
+ }
1067
+ function ct(e) {
1068
+ let t = z(e, "chart.title", {}), n = z(t, "subtitle", {});
1069
+ if (!t.show) return 0;
1070
+ let r = N(t.fontSize, 20), i = n.text ? N(n.fontSize, 14) : 0, a = N(t.paddingTop, 12), o = N(t.paddingBottom, 6);
1071
+ return a + r + (n.text ? i + 4 : 0) + o;
1072
+ }
1073
+ function lt(e) {
1074
+ let { config: t, width: n } = e, r = z(t, "chart.title", {}), i = z(r, "subtitle", {});
1075
+ if (!r.show || !r.text) return "";
1076
+ let a = r.textAlign || "center", o = a === "left" ? N(r.paddingLeft, 12) : a === "right" ? n - N(r.paddingRight, 12) : n / 2, s = a === "left" ? "start" : a === "right" ? "end" : "middle", c = N(r.fontSize, 20), l = N(i.fontSize, 14), u = N(r.paddingTop, 12) + c, d = [R(r.text, {
1077
+ "data-cy": "xy-div-title",
1078
+ x: o,
1079
+ y: u,
1080
+ "font-size": c,
1081
+ "font-weight": r.bold ? "700" : "400",
1082
+ "text-anchor": s,
1083
+ fill: r.color || z(t, "chart.color", "#2A2A2A")
1084
+ })];
1085
+ return i.text && d.push(R(i.text, {
1086
+ "data-cy": "xy-div-subtitle",
1087
+ x: o,
1088
+ y: u + l + 4,
1089
+ "font-size": l,
1090
+ "font-weight": i.bold ? "700" : "400",
1091
+ "text-anchor": s,
1092
+ fill: i.color || r.color || z(t, "chart.color", "#2A2A2A")
1093
+ })), I("g", { "data-layer": "title" }, d.join(""));
1094
+ }
1095
+ function ut(e) {
1096
+ return e.svgTitle ? I("desc", { "aria-hidden": "true" }, [e.svgTitle].join("")) : "";
1097
+ }
1098
+ function dt(e, t, n, r, i) {
1099
+ return !n || n.value === null || n.value === void 0 || !Number.isFinite(Number(n.value)) || !z(e.config, "dataLabels.show", !0) || !z(e.config, `${i}.labels.show`, !1) ? !1 : !Object.hasOwn(t, "dataLabels") || t.dataLabels === !0 || e.selectedSerieIndex === r || e.selectedMinimapIndex === r;
1100
+ }
1101
+ function ft(e, n, r, i) {
1102
+ let { config: a } = e, s = N(z(a, `${i}.labels.fontSize`, z(a, "chart.labels.fontSize", 12)), 12), c = z(a, `${i}.labels.color`, z(a, "chart.color", "#2A2A2A")), l = o({
1103
+ p: n.prefix || z(a, "chart.labels.prefix", ""),
1104
+ v: r.value,
1105
+ s: n.suffix || z(a, "chart.labels.suffix", ""),
1106
+ r: z(a, `${i}.labels.rounding`, 0)
1107
+ });
1108
+ return t({
1109
+ content: Q(e) && Number.isFinite(Number(r.x)) ? `x: ${o({
1110
+ v: r.x,
1111
+ r: z(a, "chart.grid.labels.xAxis.rounding", 0)
1112
+ })}\ny: ${l}` : S(z(a, `${i}.labels.formatter`, null), r.value, l, {
1113
+ datapoint: r,
1114
+ serie: n
1115
+ }),
1116
+ fontSize: s,
1117
+ fill: c,
1118
+ x: 0,
1119
+ y: 0
1120
+ });
1121
+ }
1122
+ function pt(e, t, n) {
1123
+ let r = z(e.config, `${n}.labels.textAnchor`, null);
1124
+ return r === null ? N(z(e.config, `${n}.labels.rotation`, 0), 0) === 0 ? "middle" : z(e.config, `${n}.labels.alwaysOnTop`, !1) || t.value >= 0 ? "start" : "end" : r;
1125
+ }
1126
+ function mt(e, t, n) {
1127
+ let r = N(z(e.config, `${n}.labels.offsetX`, 0), 0), i = N(z(e.config, `${n}.labels.offsetY`, -12), -12), a = N(z(e.config, `${n}.labels.rotation`, 0), 0), o = !!z(e.config, `${n}.labels.alwaysOnTop`, !1);
1128
+ return `translate(${t.x + r}, ${t.y + (o || t.value >= 0 ? i : -i * 3)}) rotate(${a})`;
1129
+ }
1130
+ function ht(e, t, n) {
1131
+ let r = N(z(e.config, "bar.labels.offsetX", 0), 0), i = N(z(e.config, "bar.labels.offsetY", -6), -6), a = N(z(e.config, "bar.labels.rotation", 0), 0), o = !!z(e.config, "bar.labels.alwaysOnTop", !1), s = Number.isFinite(Number(t.__zeroY)) ? Number(t.__zeroY) : W(e), c = Math.abs(s - n.y), l = n.__barLabelX ?? n.x, u = n.y + (o ? i - (n.value < 0 ? c : 0) : n.value >= 0 ? i : -i * 3);
1132
+ return `translate(${l + r}, ${u}) rotate(${a})`;
1133
+ }
1134
+ function gt(e, t) {
1135
+ let { config: n } = e, r = N(z(n, "chart.labels.fontSize", 12), 12), i = z(n, "chart.backgroundColor", "#FFFFFF"), a = [];
1136
+ return t.forEach((t) => {
1137
+ P(t.plots).forEach((o, s) => {
1138
+ let c = t.type;
1139
+ [
1140
+ "line",
1141
+ "bar",
1142
+ "plot"
1143
+ ].includes(c) && dt(e, t, o, s, c) && a.push(I("text", {
1144
+ "data-cy": `datapoint-${c}-label`,
1145
+ transform: c === "bar" ? ht(e, t, o) : mt(e, o, c),
1146
+ "text-anchor": pt(e, o, c),
1147
+ "font-size": z(n, `${c}.labels.fontSize`, r),
1148
+ fill: z(n, `${c}.labels.color`, z(n, "chart.color", "#2A2A2A")),
1149
+ stroke: i,
1150
+ "paint-order": "stroke"
1151
+ }, ft(e, t, o, c)));
1152
+ });
1153
+ }), I("g", { "data-layer": "datapoint-labels" }, a.join(""));
1154
+ }
1155
+ function _t(e) {
1156
+ return N(e.slotStartIndex ?? e.startAbs, 0);
1157
+ }
1158
+ function vt(e, t) {
1159
+ let n = Math.max(0, ...t.map((e) => P(e.plots).length));
1160
+ return N(e.slotEndIndex ?? e.endAbs, n);
1161
+ }
1162
+ function yt(e, t) {
1163
+ let { drawingArea: n, config: r } = e;
1164
+ return z(r, "chart.grid.position", "middle") === "middle" ? n.width / Math.max(1, t) : n.width / Math.max(1, t - 1);
1165
+ }
1166
+ function bt(e, t, n) {
1167
+ let { drawingArea: r, config: i } = e, a = yt(e, n);
1168
+ return z(i, "chart.grid.position", "middle") === "middle" ? r.left + a * t : r.left + a * t - a / 2;
1169
+ }
1170
+ function xt(e, t) {
1171
+ return yt(e, t);
1172
+ }
1173
+ function St(e, t, n, r, i, a) {
1174
+ let { drawingArea: o } = e, s = t.caption ?? {};
1175
+ if (!s.text) return "";
1176
+ let c = xt(e, a) * i, l = s.width === "auto" ? c : N(s.width, c), u = bt(e, r, a) - (s.width === "auto" ? 0 : l / 2 - c / 2), d = o.top + N(s.offsetY, 0);
1177
+ return I("foreignObject", {
1178
+ "data-key": `highlight_area_caption_${n}`,
1179
+ x: u,
1180
+ y: d,
1181
+ width: l,
1182
+ height: 1,
1183
+ overflow: "visible"
1184
+ }, I("div", {
1185
+ xmlns: "http://www.w3.org/1999/xhtml",
1186
+ "data-cy": "highlight-area-caption",
1187
+ style: [
1188
+ `padding:${N(s.padding, 0)}px`,
1189
+ `text-align:${s.textAlign || "center"}`,
1190
+ `font-size:${N(s.fontSize, 12)}px`,
1191
+ `color:${s.color || "#2A2A2A"}`,
1192
+ `font-weight:${s.bold ? "bold" : "normal"}`
1193
+ ].join(";")
1194
+ }, g(s.text)));
1195
+ }
1196
+ function Ct(e, t) {
1197
+ let { config: n, drawingArea: r } = e, i = P(z(n, "chart.highlightArea", []));
1198
+ if (!i.length) return "";
1199
+ let a = Math.max(1, ...t.map((e) => P(e.plots).length)), o = _t(e), s = vt(e, t), c = [];
1200
+ return i.forEach((t, n) => {
1201
+ if (!t?.show) return;
1202
+ let i = N(t.from, 0), l = Math.min(N(t.to, i), a - 1);
1203
+ if (l < i) return;
1204
+ for (let u = i; u <= l; u += 1) {
1205
+ if (u < o || u > s - 1) continue;
1206
+ let i = u - o;
1207
+ c.push(L("rect", {
1208
+ "data-cy": "highlight-area",
1209
+ "data-key": `highlight_area_${n}_${u}`,
1210
+ x: bt(e, i, a),
1211
+ y: r.top,
1212
+ width: xt(e, a),
1213
+ height: Math.max(1, r.height),
1214
+ fill: h(t.color, N(t.opacity, 20)),
1215
+ "pointer-events": "none"
1216
+ }));
1217
+ }
1218
+ let u = Math.max(i, o);
1219
+ u <= Math.min(l, s - 1) && c.push(St(e, t, n, u - o, l - i + 1, a));
1220
+ }), c.length ? I("g", { "data-layer": "highlight-areas" }, c.join("")) : "";
1221
+ }
1222
+ function wt(e, t) {
1223
+ let { drawingArea: n, scale: r } = e, i = (Number(t) - r.min) / (r.max - r.min || 1);
1224
+ return n.bottom - i * n.height;
1225
+ }
1226
+ function Tt(e) {
1227
+ return ae(e.text, N(e.fontSize, 12));
1228
+ }
1229
+ function Et(e, t, n) {
1230
+ let r = N(e.fontSize, 12), i = e.padding ?? {}, a = e.border ?? {}, o = Tt(e), s = r, c;
1231
+ return c = e.textAnchor === "middle" ? t - o / 2 - N(i.left, 0) : e.textAnchor === "end" ? t - o - N(i.right, 0) : t - N(i.left, 0), {
1232
+ x: c,
1233
+ y: n - s * .75 - N(i.top, 0),
1234
+ width: o + N(i.left, 0) + N(i.right, 0),
1235
+ height: s + N(i.top, 0) + N(i.bottom, 0),
1236
+ fill: e.backgroundColor,
1237
+ stroke: a.stroke,
1238
+ rx: a.rx,
1239
+ ry: a.ry,
1240
+ "stroke-width": a.strokeWidth
1241
+ };
1242
+ }
1243
+ function Dt(e) {
1244
+ let { config: t, drawingArea: n } = e;
1245
+ if (X(t)) return "";
1246
+ let r = P(z(t, "chart.annotations", [])).filter((e) => e?.show && (e.yAxis?.yTop !== null || e.yAxis?.yBottom !== null) && (e.yAxis?.yTop !== void 0 || e.yAxis?.yBottom !== void 0));
1247
+ if (!r.length) return "";
1248
+ let i = [];
1249
+ return r.forEach((r, a) => {
1250
+ let o = r.yAxis ?? {}, s = o.label ?? {}, c = o.line ?? {}, l = o.area ?? {}, u = o.yTop !== null && o.yTop !== void 0, d = o.yBottom !== null && o.yBottom !== void 0, f = u ? wt(e, o.yTop) : null, p = d ? wt(e, o.yBottom) : null, m = Number.isFinite(Number(f)), g = Number.isFinite(Number(p));
1251
+ if (!m && !g) return;
1252
+ let _ = [];
1253
+ if (m && _.push(L("line", {
1254
+ x1: n.left,
1255
+ y1: f,
1256
+ x2: n.right,
1257
+ y2: f,
1258
+ stroke: c.stroke,
1259
+ "stroke-width": c.strokeWidth,
1260
+ "stroke-dasharray": c.strokeDasharray,
1261
+ "stroke-linecap": "round",
1262
+ "data-cy": "xy-annotation-y-top-line"
1263
+ })), g && _.push(L("line", {
1264
+ x1: n.left,
1265
+ y1: p,
1266
+ x2: n.right,
1267
+ y2: p,
1268
+ stroke: c.stroke,
1269
+ "stroke-width": c.strokeWidth,
1270
+ "stroke-dasharray": c.strokeDasharray,
1271
+ "stroke-linecap": "round",
1272
+ "data-cy": "xy-annotation-y-bottom-line"
1273
+ })), m && g && f !== p && _.push(L("rect", {
1274
+ x: n.left,
1275
+ y: Math.min(f, p),
1276
+ width: n.width,
1277
+ height: Math.abs(f - p),
1278
+ fill: h(l.fill || c.stroke || z(t, "chart.color", "#2A2A2A"), N(l.opacity, 20)),
1279
+ "data-cy": "xy-annotation-y-area",
1280
+ "pointer-events": "none"
1281
+ })), s.text) {
1282
+ let e = s.padding ?? {}, t = m && g ? Math.min(f, p) : m ? f : p, r = (s.position === "start" ? n.left + N(e.left, 0) : n.right - N(e.right, 0)) + N(s.offsetX, 0), i = t - N(s.fontSize, 12) / 3 + N(s.offsetY, 0) - N(e.top, 0), a = Et(s, r, i);
1283
+ Number.isFinite(a.y) && Number.isFinite(i) && (_.push(L("rect", {
1284
+ class: "vue-ui-xy-annotation-label-box",
1285
+ ...a,
1286
+ "data-cy": "xy-annotation-label-box"
1287
+ })), _.push(R(s.text, {
1288
+ class: "vue-ui-xy-annotation-label",
1289
+ x: r,
1290
+ y: i,
1291
+ "font-size": s.fontSize,
1292
+ fill: s.color,
1293
+ "text-anchor": s.textAnchor,
1294
+ "data-cy": "xy-annotation-label"
1295
+ })));
1296
+ }
1297
+ i.push(I("g", {
1298
+ "data-layer": "annotation",
1299
+ "data-key": `annotation_y_${a}`
1300
+ }, _.join("")));
1301
+ }), i.length ? I("g", { "data-layer": "annotations" }, i.join("")) : "";
1302
+ }
1303
+ function Ot(e, t) {
1304
+ let n = e.additionalSvgContent;
1305
+ return typeof n == "function" ? n({
1306
+ width: e.width,
1307
+ height: e.height,
1308
+ drawingArea: e.drawingArea,
1309
+ scale: e.scale,
1310
+ config: e.config,
1311
+ series: t.map((e) => ({
1312
+ ...e,
1313
+ plots: P(e.plots).map((e) => ({ ...e }))
1314
+ }))
1315
+ }) ?? "" : n ?? "";
1316
+ }
1317
+ async function kt(e) {
1318
+ let t = e.config, n = N(e.width, t.chart.width ?? 1e3), r = N(e.height, t.chart.height ?? 600), i = fe({
1319
+ ...e,
1320
+ config: t,
1321
+ width: n,
1322
+ height: r
1323
+ }), a = Te({
1324
+ ...e,
1325
+ config: t,
1326
+ width: n,
1327
+ height: r,
1328
+ scale: se(t, e.scale, i)
1329
+ }, i), o = a.series;
1330
+ return `
1331
+ <svg
1332
+ xmlns="http://www.w3.org/2000/svg"
1333
+ width="100%"
1334
+ viewBox="0 0 ${n} ${r}"
1335
+ role="img"
1336
+ >
1337
+ ${ut(a)}
1338
+ ${Ye(a, o)}
1339
+ ${be(a, o)}
1340
+ ${xe(a)}
1341
+ ${lt(a)}
1342
+ ${Ct(a, o)}
1343
+ ${Dt(a)}
1344
+ ${Me(a)}
1345
+ ${await Ge(a, o)}
1346
+ ${Ee(a)}
1347
+ ${We(a)}
1348
+ ${await Ue(a, o)}
1349
+ ${Oe(a, o)}
1350
+ ${st(a, o)}
1351
+ ${Xe(a, o)}
1352
+ ${$e(a, o)}
1353
+ ${nt(a, o)}
1354
+ ${ot(a, o)}
1355
+ ${gt(a, o)}
1356
+ ${qe(a, o)}
1357
+ ${Ot(a, o)}
1358
+ </svg>`.trim();
1359
+ }
1360
+ //#endregion
1361
+ //#region src/svg/vue-ui-xy/index.js
1362
+ async function At(e = {}) {
1363
+ return await kt(M(e));
1364
+ }
1365
+ //#endregion
1366
+ export { At as createStaticVueUiXy };