vue-data-ui 3.25.4 → 3.25.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/README.md +13 -13
  2. package/dist/{BaseDraggableDialog-BM_R41j8.js → BaseDraggableDialog-Gm4Q30j0.js} +1 -1
  3. package/dist/{BaseIcon-t83PDe9k.js → BaseIcon-D8R6_sKH.js} +5 -5
  4. package/dist/{BaseLegendToggle-__JnV08B.js → BaseLegendToggle-CXQrLjd-.js} +1 -1
  5. package/dist/{BaseZoomControls-Xo16vFa4.js → BaseZoomControls-BTzjVDPM.js} +1 -1
  6. package/dist/{ColorPicker-ZJrR3Olp.js → ColorPicker-CUy15T72.js} +102 -100
  7. package/dist/{DataTable-COIO9gi4.js → DataTable-oiM9uWrQ.js} +1 -1
  8. package/dist/{HillActions-Cl-dNBZR.js → HillActions-Dn8aKOVJ.js} +1 -1
  9. package/dist/{NonSvgPenAndPaper-DS84BAOx.js → NonSvgPenAndPaper-DFXjpRyl.js} +2 -2
  10. package/dist/{PackageVersion-5SWftabm.js → PackageVersion-ur6jKRL5.js} +1 -1
  11. package/dist/{PenAndPaper-B_SdRSKH.js → PenAndPaper-KFzKlvbi.js} +20 -4
  12. package/dist/{SlicerPreview-GvsdvE-h.js → SlicerPreview-B6iHOC9L.js} +1 -1
  13. package/dist/{UserOptions-f3Q0nqrj.js → UserOptions-2x4VklMW.js} +1 -1
  14. package/dist/components/vue-ui-3d-bar.js +1 -1
  15. package/dist/components/vue-ui-accordion.js +1 -1
  16. package/dist/components/vue-ui-age-pyramid.js +1 -1
  17. package/dist/components/vue-ui-annotator.js +1 -1
  18. package/dist/components/vue-ui-bullet.js +1 -1
  19. package/dist/components/vue-ui-bump.js +1 -1
  20. package/dist/components/vue-ui-candlestick.js +1 -1
  21. package/dist/components/vue-ui-carousel-table.js +1 -1
  22. package/dist/components/vue-ui-chestnut.js +1 -1
  23. package/dist/components/vue-ui-chord.js +1 -1
  24. package/dist/components/vue-ui-circle-pack.js +1 -1
  25. package/dist/components/vue-ui-cursor.js +1 -1
  26. package/dist/components/vue-ui-dag.js +1 -1
  27. package/dist/components/vue-ui-dashboard.js +1 -1
  28. package/dist/components/vue-ui-digits.js +1 -1
  29. package/dist/components/vue-ui-donut-evolution.js +1 -1
  30. package/dist/components/vue-ui-donut.js +1 -1
  31. package/dist/components/vue-ui-dumbbell.js +1 -1
  32. package/dist/components/vue-ui-flow.js +1 -1
  33. package/dist/components/vue-ui-funnel.js +1 -1
  34. package/dist/components/vue-ui-galaxy.js +1 -1
  35. package/dist/components/vue-ui-gauge.js +1 -1
  36. package/dist/components/vue-ui-geo.js +1 -1
  37. package/dist/components/vue-ui-gizmo.js +1 -1
  38. package/dist/components/vue-ui-heatmap.js +1 -1
  39. package/dist/components/vue-ui-hill.js +1 -1
  40. package/dist/components/vue-ui-history-plot.js +1 -1
  41. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  42. package/dist/components/vue-ui-icon.js +1 -1
  43. package/dist/components/vue-ui-kpi.js +1 -1
  44. package/dist/components/vue-ui-label.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +1 -1
  47. package/dist/components/vue-ui-mood-radar.js +1 -1
  48. package/dist/components/vue-ui-nested-donuts.js +1 -1
  49. package/dist/components/vue-ui-onion.js +1 -1
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +1 -1
  52. package/dist/components/vue-ui-quick-chart.js +1 -1
  53. package/dist/components/vue-ui-radar.js +1 -1
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +1 -1
  56. package/dist/components/vue-ui-ridgeline.js +1 -1
  57. package/dist/components/vue-ui-rings.js +1 -1
  58. package/dist/components/vue-ui-scatter.js +1 -1
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +1 -1
  63. package/dist/components/vue-ui-sparkgauge.js +1 -1
  64. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  65. package/dist/components/vue-ui-sparkline.js +1 -1
  66. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  67. package/dist/components/vue-ui-stackbar.js +1 -1
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +1 -1
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +1 -1
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +1 -1
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +1 -1
  76. package/dist/components/vue-ui-treemap.js +1 -1
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +1 -1
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +1 -1
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +1 -1
  83. package/dist/components/vue-ui-xy.js +1 -1
  84. package/dist/{package-DmsdiyeS.js → package-Dx7M6sYy.js} +1 -1
  85. package/dist/{render-common-zoPh9a78.js → render-common-DETHvNhl.js} +1 -1
  86. package/dist/ssr/vue-ui-donut.js +1 -1
  87. package/dist/ssr/vue-ui-xy.js +1 -1
  88. package/dist/ssr.js +2 -2
  89. package/dist/style.css +1 -1
  90. package/dist/types/vue-data-ui.d.ts +80 -1
  91. package/dist/types/vue-ui-annotator.d.ts +58 -2
  92. package/dist/{useConfig-CyCVHo81.js → useConfig-CIQZ6_r7.js} +1339 -1313
  93. package/dist/{useObjectBindings-ByORl1rV.js → useObjectBindings---mHNfbS.js} +2 -2
  94. package/dist/utils.js +1 -1
  95. package/dist/{vue-data-ui-DTj71yB7.js → vue-data-ui-Dh3_EsHb.js} +70 -70
  96. package/dist/vue-data-ui.js +71 -71
  97. package/dist/vue-ui-3d-bar-i1REAKnM.js +1831 -0
  98. package/dist/{vue-ui-accordion-D4zsdacF.js → vue-ui-accordion-BSmBUjwZ.js} +2 -2
  99. package/dist/vue-ui-age-pyramid-DuHblCNO.js +1293 -0
  100. package/dist/vue-ui-annotator-CTQHAPho.js +3325 -0
  101. package/dist/vue-ui-bullet-CYLnKrmM.js +702 -0
  102. package/dist/{vue-ui-bump-BkOtQNWe.js → vue-ui-bump-DhwySwgn.js} +382 -380
  103. package/dist/vue-ui-candlestick-BpiECaDj.js +1859 -0
  104. package/dist/{vue-ui-carousel-table-CRgbs7jR.js → vue-ui-carousel-table-D-T2yA7-.js} +2 -2
  105. package/dist/vue-ui-chestnut-1MsZ9Q3r.js +2016 -0
  106. package/dist/vue-ui-chord-QBQUSe7r.js +1347 -0
  107. package/dist/vue-ui-circle-pack-ZWEwtesD.js +1635 -0
  108. package/dist/{vue-ui-cursor-BHyXRadA.js → vue-ui-cursor-CHQcHAHQ.js} +2 -2
  109. package/dist/{vue-ui-dag-CyVqaLbF.js → vue-ui-dag-C_inEafb.js} +794 -792
  110. package/dist/{vue-ui-dashboard-7I-7wvCP.js → vue-ui-dashboard-Bs2mBur5.js} +74 -72
  111. package/dist/{vue-ui-digits-BBL8uERO.js → vue-ui-digits-DwE4MoXI.js} +2 -2
  112. package/dist/vue-ui-donut-BM9dMHXj.js +2415 -0
  113. package/dist/{vue-ui-donut-DcgUuefk.js → vue-ui-donut-CbOSJmRu.js} +2 -2
  114. package/dist/vue-ui-donut-evolution-C97_RHus.js +1552 -0
  115. package/dist/vue-ui-dumbbell-DwKa5EL5.js +1533 -0
  116. package/dist/vue-ui-flow-DTTr3YL9.js +1217 -0
  117. package/dist/vue-ui-funnel-C4pkBk3D.js +749 -0
  118. package/dist/vue-ui-galaxy-CuAPLOvX.js +1085 -0
  119. package/dist/vue-ui-gauge-DLDULH26.js +934 -0
  120. package/dist/{vue-ui-geo-jR4P4pbt.js → vue-ui-geo-DXIHhp-G.js} +431 -429
  121. package/dist/{vue-ui-gizmo-D6W86s9o.js → vue-ui-gizmo-PuURiePo.js} +2 -2
  122. package/dist/vue-ui-heatmap-mvWLKB99.js +1555 -0
  123. package/dist/{vue-ui-hill-fFq7pm-g.js → vue-ui-hill-DqsVJkmO.js} +472 -470
  124. package/dist/vue-ui-history-plot-BBVLgt9_.js +1698 -0
  125. package/dist/{vue-ui-horizontal-bar-D3Sft4kp.js → vue-ui-horizontal-bar-y8Q8PZwT.js} +513 -511
  126. package/dist/{vue-ui-kpi-fzLsKlyE.js → vue-ui-kpi-B2hf3kpp.js} +2 -2
  127. package/dist/{vue-ui-label-BSgLalWD.js → vue-ui-label-ClMQ5Gez.js} +1 -1
  128. package/dist/{vue-ui-mini-loader-BL2odRfu.js → vue-ui-mini-loader-DtPOVIkK.js} +1 -1
  129. package/dist/vue-ui-molecule-eeW1Pmg8.js +929 -0
  130. package/dist/{vue-ui-mood-radar-bvGx6XgG.js → vue-ui-mood-radar-Dd1qfUiu.js} +378 -376
  131. package/dist/vue-ui-nested-donuts-CUARCr6O.js +1503 -0
  132. package/dist/vue-ui-onion-NoxHP0cG.js +1235 -0
  133. package/dist/{vue-ui-parallel-coordinate-plot-B_QJ4N9o.js → vue-ui-parallel-coordinate-plot-Cp3pCyxK.js} +409 -407
  134. package/dist/vue-ui-quadrant-C3kQtaeX.js +1967 -0
  135. package/dist/{vue-ui-quick-chart-BFscCR59.js → vue-ui-quick-chart-BZq517pL.js} +8 -6
  136. package/dist/vue-ui-radar-DvNrl4uD.js +1374 -0
  137. package/dist/vue-ui-rating-CWFMoYpE.js +359 -0
  138. package/dist/vue-ui-relation-circle-1iS6C0xx.js +905 -0
  139. package/dist/vue-ui-ridgeline-B-EZiPCF.js +1630 -0
  140. package/dist/vue-ui-rings-BXuwrHos.js +1252 -0
  141. package/dist/vue-ui-scatter-ByL-ZZ3B.js +2405 -0
  142. package/dist/{vue-ui-skeleton-zmbcOVEf.js → vue-ui-skeleton-BcU1onF6.js} +698 -698
  143. package/dist/vue-ui-smiley-DJVusLnp.js +376 -0
  144. package/dist/vue-ui-spark-trend-DjS31avb.js +457 -0
  145. package/dist/vue-ui-sparkbar-1Al_TLw1.js +401 -0
  146. package/dist/vue-ui-sparkgauge-CwLo53Y8.js +268 -0
  147. package/dist/vue-ui-sparkhistogram-CGw6SThG.js +589 -0
  148. package/dist/{vue-ui-sparkline-Dv7XrEzO.js → vue-ui-sparkline-CSZGBFfI.js} +511 -511
  149. package/dist/vue-ui-sparkstackbar-B8dloLMp.js +738 -0
  150. package/dist/vue-ui-stackbar-FvNd77t1.js +2355 -0
  151. package/dist/vue-ui-stackline-CP7PkqiG.js +2469 -0
  152. package/dist/vue-ui-strip-plot-DSMlDkv1.js +1740 -0
  153. package/dist/{vue-ui-table-heatmap-Dv_ZKKm3.js → vue-ui-table-heatmap-DnP3pzh2.js} +2 -2
  154. package/dist/vue-ui-table-rwKtnJKt.js +1352 -0
  155. package/dist/vue-ui-table-sparkline-B6wyEAyC.js +738 -0
  156. package/dist/{vue-ui-thermometer-DytlLJ32.js → vue-ui-thermometer-D0_KsB-y.js} +194 -192
  157. package/dist/{vue-ui-timer-CvHP4HoW.js → vue-ui-timer-1Z2zginj.js} +153 -153
  158. package/dist/vue-ui-tiremarks-zbl7aooy.js +540 -0
  159. package/dist/vue-ui-treemap-Drs4gK6L.js +1733 -0
  160. package/dist/vue-ui-waffle-DqUVsVNE.js +1621 -0
  161. package/dist/vue-ui-wheel-DLCBPW9t.js +873 -0
  162. package/dist/vue-ui-word-cloud-8Agk9h6c.js +1710 -0
  163. package/dist/{vue-ui-world-D0_2upjg.js → vue-ui-world-BOBHo7-L.js} +526 -524
  164. package/dist/vue-ui-xy-CSTJzRkk.js +5283 -0
  165. package/dist/{vue-ui-xy-D_5FfaH-.js → vue-ui-xy-Dmk1gQkI.js} +2 -2
  166. package/dist/vue-ui-xy-canvas-DANPuyf4.js +1824 -0
  167. package/dist/{vue_ui_age_pyramid-BY6c-oX_.js → vue_ui_age_pyramid-B2R66DgQ.js} +15 -6
  168. package/package.json +1 -1
  169. package/dist/vue-ui-3d-bar-CH8SpxS2.js +0 -1829
  170. package/dist/vue-ui-age-pyramid-B9MUVi75.js +0 -1241
  171. package/dist/vue-ui-annotator-CmlcWPIm.js +0 -2886
  172. package/dist/vue-ui-bullet-n8KNnDwh.js +0 -700
  173. package/dist/vue-ui-candlestick-Bxlvqk49.js +0 -1857
  174. package/dist/vue-ui-chestnut-ByDKbkG9.js +0 -2014
  175. package/dist/vue-ui-chord-DQRBgVOx.js +0 -1345
  176. package/dist/vue-ui-circle-pack-CBBc0HOe.js +0 -1633
  177. package/dist/vue-ui-donut-DfiocufT.js +0 -2413
  178. package/dist/vue-ui-donut-evolution-BoqO8By2.js +0 -1550
  179. package/dist/vue-ui-dumbbell-7M_oUQdi.js +0 -1529
  180. package/dist/vue-ui-flow-CoylrfnO.js +0 -1215
  181. package/dist/vue-ui-funnel-DaBYHWIC.js +0 -747
  182. package/dist/vue-ui-galaxy-BIebStQ3.js +0 -1083
  183. package/dist/vue-ui-gauge-CwdTmiRP.js +0 -932
  184. package/dist/vue-ui-heatmap-DXYlGwqR.js +0 -1553
  185. package/dist/vue-ui-history-plot-CgIELoD2.js +0 -1696
  186. package/dist/vue-ui-molecule-DeHWkkhy.js +0 -929
  187. package/dist/vue-ui-nested-donuts-CeAV2xPk.js +0 -1501
  188. package/dist/vue-ui-onion-B7oFulsQ.js +0 -1233
  189. package/dist/vue-ui-quadrant-DrKnz37q.js +0 -1965
  190. package/dist/vue-ui-radar-Bzx69q8f.js +0 -1372
  191. package/dist/vue-ui-rating-CimC9FQ9.js +0 -359
  192. package/dist/vue-ui-relation-circle-DIQYyDGb.js +0 -903
  193. package/dist/vue-ui-ridgeline-CPEnM45x.js +0 -1621
  194. package/dist/vue-ui-rings-qPL5Iwji.js +0 -1250
  195. package/dist/vue-ui-scatter-BB0ClTsU.js +0 -2403
  196. package/dist/vue-ui-smiley-DzPkCMN-.js +0 -376
  197. package/dist/vue-ui-spark-trend-Ciq7-k_q.js +0 -457
  198. package/dist/vue-ui-sparkbar-D1M7-naP.js +0 -401
  199. package/dist/vue-ui-sparkgauge-rsqaeR_n.js +0 -268
  200. package/dist/vue-ui-sparkhistogram-C4WXt2Ni.js +0 -589
  201. package/dist/vue-ui-sparkstackbar-DDOXdeV-.js +0 -738
  202. package/dist/vue-ui-stackbar-C_hMnOLb.js +0 -2353
  203. package/dist/vue-ui-stackline-BHGi63lD.js +0 -2467
  204. package/dist/vue-ui-strip-plot-Cygpn-l8.js +0 -1738
  205. package/dist/vue-ui-table-BQna1wL6.js +0 -1352
  206. package/dist/vue-ui-table-sparkline-BCuimtk6.js +0 -738
  207. package/dist/vue-ui-tiremarks-BvjdZwgh.js +0 -538
  208. package/dist/vue-ui-treemap-C5OpqzSc.js +0 -1731
  209. package/dist/vue-ui-waffle-B7T_Zzan.js +0 -1619
  210. package/dist/vue-ui-wheel-D1B0k7IW.js +0 -871
  211. package/dist/vue-ui-word-cloud-C4pX6jop.js +0 -1708
  212. package/dist/vue-ui-xy-Ck41KYqF.js +0 -5281
  213. package/dist/vue-ui-xy-canvas-B_8Mu19r.js +0 -1824
@@ -0,0 +1,1533 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, D as n, Pt as r, Ut as i, X as a, Y as o, Zt as s, _ as ee, b as te, ht as ne, i as c, jt as re, nt as ie, q as ae, t as oe } from "./lib-Dql7cqyA.js";
3
+ import { n as se, t as ce } from "./useHints-Dq_w2E8B.js";
4
+ import { t as le } from "./useConfig-CIQZ6_r7.js";
5
+ import { t as ue } from "./usePrinter-DISD7q5m.js";
6
+ import { n as de, t as fe } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as pe } from "./useNestedProp-Chvyfpl-.js";
8
+ import { t as me } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as he } from "./useChartExport-iwOqiIWX.js";
10
+ import { t as ge } from "./useTimeLabelCollider-AEcY4Ioe.js";
11
+ import { t as _e } from "./img-DhGApYG0.js";
12
+ import { n as ve } from "./Title-CPHi-evi.js";
13
+ import { t as ye } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as be, t as xe } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as l } from "./DefGrad-DVBqDjhO.js";
16
+ import { t as Se } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as Ce } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as we } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as Te } from "./Legend-X4kF4PvW.js";
20
+ import { t as Ee } from "./usePrefersMotion-BC-CsqR1.js";
21
+ import { t as De } from "./vue_ui_dumbbell-Bfe_jFyi.js";
22
+ import { Fragment as u, Teleport as Oe, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as ke, createTextVNode as Ae, createVNode as g, defineAsyncComponent as _, guardReactiveProps as v, mergeProps as je, nextTick as Me, normalizeClass as Ne, normalizeProps as y, normalizeStyle as Pe, onBeforeUnmount as Fe, onMounted as Ie, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Le, shallowRef as Re, toDisplayString as w, toRefs as ze, unref as T, vShow as Be, watch as Ve, watchEffect as He, withCtx as E, withDirectives as Ue } from "vue";
23
+ //#region src/components/vue-ui-dumbbell.vue
24
+ var We = /* @__PURE__ */ e({ default: () => kt }), Ge = ["id"], Ke = ["id"], qe = ["id"], Je = { style: { position: "relative" } }, Ye = [
25
+ "xmlns",
26
+ "viewBox",
27
+ "aria-describedby"
28
+ ], Xe = [
29
+ "x",
30
+ "y",
31
+ "width",
32
+ "height"
33
+ ], Ze = { key: 1 }, Qe = [
34
+ "x1",
35
+ "x2",
36
+ "y1",
37
+ "y2",
38
+ "stroke",
39
+ "stroke-width",
40
+ "stroke-dasharray"
41
+ ], $e = { key: 2 }, et = [
42
+ "x1",
43
+ "x2",
44
+ "y1",
45
+ "y2",
46
+ "stroke",
47
+ "stroke-width",
48
+ "stroke-dasharray"
49
+ ], tt = [
50
+ "x1",
51
+ "x2",
52
+ "y1",
53
+ "y2",
54
+ "stroke",
55
+ "stroke-width",
56
+ "stroke-dasharray"
57
+ ], nt = [
58
+ "transform",
59
+ "font-size",
60
+ "fill"
61
+ ], rt = [
62
+ "x",
63
+ "y",
64
+ "font-size",
65
+ "fill",
66
+ "font-weight",
67
+ "onMouseenter",
68
+ "onMouseleave",
69
+ "onClick"
70
+ ], it = [
71
+ "x",
72
+ "y",
73
+ "font-size",
74
+ "fill",
75
+ "onMouseenter",
76
+ "onMouseleave",
77
+ "onClick"
78
+ ], at = [
79
+ "x",
80
+ "y",
81
+ "font-size",
82
+ "fill"
83
+ ], ot = [
84
+ "transform",
85
+ "font-size",
86
+ "fill",
87
+ "font-weight",
88
+ "text-anchor"
89
+ ], st = [
90
+ "d",
91
+ "stroke",
92
+ "stroke-width",
93
+ "stroke-dasharray"
94
+ ], ct = [
95
+ "d",
96
+ "stroke",
97
+ "stroke-width",
98
+ "stroke-dasharray"
99
+ ], lt = [
100
+ "x",
101
+ "y",
102
+ "height",
103
+ "width",
104
+ "fill"
105
+ ], ut = [
106
+ "transform",
107
+ "fill",
108
+ "font-size"
109
+ ], dt = { key: 0 }, ft = { key: 0 }, pt = ["d", "fill"], mt = { key: 1 }, ht = [
110
+ "x",
111
+ "y",
112
+ "height",
113
+ "width",
114
+ "fill"
115
+ ], gt = [
116
+ "cx",
117
+ "cy",
118
+ "r",
119
+ "fill",
120
+ "stroke",
121
+ "stroke-width"
122
+ ], _t = [
123
+ "cx",
124
+ "cy",
125
+ "r",
126
+ "fill",
127
+ "stroke",
128
+ "stroke-width"
129
+ ], vt = { key: 7 }, yt = [
130
+ "x",
131
+ "y",
132
+ "fill",
133
+ "font-size"
134
+ ], bt = { key: 8 }, xt = [
135
+ "x",
136
+ "y",
137
+ "fill",
138
+ "font-size"
139
+ ], St = [
140
+ "x",
141
+ "y",
142
+ "width",
143
+ "height",
144
+ "fill",
145
+ "onMouseenter",
146
+ "onMouseleave",
147
+ "onClick"
148
+ ], Ct = {
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
+ }, wt = {
159
+ key: 5,
160
+ class: "vue-data-ui-watermark"
161
+ }, Tt = ["id"], Et = [
162
+ "xmlns",
163
+ "height",
164
+ "width"
165
+ ], Dt = ["fill"], Ot = { style: {
166
+ display: "flex",
167
+ "align-items": "center"
168
+ } }, kt = /*#__PURE__*/ ye({
169
+ __name: "vue-ui-dumbbell",
170
+ props: {
171
+ config: {
172
+ type: Object,
173
+ default() {
174
+ return {};
175
+ }
176
+ },
177
+ dataset: {
178
+ type: Array,
179
+ default() {
180
+ return [];
181
+ }
182
+ }
183
+ },
184
+ emits: ["selectDatapoint", "copyAlt"],
185
+ setup(e, { expose: ye, emit: We }) {
186
+ let kt = _(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), At = _(() => import("./vue-ui-accordion-BSmBUjwZ.js").then((e) => e.n)), jt = _(() => import("./DataTable-oiM9uWrQ.js")), Mt = _(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), Nt = _(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), Pt = _(() => import("./PackageVersion-ur6jKRL5.js").then((e) => e.t)), Ft = _(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_dumbbell: It } = le(), { isThemeValid: Lt, warnInvalidTheme: Rt } = me(), zt = Ee(), D = e, Bt = We, Vt = d({
187
+ get() {
188
+ return !!D.dataset && D.dataset.length;
189
+ },
190
+ set(e) {
191
+ return e;
192
+ }
193
+ }), O = x(ae()), Ht = x(0), k = x(null), Ut = x(null), Wt = x(null), Gt = x(null), Kt = x(null), qt = x(0), Jt = x(0), Yt = x(0), Xt = x(!1), Zt = x(null), Qt = x(null), $t = x(null), en = x(null), tn = x(null), nn = x(null), A = x(null), j = x(null), M = x(null), rn = x(!1), N = x(!1), P = x(hn()), F = d(() => P.value.style.chart.grid.horizontalGrid), an = d(() => P.value.style.chart.grid.verticalGrid), I = d(() => P.value.style.chart.labels);
194
+ d(() => P.value.style.chart.grid);
195
+ let L = d(() => P.value.style.chart.plots), R = d(() => P.value.style.chart.comparisonLines), z = d(() => P.value.style.chart);
196
+ se({
197
+ config: () => P.value,
198
+ dataset: () => D.dataset,
199
+ component: "VueUiDumbbell",
200
+ rules: [ce.emptyArray, {
201
+ test: (e) => e.length > 31,
202
+ message: [
203
+ "👀 The number of series is > 31. Consider:",
204
+ "",
205
+ "▶️ Using filters to let users choose a maximum number of series to display.",
206
+ "",
207
+ "▶️ Using multiple instances of the component to display related series."
208
+ ]
209
+ }]
210
+ });
211
+ let on = d(() => P.value.userOptions.useCursorPointer), sn = d(() => s({
212
+ defaultConfig: {
213
+ userOptions: { show: !1 },
214
+ table: { show: !1 },
215
+ useAnimation: !1,
216
+ style: { chart: {
217
+ backgroundColor: "#99999930",
218
+ padding: {
219
+ top: 12,
220
+ right: 12,
221
+ bottom: 12,
222
+ left: 12
223
+ },
224
+ grid: {
225
+ horizontalGrid: { stroke: "#6A6A6A" },
226
+ verticalGrid: { stroke: "#6A6A6A" }
227
+ },
228
+ labels: {
229
+ axis: {
230
+ yLabel: "",
231
+ xLabel: ""
232
+ },
233
+ xAxisLabels: { show: !1 },
234
+ yAxisLabels: { show: !1 },
235
+ endLabels: { show: !1 },
236
+ startLabels: { show: !1 }
237
+ },
238
+ legend: { backgroundColor: "transparent" },
239
+ plots: {
240
+ endColor: "#969696",
241
+ startColor: "#DBDBDB",
242
+ stroke: "#6A6A6A",
243
+ evaluationColors: { enable: !1 }
244
+ }
245
+ } }
246
+ },
247
+ userConfig: P.value.skeletonConfig ?? {}
248
+ })), { loading: cn, FINAL_DATASET: ln, manualLoading: un } = de({
249
+ ...ze(D),
250
+ FINAL_CONFIG: P,
251
+ prepareConfig: hn,
252
+ skeletonDataset: D.config?.skeletonDataset ?? [
253
+ {
254
+ name: "_",
255
+ start: 21,
256
+ end: 34
257
+ },
258
+ {
259
+ name: "_",
260
+ start: 13,
261
+ end: 21
262
+ },
263
+ {
264
+ name: "_",
265
+ start: 8,
266
+ end: 13
267
+ },
268
+ {
269
+ name: "_",
270
+ start: 5,
271
+ end: 8
272
+ },
273
+ {
274
+ name: "_",
275
+ start: 3,
276
+ end: 5
277
+ }
278
+ ],
279
+ skeletonConfig: s({
280
+ defaultConfig: P.value,
281
+ userConfig: sn.value
282
+ })
283
+ }), { userOptionsVisible: dn, setUserOptionsVisibility: fn, keepUserOptionState: pn } = Ce({ config: P.value }), { svgRef: mn } = we({ config: z.value.title });
284
+ function hn() {
285
+ let e = pe({
286
+ userConfig: D.config,
287
+ defaultConfig: It
288
+ }), t = e.theme;
289
+ if (!t) return e;
290
+ if (!Lt.value(e)) return Rt(e), e;
291
+ let n = pe({
292
+ userConfig: De[t] || D.config,
293
+ defaultConfig: e
294
+ });
295
+ return pe({
296
+ userConfig: D.config,
297
+ defaultConfig: n
298
+ });
299
+ }
300
+ Ve(() => D.config, (e) => {
301
+ cn.value || (P.value = hn()), dn.value = !P.value.userOptions.showOnChartHover, _n(), qt.value += 1, Jt.value += 1, Yt.value += 1, G.value = z.value.rowHeight, K.value = z.value.width, H.value.showTable = P.value.table.show;
302
+ }, { deep: !0 }), Ve(() => ln.value, (e) => {
303
+ Array.isArray(e) && e.length > 0 && (un.value = !1), jn(), Mn();
304
+ }, { deep: !0 });
305
+ let B = Re(null), V = Re(null);
306
+ Ie(() => {
307
+ Xt.value = !0, _n();
308
+ });
309
+ let gn = d(() => P.value.debug);
310
+ function _n() {
311
+ if (r(D.dataset) ? ie({
312
+ componentName: "VueUiDumbbell",
313
+ type: "dataset",
314
+ debug: gn.value
315
+ }) : D.dataset.forEach((e, t) => {
316
+ ne({
317
+ datasetObject: e,
318
+ requiredAttributes: [
319
+ "name",
320
+ "start",
321
+ "end"
322
+ ]
323
+ }).forEach((e) => {
324
+ Vt.value = !1, ie({
325
+ componentName: "VueUiDumbbell",
326
+ type: "datasetSerieAttribute",
327
+ property: e,
328
+ index: t,
329
+ debug: gn.value
330
+ });
331
+ });
332
+ }), P.value.responsive) {
333
+ let e = be(() => {
334
+ let { width: e, height: t } = xe({
335
+ chart: k.value,
336
+ title: z.value.title.text ? Ut.value : null,
337
+ legend: z.value.legend.show ? Wt.value : null,
338
+ source: Gt.value,
339
+ noTitle: Kt.value
340
+ }), n = z.value.title.text ? 24 : 0, r = z.value.legend.show ? 24 : 0;
341
+ requestAnimationFrame(async () => {
342
+ K.value = Math.max(.1, e), G.value = Math.max(.1, (Math.max(.1, t) - (n + r)) / ln.value.length), Kn();
343
+ });
344
+ });
345
+ B.value && (V.value && B.value.unobserve(V.value), B.value.disconnect()), B.value = new ResizeObserver(e), V.value = k.value.parentNode, B.value.observe(V.value);
346
+ }
347
+ Kn();
348
+ }
349
+ Fe(() => {
350
+ X.value != null && (cancelAnimationFrame(X.value), X.value = null), B.value && (V.value && B.value.unobserve(V.value), B.value.disconnect());
351
+ });
352
+ let { isPrinting: vn, isImaging: yn, generatePdf: bn, generateImage: xn } = ue({
353
+ elementId: `dumbbell_${O.value}`,
354
+ fileName: z.value.title.text || "vue-ui-dumbbell",
355
+ options: P.value.userOptions.print
356
+ }), Sn = d(() => P.value.userOptions.show && !z.value.title.text), H = x({ showTable: P.value.table.show });
357
+ Ve(P, () => {
358
+ H.value = { showTable: P.value.table.show };
359
+ }, { immediate: !0 });
360
+ let U = d(() => ln.value.map((e, t) => ({
361
+ ...e,
362
+ start: te(e.start),
363
+ end: te(e.end),
364
+ id: e.id ?? `${String(e.name)}__${String(e.start)}__${String(e.end)}__${ae()}`
365
+ }))), Cn = d(() => {
366
+ let e = z.value.grid, t = U.value.flatMap((e) => [e.start, e.end]).map((e) => Number(e)).filter((e) => Number.isFinite(e)), n = t.length ? Math.min(...t) : 0, r = t.length ? Math.max(...t) : 0;
367
+ return {
368
+ min: e.scaleMin ?? Math.min(n, 0),
369
+ max: e.scaleMax ?? r
370
+ };
371
+ }), W = d(() => ee(Cn.value.min, Cn.value.max, z.value.grid.scaleSteps)), G = x(z.value.rowHeight), K = x(z.value.width);
372
+ function wn() {
373
+ let e = 0;
374
+ en.value && (e = Array.from(en.value.querySelectorAll("text")).reduce((e, t) => {
375
+ let n = t.getComputedTextLength();
376
+ return n > e ? n : e;
377
+ }, 0));
378
+ let t = $t.value ? $t.value.getBoundingClientRect().width : 0;
379
+ return e + t + (t ? 24 + I.value.axis.yLabelOffsetX : 0);
380
+ }
381
+ let Tn = x(0), En = be((e) => {
382
+ Tn.value = e;
383
+ }, 100);
384
+ He((e) => {
385
+ let t = tn.value;
386
+ if (!t) return;
387
+ let n = new ResizeObserver((e) => {
388
+ En(e[0].contentRect.height);
389
+ });
390
+ n.observe(t), e(() => n.disconnect());
391
+ }), Fe(() => {
392
+ Tn.value = 0;
393
+ });
394
+ let Dn = d(() => {
395
+ N.value;
396
+ let e = 0;
397
+ nn.value && (e = nn.value.getBBox().height);
398
+ let t = 0;
399
+ return tn.value && (t = Tn.value), e + t;
400
+ }), On = d(() => U.value.length);
401
+ function kn(e, t, n) {
402
+ let r = Number(e), i = Number(t.min), a = Number(t.max), o = Number(n.width);
403
+ if (!Number.isFinite(r) || !Number.isFinite(i) || !Number.isFinite(a) || !Number.isFinite(o)) return n.left;
404
+ let s = a - i;
405
+ return s <= 0 ? n.left : n.left + (r - i) / s * o;
406
+ }
407
+ let q = d(() => {
408
+ N.value;
409
+ let e = wn(), t = z.value.padding, n = I.value.axis.xLabel ? I.value.axis.xLabelOffsetY : 0, r = G.value * On.value - Dn.value - t.top - t.bottom - n, i = r / On.value, a = G.value * On.value, o = K.value - e - t.left - t.right, s = W.value.ticks.length * (o / W.value.ticks.length);
410
+ return {
411
+ left: z.value.padding.left + e,
412
+ right: K.value - z.value.padding.right,
413
+ top: z.value.padding.top,
414
+ bottom: a - z.value.padding.bottom - Dn.value - n,
415
+ width: o,
416
+ height: r,
417
+ rowHeight: i,
418
+ absoluteHeight: a,
419
+ widthPlotReference: s
420
+ };
421
+ }), J = d(() => Math.min(G.value / 2 * .7, L.value.radius)), An = x([]), Y = d({
422
+ get() {
423
+ let e = q.value, t = W.value;
424
+ return An.value.map((n, r) => {
425
+ let i = kn(n.start, t, e), a = kn(n.endVal, t, e), o = i + (a - i) / 2, s = ![null, void 0].includes(n.start) && ![null, void 0].includes(n.end) && n.end > n.start, ee = ![null, void 0].includes(n.start) && ![null, void 0].includes(n.end) && n.end < n.start, te = ![null, void 0].includes(n.start) && ![null, void 0].includes(n.end) && n.end === n.start || [null, void 0].includes(n.start) || [null, void 0].includes(n.end), ne = s ? L.value.evaluationColors.positive : ee ? L.value.evaluationColors.negative : L.value.evaluationColors.neutral;
426
+ return {
427
+ ...n,
428
+ isPositive: s,
429
+ isNegative: ee,
430
+ isNeutral: te,
431
+ evaluationColor: ne,
432
+ evaluationGrad: `url(#${s ? "positive" : ee ? "negative" : "neutral"}_grad_${O.value})`,
433
+ startX: i,
434
+ endX: a,
435
+ centerX: o,
436
+ y: e.top + r * e.rowHeight + e.rowHeight / 2
437
+ };
438
+ });
439
+ },
440
+ set(e) {
441
+ An.value = e;
442
+ }
443
+ });
444
+ function jn() {
445
+ An.value = U.value.map((e) => {
446
+ let t = Number(e.start);
447
+ return {
448
+ ...e,
449
+ endVal: Number.isFinite(t) ? t : 0
450
+ };
451
+ });
452
+ }
453
+ let X = x(null);
454
+ Ie(() => {
455
+ Mn();
456
+ });
457
+ function Mn() {
458
+ if (X.value != null && (cancelAnimationFrame(X.value), X.value = null), jn(), !P.value.useAnimation || zt.value) {
459
+ Y.value = An.value.map((e) => {
460
+ let t = Number(e.end);
461
+ return {
462
+ ...e,
463
+ endVal: Number.isFinite(t) ? t : e.endVal
464
+ };
465
+ });
466
+ return;
467
+ }
468
+ let e = Math.max(1, Math.min(100, P.value.animationSpeed || 100)) / 100, t = U.value.map((e) => {
469
+ let t = Number(e.start), n = Number(e.end), r = Number.isFinite(t) ? t : 0;
470
+ return (Number.isFinite(n) ? n : r) - r;
471
+ }), n = () => {
472
+ let r = !0;
473
+ Y.value = An.value.map((n, i) => {
474
+ let a = Number.isFinite(Number(n.end)) ? Number(n.end) : n.endVal, o = n.endVal + t[i] * e, s = t[i] >= 0 ? Math.min(o, a) : Math.max(o, a);
475
+ return s !== a && (r = !1), {
476
+ ...n,
477
+ endVal: s
478
+ };
479
+ }), r ? X.value = null : X.value = requestAnimationFrame(n);
480
+ };
481
+ X.value = requestAnimationFrame(n);
482
+ }
483
+ let Nn = d(() => L.value.evaluationColors.enable ? [
484
+ {
485
+ name: z.value.legend.labelNegative,
486
+ color: L.value.gradient.show ? `url(#negative_grad_${O.value})` : L.value.evaluationColors.negative
487
+ },
488
+ {
489
+ name: z.value.legend.labelNeutral,
490
+ color: L.value.gradient.show ? `url(#neutral_grad_${O.value})` : L.value.evaluationColors.neutral
491
+ },
492
+ {
493
+ name: z.value.legend.labelPositive,
494
+ color: L.value.gradient.show ? `url(#positive_grad_${O.value})` : L.value.evaluationColors.positive
495
+ }
496
+ ] : [{
497
+ name: z.value.legend.labelStart,
498
+ color: L.value.gradient.show ? `url(#start_grad_${O.value})` : L.value.startColor
499
+ }, {
500
+ name: z.value.legend.labelEnd,
501
+ color: L.value.gradient.show ? `url(#end_grad_${O.value})` : L.value.endColor
502
+ }]), Pn = d(() => ({
503
+ cy: "donut-div-legend",
504
+ backgroundColor: z.value.legend.backgroundColor,
505
+ color: z.value.legend.color,
506
+ fontSize: z.value.legend.fontSize,
507
+ paddingBottom: 12,
508
+ paddingTop: 12,
509
+ fontWeight: z.value.legend.bold ? "bold" : ""
510
+ })), Z = d(() => ({
511
+ head: Y.value.map((e) => ({ name: e.name })),
512
+ body: Y.value.map((e) => ({
513
+ start: e.start,
514
+ end: e.end
515
+ }))
516
+ })), Q = d(() => {
517
+ let e = [
518
+ P.value.table.columnNames.series,
519
+ P.value.table.columnNames.start,
520
+ P.value.table.columnNames.end,
521
+ P.value.table.columnNames.progression
522
+ ], t = Z.value.head.map((e, t) => {
523
+ let n = a({
524
+ p: I.value.prefix,
525
+ v: Z.value.body[t].start,
526
+ s: I.value.suffix,
527
+ r: P.value.table.td.roundingValue
528
+ }), r = a({
529
+ p: I.value.prefix,
530
+ v: Z.value.body[t].end,
531
+ s: I.value.suffix,
532
+ r: P.value.table.td.roundingValue
533
+ }), i = a({
534
+ v: 100 * (Z.value.body[t].end / Z.value.body[t].start - 1),
535
+ s: "%",
536
+ r: P.value.table.td.roundingPercentage
537
+ });
538
+ return [
539
+ { name: e.name },
540
+ n,
541
+ r,
542
+ i
543
+ ];
544
+ }), n = {
545
+ th: {
546
+ backgroundColor: P.value.table.th.backgroundColor,
547
+ color: P.value.table.th.color,
548
+ outline: P.value.table.th.outline
549
+ },
550
+ td: {
551
+ backgroundColor: P.value.table.td.backgroundColor,
552
+ color: P.value.table.td.color,
553
+ outline: P.value.table.td.outline
554
+ },
555
+ breakpoint: P.value.table.responsiveBreakpoint
556
+ };
557
+ return {
558
+ colNames: [
559
+ P.value.table.columnNames.series,
560
+ P.value.table.columnNames.start,
561
+ P.value.table.columnNames.end,
562
+ P.value.table.columnNames.progression
563
+ ],
564
+ head: e,
565
+ body: t,
566
+ config: n
567
+ };
568
+ });
569
+ function Fn(e = null) {
570
+ Me(() => {
571
+ let r = Z.value.head.map((e, t) => [
572
+ [e.name],
573
+ [Z.value.body[t].start],
574
+ [Z.value.body[t].end]
575
+ ]), i = [
576
+ [z.value.title.text],
577
+ [z.value.title.subtitle.text],
578
+ [
579
+ [P.value.table.columnNames.series],
580
+ [P.value.table.columnNames.start],
581
+ [P.value.table.columnNames.end]
582
+ ]
583
+ ].concat(r), a = n(i);
584
+ e ? e(a) : t({
585
+ csvContent: a,
586
+ title: z.value.title.text || "vue-ui-dumbbell"
587
+ });
588
+ });
589
+ }
590
+ let $ = x(!1);
591
+ function In(e) {
592
+ $.value = e, Ht.value += 1;
593
+ }
594
+ function Ln() {
595
+ return U.value;
596
+ }
597
+ function Rn() {
598
+ H.value.showTable = !H.value.showTable;
599
+ }
600
+ let zn = x(!1);
601
+ function Bn() {
602
+ zn.value = !zn.value;
603
+ }
604
+ async function Vn({ scale: e = 2 } = {}) {
605
+ if (!k.value) return;
606
+ let { width: t, height: n } = k.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await _e({
607
+ domElement: k.value,
608
+ base64: !0,
609
+ img: !0,
610
+ scale: e
611
+ });
612
+ return {
613
+ imageUri: i,
614
+ base64: a,
615
+ title: z.value.title.text,
616
+ width: t,
617
+ height: n,
618
+ aspectRatio: r
619
+ };
620
+ }
621
+ let Hn = d(() => W.value.ticks), Un = d(() => ({
622
+ start: 0,
623
+ end: Hn.value.length
624
+ }));
625
+ ge({
626
+ timeLabelsEls: tn,
627
+ timeLabels: Hn,
628
+ slicer: Un,
629
+ configRef: P,
630
+ rotationPath: [
631
+ "style",
632
+ "chart",
633
+ "labels",
634
+ "xAxisLabels",
635
+ "rotation"
636
+ ],
637
+ autoRotatePath: [
638
+ "style",
639
+ "chart",
640
+ "labels",
641
+ "xAxisLabels",
642
+ "autoRotate",
643
+ "enable"
644
+ ],
645
+ isAutoSize: !1,
646
+ width: K,
647
+ height: G,
648
+ targetClass: ".vue-ui-dumbbell-scale-label",
649
+ rotation: I.value.xAxisLabels.autoRotate.angle
650
+ });
651
+ function Wn({ rowHeight: e, fontSize: t, showProgression: n }) {
652
+ if (!n) return !1;
653
+ let r = e / 3, i = e / 1.3;
654
+ return Math.abs(i - r) < t * 1.2;
655
+ }
656
+ let Gn = (() => {
657
+ let e = null, t = 0;
658
+ return (n) => {
659
+ if (n === N.value) {
660
+ e = null, t = 0;
661
+ return;
662
+ }
663
+ e === null || e !== n ? (e = n, t = 1) : (t += 1, t >= 1 && (N.value = n, e = null, t = 0));
664
+ };
665
+ })(), Kn = be(() => {
666
+ requestAnimationFrame(() => {
667
+ requestAnimationFrame(() => {
668
+ let e = Wn({
669
+ rowHeight: q.value.rowHeight,
670
+ fontSize: I.value.yAxisLabels.fontSize,
671
+ showProgression: I.value.yAxisLabels.showProgression
672
+ });
673
+ Gn(e);
674
+ });
675
+ });
676
+ }, 100);
677
+ function qn({ datapoint: e, seriesIndex: t }) {
678
+ A.value = t, j.value = e, P.value.events.datapointEnter && P.value.events.datapointEnter({
679
+ datapoint: e,
680
+ seriesIndex: t
681
+ });
682
+ }
683
+ function Jn({ datapoint: e, seriesIndex: t }) {
684
+ A.value = null, j.value = null, P.value.events.datapointLeave && P.value.events.datapointLeave({
685
+ datapoint: e,
686
+ seriesIndex: t
687
+ });
688
+ }
689
+ function Yn({ datapoint: e, seriesIndex: t }) {
690
+ P.value.events.datapointClick && P.value.events.datapointClick({
691
+ datapoint: e,
692
+ seriesIndex: t
693
+ }), Bt("selectDatapoint", {
694
+ ...e,
695
+ seriesIndex: t
696
+ });
697
+ }
698
+ let Xn = d(() => {
699
+ if (j.value === null) return 0;
700
+ let e = ![null, void 0].includes(j.value.start), t = ![null, void 0].includes(j.value.end);
701
+ return e && t ? Math.min(j.value.startX, j.value.endX) + Math.abs(j.value.startX - j.value.endX) / 2 : e && !t ? j.value.startX : t && !e ? j.value.endX : null;
702
+ }), Zn = d(() => {
703
+ if (j.value === null) return "";
704
+ let e = ![null, void 0].includes(j.value.start), t = ![null, void 0].includes(j.value.end), n = "", r = "";
705
+ return e && (n = c(I.value.formatter, j.value.start, a({
706
+ p: I.value.prefix,
707
+ v: j.value.start,
708
+ s: I.value.suffix,
709
+ r: I.value.startLabels.rounding
710
+ }), {
711
+ datapoint: j.value,
712
+ seriesIndex: A.value
713
+ })), t && (r = c(I.value.formatter, j.value.end, a({
714
+ p: I.value.prefix,
715
+ v: j.value.end,
716
+ s: I.value.suffix,
717
+ r: I.value.startLabels.rounding
718
+ }), {
719
+ datapoint: j.value,
720
+ seriesIndex: A.value
721
+ })), e && t ? `${n} → ${r}` : e && !t ? n : t && !e ? r : "";
722
+ }), Qn = d(() => {
723
+ let e = P.value.table.useDialog && !P.value.table.show, t = H.value.showTable;
724
+ return {
725
+ component: e ? Ft : At,
726
+ title: `${z.value.title.text}${z.value.title.subtitle.text ? `: ${z.value.title.subtitle.text}` : ""}`,
727
+ props: e ? {
728
+ backgroundColor: P.value.table.th.backgroundColor,
729
+ color: P.value.table.th.color,
730
+ headerColor: P.value.table.th.color,
731
+ headerBg: P.value.table.th.backgroundColor,
732
+ isFullscreen: $.value,
733
+ fullscreenParent: k.value,
734
+ forcedWidth: Math.min(800, window.innerWidth * .8),
735
+ isCursorPointer: on.value
736
+ } : {
737
+ hideDetails: !0,
738
+ config: {
739
+ open: t,
740
+ maxHeight: 1e4,
741
+ body: {
742
+ backgroundColor: z.value.backgroundColor,
743
+ color: z.value.color
744
+ },
745
+ head: {
746
+ backgroundColor: z.value.backgroundColor,
747
+ color: z.value.color
748
+ }
749
+ }
750
+ }
751
+ };
752
+ });
753
+ Ve(() => H.value.showTable, (e) => {
754
+ P.value.table.show || (e && P.value.table.useDialog && Zt.value ? Zt.value.open() : "close" in Zt.value && Zt.value.close());
755
+ });
756
+ function $n() {
757
+ H.value.showTable = !1, Qt.value && Qt.value.setTableIconState(!1);
758
+ }
759
+ let er = d(() => Nn.value.map((e) => ({
760
+ ...e,
761
+ shape: "circle"
762
+ }))), tr = d(() => z.value.backgroundColor), nr = d(() => z.value.legend), rr = d(() => z.value.title), { isCallbackImaging: ir, isCallbackSvg: ar, generateSvg: or, onGenerateImage: sr } = he({
763
+ svg: mn,
764
+ title: rr,
765
+ legend: nr,
766
+ legendItems: er,
767
+ backgroundColor: tr,
768
+ getSvgCallback: () => P.value.userOptions.callbacks.svg,
769
+ generateImage: xn
770
+ });
771
+ async function cr() {
772
+ if (Bt("copyAlt", {
773
+ config: P.value,
774
+ dataset: Y.value
775
+ }), !P.value.userOptions.callbacks.altCopy) {
776
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
777
+ return;
778
+ }
779
+ await Promise.resolve(P.value.userOptions.callbacks.altCopy({
780
+ config: P.value,
781
+ dataset: Y.value
782
+ }));
783
+ }
784
+ function lr(e) {
785
+ let t = Y.value.length;
786
+ return t ? (e % t + t) % t : null;
787
+ }
788
+ function ur() {
789
+ if (M.value !== null) {
790
+ let e = Y.value[M.value];
791
+ e && Jn({
792
+ datapoint: e,
793
+ seriesIndex: M.value
794
+ });
795
+ }
796
+ M.value = null, A.value = null, j.value = null;
797
+ }
798
+ function dr() {
799
+ M.value = null, rn.value = !0;
800
+ }
801
+ function fr() {
802
+ ur(), rn.value = !1;
803
+ }
804
+ function pr(e) {
805
+ if (!mn.value || zn.value || document.activeElement !== mn.value || !Y.value.length) return;
806
+ let t = ["ArrowUp", "ArrowLeft"].includes(e.key), n = ["ArrowDown", "ArrowRight"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
807
+ if (!t && !n && !r && !i) return;
808
+ if (e.preventDefault(), e.stopPropagation(), i) {
809
+ ur();
810
+ return;
811
+ }
812
+ if (r) {
813
+ if (M.value === null) return;
814
+ let e = Y.value[M.value];
815
+ if (!e) return;
816
+ Yn({
817
+ datapoint: e,
818
+ seriesIndex: M.value
819
+ });
820
+ return;
821
+ }
822
+ let a = M.value;
823
+ a = a === null ? n ? 0 : Y.value.length - 1 : lr(a + (n ? 1 : -1));
824
+ let o = Y.value[a];
825
+ o && (M.value = a, qn({
826
+ datapoint: o,
827
+ seriesIndex: a
828
+ }));
829
+ }
830
+ let mr = d(() => ({
831
+ head: Q.value.head,
832
+ body: Q.value.body.map((e) => [
833
+ e[0]?.name ?? "",
834
+ e[1],
835
+ e[2],
836
+ e[3]
837
+ ]),
838
+ caption: P.value.a11y.translations.tableCaption,
839
+ notice: P.value.a11y.translations.tableAvailable
840
+ }));
841
+ return ye({
842
+ getData: Ln,
843
+ getImage: Vn,
844
+ generatePdf: bn,
845
+ generateCsv: Fn,
846
+ generateImage: xn,
847
+ generateSvg: or,
848
+ toggleTable: Rn,
849
+ toggleAnnotator: Bn,
850
+ toggleFullscreen: In,
851
+ copyAlt: cr
852
+ }), (e, t) => (b(), m("div", {
853
+ ref_key: "dumbbellChart",
854
+ ref: k,
855
+ class: Ne(`vue-data-ui-component vue-ui-dumbbell ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
856
+ style: Pe(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${z.value.backgroundColor};${P.value.responsive ? "height:100%" : ""}`),
857
+ id: `dumbbell_${O.value}`,
858
+ onMouseenter: t[1] ||= () => T(fn)(!0),
859
+ onMouseleave: t[2] ||= () => T(fn)(!1)
860
+ }, [
861
+ h("div", {
862
+ id: `chart-instructions-${O.value}`,
863
+ class: "sr-only"
864
+ }, [h("p", null, w(P.value.a11y.translations.keyboardNavigation), 1)], 8, Ke),
865
+ mr.value.body.length ? (b(), f(Se, {
866
+ key: 0,
867
+ uid: O.value,
868
+ head: mr.value.head,
869
+ body: mr.value.body,
870
+ caption: mr.value.caption,
871
+ notice: mr.value.notice
872
+ }, null, 8, [
873
+ "uid",
874
+ "head",
875
+ "body",
876
+ "caption",
877
+ "notice"
878
+ ])) : p("", !0),
879
+ P.value.userOptions.buttons.annotator ? (b(), f(T(Mt), {
880
+ key: 1,
881
+ svgRef: T(mn),
882
+ backgroundColor: z.value.backgroundColor,
883
+ color: z.value.color,
884
+ active: zn.value,
885
+ isCursorPointer: on.value,
886
+ palette: P.value.userOptions.annotatorPalette,
887
+ onClose: Bn
888
+ }, {
889
+ "annotator-action-close": E(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
890
+ "annotator-action-color": E(({ color: t }) => [C(e.$slots, "annotator-action-color", y(v({ color: t })), void 0, !0)]),
891
+ "annotator-action-draw": E(({ mode: t }) => [C(e.$slots, "annotator-action-draw", y(v({ mode: t })), void 0, !0)]),
892
+ "annotator-action-undo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", y(v({ disabled: t })), void 0, !0)]),
893
+ "annotator-action-redo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", y(v({ disabled: t })), void 0, !0)]),
894
+ "annotator-action-delete": E(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", y(v({ disabled: t })), void 0, !0)]),
895
+ _: 3
896
+ }, 8, [
897
+ "svgRef",
898
+ "backgroundColor",
899
+ "color",
900
+ "active",
901
+ "isCursorPointer",
902
+ "palette"
903
+ ])) : p("", !0),
904
+ Sn.value ? (b(), m("div", {
905
+ key: 2,
906
+ ref_key: "noTitle",
907
+ ref: Kt,
908
+ class: "vue-data-ui-no-title-space",
909
+ style: "height:36px; width: 100%;background:transparent"
910
+ }, null, 512)) : p("", !0),
911
+ z.value.title.text ? (b(), m("div", {
912
+ key: 3,
913
+ ref_key: "chartTitle",
914
+ ref: Ut,
915
+ style: "width:100%;background:transparent;padding-bottom:24px"
916
+ }, [(b(), f(ve, {
917
+ key: `title_${qt.value}`,
918
+ config: {
919
+ title: {
920
+ cy: "donut-div-title",
921
+ ...z.value.title
922
+ },
923
+ subtitle: {
924
+ cy: "donut-div-subtitle",
925
+ ...z.value.title.subtitle
926
+ }
927
+ }
928
+ }, null, 8, ["config"]))], 512)) : p("", !0),
929
+ h("div", { id: `legend-top-${O.value}` }, null, 8, qe),
930
+ P.value.userOptions.show && Vt.value && (T(pn) || T(dn)) ? (b(), f(T(Nt), {
931
+ ref_key: "userOptionsRef",
932
+ ref: Qt,
933
+ key: `user_option_${Ht.value}`,
934
+ backgroundColor: z.value.backgroundColor,
935
+ color: z.value.color,
936
+ isPrinting: T(vn),
937
+ isImaging: T(yn),
938
+ uid: O.value,
939
+ hasPdf: P.value.userOptions.buttons.pdf,
940
+ hasXls: P.value.userOptions.buttons.csv,
941
+ hasImg: P.value.userOptions.buttons.img,
942
+ hasSvg: P.value.userOptions.buttons.svg,
943
+ hasTable: P.value.userOptions.buttons.table,
944
+ hasFullscreen: P.value.userOptions.buttons.fullscreen,
945
+ hasAltCopy: P.value.userOptions.buttons.altCopy,
946
+ isFullscreen: $.value,
947
+ titles: { ...P.value.userOptions.buttonTitles },
948
+ chartElement: k.value,
949
+ position: P.value.userOptions.position,
950
+ hasAnnotator: P.value.userOptions.buttons.annotator,
951
+ isAnnotation: zn.value,
952
+ callbacks: P.value.userOptions.callbacks,
953
+ printScale: P.value.userOptions.print.scale,
954
+ tableDialog: P.value.table.useDialog,
955
+ isCursorPointer: on.value,
956
+ onToggleFullscreen: In,
957
+ onGeneratePdf: T(bn),
958
+ onGenerateCsv: Fn,
959
+ onGenerateImage: T(sr),
960
+ onGenerateSvg: T(or),
961
+ onToggleTable: Rn,
962
+ onToggleAnnotator: Bn,
963
+ onCopyAlt: cr,
964
+ style: Pe({ visibility: T(pn) ? T(dn) ? "visible" : "hidden" : "visible" })
965
+ }, ke({ _: 2 }, [
966
+ e.$slots.menuIcon ? {
967
+ name: "menuIcon",
968
+ fn: E(({ isOpen: t, color: n }) => [C(e.$slots, "menuIcon", y(v({
969
+ isOpen: t,
970
+ color: n
971
+ })), void 0, !0)]),
972
+ key: "0"
973
+ } : void 0,
974
+ e.$slots.optionPdf ? {
975
+ name: "optionPdf",
976
+ fn: E(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
977
+ key: "1"
978
+ } : void 0,
979
+ e.$slots.optionCsv ? {
980
+ name: "optionCsv",
981
+ fn: E(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
982
+ key: "2"
983
+ } : void 0,
984
+ e.$slots.optionImg ? {
985
+ name: "optionImg",
986
+ fn: E(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
987
+ key: "3"
988
+ } : void 0,
989
+ e.$slots.optionSvg ? {
990
+ name: "optionSvg",
991
+ fn: E(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
992
+ key: "4"
993
+ } : void 0,
994
+ e.$slots.optionTable ? {
995
+ name: "optionTable",
996
+ fn: E(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
997
+ key: "5"
998
+ } : void 0,
999
+ e.$slots.optionFullscreen ? {
1000
+ name: "optionFullscreen",
1001
+ fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [C(e.$slots, "optionFullscreen", y(v({
1002
+ toggleFullscreen: t,
1003
+ isFullscreen: n
1004
+ })), void 0, !0)]),
1005
+ key: "6"
1006
+ } : void 0,
1007
+ e.$slots.optionAnnotator ? {
1008
+ name: "optionAnnotator",
1009
+ fn: E(({ toggleAnnotator: t, isAnnotator: n }) => [C(e.$slots, "optionAnnotator", y(v({
1010
+ toggleAnnotator: t,
1011
+ isAnnotator: n
1012
+ })), void 0, !0)]),
1013
+ key: "7"
1014
+ } : void 0,
1015
+ e.$slots.optionAltCopy ? {
1016
+ name: "optionAltCopy",
1017
+ fn: E(({ altCopy: t }) => [C(e.$slots, "optionAltCopy", y(v({ altCopy: t })), void 0, !0)]),
1018
+ key: "8"
1019
+ } : void 0,
1020
+ e.$slots["custom-menu-before"] ? {
1021
+ name: "custom-menu-before",
1022
+ fn: E(() => [C(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1023
+ key: "9"
1024
+ } : void 0,
1025
+ e.$slots["custom-menu-after"] ? {
1026
+ name: "custom-menu-after",
1027
+ fn: E(() => [C(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1028
+ key: "10"
1029
+ } : void 0
1030
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : p("", !0),
1031
+ h("div", Je, [(b(), m("svg", {
1032
+ ref_key: "svgRef",
1033
+ ref: mn,
1034
+ xmlns: T(oe),
1035
+ class: Ne({
1036
+ "vue-data-ui-fullscreen--on": $.value,
1037
+ "vue-data-ui-fulscreen--off": !$.value
1038
+ }),
1039
+ viewBox: `0 0 ${K.value} ${q.value.absoluteHeight <= 0 ? 10 : q.value.absoluteHeight}`,
1040
+ style: Pe(`max-width:100%; overflow: visible; background:transparent;color:${z.value.color}`),
1041
+ "aria-describedby": `chart-instructions-${O.value}`,
1042
+ tabindex: "0",
1043
+ onFocus: dr,
1044
+ onBlur: fr,
1045
+ onKeydown: pr
1046
+ }, [
1047
+ g(T(Pt)),
1048
+ e.$slots["chart-background"] ? (b(), m("foreignObject", {
1049
+ key: 0,
1050
+ x: q.value.left,
1051
+ y: q.value.top,
1052
+ width: Math.max(.1, q.value.width),
1053
+ height: Math.max(.1, q.value.height),
1054
+ style: { pointerEvents: "none" }
1055
+ }, [C(e.$slots, "chart-background", {}, void 0, !0)], 8, Xe)) : p("", !0),
1056
+ an.value.show ? (b(), m("g", Ze, [(b(!0), m(u, null, S(W.value.ticks, (e, t) => (b(), m("line", {
1057
+ x1: q.value.left + t * q.value.width / (W.value.ticks.length - 1),
1058
+ x2: q.value.left + t * q.value.width / (W.value.ticks.length - 1),
1059
+ y1: q.value.top,
1060
+ y2: q.value.bottom,
1061
+ stroke: an.value.stroke,
1062
+ "stroke-width": an.value.strokeWidth,
1063
+ "stroke-dasharray": an.value.strokeDasharray
1064
+ }, null, 8, Qe))), 256))])) : p("", !0),
1065
+ F.value.show ? (b(), m("g", $e, [(b(!0), m(u, null, S(U.value, (e, t) => (b(), m("line", {
1066
+ x1: q.value.left,
1067
+ x2: q.value.right,
1068
+ y1: q.value.top + t * q.value.rowHeight,
1069
+ y2: q.value.top + t * q.value.rowHeight,
1070
+ stroke: F.value.stroke,
1071
+ "stroke-width": F.value.strokeWidth,
1072
+ "stroke-dasharray": F.value.strokeDasharray
1073
+ }, null, 8, et))), 256)), h("line", {
1074
+ x1: q.value.left,
1075
+ x2: q.value.right,
1076
+ y1: q.value.bottom,
1077
+ y2: q.value.bottom,
1078
+ stroke: F.value.stroke,
1079
+ "stroke-width": F.value.strokeWidth,
1080
+ "stroke-dasharray": F.value.strokeDasharray
1081
+ }, null, 8, tt)])) : p("", !0),
1082
+ I.value.axis.yLabel ? (b(), m("text", {
1083
+ key: 3,
1084
+ ref_key: "yAxisLabel",
1085
+ ref: $t,
1086
+ transform: `translate(${I.value.axis.fontSize}, ${q.value.absoluteHeight / 2}), rotate(-90)`,
1087
+ "font-size": I.value.axis.fontSize,
1088
+ fill: I.value.axis.color,
1089
+ "text-anchor": "middle"
1090
+ }, w(I.value.axis.yLabel), 9, nt)) : p("", !0),
1091
+ I.value.yAxisLabels.show ? (b(), m("g", {
1092
+ key: 4,
1093
+ ref_key: "serieLabels",
1094
+ ref: en
1095
+ }, [(b(!0), m(u, null, S(Y.value, (e, t) => (b(), m("text", {
1096
+ class: "vue-ui-dumbbell-serie-name",
1097
+ key: `serieLabel_${e.id}_${t}`,
1098
+ x: q.value.left - 6 + I.value.yAxisLabels.offsetX,
1099
+ y: q.value.top + t * q.value.rowHeight + (!I.value.yAxisLabels.showProgression || N.value ? q.value.rowHeight / 2 : q.value.rowHeight / 3) + I.value.yAxisLabels.fontSize / 3,
1100
+ "font-size": I.value.yAxisLabels.fontSize,
1101
+ fill: I.value.yAxisLabels.color,
1102
+ "font-weight": I.value.yAxisLabels.bold ? "bold" : "normal",
1103
+ "text-anchor": "end",
1104
+ onMouseenter: (n) => qn({
1105
+ datapoint: e,
1106
+ seriesIndex: t
1107
+ }),
1108
+ onMouseleave: (n) => Jn({
1109
+ datapoint: e,
1110
+ seriesIndex: t
1111
+ }),
1112
+ onClick: (n) => Yn({
1113
+ datapoint: e,
1114
+ seriesIndex: t
1115
+ })
1116
+ }, w(e.name) + " " + w(N.value && I.value.yAxisLabels.showProgression ? [null, void 0].includes(e.start) || [null, void 0].includes(e.end) ? "" : `(${T(c)(I.value.yAxisLabels.formatter, 100 * (e.end / e.start - 1), T(a)({
1117
+ v: 100 * (e.end / e.start - 1),
1118
+ s: "%",
1119
+ r: I.value.yAxisLabels.rounding
1120
+ }), { datapoint: e })})` : ""), 41, rt))), 128)), I.value.yAxisLabels.showProgression && !N.value ? (b(!0), m(u, { key: 0 }, S(Y.value, (e, t) => (b(), m("text", {
1121
+ class: "vue-ui-dumbbell-serie-value",
1122
+ x: q.value.left - 6 + I.value.yAxisLabels.offsetX,
1123
+ y: q.value.top + t * q.value.rowHeight + q.value.rowHeight / 1.3 + I.value.yAxisLabels.fontSize / 3,
1124
+ "font-size": I.value.yAxisLabels.fontSize,
1125
+ fill: I.value.yAxisLabels.color,
1126
+ "text-anchor": "end",
1127
+ onMouseenter: (n) => qn({
1128
+ datapoint: e,
1129
+ seriesIndex: t
1130
+ }),
1131
+ onMouseleave: (n) => Jn({
1132
+ datapoint: e,
1133
+ seriesIndex: t
1134
+ }),
1135
+ onClick: (n) => Yn({
1136
+ datapoint: e,
1137
+ seriesIndex: t
1138
+ })
1139
+ }, w([null, void 0].includes(e.start) || [null, void 0].includes(e.end) ? "" : T(c)(I.value.yAxisLabels.formatter, 100 * (e.end / e.start - 1), T(a)({
1140
+ v: 100 * (e.end / e.start - 1),
1141
+ s: "%",
1142
+ r: I.value.yAxisLabels.rounding
1143
+ }), { datapoint: e })), 41, it))), 256)) : p("", !0)], 512)) : p("", !0),
1144
+ I.value.axis.xLabel ? (b(), m("text", {
1145
+ key: 5,
1146
+ ref_key: "xAxisLabel",
1147
+ ref: nn,
1148
+ x: q.value.left + q.value.width / 2,
1149
+ y: q.value.absoluteHeight - I.value.axis.fontSize / 3,
1150
+ "font-size": I.value.axis.fontSize,
1151
+ fill: I.value.axis.color,
1152
+ "text-anchor": "middle"
1153
+ }, w(I.value.axis.xLabel), 9, at)) : p("", !0),
1154
+ I.value.xAxisLabels.show ? (b(), m("g", {
1155
+ key: 6,
1156
+ ref_key: "scaleLabels",
1157
+ ref: tn
1158
+ }, [(b(!0), m(u, null, S(W.value.ticks, (e, t) => (b(), m("text", {
1159
+ class: "vue-ui-dumbbell-scale-label",
1160
+ key: `tick_${t}`,
1161
+ transform: `translate(${q.value.left + t * (q.value.width / (W.value.ticks.length - 1))}, ${q.value.bottom + I.value.xAxisLabels.fontSize + I.value.xAxisLabels.offsetY}), rotate(${I.value.xAxisLabels.rotation})`,
1162
+ "font-size": I.value.xAxisLabels.fontSize,
1163
+ fill: I.value.xAxisLabels.color,
1164
+ "font-weight": I.value.xAxisLabels.bold ? "bold" : "normal",
1165
+ "text-anchor": I.value.xAxisLabels.rotation > 0 ? "start" : I.value.xAxisLabels.rotation < 0 ? "end" : "middle"
1166
+ }, w(T(c)(I.value.formatter, e, T(a)({
1167
+ p: I.value.prefix,
1168
+ v: e,
1169
+ s: I.value.suffix,
1170
+ r: I.value.xAxisLabels.rounding
1171
+ }), {
1172
+ datapoint: e,
1173
+ seriesIndex: t
1174
+ })), 9, ot))), 128))], 512)) : p("", !0),
1175
+ Ue(h("g", null, [
1176
+ Ue(h("path", {
1177
+ d: `M ${j.value ? j.value.startX : q.value.left},${q.value.top} ${j.value ? j.value.startX : q.value.left},${q.value.bottom}`,
1178
+ stroke: j.value ? L.value.evaluationColors.enable ? j.value.evaluationColor : L.value.startColor : "transparent",
1179
+ "stroke-width": R.value.strokeWidth,
1180
+ "stroke-dasharray": R.value.strokeDasharray,
1181
+ style: { transition: "all 0.3s ease-in-out" }
1182
+ }, null, 8, st), [[Be, j.value !== null && ![null, void 0].includes(j.value.start)]]),
1183
+ Ue(h("path", {
1184
+ d: `M ${j.value ? j.value.endX : q.value.left},${q.value.top} ${j.value ? j.value.endX : q.value.left},${q.value.bottom}`,
1185
+ stroke: j.value ? L.value.evaluationColors.enable ? j.value.evaluationColor : L.value.endColor : "transparent",
1186
+ "stroke-width": R.value.strokeWidth,
1187
+ "stroke-dasharray": R.value.strokeDasharray,
1188
+ style: { transition: "all 0.3s ease-in-out" }
1189
+ }, null, 8, ct), [[Be, j.value !== null && ![null, void 0].includes(j.value.end)]]),
1190
+ Ue(h("rect", {
1191
+ x: j.value ? Math.min(j.value.startX, j.value.endX) : q.value.left,
1192
+ y: q.value.top,
1193
+ height: Math.max(.1, q.value.height),
1194
+ width: j.value ? Math.max(.1, Math.abs(j.value.endX - j.value.startX)) : 0,
1195
+ fill: j.value ? T(i)(R.value.rectColor, R.value.rectOpacity) : "transparent",
1196
+ style: { transition: "all 0.3s ease-in-out" }
1197
+ }, null, 8, lt), [[Be, R.value.showRect && j.value !== null && ![null, void 0].includes(j.value.start) && ![null, void 0].includes(j.value.end)]]),
1198
+ Ue(h("text", {
1199
+ transform: `translate(${Xn.value == null ? 0 : Xn.value}, ${q.value.top - 6})`,
1200
+ fill: R.value.labelColor,
1201
+ "font-size": R.value.labelFontSize,
1202
+ "text-anchor": "middle",
1203
+ style: { transition: "all 0.3s ease-in-out" }
1204
+ }, w(Zn.value), 9, ut), [[Be, j.value !== null && Xn.value !== null && R.value.showLabel]])
1205
+ ], 512), [[Be, R.value.show && A.value !== null]]),
1206
+ h("defs", null, [
1207
+ g(l, {
1208
+ t: "radial",
1209
+ id: `start_grad_${O.value}`,
1210
+ fy: "30%",
1211
+ stops: [
1212
+ [
1213
+ "10%",
1214
+ T(re)(L.value.startColor, L.value.gradient.intensity / 100),
1215
+ 1
1216
+ ],
1217
+ [
1218
+ "90%",
1219
+ T(o)(L.value.startColor, .1),
1220
+ 1
1221
+ ],
1222
+ [
1223
+ "100%",
1224
+ L.value.startColor,
1225
+ 1
1226
+ ]
1227
+ ]
1228
+ }, null, 8, ["id", "stops"]),
1229
+ g(l, {
1230
+ t: "radial",
1231
+ id: `end_grad_${O.value}`,
1232
+ fy: "30%",
1233
+ stops: [
1234
+ [
1235
+ "10%",
1236
+ T(re)(L.value.endColor, L.value.gradient.intensity / 100),
1237
+ 1
1238
+ ],
1239
+ [
1240
+ "90%",
1241
+ T(o)(L.value.endColor, .1),
1242
+ 1
1243
+ ],
1244
+ [
1245
+ "100%",
1246
+ L.value.endColor,
1247
+ 1
1248
+ ]
1249
+ ]
1250
+ }, null, 8, ["id", "stops"]),
1251
+ g(l, {
1252
+ t: "radial",
1253
+ id: `positive_grad_${O.value}`,
1254
+ fy: "30%",
1255
+ stops: [
1256
+ [
1257
+ "10%",
1258
+ T(re)(L.value.evaluationColors.positive, L.value.gradient.intensity / 100),
1259
+ 1
1260
+ ],
1261
+ [
1262
+ "90%",
1263
+ T(o)(L.value.evaluationColors.positive, .1),
1264
+ 1
1265
+ ],
1266
+ [
1267
+ "100%",
1268
+ L.value.evaluationColors.positive,
1269
+ 1
1270
+ ]
1271
+ ]
1272
+ }, null, 8, ["id", "stops"]),
1273
+ g(l, {
1274
+ t: "radial",
1275
+ id: `negative_grad_${O.value}`,
1276
+ fy: "30%",
1277
+ stops: [
1278
+ [
1279
+ "10%",
1280
+ T(re)(L.value.evaluationColors.negative, L.value.gradient.intensity / 100),
1281
+ 1
1282
+ ],
1283
+ [
1284
+ "90%",
1285
+ T(o)(L.value.evaluationColors.negative, .1),
1286
+ 1
1287
+ ],
1288
+ [
1289
+ "100%",
1290
+ L.value.evaluationColors.negative,
1291
+ 1
1292
+ ]
1293
+ ]
1294
+ }, null, 8, ["id", "stops"]),
1295
+ g(l, {
1296
+ t: "radial",
1297
+ id: `neutral_grad_${O.value}`,
1298
+ fy: "30%",
1299
+ stops: [
1300
+ [
1301
+ "10%",
1302
+ T(re)(L.value.evaluationColors.neutral, L.value.gradient.intensity / 100),
1303
+ 1
1304
+ ],
1305
+ [
1306
+ "90%",
1307
+ T(o)(L.value.evaluationColors.neutral, .1),
1308
+ 1
1309
+ ],
1310
+ [
1311
+ "100%",
1312
+ L.value.evaluationColors.neutral,
1313
+ 1
1314
+ ]
1315
+ ]
1316
+ }, null, 8, ["id", "stops"])
1317
+ ]),
1318
+ (b(!0), m(u, null, S(Y.value, (e, t) => (b(), m("g", { key: `plot_${t}_${e.id}` }, [
1319
+ h("defs", null, [g(l, {
1320
+ t: "linear",
1321
+ id: `grad_pos_${O.value}`,
1322
+ x1: "0%",
1323
+ x2: "100%",
1324
+ y1: "0%",
1325
+ y2: "0%",
1326
+ stops: [[
1327
+ "0%",
1328
+ L.value.startColor,
1329
+ 1
1330
+ ], [
1331
+ "100%",
1332
+ L.value.endColor,
1333
+ 1
1334
+ ]]
1335
+ }, null, 8, ["id", "stops"]), g(l, {
1336
+ t: "linear",
1337
+ id: `grad_neg_${O.value}`,
1338
+ x1: "0%",
1339
+ x2: "100%",
1340
+ y1: "0%",
1341
+ y2: "0%",
1342
+ stops: [[
1343
+ "0%",
1344
+ L.value.endColor,
1345
+ 1
1346
+ ], [
1347
+ "100%",
1348
+ L.value.startColor,
1349
+ 1
1350
+ ]]
1351
+ }, null, 8, ["id", "stops"])]),
1352
+ ![void 0, null].includes(e.end) && ![void 0, null].includes(e.start) ? (b(), m("g", dt, [L.value.link.type === "curved" ? (b(), m("g", ft, [h("path", {
1353
+ d: `M
1354
+ ${e.startX},${e.y + J.value / 2}
1355
+ C ${e.centerX},${e.y} ${e.centerX},${e.y}
1356
+ ${e.endX},${e.y + J.value / 2}
1357
+ L ${e.endX},${e.y - J.value / 2}
1358
+ C ${e.centerX},${e.y} ${e.centerX},${e.y}
1359
+ ${e.startX},${e.y - J.value / 2}
1360
+ Z
1361
+ `,
1362
+ fill: L.value.evaluationColors.enable ? e.evaluationColor : e.endX > e.startX ? `url(#grad_pos_${O.value})` : `url(#grad_neg_${O.value})`
1363
+ }, null, 8, pt)])) : (b(), m("g", mt, [h("rect", {
1364
+ x: e.endX > e.startX ? e.startX : e.endX,
1365
+ y: e.y - L.value.link.strokeWidth / 2,
1366
+ height: Math.max(.01, L.value.link.strokeWidth),
1367
+ width: Math.max(.01, Math.abs(e.endX - e.startX)),
1368
+ fill: L.value.evaluationColors.enable ? e.evaluationColor : e.endX > e.startX ? `url(#grad_pos_${O.value})` : `url(#grad_neg_${O.value})`
1369
+ }, null, 8, ht)]))])) : p("", !0),
1370
+ [null, void 0].includes(e.start) ? p("", !0) : (b(), m("circle", {
1371
+ key: 1,
1372
+ cx: e.startX,
1373
+ cy: e.y,
1374
+ r: J.value,
1375
+ fill: L.value.gradient.show ? L.value.evaluationColors.enable ? e.evaluationGrad : `url(#start_grad_${O.value})` : L.value.evaluationColors.enable ? e.evaluationColor : L.value.startColor,
1376
+ stroke: L.value.stroke,
1377
+ "stroke-width": L.value.strokeWidth
1378
+ }, null, 8, gt)),
1379
+ [null, void 0].includes(e.end) ? p("", !0) : (b(), m("circle", {
1380
+ key: 2,
1381
+ cx: e.endX,
1382
+ cy: e.y,
1383
+ r: J.value,
1384
+ fill: L.value.gradient.show ? L.value.evaluationColors.enable ? e.evaluationGrad : `url(#end_grad_${O.value})` : L.value.evaluationColors.enable ? e.evaluationColor : L.value.endColor,
1385
+ stroke: L.value.stroke,
1386
+ "stroke-width": L.value.strokeWidth
1387
+ }, null, 8, _t))
1388
+ ]))), 128)),
1389
+ I.value.startLabels.show ? (b(), m("g", vt, [(b(!0), m(u, null, S(Y.value, (e, t) => (b(), m("g", { key: `start_label_${t}_${e.id}` }, [[null, void 0].includes(e.start) ? p("", !0) : (b(), m("text", {
1390
+ key: 0,
1391
+ x: e.startX,
1392
+ y: e.y + J.value * 2 + I.value.startLabels.fontSize / 2,
1393
+ fill: L.value.evaluationColors.enable && I.value.startLabels.useEvaluationColor ? e.evaluationColor : I.value.startLabels.useStartColor ? L.value.startColor : I.value.startLabels.color,
1394
+ "font-size": I.value.startLabels.fontSize,
1395
+ "text-anchor": "middle"
1396
+ }, w(T(c)(I.value.formatter, e.start, T(a)({
1397
+ p: I.value.prefix,
1398
+ v: e.start,
1399
+ s: I.value.suffix,
1400
+ r: I.value.startLabels.rounding
1401
+ }), {
1402
+ datapoint: e,
1403
+ seriesIndex: t
1404
+ })), 9, yt))]))), 128))])) : p("", !0),
1405
+ I.value.endLabels.show ? (b(), m("g", bt, [(b(!0), m(u, null, S(Y.value, (e, t) => (b(), m("g", { key: `end_label_${t}_${e.id}` }, [[null, void 0].includes(e.end) ? p("", !0) : (b(), m("text", {
1406
+ key: 0,
1407
+ x: e.endX,
1408
+ y: e.y - (J.value * 2 - I.value.startLabels.fontSize / 3),
1409
+ fill: L.value.evaluationColors.enable && I.value.endLabels.useEvaluationColor ? e.evaluationColor : I.value.endLabels.useEndColor ? L.value.endColor : I.value.endLabels.color,
1410
+ "font-size": I.value.endLabels.fontSize,
1411
+ "text-anchor": "middle"
1412
+ }, w(T(c)(I.value.formatter, e.end, T(a)({
1413
+ p: I.value.prefix,
1414
+ v: e.end,
1415
+ s: I.value.suffix,
1416
+ r: I.value.endLabels.rounding
1417
+ }), {
1418
+ datapoint: e,
1419
+ seriesIndex: t
1420
+ })), 9, xt))]))), 128))])) : p("", !0),
1421
+ h("g", null, [(b(!0), m(u, null, S(Y.value, (e, t) => (b(), m("rect", {
1422
+ x: q.value.left,
1423
+ y: q.value.top + t * Math.max(.1, q.value.rowHeight),
1424
+ width: Math.max(.1, q.value.width),
1425
+ height: Math.max(.1, q.value.rowHeight),
1426
+ fill: A.value === null ? "transparent" : A.value === t ? T(i)(z.value.highlighter.color, z.value.highlighter.opacity) : "transparent",
1427
+ onMouseenter: (n) => qn({
1428
+ datapoint: e,
1429
+ seriesIndex: t
1430
+ }),
1431
+ onMouseleave: (n) => Jn({
1432
+ datapoint: e,
1433
+ seriesIndex: t
1434
+ }),
1435
+ onClick: (n) => Yn({
1436
+ datapoint: e,
1437
+ seriesIndex: t
1438
+ })
1439
+ }, null, 40, St))), 256))]),
1440
+ C(e.$slots, "svg", { svg: {
1441
+ ...q.value,
1442
+ isPrintingImg: T(vn) || T(yn) || T(ir),
1443
+ isPrintingSvg: T(ar)
1444
+ } }, void 0, !0)
1445
+ ], 46, Ye)), e.$slots.hint ? (b(), m("div", Ct, [C(e.$slots, "hint", y(v({
1446
+ hint: P.value.a11y.translations.keyboardNavigation,
1447
+ isVisible: rn.value
1448
+ })), void 0, !0)])) : p("", !0)]),
1449
+ e.$slots.watermark ? (b(), m("div", wt, [C(e.$slots, "watermark", y(v({ isPrinting: T(vn) || T(yn) || T(ir) || T(ar) })), void 0, !0)])) : p("", !0),
1450
+ h("div", { id: `legend-bottom-${O.value}` }, null, 8, Tt),
1451
+ Xt.value && (z.value.legend.show || e.$slots.legend) ? (b(), f(Oe, {
1452
+ key: 6,
1453
+ to: z.value.legend.position === "top" ? `#legend-top-${O.value}` : `#legend-bottom-${O.value}`
1454
+ }, [h("div", {
1455
+ ref_key: "chartLegend",
1456
+ ref: Wt
1457
+ }, [C(e.$slots, "legend", { legend: Nn.value }, () => [z.value.legend.show && Vt.value ? (b(), f(Te, {
1458
+ key: `legend_${Yt.value}`,
1459
+ legendSet: Nn.value,
1460
+ config: Pn.value,
1461
+ clickable: !1
1462
+ }, {
1463
+ item: E(({ legend: e }) => [h("div", { style: Pe(`display:flex;align-items:center;gap:4px;font-size:${z.value.legend.fontSize}px`) }, [(b(), m("svg", {
1464
+ xmlns: T(oe),
1465
+ viewBox: "0 0 20 20",
1466
+ height: z.value.legend.fontSize,
1467
+ width: z.value.legend.fontSize
1468
+ }, [h("circle", {
1469
+ cx: 10,
1470
+ cy: 10,
1471
+ r: 9,
1472
+ fill: e.color
1473
+ }, null, 8, Dt)], 8, Et)), T(cn) ? p("", !0) : (b(), m(u, { key: 0 }, [Ae(w(e.name), 1)], 64))], 4)]),
1474
+ _: 1
1475
+ }, 8, ["legendSet", "config"])) : p("", !0)], !0)], 512)], 8, ["to"])) : p("", !0),
1476
+ e.$slots.source ? (b(), m("div", {
1477
+ key: 7,
1478
+ ref_key: "source",
1479
+ ref: Gt,
1480
+ dir: "auto"
1481
+ }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : p("", !0),
1482
+ Vt.value && P.value.userOptions.buttons.table ? (b(), f(Le(Qn.value.component), je({ key: 8 }, Qn.value.props, {
1483
+ ref_key: "tableUnit",
1484
+ ref: Zt,
1485
+ onClose: $n
1486
+ }), ke({
1487
+ content: E(() => [(b(), f(T(jt), {
1488
+ key: `table_${Jt.value}`,
1489
+ colNames: Q.value.colNames,
1490
+ head: Q.value.head,
1491
+ body: Q.value.body,
1492
+ config: Q.value.config,
1493
+ title: P.value.table.useDialog ? "" : Qn.value.title,
1494
+ withCloseButton: !P.value.table.useDialog,
1495
+ isCursorPointer: on.value,
1496
+ onClose: $n
1497
+ }, {
1498
+ th: E(({ th: e }) => [h("div", Ot, w(e), 1)]),
1499
+ td: E(({ td: e }) => [Ae(w(e.name || e), 1)]),
1500
+ _: 1
1501
+ }, 8, [
1502
+ "colNames",
1503
+ "head",
1504
+ "body",
1505
+ "config",
1506
+ "title",
1507
+ "withCloseButton",
1508
+ "isCursorPointer"
1509
+ ]))]),
1510
+ _: 2
1511
+ }, [P.value.table.useDialog ? {
1512
+ name: "title",
1513
+ fn: E(() => [Ae(w(Qn.value.title), 1)]),
1514
+ key: "0"
1515
+ } : void 0, P.value.table.useDialog ? {
1516
+ name: "actions",
1517
+ fn: E(() => [h("button", {
1518
+ tabindex: "0",
1519
+ class: "vue-ui-user-options-button",
1520
+ onClick: t[0] ||= (e) => Fn(P.value.userOptions.callbacks.csv),
1521
+ style: Pe({ cursor: on.value ? "pointer" : "default" })
1522
+ }, [g(T(kt), {
1523
+ name: "fileCsv",
1524
+ stroke: Qn.value.props.color
1525
+ }, null, 8, ["stroke"])], 4)]),
1526
+ key: "1"
1527
+ } : void 0]), 1040)) : p("", !0),
1528
+ C(e.$slots, "skeleton", {}, () => [T(cn) ? (b(), f(fe, { key: 0 })) : p("", !0)], !0)
1529
+ ], 46, Ge));
1530
+ }
1531
+ }, [["__scopeId", "data-v-4511ea6c"]]);
1532
+ //#endregion
1533
+ export { We as n, kt as t };