vue-data-ui 3.4.9 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +114 -37
  2. package/dist/{ColorPicker-J5wOPCeB.js → ColorPicker-ChuwChMo.js} +58 -56
  3. package/dist/{NonSvgPenAndPaper-C7TRn0_3.js → NonSvgPenAndPaper-DVgKKLIf.js} +1 -1
  4. package/dist/{PackageVersion-CTUqGqWV.js → PackageVersion-DQvyATVa.js} +1 -1
  5. package/dist/PenAndPaper-SZQIAgkg.js +388 -0
  6. package/dist/{Title-l36lOBMx.js → Title-isbiM8i8.js} +1 -1
  7. package/dist/components/vue-ui-3d-bar.js +1 -1
  8. package/dist/components/vue-ui-accordion.js +1 -1
  9. package/dist/components/vue-ui-age-pyramid.js +1 -1
  10. package/dist/components/vue-ui-annotator.js +1 -1
  11. package/dist/components/vue-ui-bullet.js +1 -1
  12. package/dist/components/vue-ui-candlestick.js +1 -1
  13. package/dist/components/vue-ui-carousel-table.js +1 -1
  14. package/dist/components/vue-ui-chestnut.js +1 -1
  15. package/dist/components/vue-ui-chord.js +1 -1
  16. package/dist/components/vue-ui-circle-pack.js +1 -1
  17. package/dist/components/vue-ui-cursor.js +1 -1
  18. package/dist/components/vue-ui-dashboard.js +1 -1
  19. package/dist/components/vue-ui-digits.js +1 -1
  20. package/dist/components/vue-ui-donut-evolution.js +1 -1
  21. package/dist/components/vue-ui-donut.js +1 -1
  22. package/dist/components/vue-ui-dumbbell.js +1 -1
  23. package/dist/components/vue-ui-flow.js +1 -1
  24. package/dist/components/vue-ui-funnel.js +1 -1
  25. package/dist/components/vue-ui-galaxy.js +1 -1
  26. package/dist/components/vue-ui-gauge.js +1 -1
  27. package/dist/components/vue-ui-gizmo.js +1 -1
  28. package/dist/components/vue-ui-heatmap.js +1 -1
  29. package/dist/components/vue-ui-history-plot.js +1 -1
  30. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  31. package/dist/components/vue-ui-kpi.js +1 -1
  32. package/dist/components/vue-ui-mini-loader.js +1 -1
  33. package/dist/components/vue-ui-molecule.js +1 -1
  34. package/dist/components/vue-ui-mood-radar.js +1 -1
  35. package/dist/components/vue-ui-nested-donuts.js +1 -1
  36. package/dist/components/vue-ui-onion.js +1 -1
  37. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  38. package/dist/components/vue-ui-quadrant.js +1 -1
  39. package/dist/components/vue-ui-quick-chart.js +1 -1
  40. package/dist/components/vue-ui-radar.js +1 -1
  41. package/dist/components/vue-ui-rating.js +1 -1
  42. package/dist/components/vue-ui-relation-circle.js +1 -1
  43. package/dist/components/vue-ui-ridgeline.js +1 -1
  44. package/dist/components/vue-ui-rings.js +1 -1
  45. package/dist/components/vue-ui-scatter.js +1 -1
  46. package/dist/components/vue-ui-skeleton.js +1 -1
  47. package/dist/components/vue-ui-smiley.js +1 -1
  48. package/dist/components/vue-ui-spark-trend.js +1 -1
  49. package/dist/components/vue-ui-sparkbar.js +1 -1
  50. package/dist/components/vue-ui-sparkgauge.js +1 -1
  51. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  52. package/dist/components/vue-ui-sparkline.js +1 -1
  53. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  54. package/dist/components/vue-ui-stackbar.js +1 -1
  55. package/dist/components/vue-ui-strip-plot.js +1 -1
  56. package/dist/components/vue-ui-table-heatmap.js +1 -1
  57. package/dist/components/vue-ui-table-sparkline.js +1 -1
  58. package/dist/components/vue-ui-table.js +1 -1
  59. package/dist/components/vue-ui-thermometer.js +1 -1
  60. package/dist/components/vue-ui-timer.js +1 -1
  61. package/dist/components/vue-ui-tiremarks.js +1 -1
  62. package/dist/components/vue-ui-treemap.js +1 -1
  63. package/dist/components/vue-ui-vertical-bar.js +1 -1
  64. package/dist/components/vue-ui-waffle.js +1 -1
  65. package/dist/components/vue-ui-wheel.js +1 -1
  66. package/dist/components/vue-ui-word-cloud.js +1 -1
  67. package/dist/components/vue-ui-world.js +1 -1
  68. package/dist/components/vue-ui-xy-canvas.js +1 -1
  69. package/dist/components/vue-ui-xy.js +1 -1
  70. package/dist/style.css +1 -1
  71. package/dist/types/vue-data-ui.d.ts +17 -8
  72. package/dist/{useNestedProp-BjZe1Y85.js → useNestedProp-DjGXw6S9.js} +22 -8
  73. package/dist/{vue-data-ui-DjxWWa78.js → vue-data-ui-B_RxfmEm.js} +113 -107
  74. package/dist/vue-data-ui.js +64 -64
  75. package/dist/{vue-ui-3d-bar-CLE7f9pl.js → vue-ui-3d-bar-CMNYyVa2.js} +454 -434
  76. package/dist/{vue-ui-accordion-CZ0thhxa.js → vue-ui-accordion-CqhVCfc2.js} +1 -1
  77. package/dist/{vue-ui-age-pyramid-D73uIOPm.js → vue-ui-age-pyramid-Vqa9iYXE.js} +180 -160
  78. package/dist/{vue-ui-annotator-BylDgUVb.js → vue-ui-annotator-nNv10fBm.js} +3 -3
  79. package/dist/{vue-ui-bullet-Bybo0xK2.js → vue-ui-bullet-BWEBeYV5.js} +190 -170
  80. package/dist/{vue-ui-candlestick-D_FyMdqH.js → vue-ui-candlestick-BoLzL0g1.js} +201 -181
  81. package/dist/{vue-ui-carousel-table-BvMlNdVo.js → vue-ui-carousel-table-Bi6wvUUU.js} +2 -2
  82. package/dist/{vue-ui-chestnut-DA0g0bDV.js → vue-ui-chestnut-BGz1TLXG.js} +375 -355
  83. package/dist/vue-ui-chord-CebhS7ln.js +1153 -0
  84. package/dist/{vue-ui-circle-pack-BPDm-ro5.js → vue-ui-circle-pack-7PJVyKjp.js} +289 -269
  85. package/dist/{vue-ui-cursor-ik59bfC4.js → vue-ui-cursor-qYLAwvzn.js} +1 -1
  86. package/dist/vue-ui-dashboard-DcmMvhgM.js +432 -0
  87. package/dist/{vue-ui-digits-ByNNcWXi.js → vue-ui-digits-DyE8eU1m.js} +1 -1
  88. package/dist/vue-ui-donut-CxZcJFTo.js +1681 -0
  89. package/dist/{vue-ui-donut-evolution-Ca3Svr0B.js → vue-ui-donut-evolution-BVYL-BUJ.js} +480 -444
  90. package/dist/{vue-ui-dumbbell-CxCE2luV.js → vue-ui-dumbbell-QxZn86A3.js} +210 -190
  91. package/dist/{vue-ui-flow-DEvwXd4W.js → vue-ui-flow-DEI5LRch.js} +339 -319
  92. package/dist/{vue-ui-funnel-Bgcx7xia.js → vue-ui-funnel-B_A5orFg.js} +218 -198
  93. package/dist/{vue-ui-galaxy-BWr1EMob.js → vue-ui-galaxy-CUoDRr-O.js} +313 -277
  94. package/dist/{vue-ui-gauge-DQricvo2.js → vue-ui-gauge-46tSRZN5.js} +311 -291
  95. package/dist/{vue-ui-gizmo-C-fKe3io.js → vue-ui-gizmo-BOgbsXao.js} +2 -2
  96. package/dist/{vue-ui-heatmap-B-o_i7Hu.js → vue-ui-heatmap-DKKjl1A2.js} +303 -283
  97. package/dist/{vue-ui-history-plot-DzQ9DPUJ.js → vue-ui-history-plot-C6p_aThr.js} +478 -442
  98. package/dist/{vue-ui-kpi-BGGff8LM.js → vue-ui-kpi-B1yJ83aF.js} +2 -2
  99. package/dist/{vue-ui-mini-loader-CSF-7TJL.js → vue-ui-mini-loader-BudcNBg-.js} +1 -1
  100. package/dist/{vue-ui-molecule-I2OhrCR2.js → vue-ui-molecule-L90GnHee.js} +156 -136
  101. package/dist/{vue-ui-mood-radar-BAT7kZUy.js → vue-ui-mood-radar-Dhigm5rw.js} +266 -246
  102. package/dist/{vue-ui-nested-donuts-CjhJDAQi.js → vue-ui-nested-donuts-D0MCLs5n.js} +597 -557
  103. package/dist/vue-ui-onion-B7yPJ3gL.js +915 -0
  104. package/dist/vue-ui-parallel-coordinate-plot-DY21ivNe.js +1051 -0
  105. package/dist/{vue-ui-quadrant-DGnasrCR.js → vue-ui-quadrant-b0vMRaq-.js} +532 -495
  106. package/dist/{vue-ui-quick-chart-Cam_sWet.js → vue-ui-quick-chart-VK2EN7sh.js} +288 -268
  107. package/dist/{vue-ui-radar-DNI9WI2R.js → vue-ui-radar-B5Vkoz9M.js} +412 -373
  108. package/dist/{vue-ui-rating-CiMoFM_c.js → vue-ui-rating-BH4DW1ZY.js} +1 -1
  109. package/dist/{vue-ui-relation-circle-Dj1jhcsl.js → vue-ui-relation-circle-XHbE-ZUX.js} +228 -208
  110. package/dist/{vue-ui-ridgeline-adIls6bj.js → vue-ui-ridgeline-CAMNq-p_.js} +517 -481
  111. package/dist/vue-ui-rings-ImGOqm_J.js +855 -0
  112. package/dist/vue-ui-scatter-CterNJYe.js +1590 -0
  113. package/dist/{vue-ui-skeleton-DUdI2uOO.js → vue-ui-skeleton-CykXHWj-.js} +2 -2
  114. package/dist/{vue-ui-smiley-sGFRbn31.js → vue-ui-smiley-DnGm6qrK.js} +1 -1
  115. package/dist/{vue-ui-spark-trend-DxpRfUJz.js → vue-ui-spark-trend-N1AsNQJA.js} +2 -2
  116. package/dist/{vue-ui-sparkbar-B44oER5n.js → vue-ui-sparkbar-Bvsi5DTT.js} +2 -2
  117. package/dist/{vue-ui-sparkgauge-ix12NZ7M.js → vue-ui-sparkgauge-DyJmWCWT.js} +2 -2
  118. package/dist/{vue-ui-sparkhistogram-Cs-QDYBR.js → vue-ui-sparkhistogram-5eKrkmSb.js} +143 -140
  119. package/dist/{vue-ui-sparkline-Cb8ZmyUq.js → vue-ui-sparkline-ChKAzlVq.js} +2 -2
  120. package/dist/vue-ui-sparkstackbar-BXNy6nuw.js +441 -0
  121. package/dist/vue-ui-stackbar-1IwvUYBO.js +1827 -0
  122. package/dist/{vue-ui-strip-plot-BjG-Jxnb.js → vue-ui-strip-plot-B1wGxP8-.js} +245 -225
  123. package/dist/{vue-ui-table-DdBdLrAL.js → vue-ui-table-DSsIrT4L.js} +3 -3
  124. package/dist/{vue-ui-table-heatmap-BqCEBoUf.js → vue-ui-table-heatmap-DXFHy7-E.js} +1 -1
  125. package/dist/{vue-ui-table-sparkline-EpCo2Be5.js → vue-ui-table-sparkline-DpqY_4ay.js} +2 -2
  126. package/dist/vue-ui-thermometer-CMKvSA8p.js +584 -0
  127. package/dist/{vue-ui-timer-Br3wp8hG.js → vue-ui-timer-BpdCY_wg.js} +3 -3
  128. package/dist/vue-ui-tiremarks-CNipzVli.js +450 -0
  129. package/dist/vue-ui-treemap-DPE8SY0_.js +1330 -0
  130. package/dist/{vue-ui-vertical-bar-yfbEfLqy.js → vue-ui-vertical-bar-ZU1GCbX0.js} +484 -448
  131. package/dist/{vue-ui-waffle-m-9sqQik.js → vue-ui-waffle-z7nuSuSV.js} +398 -362
  132. package/dist/vue-ui-wheel-DLRoRjeM.js +663 -0
  133. package/dist/{vue-ui-word-cloud-vNwswYZD.js → vue-ui-word-cloud-D2r5E3pP.js} +248 -228
  134. package/dist/{vue-ui-world-BsCNyZy_.js → vue-ui-world-goXYnTyM.js} +287 -267
  135. package/dist/{vue-ui-xy-CIrw1lWQ.js → vue-ui-xy-NDDbNbds.js} +1263 -1227
  136. package/dist/{vue-ui-xy-canvas-DXnLFwW3.js → vue-ui-xy-canvas-2a6NlQe3.js} +338 -322
  137. package/package.json +4 -4
  138. package/dist/PenAndPaper-DSvu9dwa.js +0 -373
  139. package/dist/vue-ui-chord-CDgzolI-.js +0 -1133
  140. package/dist/vue-ui-dashboard-CeJwbiON.js +0 -412
  141. package/dist/vue-ui-donut-DjQXHBJE.js +0 -1645
  142. package/dist/vue-ui-onion-DTY2p87s.js +0 -873
  143. package/dist/vue-ui-parallel-coordinate-plot-C8aWTcNn.js +0 -1014
  144. package/dist/vue-ui-rings-CnTMFK6R.js +0 -813
  145. package/dist/vue-ui-scatter-fzR2c0St.js +0 -1554
  146. package/dist/vue-ui-sparkstackbar-BiRZ51OU.js +0 -424
  147. package/dist/vue-ui-stackbar-DubS6Pg8.js +0 -1708
  148. package/dist/vue-ui-thermometer-DTnfnf9z.js +0 -564
  149. package/dist/vue-ui-tiremarks-CrC_tlIx.js +0 -430
  150. package/dist/vue-ui-treemap-kyuyi2ES.js +0 -1294
  151. package/dist/vue-ui-wheel-BasM7FWt.js +0 -643
@@ -0,0 +1,1590 @@
1
+ import { defineAsyncComponent as ie, computed as z, ref as M, toRefs as gl, watch as Pe, shallowRef as Tt, onMounted as ml, onBeforeUnmount as xl, createElementBlock as c, openBlock as r, unref as y, normalizeStyle as re, normalizeClass as zt, createBlock as se, createCommentVNode as x, createElementVNode as w, createVNode as _e, withCtx as T, renderSlot as P, normalizeProps as J, guardReactiveProps as K, createSlots as Pt, Fragment as Z, renderList as te, toDisplayString as G, Teleport as bl, resolveDynamicComponent as kl, mergeProps as wl, createTextVNode as Ot, nextTick as $l } from "vue";
2
+ import { c as _l, t as Ml, b as Sl, p as de, o as Dt, f as Je, e as Cl, g as Et, aa as Al, h as Ke, ac as Ll, z as Bl, s as Oe, X as Tl, ab as zl, a as ve, x as q, d as le, P as Pl, Q as Ol, G as Dl, H as El } from "./lib-C_mNZmhD.js";
3
+ import { t as Fl, u as Wl } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Nl, a as Ft } from "./useNestedProp-DjGXw6S9.js";
5
+ import { u as Il, B as Xl } from "./BaseScanner-BgWxam9d.js";
6
+ import { u as Yl } from "./usePrinter-DTzqpYKF.js";
7
+ import { u as Rl } from "./useSvgExport-DrjCWun4.js";
8
+ import { u as Ul } from "./useUserOptionState-BIvW1Kz7.js";
9
+ import { u as Vl } from "./useChartAccessibility-9icAAmYg.js";
10
+ import { t as jl } from "./themes-AUNCOb2G.js";
11
+ import Gl from "./Legend-G6GMcdAc.js";
12
+ import ql from "./Title-isbiM8i8.js";
13
+ import { _ as et } from "./Shape-CNXKB8O0.js";
14
+ import Hl from "./img-BecE5qXd.js";
15
+ import { _ as Zl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
+ const Ql = ["id"], Jl = ["id"], Kl = ["xmlns", "viewBox"], ea = ["width", "height"], ta = { key: 1 }, la = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], aa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], oa = { key: 2 }, sa = ["id"], na = ["stop-color"], ua = ["stop-color"], ia = ["id"], ra = ["stop-color"], va = ["stop-color"], ca = ["x", "y", "width", "height", "fill", "stroke", "stroke-width", "rx"], ya = ["x", "y", "width", "height", "onMouseenter"], da = {
17
+ key: 2,
18
+ style: { "pointer-events": "none" }
19
+ }, ha = ["x", "y", "width", "height", "fill", "fill-opacity"], fa = ["x1", "x2", "y2", "stroke", "stroke-dasharray", "stroke-width"], pa = ["x1", "x2", "y2", "stroke", "stroke-dasharray", "stroke-width"], ga = ["x", "y", "height", "width", "fill", "stroke", "stroke-width", "rx"], ma = ["x", "y", "width", "height", "onMouseenter"], xa = {
20
+ key: 2,
21
+ style: { "pointer-events": "none" }
22
+ }, ba = ["x", "y", "width", "height", "fill", "fill-opacity"], ka = ["x1", "x2", "y1", "y2", "stroke", "stroke-dasharray", "stroke-width"], wa = ["x1", "x2", "y1", "y2", "stroke", "stroke-dasharray", "stroke-width"], $a = {
23
+ key: 0,
24
+ style: { "pointer-events": "none" }
25
+ }, _a = ["d", "stroke", "stroke-width"], Ma = ["d", "stroke", "stroke-width"], Sa = ["d", "stroke", "stroke-width"], Ca = ["d", "stroke", "stroke-width"], Aa = { key: 3 }, La = ["points", "fill", "stroke-width", "stroke-dasharray", "stroke"], Ba = { key: 0 }, Ta = ["cx", "cy", "r", "fill", "stroke", "stroke-width", "onMouseover", "onMouseleave", "onClick"], za = { key: 1 }, Pa = ["clip-path"], Oa = ["d", "fill", "stroke", "stroke-width", "stroke-opacity"], Da = {
26
+ key: 0,
27
+ style: { "pointer-events": "none" }
28
+ }, Ea = ["x", "y", "width", "height"], Fa = {
29
+ key: 6,
30
+ style: { "pointer-events": "none !important" }
31
+ }, Wa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Na = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], Ia = ["x", "y", "font-size", "fill", "font-weight", "text-anchor"], Xa = ["x", "y", "font-size", "fill", "font-weight"], Ya = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ra = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ua = ["x", "y", "font-size", "fill", "font-weight", "text-anchor"], Va = ["id", "transform", "font-size", "font-weight", "fill"], ja = ["font-size", "fill", "transform"], Ga = ["transform", "font-size", "fill"], qa = ["x", "y", "font-size", "fill"], Ha = ["x", "y", "font-size", "fill"], Za = ["font-size", "font-weight", "fill", "x", "y"], Qa = ["id"], Ja = ["x", "y", "width", "height"], Ka = {
32
+ key: 11,
33
+ style: { pointerEvents: "none" }
34
+ }, eo = ["x1", "x2", "y1", "y2", "stroke-dasharray", "stroke", "stroke-width", "clip-path"], to = ["x", "y", "fill", "font-size", "font-weight"], lo = {
35
+ key: 4,
36
+ class: "vue-data-ui-watermark"
37
+ }, ao = ["id"], oo = ["onClick"], so = {
38
+ key: 0,
39
+ style: { width: "100%", display: "flex", "align-items": "center", "justify-content": "center" }
40
+ }, no = {
41
+ viewBox: "0 0 20 20",
42
+ height: "20",
43
+ width: "20",
44
+ style: { overflow: "hidden", background: "transparent" }
45
+ }, uo = { key: 0 }, io = ["innerHTML"], ro = {
46
+ __name: "vue-ui-scatter",
47
+ props: {
48
+ config: {
49
+ type: Object,
50
+ default() {
51
+ return {};
52
+ }
53
+ },
54
+ dataset: {
55
+ type: Array,
56
+ default() {
57
+ return [];
58
+ }
59
+ }
60
+ },
61
+ setup(Wt, { expose: Nt }) {
62
+ const It = ie(() => import("./Tooltip-oWCO1HKy.js")), Xt = ie(() => import("./BaseIcon-BmMbm4d0.js")), Yt = ie(() => import("./vue-ui-accordion-CqhVCfc2.js")), Rt = ie(() => import("./DataTable-BT7VF2ua.js")), Ut = ie(() => import("./PenAndPaper-SZQIAgkg.js")), Vt = ie(() => import("./UserOptions-CGnQt6Fd.js")), jt = ie(() => import("./PackageVersion-DQvyATVa.js")), Gt = ie(() => import("./BaseDraggableDialog-ymf2sfB8.js")), { vue_ui_scatter: qt } = Nl(), ae = Wt, tt = z(() => !!ae.dataset && ae.dataset.length), X = M(_l()), De = M(!1), Ee = M(""), lt = M(0), oe = M(null), at = M(null), ot = M(null), st = M(null), nt = M(null), ut = M(0), it = M(0), rt = M(0), N = M([]), vt = M(!1), ge = M(null), me = M(null), xe = M(null), Fe = M(null), We = M(null), Ht = M(null), Zt = M(null), Ne = M(null), e = M(Re());
63
+ function Qt(l = 100, a = 0.8, t = {}) {
64
+ const { meanX: s = 0, sdX: o = 1, meanY: u = 0, sdY: i = 1, seed: f } = t;
65
+ let v = (f ?? Math.floor(Math.random() * 2 ** 31)) >>> 0;
66
+ const g = () => (v = v * 1664525 + 1013904223 >>> 0, v / 2 ** 32), L = () => {
67
+ let m = 0, W = 0;
68
+ for (; m === 0; ) m = g();
69
+ for (; W === 0; ) W = g();
70
+ return Math.sqrt(-2 * Math.log(m)) * Math.cos(2 * Math.PI * W);
71
+ }, d = l / 2, _ = Array.from({ length: d }, L), F = Array.from({ length: d }, L), S = (m) => m.reduce((W, $e) => W + $e, 0) / m.length, O = S(_), Y = S(F);
72
+ for (let m = 0; m < d; m += 1)
73
+ _[m] -= O, F[m] -= Y;
74
+ const B = (m, W) => m.reduce(($e, ze, Qe) => $e + ze * W[Qe], 0), $ = (m) => B(m, m), h = B(F, _) / $(_), A = F.map((m, W) => m - h * _[W]), j = $(_) / d, Q = $(A) / d, ue = Math.sqrt((1 - a * a) * j / Q), U = _.map((m, W) => a * m + ue * A[W]), ye = _.concat(_.map((m) => -m)), Ze = U.concat(U.map((m) => -m)), ke = (m) => Math.sqrt($(m) / m.length), fe = (m, W, $e) => {
75
+ const ze = ke(m);
76
+ return m.map((Qe) => $e + (ze ? Qe / ze * W : 0));
77
+ }, pe = fe(ye, o, s), we = fe(Ze, i, u);
78
+ for (let m = pe.length - 1; m > 0; m -= 1) {
79
+ const W = Math.floor(g() * (m + 1));
80
+ [pe[m], pe[W]] = [pe[W], pe[m]], [we[m], we[W]] = [we[W], we[m]];
81
+ }
82
+ return pe.map((m, W) => ({ x: m, y: we[W] }));
83
+ }
84
+ const { loading: ct, FINAL_DATASET: Ie, manualLoading: Xe } = Il({
85
+ ...gl(ae),
86
+ FINAL_CONFIG: e,
87
+ prepareConfig: Re,
88
+ skeletonDataset: [
89
+ {
90
+ name: "",
91
+ color: "#999999",
92
+ values: Qt(100, 0.5, { seed: 42 })
93
+ }
94
+ ],
95
+ skeletonConfig: Ml({
96
+ defaultConfig: e.value,
97
+ userConfig: {
98
+ userOptions: { show: !1 },
99
+ table: { show: !1 },
100
+ useCssAnimation: !1,
101
+ style: {
102
+ backgroundColor: "#99999930",
103
+ layout: {
104
+ axis: {
105
+ stroke: "#6A6A6A"
106
+ },
107
+ correlation: {
108
+ label: { show: !1 }
109
+ },
110
+ dataLabels: {
111
+ xAxis: { show: !1 },
112
+ yAxis: { show: !1 }
113
+ },
114
+ marginalBars: {
115
+ fill: "#99999960"
116
+ },
117
+ padding: { top: 12, right: 12, bottom: 12, left: 12 },
118
+ plots: {
119
+ stroke: "#6A6A6A"
120
+ }
121
+ },
122
+ legend: {
123
+ backgroundColor: "transparent"
124
+ }
125
+ }
126
+ }
127
+ })
128
+ }), { userOptionsVisible: Ye, setUserOptionsVisibility: yt, keepUserOptionState: dt } = Ul({ config: e.value }), { svgRef: Me } = Vl({ config: e.value.style.title });
129
+ function Re() {
130
+ const l = Ft({
131
+ userConfig: ae.config,
132
+ defaultConfig: qt
133
+ });
134
+ return l.theme ? {
135
+ ...Ft({
136
+ userConfig: jl.vue_ui_scatter[l.theme] || ae.config,
137
+ defaultConfig: l
138
+ }),
139
+ customPalette: Sl[l.theme] || de
140
+ } : l;
141
+ }
142
+ Pe(() => ae.config, (l) => {
143
+ ct.value || (e.value = Re()), Ye.value = !e.value.userOptions.showOnChartHover, ft(), ut.value += 1, it.value += 1, rt.value += 1, H.value.showTable = e.value.table.show, H.value.showTooltip = e.value.style.tooltip.show, ht.value && e.value.usePerformanceMode && console.warn(`VueUiScatter : You are using performance mode
144
+
145
+ - downsampling is disabled in this mode, all plots are rendered
146
+
147
+ - plot significance is not active in this mode (all plots have the same opacity)
148
+
149
+ - Depending on plot density, shapes might not display a border (stroke) to avoid fuzziness
150
+
151
+ ℹ️ To remove this warning, set config.debug to false.`);
152
+ }, { deep: !0 }), Pe(() => ae.dataset, (l) => {
153
+ Array.isArray(l) && l.length > 0 && (Xe.value = !1);
154
+ }, { deep: !0 });
155
+ const ne = Tt(null), he = Tt(null);
156
+ ml(() => {
157
+ vt.value = !0, ft();
158
+ });
159
+ const ht = z(() => !!e.value.debug);
160
+ function ft() {
161
+ if (Dt(ae.dataset) && (Je({
162
+ componentName: "VueUiScatter",
163
+ type: "dataset",
164
+ debug: ht.value
165
+ }), Xe.value = !0), Dt(ae.dataset) || (Xe.value = e.value.loading), e.value.responsive) {
166
+ const l = Fl(() => {
167
+ const { width: a, height: t } = Wl({
168
+ chart: oe.value,
169
+ title: e.value.style.title.text ? at.value : null,
170
+ legend: e.value.style.legend.show ? ot.value : null,
171
+ source: st.value,
172
+ noTitle: nt.value
173
+ });
174
+ requestAnimationFrame(() => {
175
+ I.value.width = a, I.value.height = t;
176
+ });
177
+ });
178
+ ne.value && (he.value && ne.value.unobserve(he.value), ne.value.disconnect()), ne.value = new ResizeObserver(l), he.value = oe.value.parentNode, ne.value.observe(he.value);
179
+ }
180
+ }
181
+ xl(() => {
182
+ ne.value && (he.value && ne.value.unobserve(he.value), ne.value.disconnect());
183
+ });
184
+ const { isPrinting: pt, isImaging: gt, generatePdf: mt, generateImage: xt } = Yl({
185
+ elementId: `vue-ui-scatter_${X.value}`,
186
+ fileName: e.value.style.title.text || "vue-ui-scatter",
187
+ options: e.value.userOptions.print
188
+ }), Jt = z(() => e.value.userOptions.show && !e.value.style.title.text), bt = z(() => Cl(e.value.customPalette)), H = M({
189
+ showTable: e.value.table.show,
190
+ showTooltip: e.value.style.tooltip.show
191
+ });
192
+ Pe(e, () => {
193
+ H.value = {
194
+ showTable: e.value.table.show,
195
+ showTooltip: e.value.style.tooltip.show
196
+ };
197
+ }, { immediate: !0 });
198
+ const I = M({
199
+ height: e.value.style.layout.height,
200
+ width: e.value.style.layout.width
201
+ }), Se = z(() => e.value.style.layout.marginalBars.show ? e.value.style.layout.marginalBars.size + e.value.style.layout.marginalBars.offset : 0), n = z(() => {
202
+ let l = 0, a = 0;
203
+ return We.value && (l = We.value.getBBox().width + 6), Ne.value && (a = Ne.value.getBBox().height + 6), {
204
+ top: e.value.style.layout.padding.top + Se.value + e.value.style.layout.dataLabels.yAxis.fontSize * 2,
205
+ right: I.value.width - e.value.style.layout.padding.right - Se.value - 6,
206
+ bottom: I.value.height - e.value.style.layout.padding.bottom - a,
207
+ left: e.value.style.layout.padding.left + l,
208
+ height: I.value.height - e.value.style.layout.padding.top - e.value.style.layout.padding.bottom - Se.value - a - e.value.style.layout.dataLabels.yAxis.fontSize * 2,
209
+ width: I.value.width - e.value.style.layout.padding.left - e.value.style.layout.padding.right - Se.value - l - 6
210
+ };
211
+ }), D = z(() => {
212
+ Ie.value.forEach((o, u) => {
213
+ Et({
214
+ datasetObject: o,
215
+ requiredAttributes: ["values"]
216
+ }).forEach((i) => {
217
+ Je({
218
+ componentName: "VueUiScatter",
219
+ type: "datasetSerieAttribute",
220
+ property: i,
221
+ index: u
222
+ });
223
+ }), o.values && o.values.forEach((i, f) => {
224
+ Et({
225
+ datasetObject: i,
226
+ requiredAttributes: ["x", "y"]
227
+ }).forEach((v) => {
228
+ Je({
229
+ componentName: "VueUiScatter",
230
+ type: "datasetSerieAttribute",
231
+ property: `values.${v}`,
232
+ index: `${u} - ${f}`
233
+ });
234
+ });
235
+ });
236
+ });
237
+ const l = Math.min(...ee.value.filter((o) => !N.value.includes(o.id)).flatMap((o) => o.values.map((u) => u.x))), a = Math.max(...ee.value.filter((o) => !N.value.includes(o.id)).flatMap((o) => o.values.map((u) => u.x))), t = Math.min(...ee.value.filter((o) => !N.value.includes(o.id)).flatMap((o) => o.values.map((u) => u.y))), s = Math.max(...ee.value.filter((o) => !N.value.includes(o.id)).flatMap((o) => o.values.map((u) => u.y)));
238
+ return { xMin: l >= 0 ? 0 : l, xMax: a, yMin: t >= 0 ? 0 : t, yMax: s };
239
+ }), E = z(() => ({
240
+ x: n.value.left + Math.abs(D.value.xMin) / (D.value.xMax + Math.abs(D.value.xMin)) * n.value.width,
241
+ y: n.value.bottom - Math.abs(D.value.yMin) / (D.value.yMax + Math.abs(D.value.yMin)) * n.value.height
242
+ })), ee = z(() => Ie.value.map((l, a) => {
243
+ const t = `cluster_${X.value}_${a}`;
244
+ return {
245
+ ...l,
246
+ values: Al({
247
+ data: l.values,
248
+ threshold: e.value.usePerformanceMode ? l.values.length + 1 : e.value.downsample.threshold
249
+ }),
250
+ id: t,
251
+ color: l.color ? l.color : bt.value[a] || de[a] || de[a % de.length],
252
+ opacity: N.value.includes(t) ? 0.5 : 1,
253
+ shape: l.shape ?? "circle",
254
+ segregate: () => Le(t),
255
+ isSegregated: N.value.includes(t)
256
+ };
257
+ })), Kt = z(() => ({
258
+ cy: "scatter-div-legend",
259
+ backgroundColor: e.value.style.legend.backgroundColor,
260
+ color: e.value.style.legend.color,
261
+ fontSize: e.value.style.legend.fontSize,
262
+ paddingBottom: 12,
263
+ fontWeight: e.value.style.legend.bold ? "bold" : ""
264
+ })), Ce = z(() => ee.value.map((l, a) => ({
265
+ ...l,
266
+ plots: l.values.map((t) => ({
267
+ x: n.value.left + (t.x + Math.abs(D.value.xMin)) / (D.value.xMax + Math.abs(D.value.xMin)) * n.value.width,
268
+ y: n.value.bottom - (t.y + Math.abs(D.value.yMin)) / (D.value.yMax + Math.abs(D.value.yMin)) * n.value.height,
269
+ v: {
270
+ ...t,
271
+ name: t.name || ""
272
+ },
273
+ clusterName: l.name,
274
+ color: l.color ? l.color : bt.value[a] || de[a] || de[a % de.length],
275
+ id: `plot_${X.value}_${Math.random()}`,
276
+ weight: t.weight ?? e.value.style.layout.plots.radius
277
+ }))
278
+ })).filter((l) => !N.value.includes(l.id))), V = z(() => {
279
+ const a = ({ m: t, b: s, rect: o, verticalX: u = null }) => {
280
+ const { left: i, right: f, top: v, bottom: g } = o, L = [], d = ($, h) => {
281
+ Number.isFinite($) && Number.isFinite(h) && L.push({ x: $, y: h });
282
+ }, _ = ({ x: $, y: h }) => $ >= i - 1e-9 && $ <= f + 1e-9 && h >= v - 1e-9 && h <= g + 1e-9;
283
+ u !== null ? u >= i - 1e-9 && u <= f + 1e-9 && (d(u, v), d(u, g)) : Number.isFinite(t) && (d(i, t * i + s), d(f, t * f + s), Math.abs(t) > 1e-9 ? (d((v - s) / t, v), d((g - s) / t, g)) : s >= v - 1e-9 && s <= g + 1e-9 && (d(i, s), d(f, s)));
284
+ const F = L.filter(_), S = [];
285
+ for (const $ of F)
286
+ S.some((h) => Math.abs(h.x - $.x) < 1e-6 && Math.abs(h.y - $.y) < 1e-6) || S.push($);
287
+ if (S.length < 2) return null;
288
+ let O = S[0], Y = S[1], B = 0;
289
+ for (let $ = 0; $ < S.length; $ += 1)
290
+ for (let h = $ + 1; h < S.length; h += 1) {
291
+ const A = S[$].x - S[h].x, j = S[$].y - S[h].y, Q = A * A + j * j;
292
+ Q > B && (B = Q, O = S[$], Y = S[h]);
293
+ }
294
+ return { x1: O.x, y1: O.y, x2: Y.x, y2: Y.y };
295
+ };
296
+ return Ce.value.map((t) => {
297
+ const s = t.plots.length, o = t.plots.reduce((h, A) => h + A.x, 0) / s, u = t.plots.reduce((h, A) => h + A.y, 0) / s;
298
+ let i = 0, f = 0;
299
+ for (const h of t.plots) {
300
+ const A = h.x - o, j = h.y - u;
301
+ i += A * j, f += A * A;
302
+ }
303
+ let v, g, L = null;
304
+ f < 1e-9 ? (L = o, v = 1 / 0, g = null) : (v = i / f, g = u - v * o);
305
+ let d, _;
306
+ L !== null ? (d = 1 / 0, _ = null) : (d = v, _ = g);
307
+ const F = t.plots.every((h) => h.v && typeof h.v.x == "number" && typeof h.v.y == "number");
308
+ let S = NaN;
309
+ if (s >= 2) {
310
+ let h = 0, A = 0;
311
+ F ? (h = t.plots.reduce((U, ye) => U + ye.v.x, 0) / s, A = t.plots.reduce((U, ye) => U + ye.v.y, 0) / s) : (h = o, A = -u);
312
+ let j = 0, Q = 0, ue = 0;
313
+ for (const U of t.plots) {
314
+ const ye = F ? U.v.x : U.x, Ze = F ? U.v.y : -U.y, ke = ye - h, fe = Ze - A;
315
+ j += ke * fe, Q += ke * ke, ue += fe * fe;
316
+ }
317
+ if (Q >= 1e-9 && ue >= 1e-9) {
318
+ const U = j / Math.sqrt(Q * ue);
319
+ S = Math.max(-1, Math.min(1, U));
320
+ }
321
+ }
322
+ const O = a({ m: d, b: _, rect: n.value, verticalX: L });
323
+ if (!O)
324
+ return {
325
+ ...t,
326
+ correlation: null,
327
+ label: null,
328
+ plots: t.plots.map((h) => ({
329
+ ...h,
330
+ deviation: 0,
331
+ shape: t.shape,
332
+ color: Ke(t.color)
333
+ }))
334
+ };
335
+ const Y = (O.x1 + O.x2) / 2, B = (O.y1 + O.y2) / 2, $ = { x: Y, y: B };
336
+ return {
337
+ ...t,
338
+ color: Ke(t.color),
339
+ correlation: {
340
+ ...O,
341
+ coefficient: S
342
+ },
343
+ label: $,
344
+ plots: t.plots.map((h) => {
345
+ let A, j;
346
+ L !== null ? (A = L, j = h.y) : Math.abs(d) < 1e-9 ? (A = h.x, j = _) : (A = (h.x + d * h.y - d * _) / (1 + d * d), j = (d * h.x + d * d * h.y + _) / (1 + d * d));
347
+ const Q = h.x - A, ue = h.y - j, U = Math.sqrt(Q * Q + ue * ue);
348
+ return {
349
+ ...h,
350
+ deviation: U,
351
+ shape: t.shape,
352
+ color: Ke(t.color)
353
+ };
354
+ })
355
+ };
356
+ });
357
+ }), kt = z(() => Math.max(...V.value.flatMap((l) => l.plots.map((a) => Math.abs(a.deviation)))));
358
+ function el() {
359
+ return V.value;
360
+ }
361
+ function wt(l, a) {
362
+ const t = Array.isArray(l) ? l.flatMap((B) => B.plots.map(($) => ({
363
+ x: $.x,
364
+ y: $.y
365
+ }))) : l.plots.map((B) => ({
366
+ x: B.x,
367
+ y: B.y
368
+ }));
369
+ let s = 1 / 0, o = -1 / 0, u = 1 / 0, i = -1 / 0;
370
+ t.forEach(({ x: B, y: $ }) => {
371
+ s = Math.min(s, B), o = Math.max(o, B), u = Math.min(u, $), i = Math.max(i, $);
372
+ });
373
+ const f = o - s, v = i - u, g = f / a, L = v / a, d = Array(a).fill(0), _ = Array(a).fill(0);
374
+ t.forEach(({ x: B, y: $ }) => {
375
+ const h = Math.floor((B - s) / g), A = Math.floor(($ - u) / L);
376
+ d[h] || (d[h] = 0), _[A] || (_[A] = 0), d[h] += 1, _[A] += 1;
377
+ });
378
+ const F = [], S = [];
379
+ for (let B = 0; B < a; B += 1)
380
+ F.push(s + (B + 0.5) * g), S.push(u + (B + 0.5) * L);
381
+ const O = Math.max(...d), Y = Math.max(..._);
382
+ return { x: d, y: _, avgX: F, avgY: S, maxX: O, maxY: Y };
383
+ }
384
+ const b = z(() => e.value.style.layout.marginalBars.tranches), C = z(() => wt(Ce.value, b.value)), tl = z(() => {
385
+ const l = n.value.top - e.value.style.layout.marginalBars.offset, a = n.value.right + e.value.style.layout.marginalBars.offset;
386
+ return Ce.value.map((t) => {
387
+ const s = wt(t, b.value);
388
+ return {
389
+ coords: s,
390
+ dX: Bl(s.avgX.map((o, u) => ({
391
+ x: o,
392
+ y: l - s.x[u] / s.maxX * e.value.style.layout.marginalBars.size
393
+ }))),
394
+ dY: Ll(s.avgY.map((o, u) => ({
395
+ y: o,
396
+ x: a + e.value.style.layout.marginalBars.size * s.y[u] / s.maxY
397
+ }))),
398
+ color: t.color,
399
+ id: t.id
400
+ };
401
+ });
402
+ }), R = M(void 0), p = M(null), Ue = M(null);
403
+ function Ve(l, a) {
404
+ R.value = l.id, p.value = l;
405
+ let t = "";
406
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: l, seriesIndex: a }), Ue.value = {
407
+ datapoint: l,
408
+ seriesIndex: a,
409
+ series: V.value,
410
+ config: e.value
411
+ };
412
+ const s = e.value.style.tooltip.customFormat;
413
+ Dl(s) && El(() => s({
414
+ datapoint: l,
415
+ seriesIndex: a,
416
+ series: V.value,
417
+ config: e.value
418
+ })) ? Ee.value = s({
419
+ datapoint: l,
420
+ seriesIndex: a,
421
+ series: V.value,
422
+ config: e.value
423
+ }) : (l.clusterName && (t += `<div style="display:flex;gap:3px;align-items:center">${l.clusterName}</div>`), l.v.name && (t += `<div>${l.v.name}</div>`), t += `<div style="text-align:left;margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor}">`, t += `<div>${e.value.style.layout.dataLabels.xAxis.name}: <b>${isNaN(l.v.x) ? "-" : ve(
424
+ e.value.style.layout.plots.selectors.labels.x.formatter,
425
+ l.v.x,
426
+ le({
427
+ p: e.value.style.tooltip.prefix,
428
+ v: l.v.x,
429
+ s: e.value.style.tooltip.suffix,
430
+ r: e.value.style.tooltip.roundingValue
431
+ }),
432
+ { datapoint: l, seriesIndex: a }
433
+ )}</b></div>`, t += `<div>${e.value.style.layout.dataLabels.yAxis.name}: <b>${isNaN(l.v.y) ? "-" : ve(
434
+ e.value.style.layout.plots.selectors.labels.y.formatter,
435
+ l.v.y,
436
+ le({
437
+ p: e.value.style.tooltip.prefix,
438
+ v: l.v.y,
439
+ s: e.value.style.tooltip.suffix,
440
+ r: e.value.style.tooltip.roundingValue
441
+ }),
442
+ { datapoint: l, seriesIndex: a }
443
+ )}</b></div>`, t += `${e.value.style.layout.plots.deviation.translation}: <b>${le({
444
+ v: l.deviation,
445
+ r: e.value.style.layout.plots.deviation.roundingValue
446
+ })}</b>`, t += "</div>", Ee.value = `<div>${t}</div>`), De.value = !0;
447
+ }
448
+ function Ae(l, a) {
449
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: l, seriesIndex: a }), De.value = !1, R.value = void 0, p.value = null;
450
+ }
451
+ function je(l, a) {
452
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: l, seriesIndex: a });
453
+ }
454
+ function Le(l) {
455
+ N.value.includes(l) ? N.value = N.value.filter((a) => a !== l) : N.value.length < Ie.value.length - 1 && N.value.push(l);
456
+ }
457
+ function $t(l) {
458
+ if (!ee.value.length)
459
+ return e.value.debug && console.warn("VueUiScatter - There are no series to show."), null;
460
+ const a = ee.value.find((t) => t.name === l);
461
+ return a || (e.value.debug && console.warn(`VueUiScatter - Series name not found "${l}"`), null);
462
+ }
463
+ function ll(l) {
464
+ const a = $t(l);
465
+ a !== null && N.value.includes(a.id) && Le(a.id);
466
+ }
467
+ function al(l) {
468
+ const a = $t(l);
469
+ a !== null && (N.value.includes(a.id) || Le(a.id));
470
+ }
471
+ function Ge(l = null) {
472
+ $l(() => {
473
+ const a = ["", e.value.table.translations.correlationCoefficient, e.value.table.translations.nbrPlots, `${e.value.style.layout.dataLabels.xAxis.name} ${e.value.table.translations.average}`, `${e.value.style.layout.dataLabels.yAxis.name} ${e.value.table.translations.average}`], t = V.value.map((u) => [
474
+ u.name,
475
+ u.correlation.coefficient,
476
+ u.plots.length,
477
+ u.plots.map((i) => i.v.x).reduce((i, f) => i + f, 0) / u.plots.length,
478
+ u.plots.map((i) => i.v.y).reduce((i, f) => i + f, 0) / u.plots.length
479
+ ]), s = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([a]).concat(t), o = Pl(s);
480
+ l ? l(o) : Ol({ csvContent: o, title: e.value.style.title.text || "vue-ui-heatmap" });
481
+ });
482
+ }
483
+ const Be = z(() => {
484
+ const l = [
485
+ e.value.table.translations.series,
486
+ e.value.table.translations.correlationCoefficient,
487
+ e.value.table.translations.nbrPlots,
488
+ `${e.value.style.layout.dataLabels.xAxis.name} ${e.value.table.translations.average}`,
489
+ `${e.value.style.layout.dataLabels.yAxis.name} ${e.value.table.translations.average}`
490
+ ], a = V.value.map((s) => [
491
+ {
492
+ shape: s.shape,
493
+ content: s.name,
494
+ color: s.color
495
+ },
496
+ Number((s.correlation.coefficient ?? 0).toFixed(e.value.table.td.roundingValue)).toLocaleString(),
497
+ s.plots.length.toLocaleString(),
498
+ Number((s.plots.map((o) => o.v.x ?? 0).reduce((o, u) => o + u, 0) / s.plots.length).toFixed(e.value.table.td.roundingAverage)).toLocaleString(),
499
+ Number((s.plots.map((o) => o.v.y ?? 0).reduce((o, u) => o + u, 0) / s.plots.length).toFixed(e.value.table.td.roundingAverage)).toLocaleString()
500
+ ]), t = {
501
+ th: {
502
+ backgroundColor: e.value.table.th.backgroundColor,
503
+ color: e.value.table.th.color,
504
+ outline: e.value.table.th.outline
505
+ },
506
+ td: {
507
+ backgroundColor: e.value.table.td.backgroundColor,
508
+ color: e.value.table.td.color,
509
+ outline: e.value.table.td.outline
510
+ },
511
+ breakpoint: e.value.table.responsiveBreakpoint
512
+ };
513
+ return { head: l, body: a, config: t, colNames: l };
514
+ }), ce = M(!1);
515
+ function _t(l) {
516
+ ce.value = l, lt.value += 1;
517
+ }
518
+ function Mt() {
519
+ H.value.showTable = !H.value.showTable;
520
+ }
521
+ function St() {
522
+ H.value.showTooltip = !H.value.showTooltip;
523
+ }
524
+ const Te = M(!1);
525
+ function qe() {
526
+ Te.value = !Te.value;
527
+ }
528
+ async function ol({ scale: l = 2 } = {}) {
529
+ if (!oe.value) return;
530
+ const { width: a, height: t } = oe.value.getBoundingClientRect(), s = a / t, { imageUri: o, base64: u } = await Hl({ domElement: oe.value, base64: !0, img: !0, scale: l });
531
+ return {
532
+ imageUri: o,
533
+ base64: u,
534
+ title: e.value.style.title.text,
535
+ width: a,
536
+ height: t,
537
+ aspectRatio: s
538
+ };
539
+ }
540
+ function sl(l) {
541
+ ge.value = l, e.value.style.layout.marginalBars.highlighter.highlightBothAxes && (me.value = C.value.y.length - 2 - l);
542
+ }
543
+ function nl(l) {
544
+ me.value = l, e.value.style.layout.marginalBars.highlighter.highlightBothAxes && (ge.value = l);
545
+ }
546
+ function He() {
547
+ ge.value = null, me.value = null;
548
+ }
549
+ const Ct = {
550
+ circle: 1,
551
+ square: 1,
552
+ diamond: 1,
553
+ triangle: 1.2,
554
+ star: 1.3,
555
+ pentagon: 1.3,
556
+ hexagon: 1.3
557
+ }, k = (l) => l.toFixed(3);
558
+ function ul({ shape: l = "circle", cx: a, cy: t, r: s }) {
559
+ if (!e.value.usePerformanceMode) return "";
560
+ const o = Ct[l] * s;
561
+ switch (l) {
562
+ case "circle": {
563
+ const u = k(a - o), i = k(t), f = k(a + o), v = k(o);
564
+ return `M ${u} ${i} A ${v} ${v} 0 1 0 ${f} ${i} A ${v} ${v} 0 1 0 ${u} ${i} Z`;
565
+ }
566
+ case "square": {
567
+ const u = k(a - o), i = k(t - o), f = k(a + o), v = k(t + o);
568
+ return `M ${u} ${i} L ${f} ${i} L ${f} ${v} L ${u} ${v} Z`;
569
+ }
570
+ case "diamond": {
571
+ const u = k(a), i = k(t);
572
+ return `M ${u} ${k(t - o)} L ${k(a + o)} ${i} L ${u} ${k(t + o)} L ${k(a - o)} ${i} Z`;
573
+ }
574
+ case "triangle": {
575
+ const u = o * Math.sqrt(3), i = a, f = t - 2 / 3 * u, v = a - o, g = t + 1 / 3 * u, L = a + o, d = g;
576
+ return `M ${k(i)} ${k(f)} L ${k(v)} ${k(g)} L ${k(L)} ${k(d)} Z`;
577
+ }
578
+ case "star": {
579
+ const u = o, i = o * 0.5, f = [];
580
+ for (let g = 0; g < 10; g += 1) {
581
+ const L = (-90 + g * 36) * Math.PI / 180, d = g % 2 === 0 ? u : i;
582
+ f.push([a + d * Math.cos(L), t + d * Math.sin(L)]);
583
+ }
584
+ let v = `M ${k(f[0][0])} ${k(f[0][1])}`;
585
+ for (let g = 1; g < f.length; g += 1)
586
+ v += ` L ${k(f[g][0])} ${k(f[g][1])}`;
587
+ return v + " Z";
588
+ }
589
+ case "pentagon": {
590
+ const i = [];
591
+ for (let v = 0; v < 5; v += 1) {
592
+ const g = (-90 + v * 72) * Math.PI / 180;
593
+ i.push([a + o * Math.cos(g), t + o * Math.sin(g)]);
594
+ }
595
+ let f = `M ${k(i[0][0])} ${k(i[0][1])}`;
596
+ for (let v = 1; v < 5; v += 1) f += ` L ${k(i[v][0])} ${k(i[v][1])}`;
597
+ return f + " Z";
598
+ }
599
+ case "hexagon": {
600
+ const i = [];
601
+ for (let v = 0; v < 6; v += 1) {
602
+ const g = (-60 + v * 60) * Math.PI / 180;
603
+ i.push([a + o * Math.cos(g), t + o * Math.sin(g)]);
604
+ }
605
+ let f = `M ${k(i[0][0])} ${k(i[0][1])}`;
606
+ for (let v = 1; v < 6; v += 1) f += ` L ${k(i[v][0])} ${k(i[v][1])}`;
607
+ return f + " Z";
608
+ }
609
+ default: {
610
+ const u = k(a - o), i = k(t), f = k(a + o), v = k(o);
611
+ return `M ${u} ${i} A ${v} ${v} 0 1 0 ${f} ${i} A ${v} ${v} 0 1 0 ${u} ${i} Z`;
612
+ }
613
+ }
614
+ }
615
+ const il = z(() => {
616
+ if (!e.value.usePerformanceMode) return [""];
617
+ const { left: l, right: a, top: t, bottom: s } = n.value, o = Math.max(1, (a - l) * (s - t)), u = (d) => d / o * 1e4, i = 2.5, f = 1e3, v = e.value.style.layout.plots.stroke, g = e.value.style.layout.plots.strokeWidth, L = e.value.style.layout.plots.opacity;
618
+ return V.value.map((d) => {
619
+ const _ = [];
620
+ for (const S of d.plots) {
621
+ const O = S.x, Y = S.y;
622
+ if (O < l || O > a || Y < t || Y > s) continue;
623
+ const B = Math.max(e.value.style.layout.plots.radius, S.weight);
624
+ _.push(ul({
625
+ shape: d.shape || "circle",
626
+ cx: O,
627
+ cy: Y,
628
+ r: B
629
+ }));
630
+ }
631
+ if (!_.length) return null;
632
+ const F = u(d.plots.length) > i || d.plots.length > f;
633
+ return {
634
+ id: d.id,
635
+ d: _.join(""),
636
+ fill: Oe(d.color, L * 100),
637
+ stroke: F ? "none" : v,
638
+ strokeWidth: F ? 0 : g,
639
+ strokeOpacity: 1
640
+ };
641
+ }).filter(Boolean);
642
+ });
643
+ function rl() {
644
+ return e.value.usePerformanceMode ? (l) => {
645
+ const a = Me.value;
646
+ if (!a) return;
647
+ const t = a.createSVGPoint();
648
+ t.x = l.clientX, t.y = l.clientY;
649
+ const s = a.getScreenCTM();
650
+ if (!s) return;
651
+ const o = s.inverse(), u = t.matrixTransform(o), i = 8, f = i * i;
652
+ let v = null, g = 1 / 0, L = -1;
653
+ if (V.value.forEach((d, _) => {
654
+ d.plots.forEach((F) => {
655
+ const S = F.x - u.x, O = F.y - u.y, Y = S * S + O * O;
656
+ Y <= f && Y < g && (g = Y, v = F, L = _);
657
+ });
658
+ }), v)
659
+ R.value !== v.id && (R.value = v.id, Ve(v, L));
660
+ else if (R.value) {
661
+ const d = p.value;
662
+ R.value = void 0, Ae(d, L);
663
+ }
664
+ } : () => null;
665
+ }
666
+ const At = rl();
667
+ function vl() {
668
+ if (R.value) {
669
+ const l = p.value;
670
+ R.value = void 0, Ae(l, null);
671
+ }
672
+ }
673
+ function cl(l) {
674
+ const a = p.value;
675
+ if (a) {
676
+ const t = V.value.findIndex((s) => s.id === a.clusterId);
677
+ je(a, t >= 0 ? t : 0);
678
+ }
679
+ }
680
+ const be = z(() => {
681
+ const l = e.value.table.useDialog && !e.value.table.show, a = H.value.showTable;
682
+ return {
683
+ component: l ? Gt : Yt,
684
+ title: `${e.value.style.title.text}${e.value.style.title.subtitle.text ? `: ${e.value.style.title.subtitle.text}` : ""}`,
685
+ props: l ? {
686
+ backgroundColor: e.value.table.th.backgroundColor,
687
+ color: e.value.table.th.color,
688
+ headerColor: e.value.table.th.color,
689
+ headerBg: e.value.table.th.backgroundColor,
690
+ isFullscreen: ce.value,
691
+ fullscreenParent: oe.value,
692
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
693
+ } : {
694
+ hideDetails: !0,
695
+ config: {
696
+ open: a,
697
+ maxHeight: 1e4,
698
+ body: {
699
+ backgroundColor: e.value.style.backgroundColor,
700
+ color: e.value.style.color
701
+ },
702
+ head: {
703
+ backgroundColor: e.value.style.backgroundColor,
704
+ color: e.value.style.color
705
+ }
706
+ }
707
+ }
708
+ };
709
+ });
710
+ Pe(() => H.value.showTable, (l) => {
711
+ e.value.table.show || (l && e.value.table.useDialog && xe.value ? xe.value.open() : "close" in xe.value && xe.value.close());
712
+ });
713
+ function Lt() {
714
+ H.value.showTable = !1, Fe.value && Fe.value.setTableIconState(!1);
715
+ }
716
+ const yl = z(() => e.value.style.backgroundColor), dl = z(() => e.value.style.legend), hl = z(() => e.value.style.title), { exportSvg: fl, getSvg: pl } = Rl({
717
+ svg: Me,
718
+ title: hl,
719
+ legend: dl,
720
+ legendItems: ee,
721
+ backgroundColor: yl
722
+ });
723
+ async function Bt({ isCb: l }) {
724
+ if (l) {
725
+ const { blob: a, url: t, text: s, dataUrl: o } = await pl();
726
+ e.value.userOptions.callbacks.svg({ blob: a, url: t, text: s, dataUrl: o });
727
+ } else
728
+ fl();
729
+ }
730
+ return Nt({
731
+ getData: el,
732
+ getImage: ol,
733
+ generatePdf: mt,
734
+ generateCsv: Ge,
735
+ generateImage: xt,
736
+ generateSvg: Bt,
737
+ hideSeries: al,
738
+ showSeries: ll,
739
+ toggleTable: Mt,
740
+ toggleTooltip: St,
741
+ toggleAnnotator: qe,
742
+ toggleFullscreen: _t
743
+ }), (l, a) => (r(), c("div", {
744
+ class: zt(`vue-data-ui-component vue-ui-scatter ${ce.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
745
+ ref_key: "scatterChart",
746
+ ref: oe,
747
+ id: `vue-ui-scatter_${X.value}`,
748
+ style: re(`font-family:${e.value.style.fontFamily};width:100%; text-align:center;background:${e.value.style.backgroundColor};${e.value.responsive ? "height: 100%" : ""}`),
749
+ onMouseenter: a[5] || (a[5] = () => y(yt)(!0)),
750
+ onMouseleave: a[6] || (a[6] = () => y(yt)(!1))
751
+ }, [
752
+ e.value.userOptions.buttons.annotator ? (r(), se(y(Ut), {
753
+ key: 0,
754
+ svgRef: y(Me),
755
+ backgroundColor: e.value.style.backgroundColor,
756
+ color: e.value.style.color,
757
+ active: Te.value,
758
+ onClose: qe
759
+ }, {
760
+ "annotator-action-close": T(() => [
761
+ P(l.$slots, "annotator-action-close", {}, void 0, !0)
762
+ ]),
763
+ "annotator-action-color": T(({ color: t }) => [
764
+ P(l.$slots, "annotator-action-color", J(K({ color: t })), void 0, !0)
765
+ ]),
766
+ "annotator-action-draw": T(({ mode: t }) => [
767
+ P(l.$slots, "annotator-action-draw", J(K({ mode: t })), void 0, !0)
768
+ ]),
769
+ "annotator-action-undo": T(({ disabled: t }) => [
770
+ P(l.$slots, "annotator-action-undo", J(K({ disabled: t })), void 0, !0)
771
+ ]),
772
+ "annotator-action-redo": T(({ disabled: t }) => [
773
+ P(l.$slots, "annotator-action-redo", J(K({ disabled: t })), void 0, !0)
774
+ ]),
775
+ "annotator-action-delete": T(({ disabled: t }) => [
776
+ P(l.$slots, "annotator-action-delete", J(K({ disabled: t })), void 0, !0)
777
+ ]),
778
+ _: 3
779
+ }, 8, ["svgRef", "backgroundColor", "color", "active"])) : x("", !0),
780
+ Jt.value ? (r(), c("div", {
781
+ key: 1,
782
+ ref_key: "noTitle",
783
+ ref: nt,
784
+ class: "vue-data-ui-no-title-space",
785
+ style: "height:36px; width: 100%;background:transparent"
786
+ }, null, 512)) : x("", !0),
787
+ e.value.style.title.text ? (r(), c("div", {
788
+ key: 2,
789
+ ref_key: "chartTitle",
790
+ ref: at,
791
+ style: "width:100%;background:transparent"
792
+ }, [
793
+ (r(), se(ql, {
794
+ key: `title_${ut.value}`,
795
+ config: {
796
+ title: {
797
+ cy: "scatter-div-title",
798
+ ...e.value.style.title
799
+ },
800
+ subtitle: {
801
+ cy: "scatter-div-subtitle",
802
+ ...e.value.style.title.subtitle
803
+ }
804
+ }
805
+ }, null, 8, ["config"]))
806
+ ], 512)) : x("", !0),
807
+ w("div", {
808
+ id: `legend-top-${X.value}`
809
+ }, null, 8, Jl),
810
+ e.value.userOptions.show && tt.value && (y(dt) || y(Ye)) ? (r(), se(y(Vt), {
811
+ ref_key: "userOptionsRef",
812
+ ref: Fe,
813
+ key: `user_options_${lt.value}`,
814
+ backgroundColor: e.value.style.backgroundColor,
815
+ color: e.value.style.color,
816
+ isImaging: y(gt),
817
+ isPrinting: y(pt),
818
+ uid: X.value,
819
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
820
+ hasPdf: e.value.userOptions.buttons.pdf,
821
+ hasImg: e.value.userOptions.buttons.img,
822
+ hasSvg: e.value.userOptions.buttons.svg,
823
+ hasXls: e.value.userOptions.buttons.csv,
824
+ hasTable: e.value.userOptions.buttons.table,
825
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
826
+ isTooltip: H.value.showTooltip,
827
+ isFullscreen: ce.value,
828
+ titles: { ...e.value.userOptions.buttonTitles },
829
+ chartElement: oe.value,
830
+ position: e.value.userOptions.position,
831
+ hasAnnotator: e.value.userOptions.buttons.annotator,
832
+ isAnnotation: Te.value,
833
+ callbacks: e.value.userOptions.callbacks,
834
+ printScale: e.value.userOptions.print.scale,
835
+ tableDialog: e.value.table.useDialog,
836
+ onToggleFullscreen: _t,
837
+ onGeneratePdf: y(mt),
838
+ onGenerateCsv: Ge,
839
+ onGenerateImage: y(xt),
840
+ onGenerateSvg: Bt,
841
+ onToggleTable: Mt,
842
+ onToggleTooltip: St,
843
+ onToggleAnnotator: qe,
844
+ style: re({
845
+ visibility: y(dt) ? y(Ye) ? "visible" : "hidden" : "visible"
846
+ })
847
+ }, Pt({ _: 2 }, [
848
+ l.$slots.menuIcon ? {
849
+ name: "menuIcon",
850
+ fn: T(({ isOpen: t, color: s }) => [
851
+ P(l.$slots, "menuIcon", J(K({ isOpen: t, color: s })), void 0, !0)
852
+ ]),
853
+ key: "0"
854
+ } : void 0,
855
+ l.$slots.optionTooltip ? {
856
+ name: "optionTooltip",
857
+ fn: T(() => [
858
+ P(l.$slots, "optionTooltip", {}, void 0, !0)
859
+ ]),
860
+ key: "1"
861
+ } : void 0,
862
+ l.$slots.optionPdf ? {
863
+ name: "optionPdf",
864
+ fn: T(() => [
865
+ P(l.$slots, "optionPdf", {}, void 0, !0)
866
+ ]),
867
+ key: "2"
868
+ } : void 0,
869
+ l.$slots.optionCsv ? {
870
+ name: "optionCsv",
871
+ fn: T(() => [
872
+ P(l.$slots, "optionCsv", {}, void 0, !0)
873
+ ]),
874
+ key: "3"
875
+ } : void 0,
876
+ l.$slots.optionImg ? {
877
+ name: "optionImg",
878
+ fn: T(() => [
879
+ P(l.$slots, "optionImg", {}, void 0, !0)
880
+ ]),
881
+ key: "4"
882
+ } : void 0,
883
+ l.$slots.optionSvg ? {
884
+ name: "optionSvg",
885
+ fn: T(() => [
886
+ P(l.$slots, "optionSvg", {}, void 0, !0)
887
+ ]),
888
+ key: "5"
889
+ } : void 0,
890
+ l.$slots.optionTable ? {
891
+ name: "optionTable",
892
+ fn: T(() => [
893
+ P(l.$slots, "optionTable", {}, void 0, !0)
894
+ ]),
895
+ key: "6"
896
+ } : void 0,
897
+ l.$slots.optionFullscreen ? {
898
+ name: "optionFullscreen",
899
+ fn: T(({ toggleFullscreen: t, isFullscreen: s }) => [
900
+ P(l.$slots, "optionFullscreen", J(K({ toggleFullscreen: t, isFullscreen: s })), void 0, !0)
901
+ ]),
902
+ key: "7"
903
+ } : void 0,
904
+ l.$slots.optionAnnotator ? {
905
+ name: "optionAnnotator",
906
+ fn: T(({ toggleAnnotator: t, isAnnotator: s }) => [
907
+ P(l.$slots, "optionAnnotator", J(K({ toggleAnnotator: t, isAnnotator: s })), void 0, !0)
908
+ ]),
909
+ key: "8"
910
+ } : void 0
911
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "isTooltip", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : x("", !0),
912
+ (r(), c("svg", {
913
+ ref_key: "svgRef",
914
+ ref: Me,
915
+ xmlns: y(Tl),
916
+ class: zt({ "vue-data-ui-fullscreen--on": ce.value, "vue-data-ui-fulscreen--off": !ce.value, animated: e.value.useCssAnimation }),
917
+ viewBox: `0 0 ${I.value.width <= 0 ? 10 : I.value.width} ${I.value.height <= 0 ? 10 : I.value.height}`,
918
+ style: re(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.color}`),
919
+ onMouseleave: He
920
+ }, [
921
+ _e(y(jt)),
922
+ l.$slots["chart-background"] ? (r(), c("foreignObject", {
923
+ key: 0,
924
+ x: 0,
925
+ y: 0,
926
+ width: I.value.width <= 0 ? 10 : I.value.width,
927
+ height: I.value.height <= 0 ? 10 : I.value.height,
928
+ style: {
929
+ pointerEvents: "none"
930
+ }
931
+ }, [
932
+ P(l.$slots, "chart-background", {}, void 0, !0)
933
+ ], 8, ea)) : x("", !0),
934
+ e.value.style.layout.axis.show ? (r(), c("g", ta, [
935
+ w("line", {
936
+ x1: E.value.x,
937
+ x2: E.value.x,
938
+ y1: n.value.top,
939
+ y2: n.value.bottom,
940
+ stroke: e.value.style.layout.axis.stroke,
941
+ "stroke-width": e.value.style.layout.axis.strokeWidth,
942
+ "stroke-linecap": "round"
943
+ }, null, 8, la),
944
+ w("line", {
945
+ x1: n.value.left,
946
+ x2: n.value.right,
947
+ y1: E.value.y,
948
+ y2: E.value.y,
949
+ stroke: e.value.style.layout.axis.stroke,
950
+ "stroke-width": e.value.style.layout.axis.strokeWidth,
951
+ "stroke-linecap": "round"
952
+ }, null, 8, aa)
953
+ ])) : x("", !0),
954
+ e.value.style.layout.marginalBars.show ? (r(), c("g", oa, [
955
+ w("defs", null, [
956
+ w("linearGradient", {
957
+ id: `marginal_x_${X.value}`,
958
+ x1: "0%",
959
+ y1: "0%",
960
+ x2: "0%",
961
+ y2: "100%"
962
+ }, [
963
+ w("stop", {
964
+ offset: "0%",
965
+ "stop-color": e.value.style.layout.marginalBars.fill
966
+ }, null, 8, na),
967
+ w("stop", {
968
+ offset: "100%",
969
+ "stop-color": e.value.style.backgroundColor
970
+ }, null, 8, ua)
971
+ ], 8, sa),
972
+ w("linearGradient", {
973
+ id: `marginal_y_${X.value}`,
974
+ x1: "0%",
975
+ x2: "100%",
976
+ y1: "0%",
977
+ y2: "0%"
978
+ }, [
979
+ w("stop", {
980
+ offset: "0%",
981
+ "stop-color": e.value.style.backgroundColor
982
+ }, null, 8, ra),
983
+ w("stop", {
984
+ offset: "100%",
985
+ "stop-color": e.value.style.layout.marginalBars.fill
986
+ }, null, 8, va)
987
+ ], 8, ia)
988
+ ]),
989
+ (r(!0), c(Z, null, te(C.value.x, (t, s) => (r(), c("g", null, [
990
+ t && C.value.avgX[s] ? (r(), c("rect", {
991
+ key: 0,
992
+ x: C.value.avgX[s] - n.value.width / b.value / 2,
993
+ y: n.value.top - e.value.style.layout.marginalBars.offset - t / C.value.maxX * e.value.style.layout.marginalBars.size,
994
+ width: n.value.width / b.value <= 0 ? 1e-4 : n.value.width / b.value,
995
+ height: t / C.value.maxX * e.value.style.layout.marginalBars.size <= 0 ? 1e-4 : t / C.value.maxX * e.value.style.layout.marginalBars.size,
996
+ fill: e.value.style.layout.marginalBars.useGradient ? `url(#marginal_x_${X.value})` : e.value.style.layout.marginalBars.fill,
997
+ style: re([`opacity:${e.value.style.layout.marginalBars.opacity}`, { "pointer-events": "none" }]),
998
+ stroke: e.value.style.backgroundColor,
999
+ "stroke-width": e.value.style.layout.marginalBars.strokeWidth,
1000
+ rx: e.value.style.layout.marginalBars.borderRadius
1001
+ }, null, 12, ca)) : x("", !0),
1002
+ C.value.avgX[s] ? (r(), c("rect", {
1003
+ key: 1,
1004
+ x: C.value.avgX[s] - n.value.width / b.value / 2,
1005
+ y: n.value.top - e.value.style.layout.marginalBars.offset - e.value.style.layout.marginalBars.size,
1006
+ width: n.value.width / b.value <= 0 ? 1e-4 : n.value.width / b.value,
1007
+ height: Math.max(0.1, e.value.style.layout.marginalBars.size),
1008
+ fill: "transparent",
1009
+ onMouseenter: (o) => sl(s),
1010
+ onMouseleave: a[0] || (a[0] = (o) => He())
1011
+ }, null, 40, ya)) : x("", !0),
1012
+ C.value.avgX[s] && ge.value != null && ge.value === s ? (r(), c("g", da, [
1013
+ w("rect", {
1014
+ x: C.value.avgX[s] - n.value.width / b.value / 2,
1015
+ y: n.value.top,
1016
+ width: n.value.width / b.value <= 0 ? 1e-4 : n.value.width / b.value,
1017
+ height: n.value.height,
1018
+ fill: e.value.style.layout.marginalBars.highlighter.color,
1019
+ "fill-opacity": e.value.style.layout.marginalBars.highlighter.opacity
1020
+ }, null, 8, ha),
1021
+ w("line", {
1022
+ x1: C.value.avgX[s] - n.value.width / b.value / 2,
1023
+ x2: C.value.avgX[s] - n.value.width / b.value / 2,
1024
+ y1: 0,
1025
+ y2: n.value.top + n.value.height,
1026
+ stroke: e.value.style.layout.marginalBars.highlighter.stroke,
1027
+ "stroke-dasharray": e.value.style.layout.marginalBars.highlighter.strokeDasharray,
1028
+ "stroke-width": e.value.style.layout.marginalBars.highlighter.strokeWidth,
1029
+ style: { transition: "none !important", animation: "none !important" }
1030
+ }, null, 8, fa),
1031
+ w("line", {
1032
+ x1: C.value.avgX[s] - n.value.width / b.value / 2 + (n.value.width / b.value <= 0 ? 1e-4 : n.value.width / b.value),
1033
+ x2: C.value.avgX[s] - n.value.width / b.value / 2 + (n.value.width / b.value <= 0 ? 1e-4 : n.value.width / b.value),
1034
+ y1: 0,
1035
+ y2: n.value.top + n.value.height,
1036
+ stroke: e.value.style.layout.marginalBars.highlighter.stroke,
1037
+ "stroke-dasharray": e.value.style.layout.marginalBars.highlighter.strokeDasharray,
1038
+ "stroke-width": e.value.style.layout.marginalBars.highlighter.strokeWidth,
1039
+ style: { transition: "none !important", animation: "none !important" }
1040
+ }, null, 8, pa)
1041
+ ])) : x("", !0)
1042
+ ]))), 256)),
1043
+ (r(!0), c(Z, null, te(C.value.y, (t, s) => (r(), c("g", null, [
1044
+ t && C.value.avgY[s] ? (r(), c("rect", {
1045
+ key: 0,
1046
+ x: n.value.right + e.value.style.layout.marginalBars.offset,
1047
+ y: C.value.avgY[s] - n.value.height / b.value / 2,
1048
+ height: n.value.height / b.value <= 0 ? 1e-4 : n.value.height / b.value,
1049
+ width: t / C.value.maxY * e.value.style.layout.marginalBars.size <= 0 ? 1e-4 : t / C.value.maxY * e.value.style.layout.marginalBars.size,
1050
+ fill: e.value.style.layout.marginalBars.useGradient ? `url(#marginal_y_${X.value})` : e.value.style.layout.marginalBars.fill,
1051
+ style: re([`opacity:${e.value.style.layout.marginalBars.opacity}`, { "pointer-events": "none" }]),
1052
+ stroke: e.value.style.backgroundColor,
1053
+ "stroke-width": e.value.style.layout.marginalBars.strokeWidth,
1054
+ rx: e.value.style.layout.marginalBars.borderRadius
1055
+ }, null, 12, ga)) : x("", !0),
1056
+ C.value.avgY[s] ? (r(), c("rect", {
1057
+ key: 1,
1058
+ x: n.value.right + e.value.style.layout.marginalBars.offset,
1059
+ y: C.value.avgY[s] - n.value.height / b.value / 2,
1060
+ width: Math.max(0.1, e.value.style.layout.marginalBars.size),
1061
+ height: n.value.height / b.value <= 0 ? 1e-4 : n.value.height / b.value,
1062
+ fill: "transparent",
1063
+ onMouseenter: (o) => nl(s),
1064
+ onMouseleave: a[1] || (a[1] = (o) => He())
1065
+ }, null, 40, ma)) : x("", !0),
1066
+ C.value.avgY[s] && me.value != null && me.value === s ? (r(), c("g", xa, [
1067
+ w("rect", {
1068
+ x: n.value.left,
1069
+ y: C.value.avgY[s] - n.value.height / b.value / 2,
1070
+ width: n.value.width,
1071
+ height: n.value.height / b.value <= 0 ? 1e-4 : n.value.height / b.value,
1072
+ fill: e.value.style.layout.marginalBars.highlighter.color,
1073
+ "fill-opacity": e.value.style.layout.marginalBars.highlighter.opacity
1074
+ }, null, 8, ba),
1075
+ w("line", {
1076
+ x1: n.value.left,
1077
+ x2: I.value.width,
1078
+ y1: C.value.avgY[s] - n.value.height / b.value / 2,
1079
+ y2: C.value.avgY[s] - n.value.height / b.value / 2,
1080
+ stroke: e.value.style.layout.marginalBars.highlighter.stroke,
1081
+ "stroke-dasharray": e.value.style.layout.marginalBars.highlighter.strokeDasharray,
1082
+ "stroke-width": e.value.style.layout.marginalBars.highlighter.strokeWidth,
1083
+ style: { transition: "none !important", animation: "none !important" }
1084
+ }, null, 8, ka),
1085
+ w("line", {
1086
+ x1: n.value.left,
1087
+ x2: I.value.width,
1088
+ y1: C.value.avgY[s] - n.value.height / b.value / 2 + (n.value.height / b.value <= 0 ? 1e-4 : n.value.height / b.value),
1089
+ y2: C.value.avgY[s] - n.value.height / b.value / 2 + (n.value.height / b.value <= 0 ? 1e-4 : n.value.height / b.value),
1090
+ stroke: e.value.style.layout.marginalBars.highlighter.stroke,
1091
+ "stroke-dasharray": e.value.style.layout.marginalBars.highlighter.strokeDasharray,
1092
+ "stroke-width": e.value.style.layout.marginalBars.highlighter.strokeWidth,
1093
+ style: { transition: "none !important", animation: "none !important" }
1094
+ }, null, 8, wa)
1095
+ ])) : x("", !0)
1096
+ ]))), 256)),
1097
+ e.value.style.layout.marginalBars.showLines ? (r(), c("g", $a, [
1098
+ (r(!0), c(Z, null, te(tl.value, (t) => (r(), c(Z, null, [
1099
+ N.value.includes(t.id) ? x("", !0) : (r(), c("path", {
1100
+ key: 0,
1101
+ d: `M ${t.dX}`,
1102
+ stroke: e.value.style.backgroundColor,
1103
+ "stroke-width": e.value.style.layout.marginalBars.linesStrokeWidth + 1,
1104
+ "stroke-linecap": "round",
1105
+ "stroke-linejoin": "round",
1106
+ fill: "none"
1107
+ }, null, 8, _a)),
1108
+ N.value.includes(t.id) ? x("", !0) : (r(), c("path", {
1109
+ key: 1,
1110
+ d: `M ${t.dX}`,
1111
+ stroke: t.color,
1112
+ "stroke-width": e.value.style.layout.marginalBars.linesStrokeWidth,
1113
+ "stroke-linecap": "round",
1114
+ "stroke-linejoin": "round",
1115
+ fill: "none"
1116
+ }, null, 8, Ma)),
1117
+ N.value.includes(t.id) ? x("", !0) : (r(), c("path", {
1118
+ key: 2,
1119
+ d: `M ${t.dY}`,
1120
+ stroke: e.value.style.backgroundColor,
1121
+ "stroke-width": e.value.style.layout.marginalBars.linesStrokeWidth + 1,
1122
+ "stroke-linecap": "round",
1123
+ "stroke-linejoin": "round",
1124
+ fill: "none"
1125
+ }, null, 8, Sa)),
1126
+ N.value.includes(t.id) ? x("", !0) : (r(), c("path", {
1127
+ key: 3,
1128
+ d: `M ${t.dY}`,
1129
+ stroke: t.color,
1130
+ "stroke-width": e.value.style.layout.marginalBars.linesStrokeWidth,
1131
+ "stroke-linecap": "round",
1132
+ "stroke-linejoin": "round",
1133
+ fill: "none"
1134
+ }, null, 8, Ca))
1135
+ ], 64))), 256))
1136
+ ])) : x("", !0)
1137
+ ])) : x("", !0),
1138
+ e.value.style.layout.plots.giftWrap.show ? (r(), c("g", Aa, [
1139
+ (r(!0), c(Z, null, te(V.value, (t, s) => (r(), c("g", null, [
1140
+ t.plots.length > 2 ? (r(), c("polygon", {
1141
+ key: 0,
1142
+ points: y(zl)({ series: t.plots }),
1143
+ fill: y(Oe)(t.color, e.value.style.layout.plots.giftWrap.fillOpacity * 100),
1144
+ "stroke-width": e.value.style.layout.plots.giftWrap.strokeWidth,
1145
+ "stroke-dasharray": e.value.style.layout.plots.giftWrap.strokeDasharray,
1146
+ stroke: t.color,
1147
+ "stroke-linejoin": "round",
1148
+ "stroke-linecap": "round"
1149
+ }, null, 8, La)) : x("", !0)
1150
+ ]))), 256))
1151
+ ])) : x("", !0),
1152
+ e.value.usePerformanceMode ? x("", !0) : (r(!0), c(Z, { key: 4 }, te(V.value, (t, s) => (r(), c("g", null, [
1153
+ !t.shape || t.shape === "circle" ? (r(), c("g", Ba, [
1154
+ (r(!0), c(Z, null, te(t.plots, (o, u) => (r(), c("circle", {
1155
+ cx: o.x,
1156
+ cy: o.y,
1157
+ r: R.value && R.value === o.id ? o.weight * 2 : o.weight,
1158
+ fill: y(Oe)(t.color, e.value.style.layout.plots.opacity * 100),
1159
+ stroke: e.value.style.layout.plots.stroke,
1160
+ "stroke-width": e.value.style.layout.plots.strokeWidth,
1161
+ style: re(`opacity:${R.value && R.value === o.id ? 1 : e.value.style.layout.plots.significance.useDistanceOpacity ? 1 - Math.abs(o.deviation) / kt.value : e.value.style.layout.plots.significance.show && Math.abs(o.deviation) > e.value.style.layout.plots.significance.deviationThreshold ? e.value.style.layout.plots.significance.opacity : 1}`),
1162
+ onMouseover: (i) => Ve(o, s),
1163
+ onMouseleave: (i) => Ae(o, s),
1164
+ onClick: (i) => je(o, s)
1165
+ }, null, 44, Ta))), 256))
1166
+ ])) : (r(), c("g", za, [
1167
+ (r(!0), c(Z, null, te(t.plots, (o, u) => (r(), se(et, {
1168
+ plot: { x: o.x, y: o.y },
1169
+ radius: R.value && R.value === o.id ? o.weight * 2 : o.weight,
1170
+ shape: t.shape,
1171
+ color: y(Oe)(t.color, e.value.style.layout.plots.opacity * 100),
1172
+ stroke: e.value.style.layout.plots.stroke,
1173
+ strokeWidth: e.value.style.layout.plots.strokeWidth,
1174
+ style: re(`opacity:${R.value && R.value === o.id ? 1 : e.value.style.layout.plots.significance.useDistanceOpacity ? 1 - Math.abs(o.deviation) / kt.value : e.value.style.layout.plots.significance.show && Math.abs(o.deviation) > e.value.style.layout.plots.significance.deviationThreshold ? e.value.style.layout.plots.significance.opacity : 1}`),
1175
+ onMouseover: (i) => Ve(o, s),
1176
+ onMouseleave: (i) => Ae(o, s),
1177
+ onClick: (i) => je(o, s)
1178
+ }, null, 8, ["plot", "radius", "shape", "color", "stroke", "strokeWidth", "style", "onMouseover", "onMouseleave", "onClick"]))), 256))
1179
+ ]))
1180
+ ]))), 256)),
1181
+ e.value.usePerformanceMode ? (r(), c(Z, { key: 5 }, [
1182
+ w("g", {
1183
+ "clip-path": `url(#clip_path_${X.value})`
1184
+ }, [
1185
+ (r(!0), c(Z, null, te(il.value, (t) => (r(), c("path", {
1186
+ key: t.id,
1187
+ d: t.d,
1188
+ fill: t.fill,
1189
+ stroke: t.stroke,
1190
+ "stroke-width": t.strokeWidth,
1191
+ "stroke-opacity": t.strokeOpacity,
1192
+ "vector-effect": "non-scaling-stroke",
1193
+ "paint-order": "fill"
1194
+ }, null, 8, Oa))), 128))
1195
+ ], 8, Pa),
1196
+ p.value && e.value.style.layout.plots.selectors.show ? (r(), c("g", Da, [
1197
+ _e(et, {
1198
+ shape: p.value.shape || "circle",
1199
+ color: p.value.color,
1200
+ plot: { x: p.value.x, y: p.value.y },
1201
+ radius: Math.max(4 * Ct[p.value.shape || "circle"], p.value.weight * 2),
1202
+ stroke: e.value.style.layout.plots.stroke,
1203
+ strokeWidth: e.value.style.layout.plots.strokeWidth
1204
+ }, null, 8, ["shape", "color", "plot", "radius", "stroke", "strokeWidth"])
1205
+ ])) : x("", !0),
1206
+ w("rect", {
1207
+ x: n.value.left,
1208
+ y: n.value.top,
1209
+ width: Math.max(1e-4, n.value.width),
1210
+ height: Math.max(1e-4, n.value.height),
1211
+ fill: "transparent",
1212
+ onMousemove: a[2] || (a[2] = (...t) => y(At) && y(At)(...t)),
1213
+ onMouseleave: vl,
1214
+ onClick: cl
1215
+ }, null, 40, Ea)
1216
+ ], 64)) : x("", !0),
1217
+ p.value && e.value.style.layout.plots.selectors.show ? (r(), c("g", Fa, [
1218
+ w("line", {
1219
+ x1: E.value.x,
1220
+ x2: p.value.x,
1221
+ y1: p.value.y,
1222
+ y2: p.value.y,
1223
+ stroke: e.value.style.layout.plots.selectors.stroke,
1224
+ "stroke-width": e.value.style.layout.plots.selectors.strokeWidth,
1225
+ "stroke-dasharray": e.value.style.layout.plots.selectors.strokeDasharray,
1226
+ "stroke-linecap": "round",
1227
+ class: "line-pointer"
1228
+ }, null, 8, Wa),
1229
+ w("line", {
1230
+ x1: p.value.x,
1231
+ x2: p.value.x,
1232
+ y1: E.value.y,
1233
+ y2: p.value.y,
1234
+ stroke: e.value.style.layout.plots.selectors.stroke,
1235
+ "stroke-width": e.value.style.layout.plots.selectors.strokeWidth,
1236
+ "stroke-dasharray": e.value.style.layout.plots.selectors.strokeDasharray,
1237
+ "stroke-linecap": "round",
1238
+ class: "line-pointer"
1239
+ }, null, 8, Na),
1240
+ w("text", {
1241
+ x: E.value.x + (p.value.x > E.value.x ? -6 : 6),
1242
+ y: p.value.y + e.value.style.layout.plots.selectors.labels.fontSize / 3,
1243
+ "font-size": e.value.style.layout.plots.selectors.labels.fontSize,
1244
+ fill: e.value.style.layout.plots.selectors.labels.color,
1245
+ "font-weight": e.value.style.layout.plots.selectors.labels.bold ? "bold" : "normal",
1246
+ "text-anchor": p.value.x > E.value.x ? "end" : "start"
1247
+ }, G(y(ve)(
1248
+ e.value.style.layout.plots.selectors.labels.y.formatter,
1249
+ y(q)(p.value.v.y),
1250
+ y(le)({
1251
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1252
+ v: y(q)(p.value.v.y),
1253
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1254
+ r: e.value.style.layout.plots.selectors.labels.rounding
1255
+ }),
1256
+ { datapoint: p.value }
1257
+ )), 9, Ia),
1258
+ w("text", {
1259
+ x: p.value.x,
1260
+ y: E.value.y + (p.value.y > E.value.y ? -6 : e.value.style.layout.plots.selectors.labels.fontSize + 6),
1261
+ "font-size": e.value.style.layout.plots.selectors.labels.fontSize,
1262
+ fill: e.value.style.layout.plots.selectors.labels.color,
1263
+ "font-weight": e.value.style.layout.plots.selectors.labels.bold ? "bold" : "normal",
1264
+ "text-anchor": "middle"
1265
+ }, G(y(ve)(
1266
+ e.value.style.layout.plots.selectors.labels.y.formatter,
1267
+ y(q)(p.value.v.x),
1268
+ y(le)({
1269
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1270
+ v: y(q)(p.value.v.x),
1271
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1272
+ r: e.value.style.layout.plots.selectors.labels.rounding
1273
+ }),
1274
+ { datapoint: p.value }
1275
+ )), 9, Xa),
1276
+ w("circle", {
1277
+ cx: E.value.x,
1278
+ cy: p.value.y,
1279
+ r: e.value.style.layout.plots.selectors.markers.radius,
1280
+ fill: e.value.style.layout.plots.selectors.markers.fill,
1281
+ stroke: e.value.style.layout.plots.selectors.markers.stroke,
1282
+ "stroke-width": e.value.style.layout.plots.selectors.markers.strokeWidth,
1283
+ class: "line-pointer"
1284
+ }, null, 8, Ya),
1285
+ w("circle", {
1286
+ cx: p.value.x,
1287
+ cy: E.value.y,
1288
+ r: e.value.style.layout.plots.selectors.markers.radius,
1289
+ fill: e.value.style.layout.plots.selectors.markers.fill,
1290
+ stroke: e.value.style.layout.plots.selectors.markers.stroke,
1291
+ "stroke-width": e.value.style.layout.plots.selectors.markers.strokeWidth,
1292
+ class: "line-pointer"
1293
+ }, null, 8, Ra),
1294
+ e.value.style.layout.plots.selectors.labels.showName ? (r(), c("text", {
1295
+ key: 0,
1296
+ x: p.value.x,
1297
+ y: p.value.y + (p.value.y < E.value.y ? -e.value.style.layout.plots.selectors.labels.fontSize / 2 : e.value.style.layout.plots.selectors.labels.fontSize),
1298
+ "font-size": e.value.style.layout.plots.selectors.labels.fontSize,
1299
+ fill: e.value.style.layout.plots.selectors.labels.color,
1300
+ "font-weight": e.value.style.layout.plots.selectors.labels.bold ? "bold" : "normal",
1301
+ "text-anchor": p.value.x < n.value.left + 100 ? "start" : p.value.x > n.value.right - 100 ? "end" : p.value.x > E.value.x ? "start" : "end"
1302
+ }, G(p.value.v.name), 9, Ua)) : x("", !0)
1303
+ ])) : x("", !0),
1304
+ e.value.style.layout.dataLabels.xAxis.show ? (r(), c("g", {
1305
+ key: 7,
1306
+ ref_key: "xAxisLabelLeft",
1307
+ ref: We
1308
+ }, [
1309
+ w("text", {
1310
+ id: `vue-ui-scatter-xAxis-label-${X.value}`,
1311
+ transform: `translate(${e.value.style.layout.dataLabels.xAxis.fontSize}, ${n.value.top + n.value.height / 2}), rotate(-90)`,
1312
+ "text-anchor": "middle",
1313
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
1314
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
1315
+ fill: e.value.style.layout.dataLabels.xAxis.color
1316
+ }, G(e.value.style.layout.dataLabels.xAxis.name), 9, Va),
1317
+ w("text", {
1318
+ "text-anchor": "middle",
1319
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
1320
+ fill: e.value.style.layout.dataLabels.xAxis.color,
1321
+ transform: `translate(${e.value.style.layout.dataLabels.xAxis.name ? e.value.style.layout.dataLabels.xAxis.fontSize * 3 : 0}, ${E.value.y + e.value.style.layout.dataLabels.xAxis.fontSize / 3}), rotate(-90)`
1322
+ }, G(y(ve)(
1323
+ e.value.style.layout.plots.selectors.labels.x.formatter,
1324
+ y(q)(D.value.xMin),
1325
+ y(le)({
1326
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1327
+ v: y(q)(D.value.xMin),
1328
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1329
+ r: e.value.style.layout.dataLabels.xAxis.rounding
1330
+ })
1331
+ )), 9, ja)
1332
+ ], 512)) : x("", !0),
1333
+ e.value.style.layout.dataLabels.xAxis.show ? (r(), c("text", {
1334
+ key: 8,
1335
+ ref_key: "xAxisLabelRight",
1336
+ ref: Ht,
1337
+ "text-anchor": "middle",
1338
+ transform: `translate(${n.value.right + e.value.style.layout.padding.right + 6}, ${E.value.y + e.value.style.layout.dataLabels.xAxis.fontSize / 3}), rotate(-90)`,
1339
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
1340
+ fill: e.value.style.layout.dataLabels.xAxis.color
1341
+ }, G(y(ve)(
1342
+ e.value.style.layout.plots.selectors.labels.x.formatter,
1343
+ y(q)(D.value.xMax),
1344
+ y(le)({
1345
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1346
+ v: y(q)(D.value.xMax),
1347
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1348
+ r: e.value.style.layout.dataLabels.xAxis.rounding
1349
+ })
1350
+ )), 9, Ga)) : x("", !0),
1351
+ e.value.style.layout.dataLabels.yAxis.show ? (r(), c("text", {
1352
+ key: 9,
1353
+ ref_key: "yAxisLabelTop",
1354
+ ref: Zt,
1355
+ x: E.value.x,
1356
+ y: n.value.top - e.value.style.layout.dataLabels.yAxis.fontSize,
1357
+ "text-anchor": "middle",
1358
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
1359
+ fill: e.value.style.layout.dataLabels.yAxis.color
1360
+ }, G(y(ve)(
1361
+ e.value.style.layout.plots.selectors.labels.y.formatter,
1362
+ y(q)(D.value.yMax),
1363
+ y(le)({
1364
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1365
+ v: y(q)(D.value.yMax),
1366
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1367
+ r: e.value.style.layout.dataLabels.yAxis.rounding
1368
+ })
1369
+ )), 9, qa)) : x("", !0),
1370
+ e.value.style.layout.dataLabels.yAxis.show ? (r(), c("g", {
1371
+ key: 10,
1372
+ ref_key: "yAxisLabelBottom",
1373
+ ref: Ne
1374
+ }, [
1375
+ w("text", {
1376
+ x: E.value.x,
1377
+ y: I.value.height - e.value.style.layout.dataLabels.yAxis.fontSize * 2,
1378
+ "text-anchor": "middle",
1379
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
1380
+ fill: e.value.style.layout.dataLabels.yAxis.color
1381
+ }, G(y(ve)(
1382
+ e.value.style.layout.plots.selectors.labels.y.formatter,
1383
+ y(q)(D.value.yMin),
1384
+ y(le)({
1385
+ p: e.value.style.layout.plots.selectors.labels.prefix,
1386
+ v: y(q)(D.value.yMin),
1387
+ s: e.value.style.layout.plots.selectors.labels.suffix,
1388
+ r: e.value.style.layout.dataLabels.yAxis.rounding
1389
+ })
1390
+ )), 9, Ha),
1391
+ w("text", {
1392
+ "text-anchor": "middle",
1393
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
1394
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal",
1395
+ fill: e.value.style.layout.dataLabels.yAxis.color,
1396
+ x: n.value.left + n.value.width / 2,
1397
+ y: I.value.height
1398
+ }, G(e.value.style.layout.dataLabels.yAxis.name), 9, Za)
1399
+ ], 512)) : x("", !0),
1400
+ w("clipPath", {
1401
+ id: `clip_path_${X.value}`
1402
+ }, [
1403
+ w("rect", {
1404
+ x: n.value.left,
1405
+ y: n.value.top,
1406
+ width: n.value.width <= 0 ? 1e-4 : n.value.width,
1407
+ height: n.value.height <= 0 ? 1e-4 : n.value.height
1408
+ }, null, 8, Ja)
1409
+ ], 8, Qa),
1410
+ e.value.style.layout.correlation.show ? (r(), c("g", Ka, [
1411
+ (r(!0), c(Z, null, te(V.value, (t, s) => (r(), c("line", {
1412
+ x1: t.correlation.x1,
1413
+ x2: t.correlation.x2,
1414
+ y1: t.correlation.y1,
1415
+ y2: t.correlation.y2,
1416
+ "stroke-dasharray": e.value.style.layout.correlation.strokeDasharray,
1417
+ stroke: t.color,
1418
+ "stroke-width": e.value.style.layout.correlation.strokeWidth,
1419
+ "clip-path": `url(#clip_path_${X.value})`
1420
+ }, null, 8, eo))), 256)),
1421
+ (r(!0), c(Z, null, te(V.value, (t, s) => (r(), c("g", null, [
1422
+ e.value.style.layout.correlation.label.show ? (r(), c("text", {
1423
+ key: 0,
1424
+ x: t.correlation.x2,
1425
+ y: t.correlation.y2,
1426
+ fill: e.value.style.layout.correlation.label.useSerieColor ? t.color : e.value.style.layout.correlation.label.color,
1427
+ "text-anchor": "end",
1428
+ "font-size": e.value.style.layout.correlation.label.fontSize,
1429
+ "font-weight": e.value.style.layout.correlation.label.bold ? "bold" : "normal"
1430
+ }, G(y(le)({
1431
+ v: y(q)(t.correlation.coefficient),
1432
+ r: e.value.style.layout.correlation.label.roundingValue
1433
+ })), 9, to)) : x("", !0)
1434
+ ]))), 256))
1435
+ ])) : x("", !0),
1436
+ P(l.$slots, "svg", {
1437
+ svg: {
1438
+ ...I.value,
1439
+ drawingArea: {
1440
+ ...n.value,
1441
+ zero: E.value
1442
+ },
1443
+ data: Ce.value
1444
+ }
1445
+ }, void 0, !0)
1446
+ ], 46, Kl)),
1447
+ l.$slots.watermark ? (r(), c("div", lo, [
1448
+ P(l.$slots, "watermark", J(K({ isPrinting: y(pt) || y(gt) })), void 0, !0)
1449
+ ])) : x("", !0),
1450
+ w("div", {
1451
+ id: `legend-bottom-${X.value}`
1452
+ }, null, 8, ao),
1453
+ vt.value ? (r(), se(bl, {
1454
+ key: 5,
1455
+ to: e.value.style.legend.position === "top" ? `#legend-top-${X.value}` : `#legend-bottom-${X.value}`
1456
+ }, [
1457
+ w("div", {
1458
+ ref_key: "chartLegend",
1459
+ ref: ot
1460
+ }, [
1461
+ e.value.style.legend.show ? (r(), se(Gl, {
1462
+ key: `legend_${rt.value}`,
1463
+ legendSet: ee.value,
1464
+ config: Kt.value,
1465
+ onClickMarker: a[3] || (a[3] = ({ legend: t }) => Le(t.id))
1466
+ }, {
1467
+ item: T(({ legend: t }) => [
1468
+ w("div", {
1469
+ onClick: (s) => t.segregate(),
1470
+ style: re(`opacity:${N.value.includes(t.id) ? 0.5 : 1}`)
1471
+ }, G(t.name), 13, oo)
1472
+ ]),
1473
+ _: 1
1474
+ }, 8, ["legendSet", "config"])) : P(l.$slots, "legend", {
1475
+ key: 1,
1476
+ legend: ee.value
1477
+ }, void 0, !0)
1478
+ ], 512)
1479
+ ], 8, ["to"])) : x("", !0),
1480
+ l.$slots.source ? (r(), c("div", {
1481
+ key: 6,
1482
+ ref_key: "source",
1483
+ ref: st,
1484
+ dir: "auto"
1485
+ }, [
1486
+ P(l.$slots, "source", {}, void 0, !0)
1487
+ ], 512)) : x("", !0),
1488
+ _e(y(It), {
1489
+ show: H.value.showTooltip && De.value,
1490
+ backgroundColor: e.value.style.tooltip.backgroundColor,
1491
+ color: e.value.style.tooltip.color,
1492
+ borderRadius: e.value.style.tooltip.borderRadius,
1493
+ borderColor: e.value.style.tooltip.borderColor,
1494
+ borderWidth: e.value.style.tooltip.borderWidth,
1495
+ fontSize: e.value.style.tooltip.fontSize,
1496
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
1497
+ position: e.value.style.tooltip.position,
1498
+ offsetY: e.value.style.tooltip.offsetY,
1499
+ parent: oe.value,
1500
+ content: Ee.value,
1501
+ isFullscreen: ce.value,
1502
+ isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
1503
+ smooth: e.value.style.tooltip.smooth,
1504
+ backdropFilter: e.value.style.tooltip.backdropFilter,
1505
+ smoothForce: e.value.style.tooltip.smoothForce,
1506
+ smoothSnapThreshold: e.value.style.tooltip.smoothSnapThreshold
1507
+ }, {
1508
+ "tooltip-before": T(() => [
1509
+ P(l.$slots, "tooltip-before", J(K({ ...Ue.value })), void 0, !0)
1510
+ ]),
1511
+ "tooltip-after": T(() => [
1512
+ P(l.$slots, "tooltip-after", J(K({ ...Ue.value })), void 0, !0)
1513
+ ]),
1514
+ default: T(() => [
1515
+ e.value.style.tooltip.showShape ? (r(), c("div", so, [
1516
+ (r(), c("svg", no, [
1517
+ _e(et, {
1518
+ shape: p.value.shape,
1519
+ color: p.value.color,
1520
+ plot: { x: 10, y: 10 },
1521
+ radius: 7
1522
+ }, null, 8, ["shape", "color"])
1523
+ ]))
1524
+ ])) : x("", !0)
1525
+ ]),
1526
+ _: 3
1527
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1528
+ tt.value && e.value.userOptions.buttons.table ? (r(), se(kl(be.value.component), wl({ key: 7 }, be.value.props, {
1529
+ ref_key: "tableUnit",
1530
+ ref: xe,
1531
+ onClose: Lt
1532
+ }), Pt({
1533
+ content: T(() => [
1534
+ (r(), se(y(Rt), {
1535
+ key: `table_${it.value}`,
1536
+ colNames: Be.value.colNames,
1537
+ head: Be.value.head,
1538
+ body: Be.value.body,
1539
+ config: Be.value.config,
1540
+ title: e.value.table.useDialog ? "" : be.value.title,
1541
+ withCloseButton: !e.value.table.useDialog,
1542
+ onClose: Lt
1543
+ }, {
1544
+ th: T(({ th: t }) => [
1545
+ Ot(G(t), 1)
1546
+ ]),
1547
+ td: T(({ td: t }) => [
1548
+ t.shape ? (r(), c("div", uo, [
1549
+ w("span", null, G(t.content), 1)
1550
+ ])) : (r(), c("div", {
1551
+ key: 1,
1552
+ innerHTML: t
1553
+ }, null, 8, io))
1554
+ ]),
1555
+ _: 1
1556
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
1557
+ ]),
1558
+ _: 2
1559
+ }, [
1560
+ e.value.table.useDialog ? {
1561
+ name: "title",
1562
+ fn: T(() => [
1563
+ Ot(G(be.value.title), 1)
1564
+ ]),
1565
+ key: "0"
1566
+ } : void 0,
1567
+ e.value.table.useDialog ? {
1568
+ name: "actions",
1569
+ fn: T(() => [
1570
+ w("button", {
1571
+ tabindex: "0",
1572
+ class: "vue-ui-user-options-button",
1573
+ onClick: a[4] || (a[4] = (t) => Ge(e.value.userOptions.callbacks.csv))
1574
+ }, [
1575
+ _e(y(Xt), {
1576
+ name: "excel",
1577
+ stroke: be.value.props.color
1578
+ }, null, 8, ["stroke"])
1579
+ ])
1580
+ ]),
1581
+ key: "1"
1582
+ } : void 0
1583
+ ]), 1040)) : x("", !0),
1584
+ y(ct) ? (r(), se(Xl, { key: 8 })) : x("", !0)
1585
+ ], 46, Ql));
1586
+ }
1587
+ }, So = /* @__PURE__ */ Zl(ro, [["__scopeId", "data-v-f81cc924"]]);
1588
+ export {
1589
+ So as default
1590
+ };