vue-data-ui 3.22.8 → 3.22.10

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 (209) hide show
  1. package/dist/{Arrow-DdymhUfY.js → Arrow-Ku6rQ87g.js} +1 -1
  2. package/dist/{BaseDraggableDialog-DcfGlH8A.js → BaseDraggableDialog-CdkCqtag.js} +2 -2
  3. package/dist/BaseIcon-CDTIUIKV.js +483 -0
  4. package/dist/{BaseLegendToggle-DtQ8vyfr.js → BaseLegendToggle-BrQ2OlzI.js} +1 -1
  5. package/dist/{BaseZoomControls-C6zonwhr.js → BaseZoomControls-CkEX0292.js} +2 -2
  6. package/dist/{ColorPicker-CK2-h611.js → ColorPicker-C959ZIW9.js} +2 -2
  7. package/dist/{DataTable-D9NvewTT.js → DataTable-ByZy5gt1.js} +2 -2
  8. package/dist/DefGrad-DVBqDjhO.js +48 -0
  9. package/dist/{Legend-ROt6ugzW.js → Legend-5VQGLnmx.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-BHHNsVVP.js → NonSvgPenAndPaper-Bd8OzTqw.js} +3 -3
  11. package/dist/{PackageVersion-DW7zwRcm.js → PackageVersion-BoTvk0i5.js} +1 -1
  12. package/dist/{PenAndPaper-pcgwlYr2.js → PenAndPaper-CLaZJl6K.js} +3 -3
  13. package/dist/{Shape-UpH0a4Ur.js → Shape-B5ksaGa1.js} +3 -3
  14. package/dist/{Slicer-BZ5VnOOS.js → Slicer-WsWTQPKt.js} +368 -363
  15. package/dist/{SlicerPreview-BQFeCw0m.js → SlicerPreview-3n516NyE.js} +460 -455
  16. package/dist/{SparkTooltip-BTLN-Kex.js → SparkTooltip-CbYYc-xb.js} +1 -1
  17. package/dist/{Title-CcNiYzEo.js → Title-Cr3jP7Qd.js} +1 -1
  18. package/dist/{Tooltip-CxOrWlFy.js → Tooltip-CDbLl3TD.js} +1 -1
  19. package/dist/{UserOptions-16uF1ayB.js → UserOptions-BUQOnoPR.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-mini-loader.js +1 -1
  51. package/dist/components/vue-ui-molecule.js +1 -1
  52. package/dist/components/vue-ui-mood-radar.js +1 -1
  53. package/dist/components/vue-ui-nested-donuts.js +1 -1
  54. package/dist/components/vue-ui-onion.js +1 -1
  55. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  56. package/dist/components/vue-ui-quadrant.js +1 -1
  57. package/dist/components/vue-ui-quick-chart.js +1 -1
  58. package/dist/components/vue-ui-radar.js +1 -1
  59. package/dist/components/vue-ui-rating.js +1 -1
  60. package/dist/components/vue-ui-relation-circle.js +1 -1
  61. package/dist/components/vue-ui-ridgeline.js +1 -1
  62. package/dist/components/vue-ui-rings.js +1 -1
  63. package/dist/components/vue-ui-scatter.js +1 -1
  64. package/dist/components/vue-ui-skeleton.js +1 -1
  65. package/dist/components/vue-ui-smiley.js +1 -1
  66. package/dist/components/vue-ui-spark-trend.js +1 -1
  67. package/dist/components/vue-ui-sparkbar.js +1 -1
  68. package/dist/components/vue-ui-sparkgauge.js +1 -1
  69. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  70. package/dist/components/vue-ui-sparkline.js +1 -1
  71. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  72. package/dist/components/vue-ui-stackbar.js +1 -1
  73. package/dist/components/vue-ui-stackline.js +1 -1
  74. package/dist/components/vue-ui-strip-plot.js +1 -1
  75. package/dist/components/vue-ui-table-heatmap.js +1 -1
  76. package/dist/components/vue-ui-table-sparkline.js +1 -1
  77. package/dist/components/vue-ui-table.js +1 -1
  78. package/dist/components/vue-ui-thermometer.js +1 -1
  79. package/dist/components/vue-ui-timer.js +1 -1
  80. package/dist/components/vue-ui-tiremarks.js +1 -1
  81. package/dist/components/vue-ui-treemap.js +1 -1
  82. package/dist/components/vue-ui-vertical-bar.js +1 -1
  83. package/dist/components/vue-ui-waffle.js +1 -1
  84. package/dist/components/vue-ui-wheel.js +1 -1
  85. package/dist/components/vue-ui-word-cloud.js +1 -1
  86. package/dist/components/vue-ui-world.js +1 -1
  87. package/dist/components/vue-ui-xy-canvas.js +1 -1
  88. package/dist/components/vue-ui-xy.js +1 -1
  89. package/dist/{dom-to-png-BbwhsRIr.js → dom-to-png-COPbGrdd.js} +1 -1
  90. package/dist/exposedLib-CZbtc2a6.js +25 -0
  91. package/dist/{img-DnP3eXuv.js → img-CNdXiUfZ.js} +1 -1
  92. package/dist/{labelUtils-DBEh078l.js → labelUtils-JaoYKi2N.js} +1 -1
  93. package/dist/{lib-JqW18y5I.js → lib-CnHx5WfV.js} +118 -107
  94. package/dist/{package-gp9pYCfN.js → package-BRBLwZUc.js} +1 -1
  95. package/dist/{pdf-hj3gzrE7.js → pdf-CEMzBeuV.js} +1 -1
  96. package/dist/{render-common-CLn1VXJ9.js → render-common-DJXFRGhU.js} +10 -10
  97. package/dist/ssr/vue-ui-donut.js +1 -1
  98. package/dist/ssr/vue-ui-xy.js +1 -1
  99. package/dist/ssr.js +2 -2
  100. package/dist/style.css +1 -1
  101. package/dist/types/utils.d.ts +40 -0
  102. package/dist/{useAutoSizeLabelsInsideViewbox-BGnDfZdg.js → useAutoSizeLabelsInsideViewbox-BUPt2iaP.js} +1 -1
  103. package/dist/{useNestedProp-DIuuzG1r.js → useNestedProp-D8NuRneO.js} +2 -2
  104. package/dist/{usePrinter-CqqHmnBI.js → usePrinter-B-X_Pub0.js} +2 -2
  105. package/dist/utils.js +26 -24
  106. package/dist/{vue-data-ui-AZZ9Cq-4.js → vue-data-ui-Bx_8d3b_.js} +68 -68
  107. package/dist/vue-data-ui.js +77 -77
  108. package/dist/vue-ui-3d-bar-CfUfbpSE.js +1825 -0
  109. package/dist/{vue-ui-accordion-YyosvEPo.js → vue-ui-accordion-Oo3IsX3-.js} +3 -3
  110. package/dist/vue-ui-age-pyramid-DD-4y5Jd.js +1247 -0
  111. package/dist/{vue-ui-annotator-CfJXeAOE.js → vue-ui-annotator-BvGE3lzE.js} +8 -8
  112. package/dist/vue-ui-bullet-DYOdbaO2.js +710 -0
  113. package/dist/vue-ui-bump-B8fJoxHF.js +1249 -0
  114. package/dist/{vue-ui-candlestick-D-Z9pEaA.js → vue-ui-candlestick-BUP1JoNs.js} +555 -544
  115. package/dist/vue-ui-carousel-table-D-Bwhydt.js +455 -0
  116. package/dist/vue-ui-chestnut-C2VK2NEx.js +2042 -0
  117. package/dist/{vue-ui-chord-Db1O_diJ.js → vue-ui-chord-AA-QjUQI.js} +42 -42
  118. package/dist/vue-ui-circle-pack-CdBFGYOK.js +1614 -0
  119. package/dist/{vue-ui-cursor-DLP7wxsw.js → vue-ui-cursor-Cm_J_5Gk.js} +5 -5
  120. package/dist/{vue-ui-dag-DL3zq0F2.js → vue-ui-dag-CgRph4-n.js} +32 -32
  121. package/dist/{vue-ui-dashboard-C2ozZ-LI.js → vue-ui-dashboard-BuPw5QjB.js} +69 -69
  122. package/dist/{vue-ui-digits-ThFVNO3l.js → vue-ui-digits-ClrukmcB.js} +3 -3
  123. package/dist/vue-ui-donut-Bc-EPZvu.js +2419 -0
  124. package/dist/{vue-ui-donut-BuTd6dt4.js → vue-ui-donut-DtQCrMKL.js} +207 -207
  125. package/dist/vue-ui-donut-evolution-DHkiY-BD.js +1522 -0
  126. package/dist/vue-ui-dumbbell-BlHEH4Mw.js +1564 -0
  127. package/dist/{vue-ui-flow-BTUNfWb7.js → vue-ui-flow-PjwAW2tY.js} +71 -71
  128. package/dist/vue-ui-funnel-DojI09FV.js +782 -0
  129. package/dist/{vue-ui-galaxy-DJ2uNYcN.js → vue-ui-galaxy-txYIK_LG.js} +276 -276
  130. package/dist/vue-ui-gauge-CoL0OzSd.js +926 -0
  131. package/dist/{vue-ui-geo-ovHu_Sc9.js → vue-ui-geo-yuL-_sqF.js} +20 -20
  132. package/dist/{vue-ui-gizmo-DDxEj-qe.js → vue-ui-gizmo-CbC5zV3K.js} +66 -61
  133. package/dist/{vue-ui-heatmap-Npqnvb1r.js → vue-ui-heatmap-CwqsZIsR.js} +331 -331
  134. package/dist/{vue-ui-history-plot-C3Kjy2tc.js → vue-ui-history-plot-CuWssH-D.js} +561 -550
  135. package/dist/vue-ui-horizontal-bar-Dyje3GND.js +1689 -0
  136. package/dist/{vue-ui-kpi-BrlfYO-j.js → vue-ui-kpi-BdYenScF.js} +3 -3
  137. package/dist/{vue-ui-mini-loader-D5we7V_W.js → vue-ui-mini-loader-BbwE3vBT.js} +2 -2
  138. package/dist/vue-ui-molecule-BBh31vmd.js +931 -0
  139. package/dist/{vue-ui-mood-radar-DlVh6hwx.js → vue-ui-mood-radar-B_6GFlaR.js} +336 -331
  140. package/dist/vue-ui-nested-donuts-BWq-At5Y.js +1493 -0
  141. package/dist/vue-ui-onion-BwGbSE-6.js +1200 -0
  142. package/dist/vue-ui-parallel-coordinate-plot-Bh9hNoqf.js +1416 -0
  143. package/dist/vue-ui-quadrant-B72Y4Zuw.js +1984 -0
  144. package/dist/{vue-ui-quick-chart-WMzSJxGZ.js → vue-ui-quick-chart-B3LF2ViM.js} +108 -108
  145. package/dist/vue-ui-radar-4v_E8oGX.js +1287 -0
  146. package/dist/vue-ui-rating-CzLGCFWK.js +352 -0
  147. package/dist/vue-ui-relation-circle-B_8dyIv2.js +924 -0
  148. package/dist/{vue-ui-ridgeline-Cp3YP0xe.js → vue-ui-ridgeline-BArLhskj.js} +543 -537
  149. package/dist/vue-ui-rings-Csn5BgLk.js +1252 -0
  150. package/dist/vue-ui-scatter-BBaOx94M.js +2422 -0
  151. package/dist/{vue-ui-skeleton-CuFm4PtB.js → vue-ui-skeleton-KeIPGp9U.js} +426 -423
  152. package/dist/{vue-ui-smiley-D4NnZ1mg.js → vue-ui-smiley-C1mYDh4R.js} +120 -107
  153. package/dist/{vue-ui-spark-trend-C38ysZ-c.js → vue-ui-spark-trend-EqCqmHmU.js} +145 -140
  154. package/dist/vue-ui-sparkbar-BPh45vBP.js +398 -0
  155. package/dist/{vue-ui-sparkgauge-DgPc4vPT.js → vue-ui-sparkgauge-CtouPcyW.js} +81 -76
  156. package/dist/{vue-ui-sparkhistogram-D02ff7ZI.js → vue-ui-sparkhistogram-D4sI0DHN.js} +166 -150
  157. package/dist/vue-ui-sparkline-BDFZ78Fz.js +1560 -0
  158. package/dist/vue-ui-sparkstackbar-CbTXIfxm.js +674 -0
  159. package/dist/{vue-ui-stackbar-BVdApDnY.js → vue-ui-stackbar-nMXIY9x8.js} +603 -596
  160. package/dist/vue-ui-stackline-CzfXl5ah.js +2425 -0
  161. package/dist/{vue-ui-strip-plot-C-TFNvgz.js → vue-ui-strip-plot-BCf5nthl.js} +415 -408
  162. package/dist/vue-ui-table-BAKkFXki.js +1338 -0
  163. package/dist/{vue-ui-table-heatmap-D0pZbBOH.js → vue-ui-table-heatmap-CUMxqHKK.js} +15 -15
  164. package/dist/{vue-ui-table-sparkline-Q6BHPKUn.js → vue-ui-table-sparkline-BVTm16fd.js} +20 -20
  165. package/dist/vue-ui-thermometer-CGeEW1KV.js +770 -0
  166. package/dist/{vue-ui-timer-BdzKpoRj.js → vue-ui-timer-Bz7EnsM1.js} +94 -89
  167. package/dist/{vue-ui-tiremarks-DWb69ofh.js → vue-ui-tiremarks-IOqtk_Rr.js} +17 -17
  168. package/dist/{vue-ui-treemap-uUz07Prw.js → vue-ui-treemap-JxNNtb7v.js} +509 -504
  169. package/dist/vue-ui-waffle-D34mcJWi.js +1368 -0
  170. package/dist/{vue-ui-wheel-DTfvWYA7.js → vue-ui-wheel-B_qEhyvk.js} +44 -44
  171. package/dist/{vue-ui-word-cloud-DqfljAqH.js → vue-ui-word-cloud-TtObhd91.js} +32 -32
  172. package/dist/{vue-ui-world-BtBrH92Z.js → vue-ui-world-R9o00A6c.js} +359 -348
  173. package/dist/{vue-ui-xy-Bvgy2do1.js → vue-ui-xy-CUt6sU1s.js} +1678 -1652
  174. package/dist/{vue-ui-xy-D5KsuNR2.js → vue-ui-xy-Do34-UbE.js} +134 -134
  175. package/dist/vue-ui-xy-canvas-C6eRRH--.js +1790 -0
  176. package/package.json +1 -1
  177. package/dist/BaseIcon-C2qlyHc7.js +0 -502
  178. package/dist/exposedLib-VXFp3Z2c.js +0 -19
  179. package/dist/vue-ui-3d-bar-B3HxJmDI.js +0 -1757
  180. package/dist/vue-ui-age-pyramid-DTAOc7fn.js +0 -1238
  181. package/dist/vue-ui-bullet-CCLnrOLm.js +0 -710
  182. package/dist/vue-ui-bump-Rq7efdoe.js +0 -1249
  183. package/dist/vue-ui-carousel-table-Lx5Zk4dG.js +0 -455
  184. package/dist/vue-ui-chestnut-RfWMGUD-.js +0 -2010
  185. package/dist/vue-ui-circle-pack-B4Ro7UuI.js +0 -1608
  186. package/dist/vue-ui-donut-C3Rt6j-I.js +0 -2410
  187. package/dist/vue-ui-donut-evolution-DY46UPF_.js +0 -1510
  188. package/dist/vue-ui-dumbbell-wK7vUB0x.js +0 -1530
  189. package/dist/vue-ui-funnel-BhoHzyHa.js +0 -777
  190. package/dist/vue-ui-gauge-Cf4NqvrO.js +0 -920
  191. package/dist/vue-ui-horizontal-bar-D1rCsgqt.js +0 -1683
  192. package/dist/vue-ui-molecule-CExCqZ08.js +0 -925
  193. package/dist/vue-ui-nested-donuts-3TRV8pN-.js +0 -1487
  194. package/dist/vue-ui-onion-DwKK9DXn.js +0 -1200
  195. package/dist/vue-ui-parallel-coordinate-plot-DSp_cwU-.js +0 -1416
  196. package/dist/vue-ui-quadrant-ByVg-NBs.js +0 -1978
  197. package/dist/vue-ui-radar-DE-me6OC.js +0 -1281
  198. package/dist/vue-ui-rating-CzD3EQ3G.js +0 -343
  199. package/dist/vue-ui-relation-circle-L7-dTqet.js +0 -924
  200. package/dist/vue-ui-rings-WzWiEo9W.js +0 -1246
  201. package/dist/vue-ui-scatter-DwrAydha.js +0 -2413
  202. package/dist/vue-ui-sparkbar-B03ndcUe.js +0 -393
  203. package/dist/vue-ui-sparkline-DlTfNQj8.js +0 -1547
  204. package/dist/vue-ui-sparkstackbar-DrmiWFlw.js +0 -662
  205. package/dist/vue-ui-stackline-QzQQ7lTy.js +0 -2419
  206. package/dist/vue-ui-table-Q3brrivC.js +0 -1338
  207. package/dist/vue-ui-thermometer-Bg0RR6m4.js +0 -763
  208. package/dist/vue-ui-waffle-Pi9e7Ae7.js +0 -1362
  209. package/dist/vue-ui-xy-canvas-BfgeE3TW.js +0 -1790
@@ -0,0 +1,1564 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { At as t, Dt as n, E as r, J as i, K as a, Q as o, Y as s, et as ee, ft as te, g as ne, i as c, qt as re, t as ie, y as ae, zt as oe } from "./lib-CnHx5WfV.js";
3
+ import { t as se } from "./useConfig-DYM3f6EI.js";
4
+ import { t as ce } from "./usePrinter-B-X_Pub0.js";
5
+ import { n as le, t as ue } from "./BaseScanner-DZvpgOjM.js";
6
+ import { t as de } from "./useSvgExport-SVIsDot8.js";
7
+ import { t as fe } from "./useNestedProp-D8NuRneO.js";
8
+ import { t as pe } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as me } from "./useTimeLabelCollider-AEcY4Ioe.js";
10
+ import { t as he } from "./img-CNdXiUfZ.js";
11
+ import { n as ge } from "./Title-Cr3jP7Qd.js";
12
+ import { t as _e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { c as ve } from "./canvas-lib-BOP_HS11.js";
14
+ import { t as ye } from "./useResponsive-BfnK0KxU.js";
15
+ import { t as l } from "./DefGrad-DVBqDjhO.js";
16
+ import { t as be } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as xe } from "./useUserOptionState-DK-_1ddE.js";
18
+ import { t as Se } from "./useChartAccessibility-DYqac8yF.js";
19
+ import { t as Ce } from "./Legend-5VQGLnmx.js";
20
+ import { t as we } from "./vue_ui_dumbbell-Bfe_jFyi.js";
21
+ import { Fragment as u, Teleport as Te, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as Ee, createTextVNode as De, createVNode as g, defineAsyncComponent as _, guardReactiveProps as v, mergeProps as Oe, nextTick as ke, normalizeClass as Ae, normalizeProps as y, normalizeStyle as je, onBeforeUnmount as Me, onMounted as Ne, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Pe, shallowRef as Fe, toDisplayString as w, toRefs as Ie, unref as T, vShow as E, watch as Le, watchEffect as Re, withCtx as D, withDirectives as ze } from "vue";
22
+ //#region src/components/vue-ui-dumbbell.vue
23
+ var Be = /* @__PURE__ */ e({ default: () => Tt }), Ve = ["id"], He = ["id"], Ue = ["id"], We = { style: { position: "relative" } }, Ge = [
24
+ "xmlns",
25
+ "viewBox",
26
+ "aria-describedby"
27
+ ], Ke = [
28
+ "x",
29
+ "y",
30
+ "width",
31
+ "height"
32
+ ], qe = { key: 1 }, Je = [
33
+ "x1",
34
+ "x2",
35
+ "y1",
36
+ "y2",
37
+ "stroke",
38
+ "stroke-width",
39
+ "stroke-dasharray"
40
+ ], Ye = { key: 2 }, Xe = [
41
+ "x1",
42
+ "x2",
43
+ "y1",
44
+ "y2",
45
+ "stroke",
46
+ "stroke-width",
47
+ "stroke-dasharray"
48
+ ], Ze = [
49
+ "x1",
50
+ "x2",
51
+ "y1",
52
+ "y2",
53
+ "stroke",
54
+ "stroke-width",
55
+ "stroke-dasharray"
56
+ ], Qe = [
57
+ "transform",
58
+ "font-size",
59
+ "fill"
60
+ ], $e = [
61
+ "x",
62
+ "y",
63
+ "font-size",
64
+ "fill",
65
+ "font-weight",
66
+ "onMouseenter",
67
+ "onMouseleave",
68
+ "onClick"
69
+ ], et = [
70
+ "x",
71
+ "y",
72
+ "font-size",
73
+ "fill",
74
+ "onMouseenter",
75
+ "onMouseleave",
76
+ "onClick"
77
+ ], tt = [
78
+ "x",
79
+ "y",
80
+ "font-size",
81
+ "fill"
82
+ ], nt = [
83
+ "transform",
84
+ "font-size",
85
+ "fill",
86
+ "font-weight",
87
+ "text-anchor"
88
+ ], rt = [
89
+ "d",
90
+ "stroke",
91
+ "stroke-width",
92
+ "stroke-dasharray"
93
+ ], it = [
94
+ "d",
95
+ "stroke",
96
+ "stroke-width",
97
+ "stroke-dasharray"
98
+ ], at = [
99
+ "x",
100
+ "y",
101
+ "height",
102
+ "width",
103
+ "fill"
104
+ ], ot = [
105
+ "transform",
106
+ "fill",
107
+ "font-size"
108
+ ], st = { key: 0 }, ct = { key: 0 }, lt = ["d", "fill"], ut = { key: 1 }, dt = [
109
+ "x",
110
+ "y",
111
+ "height",
112
+ "width",
113
+ "fill"
114
+ ], ft = [
115
+ "cx",
116
+ "cy",
117
+ "r",
118
+ "fill",
119
+ "stroke",
120
+ "stroke-width"
121
+ ], pt = [
122
+ "cx",
123
+ "cy",
124
+ "r",
125
+ "fill",
126
+ "stroke",
127
+ "stroke-width"
128
+ ], mt = { key: 7 }, ht = [
129
+ "x",
130
+ "y",
131
+ "fill",
132
+ "font-size"
133
+ ], gt = { key: 8 }, _t = [
134
+ "x",
135
+ "y",
136
+ "fill",
137
+ "font-size"
138
+ ], vt = [
139
+ "x",
140
+ "y",
141
+ "width",
142
+ "height",
143
+ "fill",
144
+ "onMouseenter",
145
+ "onMouseleave",
146
+ "onClick"
147
+ ], yt = {
148
+ key: 0,
149
+ style: {
150
+ position: "absolute",
151
+ top: "100%",
152
+ left: "0",
153
+ width: "100%"
154
+ },
155
+ "data-dom-to-png-ignore": "",
156
+ "aria-hidden": "true"
157
+ }, bt = {
158
+ key: 5,
159
+ class: "vue-data-ui-watermark"
160
+ }, xt = ["id"], St = [
161
+ "xmlns",
162
+ "height",
163
+ "width"
164
+ ], Ct = ["fill"], wt = ["innerHTML"], Tt = /*#__PURE__*/ _e({
165
+ __name: "vue-ui-dumbbell",
166
+ props: {
167
+ config: {
168
+ type: Object,
169
+ default() {
170
+ return {};
171
+ }
172
+ },
173
+ dataset: {
174
+ type: Array,
175
+ default() {
176
+ return [];
177
+ }
178
+ }
179
+ },
180
+ emits: ["selectDatapoint", "copyAlt"],
181
+ setup(e, { expose: _e, emit: Be }) {
182
+ let Tt = _(() => import("./BaseIcon-CDTIUIKV.js").then((e) => e.n)), Et = _(() => import("./vue-ui-accordion-Oo3IsX3-.js").then((e) => e.n)), Dt = _(() => import("./DataTable-ByZy5gt1.js")), Ot = _(() => import("./PenAndPaper-CLaZJl6K.js").then((e) => e.t)), kt = _(() => import("./UserOptions-BUQOnoPR.js").then((e) => e.n)), At = _(() => import("./PackageVersion-BoTvk0i5.js").then((e) => e.t)), jt = _(() => import("./BaseDraggableDialog-CdkCqtag.js").then((e) => e.n)), { vue_ui_dumbbell: Mt } = se(), { isThemeValid: Nt, warnInvalidTheme: Pt } = pe(), O = e, Ft = Be, It = d({
183
+ get() {
184
+ return !!O.dataset && O.dataset.length;
185
+ },
186
+ set(e) {
187
+ return e;
188
+ }
189
+ }), k = x(a()), Lt = x(0), A = x(null), Rt = x(null), zt = x(null), Bt = x(null), Vt = x(null), Ht = x(0), Ut = x(0), Wt = x(0), Gt = x(!1), Kt = x(null), qt = x(null), Jt = x(!1), Yt = x(!1), Xt = x(null), Zt = x(null), Qt = x(null), $t = x(null), j = x(null), M = x(null), N = x(null), en = x(!1), P = x(!1), F = x(ln()), I = d(() => F.value.userOptions.useCursorPointer), tn = d(() => re({
190
+ defaultConfig: {
191
+ userOptions: { show: !1 },
192
+ table: { show: !1 },
193
+ useAnimation: !1,
194
+ style: { chart: {
195
+ backgroundColor: "#99999930",
196
+ padding: {
197
+ top: 12,
198
+ right: 12,
199
+ bottom: 12,
200
+ left: 12
201
+ },
202
+ grid: {
203
+ horizontalGrid: { stroke: "#6A6A6A" },
204
+ verticalGrid: { stroke: "#6A6A6A" }
205
+ },
206
+ labels: {
207
+ axis: {
208
+ yLabel: "",
209
+ xLabel: ""
210
+ },
211
+ xAxisLabels: { show: !1 },
212
+ yAxisLabels: { show: !1 },
213
+ endLabels: { show: !1 },
214
+ startLabels: { show: !1 }
215
+ },
216
+ legend: { backgroundColor: "transparent" },
217
+ plots: {
218
+ endColor: "#969696",
219
+ startColor: "#DBDBDB",
220
+ stroke: "#6A6A6A",
221
+ evaluationColors: { enable: !1 }
222
+ }
223
+ } }
224
+ },
225
+ userConfig: F.value.skeletonConfig ?? {}
226
+ })), { loading: nn, FINAL_DATASET: rn, manualLoading: an } = le({
227
+ ...Ie(O),
228
+ FINAL_CONFIG: F,
229
+ prepareConfig: ln,
230
+ skeletonDataset: O.config?.skeletonDataset ?? [
231
+ {
232
+ name: "_",
233
+ start: 21,
234
+ end: 34
235
+ },
236
+ {
237
+ name: "_",
238
+ start: 13,
239
+ end: 21
240
+ },
241
+ {
242
+ name: "_",
243
+ start: 8,
244
+ end: 13
245
+ },
246
+ {
247
+ name: "_",
248
+ start: 5,
249
+ end: 8
250
+ },
251
+ {
252
+ name: "_",
253
+ start: 3,
254
+ end: 5
255
+ }
256
+ ],
257
+ skeletonConfig: re({
258
+ defaultConfig: F.value,
259
+ userConfig: tn.value
260
+ })
261
+ }), { userOptionsVisible: on, setUserOptionsVisibility: sn, keepUserOptionState: cn } = xe({ config: F.value }), { svgRef: L } = Se({ config: F.value.style.chart.title });
262
+ function ln() {
263
+ let e = fe({
264
+ userConfig: O.config,
265
+ defaultConfig: Mt
266
+ }), t = e.theme;
267
+ if (!t) return e;
268
+ if (!Nt.value(e)) return Pt(e), e;
269
+ let n = fe({
270
+ userConfig: we[t] || O.config,
271
+ defaultConfig: e
272
+ });
273
+ return fe({
274
+ userConfig: O.config,
275
+ defaultConfig: n
276
+ });
277
+ }
278
+ Le(() => O.config, (e) => {
279
+ nn.value || (F.value = ln()), on.value = !F.value.userOptions.showOnChartHover, dn(), Ht.value += 1, Ut.value += 1, Wt.value += 1, U.value = F.value.style.chart.rowHeight, W.value = F.value.style.chart.width, B.value.showTable = F.value.table.show;
280
+ }, { deep: !0 }), Le(() => rn.value, (e) => {
281
+ Array.isArray(e) && e.length > 0 && (an.value = !1), Tn(), En();
282
+ }, { deep: !0 });
283
+ let R = Fe(null), z = Fe(null);
284
+ Ne(() => {
285
+ Gt.value = !0, dn();
286
+ });
287
+ let un = d(() => !!F.value.debug);
288
+ function dn() {
289
+ if (t(O.dataset) ? ee({
290
+ componentName: "VueUiDumbbell",
291
+ type: "dataset",
292
+ debug: un.value
293
+ }) : O.dataset.forEach((e, t) => {
294
+ te({
295
+ datasetObject: e,
296
+ requiredAttributes: [
297
+ "name",
298
+ "start",
299
+ "end"
300
+ ]
301
+ }).forEach((e) => {
302
+ It.value = !1, ee({
303
+ componentName: "VueUiDumbbell",
304
+ type: "datasetSerieAttribute",
305
+ property: e,
306
+ index: t,
307
+ debug: un.value
308
+ });
309
+ });
310
+ }), F.value.responsive) {
311
+ let e = ve(() => {
312
+ let { width: e, height: t } = ye({
313
+ chart: A.value,
314
+ title: F.value.style.chart.title.text ? Rt.value : null,
315
+ legend: F.value.style.chart.legend.show ? zt.value : null,
316
+ source: Bt.value,
317
+ noTitle: Vt.value
318
+ }), n = F.value.style.chart.title.text ? 24 : 0, r = F.value.style.chart.legend.show ? 24 : 0;
319
+ requestAnimationFrame(async () => {
320
+ W.value = Math.max(.1, e), U.value = Math.max(.1, (Math.max(.1, t) - (n + r)) / rn.value.length), Rn();
321
+ });
322
+ });
323
+ R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect()), R.value = new ResizeObserver(e), z.value = A.value.parentNode, R.value.observe(z.value);
324
+ }
325
+ Rn();
326
+ }
327
+ Me(() => {
328
+ J.value != null && (cancelAnimationFrame(J.value), J.value = null), R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect());
329
+ });
330
+ let { isPrinting: fn, isImaging: pn, generatePdf: mn, generateImage: hn } = ce({
331
+ elementId: `dumbbell_${k.value}`,
332
+ fileName: F.value.style.chart.title.text || "vue-ui-dumbbell",
333
+ options: F.value.userOptions.print
334
+ }), gn = d(() => F.value.userOptions.show && !F.value.style.chart.title.text), B = x({ showTable: F.value.table.show });
335
+ Le(F, () => {
336
+ B.value = { showTable: F.value.table.show };
337
+ }, { immediate: !0 });
338
+ let V = d(() => rn.value.map((e, t) => ({
339
+ ...e,
340
+ start: ae(e.start),
341
+ end: ae(e.end),
342
+ id: e.id ?? `${String(e.name)}__${String(e.start)}__${String(e.end)}__${a()}`
343
+ }))), _n = d(() => {
344
+ let e = F.value.style.chart.grid, t = V.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;
345
+ return {
346
+ min: e.scaleMin ?? Math.min(n, 0),
347
+ max: e.scaleMax ?? r
348
+ };
349
+ }), H = d(() => ne(_n.value.min, _n.value.max, F.value.style.chart.grid.scaleSteps)), U = x(F.value.style.chart.rowHeight), W = x(F.value.style.chart.width);
350
+ function vn() {
351
+ let e = 0;
352
+ Zt.value && (e = Array.from(Zt.value.querySelectorAll("text")).reduce((e, t) => {
353
+ let n = t.getComputedTextLength();
354
+ return n > e ? n : e;
355
+ }, 0));
356
+ let t = Xt.value ? Xt.value.getBoundingClientRect().width : 0;
357
+ return e + t + (t ? 24 + F.value.style.chart.labels.axis.yLabelOffsetX : 0);
358
+ }
359
+ let yn = x(0), bn = ve((e) => {
360
+ yn.value = e;
361
+ }, 100);
362
+ Re((e) => {
363
+ let t = Qt.value;
364
+ if (!t) return;
365
+ let n = new ResizeObserver((e) => {
366
+ bn(e[0].contentRect.height);
367
+ });
368
+ n.observe(t), e(() => n.disconnect());
369
+ }), Me(() => {
370
+ yn.value = 0;
371
+ });
372
+ let xn = d(() => {
373
+ P.value;
374
+ let e = 0;
375
+ $t.value && (e = $t.value.getBBox().height);
376
+ let t = 0;
377
+ return Qt.value && (t = yn.value), e + t;
378
+ }), Sn = d(() => V.value.length);
379
+ function Cn(e, t, n) {
380
+ let r = Number(e), i = Number(t.min), a = Number(t.max), o = Number(n.width);
381
+ if (!Number.isFinite(r) || !Number.isFinite(i) || !Number.isFinite(a) || !Number.isFinite(o)) return n.left;
382
+ let s = a - i;
383
+ return s <= 0 ? n.left : n.left + (r - i) / s * o;
384
+ }
385
+ let G = d(() => {
386
+ P.value;
387
+ let e = vn(), t = F.value.style.chart.padding, n = F.value.style.chart.labels.axis.xLabel ? F.value.style.chart.labels.axis.xLabelOffsetY : 0, r = U.value * Sn.value - xn.value - t.top - t.bottom - n, i = r / Sn.value, a = U.value * Sn.value, o = W.value - e - t.left - t.right, s = H.value.ticks.length * (o / H.value.ticks.length);
388
+ return {
389
+ left: F.value.style.chart.padding.left + e,
390
+ right: W.value - F.value.style.chart.padding.right,
391
+ top: F.value.style.chart.padding.top,
392
+ bottom: a - F.value.style.chart.padding.bottom - xn.value - n,
393
+ width: o,
394
+ height: r,
395
+ rowHeight: i,
396
+ absoluteHeight: a,
397
+ widthPlotReference: s
398
+ };
399
+ }), K = d(() => Math.min(U.value / 2 * .7, F.value.style.chart.plots.radius)), wn = x([]), q = d({
400
+ get() {
401
+ let e = G.value, t = H.value;
402
+ return wn.value.map((n, r) => {
403
+ let i = Cn(n.start, t, e), a = Cn(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 ? F.value.style.chart.plots.evaluationColors.positive : ee ? F.value.style.chart.plots.evaluationColors.negative : F.value.style.chart.plots.evaluationColors.neutral;
404
+ return {
405
+ ...n,
406
+ isPositive: s,
407
+ isNegative: ee,
408
+ isNeutral: te,
409
+ evaluationColor: ne,
410
+ evaluationGrad: `url(#${s ? "positive" : ee ? "negative" : "neutral"}_grad_${k.value})`,
411
+ startX: i,
412
+ endX: a,
413
+ centerX: o,
414
+ y: e.top + r * e.rowHeight + e.rowHeight / 2
415
+ };
416
+ });
417
+ },
418
+ set(e) {
419
+ wn.value = e;
420
+ }
421
+ });
422
+ function Tn() {
423
+ wn.value = V.value.map((e) => {
424
+ let t = Number(e.start);
425
+ return {
426
+ ...e,
427
+ endVal: Number.isFinite(t) ? t : 0
428
+ };
429
+ });
430
+ }
431
+ let J = x(null);
432
+ Ne(() => {
433
+ En();
434
+ });
435
+ function En() {
436
+ if (J.value != null && (cancelAnimationFrame(J.value), J.value = null), Tn(), !F.value.useAnimation) {
437
+ q.value = wn.value.map((e) => {
438
+ let t = Number(e.end);
439
+ return {
440
+ ...e,
441
+ endVal: Number.isFinite(t) ? t : e.endVal
442
+ };
443
+ });
444
+ return;
445
+ }
446
+ let e = Math.max(1, Math.min(100, F.value.animationSpeed || 100)) / 100, t = V.value.map((e) => {
447
+ let t = Number(e.start), n = Number(e.end), r = Number.isFinite(t) ? t : 0;
448
+ return (Number.isFinite(n) ? n : r) - r;
449
+ }), n = () => {
450
+ let r = !0;
451
+ q.value = wn.value.map((n, i) => {
452
+ 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);
453
+ return s !== a && (r = !1), {
454
+ ...n,
455
+ endVal: s
456
+ };
457
+ }), r ? J.value = null : J.value = requestAnimationFrame(n);
458
+ };
459
+ J.value = requestAnimationFrame(n);
460
+ }
461
+ let Dn = d(() => F.value.style.chart.plots.evaluationColors.enable ? [
462
+ {
463
+ name: F.value.style.chart.legend.labelNegative,
464
+ color: F.value.style.chart.plots.gradient.show ? `url(#negative_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.negative
465
+ },
466
+ {
467
+ name: F.value.style.chart.legend.labelNeutral,
468
+ color: F.value.style.chart.plots.gradient.show ? `url(#neutral_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.neutral
469
+ },
470
+ {
471
+ name: F.value.style.chart.legend.labelPositive,
472
+ color: F.value.style.chart.plots.gradient.show ? `url(#positive_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.positive
473
+ }
474
+ ] : [{
475
+ name: F.value.style.chart.legend.labelStart,
476
+ color: F.value.style.chart.plots.gradient.show ? `url(#start_grad_${k.value})` : F.value.style.chart.plots.startColor
477
+ }, {
478
+ name: F.value.style.chart.legend.labelEnd,
479
+ color: F.value.style.chart.plots.gradient.show ? `url(#end_grad_${k.value})` : F.value.style.chart.plots.endColor
480
+ }]), On = d(() => ({
481
+ cy: "donut-div-legend",
482
+ backgroundColor: F.value.style.chart.legend.backgroundColor,
483
+ color: F.value.style.chart.legend.color,
484
+ fontSize: F.value.style.chart.legend.fontSize,
485
+ paddingBottom: 12,
486
+ paddingTop: 12,
487
+ fontWeight: F.value.style.chart.legend.bold ? "bold" : ""
488
+ })), Y = d(() => ({
489
+ head: q.value.map((e) => ({ name: e.name })),
490
+ body: q.value.map((e) => ({
491
+ start: e.start,
492
+ end: e.end
493
+ }))
494
+ })), X = d(() => {
495
+ let e = [
496
+ F.value.table.columnNames.series,
497
+ F.value.table.columnNames.start,
498
+ F.value.table.columnNames.end,
499
+ F.value.table.columnNames.progression
500
+ ], t = Y.value.head.map((e, t) => {
501
+ let n = s({
502
+ p: F.value.style.chart.labels.prefix,
503
+ v: Y.value.body[t].start,
504
+ s: F.value.style.chart.labels.suffix,
505
+ r: F.value.table.td.roundingValue
506
+ }), r = s({
507
+ p: F.value.style.chart.labels.prefix,
508
+ v: Y.value.body[t].end,
509
+ s: F.value.style.chart.labels.suffix,
510
+ r: F.value.table.td.roundingValue
511
+ }), i = s({
512
+ v: 100 * (Y.value.body[t].end / Y.value.body[t].start - 1),
513
+ s: "%",
514
+ r: F.value.table.td.roundingPercentage
515
+ });
516
+ return [
517
+ { name: e.name },
518
+ n,
519
+ r,
520
+ i
521
+ ];
522
+ }), n = {
523
+ th: {
524
+ backgroundColor: F.value.table.th.backgroundColor,
525
+ color: F.value.table.th.color,
526
+ outline: F.value.table.th.outline
527
+ },
528
+ td: {
529
+ backgroundColor: F.value.table.td.backgroundColor,
530
+ color: F.value.table.td.color,
531
+ outline: F.value.table.td.outline
532
+ },
533
+ breakpoint: F.value.table.responsiveBreakpoint
534
+ };
535
+ return {
536
+ colNames: [
537
+ F.value.table.columnNames.series,
538
+ F.value.table.columnNames.start,
539
+ F.value.table.columnNames.end,
540
+ F.value.table.columnNames.progression
541
+ ],
542
+ head: e,
543
+ body: t,
544
+ config: n
545
+ };
546
+ });
547
+ function kn(e = null) {
548
+ ke(() => {
549
+ let t = Y.value.head.map((e, t) => [
550
+ [e.name],
551
+ [Y.value.body[t].start],
552
+ [Y.value.body[t].end]
553
+ ]), n = r([
554
+ [F.value.style.chart.title.text],
555
+ [F.value.style.chart.title.subtitle.text],
556
+ [
557
+ [F.value.table.columnNames.series],
558
+ [F.value.table.columnNames.start],
559
+ [F.value.table.columnNames.end]
560
+ ]
561
+ ].concat(t));
562
+ e ? e(n) : o({
563
+ csvContent: n,
564
+ title: F.value.style.chart.title.text || "vue-ui-dumbbell"
565
+ });
566
+ });
567
+ }
568
+ let Z = x(!1);
569
+ function An(e) {
570
+ Z.value = e, Lt.value += 1;
571
+ }
572
+ function jn() {
573
+ return V.value;
574
+ }
575
+ function Mn() {
576
+ B.value.showTable = !B.value.showTable;
577
+ }
578
+ let Q = x(!1);
579
+ function Nn() {
580
+ Q.value = !Q.value;
581
+ }
582
+ async function Pn({ scale: e = 2 } = {}) {
583
+ if (!A.value) return;
584
+ let { width: t, height: n } = A.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await he({
585
+ domElement: A.value,
586
+ base64: !0,
587
+ img: !0,
588
+ scale: e
589
+ });
590
+ return {
591
+ imageUri: i,
592
+ base64: a,
593
+ title: F.value.style.chart.title.text,
594
+ width: t,
595
+ height: n,
596
+ aspectRatio: r
597
+ };
598
+ }
599
+ let Fn = d(() => H.value.ticks);
600
+ me({
601
+ timeLabelsEls: Qt,
602
+ timeLabels: Fn,
603
+ slicer: d(() => ({
604
+ start: 0,
605
+ end: Fn.value.length
606
+ })),
607
+ configRef: F,
608
+ rotationPath: [
609
+ "style",
610
+ "chart",
611
+ "labels",
612
+ "xAxisLabels",
613
+ "rotation"
614
+ ],
615
+ autoRotatePath: [
616
+ "style",
617
+ "chart",
618
+ "labels",
619
+ "xAxisLabels",
620
+ "autoRotate",
621
+ "enable"
622
+ ],
623
+ isAutoSize: !1,
624
+ width: W,
625
+ height: U,
626
+ targetClass: ".vue-ui-dumbbell-scale-label",
627
+ rotation: F.value.style.chart.labels.xAxisLabels.autoRotate.angle
628
+ });
629
+ function In({ rowHeight: e, fontSize: t, showProgression: n }) {
630
+ if (!n) return !1;
631
+ let r = e / 3, i = e / 1.3;
632
+ return Math.abs(i - r) < t * 1.2;
633
+ }
634
+ let Ln = (() => {
635
+ let e = null, t = 0;
636
+ return (n) => {
637
+ if (n === P.value) {
638
+ e = null, t = 0;
639
+ return;
640
+ }
641
+ e === null || e !== n ? (e = n, t = 1) : (t += 1, t >= 1 && (P.value = n, e = null, t = 0));
642
+ };
643
+ })(), Rn = ve(() => {
644
+ requestAnimationFrame(() => {
645
+ requestAnimationFrame(() => {
646
+ Ln(In({
647
+ rowHeight: G.value.rowHeight,
648
+ fontSize: F.value.style.chart.labels.yAxisLabels.fontSize,
649
+ showProgression: F.value.style.chart.labels.yAxisLabels.showProgression
650
+ }));
651
+ });
652
+ });
653
+ }, 100);
654
+ function zn({ datapoint: e, seriesIndex: t }) {
655
+ j.value = t, M.value = e, F.value.events.datapointEnter && F.value.events.datapointEnter({
656
+ datapoint: e,
657
+ seriesIndex: t
658
+ });
659
+ }
660
+ function Bn({ datapoint: e, seriesIndex: t }) {
661
+ j.value = null, M.value = null, F.value.events.datapointLeave && F.value.events.datapointLeave({
662
+ datapoint: e,
663
+ seriesIndex: t
664
+ });
665
+ }
666
+ function Vn({ datapoint: e, seriesIndex: t }) {
667
+ F.value.events.datapointClick && F.value.events.datapointClick({
668
+ datapoint: e,
669
+ seriesIndex: t
670
+ }), Ft("selectDatapoint", {
671
+ ...e,
672
+ seriesIndex: t
673
+ });
674
+ }
675
+ let Hn = d(() => {
676
+ if (M.value === null) return 0;
677
+ let e = ![null, void 0].includes(M.value.start), t = ![null, void 0].includes(M.value.end);
678
+ return e && t ? Math.min(M.value.startX, M.value.endX) + Math.abs(M.value.startX - M.value.endX) / 2 : e && !t ? M.value.startX : t && !e ? M.value.endX : null;
679
+ }), Un = d(() => {
680
+ if (M.value === null) return "";
681
+ let e = ![null, void 0].includes(M.value.start), t = ![null, void 0].includes(M.value.end), n = "", r = "";
682
+ return e && (n = c(F.value.style.chart.labels.formatter, M.value.start, s({
683
+ p: F.value.style.chart.labels.prefix,
684
+ v: M.value.start,
685
+ s: F.value.style.chart.labels.suffix,
686
+ r: F.value.style.chart.labels.startLabels.rounding
687
+ }), {
688
+ datapoint: M.value,
689
+ seriesIndex: j.value
690
+ })), t && (r = c(F.value.style.chart.labels.formatter, M.value.end, s({
691
+ p: F.value.style.chart.labels.prefix,
692
+ v: M.value.end,
693
+ s: F.value.style.chart.labels.suffix,
694
+ r: F.value.style.chart.labels.startLabels.rounding
695
+ }), {
696
+ datapoint: M.value,
697
+ seriesIndex: j.value
698
+ })), e && t ? `${n} → ${r}` : e && !t ? n : t && !e ? r : "";
699
+ }), Wn = d(() => {
700
+ let e = F.value.table.useDialog && !F.value.table.show, t = B.value.showTable;
701
+ return {
702
+ component: e ? jt : Et,
703
+ title: `${F.value.style.chart.title.text}${F.value.style.chart.title.subtitle.text ? `: ${F.value.style.chart.title.subtitle.text}` : ""}`,
704
+ props: e ? {
705
+ backgroundColor: F.value.table.th.backgroundColor,
706
+ color: F.value.table.th.color,
707
+ headerColor: F.value.table.th.color,
708
+ headerBg: F.value.table.th.backgroundColor,
709
+ isFullscreen: Z.value,
710
+ fullscreenParent: A.value,
711
+ forcedWidth: Math.min(800, window.innerWidth * .8),
712
+ isCursorPointer: I.value
713
+ } : {
714
+ hideDetails: !0,
715
+ config: {
716
+ open: t,
717
+ maxHeight: 1e4,
718
+ body: {
719
+ backgroundColor: F.value.style.chart.backgroundColor,
720
+ color: F.value.style.chart.color
721
+ },
722
+ head: {
723
+ backgroundColor: F.value.style.chart.backgroundColor,
724
+ color: F.value.style.chart.color
725
+ }
726
+ }
727
+ }
728
+ };
729
+ });
730
+ Le(() => B.value.showTable, (e) => {
731
+ F.value.table.show || (e && F.value.table.useDialog && Kt.value ? Kt.value.open() : "close" in Kt.value && Kt.value.close());
732
+ });
733
+ function Gn() {
734
+ B.value.showTable = !1, qt.value && qt.value.setTableIconState(!1);
735
+ }
736
+ let Kn = d(() => Dn.value.map((e) => ({
737
+ ...e,
738
+ shape: "circle"
739
+ }))), qn = d(() => F.value.style.chart.backgroundColor), Jn = d(() => F.value.style.chart.legend), { exportSvg: Yn, getSvg: Xn } = de({
740
+ svg: L,
741
+ title: d(() => F.value.style.chart.title),
742
+ legend: Jn,
743
+ legendItems: Kn,
744
+ backgroundColor: qn
745
+ });
746
+ async function Zn({ isCb: e }) {
747
+ Yt.value = !0, await ke();
748
+ try {
749
+ if (e) {
750
+ let { blob: e, url: t, text: n, dataUrl: r } = await Xn();
751
+ await Promise.resolve(F.value.userOptions.callbacks.svg({
752
+ blob: e,
753
+ url: t,
754
+ text: n,
755
+ dataUrl: r
756
+ }));
757
+ } else await Promise.resolve(Yn());
758
+ } finally {
759
+ Yt.value = !1;
760
+ }
761
+ }
762
+ function Qn(e) {
763
+ if (e?.stage === "start") {
764
+ Jt.value = !0;
765
+ return;
766
+ }
767
+ if (e?.stage === "end") {
768
+ Jt.value = !1;
769
+ return;
770
+ }
771
+ hn();
772
+ }
773
+ async function $n() {
774
+ if (Ft("copyAlt", {
775
+ config: F.value,
776
+ dataset: q.value
777
+ }), !F.value.userOptions.callbacks.altCopy) {
778
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
779
+ return;
780
+ }
781
+ await Promise.resolve(F.value.userOptions.callbacks.altCopy({
782
+ config: F.value,
783
+ dataset: q.value
784
+ }));
785
+ }
786
+ function er(e) {
787
+ let t = q.value.length;
788
+ return t ? (e % t + t) % t : null;
789
+ }
790
+ function tr() {
791
+ if (N.value !== null) {
792
+ let e = q.value[N.value];
793
+ e && Bn({
794
+ datapoint: e,
795
+ seriesIndex: N.value
796
+ });
797
+ }
798
+ N.value = null, j.value = null, M.value = null;
799
+ }
800
+ function nr() {
801
+ N.value = null, en.value = !0;
802
+ }
803
+ function rr() {
804
+ tr(), en.value = !1;
805
+ }
806
+ function ir(e) {
807
+ if (!L.value || Q.value || document.activeElement !== L.value || !q.value.length) return;
808
+ let t = ["ArrowUp", "ArrowLeft"].includes(e.key), n = ["ArrowDown", "ArrowRight"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
809
+ if (!t && !n && !r && !i) return;
810
+ if (e.preventDefault(), e.stopPropagation(), i) {
811
+ tr();
812
+ return;
813
+ }
814
+ if (r) {
815
+ if (N.value === null) return;
816
+ let e = q.value[N.value];
817
+ if (!e) return;
818
+ Vn({
819
+ datapoint: e,
820
+ seriesIndex: N.value
821
+ });
822
+ return;
823
+ }
824
+ let a = N.value;
825
+ a = a === null ? n ? 0 : q.value.length - 1 : er(a + (n ? 1 : -1));
826
+ let o = q.value[a];
827
+ o && (N.value = a, zn({
828
+ datapoint: o,
829
+ seriesIndex: a
830
+ }));
831
+ }
832
+ let $ = d(() => ({
833
+ head: X.value.head,
834
+ body: X.value.body.map((e) => [
835
+ e[0]?.name ?? "",
836
+ e[1],
837
+ e[2],
838
+ e[3]
839
+ ]),
840
+ caption: F.value.a11y.translations.tableCaption,
841
+ notice: F.value.a11y.translations.tableAvailable
842
+ }));
843
+ return _e({
844
+ getData: jn,
845
+ getImage: Pn,
846
+ generatePdf: mn,
847
+ generateCsv: kn,
848
+ generateImage: hn,
849
+ generateSvg: Zn,
850
+ toggleTable: Mn,
851
+ toggleAnnotator: Nn,
852
+ toggleFullscreen: An,
853
+ copyAlt: $n
854
+ }), (e, t) => (b(), m("div", {
855
+ ref_key: "dumbbellChart",
856
+ ref: A,
857
+ class: Ae(`vue-data-ui-component vue-ui-dumbbell ${Z.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
858
+ style: je(`font-family:${F.value.style.fontFamily};width:100%; text-align:center;background:${F.value.style.chart.backgroundColor};${F.value.responsive ? "height:100%" : ""}`),
859
+ id: `dumbbell_${k.value}`,
860
+ onMouseenter: t[1] ||= () => T(sn)(!0),
861
+ onMouseleave: t[2] ||= () => T(sn)(!1)
862
+ }, [
863
+ h("div", {
864
+ id: `chart-instructions-${k.value}`,
865
+ class: "sr-only"
866
+ }, [h("p", null, w(F.value.a11y.translations.keyboardNavigation), 1)], 8, He),
867
+ $.value.body.length ? (b(), f(be, {
868
+ key: 0,
869
+ uid: k.value,
870
+ head: $.value.head,
871
+ body: $.value.body,
872
+ caption: $.value.caption,
873
+ notice: $.value.notice
874
+ }, null, 8, [
875
+ "uid",
876
+ "head",
877
+ "body",
878
+ "caption",
879
+ "notice"
880
+ ])) : p("", !0),
881
+ F.value.userOptions.buttons.annotator ? (b(), f(T(Ot), {
882
+ key: 1,
883
+ svgRef: T(L),
884
+ backgroundColor: F.value.style.chart.backgroundColor,
885
+ color: F.value.style.chart.color,
886
+ active: Q.value,
887
+ isCursorPointer: I.value,
888
+ onClose: Nn
889
+ }, {
890
+ "annotator-action-close": D(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
891
+ "annotator-action-color": D(({ color: t }) => [C(e.$slots, "annotator-action-color", y(v({ color: t })), void 0, !0)]),
892
+ "annotator-action-draw": D(({ mode: t }) => [C(e.$slots, "annotator-action-draw", y(v({ mode: t })), void 0, !0)]),
893
+ "annotator-action-undo": D(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", y(v({ disabled: t })), void 0, !0)]),
894
+ "annotator-action-redo": D(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", y(v({ disabled: t })), void 0, !0)]),
895
+ "annotator-action-delete": D(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", y(v({ disabled: t })), void 0, !0)]),
896
+ _: 3
897
+ }, 8, [
898
+ "svgRef",
899
+ "backgroundColor",
900
+ "color",
901
+ "active",
902
+ "isCursorPointer"
903
+ ])) : p("", !0),
904
+ gn.value ? (b(), m("div", {
905
+ key: 2,
906
+ ref_key: "noTitle",
907
+ ref: Vt,
908
+ class: "vue-data-ui-no-title-space",
909
+ style: "height:36px; width: 100%;background:transparent"
910
+ }, null, 512)) : p("", !0),
911
+ F.value.style.chart.title.text ? (b(), m("div", {
912
+ key: 3,
913
+ ref_key: "chartTitle",
914
+ ref: Rt,
915
+ style: "width:100%;background:transparent;padding-bottom:24px"
916
+ }, [(b(), f(ge, {
917
+ key: `title_${Ht.value}`,
918
+ config: {
919
+ title: {
920
+ cy: "donut-div-title",
921
+ ...F.value.style.chart.title
922
+ },
923
+ subtitle: {
924
+ cy: "donut-div-subtitle",
925
+ ...F.value.style.chart.title.subtitle
926
+ }
927
+ }
928
+ }, null, 8, ["config"]))], 512)) : p("", !0),
929
+ h("div", { id: `legend-top-${k.value}` }, null, 8, Ue),
930
+ F.value.userOptions.show && It.value && (T(cn) || T(on)) ? (b(), f(T(kt), {
931
+ ref_key: "userOptionsRef",
932
+ ref: qt,
933
+ key: `user_option_${Lt.value}`,
934
+ backgroundColor: F.value.style.chart.backgroundColor,
935
+ color: F.value.style.chart.color,
936
+ isPrinting: T(fn),
937
+ isImaging: T(pn),
938
+ uid: k.value,
939
+ hasPdf: F.value.userOptions.buttons.pdf,
940
+ hasXls: F.value.userOptions.buttons.csv,
941
+ hasImg: F.value.userOptions.buttons.img,
942
+ hasSvg: F.value.userOptions.buttons.svg,
943
+ hasTable: F.value.userOptions.buttons.table,
944
+ hasFullscreen: F.value.userOptions.buttons.fullscreen,
945
+ hasAltCopy: F.value.userOptions.buttons.altCopy,
946
+ isFullscreen: Z.value,
947
+ titles: { ...F.value.userOptions.buttonTitles },
948
+ chartElement: A.value,
949
+ position: F.value.userOptions.position,
950
+ hasAnnotator: F.value.userOptions.buttons.annotator,
951
+ isAnnotation: Q.value,
952
+ callbacks: F.value.userOptions.callbacks,
953
+ printScale: F.value.userOptions.print.scale,
954
+ tableDialog: F.value.table.useDialog,
955
+ isCursorPointer: I.value,
956
+ onToggleFullscreen: An,
957
+ onGeneratePdf: T(mn),
958
+ onGenerateCsv: kn,
959
+ onGenerateImage: Qn,
960
+ onGenerateSvg: Zn,
961
+ onToggleTable: Mn,
962
+ onToggleAnnotator: Nn,
963
+ onCopyAlt: $n,
964
+ style: je({ visibility: T(cn) ? T(on) ? "visible" : "hidden" : "visible" })
965
+ }, Ee({ _: 2 }, [
966
+ e.$slots.menuIcon ? {
967
+ name: "menuIcon",
968
+ fn: D(({ 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: D(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
977
+ key: "1"
978
+ } : void 0,
979
+ e.$slots.optionCsv ? {
980
+ name: "optionCsv",
981
+ fn: D(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
982
+ key: "2"
983
+ } : void 0,
984
+ e.$slots.optionImg ? {
985
+ name: "optionImg",
986
+ fn: D(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
987
+ key: "3"
988
+ } : void 0,
989
+ e.$slots.optionSvg ? {
990
+ name: "optionSvg",
991
+ fn: D(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
992
+ key: "4"
993
+ } : void 0,
994
+ e.$slots.optionTable ? {
995
+ name: "optionTable",
996
+ fn: D(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
997
+ key: "5"
998
+ } : void 0,
999
+ e.$slots.optionFullscreen ? {
1000
+ name: "optionFullscreen",
1001
+ fn: D(({ 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: D(({ 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: D(({ 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: D(() => [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: D(() => [C(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1028
+ key: "10"
1029
+ } : void 0
1030
+ ]), 1032, [
1031
+ "backgroundColor",
1032
+ "color",
1033
+ "isPrinting",
1034
+ "isImaging",
1035
+ "uid",
1036
+ "hasPdf",
1037
+ "hasXls",
1038
+ "hasImg",
1039
+ "hasSvg",
1040
+ "hasTable",
1041
+ "hasFullscreen",
1042
+ "hasAltCopy",
1043
+ "isFullscreen",
1044
+ "titles",
1045
+ "chartElement",
1046
+ "position",
1047
+ "hasAnnotator",
1048
+ "isAnnotation",
1049
+ "callbacks",
1050
+ "printScale",
1051
+ "tableDialog",
1052
+ "isCursorPointer",
1053
+ "onGeneratePdf",
1054
+ "style"
1055
+ ])) : p("", !0),
1056
+ h("div", We, [(b(), m("svg", {
1057
+ ref_key: "svgRef",
1058
+ ref: L,
1059
+ xmlns: T(ie),
1060
+ class: Ae({
1061
+ "vue-data-ui-fullscreen--on": Z.value,
1062
+ "vue-data-ui-fulscreen--off": !Z.value
1063
+ }),
1064
+ viewBox: `0 0 ${W.value} ${G.value.absoluteHeight <= 0 ? 10 : G.value.absoluteHeight}`,
1065
+ style: je(`max-width:100%; overflow: visible; background:transparent;color:${F.value.style.chart.color}`),
1066
+ "aria-describedby": `chart-instructions-${k.value}`,
1067
+ tabindex: "0",
1068
+ onFocus: nr,
1069
+ onBlur: rr,
1070
+ onKeydown: ir
1071
+ }, [
1072
+ g(T(At)),
1073
+ e.$slots["chart-background"] ? (b(), m("foreignObject", {
1074
+ key: 0,
1075
+ x: G.value.left,
1076
+ y: G.value.top,
1077
+ width: Math.max(.1, G.value.width),
1078
+ height: Math.max(.1, G.value.height),
1079
+ style: { pointerEvents: "none" }
1080
+ }, [C(e.$slots, "chart-background", {}, void 0, !0)], 8, Ke)) : p("", !0),
1081
+ F.value.style.chart.grid.verticalGrid.show ? (b(), m("g", qe, [(b(!0), m(u, null, S(H.value.ticks, (e, t) => (b(), m("line", {
1082
+ x1: G.value.left + t * G.value.width / (H.value.ticks.length - 1),
1083
+ x2: G.value.left + t * G.value.width / (H.value.ticks.length - 1),
1084
+ y1: G.value.top,
1085
+ y2: G.value.bottom,
1086
+ stroke: F.value.style.chart.grid.verticalGrid.stroke,
1087
+ "stroke-width": F.value.style.chart.grid.verticalGrid.strokeWidth,
1088
+ "stroke-dasharray": F.value.style.chart.grid.verticalGrid.strokeDasharray
1089
+ }, null, 8, Je))), 256))])) : p("", !0),
1090
+ F.value.style.chart.grid.horizontalGrid.show ? (b(), m("g", Ye, [(b(!0), m(u, null, S(V.value, (e, t) => (b(), m("line", {
1091
+ x1: G.value.left,
1092
+ x2: G.value.right,
1093
+ y1: G.value.top + t * G.value.rowHeight,
1094
+ y2: G.value.top + t * G.value.rowHeight,
1095
+ stroke: F.value.style.chart.grid.horizontalGrid.stroke,
1096
+ "stroke-width": F.value.style.chart.grid.horizontalGrid.strokeWidth,
1097
+ "stroke-dasharray": F.value.style.chart.grid.horizontalGrid.strokeDasharray
1098
+ }, null, 8, Xe))), 256)), h("line", {
1099
+ x1: G.value.left,
1100
+ x2: G.value.right,
1101
+ y1: G.value.bottom,
1102
+ y2: G.value.bottom,
1103
+ stroke: F.value.style.chart.grid.horizontalGrid.stroke,
1104
+ "stroke-width": F.value.style.chart.grid.horizontalGrid.strokeWidth,
1105
+ "stroke-dasharray": F.value.style.chart.grid.horizontalGrid.strokeDasharray
1106
+ }, null, 8, Ze)])) : p("", !0),
1107
+ F.value.style.chart.labels.axis.yLabel ? (b(), m("text", {
1108
+ key: 3,
1109
+ ref_key: "yAxisLabel",
1110
+ ref: Xt,
1111
+ transform: `translate(${F.value.style.chart.labels.axis.fontSize}, ${G.value.absoluteHeight / 2}), rotate(-90)`,
1112
+ "font-size": F.value.style.chart.labels.axis.fontSize,
1113
+ fill: F.value.style.chart.labels.axis.color,
1114
+ "text-anchor": "middle"
1115
+ }, w(F.value.style.chart.labels.axis.yLabel), 9, Qe)) : p("", !0),
1116
+ F.value.style.chart.labels.yAxisLabels.show ? (b(), m("g", {
1117
+ key: 4,
1118
+ ref_key: "serieLabels",
1119
+ ref: Zt
1120
+ }, [(b(!0), m(u, null, S(q.value, (e, t) => (b(), m("text", {
1121
+ class: "vue-ui-dumbbell-serie-name",
1122
+ key: `serieLabel_${e.id}_${t}`,
1123
+ x: G.value.left - 6 + F.value.style.chart.labels.yAxisLabels.offsetX,
1124
+ y: G.value.top + t * G.value.rowHeight + (!F.value.style.chart.labels.yAxisLabels.showProgression || P.value ? G.value.rowHeight / 2 : G.value.rowHeight / 3) + F.value.style.chart.labels.yAxisLabels.fontSize / 3,
1125
+ "font-size": F.value.style.chart.labels.yAxisLabels.fontSize,
1126
+ fill: F.value.style.chart.labels.yAxisLabels.color,
1127
+ "font-weight": F.value.style.chart.labels.yAxisLabels.bold ? "bold" : "normal",
1128
+ "text-anchor": "end",
1129
+ onMouseenter: (n) => zn({
1130
+ datapoint: e,
1131
+ seriesIndex: t
1132
+ }),
1133
+ onMouseleave: (n) => Bn({
1134
+ datapoint: e,
1135
+ seriesIndex: t
1136
+ }),
1137
+ onClick: (n) => Vn({
1138
+ datapoint: e,
1139
+ seriesIndex: t
1140
+ })
1141
+ }, w(e.name) + " " + w(P.value && F.value.style.chart.labels.yAxisLabels.showProgression ? [null, void 0].includes(e.start) || [null, void 0].includes(e.end) ? "" : `(${T(c)(F.value.style.chart.labels.yAxisLabels.formatter, 100 * (e.end / e.start - 1), T(s)({
1142
+ v: 100 * (e.end / e.start - 1),
1143
+ s: "%",
1144
+ r: F.value.style.chart.labels.yAxisLabels.rounding
1145
+ }), { datapoint: e })})` : ""), 41, $e))), 128)), F.value.style.chart.labels.yAxisLabels.showProgression && !P.value ? (b(!0), m(u, { key: 0 }, S(q.value, (e, t) => (b(), m("text", {
1146
+ class: "vue-ui-dumbbell-serie-value",
1147
+ x: G.value.left - 6 + F.value.style.chart.labels.yAxisLabels.offsetX,
1148
+ y: G.value.top + t * G.value.rowHeight + G.value.rowHeight / 1.3 + F.value.style.chart.labels.yAxisLabels.fontSize / 3,
1149
+ "font-size": F.value.style.chart.labels.yAxisLabels.fontSize,
1150
+ fill: F.value.style.chart.labels.yAxisLabels.color,
1151
+ "text-anchor": "end",
1152
+ onMouseenter: (n) => zn({
1153
+ datapoint: e,
1154
+ seriesIndex: t
1155
+ }),
1156
+ onMouseleave: (n) => Bn({
1157
+ datapoint: e,
1158
+ seriesIndex: t
1159
+ }),
1160
+ onClick: (n) => Vn({
1161
+ datapoint: e,
1162
+ seriesIndex: t
1163
+ })
1164
+ }, w([null, void 0].includes(e.start) || [null, void 0].includes(e.end) ? "" : T(c)(F.value.style.chart.labels.yAxisLabels.formatter, 100 * (e.end / e.start - 1), T(s)({
1165
+ v: 100 * (e.end / e.start - 1),
1166
+ s: "%",
1167
+ r: F.value.style.chart.labels.yAxisLabels.rounding
1168
+ }), { datapoint: e })), 41, et))), 256)) : p("", !0)], 512)) : p("", !0),
1169
+ F.value.style.chart.labels.axis.xLabel ? (b(), m("text", {
1170
+ key: 5,
1171
+ ref_key: "xAxisLabel",
1172
+ ref: $t,
1173
+ x: G.value.left + G.value.width / 2,
1174
+ y: G.value.absoluteHeight - F.value.style.chart.labels.axis.fontSize / 3,
1175
+ "font-size": F.value.style.chart.labels.axis.fontSize,
1176
+ fill: F.value.style.chart.labels.axis.color,
1177
+ "text-anchor": "middle"
1178
+ }, w(F.value.style.chart.labels.axis.xLabel), 9, tt)) : p("", !0),
1179
+ F.value.style.chart.labels.xAxisLabels.show ? (b(), m("g", {
1180
+ key: 6,
1181
+ ref_key: "scaleLabels",
1182
+ ref: Qt
1183
+ }, [(b(!0), m(u, null, S(H.value.ticks, (e, t) => (b(), m("text", {
1184
+ class: "vue-ui-dumbbell-scale-label",
1185
+ key: `tick_${t}`,
1186
+ transform: `translate(${G.value.left + t * (G.value.width / (H.value.ticks.length - 1))}, ${G.value.bottom + F.value.style.chart.labels.xAxisLabels.fontSize + F.value.style.chart.labels.xAxisLabels.offsetY}), rotate(${F.value.style.chart.labels.xAxisLabels.rotation})`,
1187
+ "font-size": F.value.style.chart.labels.xAxisLabels.fontSize,
1188
+ fill: F.value.style.chart.labels.xAxisLabels.color,
1189
+ "font-weight": F.value.style.chart.labels.xAxisLabels.bold ? "bold" : "normal",
1190
+ "text-anchor": F.value.style.chart.labels.xAxisLabels.rotation > 0 ? "start" : F.value.style.chart.labels.xAxisLabels.rotation < 0 ? "end" : "middle"
1191
+ }, w(T(c)(F.value.style.chart.labels.formatter, e, T(s)({
1192
+ p: F.value.style.chart.labels.prefix,
1193
+ v: e,
1194
+ s: F.value.style.chart.labels.suffix,
1195
+ r: F.value.style.chart.labels.xAxisLabels.rounding
1196
+ }), {
1197
+ datapoint: e,
1198
+ seriesIndex: t
1199
+ })), 9, nt))), 128))], 512)) : p("", !0),
1200
+ ze(h("g", null, [
1201
+ ze(h("path", {
1202
+ d: `M ${M.value ? M.value.startX : G.value.left},${G.value.top} ${M.value ? M.value.startX : G.value.left},${G.value.bottom}`,
1203
+ stroke: M.value ? F.value.style.chart.plots.evaluationColors.enable ? M.value.evaluationColor : F.value.style.chart.plots.startColor : "transparent",
1204
+ "stroke-width": F.value.style.chart.comparisonLines.strokeWidth,
1205
+ "stroke-dasharray": F.value.style.chart.comparisonLines.strokeDasharray,
1206
+ style: { transition: "all 0.3s ease-in-out" }
1207
+ }, null, 8, rt), [[E, M.value !== null && ![null, void 0].includes(M.value.start)]]),
1208
+ ze(h("path", {
1209
+ d: `M ${M.value ? M.value.endX : G.value.left},${G.value.top} ${M.value ? M.value.endX : G.value.left},${G.value.bottom}`,
1210
+ stroke: M.value ? F.value.style.chart.plots.evaluationColors.enable ? M.value.evaluationColor : F.value.style.chart.plots.endColor : "transparent",
1211
+ "stroke-width": F.value.style.chart.comparisonLines.strokeWidth,
1212
+ "stroke-dasharray": F.value.style.chart.comparisonLines.strokeDasharray,
1213
+ style: { transition: "all 0.3s ease-in-out" }
1214
+ }, null, 8, it), [[E, M.value !== null && ![null, void 0].includes(M.value.end)]]),
1215
+ ze(h("rect", {
1216
+ x: M.value ? Math.min(M.value.startX, M.value.endX) : G.value.left,
1217
+ y: G.value.top,
1218
+ height: Math.max(.1, G.value.height),
1219
+ width: M.value ? Math.max(.1, Math.abs(M.value.endX - M.value.startX)) : 0,
1220
+ fill: M.value ? T(oe)(F.value.style.chart.comparisonLines.rectColor, F.value.style.chart.comparisonLines.rectOpacity) : "transparent",
1221
+ style: { transition: "all 0.3s ease-in-out" }
1222
+ }, null, 8, at), [[E, F.value.style.chart.comparisonLines.showRect && M.value !== null && ![null, void 0].includes(M.value.start) && ![null, void 0].includes(M.value.end)]]),
1223
+ ze(h("text", {
1224
+ transform: `translate(${Hn.value == null ? 0 : Hn.value}, ${G.value.top - 6})`,
1225
+ fill: F.value.style.chart.comparisonLines.labelColor,
1226
+ "font-size": F.value.style.chart.comparisonLines.labelFontSize,
1227
+ "text-anchor": "middle",
1228
+ style: { transition: "all 0.3s ease-in-out" }
1229
+ }, w(Un.value), 9, ot), [[E, M.value !== null && Hn.value !== null && F.value.style.chart.comparisonLines.showLabel]])
1230
+ ], 512), [[E, F.value.style.chart.comparisonLines.show && j.value !== null]]),
1231
+ h("defs", null, [
1232
+ g(l, {
1233
+ t: "radial",
1234
+ id: `start_grad_${k.value}`,
1235
+ fy: "30%",
1236
+ stops: [
1237
+ [
1238
+ "10%",
1239
+ T(n)(F.value.style.chart.plots.startColor, F.value.style.chart.plots.gradient.intensity / 100),
1240
+ 1
1241
+ ],
1242
+ [
1243
+ "90%",
1244
+ T(i)(F.value.style.chart.plots.startColor, .1),
1245
+ 1
1246
+ ],
1247
+ [
1248
+ "100%",
1249
+ F.value.style.chart.plots.startColor,
1250
+ 1
1251
+ ]
1252
+ ]
1253
+ }, null, 8, ["id", "stops"]),
1254
+ g(l, {
1255
+ t: "radial",
1256
+ id: `end_grad_${k.value}`,
1257
+ fy: "30%",
1258
+ stops: [
1259
+ [
1260
+ "10%",
1261
+ T(n)(F.value.style.chart.plots.endColor, F.value.style.chart.plots.gradient.intensity / 100),
1262
+ 1
1263
+ ],
1264
+ [
1265
+ "90%",
1266
+ T(i)(F.value.style.chart.plots.endColor, .1),
1267
+ 1
1268
+ ],
1269
+ [
1270
+ "100%",
1271
+ F.value.style.chart.plots.endColor,
1272
+ 1
1273
+ ]
1274
+ ]
1275
+ }, null, 8, ["id", "stops"]),
1276
+ g(l, {
1277
+ t: "radial",
1278
+ id: `positive_grad_${k.value}`,
1279
+ fy: "30%",
1280
+ stops: [
1281
+ [
1282
+ "10%",
1283
+ T(n)(F.value.style.chart.plots.evaluationColors.positive, F.value.style.chart.plots.gradient.intensity / 100),
1284
+ 1
1285
+ ],
1286
+ [
1287
+ "90%",
1288
+ T(i)(F.value.style.chart.plots.evaluationColors.positive, .1),
1289
+ 1
1290
+ ],
1291
+ [
1292
+ "100%",
1293
+ F.value.style.chart.plots.evaluationColors.positive,
1294
+ 1
1295
+ ]
1296
+ ]
1297
+ }, null, 8, ["id", "stops"]),
1298
+ g(l, {
1299
+ t: "radial",
1300
+ id: `negative_grad_${k.value}`,
1301
+ fy: "30%",
1302
+ stops: [
1303
+ [
1304
+ "10%",
1305
+ T(n)(F.value.style.chart.plots.evaluationColors.negative, F.value.style.chart.plots.gradient.intensity / 100),
1306
+ 1
1307
+ ],
1308
+ [
1309
+ "90%",
1310
+ T(i)(F.value.style.chart.plots.evaluationColors.negative, .1),
1311
+ 1
1312
+ ],
1313
+ [
1314
+ "100%",
1315
+ F.value.style.chart.plots.evaluationColors.negative,
1316
+ 1
1317
+ ]
1318
+ ]
1319
+ }, null, 8, ["id", "stops"]),
1320
+ g(l, {
1321
+ t: "radial",
1322
+ id: `neutral_grad_${k.value}`,
1323
+ fy: "30%",
1324
+ stops: [
1325
+ [
1326
+ "10%",
1327
+ T(n)(F.value.style.chart.plots.evaluationColors.neutral, F.value.style.chart.plots.gradient.intensity / 100),
1328
+ 1
1329
+ ],
1330
+ [
1331
+ "90%",
1332
+ T(i)(F.value.style.chart.plots.evaluationColors.neutral, .1),
1333
+ 1
1334
+ ],
1335
+ [
1336
+ "100%",
1337
+ F.value.style.chart.plots.evaluationColors.neutral,
1338
+ 1
1339
+ ]
1340
+ ]
1341
+ }, null, 8, ["id", "stops"])
1342
+ ]),
1343
+ (b(!0), m(u, null, S(q.value, (e, t) => (b(), m("g", { key: `plot_${t}_${e.id}` }, [
1344
+ h("defs", null, [g(l, {
1345
+ t: "linear",
1346
+ id: `grad_pos_${k.value}`,
1347
+ x1: "0%",
1348
+ x2: "100%",
1349
+ y1: "0%",
1350
+ y2: "0%",
1351
+ stops: [[
1352
+ "0%",
1353
+ F.value.style.chart.plots.startColor,
1354
+ 1
1355
+ ], [
1356
+ "100%",
1357
+ F.value.style.chart.plots.endColor,
1358
+ 1
1359
+ ]]
1360
+ }, null, 8, ["id", "stops"]), g(l, {
1361
+ t: "linear",
1362
+ id: `grad_neg_${k.value}`,
1363
+ x1: "0%",
1364
+ x2: "100%",
1365
+ y1: "0%",
1366
+ y2: "0%",
1367
+ stops: [[
1368
+ "0%",
1369
+ F.value.style.chart.plots.endColor,
1370
+ 1
1371
+ ], [
1372
+ "100%",
1373
+ F.value.style.chart.plots.startColor,
1374
+ 1
1375
+ ]]
1376
+ }, null, 8, ["id", "stops"])]),
1377
+ ![void 0, null].includes(e.end) && ![void 0, null].includes(e.start) ? (b(), m("g", st, [F.value.style.chart.plots.link.type === "curved" ? (b(), m("g", ct, [h("path", {
1378
+ d: `M
1379
+ ${e.startX},${e.y + K.value / 2}
1380
+ C ${e.centerX},${e.y} ${e.centerX},${e.y}
1381
+ ${e.endX},${e.y + K.value / 2}
1382
+ L ${e.endX},${e.y - K.value / 2}
1383
+ C ${e.centerX},${e.y} ${e.centerX},${e.y}
1384
+ ${e.startX},${e.y - K.value / 2}
1385
+ Z
1386
+ `,
1387
+ fill: F.value.style.chart.plots.evaluationColors.enable ? e.evaluationColor : e.endX > e.startX ? `url(#grad_pos_${k.value})` : `url(#grad_neg_${k.value})`
1388
+ }, null, 8, lt)])) : (b(), m("g", ut, [h("rect", {
1389
+ x: e.endX > e.startX ? e.startX : e.endX,
1390
+ y: e.y - F.value.style.chart.plots.link.strokeWidth / 2,
1391
+ height: Math.max(.01, F.value.style.chart.plots.link.strokeWidth),
1392
+ width: Math.max(.01, Math.abs(e.endX - e.startX)),
1393
+ fill: F.value.style.chart.plots.evaluationColors.enable ? e.evaluationColor : e.endX > e.startX ? `url(#grad_pos_${k.value})` : `url(#grad_neg_${k.value})`
1394
+ }, null, 8, dt)]))])) : p("", !0),
1395
+ [null, void 0].includes(e.start) ? p("", !0) : (b(), m("circle", {
1396
+ key: 1,
1397
+ cx: e.startX,
1398
+ cy: e.y,
1399
+ r: K.value,
1400
+ fill: F.value.style.chart.plots.gradient.show ? F.value.style.chart.plots.evaluationColors.enable ? e.evaluationGrad : `url(#start_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.enable ? e.evaluationColor : F.value.style.chart.plots.startColor,
1401
+ stroke: F.value.style.chart.plots.stroke,
1402
+ "stroke-width": F.value.style.chart.plots.strokeWidth
1403
+ }, null, 8, ft)),
1404
+ [null, void 0].includes(e.end) ? p("", !0) : (b(), m("circle", {
1405
+ key: 2,
1406
+ cx: e.endX,
1407
+ cy: e.y,
1408
+ r: K.value,
1409
+ fill: F.value.style.chart.plots.gradient.show ? F.value.style.chart.plots.evaluationColors.enable ? e.evaluationGrad : `url(#end_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.enable ? e.evaluationColor : F.value.style.chart.plots.endColor,
1410
+ stroke: F.value.style.chart.plots.stroke,
1411
+ "stroke-width": F.value.style.chart.plots.strokeWidth
1412
+ }, null, 8, pt))
1413
+ ]))), 128)),
1414
+ F.value.style.chart.labels.startLabels.show ? (b(), m("g", mt, [(b(!0), m(u, null, S(q.value, (e, t) => (b(), m("g", { key: `start_label_${t}_${e.id}` }, [[null, void 0].includes(e.start) ? p("", !0) : (b(), m("text", {
1415
+ key: 0,
1416
+ x: e.startX,
1417
+ y: e.y + K.value * 2 + F.value.style.chart.labels.startLabels.fontSize / 2,
1418
+ fill: F.value.style.chart.plots.evaluationColors.enable && F.value.style.chart.labels.startLabels.useEvaluationColor ? e.evaluationColor : F.value.style.chart.labels.startLabels.useStartColor ? F.value.style.chart.plots.startColor : F.value.style.chart.labels.startLabels.color,
1419
+ "font-size": F.value.style.chart.labels.startLabels.fontSize,
1420
+ "text-anchor": "middle"
1421
+ }, w(T(c)(F.value.style.chart.labels.formatter, e.start, T(s)({
1422
+ p: F.value.style.chart.labels.prefix,
1423
+ v: e.start,
1424
+ s: F.value.style.chart.labels.suffix,
1425
+ r: F.value.style.chart.labels.startLabels.rounding
1426
+ }), {
1427
+ datapoint: e,
1428
+ seriesIndex: t
1429
+ })), 9, ht))]))), 128))])) : p("", !0),
1430
+ F.value.style.chart.labels.endLabels.show ? (b(), m("g", gt, [(b(!0), m(u, null, S(q.value, (e, t) => (b(), m("g", { key: `end_label_${t}_${e.id}` }, [[null, void 0].includes(e.end) ? p("", !0) : (b(), m("text", {
1431
+ key: 0,
1432
+ x: e.endX,
1433
+ y: e.y - (K.value * 2 - F.value.style.chart.labels.startLabels.fontSize / 3),
1434
+ fill: F.value.style.chart.plots.evaluationColors.enable && F.value.style.chart.labels.endLabels.useEvaluationColor ? e.evaluationColor : F.value.style.chart.labels.endLabels.useEndColor ? F.value.style.chart.plots.endColor : F.value.style.chart.labels.endLabels.color,
1435
+ "font-size": F.value.style.chart.labels.endLabels.fontSize,
1436
+ "text-anchor": "middle"
1437
+ }, w(T(c)(F.value.style.chart.labels.formatter, e.end, T(s)({
1438
+ p: F.value.style.chart.labels.prefix,
1439
+ v: e.end,
1440
+ s: F.value.style.chart.labels.suffix,
1441
+ r: F.value.style.chart.labels.endLabels.rounding
1442
+ }), {
1443
+ datapoint: e,
1444
+ seriesIndex: t
1445
+ })), 9, _t))]))), 128))])) : p("", !0),
1446
+ h("g", null, [(b(!0), m(u, null, S(q.value, (e, t) => (b(), m("rect", {
1447
+ x: G.value.left,
1448
+ y: G.value.top + t * Math.max(.1, G.value.rowHeight),
1449
+ width: Math.max(.1, G.value.width),
1450
+ height: Math.max(.1, G.value.rowHeight),
1451
+ fill: j.value === null ? "transparent" : j.value === t ? T(oe)(F.value.style.chart.highlighter.color, F.value.style.chart.highlighter.opacity) : "transparent",
1452
+ onMouseenter: (n) => zn({
1453
+ datapoint: e,
1454
+ seriesIndex: t
1455
+ }),
1456
+ onMouseleave: (n) => Bn({
1457
+ datapoint: e,
1458
+ seriesIndex: t
1459
+ }),
1460
+ onClick: (n) => Vn({
1461
+ datapoint: e,
1462
+ seriesIndex: t
1463
+ })
1464
+ }, null, 40, vt))), 256))]),
1465
+ C(e.$slots, "svg", { svg: {
1466
+ ...G.value,
1467
+ isPrintingImg: T(fn) || T(pn) || Jt.value,
1468
+ isPrintingSvg: Yt.value
1469
+ } }, void 0, !0)
1470
+ ], 46, Ge)), e.$slots.hint ? (b(), m("div", yt, [C(e.$slots, "hint", y(v({
1471
+ hint: F.value.a11y.translations.keyboardNavigation,
1472
+ isVisible: en.value
1473
+ })), void 0, !0)])) : p("", !0)]),
1474
+ e.$slots.watermark ? (b(), m("div", bt, [C(e.$slots, "watermark", y(v({ isPrinting: T(fn) || T(pn) || Jt.value || Yt.value })), void 0, !0)])) : p("", !0),
1475
+ h("div", { id: `legend-bottom-${k.value}` }, null, 8, xt),
1476
+ Gt.value && (F.value.style.chart.legend.show || e.$slots.legend) ? (b(), f(Te, {
1477
+ key: 6,
1478
+ to: F.value.style.chart.legend.position === "top" ? `#legend-top-${k.value}` : `#legend-bottom-${k.value}`
1479
+ }, [h("div", {
1480
+ ref_key: "chartLegend",
1481
+ ref: zt
1482
+ }, [C(e.$slots, "legend", { legend: Dn.value }, () => [F.value.style.chart.legend.show && It.value ? (b(), f(Ce, {
1483
+ key: `legend_${Wt.value}`,
1484
+ legendSet: Dn.value,
1485
+ config: On.value,
1486
+ clickable: !1
1487
+ }, {
1488
+ item: D(({ legend: e }) => [h("div", { style: je(`display:flex;align-items:center;gap:4px;font-size:${F.value.style.chart.legend.fontSize}px`) }, [(b(), m("svg", {
1489
+ xmlns: T(ie),
1490
+ viewBox: "0 0 20 20",
1491
+ height: F.value.style.chart.legend.fontSize,
1492
+ width: F.value.style.chart.legend.fontSize
1493
+ }, [h("circle", {
1494
+ cx: 10,
1495
+ cy: 10,
1496
+ r: 9,
1497
+ fill: e.color
1498
+ }, null, 8, Ct)], 8, St)), T(nn) ? p("", !0) : (b(), m(u, { key: 0 }, [De(w(e.name), 1)], 64))], 4)]),
1499
+ _: 1
1500
+ }, 8, ["legendSet", "config"])) : p("", !0)], !0)], 512)], 8, ["to"])) : p("", !0),
1501
+ e.$slots.source ? (b(), m("div", {
1502
+ key: 7,
1503
+ ref_key: "source",
1504
+ ref: Bt,
1505
+ dir: "auto"
1506
+ }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : p("", !0),
1507
+ It.value && F.value.userOptions.buttons.table ? (b(), f(Pe(Wn.value.component), Oe({ key: 8 }, Wn.value.props, {
1508
+ ref_key: "tableUnit",
1509
+ ref: Kt,
1510
+ onClose: Gn
1511
+ }), Ee({
1512
+ content: D(() => [(b(), f(T(Dt), {
1513
+ key: `table_${Ut.value}`,
1514
+ colNames: X.value.colNames,
1515
+ head: X.value.head,
1516
+ body: X.value.body,
1517
+ config: X.value.config,
1518
+ title: F.value.table.useDialog ? "" : Wn.value.title,
1519
+ withCloseButton: !F.value.table.useDialog,
1520
+ isCursorPointer: I.value,
1521
+ onClose: Gn
1522
+ }, {
1523
+ th: D(({ th: e }) => [h("div", {
1524
+ innerHTML: e,
1525
+ style: {
1526
+ display: "flex",
1527
+ "align-items": "center"
1528
+ }
1529
+ }, null, 8, wt)]),
1530
+ td: D(({ td: e }) => [De(w(e.name || e), 1)]),
1531
+ _: 1
1532
+ }, 8, [
1533
+ "colNames",
1534
+ "head",
1535
+ "body",
1536
+ "config",
1537
+ "title",
1538
+ "withCloseButton",
1539
+ "isCursorPointer"
1540
+ ]))]),
1541
+ _: 2
1542
+ }, [F.value.table.useDialog ? {
1543
+ name: "title",
1544
+ fn: D(() => [De(w(Wn.value.title), 1)]),
1545
+ key: "0"
1546
+ } : void 0, F.value.table.useDialog ? {
1547
+ name: "actions",
1548
+ fn: D(() => [h("button", {
1549
+ tabindex: "0",
1550
+ class: "vue-ui-user-options-button",
1551
+ onClick: t[0] ||= (e) => kn(F.value.userOptions.callbacks.csv),
1552
+ style: je({ cursor: I.value ? "pointer" : "default" })
1553
+ }, [g(T(Tt), {
1554
+ name: "fileCsv",
1555
+ stroke: Wn.value.props.color
1556
+ }, null, 8, ["stroke"])], 4)]),
1557
+ key: "1"
1558
+ } : void 0]), 1040)) : p("", !0),
1559
+ C(e.$slots, "skeleton", {}, () => [T(nn) ? (b(), f(ue, { key: 0 })) : p("", !0)], !0)
1560
+ ], 46, Ve));
1561
+ }
1562
+ }, [["__scopeId", "data-v-b7471d7e"]]);
1563
+ //#endregion
1564
+ export { Be as n, Tt as t };