vue-data-ui 3.26.4 → 3.27.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 (200) hide show
  1. package/dist/{Arrow-BW_Fs3gD.js → Arrow-DKO1l8oR.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BniZj4c8.js → BaseDraggableDialog-C50TEJFv.js} +2 -2
  3. package/dist/{BaseIcon-CPBlYfWq.js → BaseIcon-Cx9FD751.js} +1 -1
  4. package/dist/{BaseLegendToggle-CWtURpCj.js → BaseLegendToggle-CP3sddwv.js} +1 -1
  5. package/dist/{BaseZoomControls-jfXIQvEi.js → BaseZoomControls-vNi8YykO.js} +2 -2
  6. package/dist/{ColorPicker-BKndMOAm.js → ColorPicker-hmC2bvwS.js} +2 -2
  7. package/dist/{DataTable-DV4Plrm3.js → DataTable-CjF_An2h.js} +2 -2
  8. package/dist/{HillActions-B45z2DmP.js → HillActions-DqqGB33u.js} +1 -1
  9. package/dist/{Legend-CJzCVAWl.js → Legend-CulFgjUY.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-B3I_UGDm.js → NonSvgPenAndPaper-BK1v_MfW.js} +3 -3
  11. package/dist/{PackageVersion-DEAYvEjl.js → PackageVersion-D7H9nfK0.js} +1 -1
  12. package/dist/{PenAndPaper-Dv8WPVwA.js → PenAndPaper-CNiuGw6k.js} +3 -3
  13. package/dist/{Shape-BIe6C0HJ.js → Shape-DSwamtmO.js} +1 -1
  14. package/dist/{SlicerPreview-8atniw0P.js → SlicerPreview-k5YerMA9.js} +12 -12
  15. package/dist/{SparkTooltip-DsGcGbm2.js → SparkTooltip-D35KVv6N.js} +6 -6
  16. package/dist/{Title-B4UpMerH.js → Title-BMCuINbv.js} +1 -1
  17. package/dist/{Tooltip-BmfGHn1L.js → Tooltip-C4ZTwkLF.js} +1 -1
  18. package/dist/{UserOptions-C92R4ACT.js → UserOptions-CORYQiif.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BL08UcHI.js → dom-to-png-CBusMkua.js} +1 -1
  91. package/dist/{exposedLib-CBUiJ5b-.js → exposedLib-UNxZlnAS.js} +10 -10
  92. package/dist/{img--C0otIB0.js → img-Bb5rHcpO.js} +1 -1
  93. package/dist/{labelUtils-CfQIxXGL.js → labelUtils-Ccn9kK7T.js} +1 -1
  94. package/dist/{lib-DTiqmM1G.js → lib-D4wK6ljP.js} +130 -136
  95. package/dist/{package-Dj6ohGVJ.js → package-DmQufM0G.js} +1 -1
  96. package/dist/{pdf-CbSwKZjC.js → pdf-BzIQHx-F.js} +1 -1
  97. package/dist/{render-common-vuBsglf8.js → render-common-BtfjXdkJ.js} +10 -10
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +212 -60
  103. package/dist/types/vue-ui-stackbar.d.ts +10 -0
  104. package/dist/{useConfig-DObkR9Aa.js → useConfig-D_6ZrPMD.js} +82 -0
  105. package/dist/{useNestedProp-D8cRQaVo.js → useNestedProp-DR_8JPol.js} +1 -1
  106. package/dist/{useObjectBindings-CPmyIJxB.js → useObjectBindings-DvasYMGu.js} +2 -2
  107. package/dist/{usePrinter-R2nu9g4B.js → usePrinter-DdW2GSm0.js} +2 -2
  108. package/dist/utils.js +10 -10
  109. package/dist/{vue-data-ui-CijFk00w.js → vue-data-ui-Df7WV80w.js} +70 -70
  110. package/dist/vue-data-ui.js +75 -75
  111. package/dist/{vue-ui-3d-bar-BxmndVBz.js → vue-ui-3d-bar-CJjNPwhG.js} +463 -463
  112. package/dist/{vue-ui-accordion-CxMo-mXC.js → vue-ui-accordion-CaoNWreI.js} +4 -4
  113. package/dist/{vue-ui-age-pyramid-ysX_ySuK.js → vue-ui-age-pyramid-BYcM0uIP.js} +22 -22
  114. package/dist/{vue-ui-annotator-IAqTX-5M.js → vue-ui-annotator-BmqjDjRF.js} +10 -10
  115. package/dist/{vue-ui-bullet-rO5_pB7t.js → vue-ui-bullet-DBOAvpBB.js} +18 -18
  116. package/dist/vue-ui-bump-rPYwDJ4o.js +1242 -0
  117. package/dist/{vue-ui-candlestick-BLxP54W4.js → vue-ui-candlestick-WQHIQNv_.js} +625 -625
  118. package/dist/{vue-ui-carousel-table-DHbt40ze.js → vue-ui-carousel-table-Dojcvt49.js} +106 -106
  119. package/dist/{vue-ui-chestnut-CHHZx5ek.js → vue-ui-chestnut-BdhEByUf.js} +65 -65
  120. package/dist/{vue-ui-chord-WmqFMK4A.js → vue-ui-chord-MF4xF5az.js} +46 -46
  121. package/dist/{vue-ui-circle-pack-D2RXFToP.js → vue-ui-circle-pack-BwDim7G8.js} +26 -26
  122. package/dist/{vue-ui-cursor-CDf6s7AZ.js → vue-ui-cursor-w_5cbpSb.js} +61 -61
  123. package/dist/{vue-ui-dag-Ba3Bkxd7.js → vue-ui-dag-D2EUqeDN.js} +65 -65
  124. package/dist/{vue-ui-dashboard-DKCEm56d.js → vue-ui-dashboard-BLnVXosj.js} +70 -70
  125. package/dist/{vue-ui-digits-B6cSEytP.js → vue-ui-digits-zSqwYWHm.js} +4 -4
  126. package/dist/{vue-ui-donut-BfAlXtvS.js → vue-ui-donut-ZYZfqIhi.js} +117 -117
  127. package/dist/{vue-ui-donut-evolution-C2TYUKag.js → vue-ui-donut-evolution-DtLbWi3h.js} +216 -216
  128. package/dist/vue-ui-donut-nLDLZwig.js +2427 -0
  129. package/dist/{vue-ui-dumbbell-GMQ4JZf_.js → vue-ui-dumbbell-Qgn3wRyI.js} +20 -20
  130. package/dist/{vue-ui-flow-B53jXaVQ.js → vue-ui-flow-iSH6dyGw.js} +109 -109
  131. package/dist/vue-ui-funnel-Cc2z2zS5.js +749 -0
  132. package/dist/{vue-ui-galaxy-CE7LYi8M.js → vue-ui-galaxy-GhuBSU0o.js} +267 -267
  133. package/dist/vue-ui-gauge-BAjBO13a.js +934 -0
  134. package/dist/{vue-ui-geo-B4a2hwYf.js → vue-ui-geo-mwTtvIHY.js} +19 -19
  135. package/dist/{vue-ui-gizmo-CY4cLNcJ.js → vue-ui-gizmo-B5vOOrZX.js} +4 -4
  136. package/dist/vue-ui-heatmap-fimkY1nN.js +1613 -0
  137. package/dist/{vue-ui-hill-CTPzgkCs.js → vue-ui-hill-DPfTt3UE.js} +18 -18
  138. package/dist/{vue-ui-history-plot-CGFijdmp.js → vue-ui-history-plot-B1WgzqTb.js} +53 -53
  139. package/dist/vue-ui-horizontal-bar-Bkp5HQdt.js +1723 -0
  140. package/dist/{vue-ui-kpi-Bu2OpF5d.js → vue-ui-kpi-D-p0CSQh.js} +4 -4
  141. package/dist/{vue-ui-label-CWFQzKOy.js → vue-ui-label-r3-QloJL.js} +65 -65
  142. package/dist/{vue-ui-mini-loader-hdh8SSxW.js → vue-ui-mini-loader-CnrBGAtM.js} +3 -3
  143. package/dist/vue-ui-molecule-BhdAYX_H.js +941 -0
  144. package/dist/vue-ui-mood-radar-CdlnPrQf.js +1111 -0
  145. package/dist/{vue-ui-nested-donuts-DN2PgxeK.js → vue-ui-nested-donuts-DceVEyUc.js} +341 -341
  146. package/dist/{vue-ui-onion-lrDciRpg.js → vue-ui-onion-_L0uEATI.js} +209 -209
  147. package/dist/vue-ui-parallel-coordinate-plot-CbXwIM47.js +1444 -0
  148. package/dist/{vue-ui-quadrant-DrcflMPg.js → vue-ui-quadrant-CDDFLRcX.js} +55 -55
  149. package/dist/{vue-ui-quick-chart-D5ZFV0Aj.js → vue-ui-quick-chart-Dom257hl.js} +377 -377
  150. package/dist/vue-ui-radar-BLdri1bA.js +1386 -0
  151. package/dist/{vue-ui-rating-DxBJXbPW.js → vue-ui-rating-C_iTttXB.js} +25 -25
  152. package/dist/vue-ui-relation-circle-BmxTSgjd.js +905 -0
  153. package/dist/vue-ui-ridgeline-CsUrcVmL.js +1630 -0
  154. package/dist/{vue-ui-rings-6OHcBlOC.js → vue-ui-rings-D_GPkgbD.js} +318 -318
  155. package/dist/vue-ui-scatter-D_C-IhnW.js +2418 -0
  156. package/dist/{vue-ui-skeleton--HlS7ySk.js → vue-ui-skeleton-t7e6KEZ2.js} +60 -60
  157. package/dist/{vue-ui-smiley-ZrM6-QCy.js → vue-ui-smiley-Dl95YWVo.js} +14 -14
  158. package/dist/{vue-ui-spark-trend-CIfpocxI.js → vue-ui-spark-trend-pkZA7u5V.js} +20 -20
  159. package/dist/{vue-ui-sparkbar-Db7Ntacd.js → vue-ui-sparkbar-Ds7OJjhG.js} +77 -77
  160. package/dist/{vue-ui-sparkgauge-DEuNFkU_.js → vue-ui-sparkgauge-US1M88qc.js} +6 -6
  161. package/dist/vue-ui-sparkhistogram-FISVpSvv.js +589 -0
  162. package/dist/{vue-ui-sparkline-CSsnkXMJ.js → vue-ui-sparkline-DvE1dHcs.js} +37 -37
  163. package/dist/{vue-ui-sparkstackbar-BnN7KebI.js → vue-ui-sparkstackbar-CWtF9eG-.js} +39 -39
  164. package/dist/vue-ui-stackbar-fMgrHzZe.js +3273 -0
  165. package/dist/{vue-ui-stackline-CqjwxpU1.js → vue-ui-stackline-CSMuUup2.js} +303 -303
  166. package/dist/vue-ui-strip-plot-TGD2UFHS.js +1752 -0
  167. package/dist/{vue-ui-table-CsMozTrM.js → vue-ui-table-BCEIbg8-.js} +14 -14
  168. package/dist/{vue-ui-table-heatmap-DFcESbBy.js → vue-ui-table-heatmap-CvUcFWMf.js} +9 -9
  169. package/dist/vue-ui-table-sparkline-CoVQ1qGY.js +738 -0
  170. package/dist/vue-ui-thermometer-BYFAZCzh.js +758 -0
  171. package/dist/{vue-ui-timer-CFxvU_q1.js → vue-ui-timer-BKr8RVnn.js} +10 -10
  172. package/dist/{vue-ui-tiremarks-DIjsyNwO.js → vue-ui-tiremarks-BYu3cEoy.js} +35 -35
  173. package/dist/{vue-ui-treemap-BuvFUWJm.js → vue-ui-treemap-BR3rX5_L.js} +50 -50
  174. package/dist/{vue-ui-waffle-B8Knvp7m.js → vue-ui-waffle-mP8g5aQk.js} +275 -275
  175. package/dist/{vue-ui-wheel-2_4BOo6P.js → vue-ui-wheel-CZsSO2R6.js} +187 -187
  176. package/dist/{vue-ui-word-cloud-BEgmAfj1.js → vue-ui-word-cloud-CJ30onqy.js} +35 -35
  177. package/dist/{vue-ui-world-D4WMHq7E.js → vue-ui-world-BZ09DOiF.js} +498 -498
  178. package/dist/{vue-ui-xy-DBLJ8Uhc.js → vue-ui-xy-C3h54loZ.js} +405 -405
  179. package/dist/{vue-ui-xy-canvas-Dv0pk4Wd.js → vue-ui-xy-canvas-BwgK8drp.js} +165 -165
  180. package/dist/{vue-ui-xy-DGIz4MDV.js → vue-ui-xy-jemv5dsf.js} +288 -288
  181. package/dist/{vue_ui_stackbar-DdjDL6aq.js → vue_ui_stackbar-yQyvT4Su.js} +46 -0
  182. package/package.json +1 -1
  183. package/dist/vue-ui-bump-BIyTRpqJ.js +0 -1242
  184. package/dist/vue-ui-donut-DMISY-E8.js +0 -2427
  185. package/dist/vue-ui-funnel-eVH871L3.js +0 -749
  186. package/dist/vue-ui-gauge-D_jNBHjA.js +0 -934
  187. package/dist/vue-ui-heatmap-DW7bo_Um.js +0 -1613
  188. package/dist/vue-ui-horizontal-bar-vPeWNfxO.js +0 -1723
  189. package/dist/vue-ui-molecule-ejjPjG63.js +0 -941
  190. package/dist/vue-ui-mood-radar-pqMAcUWm.js +0 -1111
  191. package/dist/vue-ui-parallel-coordinate-plot-McES6sLT.js +0 -1444
  192. package/dist/vue-ui-radar-DZPVV9cU.js +0 -1386
  193. package/dist/vue-ui-relation-circle-BtESVsB0.js +0 -905
  194. package/dist/vue-ui-ridgeline-CSLuDJWq.js +0 -1630
  195. package/dist/vue-ui-scatter-CKJ87fhp.js +0 -2418
  196. package/dist/vue-ui-sparkhistogram-CQTwLaZi.js +0 -589
  197. package/dist/vue-ui-stackbar-CISQXhoK.js +0 -2660
  198. package/dist/vue-ui-strip-plot-CRZDCNc1.js +0 -1752
  199. package/dist/vue-ui-table-sparkline-CwsrD7te.js +0 -738
  200. package/dist/vue-ui-thermometer-_zSQM0Nk.js +0 -758
@@ -0,0 +1,2418 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, $t as n, Ct as r, D as i, Dt as a, F as o, Ht as s, Jt as c, P as l, S as u, X as d, _ as f, at as p, b as m, en as ee, et as te, i as h, jt as ne, nn as re, nt as ie, pt as ae, t as oe, v as se, w as ce, yt as le, zt as ue } from "./lib-D4wK6ljP.js";
3
+ import { n as de, t as fe } from "./useHints-Dq_w2E8B.js";
4
+ import { t as pe } from "./useConfig-D_6ZrPMD.js";
5
+ import { t as me } from "./usePrinter-DdW2GSm0.js";
6
+ import { n as he, t as ge } from "./BaseScanner-Dzc8VT3j.js";
7
+ import { t as _e } from "./useNestedProp-DR_8JPol.js";
8
+ import { t as ve } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as ye } from "./useChartExport-iwOqiIWX.js";
10
+ import { t as be } from "./useTransitions-g_zBREk2.js";
11
+ import { t as xe } from "./img-Bb5rHcpO.js";
12
+ import { n as Se } from "./Title-BMCuINbv.js";
13
+ import { t as Ce } from "./Shape-DSwamtmO.js";
14
+ import { t as we } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
+ import { l as Te, t as Ee } from "./useResponsive-ZtArZtUf.js";
16
+ import { t as De } from "./DefGrad-DVBqDjhO.js";
17
+ import { t as Oe } from "./BaseLegendToggle-CP3sddwv.js";
18
+ import { t as ke } from "./A11yDataTable-DdRsVULz.js";
19
+ import { t as Ae } from "./useUserOptionState-DK-_1ddE.js";
20
+ import { t as je } from "./useChartAccessibility-DYqac8yF.js";
21
+ import { t as Me } from "./Legend-CulFgjUY.js";
22
+ import { t as Ne } from "./vue_ui_scatter-I0POnicu.js";
23
+ import { Fragment as g, Teleport as Pe, computed as _, createBlock as Fe, createCommentVNode as v, createElementBlock as y, createElementVNode as b, createSlots as Ie, createTextVNode as Le, createVNode as Re, defineAsyncComponent as ze, guardReactiveProps as x, mergeProps as Be, nextTick as Ve, normalizeClass as He, normalizeProps as S, normalizeStyle as Ue, onBeforeUnmount as We, onMounted as Ge, openBlock as C, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as Ke, shallowRef as qe, toDisplayString as D, toRefs as Je, unref as O, watch as Ye, withCtx as k } from "vue";
24
+ //#region src/components/vue-ui-scatter.vue
25
+ var Xe = /* @__PURE__ */ e({ default: () => bn }), Ze = ["id"], Qe = ["id"], $e = {
26
+ key: 0,
27
+ class: "sr-only",
28
+ "aria-live": "polite",
29
+ "aria-atomic": "true"
30
+ }, et = ["id"], tt = { style: { position: "relative" } }, nt = [
31
+ "xmlns",
32
+ "aria-describedby",
33
+ "viewBox"
34
+ ], rt = ["width", "height"], it = { key: 1 }, at = [
35
+ "x1",
36
+ "x2",
37
+ "y1",
38
+ "y2",
39
+ "stroke",
40
+ "stroke-width"
41
+ ], ot = [
42
+ "x1",
43
+ "x2",
44
+ "y1",
45
+ "y2",
46
+ "stroke",
47
+ "stroke-width"
48
+ ], st = { key: 2 }, ct = [
49
+ "x1",
50
+ "x2",
51
+ "y1",
52
+ "y2",
53
+ "stroke",
54
+ "stroke-width"
55
+ ], lt = ["opacity"], ut = [
56
+ "stroke",
57
+ "stroke-width",
58
+ "d"
59
+ ], dt = [
60
+ "transform",
61
+ "font-size",
62
+ "fill",
63
+ "stroke"
64
+ ], ft = { key: 4 }, pt = [
65
+ "x1",
66
+ "x2",
67
+ "y1",
68
+ "y2",
69
+ "stroke",
70
+ "stroke-width"
71
+ ], mt = ["opacity"], ht = [
72
+ "d",
73
+ "stroke",
74
+ "stroke-width"
75
+ ], gt = [
76
+ "transform",
77
+ "font-size",
78
+ "fill",
79
+ "stroke"
80
+ ], _t = { key: 6 }, vt = [
81
+ "x",
82
+ "y",
83
+ "width",
84
+ "height",
85
+ "fill",
86
+ "stroke",
87
+ "stroke-width",
88
+ "rx"
89
+ ], yt = [
90
+ "x",
91
+ "y",
92
+ "width",
93
+ "height",
94
+ "onMouseenter"
95
+ ], bt = {
96
+ key: 2,
97
+ style: { "pointer-events": "none" }
98
+ }, xt = [
99
+ "x",
100
+ "y",
101
+ "width",
102
+ "height",
103
+ "fill",
104
+ "fill-opacity"
105
+ ], St = [
106
+ "x1",
107
+ "x2",
108
+ "y2",
109
+ "stroke",
110
+ "stroke-dasharray",
111
+ "stroke-width"
112
+ ], Ct = [
113
+ "x1",
114
+ "x2",
115
+ "y2",
116
+ "stroke",
117
+ "stroke-dasharray",
118
+ "stroke-width"
119
+ ], wt = [
120
+ "x",
121
+ "y",
122
+ "height",
123
+ "width",
124
+ "fill",
125
+ "stroke",
126
+ "stroke-width",
127
+ "rx"
128
+ ], Tt = [
129
+ "x",
130
+ "y",
131
+ "width",
132
+ "height",
133
+ "onMouseenter"
134
+ ], Et = {
135
+ key: 2,
136
+ style: { "pointer-events": "none" }
137
+ }, Dt = [
138
+ "x",
139
+ "y",
140
+ "width",
141
+ "height",
142
+ "fill",
143
+ "fill-opacity"
144
+ ], Ot = [
145
+ "x1",
146
+ "x2",
147
+ "y1",
148
+ "y2",
149
+ "stroke",
150
+ "stroke-dasharray",
151
+ "stroke-width"
152
+ ], kt = [
153
+ "x1",
154
+ "x2",
155
+ "y1",
156
+ "y2",
157
+ "stroke",
158
+ "stroke-dasharray",
159
+ "stroke-width"
160
+ ], At = {
161
+ key: 0,
162
+ style: { "pointer-events": "none" }
163
+ }, jt = [
164
+ "d",
165
+ "stroke",
166
+ "stroke-width"
167
+ ], Mt = [
168
+ "d",
169
+ "stroke",
170
+ "stroke-width"
171
+ ], Nt = [
172
+ "d",
173
+ "stroke",
174
+ "stroke-width"
175
+ ], Pt = [
176
+ "d",
177
+ "stroke",
178
+ "stroke-width"
179
+ ], Ft = { key: 7 }, It = [
180
+ "points",
181
+ "fill",
182
+ "stroke-width",
183
+ "stroke-dasharray",
184
+ "stroke"
185
+ ], Lt = {
186
+ key: 0,
187
+ class: "vue-ui-scatter-datapoint"
188
+ }, Rt = [
189
+ "cx",
190
+ "cy",
191
+ "r",
192
+ "fill",
193
+ "stroke",
194
+ "stroke-width",
195
+ "onMouseover",
196
+ "onMouseleave",
197
+ "onClick"
198
+ ], zt = { key: 1 }, Bt = [
199
+ "transform",
200
+ "font-size",
201
+ "fill",
202
+ "onMouseover",
203
+ "onMouseleave",
204
+ "onClick"
205
+ ], Vt = [
206
+ "d",
207
+ "fill",
208
+ "stroke",
209
+ "stroke-width",
210
+ "stroke-opacity"
211
+ ], Ht = {
212
+ key: 0,
213
+ style: { "pointer-events": "none" }
214
+ }, Ut = [
215
+ "x",
216
+ "y",
217
+ "width",
218
+ "height"
219
+ ], Wt = {
220
+ key: 0,
221
+ style: { "pointer-events": "none !important" }
222
+ }, Gt = [
223
+ "x1",
224
+ "x2",
225
+ "y1",
226
+ "y2",
227
+ "stroke",
228
+ "stroke-width",
229
+ "stroke-dasharray"
230
+ ], Kt = [
231
+ "x1",
232
+ "x2",
233
+ "y1",
234
+ "y2",
235
+ "stroke",
236
+ "stroke-width",
237
+ "stroke-dasharray"
238
+ ], qt = [
239
+ "x",
240
+ "y",
241
+ "font-size",
242
+ "fill",
243
+ "font-weight",
244
+ "text-anchor"
245
+ ], Jt = [
246
+ "x",
247
+ "y",
248
+ "font-size",
249
+ "fill",
250
+ "font-weight"
251
+ ], Yt = [
252
+ "x",
253
+ "y",
254
+ "font-size",
255
+ "fill"
256
+ ], Xt = [
257
+ "x",
258
+ "y",
259
+ "font-size",
260
+ "fill"
261
+ ], Zt = [
262
+ "cx",
263
+ "cy",
264
+ "r",
265
+ "fill",
266
+ "stroke",
267
+ "stroke-width"
268
+ ], Qt = [
269
+ "cx",
270
+ "cy",
271
+ "r",
272
+ "fill",
273
+ "stroke",
274
+ "stroke-width"
275
+ ], $t = [
276
+ "x",
277
+ "y",
278
+ "font-size",
279
+ "fill",
280
+ "font-weight",
281
+ "text-anchor"
282
+ ], en = [
283
+ "id",
284
+ "transform",
285
+ "font-size",
286
+ "font-weight",
287
+ "fill"
288
+ ], tn = [
289
+ "font-size",
290
+ "fill",
291
+ "transform"
292
+ ], nn = [
293
+ "transform",
294
+ "font-size",
295
+ "fill"
296
+ ], rn = [
297
+ "x",
298
+ "y",
299
+ "font-size",
300
+ "fill"
301
+ ], an = [
302
+ "x",
303
+ "y",
304
+ "font-size",
305
+ "fill"
306
+ ], on = [
307
+ "font-size",
308
+ "font-weight",
309
+ "fill",
310
+ "x",
311
+ "y"
312
+ ], sn = ["id"], cn = [
313
+ "x",
314
+ "y",
315
+ "width",
316
+ "height"
317
+ ], ln = {
318
+ key: 14,
319
+ style: { pointerEvents: "none" }
320
+ }, un = [
321
+ "x1",
322
+ "x2",
323
+ "y1",
324
+ "y2",
325
+ "stroke-dasharray",
326
+ "stroke",
327
+ "stroke-width",
328
+ "clip-path"
329
+ ], dn = [
330
+ "x",
331
+ "y",
332
+ "fill",
333
+ "font-size",
334
+ "font-weight"
335
+ ], fn = {
336
+ key: 0,
337
+ style: {
338
+ position: "absolute",
339
+ top: "100%",
340
+ left: "0",
341
+ width: "100%"
342
+ },
343
+ "data-dom-to-png-ignore": "",
344
+ "aria-hidden": "true"
345
+ }, pn = {
346
+ key: 6,
347
+ class: "vue-data-ui-watermark"
348
+ }, mn = ["id"], hn = ["onClick"], gn = {
349
+ key: 0,
350
+ style: {
351
+ width: "100%",
352
+ display: "flex",
353
+ "align-items": "center",
354
+ "justify-content": "center"
355
+ }
356
+ }, _n = {
357
+ viewBox: "0 0 20 20",
358
+ height: "20",
359
+ width: "20",
360
+ style: {
361
+ overflow: "hidden",
362
+ background: "transparent"
363
+ }
364
+ }, vn = { key: 0 }, yn = ["innerHTML"], bn = /*#__PURE__*/ we({
365
+ __name: "vue-ui-scatter",
366
+ props: {
367
+ config: {
368
+ type: Object,
369
+ default() {
370
+ return {};
371
+ }
372
+ },
373
+ dataset: {
374
+ type: Array,
375
+ default() {
376
+ return [];
377
+ }
378
+ }
379
+ },
380
+ emits: ["copyAlt", "selectLegend"],
381
+ setup(e, { expose: we, emit: Xe }) {
382
+ let bn = ze(() => import("./Tooltip-C4ZTwkLF.js")), xn = ze(() => import("./BaseIcon-Cx9FD751.js").then((e) => e.n)), Sn = ze(() => import("./vue-ui-accordion-CaoNWreI.js").then((e) => e.n)), Cn = ze(() => import("./DataTable-CjF_An2h.js")), wn = ze(() => import("./PenAndPaper-CNiuGw6k.js").then((e) => e.t)), Tn = ze(() => import("./UserOptions-CORYQiif.js").then((e) => e.n)), En = ze(() => import("./PackageVersion-D7H9nfK0.js").then((e) => e.t)), Dn = ze(() => import("./BaseDraggableDialog-C50TEJFv.js").then((e) => e.n)), { vue_ui_scatter: On } = pe(), { isThemeValid: kn, warnInvalidTheme: An } = ve(), A = e, jn = Xe, Mn = _(() => !!A.dataset && A.dataset.length), j = w(d()), Nn = w(!1), Pn = w(""), Fn = w(0), In = w(null), Ln = w(null), Rn = w(null), zn = w(null), Bn = w(null), Vn = w(0), Hn = w(0), Un = w(0), M = w([]), Wn = w(!1), Gn = w(null), Kn = w(null), qn = w(null), Jn = w(null), Yn = w(null), Xn = w(null), Zn = w(null), Qn = w(null), $n = w(null), er = w(null), tr = w(null), nr = w({
383
+ x: 0,
384
+ y: 0
385
+ }), rr = w("pointer"), ir = w(!1), ar = w(null), N = w(vr()), P = _(() => N.value.userOptions), F = _(() => N.value.style.layout.dataLabels.xAxis), I = _(() => N.value.style.layout.dataLabels.yAxis), L = _(() => N.value.style.layout.marginalBars), R = _(() => N.value.style.layout.plots), z = _(() => N.value.style.tooltip), B = _(() => N.value.style);
386
+ de({
387
+ config: () => N.value,
388
+ dataset: () => A.dataset,
389
+ component: "VueUiScatter",
390
+ rules: [fe.emptyArray, {
391
+ test: (e) => e.length > 6,
392
+ message: [
393
+ "👀 The number of series (clusters) is > 6. Consider:",
394
+ "",
395
+ "",
396
+ "▶️ Using filters to let users choose a maximum number of series (clusters) to display."
397
+ ]
398
+ }]
399
+ });
400
+ let { transitionEnabled: or } = be({
401
+ config: () => N.value.transitions,
402
+ dataset: () => A.dataset
403
+ }), sr = _(() => N.value.userOptions.useCursorPointer), cr = _(() => a(N.value.events?.datapointClick));
404
+ function lr(e = 100, t = .8, n = {}) {
405
+ let { meanX: r = 0, sdX: i = 1, meanY: a = 0, sdY: o = 1, seed: s } = n, c = (s ?? Math.floor(Math.random() * 2 ** 31)) >>> 0, l = () => (c = c * 1664525 + 1013904223 >>> 0, c / 2 ** 32), u = () => {
406
+ let e = 0, t = 0;
407
+ for (; e === 0;) e = l();
408
+ for (; t === 0;) t = l();
409
+ return Math.sqrt(-2 * Math.log(e)) * Math.cos(2 * Math.PI * t);
410
+ }, d = e / 2, f = Array.from({ length: d }, u), p = Array.from({ length: d }, u), m = (e) => e.reduce((e, t) => e + t, 0) / e.length, ee = m(f), te = m(p);
411
+ for (let e = 0; e < d; e += 1) f[e] -= ee, p[e] -= te;
412
+ let h = (e, t) => e.reduce((e, n, r) => e + n * t[r], 0), ne = (e) => h(e, e), re = h(p, f) / ne(f), ie = p.map((e, t) => e - re * f[t]), ae = ne(f) / d, oe = ne(ie) / d, se = Math.sqrt((1 - t * t) * ae / oe), ce = f.map((e, n) => t * e + se * ie[n]), le = f.concat(f.map((e) => -e)), ue = ce.concat(ce.map((e) => -e)), de = (e) => Math.sqrt(ne(e) / e.length), fe = (e, t, n) => {
413
+ let r = de(e);
414
+ return e.map((e) => n + (r ? e / r * t : 0));
415
+ }, pe = fe(le, i, r), me = fe(ue, o, a);
416
+ for (let e = pe.length - 1; e > 0; --e) {
417
+ let t = Math.floor(l() * (e + 1));
418
+ [pe[e], pe[t]] = [pe[t], pe[e]], [me[e], me[t]] = [me[t], me[e]];
419
+ }
420
+ return pe.map((e, t) => ({
421
+ x: e,
422
+ y: me[t]
423
+ }));
424
+ }
425
+ let ur = _(() => re({
426
+ defaultConfig: {
427
+ userOptions: { show: !1 },
428
+ table: { show: !1 },
429
+ useCssAnimation: !1,
430
+ style: {
431
+ backgroundColor: "#99999930",
432
+ layout: {
433
+ axis: { stroke: "#6A6A6A" },
434
+ correlation: { label: { show: !1 } },
435
+ dataLabels: {
436
+ xAxis: { show: !1 },
437
+ yAxis: { show: !1 }
438
+ },
439
+ marginalBars: { fill: "#99999960" },
440
+ padding: {
441
+ top: 12,
442
+ right: 12,
443
+ bottom: 12,
444
+ left: 12
445
+ },
446
+ plots: { stroke: "#6A6A6A" }
447
+ },
448
+ legend: { backgroundColor: "transparent" }
449
+ }
450
+ },
451
+ userConfig: N.value.skeletonConfig ?? {}
452
+ })), { loading: dr, FINAL_DATASET: fr, manualLoading: pr } = he({
453
+ ...Je(A),
454
+ FINAL_CONFIG: N,
455
+ prepareConfig: vr,
456
+ skeletonDataset: A.config?.skeletonDataset ?? [{
457
+ name: "",
458
+ color: "#999999",
459
+ values: lr(100, .5, { seed: 42 })
460
+ }],
461
+ skeletonConfig: re({
462
+ defaultConfig: N.value,
463
+ userConfig: ur.value
464
+ })
465
+ }), { userOptionsVisible: mr, setUserOptionsVisibility: hr, keepUserOptionState: gr } = Ae({ config: N.value }), { svgRef: _r } = je({ config: B.value.title });
466
+ function vr() {
467
+ let e = _e({
468
+ userConfig: A.config,
469
+ defaultConfig: On
470
+ }), t = e.theme;
471
+ if (!t) return e;
472
+ if (!kn.value(e)) return An(e), e;
473
+ let n = _e({
474
+ userConfig: Ne[t] || A.config,
475
+ defaultConfig: e
476
+ }), r = _e({
477
+ userConfig: A.config,
478
+ defaultConfig: n
479
+ });
480
+ return {
481
+ ...r,
482
+ customPalette: r.customPalette.length ? r.customPalette : ee[t] || s
483
+ };
484
+ }
485
+ function yr(e) {
486
+ let t = te(e);
487
+ return t?.style && delete t.style.tooltip, JSON.stringify(t);
488
+ }
489
+ let br = yr(A.config);
490
+ Ye(() => A.config, (e, t) => {
491
+ let n = yr(e), r = n !== br;
492
+ br = n;
493
+ let i = vr();
494
+ if (!r) {
495
+ N.value.style.tooltip = i.style.tooltip, V.value.showTooltip = N.value.style.tooltip.show;
496
+ return;
497
+ }
498
+ dr.value || (N.value = i), mr.value = !N.value.userOptions.showOnChartHover, wr(), Vn.value += 1, Hn.value += 1, Un.value += 1, V.value.showTable = N.value.table.show, V.value.showTooltip = z.value.show, Cr.value && N.value.usePerformanceMode && console.warn("VueUiScatter : You are using performance mode\n\n- downsampling is disabled in this mode, all plots are rendered\n\n- plot significance is not active in this mode (all plots have the same opacity) \n\n- Depending on plot density, shapes might not display a border (stroke) to avoid fuzziness \n\nℹ️ To remove this warning, set config.debug to false.");
499
+ }, { deep: !0 }), Ye(() => A.dataset, (e) => {
500
+ Array.isArray(e) && e.length > 0 && (pr.value = !1);
501
+ }, { deep: !0 });
502
+ let xr = qe(null), Sr = qe(null);
503
+ Ge(async () => {
504
+ wr(), await Ve(), Wn.value = !0;
505
+ });
506
+ let Cr = _(() => N.value.debug);
507
+ function wr() {
508
+ if (ue(A.dataset) && (p({
509
+ componentName: "VueUiScatter",
510
+ type: "dataset",
511
+ debug: Cr.value
512
+ }), pr.value = !0), ue(A.dataset) || (pr.value = N.value.loading), N.value.responsive) {
513
+ let e = Te(() => {
514
+ let { width: e, height: t } = Ee({
515
+ chart: In.value,
516
+ title: B.value.title.text ? Ln.value : null,
517
+ legend: B.value.legend.show ? Rn.value : null,
518
+ source: zn.value,
519
+ noTitle: Bn.value
520
+ });
521
+ requestAnimationFrame(() => {
522
+ H.value.width = e, H.value.height = t;
523
+ });
524
+ });
525
+ xr.value && (Sr.value && xr.value.unobserve(Sr.value), xr.value.disconnect()), xr.value = new ResizeObserver(e), Sr.value = In.value.parentNode, xr.value.observe(Sr.value);
526
+ }
527
+ }
528
+ We(() => {
529
+ xr.value && (Sr.value && xr.value.unobserve(Sr.value), xr.value.disconnect());
530
+ });
531
+ let { isPrinting: Tr, isImaging: Er, generatePdf: Dr, generateImage: Or } = me({
532
+ elementId: `vue-ui-scatter_${j.value}`,
533
+ fileName: B.value.title.text || "vue-ui-scatter",
534
+ options: N.value.userOptions.print
535
+ }), kr = _(() => N.value.userOptions.show && !B.value.title.text), Ar = _(() => ce(N.value.customPalette)), V = w({
536
+ showTable: N.value.table.show,
537
+ showTooltip: z.value.show
538
+ });
539
+ Ye(N, () => {
540
+ V.value = {
541
+ showTable: N.value.table.show,
542
+ showTooltip: z.value.show
543
+ };
544
+ }, { immediate: !0 });
545
+ let H = w({
546
+ height: B.value.layout.height,
547
+ width: B.value.layout.width
548
+ }), jr = _(() => L.value.show ? L.value.size + L.value.offset : 0);
549
+ function Mr() {
550
+ let e = 0;
551
+ if (I.value.scales.show && $n.value) try {
552
+ e = Array.from($n.value.querySelectorAll("text")).reduce((e, t) => {
553
+ let n = t.getComputedTextLength();
554
+ return n > e ? n : e;
555
+ }, 0);
556
+ } catch {
557
+ e = 0;
558
+ }
559
+ let t = 0;
560
+ if (Yn.value) try {
561
+ t = Yn.value.getBBox().width;
562
+ } catch {
563
+ t = 0;
564
+ }
565
+ return Math.max(t, e ? e + 12 : 0);
566
+ }
567
+ function Nr() {
568
+ let e = 0;
569
+ if (Xn.value) try {
570
+ let t = Xn.value.getBBox(), n = t.x + t.width - H.value.width;
571
+ e = n > 0 ? n + 6 : 0;
572
+ } catch {
573
+ e = 0;
574
+ }
575
+ let t = 0;
576
+ if (F.value.scales.show && er.value) try {
577
+ t = Array.from(er.value.querySelectorAll("text")).reduce((e, t) => {
578
+ let n = t.getBBox(), r = n.x + n.width - H.value.width, i = r > 0 ? r + 6 : 0;
579
+ return i > e ? i : e;
580
+ }, 0);
581
+ } catch {
582
+ t = 0;
583
+ }
584
+ return e > t ? e : t;
585
+ }
586
+ let U = _(() => {
587
+ let e = 0, t = 0, n = 0;
588
+ if (e = Mr(), t = Nr(), Qn.value) try {
589
+ n = Qn.value.getBBox().height + 6;
590
+ } catch {
591
+ n = 0;
592
+ }
593
+ return {
594
+ top: B.value.layout.padding.top + jr.value + I.value.fontSize * 2,
595
+ right: H.value.width - B.value.layout.padding.right - jr.value - 6 - t,
596
+ bottom: H.value.height - B.value.layout.padding.bottom - n,
597
+ left: B.value.layout.padding.left + e,
598
+ height: H.value.height - B.value.layout.padding.top - B.value.layout.padding.bottom - jr.value - n - I.value.fontSize * 2,
599
+ width: H.value.width - B.value.layout.padding.left - B.value.layout.padding.right - jr.value - e - t - 6
600
+ };
601
+ }), Pr = _(() => {
602
+ Cr.value && fr.value.forEach((e, t) => {
603
+ le({
604
+ datasetObject: e,
605
+ requiredAttributes: ["values"]
606
+ }).forEach((e) => {
607
+ p({
608
+ componentName: "VueUiScatter",
609
+ type: "datasetSerieAttribute",
610
+ property: e,
611
+ index: t
612
+ });
613
+ }), e.values && e.values.forEach((e, n) => {
614
+ le({
615
+ datasetObject: e,
616
+ requiredAttributes: ["x", "y"]
617
+ }).forEach((e) => {
618
+ p({
619
+ componentName: "VueUiScatter",
620
+ type: "datasetSerieAttribute",
621
+ property: `values.${e}`,
622
+ index: `${t} - ${n}`
623
+ });
624
+ });
625
+ });
626
+ });
627
+ let e = Math.min(...K.value.filter((e) => !M.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.x))), t = Math.max(...K.value.filter((e) => !M.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.x))), n = Math.min(...K.value.filter((e) => !M.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.y))), r = Math.max(...K.value.filter((e) => !M.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.y)));
628
+ return {
629
+ xMin: e < 0 ? e : 0,
630
+ xMax: t,
631
+ yMin: n < 0 ? n : 0,
632
+ yMax: r
633
+ };
634
+ }), Fr = _(() => {
635
+ let e = B.value.layout.axis;
636
+ return {
637
+ xMin: e.xMin !== null && e.xMin !== void 0 ? e.xMin : Pr.value.xMin,
638
+ xMax: e.xMax !== null && e.xMax !== void 0 ? e.xMax : Pr.value.xMax,
639
+ yMin: e.yMin !== null && e.yMin !== void 0 ? e.yMin : Pr.value.yMin,
640
+ yMax: e.yMax !== null && e.yMax !== void 0 ? e.yMax : Pr.value.yMax
641
+ };
642
+ });
643
+ function Ir(e) {
644
+ return Number.isFinite(e) ? e < 2 ? 2 : Math.trunc(e) : 5;
645
+ }
646
+ function Lr(e) {
647
+ return e.roundingValue !== void 0 && e.roundingValue !== null ? e.roundingValue : e.rounding !== void 0 && e.rounding !== null ? e.rounding : 0;
648
+ }
649
+ function Rr({ minimum: e, maximum: t, stepCount: n, useNiceScale: r }) {
650
+ let i = Ir(n);
651
+ if (e === t) {
652
+ let n = t + (e === 0 ? 1 : Math.abs(e) * .01);
653
+ return (r ? f : se)(e, n, i);
654
+ }
655
+ return (r ? f : se)(e, t, i);
656
+ }
657
+ let zr = _(() => {
658
+ let e = F.value;
659
+ return Rr({
660
+ minimum: Fr.value.xMin,
661
+ maximum: Fr.value.xMax,
662
+ stepCount: e.scales.steps,
663
+ useNiceScale: e.scales.useNiceScale
664
+ });
665
+ }), Br = _(() => {
666
+ let e = I.value;
667
+ return Rr({
668
+ minimum: Fr.value.yMin,
669
+ maximum: Fr.value.yMax,
670
+ stepCount: e.scales.steps,
671
+ useNiceScale: e.scales.useNiceScale
672
+ });
673
+ }), W = _(() => ({
674
+ xMin: zr.value.min,
675
+ xMax: zr.value.max,
676
+ yMin: Br.value.min,
677
+ yMax: Br.value.max
678
+ })), Vr = _(() => {
679
+ let e = F.value, n = e.scales.labels;
680
+ return zr.value.ticks.map((r) => ({
681
+ value: r,
682
+ x: Gr(r),
683
+ label: h(n.formatter, m(r), t({
684
+ p: R.value.selectors.labels.prefix,
685
+ v: m(r),
686
+ s: R.value.selectors.labels.suffix,
687
+ r: Lr(e)
688
+ }))
689
+ }));
690
+ }), Hr = _(() => {
691
+ let e = I.value, n = e.scales.labels;
692
+ return Br.value.ticks.map((r) => ({
693
+ value: r,
694
+ y: Kr(r),
695
+ label: h(n.formatter, m(r), t({
696
+ p: R.value.selectors.labels.prefix,
697
+ v: m(r),
698
+ s: R.value.selectors.labels.suffix,
699
+ r: Lr(e)
700
+ }))
701
+ }));
702
+ }), Ur = _(() => oi.value.length > 0 && F.value.scales.show), Wr = _(() => oi.value.length > 0 && I.value.scales.show);
703
+ function Gr(e) {
704
+ let t = W.value.xMax - W.value.xMin;
705
+ return t === 0 ? U.value.left : U.value.left + (e - W.value.xMin) / t * U.value.width;
706
+ }
707
+ function Kr(e) {
708
+ let t = W.value.yMax - W.value.yMin;
709
+ return t === 0 ? U.value.bottom : U.value.bottom - (e - W.value.yMin) / t * U.value.height;
710
+ }
711
+ let G = _(() => {
712
+ let { xMin: e, xMax: t, yMin: n, yMax: r } = W.value, i = e > 0 ? e : t < 0 ? t : 0, a = n > 0 ? n : r < 0 ? r : 0;
713
+ return {
714
+ x: Gr(i),
715
+ y: Kr(a)
716
+ };
717
+ }), K = _(() => fr.value.map((e, t) => {
718
+ let n = `cluster_${j.value}_${t}`;
719
+ return {
720
+ ...e,
721
+ values: ne({
722
+ data: e.values,
723
+ threshold: N.value.usePerformanceMode ? e.values.length + 1 : N.value.downsample.threshold
724
+ }),
725
+ id: n,
726
+ color: e.color ? e.color : Ar.value[t] || s[t] || s[t % s.length],
727
+ opacity: M.value.includes(n) ? .5 : 1,
728
+ shape: e.shape ?? "circle",
729
+ segregate: () => pi(n),
730
+ isSegregated: M.value.includes(n),
731
+ hasGroupSelection: !!ti.value,
732
+ isGroupSelected: ti.value === n,
733
+ onEnter: () => ri(n),
734
+ onLeave: () => ii()
735
+ };
736
+ })), qr = _(() => ({
737
+ cy: "scatter-div-legend",
738
+ backgroundColor: B.value.legend.backgroundColor,
739
+ color: B.value.legend.color,
740
+ fontSize: B.value.legend.fontSize,
741
+ paddingBottom: 12,
742
+ fontWeight: B.value.legend.bold ? "bold" : ""
743
+ })), Jr = _(() => K.value.map((e, t) => ({
744
+ ...e,
745
+ plots: e.values.map((n, r) => ({
746
+ x: Gr(n.x),
747
+ y: Kr(n.y),
748
+ v: {
749
+ ...n,
750
+ name: n.name || ""
751
+ },
752
+ clusterName: e.name,
753
+ clusterId: e.id,
754
+ color: e.color ? e.color : Ar.value[t] || s[t] || s[t % s.length],
755
+ id: `plot_${j.value}_${t}_${r}`,
756
+ weight: n.weight ?? R.value.radius
757
+ }))
758
+ })).filter((e) => !M.value.includes(e.id))), q = _(() => {
759
+ let e = 1e-9, t = ({ m: t, b: n, rect: r, verticalX: i = null }) => {
760
+ let { left: a, right: o, top: s, bottom: c } = r, l = [], u = (e, t) => {
761
+ Number.isFinite(e) && Number.isFinite(t) && l.push({
762
+ x: e,
763
+ y: t
764
+ });
765
+ }, d = ({ x: t, y: n }) => t >= a - e && t <= o + e && n >= s - e && n <= c + e;
766
+ i === null ? Number.isFinite(t) && (u(a, t * a + n), u(o, t * o + n), Math.abs(t) > e ? (u((s - n) / t, s), u((c - n) / t, c)) : n >= s - e && n <= c + e && (u(a, n), u(o, n))) : i >= a - e && i <= o + e && (u(i, s), u(i, c));
767
+ let f = l.filter(d), p = [];
768
+ for (let e of f) p.some((t) => Math.abs(t.x - e.x) < 1e-6 && Math.abs(t.y - e.y) < 1e-6) || p.push(e);
769
+ if (p.length < 2) return null;
770
+ let m = p[0], ee = p[1], te = 0;
771
+ for (let e = 0; e < p.length; e += 1) for (let t = e + 1; t < p.length; t += 1) {
772
+ let n = p[e].x - p[t].x, r = p[e].y - p[t].y, i = n * n + r * r;
773
+ i > te && (te = i, m = p[e], ee = p[t]);
774
+ }
775
+ return {
776
+ x1: m.x,
777
+ y1: m.y,
778
+ x2: ee.x,
779
+ y2: ee.y
780
+ };
781
+ };
782
+ return Jr.value.map((n) => {
783
+ let r = n.plots.length, i = n.plots.reduce((e, t) => e + t.x, 0) / r, a = n.plots.reduce((e, t) => e + t.y, 0) / r, o = 0, s = 0, c = 0;
784
+ for (let e of n.plots) {
785
+ let t = e.x - i, n = e.y - a;
786
+ o += t * n, s += t * t, c += n * n;
787
+ }
788
+ let l, d, f = null;
789
+ s < e ? (f = i, l = Infinity, d = null) : (l = o / s, d = a - l * i);
790
+ let p, m;
791
+ f === null ? (p = l, m = d) : (p = Infinity, m = null);
792
+ let ee = n.plots.every((e) => e.v && typeof e.v.x == "number" && typeof e.v.y == "number"), te = NaN;
793
+ if (r >= 2) {
794
+ let t = 0, o = 0;
795
+ ee ? (t = n.plots.reduce((e, t) => e + t.v.x, 0) / r, o = n.plots.reduce((e, t) => e + t.v.y, 0) / r) : (t = i, o = -a);
796
+ let s = 0, c = 0, l = 0;
797
+ for (let e of n.plots) {
798
+ let n = ee ? e.v.x : e.x, r = ee ? e.v.y : -e.y, i = n - t, a = r - o;
799
+ s += i * a, c += i * i, l += a * a;
800
+ }
801
+ if (c >= e && l >= e) {
802
+ let e = s / Math.sqrt(c * l);
803
+ te = Math.max(-1, Math.min(1, e));
804
+ }
805
+ }
806
+ let h = t({
807
+ m: p,
808
+ b: m,
809
+ rect: U.value,
810
+ verticalX: f
811
+ });
812
+ if (!h) return {
813
+ ...n,
814
+ correlation: null,
815
+ label: null,
816
+ plots: n.plots.map((e) => ({
817
+ ...e,
818
+ deviation: 0,
819
+ shape: n.shape,
820
+ color: u(n.color)
821
+ }))
822
+ };
823
+ let ne = {
824
+ x: (h.x1 + h.x2) / 2,
825
+ y: (h.y1 + h.y2) / 2
826
+ };
827
+ return {
828
+ ...n,
829
+ color: u(n.color),
830
+ correlation: {
831
+ ...h,
832
+ coefficient: te
833
+ },
834
+ label: ne,
835
+ plots: n.plots.map((t) => {
836
+ let r, i;
837
+ f === null ? Math.abs(p) < e ? (r = t.x, i = m) : (r = (t.x + p * t.y - p * m) / (1 + p * p), i = (p * t.x + p * p * t.y + m) / (1 + p * p)) : (r = f, i = t.y);
838
+ let a = t.x - r, o = t.y - i, s = Math.sqrt(a * a + o * o);
839
+ return {
840
+ ...t,
841
+ deviation: s,
842
+ shape: n.shape,
843
+ color: u(n.color)
844
+ };
845
+ })
846
+ };
847
+ });
848
+ }), Yr = _(() => Math.max(...q.value.flatMap((e) => e.plots.map((e) => Math.abs(e.deviation)))));
849
+ function Xr() {
850
+ return q.value;
851
+ }
852
+ function Zr(e, t) {
853
+ let n = Array.isArray(e) ? e.flatMap((e) => e.plots.map((e) => ({
854
+ x: e.x,
855
+ y: e.y
856
+ }))) : e.plots.map((e) => ({
857
+ x: e.x,
858
+ y: e.y
859
+ })), r = Infinity, i = -Infinity, a = Infinity, o = -Infinity;
860
+ n.forEach(({ x: e, y: t }) => {
861
+ r = Math.min(r, e), i = Math.max(i, e), a = Math.min(a, t), o = Math.max(o, t);
862
+ });
863
+ let s = i - r, c = o - a, l = s / t, u = c / t, d = Array(t).fill(0), f = Array(t).fill(0);
864
+ n.forEach(({ x: e, y: t }) => {
865
+ let n = Math.floor((e - r) / l), i = Math.floor((t - a) / u);
866
+ d[n] || (d[n] = 0), f[i] || (f[i] = 0), d[n] += 1, f[i] += 1;
867
+ });
868
+ let p = [], m = [];
869
+ for (let e = 0; e < t; e += 1) p.push(r + (e + .5) * l), m.push(a + (e + .5) * u);
870
+ return {
871
+ x: d,
872
+ y: f,
873
+ avgX: p,
874
+ avgY: m,
875
+ maxX: Math.max(...d),
876
+ maxY: Math.max(...f)
877
+ };
878
+ }
879
+ let J = _(() => L.value.tranches), Y = _(() => Zr(Jr.value, J.value)), Qr = _(() => {
880
+ let e = U.value.top - L.value.offset, t = U.value.right + L.value.offset;
881
+ return Jr.value.map((n) => {
882
+ let r = Zr(n, J.value);
883
+ return {
884
+ coords: r,
885
+ dX: l(r.avgX.map((t, n) => ({
886
+ x: t,
887
+ y: e - r.x[n] / r.maxX * L.value.size
888
+ }))),
889
+ dY: o(r.avgY.map((e, n) => ({
890
+ y: e,
891
+ x: t + L.value.size * r.y[n] / r.maxY
892
+ }))),
893
+ color: n.color,
894
+ id: n.id
895
+ };
896
+ });
897
+ }), X = w(void 0), Z = w(null), Q = w([]), $r = w(!1), ei = w(null), ti = w(void 0);
898
+ function ni() {
899
+ Nn.value = !1, X.value = void 0, Q.value = [], Z.value = null, ar.value = null, tr.value = null, ti.value = void 0;
900
+ }
901
+ function ri(e) {
902
+ let t = q.value.find((t) => t.id === e);
903
+ if (!t) {
904
+ Q.value = [];
905
+ return;
906
+ }
907
+ Q.value = t.plots.map((e) => e.id), ti.value = e;
908
+ }
909
+ function ii() {
910
+ Q.value = [], ti.value = void 0;
911
+ }
912
+ function ai(e) {
913
+ if (!_r.value || !e) return;
914
+ let t = n(e.x, e.y, _r.value);
915
+ t && (nr.value = t);
916
+ }
917
+ let oi = _(() => Z.value ? [Z.value] : Q.value.length ? q.value.flatMap((e) => e.plots).filter((e) => Q.value.includes(e.id)) : []);
918
+ function si(e) {
919
+ let n = F.value, r = n.scales.labels;
920
+ return h(r.formatter, m(e.v.x), t({
921
+ p: R.value.selectors.labels.prefix,
922
+ v: m(e.v.x),
923
+ s: R.value.selectors.labels.suffix,
924
+ r: Lr(n)
925
+ }), { datapoint: e });
926
+ }
927
+ function ci(e) {
928
+ let n = I.value, r = n.scales.labels;
929
+ return h(r.formatter, m(e.v.y), t({
930
+ p: R.value.selectors.labels.prefix,
931
+ v: m(e.v.y),
932
+ s: R.value.selectors.labels.suffix,
933
+ r: Lr(n)
934
+ }), { datapoint: e });
935
+ }
936
+ function li(e, n, r = "pointer", i = null) {
937
+ X.value = e.id, Z.value = e, rr.value = r, ar.value = i, tr.value = e.id;
938
+ let o = "";
939
+ N.value.events.datapointEnter && N.value.events.datapointEnter({
940
+ datapoint: e,
941
+ seriesIndex: n
942
+ }), ei.value = {
943
+ datapoint: e,
944
+ seriesIndex: n,
945
+ series: q.value,
946
+ config: N.value
947
+ };
948
+ let s = z.value.customFormat;
949
+ a(s) && ae(() => s({
950
+ datapoint: e,
951
+ seriesIndex: n,
952
+ series: q.value,
953
+ config: N.value
954
+ })) ? Pn.value = s({
955
+ datapoint: e,
956
+ seriesIndex: n,
957
+ series: q.value,
958
+ config: N.value
959
+ }) : (e.clusterName && (o += `<div style="display:flex;gap:3px;align-items:center">${e.clusterName}</div>`), e.v.name && (o += `<div>${e.v.name}</div>`), o += `<div style="text-align:left;margin-top:6px;padding-top:6px;border-top:1px solid ${z.value.borderColor}">`, o += `<div>${F.value.name}: <b>${isNaN(e.v.x) ? "-" : h(R.value.selectors.labels.x.formatter, e.v.x, t({
960
+ p: z.value.prefix,
961
+ v: e.v.x,
962
+ s: z.value.suffix,
963
+ r: z.value.roundingValue
964
+ }), {
965
+ datapoint: e,
966
+ seriesIndex: n
967
+ })}</b></div>`, o += `<div>${I.value.name}: <b>${isNaN(e.v.y) ? "-" : h(R.value.selectors.labels.y.formatter, e.v.y, t({
968
+ p: z.value.prefix,
969
+ v: e.v.y,
970
+ s: z.value.suffix,
971
+ r: z.value.roundingValue
972
+ }), {
973
+ datapoint: e,
974
+ seriesIndex: n
975
+ })}</b></div>`, o += `${R.value.deviation.translation}: <b>${t({
976
+ v: e.deviation,
977
+ r: R.value.deviation.roundingValue
978
+ })}</b>`, o += "</div>", Pn.value = `<div>${o}</div>`), Nn.value = !0, r === "keyboard" && Ve(() => {
979
+ ai(e);
980
+ });
981
+ }
982
+ function ui(e, t) {
983
+ N.value.events.datapointLeave && N.value.events.datapointLeave({
984
+ datapoint: e,
985
+ seriesIndex: t
986
+ }), (rr.value !== "keyboard" || tr.value !== e?.id) && (Nn.value = !1, X.value = void 0, Z.value = null);
987
+ }
988
+ function di(e, t) {
989
+ N.value.events.datapointClick && N.value.events.datapointClick({
990
+ datapoint: e,
991
+ seriesIndex: t
992
+ });
993
+ }
994
+ function fi() {
995
+ M.value.length ? M.value = [] : K.value.forEach((e) => {
996
+ M.value.push(e.id);
997
+ }), jn("selectLegend", Jr.value);
998
+ }
999
+ function pi(e) {
1000
+ M.value.includes(e) ? M.value = M.value.filter((t) => t !== e) : M.value.length < fr.value.length - 1 && M.value.push(e), jn("selectLegend", Jr.value);
1001
+ }
1002
+ function mi(e) {
1003
+ return K.value.length ? K.value.find((t) => t.name === e) || (Cr.value && console.warn(`VueUiScatter - Series name not found "${e}"`), null) : (Cr.value && console.warn("VueUiScatter - There are no series to show."), null);
1004
+ }
1005
+ function hi(e) {
1006
+ let t = mi(e);
1007
+ t !== null && M.value.includes(t.id) && pi(t.id);
1008
+ }
1009
+ function gi(e) {
1010
+ let t = mi(e);
1011
+ t !== null && (M.value.includes(t.id) || pi(t.id));
1012
+ }
1013
+ function _i(e = null) {
1014
+ Ve(() => {
1015
+ let t = [
1016
+ "",
1017
+ N.value.table.translations.correlationCoefficient,
1018
+ N.value.table.translations.nbrPlots,
1019
+ `${F.value.name} ${N.value.table.translations.average}`,
1020
+ `${I.value.name} ${N.value.table.translations.average}`
1021
+ ], n = q.value.map((e) => [
1022
+ e.name,
1023
+ e.correlation.coefficient,
1024
+ e.plots.length,
1025
+ e.plots.map((e) => e.v.x).reduce((e, t) => e + t, 0) / e.plots.length,
1026
+ e.plots.map((e) => e.v.y).reduce((e, t) => e + t, 0) / e.plots.length
1027
+ ]), r = [
1028
+ [B.value.title.text],
1029
+ [B.value.title.subtitle.text],
1030
+ [
1031
+ [""],
1032
+ [""],
1033
+ [""]
1034
+ ],
1035
+ t
1036
+ ].concat(n), a = i(r);
1037
+ e ? e(a) : ie({
1038
+ csvContent: a,
1039
+ title: B.value.title.text || "vue-ui-heatmap"
1040
+ });
1041
+ });
1042
+ }
1043
+ let vi = _(() => {
1044
+ let e = [
1045
+ N.value.table.translations.series,
1046
+ N.value.table.translations.correlationCoefficient,
1047
+ N.value.table.translations.nbrPlots,
1048
+ `${F.value.name} ${N.value.table.translations.average}`,
1049
+ `${I.value.name} ${N.value.table.translations.average}`
1050
+ ], t = q.value.map((e) => [
1051
+ {
1052
+ shape: e.shape,
1053
+ content: e.name ?? "-",
1054
+ color: e.color
1055
+ },
1056
+ Number((e.correlation?.coefficient ?? 0).toFixed(N.value.table.td.roundingValue)).toLocaleString(),
1057
+ e.plots.length.toLocaleString(),
1058
+ Number((e.plots.map((e) => e.v.x ?? 0).reduce((e, t) => e + t, 0) / e.plots.length).toFixed(N.value.table.td.roundingAverage)).toLocaleString(),
1059
+ Number((e.plots.map((e) => e.v.y ?? 0).reduce((e, t) => e + t, 0) / e.plots.length).toFixed(N.value.table.td.roundingAverage)).toLocaleString()
1060
+ ]);
1061
+ return {
1062
+ head: e,
1063
+ body: t,
1064
+ a11yBody: t.map((e) => e.map((e, t) => t === 0 ? e.content : e)),
1065
+ config: {
1066
+ th: {
1067
+ backgroundColor: N.value.table.th.backgroundColor,
1068
+ color: N.value.table.th.color,
1069
+ outline: N.value.table.th.outline
1070
+ },
1071
+ td: {
1072
+ backgroundColor: N.value.table.td.backgroundColor,
1073
+ color: N.value.table.td.color,
1074
+ outline: N.value.table.td.outline
1075
+ },
1076
+ breakpoint: N.value.table.responsiveBreakpoint
1077
+ },
1078
+ colNames: e
1079
+ };
1080
+ }), yi = w(!1);
1081
+ function bi(e) {
1082
+ yi.value = e, Fn.value += 1;
1083
+ }
1084
+ function xi() {
1085
+ V.value.showTable = !V.value.showTable;
1086
+ }
1087
+ function Si() {
1088
+ V.value.showTooltip = !V.value.showTooltip;
1089
+ }
1090
+ let Ci = w(!1);
1091
+ function wi() {
1092
+ Ci.value = !Ci.value;
1093
+ }
1094
+ async function Ti({ scale: e = 2 } = {}) {
1095
+ if (!In.value) return;
1096
+ let { width: t, height: n } = In.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await xe({
1097
+ domElement: In.value,
1098
+ base64: !0,
1099
+ img: !0,
1100
+ scale: e
1101
+ });
1102
+ return {
1103
+ imageUri: i,
1104
+ base64: a,
1105
+ title: B.value.title.text,
1106
+ width: t,
1107
+ height: n,
1108
+ aspectRatio: r
1109
+ };
1110
+ }
1111
+ function Ei(e) {
1112
+ Gn.value = e, L.value.highlighter.highlightBothAxes && (Kn.value = Y.value.y.length - 2 - e);
1113
+ }
1114
+ function Di(e) {
1115
+ Kn.value = e, L.value.highlighter.highlightBothAxes && (Gn.value = e);
1116
+ }
1117
+ function Oi() {
1118
+ Gn.value = null, Kn.value = null;
1119
+ }
1120
+ let ki = {
1121
+ circle: 1,
1122
+ square: 1,
1123
+ diamond: 1,
1124
+ triangle: 1.2,
1125
+ star: 1.3,
1126
+ pentagon: 1.3,
1127
+ hexagon: 1.3
1128
+ }, $ = (e) => e.toFixed(3);
1129
+ function Ai({ shape: e = "circle", cx: t, cy: n, r }) {
1130
+ if (!N.value.usePerformanceMode) return "";
1131
+ let i = ki[e] * r;
1132
+ switch (e) {
1133
+ case "circle": {
1134
+ let e = $(t - i), r = $(n), a = $(t + i), o = $(i);
1135
+ return `M ${e} ${r} A ${o} ${o} 0 1 0 ${a} ${r} A ${o} ${o} 0 1 0 ${e} ${r} Z`;
1136
+ }
1137
+ case "square": {
1138
+ let e = $(t - i), r = $(n - i), a = $(t + i), o = $(n + i);
1139
+ return `M ${e} ${r} L ${a} ${r} L ${a} ${o} L ${e} ${o} Z`;
1140
+ }
1141
+ case "diamond": {
1142
+ let e = $(t), r = $(n);
1143
+ return `M ${e} ${$(n - i)} L ${$(t + i)} ${r} L ${e} ${$(n + i)} L ${$(t - i)} ${r} Z`;
1144
+ }
1145
+ case "triangle": {
1146
+ let e = i * Math.sqrt(3), r = t, a = n - 2 / 3 * e, o = t - i, s = n + 1 / 3 * e, c = t + i, l = s;
1147
+ return `M ${$(r)} ${$(a)} L ${$(o)} ${$(s)} L ${$(c)} ${$(l)} Z`;
1148
+ }
1149
+ case "star": {
1150
+ let e = i, r = i * .5, a = [];
1151
+ for (let i = 0; i < 10; i += 1) {
1152
+ let o = (-90 + i * 36) * Math.PI / 180, s = i % 2 == 0 ? e : r;
1153
+ a.push([t + s * Math.cos(o), n + s * Math.sin(o)]);
1154
+ }
1155
+ let o = `M ${$(a[0][0])} ${$(a[0][1])}`;
1156
+ for (let e = 1; e < a.length; e += 1) o += ` L ${$(a[e][0])} ${$(a[e][1])}`;
1157
+ return o + " Z";
1158
+ }
1159
+ case "pentagon": {
1160
+ let e = [];
1161
+ for (let r = 0; r < 5; r += 1) {
1162
+ let a = (-90 + r * 72) * Math.PI / 180;
1163
+ e.push([t + i * Math.cos(a), n + i * Math.sin(a)]);
1164
+ }
1165
+ let r = `M ${$(e[0][0])} ${$(e[0][1])}`;
1166
+ for (let t = 1; t < 5; t += 1) r += ` L ${$(e[t][0])} ${$(e[t][1])}`;
1167
+ return r + " Z";
1168
+ }
1169
+ case "hexagon": {
1170
+ let e = [];
1171
+ for (let r = 0; r < 6; r += 1) {
1172
+ let a = (-60 + r * 60) * Math.PI / 180;
1173
+ e.push([t + i * Math.cos(a), n + i * Math.sin(a)]);
1174
+ }
1175
+ let r = `M ${$(e[0][0])} ${$(e[0][1])}`;
1176
+ for (let t = 1; t < 6; t += 1) r += ` L ${$(e[t][0])} ${$(e[t][1])}`;
1177
+ return r + " Z";
1178
+ }
1179
+ default: {
1180
+ let e = $(t - i), r = $(n), a = $(t + i), o = $(i);
1181
+ return `M ${e} ${r} A ${o} ${o} 0 1 0 ${a} ${r} A ${o} ${o} 0 1 0 ${e} ${r} Z`;
1182
+ }
1183
+ }
1184
+ }
1185
+ let ji = _(() => {
1186
+ if (!N.value.usePerformanceMode) return [""];
1187
+ let { left: e, right: t, top: n, bottom: r } = U.value, i = Math.max(1, (t - e) * (r - n)), a = (e) => e / i * 1e4, o = R.value.stroke, s = R.value.strokeWidth, l = R.value.opacity;
1188
+ return q.value.map((i) => {
1189
+ let u = [];
1190
+ for (let a of i.plots) {
1191
+ let o = a.x, s = a.y;
1192
+ if (o < e || o > t || s < n || s > r) continue;
1193
+ let c = Math.max(R.value.radius, a.weight);
1194
+ u.push(Ai({
1195
+ shape: i.shape || "circle",
1196
+ cx: o,
1197
+ cy: s,
1198
+ r: c
1199
+ }));
1200
+ }
1201
+ if (!u.length) return null;
1202
+ let d = a(i.plots.length) > 2.5 || i.plots.length > 1e3;
1203
+ return {
1204
+ id: i.id,
1205
+ d: u.join(""),
1206
+ fill: c(i.color, l * 100),
1207
+ stroke: d ? "none" : o,
1208
+ strokeWidth: d ? 0 : s,
1209
+ strokeOpacity: 1
1210
+ };
1211
+ }).filter(Boolean);
1212
+ });
1213
+ function Mi() {
1214
+ return N.value.usePerformanceMode ? (e) => {
1215
+ let t = _r.value;
1216
+ if (!t) return;
1217
+ let n = t.createSVGPoint();
1218
+ n.x = e.clientX, n.y = e.clientY;
1219
+ let r = t.getScreenCTM();
1220
+ if (!r) return;
1221
+ let i = r.inverse(), a = n.matrixTransform(i), o = null, s = Infinity, c = -1;
1222
+ if (q.value.forEach((e, t) => {
1223
+ e.plots.forEach((e) => {
1224
+ let n = e.x - a.x, r = e.y - a.y, i = n * n + r * r;
1225
+ i <= 64 && i < s && (s = i, o = e, c = t);
1226
+ });
1227
+ }), $r.value = !!o, o) X.value !== o.id && (X.value = o.id, li(o, c, "pointer", Qi.value.get(o.id) ?? null));
1228
+ else if (X.value) {
1229
+ let e = Z.value;
1230
+ X.value = void 0, ui(e, c);
1231
+ }
1232
+ } : () => null;
1233
+ }
1234
+ let Ni = Mi();
1235
+ function Pi() {
1236
+ if ($r.value = !1, X.value) {
1237
+ let e = Z.value;
1238
+ X.value = void 0, ui(e, null);
1239
+ }
1240
+ }
1241
+ function Fi(e) {
1242
+ let t = Z.value;
1243
+ if (t) {
1244
+ let e = q.value.findIndex((e) => e.id === t.clusterId);
1245
+ di(t, e >= 0 ? e : 0);
1246
+ }
1247
+ }
1248
+ let Ii = _(() => {
1249
+ let e = N.value.table.useDialog && !N.value.table.show, t = V.value.showTable;
1250
+ return {
1251
+ component: e ? Dn : Sn,
1252
+ title: `${B.value.title.text}${B.value.title.subtitle.text ? `: ${B.value.title.subtitle.text}` : ""}`,
1253
+ props: e ? {
1254
+ backgroundColor: N.value.table.th.backgroundColor,
1255
+ color: N.value.table.th.color,
1256
+ headerColor: N.value.table.th.color,
1257
+ headerBg: N.value.table.th.backgroundColor,
1258
+ isFullscreen: yi.value,
1259
+ fullscreenParent: In.value,
1260
+ forcedWidth: Math.min(800, window.innerWidth * .8),
1261
+ isCursorPointer: sr.value
1262
+ } : {
1263
+ hideDetails: !0,
1264
+ config: {
1265
+ open: t,
1266
+ maxHeight: 1e4,
1267
+ body: {
1268
+ backgroundColor: B.value.backgroundColor,
1269
+ color: B.value.color
1270
+ },
1271
+ head: {
1272
+ backgroundColor: B.value.backgroundColor,
1273
+ color: B.value.color
1274
+ }
1275
+ }
1276
+ }
1277
+ };
1278
+ });
1279
+ Ye(() => V.value.showTable, (e) => {
1280
+ N.value.table.show || (e && N.value.table.useDialog && qn.value ? qn.value.open() : "close" in qn.value && qn.value.close());
1281
+ });
1282
+ function Li() {
1283
+ V.value.showTable = !1, Jn.value && Jn.value.setTableIconState(!1);
1284
+ }
1285
+ let Ri = _(() => B.value.backgroundColor), zi = _(() => B.value.legend), Bi = _(() => B.value.title), { isCallbackImaging: Vi, isCallbackSvg: Hi, generateSvg: Ui, onGenerateImage: Wi } = ye({
1286
+ svg: _r,
1287
+ title: Bi,
1288
+ legend: zi,
1289
+ legendItems: K,
1290
+ backgroundColor: Ri,
1291
+ getSvgCallback: () => N.value.userOptions.callbacks.svg,
1292
+ generateImage: Or
1293
+ });
1294
+ async function Gi() {
1295
+ if (jn("copyAlt", {
1296
+ config: N.value,
1297
+ dataset: Jr.value
1298
+ }), !N.value.userOptions.callbacks.altCopy) {
1299
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1300
+ return;
1301
+ }
1302
+ await Promise.resolve(N.value.userOptions.callbacks.altCopy({
1303
+ config: N.value,
1304
+ dataset: Jr.value
1305
+ }));
1306
+ }
1307
+ function Ki(e, t) {
1308
+ let n = Zi.value.filter((t) => t.id !== e.id);
1309
+ if (!n.length) return null;
1310
+ let r = ((n) => {
1311
+ if (!n.length) return null;
1312
+ let r = null, i = Infinity;
1313
+ return n.forEach((n) => {
1314
+ let a = n.x - e.x, o = n.y - e.y, s = 0, c = 0;
1315
+ t === "right" || t === "left" ? (s = Math.abs(a), c = Math.abs(o)) : (s = Math.abs(o), c = Math.abs(a));
1316
+ let l = s * 1e3 + c;
1317
+ l < i && (r = n, i = l);
1318
+ }), r;
1319
+ })(n.filter((n) => t === "right" ? n.x > e.x : t === "left" ? n.x < e.x : t === "down" ? n.y > e.y : t === "up" && n.y < e.y));
1320
+ if (r) return r;
1321
+ let i = [];
1322
+ if (t === "right") {
1323
+ let e = Math.min(...n.map((e) => e.x));
1324
+ i = n.filter((t) => t.x === e);
1325
+ }
1326
+ if (t === "left") {
1327
+ let e = Math.max(...n.map((e) => e.x));
1328
+ i = n.filter((t) => t.x === e);
1329
+ }
1330
+ if (t === "down") {
1331
+ let e = Math.min(...n.map((e) => e.y));
1332
+ i = n.filter((t) => t.y === e);
1333
+ }
1334
+ if (t === "up") {
1335
+ let e = Math.max(...n.map((e) => e.y));
1336
+ i = n.filter((t) => t.y === e);
1337
+ }
1338
+ return i.length ? i.reduce((n, r) => {
1339
+ if (!n) return r;
1340
+ let i = Math.abs(t === "right" || t === "left" ? n.y - e.y : n.x - e.x);
1341
+ return Math.abs(t === "right" || t === "left" ? r.y - e.y : r.x - e.x) < i ? r : n;
1342
+ }, null) : null;
1343
+ }
1344
+ function qi() {
1345
+ ar.value = null, tr.value = null, ir.value = !0;
1346
+ }
1347
+ function Ji() {
1348
+ ni(), rr.value = "pointer", ir.value = !1;
1349
+ }
1350
+ function Yi(e) {
1351
+ if (!_r.value || Ci.value || document.activeElement !== _r.value || !Zi.value.length) return;
1352
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "ArrowUp", i = e.key === "ArrowDown", a = e.key === "Enter" || e.key === " ", o = e.key === "Escape";
1353
+ if (!t && !n && !r && !i && !a && !o) return;
1354
+ if (e.preventDefault(), e.stopPropagation(), o) {
1355
+ ni(), rr.value = "pointer";
1356
+ return;
1357
+ }
1358
+ if (a) {
1359
+ if (ar.value === null) return;
1360
+ let e = Zi.value[ar.value];
1361
+ if (!e) return;
1362
+ di(e, e.seriesIndex);
1363
+ return;
1364
+ }
1365
+ let s = null;
1366
+ if (n && (s = "right"), t && (s = "left"), i && (s = "down"), r && (s = "up"), tr.value === null) {
1367
+ let e = Z.value;
1368
+ if (e && e.id) {
1369
+ let t = Ki(e, s);
1370
+ if (!t) {
1371
+ let t = Qi.value.get(e.id);
1372
+ if (t === void 0) return;
1373
+ li(e, e.seriesIndex, "keyboard", t);
1374
+ return;
1375
+ }
1376
+ let n = Qi.value.get(t.id);
1377
+ if (n === void 0) return;
1378
+ li(t, t.seriesIndex, "keyboard", n);
1379
+ return;
1380
+ }
1381
+ let t = Zi.value[0];
1382
+ if (!t) return;
1383
+ let n = Qi.value.get(t.id) ?? 0;
1384
+ li(t, t.seriesIndex, "keyboard", n);
1385
+ return;
1386
+ }
1387
+ let c = Qi.value.get(tr.value);
1388
+ if (c === void 0) return;
1389
+ let l = Zi.value[c];
1390
+ if (!l) return;
1391
+ let u = Ki(l, s);
1392
+ if (!u) return;
1393
+ let d = Qi.value.get(u.id);
1394
+ d !== void 0 && li(u, u.seriesIndex, "keyboard", d);
1395
+ }
1396
+ let Xi = _(() => {
1397
+ if (!Z.value) return "";
1398
+ let e = Z.value, n = isNaN(e.v.x) ? "-" : h(R.value.selectors.labels.x.formatter, e.v.x, t({
1399
+ p: z.value.prefix,
1400
+ v: e.v.x,
1401
+ s: z.value.suffix,
1402
+ r: z.value.roundingValue
1403
+ }), {
1404
+ datapoint: e,
1405
+ seriesIndex: e.seriesIndex
1406
+ }), r = isNaN(e.v.y) ? "-" : h(R.value.selectors.labels.y.formatter, e.v.y, t({
1407
+ p: z.value.prefix,
1408
+ v: e.v.y,
1409
+ s: z.value.suffix,
1410
+ r: z.value.roundingValue
1411
+ }), {
1412
+ datapoint: e,
1413
+ seriesIndex: e.seriesIndex
1414
+ });
1415
+ return [
1416
+ e.clusterName || "",
1417
+ e.v.name || "",
1418
+ `${F.value.name}: ${n}`,
1419
+ `${I.value.name}: ${r}`
1420
+ ].filter(Boolean).join(". ");
1421
+ }), Zi = _(() => q.value.flatMap((e, t) => e.plots.map((n) => ({
1422
+ ...n,
1423
+ seriesIndex: t,
1424
+ seriesId: e.id,
1425
+ seriesName: e.name,
1426
+ shape: e.shape || "circle",
1427
+ color: e.color
1428
+ })))), Qi = _(() => {
1429
+ let e = /* @__PURE__ */ new Map();
1430
+ return Zi.value.forEach((t, n) => {
1431
+ e.set(t.id, n);
1432
+ }), e;
1433
+ }), $i = _(() => ({
1434
+ headers: vi.value?.colNames ?? [],
1435
+ rows: vi.value?.a11yBody ?? []
1436
+ }));
1437
+ return we({
1438
+ getData: Xr,
1439
+ getImage: Ti,
1440
+ generatePdf: Dr,
1441
+ generateCsv: _i,
1442
+ generateImage: Or,
1443
+ generateSvg: Ui,
1444
+ hideSeries: gi,
1445
+ showSeries: hi,
1446
+ toggleTable: xi,
1447
+ toggleTooltip: Si,
1448
+ toggleAnnotator: wi,
1449
+ toggleFullscreen: bi,
1450
+ copyAlt: Gi
1451
+ }), (e, n) => (C(), y("div", {
1452
+ class: He(`vue-data-ui-component vue-ui-scatter ${yi.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${N.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1453
+ ref_key: "scatterChart",
1454
+ ref: In,
1455
+ id: `vue-ui-scatter_${j.value}`,
1456
+ style: Ue(`font-family:${B.value.fontFamily};width:100%; text-align:center;background:${B.value.backgroundColor};${N.value.responsive ? "height: 100%" : ""}`),
1457
+ onMouseenter: n[5] ||= () => O(hr)(!0),
1458
+ onMouseleave: n[6] ||= () => {
1459
+ O(hr)(!1), ir.value || ni();
1460
+ }
1461
+ }, [
1462
+ b("div", {
1463
+ id: `chart-instructions-${j.value}`,
1464
+ class: "sr-only"
1465
+ }, [b("p", null, D(N.value.a11y.translations.keyboardNavigation), 1)], 8, Qe),
1466
+ V.value.showTooltip ? v("", !0) : (C(), y("div", $e, D(Xi.value), 1)),
1467
+ $i.value?.rows?.length && Mn.value ? (C(), Fe(ke, {
1468
+ key: 1,
1469
+ uid: j.value,
1470
+ head: $i.value.headers,
1471
+ body: $i.value.rows,
1472
+ notice: N.value.a11y.translations.tableAvailable,
1473
+ caption: N.value.a11y.translations.tableCaption
1474
+ }, null, 8, [
1475
+ "uid",
1476
+ "head",
1477
+ "body",
1478
+ "notice",
1479
+ "caption"
1480
+ ])) : v("", !0),
1481
+ P.value.buttons.annotator ? (C(), Fe(O(wn), {
1482
+ key: 2,
1483
+ svgRef: O(_r),
1484
+ backgroundColor: B.value.backgroundColor,
1485
+ color: B.value.color,
1486
+ active: Ci.value,
1487
+ isCursorPointer: sr.value,
1488
+ palette: P.value.annotatorPalette,
1489
+ onClose: wi
1490
+ }, {
1491
+ "annotator-action-close": k(() => [E(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1492
+ "annotator-action-color": k(({ color: t }) => [E(e.$slots, "annotator-action-color", S(x({ color: t })), void 0, !0)]),
1493
+ "annotator-action-draw": k(({ mode: t }) => [E(e.$slots, "annotator-action-draw", S(x({ mode: t })), void 0, !0)]),
1494
+ "annotator-action-undo": k(({ disabled: t }) => [E(e.$slots, "annotator-action-undo", S(x({ disabled: t })), void 0, !0)]),
1495
+ "annotator-action-redo": k(({ disabled: t }) => [E(e.$slots, "annotator-action-redo", S(x({ disabled: t })), void 0, !0)]),
1496
+ "annotator-action-delete": k(({ disabled: t }) => [E(e.$slots, "annotator-action-delete", S(x({ disabled: t })), void 0, !0)]),
1497
+ _: 3
1498
+ }, 8, [
1499
+ "svgRef",
1500
+ "backgroundColor",
1501
+ "color",
1502
+ "active",
1503
+ "isCursorPointer",
1504
+ "palette"
1505
+ ])) : v("", !0),
1506
+ kr.value ? (C(), y("div", {
1507
+ key: 3,
1508
+ ref_key: "noTitle",
1509
+ ref: Bn,
1510
+ class: "vue-data-ui-no-title-space",
1511
+ style: "height:36px; width: 100%;background:transparent"
1512
+ }, null, 512)) : v("", !0),
1513
+ B.value.title.text ? (C(), y("div", {
1514
+ key: 4,
1515
+ ref_key: "chartTitle",
1516
+ ref: Ln,
1517
+ style: "width:100%;background:transparent"
1518
+ }, [(C(), Fe(Se, {
1519
+ key: `title_${Vn.value}`,
1520
+ config: {
1521
+ title: {
1522
+ cy: "scatter-div-title",
1523
+ ...B.value.title
1524
+ },
1525
+ subtitle: {
1526
+ cy: "scatter-div-subtitle",
1527
+ ...B.value.title.subtitle
1528
+ }
1529
+ }
1530
+ }, null, 8, ["config"]))], 512)) : v("", !0),
1531
+ b("div", { id: `legend-top-${j.value}` }, null, 8, et),
1532
+ P.value.show && Mn.value && (O(gr) || O(mr)) ? (C(), Fe(O(Tn), {
1533
+ ref_key: "userOptionsRef",
1534
+ ref: Jn,
1535
+ key: `user_options_${Fn.value}`,
1536
+ backgroundColor: B.value.backgroundColor,
1537
+ color: B.value.color,
1538
+ isImaging: O(Er),
1539
+ isPrinting: O(Tr),
1540
+ uid: j.value,
1541
+ hasTooltip: P.value.buttons.tooltip && z.value.show,
1542
+ hasPdf: P.value.buttons.pdf,
1543
+ hasImg: P.value.buttons.img,
1544
+ hasSvg: P.value.buttons.svg,
1545
+ hasXls: P.value.buttons.csv,
1546
+ hasTable: P.value.buttons.table,
1547
+ hasFullscreen: P.value.buttons.fullscreen,
1548
+ hasAltCopy: P.value.buttons.altCopy,
1549
+ isTooltip: V.value.showTooltip,
1550
+ isFullscreen: yi.value,
1551
+ titles: { ...P.value.buttonTitles },
1552
+ chartElement: In.value,
1553
+ position: P.value.position,
1554
+ hasAnnotator: P.value.buttons.annotator,
1555
+ isAnnotation: Ci.value,
1556
+ callbacks: P.value.callbacks,
1557
+ printScale: P.value.print.scale,
1558
+ tableDialog: N.value.table.useDialog,
1559
+ isCursorPointer: sr.value,
1560
+ onToggleFullscreen: bi,
1561
+ onGeneratePdf: O(Dr),
1562
+ onGenerateCsv: _i,
1563
+ onGenerateImage: O(Wi),
1564
+ onGenerateSvg: O(Ui),
1565
+ onToggleTable: xi,
1566
+ onToggleTooltip: Si,
1567
+ onToggleAnnotator: wi,
1568
+ onCopyAlt: Gi,
1569
+ style: Ue({ visibility: O(gr) ? O(mr) ? "visible" : "hidden" : "visible" })
1570
+ }, Ie({ _: 2 }, [
1571
+ e.$slots.menuIcon ? {
1572
+ name: "menuIcon",
1573
+ fn: k(({ isOpen: t, color: n }) => [E(e.$slots, "menuIcon", S(x({
1574
+ isOpen: t,
1575
+ color: n
1576
+ })), void 0, !0)]),
1577
+ key: "0"
1578
+ } : void 0,
1579
+ e.$slots.optionTooltip ? {
1580
+ name: "optionTooltip",
1581
+ fn: k(() => [E(e.$slots, "optionTooltip", {}, void 0, !0)]),
1582
+ key: "1"
1583
+ } : void 0,
1584
+ e.$slots.optionPdf ? {
1585
+ name: "optionPdf",
1586
+ fn: k(() => [E(e.$slots, "optionPdf", {}, void 0, !0)]),
1587
+ key: "2"
1588
+ } : void 0,
1589
+ e.$slots.optionCsv ? {
1590
+ name: "optionCsv",
1591
+ fn: k(() => [E(e.$slots, "optionCsv", {}, void 0, !0)]),
1592
+ key: "3"
1593
+ } : void 0,
1594
+ e.$slots.optionImg ? {
1595
+ name: "optionImg",
1596
+ fn: k(() => [E(e.$slots, "optionImg", {}, void 0, !0)]),
1597
+ key: "4"
1598
+ } : void 0,
1599
+ e.$slots.optionSvg ? {
1600
+ name: "optionSvg",
1601
+ fn: k(() => [E(e.$slots, "optionSvg", {}, void 0, !0)]),
1602
+ key: "5"
1603
+ } : void 0,
1604
+ e.$slots.optionTable ? {
1605
+ name: "optionTable",
1606
+ fn: k(() => [E(e.$slots, "optionTable", {}, void 0, !0)]),
1607
+ key: "6"
1608
+ } : void 0,
1609
+ e.$slots.optionFullscreen ? {
1610
+ name: "optionFullscreen",
1611
+ fn: k(({ toggleFullscreen: t, isFullscreen: n }) => [E(e.$slots, "optionFullscreen", S(x({
1612
+ toggleFullscreen: t,
1613
+ isFullscreen: n
1614
+ })), void 0, !0)]),
1615
+ key: "7"
1616
+ } : void 0,
1617
+ e.$slots.optionAnnotator ? {
1618
+ name: "optionAnnotator",
1619
+ fn: k(({ toggleAnnotator: t, isAnnotator: n }) => [E(e.$slots, "optionAnnotator", S(x({
1620
+ toggleAnnotator: t,
1621
+ isAnnotator: n
1622
+ })), void 0, !0)]),
1623
+ key: "8"
1624
+ } : void 0,
1625
+ e.$slots.optionAltCopy ? {
1626
+ name: "optionAltCopy",
1627
+ fn: k(({ altCopy: t }) => [E(e.$slots, "optionAltCopy", S(x({ altCopy: t })), void 0, !0)]),
1628
+ key: "9"
1629
+ } : void 0,
1630
+ e.$slots["custom-menu-before"] ? {
1631
+ name: "custom-menu-before",
1632
+ fn: k(() => [E(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1633
+ key: "10"
1634
+ } : void 0,
1635
+ e.$slots["custom-menu-after"] ? {
1636
+ name: "custom-menu-after",
1637
+ fn: k(() => [E(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1638
+ key: "11"
1639
+ } : void 0
1640
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isTooltip.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : v("", !0),
1641
+ b("div", tt, [(C(), y("svg", {
1642
+ ref_key: "svgRef",
1643
+ ref: _r,
1644
+ xmlns: O(oe),
1645
+ "aria-describedby": `chart-instructions-${j.value}`,
1646
+ class: He({
1647
+ "vue-data-ui-fullscreen--on": yi.value,
1648
+ "vue-data-ui-fulscreen--off": !yi.value,
1649
+ "vue-data-ui-no-transition": !O(or)
1650
+ }),
1651
+ viewBox: `0 0 ${H.value.width <= 0 ? 10 : H.value.width} ${H.value.height <= 0 ? 10 : H.value.height}`,
1652
+ style: Ue(`max-width:100%;overflow:visible;background:transparent;color:${B.value.color}`),
1653
+ onMouseleave: Oi,
1654
+ tabindex: "0",
1655
+ onFocus: qi,
1656
+ onBlur: Ji,
1657
+ onKeydown: Yi
1658
+ }, [
1659
+ Re(O(En)),
1660
+ e.$slots["chart-background"] ? (C(), y("foreignObject", {
1661
+ key: 0,
1662
+ x: 0,
1663
+ y: 0,
1664
+ width: H.value.width <= 0 ? 10 : H.value.width,
1665
+ height: H.value.height <= 0 ? 10 : H.value.height,
1666
+ style: { pointerEvents: "none" }
1667
+ }, [E(e.$slots, "chart-background", {}, void 0, !0)], 8, rt)) : v("", !0),
1668
+ B.value.layout.axis.show ? (C(), y("g", it, [b("line", {
1669
+ x1: G.value.x,
1670
+ x2: G.value.x,
1671
+ y1: U.value.top,
1672
+ y2: U.value.bottom,
1673
+ stroke: B.value.layout.axis.stroke,
1674
+ "stroke-width": B.value.layout.axis.strokeWidth,
1675
+ "stroke-linecap": "round"
1676
+ }, null, 8, at), b("line", {
1677
+ x1: U.value.left,
1678
+ x2: U.value.right,
1679
+ y1: G.value.y,
1680
+ y2: G.value.y,
1681
+ stroke: B.value.layout.axis.stroke,
1682
+ "stroke-width": B.value.layout.axis.strokeWidth,
1683
+ "stroke-linecap": "round"
1684
+ }, null, 8, ot)])) : v("", !0),
1685
+ F.value.scales.verticalLines.show ? (C(), y("g", st, [(C(!0), y(g, null, T(Vr.value, (e, t) => (C(), y("line", {
1686
+ key: `scatter-x-scale-line-${j.value}-${t}`,
1687
+ x1: e.x,
1688
+ x2: e.x,
1689
+ y1: U.value.top,
1690
+ y2: U.value.bottom,
1691
+ stroke: F.value.scales.verticalLines.stroke,
1692
+ "stroke-width": F.value.scales.verticalLines.strokeWidth,
1693
+ "stroke-linecap": "round"
1694
+ }, null, 8, ct))), 128))])) : v("", !0),
1695
+ F.value.scales.show ? (C(), y("g", {
1696
+ key: 3,
1697
+ ref_key: "xAxisScaleLabels",
1698
+ ref: er
1699
+ }, [(C(!0), y(g, null, T(Vr.value, (e, t) => (C(), y("g", {
1700
+ class: "vue-ui-scatter-scale-group",
1701
+ key: `scatter-x-scale-${j.value}-${t}`,
1702
+ opacity: +!Ur.value
1703
+ }, [b("path", {
1704
+ class: He({ "vue-data-ui-transition": O(or) }),
1705
+ stroke: B.value.layout.axis.stroke,
1706
+ "stroke-width": B.value.layout.axis.strokeWidth,
1707
+ d: `M${e.x},${G.value.y - 4} ${e.x},${G.value.y + 4}`,
1708
+ "stroke-linecap": "round"
1709
+ }, null, 10, ut), b("text", {
1710
+ class: He({ "vue-data-ui-transition": O(or) }),
1711
+ transform: `translate(${e.x}, ${G.value.y + F.value.scales.labels.fontSize + 6 + F.value.scales.labels.offsetY})`,
1712
+ "text-anchor": "middle",
1713
+ "font-size": F.value.scales.labels.fontSize,
1714
+ fill: F.value.scales.labels.color,
1715
+ stroke: B.value.backgroundColor,
1716
+ "stroke-width": "2",
1717
+ "paint-order": "stroke"
1718
+ }, D(e.label), 11, dt)], 8, lt))), 128))], 512)) : v("", !0),
1719
+ I.value.scales.horizontalLines.show ? (C(), y("g", ft, [(C(!0), y(g, null, T(Hr.value, (e, t) => (C(), y("line", {
1720
+ key: `scatter-y-scale-line-${j.value}-${t}`,
1721
+ x1: U.value.left,
1722
+ x2: U.value.right,
1723
+ y1: e.y,
1724
+ y2: e.y,
1725
+ stroke: I.value.scales.horizontalLines.stroke,
1726
+ "stroke-width": I.value.scales.horizontalLines.strokeWidth,
1727
+ "stroke-linecap": "round"
1728
+ }, null, 8, pt))), 128))])) : v("", !0),
1729
+ I.value.scales.show ? (C(), y("g", {
1730
+ key: 5,
1731
+ ref_key: "yAxisScaleLabels",
1732
+ ref: $n,
1733
+ opacity: +!Wr.value,
1734
+ style: { transition: "opacity 0.1s ease-in-out" },
1735
+ class: "vue-ui-scatter-scale-group"
1736
+ }, [(C(!0), y(g, null, T(Hr.value, (e, t) => (C(), y("g", { key: `scatter-y-scale-${j.value}-${t}` }, [b("path", {
1737
+ class: He({ "vue-data-ui-transition": O(or) }),
1738
+ d: `M${G.value.x - 4},${e.y} ${G.value.x + 4},${e.y}`,
1739
+ stroke: B.value.layout.axis.stroke,
1740
+ "stroke-width": B.value.layout.axis.strokeWidth,
1741
+ "stroke-linecap": "round"
1742
+ }, null, 10, ht), b("text", {
1743
+ class: He({ "vue-data-ui-transition": O(or) }),
1744
+ transform: `translate(${G.value.x - I.value.scales.labels.fontSize / 2 - 8 + I.value.scales.labels.offsetX}, ${e.y + I.value.scales.labels.fontSize / 3})`,
1745
+ "text-anchor": "end",
1746
+ "font-size": I.value.scales.labels.fontSize,
1747
+ fill: I.value.scales.labels.color,
1748
+ stroke: B.value.backgroundColor,
1749
+ "stroke-width": "2",
1750
+ "paint-order": "stroke"
1751
+ }, D(e.label), 11, gt)]))), 128))], 8, mt)) : v("", !0),
1752
+ L.value.show ? (C(), y("g", _t, [
1753
+ b("defs", null, [Re(De, {
1754
+ t: "linear",
1755
+ id: `marginal_x_${j.value}`,
1756
+ x1: "0%",
1757
+ y1: "0%",
1758
+ x2: "0%",
1759
+ y2: "100%",
1760
+ stops: [[
1761
+ "0%",
1762
+ L.value.fill,
1763
+ 1
1764
+ ], [
1765
+ "100%",
1766
+ B.value.backgroundColor,
1767
+ 1
1768
+ ]]
1769
+ }, null, 8, ["id", "stops"]), Re(De, {
1770
+ t: "linear",
1771
+ id: `marginal_y_${j.value}`,
1772
+ x1: "0%",
1773
+ x2: "100%",
1774
+ y1: "0%",
1775
+ y2: "0%",
1776
+ stops: [[
1777
+ "0%",
1778
+ B.value.backgroundColor,
1779
+ 1
1780
+ ], [
1781
+ "100%",
1782
+ L.value.fill,
1783
+ 1
1784
+ ]]
1785
+ }, null, 8, ["id", "stops"])]),
1786
+ (C(!0), y(g, null, T(Y.value.x, (e, t) => (C(), y("g", null, [
1787
+ e && Y.value.avgX[t] ? (C(), y("rect", {
1788
+ key: 0,
1789
+ x: Y.value.avgX[t] - U.value.width / J.value / 2,
1790
+ y: U.value.top - L.value.offset - e / Y.value.maxX * L.value.size,
1791
+ width: U.value.width / J.value <= 0 ? 1e-4 : U.value.width / J.value,
1792
+ height: e / Y.value.maxX * L.value.size <= 0 ? 1e-4 : e / Y.value.maxX * L.value.size,
1793
+ fill: L.value.useGradient ? `url(#marginal_x_${j.value})` : L.value.fill,
1794
+ style: Ue([`opacity:${L.value.opacity}`, { "pointer-events": "none" }]),
1795
+ stroke: B.value.backgroundColor,
1796
+ "stroke-width": L.value.strokeWidth,
1797
+ rx: L.value.borderRadius
1798
+ }, null, 12, vt)) : v("", !0),
1799
+ Y.value.avgX[t] ? (C(), y("rect", {
1800
+ key: 1,
1801
+ x: Y.value.avgX[t] - U.value.width / J.value / 2,
1802
+ y: U.value.top - L.value.offset - L.value.size,
1803
+ width: U.value.width / J.value <= 0 ? 1e-4 : U.value.width / J.value,
1804
+ height: Math.max(.1, L.value.size),
1805
+ fill: "transparent",
1806
+ onMouseenter: (e) => Ei(t),
1807
+ onMouseleave: n[0] ||= (e) => Oi()
1808
+ }, null, 40, yt)) : v("", !0),
1809
+ Y.value.avgX[t] && Gn.value != null && Gn.value === t ? (C(), y("g", bt, [
1810
+ b("rect", {
1811
+ x: Y.value.avgX[t] - U.value.width / J.value / 2,
1812
+ y: U.value.top,
1813
+ width: U.value.width / J.value <= 0 ? 1e-4 : U.value.width / J.value,
1814
+ height: U.value.height,
1815
+ fill: L.value.highlighter.color,
1816
+ "fill-opacity": L.value.highlighter.opacity
1817
+ }, null, 8, xt),
1818
+ b("line", {
1819
+ x1: Y.value.avgX[t] - U.value.width / J.value / 2,
1820
+ x2: Y.value.avgX[t] - U.value.width / J.value / 2,
1821
+ y1: 0,
1822
+ y2: U.value.top + U.value.height,
1823
+ stroke: L.value.highlighter.stroke,
1824
+ "stroke-dasharray": L.value.highlighter.strokeDasharray,
1825
+ "stroke-width": L.value.highlighter.strokeWidth,
1826
+ style: {
1827
+ transition: "none !important",
1828
+ animation: "none !important"
1829
+ }
1830
+ }, null, 8, St),
1831
+ b("line", {
1832
+ x1: Y.value.avgX[t] - U.value.width / J.value / 2 + (U.value.width / J.value <= 0 ? 1e-4 : U.value.width / J.value),
1833
+ x2: Y.value.avgX[t] - U.value.width / J.value / 2 + (U.value.width / J.value <= 0 ? 1e-4 : U.value.width / J.value),
1834
+ y1: 0,
1835
+ y2: U.value.top + U.value.height,
1836
+ stroke: L.value.highlighter.stroke,
1837
+ "stroke-dasharray": L.value.highlighter.strokeDasharray,
1838
+ "stroke-width": L.value.highlighter.strokeWidth,
1839
+ style: {
1840
+ transition: "none !important",
1841
+ animation: "none !important"
1842
+ }
1843
+ }, null, 8, Ct)
1844
+ ])) : v("", !0)
1845
+ ]))), 256)),
1846
+ (C(!0), y(g, null, T(Y.value.y, (e, t) => (C(), y("g", null, [
1847
+ e && Y.value.avgY[t] ? (C(), y("rect", {
1848
+ key: 0,
1849
+ x: U.value.right + L.value.offset,
1850
+ y: Y.value.avgY[t] - U.value.height / J.value / 2,
1851
+ height: U.value.height / J.value <= 0 ? 1e-4 : U.value.height / J.value,
1852
+ width: e / Y.value.maxY * L.value.size <= 0 ? 1e-4 : e / Y.value.maxY * L.value.size,
1853
+ fill: L.value.useGradient ? `url(#marginal_y_${j.value})` : L.value.fill,
1854
+ style: Ue([`opacity:${L.value.opacity}`, { "pointer-events": "none" }]),
1855
+ stroke: B.value.backgroundColor,
1856
+ "stroke-width": L.value.strokeWidth,
1857
+ rx: L.value.borderRadius
1858
+ }, null, 12, wt)) : v("", !0),
1859
+ Y.value.avgY[t] ? (C(), y("rect", {
1860
+ key: 1,
1861
+ x: U.value.right + L.value.offset,
1862
+ y: Y.value.avgY[t] - U.value.height / J.value / 2,
1863
+ width: Math.max(.1, L.value.size),
1864
+ height: U.value.height / J.value <= 0 ? 1e-4 : U.value.height / J.value,
1865
+ fill: "transparent",
1866
+ onMouseenter: (e) => Di(t),
1867
+ onMouseleave: n[1] ||= (e) => Oi()
1868
+ }, null, 40, Tt)) : v("", !0),
1869
+ Y.value.avgY[t] && Kn.value != null && Kn.value === t ? (C(), y("g", Et, [
1870
+ b("rect", {
1871
+ x: U.value.left,
1872
+ y: Y.value.avgY[t] - U.value.height / J.value / 2,
1873
+ width: U.value.width,
1874
+ height: U.value.height / J.value <= 0 ? 1e-4 : U.value.height / J.value,
1875
+ fill: L.value.highlighter.color,
1876
+ "fill-opacity": L.value.highlighter.opacity
1877
+ }, null, 8, Dt),
1878
+ b("line", {
1879
+ x1: U.value.left,
1880
+ x2: H.value.width,
1881
+ y1: Y.value.avgY[t] - U.value.height / J.value / 2,
1882
+ y2: Y.value.avgY[t] - U.value.height / J.value / 2,
1883
+ stroke: L.value.highlighter.stroke,
1884
+ "stroke-dasharray": L.value.highlighter.strokeDasharray,
1885
+ "stroke-width": L.value.highlighter.strokeWidth,
1886
+ style: {
1887
+ transition: "none !important",
1888
+ animation: "none !important"
1889
+ }
1890
+ }, null, 8, Ot),
1891
+ b("line", {
1892
+ x1: U.value.left,
1893
+ x2: H.value.width,
1894
+ y1: Y.value.avgY[t] - U.value.height / J.value / 2 + (U.value.height / J.value <= 0 ? 1e-4 : U.value.height / J.value),
1895
+ y2: Y.value.avgY[t] - U.value.height / J.value / 2 + (U.value.height / J.value <= 0 ? 1e-4 : U.value.height / J.value),
1896
+ stroke: L.value.highlighter.stroke,
1897
+ "stroke-dasharray": L.value.highlighter.strokeDasharray,
1898
+ "stroke-width": L.value.highlighter.strokeWidth,
1899
+ style: {
1900
+ transition: "none !important",
1901
+ animation: "none !important"
1902
+ }
1903
+ }, null, 8, kt)
1904
+ ])) : v("", !0)
1905
+ ]))), 256)),
1906
+ L.value.showLines ? (C(), y("g", At, [(C(!0), y(g, null, T(Qr.value, (e) => (C(), y(g, null, [
1907
+ M.value.includes(e.id) ? v("", !0) : (C(), y("path", {
1908
+ key: 0,
1909
+ d: `M ${e.dX}`,
1910
+ stroke: B.value.backgroundColor,
1911
+ "stroke-width": L.value.linesStrokeWidth + 1,
1912
+ "stroke-linecap": "round",
1913
+ "stroke-linejoin": "round",
1914
+ fill: "none"
1915
+ }, null, 8, jt)),
1916
+ M.value.includes(e.id) ? v("", !0) : (C(), y("path", {
1917
+ key: 1,
1918
+ d: `M ${e.dX}`,
1919
+ stroke: e.color,
1920
+ "stroke-width": L.value.linesStrokeWidth,
1921
+ "stroke-linecap": "round",
1922
+ "stroke-linejoin": "round",
1923
+ fill: "none"
1924
+ }, null, 8, Mt)),
1925
+ M.value.includes(e.id) ? v("", !0) : (C(), y("path", {
1926
+ key: 2,
1927
+ d: `M ${e.dY}`,
1928
+ stroke: B.value.backgroundColor,
1929
+ "stroke-width": L.value.linesStrokeWidth + 1,
1930
+ "stroke-linecap": "round",
1931
+ "stroke-linejoin": "round",
1932
+ fill: "none"
1933
+ }, null, 8, Nt)),
1934
+ M.value.includes(e.id) ? v("", !0) : (C(), y("path", {
1935
+ key: 3,
1936
+ d: `M ${e.dY}`,
1937
+ stroke: e.color,
1938
+ "stroke-width": L.value.linesStrokeWidth,
1939
+ "stroke-linecap": "round",
1940
+ "stroke-linejoin": "round",
1941
+ fill: "none"
1942
+ }, null, 8, Pt))
1943
+ ], 64))), 256))])) : v("", !0)
1944
+ ])) : v("", !0),
1945
+ R.value.giftWrap.show ? (C(), y("g", Ft, [(C(!0), y(g, null, T(q.value, (e, t) => (C(), y("g", null, [e.plots.length > 2 ? (C(), y("polygon", {
1946
+ key: 0,
1947
+ points: O(r)({ series: e.plots }),
1948
+ fill: O(c)(e.color, R.value.giftWrap.fillOpacity * 100),
1949
+ "stroke-width": R.value.giftWrap.strokeWidth,
1950
+ "stroke-dasharray": R.value.giftWrap.strokeDasharray,
1951
+ stroke: e.color,
1952
+ "stroke-linejoin": "round",
1953
+ "stroke-linecap": "round"
1954
+ }, null, 8, It)) : v("", !0)]))), 256))])) : v("", !0),
1955
+ N.value.usePerformanceMode ? v("", !0) : (C(!0), y(g, { key: 8 }, T(q.value, (e, t) => (C(), y("g", { key: e.id }, [!e.shape || e.shape === "circle" ? (C(), y("g", Lt, [(C(!0), y(g, null, T(e.plots, (n, r) => (C(), y("circle", {
1956
+ key: n.id,
1957
+ cx: n.x,
1958
+ cy: n.y,
1959
+ r: X.value && X.value === n.id || Q.value.includes(n.id) ? n.weight * R.value.hoverRadiusRatio : n.weight,
1960
+ fill: O(c)(e.color, X.value && X.value !== n.id || Q.value.length && !Q.value.includes(n.id) ? R.value.opacityNotSelected * 100 : R.value.opacity * 100),
1961
+ stroke: R.value.stroke,
1962
+ "stroke-width": R.value.strokeWidth,
1963
+ style: Ue(`opacity:${X.value && X.value === n.id || Q.value.includes(n.id) ? 1 : R.value.significance.useDistanceOpacity ? 1 - Math.abs(n.deviation) / Yr.value : R.value.significance.show && Math.abs(n.deviation) > R.value.significance.deviationThreshold ? R.value.significance.opacity : 1}`),
1964
+ onMouseover: (e) => li(n, t, "pointer", Qi.value.get(n.id)),
1965
+ onMouseleave: (e) => ui(n, t),
1966
+ onClick: (e) => di(n, t)
1967
+ }, null, 44, Rt))), 128))])) : (C(), y("g", zt, [(C(!0), y(g, null, T(e.plots, (n, r) => (C(), Fe(Ce, {
1968
+ class: "vue-ui-scatter-datapoint",
1969
+ plot: {
1970
+ x: n.x,
1971
+ y: n.y
1972
+ },
1973
+ radius: X.value && X.value === n.id || Q.value.includes(n.id) ? n.weight * R.value.hoverRadiusRatio : n.weight,
1974
+ shape: e.shape,
1975
+ color: O(c)(e.color, X.value && X.value !== n.id || Q.value.length && !Q.value.includes(n.id) ? R.value.opacityNotSelected * 100 : R.value.opacity * 100),
1976
+ stroke: R.value.stroke,
1977
+ strokeWidth: R.value.strokeWidth,
1978
+ style: Ue(`opacity:${X.value && X.value === n.id || Q.value.includes(n.id) ? 1 : R.value.significance.useDistanceOpacity ? 1 - Math.abs(n.deviation) / Yr.value : R.value.significance.show && Math.abs(n.deviation) > R.value.significance.deviationThreshold ? R.value.significance.opacity : 1}`),
1979
+ onMouseover: (e) => li(n, t, "pointer", Qi.value.get(n.id)),
1980
+ onMouseleave: (e) => ui(n, t),
1981
+ onClick: (e) => di(n, t)
1982
+ }, null, 8, [
1983
+ "plot",
1984
+ "radius",
1985
+ "shape",
1986
+ "color",
1987
+ "stroke",
1988
+ "strokeWidth",
1989
+ "style",
1990
+ "onMouseover",
1991
+ "onMouseleave",
1992
+ "onClick"
1993
+ ]))), 256))])), R.value.name.show ? (C(!0), y(g, { key: 2 }, T(e.plots, (e, n) => (C(), y("text", {
1994
+ class: "vue-ui-scatter-datapoint-label",
1995
+ key: `datalabel-${e.id}`,
1996
+ transform: `translate(${e.x}, ${e.y - e.weight - R.value.name.fontSize + R.value.name.offsetY})`,
1997
+ "text-anchor": "middle",
1998
+ "font-size": R.value.name.fontSize,
1999
+ fill: O(c)(R.value.name.color, X.value && X.value !== e.id || Q.value.length && !Q.value.includes(e.id) ? R.value.opacityNotSelected * 100 : 100),
2000
+ onMouseover: (n) => li(e, t, "pointer", Qi.value.get(e.id)),
2001
+ onMouseleave: (n) => ui(e, t),
2002
+ onClick: (n) => di(e, t)
2003
+ }, D(e.clusterName), 41, Bt))), 128)) : v("", !0)]))), 128)),
2004
+ N.value.usePerformanceMode ? (C(), y(g, { key: 9 }, [
2005
+ b("g", null, [(C(!0), y(g, null, T(ji.value, (e) => (C(), y("path", {
2006
+ key: e.id,
2007
+ d: e.d,
2008
+ fill: e.fill,
2009
+ stroke: e.stroke,
2010
+ "stroke-width": e.strokeWidth,
2011
+ "stroke-opacity": e.strokeOpacity,
2012
+ "vector-effect": "non-scaling-stroke",
2013
+ "paint-order": "fill"
2014
+ }, null, 8, Vt))), 128))]),
2015
+ Z.value ? (C(), y("g", Ht, [Re(Ce, {
2016
+ shape: Z.value.shape || "circle",
2017
+ color: Z.value.color,
2018
+ plot: {
2019
+ x: Z.value.x,
2020
+ y: Z.value.y
2021
+ },
2022
+ radius: Z.value.weight * R.value.hoverRadiusRatio,
2023
+ stroke: R.value.stroke,
2024
+ strokeWidth: R.value.strokeWidth
2025
+ }, null, 8, [
2026
+ "shape",
2027
+ "color",
2028
+ "plot",
2029
+ "radius",
2030
+ "stroke",
2031
+ "strokeWidth"
2032
+ ])])) : v("", !0),
2033
+ b("rect", {
2034
+ x: U.value.left,
2035
+ y: U.value.top,
2036
+ width: Math.max(1e-4, U.value.width),
2037
+ height: Math.max(1e-4, U.value.height),
2038
+ fill: "transparent",
2039
+ style: Ue({ cursor: $r.value && cr.value ? "pointer" : "default" }),
2040
+ onMousemove: n[2] ||= (...e) => O(Ni) && O(Ni)(...e),
2041
+ onMouseleave: Pi,
2042
+ onClick: Fi
2043
+ }, null, 44, Ut)
2044
+ ], 64)) : v("", !0),
2045
+ (C(!0), y(g, null, T(oi.value, (e) => (C(), y(g, { key: `selector_${e.id}` }, [R.value.selectors.show ? (C(), y("g", Wt, [
2046
+ b("line", {
2047
+ x1: G.value.x,
2048
+ x2: e.x,
2049
+ y1: e.y,
2050
+ y2: e.y,
2051
+ stroke: R.value.selectors.stroke,
2052
+ "stroke-width": R.value.selectors.strokeWidth,
2053
+ "stroke-dasharray": R.value.selectors.strokeDasharray,
2054
+ "stroke-linecap": "round",
2055
+ class: "line-pointer"
2056
+ }, null, 8, Gt),
2057
+ b("line", {
2058
+ x1: e.x,
2059
+ x2: e.x,
2060
+ y1: G.value.y,
2061
+ y2: e.y,
2062
+ stroke: R.value.selectors.stroke,
2063
+ "stroke-width": R.value.selectors.strokeWidth,
2064
+ "stroke-dasharray": R.value.selectors.strokeDasharray,
2065
+ "stroke-linecap": "round",
2066
+ class: "line-pointer"
2067
+ }, null, 8, Kt),
2068
+ I.value.scales.show ? v("", !0) : (C(), y("text", {
2069
+ key: 0,
2070
+ x: G.value.x + (e.x > G.value.x ? -6 : 6),
2071
+ y: e.y + R.value.selectors.labels.fontSize / 3,
2072
+ "font-size": R.value.selectors.labels.fontSize,
2073
+ fill: R.value.selectors.labels.color,
2074
+ "font-weight": R.value.selectors.labels.bold ? "bold" : "normal",
2075
+ "text-anchor": e.x > G.value.x ? "end" : "start"
2076
+ }, D(O(h)(R.value.selectors.labels.y.formatter, O(m)(e.v.y), O(t)({
2077
+ p: R.value.selectors.labels.prefix,
2078
+ v: O(m)(e.v.y),
2079
+ s: R.value.selectors.labels.suffix,
2080
+ r: R.value.selectors.labels.rounding
2081
+ }), { datapoint: e })), 9, qt)),
2082
+ F.value.scales.show ? v("", !0) : (C(), y("text", {
2083
+ key: 1,
2084
+ x: e.x,
2085
+ y: G.value.y + (e.y > G.value.y ? -6 : R.value.selectors.labels.fontSize + 6),
2086
+ "font-size": R.value.selectors.labels.fontSize,
2087
+ fill: R.value.selectors.labels.color,
2088
+ "font-weight": R.value.selectors.labels.bold ? "bold" : "normal",
2089
+ "text-anchor": "middle"
2090
+ }, D(O(h)(R.value.selectors.labels.y.formatter, O(m)(e.v.x), O(t)({
2091
+ p: R.value.selectors.labels.prefix,
2092
+ v: O(m)(e.v.x),
2093
+ s: R.value.selectors.labels.suffix,
2094
+ r: R.value.selectors.labels.rounding
2095
+ }), { datapoint: e })), 9, Jt)),
2096
+ F.value.scales.show ? (C(), y("text", {
2097
+ key: 2,
2098
+ x: e.x,
2099
+ y: G.value.y + F.value.scales.labels.fontSize + 6 + F.value.scales.labels.offsetY,
2100
+ "text-anchor": "middle",
2101
+ "font-size": F.value.scales.labels.fontSize,
2102
+ fill: F.value.scales.labels.color
2103
+ }, D(si(e)), 9, Yt)) : v("", !0),
2104
+ I.value.scales.show ? (C(), y("text", {
2105
+ key: 3,
2106
+ x: G.value.x - I.value.scales.labels.fontSize / 2 - 8 + I.value.scales.labels.offsetX,
2107
+ y: e.y + I.value.scales.labels.fontSize / 3,
2108
+ "text-anchor": "end",
2109
+ "font-size": I.value.scales.labels.fontSize,
2110
+ fill: I.value.scales.labels.color
2111
+ }, D(ci(e)), 9, Xt)) : v("", !0),
2112
+ b("circle", {
2113
+ cx: G.value.x,
2114
+ cy: e.y,
2115
+ r: R.value.selectors.markers.radius,
2116
+ fill: R.value.selectors.markers.fill,
2117
+ stroke: R.value.selectors.markers.stroke,
2118
+ "stroke-width": R.value.selectors.markers.strokeWidth,
2119
+ class: "line-pointer"
2120
+ }, null, 8, Zt),
2121
+ b("circle", {
2122
+ cx: e.x,
2123
+ cy: G.value.y,
2124
+ r: R.value.selectors.markers.radius,
2125
+ fill: R.value.selectors.markers.fill,
2126
+ stroke: R.value.selectors.markers.stroke,
2127
+ "stroke-width": R.value.selectors.markers.strokeWidth,
2128
+ class: "line-pointer"
2129
+ }, null, 8, Qt),
2130
+ R.value.selectors.labels.showName && !R.value.name.show ? (C(), y("text", {
2131
+ key: 4,
2132
+ x: e.x,
2133
+ y: e.y + (e.y < G.value.y ? -R.value.selectors.labels.fontSize / 2 : R.value.selectors.labels.fontSize),
2134
+ "font-size": R.value.selectors.labels.fontSize,
2135
+ fill: R.value.selectors.labels.color,
2136
+ "font-weight": R.value.selectors.labels.bold ? "bold" : "normal",
2137
+ "text-anchor": e.x < U.value.left + 100 ? "start" : e.x > U.value.right - 100 ? "end" : e.x > G.value.x ? "start" : "end"
2138
+ }, D(e.v.name), 9, $t)) : v("", !0)
2139
+ ])) : v("", !0)], 64))), 128)),
2140
+ F.value.show ? (C(), y("g", {
2141
+ key: 10,
2142
+ ref_key: "xAxisLabelLeft",
2143
+ ref: Yn
2144
+ }, [b("text", {
2145
+ id: `vue-ui-scatter-xAxis-label-${j.value}`,
2146
+ transform: `translate(${F.value.fontSize + (B.value.layout.dataLabels.reverseAxisLabels ? I.value.offsetX : F.value.offsetX)}, ${U.value.top + U.value.height / 2 + (B.value.layout.dataLabels.reverseAxisLabels ? I.value.offsetY : F.value.offsetY)}), rotate(-90)`,
2147
+ "text-anchor": "middle",
2148
+ "font-size": F.value.fontSize,
2149
+ "font-weight": F.value.bold ? "bold" : "normal",
2150
+ fill: F.value.color
2151
+ }, D(B.value.layout.dataLabels.reverseAxisLabels ? I.value.name : F.value.name), 9, en), F.value.showValue ? (C(), y("text", {
2152
+ key: 0,
2153
+ "text-anchor": "middle",
2154
+ "font-size": F.value.fontSize,
2155
+ fill: F.value.color,
2156
+ transform: `translate(${F.value.name ? F.value.fontSize * 3 : 0}, ${G.value.y + F.value.fontSize / 3}), rotate(-90)`
2157
+ }, D(O(h)(R.value.selectors.labels.x.formatter, O(m)(W.value.xMin), O(t)({
2158
+ p: R.value.selectors.labels.prefix,
2159
+ v: O(m)(W.value.xMin),
2160
+ s: R.value.selectors.labels.suffix,
2161
+ r: B.value.layout.dataLabels.xAxis.rounding
2162
+ }))), 9, tn)) : v("", !0)], 512)) : v("", !0),
2163
+ F.value.show && F.value.showValue ? (C(), y("text", {
2164
+ key: 11,
2165
+ ref_key: "xAxisLabelRight",
2166
+ ref: Xn,
2167
+ "text-anchor": "middle",
2168
+ transform: `translate(${U.value.right + B.value.layout.padding.right + 6}, ${G.value.y + F.value.fontSize / 3}), rotate(-90)`,
2169
+ "font-size": F.value.fontSize,
2170
+ fill: F.value.color
2171
+ }, D(O(h)(R.value.selectors.labels.x.formatter, O(m)(W.value.xMax), O(t)({
2172
+ p: R.value.selectors.labels.prefix,
2173
+ v: O(m)(W.value.xMax),
2174
+ s: R.value.selectors.labels.suffix,
2175
+ r: F.value.rounding
2176
+ }))), 9, nn)) : v("", !0),
2177
+ I.value.show && I.value.showValue ? (C(), y("text", {
2178
+ key: 12,
2179
+ ref_key: "yAxisLabelTop",
2180
+ ref: Zn,
2181
+ x: G.value.x,
2182
+ y: U.value.top - I.value.fontSize,
2183
+ "text-anchor": "middle",
2184
+ "font-size": I.value.fontSize,
2185
+ fill: I.value.color
2186
+ }, D(O(h)(R.value.selectors.labels.y.formatter, O(m)(W.value.yMax), O(t)({
2187
+ p: R.value.selectors.labels.prefix,
2188
+ v: O(m)(W.value.yMax),
2189
+ s: R.value.selectors.labels.suffix,
2190
+ r: I.value.rounding
2191
+ }))), 9, rn)) : v("", !0),
2192
+ I.value.show ? (C(), y("g", {
2193
+ key: 13,
2194
+ ref_key: "yAxisLabelBottom",
2195
+ ref: Qn
2196
+ }, [I.value.showValue ? (C(), y("text", {
2197
+ key: 0,
2198
+ x: G.value.x,
2199
+ y: H.value.height - I.value.fontSize * 2,
2200
+ "text-anchor": "middle",
2201
+ "font-size": I.value.fontSize,
2202
+ fill: I.value.color
2203
+ }, D(O(h)(R.value.selectors.labels.y.formatter, O(m)(W.value.yMin), O(t)({
2204
+ p: R.value.selectors.labels.prefix,
2205
+ v: O(m)(W.value.yMin),
2206
+ s: R.value.selectors.labels.suffix,
2207
+ r: B.value.layout.dataLabels.yAxis.rounding
2208
+ }))), 9, an)) : v("", !0), b("text", {
2209
+ "text-anchor": "middle",
2210
+ "font-size": I.value.fontSize,
2211
+ "font-weight": I.value.bold ? "bold" : "normal",
2212
+ fill: I.value.color,
2213
+ x: U.value.left + U.value.width / 2 + (B.value.layout.dataLabels.reverseAxisLabels ? F.value.offsetX : I.value.offsetX),
2214
+ y: H.value.height + (B.value.layout.dataLabels.reverseAxisLabels ? F.value.offsetY : I.value.offsetY)
2215
+ }, D(B.value.layout.dataLabels.reverseAxisLabels ? F.value.name : I.value.name), 9, on)], 512)) : v("", !0),
2216
+ b("clipPath", { id: `clip_path_${j.value}` }, [b("rect", {
2217
+ x: U.value.left,
2218
+ y: U.value.top,
2219
+ width: U.value.width <= 0 ? 1e-4 : U.value.width,
2220
+ height: U.value.height <= 0 ? 1e-4 : U.value.height
2221
+ }, null, 8, cn)], 8, sn),
2222
+ B.value.layout.correlation.show ? (C(), y("g", ln, [(C(!0), y(g, null, T(q.value.filter((e) => e.correlation), (e, t) => (C(), y("line", {
2223
+ x1: e.correlation.x1,
2224
+ x2: e.correlation.x2,
2225
+ y1: e.correlation.y1,
2226
+ y2: e.correlation.y2,
2227
+ "stroke-dasharray": B.value.layout.correlation.strokeDasharray,
2228
+ stroke: e.color,
2229
+ "stroke-width": B.value.layout.correlation.strokeWidth,
2230
+ "clip-path": `url(#clip_path_${j.value})`
2231
+ }, null, 8, un))), 256)), (C(!0), y(g, null, T(q.value.filter((e) => e.correlation), (e, n) => (C(), y("g", null, [B.value.layout.correlation.label.show ? (C(), y("text", {
2232
+ key: 0,
2233
+ x: e.correlation.x2,
2234
+ y: e.correlation.y2,
2235
+ fill: B.value.layout.correlation.label.useSerieColor ? e.color : B.value.layout.correlation.label.color,
2236
+ "text-anchor": "end",
2237
+ "font-size": B.value.layout.correlation.label.fontSize,
2238
+ "font-weight": B.value.layout.correlation.label.bold ? "bold" : "normal"
2239
+ }, D(O(t)({
2240
+ v: O(m)(e.correlation?.coefficient ?? 0),
2241
+ r: B.value.layout.correlation.label.roundingValue
2242
+ })), 9, dn)) : v("", !0)]))), 256))])) : v("", !0),
2243
+ E(e.$slots, "svg", { svg: {
2244
+ ...H.value,
2245
+ drawingArea: {
2246
+ ...U.value,
2247
+ zero: G.value
2248
+ },
2249
+ data: Jr.value,
2250
+ isPrintingImg: O(Tr) || O(Er) || O(Vi),
2251
+ isPrintingSvg: O(Hi)
2252
+ } }, void 0, !0)
2253
+ ], 46, nt)), e.$slots.hint ? (C(), y("div", fn, [E(e.$slots, "hint", S(x({
2254
+ hint: N.value.a11y.translations.keyboardNavigation,
2255
+ isVisible: ir.value
2256
+ })), void 0, !0)])) : v("", !0)]),
2257
+ e.$slots.watermark ? (C(), y("div", pn, [E(e.$slots, "watermark", S(x({ isPrinting: O(Tr) || O(Er) || O(Vi) || O(Hi) })), void 0, !0)])) : v("", !0),
2258
+ b("div", { id: `legend-bottom-${j.value}` }, null, 8, mn),
2259
+ Mn.value && Wn.value && (B.value.legend.show || e.$slots.legend) ? (C(), Fe(Pe, {
2260
+ key: 7,
2261
+ to: B.value.legend.position === "top" ? `#legend-top-${j.value}` : `#legend-bottom-${j.value}`
2262
+ }, [b("div", {
2263
+ ref_key: "chartLegend",
2264
+ ref: Rn
2265
+ }, [E(e.$slots, "legend", { legend: K.value }, () => [B.value.legend.show ? (C(), Fe(Me, {
2266
+ key: `legend_${Un.value}`,
2267
+ legendSet: K.value,
2268
+ config: qr.value,
2269
+ isCursorPointer: sr.value,
2270
+ onClickMarker: n[3] ||= ({ legend: e }) => pi(e.id)
2271
+ }, {
2272
+ item: k(({ legend: e }) => [b("div", {
2273
+ onClick: (t) => e.segregate(),
2274
+ style: Ue(`opacity:${M.value.includes(e.id) ? .5 : 1}`)
2275
+ }, D(e.name), 13, hn)]),
2276
+ legendToggle: k(() => [K.value.length > 2 && B.value.legend.selectAllToggle.show && !O(dr) ? (C(), Fe(Oe, {
2277
+ key: 0,
2278
+ backgroundColor: B.value.legend.selectAllToggle.backgroundColor,
2279
+ color: B.value.legend.selectAllToggle.color,
2280
+ fontSize: B.value.legend.fontSize,
2281
+ checked: M.value.length > 0,
2282
+ isCursorPointer: sr.value,
2283
+ onToggle: fi
2284
+ }, null, 8, [
2285
+ "backgroundColor",
2286
+ "color",
2287
+ "fontSize",
2288
+ "checked",
2289
+ "isCursorPointer"
2290
+ ])) : v("", !0)]),
2291
+ _: 1
2292
+ }, 8, [
2293
+ "legendSet",
2294
+ "config",
2295
+ "isCursorPointer"
2296
+ ])) : v("", !0)], !0)], 512)], 8, ["to"])) : v("", !0),
2297
+ e.$slots.source ? (C(), y("div", {
2298
+ key: 8,
2299
+ ref_key: "source",
2300
+ ref: zn,
2301
+ dir: "auto"
2302
+ }, [E(e.$slots, "source", {}, void 0, !0)], 512)) : v("", !0),
2303
+ Re(O(bn), {
2304
+ teleportTo: z.value.teleportTo,
2305
+ show: V.value.showTooltip && Nn.value,
2306
+ backgroundColor: z.value.backgroundColor,
2307
+ color: z.value.color,
2308
+ borderRadius: z.value.borderRadius,
2309
+ borderColor: z.value.borderColor,
2310
+ borderWidth: z.value.borderWidth,
2311
+ fontSize: z.value.fontSize,
2312
+ backgroundOpacity: z.value.backgroundOpacity,
2313
+ position: z.value.position,
2314
+ offsetX: z.value.offsetX,
2315
+ offsetY: z.value.offsetY,
2316
+ parent: In.value,
2317
+ content: Pn.value,
2318
+ isFullscreen: yi.value,
2319
+ isCustom: z.value.customFormat && typeof z.value.customFormat == "function",
2320
+ smooth: z.value.smooth,
2321
+ backdropFilter: z.value.backdropFilter,
2322
+ smoothForce: z.value.smoothForce,
2323
+ smoothSnapThreshold: z.value.smoothSnapThreshold,
2324
+ isA11yMode: rr.value === "keyboard",
2325
+ a11yPosition: nr.value
2326
+ }, {
2327
+ "tooltip-before": k(() => [E(e.$slots, "tooltip-before", S(x({ ...ei.value })), void 0, !0)]),
2328
+ tooltip: k(() => [E(e.$slots, "tooltip", S(x({ ...ei.value })), void 0, !0)]),
2329
+ "tooltip-after": k(() => [E(e.$slots, "tooltip-after", S(x({ ...ei.value })), void 0, !0)]),
2330
+ default: k(() => [z.value.showShape ? (C(), y("div", gn, [(C(), y("svg", _n, [Re(Ce, {
2331
+ shape: Z.value.shape,
2332
+ color: Z.value.color,
2333
+ plot: {
2334
+ x: 10,
2335
+ y: 10
2336
+ },
2337
+ radius: 7
2338
+ }, null, 8, ["shape", "color"])]))])) : v("", !0)]),
2339
+ _: 3
2340
+ }, 8, [
2341
+ "teleportTo",
2342
+ "show",
2343
+ "backgroundColor",
2344
+ "color",
2345
+ "borderRadius",
2346
+ "borderColor",
2347
+ "borderWidth",
2348
+ "fontSize",
2349
+ "backgroundOpacity",
2350
+ "position",
2351
+ "offsetX",
2352
+ "offsetY",
2353
+ "parent",
2354
+ "content",
2355
+ "isFullscreen",
2356
+ "isCustom",
2357
+ "smooth",
2358
+ "backdropFilter",
2359
+ "smoothForce",
2360
+ "smoothSnapThreshold",
2361
+ "isA11yMode",
2362
+ "a11yPosition"
2363
+ ]),
2364
+ Mn.value && P.value.buttons.table ? (C(), Fe(Ke(Ii.value.component), Be({ key: 9 }, Ii.value.props, {
2365
+ ref_key: "tableUnit",
2366
+ ref: qn,
2367
+ onClose: Li
2368
+ }), Ie({
2369
+ content: k(() => [(C(), Fe(O(Cn), {
2370
+ key: `table_${Hn.value}`,
2371
+ colNames: vi.value.colNames,
2372
+ head: vi.value.head,
2373
+ body: vi.value.body,
2374
+ config: vi.value.config,
2375
+ title: N.value.table.useDialog ? "" : Ii.value.title,
2376
+ withCloseButton: !N.value.table.useDialog,
2377
+ isCursorPointer: sr.value,
2378
+ onClose: Li
2379
+ }, {
2380
+ th: k(({ th: e }) => [Le(D(e), 1)]),
2381
+ td: k(({ td: e }) => [e.shape ? (C(), y("div", vn, [b("span", null, D(e.content), 1)])) : (C(), y("div", {
2382
+ key: 1,
2383
+ innerHTML: e
2384
+ }, null, 8, yn))]),
2385
+ _: 1
2386
+ }, 8, [
2387
+ "colNames",
2388
+ "head",
2389
+ "body",
2390
+ "config",
2391
+ "title",
2392
+ "withCloseButton",
2393
+ "isCursorPointer"
2394
+ ]))]),
2395
+ _: 2
2396
+ }, [N.value.table.useDialog ? {
2397
+ name: "title",
2398
+ fn: k(() => [Le(D(Ii.value.title), 1)]),
2399
+ key: "0"
2400
+ } : void 0, N.value.table.useDialog ? {
2401
+ name: "actions",
2402
+ fn: k(() => [b("button", {
2403
+ tabindex: "0",
2404
+ class: "vue-ui-user-options-button",
2405
+ onClick: n[4] ||= (e) => _i(P.value.callbacks.csv),
2406
+ style: Ue({ cursor: sr.value ? "pointer" : "default" })
2407
+ }, [Re(O(xn), {
2408
+ name: "fileCsv",
2409
+ stroke: Ii.value.props.color
2410
+ }, null, 8, ["stroke"])], 4)]),
2411
+ key: "1"
2412
+ } : void 0]), 1040)) : v("", !0),
2413
+ E(e.$slots, "skeleton", {}, () => [O(dr) ? (C(), Fe(ge, { key: 0 })) : v("", !0)], !0)
2414
+ ], 46, Ze));
2415
+ }
2416
+ }, [["__scopeId", "data-v-524d8427"]]);
2417
+ //#endregion
2418
+ export { Xe as n, bn as t };