vue-data-ui 3.22.13 → 3.23.0

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