vue-data-ui 3.6.0 → 3.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +26 -26
  2. package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
  3. package/dist/{BaseDraggableDialog-DhKIof09.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
  4. package/dist/{BaseIcon-DLFL0M4-.js → BaseIcon-CofSxalQ.js} +1 -1
  5. package/dist/{ColorPicker-CjIJvLdc.js → ColorPicker-e1-OSGlQ.js} +10 -10
  6. package/dist/{DataTable-UCyd_BQI.js → DataTable-CHaOCmsE.js} +2 -2
  7. package/dist/{Legend-D9ZTJKjh.js → Legend-Web3GjlR.js} +2 -2
  8. package/dist/{NonSvgPenAndPaper-a2UzZL0y.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
  9. package/dist/{PackageVersion-D_4Hr4S4.js → PackageVersion-C82JCJOX.js} +1 -1
  10. package/dist/{PenAndPaper-BJSMejV9.js → PenAndPaper-HCZQTkqi.js} +20 -20
  11. package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
  12. package/dist/{Slicer-CJfhtoVn.js → Slicer-BFBBG6xv.js} +23 -23
  13. package/dist/{SlicerPreview-wXjV4LWO.js → SlicerPreview-D76aSViW.js} +2 -2
  14. package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
  15. package/dist/{Title-Bb1VWCtR.js → Title-DfFUb9hd.js} +1 -1
  16. package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
  17. package/dist/{UserOptions-BqmUW9Kp.js → UserOptions-B3I-s3Lw.js} +2 -2
  18. package/dist/components/arrow.js +1 -1
  19. package/dist/components/vue-ui-3d-bar.js +3 -3
  20. package/dist/components/vue-ui-accordion.js +1 -1
  21. package/dist/components/vue-ui-age-pyramid.js +3 -3
  22. package/dist/components/vue-ui-annotator.js +1 -1
  23. package/dist/components/vue-ui-bullet.js +3 -3
  24. package/dist/components/vue-ui-candlestick.js +3 -3
  25. package/dist/components/vue-ui-carousel-table.js +1 -1
  26. package/dist/components/vue-ui-chestnut.js +3 -3
  27. package/dist/components/vue-ui-chord.js +3 -3
  28. package/dist/components/vue-ui-circle-pack.js +3 -3
  29. package/dist/components/vue-ui-cursor.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +2 -2
  33. package/dist/components/vue-ui-donut.js +3 -3
  34. package/dist/components/vue-ui-dumbbell.js +3 -3
  35. package/dist/components/vue-ui-flow.js +3 -3
  36. package/dist/components/vue-ui-funnel.js +2 -2
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +3 -3
  42. package/dist/components/vue-ui-horizontal-bar.js +3 -3
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +3 -3
  47. package/dist/components/vue-ui-mood-radar.js +3 -3
  48. package/dist/components/vue-ui-nested-donuts.js +2 -2
  49. package/dist/components/vue-ui-onion.js +3 -3
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +3 -3
  52. package/dist/components/vue-ui-quick-chart.js +3 -3
  53. package/dist/components/vue-ui-radar.js +3 -3
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +3 -3
  56. package/dist/components/vue-ui-ridgeline.js +3 -3
  57. package/dist/components/vue-ui-rings.js +3 -3
  58. package/dist/components/vue-ui-scatter.js +3 -3
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +2 -2
  63. package/dist/components/vue-ui-sparkgauge.js +3 -3
  64. package/dist/components/vue-ui-sparkhistogram.js +3 -3
  65. package/dist/components/vue-ui-sparkline.js +3 -3
  66. package/dist/components/vue-ui-sparkstackbar.js +2 -2
  67. package/dist/components/vue-ui-stackbar.js +3 -3
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +3 -3
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +2 -2
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +3 -3
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +2 -2
  76. package/dist/components/vue-ui-treemap.js +3 -3
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +2 -2
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +3 -3
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +3 -3
  83. package/dist/components/vue-ui-xy.js +3 -3
  84. package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
  85. package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
  86. package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
  87. package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +2 -0
  90. package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
  91. package/dist/{useNestedProp-CIoDlpHu.js → useNestedProp-CWo6bftQ.js} +1 -1
  92. package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
  93. package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
  94. package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
  95. package/dist/{vue-data-ui-BWuOXu_s.js → vue-data-ui-d-OXgGG3.js} +78 -78
  96. package/dist/vue-data-ui.js +225 -205
  97. package/dist/{vue-ui-3d-bar-BNQAuLqF.js → vue-ui-3d-bar-BLbSbx2V.js} +546 -517
  98. package/dist/{vue-ui-accordion-SSLXLlNz.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
  99. package/dist/vue-ui-age-pyramid-DQ-xc-if.js +960 -0
  100. package/dist/{vue-ui-annotator-34Ld0u5M.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
  101. package/dist/vue-ui-bullet-BvMdxLkK.js +657 -0
  102. package/dist/{vue-ui-candlestick-BcChw-8c.js → vue-ui-candlestick-DIWeygxV.js} +596 -561
  103. package/dist/{vue-ui-carousel-table-Cp_od0lI.js → vue-ui-carousel-table-DM2HJFMH.js} +48 -48
  104. package/dist/{vue-ui-chestnut-DTaIsP72.js → vue-ui-chestnut-DNOG6dqY.js} +534 -505
  105. package/dist/vue-ui-chord-D2wPt2JV.js +1182 -0
  106. package/dist/vue-ui-circle-pack-D_GDv7OV.js +832 -0
  107. package/dist/{vue-ui-cursor-lW-dVs_k.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
  108. package/dist/{vue-ui-dashboard-DIymn9Cx.js → vue-ui-dashboard-BMby447A.js} +140 -140
  109. package/dist/{vue-ui-digits-YHA3fA0j.js → vue-ui-digits-D382I0-w.js} +2 -2
  110. package/dist/{vue-ui-donut-BaDmbWLh.js → vue-ui-donut-BqiNPW3q.js} +634 -602
  111. package/dist/vue-ui-donut-evolution-BL7HtdsP.js +1243 -0
  112. package/dist/vue-ui-dumbbell-BlTDnM8L.js +1258 -0
  113. package/dist/vue-ui-flow-BxIv20FH.js +1026 -0
  114. package/dist/vue-ui-funnel-Tnjg4srR.js +743 -0
  115. package/dist/vue-ui-galaxy-CYDVXdNj.js +837 -0
  116. package/dist/vue-ui-gauge-DAcpazK7.js +864 -0
  117. package/dist/{vue-ui-gizmo-E33_xZte.js → vue-ui-gizmo-Bg2TpPwm.js} +3 -3
  118. package/dist/{vue-ui-heatmap-DJXMvFPp.js → vue-ui-heatmap-BPEE_cLi.js} +501 -466
  119. package/dist/vue-ui-history-plot-BhfbLer8.js +1239 -0
  120. package/dist/{vue-ui-kpi-C-XuLBVQ.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
  121. package/dist/{vue-ui-mini-loader-DawncJvl.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
  122. package/dist/vue-ui-molecule-DnzXYuUi.js +782 -0
  123. package/dist/vue-ui-mood-radar-CXyQEfeM.js +930 -0
  124. package/dist/vue-ui-nested-donuts-Dq8JoU5d.js +1454 -0
  125. package/dist/vue-ui-onion-D0KUHi-Z.js +944 -0
  126. package/dist/vue-ui-parallel-coordinate-plot-DNc2L4Rg.js +1080 -0
  127. package/dist/{vue-ui-quadrant-B2bLWyCm.js → vue-ui-quadrant-Cp8loNVN.js} +510 -481
  128. package/dist/{vue-ui-quick-chart-J_RmCwI_.js → vue-ui-quick-chart-kuTdgAKG.js} +795 -758
  129. package/dist/vue-ui-radar-x2Ry_IGa.js +1013 -0
  130. package/dist/{vue-ui-rating-CBS8zaQd.js → vue-ui-rating-DtzmtJwF.js} +26 -26
  131. package/dist/vue-ui-relation-circle-DbYE9UHq.js +671 -0
  132. package/dist/vue-ui-ridgeline-yaMl8iIE.js +1302 -0
  133. package/dist/vue-ui-rings-BowsO9I8.js +884 -0
  134. package/dist/vue-ui-scatter-C_nz0A4x.js +1619 -0
  135. package/dist/{vue-ui-skeleton-DsrlMELy.js → vue-ui-skeleton-DdXq2gl1.js} +3 -3
  136. package/dist/{vue-ui-smiley-P_8WIBDD.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
  137. package/dist/vue-ui-spark-trend-BLticwHl.js +364 -0
  138. package/dist/vue-ui-sparkbar-DC2sDr9_.js +381 -0
  139. package/dist/vue-ui-sparkgauge-BENUfyuR.js +260 -0
  140. package/dist/vue-ui-sparkhistogram-BY0jsNsc.js +411 -0
  141. package/dist/vue-ui-sparkline-fS36LGCB.js +549 -0
  142. package/dist/vue-ui-sparkstackbar-C59ocU83.js +470 -0
  143. package/dist/vue-ui-stackbar-BtWWtzDp.js +1867 -0
  144. package/dist/vue-ui-stackline-CsGEHOOr.js +1963 -0
  145. package/dist/{vue-ui-strip-plot-CTtivaxm.js → vue-ui-strip-plot-n_rEdwkM.js} +343 -314
  146. package/dist/{vue-ui-table-CHt3AQiq.js → vue-ui-table-Kv2YL5OU.js} +5 -5
  147. package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
  148. package/dist/{vue-ui-table-sparkline-D5MckwMl.js → vue-ui-table-sparkline-B8CCAdco.js} +292 -263
  149. package/dist/vue-ui-thermometer-C1Hr_LrY.js +613 -0
  150. package/dist/{vue-ui-timer-B-Xa6ALH.js → vue-ui-timer-CmnO99_j.js} +25 -25
  151. package/dist/vue-ui-tiremarks-DbZbhw6Q.js +477 -0
  152. package/dist/vue-ui-treemap-BGMpUu5v.js +1359 -0
  153. package/dist/{vue-ui-vertical-bar-D9XQe_ud.js → vue-ui-vertical-bar-CWlGQoB3.js} +520 -485
  154. package/dist/{vue-ui-waffle-Bk98w86A.js → vue-ui-waffle-BVVrMghT.js} +376 -347
  155. package/dist/vue-ui-wheel-B2pFBeKR.js +690 -0
  156. package/dist/vue-ui-word-cloud-BqKSDn2J.js +904 -0
  157. package/dist/{vue-ui-world-xOY__pp8.js → vue-ui-world-glj9mQAg.js} +57 -57
  158. package/dist/vue-ui-xy-BdXV4naK.js +3455 -0
  159. package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
  160. package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
  161. package/package.json +5 -5
  162. package/dist/themes-DH-N_ePR.js +0 -54
  163. package/dist/vue-ui-age-pyramid-DsOlpJBh.js +0 -933
  164. package/dist/vue-ui-bullet-Ci4lO4_W.js +0 -630
  165. package/dist/vue-ui-chord-BKC--Nbq.js +0 -1153
  166. package/dist/vue-ui-circle-pack-B3sfU0Vo.js +0 -803
  167. package/dist/vue-ui-donut-evolution-BqUzmyW2.js +0 -1208
  168. package/dist/vue-ui-dumbbell-CWKTrzsm.js +0 -1231
  169. package/dist/vue-ui-flow-SMbuDPdL.js +0 -991
  170. package/dist/vue-ui-funnel-3fRlMBzq.js +0 -716
  171. package/dist/vue-ui-galaxy-CFZ1xYD5.js +0 -808
  172. package/dist/vue-ui-gauge-DJpbjfpL.js +0 -835
  173. package/dist/vue-ui-history-plot-CvPMx5Lg.js +0 -1204
  174. package/dist/vue-ui-molecule-CasngKZI.js +0 -753
  175. package/dist/vue-ui-mood-radar-DGz2TQi4.js +0 -903
  176. package/dist/vue-ui-nested-donuts-Bjjz2sWG.js +0 -1419
  177. package/dist/vue-ui-onion-DwTIY6i1.js +0 -915
  178. package/dist/vue-ui-parallel-coordinate-plot-DedxvtPN.js +0 -1051
  179. package/dist/vue-ui-radar-D1rz2RnH.js +0 -984
  180. package/dist/vue-ui-relation-circle-DUfRwwo1.js +0 -641
  181. package/dist/vue-ui-ridgeline-DKPWMWRc.js +0 -1273
  182. package/dist/vue-ui-rings-BY0EQGLb.js +0 -855
  183. package/dist/vue-ui-scatter-ky9p5Pgh.js +0 -1590
  184. package/dist/vue-ui-spark-trend-DkJn_3FI.js +0 -337
  185. package/dist/vue-ui-sparkbar-qB1fmgej.js +0 -352
  186. package/dist/vue-ui-sparkgauge-BezFN_Rc.js +0 -233
  187. package/dist/vue-ui-sparkhistogram-DGt5b8FR.js +0 -384
  188. package/dist/vue-ui-sparkline-D7Wx1ejg.js +0 -514
  189. package/dist/vue-ui-sparkstackbar-DtO7-yim.js +0 -441
  190. package/dist/vue-ui-stackbar-Dr48I48D.js +0 -1832
  191. package/dist/vue-ui-stackline-Juns5Yh4.js +0 -1928
  192. package/dist/vue-ui-table-heatmap-Cn-56b5F.js +0 -282
  193. package/dist/vue-ui-thermometer-BOidpwAZ.js +0 -584
  194. package/dist/vue-ui-tiremarks-BsTyVS2P.js +0 -450
  195. package/dist/vue-ui-treemap-BWTaY91B.js +0 -1330
  196. package/dist/vue-ui-wheel-nj73b_Dc.js +0 -663
  197. package/dist/vue-ui-word-cloud-Dcaogr-D.js +0 -875
  198. package/dist/vue-ui-xy-BT67faLv.js +0 -3424
  199. package/dist/vue-ui-xy-canvas-BoB7-4QK.js +0 -1564
@@ -0,0 +1,1963 @@
1
+ import { defineAsyncComponent as ye, useSlots as Ul, computed as m, ref as y, onMounted as Wl, toRefs as Xl, watch as Le, shallowRef as La, onBeforeUnmount as Nt, watchEffect as ql, nextTick as Gl, createElementBlock as h, openBlock as i, normalizeStyle as Te, normalizeClass as Ta, createBlock as ue, createCommentVNode as w, renderSlot as _, createElementVNode as ce, createVNode as Ue, unref as M, withCtx as D, normalizeProps as ee, guardReactiveProps as te, createSlots as Ft, Fragment as E, renderList as W, mergeProps as lt, toDisplayString as me, Teleport as jl, resolveDynamicComponent as Jl, createTextVNode as Na } from "vue";
2
+ import { c as Fa, t as Zl, i as Kl, p as ot, j as Ql, o as _a, g as Da, k as eo, l as to, am as We, G as st, F as rt, K as ao, z as pe, B as be, H as lo, x as oo, R as so, a as Xe, d as ke, I as qe, X as ro, n as no, s as io, M as za, u as uo, q as co, b as ho, e as Ge } from "./lib-C5BH09_g.js";
3
+ import { t as Ea, u as vo } from "./useResponsive-DfdjqQps.js";
4
+ import { u as mo, a as _t } from "./useNestedProp-CWo6bftQ.js";
5
+ import { u as Ia, a as go, l as fo } from "./useTimeLabels-C5qMhpbe.js";
6
+ import { u as yo, B as po } from "./BaseScanner-BgWxam9d.js";
7
+ import { u as bo } from "./usePrinter-DCJzEiS8.js";
8
+ import { u as xo } from "./useSvgExport-DrjCWun4.js";
9
+ import { u as ko } from "./useThemeCheck-DGJ31Vi5.js";
10
+ import { u as Co } from "./useChartAccessibility-9icAAmYg.js";
11
+ import { u as wo } from "./useTimeLabelCollider-CIsgDrl9.js";
12
+ import { u as Ao } from "./useUserOptionState-BIvW1Kz7.js";
13
+ import So from "./img-DUzJeMlr.js";
14
+ import { _ as Dt } from "./Shape-DE6X_t31.js";
15
+ import Mo from "./Title-DfFUb9hd.js";
16
+ import $o from "./Legend-Web3GjlR.js";
17
+ import { S as Lo } from "./SlicerPreview-D76aSViW.js";
18
+ import { _ as To } from "./_plugin-vue_export-helper-CHgC5LLL.js";
19
+ const Pa = { table: { th: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, td: { backgroundColor: "#1A1A1A", color: "#CCCCCC" } }, style: { chart: { backgroundColor: "#1A1A1A", color: "#CCCCCC", title: { color: "#CCCCCC", subtitle: { color: "#757575" } }, legend: { backgroundColor: "#1A1A1A", color: "#CCCCCC" }, zoom: { color: "#4A4A4A", highlightColor: "#9A9A9A", minimap: { selectedColor: "#8A8A8A", lineColor: "#424242", indicatorColor: "#CCCCCC" } }, highlighter: { color: "#CCCCCC" }, tooltip: { backgroundColor: "#1A1A1A", backgroundOpacity: 70, color: "#CCCCCC", borderColor: "#5A5A5A" }, lines: { totalValues: { color: "#CCCCCC" }, dataLabels: { color: "#CCCCCC" } }, grid: { x: { axisColor: "#5A5A5A", linesColor: "#4A4A4A", axisName: { color: "#CCCCCC" }, timeLabels: { color: "#CCCCCC" } }, y: { axisColor: "#5A5A5A", linesColor: "#4A4A4A", axisName: { color: "#CCCCCC" }, axisLabels: { color: "#CCCCCC" } } } } } }, Oa = { table: { th: { backgroundColor: "#FFF8E1", color: "#424242" }, td: { backgroundColor: "#FFF8E1", color: "#424242" } }, style: { chart: { backgroundColor: "#FFF8E1", color: "#424242", title: { color: "#424242", subtitle: { color: "#757575" } }, legend: { backgroundColor: "#FFF8E1", color: "#424242" }, zoom: { color: "#5D4037", highlightColor: "#FF8A65" }, highlighter: { color: "#424242" }, tooltip: { backgroundColor: "#FFECB3", backgroundOpacity: 30, color: "#424242", borderColor: "#FF8A65" }, lines: { totalValues: { color: "#424242" }, dataLabels: { color: "#424242" } }, grid: { x: { axisColor: "#5D403780", axisName: { color: "#424242" }, timeLabels: { color: "#424242" } }, y: { axisColor: "#5D403780", axisName: { color: "#424242" }, axisLabels: { color: "#424242" } } } } } }, Ra = { table: { th: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, td: { backgroundColor: "#1E1E1E", color: "#BDBDBD" } }, style: { chart: { backgroundColor: "#1E1E1E", color: "#BDBDBD", title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } }, legend: { backgroundColor: "#1E1E1E", color: "#BDBDBD" }, zoom: { color: "#5D4037", highlightColor: "#FF8A65" }, highlighter: { color: "#FFF8E1" }, tooltip: { backgroundColor: "#1E1E1E", backgroundOpacity: 30, color: "#FFF8E1", borderColor: "#FF8A65" }, lines: { totalValues: { color: "#BDBDBD" }, dataLabels: { color: "#BDBDBD" } }, grid: { x: { axisColor: "#5D403740", axisName: { color: "#BDBDBD" }, timeLabels: { color: "#BDBDBD" } }, y: { axisColor: "#5D4037", axisName: { color: "#BDBDBD" }, axisLabels: { color: "#BDBDBD" } } } } } }, Ba = { table: { th: { backgroundColor: "#1A1A1A", color: "#99AA99" }, td: { backgroundColor: "#1A1A1A", color: "#AACCAA" } }, style: { chart: { backgroundColor: "#1A1A1A", color: "#99AA99", title: { color: "#66CC66", subtitle: { color: "#99AA99" } }, legend: { backgroundColor: "#1A1A1A", color: "#99AA99" }, zoom: { color: "#5F6A5F", highlightColor: "#66CC66" }, highlighter: { color: "#66CC66" }, tooltip: { backgroundColor: "#2A2F2A", color: "#AACCAA", borderColor: "#66CC66" }, lines: { totalValues: { color: "#99AA99" }, dataLabels: { color: "#99AA99" } }, grid: { x: { axisColor: "#5F6A5F", axisName: { color: "#66CC66" }, timeLabels: { color: "#99AA99" } }, y: { axisColor: "#5F6A5F", axisName: { color: "#66CC66" }, axisLabels: { color: "#99AA99" } } } } } }, Va = { table: { th: { backgroundColor: "#1A1A1A", color: "#99AA99" }, td: { backgroundColor: "#1A1A1A", color: "#AACCAA" } }, style: { chart: { backgroundColor: "#fbfafa", color: "#8A9892", title: { color: "#8A9892", subtitle: { color: "#99AA99" } }, legend: { backgroundColor: "#fbfafa", color: "#99AA99" }, zoom: { color: "#E0CFC3", highlightColor: "#8F837A" }, highlighter: { color: "#8F837A" }, tooltip: { backgroundColor: "#fbfafa", color: "#8A9892" }, lines: { borderRadius: 4, totalValues: { show: !1 }, dataLabels: { show: !1 } }, grid: { x: { showAxis: !1, axisName: { color: "#8F837A" }, timeLabels: { show: !1 } }, y: { showAxis: !1, axisName: { color: "#8F837A" }, axisLabels: { show: !1 } } } } } }, Ya = { table: { th: { backgroundColor: "#1A1A1A", color: "#99AA99" }, td: { backgroundColor: "#1A1A1A", color: "#AACCAA" } }, style: { chart: { backgroundColor: "#f6f6fb", color: "#50606C", title: { color: "#50606C", subtitle: { color: "#718890" } }, legend: { backgroundColor: "#f6f6fb", color: "#61747E" }, zoom: { color: "#92B0AB", highlightColor: "#50606C" }, highlighter: { color: "#7DA9B5" }, tooltip: { backgroundColor: "#f6f6fb", color: "#50606C" }, lines: { totalValues: { color: "#50606C" }, dataLabels: { color: "#50606C" } }, grid: { x: { showHorizontalLines: !0, axisColor: "#829C98", axisName: { color: "#50606C" }, timeLabels: { color: "#61747E" } }, y: { showVerticalLines: !0, axisColor: "#829C98", axisName: { color: "#50606C" }, axisLabels: { color: "#61747E" } } } } } }, Ha = {
20
+ default: {},
21
+ dark: Pa,
22
+ celebration: Oa,
23
+ celebrationNight: Ra,
24
+ hack: Ba,
25
+ zen: Va,
26
+ concrete: Ya
27
+ }, _s = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
28
+ __proto__: null,
29
+ celebration: Oa,
30
+ celebrationNight: Ra,
31
+ concrete: Ya,
32
+ dark: Pa,
33
+ default: Ha,
34
+ hack: Ba,
35
+ zen: Va
36
+ }, Symbol.toStringTag, { value: "Module" })), No = ["id"], Fo = ["id"], _o = ["xmlns", "viewBox"], Do = { key: 0 }, zo = ["x", "y", "width", "height"], Eo = { key: 1 }, Io = ["id"], Po = ["stop-color"], Oo = ["stop-color"], Ro = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Bo = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Vo = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Yo = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Ho = ["x", "y", "font-size", "fill", "font-weight"], Uo = ["transform", "font-size", "fill", "font-weight"], Wo = ["x", "y", "width", "height", "stroke", "stroke-width", "stroke-linecap", "stroke-linejoin", "stroke-dasharray"], Xo = ["d", "fill", "opacity"], qo = ["d", "stroke", "stroke-width"], Go = ["x1", "x2", "y1", "y2", "stroke"], jo = ["x", "y", "font-size", "font-weight", "fill"], Jo = { key: 0 }, Zo = { key: 1 }, Ko = ["text-anchor", "font-size", "font-weight", "fill", "transform", "onClick"], Qo = ["text-anchor", "font-size", "fill", "transform", "innerHTML", "onClick"], es = ["x", "y", "height", "width", "fill"], ts = { key: 0 }, as = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], ls = { key: 0 }, os = ["x", "y", "font-size", "fill", "font-weight"], ss = ["x", "y", "font-size", "font-weight", "fill"], rs = ["data-start", "data-end"], ns = {
37
+ key: 4,
38
+ class: "vue-data-ui-watermark"
39
+ }, is = ["onClick"], us = ["id"], cs = ["innerHTML"], hs = ["innerHTML"], vs = {
40
+ __name: "vue-ui-stackline",
41
+ props: {
42
+ config: {
43
+ type: Object,
44
+ default() {
45
+ return {};
46
+ }
47
+ },
48
+ dataset: {
49
+ type: Array,
50
+ default() {
51
+ return [];
52
+ }
53
+ },
54
+ selectedXIndex: {
55
+ type: Number,
56
+ default: void 0
57
+ }
58
+ },
59
+ emits: ["selectDatapoint", "selectLegend", "selectTimeLabel", "selectX"],
60
+ setup(nt, { expose: Ua, emit: Wa }) {
61
+ const Xa = ye(() => import("./Tooltip-WD0Ros6G.js")), qa = ye(() => import("./BaseIcon-CofSxalQ.js")), Ga = ye(() => import("./vue-ui-accordion-DSdZUn2C.js")), ja = ye(() => import("./DataTable-CHaOCmsE.js")), Ja = ye(() => import("./PenAndPaper-HCZQTkqi.js")), Za = ye(() => import("./UserOptions-B3I-s3Lw.js")), Ka = ye(() => import("./PackageVersion-C82JCJOX.js")), Qa = ye(() => import("./BaseDraggableDialog-CRF94NJQ.js")), { vue_ui_stackline: el } = mo(), { isThemeValid: tl, warnInvalidTheme: al } = ko(), zt = Ul(), j = nt, Ne = Wa, Fe = m({
62
+ get() {
63
+ return !!j.dataset && j.dataset.length;
64
+ },
65
+ set(t) {
66
+ return t;
67
+ }
68
+ }), he = y(null), K = y(Fa()), Et = y(!1), It = y(null), X = y([]), Pt = y(0), Ot = y(null), Rt = y(null), _e = y(null), Bt = y(null), Vt = y(null), De = y(!1), it = y(!1), Yt = y(0), ll = y(0), ol = y(0), Ht = y(!1), ze = y(null), ut = y(null), Ce = y(!1), ct = y(null), ht = y(null), vt = y(null), je = y(null), sl = y(null), Ee = y(null), Ie = y(!1);
69
+ function dt() {
70
+ Ie.value = !Ie.value;
71
+ }
72
+ Wl(() => {
73
+ Ht.value = !0, Qt();
74
+ });
75
+ const e = y(ft()), { loading: ve, FINAL_DATASET: mt, manualLoading: Je } = yo({
76
+ ...Xl(j),
77
+ FINAL_CONFIG: e,
78
+ prepareConfig: ft,
79
+ callback: () => {
80
+ Promise.resolve().then(async () => {
81
+ await et();
82
+ });
83
+ },
84
+ skeletonDataset: [
85
+ {
86
+ name: "",
87
+ series: [3, 2, 1, 5, 13, 21, 8, 89, 34, 55],
88
+ color: "#8A8A8A"
89
+ },
90
+ {
91
+ name: "",
92
+ series: [1, 2, 3, 5, 8, 13, 21, 34, 55, 89],
93
+ color: "#CACACA"
94
+ }
95
+ ],
96
+ skeletonConfig: Zl({
97
+ defaultConfig: e.value,
98
+ userConfig: {
99
+ userOptions: { show: !1 },
100
+ useCssAnimation: !1,
101
+ table: { show: !1 },
102
+ tooltip: { show: !1 },
103
+ style: {
104
+ chart: {
105
+ backgroundColor: "#99999930",
106
+ lines: {
107
+ totalValues: { show: !1 },
108
+ dataLabels: { show: !1 }
109
+ },
110
+ grid: {
111
+ frame: {
112
+ stroke: "#6A6A6A"
113
+ },
114
+ scale: {
115
+ scaleMin: 0,
116
+ scaleMax: 144
117
+ },
118
+ x: {
119
+ axisColor: "#6A6A6A",
120
+ linesColor: "#6A6A6A",
121
+ axisName: { show: !1 },
122
+ timeLabels: { show: !1 }
123
+ },
124
+ y: {
125
+ axisColor: "#6A6A6A",
126
+ linesColor: "#6A6A6A",
127
+ axisName: { show: !1 },
128
+ axisLabels: { show: !1 }
129
+ }
130
+ },
131
+ legend: {
132
+ backgroundColor: "transparent"
133
+ },
134
+ padding: {
135
+ left: 24,
136
+ right: 24,
137
+ bottom: 12
138
+ },
139
+ zoom: {
140
+ show: !1,
141
+ startIndex: null,
142
+ endIndex: null
143
+ }
144
+ }
145
+ }
146
+ }
147
+ })
148
+ }), { userOptionsVisible: gt, setUserOptionsVisibility: Ut, keepUserOptionState: Wt } = Ao({ config: e.value }), { svgRef: we } = Co({ config: e.value.style.chart.title });
149
+ function rl() {
150
+ Ce.value = !0, Ut(!0);
151
+ }
152
+ function nl() {
153
+ Ut(!1), Ce.value = !1;
154
+ }
155
+ function ft() {
156
+ const t = _t({
157
+ userConfig: j.config,
158
+ defaultConfig: el
159
+ });
160
+ let l = {};
161
+ const a = t.theme;
162
+ if (a)
163
+ if (!tl.value(t))
164
+ al(t), l = t;
165
+ else {
166
+ const o = _t({
167
+ userConfig: Ha[a] || j.config,
168
+ defaultConfig: t
169
+ });
170
+ l = {
171
+ ..._t({
172
+ userConfig: j.config,
173
+ defaultConfig: o
174
+ }),
175
+ customPalette: t.customPalette.length ? t.customPalette : Kl[a] || ot
176
+ };
177
+ }
178
+ else
179
+ l = t;
180
+ return l;
181
+ }
182
+ const Xt = m(() => e.value.style.chart.lines.dataLabels.hideUnderValue !== null), qt = m(() => e.value.style.chart.lines.dataLabels.hideUnderPercentage !== null);
183
+ Le(() => j.config, (t) => {
184
+ ve.value || (e.value = ft()), gt.value = !e.value.userOptions.showOnChartHover, Qt(), Yt.value += 1, ll.value += 1, ol.value += 1, q.value.dataLabels.show = e.value.style.chart.lines.dataLabels.show, q.value.showTable = e.value.table.show, q.value.showTooltip = e.value.style.chart.tooltip.show, de.value.width = e.value.style.chart.width, de.value.height = e.value.style.chart.height, de.value.paddingRatio = {
185
+ top: e.value.style.chart.padding.top / e.value.style.chart.height,
186
+ right: e.value.style.chart.padding.right / e.value.style.chart.width,
187
+ bottom: e.value.style.chart.padding.bottom / e.value.style.chart.height,
188
+ left: e.value.style.chart.padding.left / e.value.style.chart.width
189
+ }, Ke();
190
+ }, { deep: !0 }), Le(() => j.dataset, (t) => {
191
+ Array.isArray(t) && t.length > 0 && (Je.value = !1), la();
192
+ }, { deep: !0 });
193
+ const q = y({
194
+ dataLabels: {
195
+ show: e.value.style.chart.lines.dataLabels.show
196
+ },
197
+ showTable: e.value.table.show,
198
+ showTooltip: e.value.style.chart.tooltip.show
199
+ });
200
+ Le(e, () => {
201
+ q.value = {
202
+ dataLabels: {
203
+ show: e.value.style.chart.lines.dataLabels.show
204
+ },
205
+ showTable: e.value.table.show,
206
+ showTooltip: e.value.style.chart.tooltip.show
207
+ };
208
+ }, { immediate: !0 });
209
+ const { isPrinting: Gt, isImaging: jt, generatePdf: Jt, generateImage: Zt } = bo({
210
+ elementId: `stackline_${K.value}`,
211
+ fileName: e.value.style.chart.title.text || "vue-ui-stackline",
212
+ options: e.value.userOptions.print
213
+ }), il = m(() => e.value.userOptions.show && !e.value.style.chart.title.text), de = y({
214
+ width: e.value.style.chart.width,
215
+ height: e.value.style.chart.height,
216
+ paddingRatio: {
217
+ top: e.value.style.chart.padding.top / e.value.style.chart.height,
218
+ right: e.value.style.chart.padding.right / e.value.style.chart.width,
219
+ bottom: e.value.style.chart.padding.bottom / e.value.style.chart.height,
220
+ left: e.value.style.chart.padding.left / e.value.style.chart.width
221
+ }
222
+ }), ul = m(() => Ql(e.value.customPalette)), ge = La(null), Ae = La(null), Kt = y(null), yt = m(() => !!e.value.debug);
223
+ function Qt() {
224
+ if (_a(j.dataset) ? (Da({
225
+ componentName: "VueUiStackline",
226
+ type: "dataset",
227
+ debug: yt.value
228
+ }), Je.value = !0) : j.dataset.forEach((t, l) => {
229
+ eo({
230
+ datasetObject: t,
231
+ requiredAttributes: ["name", "series"]
232
+ }).forEach((a) => {
233
+ Fe.value = !1, Da({
234
+ componentName: "VueUiStackline",
235
+ type: "datasetSerieAttribute",
236
+ property: a,
237
+ index: l,
238
+ debug: yt.value
239
+ }), Je.value = !0;
240
+ });
241
+ }), _a(j.dataset) || (Je.value = e.value.loading), setTimeout(() => {
242
+ it.value = !0;
243
+ }, 10), e.value.responsive) {
244
+ const t = Ea(() => {
245
+ it.value = !1;
246
+ const { width: l, height: a } = vo({
247
+ chart: he.value,
248
+ noTitle: Bt.value,
249
+ title: e.value.style.chart.title.text ? Ot.value : null,
250
+ legend: e.value.style.chart.legend.show ? Rt.value : null,
251
+ slicer: e.value.style.chart.zoom.show && ne.value > 6 ? _e.value.$el : null,
252
+ source: Vt.value
253
+ });
254
+ requestAnimationFrame(() => {
255
+ de.value.width = l, de.value.height = a - 12, clearTimeout(Kt.value), Kt.value = setTimeout(() => {
256
+ it.value = !0;
257
+ }, 10);
258
+ });
259
+ });
260
+ ge.value && (Ae.value && ge.value.unobserve(Ae.value), ge.value.disconnect()), ge.value = new ResizeObserver(t), Ae.value = he.value.parentNode, ge.value.observe(Ae.value);
261
+ }
262
+ et();
263
+ }
264
+ Nt(() => {
265
+ ge.value && (Ae.value && ge.value.unobserve(Ae.value), ge.value.disconnect());
266
+ });
267
+ function cl() {
268
+ let t = 0;
269
+ vt.value && (t = Array.from(vt.value.querySelectorAll("text")).reduce((o, s) => {
270
+ const r = s.getComputedTextLength();
271
+ return r > o ? r : o;
272
+ }, 0));
273
+ const l = ht.value ? ht.value.getBoundingClientRect().width : 0;
274
+ return t + l + (l ? 24 : 0);
275
+ }
276
+ const pt = y(0), bt = y(0), hl = Ea((t) => {
277
+ pt.value = t;
278
+ }, 100);
279
+ ql((t) => {
280
+ const l = je.value;
281
+ if (!l) return;
282
+ const a = new ResizeObserver((o) => {
283
+ hl(o[0].contentRect.height);
284
+ });
285
+ a.observe(l), t(() => a.disconnect());
286
+ }), Nt(() => {
287
+ pt.value = 0, bt.value = 0;
288
+ });
289
+ const ea = m(() => {
290
+ let t = 0;
291
+ ct.value && (t = ct.value.getBBox().height);
292
+ let l = 0;
293
+ return je.value && (l = pt.value), t + l;
294
+ }), v = m(() => {
295
+ const { height: t, width: l } = de.value, { right: a } = de.value.paddingRatio;
296
+ let o = e.value.style.chart.lines.totalValues.show && j.dataset && j.dataset.length > 1 ? e.value.style.chart.lines.totalValues.fontSize * 1.3 : 0, s = 0;
297
+ e.value.style.chart.grid.y.axisLabels.show && (s = cl());
298
+ const r = e.value.style.chart.padding.top + o, n = l - l * a - bt.value, p = t - e.value.style.chart.padding.bottom - ea.value - o, k = e.value.style.chart.padding.left + s, L = l - k - l * a - bt.value, C = t - r - e.value.style.chart.padding.bottom - ea.value - o;
299
+ return {
300
+ chartHeight: Math.max(0, t),
301
+ chartWidth: Math.max(0, l),
302
+ top: r,
303
+ right: Math.max(0, n),
304
+ bottom: Math.max(0, p),
305
+ left: Math.max(0, k),
306
+ width: Math.max(0, L),
307
+ height: Math.max(0, C)
308
+ };
309
+ }), vl = m(() => {
310
+ const { left: t, top: l, width: a, height: o } = v.value, s = c.value.start, r = c.value.end, n = Math.max(1, r - s), p = Math.max(0, Math.min(n, (le.value.start ?? s) - s)), k = Math.max(0, Math.min(n, (le.value.end ?? r) - s)), L = Math.max(0, k - p), C = {
311
+ fill: e.value.style.chart.zoom.preview.fill,
312
+ stroke: e.value.style.chart.zoom.preview.stroke,
313
+ "stroke-width": e.value.style.chart.zoom.preview.strokeWidth,
314
+ "stroke-dasharray": e.value.style.chart.zoom.preview.strokeDasharray,
315
+ "stroke-linecap": "round",
316
+ "stroke-linejoin": "round",
317
+ style: {
318
+ pointerEvents: "none",
319
+ transition: "none !important",
320
+ animation: "none !important"
321
+ }
322
+ }, N = a / n;
323
+ return {
324
+ x: t + p * N,
325
+ y: l,
326
+ width: L * N,
327
+ height: o,
328
+ ...C
329
+ };
330
+ }), ae = m(() => mt.value.map((t, l) => {
331
+ const a = to(t.color) || ul.value[l] || ot[l] || ot[l % ot.length];
332
+ return {
333
+ ...t,
334
+ shape: t.shape || "circle",
335
+ standalone: !!t.standalone,
336
+ // In distributed mode, all values are converted to positive
337
+ series: JSON.parse(JSON.stringify(t.series)).map((o) => e.value.style.chart.lines.distributed ? Math.abs(o) : o),
338
+ seriesSource: t.series,
339
+ // Store signs to manage display of neg values in distributed mode
340
+ signedSeries: t.series.map((o) => o >= 0 ? 1 : -1),
341
+ absoluteIndex: l,
342
+ id: Fa(),
343
+ color: a
344
+ };
345
+ })), re = m(
346
+ () => ae.value.filter((t) => !X.value.includes(t.id) && !t.standalone)
347
+ ), Ze = m(
348
+ () => ae.value.filter((t) => !X.value.includes(t.id) && t.standalone)
349
+ ), ne = m(() => Math.max(...ae.value.filter((t) => !X.value.includes(t.id)).map((t) => t.series.length)));
350
+ function dl(t) {
351
+ Ee.value = t;
352
+ }
353
+ const c = y({
354
+ start: 0,
355
+ end: Math.max(...mt.value.map((t) => t.series.length))
356
+ }), le = y({ start: 0, end: Math.max(...mt.value.map((t) => t.series.length)) });
357
+ function xt(t) {
358
+ return (c.value.start ?? 0) + (t ?? 0);
359
+ }
360
+ const ta = m(() => e.value.style.chart.zoom.preview.enable && (le.value.start !== c.value.start || le.value.end !== c.value.end));
361
+ function aa(t, l) {
362
+ le.value[t] = l;
363
+ }
364
+ function Ke() {
365
+ const t = ne.value;
366
+ let l = Math.max(0, Math.min(c.value.start ?? 0, t - 1)), a = Math.max(l + 1, Math.min(c.value.end ?? t, t));
367
+ (!Number.isFinite(l) || !Number.isFinite(a) || a <= l) && (l = 0, a = t), c.value.start = l, c.value.end = a, le.value.start = l, le.value.end = a, _e.value && (_e.value.setStartValue(l), _e.value.setEndValue(a));
368
+ }
369
+ const Pe = y(null);
370
+ function ml() {
371
+ return new Promise((t) => requestAnimationFrame(
372
+ () => requestAnimationFrame(() => t())
373
+ ));
374
+ }
375
+ Nt(() => {
376
+ Pe.value && cancelAnimationFrame(Pe.value);
377
+ });
378
+ async function la() {
379
+ et(), await Gl(), Pe.value && cancelAnimationFrame(Pe.value), Pe.value = requestAnimationFrame(async () => {
380
+ await ml(), et();
381
+ });
382
+ }
383
+ const Qe = m(() => Math.max(0, v.value.width / (c.value.end - c.value.start))), oa = m(() => We(
384
+ re.value.map((t) => ({ ...t, series: t.series.map((l) => l ?? 0) }))
385
+ ).slice(c.value.start, c.value.end)), sa = m(() => {
386
+ if (!e.value.style.chart.zoom.minimap.show) return [];
387
+ if (re.value.length)
388
+ return We(
389
+ re.value.map((o) => ({
390
+ ...o,
391
+ series: (o.series || []).map((s) => s ?? 0)
392
+ }))
393
+ );
394
+ const t = Ze.value;
395
+ if (!t.length) return [];
396
+ const l = Math.max(...t.map((o) => o.series.length || 0));
397
+ return Array.from(
398
+ { length: l },
399
+ (o, s) => t.reduce((r, n) => r + Math.abs(n.series[s] ?? 0), 0)
400
+ );
401
+ }), gl = m(() => {
402
+ if (!e.value.style.chart.zoom.minimap.show) return [];
403
+ const t = re.value, l = Ze.value, a = t.length ? [{
404
+ name: "",
405
+ series: sa.value,
406
+ color: "#000000",
407
+ isVisible: !0
408
+ }] : [], o = l.map((s) => ({
409
+ name: s.name || "",
410
+ series: (s.series || []).map((r) => r ?? 0),
411
+ color: s.color,
412
+ isVisible: !0
413
+ }));
414
+ return a.concat(o);
415
+ }), fl = m(() => We(
416
+ re.value.filter((t) => !X.value.includes(t.id)).map((t) => ({
417
+ ...t,
418
+ series: t.series.map((l, a) => {
419
+ const o = l ?? 0;
420
+ return t.signedSeries[a] === -1 && o >= 0 ? -o : o;
421
+ })
422
+ }))
423
+ ).slice(c.value.start, c.value.end)), Se = m(() => {
424
+ const t = re.value.filter((l) => !X.value.includes(l.id));
425
+ return {
426
+ positive: We(t.map((l) => ({
427
+ ...l,
428
+ series: l.series.slice(c.value.start, c.value.end).map((a) => (a ?? 0) >= 0 ? a ?? 0 : 0)
429
+ }))),
430
+ negative: We(t.map((l) => ({
431
+ ...l,
432
+ series: l.series.slice(c.value.start, c.value.end).map((a) => (a ?? 0) < 0 ? a ?? 0 : 0)
433
+ })))
434
+ };
435
+ }), Me = m(() => {
436
+ const t = Math.max(0, c.value.end - c.value.start), l = Array(t).fill(0), a = Array(t).fill(0);
437
+ return Ze.value.forEach((o) => {
438
+ for (let s = 0; s < t; s += 1) {
439
+ const r = o.series[c.value.start + s] ?? 0;
440
+ r > 0 && (l[s] = Math.max(l[s], r)), r < 0 && (a[s] = Math.min(a[s], r));
441
+ }
442
+ }), {
443
+ positive: l,
444
+ negative: a
445
+ };
446
+ }), ra = m(() => fl.value.map((t, l) => ({
447
+ value: t,
448
+ sign: t >= 0 ? 1 : -1
449
+ })));
450
+ function yl() {
451
+ return { y0: $e.value?.[0]?.zero ?? v.value.bottom };
452
+ }
453
+ function pl(t) {
454
+ const { y0: l } = yl(), a = e.value.style.chart.lines.totalValues, o = Math.max(2, a.fontSize * 1.3 + a.offsetY), s = (n) => Math.min(Math.max(n, v.value.top - e.value.style.chart.lines.totalValues.fontSize * 1.3), v.value.bottom + e.value.style.chart.lines.totalValues.fontSize * 2);
455
+ if ((ra.value?.[t]?.value ?? 0) >= 0 || e.value.style.chart.lines.distributed) {
456
+ let n = 1 / 0;
457
+ for (const k of T.value || []) {
458
+ const L = k?.series?.[t], C = k?.topY?.[t];
459
+ (L ?? 0) > 0 && Number.isFinite(C) && C < n && (n = C);
460
+ }
461
+ const p = Number.isFinite(n) ? n : l;
462
+ return s(p - o - e.value.style.chart.lines.totalValues.offsetY);
463
+ } else {
464
+ let n = -1 / 0;
465
+ for (const k of T.value || []) {
466
+ const L = k?.series?.[t], C = k?.topY?.[t];
467
+ (L ?? 0) < 0 && Number.isFinite(C) && C > n && (n = C);
468
+ }
469
+ const p = Number.isFinite(n) ? n : l;
470
+ return s(p + o + a.fontSize * 0.7 + e.value.style.chart.lines.totalValues.offsetY);
471
+ }
472
+ }
473
+ const $e = m(() => {
474
+ const t = Math.max(...Se.value.positive, 0), l = Math.min(...Se.value.negative, 0), a = Math.max(...Me.value.positive, 0), o = Math.min(...Me.value.negative, 0), s = Math.max(t, a), r = Math.min(l, o), n = [-1 / 0, 1 / 0, NaN, void 0, null].includes(r) ? 0 : r, p = e.value.style.chart.grid.scale.scaleMin, k = e.value.style.chart.grid.scale.scaleMax, L = !e.value.style.chart.lines.distributed && (p !== null || k !== null), C = p !== null && !e.value.style.chart.lines.distributed ? p : n > 0 ? 0 : n, N = k !== null && !e.value.style.chart.lines.distributed ? k : s < 0 ? 0 : s, I = L ? st(C, N, e.value.style.chart.grid.scale.ticks) : rt(C, N, e.value.style.chart.grid.scale.ticks), A = Math.abs(Number(I.min) || 0), u = (Number(I.max) || 0) + A, b = u === 0 || !Number.isFinite(u) ? 1 : u, B = Array.isArray(I.ticks) && I.ticks.length ? I.ticks : [0], f = v.value.bottom - v.value.height * (A / b);
475
+ return B.map((S) => {
476
+ const P = Number(S) || 0, z = v.value.bottom - v.value.height * ((P + A) / b);
477
+ return {
478
+ zero: f,
479
+ y: z,
480
+ x: Z.value.left - 8,
481
+ value: P
482
+ };
483
+ });
484
+ }), oe = m(() => Ia({
485
+ values: e.value.style.chart.grid.x.timeLabels.values,
486
+ maxDatapoints: ne.value,
487
+ formatter: e.value.style.chart.grid.x.timeLabels.datetimeFormatter,
488
+ start: c.value.start,
489
+ end: c.value.end
490
+ })), Oe = m(() => Ia({
491
+ values: e.value.style.chart.grid.x.timeLabels.values,
492
+ maxDatapoints: ne.value,
493
+ formatter: e.value.style.chart.grid.x.timeLabels.datetimeFormatter,
494
+ start: 0,
495
+ end: ne.value
496
+ })), bl = m(() => {
497
+ const t = e.value.style.chart.grid.x.timeLabels.modulo;
498
+ return oe.value.length ? Math.min(t, [...new Set(oe.value.map((l) => l.text))].length) : t;
499
+ }), kt = m(() => {
500
+ const t = e.value.style.chart.grid.x.timeLabels, l = oe.value || [], a = Oe.value || [], o = c.value.start ?? 0, s = x.value, r = ne.value, n = l.map((k) => k?.text ?? ""), p = a.map((k) => k?.text ?? "");
501
+ return ao(
502
+ !!t.showOnlyFirstAndLast,
503
+ !!t.showOnlyAtModulo,
504
+ Math.max(1, bl.value || 1),
505
+ n,
506
+ p,
507
+ o,
508
+ s,
509
+ r
510
+ );
511
+ }), na = m(() => {
512
+ const t = e.value.style.chart.grid.x.timeLabels.datetimeFormatter, l = go({
513
+ useUTC: t.useUTC,
514
+ locale: fo[t.locale] || { months: [], shortMonths: [], days: [], shortDays: [] },
515
+ januaryAsYear: t.januaryAsYear
516
+ });
517
+ return (a, o) => {
518
+ const r = e.value.style.chart.grid.x.timeLabels.values?.[a];
519
+ return r == null ? "" : (l.formatDate(new Date(r), o), l.formatDate(new Date(r), o));
520
+ };
521
+ }), ia = m(() => (e.value.style.chart.grid.x.timeLabels.values || []).map((l, a) => ({
522
+ text: na.value(a, e.value.style.chart.zoom.timeFormat),
523
+ absoluteIndex: a
524
+ }))), Ct = m(() => (e.value.style.chart.grid.x.timeLabels.values || []).map((l, a) => ({
525
+ text: na.value(a, e.value.style.chart.tooltip.timeFormat),
526
+ absoluteIndex: a
527
+ }))), xl = m(() => {
528
+ if (!Fe.value && !ve.value) return [];
529
+ const t = v.value.height, l = $e.value[0] ? $e.value[0].zero : v.value.bottom, a = c.value.start ?? 0, o = c.value.end ?? 0, s = Math.max(1, o - a), r = Math.max(...Se.value.positive, 0), n = Math.min(...Se.value.negative, 0), p = Math.max(...Me.value.positive, 0), k = Math.min(...Me.value.negative, 0), L = Math.max(r, p), C = Math.min(n, k), N = !e.value.style.chart.lines.distributed && (e.value.style.chart.grid.scale.scaleMax !== null || e.value.style.chart.grid.scale.scaleMin !== null) ? st(
530
+ e.value.style.chart.grid.scale.scaleMin !== null ? e.value.style.chart.grid.scale.scaleMin : C > 0 ? 0 : C,
531
+ e.value.style.chart.grid.scale.scaleMax !== null ? e.value.style.chart.grid.scale.scaleMax : L < 0 ? 0 : L,
532
+ e.value.style.chart.grid.scale.ticks
533
+ ) : rt(
534
+ e.value.style.chart.grid.scale.scaleMin !== null ? e.value.style.chart.grid.scale.scaleMin : C > 0 ? 0 : C,
535
+ e.value.style.chart.grid.scale.scaleMax !== null ? e.value.style.chart.grid.scale.scaleMax : L < 0 ? 0 : L,
536
+ e.value.style.chart.grid.scale.ticks
537
+ ), { min: I, max: A } = N, d = A + (I >= 0 ? 0 : Math.abs(I)) || 1, u = Array(s).fill(0), b = Array(s).fill(0), B = (f) => s <= 1 ? v.value.left + v.value.width / 2 : v.value.left + f / (s - 1) * v.value.width;
538
+ return ae.value.filter((f) => !X.value.includes(f.id)).map((f) => {
539
+ const S = [], P = [], z = [], F = new Array(s).fill(null), R = new Array(s).fill(null);
540
+ for (let g = 0; g < s; g += 1) {
541
+ const $ = a + g, U = f.series?.[$], H = f.signedSeries?.[$], ie = U == null || Number.isNaN(U), fe = ie ? 0 : U, $a = f.standalone ? fe / d : e.value.style.chart.lines.distributed ? fe / (oa.value[g] || 1) : fe / d;
542
+ if (fe >= 0) {
543
+ const Ve = t * Math.abs($a);
544
+ if (f.standalone)
545
+ F[g] = l, R[g] = l - Ve;
546
+ else {
547
+ const Ye = u[g], He = Ye + Ve;
548
+ F[g] = l - Ye, R[g] = l - He, u[g] = He;
549
+ }
550
+ } else {
551
+ const Ve = t * Math.abs($a);
552
+ if (f.standalone)
553
+ F[g] = l, R[g] = l + Ve;
554
+ else {
555
+ const Ye = b[g], He = Ye + Ve;
556
+ F[g] = l + Ye, R[g] = l + He, b[g] = He;
557
+ }
558
+ }
559
+ S.push(g), P.push(fe), z.push(H ?? (fe >= 0 ? 1 : -1)), ie && (F[g] = l, R[g] = l);
560
+ }
561
+ const V = S.map((g) => ({ x: B(g), y: R[g] })), J = V.map((g) => g.x), G = P.reduce((g, $) => g + Math.abs($ || 0), 0), Y = G === 0 ? 1 : G, O = P.map((g, $) => {
562
+ if (e.value.style.chart.lines.distributed && !f.standalone) {
563
+ const U = S[$], H = oa.value[U] || 1;
564
+ return (g || 0) / H;
565
+ }
566
+ return (g || 0) / Y;
567
+ });
568
+ return {
569
+ ...f,
570
+ x: J,
571
+ points: V,
572
+ baseY: S.map((g) => F[g]),
573
+ topY: S.map((g) => R[g]),
574
+ series: P,
575
+ signedSeries: z,
576
+ proportions: O,
577
+ rel: S,
578
+ fullSeries: Array.isArray(f.fullSeries) ? f.fullSeries : f.series
579
+ };
580
+ });
581
+ }), T = m(() => {
582
+ const t = (A) => typeof A == "string" ? A.replace(
583
+ /^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i,
584
+ ""
585
+ ).trim() : "", l = Math.max(...Se.value.positive, 0), a = Math.min(...Se.value.negative, 0), o = Math.max(...Me.value.positive, 0), s = Math.min(...Me.value.negative, 0), r = Math.max(l, o), n = Math.min(a, s), p = !e.value.style.chart.lines.distributed && (e.value.style.chart.grid.scale.scaleMax !== null || e.value.style.chart.grid.scale.scaleMin !== null) ? st(
586
+ e.value.style.chart.grid.scale.scaleMin !== null ? e.value.style.chart.grid.scale.scaleMin : n > 0 ? 0 : n,
587
+ e.value.style.chart.grid.scale.scaleMax !== null ? e.value.style.chart.grid.scale.scaleMax : r < 0 ? 0 : r,
588
+ e.value.style.chart.grid.scale.ticks
589
+ ) : rt(
590
+ e.value.style.chart.grid.scale.scaleMin !== null ? e.value.style.chart.grid.scale.scaleMin : n > 0 ? 0 : n,
591
+ e.value.style.chart.grid.scale.scaleMax !== null ? e.value.style.chart.grid.scale.scaleMax : r < 0 ? 0 : r,
592
+ e.value.style.chart.grid.scale.ticks
593
+ ), k = Number(p.min) || 0, L = Number(p.max) || 0, C = Math.abs(k), N = L + C || 1, I = (A) => {
594
+ if (e.value.style.chart.lines.distributed) {
595
+ const d = Math.max(0, Math.min(1, A));
596
+ return minimapH - minimapH * d;
597
+ }
598
+ return clampY(minimapH - minimapH * (((A ?? 0) + C) / N));
599
+ };
600
+ return xl.value.map((A) => {
601
+ const d = A.x.length, u = Array.isArray(A.fullSeries) ? A.fullSeries : A.series, b = ({ left: Y = 0, unitW: O }) => {
602
+ const g = u.length;
603
+ return !Number.isFinite(O) || O <= 0 || g <= 0 ? [] : g === 1 ? [Y + O * 0.5] : u.map(($, U) => Y + U * O);
604
+ }, B = ({ minimapH: Y }) => !Number.isFinite(Y) || Y <= 0 ? [] : u.map((O) => I(O || 0)), f = ({ minimapH: Y }) => {
605
+ if (!Number.isFinite(Y) || Y <= 0) return [];
606
+ const O = I(0);
607
+ return u.map(() => O);
608
+ };
609
+ if (d === 0)
610
+ return {
611
+ ...A,
612
+ points: [],
613
+ smoothPath: "",
614
+ straightPath: "",
615
+ smoothArea: "",
616
+ straightArea: "",
617
+ xMinimap: b,
618
+ yMinimap: B,
619
+ yMinimapBase: f
620
+ };
621
+ const S = A.x.map((Y, O) => ({ x: Y, y: A.topY[O] })), P = A.x.map((Y, O) => ({ x: Y, y: A.baseY[O] })), z = d >= 2 ? pe(S) : `M${S[0].x},${S[0].y}`, F = d >= 2 ? be(S) : `M${S[0].x},${S[0].y}`, R = d >= 2 ? `M${t(z)}` : z, V = d >= 2 ? `M${t(F)}` : F;
622
+ let J = "", G = "";
623
+ if (e.value.style.chart.lines.useArea && d >= 2) {
624
+ const Y = pe([...P].reverse()), O = be([...P].reverse()), g = P[P.length - 1];
625
+ J = `M${S[0].x},${S[0].y} ${t(z)} L${g.x},${g.y} ${t(Y)} Z`, G = `M${S[0].x},${S[0].y} ${t(F)} L${g.x},${g.y} ${t(O)} Z`;
626
+ }
627
+ return {
628
+ ...A,
629
+ points: S,
630
+ smoothPath: R,
631
+ straightPath: V,
632
+ smoothArea: J,
633
+ straightArea: G,
634
+ xMinimap: b,
635
+ yMinimap: B,
636
+ yMinimapBase: f
637
+ };
638
+ });
639
+ }), Re = y(!1), ua = y(!1);
640
+ function ca(t) {
641
+ const l = ne.value;
642
+ return t > l ? l : t < 0 || t < c.value.start ? e.value.style.chart.zoom.startIndex !== null ? c.value.start + 1 : 1 : t;
643
+ }
644
+ function et() {
645
+ if (!Re.value) {
646
+ Re.value = !0;
647
+ try {
648
+ const { startIndex: t, endIndex: l } = e.value.style.chart.zoom, a = ne.value, o = t ?? 0, s = l != null ? Math.min(ca(l + 1), a) : a;
649
+ tt.value = !0, c.value.start = o, c.value.end = s, le.value.start = o, le.value.end = s, Ke(), ua.value = !0;
650
+ } finally {
651
+ queueMicrotask(() => {
652
+ tt.value = !1;
653
+ }), Re.value = !1;
654
+ }
655
+ }
656
+ }
657
+ function kl(t) {
658
+ Re.value || tt.value || t !== c.value.start && (c.value.start = t, le.value.start = t, Ke());
659
+ }
660
+ function Cl(t) {
661
+ if (Re.value || tt.value) return;
662
+ const l = ca(t);
663
+ l !== c.value.end && (c.value.end = l, le.value.end = l, Ke());
664
+ }
665
+ const Z = m(() => ({
666
+ left: v.value.left,
667
+ right: v.value.right,
668
+ width: v.value.width
669
+ })), tt = y(!1), wl = m(() => de.value.width), Al = m(() => de.value.height);
670
+ wo({
671
+ timeLabelsEls: je,
672
+ timeLabels: oe,
673
+ slicer: c,
674
+ configRef: e,
675
+ rotationPath: ["style", "chart", "grid", "x", "timeLabels", "rotation"],
676
+ autoRotatePath: ["style", "chart", "grid", "x", "timeLabels", "autoRotate", "enable"],
677
+ isAutoSize: !1,
678
+ width: wl,
679
+ height: Al,
680
+ rotation: e.value.style.chart.grid.x.timeLabels.autoRotate.angle
681
+ });
682
+ const wt = y(null);
683
+ function ha(t) {
684
+ const l = we.value;
685
+ if (!l) return null;
686
+ if (l.createSVGPoint && l.getScreenCTM) {
687
+ const N = l.createSVGPoint();
688
+ N.x = t.clientX, N.y = t.clientY;
689
+ const I = l.getScreenCTM();
690
+ if (I) {
691
+ const A = N.matrixTransform(I.inverse());
692
+ return { x: A.x, y: A.y, ok: !0 };
693
+ }
694
+ }
695
+ const a = l.getBoundingClientRect(), o = l.viewBox?.baseVal || { x: 0, y: 0, width: a.width, height: a.height }, s = Math.min(a.width / o.width, a.height / o.height), r = o.width * s, n = o.height * s, p = (a.width - r) / 2, k = (a.height - n) / 2, L = (t.clientX - a.left - p) / s + o.x, C = (t.clientY - a.top - k) / s + o.y;
696
+ return { x: L, y: C, ok: !0 };
697
+ }
698
+ let xe = 0;
699
+ const Q = m(() => Math.max(1, c.value.end - c.value.start)), At = m(
700
+ () => Q.value > 1 ? v.value.width / (Q.value - 1) : 0
701
+ );
702
+ function se(t) {
703
+ return Q.value <= 1 ? v.value.left + v.value.width / 2 : v.value.left + t * At.value;
704
+ }
705
+ function va(t) {
706
+ if (Q.value <= 1)
707
+ return { x: v.value.left, width: v.value.width };
708
+ const l = t === 0 ? v.value.left : (se(t - 1) + se(t)) / 2, a = t === Q.value - 1 ? v.value.left + v.value.width : (se(t) + se(t + 1)) / 2;
709
+ return { x: l, width: Math.max(0, a - l) };
710
+ }
711
+ function Sl(t) {
712
+ Ie.value || (xe && cancelAnimationFrame(xe), xe = requestAnimationFrame(() => {
713
+ xe = 0;
714
+ const l = ha(t);
715
+ if (!l || !we.value) {
716
+ St();
717
+ return;
718
+ }
719
+ const { left: a, right: o, top: s, bottom: r } = v.value;
720
+ if (l.x < a || l.x > o || l.y < s || l.y > r) {
721
+ St();
722
+ return;
723
+ }
724
+ let n = 0;
725
+ if (Q.value > 1) {
726
+ const p = (l.x - a) / At.value;
727
+ n = Math.round(p);
728
+ } else
729
+ n = 0;
730
+ n < 0 && (n = 0), n > Q.value - 1 && (n = Q.value - 1), wt.value !== n && (wt.value = n, da(!0, n));
731
+ }));
732
+ }
733
+ function Ml(t) {
734
+ const l = ha(t);
735
+ if (!l || !we.value) return;
736
+ const { left: a, right: o, top: s, bottom: r } = v.value;
737
+ if (l.x < a || l.x > o || l.y < s || l.y > r) return;
738
+ let n = 0;
739
+ if (Q.value > 1) {
740
+ const p = (l.x - a) / At.value;
741
+ n = Math.round(p);
742
+ } else
743
+ n = 0;
744
+ n < 0 && (n = 0), n > Q.value - 1 && (n = Q.value - 1), Ma({
745
+ seriesIndex: n,
746
+ datapoint: wa(n)
747
+ }), $l(n);
748
+ }
749
+ function $l(t) {
750
+ const l = JSON.parse(JSON.stringify(T.value)).map((a) => ({
751
+ name: a.name,
752
+ value: a.series[t] === 0 ? 0 : a.series[t] || null,
753
+ proportion: a.proportions[t] || null,
754
+ color: a.color,
755
+ id: a.id
756
+ }));
757
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: l, seriesIndex: t + c.value.start }), Ne("selectDatapoint", { datapoint: l, period: oe.value[t] });
758
+ }
759
+ Le(
760
+ () => [c.value.start, c.value.end, T.value.length],
761
+ () => {
762
+ const t = Q.value;
763
+ if (x.value != null) {
764
+ if (t <= 0) {
765
+ x.value = null;
766
+ return;
767
+ }
768
+ x.value < 0 && (x.value = 0), x.value > t - 1 && (x.value = t - 1);
769
+ }
770
+ }
771
+ );
772
+ function St() {
773
+ xe && (cancelAnimationFrame(xe), xe = 0), wt.value = null, da(!1, null);
774
+ }
775
+ const x = y(null), Mt = m(() => {
776
+ const t = x.value, l = t == null ? null : xt(t);
777
+ return T.value.map((a) => ({
778
+ slotAbsoluteIndex: a.absoluteIndex,
779
+ shape: a.shape || "circle",
780
+ name: a.name,
781
+ color: a.color,
782
+ value: t == null ? null : a.series.find((o, s) => s === t),
783
+ sourceValue: l == null ? null : a.seriesSource?.[l],
784
+ comments: a.comments || [],
785
+ id: a.id,
786
+ standalone: !!a.standalone
787
+ }));
788
+ }), Ll = m(() => {
789
+ const t = e.value.style.chart.tooltip.customFormat, l = [...Mt.value].reverse(), a = l.filter((u) => !u.standalone), o = l.filter((u) => u.standalone), s = a.map((u) => u.value).filter((u) => lo(u) && u !== null).reduce((u, b) => Math.abs(u) + Math.abs(b), 0);
790
+ if (oo(t) && so(
791
+ () => t({
792
+ absoluteIndex: x.value + c.value.start,
793
+ seriesIndex: x.value,
794
+ datapoint: Mt.value,
795
+ series: ae.value,
796
+ config: e.value
797
+ })
798
+ ))
799
+ return t({
800
+ absoluteIndex: x.value + c.value.start,
801
+ seriesIndex: x.value,
802
+ datapoint: Mt.value,
803
+ series: ae.value,
804
+ config: e.value
805
+ });
806
+ const {
807
+ showValue: r,
808
+ showTotal: n,
809
+ totalTranslation: p,
810
+ showPercentage: k,
811
+ borderColor: L,
812
+ roundingValue: C,
813
+ roundingPercentage: N
814
+ } = e.value.style.chart.tooltip, I = (u) => !u.shape || !["star", "triangle", "square", "diamond", "pentagon", "hexagon"].includes(u.shape) ? `<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" fill="${u.color}" /></svg>` : u.shape === "star" ? `<svg viewBox="0 0 12 12" height="14" width="14"><polygon stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" fill="${u.color}" points="${ho({ plot: { x: 6, y: 6 }, radius: 5 })}" /></svg>` : u.shape === "triangle" ? `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${Ge({ plot: { x: 6, y: 6 }, radius: 6, sides: 3, rotation: 0.52 }).path}" fill="${u.color}" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : u.shape === "square" ? `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${Ge({ plot: { x: 6, y: 6 }, radius: 6, sides: 4, rotation: 0.8 }).path}" fill="${u.color}" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : u.shape === "diamond" ? `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${Ge({ plot: { x: 6, y: 6 }, radius: 5, sides: 4, rotation: 0 }).path}" fill="${u.color}" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : u.shape === "pentagon" ? `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${Ge({ plot: { x: 6, y: 6 }, radius: 5, sides: 5, rotation: 0.95 }).path}" fill="${u.color}" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${Ge({ plot: { x: 6, y: 6 }, radius: 5, sides: 6, rotation: 0 }).path}" fill="${u.color}" stroke="${e.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`, A = (u, b) => {
815
+ const B = b ? ke({
816
+ v: isNaN((u.value ?? 0) / (s || 1)) ? 0 : Math.abs(u.value ?? 0) / (s || 1) * 100,
817
+ s: "%",
818
+ r: N
819
+ }) : "", f = r && b ? "(" : "", S = r && b ? ")" : "";
820
+ return `
821
+ <div style="display:flex;flex-direction:row;align-items:center;gap:4px">
822
+ <div style="width:20px;height:20px;display:flex;align-items:center;justify-content:center;">${I(u)}</div>
823
+ ${u.name}${r || b ? ":" : ""}
824
+ ${r ? Xe(
825
+ e.value.style.chart.lines.dataLabels.formatter,
826
+ u.sourceValue,
827
+ ke({
828
+ p: e.value.style.chart.lines.dataLabels.prefix,
829
+ v: u.sourceValue,
830
+ s: e.value.style.chart.lines.dataLabels.suffix,
831
+ r: C
832
+ })
833
+ ) : ""} ${f}${B}${S}
834
+ </div>
835
+ `;
836
+ };
837
+ let d = "";
838
+ return (oe.value[x.value] && oe.value[x.value].text || Ct.value[x.value] && Ct.value[x.value].text && e.value.style.chart.tooltip.showTimeLabel) && (d += `<div style="width:100%;text-align:center;border-bottom:1px solid ${L};padding-bottom:6px;margin-bottom:3px;">${e.value.style.chart.tooltip.useDefaultTimeFormat ? oe.value[x.value]?.text : Ct.value[x.value]?.text || Oe.value[x.value]?.text || ""}</div>`), n && a.length > 1 && (d += `<div class="vue-data-ui-tooltip-total" style="display:flex;flex-direction:row;align-items:center;gap:4px">
839
+ <span>${p}:</span>
840
+ <span>${Xe(
841
+ e.value.style.chart.lines.dataLabels.formatter,
842
+ qe(s),
843
+ ke({
844
+ p: e.value.style.chart.lines.dataLabels.prefix,
845
+ v: qe(s),
846
+ s: e.value.style.chart.lines.dataLabels.suffix,
847
+ r: C
848
+ }),
849
+ { datapoint: { name: p, value: qe(s) } }
850
+ )}</span>
851
+ </div>`), a.forEach((u) => {
852
+ d += A(u, k);
853
+ }), o.length && (d += `<div style="border-top:1px solid ${re.value.length ? L : "transparent"}; margin:${re.value.length ? "6px 0" : "0"};"></div>`, o.forEach((u) => {
854
+ d += A(u, !1);
855
+ })), `<div>${d}</div>`;
856
+ });
857
+ function da(t, l = null) {
858
+ Et.value = t;
859
+ const a = T.value.map((o) => ({
860
+ name: o.name,
861
+ value: [null, void 0, NaN].includes(o.series[l]) ? null : o.series[l],
862
+ color: o.color
863
+ }));
864
+ t ? (x.value = l, Ma({ seriesIndex: l, datapoint: a }), e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: a, seriesIndex: l + c.value.start })) : (x.value = null, Ne("selectX", { seriesIndex: null, dataset: null, indexLabel: null }), e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: a, seriesIndex: l + c.value.start }));
865
+ }
866
+ function ma(t, l) {
867
+ const a = JSON.parse(JSON.stringify(T.value)).map((o) => ({
868
+ name: o.name,
869
+ value: o.series[l] === 0 ? 0 : (o.signedSeries[l] === -1 && o.series[l] >= 0 ? -o.series[l] : o.series[l]) || null,
870
+ proportion: o.proportions[l] || null,
871
+ color: o.color,
872
+ id: o.id
873
+ }));
874
+ Ne("selectTimeLabel", {
875
+ datapoint: a,
876
+ absoluteIndex: t.absoluteIndex,
877
+ label: t.text
878
+ });
879
+ }
880
+ function $t(t) {
881
+ if (X.value.includes(t.id))
882
+ X.value = X.value.filter((l) => l !== t.id);
883
+ else {
884
+ if (X.value.length === ae.value.length - 1) return;
885
+ X.value.push(t.id);
886
+ }
887
+ Ne("selectLegend", T.value);
888
+ }
889
+ const Lt = m(() => ae.value.map((t) => ({
890
+ ...t,
891
+ opacity: X.value.includes(t.id) ? 0.5 : 1,
892
+ segregate: () => $t(t),
893
+ isSegregated: X.value.includes(t.id)
894
+ }))), Tl = m(() => ({
895
+ cy: "stackline-legend",
896
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
897
+ color: e.value.style.chart.legend.color,
898
+ fontSize: e.value.style.chart.legend.fontSize,
899
+ paddingBottom: 12,
900
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
901
+ }));
902
+ function ga(t) {
903
+ if (!ae.value.length)
904
+ return e.value.debug && console.warn("VueUiStackline - There are no series to show."), null;
905
+ const l = ae.value.find((a) => a.name === t);
906
+ return l || (e.value.debug && console.warn(`VueUiStackline - Series name not found "${t}"`), null);
907
+ }
908
+ function Nl(t) {
909
+ const l = ga(t);
910
+ l !== null && X.value.includes(l.id) && $t({ id: l.id });
911
+ }
912
+ function Fl(t) {
913
+ const l = ga(t);
914
+ l !== null && (X.value.includes(l.id) || $t({ id: l.id }));
915
+ }
916
+ const fa = m(() => {
917
+ if (T.value.length === 0)
918
+ return { head: [], body: [], config: {}, columnNames: [] };
919
+ const t = T.value.map(({ name: a, color: o }) => ({ label: a, color: o })), l = [];
920
+ return kt.value.forEach((a) => {
921
+ const o = a.absoluteIndex, r = [e.value.style.chart.grid.x.timeLabels.values?.[o] ? a.text : o + 1];
922
+ ae.value.forEach((n) => {
923
+ const p = n.series?.[o], k = Number((p ?? 0).toFixed(e.value.table.td.roundingValue));
924
+ r.push(k);
925
+ }), l.push(r);
926
+ }), { head: t, body: l };
927
+ });
928
+ function Tt(t = null) {
929
+ const l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = ["", ...fa.value.head.map((n) => n.label)], o = fa.value.body, s = l.concat([a]).concat(o), r = uo(s);
930
+ t ? t(r) : co({ csvContent: r, title: e.value.style.chart.title.text || "vue-ui-stackline" });
931
+ }
932
+ const at = m(() => {
933
+ const t = [""].concat(T.value.map((r) => r.name)).concat(' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>'), l = [], a = Math.max(0, c.value.end - c.value.start);
934
+ for (let r = 0; r < a; r += 1) {
935
+ const n = xt(r), p = e.value.style.chart.grid.x.timeLabels.values?.[n] ? oe.value?.[r]?.text ?? n + 1 : n + 1, k = T.value.map((N) => {
936
+ const I = N.series?.[r] ?? 0;
937
+ return Number(I.toFixed(e.value.table.td.roundingValue));
938
+ }), C = T.value.filter((N) => !N.standalone).map((N) => N.series?.[r] ?? 0).reduce((N, I) => N + I, 0);
939
+ l.push([p].concat(k).concat(Number(C.toFixed(e.value.table.td.roundingValue))));
940
+ }
941
+ const o = {
942
+ th: {
943
+ backgroundColor: e.value.table.th.backgroundColor,
944
+ color: e.value.table.th.color,
945
+ outline: e.value.table.th.outline
946
+ },
947
+ td: {
948
+ backgroundColor: e.value.table.td.backgroundColor,
949
+ color: e.value.table.td.color,
950
+ outline: e.value.table.td.outline
951
+ },
952
+ breakpoint: e.value.table.responsiveBreakpoint
953
+ }, s = [e.value.table.columnNames.period].concat(T.value.map((r) => r.name)).concat(e.value.table.columnNames.total);
954
+ return { head: t, body: l, config: o, colNames: s };
955
+ }), _l = m(() => e.value.style.chart.backgroundColor), Dl = m(() => e.value.style.chart.legend), zl = m(() => e.value.style.chart.title), { exportSvg: El, getSvg: Il } = xo({
956
+ svg: we,
957
+ title: zl,
958
+ legend: Dl,
959
+ legendItems: Lt,
960
+ backgroundColor: _l
961
+ });
962
+ async function ya({ isCb: t }) {
963
+ if (t) {
964
+ const { blob: l, url: a, text: o, dataUrl: s } = await Il();
965
+ e.value.userOptions.callbacks.svg({ blob: l, url: a, text: o, dataUrl: s });
966
+ } else
967
+ El();
968
+ }
969
+ async function Pl({ scale: t = 2 } = {}) {
970
+ if (!he.value) return;
971
+ const { width: l, height: a } = he.value.getBoundingClientRect(), o = l / a, { imageUri: s, base64: r } = await So({ domElement: he.value, base64: !0, img: !0, scale: t });
972
+ return {
973
+ imageUri: s,
974
+ base64: r,
975
+ title: e.value.style.chart.title.text,
976
+ width: l,
977
+ height: a,
978
+ aspectRatio: o
979
+ };
980
+ }
981
+ const Be = m(() => {
982
+ const t = e.value.table.useDialog && !e.value.table.show, l = q.value.showTable;
983
+ return {
984
+ component: t ? Qa : Ga,
985
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
986
+ props: t ? {
987
+ backgroundColor: e.value.table.th.backgroundColor,
988
+ color: e.value.table.th.color,
989
+ headerColor: e.value.table.th.color,
990
+ headerBg: e.value.table.th.backgroundColor,
991
+ isFullscreen: De.value,
992
+ fullscreenParent: he.value,
993
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
994
+ } : {
995
+ hideDetails: !0,
996
+ config: {
997
+ open: l,
998
+ maxHeight: 1e4,
999
+ body: {
1000
+ backgroundColor: e.value.style.chart.backgroundColor,
1001
+ color: e.value.style.chart.color
1002
+ },
1003
+ head: {
1004
+ backgroundColor: e.value.style.chart.backgroundColor,
1005
+ color: e.value.style.chart.color
1006
+ }
1007
+ }
1008
+ }
1009
+ };
1010
+ });
1011
+ Le(() => q.value.showTable, (t) => {
1012
+ e.value.table.show || (t && e.value.table.useDialog && ze.value ? ze.value.open() : "close" in ze.value && ze.value.close());
1013
+ });
1014
+ function pa() {
1015
+ q.value.showTable = !1, ut.value && ut.value.setTableIconState(!1);
1016
+ }
1017
+ function ba(t) {
1018
+ De.value = t, Pt.value += 1;
1019
+ }
1020
+ function xa() {
1021
+ q.value.showTable = !q.value.showTable;
1022
+ }
1023
+ function ka() {
1024
+ q.value.dataLabels.show = !q.value.dataLabels.show;
1025
+ }
1026
+ function Ca() {
1027
+ q.value.showTooltip = !q.value.showTooltip;
1028
+ }
1029
+ function Ol() {
1030
+ return T.value;
1031
+ }
1032
+ function wa(t) {
1033
+ const l = t ?? 0, a = xt(l);
1034
+ return JSON.parse(JSON.stringify(T.value)).map((o) => {
1035
+ const s = o.series[l], r = o.signedSeries?.[l], n = s === 0 ? 0 : (r === -1 && s >= 0 ? -s : s) || null;
1036
+ return {
1037
+ name: o.name,
1038
+ absoluteIndex: o.absoluteIndex,
1039
+ value: n,
1040
+ proportion: o.proportions?.[l] || null,
1041
+ color: o.color,
1042
+ id: o.id,
1043
+ timeLabel: Oe.value?.[a] || null
1044
+ };
1045
+ });
1046
+ }
1047
+ const Rl = m(() => Array(ne.value).fill(0).map((t, l) => wa(l)));
1048
+ Le(() => j.selectedXIndex, (t) => {
1049
+ if ([null, void 0].includes(j.selectedXIndex)) {
1050
+ x.value = null;
1051
+ return;
1052
+ }
1053
+ const l = t - c.value.start;
1054
+ l < 0 || t >= c.value.end ? x.value = null : x.value = l ?? null;
1055
+ }, { immediate: !0 });
1056
+ const Aa = m(() => {
1057
+ if (e.value.style.chart.lines.distributed)
1058
+ return { min: -1, max: 1 };
1059
+ const t = re.value, l = Ze.value, a = Math.max(
1060
+ 1,
1061
+ ...[...t, ...l].map((d) => d.series?.length || 0)
1062
+ ), o = Array(a).fill(0), s = Array(a).fill(0);
1063
+ t.forEach((d) => {
1064
+ for (let u = 0; u < a; u += 1) {
1065
+ const b = d.series[u] ?? 0;
1066
+ b >= 0 ? o[u] += b : s[u] += b;
1067
+ }
1068
+ });
1069
+ const r = Array(a).fill(0), n = Array(a).fill(0);
1070
+ l.forEach((d) => {
1071
+ for (let u = 0; u < a; u += 1) {
1072
+ const b = d.series[u] ?? 0;
1073
+ b > 0 && (r[u] = Math.max(r[u], b)), b < 0 && (n[u] = Math.min(n[u], b));
1074
+ }
1075
+ });
1076
+ const p = Math.max(0, ...o, ...r), k = Math.min(0, ...s, ...n), L = e.value.style.chart.grid.scale.scaleMin, C = e.value.style.chart.grid.scale.scaleMax, N = e.value.style.chart.grid.scale.ticks, A = !e.value.style.chart.lines.distributed && (L !== null || C !== null) ? st(
1077
+ L !== null ? L : k > 0 ? 0 : k,
1078
+ C !== null ? C : p < 0 ? 0 : p,
1079
+ N
1080
+ ) : rt(
1081
+ L !== null ? L : k > 0 ? 0 : k,
1082
+ C !== null ? C : p < 0 ? 0 : p,
1083
+ N
1084
+ );
1085
+ return { min: Number(A.min) || 0, max: Number(A.max) || 0 };
1086
+ });
1087
+ function Bl({ minimapH: t, unitW: l }) {
1088
+ const a = (d) => typeof d == "string" ? d.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i, "").trim() : "";
1089
+ if (!Number.isFinite(t) || t <= 0 || !Number.isFinite(l) || l <= 0)
1090
+ return "";
1091
+ const o = T.value.filter((d) => !d.standalone), s = T.value.filter((d) => d.standalone), r = Math.max(0, ...T.value.map((d) => Array.isArray(d.fullSeries) ? d.fullSeries.length : d.series.length));
1092
+ if (r <= 0) return "";
1093
+ const n = r === 1 ? [l * 0.5] : Array.from({ length: r }, (d, u) => u * l);
1094
+ if (e.value.style.chart.lines.distributed) {
1095
+ const d = Array.from({ length: r }, (f, S) => {
1096
+ let P = 0;
1097
+ return o.forEach((z) => {
1098
+ const R = (Array.isArray(z.fullSeries) ? z.fullSeries : z.series)?.[S];
1099
+ R != null && !Number.isNaN(R) && (P += Math.abs(R));
1100
+ }), P || 1;
1101
+ }), u = (f) => {
1102
+ const S = Math.max(0, Math.min(1, f || 0));
1103
+ return t - t * S;
1104
+ }, b = [], B = Array(r).fill(0);
1105
+ return o.forEach((f) => {
1106
+ const S = Array.isArray(f.fullSeries) ? f.fullSeries : f.series, P = new Array(r), z = new Array(r);
1107
+ for (let H = 0; H < r; H += 1) {
1108
+ const ie = S?.[H], fe = ie == null || Number.isNaN(ie) ? 0 : Math.abs(ie) / d[H];
1109
+ z[H] = B[H], B[H] += fe, P[H] = B[H];
1110
+ }
1111
+ const F = P.map(u), R = z.map(u), V = n.map((H, ie) => ({ x: H, y: F[ie] })), J = n.map((H, ie) => ({ x: H, y: R[ie] })), G = pe(V), Y = pe([...J].reverse()), O = be(V), g = be([...J].reverse()), $ = J[J.length - 1];
1112
+ if (e.value.style.chart.lines.useArea) {
1113
+ const H = e.value.style.chart.lines.smooth ? `M${V[0].x},${V[0].y} ${a(G)} L${$.x},${$.y} ${a(Y)} Z` : `M${V[0].x},${V[0].y} ${a(O)} L${$.x},${$.y} ${a(g)} Z`;
1114
+ b.push(
1115
+ `<path d="${H}"
1116
+ fill="${zt.pattern ? `url(#pattern_${K.value}_${f.absoluteIndex})` : (e.value.style.chart.lines.gradient.show, f.color)}"
1117
+ opacity="${e.value.style.chart.lines.areaOpacity}"
1118
+ stroke="none" />`
1119
+ );
1120
+ }
1121
+ const U = e.value.style.chart.lines.smooth ? `M${V[0].x},${V[0].y} ${a(G)}` : `M${V[0].x},${V[0].y} ${a(O)}`;
1122
+ b.push(
1123
+ `<path d="${U}"
1124
+ fill="none"
1125
+ stroke="${f.color}"
1126
+ stroke-width="${e.value.style.chart.lines.strokeWidth}"
1127
+ stroke-linecap="round" />`
1128
+ );
1129
+ }), s.length && s.forEach((f) => {
1130
+ const S = Array.isArray(f.fullSeries) ? f.fullSeries : f.series, P = Array.from({ length: r }, (J, G) => u(Math.abs(S?.[G] ?? 0) / d[G])), z = n.map((J, G) => ({ x: J, y: P[G] })), F = pe(z), R = be(z), V = e.value.style.chart.lines.smooth ? `M${z[0].x},${z[0].y} ${a(F)}` : `M${z[0].x},${z[0].y} ${a(R)}`;
1131
+ b.push(
1132
+ `<path d="${V}"
1133
+ fill="none"
1134
+ stroke="${f.color}"
1135
+ stroke-width="${e.value.style.chart.lines.strokeWidth}"
1136
+ stroke-linecap="round" />`
1137
+ );
1138
+ }), b.join("");
1139
+ }
1140
+ const p = Aa.value.min, k = Aa.value.max, L = Math.abs(p), C = k + L || 1, N = (d) => Math.max(0, Math.min(t, d)), I = (d) => N(t - t * (((d ?? 0) + L) / C)), A = [];
1141
+ if (o.length) {
1142
+ const d = Array(r).fill(0), u = Array(r).fill(0);
1143
+ o.forEach((b) => {
1144
+ const B = Array.isArray(b.fullSeries) ? b.fullSeries : b.series, f = new Array(r), S = new Array(r);
1145
+ for (let $ = 0; $ < r; $ += 1) {
1146
+ const U = B?.[$] ?? 0;
1147
+ U >= 0 ? (S[$] = d[$], d[$] += U, f[$] = d[$]) : (S[$] = u[$], u[$] += U, f[$] = u[$]);
1148
+ }
1149
+ const P = f.map(I), z = S.map(I), F = n.map(($, U) => ({ x: $, y: P[U] })), R = n.map(($, U) => ({ x: $, y: z[U] })), V = pe(F), J = pe([...R].reverse()), G = be(F), Y = be([...R].reverse()), O = R[R.length - 1];
1150
+ if (e.value.style.chart.lines.useArea) {
1151
+ const $ = e.value.style.chart.lines.smooth ? `M${F[0].x},${F[0].y} ${a(V)} L${O.x},${O.y} ${a(J)} Z` : `M${F[0].x},${F[0].y} ${a(G)} L${O.x},${O.y} ${a(Y)} Z`;
1152
+ A.push(
1153
+ `<path d="${$}"
1154
+ fill="${zt.pattern ? `url(#pattern_${K.value}_${b.absoluteIndex})` : (e.value.style.chart.lines.gradient.show, b.color)}"
1155
+ opacity="${e.value.style.chart.lines.areaOpacity}"
1156
+ stroke="none" />`
1157
+ );
1158
+ }
1159
+ const g = e.value.style.chart.lines.smooth ? `M${F[0].x},${F[0].y} ${a(V)}` : `M${F[0].x},${F[0].y} ${a(G)}`;
1160
+ A.push(
1161
+ `<path d="${g}"
1162
+ fill="none"
1163
+ stroke="${b.color}"
1164
+ stroke-width="${e.value.style.chart.lines.strokeWidth}"
1165
+ stroke-linecap="round" />`
1166
+ );
1167
+ });
1168
+ }
1169
+ return s.length && s.forEach((d) => {
1170
+ const b = (Array.isArray(d.fullSeries) ? d.fullSeries : d.series).map(I), B = n.map((z, F) => ({ x: z, y: b[F] })), f = pe(B), S = be(B), P = e.value.style.chart.lines.smooth ? `M${B[0].x},${B[0].y} ${a(f)}` : `M${B[0].x},${B[0].y} ${a(S)}`;
1171
+ A.push(
1172
+ `<path d="${P}"
1173
+ fill="none"
1174
+ stroke="${d.color}"
1175
+ stroke-width="${e.value.style.chart.lines.strokeWidth}"
1176
+ stroke-linecap="round" />`
1177
+ );
1178
+ }), A.join("");
1179
+ }
1180
+ function Vl(t, l) {
1181
+ const a = e.value.style.chart.lines, o = a.dataLabels;
1182
+ return a.showDistributedPercentage && a.distributed ? qt.value ? l === 0 ? !o.hideEmptyPercentages : Math.abs(l) * 100 >= o.hideUnderPercentage : o.hideEmptyPercentages ? Math.abs(l) > 0 : !0 : qt.value ? (Xt.value && yt.value && console.warn("Vue Data UI - VueUiStackline - You cannot set both dataLabels.hideUnderPercentage and dataLabels.hideUnderValue. Note that dataLabels.hideUnderPercentage takes precedence in this case."), Math.abs(t) > Yl.value * o.hideUnderPercentage / 100) : Xt.value ? Math.abs(t) >= o.hideUnderValue : o.hideEmptyValues ? t !== 0 : !0;
1183
+ }
1184
+ const Yl = m(() => Math.max(...T.value.flatMap((t) => t.series)));
1185
+ function Sa(t, l, a, o, s) {
1186
+ const r = s === -1 && t >= 0 ? -t : t;
1187
+ return Xe(
1188
+ e.value.style.chart.lines.dataLabels.formatter,
1189
+ r,
1190
+ ke({
1191
+ p: e.value.style.chart.lines.dataLabels.prefix,
1192
+ v: r,
1193
+ s: e.value.style.chart.lines.dataLabels.suffix,
1194
+ r: e.value.style.chart.lines.dataLabels.rounding
1195
+ }),
1196
+ { datapoint: l, seriesIndex: a, datapointIndex: o }
1197
+ );
1198
+ }
1199
+ function Hl(t, l, a, o) {
1200
+ return Xe(
1201
+ e.value.style.chart.lines.dataLabels.formatter,
1202
+ t,
1203
+ ke({
1204
+ v: isNaN(t) ? 0 : t,
1205
+ s: "%",
1206
+ r: e.value.style.chart.lines.dataLabels.rounding
1207
+ }),
1208
+ { datapoint: l, seriesIndex: a, datapointIndex: o }
1209
+ );
1210
+ }
1211
+ function Ma({ seriesIndex: t, datapoint: l }) {
1212
+ const a = c.value.start + t;
1213
+ Ne("selectX", {
1214
+ dataset: l,
1215
+ index: a,
1216
+ indexLabel: e.value.style.chart.grid.x.timeLabels.values[a]
1217
+ });
1218
+ }
1219
+ return Ua({
1220
+ getData: Ol,
1221
+ getImage: Pl,
1222
+ generatePdf: Jt,
1223
+ generateCsv: Tt,
1224
+ generateImage: Zt,
1225
+ generateSvg: ya,
1226
+ hideSeries: Fl,
1227
+ showSeries: Nl,
1228
+ toggleTable: xa,
1229
+ toggleLabels: ka,
1230
+ toggleTooltip: Ca,
1231
+ toggleAnnotator: dt,
1232
+ toggleFullscreen: ba
1233
+ }), (t, l) => (i(), h("div", {
1234
+ id: `stackline_${K.value}`,
1235
+ ref_key: "stacklineChart",
1236
+ ref: he,
1237
+ class: Ta({ "vue-data-ui-component": !0, "vue-ui-stackline": !0, "vue-data-ui-wrapper-fullscreen": De.value }),
1238
+ style: Te(`background:${e.value.style.chart.backgroundColor};color:${e.value.style.chart.color};font-family:${e.value.style.fontFamily}; position: relative; ${e.value.responsive ? "height: 100%" : ""}`),
1239
+ onMouseenter: rl,
1240
+ onMouseleave: nl
1241
+ }, [
1242
+ e.value.userOptions.buttons.annotator ? (i(), ue(M(Ja), {
1243
+ key: 0,
1244
+ svgRef: M(we),
1245
+ backgroundColor: e.value.style.chart.backgroundColor,
1246
+ color: e.value.style.chart.color,
1247
+ active: Ie.value,
1248
+ onClose: dt
1249
+ }, {
1250
+ "annotator-action-close": D(() => [
1251
+ _(t.$slots, "annotator-action-close", {}, void 0, !0)
1252
+ ]),
1253
+ "annotator-action-color": D(({ color: a }) => [
1254
+ _(t.$slots, "annotator-action-color", ee(te({ color: a })), void 0, !0)
1255
+ ]),
1256
+ "annotator-action-draw": D(({ mode: a }) => [
1257
+ _(t.$slots, "annotator-action-draw", ee(te({ mode: a })), void 0, !0)
1258
+ ]),
1259
+ "annotator-action-undo": D(({ disabled: a }) => [
1260
+ _(t.$slots, "annotator-action-undo", ee(te({ disabled: a })), void 0, !0)
1261
+ ]),
1262
+ "annotator-action-redo": D(({ disabled: a }) => [
1263
+ _(t.$slots, "annotator-action-redo", ee(te({ disabled: a })), void 0, !0)
1264
+ ]),
1265
+ "annotator-action-delete": D(({ disabled: a }) => [
1266
+ _(t.$slots, "annotator-action-delete", ee(te({ disabled: a })), void 0, !0)
1267
+ ]),
1268
+ _: 3
1269
+ }, 8, ["svgRef", "backgroundColor", "color", "active"])) : w("", !0),
1270
+ _(t.$slots, "userConfig", {}, void 0, !0),
1271
+ il.value ? (i(), h("div", {
1272
+ key: 1,
1273
+ ref_key: "noTitle",
1274
+ ref: Bt,
1275
+ class: "vue-data-ui-no-title-space",
1276
+ style: "height:36px; width: 100%;background:transparent"
1277
+ }, null, 512)) : w("", !0),
1278
+ e.value.style.chart.title.text ? (i(), h("div", {
1279
+ key: 2,
1280
+ ref_key: "chartTitle",
1281
+ ref: Ot,
1282
+ style: "width:100%;background:transparent;"
1283
+ }, [
1284
+ (i(), ue(Mo, {
1285
+ key: `title_${Yt.value}`,
1286
+ config: {
1287
+ title: {
1288
+ cy: "stackline-title",
1289
+ ...e.value.style.chart.title
1290
+ },
1291
+ subtitle: {
1292
+ cy: "stackline-subtitle",
1293
+ ...e.value.style.chart.title.subtitle
1294
+ }
1295
+ }
1296
+ }, null, 8, ["config"]))
1297
+ ], 512)) : w("", !0),
1298
+ ce("div", {
1299
+ id: `legend-top-${K.value}`
1300
+ }, null, 8, Fo),
1301
+ e.value.userOptions.show && Fe.value && (M(Wt) || M(gt)) ? (i(), ue(M(Za), {
1302
+ ref_key: "userOptionsRef",
1303
+ ref: ut,
1304
+ key: `user_option_${Pt.value}`,
1305
+ backgroundColor: e.value.style.chart.backgroundColor,
1306
+ color: e.value.style.chart.color,
1307
+ isPrinting: M(Gt),
1308
+ isImaging: M(jt),
1309
+ uid: K.value,
1310
+ hasTooltip: e.value.style.chart.tooltip.show && e.value.userOptions.buttons.tooltip,
1311
+ hasPdf: e.value.userOptions.buttons.pdf,
1312
+ hasImg: e.value.userOptions.buttons.img,
1313
+ hasSvg: e.value.userOptions.buttons.svg,
1314
+ hasXls: e.value.userOptions.buttons.csv,
1315
+ hasTable: e.value.userOptions.buttons.table,
1316
+ hasLabel: e.value.userOptions.buttons.labels,
1317
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
1318
+ isFullscreen: De.value,
1319
+ chartElement: he.value,
1320
+ position: e.value.userOptions.position,
1321
+ isTooltip: q.value.showTooltip,
1322
+ titles: { ...e.value.userOptions.buttonTitles },
1323
+ hasAnnotator: e.value.userOptions.buttons.annotator,
1324
+ isAnnotation: Ie.value,
1325
+ callbacks: e.value.userOptions.callbacks,
1326
+ printScale: e.value.userOptions.print.scale,
1327
+ tableDialog: e.value.table.useDialog,
1328
+ onToggleFullscreen: ba,
1329
+ onGeneratePdf: M(Jt),
1330
+ onGenerateCsv: Tt,
1331
+ onGenerateImage: M(Zt),
1332
+ onGenerateSvg: ya,
1333
+ onToggleTable: xa,
1334
+ onToggleLabels: ka,
1335
+ onToggleTooltip: Ca,
1336
+ onToggleAnnotator: dt,
1337
+ style: Te({
1338
+ visibility: M(Wt) ? M(gt) ? "visible" : "hidden" : "visible"
1339
+ })
1340
+ }, Ft({ _: 2 }, [
1341
+ t.$slots.menuIcon ? {
1342
+ name: "menuIcon",
1343
+ fn: D(({ isOpen: a, color: o }) => [
1344
+ _(t.$slots, "menuIcon", ee(te({ isOpen: a, color: o })), void 0, !0)
1345
+ ]),
1346
+ key: "0"
1347
+ } : void 0,
1348
+ t.$slots.optionTooltip ? {
1349
+ name: "optionTooltip",
1350
+ fn: D(() => [
1351
+ _(t.$slots, "optionTooltip", {}, void 0, !0)
1352
+ ]),
1353
+ key: "1"
1354
+ } : void 0,
1355
+ t.$slots.optionPdf ? {
1356
+ name: "optionPdf",
1357
+ fn: D(() => [
1358
+ _(t.$slots, "optionPdf", {}, void 0, !0)
1359
+ ]),
1360
+ key: "2"
1361
+ } : void 0,
1362
+ t.$slots.optionCsv ? {
1363
+ name: "optionCsv",
1364
+ fn: D(() => [
1365
+ _(t.$slots, "optionCsv", {}, void 0, !0)
1366
+ ]),
1367
+ key: "3"
1368
+ } : void 0,
1369
+ t.$slots.optionImg ? {
1370
+ name: "optionImg",
1371
+ fn: D(() => [
1372
+ _(t.$slots, "optionImg", {}, void 0, !0)
1373
+ ]),
1374
+ key: "4"
1375
+ } : void 0,
1376
+ t.$slots.optionSvg ? {
1377
+ name: "optionSvg",
1378
+ fn: D(() => [
1379
+ _(t.$slots, "optionSvg", {}, void 0, !0)
1380
+ ]),
1381
+ key: "5"
1382
+ } : void 0,
1383
+ t.$slots.optionTable ? {
1384
+ name: "optionTable",
1385
+ fn: D(() => [
1386
+ _(t.$slots, "optionTable", {}, void 0, !0)
1387
+ ]),
1388
+ key: "6"
1389
+ } : void 0,
1390
+ t.$slots.optionLabels ? {
1391
+ name: "optionLabels",
1392
+ fn: D(() => [
1393
+ _(t.$slots, "optionLabels", {}, void 0, !0)
1394
+ ]),
1395
+ key: "7"
1396
+ } : void 0,
1397
+ t.$slots.optionFullscreen ? {
1398
+ name: "optionFullscreen",
1399
+ fn: D(({ toggleFullscreen: a, isFullscreen: o }) => [
1400
+ _(t.$slots, "optionFullscreen", ee(te({ toggleFullscreen: a, isFullscreen: o })), void 0, !0)
1401
+ ]),
1402
+ key: "8"
1403
+ } : void 0,
1404
+ t.$slots.optionAnnotator ? {
1405
+ name: "optionAnnotator",
1406
+ fn: D(({ toggleAnnotator: a, isAnnotator: o }) => [
1407
+ _(t.$slots, "optionAnnotator", ee(te({ toggleAnnotator: a, isAnnotator: o })), void 0, !0)
1408
+ ]),
1409
+ key: "9"
1410
+ } : void 0
1411
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasLabel", "hasFullscreen", "isFullscreen", "chartElement", "position", "isTooltip", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : w("", !0),
1412
+ (i(), h("svg", {
1413
+ ref_key: "svgRef",
1414
+ ref: we,
1415
+ xmlns: M(ro),
1416
+ viewBox: `0 0 ${v.value.chartWidth <= 0 ? 10 : v.value.chartWidth} ${v.value.chartHeight <= 0 ? 10 : v.value.chartHeight}`,
1417
+ class: Ta({ "vue-data-ui-loading": M(ve), "no-transition": !e.value.useCssAnimation }),
1418
+ style: Te(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`),
1419
+ role: "img",
1420
+ "aria-live": "polite",
1421
+ preserveAspectRatio: "xMidYMid",
1422
+ onMousemove: Sl,
1423
+ onMouseleave: St,
1424
+ onClick: Ml
1425
+ }, [
1426
+ Ue(M(Ka)),
1427
+ (i(!0), h(E, null, W(re.value, (a) => (i(), h(E, null, [
1428
+ t.$slots.pattern ? (i(), h("defs", Do, [
1429
+ _(t.$slots, "pattern", lt({ ref_for: !0 }, { seriesIndex: a.absoluteIndex, patternId: `pattern_${K.value}_${a.absoluteIndex}` }), void 0, !0)
1430
+ ])) : w("", !0)
1431
+ ], 64))), 256)),
1432
+ t.$slots["chart-background"] ? (i(), h("foreignObject", {
1433
+ key: 0,
1434
+ x: Z.value.left,
1435
+ y: v.value.top,
1436
+ width: Z.value.width,
1437
+ height: v.value.height,
1438
+ style: {
1439
+ pointerEvents: "none"
1440
+ }
1441
+ }, [
1442
+ _(t.$slots, "chart-background", {}, void 0, !0)
1443
+ ], 8, zo)) : w("", !0),
1444
+ e.value.style.chart.lines.gradient.show ? (i(), h("defs", Eo, [
1445
+ (i(!0), h(E, null, W(T.value, (a, o) => (i(), h("linearGradient", {
1446
+ id: `gradient_${a.id}`,
1447
+ x1: "0%",
1448
+ y1: "0%",
1449
+ x2: "0%",
1450
+ y2: "100%"
1451
+ }, [
1452
+ ce("stop", {
1453
+ offset: "0%",
1454
+ "stop-color": a.color
1455
+ }, null, 8, Po),
1456
+ ce("stop", {
1457
+ offset: "100%",
1458
+ "stop-color": M(no)(a.color, e.value.style.chart.lines.gradient.intensity / 100)
1459
+ }, null, 8, Oo)
1460
+ ], 8, Io))), 256))
1461
+ ])) : w("", !0),
1462
+ e.value.style.chart.grid.x.showHorizontalLines ? (i(!0), h(E, { key: 2 }, W($e.value, (a, o) => (i(), h("line", {
1463
+ x1: Z.value.left,
1464
+ x2: Z.value.right,
1465
+ y1: a.y,
1466
+ y2: a.y,
1467
+ stroke: e.value.style.chart.grid.x.linesColor,
1468
+ "stroke-width": e.value.style.chart.grid.x.linesThickness,
1469
+ "stroke-dasharray": e.value.style.chart.grid.x.linesStrokeDasharray,
1470
+ "stroke-linecap": "round"
1471
+ }, null, 8, Ro))), 256)) : w("", !0),
1472
+ e.value.style.chart.grid.y.showVerticalLines ? (i(!0), h(E, { key: 3 }, W(c.value.end - c.value.start, (a, o) => (i(), h("line", {
1473
+ x1: se(o),
1474
+ x2: se(o),
1475
+ y1: v.value.top,
1476
+ y2: v.value.bottom,
1477
+ stroke: e.value.style.chart.grid.y.linesColor,
1478
+ "stroke-width": e.value.style.chart.grid.y.linesThickness,
1479
+ "stroke-dasharray": e.value.style.chart.grid.y.linesStrokeDasharray,
1480
+ "stroke-linecap": "round"
1481
+ }, null, 8, Bo))), 256)) : w("", !0),
1482
+ e.value.style.chart.grid.x.showAxis ? (i(), h("line", {
1483
+ key: 4,
1484
+ x1: Z.value.left,
1485
+ x2: Z.value.right,
1486
+ y1: v.value.bottom,
1487
+ y2: v.value.bottom,
1488
+ stroke: e.value.style.chart.grid.x.axisColor,
1489
+ "stroke-width": e.value.style.chart.grid.x.axisThickness,
1490
+ "stroke-linecap": "round",
1491
+ "stroke-linejoin": "round"
1492
+ }, null, 8, Vo)) : w("", !0),
1493
+ e.value.style.chart.grid.y.showAxis && !e.value.style.chart.lines.distributed ? (i(), h("line", {
1494
+ key: 5,
1495
+ x1: Z.value.left,
1496
+ x2: Z.value.left,
1497
+ y1: v.value.top,
1498
+ y2: v.value.bottom,
1499
+ stroke: e.value.style.chart.grid.y.axisColor,
1500
+ "stroke-width": e.value.style.chart.grid.y.axisThickness,
1501
+ "stroke-linecap": "round",
1502
+ "stroke-linejoin": "round"
1503
+ }, null, 8, Yo)) : w("", !0),
1504
+ e.value.style.chart.grid.x.axisName.show && e.value.style.chart.grid.x.axisName.text ? (i(), h("text", {
1505
+ key: 6,
1506
+ ref_key: "xAxisLabel",
1507
+ ref: ct,
1508
+ x: v.value.left + v.value.width / 2,
1509
+ y: v.value.chartHeight - 3,
1510
+ "font-size": e.value.style.chart.grid.x.axisName.fontSize,
1511
+ fill: e.value.style.chart.grid.x.axisName.color,
1512
+ "font-weight": e.value.style.chart.grid.x.axisName.bold ? "bold" : "normal",
1513
+ "text-anchor": "middle"
1514
+ }, me(e.value.style.chart.grid.x.axisName.text), 9, Ho)) : w("", !0),
1515
+ e.value.style.chart.grid.y.axisName.show && e.value.style.chart.grid.y.axisName.text ? (i(), h("text", {
1516
+ key: 7,
1517
+ ref_key: "yAxisLabel",
1518
+ ref: ht,
1519
+ transform: `translate(${e.value.style.chart.grid.y.axisName.fontSize}, ${v.value.top + v.value.height / 2}) rotate(-90)`,
1520
+ "font-size": e.value.style.chart.grid.y.axisName.fontSize,
1521
+ fill: e.value.style.chart.grid.y.axisName.color,
1522
+ "font-weight": e.value.style.chart.grid.y.axisName.bold ? "bold" : "normal",
1523
+ "text-anchor": "middle"
1524
+ }, me(e.value.style.chart.grid.y.axisName.text), 9, Uo)) : w("", !0),
1525
+ e.value.style.chart.grid.frame.show ? (i(), h("rect", {
1526
+ key: 8,
1527
+ style: { pointerEvents: "none", transition: "none", animation: "none !important" },
1528
+ x: Z.value.left,
1529
+ y: v.value.top,
1530
+ width: Z.value.width,
1531
+ height: v.value.height,
1532
+ fill: "transparent",
1533
+ stroke: e.value.style.chart.grid.frame.stroke,
1534
+ "stroke-width": e.value.style.chart.grid.frame.strokeWidth,
1535
+ "stroke-linecap": e.value.style.chart.grid.frame.strokeLinecap,
1536
+ "stroke-linejoin": e.value.style.chart.grid.frame.strokeLinejoin,
1537
+ "stroke-dasharray": e.value.style.chart.grid.frame.strokeDasharray
1538
+ }, null, 8, Wo)) : w("", !0),
1539
+ (i(!0), h(E, null, W(T.value, (a) => (i(), h(E, null, [
1540
+ e.value.style.chart.lines.useArea && !a.standalone ? (i(), h("path", {
1541
+ key: 0,
1542
+ d: e.value.style.chart.lines.smooth ? a.smoothArea : a.straightArea,
1543
+ fill: t.$slots.pattern ? `url(#pattern_${K.value}_${a.absoluteIndex})` : e.value.style.chart.lines.gradient.show ? `url(#gradient_${a.id})` : a.color,
1544
+ opacity: e.value.style.chart.lines.areaOpacity,
1545
+ style: Te({
1546
+ transition: M(ve) || !e.value.useCssAnimation ? void 0 : "all 0.3s ease-in-out"
1547
+ })
1548
+ }, null, 12, Xo)) : w("", !0)
1549
+ ], 64))), 256)),
1550
+ (i(!0), h(E, null, W(T.value, (a) => (i(), h("path", {
1551
+ d: e.value.style.chart.lines.smooth ? a.smoothPath : a.straightPath,
1552
+ stroke: a.color,
1553
+ "stroke-width": e.value.style.chart.lines.strokeWidth,
1554
+ fill: "none",
1555
+ "stroke-linecap": "round",
1556
+ style: Te({
1557
+ transition: M(ve) || !e.value.useCssAnimation ? void 0 : "all 0.3s ease-in-out"
1558
+ })
1559
+ }, null, 12, qo))), 256)),
1560
+ e.value.style.chart.grid.y.axisLabels.show && !e.value.style.chart.lines.distributed ? (i(), h("g", {
1561
+ key: 9,
1562
+ ref_key: "scaleLabels",
1563
+ ref: vt
1564
+ }, [
1565
+ (i(!0), h(E, null, W($e.value, (a, o) => (i(), h("line", {
1566
+ x1: Z.value.left,
1567
+ x2: Z.value.left - 6,
1568
+ y1: a.y,
1569
+ y2: a.y,
1570
+ stroke: e.value.style.chart.grid.x.axisColor,
1571
+ "stroke-width": 1
1572
+ }, null, 8, Go))), 256)),
1573
+ (i(!0), h(E, null, W($e.value, (a, o) => (i(), h("text", {
1574
+ x: a.x,
1575
+ y: a.y + e.value.style.chart.grid.y.axisLabels.fontSize / 3,
1576
+ "font-size": e.value.style.chart.grid.y.axisLabels.fontSize,
1577
+ "font-weight": e.value.style.chart.grid.y.axisLabels.bold ? "bold" : "normal",
1578
+ fill: e.value.style.chart.grid.y.axisLabels.color,
1579
+ "text-anchor": "end"
1580
+ }, me(M(Xe)(
1581
+ e.value.style.chart.grid.y.axisLabels.formatter,
1582
+ a.value,
1583
+ M(ke)({
1584
+ p: e.value.style.chart.lines.dataLabels.prefix,
1585
+ v: a.value,
1586
+ s: e.value.style.chart.lines.dataLabels.suffix,
1587
+ r: e.value.style.chart.grid.y.axisLabels.rounding
1588
+ }),
1589
+ { datapoint: a }
1590
+ )), 9, jo))), 256))
1591
+ ], 512)) : w("", !0),
1592
+ e.value.style.chart.grid.x.timeLabels.show ? (i(), h("g", {
1593
+ key: 10,
1594
+ ref_key: "timeLabelsEls",
1595
+ ref: je
1596
+ }, [
1597
+ t.$slots["time-label"] ? (i(), h("g", Jo, [
1598
+ (i(!0), h(E, null, W(kt.value, (a, o) => (i(), h("g", null, [
1599
+ _(t.$slots, "time-label", lt({ ref_for: !0 }, {
1600
+ x: v.value.left + Qe.value * o + Qe.value / 2,
1601
+ y: v.value.bottom + e.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + e.value.style.chart.grid.x.timeLabels.offsetY,
1602
+ fontSize: e.value.style.chart.grid.x.timeLabels.fontSize,
1603
+ fill: e.value.style.chart.grid.x.timeLabels.color,
1604
+ transform: `translate(${v.value.left + Qe.value * o + Qe.value / 2}, ${v.value.bottom + e.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + e.value.style.chart.grid.x.timeLabels.offsetY}), rotate(${e.value.style.chart.grid.x.timeLabels.rotation})`,
1605
+ absoluteIndex: a.absoluteIndex,
1606
+ content: a.text,
1607
+ textAnchor: e.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : e.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
1608
+ show: !0
1609
+ }), void 0, !0)
1610
+ ]))), 256))
1611
+ ])) : (i(), h("g", Zo, [
1612
+ (i(!0), h(E, null, W(kt.value, (a, o) => (i(), h("g", null, [
1613
+ String(a.text).includes(`
1614
+ `) ? (i(), h("text", {
1615
+ key: o + "-multi",
1616
+ "text-anchor": e.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : e.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
1617
+ "font-size": e.value.style.chart.grid.x.timeLabels.fontSize,
1618
+ fill: e.value.style.chart.grid.x.timeLabels.color,
1619
+ transform: `
1620
+ translate(
1621
+ ${se(o)},
1622
+ ${v.value.bottom + e.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + e.value.style.chart.grid.x.timeLabels.offsetY}
1623
+ ),
1624
+ rotate(${e.value.style.chart.grid.x.timeLabels.rotation})
1625
+ `,
1626
+ style: { cursor: "pointer" },
1627
+ innerHTML: t.createTSpansFromLineBreaksOnX({
1628
+ content: String(a.text),
1629
+ fontSize: e.value.style.chart.grid.x.timeLabels.fontSize,
1630
+ fill: e.value.style.chart.grid.x.timeLabels.color,
1631
+ x: 0,
1632
+ y: 0
1633
+ }),
1634
+ onClick: () => ma(a, o)
1635
+ }, null, 8, Qo)) : (i(), h("text", {
1636
+ class: "vue-data-ui-time-label",
1637
+ key: o,
1638
+ "text-anchor": e.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : e.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
1639
+ "font-size": e.value.style.chart.grid.x.timeLabels.fontSize,
1640
+ "font-weight": e.value.style.chart.grid.x.timeLabels.bold ? "bold" : "normal",
1641
+ fill: e.value.style.chart.grid.x.timeLabels.color,
1642
+ transform: `translate(${se(o)}, ${v.value.bottom + e.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + e.value.style.chart.grid.x.timeLabels.offsetY}), rotate(${e.value.style.chart.grid.x.timeLabels.rotation})`,
1643
+ style: { cursor: "pointer" },
1644
+ onClick: () => ma(a, o)
1645
+ }, me(a.text), 9, Ko))
1646
+ ]))), 256))
1647
+ ]))
1648
+ ], 512)) : w("", !0),
1649
+ (Ce.value || ![null, void 0].includes(x.value)) && !e.value.style.chart.highlighter.useLine ? (i(!0), h(E, { key: 11 }, W(c.value.end - c.value.start, (a, o) => (i(), h("g", {
1650
+ key: `tooltip_trap_highlighter_${o}`
1651
+ }, [
1652
+ ce("rect", {
1653
+ x: va(o).x,
1654
+ y: v.value.top,
1655
+ height: v.value.height,
1656
+ width: va(o).width,
1657
+ fill: [Ee.value, x.value].includes(o) ? M(io)(e.value.style.chart.highlighter.color, e.value.style.chart.highlighter.opacity) : "transparent",
1658
+ style: { transition: "none !important", animation: "none !important" }
1659
+ }, null, 8, es)
1660
+ ]))), 128)) : w("", !0),
1661
+ (Ce.value || ![null, void 0].includes(x.value)) && e.value.style.chart.highlighter.useLine ? (i(), h(E, { key: 12 }, [
1662
+ ![null, void 0].includes(x.value) || ![null, void 0].includes(Ee.value) ? (i(), h("g", ts, [
1663
+ ce("line", {
1664
+ x1: se((x.value ?? Ee.value) || 0),
1665
+ x2: se((x.value ?? Ee.value) || 0),
1666
+ y1: M(qe)(v.value.top),
1667
+ y2: M(qe)(v.value.bottom),
1668
+ stroke: e.value.style.chart.highlighter.color,
1669
+ "stroke-width": e.value.style.chart.highlighter.lineWidth,
1670
+ "stroke-dasharray": e.value.style.chart.highlighter.lineDasharray,
1671
+ "stroke-linecap": "round",
1672
+ style: { transition: "none !important", animation: "none !important", "pointer-events": "none" }
1673
+ }, null, 8, as)
1674
+ ])) : w("", !0)
1675
+ ], 64)) : w("", !0),
1676
+ (i(!0), h(E, null, W(T.value, (a) => (i(), h(E, null, [
1677
+ Ce.value && c.value.end - c.value.start > e.value.style.chart.lines.dot.hideAboveMaxSerieLength ? (i(), h("g", ls, [
1678
+ x.value != null ? (i(), h(E, { key: 0 }, [
1679
+ a.rel.includes(x.value) && a.fullSeries?.[c.value.start + x.value] != null && !Number.isNaN(a.fullSeries?.[c.value.start + x.value]) ? (i(), ue(Dt, {
1680
+ key: 0,
1681
+ shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(a.shape) ? a.shape : "circle",
1682
+ color: e.value.style.chart.lines.dot.useSerieColor ? a.color : e.value.style.chart.lines.dot.fill,
1683
+ plot: {
1684
+ x: M(za)(a.points[a.rel.indexOf(x.value)].x),
1685
+ y: M(za)(a.points[a.rel.indexOf(x.value)].y)
1686
+ },
1687
+ radius: e.value.style.chart.lines.dot.radius * 1.3,
1688
+ stroke: e.value.style.chart.lines.dot.useSerieColor ? e.value.style.chart.backgroundColor : a.color,
1689
+ strokeWidth: e.value.style.chart.lines.dot.strokeWidth,
1690
+ transition: M(ve) ? void 0 : `all ${e.value.style.chart.lines.transitionDurationMs}ms ease-in-out`
1691
+ }, null, 8, ["shape", "color", "plot", "radius", "stroke", "strokeWidth", "transition"])) : w("", !0)
1692
+ ], 64)) : w("", !0)
1693
+ ])) : w("", !0)
1694
+ ], 64))), 256)),
1695
+ (i(!0), h(E, null, W(T.value, (a) => (i(), h(E, null, [
1696
+ c.value.end - c.value.start < e.value.style.chart.lines.dot.hideAboveMaxSerieLength ? (i(!0), h(E, { key: 0 }, W(a.points, (o, s) => (i(), h("g", { key: s }, [
1697
+ a.fullSeries?.[c.value.start + a.rel[s]] != null && !Number.isNaN(a.fullSeries?.[c.value.start + a.rel[s]]) ? (i(), ue(Dt, {
1698
+ key: 0,
1699
+ shape: ["triangle", "square", "diamond", "pentagon", "hexagon", "star"].includes(a.shape) ? a.shape : "circle",
1700
+ color: e.value.style.chart.lines.dot.useSerieColor ? a.color : e.value.style.chart.lines.dot.fill,
1701
+ plot: { x: o.x, y: o.y },
1702
+ radius: Ce.value && x.value === a.rel[s] ? e.value.style.chart.lines.dot.radius * 1.3 : e.value.style.chart.lines.dot.radius,
1703
+ stroke: e.value.style.chart.lines.dot.useSerieColor ? e.value.style.chart.backgroundColor : a.color,
1704
+ strokeWidth: e.value.style.chart.lines.dot.strokeWidth,
1705
+ transition: M(ve) ? void 0 : `all ${e.value.style.chart.lines.transitionDurationMs}ms ease-in-out`
1706
+ }, null, 8, ["shape", "color", "plot", "radius", "stroke", "strokeWidth", "transition"])) : w("", !0)
1707
+ ]))), 128)) : w("", !0)
1708
+ ], 64))), 256)),
1709
+ q.value.dataLabels.show && e.value.style.chart.lines.dataLabels.hideAboveMaxSerieLength > c.value.end - c.value.start ? (i(), h(E, { key: 13 }, [
1710
+ (i(!0), h(E, null, W(T.value, (a, o) => (i(), h("g", { key: o }, [
1711
+ (i(!0), h(E, null, W(a.points, (s, r) => (i(), h(E, { key: r }, [
1712
+ Vl(a.series[r], a.proportions[r]) ? (i(), h("text", {
1713
+ key: 0,
1714
+ x: s.x,
1715
+ y: s.y + (a.series[r] >= 0 ? -e.value.style.chart.lines.dataLabels.fontSize / 2 + e.value.style.chart.lines.dataLabels.offsetY : e.value.style.chart.lines.dataLabels.fontSize * 1.2 - e.value.style.chart.lines.dataLabels.offsetY),
1716
+ "font-size": e.value.style.chart.lines.dataLabels.fontSize,
1717
+ fill: e.value.style.chart.lines.dataLabels.color,
1718
+ "font-weight": e.value.style.chart.lines.dataLabels.bold ? "bold" : "normal",
1719
+ "text-anchor": "middle"
1720
+ }, me(e.value.style.chart.lines.showDistributedPercentage && e.value.style.chart.lines.distributed ? Hl(a.proportions[r] * 100, a, o, a.rel[r]) : Sa(a.series[r], a, o, a.rel[r], a.signedSeries[r])), 9, os)) : w("", !0)
1721
+ ], 64))), 128))
1722
+ ]))), 128)),
1723
+ e.value.style.chart.lines.totalValues.show && T.value.length > 1 ? (i(), h("g", {
1724
+ key: 0,
1725
+ ref_key: "sumTop",
1726
+ ref: sl
1727
+ }, [
1728
+ (i(!0), h(E, null, W(ra.value, (a, o) => (i(), h(E, null, [
1729
+ !e.value.style.chart.lines.dataLabels.hideEmptyValues || a.value !== 0 ? (i(), h("text", {
1730
+ key: 0,
1731
+ x: se(o),
1732
+ y: pl(o),
1733
+ "text-anchor": "middle",
1734
+ "font-size": e.value.style.chart.lines.totalValues.fontSize,
1735
+ "font-weight": e.value.style.chart.lines.totalValues.bold ? "bold" : "normal",
1736
+ fill: e.value.style.chart.lines.totalValues.color
1737
+ }, me(Sa(a.value, a, o, o, a.sign)), 9, ss)) : w("", !0)
1738
+ ], 64))), 256))
1739
+ ], 512)) : w("", !0)
1740
+ ], 64)) : w("", !0),
1741
+ ta.value ? (i(), h("rect", lt({ key: 14 }, vl.value, {
1742
+ "data-start": c.value.start,
1743
+ "data-end": c.value.end
1744
+ }), null, 16, rs)) : w("", !0),
1745
+ _(t.$slots, "svg", {
1746
+ svg: {
1747
+ drawingArea: v.value,
1748
+ data: T.value
1749
+ }
1750
+ }, void 0, !0)
1751
+ ], 46, _o)),
1752
+ t.$slots.watermark ? (i(), h("div", ns, [
1753
+ _(t.$slots, "watermark", ee(te({ isPrinting: M(Gt) || M(jt) })), void 0, !0)
1754
+ ])) : w("", !0),
1755
+ Ht.value ? (i(), ue(jl, {
1756
+ key: 5,
1757
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${K.value}` : `#legend-bottom-${K.value}`
1758
+ }, [
1759
+ ce("div", {
1760
+ ref_key: "chartLegend",
1761
+ ref: Rt
1762
+ }, [
1763
+ e.value.style.chart.legend.show ? (i(), ue($o, {
1764
+ key: 0,
1765
+ legendSet: Lt.value,
1766
+ config: Tl.value,
1767
+ onClickMarker: l[0] || (l[0] = ({ legend: a }) => a.segregate())
1768
+ }, Ft({
1769
+ item: D(({ legend: a }) => [
1770
+ M(ve) ? w("", !0) : (i(), h("div", {
1771
+ key: 0,
1772
+ onClick: (o) => a.segregate(),
1773
+ style: Te(`opacity:${X.value.includes(a.id) ? 0.5 : 1}`)
1774
+ }, me(a.name), 13, is))
1775
+ ]),
1776
+ _: 2
1777
+ }, [
1778
+ t.$slots.pattern ? {
1779
+ name: "legend-pattern",
1780
+ fn: D(({ legend: a, index: o }) => [
1781
+ Ue(Dt, {
1782
+ shape: a.shape,
1783
+ radius: 30,
1784
+ stroke: "none",
1785
+ plot: { x: 30, y: 30 },
1786
+ fill: `url(#pattern_${K.value}_${o})`
1787
+ }, null, 8, ["shape", "fill"])
1788
+ ]),
1789
+ key: "0"
1790
+ } : void 0
1791
+ ]), 1032, ["legendSet", "config"])) : _(t.$slots, "legend", {
1792
+ key: 1,
1793
+ legend: Lt.value
1794
+ }, void 0, !0)
1795
+ ], 512)
1796
+ ], 8, ["to"])) : w("", !0),
1797
+ ce("div", {
1798
+ id: `legend-bottom-${K.value}`
1799
+ }, null, 8, us),
1800
+ Fe.value && e.value.userOptions.buttons.table ? (i(), ue(Jl(Be.value.component), lt({ key: 6 }, Be.value.props, {
1801
+ ref_key: "tableUnit",
1802
+ ref: ze,
1803
+ onClose: pa
1804
+ }), Ft({
1805
+ content: D(() => [
1806
+ Ue(M(ja), {
1807
+ colNames: at.value.colNames,
1808
+ head: at.value.head,
1809
+ body: at.value.body,
1810
+ config: at.value.config,
1811
+ title: e.value.table.useDialog ? "" : Be.value.title,
1812
+ withCloseButton: !e.value.table.useDialog,
1813
+ onClose: pa
1814
+ }, {
1815
+ th: D(({ th: a }) => [
1816
+ ce("div", { innerHTML: a }, null, 8, cs)
1817
+ ]),
1818
+ td: D(({ td: a }) => [
1819
+ Na(me(isNaN(Number(a)) ? a : M(ke)({
1820
+ p: e.value.style.chart.lines.dataLabels.prefix,
1821
+ v: a,
1822
+ s: e.value.style.chart.lines.dataLabels.suffix,
1823
+ r: e.value.table.td.roundingValue
1824
+ })), 1)
1825
+ ]),
1826
+ _: 1
1827
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"])
1828
+ ]),
1829
+ _: 2
1830
+ }, [
1831
+ e.value.table.useDialog ? {
1832
+ name: "title",
1833
+ fn: D(() => [
1834
+ Na(me(Be.value.title), 1)
1835
+ ]),
1836
+ key: "0"
1837
+ } : void 0,
1838
+ e.value.table.useDialog ? {
1839
+ name: "actions",
1840
+ fn: D(() => [
1841
+ ce("button", {
1842
+ tabindex: "0",
1843
+ class: "vue-ui-user-options-button",
1844
+ onClick: l[1] || (l[1] = (a) => Tt(e.value.userOptions.callbacks.csv))
1845
+ }, [
1846
+ Ue(M(qa), {
1847
+ name: "excel",
1848
+ stroke: Be.value.props.color
1849
+ }, null, 8, ["stroke"])
1850
+ ])
1851
+ ]),
1852
+ key: "1"
1853
+ } : void 0
1854
+ ]), 1040)) : w("", !0),
1855
+ e.value.style.chart.zoom.show && ne.value > 6 && Fe.value && ua.value ? (i(), ue(Lo, {
1856
+ key: 7,
1857
+ ref_key: "chartSlicer",
1858
+ ref: _e,
1859
+ allMinimaps: gl.value,
1860
+ background: e.value.style.chart.zoom.color,
1861
+ borderColor: e.value.style.chart.backgroundColor,
1862
+ customFormat: e.value.style.chart.zoom.customFormat,
1863
+ cutNullValues: !1,
1864
+ enableRangeHandles: e.value.style.chart.zoom.enableRangeHandles,
1865
+ enableSelectionDrag: e.value.style.chart.zoom.enableSelectionDrag,
1866
+ end: c.value.end,
1867
+ focusOnDrag: e.value.style.chart.zoom.focusOnDrag,
1868
+ focusRangeRatio: e.value.style.chart.zoom.focusRangeRatio,
1869
+ fontSize: e.value.style.chart.zoom.fontSize,
1870
+ immediate: !e.value.style.chart.zoom.preview.enable,
1871
+ inputColor: e.value.style.chart.zoom.color,
1872
+ isPreview: ta.value,
1873
+ labelLeft: e.value.style.chart.grid.x.timeLabels.values[c.value.start] ? oe.value[0].text : "",
1874
+ labelRight: e.value.style.chart.grid.x.timeLabels.values[c.value.end - 1] ? oe.value.at(-1).text : "",
1875
+ max: Math.max(...nt.dataset.map((a) => a.series.length)),
1876
+ min: 0,
1877
+ minimap: sa.value,
1878
+ minimapCompact: e.value.style.chart.zoom.minimap.compact,
1879
+ minimapFrameColor: e.value.style.chart.zoom.minimap.frameColor,
1880
+ minimapIndicatorColor: e.value.style.chart.zoom.minimap.indicatorColor,
1881
+ minimapMerged: !1,
1882
+ minimapSelectedColor: e.value.style.chart.zoom.minimap.selectedColor,
1883
+ minimapSelectedColorOpacity: e.value.style.chart.zoom.minimap.selectedColorOpacity,
1884
+ minimapSelectedIndex: x.value,
1885
+ minimapSelectionRadius: 1,
1886
+ preciseLabels: ia.value.length ? ia.value : Oe.value,
1887
+ refreshEndPoint: e.value.style.chart.zoom.endIndex !== null ? e.value.style.chart.zoom.endIndex + 1 : Math.max(...nt.dataset.map((a) => a.series.length)),
1888
+ refreshStartPoint: e.value.style.chart.zoom.startIndex !== null ? e.value.style.chart.zoom.startIndex : 0,
1889
+ selectColor: e.value.style.chart.zoom.highlightColor,
1890
+ selectedSeries: Rl.value,
1891
+ smoothMinimap: !1,
1892
+ start: c.value.start,
1893
+ textColor: e.value.style.chart.color,
1894
+ timeLabels: Oe.value,
1895
+ usePreciseLabels: e.value.style.chart.grid.x.timeLabels.datetimeFormatter.enable && !e.value.style.chart.zoom.useDefaultFormat,
1896
+ valueEnd: c.value.end,
1897
+ valueStart: c.value.start,
1898
+ verticalHandles: e.value.style.chart.zoom.minimap.verticalHandles,
1899
+ "onUpdate:end": Cl,
1900
+ "onUpdate:start": kl,
1901
+ onTrapMouse: dl,
1902
+ onReset: la,
1903
+ onFutureEnd: l[2] || (l[2] = (a) => aa("end", a)),
1904
+ onFutureStart: l[3] || (l[3] = (a) => aa("start", a))
1905
+ }, {
1906
+ "reset-action": D(({ reset: a }) => [
1907
+ _(t.$slots, "reset-action", ee(te({ reset: a })), void 0, !0)
1908
+ ]),
1909
+ slotMap: D(({ width: a, height: o, unitW: s }) => [
1910
+ ce("g", {
1911
+ innerHTML: Bl({ minimapH: o, unitW: s })
1912
+ }, null, 8, hs)
1913
+ ]),
1914
+ _: 3
1915
+ }, 8, ["allMinimaps", "background", "borderColor", "customFormat", "enableRangeHandles", "enableSelectionDrag", "end", "focusOnDrag", "focusRangeRatio", "fontSize", "immediate", "inputColor", "isPreview", "labelLeft", "labelRight", "max", "minimap", "minimapCompact", "minimapFrameColor", "minimapIndicatorColor", "minimapSelectedColor", "minimapSelectedColorOpacity", "minimapSelectedIndex", "preciseLabels", "refreshEndPoint", "refreshStartPoint", "selectColor", "selectedSeries", "start", "textColor", "timeLabels", "usePreciseLabels", "valueEnd", "valueStart", "verticalHandles"])) : w("", !0),
1916
+ Ue(M(Xa), {
1917
+ show: q.value.showTooltip && Et.value,
1918
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
1919
+ color: e.value.style.chart.tooltip.color,
1920
+ fontSize: e.value.style.chart.tooltip.fontSize,
1921
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
1922
+ borderColor: e.value.style.chart.tooltip.borderColor,
1923
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
1924
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
1925
+ position: e.value.style.chart.tooltip.position,
1926
+ offsetY: e.value.style.chart.tooltip.offsetY,
1927
+ parent: he.value,
1928
+ content: Ll.value,
1929
+ isFullscreen: De.value,
1930
+ isCustom: e.value.style.chart.tooltip.customFormat && typeof e.value.style.chart.tooltip.customFormat == "function",
1931
+ smooth: e.value.style.chart.tooltip.smooth,
1932
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter,
1933
+ smoothForce: e.value.style.chart.tooltip.smoothForce,
1934
+ smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
1935
+ }, {
1936
+ "tooltip-before": D(() => [
1937
+ _(t.$slots, "tooltip-before", ee(te({ ...It.value })), void 0, !0)
1938
+ ]),
1939
+ "tooltip-after": D(() => [
1940
+ _(t.$slots, "tooltip-after", ee(te({ ...It.value })), void 0, !0)
1941
+ ]),
1942
+ _: 3
1943
+ }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1944
+ t.$slots.source ? (i(), h("div", {
1945
+ key: 8,
1946
+ ref_key: "source",
1947
+ ref: Vt,
1948
+ dir: "auto"
1949
+ }, [
1950
+ _(t.$slots, "source", {}, void 0, !0)
1951
+ ], 512)) : w("", !0),
1952
+ M(ve) ? (i(), ue(po, { key: 9 })) : w("", !0)
1953
+ ], 46, No));
1954
+ }
1955
+ }, ds = /* @__PURE__ */ To(vs, [["__scopeId", "data-v-7212d0c3"]]), Ds = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1956
+ __proto__: null,
1957
+ default: ds
1958
+ }, Symbol.toStringTag, { value: "Module" }));
1959
+ export {
1960
+ _s as a,
1961
+ Ds as b,
1962
+ ds as v
1963
+ };