vue-data-ui 3.21.4 → 3.21.6

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