vue-data-ui 3.15.12 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +132 -59
  2. package/dist/A11yDataTable-KcVAX2cP.js +54 -0
  3. package/dist/{Arrow-DlPyR6HQ.js → Arrow-Bn-9n3bm.js} +1 -1
  4. package/dist/{BaseDraggableDialog-DSpKTn3R.js → BaseDraggableDialog-CIb-iD9g.js} +2 -2
  5. package/dist/{BaseIcon-CNx8Tzl5.js → BaseIcon-Cb3zzG6s.js} +1 -1
  6. package/dist/{BaseLegendToggle-Y61xahI4.js → BaseLegendToggle-BQVIawmA.js} +1 -1
  7. package/dist/{BaseZoomControls-CoFievy9.js → BaseZoomControls-DievbOeJ.js} +2 -2
  8. package/dist/ColorPicker-B0mV4xzu.js +255 -0
  9. package/dist/{DataTable-Bo1pmAqG.js → DataTable-DT2kIdQ6.js} +2 -2
  10. package/dist/Legend-CS7Xo5LK.js +101 -0
  11. package/dist/{NonSvgPenAndPaper-CGk_xThe.js → NonSvgPenAndPaper-VyJFyJ6X.js} +3 -3
  12. package/dist/{PackageVersion-DN9d0ME5.js → PackageVersion-DPO-OOVI.js} +1 -1
  13. package/dist/{PenAndPaper-DWV1FMIi.js → PenAndPaper-Ct3qJ4lA.js} +109 -101
  14. package/dist/{Shape-CSyWYgXc.js → Shape-BKRUOeKk.js} +1 -1
  15. package/dist/{Slicer-DZJA9IG-.js → Slicer-DUycDH_N.js} +2 -2
  16. package/dist/{SlicerPreview-I2J0UUF_.js → SlicerPreview-DTjwV0iY.js} +2 -2
  17. package/dist/{SparkTooltip-BiseJed3.js → SparkTooltip-BorBpltj.js} +1 -1
  18. package/dist/{Title-BfyrP-jp.js → Title-BeMKE1cj.js} +1 -1
  19. package/dist/{Tooltip-DL3QgjZf.js → Tooltip-Bf-kM3_A.js} +86 -68
  20. package/dist/{UserOptions-CrLqEimB.js → UserOptions-rW2fRf3V.js} +228 -222
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-heatmap.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.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-BAqzNjb1.js → dom-to-png-CtxhhdWb.js} +1 -1
  91. package/dist/{exposedLib-H4lmBl1t.js → exposedLib-DlqmhBx3.js} +1 -1
  92. package/dist/{img-BYYzY_QU.js → img-LXxMLmCg.js} +1 -1
  93. package/dist/{labelUtils-CTXUc3V9.js → labelUtils-CqTHa20R.js} +1 -1
  94. package/dist/{lib-GwPnJSrY.js → lib-DBptbyyI.js} +106 -84
  95. package/dist/{pdf-z-YiJeJQ.js → pdf-B4tTdfvl.js} +1 -1
  96. package/dist/style.css +1 -1
  97. package/dist/types/vue-data-ui.d.ts +59 -0
  98. package/dist/{useAutoSizeLabelsInsideViewbox-80fzdfxt.js → useAutoSizeLabelsInsideViewbox-DX7LdvFX.js} +1 -1
  99. package/dist/{useConfig-CIgyKZ6R.js → useConfig-DO94Aj5s.js} +953 -700
  100. package/dist/{useNestedProp-BBT0mbHh.js → useNestedProp-Bf5XFbs8.js} +1 -1
  101. package/dist/{useObjectBindings-BlXBVtRa.js → useObjectBindings-DQ8g8Jwi.js} +1 -1
  102. package/dist/usePrefersMotion-CUKm8_t8.js +15 -0
  103. package/dist/{usePrinter-DiK5R6k-.js → usePrinter-CEpYU3r5.js} +2 -2
  104. package/dist/utils.js +3 -3
  105. package/dist/{vue-data-ui-C2kPofmi.js → vue-data-ui-DXGkXRnC.js} +68 -68
  106. package/dist/vue-data-ui.js +72 -72
  107. package/dist/vue-ui-3d-bar-BaFpQnd5.js +1597 -0
  108. package/dist/{vue-ui-accordion-BGHTqIBt.js → vue-ui-accordion-nvggWcGN.js} +4 -4
  109. package/dist/vue-ui-age-pyramid-CRM498Pc.js +1069 -0
  110. package/dist/{vue-ui-annotator-B1GWVtPp.js → vue-ui-annotator-CkPi9moo.js} +7 -7
  111. package/dist/{vue-ui-bullet-DPoGGtaG.js → vue-ui-bullet-BBiwof3c.js} +158 -150
  112. package/dist/vue-ui-bump-Brxpu4xV.js +1147 -0
  113. package/dist/vue-ui-candlestick-DAnZv77-.js +1587 -0
  114. package/dist/{vue-ui-carousel-table-CmiHTJ8E.js → vue-ui-carousel-table-BHRZBYY0.js} +168 -160
  115. package/dist/vue-ui-chestnut-CbrYnRgm.js +1812 -0
  116. package/dist/vue-ui-chord-CaX_IUVs.js +1326 -0
  117. package/dist/vue-ui-circle-pack-CR3h53sc.js +988 -0
  118. package/dist/{vue-ui-cursor-B4mHR7QC.js → vue-ui-cursor-Cjfazw7Z.js} +4 -4
  119. package/dist/vue-ui-dag-B9vH3c66.js +3047 -0
  120. package/dist/{vue-ui-dashboard-Bo5FX73U.js → vue-ui-dashboard-DWll05qs.js} +70 -70
  121. package/dist/{vue-ui-digits-mpo2IcM5.js → vue-ui-digits-DcM67rMx.js} +76 -66
  122. package/dist/vue-ui-donut-Be5G38P5.js +2229 -0
  123. package/dist/vue-ui-donut-evolution-BLSesj3c.js +1358 -0
  124. package/dist/vue-ui-dumbbell-DIMiCY4r.js +1380 -0
  125. package/dist/vue-ui-flow-zvZylhgr.js +1202 -0
  126. package/dist/{vue-ui-funnel-BRkaEkBb.js → vue-ui-funnel-CSri-oWm.js} +7 -7
  127. package/dist/vue-ui-galaxy-CGykxsAI.js +1012 -0
  128. package/dist/{vue-ui-gauge-J2VYHsQe.js → vue-ui-gauge-D1MNB9Jq.js} +8 -8
  129. package/dist/vue-ui-geo-DdJDGhG2.js +1437 -0
  130. package/dist/{vue-ui-gizmo-DEec3-v9.js → vue-ui-gizmo-BZYRHGFm.js} +77 -68
  131. package/dist/vue-ui-heatmap-CryOx6XK.js +1500 -0
  132. package/dist/vue-ui-history-plot-C85iw9Kl.js +1449 -0
  133. package/dist/vue-ui-horizontal-bar-BoBZOybC.js +1637 -0
  134. package/dist/vue-ui-kpi-DHrolXw6.js +109 -0
  135. package/dist/{vue-ui-mini-loader-CoOHvZUk.js → vue-ui-mini-loader-Bc3fEQ9j.js} +3 -3
  136. package/dist/{vue-ui-molecule-Chq1qWDK.js → vue-ui-molecule-DJ_BQ4DK.js} +6 -6
  137. package/dist/vue-ui-mood-radar-CBE02TpQ.js +1086 -0
  138. package/dist/vue-ui-nested-donuts-YTFtb4CL.js +1595 -0
  139. package/dist/vue-ui-onion-B9l81-PS.js +1124 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-C1e_rs8J.js +1252 -0
  141. package/dist/vue-ui-quadrant-C1qsLCRn.js +1759 -0
  142. package/dist/vue-ui-quick-chart-DFoz3WiA.js +2216 -0
  143. package/dist/vue-ui-radar-Cmo3p-UA.js +1139 -0
  144. package/dist/{vue-ui-rating-zV58MDQh.js → vue-ui-rating-BAHhYt_A.js} +3 -3
  145. package/dist/vue-ui-relation-circle-BqwznVwf.js +782 -0
  146. package/dist/vue-ui-ridgeline-CDk9eXJq.js +1473 -0
  147. package/dist/vue-ui-rings-BRkGoQdL.js +1156 -0
  148. package/dist/vue-ui-scatter-BxDtWASQ.js +1831 -0
  149. package/dist/{vue-ui-skeleton-CbqNz9IE.js → vue-ui-skeleton-D6kTb9aO.js} +4 -4
  150. package/dist/{vue-ui-smiley-BK5EKp9u.js → vue-ui-smiley-CzVaLlpB.js} +3 -3
  151. package/dist/vue-ui-spark-trend-D8Mf2A1w.js +378 -0
  152. package/dist/{vue-ui-sparkbar-DUDWvTo-.js → vue-ui-sparkbar-BbYj56c3.js} +86 -84
  153. package/dist/vue-ui-sparkgauge-DXzOSLRb.js +256 -0
  154. package/dist/vue-ui-sparkhistogram-DMfSx1iH.js +474 -0
  155. package/dist/vue-ui-sparkline-D-rQ9PsC.js +1327 -0
  156. package/dist/vue-ui-sparkstackbar-DK5n8IKP.js +621 -0
  157. package/dist/vue-ui-stackbar-BHthy6jf.js +2070 -0
  158. package/dist/vue-ui-stackline-C6-WNpKD.js +2164 -0
  159. package/dist/vue-ui-strip-plot-CHu-1ilI.js +1183 -0
  160. package/dist/{vue-ui-table-BHuXI4Eq.js → vue-ui-table-DW9JGsLq.js} +6 -6
  161. package/dist/{vue-ui-table-heatmap-y88sBfu3.js → vue-ui-table-heatmap-LYqoBit9.js} +6 -6
  162. package/dist/{vue-ui-table-sparkline-ClpLLKi2.js → vue-ui-table-sparkline-CXK1dFr-.js} +5 -5
  163. package/dist/{vue-ui-thermometer-sjruUGQx.js → vue-ui-thermometer-BN8tflOz.js} +272 -256
  164. package/dist/{vue-ui-timer-CgdgMKIc.js → vue-ui-timer-DGT0UBOF.js} +6 -6
  165. package/dist/{vue-ui-tiremarks-UBDpAIVr.js → vue-ui-tiremarks-BZ-osQqY.js} +204 -191
  166. package/dist/vue-ui-treemap-98KaVRyd.js +1723 -0
  167. package/dist/vue-ui-waffle-Cb7oJnIc.js +1321 -0
  168. package/dist/vue-ui-wheel-sfew1fjw.js +738 -0
  169. package/dist/vue-ui-word-cloud-vq1t9JHr.js +1548 -0
  170. package/dist/{vue-ui-world-D-3wgoTn.js → vue-ui-world-CN0f6elD.js} +8 -8
  171. package/dist/vue-ui-xy-BdzEiImZ.js +3877 -0
  172. package/dist/vue-ui-xy-canvas-CWQzUQzY.js +1810 -0
  173. package/package.json +2 -2
  174. package/dist/ColorPicker-j0ySewhI.js +0 -244
  175. package/dist/Legend-1LMMsPxL.js +0 -90
  176. package/dist/vue-ui-3d-bar-BhNgFaJA.js +0 -1484
  177. package/dist/vue-ui-age-pyramid-CuYRf5v-.js +0 -997
  178. package/dist/vue-ui-bump-C_fKharc.js +0 -1059
  179. package/dist/vue-ui-candlestick-BY-_E7eZ.js +0 -1487
  180. package/dist/vue-ui-chestnut-C-bQYaNI.js +0 -1557
  181. package/dist/vue-ui-chord-uQYQgyGM.js +0 -1220
  182. package/dist/vue-ui-circle-pack-CdbDcuDw.js +0 -907
  183. package/dist/vue-ui-dag-DsHUvjvm.js +0 -2885
  184. package/dist/vue-ui-donut-CzCgCVsx.js +0 -2139
  185. package/dist/vue-ui-donut-evolution-C_ck_TOR.js +0 -1297
  186. package/dist/vue-ui-dumbbell-CVSA90b2.js +0 -1293
  187. package/dist/vue-ui-flow-CsbSaFnu.js +0 -1075
  188. package/dist/vue-ui-galaxy-DWKHDciu.js +0 -914
  189. package/dist/vue-ui-geo-DykhEWVq.js +0 -1331
  190. package/dist/vue-ui-heatmap-BEDirv8T.js +0 -1334
  191. package/dist/vue-ui-history-plot-Bs96PebH.js +0 -1292
  192. package/dist/vue-ui-horizontal-bar-ClQcB9nL.js +0 -1522
  193. package/dist/vue-ui-kpi-DlUEHKuw.js +0 -101
  194. package/dist/vue-ui-mood-radar-A2LBLgUi.js +0 -967
  195. package/dist/vue-ui-nested-donuts-DFX251aT.js +0 -1513
  196. package/dist/vue-ui-onion-CW0YO9Ro.js +0 -1045
  197. package/dist/vue-ui-parallel-coordinate-plot-UFg10bHP.js +0 -1134
  198. package/dist/vue-ui-quadrant-C1pLW2zA.js +0 -1647
  199. package/dist/vue-ui-quick-chart-FaxttnJY.js +0 -2030
  200. package/dist/vue-ui-radar-DE70LPBZ.js +0 -1067
  201. package/dist/vue-ui-relation-circle-iuRXIyRU.js +0 -704
  202. package/dist/vue-ui-ridgeline-CwvDh5pG.js +0 -1385
  203. package/dist/vue-ui-rings-80ZUki42.js +0 -1083
  204. package/dist/vue-ui-scatter-FdAAYJOK.js +0 -1670
  205. package/dist/vue-ui-spark-trend-C68p8-Xp.js +0 -349
  206. package/dist/vue-ui-sparkgauge-DdRtHQDe.js +0 -245
  207. package/dist/vue-ui-sparkhistogram-C9DvzQae.js +0 -396
  208. package/dist/vue-ui-sparkline-B2RDrdiR.js +0 -1273
  209. package/dist/vue-ui-sparkstackbar-BsIOHUE5.js +0 -475
  210. package/dist/vue-ui-stackbar-BZl0kEkb.js +0 -2001
  211. package/dist/vue-ui-stackline-2VKxwFei.js +0 -2099
  212. package/dist/vue-ui-strip-plot-B9nBSRyY.js +0 -1080
  213. package/dist/vue-ui-treemap-BS5EilZf.js +0 -1645
  214. package/dist/vue-ui-waffle-CbX5K9Q2.js +0 -1211
  215. package/dist/vue-ui-wheel-BIJ09H5D.js +0 -723
  216. package/dist/vue-ui-word-cloud-DJmJ-oYT.js +0 -1466
  217. package/dist/vue-ui-xy-canvas-4auyhlTr.js +0 -1717
  218. package/dist/vue-ui-xy-f67V1xjd.js +0 -3713
@@ -0,0 +1,1380 @@
1
+ import { defineAsyncComponent as G, computed as b, ref as h, toRefs as rl, watch as fe, shallowRef as ct, onMounted as vt, onBeforeUnmount as dt, watchEffect as ul, openBlock as n, createElementBlock as v, unref as c, normalizeStyle as le, normalizeClass as ht, createElementVNode as i, toDisplayString as _, createBlock as T, createCommentVNode as g, withCtx as m, renderSlot as p, normalizeProps as C, guardReactiveProps as w, createSlots as ft, createVNode as yt, Fragment as A, renderList as X, withDirectives as ae, vShow as se, Teleport as il, createTextVNode as Xe, resolveDynamicComponent as cl, mergeProps as vl, nextTick as bt } from "vue";
2
+ import { j as gt, t as pt, o as dl, q as mt, r as hl, K as kt, D as fl, l as S, k as B, X as xt, u as _t, x as oe, w as ne, a0 as yl, a1 as bl } from "./lib-DBptbyyI.js";
3
+ import { t as ze, u as gl } from "./useResponsive-DfdjqQps.js";
4
+ import { u as pl } from "./useConfig-DO94Aj5s.js";
5
+ import { u as ml } from "./usePrinter-CEpYU3r5.js";
6
+ import { u as kl, B as xl } from "./BaseScanner-BhhkKVoj.js";
7
+ import { u as _l } from "./useSvgExport-ByUukOZt.js";
8
+ import { u as Ie } from "./useNestedProp-Bf5XFbs8.js";
9
+ import { u as Cl } from "./useThemeCheck-D1ZYXUwG.js";
10
+ import { u as wl } from "./useUserOptionState-BIvW1Kz7.js";
11
+ import { u as $l } from "./useChartAccessibility-9icAAmYg.js";
12
+ import { u as Ll } from "./useTimeLabelCollider-CIsgDrl9.js";
13
+ import Al from "./img-LXxMLmCg.js";
14
+ import Sl from "./Title-BeMKE1cj.js";
15
+ import Nl from "./vue_ui_dumbbell-BCOHDiPk.js";
16
+ import Ml from "./Legend-CS7Xo5LK.js";
17
+ import { A as Tl } from "./A11yDataTable-KcVAX2cP.js";
18
+ import { _ as Xl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
19
+ const zl = ["id"], Il = ["id"], Pl = ["id"], Dl = { style: { position: "relative" } }, Ol = ["xmlns", "viewBox", "aria-describedby"], Fl = ["x", "y", "width", "height"], Hl = { key: 1 }, El = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Gl = { key: 2 }, Bl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Rl = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Vl = ["transform", "font-size", "fill"], Ul = ["x", "y", "font-size", "fill", "font-weight", "onMouseenter", "onMouseleave", "onClick"], Wl = ["x", "y", "font-size", "fill", "onMouseenter", "onMouseleave", "onClick"], ql = ["x", "y", "font-size", "fill"], Kl = ["transform", "font-size", "fill", "font-weight", "text-anchor"], jl = ["d", "stroke", "stroke-width", "stroke-dasharray"], Yl = ["d", "stroke", "stroke-width", "stroke-dasharray"], Zl = ["x", "y", "height", "width", "fill"], Jl = ["transform", "fill", "font-size"], Ql = ["id"], ea = ["stop-color"], ta = ["stop-color"], la = ["stop-color"], aa = ["id"], sa = ["stop-color"], oa = ["stop-color"], na = ["stop-color"], ra = ["id"], ua = ["stop-color"], ia = ["stop-color"], ca = ["stop-color"], va = ["id"], da = ["stop-color"], ha = ["stop-color"], fa = ["stop-color"], ya = ["id"], ba = ["stop-color"], ga = ["stop-color"], pa = ["stop-color"], ma = ["id"], ka = ["stop-color"], xa = ["stop-color"], _a = ["id"], Ca = ["stop-color"], wa = ["stop-color"], $a = { key: 0 }, La = { key: 0 }, Aa = ["d", "fill"], Sa = { key: 1 }, Na = ["x", "y", "height", "width", "fill"], Ma = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ta = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Xa = { key: 7 }, za = ["x", "y", "fill", "font-size"], Ia = { key: 8 }, Pa = ["x", "y", "fill", "font-size"], Da = ["x", "y", "width", "height", "fill", "onMouseenter", "onMouseleave", "onClick"], Oa = {
20
+ key: 0,
21
+ style: { position: "absolute", top: "100%", left: "0", width: "100%" },
22
+ "data-dom-to-png-ignore": "",
23
+ "aria-hidden": "true"
24
+ }, Fa = {
25
+ key: 5,
26
+ class: "vue-data-ui-watermark"
27
+ }, Ha = ["id"], Ea = ["xmlns", "height", "width"], Ga = ["fill"], Ba = ["innerHTML"], Ra = {
28
+ __name: "vue-ui-dumbbell",
29
+ props: {
30
+ config: {
31
+ type: Object,
32
+ default() {
33
+ return {};
34
+ }
35
+ },
36
+ dataset: {
37
+ type: Array,
38
+ default() {
39
+ return [];
40
+ }
41
+ }
42
+ },
43
+ emits: ["selectDatapoint", "copyAlt"],
44
+ setup(Ct, { expose: wt, emit: $t }) {
45
+ const Lt = G(() => import("./BaseIcon-Cb3zzG6s.js")), At = G(() => import("./vue-ui-accordion-nvggWcGN.js")), St = G(() => import("./DataTable-DT2kIdQ6.js")), Nt = G(() => import("./PenAndPaper-Ct3qJ4lA.js")), Mt = G(() => import("./UserOptions-rW2fRf3V.js")), Tt = G(() => import("./PackageVersion-DPO-OOVI.js")), Xt = G(() => import("./BaseDraggableDialog-CIb-iD9g.js")), { vue_ui_dumbbell: zt } = pl(), { isThemeValid: It, warnInvalidTheme: Pt } = Cl(), $ = Ct, Dt = $t, re = b({
46
+ get() {
47
+ return !!$.dataset && $.dataset.length;
48
+ },
49
+ set(l) {
50
+ return l;
51
+ }
52
+ }), f = h(gt()), Pe = h(0), z = h(null), De = h(null), Oe = h(null), Fe = h(null), He = h(null), Ee = h(0), Ge = h(0), Be = h(0), Re = h(!1), j = h(null), ye = h(null), ue = h(!1), ie = h(!1), be = h(null), ge = h(null), ce = h(null), pe = h(null), I = h(null), u = h(null), L = h(null), me = h(!1), H = h(!1), e = h(Ce()), Y = b(() => e.value.userOptions.useCursorPointer), Ot = b(() => pt({
53
+ defaultConfig: {
54
+ userOptions: { show: !1 },
55
+ table: { show: !1 },
56
+ useAnimation: !1,
57
+ style: {
58
+ chart: {
59
+ backgroundColor: "#99999930",
60
+ padding: {
61
+ top: 12,
62
+ right: 12,
63
+ bottom: 12,
64
+ left: 12
65
+ },
66
+ grid: {
67
+ horizontalGrid: { stroke: "#6A6A6A" },
68
+ verticalGrid: { stroke: "#6A6A6A" }
69
+ },
70
+ labels: {
71
+ axis: {
72
+ yLabel: "",
73
+ xLabel: ""
74
+ },
75
+ xAxisLabels: { show: !1 },
76
+ yAxisLabels: { show: !1 },
77
+ endLabels: { show: !1 },
78
+ startLabels: { show: !1 }
79
+ },
80
+ legend: {
81
+ backgroundColor: "transparent"
82
+ },
83
+ plots: {
84
+ endColor: "#969696",
85
+ startColor: "#DBDBDB",
86
+ stroke: "#6A6A6A",
87
+ evaluationColors: { enable: !1 }
88
+ }
89
+ }
90
+ }
91
+ },
92
+ userConfig: e.value.skeletonConfig ?? {}
93
+ })), { loading: ke, FINAL_DATASET: xe, manualLoading: Ft } = kl({
94
+ ...rl($),
95
+ FINAL_CONFIG: e,
96
+ prepareConfig: Ce,
97
+ skeletonDataset: $.config?.skeletonDataset ?? [
98
+ { name: "_", start: 21, end: 34 },
99
+ { name: "_", start: 13, end: 21 },
100
+ { name: "_", start: 8, end: 13 },
101
+ { name: "_", start: 5, end: 8 },
102
+ { name: "_", start: 3, end: 5 }
103
+ ],
104
+ skeletonConfig: pt({
105
+ defaultConfig: e.value,
106
+ userConfig: Ot.value
107
+ })
108
+ }), { userOptionsVisible: _e, setUserOptionsVisibility: Ve, keepUserOptionState: Ue } = wl({ config: e.value }), { svgRef: Z } = $l({ config: e.value.style.chart.title });
109
+ function Ce() {
110
+ const l = Ie({
111
+ userConfig: $.config,
112
+ defaultConfig: zt
113
+ }), s = l.theme;
114
+ if (!s) return l;
115
+ if (!It.value(l))
116
+ return Pt(l), l;
117
+ const t = Ie({
118
+ userConfig: Nl[s] || $.config,
119
+ defaultConfig: l
120
+ });
121
+ return Ie({
122
+ userConfig: $.config,
123
+ defaultConfig: t
124
+ });
125
+ }
126
+ fe(() => $.config, (l) => {
127
+ ke.value || (e.value = Ce()), _e.value = !e.value.userOptions.showOnChartHover, qe(), Ee.value += 1, Ge.value += 1, Be.value += 1, U.value = e.value.style.chart.rowHeight, W.value = e.value.style.chart.width, E.value.showTable = e.value.table.show;
128
+ }, { deep: !0 }), fe(() => xe.value, (l) => {
129
+ Array.isArray(l) && l.length > 0 && (Ft.value = !1), Qe(), et();
130
+ }, { deep: !0 });
131
+ const P = ct(null), R = ct(null);
132
+ vt(() => {
133
+ Re.value = !0, qe();
134
+ });
135
+ const We = b(() => !!e.value.debug);
136
+ function qe() {
137
+ if (dl($.dataset) ? mt({
138
+ componentName: "VueUiDumbbell",
139
+ type: "dataset",
140
+ debug: We.value
141
+ }) : $.dataset.forEach((l, s) => {
142
+ hl({
143
+ datasetObject: l,
144
+ requiredAttributes: ["name", "start", "end"]
145
+ }).forEach((t) => {
146
+ re.value = !1, mt({
147
+ componentName: "VueUiDumbbell",
148
+ type: "datasetSerieAttribute",
149
+ property: t,
150
+ index: s,
151
+ debug: We.value
152
+ });
153
+ });
154
+ }), e.value.responsive) {
155
+ const l = ze(() => {
156
+ const { width: s, height: t } = gl({
157
+ chart: z.value,
158
+ title: e.value.style.chart.title.text ? De.value : null,
159
+ legend: e.value.style.chart.legend.show ? Oe.value : null,
160
+ source: Fe.value,
161
+ noTitle: He.value
162
+ }), a = e.value.style.chart.title.text ? 24 : 0, r = e.value.style.chart.legend.show ? 24 : 0;
163
+ requestAnimationFrame(async () => {
164
+ W.value = Math.max(0.1, s), U.value = Math.max(0.1, (Math.max(0.1, t) - (a + r)) / xe.value.length), st();
165
+ });
166
+ });
167
+ P.value && (R.value && P.value.unobserve(R.value), P.value.disconnect()), P.value = new ResizeObserver(l), R.value = z.value.parentNode, P.value.observe(R.value);
168
+ }
169
+ st();
170
+ }
171
+ dt(() => {
172
+ M.value != null && (cancelAnimationFrame(M.value), M.value = null), P.value && (R.value && P.value.unobserve(R.value), P.value.disconnect());
173
+ });
174
+ const { isPrinting: we, isImaging: $e, generatePdf: Ke, generateImage: je } = ml({
175
+ elementId: `dumbbell_${f.value}`,
176
+ fileName: e.value.style.chart.title.text || "vue-ui-dumbbell",
177
+ options: e.value.userOptions.print
178
+ }), Ht = b(() => e.value.userOptions.show && !e.value.style.chart.title.text), E = h({
179
+ showTable: e.value.table.show
180
+ });
181
+ fe(e, () => {
182
+ E.value = {
183
+ showTable: e.value.table.show
184
+ };
185
+ }, { immediate: !0 });
186
+ const V = b(() => xe.value.map((l, s) => ({
187
+ ...l,
188
+ start: kt(l.start),
189
+ end: kt(l.end),
190
+ id: l.id ?? `${String(l.name)}__${String(l.start)}__${String(l.end)}__${gt()}`
191
+ }))), Ye = b(() => {
192
+ const l = e.value.style.chart.grid, s = V.value.flatMap((y) => [y.start, y.end]).map((y) => Number(y)).filter((y) => Number.isFinite(y)), t = s.length ? Math.min(...s) : 0, a = s.length ? Math.max(...s) : 0, r = l.scaleMin ?? Math.min(t, 0), d = l.scaleMax ?? a;
193
+ return { min: r, max: d };
194
+ }), N = b(() => fl(Ye.value.min, Ye.value.max, e.value.style.chart.grid.scaleSteps)), U = h(e.value.style.chart.rowHeight), W = h(e.value.style.chart.width);
195
+ function Et() {
196
+ let l = 0;
197
+ ge.value && (l = Array.from(ge.value.querySelectorAll("text")).reduce((a, r) => {
198
+ const d = r.getComputedTextLength();
199
+ return d > a ? d : a;
200
+ }, 0));
201
+ const s = be.value ? be.value.getBoundingClientRect().width : 0;
202
+ return l + s + (s ? 24 + e.value.style.chart.labels.axis.yLabelOffsetX : 0);
203
+ }
204
+ const Le = h(0), Gt = ze((l) => {
205
+ Le.value = l;
206
+ }, 100);
207
+ ul((l) => {
208
+ const s = ce.value;
209
+ if (!s) return;
210
+ const t = new ResizeObserver((a) => {
211
+ Gt(a[0].contentRect.height);
212
+ });
213
+ t.observe(s), l(() => t.disconnect());
214
+ }), dt(() => {
215
+ Le.value = 0;
216
+ });
217
+ const Ze = b(() => {
218
+ H.value;
219
+ let l = 0;
220
+ pe.value && (l = pe.value.getBBox().height);
221
+ let s = 0;
222
+ return ce.value && (s = Le.value), l + s;
223
+ }), Ae = b(() => V.value.length);
224
+ function Je(l, s, t) {
225
+ const a = Number(l), r = Number(s.min), d = Number(s.max), y = Number(t.width);
226
+ if (!Number.isFinite(a) || !Number.isFinite(r) || !Number.isFinite(d) || !Number.isFinite(y))
227
+ return t.left;
228
+ const x = d - r;
229
+ return x <= 0 ? t.left : t.left + (a - r) / x * y;
230
+ }
231
+ const o = b(() => {
232
+ H.value;
233
+ const l = Et(), s = e.value.style.chart.padding, t = e.value.style.chart.labels.axis.xLabel ? e.value.style.chart.labels.axis.xLabelOffsetY : 0, a = U.value * Ae.value - Ze.value - s.top - s.bottom - t, r = a / Ae.value, d = U.value * Ae.value, y = W.value - l - s.left - s.right, x = N.value.ticks.length * (y / N.value.ticks.length);
234
+ return {
235
+ left: e.value.style.chart.padding.left + l,
236
+ right: W.value - e.value.style.chart.padding.right,
237
+ top: e.value.style.chart.padding.top,
238
+ bottom: d - e.value.style.chart.padding.bottom - Ze.value - t,
239
+ width: y,
240
+ height: a,
241
+ rowHeight: r,
242
+ absoluteHeight: d,
243
+ widthPlotReference: x
244
+ };
245
+ }), D = b(() => Math.min(U.value / 2 * 0.7, e.value.style.chart.plots.radius)), J = h([]), k = b({
246
+ get() {
247
+ const l = o.value, s = N.value;
248
+ return J.value.map((t, a) => {
249
+ const r = Je(t.start, s, l), d = Je(t.endVal, s, l), y = r + (d - r) / 2, x = ![null, void 0].includes(t.start) && ![null, void 0].includes(t.end) && t.end > t.start, F = ![null, void 0].includes(t.start) && ![null, void 0].includes(t.end) && t.end < t.start, it = ![null, void 0].includes(t.start) && ![null, void 0].includes(t.end) && t.end === t.start || [null, void 0].includes(t.start) || [null, void 0].includes(t.end), nl = x ? e.value.style.chart.plots.evaluationColors.positive : F ? e.value.style.chart.plots.evaluationColors.negative : e.value.style.chart.plots.evaluationColors.neutral;
250
+ return {
251
+ ...t,
252
+ isPositive: x,
253
+ isNegative: F,
254
+ isNeutral: it,
255
+ evaluationColor: nl,
256
+ evaluationGrad: `url(#${x ? "positive" : F ? "negative" : "neutral"}_grad_${f.value})`,
257
+ startX: r,
258
+ endX: d,
259
+ centerX: y,
260
+ y: l.top + a * l.rowHeight + l.rowHeight / 2
261
+ };
262
+ });
263
+ },
264
+ set(l) {
265
+ J.value = l;
266
+ }
267
+ });
268
+ function Qe() {
269
+ J.value = V.value.map((l) => {
270
+ const s = Number(l.start);
271
+ return {
272
+ ...l,
273
+ endVal: Number.isFinite(s) ? s : 0
274
+ };
275
+ });
276
+ }
277
+ const M = h(null);
278
+ vt(() => {
279
+ et();
280
+ });
281
+ function et() {
282
+ if (M.value != null && (cancelAnimationFrame(M.value), M.value = null), Qe(), !e.value.useAnimation) {
283
+ k.value = J.value.map((a) => {
284
+ const r = Number(a.end);
285
+ return { ...a, endVal: Number.isFinite(r) ? r : a.endVal };
286
+ });
287
+ return;
288
+ }
289
+ const l = Math.max(1, Math.min(100, e.value.animationSpeed || 100)) / 100, s = V.value.map((a) => {
290
+ const r = Number(a.start), d = Number(a.end), y = Number.isFinite(r) ? r : 0;
291
+ return (Number.isFinite(d) ? d : y) - y;
292
+ }), t = () => {
293
+ let a = !0;
294
+ k.value = J.value.map((r, d) => {
295
+ const y = Number.isFinite(Number(r.end)) ? Number(r.end) : r.endVal, x = r.endVal + s[d] * l, F = s[d] >= 0 ? Math.min(x, y) : Math.max(x, y);
296
+ return F !== y && (a = !1), { ...r, endVal: F };
297
+ }), a ? M.value = null : M.value = requestAnimationFrame(t);
298
+ };
299
+ M.value = requestAnimationFrame(t);
300
+ }
301
+ const Se = b(() => e.value.style.chart.plots.evaluationColors.enable ? [
302
+ { name: e.value.style.chart.legend.labelNegative, color: e.value.style.chart.plots.gradient.show ? `url(#negative_grad_${f.value})` : e.value.style.chart.plots.evaluationColors.negative },
303
+ { name: e.value.style.chart.legend.labelNeutral, color: e.value.style.chart.plots.gradient.show ? `url(#neutral_grad_${f.value})` : e.value.style.chart.plots.evaluationColors.neutral },
304
+ { name: e.value.style.chart.legend.labelPositive, color: e.value.style.chart.plots.gradient.show ? `url(#positive_grad_${f.value})` : e.value.style.chart.plots.evaluationColors.positive }
305
+ ] : [
306
+ { name: e.value.style.chart.legend.labelStart, color: e.value.style.chart.plots.gradient.show ? `url(#start_grad_${f.value})` : e.value.style.chart.plots.startColor },
307
+ { name: e.value.style.chart.legend.labelEnd, color: e.value.style.chart.plots.gradient.show ? `url(#end_grad_${f.value})` : e.value.style.chart.plots.endColor }
308
+ ]), Bt = b(() => ({
309
+ cy: "donut-div-legend",
310
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
311
+ color: e.value.style.chart.legend.color,
312
+ fontSize: e.value.style.chart.legend.fontSize,
313
+ paddingBottom: 12,
314
+ paddingTop: 12,
315
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
316
+ })), O = b(() => {
317
+ const l = k.value.map((t) => ({
318
+ name: t.name
319
+ })), s = k.value.map((t) => ({
320
+ start: t.start,
321
+ end: t.end
322
+ }));
323
+ return { head: l, body: s };
324
+ }), q = b(() => {
325
+ const l = [
326
+ e.value.table.columnNames.series,
327
+ e.value.table.columnNames.start,
328
+ e.value.table.columnNames.end,
329
+ e.value.table.columnNames.progression
330
+ ], s = O.value.head.map((r, d) => {
331
+ const y = S({
332
+ p: e.value.style.chart.labels.prefix,
333
+ v: O.value.body[d].start,
334
+ s: e.value.style.chart.labels.suffix,
335
+ r: e.value.table.td.roundingValue
336
+ }), x = S({
337
+ p: e.value.style.chart.labels.prefix,
338
+ v: O.value.body[d].end,
339
+ s: e.value.style.chart.labels.suffix,
340
+ r: e.value.table.td.roundingValue
341
+ }), F = S({
342
+ v: 100 * (O.value.body[d].end / O.value.body[d].start - 1),
343
+ s: "%",
344
+ r: e.value.table.td.roundingPercentage
345
+ });
346
+ return [
347
+ { name: r.name },
348
+ y,
349
+ x,
350
+ F
351
+ ];
352
+ }), t = {
353
+ th: {
354
+ backgroundColor: e.value.table.th.backgroundColor,
355
+ color: e.value.table.th.color,
356
+ outline: e.value.table.th.outline
357
+ },
358
+ td: {
359
+ backgroundColor: e.value.table.td.backgroundColor,
360
+ color: e.value.table.td.color,
361
+ outline: e.value.table.td.outline
362
+ },
363
+ breakpoint: e.value.table.responsiveBreakpoint
364
+ };
365
+ return {
366
+ colNames: [
367
+ e.value.table.columnNames.series,
368
+ e.value.table.columnNames.start,
369
+ e.value.table.columnNames.end,
370
+ e.value.table.columnNames.progression
371
+ ],
372
+ head: l,
373
+ body: s,
374
+ config: t
375
+ };
376
+ });
377
+ function Ne(l = null) {
378
+ bt(() => {
379
+ const s = O.value.head.map((r, d) => [[
380
+ r.name
381
+ ], [O.value.body[d].start], [O.value.body[d].end]]), t = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [[e.value.table.columnNames.series], [e.value.table.columnNames.start], [e.value.table.columnNames.end]]].concat(s), a = yl(t);
382
+ l ? l(a) : bl({ csvContent: a, title: e.value.style.chart.title.text || "vue-ui-dumbbell" });
383
+ });
384
+ }
385
+ const K = h(!1);
386
+ function tt(l) {
387
+ K.value = l, Pe.value += 1;
388
+ }
389
+ function Rt() {
390
+ return V.value;
391
+ }
392
+ function lt() {
393
+ E.value.showTable = !E.value.showTable;
394
+ }
395
+ const Q = h(!1);
396
+ function Me() {
397
+ Q.value = !Q.value;
398
+ }
399
+ async function Vt({ scale: l = 2 } = {}) {
400
+ if (!z.value) return;
401
+ const { width: s, height: t } = z.value.getBoundingClientRect(), a = s / t, { imageUri: r, base64: d } = await Al({ domElement: z.value, base64: !0, img: !0, scale: l });
402
+ return {
403
+ imageUri: r,
404
+ base64: d,
405
+ title: e.value.style.chart.title.text,
406
+ width: s,
407
+ height: t,
408
+ aspectRatio: a
409
+ };
410
+ }
411
+ const at = b(() => N.value.ticks), Ut = b(() => ({ start: 0, end: at.value.length }));
412
+ Ll({
413
+ timeLabelsEls: ce,
414
+ timeLabels: at,
415
+ slicer: Ut,
416
+ configRef: e,
417
+ rotationPath: ["style", "chart", "labels", "xAxisLabels", "rotation"],
418
+ autoRotatePath: ["style", "chart", "labels", "xAxisLabels", "autoRotate", "enable"],
419
+ isAutoSize: !1,
420
+ width: W,
421
+ height: U,
422
+ targetClass: ".vue-ui-dumbbell-scale-label",
423
+ rotation: e.value.style.chart.labels.xAxisLabels.autoRotate.angle
424
+ });
425
+ function Wt({
426
+ rowHeight: l,
427
+ fontSize: s,
428
+ showProgression: t
429
+ }) {
430
+ if (!t) return !1;
431
+ const a = l / 3, r = l / 1.3, d = Math.abs(r - a), y = s * 1.2;
432
+ return d < y;
433
+ }
434
+ const qt = /* @__PURE__ */ (() => {
435
+ let l = null, s = 0;
436
+ const t = 1;
437
+ return (a) => {
438
+ if (a === H.value) {
439
+ l = null, s = 0;
440
+ return;
441
+ }
442
+ l === null || l !== a ? (l = a, s = 1) : (s += 1, s >= t && (H.value = a, l = null, s = 0));
443
+ };
444
+ })(), st = ze(() => {
445
+ requestAnimationFrame(() => {
446
+ requestAnimationFrame(() => {
447
+ const l = Wt({
448
+ rowHeight: o.value.rowHeight,
449
+ fontSize: e.value.style.chart.labels.yAxisLabels.fontSize,
450
+ showProgression: e.value.style.chart.labels.yAxisLabels.showProgression
451
+ });
452
+ qt(l);
453
+ });
454
+ });
455
+ }, 100);
456
+ function ve({ datapoint: l, seriesIndex: s }) {
457
+ I.value = s, u.value = l, e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: l, seriesIndex: s });
458
+ }
459
+ function de({ datapoint: l, seriesIndex: s }) {
460
+ I.value = null, u.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: l, seriesIndex: s });
461
+ }
462
+ function he({ datapoint: l, seriesIndex: s }) {
463
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: l, seriesIndex: s });
464
+ }
465
+ const Te = b(() => {
466
+ if (u.value === null) return 0;
467
+ const l = ![null, void 0].includes(u.value.start), s = ![null, void 0].includes(u.value.end);
468
+ return l && s ? Math.min(u.value.startX, u.value.endX) + Math.abs(u.value.startX - u.value.endX) / 2 : l && !s ? u.value.startX : s && !l ? u.value.endX : null;
469
+ }), Kt = b(() => {
470
+ if (u.value === null) return "";
471
+ const l = ![null, void 0].includes(u.value.start), s = ![null, void 0].includes(u.value.end);
472
+ let t = "", a = "";
473
+ return l && (t = B(
474
+ e.value.style.chart.labels.formatter,
475
+ u.value.start,
476
+ S({
477
+ p: e.value.style.chart.labels.prefix,
478
+ v: u.value.start,
479
+ s: e.value.style.chart.labels.suffix,
480
+ r: e.value.style.chart.labels.startLabels.rounding
481
+ }),
482
+ { datapoint: u.value, seriesIndex: I.value }
483
+ )), s && (a = B(
484
+ e.value.style.chart.labels.formatter,
485
+ u.value.end,
486
+ S({
487
+ p: e.value.style.chart.labels.prefix,
488
+ v: u.value.end,
489
+ s: e.value.style.chart.labels.suffix,
490
+ r: e.value.style.chart.labels.startLabels.rounding
491
+ }),
492
+ { datapoint: u.value, seriesIndex: I.value }
493
+ )), l && s ? `${t} → ${a}` : l && !s ? t : s && !l ? a : "";
494
+ }), ee = b(() => {
495
+ const l = e.value.table.useDialog && !e.value.table.show, s = E.value.showTable;
496
+ return {
497
+ component: l ? Xt : At,
498
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
499
+ props: l ? {
500
+ backgroundColor: e.value.table.th.backgroundColor,
501
+ color: e.value.table.th.color,
502
+ headerColor: e.value.table.th.color,
503
+ headerBg: e.value.table.th.backgroundColor,
504
+ isFullscreen: K.value,
505
+ fullscreenParent: z.value,
506
+ forcedWidth: Math.min(800, window.innerWidth * 0.8),
507
+ isCursorPointer: Y.value
508
+ } : {
509
+ hideDetails: !0,
510
+ config: {
511
+ open: s,
512
+ maxHeight: 1e4,
513
+ body: {
514
+ backgroundColor: e.value.style.chart.backgroundColor,
515
+ color: e.value.style.chart.color
516
+ },
517
+ head: {
518
+ backgroundColor: e.value.style.chart.backgroundColor,
519
+ color: e.value.style.chart.color
520
+ }
521
+ }
522
+ }
523
+ };
524
+ });
525
+ fe(() => E.value.showTable, (l) => {
526
+ e.value.table.show || (l && e.value.table.useDialog && j.value ? j.value.open() : "close" in j.value && j.value.close());
527
+ });
528
+ function ot() {
529
+ E.value.showTable = !1, ye.value && ye.value.setTableIconState(!1);
530
+ }
531
+ const jt = b(() => Se.value.map((l) => ({
532
+ ...l,
533
+ shape: "circle"
534
+ }))), Yt = b(() => e.value.style.chart.backgroundColor), Zt = b(() => e.value.style.chart.legend), Jt = b(() => e.value.style.chart.title), { exportSvg: Qt, getSvg: el } = _l({
535
+ svg: Z,
536
+ title: Jt,
537
+ legend: Zt,
538
+ legendItems: jt,
539
+ backgroundColor: Yt
540
+ });
541
+ async function nt({ isCb: l }) {
542
+ ie.value = !0, await bt();
543
+ try {
544
+ if (l) {
545
+ const { blob: s, url: t, text: a, dataUrl: r } = await el();
546
+ await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: s, url: t, text: a, dataUrl: r }));
547
+ } else
548
+ await Promise.resolve(Qt());
549
+ } finally {
550
+ ie.value = !1;
551
+ }
552
+ }
553
+ function tl(l) {
554
+ if (l?.stage === "start") {
555
+ ue.value = !0;
556
+ return;
557
+ }
558
+ if (l?.stage === "end") {
559
+ ue.value = !1;
560
+ return;
561
+ }
562
+ je();
563
+ }
564
+ async function rt() {
565
+ if (Dt("copyAlt", {
566
+ config: e.value,
567
+ dataset: k.value
568
+ }), !e.value.userOptions.callbacks.altCopy) {
569
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
570
+ return;
571
+ }
572
+ await Promise.resolve(e.value.userOptions.callbacks.altCopy({
573
+ config: e.value,
574
+ dataset: k.value
575
+ }));
576
+ }
577
+ function ll(l) {
578
+ const s = k.value.length;
579
+ return s ? (l % s + s) % s : null;
580
+ }
581
+ function ut() {
582
+ if (L.value !== null) {
583
+ const l = k.value[L.value];
584
+ l && de({
585
+ datapoint: l,
586
+ seriesIndex: L.value
587
+ });
588
+ }
589
+ L.value = null, I.value = null, u.value = null;
590
+ }
591
+ function al() {
592
+ L.value = null, me.value = !0;
593
+ }
594
+ function sl() {
595
+ ut(), me.value = !1;
596
+ }
597
+ function ol(l) {
598
+ if (!Z.value || Q.value || document.activeElement !== Z.value || !k.value.length) return;
599
+ const s = ["ArrowUp", "ArrowLeft"].includes(l.key), t = ["ArrowDown", "ArrowRight"].includes(l.key), a = l.key === "Enter" || l.key === " ", r = l.key === "Escape";
600
+ if (!s && !t && !a && !r) return;
601
+ if (l.preventDefault(), l.stopPropagation(), r) {
602
+ ut();
603
+ return;
604
+ }
605
+ if (a) {
606
+ if (L.value === null) return;
607
+ const x = k.value[L.value];
608
+ if (!x) return;
609
+ he({
610
+ datapoint: x,
611
+ seriesIndex: L.value
612
+ });
613
+ return;
614
+ }
615
+ let d = L.value;
616
+ d === null ? d = t ? 0 : k.value.length - 1 : d = ll(d + (t ? 1 : -1));
617
+ const y = k.value[d];
618
+ y && (L.value = d, ve({
619
+ datapoint: y,
620
+ seriesIndex: d
621
+ }));
622
+ }
623
+ const te = b(() => ({
624
+ head: q.value.head,
625
+ body: q.value.body.map((l) => [
626
+ l[0]?.name ?? "",
627
+ l[1],
628
+ l[2],
629
+ l[3]
630
+ ]),
631
+ caption: e.value.a11y.translations.tableCaption,
632
+ notice: e.value.a11y.translations.tableAvailable
633
+ }));
634
+ return wt({
635
+ getData: Rt,
636
+ getImage: Vt,
637
+ generatePdf: Ke,
638
+ generateCsv: Ne,
639
+ generateImage: je,
640
+ generateSvg: nt,
641
+ toggleTable: lt,
642
+ toggleAnnotator: Me,
643
+ toggleFullscreen: tt,
644
+ copyAlt: rt
645
+ }), (l, s) => (n(), v("div", {
646
+ ref_key: "dumbbellChart",
647
+ ref: z,
648
+ class: ht(`vue-data-ui-component vue-ui-dumbbell ${K.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
649
+ style: le(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.chart.backgroundColor};${e.value.responsive ? "height:100%" : ""}`),
650
+ id: `dumbbell_${f.value}`,
651
+ onMouseenter: s[1] || (s[1] = () => c(Ve)(!0)),
652
+ onMouseleave: s[2] || (s[2] = () => c(Ve)(!1))
653
+ }, [
654
+ i("div", {
655
+ id: `chart-instructions-${f.value}`,
656
+ class: "sr-only"
657
+ }, [
658
+ i("p", null, _(e.value.a11y.translations.keyboardNavigation), 1)
659
+ ], 8, Il),
660
+ te.value.body.length ? (n(), T(Tl, {
661
+ key: 0,
662
+ uid: f.value,
663
+ head: te.value.head,
664
+ body: te.value.body,
665
+ caption: te.value.caption,
666
+ notice: te.value.notice
667
+ }, null, 8, ["uid", "head", "body", "caption", "notice"])) : g("", !0),
668
+ e.value.userOptions.buttons.annotator ? (n(), T(c(Nt), {
669
+ key: 1,
670
+ svgRef: c(Z),
671
+ backgroundColor: e.value.style.chart.backgroundColor,
672
+ color: e.value.style.chart.color,
673
+ active: Q.value,
674
+ isCursorPointer: Y.value,
675
+ onClose: Me
676
+ }, {
677
+ "annotator-action-close": m(() => [
678
+ p(l.$slots, "annotator-action-close", {}, void 0, !0)
679
+ ]),
680
+ "annotator-action-color": m(({ color: t }) => [
681
+ p(l.$slots, "annotator-action-color", C(w({ color: t })), void 0, !0)
682
+ ]),
683
+ "annotator-action-draw": m(({ mode: t }) => [
684
+ p(l.$slots, "annotator-action-draw", C(w({ mode: t })), void 0, !0)
685
+ ]),
686
+ "annotator-action-undo": m(({ disabled: t }) => [
687
+ p(l.$slots, "annotator-action-undo", C(w({ disabled: t })), void 0, !0)
688
+ ]),
689
+ "annotator-action-redo": m(({ disabled: t }) => [
690
+ p(l.$slots, "annotator-action-redo", C(w({ disabled: t })), void 0, !0)
691
+ ]),
692
+ "annotator-action-delete": m(({ disabled: t }) => [
693
+ p(l.$slots, "annotator-action-delete", C(w({ disabled: t })), void 0, !0)
694
+ ]),
695
+ _: 3
696
+ }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : g("", !0),
697
+ Ht.value ? (n(), v("div", {
698
+ key: 2,
699
+ ref_key: "noTitle",
700
+ ref: He,
701
+ class: "vue-data-ui-no-title-space",
702
+ style: "height:36px; width: 100%;background:transparent"
703
+ }, null, 512)) : g("", !0),
704
+ e.value.style.chart.title.text ? (n(), v("div", {
705
+ key: 3,
706
+ ref_key: "chartTitle",
707
+ ref: De,
708
+ style: "width:100%;background:transparent;padding-bottom:24px"
709
+ }, [
710
+ (n(), T(Sl, {
711
+ key: `title_${Ee.value}`,
712
+ config: {
713
+ title: {
714
+ cy: "donut-div-title",
715
+ ...e.value.style.chart.title
716
+ },
717
+ subtitle: {
718
+ cy: "donut-div-subtitle",
719
+ ...e.value.style.chart.title.subtitle
720
+ }
721
+ }
722
+ }, null, 8, ["config"]))
723
+ ], 512)) : g("", !0),
724
+ i("div", {
725
+ id: `legend-top-${f.value}`
726
+ }, null, 8, Pl),
727
+ e.value.userOptions.show && re.value && (c(Ue) || c(_e)) ? (n(), T(c(Mt), {
728
+ ref_key: "userOptionsRef",
729
+ ref: ye,
730
+ key: `user_option_${Pe.value}`,
731
+ backgroundColor: e.value.style.chart.backgroundColor,
732
+ color: e.value.style.chart.color,
733
+ isPrinting: c(we),
734
+ isImaging: c($e),
735
+ uid: f.value,
736
+ hasPdf: e.value.userOptions.buttons.pdf,
737
+ hasXls: e.value.userOptions.buttons.csv,
738
+ hasImg: e.value.userOptions.buttons.img,
739
+ hasSvg: e.value.userOptions.buttons.svg,
740
+ hasTable: e.value.userOptions.buttons.table,
741
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
742
+ hasAltCopy: e.value.userOptions.buttons.altCopy,
743
+ isFullscreen: K.value,
744
+ titles: { ...e.value.userOptions.buttonTitles },
745
+ chartElement: z.value,
746
+ position: e.value.userOptions.position,
747
+ hasAnnotator: e.value.userOptions.buttons.annotator,
748
+ isAnnotation: Q.value,
749
+ callbacks: e.value.userOptions.callbacks,
750
+ printScale: e.value.userOptions.print.scale,
751
+ tableDialog: e.value.table.useDialog,
752
+ isCursorPointer: Y.value,
753
+ onToggleFullscreen: tt,
754
+ onGeneratePdf: c(Ke),
755
+ onGenerateCsv: Ne,
756
+ onGenerateImage: tl,
757
+ onGenerateSvg: nt,
758
+ onToggleTable: lt,
759
+ onToggleAnnotator: Me,
760
+ onCopyAlt: rt,
761
+ style: le({
762
+ visibility: c(Ue) ? c(_e) ? "visible" : "hidden" : "visible"
763
+ })
764
+ }, ft({ _: 2 }, [
765
+ l.$slots.menuIcon ? {
766
+ name: "menuIcon",
767
+ fn: m(({ isOpen: t, color: a }) => [
768
+ p(l.$slots, "menuIcon", C(w({ isOpen: t, color: a })), void 0, !0)
769
+ ]),
770
+ key: "0"
771
+ } : void 0,
772
+ l.$slots.optionPdf ? {
773
+ name: "optionPdf",
774
+ fn: m(() => [
775
+ p(l.$slots, "optionPdf", {}, void 0, !0)
776
+ ]),
777
+ key: "1"
778
+ } : void 0,
779
+ l.$slots.optionCsv ? {
780
+ name: "optionCsv",
781
+ fn: m(() => [
782
+ p(l.$slots, "optionCsv", {}, void 0, !0)
783
+ ]),
784
+ key: "2"
785
+ } : void 0,
786
+ l.$slots.optionImg ? {
787
+ name: "optionImg",
788
+ fn: m(() => [
789
+ p(l.$slots, "optionImg", {}, void 0, !0)
790
+ ]),
791
+ key: "3"
792
+ } : void 0,
793
+ l.$slots.optionSvg ? {
794
+ name: "optionSvg",
795
+ fn: m(() => [
796
+ p(l.$slots, "optionSvg", {}, void 0, !0)
797
+ ]),
798
+ key: "4"
799
+ } : void 0,
800
+ l.$slots.optionTable ? {
801
+ name: "optionTable",
802
+ fn: m(() => [
803
+ p(l.$slots, "optionTable", {}, void 0, !0)
804
+ ]),
805
+ key: "5"
806
+ } : void 0,
807
+ l.$slots.optionFullscreen ? {
808
+ name: "optionFullscreen",
809
+ fn: m(({ toggleFullscreen: t, isFullscreen: a }) => [
810
+ p(l.$slots, "optionFullscreen", C(w({ toggleFullscreen: t, isFullscreen: a })), void 0, !0)
811
+ ]),
812
+ key: "6"
813
+ } : void 0,
814
+ l.$slots.optionAnnotator ? {
815
+ name: "optionAnnotator",
816
+ fn: m(({ toggleAnnotator: t, isAnnotator: a }) => [
817
+ p(l.$slots, "optionAnnotator", C(w({ toggleAnnotator: t, isAnnotator: a })), void 0, !0)
818
+ ]),
819
+ key: "7"
820
+ } : void 0,
821
+ l.$slots.optionAltCopy ? {
822
+ name: "optionAltCopy",
823
+ fn: m(({ altCopy: t }) => [
824
+ p(l.$slots, "optionAltCopy", C(w({ altCopy: t })), void 0, !0)
825
+ ]),
826
+ key: "8"
827
+ } : void 0
828
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasSvg", "hasTable", "hasFullscreen", "hasAltCopy", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "isCursorPointer", "onGeneratePdf", "style"])) : g("", !0),
829
+ i("div", Dl, [
830
+ (n(), v("svg", {
831
+ ref_key: "svgRef",
832
+ ref: Z,
833
+ xmlns: c(xt),
834
+ class: ht({ "vue-data-ui-fullscreen--on": K.value, "vue-data-ui-fulscreen--off": !K.value }),
835
+ viewBox: `0 0 ${W.value} ${o.value.absoluteHeight <= 0 ? 10 : o.value.absoluteHeight}`,
836
+ style: le(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color}`),
837
+ "aria-describedby": `chart-instructions-${f.value}`,
838
+ tabindex: "0",
839
+ onFocus: al,
840
+ onBlur: sl,
841
+ onKeydown: ol
842
+ }, [
843
+ yt(c(Tt)),
844
+ l.$slots["chart-background"] ? (n(), v("foreignObject", {
845
+ key: 0,
846
+ x: o.value.left,
847
+ y: o.value.top,
848
+ width: Math.max(0.1, o.value.width),
849
+ height: Math.max(0.1, o.value.height),
850
+ style: {
851
+ pointerEvents: "none"
852
+ }
853
+ }, [
854
+ p(l.$slots, "chart-background", {}, void 0, !0)
855
+ ], 8, Fl)) : g("", !0),
856
+ e.value.style.chart.grid.verticalGrid.show ? (n(), v("g", Hl, [
857
+ (n(!0), v(A, null, X(N.value.ticks, (t, a) => (n(), v("line", {
858
+ x1: o.value.left + a * o.value.width / (N.value.ticks.length - 1),
859
+ x2: o.value.left + a * o.value.width / (N.value.ticks.length - 1),
860
+ y1: o.value.top,
861
+ y2: o.value.bottom,
862
+ stroke: e.value.style.chart.grid.verticalGrid.stroke,
863
+ "stroke-width": e.value.style.chart.grid.verticalGrid.strokeWidth,
864
+ "stroke-dasharray": e.value.style.chart.grid.verticalGrid.strokeDasharray
865
+ }, null, 8, El))), 256))
866
+ ])) : g("", !0),
867
+ e.value.style.chart.grid.horizontalGrid.show ? (n(), v("g", Gl, [
868
+ (n(!0), v(A, null, X(V.value, (t, a) => (n(), v("line", {
869
+ x1: o.value.left,
870
+ x2: o.value.right,
871
+ y1: o.value.top + a * o.value.rowHeight,
872
+ y2: o.value.top + a * o.value.rowHeight,
873
+ stroke: e.value.style.chart.grid.horizontalGrid.stroke,
874
+ "stroke-width": e.value.style.chart.grid.horizontalGrid.strokeWidth,
875
+ "stroke-dasharray": e.value.style.chart.grid.horizontalGrid.strokeDasharray
876
+ }, null, 8, Bl))), 256)),
877
+ i("line", {
878
+ x1: o.value.left,
879
+ x2: o.value.right,
880
+ y1: o.value.bottom,
881
+ y2: o.value.bottom,
882
+ stroke: e.value.style.chart.grid.horizontalGrid.stroke,
883
+ "stroke-width": e.value.style.chart.grid.horizontalGrid.strokeWidth,
884
+ "stroke-dasharray": e.value.style.chart.grid.horizontalGrid.strokeDasharray
885
+ }, null, 8, Rl)
886
+ ])) : g("", !0),
887
+ e.value.style.chart.labels.axis.yLabel ? (n(), v("text", {
888
+ key: 3,
889
+ ref_key: "yAxisLabel",
890
+ ref: be,
891
+ transform: `translate(${e.value.style.chart.labels.axis.fontSize}, ${o.value.absoluteHeight / 2}), rotate(-90)`,
892
+ "font-size": e.value.style.chart.labels.axis.fontSize,
893
+ fill: e.value.style.chart.labels.axis.color,
894
+ "text-anchor": "middle"
895
+ }, _(e.value.style.chart.labels.axis.yLabel), 9, Vl)) : g("", !0),
896
+ e.value.style.chart.labels.yAxisLabels.show ? (n(), v("g", {
897
+ key: 4,
898
+ ref_key: "serieLabels",
899
+ ref: ge
900
+ }, [
901
+ (n(!0), v(A, null, X(k.value, (t, a) => (n(), v("text", {
902
+ class: "vue-ui-dumbbell-serie-name",
903
+ key: `serieLabel_${t.id}_${a}`,
904
+ x: o.value.left - 6 + e.value.style.chart.labels.yAxisLabels.offsetX,
905
+ y: o.value.top + a * o.value.rowHeight + (!e.value.style.chart.labels.yAxisLabels.showProgression || H.value ? o.value.rowHeight / 2 : o.value.rowHeight / 3) + e.value.style.chart.labels.yAxisLabels.fontSize / 3,
906
+ "font-size": e.value.style.chart.labels.yAxisLabels.fontSize,
907
+ fill: e.value.style.chart.labels.yAxisLabels.color,
908
+ "font-weight": e.value.style.chart.labels.yAxisLabels.bold ? "bold" : "normal",
909
+ "text-anchor": "end",
910
+ onMouseenter: (r) => ve({ datapoint: t, seriesIndex: a }),
911
+ onMouseleave: (r) => de({ datapoint: t, seriesIndex: a }),
912
+ onClick: (r) => he({ datapoint: t, seriesIndex: a })
913
+ }, _(t.name) + " " + _(H.value && e.value.style.chart.labels.yAxisLabels.showProgression ? [null, void 0].includes(t.start) || [null, void 0].includes(t.end) ? "" : `(${c(B)(
914
+ e.value.style.chart.labels.yAxisLabels.formatter,
915
+ 100 * (t.end / t.start - 1),
916
+ c(S)({
917
+ v: 100 * (t.end / t.start - 1),
918
+ s: "%",
919
+ r: e.value.style.chart.labels.yAxisLabels.rounding
920
+ }),
921
+ { datapoint: t }
922
+ )})` : ""), 41, Ul))), 128)),
923
+ e.value.style.chart.labels.yAxisLabels.showProgression && !H.value ? (n(!0), v(A, { key: 0 }, X(k.value, (t, a) => (n(), v("text", {
924
+ class: "vue-ui-dumbbell-serie-value",
925
+ x: o.value.left - 6 + e.value.style.chart.labels.yAxisLabels.offsetX,
926
+ y: o.value.top + a * o.value.rowHeight + o.value.rowHeight / 1.3 + e.value.style.chart.labels.yAxisLabels.fontSize / 3,
927
+ "font-size": e.value.style.chart.labels.yAxisLabels.fontSize,
928
+ fill: e.value.style.chart.labels.yAxisLabels.color,
929
+ "text-anchor": "end",
930
+ onMouseenter: (r) => ve({ datapoint: t, seriesIndex: a }),
931
+ onMouseleave: (r) => de({ datapoint: t, seriesIndex: a }),
932
+ onClick: (r) => he({ datapoint: t, seriesIndex: a })
933
+ }, _([null, void 0].includes(t.start) || [null, void 0].includes(t.end) ? "" : c(B)(
934
+ e.value.style.chart.labels.yAxisLabels.formatter,
935
+ 100 * (t.end / t.start - 1),
936
+ c(S)({
937
+ v: 100 * (t.end / t.start - 1),
938
+ s: "%",
939
+ r: e.value.style.chart.labels.yAxisLabels.rounding
940
+ }),
941
+ { datapoint: t }
942
+ )), 41, Wl))), 256)) : g("", !0)
943
+ ], 512)) : g("", !0),
944
+ e.value.style.chart.labels.axis.xLabel ? (n(), v("text", {
945
+ key: 5,
946
+ ref_key: "xAxisLabel",
947
+ ref: pe,
948
+ x: o.value.left + o.value.width / 2,
949
+ y: o.value.absoluteHeight - e.value.style.chart.labels.axis.fontSize / 3,
950
+ "font-size": e.value.style.chart.labels.axis.fontSize,
951
+ fill: e.value.style.chart.labels.axis.color,
952
+ "text-anchor": "middle"
953
+ }, _(e.value.style.chart.labels.axis.xLabel), 9, ql)) : g("", !0),
954
+ e.value.style.chart.labels.xAxisLabels.show ? (n(), v("g", {
955
+ key: 6,
956
+ ref_key: "scaleLabels",
957
+ ref: ce
958
+ }, [
959
+ (n(!0), v(A, null, X(N.value.ticks, (t, a) => (n(), v("text", {
960
+ class: "vue-ui-dumbbell-scale-label",
961
+ key: `tick_${a}`,
962
+ transform: `translate(${o.value.left + a * (o.value.width / (N.value.ticks.length - 1))}, ${o.value.bottom + e.value.style.chart.labels.xAxisLabels.fontSize + e.value.style.chart.labels.xAxisLabels.offsetY}), rotate(${e.value.style.chart.labels.xAxisLabels.rotation})`,
963
+ "font-size": e.value.style.chart.labels.xAxisLabels.fontSize,
964
+ fill: e.value.style.chart.labels.xAxisLabels.color,
965
+ "font-weight": e.value.style.chart.labels.xAxisLabels.bold ? "bold" : "normal",
966
+ "text-anchor": e.value.style.chart.labels.xAxisLabels.rotation > 0 ? "start" : e.value.style.chart.labels.xAxisLabels.rotation < 0 ? "end" : "middle"
967
+ }, _(c(B)(
968
+ e.value.style.chart.labels.formatter,
969
+ t,
970
+ c(S)({
971
+ p: e.value.style.chart.labels.prefix,
972
+ v: t,
973
+ s: e.value.style.chart.labels.suffix,
974
+ r: e.value.style.chart.labels.xAxisLabels.rounding
975
+ }),
976
+ { datapoint: t, seriesIndex: a }
977
+ )), 9, Kl))), 128))
978
+ ], 512)) : g("", !0),
979
+ ae(i("g", null, [
980
+ ae(i("path", {
981
+ d: `M ${u.value ? u.value.startX : o.value.left},${o.value.top} ${u.value ? u.value.startX : o.value.left},${o.value.bottom}`,
982
+ stroke: u.value ? e.value.style.chart.plots.evaluationColors.enable ? u.value.evaluationColor : e.value.style.chart.plots.startColor : "transparent",
983
+ "stroke-width": e.value.style.chart.comparisonLines.strokeWidth,
984
+ "stroke-dasharray": e.value.style.chart.comparisonLines.strokeDasharray,
985
+ style: { transition: "all 0.3s ease-in-out" }
986
+ }, null, 8, jl), [
987
+ [se, u.value !== null && ![null, void 0].includes(u.value.start)]
988
+ ]),
989
+ ae(i("path", {
990
+ d: `M ${u.value ? u.value.endX : o.value.left},${o.value.top} ${u.value ? u.value.endX : o.value.left},${o.value.bottom}`,
991
+ stroke: u.value ? e.value.style.chart.plots.evaluationColors.enable ? u.value.evaluationColor : e.value.style.chart.plots.endColor : "transparent",
992
+ "stroke-width": e.value.style.chart.comparisonLines.strokeWidth,
993
+ "stroke-dasharray": e.value.style.chart.comparisonLines.strokeDasharray,
994
+ style: { transition: "all 0.3s ease-in-out" }
995
+ }, null, 8, Yl), [
996
+ [se, u.value !== null && ![null, void 0].includes(u.value.end)]
997
+ ]),
998
+ ae(i("rect", {
999
+ x: u.value ? Math.min(u.value.startX, u.value.endX) : o.value.left,
1000
+ y: o.value.top,
1001
+ height: Math.max(0.1, o.value.height),
1002
+ width: u.value ? Math.max(0.1, Math.abs(u.value.endX - u.value.startX)) : 0,
1003
+ fill: u.value ? c(_t)(e.value.style.chart.comparisonLines.rectColor, e.value.style.chart.comparisonLines.rectOpacity) : "transparent",
1004
+ style: { transition: "all 0.3s ease-in-out" }
1005
+ }, null, 8, Zl), [
1006
+ [se, e.value.style.chart.comparisonLines.showRect && u.value !== null && ![null, void 0].includes(u.value.start) && ![null, void 0].includes(u.value.end)]
1007
+ ]),
1008
+ ae(i("text", {
1009
+ transform: `translate(${Te.value == null ? 0 : Te.value}, ${o.value.top - 6})`,
1010
+ fill: e.value.style.chart.comparisonLines.labelColor,
1011
+ "font-size": e.value.style.chart.comparisonLines.labelFontSize,
1012
+ "text-anchor": "middle",
1013
+ style: { transition: "all 0.3s ease-in-out" }
1014
+ }, _(Kt.value), 9, Jl), [
1015
+ [se, u.value !== null && Te.value !== null && e.value.style.chart.comparisonLines.showLabel]
1016
+ ])
1017
+ ], 512), [
1018
+ [se, e.value.style.chart.comparisonLines.show && I.value !== null]
1019
+ ]),
1020
+ i("defs", null, [
1021
+ i("radialGradient", {
1022
+ id: `start_grad_${f.value}`,
1023
+ fy: "30%"
1024
+ }, [
1025
+ i("stop", {
1026
+ offset: "10%",
1027
+ "stop-color": c(oe)(e.value.style.chart.plots.startColor, e.value.style.chart.plots.gradient.intensity / 100)
1028
+ }, null, 8, ea),
1029
+ i("stop", {
1030
+ offset: "90%",
1031
+ "stop-color": c(ne)(e.value.style.chart.plots.startColor, 0.1)
1032
+ }, null, 8, ta),
1033
+ i("stop", {
1034
+ offset: "100%",
1035
+ "stop-color": e.value.style.chart.plots.startColor
1036
+ }, null, 8, la)
1037
+ ], 8, Ql),
1038
+ i("radialGradient", {
1039
+ id: `end_grad_${f.value}`,
1040
+ fy: "30%"
1041
+ }, [
1042
+ i("stop", {
1043
+ offset: "10%",
1044
+ "stop-color": c(oe)(e.value.style.chart.plots.endColor, e.value.style.chart.plots.gradient.intensity / 100)
1045
+ }, null, 8, sa),
1046
+ i("stop", {
1047
+ offset: "90%",
1048
+ "stop-color": c(ne)(e.value.style.chart.plots.endColor, 0.1)
1049
+ }, null, 8, oa),
1050
+ i("stop", {
1051
+ offset: "100%",
1052
+ "stop-color": e.value.style.chart.plots.endColor
1053
+ }, null, 8, na)
1054
+ ], 8, aa),
1055
+ i("radialGradient", {
1056
+ id: `positive_grad_${f.value}`,
1057
+ fy: "30%"
1058
+ }, [
1059
+ i("stop", {
1060
+ offset: "10%",
1061
+ "stop-color": c(oe)(e.value.style.chart.plots.evaluationColors.positive, e.value.style.chart.plots.gradient.intensity / 100)
1062
+ }, null, 8, ua),
1063
+ i("stop", {
1064
+ offset: "90%",
1065
+ "stop-color": c(ne)(e.value.style.chart.plots.evaluationColors.positive, 0.1)
1066
+ }, null, 8, ia),
1067
+ i("stop", {
1068
+ offset: "100%",
1069
+ "stop-color": e.value.style.chart.plots.evaluationColors.positive
1070
+ }, null, 8, ca)
1071
+ ], 8, ra),
1072
+ i("radialGradient", {
1073
+ id: `negative_grad_${f.value}`,
1074
+ fy: "30%"
1075
+ }, [
1076
+ i("stop", {
1077
+ offset: "10%",
1078
+ "stop-color": c(oe)(e.value.style.chart.plots.evaluationColors.negative, e.value.style.chart.plots.gradient.intensity / 100)
1079
+ }, null, 8, da),
1080
+ i("stop", {
1081
+ offset: "90%",
1082
+ "stop-color": c(ne)(e.value.style.chart.plots.evaluationColors.negative, 0.1)
1083
+ }, null, 8, ha),
1084
+ i("stop", {
1085
+ offset: "100%",
1086
+ "stop-color": e.value.style.chart.plots.evaluationColors.negative
1087
+ }, null, 8, fa)
1088
+ ], 8, va),
1089
+ i("radialGradient", {
1090
+ id: `neutral_grad_${f.value}`,
1091
+ fy: "30%"
1092
+ }, [
1093
+ i("stop", {
1094
+ offset: "10%",
1095
+ "stop-color": c(oe)(e.value.style.chart.plots.evaluationColors.neutral, e.value.style.chart.plots.gradient.intensity / 100)
1096
+ }, null, 8, ba),
1097
+ i("stop", {
1098
+ offset: "90%",
1099
+ "stop-color": c(ne)(e.value.style.chart.plots.evaluationColors.neutral, 0.1)
1100
+ }, null, 8, ga),
1101
+ i("stop", {
1102
+ offset: "100%",
1103
+ "stop-color": e.value.style.chart.plots.evaluationColors.neutral
1104
+ }, null, 8, pa)
1105
+ ], 8, ya)
1106
+ ]),
1107
+ (n(!0), v(A, null, X(k.value, (t, a) => (n(), v("g", {
1108
+ key: `plot_${a}_${t.id}`
1109
+ }, [
1110
+ i("defs", null, [
1111
+ i("linearGradient", {
1112
+ id: `grad_pos_${f.value}`,
1113
+ x1: "0%",
1114
+ x2: "100%",
1115
+ y1: "0%",
1116
+ y2: "0%"
1117
+ }, [
1118
+ i("stop", {
1119
+ offset: "0%",
1120
+ "stop-color": e.value.style.chart.plots.startColor
1121
+ }, null, 8, ka),
1122
+ i("stop", {
1123
+ offset: "100%",
1124
+ "stop-color": e.value.style.chart.plots.endColor
1125
+ }, null, 8, xa)
1126
+ ], 8, ma),
1127
+ i("linearGradient", {
1128
+ id: `grad_neg_${f.value}`,
1129
+ x1: "0%",
1130
+ x2: "100%",
1131
+ y1: "0%",
1132
+ y2: "0%"
1133
+ }, [
1134
+ i("stop", {
1135
+ offset: "0%",
1136
+ "stop-color": e.value.style.chart.plots.endColor
1137
+ }, null, 8, Ca),
1138
+ i("stop", {
1139
+ offset: "100%",
1140
+ "stop-color": e.value.style.chart.plots.startColor
1141
+ }, null, 8, wa)
1142
+ ], 8, _a)
1143
+ ]),
1144
+ ![void 0, null].includes(t.end) && ![void 0, null].includes(t.start) ? (n(), v("g", $a, [
1145
+ e.value.style.chart.plots.link.type === "curved" ? (n(), v("g", La, [
1146
+ i("path", {
1147
+ d: `M
1148
+ ${t.startX},${t.y + D.value / 2}
1149
+ C ${t.centerX},${t.y} ${t.centerX},${t.y}
1150
+ ${t.endX},${t.y + D.value / 2}
1151
+ L ${t.endX},${t.y - D.value / 2}
1152
+ C ${t.centerX},${t.y} ${t.centerX},${t.y}
1153
+ ${t.startX},${t.y - D.value / 2}
1154
+ Z
1155
+ `,
1156
+ fill: e.value.style.chart.plots.evaluationColors.enable ? t.evaluationColor : t.endX > t.startX ? `url(#grad_pos_${f.value})` : `url(#grad_neg_${f.value})`
1157
+ }, null, 8, Aa)
1158
+ ])) : (n(), v("g", Sa, [
1159
+ i("rect", {
1160
+ x: t.endX > t.startX ? t.startX : t.endX,
1161
+ y: t.y - e.value.style.chart.plots.link.strokeWidth / 2,
1162
+ height: Math.max(0.01, e.value.style.chart.plots.link.strokeWidth),
1163
+ width: Math.max(0.01, Math.abs(t.endX - t.startX)),
1164
+ fill: e.value.style.chart.plots.evaluationColors.enable ? t.evaluationColor : t.endX > t.startX ? `url(#grad_pos_${f.value})` : `url(#grad_neg_${f.value})`
1165
+ }, null, 8, Na)
1166
+ ]))
1167
+ ])) : g("", !0),
1168
+ [null, void 0].includes(t.start) ? g("", !0) : (n(), v("circle", {
1169
+ key: 1,
1170
+ cx: t.startX,
1171
+ cy: t.y,
1172
+ r: D.value,
1173
+ fill: e.value.style.chart.plots.gradient.show ? e.value.style.chart.plots.evaluationColors.enable ? t.evaluationGrad : `url(#start_grad_${f.value})` : e.value.style.chart.plots.evaluationColors.enable ? t.evaluationColor : e.value.style.chart.plots.startColor,
1174
+ stroke: e.value.style.chart.plots.stroke,
1175
+ "stroke-width": e.value.style.chart.plots.strokeWidth
1176
+ }, null, 8, Ma)),
1177
+ [null, void 0].includes(t.end) ? g("", !0) : (n(), v("circle", {
1178
+ key: 2,
1179
+ cx: t.endX,
1180
+ cy: t.y,
1181
+ r: D.value,
1182
+ fill: e.value.style.chart.plots.gradient.show ? e.value.style.chart.plots.evaluationColors.enable ? t.evaluationGrad : `url(#end_grad_${f.value})` : e.value.style.chart.plots.evaluationColors.enable ? t.evaluationColor : e.value.style.chart.plots.endColor,
1183
+ stroke: e.value.style.chart.plots.stroke,
1184
+ "stroke-width": e.value.style.chart.plots.strokeWidth
1185
+ }, null, 8, Ta))
1186
+ ]))), 128)),
1187
+ e.value.style.chart.labels.startLabels.show ? (n(), v("g", Xa, [
1188
+ (n(!0), v(A, null, X(k.value, (t, a) => (n(), v("g", {
1189
+ key: `start_label_${a}_${t.id}`
1190
+ }, [
1191
+ [null, void 0].includes(t.start) ? g("", !0) : (n(), v("text", {
1192
+ key: 0,
1193
+ x: t.startX,
1194
+ y: t.y + D.value * 2 + e.value.style.chart.labels.startLabels.fontSize / 2,
1195
+ fill: e.value.style.chart.plots.evaluationColors.enable && e.value.style.chart.labels.startLabels.useEvaluationColor ? t.evaluationColor : e.value.style.chart.labels.startLabels.useStartColor ? e.value.style.chart.plots.startColor : e.value.style.chart.labels.startLabels.color,
1196
+ "font-size": e.value.style.chart.labels.startLabels.fontSize,
1197
+ "text-anchor": "middle"
1198
+ }, _(c(B)(
1199
+ e.value.style.chart.labels.formatter,
1200
+ t.start,
1201
+ c(S)({
1202
+ p: e.value.style.chart.labels.prefix,
1203
+ v: t.start,
1204
+ s: e.value.style.chart.labels.suffix,
1205
+ r: e.value.style.chart.labels.startLabels.rounding
1206
+ }),
1207
+ { datapoint: t, seriesIndex: a }
1208
+ )), 9, za))
1209
+ ]))), 128))
1210
+ ])) : g("", !0),
1211
+ e.value.style.chart.labels.endLabels.show ? (n(), v("g", Ia, [
1212
+ (n(!0), v(A, null, X(k.value, (t, a) => (n(), v("g", {
1213
+ key: `end_label_${a}_${t.id}`
1214
+ }, [
1215
+ [null, void 0].includes(t.end) ? g("", !0) : (n(), v("text", {
1216
+ key: 0,
1217
+ x: t.endX,
1218
+ y: t.y - (D.value * 2 - e.value.style.chart.labels.startLabels.fontSize / 3),
1219
+ fill: e.value.style.chart.plots.evaluationColors.enable && e.value.style.chart.labels.endLabels.useEvaluationColor ? t.evaluationColor : e.value.style.chart.labels.endLabels.useEndColor ? e.value.style.chart.plots.endColor : e.value.style.chart.labels.endLabels.color,
1220
+ "font-size": e.value.style.chart.labels.endLabels.fontSize,
1221
+ "text-anchor": "middle"
1222
+ }, _(c(B)(
1223
+ e.value.style.chart.labels.formatter,
1224
+ t.end,
1225
+ c(S)({
1226
+ p: e.value.style.chart.labels.prefix,
1227
+ v: t.end,
1228
+ s: e.value.style.chart.labels.suffix,
1229
+ r: e.value.style.chart.labels.endLabels.rounding
1230
+ }),
1231
+ { datapoint: t, seriesIndex: a }
1232
+ )), 9, Pa))
1233
+ ]))), 128))
1234
+ ])) : g("", !0),
1235
+ i("g", null, [
1236
+ (n(!0), v(A, null, X(k.value, (t, a) => (n(), v("rect", {
1237
+ x: o.value.left,
1238
+ y: o.value.top + a * Math.max(0.1, o.value.rowHeight),
1239
+ width: Math.max(0.1, o.value.width),
1240
+ height: Math.max(0.1, o.value.rowHeight),
1241
+ fill: I.value !== null && I.value === a ? c(_t)(e.value.style.chart.highlighter.color, e.value.style.chart.highlighter.opacity) : "transparent",
1242
+ onMouseenter: (r) => ve({ datapoint: t, seriesIndex: a }),
1243
+ onMouseleave: (r) => de({ datapoint: t, seriesIndex: a }),
1244
+ onClick: (r) => he({ datapoint: t, seriesIndex: a })
1245
+ }, null, 40, Da))), 256))
1246
+ ]),
1247
+ p(l.$slots, "svg", {
1248
+ svg: {
1249
+ ...o.value,
1250
+ isPrintingImg: c(we) | c($e) | ue.value,
1251
+ isPrintingSvg: ie.value
1252
+ }
1253
+ }, void 0, !0)
1254
+ ], 46, Ol)),
1255
+ l.$slots.hint ? (n(), v("div", Oa, [
1256
+ p(l.$slots, "hint", C(w({ hint: e.value.a11y.translations.keyboardNavigation, isVisible: me.value })), void 0, !0)
1257
+ ])) : g("", !0)
1258
+ ]),
1259
+ l.$slots.watermark ? (n(), v("div", Fa, [
1260
+ p(l.$slots, "watermark", C(w({ isPrinting: c(we) || c($e) || ue.value || ie.value })), void 0, !0)
1261
+ ])) : g("", !0),
1262
+ i("div", {
1263
+ id: `legend-bottom-${f.value}`
1264
+ }, null, 8, Ha),
1265
+ Re.value ? (n(), T(il, {
1266
+ key: 6,
1267
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${f.value}` : `#legend-bottom-${f.value}`
1268
+ }, [
1269
+ i("div", {
1270
+ ref_key: "chartLegend",
1271
+ ref: Oe
1272
+ }, [
1273
+ e.value.style.chart.legend.show && re.value ? (n(), T(Ml, {
1274
+ key: `legend_${Be.value}`,
1275
+ legendSet: Se.value,
1276
+ config: Bt.value,
1277
+ clickable: !1
1278
+ }, {
1279
+ item: m(({ legend: t }) => [
1280
+ i("div", {
1281
+ style: le(`display:flex;align-items:center;gap:4px;font-size:${e.value.style.chart.legend.fontSize}px`)
1282
+ }, [
1283
+ (n(), v("svg", {
1284
+ xmlns: c(xt),
1285
+ viewBox: "0 0 20 20",
1286
+ height: e.value.style.chart.legend.fontSize,
1287
+ width: e.value.style.chart.legend.fontSize
1288
+ }, [
1289
+ i("circle", {
1290
+ cx: 10,
1291
+ cy: 10,
1292
+ r: 9,
1293
+ fill: t.color
1294
+ }, null, 8, Ga)
1295
+ ], 8, Ea)),
1296
+ c(ke) ? g("", !0) : (n(), v(A, { key: 0 }, [
1297
+ Xe(_(t.name), 1)
1298
+ ], 64))
1299
+ ], 4)
1300
+ ]),
1301
+ _: 1
1302
+ }, 8, ["legendSet", "config"])) : p(l.$slots, "legend", {
1303
+ key: 1,
1304
+ legend: Se.value
1305
+ }, void 0, !0)
1306
+ ], 512)
1307
+ ], 8, ["to"])) : g("", !0),
1308
+ l.$slots.source ? (n(), v("div", {
1309
+ key: 7,
1310
+ ref_key: "source",
1311
+ ref: Fe,
1312
+ dir: "auto"
1313
+ }, [
1314
+ p(l.$slots, "source", {}, void 0, !0)
1315
+ ], 512)) : g("", !0),
1316
+ re.value && e.value.userOptions.buttons.table ? (n(), T(cl(ee.value.component), vl({ key: 8 }, ee.value.props, {
1317
+ ref_key: "tableUnit",
1318
+ ref: j,
1319
+ onClose: ot
1320
+ }), ft({
1321
+ content: m(() => [
1322
+ (n(), T(c(St), {
1323
+ key: `table_${Ge.value}`,
1324
+ colNames: q.value.colNames,
1325
+ head: q.value.head,
1326
+ body: q.value.body,
1327
+ config: q.value.config,
1328
+ title: e.value.table.useDialog ? "" : ee.value.title,
1329
+ withCloseButton: !e.value.table.useDialog,
1330
+ isCursorPointer: Y.value,
1331
+ onClose: ot
1332
+ }, {
1333
+ th: m(({ th: t }) => [
1334
+ i("div", {
1335
+ innerHTML: t,
1336
+ style: { display: "flex", "align-items": "center" }
1337
+ }, null, 8, Ba)
1338
+ ]),
1339
+ td: m(({ td: t }) => [
1340
+ Xe(_(t.name || t), 1)
1341
+ ]),
1342
+ _: 1
1343
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
1344
+ ]),
1345
+ _: 2
1346
+ }, [
1347
+ e.value.table.useDialog ? {
1348
+ name: "title",
1349
+ fn: m(() => [
1350
+ Xe(_(ee.value.title), 1)
1351
+ ]),
1352
+ key: "0"
1353
+ } : void 0,
1354
+ e.value.table.useDialog ? {
1355
+ name: "actions",
1356
+ fn: m(() => [
1357
+ i("button", {
1358
+ tabindex: "0",
1359
+ class: "vue-ui-user-options-button",
1360
+ onClick: s[0] || (s[0] = (t) => Ne(e.value.userOptions.callbacks.csv)),
1361
+ style: le({ cursor: Y.value ? "pointer" : "default" })
1362
+ }, [
1363
+ yt(c(Lt), {
1364
+ name: "fileCsv",
1365
+ stroke: ee.value.props.color
1366
+ }, null, 8, ["stroke"])
1367
+ ], 4)
1368
+ ]),
1369
+ key: "1"
1370
+ } : void 0
1371
+ ]), 1040)) : g("", !0),
1372
+ p(l.$slots, "skeleton", {}, () => [
1373
+ c(ke) ? (n(), T(xl, { key: 0 })) : g("", !0)
1374
+ ], !0)
1375
+ ], 46, zl));
1376
+ }
1377
+ }, us = /* @__PURE__ */ Xl(Ra, [["__scopeId", "data-v-e6b69583"]]);
1378
+ export {
1379
+ us as default
1380
+ };