vue-data-ui 3.24.0 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/{Arrow-CJuuMivt.js → Arrow-cWEoIMbe.js} +1 -1
  2. package/dist/{BaseDraggableDialog-9RMU4zIz.js → BaseDraggableDialog-obpncsqR.js} +2 -2
  3. package/dist/{BaseIcon-U0y1Y7dC.js → BaseIcon-Dmgd8MfJ.js} +1 -1
  4. package/dist/{BaseLegendToggle-B_wibe7d.js → BaseLegendToggle-Dj1a_tSb.js} +1 -1
  5. package/dist/{BaseZoomControls-DXDTBATh.js → BaseZoomControls-CdYm4Qh4.js} +2 -2
  6. package/dist/{ColorPicker-Diee0Pe9.js → ColorPicker-B93_eq_J.js} +2 -2
  7. package/dist/{DataTable-1Lsn9w61.js → DataTable-D6vq6n14.js} +2 -2
  8. package/dist/{HillActions-DntqVj-0.js → HillActions-D0OMo0PZ.js} +1 -1
  9. package/dist/{Legend-Cg1jtWxv.js → Legend-Du6YK6gu.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-aCu8CNkj.js → NonSvgPenAndPaper-DbwjIxnE.js} +3 -3
  11. package/dist/{PackageVersion-CrLLZ567.js → PackageVersion-CU9Hflo-.js} +1 -1
  12. package/dist/{PenAndPaper-ktbpEc-t.js → PenAndPaper-CD5tlFYh.js} +3 -3
  13. package/dist/{Shape-BV_BCG2F.js → Shape-Dqpgbk7w.js} +1 -1
  14. package/dist/{SlicerPreview-CsFT236o.js → SlicerPreview-BSjcCjhA.js} +2 -2
  15. package/dist/{SparkTooltip-BqzJa3h2.js → SparkTooltip-Da4O7iOD.js} +1 -1
  16. package/dist/{Title-C5ytqOnj.js → Title-y2KUSK-I.js} +1 -1
  17. package/dist/{Tooltip-CTgk02J6.js → Tooltip-CLpW5URN.js} +1 -1
  18. package/dist/{UserOptions-DJt-e5q0.js → UserOptions-3Qr8es3g.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-K9hvrmBm.js → dom-to-png-CQUIoewh.js} +1 -1
  91. package/dist/{exposedLib-CNHCqGuG.js → exposedLib-4fR8MXNd.js} +1 -1
  92. package/dist/{img-DRq3Equ5.js → img-D3Ck2d_T.js} +1 -1
  93. package/dist/{labelUtils-CSh956Gz.js → labelUtils-CJ6EaaYo.js} +1 -1
  94. package/dist/{lib-DfMn_3jf.js → lib-DurLxjMz.js} +21 -42
  95. package/dist/{package-DwX5gXIb.js → package-CawqE4gj.js} +1 -1
  96. package/dist/{pdf-CglSdC4O.js → pdf-2aQfvzB9.js} +1 -1
  97. package/dist/{render-common-DruozHP7.js → render-common-DrbN2WgW.js} +2 -2
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +6 -0
  103. package/dist/{useConfig-BtJSJ6AK.js → useConfig-CyCVHo81.js} +27 -17
  104. package/dist/{useNestedProp-CLEe1P5W.js → useNestedProp-B3XMQAL1.js} +1 -1
  105. package/dist/{useObjectBindings-CgRKOMSB.js → useObjectBindings-ByORl1rV.js} +1 -1
  106. package/dist/{usePrinter-Daqyj6c7.js → usePrinter-D53IAxB2.js} +2 -2
  107. package/dist/utils.js +3 -3
  108. package/dist/{vue-data-ui-C37q2rbt.js → vue-data-ui-DHA6rnQ7.js} +70 -70
  109. package/dist/vue-data-ui.js +74 -74
  110. package/dist/{vue-ui-3d-bar-B_z643_d.js → vue-ui-3d-bar-B3bLF2Fp.js} +7 -7
  111. package/dist/{vue-ui-accordion-BhOSscZB.js → vue-ui-accordion-D2W-dY3E.js} +4 -4
  112. package/dist/{vue-ui-age-pyramid-CS1J-mHZ.js → vue-ui-age-pyramid-CvRi9Web.js} +7 -7
  113. package/dist/{vue-ui-annotator-DmTbmRrw.js → vue-ui-annotator-BTozB0Fb.js} +7 -7
  114. package/dist/{vue-ui-bullet-BUuF_-rE.js → vue-ui-bullet-BbCPpZ5k.js} +8 -8
  115. package/dist/{vue-ui-bump-Dt13LCR2.js → vue-ui-bump-FZIoCybJ.js} +100 -96
  116. package/dist/{vue-ui-candlestick-CgvK082R.js → vue-ui-candlestick-IlS8zO5O.js} +431 -416
  117. package/dist/{vue-ui-carousel-table-C6IZZLpG.js → vue-ui-carousel-table-DokjHbNr.js} +5 -5
  118. package/dist/{vue-ui-chestnut-B03dTYpe.js → vue-ui-chestnut-DoUFUSVm.js} +6 -6
  119. package/dist/{vue-ui-chord-R7YLYkOS.js → vue-ui-chord-6t-7dxVu.js} +9 -9
  120. package/dist/{vue-ui-circle-pack-CxIJbXSK.js → vue-ui-circle-pack-CexF2pcc.js} +7 -7
  121. package/dist/{vue-ui-cursor-Bqm8zbqD.js → vue-ui-cursor-YbgOW5z6.js} +4 -4
  122. package/dist/{vue-ui-dag-TqlqeLgZ.js → vue-ui-dag-B4RKzj4H.js} +8 -8
  123. package/dist/{vue-ui-dashboard-W0PV1gGV.js → vue-ui-dashboard-BUXA_h5X.js} +70 -70
  124. package/dist/{vue-ui-digits-D3VKW9O0.js → vue-ui-digits-C4eNwkQW.js} +4 -4
  125. package/dist/{vue-ui-donut-8W7ZV_hU.js → vue-ui-donut-BS9ICnxW.js} +3 -3
  126. package/dist/{vue-ui-donut-C_CUqRdv.js → vue-ui-donut-DBhaQARJ.js} +11 -11
  127. package/dist/{vue-ui-donut-evolution-CHQHSkpq.js → vue-ui-donut-evolution-B0v3uJNo.js} +10 -10
  128. package/dist/{vue-ui-dumbbell-D3G5uL-P.js → vue-ui-dumbbell-Dj-FFcXl.js} +8 -8
  129. package/dist/{vue-ui-flow-CjvO8Fsp.js → vue-ui-flow-CGjXnUTR.js} +8 -8
  130. package/dist/{vue-ui-funnel-eHR9hTpj.js → vue-ui-funnel-B8qoKSY6.js} +7 -7
  131. package/dist/{vue-ui-galaxy-DBarvxFP.js → vue-ui-galaxy-BOqqpg7g.js} +10 -10
  132. package/dist/{vue-ui-gauge-Cz6PC_H5.js → vue-ui-gauge-C6gbloYZ.js} +7 -7
  133. package/dist/{vue-ui-geo-BmjzP6NK.js → vue-ui-geo-BMRhXP7L.js} +8 -8
  134. package/dist/{vue-ui-gizmo-BChwImvX.js → vue-ui-gizmo-DjnW3oDO.js} +4 -4
  135. package/dist/{vue-ui-heatmap-h0_V5jv6.js → vue-ui-heatmap-DyxHJCSO.js} +8 -8
  136. package/dist/{vue-ui-hill-D_2DFdNy.js → vue-ui-hill-C4osOxU0.js} +7 -7
  137. package/dist/{vue-ui-history-plot-Bis3f9Ub.js → vue-ui-history-plot-Cwi7sVNg.js} +9 -9
  138. package/dist/{vue-ui-horizontal-bar-2AOgQ694.js → vue-ui-horizontal-bar-CrgP4Bm8.js} +11 -11
  139. package/dist/{vue-ui-kpi-k0yLSsqF.js → vue-ui-kpi-is2_nVkE.js} +4 -4
  140. package/dist/{vue-ui-label-aHnVFvfK.js → vue-ui-label-BbX73tEX.js} +4 -4
  141. package/dist/{vue-ui-mini-loader-DUsSEO5b.js → vue-ui-mini-loader-DntLxOr0.js} +3 -3
  142. package/dist/{vue-ui-molecule--1J4__BY.js → vue-ui-molecule-CIY3r7HA.js} +6 -6
  143. package/dist/{vue-ui-mood-radar-BEruKK_i.js → vue-ui-mood-radar-CezYlJmD.js} +8 -8
  144. package/dist/{vue-ui-nested-donuts-MBeHoc-t.js → vue-ui-nested-donuts-CF7YdoRx.js} +10 -10
  145. package/dist/{vue-ui-onion-j0eEGvru.js → vue-ui-onion-Chk8CzSw.js} +10 -10
  146. package/dist/{vue-ui-parallel-coordinate-plot-BvuYSu3N.js → vue-ui-parallel-coordinate-plot-hKkob-cX.js} +10 -10
  147. package/dist/{vue-ui-quadrant-DWtwr7JT.js → vue-ui-quadrant-B3Wy4REJ.js} +10 -10
  148. package/dist/{vue-ui-quick-chart-vhICAvQe.js → vue-ui-quick-chart-rUvFKRs1.js} +8 -8
  149. package/dist/{vue-ui-radar-e9eoRxOC.js → vue-ui-radar-DA5EnHNt.js} +9 -9
  150. package/dist/{vue-ui-rating-WsMfVsJN.js → vue-ui-rating-DglGQ_DQ.js} +3 -3
  151. package/dist/{vue-ui-relation-circle-NgJ8121q.js → vue-ui-relation-circle-ta7aeXOK.js} +7 -7
  152. package/dist/{vue-ui-ridgeline-BZ1Czz8V.js → vue-ui-ridgeline-BDqNGJ20.js} +20 -13
  153. package/dist/{vue-ui-rings-grgJPuxE.js → vue-ui-rings-BbSBLvb4.js} +13 -13
  154. package/dist/{vue-ui-scatter-DuqZxbZD.js → vue-ui-scatter-DwgFHsYb.js} +10 -10
  155. package/dist/{vue-ui-skeleton-CnexlOV6.js → vue-ui-skeleton-UP0Bv65Q.js} +4 -4
  156. package/dist/{vue-ui-smiley-Bvs5RJtM.js → vue-ui-smiley-CmN35dmK.js} +3 -3
  157. package/dist/{vue-ui-spark-trend-C2knAS0F.js → vue-ui-spark-trend-BHC8GKeh.js} +4 -4
  158. package/dist/vue-ui-sparkbar-DG5Lx7L_.js +401 -0
  159. package/dist/{vue-ui-sparkgauge-CCkcq4Wh.js → vue-ui-sparkgauge-Budj4a8D.js} +4 -4
  160. package/dist/{vue-ui-sparkhistogram-B-fzheQo.js → vue-ui-sparkhistogram-EF6l_8DB.js} +5 -5
  161. package/dist/{vue-ui-sparkline-DVYlqELY.js → vue-ui-sparkline-Bt3WUBs7.js} +4 -4
  162. package/dist/vue-ui-sparkstackbar-zcc269TN.js +738 -0
  163. package/dist/{vue-ui-stackbar-CIUS0xkc.js → vue-ui-stackbar-RFBCfoIt.js} +612 -596
  164. package/dist/vue-ui-stackline-B2cHovb4.js +2463 -0
  165. package/dist/{vue-ui-strip-plot-Sshmlk9v.js → vue-ui-strip-plot-Cu-cVKCS.js} +8 -8
  166. package/dist/{vue-ui-table-DSUvcqI9.js → vue-ui-table-BukgLZ8K.js} +6 -6
  167. package/dist/{vue-ui-table-heatmap-btnDozZ-.js → vue-ui-table-heatmap-y9oWnS6t.js} +6 -6
  168. package/dist/{vue-ui-table-sparkline-C12IgrZG.js → vue-ui-table-sparkline-B4V_s9rK.js} +5 -5
  169. package/dist/{vue-ui-thermometer-3ZSPCE1q.js → vue-ui-thermometer-CqVDnPmF.js} +7 -7
  170. package/dist/{vue-ui-timer-Birf1RVz.js → vue-ui-timer-D2pn3RWL.js} +6 -6
  171. package/dist/{vue-ui-tiremarks-BuzKLW5l.js → vue-ui-tiremarks-BMIIhkaB.js} +7 -7
  172. package/dist/{vue-ui-treemap-DMwq5MYv.js → vue-ui-treemap-fFJPPf8-.js} +10 -10
  173. package/dist/{vue-ui-waffle-wjn4e1mz.js → vue-ui-waffle-B9TaBdel.js} +11 -11
  174. package/dist/{vue-ui-wheel-BS6f8xC-.js → vue-ui-wheel-BN-YBzNj.js} +7 -7
  175. package/dist/{vue-ui-word-cloud-BH1JB5hg.js → vue-ui-word-cloud-CZzUlZBc.js} +8 -8
  176. package/dist/{vue-ui-world-DtNML6Oz.js → vue-ui-world-C--4pHTs.js} +8 -8
  177. package/dist/{vue-ui-xy-DNvRGCN_.js → vue-ui-xy-16TcfetH.js} +47 -28
  178. package/dist/{vue-ui-xy-B9S7cAhC.js → vue-ui-xy-BTh5QolL.js} +31 -17
  179. package/dist/{vue-ui-xy-canvas-Hk0x8dd_.js → vue-ui-xy-canvas-BzbNRbft.js} +12 -12
  180. package/package.json +3 -3
  181. package/dist/vue-ui-sparkbar-Daxkni2h.js +0 -400
  182. package/dist/vue-ui-sparkstackbar-pip0BOeZ.js +0 -688
  183. package/dist/vue-ui-stackline-Dy4tIQwk.js +0 -2447
@@ -0,0 +1,2463 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, At as n, Ct as r, D as i, Ht as a, It as o, Jt as s, Kt as c, M as l, Nt as u, P as d, S as f, St as p, V as m, X as h, Xt as g, _, b as v, c as ee, ft as te, i as y, lt as ne, mt as re, nt as ie, q as ae, qt as oe, st as se, t as ce, v as le, w as ue, yt as de, z as fe } from "./lib-DurLxjMz.js";
3
+ import { n as pe, t as me } from "./useHints-Dq_w2E8B.js";
4
+ import { n as he, r as ge, t as _e } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as ve } from "./useConfig-CyCVHo81.js";
6
+ import { t as ye } from "./usePrinter-D53IAxB2.js";
7
+ import { n as be, t as xe } from "./BaseScanner-DZvpgOjM.js";
8
+ import { t as Se } from "./useNestedProp-B3XMQAL1.js";
9
+ import { t as Ce } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as we } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as Te } from "./useTransitions-g_zBREk2.js";
12
+ import { t as Ee } from "./useStableElementSize-C7KADDKj.js";
13
+ import { t as De } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
+ import { t as Oe } from "./img-D3Ck2d_T.js";
15
+ import { n as ke } from "./Title-y2KUSK-I.js";
16
+ import { t as Ae } from "./Shape-Dqpgbk7w.js";
17
+ import { t as je } from "./_plugin-vue_export-helper-B3ysoDQm.js";
18
+ import { l as Me, t as Ne } from "./useResponsive-ZtArZtUf.js";
19
+ import { t as Pe } from "./DefGrad-DVBqDjhO.js";
20
+ import { t as Fe } from "./SlicerPreview-BSjcCjhA.js";
21
+ import { t as Ie } from "./BaseLegendToggle-Dj1a_tSb.js";
22
+ import { t as Le } from "./A11yDataTable-DdRsVULz.js";
23
+ import { t as Re } from "./useUserOptionState-DK-_1ddE.js";
24
+ import { t as ze } from "./useChartAccessibility-DYqac8yF.js";
25
+ import { t as Be } from "./Legend-Du6YK6gu.js";
26
+ import { t as Ve } from "./vue_ui_stackline-DQqKPA9z.js";
27
+ import { Fragment as b, Teleport as He, computed as x, createBlock as S, createCommentVNode as C, createElementBlock as w, createElementVNode as T, createSlots as Ue, createTextVNode as We, createVNode as Ge, defineAsyncComponent as Ke, guardReactiveProps as E, mergeProps as qe, nextTick as Je, normalizeClass as Ye, normalizeProps as D, normalizeStyle as Xe, onBeforeUnmount as Ze, onMounted as Qe, openBlock as O, ref as k, renderList as A, renderSlot as j, resolveDynamicComponent as $e, shallowRef as et, toDisplayString as M, toRefs as tt, unref as N, useSlots as nt, watch as rt, watchEffect as it, withCtx as P } from "vue";
28
+ //#region src/components/vue-ui-stackline.vue
29
+ var at = /* @__PURE__ */ e({ default: () => Ut }), ot = ["id"], st = ["id"], ct = ["id"], lt = { style: { position: "relative" } }, ut = [
30
+ "aria-describedby",
31
+ "xmlns",
32
+ "viewBox"
33
+ ], dt = { key: 0 }, ft = [
34
+ "x",
35
+ "y",
36
+ "width",
37
+ "height"
38
+ ], pt = { key: 1 }, mt = [
39
+ "x1",
40
+ "x2",
41
+ "y1",
42
+ "y2",
43
+ "stroke",
44
+ "stroke-width",
45
+ "stroke-dasharray"
46
+ ], ht = [
47
+ "x1",
48
+ "x2",
49
+ "y1",
50
+ "y2",
51
+ "stroke",
52
+ "stroke-width",
53
+ "stroke-dasharray"
54
+ ], gt = [
55
+ "x1",
56
+ "x2",
57
+ "y1",
58
+ "y2",
59
+ "stroke",
60
+ "stroke-width"
61
+ ], _t = [
62
+ "x1",
63
+ "x2",
64
+ "y1",
65
+ "y2",
66
+ "stroke",
67
+ "stroke-width"
68
+ ], vt = [
69
+ "x",
70
+ "y",
71
+ "font-size",
72
+ "fill",
73
+ "font-weight"
74
+ ], yt = [
75
+ "transform",
76
+ "font-size",
77
+ "fill",
78
+ "font-weight"
79
+ ], bt = [
80
+ "x",
81
+ "y",
82
+ "width",
83
+ "height",
84
+ "stroke",
85
+ "stroke-width",
86
+ "stroke-linecap",
87
+ "stroke-linejoin",
88
+ "stroke-dasharray"
89
+ ], xt = [
90
+ "d",
91
+ "fill",
92
+ "opacity"
93
+ ], St = [
94
+ "d",
95
+ "stroke",
96
+ "stroke-width"
97
+ ], Ct = [
98
+ "x1",
99
+ "x2",
100
+ "y1",
101
+ "y2",
102
+ "stroke"
103
+ ], wt = [
104
+ "transform",
105
+ "font-size",
106
+ "font-weight",
107
+ "fill",
108
+ "text-anchor"
109
+ ], Tt = { key: 0 }, Et = { key: 1 }, Dt = [
110
+ "text-anchor",
111
+ "font-size",
112
+ "font-weight",
113
+ "fill",
114
+ "stroke",
115
+ "transform",
116
+ "onClick"
117
+ ], Ot = [
118
+ "text-anchor",
119
+ "font-size",
120
+ "fill",
121
+ "transform",
122
+ "innerHTML",
123
+ "onClick"
124
+ ], kt = [
125
+ "x",
126
+ "y",
127
+ "height",
128
+ "width",
129
+ "fill"
130
+ ], At = { key: 0 }, jt = [
131
+ "x1",
132
+ "x2",
133
+ "y1",
134
+ "y2",
135
+ "stroke",
136
+ "stroke-width",
137
+ "stroke-dasharray"
138
+ ], Mt = { key: 0 }, Nt = [
139
+ "transform",
140
+ "font-size",
141
+ "fill",
142
+ "font-weight"
143
+ ], Pt = [
144
+ "transform",
145
+ "font-size",
146
+ "font-weight",
147
+ "fill"
148
+ ], Ft = ["data-start", "data-end"], It = {
149
+ key: 0,
150
+ style: {
151
+ position: "absolute",
152
+ top: "100%",
153
+ left: "0",
154
+ width: "100%"
155
+ },
156
+ "data-dom-to-png-ignore": "",
157
+ "aria-hidden": "true"
158
+ }, Lt = {
159
+ key: 5,
160
+ class: "vue-data-ui-watermark"
161
+ }, Rt = ["onClick"], zt = { key: 0 }, Bt = { key: 1 }, Vt = ["innerHTML"], Ht = ["id"], Ut = /*#__PURE__*/ je({
162
+ __name: "vue-ui-stackline",
163
+ props: {
164
+ config: {
165
+ type: Object,
166
+ default() {
167
+ return {};
168
+ }
169
+ },
170
+ dataset: {
171
+ type: Array,
172
+ default() {
173
+ return [];
174
+ }
175
+ },
176
+ selectedXIndex: {
177
+ type: Number,
178
+ default: void 0
179
+ }
180
+ },
181
+ emits: [
182
+ "selectDatapoint",
183
+ "selectLegend",
184
+ "selectTimeLabel",
185
+ "selectX",
186
+ "copyAlt"
187
+ ],
188
+ setup(e, { expose: je, emit: at }) {
189
+ let Ut = Ke(() => import("./Tooltip-CLpW5URN.js")), Wt = Ke(() => import("./BaseIcon-Dmgd8MfJ.js").then((e) => e.n)), Gt = Ke(() => import("./vue-ui-accordion-D2W-dY3E.js").then((e) => e.n)), Kt = Ke(() => import("./DataTable-D6vq6n14.js")), qt = Ke(() => import("./PenAndPaper-CD5tlFYh.js").then((e) => e.t)), Jt = Ke(() => import("./UserOptions-3Qr8es3g.js").then((e) => e.n)), Yt = Ke(() => import("./PackageVersion-CU9Hflo-.js").then((e) => e.t)), Xt = Ke(() => import("./BaseDraggableDialog-obpncsqR.js").then((e) => e.n)), { vue_ui_stackline: Zt } = ve(), { isThemeValid: Qt, warnInvalidTheme: $t } = Ce(), en = nt(), F = e, I = at, tn = x({
190
+ get() {
191
+ return !!F.dataset && F.dataset.length;
192
+ },
193
+ set(e) {
194
+ return e;
195
+ }
196
+ }), L = k(null), R = k(ae()), nn = k(!1), z = k([]), rn = k(0), an = k(null), on = k(null), sn = k(null), cn = k(null), ln = k(null), un = k(!1), dn = k(!1), fn = k(0), pn = k(0), mn = k(0), hn = k(!1), gn = k(null), _n = k(null), vn = k(!1), yn = k(null), bn = k(null), xn = k(null), Sn = k(null), Cn = k(null), wn = et(null), Tn = k(!1), En = k(0), Dn = k(0), B = k(null), On = k({
197
+ x: 0,
198
+ y: 0
199
+ }), kn = k("pointer"), An = Ee({
200
+ elementRef: wn,
201
+ minimumWidth: 2,
202
+ minimumHeight: 2,
203
+ stableFramesRequired: 2,
204
+ once: !1,
205
+ onSizeAccepted: () => {
206
+ Nn();
207
+ }
208
+ });
209
+ function jn() {
210
+ wn.value = L.value?.parentNode ?? null;
211
+ }
212
+ function Mn() {
213
+ return new Promise((e) => {
214
+ requestAnimationFrame(() => {
215
+ requestAnimationFrame(e);
216
+ });
217
+ });
218
+ }
219
+ async function Nn() {
220
+ let e = ++Dn.value;
221
+ Tn.value = !1, await Je(), await Mn(), await Mn(), e === Dn.value && (En.value += 1, Tn.value = !0);
222
+ }
223
+ let Pn = k(null), Fn = k(!1);
224
+ function In() {
225
+ Fn.value = !Fn.value;
226
+ }
227
+ Qe(() => {
228
+ jn(), An.start(), hn.value = !0, cr(), Nn();
229
+ });
230
+ let V = k(Yn());
231
+ pe({
232
+ config: () => V.value,
233
+ dataset: () => F.dataset,
234
+ component: "VueUiStackline",
235
+ rules: [
236
+ me.emptyArray,
237
+ {
238
+ test: (e) => e.some((e) => e.series.length > 200),
239
+ message: [
240
+ "👀 Some series have > 200 datapoints, which can impact performance. Consider:",
241
+ "",
242
+ "▶️ Aggregating data to larger time units, to reduce the number of datapoints.",
243
+ "",
244
+ "▶️ Using filters to constraint the data to a specific time range."
245
+ ]
246
+ },
247
+ {
248
+ test: (e) => e.length > 6,
249
+ message: [
250
+ "👀 The number of series > 6, which can make the chart hard to read. Consider:",
251
+ "",
252
+ "▶️ Grouping small values into an \"Other\" category.",
253
+ "",
254
+ "▶️ Using filters to let users choose a maximum number of series to display."
255
+ ]
256
+ }
257
+ ]
258
+ });
259
+ let { transitionEnabled: Ln } = Te({
260
+ config: () => V.value.transitions,
261
+ dataset: () => F.dataset
262
+ }), Rn = x(() => V.value.userOptions.useCursorPointer), zn = x(() => g({
263
+ defaultConfig: {
264
+ userOptions: { show: !1 },
265
+ useCssAnimation: !1,
266
+ table: { show: !1 },
267
+ tooltip: { show: !1 },
268
+ style: { chart: {
269
+ backgroundColor: "#99999930",
270
+ lines: {
271
+ totalValues: { show: !1 },
272
+ dataLabels: { show: !1 }
273
+ },
274
+ grid: {
275
+ frame: { stroke: "#6A6A6A" },
276
+ scale: {
277
+ scaleMin: 0,
278
+ scaleMax: 144
279
+ },
280
+ x: {
281
+ axisColor: "#6A6A6A",
282
+ linesColor: "#6A6A6A",
283
+ axisName: { show: !1 },
284
+ timeLabels: { show: !1 }
285
+ },
286
+ y: {
287
+ axisColor: "#6A6A6A",
288
+ linesColor: "#6A6A6A",
289
+ axisName: { show: !1 },
290
+ axisLabels: { show: !1 }
291
+ }
292
+ },
293
+ legend: { backgroundColor: "transparent" },
294
+ padding: {
295
+ left: 24,
296
+ right: 24,
297
+ bottom: 12
298
+ },
299
+ zoom: {
300
+ show: !1,
301
+ startIndex: null,
302
+ endIndex: null,
303
+ keepState: !1
304
+ }
305
+ } }
306
+ },
307
+ userConfig: V.value.skeletonConfig ?? {}
308
+ })), { loading: Bn, FINAL_DATASET: Vn, manualLoading: Hn } = be({
309
+ ...tt(F),
310
+ FINAL_CONFIG: V,
311
+ prepareConfig: Yn,
312
+ callback: () => {
313
+ Promise.resolve().then(async () => {
314
+ (!V.value.style.chart.zoom.keepState || !ei.value || q.value.start === 0 && q.value.end === 0) && await ni();
315
+ });
316
+ },
317
+ skeletonDataset: F.config?.skeletonDataset ?? [{
318
+ name: "",
319
+ series: [
320
+ 3,
321
+ 2,
322
+ 1,
323
+ 5,
324
+ 13,
325
+ 21,
326
+ 8,
327
+ 89,
328
+ 34,
329
+ 55
330
+ ],
331
+ color: "#8A8A8A"
332
+ }, {
333
+ name: "",
334
+ series: [
335
+ 1,
336
+ 2,
337
+ 3,
338
+ 5,
339
+ 8,
340
+ 13,
341
+ 21,
342
+ 34,
343
+ 55,
344
+ 89
345
+ ],
346
+ color: "#CACACA"
347
+ }],
348
+ skeletonConfig: g({
349
+ defaultConfig: V.value,
350
+ userConfig: zn.value
351
+ })
352
+ }), { userOptionsVisible: Un, setUserOptionsVisibility: Wn, keepUserOptionState: Gn } = Re({ config: V.value }), { svgRef: Kn } = ze({ config: V.value.style.chart.title });
353
+ function qn() {
354
+ vn.value = !0, Wn(!0);
355
+ }
356
+ function Jn() {
357
+ Wn(!1), vn.value = !1, B.value = null, kn.value = "pointer", nn.value = !1, $.value = null, I("selectX", {
358
+ index: null,
359
+ indexLabel: null,
360
+ dataset: null
361
+ });
362
+ }
363
+ function Yn() {
364
+ let e = Se({
365
+ userConfig: F.config,
366
+ defaultConfig: Zt
367
+ }), t = {};
368
+ F.config && de(F.config, "style.chart.grid.x.timeLabels.showFirstAndLast") && (e.style.chart.grid.x.timeLabels.showFirstAndLast = !!F.config.style.chart.grid.x.timeLabels.showFirstAndLast);
369
+ let n = e.theme;
370
+ if (n) {
371
+ if (!Qt.value(e)) $t(e), t = e;
372
+ else {
373
+ let r = Se({
374
+ userConfig: Ve[n] || F.config,
375
+ defaultConfig: e
376
+ });
377
+ t = {
378
+ ...Se({
379
+ userConfig: F.config,
380
+ defaultConfig: r
381
+ }),
382
+ customPalette: e.customPalette.length ? e.customPalette : s[n] || o
383
+ };
384
+ }
385
+ } else t = e;
386
+ return t;
387
+ }
388
+ let Xn = x(() => V.value.style.chart.lines.dataLabels.hideUnderValue !== null), Zn = x(() => V.value.style.chart.lines.dataLabels.hideUnderPercentage !== null);
389
+ rt(() => F.config, (e) => {
390
+ Bn.value || (V.value = Yn()), Un.value = !V.value.userOptions.showOnChartHover, cr({ resetSlicer: !V.value.style.chart.zoom.keepState }), fn.value += 1, pn.value += 1, mn.value += 1, H.value.dataLabels.show = V.value.style.chart.lines.dataLabels.show, H.value.showTable = V.value.table.show, H.value.showTooltip = V.value.style.chart.tooltip.show, U.value.width = V.value.style.chart.width, U.value.height = V.value.style.chart.height, U.value.paddingRatio = {
391
+ top: V.value.style.chart.padding.top / V.value.style.chart.height,
392
+ right: V.value.style.chart.padding.right / V.value.style.chart.width,
393
+ bottom: V.value.style.chart.padding.bottom / V.value.style.chart.height,
394
+ left: V.value.style.chart.padding.left / V.value.style.chart.width
395
+ }, jn(), Nn(), !V.value.style.chart.zoom.keepState || !ei.value || q.value.start === 0 && q.value.end === 0 ? ni() : wr();
396
+ }, { deep: !0 }), rt(() => F.dataset, (e) => {
397
+ Array.isArray(e) && e.length > 0 && (Hn.value = !1), V.value.style.chart.zoom.keepState ? wr() : Dr(), jn(), Nn();
398
+ }, { deep: !0 });
399
+ let H = k({
400
+ dataLabels: { show: V.value.style.chart.lines.dataLabels.show },
401
+ showTable: V.value.table.show,
402
+ showTooltip: V.value.style.chart.tooltip.show
403
+ });
404
+ rt(V, () => {
405
+ H.value = {
406
+ dataLabels: { show: V.value.style.chart.lines.dataLabels.show },
407
+ showTable: V.value.table.show,
408
+ showTooltip: V.value.style.chart.tooltip.show
409
+ };
410
+ }, { immediate: !0 });
411
+ let { isPrinting: Qn, isImaging: $n, generatePdf: er, generateImage: tr } = ye({
412
+ elementId: `stackline_${R.value}`,
413
+ fileName: V.value.style.chart.title.text || "vue-ui-stackline",
414
+ options: V.value.userOptions.print
415
+ }), nr = x(() => V.value.userOptions.show && !V.value.style.chart.title.text), U = k({
416
+ width: V.value.style.chart.width,
417
+ height: V.value.style.chart.height,
418
+ paddingRatio: {
419
+ top: V.value.style.chart.padding.top / V.value.style.chart.height,
420
+ right: V.value.style.chart.padding.right / V.value.style.chart.width,
421
+ bottom: V.value.style.chart.padding.bottom / V.value.style.chart.height,
422
+ left: V.value.style.chart.padding.left / V.value.style.chart.width
423
+ }
424
+ }), rr = x(() => ue(V.value.customPalette)), ir = et(null), ar = et(null), or = k(null), sr = x(() => V.value.debug);
425
+ function cr({ resetSlicer: e = !0 } = {}) {
426
+ if (u(F.dataset) ? (ie({
427
+ componentName: "VueUiStackline",
428
+ type: "dataset",
429
+ debug: sr.value
430
+ }), Hn.value = !0) : F.dataset.forEach((e, t) => {
431
+ re({
432
+ datasetObject: e,
433
+ requiredAttributes: ["name", "series"]
434
+ }).forEach((e) => {
435
+ tn.value = !1, ie({
436
+ componentName: "VueUiStackline",
437
+ type: "datasetSerieAttribute",
438
+ property: e,
439
+ index: t,
440
+ debug: sr.value
441
+ }), Hn.value = !0;
442
+ });
443
+ }), u(F.dataset) || (Hn.value = V.value.loading), setTimeout(() => {
444
+ dn.value = !0;
445
+ }, 10), V.value.responsive) {
446
+ let e = Me(() => {
447
+ dn.value = !1;
448
+ let { width: e, height: t } = Ne({
449
+ chart: L.value,
450
+ noTitle: cn.value,
451
+ title: V.value.style.chart.title.text ? an.value : null,
452
+ legend: V.value.style.chart.legend.show ? on.value : null,
453
+ slicer: V.value.style.chart.zoom.show && K.value > 6 ? sn.value.$el : null,
454
+ source: ln.value
455
+ });
456
+ requestAnimationFrame(() => {
457
+ U.value.width = e, U.value.height = t - 12, clearTimeout(or.value), or.value = setTimeout(() => {
458
+ dn.value = !0;
459
+ }, 10);
460
+ });
461
+ });
462
+ ir.value && (ar.value && ir.value.unobserve(ar.value), ir.value.disconnect()), ir.value = new ResizeObserver(e), ar.value = L.value.parentNode, ir.value.observe(ar.value);
463
+ }
464
+ e && ni();
465
+ }
466
+ Ze(() => {
467
+ An.stop(), ir.value && (ar.value && ir.value.unobserve(ar.value), ir.value.disconnect());
468
+ });
469
+ let lr = x(() => V.value.style.chart.grid.y.position === "right");
470
+ function ur() {
471
+ let e = 0;
472
+ xn.value && (e = Array.from(xn.value.querySelectorAll("text")).reduce((e, t) => {
473
+ let n = t.getComputedTextLength();
474
+ return n > e ? n : e;
475
+ }, 0));
476
+ let t = bn.value ? bn.value.getBoundingClientRect().width + V.value.style.chart.grid.y.axisName.fontSize + V.value.style.chart.grid.y.axisName.offsetX : 0;
477
+ return {
478
+ left: lr.value ? 0 : e + t,
479
+ right: lr.value ? e + t : 0,
480
+ scaleLabelsWidth: e,
481
+ yAxisLabelWidth: t
482
+ };
483
+ }
484
+ let dr = k(0), fr = k(0), pr = k(0);
485
+ function mr() {
486
+ let e = Sn.value;
487
+ if (!e) {
488
+ fr.value = 0;
489
+ return;
490
+ }
491
+ try {
492
+ let t = e.getBBox();
493
+ fr.value = Number.isFinite(t?.height) ? t.height : 0;
494
+ } catch {
495
+ fr.value = 0;
496
+ }
497
+ }
498
+ function hr() {
499
+ pr.value && cancelAnimationFrame(pr.value), pr.value = requestAnimationFrame(() => {
500
+ requestAnimationFrame(() => {
501
+ mr();
502
+ });
503
+ });
504
+ }
505
+ Ze(() => {
506
+ pr.value && cancelAnimationFrame(pr.value), fr.value = 0, dr.value = 0;
507
+ });
508
+ let gr = x(() => {
509
+ let e = 0;
510
+ if (yn.value) try {
511
+ e = yn.value.getBBox().height;
512
+ } catch {
513
+ e = 0;
514
+ }
515
+ let t = V.value.style.chart.grid.x.timeLabels.show ? fr.value : 0;
516
+ return e + t;
517
+ }), W = x(() => {
518
+ En.value;
519
+ let { height: e, width: t } = U.value, { right: n } = U.value.paddingRatio, r = V.value.style.chart.lines.totalValues.show && F.dataset && F.dataset.length > 1 ? V.value.style.chart.lines.totalValues.fontSize * 1.3 : 0, i = 0, a = 0, o = 0, s = 0;
520
+ if (V.value.style.chart.grid.y.axisLabels.show) {
521
+ let e = ur();
522
+ i = e.left, a = e.right, o = e.scaleLabelsWidth, s = e.yAxisLabelWidth;
523
+ }
524
+ let c = V.value.style.chart.padding.top + r, l = t - t * n - dr.value - a, u = e - V.value.style.chart.padding.bottom - gr.value - r, d = V.value.style.chart.padding.left + i, f = t - d - t * n - dr.value - a, p = e - c - V.value.style.chart.padding.bottom - gr.value - r;
525
+ return {
526
+ chartHeight: Math.max(0, e),
527
+ chartWidth: Math.max(0, t),
528
+ top: c,
529
+ right: Math.max(0, l),
530
+ bottom: Math.max(0, u),
531
+ left: Math.max(0, d),
532
+ width: Math.max(0, f),
533
+ height: Math.max(0, p),
534
+ offsetLeftAxis: i,
535
+ offsetRightAxis: a,
536
+ scaleLabelsWidth: o,
537
+ yAxisLabelWidth: s
538
+ };
539
+ }), _r = x(() => {
540
+ let { left: e, top: t, width: n, height: r } = W.value, i = q.value.start, a = q.value.end, o = Math.max(1, a - i), s = Math.max(0, Math.min(o, (J.value.start ?? i) - i)), c = Math.max(0, Math.min(o, (J.value.end ?? a) - i)), l = Math.max(0, c - s), u = {
541
+ fill: V.value.style.chart.zoom.preview.fill,
542
+ stroke: V.value.style.chart.zoom.preview.stroke,
543
+ "stroke-width": V.value.style.chart.zoom.preview.strokeWidth,
544
+ "stroke-dasharray": V.value.style.chart.zoom.preview.strokeDasharray,
545
+ "stroke-linecap": "round",
546
+ "stroke-linejoin": "round",
547
+ style: {
548
+ pointerEvents: "none",
549
+ transition: "none !important",
550
+ animation: "none !important"
551
+ }
552
+ }, d = n / o;
553
+ return {
554
+ x: e + s * d,
555
+ y: t,
556
+ width: l * d,
557
+ height: r,
558
+ ...u
559
+ };
560
+ }), G = x(() => Vn.value.map((e, t) => {
561
+ let n = ae(), r = f(e.color) || rr.value[t] || o[t] || o[t % o.length];
562
+ return {
563
+ ...e,
564
+ shape: e.shape || "circle",
565
+ standalone: !!e.standalone,
566
+ series: JSON.parse(JSON.stringify(e.series)).map((e) => V.value.style.chart.lines.distributed ? Math.abs(e) : e),
567
+ seriesSource: e.series,
568
+ signedSeries: e.series.map((e) => e >= 0 ? 1 : -1),
569
+ absoluteIndex: t,
570
+ id: n,
571
+ color: r
572
+ };
573
+ })), vr = x(() => G.value.filter((e) => !z.value.includes(e.id) && !e.standalone)), yr = x(() => G.value.filter((e) => !z.value.includes(e.id) && e.standalone)), K = x(() => {
574
+ let e = Math.max(...G.value.filter((e) => !z.value.includes(e.id)).map((e) => e.series.length));
575
+ return isFinite(e) ? e : Math.max(...G.value.map((e) => e.series.length));
576
+ });
577
+ function br(e) {
578
+ Pn.value = e;
579
+ }
580
+ let q = k({
581
+ start: 0,
582
+ end: Math.max(...Vn.value.map((e) => e.series.length))
583
+ }), J = k({
584
+ start: 0,
585
+ end: Math.max(...Vn.value.map((e) => e.series.length))
586
+ });
587
+ function xr(e) {
588
+ return (q.value.start ?? 0) + (e ?? 0);
589
+ }
590
+ let Sr = x(() => V.value.style.chart.zoom.preview.enable && (J.value.start !== q.value.start || J.value.end !== q.value.end));
591
+ function Cr(e, t) {
592
+ J.value[e] = t;
593
+ }
594
+ function wr() {
595
+ let e = K.value, t = Math.max(0, Math.min(q.value.start ?? 0, e - 1)), n = Math.max(t + 1, Math.min(q.value.end ?? e, e));
596
+ (!Number.isFinite(t) || !Number.isFinite(n) || n <= t) && (t = 0, n = e), q.value.start = t, q.value.end = n, J.value.start = t, J.value.end = n, sn.value && (sn.value.setStartValue(t), sn.value.setEndValue(n));
597
+ }
598
+ let Tr = k(null);
599
+ function Er() {
600
+ return new Promise((e) => requestAnimationFrame(() => requestAnimationFrame(() => e())));
601
+ }
602
+ Ze(() => {
603
+ Tr.value && cancelAnimationFrame(Tr.value);
604
+ });
605
+ async function Dr({ force: e = !1 } = {}) {
606
+ if (V.value.style.chart.zoom.keepState && !e && ei.value && (q.value.start !== 0 || q.value.end !== 0)) {
607
+ wr();
608
+ return;
609
+ }
610
+ ni(), await Je(), Tr.value && cancelAnimationFrame(Tr.value), Tr.value = requestAnimationFrame(async () => {
611
+ await Er(), ni();
612
+ });
613
+ }
614
+ let Or = x(() => Math.max(0, W.value.width / (q.value.end - q.value.start))), kr = x(() => c(vr.value.map((e) => ({
615
+ ...e,
616
+ series: e.series.map((e) => e ?? 0)
617
+ }))).slice(q.value.start, q.value.end)), Ar = x(() => z.value.length === G.value.length), jr = x(() => {
618
+ if (!V.value.style.chart.zoom.minimap.show) return [];
619
+ let e = G.value.filter((e) => Ar.value ? !0 : !z.value.includes(e.id) && !e.standalone);
620
+ if (e.length) return c(e.map((e) => ({
621
+ ...e,
622
+ series: (e.series || []).map((e) => e ?? 0)
623
+ })));
624
+ let t = yr.value;
625
+ if (!t.length) return [];
626
+ let n = Math.max(...t.map((e) => e.series.length || 0));
627
+ return Array.from({ length: n }, (e, n) => t.reduce((e, t) => e + Math.abs(t.series[n] ?? 0), 0));
628
+ }), Mr = x(() => {
629
+ if (!V.value.style.chart.zoom.minimap.show) return [];
630
+ let e = G.value.filter((e) => Ar.value ? !0 : !z.value.includes(e.id) && !e.standalone), t = yr.value, n = e.length ? [{
631
+ name: "",
632
+ series: jr.value,
633
+ color: "#000000",
634
+ isVisible: !0
635
+ }] : [], r = t.map((e) => ({
636
+ name: e.name || "",
637
+ series: (e.series || []).map((e) => e ?? 0),
638
+ color: e.color,
639
+ isVisible: !0
640
+ }));
641
+ return n.concat(r);
642
+ }), Nr = x(() => c(vr.value.filter((e) => !z.value.includes(e.id)).map((e) => ({
643
+ ...e,
644
+ series: e.series.map((t, n) => {
645
+ let r = t ?? 0;
646
+ return e.signedSeries[n] === -1 && r >= 0 ? -r : r;
647
+ })
648
+ }))).slice(q.value.start, q.value.end)), Pr = x(() => {
649
+ let e = vr.value.filter((e) => !z.value.includes(e.id));
650
+ return {
651
+ positive: c(e.map((e) => ({
652
+ ...e,
653
+ series: e.series.slice(q.value.start, q.value.end).map((e) => (e ?? 0) >= 0 ? e ?? 0 : 0)
654
+ }))),
655
+ negative: c(e.map((e) => ({
656
+ ...e,
657
+ series: e.series.slice(q.value.start, q.value.end).map((e) => (e ?? 0) < 0 ? e ?? 0 : 0)
658
+ })))
659
+ };
660
+ }), Fr = x(() => {
661
+ let e = Math.max(0, q.value.end - q.value.start), t = Array(e).fill(0), n = Array(e).fill(0);
662
+ return yr.value.forEach((r) => {
663
+ for (let i = 0; i < e; i += 1) {
664
+ let e = r.series[q.value.start + i] ?? 0;
665
+ e > 0 && (t[i] = Math.max(t[i], e)), e < 0 && (n[i] = Math.min(n[i], e));
666
+ }
667
+ }), {
668
+ positive: t,
669
+ negative: n
670
+ };
671
+ }), Ir = x(() => Nr.value.map((e, t) => ({
672
+ value: e,
673
+ sign: e >= 0 ? 1 : -1
674
+ })));
675
+ function Lr() {
676
+ return { y0: zr.value?.[0]?.zero ?? W.value.bottom };
677
+ }
678
+ function Rr(e) {
679
+ let { y0: t } = Lr(), n = V.value.style.chart.lines.totalValues, r = Math.max(2, n.fontSize * 1.3 + n.offsetY), i = (e) => Math.min(Math.max(e, W.value.top - V.value.style.chart.lines.totalValues.fontSize * 1.3), W.value.bottom + V.value.style.chart.lines.totalValues.fontSize * 2);
680
+ if ((Ir.value?.[e]?.value ?? 0) >= 0 || V.value.style.chart.lines.distributed) {
681
+ let n = Infinity;
682
+ for (let t of Y.value || []) {
683
+ let r = t?.series?.[e], i = t?.topY?.[e];
684
+ (r ?? 0) > 0 && Number.isFinite(i) && i < n && (n = i);
685
+ }
686
+ return i((Number.isFinite(n) ? n : t) - r - V.value.style.chart.lines.totalValues.offsetY);
687
+ }
688
+ {
689
+ let a = -Infinity;
690
+ for (let t of Y.value || []) {
691
+ let n = t?.series?.[e], r = t?.topY?.[e];
692
+ (n ?? 0) < 0 && Number.isFinite(r) && r > a && (a = r);
693
+ }
694
+ return i((Number.isFinite(a) ? a : t) + r + n.fontSize * .7 + V.value.style.chart.lines.totalValues.offsetY);
695
+ }
696
+ }
697
+ let zr = x(() => {
698
+ let e = Math.max(...Pr.value.positive, 0), t = Math.min(...Pr.value.negative, 0), n = Math.max(...Fr.value.positive, 0), r = Math.min(...Fr.value.negative, 0), i = Math.max(e, n), a = Math.min(t, r), o = [
699
+ -Infinity,
700
+ Infinity,
701
+ NaN,
702
+ void 0,
703
+ null
704
+ ].includes(a) ? 0 : a, s = V.value.style.chart.grid.scale.scaleMin, c = V.value.style.chart.grid.scale.scaleMax, l = !V.value.style.chart.lines.distributed && (s !== null || c !== null), u = s !== null && !V.value.style.chart.lines.distributed ? s : o > 0 ? 0 : o, d = c !== null && !V.value.style.chart.lines.distributed ? c : i < 0 ? 0 : i, f = l ? le(u, d, V.value.style.chart.grid.scale.ticks) : _(u, d, V.value.style.chart.grid.scale.ticks), p = Math.abs(Number(f.min) || 0), m = (Number(f.max) || 0) + p, h = m === 0 || !Number.isFinite(m) ? 1 : m, g = Array.isArray(f.ticks) && f.ticks.length ? f.ticks : [0], v = W.value.bottom - W.value.height * (p / h);
705
+ return g.map((e) => {
706
+ let t = Number(e) || 0, n = W.value.bottom - W.value.height * ((t + p) / h);
707
+ return {
708
+ zero: v,
709
+ y: n,
710
+ x: lr.value ? X.value.right + 8 : X.value.left - 8,
711
+ value: t
712
+ };
713
+ });
714
+ }), Br = k([]), Vr = k([]), Hr = 0;
715
+ it(() => {
716
+ let e = ++Hr;
717
+ (async () => {
718
+ let t = await _e({
719
+ values: V.value.style.chart.grid.x.timeLabels.values,
720
+ maxDatapoints: K.value,
721
+ formatter: V.value.style.chart.grid.x.timeLabels.datetimeFormatter,
722
+ start: q.value.start,
723
+ end: q.value.end
724
+ });
725
+ e === Hr && (Br.value = t);
726
+ })();
727
+ });
728
+ let Ur = 0;
729
+ it(() => {
730
+ let e = ++Ur;
731
+ (async () => {
732
+ let t = await _e({
733
+ values: V.value.style.chart.grid.x.timeLabels.values,
734
+ maxDatapoints: K.value,
735
+ formatter: V.value.style.chart.grid.x.timeLabels.datetimeFormatter,
736
+ start: 0,
737
+ end: K.value
738
+ });
739
+ e === Ur && (Vr.value = t);
740
+ })();
741
+ });
742
+ let Wr = x(() => {
743
+ let e = Math.max(1, Math.floor(Number(V.value.style.chart.grid.x.timeLabels.modulo) || 1)), t = Vr.value.length, n = Br.value.length;
744
+ if (!t || !n) return e;
745
+ let r = Math.max(1, Math.ceil(t / e));
746
+ return Math.max(1, Math.round(n / r));
747
+ }), Gr = x(() => {
748
+ let e = V.value.style.chart.grid.x.timeLabels, t = Br.value || [], n = Vr.value || [], r = q.value.start ?? 0, i = $.value, a = K.value, o = t.map((e) => e?.text ?? ""), s = n.map((e) => e?.text ?? ""), c = ee(!!e.showOnlyFirstAndLast, !!e.showOnlyAtModulo, Wr.value, o, s, r, i, a);
749
+ if (!e.showFirstAndLast || !e.showOnlyAtModulo || e.showOnlyFirstAndLast || !c.length) return c;
750
+ let l = c.length - 1;
751
+ return c.map((e, t) => t !== 0 && t !== l ? e : {
752
+ ...e,
753
+ text: o[t] ?? ""
754
+ });
755
+ });
756
+ it(() => {
757
+ V.value.style.chart.grid.x.timeLabels.show, V.value.style.chart.grid.x.timeLabels.fontSize, V.value.style.chart.grid.x.timeLabels.rotation, V.value.style.chart.grid.x.timeLabels.offsetY, (Gr.value || []).map((e) => e?.text ?? "").join("|"), U.value.width, U.value.height, Sn.value, yn.value, hr();
758
+ }, { flush: "post" });
759
+ let Kr = k({
760
+ months: [],
761
+ shortMonths: [],
762
+ days: [],
763
+ shortDays: []
764
+ }), qr = 0;
765
+ it(() => {
766
+ let e = ++qr, t = V.value.style.chart.grid.x.timeLabels.datetimeFormatter;
767
+ (async () => {
768
+ let n = await ge(t.locale).catch(() => ge("en"));
769
+ e === qr && (Kr.value = n.data);
770
+ })();
771
+ });
772
+ let Jr = x(() => {
773
+ let e = V.value.style.chart.grid.x.timeLabels.datetimeFormatter, t = he({
774
+ useUTC: e.useUTC,
775
+ locale: Kr.value,
776
+ januaryAsYear: e.januaryAsYear
777
+ });
778
+ return (e, n) => {
779
+ let r = V.value.style.chart.grid.x.timeLabels.values?.[e];
780
+ return r == null ? "" : t.formatDate(new Date(r), n);
781
+ };
782
+ }), Yr = x(() => (V.value.style.chart.grid.x.timeLabels.values || []).map((e, t) => ({
783
+ text: Jr.value(t, V.value.style.chart.zoom.timeFormat),
784
+ absoluteIndex: t
785
+ }))), Xr = x(() => (V.value.style.chart.grid.x.timeLabels.values || []).map((e, t) => ({
786
+ text: Jr.value(t, V.value.style.chart.tooltip.timeFormat),
787
+ absoluteIndex: t
788
+ }))), Zr = x(() => {
789
+ if (!tn.value && !Bn.value) return [];
790
+ let e = W.value.height, t = zr.value[0] ? zr.value[0].zero : W.value.bottom, n = q.value.start ?? 0, r = q.value.end ?? 0, i = Math.max(1, r - n), a = Math.max(...Pr.value.positive, 0), o = Math.min(...Pr.value.negative, 0), s = Math.max(...Fr.value.positive, 0), c = Math.min(...Fr.value.negative, 0), l = Math.max(a, s), u = Math.min(o, c), { min: d, max: f } = !V.value.style.chart.lines.distributed && (V.value.style.chart.grid.scale.scaleMax !== null || V.value.style.chart.grid.scale.scaleMin !== null) ? le(V.value.style.chart.grid.scale.scaleMin === null ? u > 0 ? 0 : u : V.value.style.chart.grid.scale.scaleMin, V.value.style.chart.grid.scale.scaleMax === null ? l < 0 ? 0 : l : V.value.style.chart.grid.scale.scaleMax, V.value.style.chart.grid.scale.ticks) : _(V.value.style.chart.grid.scale.scaleMin === null ? u > 0 ? 0 : u : V.value.style.chart.grid.scale.scaleMin, V.value.style.chart.grid.scale.scaleMax === null ? l < 0 ? 0 : l : V.value.style.chart.grid.scale.scaleMax, V.value.style.chart.grid.scale.ticks), p = f + (d >= 0 ? 0 : Math.abs(d)) || 1, m = Array(i).fill(0), h = Array(i).fill(0), g = (e) => i <= 1 ? W.value.left + W.value.width / 2 : W.value.left + e / (i - 1) * W.value.width;
791
+ return G.value.filter((e) => !z.value.includes(e.id)).map((r) => {
792
+ let a = [], o = [], s = [], c = Array(i).fill(null), l = Array(i).fill(null);
793
+ for (let u = 0; u < i; u += 1) {
794
+ let i = n + u, d = r.series?.[i], f = r.signedSeries?.[i], g = d == null || Number.isNaN(d) ? 0 : d, _ = r.standalone ? g / p : V.value.style.chart.lines.distributed ? g / (kr.value[u] || 1) : g / p;
795
+ if (g >= 0) {
796
+ let n = e * Math.abs(_);
797
+ if (r.standalone) c[u] = t, l[u] = t - n;
798
+ else {
799
+ let e = m[u], r = e + n;
800
+ c[u] = t - e, l[u] = t - r, m[u] = r;
801
+ }
802
+ } else {
803
+ let n = e * Math.abs(_);
804
+ if (r.standalone) c[u] = t, l[u] = t + n;
805
+ else {
806
+ let e = h[u], r = e + n;
807
+ c[u] = t + e, l[u] = t + r, h[u] = r;
808
+ }
809
+ }
810
+ a.push(u), o.push(g), s.push(f ?? (g >= 0 ? 1 : -1));
811
+ }
812
+ let u = a.map((e) => ({
813
+ x: g(e),
814
+ y: l[e]
815
+ })), d = u.map((e) => e.x), f = o.reduce((e, t) => e + Math.abs(t || 0), 0), _ = f === 0 ? 1 : f, v = o.map((e, t) => {
816
+ if (V.value.style.chart.lines.distributed && !r.standalone) {
817
+ let n = a[t], r = kr.value[n] || 1;
818
+ return (e || 0) / r;
819
+ }
820
+ return (e || 0) / _;
821
+ });
822
+ return {
823
+ ...r,
824
+ x: d,
825
+ points: u,
826
+ baseY: a.map((e) => c[e]),
827
+ topY: a.map((e) => l[e]),
828
+ series: o,
829
+ signedSeries: s,
830
+ proportions: v,
831
+ rel: a,
832
+ fullSeries: Array.isArray(r.fullSeries) ? r.fullSeries : r.series
833
+ };
834
+ });
835
+ }), Y = x(() => {
836
+ let e = (e) => typeof e == "string" ? e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i, "").trim() : "", t = Math.max(...Pr.value.positive, 0), n = Math.min(...Pr.value.negative, 0), r = Math.max(...Fr.value.positive, 0), i = Math.min(...Fr.value.negative, 0), a = Math.max(t, r), o = Math.min(n, i), s = !V.value.style.chart.lines.distributed && (V.value.style.chart.grid.scale.scaleMax !== null || V.value.style.chart.grid.scale.scaleMin !== null) ? le(V.value.style.chart.grid.scale.scaleMin === null ? o > 0 ? 0 : o : V.value.style.chart.grid.scale.scaleMin, V.value.style.chart.grid.scale.scaleMax === null ? a < 0 ? 0 : a : V.value.style.chart.grid.scale.scaleMax, V.value.style.chart.grid.scale.ticks) : _(V.value.style.chart.grid.scale.scaleMin === null ? o > 0 ? 0 : o : V.value.style.chart.grid.scale.scaleMin, V.value.style.chart.grid.scale.scaleMax === null ? a < 0 ? 0 : a : V.value.style.chart.grid.scale.scaleMax, V.value.style.chart.grid.scale.ticks), c = Number(s.min) || 0, l = Number(s.max) || 0, u = Math.abs(c), f = l + u || 1, p = (e) => {
837
+ if (V.value.style.chart.lines.distributed) {
838
+ let t = Math.max(0, Math.min(1, e));
839
+ return minimapH - minimapH * t;
840
+ }
841
+ return clampY(minimapH - minimapH * (((e ?? 0) + u) / f));
842
+ };
843
+ return Zr.value.map((t) => {
844
+ let n = t.x.length, r = Array.isArray(t.fullSeries) ? t.fullSeries : t.series, i = ({ left: e = 0, unitW: t }) => {
845
+ let n = r.length;
846
+ return !Number.isFinite(t) || t <= 0 || n <= 0 ? [] : n === 1 ? [e + t * .5] : r.map((n, r) => e + r * t);
847
+ }, a = ({ minimapH: e }) => !Number.isFinite(e) || e <= 0 ? [] : r.map((t) => p(t || 0, e)), o = ({ minimapH: e }) => {
848
+ if (!Number.isFinite(e) || e <= 0) return [];
849
+ let t = p(0, e);
850
+ return r.map(() => t);
851
+ };
852
+ if (n === 0) return {
853
+ ...t,
854
+ points: [],
855
+ smoothPath: "",
856
+ straightPath: "",
857
+ smoothArea: "",
858
+ straightArea: "",
859
+ xMinimap: i,
860
+ yMinimap: a,
861
+ yMinimapBase: o
862
+ };
863
+ let s = t.x.map((e, n) => ({
864
+ x: e,
865
+ y: t.topY[n]
866
+ })), c = t.x.map((e, n) => ({
867
+ x: e,
868
+ y: t.baseY[n]
869
+ })), l = n >= 2 ? d(s) : `M${s[0].x},${s[0].y}`, u = n >= 2 ? m(s) : `M${s[0].x},${s[0].y}`, f = n >= 2 ? `M${e(l)}` : l, h = n >= 2 ? `M${e(u)}` : u, g = "", _ = "";
870
+ if (V.value.style.chart.lines.useArea && n >= 2) {
871
+ let t = d([...c].reverse()), n = m([...c].reverse()), r = c[c.length - 1];
872
+ g = `M${s[0].x},${s[0].y} ${e(l)} L${r.x},${r.y} ${e(t)} Z`, _ = `M${s[0].x},${s[0].y} ${e(u)} L${r.x},${r.y} ${e(n)} Z`;
873
+ }
874
+ return {
875
+ ...t,
876
+ points: s,
877
+ smoothPath: f,
878
+ straightPath: h,
879
+ smoothArea: g,
880
+ straightArea: _,
881
+ xMinimap: i,
882
+ yMinimap: a,
883
+ yMinimapBase: o
884
+ };
885
+ });
886
+ }), Qr = x(() => $.value === null || $.value === void 0 ? null : {
887
+ timeLabel: yi($.value),
888
+ absoluteIndex: $.value + q.value.start,
889
+ seriesIndex: $.value,
890
+ datapoint: vi.value,
891
+ series: Y.value,
892
+ config: V.value
893
+ }), $r = k(!1), ei = k(!1);
894
+ function ti(e) {
895
+ let t = K.value;
896
+ return e > t ? t : e < 0 || e < q.value.start ? V.value.style.chart.zoom.startIndex === null ? 1 : q.value.start + 1 : e;
897
+ }
898
+ function ni() {
899
+ if (!$r.value) {
900
+ $r.value = !0;
901
+ try {
902
+ let { startIndex: e, endIndex: t, keepState: n } = V.value.style.chart.zoom, r = n ? Math.max(0, K.value) : K.value;
903
+ if (n && r <= 0) return;
904
+ let i = e ?? 0, a = t == null ? r : Math.min(ti(t + 1), r);
905
+ oi.value = !0, q.value.start = i, q.value.end = a, J.value.start = i, J.value.end = a, wr(), ei.value = !0;
906
+ } finally {
907
+ queueMicrotask(() => {
908
+ oi.value = !1;
909
+ }), $r.value = !1;
910
+ }
911
+ }
912
+ }
913
+ function ri(e) {
914
+ $r.value || oi.value || e !== q.value.start && (q.value.start = e, J.value.start = e, wr());
915
+ }
916
+ function ii(e) {
917
+ if ($r.value || oi.value) return;
918
+ let t = ti(e);
919
+ t !== q.value.end && (q.value.end = t, J.value.end = t, wr());
920
+ }
921
+ let X = x(() => ({
922
+ left: W.value.left,
923
+ right: W.value.right,
924
+ width: W.value.width
925
+ })), ai = x(() => {
926
+ let e = V.value.style.chart.grid.y.axisLabels, { prefix: t, suffix: n } = V.value.style.chart.lines.dataLabels;
927
+ return zr.value.map((r) => String(y(e.formatter, r.value, h({
928
+ p: t,
929
+ v: r.value,
930
+ s: n,
931
+ r: e.rounding
932
+ }), { datapoint: r }) ?? "")).join("|");
933
+ });
934
+ rt([
935
+ ai,
936
+ () => V.value.style.chart.grid.y.axisLabels.show,
937
+ () => V.value.style.chart.grid.y.axisLabels.fontSize,
938
+ () => V.value.style.chart.grid.y.axisLabels.bold,
939
+ () => V.value.style.chart.grid.y.position
940
+ ], () => {
941
+ V.value.style.chart.grid.y.axisLabels.show && Nn();
942
+ }, { flush: "post" });
943
+ let oi = k(!1), si = x(() => U.value.width), ci = x(() => U.value.height);
944
+ De({
945
+ timeLabelsEls: Sn,
946
+ timeLabels: Br,
947
+ slicer: q,
948
+ configRef: V,
949
+ rotationPath: [
950
+ "style",
951
+ "chart",
952
+ "grid",
953
+ "x",
954
+ "timeLabels",
955
+ "rotation"
956
+ ],
957
+ autoRotatePath: [
958
+ "style",
959
+ "chart",
960
+ "grid",
961
+ "x",
962
+ "timeLabels",
963
+ "autoRotate",
964
+ "enable"
965
+ ],
966
+ isAutoSize: !1,
967
+ width: si,
968
+ height: ci,
969
+ rotation: V.value.style.chart.grid.x.timeLabels.autoRotate.angle
970
+ });
971
+ let li = k(null);
972
+ function ui(e) {
973
+ let t = Kn.value;
974
+ if (!t) return null;
975
+ if (t.createSVGPoint && t.getScreenCTM) {
976
+ let n = t.createSVGPoint();
977
+ n.x = e.clientX, n.y = e.clientY;
978
+ let r = t.getScreenCTM();
979
+ if (r) {
980
+ let e = n.matrixTransform(r.inverse());
981
+ return {
982
+ x: e.x,
983
+ y: e.y,
984
+ ok: !0
985
+ };
986
+ }
987
+ }
988
+ let n = t.getBoundingClientRect(), r = t.viewBox?.baseVal || {
989
+ x: 0,
990
+ y: 0,
991
+ width: n.width,
992
+ height: n.height
993
+ }, i = Math.min(n.width / r.width, n.height / r.height), a = r.width * i, o = r.height * i, s = (n.width - a) / 2, c = (n.height - o) / 2;
994
+ return {
995
+ x: (e.clientX - n.left - s) / i + r.x,
996
+ y: (e.clientY - n.top - c) / i + r.y,
997
+ ok: !0
998
+ };
999
+ }
1000
+ let di = 0, Z = x(() => Math.max(1, q.value.end - q.value.start)), fi = x(() => Z.value > 1 ? W.value.width / (Z.value - 1) : 0);
1001
+ function Q(e) {
1002
+ return Z.value <= 1 ? W.value.left + W.value.width / 2 : W.value.left + e * fi.value;
1003
+ }
1004
+ function pi(e) {
1005
+ if (Z.value <= 1) return {
1006
+ x: W.value.left,
1007
+ width: W.value.width
1008
+ };
1009
+ let t = e === 0 ? W.value.left : (Q(e - 1) + Q(e)) / 2, n = e === Z.value - 1 ? W.value.left + W.value.width : (Q(e) + Q(e + 1)) / 2;
1010
+ return {
1011
+ x: t,
1012
+ width: Math.max(0, n - t)
1013
+ };
1014
+ }
1015
+ function mi(e) {
1016
+ Fn.value || (di && cancelAnimationFrame(di), di = requestAnimationFrame(() => {
1017
+ di = 0;
1018
+ let t = ui(e);
1019
+ if (!t || !Kn.value) {
1020
+ _i();
1021
+ return;
1022
+ }
1023
+ let { left: n, right: r, top: i, bottom: a } = W.value;
1024
+ if (t.x < n || t.x > r || t.y < i || t.y > a) {
1025
+ _i();
1026
+ return;
1027
+ }
1028
+ let o = 0;
1029
+ if (Z.value > 1) {
1030
+ let e = (t.x - n) / fi.value;
1031
+ o = Math.round(e);
1032
+ } else o = 0;
1033
+ o < 0 && (o = 0), o > Z.value - 1 && (o = Z.value - 1), li.value !== o && (li.value = o, xi(!0, o));
1034
+ }));
1035
+ }
1036
+ function hi(e) {
1037
+ let t = ui(e);
1038
+ if (!t || !Kn.value) return;
1039
+ let { left: n, right: r, top: i, bottom: a } = W.value;
1040
+ if (t.x < n || t.x > r || t.y < i || t.y > a) return;
1041
+ let o = 0;
1042
+ if (Z.value > 1) {
1043
+ let e = (t.x - n) / fi.value;
1044
+ o = Math.round(e);
1045
+ } else o = 0;
1046
+ o < 0 && (o = 0), o > Z.value - 1 && (o = Z.value - 1), na({
1047
+ seriesIndex: o,
1048
+ datapoint: Ji(o)
1049
+ }), gi(o);
1050
+ }
1051
+ function gi(e) {
1052
+ let t = JSON.parse(JSON.stringify(Y.value)).map((t) => ({
1053
+ name: t.name,
1054
+ value: t.series[e] === 0 ? 0 : t.series[e] || null,
1055
+ proportion: t.proportions[e] || null,
1056
+ color: t.color,
1057
+ id: t.id
1058
+ }));
1059
+ V.value.events.datapointClick && V.value.events.datapointClick({
1060
+ datapoint: t,
1061
+ seriesIndex: e + q.value.start
1062
+ }), I("selectDatapoint", {
1063
+ datapoint: t,
1064
+ period: Br.value[e]
1065
+ });
1066
+ }
1067
+ rt(() => [
1068
+ q.value.start,
1069
+ q.value.end,
1070
+ Y.value.length
1071
+ ], () => {
1072
+ let e = Z.value;
1073
+ if ($.value != null) {
1074
+ if (e <= 0) {
1075
+ $.value = null;
1076
+ return;
1077
+ }
1078
+ $.value < 0 && ($.value = 0), $.value > e - 1 && ($.value = e - 1);
1079
+ }
1080
+ });
1081
+ function _i() {
1082
+ di &&= (cancelAnimationFrame(di), 0), li.value = null, xi(!1, null);
1083
+ }
1084
+ let $ = k(null), vi = x(() => {
1085
+ let e = $.value, t = e == null ? null : xr(e);
1086
+ return Y.value.map((n) => ({
1087
+ slotAbsoluteIndex: n.absoluteIndex,
1088
+ shape: n.shape || "circle",
1089
+ name: n.name,
1090
+ color: n.color,
1091
+ value: e == null ? null : n.series.find((t, n) => n === e),
1092
+ sourceValue: t == null ? null : n.seriesSource?.[t],
1093
+ comments: n.comments || [],
1094
+ id: n.id,
1095
+ standalone: !!n.standalone
1096
+ }));
1097
+ });
1098
+ function yi(e) {
1099
+ if (e == null || !V.value.style.chart.tooltip.showTimeLabel) return null;
1100
+ let t = Br.value?.[e]?.text || null, n = Xr.value?.[e]?.text || null, r = Vr.value?.[e]?.text || null;
1101
+ return V.value.style.chart.tooltip.useDefaultTimeFormat ? t : n || r;
1102
+ }
1103
+ let bi = x(() => {
1104
+ let e = V.value.style.chart.tooltip.customFormat, t = [...vi.value].reverse(), n = t.filter((e) => !e.standalone), i = t.filter((e) => e.standalone), a = n.map((e) => e.value).filter((e) => r(e) && e !== null).reduce((e, t) => Math.abs(e) + Math.abs(t), 0);
1105
+ if (p(e) && ne(() => e({
1106
+ absoluteIndex: $.value + q.value.start,
1107
+ seriesIndex: $.value,
1108
+ datapoint: vi.value,
1109
+ series: G.value,
1110
+ config: V.value
1111
+ }))) return e({
1112
+ absoluteIndex: $.value + q.value.start,
1113
+ seriesIndex: $.value,
1114
+ datapoint: vi.value,
1115
+ series: G.value,
1116
+ config: V.value
1117
+ });
1118
+ let { showValue: o, showTotal: s, totalTranslation: c, showPercentage: u, borderColor: d, roundingValue: f, roundingPercentage: m } = V.value.style.chart.tooltip, g = (e) => !e.shape || ![
1119
+ "star",
1120
+ "triangle",
1121
+ "square",
1122
+ "diamond",
1123
+ "pentagon",
1124
+ "hexagon"
1125
+ ].includes(e.shape) ? `<svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" fill="${e.color}" /></svg>` : e.shape === "star" ? `<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><polygon stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" fill="${e.color}" points="${fe({
1126
+ plot: {
1127
+ x: 6,
1128
+ y: 6
1129
+ },
1130
+ radius: 5
1131
+ })}" /></svg>` : e.shape === "triangle" ? `<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${l({
1132
+ plot: {
1133
+ x: 6,
1134
+ y: 6
1135
+ },
1136
+ radius: 6,
1137
+ sides: 3,
1138
+ rotation: .52
1139
+ }).path}" fill="${e.color}" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : e.shape === "square" ? `<svg viewBox="0 0 12 12" height="14" width="14"><path d="${l({
1140
+ plot: {
1141
+ x: 6,
1142
+ y: 6
1143
+ },
1144
+ radius: 6,
1145
+ sides: 4,
1146
+ rotation: .8
1147
+ }).path}" fill="${e.color}" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : e.shape === "diamond" ? `<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${l({
1148
+ plot: {
1149
+ x: 6,
1150
+ y: 6
1151
+ },
1152
+ radius: 5,
1153
+ sides: 4,
1154
+ rotation: 0
1155
+ }).path}" fill="${e.color}" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : e.shape === "pentagon" ? `<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${l({
1156
+ plot: {
1157
+ x: 6,
1158
+ y: 6
1159
+ },
1160
+ radius: 5,
1161
+ sides: 5,
1162
+ rotation: .95
1163
+ }).path}" fill="${e.color}" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>` : `<svg viewBox="0 0 12 12" height="14" width="14" style="overflow:visible"><path d="${l({
1164
+ plot: {
1165
+ x: 6,
1166
+ y: 6
1167
+ },
1168
+ radius: 5,
1169
+ sides: 6,
1170
+ rotation: 0
1171
+ }).path}" fill="${e.color}" stroke="${V.value.style.chart.tooltip.backgroundColor}" stroke-width="1" /></svg>`, _ = (e, t) => {
1172
+ let n = t ? h({
1173
+ v: isNaN((e.value ?? 0) / (a || 1)) ? 0 : Math.abs(e.value ?? 0) / (a || 1) * 100,
1174
+ s: "%",
1175
+ r: m
1176
+ }) : "", r = o && t ? "(" : "", i = o && t ? ")" : "";
1177
+ return `
1178
+ <div style="display:flex;flex-direction:row;align-items:center;gap:4px">
1179
+ <div style="width:20px;height:20px;display:flex;align-items:center;justify-content:center;">${g(e)}</div>
1180
+ ${e.name}${o || t ? ":" : ""}
1181
+ ${o ? y(V.value.style.chart.lines.dataLabels.formatter, e.sourceValue, h({
1182
+ p: V.value.style.chart.lines.dataLabels.prefix,
1183
+ v: e.sourceValue,
1184
+ s: V.value.style.chart.lines.dataLabels.suffix,
1185
+ r: f
1186
+ }, { datapoint: e })) : ""} ${r}${n}${i}
1187
+ </div>
1188
+ `;
1189
+ }, v = "", ee = yi($.value);
1190
+ return ee && (v += `<div style="width:100%;text-align:center;border-bottom:1px solid ${d};padding-bottom:6px;margin-bottom:3px;">${ee}</div>`), s && n.length > 1 && (v += `<div class="vue-data-ui-tooltip-total" style="display:flex;flex-direction:row;align-items:center;gap:4px">
1191
+ <span>${c}:</span>
1192
+ <span>${y(V.value.style.chart.lines.dataLabels.formatter, se(a), h({
1193
+ p: V.value.style.chart.lines.dataLabels.prefix,
1194
+ v: se(a),
1195
+ s: V.value.style.chart.lines.dataLabels.suffix,
1196
+ r: f
1197
+ }), { datapoint: {
1198
+ name: c,
1199
+ value: se(a)
1200
+ } })}</span>
1201
+ </div>`), n.forEach((e) => {
1202
+ v += _(e, u);
1203
+ }), i.length && (v += `<div style="border-top:1px solid ${vr.value.length ? d : "transparent"}; margin:${vr.value.length ? "6px 0" : "0"};"></div>`, i.forEach((e) => {
1204
+ v += _(e, !1);
1205
+ })), `<div>${v}</div>`;
1206
+ });
1207
+ function xi(e, t = null, n = "pointer") {
1208
+ if (Ar.value) return;
1209
+ kn.value = n, nn.value = e;
1210
+ let r = Y.value.map((e) => ({
1211
+ name: e.name,
1212
+ value: [
1213
+ null,
1214
+ void 0,
1215
+ NaN
1216
+ ].includes(e.series[t]) ? null : e.series[t],
1217
+ color: e.color
1218
+ }));
1219
+ e ? (B.value = t, $.value = t, na({
1220
+ seriesIndex: t,
1221
+ datapoint: r
1222
+ }), V.value.events.datapointEnter && V.value.events.datapointEnter({
1223
+ datapoint: r,
1224
+ seriesIndex: t + q.value.start
1225
+ })) : (B.value = null, $.value = null, I("selectX", {
1226
+ index: null,
1227
+ indexLabel: null,
1228
+ dataset: null
1229
+ }), V.value.events.datapointLeave && V.value.events.datapointLeave({
1230
+ datapoint: r,
1231
+ seriesIndex: t + q.value.start
1232
+ }));
1233
+ }
1234
+ function Si(e, t) {
1235
+ let n = JSON.parse(JSON.stringify(Y.value)).map((e) => ({
1236
+ name: e.name,
1237
+ value: e.series[t] === 0 ? 0 : (e.signedSeries[t] === -1 && e.series[t] >= 0 ? -e.series[t] : e.series[t]) || null,
1238
+ proportion: e.proportions[t] || null,
1239
+ color: e.color,
1240
+ id: e.id
1241
+ }));
1242
+ I("selectTimeLabel", {
1243
+ datapoint: n,
1244
+ absoluteIndex: e.absoluteIndex,
1245
+ label: e.text
1246
+ });
1247
+ }
1248
+ function Ci() {
1249
+ z.value.length ? z.value = [] : Ti.value.forEach((e) => {
1250
+ z.value.push(e.id);
1251
+ }), I("selectLegend", Y.value);
1252
+ }
1253
+ function wi(e) {
1254
+ if (z.value.includes(e.id)) z.value = z.value.filter((t) => t !== e.id);
1255
+ else {
1256
+ if (z.value.length === G.value.length - 1) return;
1257
+ z.value.push(e.id);
1258
+ }
1259
+ I("selectLegend", Y.value);
1260
+ }
1261
+ let Ti = x(() => G.value.map((e) => ({
1262
+ ...e,
1263
+ opacity: z.value.includes(e.id) ? .5 : 1,
1264
+ segregate: () => wi(e),
1265
+ isSegregated: z.value.includes(e.id)
1266
+ }))), Ei = x(() => ({
1267
+ cy: "stackline-legend",
1268
+ backgroundColor: V.value.style.chart.legend.backgroundColor,
1269
+ color: V.value.style.chart.legend.color,
1270
+ fontSize: V.value.style.chart.legend.fontSize,
1271
+ paddingBottom: 12,
1272
+ fontWeight: V.value.style.chart.legend.bold ? "bold" : ""
1273
+ }));
1274
+ function Di(e) {
1275
+ return G.value.length ? G.value.find((t) => t.name === e) || (sr.value && console.warn(`VueUiStackline - Series name not found "${e}"`), null) : (sr.value && console.warn("VueUiStackline - There are no series to show."), null);
1276
+ }
1277
+ function Oi(e) {
1278
+ let t = Di(e);
1279
+ t !== null && z.value.includes(t.id) && wi({ id: t.id });
1280
+ }
1281
+ function ki(e) {
1282
+ let t = Di(e);
1283
+ t !== null && (z.value.includes(t.id) || wi({ id: t.id }));
1284
+ }
1285
+ let Ai = x(() => {
1286
+ if (Y.value.length === 0) return {
1287
+ head: [],
1288
+ body: [],
1289
+ config: {},
1290
+ columnNames: []
1291
+ };
1292
+ let e = Y.value.map(({ name: e, color: t }) => ({
1293
+ label: e,
1294
+ color: t
1295
+ })), t = [];
1296
+ return Gr.value.forEach((e) => {
1297
+ let n = e.absoluteIndex, r = [V.value.style.chart.grid.x.timeLabels.values?.[n] ? e.text : n + 1];
1298
+ G.value.forEach((e) => {
1299
+ let t = e.series?.[n], i = Number((t ?? 0).toFixed(V.value.table.td.roundingValue));
1300
+ r.push(i);
1301
+ }), t.push(r);
1302
+ }), {
1303
+ head: e,
1304
+ body: t
1305
+ };
1306
+ });
1307
+ function ji(e = null) {
1308
+ let n = [
1309
+ [V.value.style.chart.title.text],
1310
+ [V.value.style.chart.title.subtitle.text],
1311
+ [""]
1312
+ ], r = ["", ...Ai.value.head.map((e) => e.label)], a = Ai.value.body, o = n.concat([r]).concat(a), s = i(o);
1313
+ e ? e(s) : t({
1314
+ csvContent: s,
1315
+ title: V.value.style.chart.title.text || "vue-ui-stackline"
1316
+ });
1317
+ }
1318
+ let Mi = x(() => {
1319
+ let e = [""].concat(Y.value.map((e) => e.name), "__SUM__"), t = [], n = Math.max(0, q.value.end - q.value.start);
1320
+ for (let e = 0; e < n; e += 1) {
1321
+ let n = xr(e), r = V.value.style.chart.grid.x.timeLabels.values?.[n] ? Br.value?.[e]?.text ?? n + 1 : n + 1, i = Y.value.map((t) => {
1322
+ let n = t.series?.[e] ?? 0;
1323
+ return Number(n.toFixed(V.value.table.td.roundingValue));
1324
+ }), a = Y.value.filter((e) => !e.standalone).map((t) => t.series?.[e] ?? 0).reduce((e, t) => e + t, 0);
1325
+ t.push([r].concat(i, Number(a.toFixed(V.value.table.td.roundingValue))));
1326
+ }
1327
+ return {
1328
+ head: e,
1329
+ body: t,
1330
+ config: {
1331
+ th: {
1332
+ backgroundColor: V.value.table.th.backgroundColor,
1333
+ color: V.value.table.th.color,
1334
+ outline: V.value.table.th.outline
1335
+ },
1336
+ td: {
1337
+ backgroundColor: V.value.table.td.backgroundColor,
1338
+ color: V.value.table.td.color,
1339
+ outline: V.value.table.td.outline
1340
+ },
1341
+ breakpoint: V.value.table.responsiveBreakpoint
1342
+ },
1343
+ colNames: [V.value.table.columnNames.period].concat(Y.value.map((e) => e.name), V.value.table.columnNames.total)
1344
+ };
1345
+ }), Ni = x(() => V.value.style.chart.backgroundColor), Pi = x(() => V.value.style.chart.legend), Fi = x(() => V.value.style.chart.title), { isCallbackImaging: Ii, isCallbackSvg: Li, generateSvg: Ri, onGenerateImage: zi } = we({
1346
+ svg: Kn,
1347
+ title: Fi,
1348
+ legend: Pi,
1349
+ legendItems: Ti,
1350
+ backgroundColor: Ni,
1351
+ getSvgCallback: () => V.value.userOptions.callbacks.svg,
1352
+ generateImage: tr
1353
+ });
1354
+ async function Bi({ scale: e = 2 } = {}) {
1355
+ if (!L.value) return;
1356
+ let { imageUri: t, base64: n } = await Oe({
1357
+ domElement: L.value,
1358
+ base64: !0,
1359
+ img: !0,
1360
+ scale: e
1361
+ }), r = L.value.getBoundingClientRect(), i = {
1362
+ width: r.width,
1363
+ height: r.height,
1364
+ aspectRatio: r.height ? r.width / r.height : 0
1365
+ }, a = await te(t, e) ?? i;
1366
+ return {
1367
+ imageUri: t,
1368
+ base64: n,
1369
+ title: V.value.style.chart.title.text,
1370
+ ...a
1371
+ };
1372
+ }
1373
+ let Vi = x(() => {
1374
+ let e = V.value.table.useDialog && !V.value.table.show, t = H.value.showTable;
1375
+ return {
1376
+ component: e ? Xt : Gt,
1377
+ title: `${V.value.style.chart.title.text}${V.value.style.chart.title.subtitle.text ? `: ${V.value.style.chart.title.subtitle.text}` : ""}`,
1378
+ props: e ? {
1379
+ backgroundColor: V.value.table.th.backgroundColor,
1380
+ color: V.value.table.th.color,
1381
+ headerColor: V.value.table.th.color,
1382
+ headerBg: V.value.table.th.backgroundColor,
1383
+ isFullscreen: un.value,
1384
+ fullscreenParent: L.value,
1385
+ forcedWidth: Math.min(800, window.innerWidth * .8),
1386
+ isCursorPointer: Rn.value
1387
+ } : {
1388
+ hideDetails: !0,
1389
+ config: {
1390
+ open: t,
1391
+ maxHeight: 1e4,
1392
+ body: {
1393
+ backgroundColor: V.value.style.chart.backgroundColor,
1394
+ color: V.value.style.chart.color
1395
+ },
1396
+ head: {
1397
+ backgroundColor: V.value.style.chart.backgroundColor,
1398
+ color: V.value.style.chart.color
1399
+ }
1400
+ }
1401
+ }
1402
+ };
1403
+ });
1404
+ rt(() => H.value.showTable, (e) => {
1405
+ V.value.table.show || (e && V.value.table.useDialog && gn.value ? gn.value.open() : "close" in gn.value && gn.value.close());
1406
+ });
1407
+ function Hi() {
1408
+ H.value.showTable = !1, _n.value && _n.value.setTableIconState(!1);
1409
+ }
1410
+ function Ui(e) {
1411
+ un.value = e, rn.value += 1;
1412
+ }
1413
+ function Wi() {
1414
+ H.value.showTable = !H.value.showTable;
1415
+ }
1416
+ function Gi() {
1417
+ H.value.dataLabels.show = !H.value.dataLabels.show;
1418
+ }
1419
+ function Ki() {
1420
+ H.value.showTooltip = !H.value.showTooltip;
1421
+ }
1422
+ function qi() {
1423
+ return Y.value;
1424
+ }
1425
+ function Ji(e) {
1426
+ let t = e ?? 0, n = xr(t);
1427
+ return JSON.parse(JSON.stringify(Y.value)).map((e) => {
1428
+ let r = e.series[t], i = e.signedSeries?.[t], a = r === 0 ? 0 : (i === -1 && r >= 0 ? -r : r) || null;
1429
+ return {
1430
+ name: e.name,
1431
+ absoluteIndex: e.absoluteIndex,
1432
+ value: a,
1433
+ proportion: e.proportions?.[t] || null,
1434
+ color: e.color,
1435
+ id: e.id,
1436
+ timeLabel: Vr.value?.[n] || null
1437
+ };
1438
+ });
1439
+ }
1440
+ let Yi = x(() => Array(K.value).fill(0).map((e, t) => Ji(t)));
1441
+ rt(() => F.selectedXIndex, (e) => {
1442
+ if ([null, void 0].includes(F.selectedXIndex)) {
1443
+ $.value = null;
1444
+ return;
1445
+ }
1446
+ let t = e - q.value.start;
1447
+ t < 0 || e >= q.value.end ? $.value = null : $.value = t ?? null;
1448
+ }, { immediate: !0 });
1449
+ let Xi = x(() => {
1450
+ if (V.value.style.chart.lines.distributed) return {
1451
+ min: -1,
1452
+ max: 1
1453
+ };
1454
+ let e = vr.value, t = yr.value, n = Math.max(1, ...[...e, ...t].map((e) => e.series?.length || 0)), r = Array(n).fill(0), i = Array(n).fill(0);
1455
+ e.forEach((e) => {
1456
+ for (let t = 0; t < n; t += 1) {
1457
+ let n = e.series[t] ?? 0;
1458
+ n >= 0 ? r[t] += n : i[t] += n;
1459
+ }
1460
+ });
1461
+ let a = Array(n).fill(0), o = Array(n).fill(0);
1462
+ t.forEach((e) => {
1463
+ for (let t = 0; t < n; t += 1) {
1464
+ let n = e.series[t] ?? 0;
1465
+ n > 0 && (a[t] = Math.max(a[t], n)), n < 0 && (o[t] = Math.min(o[t], n));
1466
+ }
1467
+ });
1468
+ let s = Math.max(0, ...r, ...a), c = Math.min(0, ...i, ...o), l = V.value.style.chart.grid.scale.scaleMin, u = V.value.style.chart.grid.scale.scaleMax, d = V.value.style.chart.grid.scale.ticks, f = !V.value.style.chart.lines.distributed && (l !== null || u !== null) ? le(l === null ? c > 0 ? 0 : c : l, u === null ? s < 0 ? 0 : s : u, d) : _(l === null ? c > 0 ? 0 : c : l, u === null ? s < 0 ? 0 : s : u, d);
1469
+ return {
1470
+ min: Number(f.min) || 0,
1471
+ max: Number(f.max) || 0
1472
+ };
1473
+ });
1474
+ function Zi({ minimapH: e, unitW: t }) {
1475
+ let n = (e) => typeof e == "string" ? e.replace(/^M\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*,?\s*[-+]?[\d.]+(?:e[-+]?\d+)?\s*/i, "").trim() : "";
1476
+ if (!Number.isFinite(e) || e <= 0 || !Number.isFinite(t) || t <= 0) return "";
1477
+ let r = Y.value.filter((e) => !e.standalone), i = Y.value.filter((e) => e.standalone), a = Math.max(0, ...Y.value.map((e) => Array.isArray(e.fullSeries) ? e.fullSeries.length : e.series.length));
1478
+ if (a <= 0) return "";
1479
+ let o = a === 1 ? [t * .5] : Array.from({ length: a }, (e, n) => n * t);
1480
+ if (V.value.style.chart.lines.distributed) {
1481
+ let t = Array.from({ length: a }, (e, t) => {
1482
+ let n = 0;
1483
+ return r.forEach((e) => {
1484
+ let r = (Array.isArray(e.fullSeries) ? e.fullSeries : e.series)?.[t];
1485
+ r != null && !Number.isNaN(r) && (n += Math.abs(r));
1486
+ }), n || 1;
1487
+ }), s = (t) => e - e * Math.max(0, Math.min(1, t || 0)), c = [], l = Array(a).fill(0);
1488
+ return r.forEach((e) => {
1489
+ let r = Array.isArray(e.fullSeries) ? e.fullSeries : e.series, i = Array(a), u = Array(a);
1490
+ for (let e = 0; e < a; e += 1) {
1491
+ let n = r?.[e], a = n == null || Number.isNaN(n) ? 0 : Math.abs(n) / t[e];
1492
+ u[e] = l[e], l[e] += a, i[e] = l[e];
1493
+ }
1494
+ let f = i.map(s), p = u.map(s), h = o.map((e, t) => ({
1495
+ x: e,
1496
+ y: f[t]
1497
+ })), g = o.map((e, t) => ({
1498
+ x: e,
1499
+ y: p[t]
1500
+ })), _ = d(h), v = d([...g].reverse()), ee = m(h), te = m([...g].reverse()), y = g[g.length - 1];
1501
+ if (V.value.style.chart.lines.useArea) {
1502
+ let t = V.value.style.chart.lines.smooth ? `M${h[0].x},${h[0].y} ${n(_)} L${y.x},${y.y} ${n(v)} Z` : `M${h[0].x},${h[0].y} ${n(ee)} L${y.x},${y.y} ${n(te)} Z`;
1503
+ c.push(`<path d="${t}"
1504
+ fill="${en.pattern ? `url(#pattern_${R.value}_${e.absoluteIndex})` : (V.value.style.chart.lines.gradient.show, e.color)}"
1505
+ opacity="${V.value.style.chart.lines.areaOpacity}"
1506
+ stroke="none" />`);
1507
+ }
1508
+ let ne = V.value.style.chart.lines.smooth ? `M${h[0].x},${h[0].y} ${n(_)}` : `M${h[0].x},${h[0].y} ${n(ee)}`;
1509
+ c.push(`<path d="${ne}"
1510
+ fill="none"
1511
+ stroke="${e.color}"
1512
+ stroke-width="${V.value.style.chart.lines.strokeWidth}"
1513
+ stroke-linecap="round" />`);
1514
+ }), i.length && i.forEach((e) => {
1515
+ let r = Array.isArray(e.fullSeries) ? e.fullSeries : e.series, i = Array.from({ length: a }, (e, n) => s(Math.abs(r?.[n] ?? 0) / t[n])), l = o.map((e, t) => ({
1516
+ x: e,
1517
+ y: i[t]
1518
+ })), u = d(l), f = m(l), p = V.value.style.chart.lines.smooth ? `M${l[0].x},${l[0].y} ${n(u)}` : `M${l[0].x},${l[0].y} ${n(f)}`;
1519
+ c.push(`<path d="${p}"
1520
+ fill="none"
1521
+ stroke="${e.color}"
1522
+ stroke-width="${V.value.style.chart.lines.strokeWidth}"
1523
+ stroke-linecap="round" />`);
1524
+ }), c.join("");
1525
+ }
1526
+ let s = Xi.value.min, c = Xi.value.max, l = Math.abs(s), u = c + l || 1, f = (t) => Math.max(0, Math.min(e, t)), p = (t) => f(e - e * (((t ?? 0) + l) / u)), h = [];
1527
+ if (r.length) {
1528
+ let e = Array(a).fill(0), t = Array(a).fill(0);
1529
+ r.forEach((r) => {
1530
+ let i = Array.isArray(r.fullSeries) ? r.fullSeries : r.series, s = Array(a), c = Array(a);
1531
+ for (let n = 0; n < a; n += 1) {
1532
+ let r = i?.[n] ?? 0;
1533
+ r >= 0 ? (c[n] = e[n], e[n] += r, s[n] = e[n]) : (c[n] = t[n], t[n] += r, s[n] = t[n]);
1534
+ }
1535
+ let l = s.map(p), u = c.map(p), f = o.map((e, t) => ({
1536
+ x: e,
1537
+ y: l[t]
1538
+ })), g = o.map((e, t) => ({
1539
+ x: e,
1540
+ y: u[t]
1541
+ })), _ = d(f), v = d([...g].reverse()), ee = m(f), te = m([...g].reverse()), y = g[g.length - 1];
1542
+ if (V.value.style.chart.lines.useArea) {
1543
+ let e = V.value.style.chart.lines.smooth ? `M${f[0].x},${f[0].y} ${n(_)} L${y.x},${y.y} ${n(v)} Z` : `M${f[0].x},${f[0].y} ${n(ee)} L${y.x},${y.y} ${n(te)} Z`;
1544
+ h.push(`<path d="${e}"
1545
+ fill="${en.pattern ? `url(#pattern_${R.value}_${r.absoluteIndex})` : (V.value.style.chart.lines.gradient.show, r.color)}"
1546
+ opacity="${V.value.style.chart.lines.areaOpacity}"
1547
+ stroke="none" />`);
1548
+ }
1549
+ let ne = V.value.style.chart.lines.smooth ? `M${f[0].x},${f[0].y} ${n(_)}` : `M${f[0].x},${f[0].y} ${n(ee)}`;
1550
+ h.push(`<path d="${ne}"
1551
+ fill="none"
1552
+ stroke="${r.color}"
1553
+ stroke-width="${V.value.style.chart.lines.strokeWidth}"
1554
+ stroke-linecap="round" />`);
1555
+ });
1556
+ }
1557
+ return i.length && i.forEach((e) => {
1558
+ let t = (Array.isArray(e.fullSeries) ? e.fullSeries : e.series).map(p), r = o.map((e, n) => ({
1559
+ x: e,
1560
+ y: t[n]
1561
+ })), i = d(r), a = m(r), s = V.value.style.chart.lines.smooth ? `M${r[0].x},${r[0].y} ${n(i)}` : `M${r[0].x},${r[0].y} ${n(a)}`;
1562
+ h.push(`<path d="${s}"
1563
+ fill="none"
1564
+ stroke="${e.color}"
1565
+ stroke-width="${V.value.style.chart.lines.strokeWidth}"
1566
+ stroke-linecap="round" />`);
1567
+ }), h.join("");
1568
+ }
1569
+ function Qi(e, t) {
1570
+ let n = V.value.style.chart.lines, r = n.dataLabels;
1571
+ return n.showDistributedPercentage && n.distributed ? Zn.value ? t === 0 ? !r.hideEmptyPercentages : Math.abs(t) * 100 >= r.hideUnderPercentage : !r.hideEmptyPercentages || Math.abs(t) > 0 : Zn.value ? (Xn.value && sr.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(e) > $i.value * r.hideUnderPercentage / 100) : Xn.value ? Math.abs(e) >= r.hideUnderValue : !r.hideEmptyValues || e !== 0;
1572
+ }
1573
+ let $i = x(() => Math.max(...Y.value.flatMap((e) => e.series)));
1574
+ function ea(e, t, n, r, i) {
1575
+ let a = i === -1 && e >= 0 ? -e : e;
1576
+ return y(V.value.style.chart.lines.dataLabels.formatter, a, h({
1577
+ p: V.value.style.chart.lines.dataLabels.prefix,
1578
+ v: a,
1579
+ s: V.value.style.chart.lines.dataLabels.suffix,
1580
+ r: V.value.style.chart.lines.dataLabels.rounding
1581
+ }), {
1582
+ datapoint: t,
1583
+ seriesIndex: n,
1584
+ datapointIndex: r
1585
+ });
1586
+ }
1587
+ function ta(e, t, n, r) {
1588
+ return y(V.value.style.chart.lines.dataLabels.formatter, e, h({
1589
+ v: isNaN(e) ? 0 : e,
1590
+ s: "%",
1591
+ r: V.value.style.chart.lines.dataLabels.rounding
1592
+ }), {
1593
+ datapoint: t,
1594
+ seriesIndex: n,
1595
+ datapointIndex: r
1596
+ });
1597
+ }
1598
+ function na({ seriesIndex: e, datapoint: t }) {
1599
+ let n = q.value.start + e;
1600
+ I("selectX", {
1601
+ dataset: t,
1602
+ index: n,
1603
+ indexLabel: V.value.style.chart.grid.x.timeLabels.values[n]
1604
+ });
1605
+ }
1606
+ async function ra() {
1607
+ if (I("copyAlt", {
1608
+ config: V.value,
1609
+ dataset: Y.value
1610
+ }), !V.value.userOptions.callbacks.altCopy) {
1611
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1612
+ return;
1613
+ }
1614
+ await Promise.resolve(V.value.userOptions.callbacks.altCopy({
1615
+ config: V.value,
1616
+ dataset: Y.value
1617
+ }));
1618
+ }
1619
+ let ia = k(!1);
1620
+ function aa() {
1621
+ B.value = null, ia.value = !0;
1622
+ }
1623
+ function oa() {
1624
+ B.value = null, kn.value = "pointer", nn.value = !1, $.value = null, I("selectX", {
1625
+ index: null,
1626
+ indexLabel: null,
1627
+ dataset: null
1628
+ }), ia.value = !1;
1629
+ }
1630
+ function sa(e) {
1631
+ if (!Kn.value || Fn.value || document.activeElement !== Kn.value || Ar.value || !Z.value) return;
1632
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1633
+ if (!t && !n && !r && !i) return;
1634
+ if (e.preventDefault(), e.stopPropagation(), i) {
1635
+ B.value = null, kn.value = "pointer", nn.value = !1, $.value = null, I("selectX", {
1636
+ index: null,
1637
+ indexLabel: null,
1638
+ dataset: null
1639
+ });
1640
+ return;
1641
+ }
1642
+ if (r) {
1643
+ if (B.value === null) return;
1644
+ gi(B.value);
1645
+ return;
1646
+ }
1647
+ let a = B.value, o = li.value, s = a !== null && a >= 0 && a < Z.value, c = o !== null && o >= 0 && o < Z.value;
1648
+ s ? n ? (a += 1, a >= Z.value && (a = 0)) : t && (--a, a < 0 && (a = Z.value - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Z.value && (a = 0), a < 0 && (a = Z.value - 1)) : a = n ? 0 : Z.value - 1, B.value = a, ca(a), xi(!0, a, "keyboard");
1649
+ }
1650
+ function ca(e) {
1651
+ if (!Number.isFinite(e) || !Kn.value) return;
1652
+ let t = W.value.left + e * fi.value, n = W.value.top + W.value.height / 2, r = oe(t, n, Kn.value);
1653
+ r && (On.value = r);
1654
+ }
1655
+ let la = x(() => ({
1656
+ headers: Mi.value?.colNames ?? [],
1657
+ rows: Mi.value?.body ?? []
1658
+ }));
1659
+ return je({
1660
+ getData: qi,
1661
+ getImage: Bi,
1662
+ generatePdf: er,
1663
+ generateCsv: ji,
1664
+ generateImage: tr,
1665
+ generateSvg: Ri,
1666
+ hideSeries: ki,
1667
+ showSeries: Oi,
1668
+ toggleTable: Wi,
1669
+ toggleLabels: Gi,
1670
+ toggleTooltip: Ki,
1671
+ toggleAnnotator: In,
1672
+ toggleFullscreen: Ui,
1673
+ copyAlt: ra
1674
+ }), (t, r) => (O(), w("div", {
1675
+ id: `stackline_${R.value}`,
1676
+ ref_key: "stacklineChart",
1677
+ ref: L,
1678
+ class: Ye({
1679
+ "vue-data-ui-component": !0,
1680
+ "vue-ui-stackline": !0,
1681
+ "vue-data-ui-wrapper-fullscreen": un.value
1682
+ }),
1683
+ style: Xe(`background:${V.value.style.chart.backgroundColor};color:${V.value.style.chart.color};font-family:${V.value.style.fontFamily}; position: relative; ${V.value.responsive ? "height: 100%" : ""}`),
1684
+ onMouseenter: qn,
1685
+ onMouseleave: Jn
1686
+ }, [
1687
+ T("div", {
1688
+ id: `chart-instructions-${R.value}`,
1689
+ class: "sr-only"
1690
+ }, [T("p", null, M(V.value.a11y.translations.keyboardNavigation), 1)], 8, st),
1691
+ la.value?.rows?.length ? (O(), S(Le, {
1692
+ key: 0,
1693
+ uid: R.value,
1694
+ head: la.value.headers,
1695
+ body: la.value.rows,
1696
+ notice: V.value.a11y.translations.tableAvailable,
1697
+ caption: V.value.a11y.translations.tableCaption
1698
+ }, null, 8, [
1699
+ "uid",
1700
+ "head",
1701
+ "body",
1702
+ "notice",
1703
+ "caption"
1704
+ ])) : C("", !0),
1705
+ V.value.userOptions.buttons.annotator ? (O(), S(N(qt), {
1706
+ key: 1,
1707
+ svgRef: N(Kn),
1708
+ backgroundColor: V.value.style.chart.backgroundColor,
1709
+ color: V.value.style.chart.color,
1710
+ active: Fn.value,
1711
+ isCursorPointer: Rn.value,
1712
+ onClose: In
1713
+ }, {
1714
+ "annotator-action-close": P(() => [j(t.$slots, "annotator-action-close", {}, void 0, !0)]),
1715
+ "annotator-action-color": P(({ color: e }) => [j(t.$slots, "annotator-action-color", D(E({ color: e })), void 0, !0)]),
1716
+ "annotator-action-draw": P(({ mode: e }) => [j(t.$slots, "annotator-action-draw", D(E({ mode: e })), void 0, !0)]),
1717
+ "annotator-action-undo": P(({ disabled: e }) => [j(t.$slots, "annotator-action-undo", D(E({ disabled: e })), void 0, !0)]),
1718
+ "annotator-action-redo": P(({ disabled: e }) => [j(t.$slots, "annotator-action-redo", D(E({ disabled: e })), void 0, !0)]),
1719
+ "annotator-action-delete": P(({ disabled: e }) => [j(t.$slots, "annotator-action-delete", D(E({ disabled: e })), void 0, !0)]),
1720
+ _: 3
1721
+ }, 8, [
1722
+ "svgRef",
1723
+ "backgroundColor",
1724
+ "color",
1725
+ "active",
1726
+ "isCursorPointer"
1727
+ ])) : C("", !0),
1728
+ j(t.$slots, "userConfig", {}, void 0, !0),
1729
+ nr.value ? (O(), w("div", {
1730
+ key: 2,
1731
+ ref_key: "noTitle",
1732
+ ref: cn,
1733
+ class: "vue-data-ui-no-title-space",
1734
+ style: "height:36px; width: 100%;background:transparent"
1735
+ }, null, 512)) : C("", !0),
1736
+ V.value.style.chart.title.text ? (O(), w("div", {
1737
+ key: 3,
1738
+ ref_key: "chartTitle",
1739
+ ref: an,
1740
+ style: "width:100%;background:transparent;"
1741
+ }, [(O(), S(ke, {
1742
+ key: `title_${fn.value}`,
1743
+ config: {
1744
+ title: {
1745
+ cy: "stackline-title",
1746
+ ...V.value.style.chart.title
1747
+ },
1748
+ subtitle: {
1749
+ cy: "stackline-subtitle",
1750
+ ...V.value.style.chart.title.subtitle
1751
+ }
1752
+ }
1753
+ }, null, 8, ["config"]))], 512)) : C("", !0),
1754
+ T("div", { id: `legend-top-${R.value}` }, null, 8, ct),
1755
+ V.value.userOptions.show && tn.value && (N(Gn) || N(Un)) ? (O(), S(N(Jt), {
1756
+ ref_key: "userOptionsRef",
1757
+ ref: _n,
1758
+ key: `user_option_${rn.value}`,
1759
+ backgroundColor: V.value.style.chart.backgroundColor,
1760
+ color: V.value.style.chart.color,
1761
+ isPrinting: N(Qn),
1762
+ isImaging: N($n),
1763
+ uid: R.value,
1764
+ hasTooltip: V.value.style.chart.tooltip.show && V.value.userOptions.buttons.tooltip,
1765
+ hasPdf: V.value.userOptions.buttons.pdf,
1766
+ hasImg: V.value.userOptions.buttons.img,
1767
+ hasSvg: V.value.userOptions.buttons.svg,
1768
+ hasXls: V.value.userOptions.buttons.csv,
1769
+ hasTable: V.value.userOptions.buttons.table,
1770
+ hasLabel: V.value.userOptions.buttons.labels,
1771
+ hasFullscreen: V.value.userOptions.buttons.fullscreen,
1772
+ hasAltCopy: V.value.userOptions.buttons.altCopy,
1773
+ isFullscreen: un.value,
1774
+ chartElement: L.value,
1775
+ position: V.value.userOptions.position,
1776
+ isTooltip: H.value.showTooltip,
1777
+ titles: { ...V.value.userOptions.buttonTitles },
1778
+ hasAnnotator: V.value.userOptions.buttons.annotator,
1779
+ isAnnotation: Fn.value,
1780
+ callbacks: V.value.userOptions.callbacks,
1781
+ printScale: V.value.userOptions.print.scale,
1782
+ tableDialog: V.value.table.useDialog,
1783
+ isCursorPointer: Rn.value,
1784
+ onToggleFullscreen: Ui,
1785
+ onGeneratePdf: N(er),
1786
+ onGenerateCsv: ji,
1787
+ onGenerateImage: N(zi),
1788
+ onGenerateSvg: N(Ri),
1789
+ onToggleTable: Wi,
1790
+ onToggleLabels: Gi,
1791
+ onToggleTooltip: Ki,
1792
+ onToggleAnnotator: In,
1793
+ onCopyAlt: ra,
1794
+ style: Xe({ visibility: N(Gn) ? N(Un) ? "visible" : "hidden" : "visible" })
1795
+ }, Ue({ _: 2 }, [
1796
+ t.$slots.menuIcon ? {
1797
+ name: "menuIcon",
1798
+ fn: P(({ isOpen: e, color: n }) => [j(t.$slots, "menuIcon", D(E({
1799
+ isOpen: e,
1800
+ color: n
1801
+ })), void 0, !0)]),
1802
+ key: "0"
1803
+ } : void 0,
1804
+ t.$slots.optionTooltip ? {
1805
+ name: "optionTooltip",
1806
+ fn: P(() => [j(t.$slots, "optionTooltip", {}, void 0, !0)]),
1807
+ key: "1"
1808
+ } : void 0,
1809
+ t.$slots.optionPdf ? {
1810
+ name: "optionPdf",
1811
+ fn: P(() => [j(t.$slots, "optionPdf", {}, void 0, !0)]),
1812
+ key: "2"
1813
+ } : void 0,
1814
+ t.$slots.optionCsv ? {
1815
+ name: "optionCsv",
1816
+ fn: P(() => [j(t.$slots, "optionCsv", {}, void 0, !0)]),
1817
+ key: "3"
1818
+ } : void 0,
1819
+ t.$slots.optionImg ? {
1820
+ name: "optionImg",
1821
+ fn: P(() => [j(t.$slots, "optionImg", {}, void 0, !0)]),
1822
+ key: "4"
1823
+ } : void 0,
1824
+ t.$slots.optionSvg ? {
1825
+ name: "optionSvg",
1826
+ fn: P(() => [j(t.$slots, "optionSvg", {}, void 0, !0)]),
1827
+ key: "5"
1828
+ } : void 0,
1829
+ t.$slots.optionTable ? {
1830
+ name: "optionTable",
1831
+ fn: P(() => [j(t.$slots, "optionTable", {}, void 0, !0)]),
1832
+ key: "6"
1833
+ } : void 0,
1834
+ t.$slots.optionLabels ? {
1835
+ name: "optionLabels",
1836
+ fn: P(() => [j(t.$slots, "optionLabels", {}, void 0, !0)]),
1837
+ key: "7"
1838
+ } : void 0,
1839
+ t.$slots.optionFullscreen ? {
1840
+ name: "optionFullscreen",
1841
+ fn: P(({ toggleFullscreen: e, isFullscreen: n }) => [j(t.$slots, "optionFullscreen", D(E({
1842
+ toggleFullscreen: e,
1843
+ isFullscreen: n
1844
+ })), void 0, !0)]),
1845
+ key: "8"
1846
+ } : void 0,
1847
+ t.$slots.optionAnnotator ? {
1848
+ name: "optionAnnotator",
1849
+ fn: P(({ toggleAnnotator: e, isAnnotator: n }) => [j(t.$slots, "optionAnnotator", D(E({
1850
+ toggleAnnotator: e,
1851
+ isAnnotator: n
1852
+ })), void 0, !0)]),
1853
+ key: "9"
1854
+ } : void 0,
1855
+ t.$slots.optionAltCopy ? {
1856
+ name: "optionAltCopy",
1857
+ fn: P(({ altCopy: e }) => [j(t.$slots, "optionAltCopy", D(E({ altCopy: e })), void 0, !0)]),
1858
+ key: "10"
1859
+ } : void 0,
1860
+ t.$slots["custom-menu-before"] ? {
1861
+ name: "custom-menu-before",
1862
+ fn: P(() => [j(t.$slots, "custom-menu-before", {}, void 0, !0)]),
1863
+ key: "11"
1864
+ } : void 0,
1865
+ t.$slots["custom-menu-after"] ? {
1866
+ name: "custom-menu-after",
1867
+ fn: P(() => [j(t.$slots, "custom-menu-after", {}, void 0, !0)]),
1868
+ key: "12"
1869
+ } : void 0
1870
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.isTooltip.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : C("", !0),
1871
+ T("div", lt, [(O(), w("svg", {
1872
+ ref_key: "svgRef",
1873
+ ref: Kn,
1874
+ "aria-describedby": `chart-instructions-${R.value}`,
1875
+ xmlns: N(ce),
1876
+ viewBox: `0 0 ${W.value.chartWidth <= 0 ? 10 : W.value.chartWidth} ${W.value.chartHeight <= 0 ? 10 : W.value.chartHeight}`,
1877
+ class: Ye({
1878
+ "vue-data-ui-loading": N(Bn),
1879
+ "vue-data-ui-fullscreen--on": un.value,
1880
+ "vue-data-ui-fulscreen--off": !un.value,
1881
+ "vue-data-ui-no-transition": !N(Ln)
1882
+ }),
1883
+ style: Xe(`max-width:100%;overflow:visible;background:transparent;color:${V.value.style.chart.color}`),
1884
+ role: "img",
1885
+ "aria-live": "polite",
1886
+ tabindex: "0",
1887
+ preserveAspectRatio: "xMidYMid",
1888
+ onMousemove: mi,
1889
+ onMouseleave: _i,
1890
+ onClick: hi,
1891
+ onFocus: aa,
1892
+ onBlur: oa,
1893
+ onKeydown: sa
1894
+ }, [
1895
+ Ge(N(Yt)),
1896
+ (O(!0), w(b, null, A(vr.value, (e) => (O(), w(b, null, [t.$slots.pattern ? (O(), w("defs", dt, [j(t.$slots, "pattern", qe({ ref_for: !0 }, {
1897
+ seriesIndex: e.absoluteIndex,
1898
+ patternId: `pattern_${R.value}_${e.absoluteIndex}`
1899
+ }), void 0, !0)])) : C("", !0)], 64))), 256)),
1900
+ t.$slots["chart-background"] ? (O(), w("foreignObject", {
1901
+ key: 0,
1902
+ x: X.value.left,
1903
+ y: W.value.top,
1904
+ width: X.value.width,
1905
+ height: W.value.height,
1906
+ style: { pointerEvents: "none" }
1907
+ }, [j(t.$slots, "chart-background", {}, void 0, !0)], 8, ft)) : C("", !0),
1908
+ V.value.style.chart.lines.gradient.show ? (O(), w("defs", pt, [(O(!0), w(b, null, A(Y.value, (e, t) => (O(), S(Pe, {
1909
+ t: "linear",
1910
+ id: `gradient_${e.id}`,
1911
+ key: `gradient_${e.id}_${t}`,
1912
+ x1: "0%",
1913
+ y1: "0%",
1914
+ x2: "0%",
1915
+ y2: "100%",
1916
+ stops: [[
1917
+ "0%",
1918
+ e.color,
1919
+ 1
1920
+ ], [
1921
+ "100%",
1922
+ N(n)(e.color, V.value.style.chart.lines.gradient.intensity / 100),
1923
+ 1
1924
+ ]]
1925
+ }, null, 8, ["id", "stops"]))), 128))])) : C("", !0),
1926
+ V.value.style.chart.grid.x.showHorizontalLines ? (O(!0), w(b, { key: 2 }, A(zr.value, (e, t) => (O(), w("line", {
1927
+ x1: X.value.left,
1928
+ x2: X.value.right,
1929
+ y1: e.y,
1930
+ y2: e.y,
1931
+ stroke: V.value.style.chart.grid.x.linesColor,
1932
+ "stroke-width": V.value.style.chart.grid.x.linesThickness,
1933
+ "stroke-dasharray": V.value.style.chart.grid.x.linesStrokeDasharray,
1934
+ "stroke-linecap": "round"
1935
+ }, null, 8, mt))), 256)) : C("", !0),
1936
+ V.value.style.chart.grid.y.showVerticalLines ? (O(!0), w(b, { key: 3 }, A(q.value.end - q.value.start, (e, t) => (O(), w("line", {
1937
+ x1: Q(t),
1938
+ x2: Q(t),
1939
+ y1: W.value.top,
1940
+ y2: W.value.bottom,
1941
+ stroke: V.value.style.chart.grid.y.linesColor,
1942
+ "stroke-width": V.value.style.chart.grid.y.linesThickness,
1943
+ "stroke-dasharray": V.value.style.chart.grid.y.linesStrokeDasharray,
1944
+ "stroke-linecap": "round"
1945
+ }, null, 8, ht))), 256)) : C("", !0),
1946
+ V.value.style.chart.grid.x.showAxis ? (O(), w("line", {
1947
+ key: 4,
1948
+ x1: X.value.left,
1949
+ x2: X.value.right,
1950
+ y1: W.value.bottom,
1951
+ y2: W.value.bottom,
1952
+ stroke: V.value.style.chart.grid.x.axisColor,
1953
+ "stroke-width": V.value.style.chart.grid.x.axisThickness,
1954
+ "stroke-linecap": "round",
1955
+ "stroke-linejoin": "round"
1956
+ }, null, 8, gt)) : C("", !0),
1957
+ V.value.style.chart.grid.y.showAxis && !V.value.style.chart.lines.distributed ? (O(), w("line", {
1958
+ key: 5,
1959
+ x1: lr.value ? X.value.right : X.value.left,
1960
+ x2: lr.value ? X.value.right : X.value.left,
1961
+ y1: W.value.top,
1962
+ y2: W.value.bottom,
1963
+ stroke: V.value.style.chart.grid.y.axisColor,
1964
+ "stroke-width": V.value.style.chart.grid.y.axisThickness,
1965
+ "stroke-linecap": "round",
1966
+ "stroke-linejoin": "round"
1967
+ }, null, 8, _t)) : C("", !0),
1968
+ V.value.style.chart.grid.x.axisName.show && V.value.style.chart.grid.x.axisName.text ? (O(), w("text", {
1969
+ key: 6,
1970
+ ref_key: "xAxisLabel",
1971
+ ref: yn,
1972
+ x: W.value.left + W.value.width / 2,
1973
+ y: W.value.chartHeight - 3,
1974
+ "font-size": V.value.style.chart.grid.x.axisName.fontSize,
1975
+ fill: V.value.style.chart.grid.x.axisName.color,
1976
+ "font-weight": V.value.style.chart.grid.x.axisName.bold ? "bold" : "normal",
1977
+ "text-anchor": "middle"
1978
+ }, M(V.value.style.chart.grid.x.axisName.text), 9, vt)) : C("", !0),
1979
+ V.value.style.chart.grid.y.axisName.show && V.value.style.chart.grid.y.axisName.text ? (O(), w("text", {
1980
+ key: 7,
1981
+ ref_key: "yAxisLabel",
1982
+ ref: bn,
1983
+ transform: `translate(${lr.value ? W.value.chartWidth - V.value.style.chart.grid.y.axisName.fontSize / 2 - V.value.style.chart.grid.y.axisName.offsetX : V.value.style.chart.grid.y.axisName.fontSize + V.value.style.chart.grid.y.axisName.offsetX}, ${W.value.top + W.value.height / 2}) rotate(-90)`,
1984
+ "font-size": V.value.style.chart.grid.y.axisName.fontSize,
1985
+ fill: V.value.style.chart.grid.y.axisName.color,
1986
+ "font-weight": V.value.style.chart.grid.y.axisName.bold ? "bold" : "normal",
1987
+ "text-anchor": "middle"
1988
+ }, M(V.value.style.chart.grid.y.axisName.text), 9, yt)) : C("", !0),
1989
+ V.value.style.chart.grid.frame.show ? (O(), w("rect", {
1990
+ key: 8,
1991
+ style: {
1992
+ pointerEvents: "none",
1993
+ transition: "none",
1994
+ animation: "none !important"
1995
+ },
1996
+ x: X.value.left,
1997
+ y: W.value.top,
1998
+ width: X.value.width,
1999
+ height: W.value.height,
2000
+ fill: "transparent",
2001
+ stroke: V.value.style.chart.grid.frame.stroke,
2002
+ "stroke-width": V.value.style.chart.grid.frame.strokeWidth,
2003
+ "stroke-linecap": V.value.style.chart.grid.frame.strokeLinecap,
2004
+ "stroke-linejoin": V.value.style.chart.grid.frame.strokeLinejoin,
2005
+ "stroke-dasharray": V.value.style.chart.grid.frame.strokeDasharray
2006
+ }, null, 8, bt)) : C("", !0),
2007
+ (O(!0), w(b, null, A(Y.value, (e) => (O(), w(b, null, [V.value.style.chart.lines.useArea && !e.standalone ? (O(), w("path", {
2008
+ key: 0,
2009
+ d: V.value.style.chart.lines.smooth ? e.smoothArea : e.straightArea,
2010
+ fill: t.$slots.pattern ? `url(#pattern_${R.value}_${e.absoluteIndex})` : V.value.style.chart.lines.gradient.show ? `url(#gradient_${e.id})` : e.color,
2011
+ opacity: V.value.style.chart.lines.areaOpacity,
2012
+ class: Ye({ "vue-data-ui-transition": N(Ln) })
2013
+ }, null, 10, xt)) : C("", !0)], 64))), 256)),
2014
+ (O(!0), w(b, null, A(Y.value, (e) => (O(), w("path", {
2015
+ d: V.value.style.chart.lines.smooth ? e.smoothPath : e.straightPath,
2016
+ stroke: V.value.style.chart.lines.path.useSerieColor ? e.color : V.value.style.chart.lines.path.stroke,
2017
+ "stroke-width": V.value.style.chart.lines.strokeWidth,
2018
+ fill: "none",
2019
+ "stroke-linecap": "round",
2020
+ class: Ye({ "vue-data-ui-transition": N(Ln) })
2021
+ }, null, 10, St))), 256)),
2022
+ V.value.style.chart.grid.y.axisLabels.show && !V.value.style.chart.lines.distributed ? (O(), w("g", {
2023
+ key: 9,
2024
+ ref_key: "scaleLabels",
2025
+ ref: xn
2026
+ }, [(O(!0), w(b, null, A(zr.value, (e, t) => (O(), w("line", {
2027
+ key: `ytick_${t}`,
2028
+ class: Ye({ "vue-data-ui-transition": N(Ln) }),
2029
+ x1: lr.value ? X.value.right : X.value.left,
2030
+ x2: lr.value ? X.value.right + 6 : X.value.left - 6,
2031
+ y1: e.y,
2032
+ y2: e.y,
2033
+ stroke: V.value.style.chart.grid.x.axisColor,
2034
+ "stroke-width": 1
2035
+ }, null, 10, Ct))), 128)), (O(!0), w(b, null, A(zr.value, (e, t) => (O(), w("text", {
2036
+ class: Ye({ "vue-data-ui-transition": N(Ln) }),
2037
+ transform: `translate(${e.x}, ${e.y + V.value.style.chart.grid.y.axisLabels.fontSize / 3})`,
2038
+ "font-size": V.value.style.chart.grid.y.axisLabels.fontSize,
2039
+ "font-weight": V.value.style.chart.grid.y.axisLabels.bold ? "bold" : "normal",
2040
+ fill: V.value.style.chart.grid.y.axisLabels.color,
2041
+ "text-anchor": lr.value ? "start" : "end"
2042
+ }, M(N(y)(V.value.style.chart.grid.y.axisLabels.formatter, e.value, N(h)({
2043
+ p: V.value.style.chart.lines.dataLabels.prefix,
2044
+ v: e.value,
2045
+ s: V.value.style.chart.lines.dataLabels.suffix,
2046
+ r: V.value.style.chart.grid.y.axisLabels.rounding
2047
+ }), { datapoint: e })), 11, wt))), 256))], 512)) : C("", !0),
2048
+ V.value.style.chart.grid.x.timeLabels.show ? (O(), w("g", {
2049
+ key: 10,
2050
+ ref_key: "timeLabelsEls",
2051
+ ref: Sn
2052
+ }, [t.$slots["time-label"] ? (O(), w("g", Tt, [(O(!0), w(b, null, A(Gr.value, (e, n) => (O(), w("g", null, [j(t.$slots, "time-label", qe({ ref_for: !0 }, {
2053
+ x: W.value.left + Or.value * n + Or.value / 2,
2054
+ y: W.value.bottom + V.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + V.value.style.chart.grid.x.timeLabels.offsetY,
2055
+ fontSize: V.value.style.chart.grid.x.timeLabels.fontSize,
2056
+ fill: V.value.style.chart.grid.x.timeLabels.color,
2057
+ transform: `translate(${W.value.left + Or.value * n + Or.value / 2}, ${W.value.bottom + V.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + V.value.style.chart.grid.x.timeLabels.offsetY}), rotate(${V.value.style.chart.grid.x.timeLabels.rotation})`,
2058
+ absoluteIndex: e.absoluteIndex,
2059
+ content: e.text,
2060
+ textAnchor: V.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : V.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
2061
+ show: !0
2062
+ }), void 0, !0)]))), 256))])) : (O(), w("g", Et, [(O(!0), w(b, null, A(Gr.value, (e, n) => (O(), w("g", null, [String(e.text).includes("\n") ? (O(), w("text", {
2063
+ key: n + "-multi",
2064
+ "text-anchor": V.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : V.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
2065
+ "font-size": V.value.style.chart.grid.x.timeLabels.fontSize,
2066
+ fill: V.value.style.chart.grid.x.timeLabels.color,
2067
+ transform: `
2068
+ translate(
2069
+ ${Q(n)},
2070
+ ${W.value.bottom + V.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + V.value.style.chart.grid.x.timeLabels.offsetY}
2071
+ ),
2072
+ rotate(${V.value.style.chart.grid.x.timeLabels.rotation})
2073
+ `,
2074
+ style: Xe({ cursor: Rn.value ? "pointer" : "default" }),
2075
+ innerHTML: t.createTSpansFromLineBreaksOnX({
2076
+ content: String(e.text),
2077
+ fontSize: V.value.style.chart.grid.x.timeLabels.fontSize,
2078
+ fill: V.value.style.chart.grid.x.timeLabels.color,
2079
+ stroke: V.value.style.chart.backgroundColor,
2080
+ x: 0,
2081
+ y: 0
2082
+ }),
2083
+ onClick: () => Si(e, n)
2084
+ }, null, 12, Ot)) : (O(), w("text", {
2085
+ class: "vue-data-ui-time-label",
2086
+ key: n,
2087
+ "text-anchor": V.value.style.chart.grid.x.timeLabels.rotation > 0 ? "start" : V.value.style.chart.grid.x.timeLabels.rotation < 0 ? "end" : "middle",
2088
+ "font-size": V.value.style.chart.grid.x.timeLabels.fontSize,
2089
+ "font-weight": V.value.style.chart.grid.x.timeLabels.bold ? "bold" : "normal",
2090
+ fill: V.value.style.chart.grid.x.timeLabels.color,
2091
+ stroke: V.value.style.chart.backgroundColor,
2092
+ "stroke-width": "3",
2093
+ "stroke-linecap": "round",
2094
+ "stroke-linejoin": "round",
2095
+ "paint-order": "stroke fill",
2096
+ transform: `translate(${Q(n)}, ${W.value.bottom + V.value.style.chart.grid.x.timeLabels.fontSize * 1.3 + V.value.style.chart.grid.x.timeLabels.offsetY}), rotate(${V.value.style.chart.grid.x.timeLabels.rotation})`,
2097
+ style: Xe({ cursor: Rn.value ? "pointer" : "default" }),
2098
+ onClick: () => Si(e, n)
2099
+ }, M(e.text), 13, Dt))]))), 256))]))], 512)) : C("", !0),
2100
+ (vn.value || ![null, void 0].includes($.value)) && !V.value.style.chart.highlighter.useLine ? (O(!0), w(b, { key: 11 }, A(q.value.end - q.value.start, (e, t) => (O(), w("g", { key: `tooltip_trap_highlighter_${t}` }, [T("rect", {
2101
+ x: pi(t).x,
2102
+ y: W.value.top,
2103
+ height: W.value.height,
2104
+ width: pi(t).width,
2105
+ fill: [Pn.value, $.value].includes(t) ? N(a)(V.value.style.chart.highlighter.color, V.value.style.chart.highlighter.opacity) : "transparent",
2106
+ style: {
2107
+ transition: "none !important",
2108
+ animation: "none !important"
2109
+ }
2110
+ }, null, 8, kt)]))), 128)) : C("", !0),
2111
+ (vn.value || ![null, void 0].includes($.value)) && V.value.style.chart.highlighter.useLine ? (O(), w(b, { key: 12 }, [![null, void 0].includes($.value) || ![null, void 0].includes(Pn.value) ? (O(), w("g", At, [T("line", {
2112
+ x1: Q(($.value ?? Pn.value) || 0),
2113
+ x2: Q(($.value ?? Pn.value) || 0),
2114
+ y1: N(se)(W.value.top),
2115
+ y2: N(se)(W.value.bottom),
2116
+ stroke: V.value.style.chart.highlighter.color,
2117
+ "stroke-width": V.value.style.chart.highlighter.lineWidth,
2118
+ "stroke-dasharray": V.value.style.chart.highlighter.lineDasharray,
2119
+ "stroke-linecap": "round",
2120
+ style: {
2121
+ transition: "none !important",
2122
+ animation: "none !important",
2123
+ "pointer-events": "none"
2124
+ }
2125
+ }, null, 8, jt)])) : C("", !0)], 64)) : C("", !0),
2126
+ (O(!0), w(b, null, A(Y.value, (e) => (O(), w(b, { key: `shp_sel_${e.id}` }, [vn.value && q.value.end - q.value.start > V.value.style.chart.lines.dot.hideAboveMaxSerieLength ? (O(), w("g", Mt, [$.value == null ? C("", !0) : (O(), w(b, { key: 0 }, [e.rel.includes($.value) && e.fullSeries?.[q.value.start + $.value] != null && !Number.isNaN(e.fullSeries?.[q.value.start + $.value]) ? (O(), S(Ae, {
2127
+ key: 0,
2128
+ shape: [
2129
+ "triangle",
2130
+ "square",
2131
+ "diamond",
2132
+ "pentagon",
2133
+ "hexagon",
2134
+ "star"
2135
+ ].includes(e.shape) ? e.shape : "circle",
2136
+ color: V.value.style.chart.lines.dot.useSerieColor ? e.color : V.value.style.chart.lines.dot.fill,
2137
+ plot: {
2138
+ x: N(v)(e.points[e.rel.indexOf($.value)].x),
2139
+ y: N(v)(e.points[e.rel.indexOf($.value)].y)
2140
+ },
2141
+ radius: V.value.style.chart.lines.dot.radius * 1.3,
2142
+ stroke: V.value.style.chart.lines.dot.useSerieColor ? V.value.style.chart.lines.dot.stroke : e.color,
2143
+ strokeWidth: V.value.style.chart.lines.dot.strokeWidth,
2144
+ still: N(Bn),
2145
+ class: Ye({ "vue-data-ui-transition": N(Ln) })
2146
+ }, null, 8, [
2147
+ "shape",
2148
+ "color",
2149
+ "plot",
2150
+ "radius",
2151
+ "stroke",
2152
+ "strokeWidth",
2153
+ "still",
2154
+ "class"
2155
+ ])) : C("", !0)], 64))])) : C("", !0)], 64))), 128)),
2156
+ (O(!0), w(b, null, A(Y.value, (e) => (O(), w(b, { key: `shp_${e.id}` }, [q.value.end - q.value.start < V.value.style.chart.lines.dot.hideAboveMaxSerieLength ? (O(!0), w(b, { key: 0 }, A(e.points, (t, n) => (O(), w("g", { key: `shp_${e.id}_${q.value.start + n}` }, [e.fullSeries?.[q.value.start + e.rel[n]] != null && !Number.isNaN(e.fullSeries?.[q.value.start + e.rel[n]]) ? (O(), S(Ae, {
2157
+ key: 0,
2158
+ shape: [
2159
+ "triangle",
2160
+ "square",
2161
+ "diamond",
2162
+ "pentagon",
2163
+ "hexagon",
2164
+ "star"
2165
+ ].includes(e.shape) ? e.shape : "circle",
2166
+ color: V.value.style.chart.lines.dot.useSerieColor ? e.color : V.value.style.chart.lines.dot.fill,
2167
+ plot: {
2168
+ x: t.x,
2169
+ y: t.y
2170
+ },
2171
+ radius: vn.value && $.value === e.rel[n] ? V.value.style.chart.lines.dot.radius * 1.3 : V.value.style.chart.lines.dot.radius,
2172
+ stroke: V.value.style.chart.lines.dot.useSerieColor ? V.value.style.chart.lines.dot.stroke : e.color,
2173
+ strokeWidth: V.value.style.chart.lines.dot.strokeWidth,
2174
+ still: N(Bn),
2175
+ class: Ye({ "vue-data-ui-transition": N(Ln) })
2176
+ }, null, 8, [
2177
+ "shape",
2178
+ "color",
2179
+ "plot",
2180
+ "radius",
2181
+ "stroke",
2182
+ "strokeWidth",
2183
+ "still",
2184
+ "class"
2185
+ ])) : C("", !0)]))), 128)) : C("", !0)], 64))), 128)),
2186
+ H.value.dataLabels.show && V.value.style.chart.lines.dataLabels.hideAboveMaxSerieLength > q.value.end - q.value.start ? (O(), w(b, { key: 13 }, [(O(!0), w(b, null, A(Y.value, (e, t) => (O(), w("g", { key: `dl_${e.id}` }, [(O(!0), w(b, null, A(e.points, (n, r) => (O(), w(b, { key: `dp_${e.id}_${q.value.start + r}` }, [Qi(e.series[r], e.proportions[r]) ? (O(), w("text", {
2187
+ key: 0,
2188
+ class: Ye({ "vue-data-ui-transition": N(Ln) }),
2189
+ transform: `translate(${n.x}, ${n.y + (e.series[r] >= 0 ? -V.value.style.chart.lines.dataLabels.fontSize / 2 + V.value.style.chart.lines.dataLabels.offsetY : V.value.style.chart.lines.dataLabels.fontSize * 1.2 - V.value.style.chart.lines.dataLabels.offsetY)})`,
2190
+ "font-size": V.value.style.chart.lines.dataLabels.fontSize,
2191
+ fill: V.value.style.chart.lines.dataLabels.color,
2192
+ "font-weight": V.value.style.chart.lines.dataLabels.bold ? "bold" : "normal",
2193
+ "text-anchor": "middle"
2194
+ }, M(V.value.style.chart.lines.showDistributedPercentage && V.value.style.chart.lines.distributed ? ta(e.proportions[r] * 100, e, t, e.rel[r]) : ea(e.series[r], e, t, e.rel[r], e.signedSeries[r])), 11, Nt)) : C("", !0)], 64))), 128))]))), 128)), V.value.style.chart.lines.totalValues.show && Y.value.length > 1 ? (O(), w("g", {
2195
+ key: 0,
2196
+ ref_key: "sumTop",
2197
+ ref: Cn
2198
+ }, [(O(!0), w(b, null, A(Ir.value, (e, t) => (O(), w(b, { key: `total_l_${t + q.value.start}` }, [!V.value.style.chart.lines.dataLabels.hideEmptyValues || e.value !== 0 ? (O(), w("text", {
2199
+ key: 0,
2200
+ class: Ye({ "vue-data-ui-transition": N(Ln) }),
2201
+ transform: `translate(${Q(t)}, ${Rr(t)})`,
2202
+ "text-anchor": "middle",
2203
+ "font-size": V.value.style.chart.lines.totalValues.fontSize,
2204
+ "font-weight": V.value.style.chart.lines.totalValues.bold ? "bold" : "normal",
2205
+ fill: V.value.style.chart.lines.totalValues.color
2206
+ }, M(ea(e.value, e, t, t, e.sign)), 11, Pt)) : C("", !0)], 64))), 128))], 512)) : C("", !0)], 64)) : C("", !0),
2207
+ Sr.value ? (O(), w("rect", qe({ key: 14 }, _r.value, {
2208
+ "data-start": q.value.start,
2209
+ "data-end": q.value.end
2210
+ }), null, 16, Ft)) : C("", !0),
2211
+ j(t.$slots, "svg", { svg: {
2212
+ drawingArea: W.value,
2213
+ data: Y.value,
2214
+ isPrintingImg: N(Qn) || N($n) || N(Ii),
2215
+ isPrintingSvg: N(Li)
2216
+ } }, void 0, !0)
2217
+ ], 46, ut)), t.$slots.hint ? (O(), w("div", It, [j(t.$slots, "hint", D(E({
2218
+ hint: V.value.a11y.translations.keyboardNavigation,
2219
+ isVisible: ia.value
2220
+ })), void 0, !0)])) : C("", !0)]),
2221
+ t.$slots.watermark ? (O(), w("div", Lt, [j(t.$slots, "watermark", D(E({ isPrinting: N(Qn) || N($n) || N(Ii) || N(Li) })), void 0, !0)])) : C("", !0),
2222
+ hn.value && (V.value.style.chart.legend.show || t.$slots.legend) ? (O(), S(He, {
2223
+ key: 6,
2224
+ to: V.value.style.chart.legend.position === "top" ? `#legend-top-${R.value}` : `#legend-bottom-${R.value}`
2225
+ }, [T("div", {
2226
+ ref_key: "chartLegend",
2227
+ ref: on
2228
+ }, [j(t.$slots, "legend", { legend: Ti.value }, () => [V.value.style.chart.legend.show ? (O(), S(Be, {
2229
+ key: 0,
2230
+ legendSet: Ti.value,
2231
+ config: Ei.value,
2232
+ isCursorPointer: Rn.value,
2233
+ onClickMarker: r[0] ||= ({ legend: e }) => e.segregate()
2234
+ }, Ue({
2235
+ item: P(({ legend: e }) => [N(Bn) ? C("", !0) : (O(), w("div", {
2236
+ key: 0,
2237
+ onClick: (t) => e.segregate(),
2238
+ style: Xe(`opacity:${z.value.includes(e.id) ? .5 : 1}`)
2239
+ }, M(e.name), 13, Rt))]),
2240
+ legendToggle: P(() => [Ti.value.length > 2 && V.value.style.chart.legend.selectAllToggle.show && !N(Bn) ? (O(), S(Ie, {
2241
+ key: 0,
2242
+ backgroundColor: V.value.style.chart.legend.selectAllToggle.backgroundColor,
2243
+ color: V.value.style.chart.legend.selectAllToggle.color,
2244
+ fontSize: V.value.style.chart.legend.fontSize,
2245
+ checked: z.value.length > 0,
2246
+ isCursorPointer: Rn.value,
2247
+ onToggle: Ci
2248
+ }, null, 8, [
2249
+ "backgroundColor",
2250
+ "color",
2251
+ "fontSize",
2252
+ "checked",
2253
+ "isCursorPointer"
2254
+ ])) : C("", !0)]),
2255
+ _: 2
2256
+ }, [t.$slots.pattern ? {
2257
+ name: "legend-pattern",
2258
+ fn: P(({ legend: e, index: t }) => [Ge(Ae, {
2259
+ shape: e.shape,
2260
+ radius: 30,
2261
+ stroke: "none",
2262
+ plot: {
2263
+ x: 30,
2264
+ y: 30
2265
+ },
2266
+ fill: `url(#pattern_${R.value}_${t})`
2267
+ }, null, 8, ["shape", "fill"])]),
2268
+ key: "0"
2269
+ } : void 0]), 1032, [
2270
+ "legendSet",
2271
+ "config",
2272
+ "isCursorPointer"
2273
+ ])) : C("", !0)], !0)], 512)], 8, ["to"])) : C("", !0),
2274
+ tn.value && V.value.userOptions.buttons.table ? (O(), S($e(Vi.value.component), qe({ key: 7 }, Vi.value.props, {
2275
+ ref_key: "tableUnit",
2276
+ ref: gn,
2277
+ onClose: Hi
2278
+ }), Ue({
2279
+ content: P(() => [Ge(N(Kt), {
2280
+ colNames: Mi.value.colNames,
2281
+ head: Mi.value.head,
2282
+ body: Mi.value.body,
2283
+ config: Mi.value.config,
2284
+ title: V.value.table.useDialog ? "" : Vi.value.title,
2285
+ withCloseButton: !V.value.table.useDialog,
2286
+ isCursorPointer: Rn.value,
2287
+ onClose: Hi
2288
+ }, {
2289
+ th: P(({ th: e }) => [e === "__SUM__" ? (O(), w("div", zt, [Ge(N(Wt), {
2290
+ name: "sigma",
2291
+ stroke: Mi.value.config.th.color,
2292
+ size: 16
2293
+ }, null, 8, ["stroke"])])) : (O(), w("div", Bt, M(e), 1))]),
2294
+ td: P(({ td: e }) => [We(M(isNaN(Number(e)) ? e : N(h)({
2295
+ p: V.value.style.chart.lines.dataLabels.prefix,
2296
+ v: e,
2297
+ s: V.value.style.chart.lines.dataLabels.suffix,
2298
+ r: V.value.table.td.roundingValue
2299
+ })), 1)]),
2300
+ _: 1
2301
+ }, 8, [
2302
+ "colNames",
2303
+ "head",
2304
+ "body",
2305
+ "config",
2306
+ "title",
2307
+ "withCloseButton",
2308
+ "isCursorPointer"
2309
+ ])]),
2310
+ _: 2
2311
+ }, [V.value.table.useDialog ? {
2312
+ name: "title",
2313
+ fn: P(() => [We(M(Vi.value.title), 1)]),
2314
+ key: "0"
2315
+ } : void 0, V.value.table.useDialog ? {
2316
+ name: "actions",
2317
+ fn: P(() => [T("button", {
2318
+ tabindex: "0",
2319
+ class: "vue-ui-user-options-button",
2320
+ onClick: r[1] ||= (e) => ji(V.value.userOptions.callbacks.csv),
2321
+ style: Xe({ cursor: Rn.value ? "pointer" : "default" })
2322
+ }, [Ge(N(Wt), {
2323
+ name: "fileCsv",
2324
+ stroke: Vi.value.props.color
2325
+ }, null, 8, ["stroke"])], 4)]),
2326
+ key: "1"
2327
+ } : void 0]), 1040)) : C("", !0),
2328
+ V.value.style.chart.zoom.show && tn.value && ei.value && K.value > 6 ? (O(), S(Fe, {
2329
+ key: 8,
2330
+ ref_key: "chartSlicer",
2331
+ ref: sn,
2332
+ "data-dom-to-png-ignore-layout": "",
2333
+ allMinimaps: Mr.value,
2334
+ background: V.value.style.chart.zoom.color,
2335
+ borderColor: V.value.style.chart.backgroundColor,
2336
+ customFormat: V.value.style.chart.zoom.customFormat,
2337
+ cutNullValues: !1,
2338
+ enableRangeHandles: V.value.style.chart.zoom.enableRangeHandles,
2339
+ enableSelectionDrag: V.value.style.chart.zoom.enableSelectionDrag,
2340
+ end: q.value.end,
2341
+ focusOnDrag: V.value.style.chart.zoom.focusOnDrag,
2342
+ focusRangeRatio: V.value.style.chart.zoom.focusRangeRatio,
2343
+ fontSize: V.value.style.chart.zoom.fontSize,
2344
+ immediate: !V.value.style.chart.zoom.preview.enable,
2345
+ inputColor: V.value.style.chart.zoom.color,
2346
+ isPreview: Sr.value,
2347
+ labelLeft: V.value.style.chart.grid.x.timeLabels.values[q.value.start] ? Br.value?.[0]?.text ?? "" : "",
2348
+ labelRight: V.value.style.chart.grid.x.timeLabels.values[q.value.end - 1] ? Br.value?.at(-1)?.text ?? "" : "",
2349
+ max: Math.max(...e.dataset.map((e) => e.series.length)),
2350
+ min: 0,
2351
+ minimap: jr.value,
2352
+ minimapCompact: V.value.style.chart.zoom.minimap.compact,
2353
+ minimapFrameColor: V.value.style.chart.zoom.minimap.frameColor,
2354
+ minimapIndicatorColor: V.value.style.chart.zoom.minimap.indicatorColor,
2355
+ minimapMerged: !1,
2356
+ minimapSelectedColor: V.value.style.chart.zoom.minimap.selectedColor,
2357
+ minimapSelectedColorOpacity: V.value.style.chart.zoom.minimap.selectedColorOpacity,
2358
+ minimapSelectedIndex: $.value,
2359
+ minimapSelectionRadius: 1,
2360
+ preciseLabels: Yr.value.length ? Yr.value : Vr.value,
2361
+ refreshEndPoint: V.value.style.chart.zoom.endIndex === null ? Math.max(...e.dataset.map((e) => e.series.length)) : V.value.style.chart.zoom.endIndex + 1,
2362
+ refreshStartPoint: V.value.style.chart.zoom.startIndex === null ? 0 : V.value.style.chart.zoom.startIndex,
2363
+ selectColor: V.value.style.chart.zoom.highlightColor,
2364
+ selectedSeries: Yi.value,
2365
+ smoothMinimap: !1,
2366
+ start: q.value.start,
2367
+ textColor: V.value.style.chart.color,
2368
+ timeLabels: Vr.value,
2369
+ usePreciseLabels: V.value.style.chart.grid.x.timeLabels.datetimeFormatter.enable && !V.value.style.chart.zoom.useDefaultFormat,
2370
+ valueEnd: q.value.end,
2371
+ valueStart: q.value.start,
2372
+ verticalHandles: V.value.style.chart.zoom.minimap.verticalHandles,
2373
+ maxWidth: V.value.style.chart.zoom.maxWidth,
2374
+ minimapLeftInsetRatio: W.value.chartWidth > 0 && V.value.style.chart.zoom.autoFit ? W.value.left / W.value.chartWidth : null,
2375
+ minimapRightInsetRatio: W.value.chartWidth > 0 && V.value.style.chart.zoom.autoFit ? (W.value.chartWidth - W.value.right) / W.value.chartWidth : null,
2376
+ isCursorPointer: Rn.value,
2377
+ additionalMinimapHeight: V.value.style.chart.zoom.minimap.additionalHeight,
2378
+ handleType: V.value.style.chart.zoom.minimap.handleType,
2379
+ handleIconColor: V.value.style.chart.zoom.minimap.handleIconColor,
2380
+ handleBorderWidth: V.value.style.chart.zoom.minimap.handleBorderWidth,
2381
+ handleBorderColor: V.value.style.chart.zoom.minimap.handleBorderColor,
2382
+ handleFill: V.value.style.chart.zoom.minimap.handleFill,
2383
+ handleWidth: V.value.style.chart.zoom.minimap.handleWidth,
2384
+ "onUpdate:end": ii,
2385
+ "onUpdate:start": ri,
2386
+ onTrapMouse: br,
2387
+ onReset: r[2] ||= () => Dr({ force: !0 }),
2388
+ onFutureEnd: r[3] ||= (e) => Cr("end", e),
2389
+ onFutureStart: r[4] ||= (e) => Cr("start", e)
2390
+ }, {
2391
+ "reset-action": P(({ reset: e }) => [j(t.$slots, "reset-action", D(E({ reset: e })), void 0, !0)]),
2392
+ slotMap: P(({ width: e, height: t, unitW: n }) => [T("g", { innerHTML: Zi({
2393
+ minimapW: e,
2394
+ minimapH: t,
2395
+ unitW: n
2396
+ }) }, null, 8, Vt)]),
2397
+ _: 3
2398
+ }, 8, /* @__PURE__ */ "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.maxWidth.minimapLeftInsetRatio.minimapRightInsetRatio.isCursorPointer.additionalMinimapHeight.handleType.handleIconColor.handleBorderWidth.handleBorderColor.handleFill.handleWidth".split("."))) : C("", !0),
2399
+ T("div", { id: `legend-bottom-${R.value}` }, null, 8, Ht),
2400
+ Ge(N(Ut), {
2401
+ teleportTo: V.value.style.chart.tooltip.teleportTo,
2402
+ show: H.value.showTooltip && nn.value,
2403
+ backgroundColor: V.value.style.chart.tooltip.backgroundColor,
2404
+ color: V.value.style.chart.tooltip.color,
2405
+ fontSize: V.value.style.chart.tooltip.fontSize,
2406
+ borderRadius: V.value.style.chart.tooltip.borderRadius,
2407
+ borderColor: V.value.style.chart.tooltip.borderColor,
2408
+ borderWidth: V.value.style.chart.tooltip.borderWidth,
2409
+ backgroundOpacity: V.value.style.chart.tooltip.backgroundOpacity,
2410
+ position: V.value.style.chart.tooltip.position,
2411
+ offsetX: V.value.style.chart.tooltip.offsetX,
2412
+ offsetY: V.value.style.chart.tooltip.offsetY,
2413
+ parent: L.value,
2414
+ content: bi.value,
2415
+ isFullscreen: un.value,
2416
+ isCustom: V.value.style.chart.tooltip.customFormat && typeof V.value.style.chart.tooltip.customFormat == "function",
2417
+ smooth: V.value.style.chart.tooltip.smooth,
2418
+ backdropFilter: V.value.style.chart.tooltip.backdropFilter,
2419
+ smoothForce: V.value.style.chart.tooltip.smoothForce,
2420
+ smoothSnapThreshold: V.value.style.chart.tooltip.smoothSnapThreshold,
2421
+ isA11yMode: kn.value === "keyboard",
2422
+ a11yPosition: On.value
2423
+ }, {
2424
+ "tooltip-before": P(() => [j(t.$slots, "tooltip-before", D(E({ ...Qr.value })), void 0, !0)]),
2425
+ tooltip: P(() => [j(t.$slots, "tooltip", D(E({ ...Qr.value })), void 0, !0)]),
2426
+ "tooltip-after": P(() => [j(t.$slots, "tooltip-after", D(E({ ...Qr.value })), void 0, !0)]),
2427
+ _: 3
2428
+ }, 8, [
2429
+ "teleportTo",
2430
+ "show",
2431
+ "backgroundColor",
2432
+ "color",
2433
+ "fontSize",
2434
+ "borderRadius",
2435
+ "borderColor",
2436
+ "borderWidth",
2437
+ "backgroundOpacity",
2438
+ "position",
2439
+ "offsetX",
2440
+ "offsetY",
2441
+ "parent",
2442
+ "content",
2443
+ "isFullscreen",
2444
+ "isCustom",
2445
+ "smooth",
2446
+ "backdropFilter",
2447
+ "smoothForce",
2448
+ "smoothSnapThreshold",
2449
+ "isA11yMode",
2450
+ "a11yPosition"
2451
+ ]),
2452
+ t.$slots.source ? (O(), w("div", {
2453
+ key: 9,
2454
+ ref_key: "source",
2455
+ ref: ln,
2456
+ dir: "auto"
2457
+ }, [j(t.$slots, "source", {}, void 0, !0)], 512)) : C("", !0),
2458
+ j(t.$slots, "skeleton", {}, () => [N(Bn) ? (O(), S(xe, { key: 0 })) : C("", !0)], !0)
2459
+ ], 46, ot));
2460
+ }
2461
+ }, [["__scopeId", "data-v-37738040"]]);
2462
+ //#endregion
2463
+ export { at as n, Ut as t };