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
@@ -1,1564 +0,0 @@
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-CFm_J26b.js";
3
- import { t as se } from "./useConfig-C0V0eG7L.js";
4
- import { t as ce } from "./usePrinter-BH-xle1O.js";
5
- import { n as le, t as ue } from "./BaseScanner-DZvpgOjM.js";
6
- import { t as de } from "./useSvgExport-Ba9qBr9M.js";
7
- import { t as fe } from "./useNestedProp-BY6DNN3i.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-Bikk1dGb.js";
11
- import { n as ge } from "./Title-BuPs74IB.js";
12
- import { t as _e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
- import { l as ve, t as ye } from "./useResponsive-ZtArZtUf.js";
14
- import { t as l } from "./DefGrad-DVBqDjhO.js";
15
- import { t as be } from "./A11yDataTable-DdRsVULz.js";
16
- import { t as xe } from "./useUserOptionState-DK-_1ddE.js";
17
- import { t as Se } from "./useChartAccessibility-DYqac8yF.js";
18
- import { t as Ce } from "./Legend-C0xAnJdO.js";
19
- import { t as we } from "./vue_ui_dumbbell-Bfe_jFyi.js";
20
- 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";
21
- //#region src/components/vue-ui-dumbbell.vue
22
- var Be = /* @__PURE__ */ e({ default: () => Tt }), Ve = ["id"], He = ["id"], Ue = ["id"], We = { style: { position: "relative" } }, Ge = [
23
- "xmlns",
24
- "viewBox",
25
- "aria-describedby"
26
- ], Ke = [
27
- "x",
28
- "y",
29
- "width",
30
- "height"
31
- ], qe = { key: 1 }, Je = [
32
- "x1",
33
- "x2",
34
- "y1",
35
- "y2",
36
- "stroke",
37
- "stroke-width",
38
- "stroke-dasharray"
39
- ], Ye = { key: 2 }, Xe = [
40
- "x1",
41
- "x2",
42
- "y1",
43
- "y2",
44
- "stroke",
45
- "stroke-width",
46
- "stroke-dasharray"
47
- ], Ze = [
48
- "x1",
49
- "x2",
50
- "y1",
51
- "y2",
52
- "stroke",
53
- "stroke-width",
54
- "stroke-dasharray"
55
- ], Qe = [
56
- "transform",
57
- "font-size",
58
- "fill"
59
- ], $e = [
60
- "x",
61
- "y",
62
- "font-size",
63
- "fill",
64
- "font-weight",
65
- "onMouseenter",
66
- "onMouseleave",
67
- "onClick"
68
- ], et = [
69
- "x",
70
- "y",
71
- "font-size",
72
- "fill",
73
- "onMouseenter",
74
- "onMouseleave",
75
- "onClick"
76
- ], tt = [
77
- "x",
78
- "y",
79
- "font-size",
80
- "fill"
81
- ], nt = [
82
- "transform",
83
- "font-size",
84
- "fill",
85
- "font-weight",
86
- "text-anchor"
87
- ], rt = [
88
- "d",
89
- "stroke",
90
- "stroke-width",
91
- "stroke-dasharray"
92
- ], it = [
93
- "d",
94
- "stroke",
95
- "stroke-width",
96
- "stroke-dasharray"
97
- ], at = [
98
- "x",
99
- "y",
100
- "height",
101
- "width",
102
- "fill"
103
- ], ot = [
104
- "transform",
105
- "fill",
106
- "font-size"
107
- ], st = { key: 0 }, ct = { key: 0 }, lt = ["d", "fill"], ut = { key: 1 }, dt = [
108
- "x",
109
- "y",
110
- "height",
111
- "width",
112
- "fill"
113
- ], ft = [
114
- "cx",
115
- "cy",
116
- "r",
117
- "fill",
118
- "stroke",
119
- "stroke-width"
120
- ], pt = [
121
- "cx",
122
- "cy",
123
- "r",
124
- "fill",
125
- "stroke",
126
- "stroke-width"
127
- ], mt = { key: 7 }, ht = [
128
- "x",
129
- "y",
130
- "fill",
131
- "font-size"
132
- ], gt = { key: 8 }, _t = [
133
- "x",
134
- "y",
135
- "fill",
136
- "font-size"
137
- ], vt = [
138
- "x",
139
- "y",
140
- "width",
141
- "height",
142
- "fill",
143
- "onMouseenter",
144
- "onMouseleave",
145
- "onClick"
146
- ], yt = {
147
- key: 0,
148
- style: {
149
- position: "absolute",
150
- top: "100%",
151
- left: "0",
152
- width: "100%"
153
- },
154
- "data-dom-to-png-ignore": "",
155
- "aria-hidden": "true"
156
- }, bt = {
157
- key: 5,
158
- class: "vue-data-ui-watermark"
159
- }, xt = ["id"], St = [
160
- "xmlns",
161
- "height",
162
- "width"
163
- ], Ct = ["fill"], wt = ["innerHTML"], Tt = /*#__PURE__*/ _e({
164
- __name: "vue-ui-dumbbell",
165
- props: {
166
- config: {
167
- type: Object,
168
- default() {
169
- return {};
170
- }
171
- },
172
- dataset: {
173
- type: Array,
174
- default() {
175
- return [];
176
- }
177
- }
178
- },
179
- emits: ["selectDatapoint", "copyAlt"],
180
- setup(e, { expose: _e, emit: Be }) {
181
- let Tt = _(() => import("./BaseIcon-CP5RWnqt.js").then((e) => e.n)), Et = _(() => import("./vue-ui-accordion-UA88lv4d.js").then((e) => e.n)), Dt = _(() => import("./DataTable-DzPEVvSo.js")), Ot = _(() => import("./PenAndPaper-CSMVXpg2.js").then((e) => e.t)), kt = _(() => import("./UserOptions-DzAFK9cY.js").then((e) => e.n)), At = _(() => import("./PackageVersion-B6Hokxw9.js").then((e) => e.t)), jt = _(() => import("./BaseDraggableDialog-3n8udWmh.js").then((e) => e.n)), { vue_ui_dumbbell: Mt } = se(), { isThemeValid: Nt, warnInvalidTheme: Pt } = pe(), O = e, Ft = Be, It = d({
182
- get() {
183
- return !!O.dataset && O.dataset.length;
184
- },
185
- set(e) {
186
- return e;
187
- }
188
- }), 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({
189
- defaultConfig: {
190
- userOptions: { show: !1 },
191
- table: { show: !1 },
192
- useAnimation: !1,
193
- style: { chart: {
194
- backgroundColor: "#99999930",
195
- padding: {
196
- top: 12,
197
- right: 12,
198
- bottom: 12,
199
- left: 12
200
- },
201
- grid: {
202
- horizontalGrid: { stroke: "#6A6A6A" },
203
- verticalGrid: { stroke: "#6A6A6A" }
204
- },
205
- labels: {
206
- axis: {
207
- yLabel: "",
208
- xLabel: ""
209
- },
210
- xAxisLabels: { show: !1 },
211
- yAxisLabels: { show: !1 },
212
- endLabels: { show: !1 },
213
- startLabels: { show: !1 }
214
- },
215
- legend: { backgroundColor: "transparent" },
216
- plots: {
217
- endColor: "#969696",
218
- startColor: "#DBDBDB",
219
- stroke: "#6A6A6A",
220
- evaluationColors: { enable: !1 }
221
- }
222
- } }
223
- },
224
- userConfig: F.value.skeletonConfig ?? {}
225
- })), { loading: nn, FINAL_DATASET: rn, manualLoading: an } = le({
226
- ...Ie(O),
227
- FINAL_CONFIG: F,
228
- prepareConfig: ln,
229
- skeletonDataset: O.config?.skeletonDataset ?? [
230
- {
231
- name: "_",
232
- start: 21,
233
- end: 34
234
- },
235
- {
236
- name: "_",
237
- start: 13,
238
- end: 21
239
- },
240
- {
241
- name: "_",
242
- start: 8,
243
- end: 13
244
- },
245
- {
246
- name: "_",
247
- start: 5,
248
- end: 8
249
- },
250
- {
251
- name: "_",
252
- start: 3,
253
- end: 5
254
- }
255
- ],
256
- skeletonConfig: re({
257
- defaultConfig: F.value,
258
- userConfig: tn.value
259
- })
260
- }), { userOptionsVisible: on, setUserOptionsVisibility: sn, keepUserOptionState: cn } = xe({ config: F.value }), { svgRef: L } = Se({ config: F.value.style.chart.title });
261
- function ln() {
262
- let e = fe({
263
- userConfig: O.config,
264
- defaultConfig: Mt
265
- }), t = e.theme;
266
- if (!t) return e;
267
- if (!Nt.value(e)) return Pt(e), e;
268
- let n = fe({
269
- userConfig: we[t] || O.config,
270
- defaultConfig: e
271
- });
272
- return fe({
273
- userConfig: O.config,
274
- defaultConfig: n
275
- });
276
- }
277
- Le(() => O.config, (e) => {
278
- 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;
279
- }, { deep: !0 }), Le(() => rn.value, (e) => {
280
- Array.isArray(e) && e.length > 0 && (an.value = !1), Tn(), En();
281
- }, { deep: !0 });
282
- let R = Fe(null), z = Fe(null);
283
- Ne(() => {
284
- Gt.value = !0, dn();
285
- });
286
- let un = d(() => !!F.value.debug);
287
- function dn() {
288
- if (t(O.dataset) ? ee({
289
- componentName: "VueUiDumbbell",
290
- type: "dataset",
291
- debug: un.value
292
- }) : O.dataset.forEach((e, t) => {
293
- te({
294
- datasetObject: e,
295
- requiredAttributes: [
296
- "name",
297
- "start",
298
- "end"
299
- ]
300
- }).forEach((e) => {
301
- It.value = !1, ee({
302
- componentName: "VueUiDumbbell",
303
- type: "datasetSerieAttribute",
304
- property: e,
305
- index: t,
306
- debug: un.value
307
- });
308
- });
309
- }), F.value.responsive) {
310
- let e = ve(() => {
311
- let { width: e, height: t } = ye({
312
- chart: A.value,
313
- title: F.value.style.chart.title.text ? Rt.value : null,
314
- legend: F.value.style.chart.legend.show ? zt.value : null,
315
- source: Bt.value,
316
- noTitle: Vt.value
317
- }), n = F.value.style.chart.title.text ? 24 : 0, r = F.value.style.chart.legend.show ? 24 : 0;
318
- requestAnimationFrame(async () => {
319
- W.value = Math.max(.1, e), U.value = Math.max(.1, (Math.max(.1, t) - (n + r)) / rn.value.length), Rn();
320
- });
321
- });
322
- 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);
323
- }
324
- Rn();
325
- }
326
- Me(() => {
327
- J.value != null && (cancelAnimationFrame(J.value), J.value = null), R.value && (z.value && R.value.unobserve(z.value), R.value.disconnect());
328
- });
329
- let { isPrinting: fn, isImaging: pn, generatePdf: mn, generateImage: hn } = ce({
330
- elementId: `dumbbell_${k.value}`,
331
- fileName: F.value.style.chart.title.text || "vue-ui-dumbbell",
332
- options: F.value.userOptions.print
333
- }), gn = d(() => F.value.userOptions.show && !F.value.style.chart.title.text), B = x({ showTable: F.value.table.show });
334
- Le(F, () => {
335
- B.value = { showTable: F.value.table.show };
336
- }, { immediate: !0 });
337
- let V = d(() => rn.value.map((e, t) => ({
338
- ...e,
339
- start: ae(e.start),
340
- end: ae(e.end),
341
- id: e.id ?? `${String(e.name)}__${String(e.start)}__${String(e.end)}__${a()}`
342
- }))), _n = d(() => {
343
- 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;
344
- return {
345
- min: e.scaleMin ?? Math.min(n, 0),
346
- max: e.scaleMax ?? r
347
- };
348
- }), 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);
349
- function vn() {
350
- let e = 0;
351
- Zt.value && (e = Array.from(Zt.value.querySelectorAll("text")).reduce((e, t) => {
352
- let n = t.getComputedTextLength();
353
- return n > e ? n : e;
354
- }, 0));
355
- let t = Xt.value ? Xt.value.getBoundingClientRect().width : 0;
356
- return e + t + (t ? 24 + F.value.style.chart.labels.axis.yLabelOffsetX : 0);
357
- }
358
- let yn = x(0), bn = ve((e) => {
359
- yn.value = e;
360
- }, 100);
361
- Re((e) => {
362
- let t = Qt.value;
363
- if (!t) return;
364
- let n = new ResizeObserver((e) => {
365
- bn(e[0].contentRect.height);
366
- });
367
- n.observe(t), e(() => n.disconnect());
368
- }), Me(() => {
369
- yn.value = 0;
370
- });
371
- let xn = d(() => {
372
- P.value;
373
- let e = 0;
374
- $t.value && (e = $t.value.getBBox().height);
375
- let t = 0;
376
- return Qt.value && (t = yn.value), e + t;
377
- }), Sn = d(() => V.value.length);
378
- function Cn(e, t, n) {
379
- let r = Number(e), i = Number(t.min), a = Number(t.max), o = Number(n.width);
380
- if (!Number.isFinite(r) || !Number.isFinite(i) || !Number.isFinite(a) || !Number.isFinite(o)) return n.left;
381
- let s = a - i;
382
- return s <= 0 ? n.left : n.left + (r - i) / s * o;
383
- }
384
- let G = d(() => {
385
- P.value;
386
- 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);
387
- return {
388
- left: F.value.style.chart.padding.left + e,
389
- right: W.value - F.value.style.chart.padding.right,
390
- top: F.value.style.chart.padding.top,
391
- bottom: a - F.value.style.chart.padding.bottom - xn.value - n,
392
- width: o,
393
- height: r,
394
- rowHeight: i,
395
- absoluteHeight: a,
396
- widthPlotReference: s
397
- };
398
- }), K = d(() => Math.min(U.value / 2 * .7, F.value.style.chart.plots.radius)), wn = x([]), q = d({
399
- get() {
400
- let e = G.value, t = H.value;
401
- return wn.value.map((n, r) => {
402
- 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;
403
- return {
404
- ...n,
405
- isPositive: s,
406
- isNegative: ee,
407
- isNeutral: te,
408
- evaluationColor: ne,
409
- evaluationGrad: `url(#${s ? "positive" : ee ? "negative" : "neutral"}_grad_${k.value})`,
410
- startX: i,
411
- endX: a,
412
- centerX: o,
413
- y: e.top + r * e.rowHeight + e.rowHeight / 2
414
- };
415
- });
416
- },
417
- set(e) {
418
- wn.value = e;
419
- }
420
- });
421
- function Tn() {
422
- wn.value = V.value.map((e) => {
423
- let t = Number(e.start);
424
- return {
425
- ...e,
426
- endVal: Number.isFinite(t) ? t : 0
427
- };
428
- });
429
- }
430
- let J = x(null);
431
- Ne(() => {
432
- En();
433
- });
434
- function En() {
435
- if (J.value != null && (cancelAnimationFrame(J.value), J.value = null), Tn(), !F.value.useAnimation) {
436
- q.value = wn.value.map((e) => {
437
- let t = Number(e.end);
438
- return {
439
- ...e,
440
- endVal: Number.isFinite(t) ? t : e.endVal
441
- };
442
- });
443
- return;
444
- }
445
- let e = Math.max(1, Math.min(100, F.value.animationSpeed || 100)) / 100, t = V.value.map((e) => {
446
- let t = Number(e.start), n = Number(e.end), r = Number.isFinite(t) ? t : 0;
447
- return (Number.isFinite(n) ? n : r) - r;
448
- }), n = () => {
449
- let r = !0;
450
- q.value = wn.value.map((n, i) => {
451
- 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);
452
- return s !== a && (r = !1), {
453
- ...n,
454
- endVal: s
455
- };
456
- }), r ? J.value = null : J.value = requestAnimationFrame(n);
457
- };
458
- J.value = requestAnimationFrame(n);
459
- }
460
- let Dn = d(() => F.value.style.chart.plots.evaluationColors.enable ? [
461
- {
462
- name: F.value.style.chart.legend.labelNegative,
463
- color: F.value.style.chart.plots.gradient.show ? `url(#negative_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.negative
464
- },
465
- {
466
- name: F.value.style.chart.legend.labelNeutral,
467
- color: F.value.style.chart.plots.gradient.show ? `url(#neutral_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.neutral
468
- },
469
- {
470
- name: F.value.style.chart.legend.labelPositive,
471
- color: F.value.style.chart.plots.gradient.show ? `url(#positive_grad_${k.value})` : F.value.style.chart.plots.evaluationColors.positive
472
- }
473
- ] : [{
474
- name: F.value.style.chart.legend.labelStart,
475
- color: F.value.style.chart.plots.gradient.show ? `url(#start_grad_${k.value})` : F.value.style.chart.plots.startColor
476
- }, {
477
- name: F.value.style.chart.legend.labelEnd,
478
- color: F.value.style.chart.plots.gradient.show ? `url(#end_grad_${k.value})` : F.value.style.chart.plots.endColor
479
- }]), On = d(() => ({
480
- cy: "donut-div-legend",
481
- backgroundColor: F.value.style.chart.legend.backgroundColor,
482
- color: F.value.style.chart.legend.color,
483
- fontSize: F.value.style.chart.legend.fontSize,
484
- paddingBottom: 12,
485
- paddingTop: 12,
486
- fontWeight: F.value.style.chart.legend.bold ? "bold" : ""
487
- })), Y = d(() => ({
488
- head: q.value.map((e) => ({ name: e.name })),
489
- body: q.value.map((e) => ({
490
- start: e.start,
491
- end: e.end
492
- }))
493
- })), X = d(() => {
494
- let e = [
495
- F.value.table.columnNames.series,
496
- F.value.table.columnNames.start,
497
- F.value.table.columnNames.end,
498
- F.value.table.columnNames.progression
499
- ], t = Y.value.head.map((e, t) => {
500
- let n = s({
501
- p: F.value.style.chart.labels.prefix,
502
- v: Y.value.body[t].start,
503
- s: F.value.style.chart.labels.suffix,
504
- r: F.value.table.td.roundingValue
505
- }), r = s({
506
- p: F.value.style.chart.labels.prefix,
507
- v: Y.value.body[t].end,
508
- s: F.value.style.chart.labels.suffix,
509
- r: F.value.table.td.roundingValue
510
- }), i = s({
511
- v: 100 * (Y.value.body[t].end / Y.value.body[t].start - 1),
512
- s: "%",
513
- r: F.value.table.td.roundingPercentage
514
- });
515
- return [
516
- { name: e.name },
517
- n,
518
- r,
519
- i
520
- ];
521
- }), n = {
522
- th: {
523
- backgroundColor: F.value.table.th.backgroundColor,
524
- color: F.value.table.th.color,
525
- outline: F.value.table.th.outline
526
- },
527
- td: {
528
- backgroundColor: F.value.table.td.backgroundColor,
529
- color: F.value.table.td.color,
530
- outline: F.value.table.td.outline
531
- },
532
- breakpoint: F.value.table.responsiveBreakpoint
533
- };
534
- return {
535
- colNames: [
536
- F.value.table.columnNames.series,
537
- F.value.table.columnNames.start,
538
- F.value.table.columnNames.end,
539
- F.value.table.columnNames.progression
540
- ],
541
- head: e,
542
- body: t,
543
- config: n
544
- };
545
- });
546
- function kn(e = null) {
547
- ke(() => {
548
- let t = Y.value.head.map((e, t) => [
549
- [e.name],
550
- [Y.value.body[t].start],
551
- [Y.value.body[t].end]
552
- ]), n = r([
553
- [F.value.style.chart.title.text],
554
- [F.value.style.chart.title.subtitle.text],
555
- [
556
- [F.value.table.columnNames.series],
557
- [F.value.table.columnNames.start],
558
- [F.value.table.columnNames.end]
559
- ]
560
- ].concat(t));
561
- e ? e(n) : o({
562
- csvContent: n,
563
- title: F.value.style.chart.title.text || "vue-ui-dumbbell"
564
- });
565
- });
566
- }
567
- let Z = x(!1);
568
- function An(e) {
569
- Z.value = e, Lt.value += 1;
570
- }
571
- function jn() {
572
- return V.value;
573
- }
574
- function Mn() {
575
- B.value.showTable = !B.value.showTable;
576
- }
577
- let Q = x(!1);
578
- function Nn() {
579
- Q.value = !Q.value;
580
- }
581
- async function Pn({ scale: e = 2 } = {}) {
582
- if (!A.value) return;
583
- let { width: t, height: n } = A.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await he({
584
- domElement: A.value,
585
- base64: !0,
586
- img: !0,
587
- scale: e
588
- });
589
- return {
590
- imageUri: i,
591
- base64: a,
592
- title: F.value.style.chart.title.text,
593
- width: t,
594
- height: n,
595
- aspectRatio: r
596
- };
597
- }
598
- let Fn = d(() => H.value.ticks);
599
- me({
600
- timeLabelsEls: Qt,
601
- timeLabels: Fn,
602
- slicer: d(() => ({
603
- start: 0,
604
- end: Fn.value.length
605
- })),
606
- configRef: F,
607
- rotationPath: [
608
- "style",
609
- "chart",
610
- "labels",
611
- "xAxisLabels",
612
- "rotation"
613
- ],
614
- autoRotatePath: [
615
- "style",
616
- "chart",
617
- "labels",
618
- "xAxisLabels",
619
- "autoRotate",
620
- "enable"
621
- ],
622
- isAutoSize: !1,
623
- width: W,
624
- height: U,
625
- targetClass: ".vue-ui-dumbbell-scale-label",
626
- rotation: F.value.style.chart.labels.xAxisLabels.autoRotate.angle
627
- });
628
- function In({ rowHeight: e, fontSize: t, showProgression: n }) {
629
- if (!n) return !1;
630
- let r = e / 3, i = e / 1.3;
631
- return Math.abs(i - r) < t * 1.2;
632
- }
633
- let Ln = (() => {
634
- let e = null, t = 0;
635
- return (n) => {
636
- if (n === P.value) {
637
- e = null, t = 0;
638
- return;
639
- }
640
- e === null || e !== n ? (e = n, t = 1) : (t += 1, t >= 1 && (P.value = n, e = null, t = 0));
641
- };
642
- })(), Rn = ve(() => {
643
- requestAnimationFrame(() => {
644
- requestAnimationFrame(() => {
645
- let e = In({
646
- rowHeight: G.value.rowHeight,
647
- fontSize: F.value.style.chart.labels.yAxisLabels.fontSize,
648
- showProgression: F.value.style.chart.labels.yAxisLabels.showProgression
649
- });
650
- Ln(e);
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 };