vue-data-ui 3.26.5 → 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-BQbcOtfC.js → Arrow-DKO1l8oR.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BCFCiP_6.js → BaseDraggableDialog-C50TEJFv.js} +2 -2
  3. package/dist/{BaseIcon-CIK6Sqo3.js → BaseIcon-Cx9FD751.js} +1 -1
  4. package/dist/{BaseLegendToggle-Doa5rYP2.js → BaseLegendToggle-CP3sddwv.js} +1 -1
  5. package/dist/{BaseZoomControls-BGQM8B5F.js → BaseZoomControls-vNi8YykO.js} +2 -2
  6. package/dist/{ColorPicker-Cb7qpvFt.js → ColorPicker-hmC2bvwS.js} +2 -2
  7. package/dist/{DataTable-B6LDCXBz.js → DataTable-CjF_An2h.js} +2 -2
  8. package/dist/{HillActions-CwdgCb7Q.js → HillActions-DqqGB33u.js} +1 -1
  9. package/dist/{Legend-D9FGXIbQ.js → Legend-CulFgjUY.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-9T4MSwXC.js → NonSvgPenAndPaper-BK1v_MfW.js} +3 -3
  11. package/dist/{PackageVersion-CslTvFsC.js → PackageVersion-D7H9nfK0.js} +1 -1
  12. package/dist/{PenAndPaper-C1EcBgJW.js → PenAndPaper-CNiuGw6k.js} +3 -3
  13. package/dist/{Shape-BZgQLgu5.js → Shape-DSwamtmO.js} +1 -1
  14. package/dist/{SlicerPreview-DyYv_G-_.js → SlicerPreview-k5YerMA9.js} +12 -12
  15. package/dist/{SparkTooltip-D4cRlyuq.js → SparkTooltip-D35KVv6N.js} +6 -6
  16. package/dist/{Title-Bd98RysU.js → Title-BMCuINbv.js} +1 -1
  17. package/dist/{Tooltip-DmQeI5WE.js → Tooltip-C4ZTwkLF.js} +1 -1
  18. package/dist/{UserOptions-B_yBcZ1-.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-B_RJohlM.js → dom-to-png-CBusMkua.js} +1 -1
  91. package/dist/{exposedLib-C-JlvWAt.js → exposedLib-UNxZlnAS.js} +10 -10
  92. package/dist/{img-KURaWjZI.js → img-Bb5rHcpO.js} +1 -1
  93. package/dist/{labelUtils-DShv2Mbg.js → labelUtils-Ccn9kK7T.js} +1 -1
  94. package/dist/{lib-TWIH5fGr.js → lib-D4wK6ljP.js} +127 -133
  95. package/dist/{package-DbTqd5lc.js → package-DmQufM0G.js} +1 -1
  96. package/dist/{pdf-CLl24Afl.js → pdf-BzIQHx-F.js} +1 -1
  97. package/dist/{render-common-CKv-jztN.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 -59
  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-BxOdWM0c.js → useNestedProp-DR_8JPol.js} +1 -1
  106. package/dist/{useObjectBindings-CPmyIJxB.js → useObjectBindings-DvasYMGu.js} +2 -2
  107. package/dist/{usePrinter-8Y1Rju0Y.js → usePrinter-DdW2GSm0.js} +2 -2
  108. package/dist/utils.js +10 -10
  109. package/dist/{vue-data-ui-C3G5Zdl5.js → vue-data-ui-Df7WV80w.js} +70 -70
  110. package/dist/vue-data-ui.js +75 -75
  111. package/dist/{vue-ui-3d-bar-Cl6-fBV8.js → vue-ui-3d-bar-CJjNPwhG.js} +463 -463
  112. package/dist/{vue-ui-accordion-AyyZDab3.js → vue-ui-accordion-CaoNWreI.js} +4 -4
  113. package/dist/{vue-ui-age-pyramid-DOtWAL8s.js → vue-ui-age-pyramid-BYcM0uIP.js} +22 -22
  114. package/dist/{vue-ui-annotator-BCVjlojM.js → vue-ui-annotator-BmqjDjRF.js} +10 -10
  115. package/dist/{vue-ui-bullet-B_1Ctjvq.js → vue-ui-bullet-DBOAvpBB.js} +18 -18
  116. package/dist/vue-ui-bump-rPYwDJ4o.js +1242 -0
  117. package/dist/{vue-ui-candlestick-KvhjbAxt.js → vue-ui-candlestick-WQHIQNv_.js} +625 -625
  118. package/dist/{vue-ui-carousel-table-ArMiO0cG.js → vue-ui-carousel-table-Dojcvt49.js} +106 -106
  119. package/dist/{vue-ui-chestnut-DSM0U27X.js → vue-ui-chestnut-BdhEByUf.js} +65 -65
  120. package/dist/{vue-ui-chord-64akfaem.js → vue-ui-chord-MF4xF5az.js} +46 -46
  121. package/dist/{vue-ui-circle-pack-CaR_aNEh.js → vue-ui-circle-pack-BwDim7G8.js} +26 -26
  122. package/dist/{vue-ui-cursor-DCgqYZiz.js → vue-ui-cursor-w_5cbpSb.js} +61 -61
  123. package/dist/{vue-ui-dag-8uKK0Rlp.js → vue-ui-dag-D2EUqeDN.js} +65 -65
  124. package/dist/{vue-ui-dashboard-DeccYtSY.js → vue-ui-dashboard-BLnVXosj.js} +70 -70
  125. package/dist/{vue-ui-digits-BvK7bVuJ.js → vue-ui-digits-zSqwYWHm.js} +4 -4
  126. package/dist/{vue-ui-donut-8joMj08Z.js → vue-ui-donut-ZYZfqIhi.js} +117 -117
  127. package/dist/{vue-ui-donut-evolution-DgITf95R.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-U2L4ZYhB.js → vue-ui-dumbbell-Qgn3wRyI.js} +20 -20
  130. package/dist/{vue-ui-flow-DD20fJu_.js → vue-ui-flow-iSH6dyGw.js} +109 -109
  131. package/dist/vue-ui-funnel-Cc2z2zS5.js +749 -0
  132. package/dist/{vue-ui-galaxy-VZFZnHPv.js → vue-ui-galaxy-GhuBSU0o.js} +267 -267
  133. package/dist/vue-ui-gauge-BAjBO13a.js +934 -0
  134. package/dist/{vue-ui-geo-DeDQ6ubl.js → vue-ui-geo-mwTtvIHY.js} +19 -19
  135. package/dist/{vue-ui-gizmo-D5oUKIsP.js → vue-ui-gizmo-B5vOOrZX.js} +4 -4
  136. package/dist/vue-ui-heatmap-fimkY1nN.js +1613 -0
  137. package/dist/{vue-ui-hill-DONFacXR.js → vue-ui-hill-DPfTt3UE.js} +18 -18
  138. package/dist/{vue-ui-history-plot-BMy_y9S6.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-Bol0OWs3.js → vue-ui-kpi-D-p0CSQh.js} +4 -4
  141. package/dist/{vue-ui-label-cwjXaEDQ.js → vue-ui-label-r3-QloJL.js} +65 -65
  142. package/dist/{vue-ui-mini-loader-kdpasmXb.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-ZmGGEvRk.js → vue-ui-nested-donuts-DceVEyUc.js} +341 -341
  146. package/dist/{vue-ui-onion-D6IKPpL-.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-CueHa1Pm.js → vue-ui-quadrant-CDDFLRcX.js} +55 -55
  149. package/dist/{vue-ui-quick-chart-C8ZxX1Zw.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-V_OnJN9Y.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-Bf9IKwDr.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-dyXWT6JX.js → vue-ui-skeleton-t7e6KEZ2.js} +60 -60
  157. package/dist/{vue-ui-smiley-w6nH1I0E.js → vue-ui-smiley-Dl95YWVo.js} +14 -14
  158. package/dist/{vue-ui-spark-trend-Bso9bwmY.js → vue-ui-spark-trend-pkZA7u5V.js} +20 -20
  159. package/dist/{vue-ui-sparkbar-CL06Yt56.js → vue-ui-sparkbar-Ds7OJjhG.js} +77 -77
  160. package/dist/{vue-ui-sparkgauge-BHDM5Hbr.js → vue-ui-sparkgauge-US1M88qc.js} +6 -6
  161. package/dist/vue-ui-sparkhistogram-FISVpSvv.js +589 -0
  162. package/dist/{vue-ui-sparkline-znaswFQj.js → vue-ui-sparkline-DvE1dHcs.js} +37 -37
  163. package/dist/{vue-ui-sparkstackbar-BOzVoWoa.js → vue-ui-sparkstackbar-CWtF9eG-.js} +39 -39
  164. package/dist/vue-ui-stackbar-fMgrHzZe.js +3273 -0
  165. package/dist/{vue-ui-stackline-qcLrNL09.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-D295mJIf.js → vue-ui-table-BCEIbg8-.js} +14 -14
  168. package/dist/{vue-ui-table-heatmap-CXeMKqKz.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-BULpjYiI.js → vue-ui-timer-BKr8RVnn.js} +10 -10
  172. package/dist/{vue-ui-tiremarks-B7bTeU8h.js → vue-ui-tiremarks-BYu3cEoy.js} +35 -35
  173. package/dist/{vue-ui-treemap-DkqDz9W4.js → vue-ui-treemap-BR3rX5_L.js} +50 -50
  174. package/dist/{vue-ui-waffle-Cn7WBzqh.js → vue-ui-waffle-mP8g5aQk.js} +275 -275
  175. package/dist/{vue-ui-wheel-Cy7kBvEx.js → vue-ui-wheel-CZsSO2R6.js} +187 -187
  176. package/dist/{vue-ui-word-cloud-tRqc2ZMR.js → vue-ui-word-cloud-CJ30onqy.js} +35 -35
  177. package/dist/{vue-ui-world-B755-zji.js → vue-ui-world-BZ09DOiF.js} +498 -498
  178. package/dist/{vue-ui-xy-BiHIJ7rK.js → vue-ui-xy-C3h54loZ.js} +405 -405
  179. package/dist/{vue-ui-xy-canvas-DGuMC_Rf.js → vue-ui-xy-canvas-BwgK8drp.js} +165 -165
  180. package/dist/{vue-ui-xy-DWYTZz_v.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-kOK6x4al.js +0 -1242
  184. package/dist/vue-ui-donut-CvbfzzdT.js +0 -2427
  185. package/dist/vue-ui-funnel-Cx8hVlZV.js +0 -749
  186. package/dist/vue-ui-gauge-Copa7G58.js +0 -934
  187. package/dist/vue-ui-heatmap-BukWtNsd.js +0 -1613
  188. package/dist/vue-ui-horizontal-bar-bcPSs999.js +0 -1723
  189. package/dist/vue-ui-molecule-BiAI5lbh.js +0 -941
  190. package/dist/vue-ui-mood-radar-f4xXkiBs.js +0 -1111
  191. package/dist/vue-ui-parallel-coordinate-plot-BbfModz3.js +0 -1444
  192. package/dist/vue-ui-radar-BcD7Zqvb.js +0 -1386
  193. package/dist/vue-ui-relation-circle-DlN4r83K.js +0 -905
  194. package/dist/vue-ui-ridgeline-BlQnTWXi.js +0 -1630
  195. package/dist/vue-ui-scatter-arPbS9MH.js +0 -2418
  196. package/dist/vue-ui-sparkhistogram-3Tw8PEms.js +0 -589
  197. package/dist/vue-ui-stackbar-BTOvMsP8.js +0 -2755
  198. package/dist/vue-ui-strip-plot-BLNaCPm8.js +0 -1752
  199. package/dist/vue-ui-table-sparkline-BYuwQrwA.js +0 -738
  200. package/dist/vue-ui-thermometer-BwJ0oF-H.js +0 -758
@@ -1,2418 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, $t as n, At as r, D as i, Et as a, F as o, P as s, Qt as c, Rt as l, S as u, St as d, Vt as f, X as p, _ as m, at as ee, b as h, et as te, ft as ne, i as g, nt as re, qt as ie, t as ae, tn as oe, v as se, vt as ce, w as le } from "./lib-TWIH5fGr.js";
3
- import { n as ue, t as de } from "./useHints-Dq_w2E8B.js";
4
- import { t as fe } from "./useConfig-DObkR9Aa.js";
5
- import { t as pe } from "./usePrinter-8Y1Rju0Y.js";
6
- import { n as me, t as he } from "./BaseScanner-Dzc8VT3j.js";
7
- import { t as ge } from "./useNestedProp-BxOdWM0c.js";
8
- import { t as _e } from "./useThemeCheck-C43Tcqmk.js";
9
- import { t as ve } from "./useChartExport-iwOqiIWX.js";
10
- import { t as ye } from "./useTransitions-g_zBREk2.js";
11
- import { t as be } from "./img-KURaWjZI.js";
12
- import { n as xe } from "./Title-Bd98RysU.js";
13
- import { t as Se } from "./Shape-BZgQLgu5.js";
14
- import { t as Ce } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
- import { l as we, t as Te } from "./useResponsive-ZtArZtUf.js";
16
- import { t as Ee } from "./DefGrad-DVBqDjhO.js";
17
- import { t as De } from "./BaseLegendToggle-Doa5rYP2.js";
18
- import { t as Oe } from "./A11yDataTable-DdRsVULz.js";
19
- import { t as ke } from "./useUserOptionState-DK-_1ddE.js";
20
- import { t as Ae } from "./useChartAccessibility-DYqac8yF.js";
21
- import { t as je } from "./Legend-D9FGXIbQ.js";
22
- import { t as Me } from "./vue_ui_scatter-I0POnicu.js";
23
- import { Fragment as _, Teleport as Ne, computed as v, createBlock as Pe, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createSlots as Fe, createTextVNode as Ie, createVNode as Le, defineAsyncComponent as Re, guardReactiveProps as S, mergeProps as ze, nextTick as Be, normalizeClass as Ve, normalizeProps as C, normalizeStyle as He, onBeforeUnmount as Ue, onMounted as We, openBlock as w, ref as T, renderList as E, renderSlot as D, resolveDynamicComponent as Ge, shallowRef as Ke, toDisplayString as O, toRefs as qe, unref as k, watch as Je, withCtx as A } from "vue";
24
- //#region src/components/vue-ui-scatter.vue
25
- var Ye = /* @__PURE__ */ e({ default: () => yn }), Xe = ["id"], Ze = ["id"], Qe = {
26
- key: 0,
27
- class: "sr-only",
28
- "aria-live": "polite",
29
- "aria-atomic": "true"
30
- }, $e = ["id"], et = { style: { position: "relative" } }, tt = [
31
- "xmlns",
32
- "aria-describedby",
33
- "viewBox"
34
- ], nt = ["width", "height"], rt = { key: 1 }, it = [
35
- "x1",
36
- "x2",
37
- "y1",
38
- "y2",
39
- "stroke",
40
- "stroke-width"
41
- ], at = [
42
- "x1",
43
- "x2",
44
- "y1",
45
- "y2",
46
- "stroke",
47
- "stroke-width"
48
- ], ot = { key: 2 }, st = [
49
- "x1",
50
- "x2",
51
- "y1",
52
- "y2",
53
- "stroke",
54
- "stroke-width"
55
- ], ct = ["opacity"], lt = [
56
- "stroke",
57
- "stroke-width",
58
- "d"
59
- ], ut = [
60
- "transform",
61
- "font-size",
62
- "fill",
63
- "stroke"
64
- ], dt = { key: 4 }, ft = [
65
- "x1",
66
- "x2",
67
- "y1",
68
- "y2",
69
- "stroke",
70
- "stroke-width"
71
- ], pt = ["opacity"], mt = [
72
- "d",
73
- "stroke",
74
- "stroke-width"
75
- ], ht = [
76
- "transform",
77
- "font-size",
78
- "fill",
79
- "stroke"
80
- ], gt = { key: 6 }, _t = [
81
- "x",
82
- "y",
83
- "width",
84
- "height",
85
- "fill",
86
- "stroke",
87
- "stroke-width",
88
- "rx"
89
- ], vt = [
90
- "x",
91
- "y",
92
- "width",
93
- "height",
94
- "onMouseenter"
95
- ], yt = {
96
- key: 2,
97
- style: { "pointer-events": "none" }
98
- }, bt = [
99
- "x",
100
- "y",
101
- "width",
102
- "height",
103
- "fill",
104
- "fill-opacity"
105
- ], xt = [
106
- "x1",
107
- "x2",
108
- "y2",
109
- "stroke",
110
- "stroke-dasharray",
111
- "stroke-width"
112
- ], St = [
113
- "x1",
114
- "x2",
115
- "y2",
116
- "stroke",
117
- "stroke-dasharray",
118
- "stroke-width"
119
- ], Ct = [
120
- "x",
121
- "y",
122
- "height",
123
- "width",
124
- "fill",
125
- "stroke",
126
- "stroke-width",
127
- "rx"
128
- ], wt = [
129
- "x",
130
- "y",
131
- "width",
132
- "height",
133
- "onMouseenter"
134
- ], Tt = {
135
- key: 2,
136
- style: { "pointer-events": "none" }
137
- }, Et = [
138
- "x",
139
- "y",
140
- "width",
141
- "height",
142
- "fill",
143
- "fill-opacity"
144
- ], Dt = [
145
- "x1",
146
- "x2",
147
- "y1",
148
- "y2",
149
- "stroke",
150
- "stroke-dasharray",
151
- "stroke-width"
152
- ], Ot = [
153
- "x1",
154
- "x2",
155
- "y1",
156
- "y2",
157
- "stroke",
158
- "stroke-dasharray",
159
- "stroke-width"
160
- ], kt = {
161
- key: 0,
162
- style: { "pointer-events": "none" }
163
- }, At = [
164
- "d",
165
- "stroke",
166
- "stroke-width"
167
- ], jt = [
168
- "d",
169
- "stroke",
170
- "stroke-width"
171
- ], Mt = [
172
- "d",
173
- "stroke",
174
- "stroke-width"
175
- ], Nt = [
176
- "d",
177
- "stroke",
178
- "stroke-width"
179
- ], Pt = { key: 7 }, Ft = [
180
- "points",
181
- "fill",
182
- "stroke-width",
183
- "stroke-dasharray",
184
- "stroke"
185
- ], It = {
186
- key: 0,
187
- class: "vue-ui-scatter-datapoint"
188
- }, Lt = [
189
- "cx",
190
- "cy",
191
- "r",
192
- "fill",
193
- "stroke",
194
- "stroke-width",
195
- "onMouseover",
196
- "onMouseleave",
197
- "onClick"
198
- ], Rt = { key: 1 }, zt = [
199
- "transform",
200
- "font-size",
201
- "fill",
202
- "onMouseover",
203
- "onMouseleave",
204
- "onClick"
205
- ], Bt = [
206
- "d",
207
- "fill",
208
- "stroke",
209
- "stroke-width",
210
- "stroke-opacity"
211
- ], Vt = {
212
- key: 0,
213
- style: { "pointer-events": "none" }
214
- }, Ht = [
215
- "x",
216
- "y",
217
- "width",
218
- "height"
219
- ], Ut = {
220
- key: 0,
221
- style: { "pointer-events": "none !important" }
222
- }, Wt = [
223
- "x1",
224
- "x2",
225
- "y1",
226
- "y2",
227
- "stroke",
228
- "stroke-width",
229
- "stroke-dasharray"
230
- ], Gt = [
231
- "x1",
232
- "x2",
233
- "y1",
234
- "y2",
235
- "stroke",
236
- "stroke-width",
237
- "stroke-dasharray"
238
- ], Kt = [
239
- "x",
240
- "y",
241
- "font-size",
242
- "fill",
243
- "font-weight",
244
- "text-anchor"
245
- ], qt = [
246
- "x",
247
- "y",
248
- "font-size",
249
- "fill",
250
- "font-weight"
251
- ], Jt = [
252
- "x",
253
- "y",
254
- "font-size",
255
- "fill"
256
- ], Yt = [
257
- "x",
258
- "y",
259
- "font-size",
260
- "fill"
261
- ], Xt = [
262
- "cx",
263
- "cy",
264
- "r",
265
- "fill",
266
- "stroke",
267
- "stroke-width"
268
- ], Zt = [
269
- "cx",
270
- "cy",
271
- "r",
272
- "fill",
273
- "stroke",
274
- "stroke-width"
275
- ], Qt = [
276
- "x",
277
- "y",
278
- "font-size",
279
- "fill",
280
- "font-weight",
281
- "text-anchor"
282
- ], $t = [
283
- "id",
284
- "transform",
285
- "font-size",
286
- "font-weight",
287
- "fill"
288
- ], en = [
289
- "font-size",
290
- "fill",
291
- "transform"
292
- ], tn = [
293
- "transform",
294
- "font-size",
295
- "fill"
296
- ], nn = [
297
- "x",
298
- "y",
299
- "font-size",
300
- "fill"
301
- ], rn = [
302
- "x",
303
- "y",
304
- "font-size",
305
- "fill"
306
- ], an = [
307
- "font-size",
308
- "font-weight",
309
- "fill",
310
- "x",
311
- "y"
312
- ], on = ["id"], sn = [
313
- "x",
314
- "y",
315
- "width",
316
- "height"
317
- ], cn = {
318
- key: 14,
319
- style: { pointerEvents: "none" }
320
- }, ln = [
321
- "x1",
322
- "x2",
323
- "y1",
324
- "y2",
325
- "stroke-dasharray",
326
- "stroke",
327
- "stroke-width",
328
- "clip-path"
329
- ], un = [
330
- "x",
331
- "y",
332
- "fill",
333
- "font-size",
334
- "font-weight"
335
- ], dn = {
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
- }, fn = {
346
- key: 6,
347
- class: "vue-data-ui-watermark"
348
- }, pn = ["id"], mn = ["onClick"], hn = {
349
- key: 0,
350
- style: {
351
- width: "100%",
352
- display: "flex",
353
- "align-items": "center",
354
- "justify-content": "center"
355
- }
356
- }, gn = {
357
- viewBox: "0 0 20 20",
358
- height: "20",
359
- width: "20",
360
- style: {
361
- overflow: "hidden",
362
- background: "transparent"
363
- }
364
- }, _n = { key: 0 }, vn = ["innerHTML"], yn = /*#__PURE__*/ Ce({
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: Ce, emit: Ye }) {
382
- let yn = Re(() => import("./Tooltip-DmQeI5WE.js")), bn = Re(() => import("./BaseIcon-CIK6Sqo3.js").then((e) => e.n)), xn = Re(() => import("./vue-ui-accordion-AyyZDab3.js").then((e) => e.n)), Sn = Re(() => import("./DataTable-B6LDCXBz.js")), Cn = Re(() => import("./PenAndPaper-C1EcBgJW.js").then((e) => e.t)), wn = Re(() => import("./UserOptions-B_yBcZ1-.js").then((e) => e.n)), Tn = Re(() => import("./PackageVersion-CslTvFsC.js").then((e) => e.t)), En = Re(() => import("./BaseDraggableDialog-BCFCiP_6.js").then((e) => e.n)), { vue_ui_scatter: Dn } = fe(), { isThemeValid: On, warnInvalidTheme: kn } = _e(), j = e, An = Ye, jn = v(() => !!j.dataset && j.dataset.length), M = T(p()), Mn = T(!1), Nn = T(""), Pn = T(0), Fn = T(null), In = T(null), Ln = T(null), Rn = T(null), zn = T(null), Bn = T(0), Vn = T(0), Hn = T(0), N = T([]), Un = T(!1), Wn = T(null), Gn = T(null), Kn = T(null), qn = T(null), Jn = T(null), Yn = T(null), Xn = T(null), Zn = T(null), Qn = T(null), $n = T(null), er = T(null), tr = T({
383
- x: 0,
384
- y: 0
385
- }), nr = T("pointer"), rr = T(!1), ir = T(null), P = T(_r()), F = v(() => P.value.userOptions), I = v(() => P.value.style.layout.dataLabels.xAxis), L = v(() => P.value.style.layout.dataLabels.yAxis), R = v(() => P.value.style.layout.marginalBars), z = v(() => P.value.style.layout.plots), B = v(() => P.value.style.tooltip), V = v(() => P.value.style);
386
- ue({
387
- config: () => P.value,
388
- dataset: () => j.dataset,
389
- component: "VueUiScatter",
390
- rules: [de.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: ar } = ye({
401
- config: () => P.value.transitions,
402
- dataset: () => j.dataset
403
- }), or = v(() => P.value.userOptions.useCursorPointer), sr = v(() => a(P.value.events?.datapointClick));
404
- function cr(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), h = m(p);
411
- for (let e = 0; e < d; e += 1) f[e] -= ee, p[e] -= h;
412
- let te = (e, t) => e.reduce((e, n, r) => e + n * t[r], 0), ne = (e) => te(e, e), g = te(p, f) / ne(f), re = p.map((e, t) => e - g * f[t]), ie = ne(f) / d, ae = ne(re) / d, oe = Math.sqrt((1 - t * t) * ie / ae), se = f.map((e, n) => t * e + oe * re[n]), ce = f.concat(f.map((e) => -e)), le = se.concat(se.map((e) => -e)), ue = (e) => Math.sqrt(ne(e) / e.length), de = (e, t, n) => {
413
- let r = ue(e);
414
- return e.map((e) => n + (r ? e / r * t : 0));
415
- }, fe = de(ce, i, r), pe = de(le, o, a);
416
- for (let e = fe.length - 1; e > 0; --e) {
417
- let t = Math.floor(l() * (e + 1));
418
- [fe[e], fe[t]] = [fe[t], fe[e]], [pe[e], pe[t]] = [pe[t], pe[e]];
419
- }
420
- return fe.map((e, t) => ({
421
- x: e,
422
- y: pe[t]
423
- }));
424
- }
425
- let lr = v(() => oe({
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: P.value.skeletonConfig ?? {}
452
- })), { loading: ur, FINAL_DATASET: dr, manualLoading: fr } = me({
453
- ...qe(j),
454
- FINAL_CONFIG: P,
455
- prepareConfig: _r,
456
- skeletonDataset: j.config?.skeletonDataset ?? [{
457
- name: "",
458
- color: "#999999",
459
- values: cr(100, .5, { seed: 42 })
460
- }],
461
- skeletonConfig: oe({
462
- defaultConfig: P.value,
463
- userConfig: lr.value
464
- })
465
- }), { userOptionsVisible: pr, setUserOptionsVisibility: mr, keepUserOptionState: hr } = ke({ config: P.value }), { svgRef: gr } = Ae({ config: V.value.title });
466
- function _r() {
467
- let e = ge({
468
- userConfig: j.config,
469
- defaultConfig: Dn
470
- }), t = e.theme;
471
- if (!t) return e;
472
- if (!On.value(e)) return kn(e), e;
473
- let r = ge({
474
- userConfig: Me[t] || j.config,
475
- defaultConfig: e
476
- }), i = ge({
477
- userConfig: j.config,
478
- defaultConfig: r
479
- });
480
- return {
481
- ...i,
482
- customPalette: i.customPalette.length ? i.customPalette : n[t] || f
483
- };
484
- }
485
- function vr(e) {
486
- let t = te(e);
487
- return t?.style && delete t.style.tooltip, JSON.stringify(t);
488
- }
489
- let yr = vr(j.config);
490
- Je(() => j.config, (e, t) => {
491
- let n = vr(e), r = n !== yr;
492
- yr = n;
493
- let i = _r();
494
- if (!r) {
495
- P.value.style.tooltip = i.style.tooltip, H.value.showTooltip = P.value.style.tooltip.show;
496
- return;
497
- }
498
- ur.value || (P.value = i), pr.value = !P.value.userOptions.showOnChartHover, Cr(), Bn.value += 1, Vn.value += 1, Hn.value += 1, H.value.showTable = P.value.table.show, H.value.showTooltip = B.value.show, Sr.value && P.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 }), Je(() => j.dataset, (e) => {
500
- Array.isArray(e) && e.length > 0 && (fr.value = !1);
501
- }, { deep: !0 });
502
- let br = Ke(null), xr = Ke(null);
503
- We(async () => {
504
- Cr(), await Be(), Un.value = !0;
505
- });
506
- let Sr = v(() => P.value.debug);
507
- function Cr() {
508
- if (l(j.dataset) && (ee({
509
- componentName: "VueUiScatter",
510
- type: "dataset",
511
- debug: Sr.value
512
- }), fr.value = !0), l(j.dataset) || (fr.value = P.value.loading), P.value.responsive) {
513
- let e = we(() => {
514
- let { width: e, height: t } = Te({
515
- chart: Fn.value,
516
- title: V.value.title.text ? In.value : null,
517
- legend: V.value.legend.show ? Ln.value : null,
518
- source: Rn.value,
519
- noTitle: zn.value
520
- });
521
- requestAnimationFrame(() => {
522
- U.value.width = e, U.value.height = t;
523
- });
524
- });
525
- br.value && (xr.value && br.value.unobserve(xr.value), br.value.disconnect()), br.value = new ResizeObserver(e), xr.value = Fn.value.parentNode, br.value.observe(xr.value);
526
- }
527
- }
528
- Ue(() => {
529
- br.value && (xr.value && br.value.unobserve(xr.value), br.value.disconnect());
530
- });
531
- let { isPrinting: wr, isImaging: Tr, generatePdf: Er, generateImage: Dr } = pe({
532
- elementId: `vue-ui-scatter_${M.value}`,
533
- fileName: V.value.title.text || "vue-ui-scatter",
534
- options: P.value.userOptions.print
535
- }), Or = v(() => P.value.userOptions.show && !V.value.title.text), kr = v(() => le(P.value.customPalette)), H = T({
536
- showTable: P.value.table.show,
537
- showTooltip: B.value.show
538
- });
539
- Je(P, () => {
540
- H.value = {
541
- showTable: P.value.table.show,
542
- showTooltip: B.value.show
543
- };
544
- }, { immediate: !0 });
545
- let U = T({
546
- height: V.value.layout.height,
547
- width: V.value.layout.width
548
- }), Ar = v(() => R.value.show ? R.value.size + R.value.offset : 0);
549
- function jr() {
550
- let e = 0;
551
- if (L.value.scales.show && Qn.value) try {
552
- e = Array.from(Qn.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 (Jn.value) try {
561
- t = Jn.value.getBBox().width;
562
- } catch {
563
- t = 0;
564
- }
565
- return Math.max(t, e ? e + 12 : 0);
566
- }
567
- function Mr() {
568
- let e = 0;
569
- if (Yn.value) try {
570
- let t = Yn.value.getBBox(), n = t.x + t.width - U.value.width;
571
- e = n > 0 ? n + 6 : 0;
572
- } catch {
573
- e = 0;
574
- }
575
- let t = 0;
576
- if (I.value.scales.show && $n.value) try {
577
- t = Array.from($n.value.querySelectorAll("text")).reduce((e, t) => {
578
- let n = t.getBBox(), r = n.x + n.width - U.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 W = v(() => {
587
- let e = 0, t = 0, n = 0;
588
- if (e = jr(), t = Mr(), Zn.value) try {
589
- n = Zn.value.getBBox().height + 6;
590
- } catch {
591
- n = 0;
592
- }
593
- return {
594
- top: V.value.layout.padding.top + Ar.value + L.value.fontSize * 2,
595
- right: U.value.width - V.value.layout.padding.right - Ar.value - 6 - t,
596
- bottom: U.value.height - V.value.layout.padding.bottom - n,
597
- left: V.value.layout.padding.left + e,
598
- height: U.value.height - V.value.layout.padding.top - V.value.layout.padding.bottom - Ar.value - n - L.value.fontSize * 2,
599
- width: U.value.width - V.value.layout.padding.left - V.value.layout.padding.right - Ar.value - e - t - 6
600
- };
601
- }), Nr = v(() => {
602
- Sr.value && dr.value.forEach((e, t) => {
603
- ce({
604
- datasetObject: e,
605
- requiredAttributes: ["values"]
606
- }).forEach((e) => {
607
- ee({
608
- componentName: "VueUiScatter",
609
- type: "datasetSerieAttribute",
610
- property: e,
611
- index: t
612
- });
613
- }), e.values && e.values.forEach((e, n) => {
614
- ce({
615
- datasetObject: e,
616
- requiredAttributes: ["x", "y"]
617
- }).forEach((e) => {
618
- ee({
619
- componentName: "VueUiScatter",
620
- type: "datasetSerieAttribute",
621
- property: `values.${e}`,
622
- index: `${t} - ${n}`
623
- });
624
- });
625
- });
626
- });
627
- let e = Math.min(...Kr.value.filter((e) => !N.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.x))), t = Math.max(...Kr.value.filter((e) => !N.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.x))), n = Math.min(...Kr.value.filter((e) => !N.value.includes(e.id)).flatMap((e) => e.values.map((e) => e.y))), r = Math.max(...Kr.value.filter((e) => !N.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
- }), Pr = v(() => {
635
- let e = V.value.layout.axis;
636
- return {
637
- xMin: e.xMin !== null && e.xMin !== void 0 ? e.xMin : Nr.value.xMin,
638
- xMax: e.xMax !== null && e.xMax !== void 0 ? e.xMax : Nr.value.xMax,
639
- yMin: e.yMin !== null && e.yMin !== void 0 ? e.yMin : Nr.value.yMin,
640
- yMax: e.yMax !== null && e.yMax !== void 0 ? e.yMax : Nr.value.yMax
641
- };
642
- });
643
- function Fr(e) {
644
- return Number.isFinite(e) ? e < 2 ? 2 : Math.trunc(e) : 5;
645
- }
646
- function Ir(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 Lr({ minimum: e, maximum: t, stepCount: n, useNiceScale: r }) {
650
- let i = Fr(n);
651
- if (e === t) {
652
- let n = t + (e === 0 ? 1 : Math.abs(e) * .01);
653
- return (r ? m : se)(e, n, i);
654
- }
655
- return (r ? m : se)(e, t, i);
656
- }
657
- let Rr = v(() => {
658
- let e = I.value;
659
- return Lr({
660
- minimum: Pr.value.xMin,
661
- maximum: Pr.value.xMax,
662
- stepCount: e.scales.steps,
663
- useNiceScale: e.scales.useNiceScale
664
- });
665
- }), zr = v(() => {
666
- let e = L.value;
667
- return Lr({
668
- minimum: Pr.value.yMin,
669
- maximum: Pr.value.yMax,
670
- stepCount: e.scales.steps,
671
- useNiceScale: e.scales.useNiceScale
672
- });
673
- }), G = v(() => ({
674
- xMin: Rr.value.min,
675
- xMax: Rr.value.max,
676
- yMin: zr.value.min,
677
- yMax: zr.value.max
678
- })), Br = v(() => {
679
- let e = I.value, n = e.scales.labels;
680
- return Rr.value.ticks.map((r) => ({
681
- value: r,
682
- x: Wr(r),
683
- label: g(n.formatter, h(r), t({
684
- p: z.value.selectors.labels.prefix,
685
- v: h(r),
686
- s: z.value.selectors.labels.suffix,
687
- r: Ir(e)
688
- }))
689
- }));
690
- }), Vr = v(() => {
691
- let e = L.value, n = e.scales.labels;
692
- return zr.value.ticks.map((r) => ({
693
- value: r,
694
- y: Gr(r),
695
- label: g(n.formatter, h(r), t({
696
- p: z.value.selectors.labels.prefix,
697
- v: h(r),
698
- s: z.value.selectors.labels.suffix,
699
- r: Ir(e)
700
- }))
701
- }));
702
- }), Hr = v(() => oi.value.length > 0 && I.value.scales.show), Ur = v(() => oi.value.length > 0 && L.value.scales.show);
703
- function Wr(e) {
704
- let t = G.value.xMax - G.value.xMin;
705
- return t === 0 ? W.value.left : W.value.left + (e - G.value.xMin) / t * W.value.width;
706
- }
707
- function Gr(e) {
708
- let t = G.value.yMax - G.value.yMin;
709
- return t === 0 ? W.value.bottom : W.value.bottom - (e - G.value.yMin) / t * W.value.height;
710
- }
711
- let K = v(() => {
712
- let { xMin: e, xMax: t, yMin: n, yMax: r } = G.value, i = e > 0 ? e : t < 0 ? t : 0, a = n > 0 ? n : r < 0 ? r : 0;
713
- return {
714
- x: Wr(i),
715
- y: Gr(a)
716
- };
717
- }), Kr = v(() => dr.value.map((e, t) => {
718
- let n = `cluster_${M.value}_${t}`;
719
- return {
720
- ...e,
721
- values: r({
722
- data: e.values,
723
- threshold: P.value.usePerformanceMode ? e.values.length + 1 : P.value.downsample.threshold
724
- }),
725
- id: n,
726
- color: e.color ? e.color : kr.value[t] || f[t] || f[t % f.length],
727
- opacity: N.value.includes(n) ? .5 : 1,
728
- shape: e.shape ?? "circle",
729
- segregate: () => pi(n),
730
- isSegregated: N.value.includes(n),
731
- hasGroupSelection: !!ti.value,
732
- isGroupSelected: ti.value === n,
733
- onEnter: () => ri(n),
734
- onLeave: () => ii()
735
- };
736
- })), qr = v(() => ({
737
- cy: "scatter-div-legend",
738
- backgroundColor: V.value.legend.backgroundColor,
739
- color: V.value.legend.color,
740
- fontSize: V.value.legend.fontSize,
741
- paddingBottom: 12,
742
- fontWeight: V.value.legend.bold ? "bold" : ""
743
- })), Jr = v(() => Kr.value.map((e, t) => ({
744
- ...e,
745
- plots: e.values.map((n, r) => ({
746
- x: Wr(n.x),
747
- y: Gr(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 : kr.value[t] || f[t] || f[t % f.length],
755
- id: `plot_${M.value}_${t}_${r}`,
756
- weight: n.weight ?? z.value.radius
757
- }))
758
- })).filter((e) => !N.value.includes(e.id))), q = v(() => {
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], h = 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 > h && (h = 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"), h = 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
- h = Math.max(-1, Math.min(1, e));
804
- }
805
- }
806
- let te = t({
807
- m: p,
808
- b: m,
809
- rect: W.value,
810
- verticalX: f
811
- });
812
- if (!te) 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: (te.x1 + te.x2) / 2,
825
- y: (te.y1 + te.y2) / 2
826
- };
827
- return {
828
- ...n,
829
- color: u(n.color),
830
- correlation: {
831
- ...te,
832
- coefficient: h
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 = v(() => 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 = v(() => R.value.tranches), Y = v(() => Zr(Jr.value, J.value)), Qr = v(() => {
880
- let e = W.value.top - R.value.offset, t = W.value.right + R.value.offset;
881
- return Jr.value.map((n) => {
882
- let r = Zr(n, J.value);
883
- return {
884
- coords: r,
885
- dX: s(r.avgX.map((t, n) => ({
886
- x: t,
887
- y: e - r.x[n] / r.maxX * R.value.size
888
- }))),
889
- dY: o(r.avgY.map((e, n) => ({
890
- y: e,
891
- x: t + R.value.size * r.y[n] / r.maxY
892
- }))),
893
- color: n.color,
894
- id: n.id
895
- };
896
- });
897
- }), X = T(void 0), Z = T(null), Q = T([]), $r = T(!1), ei = T(null), ti = T(void 0);
898
- function ni() {
899
- Mn.value = !1, X.value = void 0, Q.value = [], Z.value = null, ir.value = null, er.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 (!gr.value || !e) return;
914
- let t = c(e.x, e.y, gr.value);
915
- t && (tr.value = t);
916
- }
917
- let oi = v(() => 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 = I.value, r = n.scales.labels;
920
- return g(r.formatter, h(e.v.x), t({
921
- p: z.value.selectors.labels.prefix,
922
- v: h(e.v.x),
923
- s: z.value.selectors.labels.suffix,
924
- r: Ir(n)
925
- }), { datapoint: e });
926
- }
927
- function ci(e) {
928
- let n = L.value, r = n.scales.labels;
929
- return g(r.formatter, h(e.v.y), t({
930
- p: z.value.selectors.labels.prefix,
931
- v: h(e.v.y),
932
- s: z.value.selectors.labels.suffix,
933
- r: Ir(n)
934
- }), { datapoint: e });
935
- }
936
- function li(e, n, r = "pointer", i = null) {
937
- X.value = e.id, Z.value = e, nr.value = r, ir.value = i, er.value = e.id;
938
- let o = "";
939
- P.value.events.datapointEnter && P.value.events.datapointEnter({
940
- datapoint: e,
941
- seriesIndex: n
942
- }), ei.value = {
943
- datapoint: e,
944
- seriesIndex: n,
945
- series: q.value,
946
- config: P.value
947
- };
948
- let s = B.value.customFormat;
949
- a(s) && ne(() => s({
950
- datapoint: e,
951
- seriesIndex: n,
952
- series: q.value,
953
- config: P.value
954
- })) ? Nn.value = s({
955
- datapoint: e,
956
- seriesIndex: n,
957
- series: q.value,
958
- config: P.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 ${B.value.borderColor}">`, o += `<div>${I.value.name}: <b>${isNaN(e.v.x) ? "-" : g(z.value.selectors.labels.x.formatter, e.v.x, t({
960
- p: B.value.prefix,
961
- v: e.v.x,
962
- s: B.value.suffix,
963
- r: B.value.roundingValue
964
- }), {
965
- datapoint: e,
966
- seriesIndex: n
967
- })}</b></div>`, o += `<div>${L.value.name}: <b>${isNaN(e.v.y) ? "-" : g(z.value.selectors.labels.y.formatter, e.v.y, t({
968
- p: B.value.prefix,
969
- v: e.v.y,
970
- s: B.value.suffix,
971
- r: B.value.roundingValue
972
- }), {
973
- datapoint: e,
974
- seriesIndex: n
975
- })}</b></div>`, o += `${z.value.deviation.translation}: <b>${t({
976
- v: e.deviation,
977
- r: z.value.deviation.roundingValue
978
- })}</b>`, o += "</div>", Nn.value = `<div>${o}</div>`), Mn.value = !0, r === "keyboard" && Be(() => {
979
- ai(e);
980
- });
981
- }
982
- function ui(e, t) {
983
- P.value.events.datapointLeave && P.value.events.datapointLeave({
984
- datapoint: e,
985
- seriesIndex: t
986
- }), (nr.value !== "keyboard" || er.value !== e?.id) && (Mn.value = !1, X.value = void 0, Z.value = null);
987
- }
988
- function di(e, t) {
989
- P.value.events.datapointClick && P.value.events.datapointClick({
990
- datapoint: e,
991
- seriesIndex: t
992
- });
993
- }
994
- function fi() {
995
- N.value.length ? N.value = [] : Kr.value.forEach((e) => {
996
- N.value.push(e.id);
997
- }), An("selectLegend", Jr.value);
998
- }
999
- function pi(e) {
1000
- N.value.includes(e) ? N.value = N.value.filter((t) => t !== e) : N.value.length < dr.value.length - 1 && N.value.push(e), An("selectLegend", Jr.value);
1001
- }
1002
- function mi(e) {
1003
- return Kr.value.length ? Kr.value.find((t) => t.name === e) || (Sr.value && console.warn(`VueUiScatter - Series name not found "${e}"`), null) : (Sr.value && console.warn("VueUiScatter - There are no series to show."), null);
1004
- }
1005
- function hi(e) {
1006
- let t = mi(e);
1007
- t !== null && N.value.includes(t.id) && pi(t.id);
1008
- }
1009
- function gi(e) {
1010
- let t = mi(e);
1011
- t !== null && (N.value.includes(t.id) || pi(t.id));
1012
- }
1013
- function _i(e = null) {
1014
- Be(() => {
1015
- let t = [
1016
- "",
1017
- P.value.table.translations.correlationCoefficient,
1018
- P.value.table.translations.nbrPlots,
1019
- `${I.value.name} ${P.value.table.translations.average}`,
1020
- `${L.value.name} ${P.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
- [V.value.title.text],
1029
- [V.value.title.subtitle.text],
1030
- [
1031
- [""],
1032
- [""],
1033
- [""]
1034
- ],
1035
- t
1036
- ].concat(n), a = i(r);
1037
- e ? e(a) : re({
1038
- csvContent: a,
1039
- title: V.value.title.text || "vue-ui-heatmap"
1040
- });
1041
- });
1042
- }
1043
- let vi = v(() => {
1044
- let e = [
1045
- P.value.table.translations.series,
1046
- P.value.table.translations.correlationCoefficient,
1047
- P.value.table.translations.nbrPlots,
1048
- `${I.value.name} ${P.value.table.translations.average}`,
1049
- `${L.value.name} ${P.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(P.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(P.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(P.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: P.value.table.th.backgroundColor,
1068
- color: P.value.table.th.color,
1069
- outline: P.value.table.th.outline
1070
- },
1071
- td: {
1072
- backgroundColor: P.value.table.td.backgroundColor,
1073
- color: P.value.table.td.color,
1074
- outline: P.value.table.td.outline
1075
- },
1076
- breakpoint: P.value.table.responsiveBreakpoint
1077
- },
1078
- colNames: e
1079
- };
1080
- }), yi = T(!1);
1081
- function bi(e) {
1082
- yi.value = e, Pn.value += 1;
1083
- }
1084
- function xi() {
1085
- H.value.showTable = !H.value.showTable;
1086
- }
1087
- function Si() {
1088
- H.value.showTooltip = !H.value.showTooltip;
1089
- }
1090
- let Ci = T(!1);
1091
- function wi() {
1092
- Ci.value = !Ci.value;
1093
- }
1094
- async function Ti({ scale: e = 2 } = {}) {
1095
- if (!Fn.value) return;
1096
- let { width: t, height: n } = Fn.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await be({
1097
- domElement: Fn.value,
1098
- base64: !0,
1099
- img: !0,
1100
- scale: e
1101
- });
1102
- return {
1103
- imageUri: i,
1104
- base64: a,
1105
- title: V.value.title.text,
1106
- width: t,
1107
- height: n,
1108
- aspectRatio: r
1109
- };
1110
- }
1111
- function Ei(e) {
1112
- Wn.value = e, R.value.highlighter.highlightBothAxes && (Gn.value = Y.value.y.length - 2 - e);
1113
- }
1114
- function Di(e) {
1115
- Gn.value = e, R.value.highlighter.highlightBothAxes && (Wn.value = e);
1116
- }
1117
- function Oi() {
1118
- Wn.value = null, Gn.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 (!P.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 = v(() => {
1186
- if (!P.value.usePerformanceMode) return [""];
1187
- let { left: e, right: t, top: n, bottom: r } = W.value, i = Math.max(1, (t - e) * (r - n)), a = (e) => e / i * 1e4, o = z.value.stroke, s = z.value.strokeWidth, c = z.value.opacity;
1188
- return q.value.map((i) => {
1189
- let l = [];
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(z.value.radius, a.weight);
1194
- l.push(Ai({
1195
- shape: i.shape || "circle",
1196
- cx: o,
1197
- cy: s,
1198
- r: c
1199
- }));
1200
- }
1201
- if (!l.length) return null;
1202
- let u = a(i.plots.length) > 2.5 || i.plots.length > 1e3;
1203
- return {
1204
- id: i.id,
1205
- d: l.join(""),
1206
- fill: ie(i.color, c * 100),
1207
- stroke: u ? "none" : o,
1208
- strokeWidth: u ? 0 : s,
1209
- strokeOpacity: 1
1210
- };
1211
- }).filter(Boolean);
1212
- });
1213
- function Mi() {
1214
- return P.value.usePerformanceMode ? (e) => {
1215
- let t = gr.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 = v(() => {
1249
- let e = P.value.table.useDialog && !P.value.table.show, t = H.value.showTable;
1250
- return {
1251
- component: e ? En : xn,
1252
- title: `${V.value.title.text}${V.value.title.subtitle.text ? `: ${V.value.title.subtitle.text}` : ""}`,
1253
- props: e ? {
1254
- backgroundColor: P.value.table.th.backgroundColor,
1255
- color: P.value.table.th.color,
1256
- headerColor: P.value.table.th.color,
1257
- headerBg: P.value.table.th.backgroundColor,
1258
- isFullscreen: yi.value,
1259
- fullscreenParent: Fn.value,
1260
- forcedWidth: Math.min(800, window.innerWidth * .8),
1261
- isCursorPointer: or.value
1262
- } : {
1263
- hideDetails: !0,
1264
- config: {
1265
- open: t,
1266
- maxHeight: 1e4,
1267
- body: {
1268
- backgroundColor: V.value.backgroundColor,
1269
- color: V.value.color
1270
- },
1271
- head: {
1272
- backgroundColor: V.value.backgroundColor,
1273
- color: V.value.color
1274
- }
1275
- }
1276
- }
1277
- };
1278
- });
1279
- Je(() => H.value.showTable, (e) => {
1280
- P.value.table.show || (e && P.value.table.useDialog && Kn.value ? Kn.value.open() : "close" in Kn.value && Kn.value.close());
1281
- });
1282
- function Li() {
1283
- H.value.showTable = !1, qn.value && qn.value.setTableIconState(!1);
1284
- }
1285
- let Ri = v(() => V.value.backgroundColor), zi = v(() => V.value.legend), Bi = v(() => V.value.title), { isCallbackImaging: Vi, isCallbackSvg: Hi, generateSvg: Ui, onGenerateImage: Wi } = ve({
1286
- svg: gr,
1287
- title: Bi,
1288
- legend: zi,
1289
- legendItems: Kr,
1290
- backgroundColor: Ri,
1291
- getSvgCallback: () => P.value.userOptions.callbacks.svg,
1292
- generateImage: Dr
1293
- });
1294
- async function Gi() {
1295
- if (An("copyAlt", {
1296
- config: P.value,
1297
- dataset: Jr.value
1298
- }), !P.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(P.value.userOptions.callbacks.altCopy({
1303
- config: P.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
- ir.value = null, er.value = null, rr.value = !0;
1346
- }
1347
- function Ji() {
1348
- ni(), nr.value = "pointer", rr.value = !1;
1349
- }
1350
- function Yi(e) {
1351
- if (!gr.value || Ci.value || document.activeElement !== gr.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(), nr.value = "pointer";
1356
- return;
1357
- }
1358
- if (a) {
1359
- if (ir.value === null) return;
1360
- let e = Zi.value[ir.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"), er.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(er.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 = v(() => {
1397
- if (!Z.value) return "";
1398
- let e = Z.value, n = isNaN(e.v.x) ? "-" : g(z.value.selectors.labels.x.formatter, e.v.x, t({
1399
- p: B.value.prefix,
1400
- v: e.v.x,
1401
- s: B.value.suffix,
1402
- r: B.value.roundingValue
1403
- }), {
1404
- datapoint: e,
1405
- seriesIndex: e.seriesIndex
1406
- }), r = isNaN(e.v.y) ? "-" : g(z.value.selectors.labels.y.formatter, e.v.y, t({
1407
- p: B.value.prefix,
1408
- v: e.v.y,
1409
- s: B.value.suffix,
1410
- r: B.value.roundingValue
1411
- }), {
1412
- datapoint: e,
1413
- seriesIndex: e.seriesIndex
1414
- });
1415
- return [
1416
- e.clusterName || "",
1417
- e.v.name || "",
1418
- `${I.value.name}: ${n}`,
1419
- `${L.value.name}: ${r}`
1420
- ].filter(Boolean).join(". ");
1421
- }), Zi = v(() => 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 = v(() => {
1429
- let e = /* @__PURE__ */ new Map();
1430
- return Zi.value.forEach((t, n) => {
1431
- e.set(t.id, n);
1432
- }), e;
1433
- }), $i = v(() => ({
1434
- headers: vi.value?.colNames ?? [],
1435
- rows: vi.value?.a11yBody ?? []
1436
- }));
1437
- return Ce({
1438
- getData: Xr,
1439
- getImage: Ti,
1440
- generatePdf: Er,
1441
- generateCsv: _i,
1442
- generateImage: Dr,
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) => (w(), b("div", {
1452
- class: Ve(`vue-data-ui-component vue-ui-scatter ${yi.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${P.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1453
- ref_key: "scatterChart",
1454
- ref: Fn,
1455
- id: `vue-ui-scatter_${M.value}`,
1456
- style: He(`font-family:${V.value.fontFamily};width:100%; text-align:center;background:${V.value.backgroundColor};${P.value.responsive ? "height: 100%" : ""}`),
1457
- onMouseenter: n[5] ||= () => k(mr)(!0),
1458
- onMouseleave: n[6] ||= () => {
1459
- k(mr)(!1), rr.value || ni();
1460
- }
1461
- }, [
1462
- x("div", {
1463
- id: `chart-instructions-${M.value}`,
1464
- class: "sr-only"
1465
- }, [x("p", null, O(P.value.a11y.translations.keyboardNavigation), 1)], 8, Ze),
1466
- H.value.showTooltip ? y("", !0) : (w(), b("div", Qe, O(Xi.value), 1)),
1467
- $i.value?.rows?.length && jn.value ? (w(), Pe(Oe, {
1468
- key: 1,
1469
- uid: M.value,
1470
- head: $i.value.headers,
1471
- body: $i.value.rows,
1472
- notice: P.value.a11y.translations.tableAvailable,
1473
- caption: P.value.a11y.translations.tableCaption
1474
- }, null, 8, [
1475
- "uid",
1476
- "head",
1477
- "body",
1478
- "notice",
1479
- "caption"
1480
- ])) : y("", !0),
1481
- F.value.buttons.annotator ? (w(), Pe(k(Cn), {
1482
- key: 2,
1483
- svgRef: k(gr),
1484
- backgroundColor: V.value.backgroundColor,
1485
- color: V.value.color,
1486
- active: Ci.value,
1487
- isCursorPointer: or.value,
1488
- palette: F.value.annotatorPalette,
1489
- onClose: wi
1490
- }, {
1491
- "annotator-action-close": A(() => [D(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1492
- "annotator-action-color": A(({ color: t }) => [D(e.$slots, "annotator-action-color", C(S({ color: t })), void 0, !0)]),
1493
- "annotator-action-draw": A(({ mode: t }) => [D(e.$slots, "annotator-action-draw", C(S({ mode: t })), void 0, !0)]),
1494
- "annotator-action-undo": A(({ disabled: t }) => [D(e.$slots, "annotator-action-undo", C(S({ disabled: t })), void 0, !0)]),
1495
- "annotator-action-redo": A(({ disabled: t }) => [D(e.$slots, "annotator-action-redo", C(S({ disabled: t })), void 0, !0)]),
1496
- "annotator-action-delete": A(({ disabled: t }) => [D(e.$slots, "annotator-action-delete", C(S({ disabled: t })), void 0, !0)]),
1497
- _: 3
1498
- }, 8, [
1499
- "svgRef",
1500
- "backgroundColor",
1501
- "color",
1502
- "active",
1503
- "isCursorPointer",
1504
- "palette"
1505
- ])) : y("", !0),
1506
- Or.value ? (w(), b("div", {
1507
- key: 3,
1508
- ref_key: "noTitle",
1509
- ref: zn,
1510
- class: "vue-data-ui-no-title-space",
1511
- style: "height:36px; width: 100%;background:transparent"
1512
- }, null, 512)) : y("", !0),
1513
- V.value.title.text ? (w(), b("div", {
1514
- key: 4,
1515
- ref_key: "chartTitle",
1516
- ref: In,
1517
- style: "width:100%;background:transparent"
1518
- }, [(w(), Pe(xe, {
1519
- key: `title_${Bn.value}`,
1520
- config: {
1521
- title: {
1522
- cy: "scatter-div-title",
1523
- ...V.value.title
1524
- },
1525
- subtitle: {
1526
- cy: "scatter-div-subtitle",
1527
- ...V.value.title.subtitle
1528
- }
1529
- }
1530
- }, null, 8, ["config"]))], 512)) : y("", !0),
1531
- x("div", { id: `legend-top-${M.value}` }, null, 8, $e),
1532
- F.value.show && jn.value && (k(hr) || k(pr)) ? (w(), Pe(k(wn), {
1533
- ref_key: "userOptionsRef",
1534
- ref: qn,
1535
- key: `user_options_${Pn.value}`,
1536
- backgroundColor: V.value.backgroundColor,
1537
- color: V.value.color,
1538
- isImaging: k(Tr),
1539
- isPrinting: k(wr),
1540
- uid: M.value,
1541
- hasTooltip: F.value.buttons.tooltip && B.value.show,
1542
- hasPdf: F.value.buttons.pdf,
1543
- hasImg: F.value.buttons.img,
1544
- hasSvg: F.value.buttons.svg,
1545
- hasXls: F.value.buttons.csv,
1546
- hasTable: F.value.buttons.table,
1547
- hasFullscreen: F.value.buttons.fullscreen,
1548
- hasAltCopy: F.value.buttons.altCopy,
1549
- isTooltip: H.value.showTooltip,
1550
- isFullscreen: yi.value,
1551
- titles: { ...F.value.buttonTitles },
1552
- chartElement: Fn.value,
1553
- position: F.value.position,
1554
- hasAnnotator: F.value.buttons.annotator,
1555
- isAnnotation: Ci.value,
1556
- callbacks: F.value.callbacks,
1557
- printScale: F.value.print.scale,
1558
- tableDialog: P.value.table.useDialog,
1559
- isCursorPointer: or.value,
1560
- onToggleFullscreen: bi,
1561
- onGeneratePdf: k(Er),
1562
- onGenerateCsv: _i,
1563
- onGenerateImage: k(Wi),
1564
- onGenerateSvg: k(Ui),
1565
- onToggleTable: xi,
1566
- onToggleTooltip: Si,
1567
- onToggleAnnotator: wi,
1568
- onCopyAlt: Gi,
1569
- style: He({ visibility: k(hr) ? k(pr) ? "visible" : "hidden" : "visible" })
1570
- }, Fe({ _: 2 }, [
1571
- e.$slots.menuIcon ? {
1572
- name: "menuIcon",
1573
- fn: A(({ isOpen: t, color: n }) => [D(e.$slots, "menuIcon", C(S({
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: A(() => [D(e.$slots, "optionTooltip", {}, void 0, !0)]),
1582
- key: "1"
1583
- } : void 0,
1584
- e.$slots.optionPdf ? {
1585
- name: "optionPdf",
1586
- fn: A(() => [D(e.$slots, "optionPdf", {}, void 0, !0)]),
1587
- key: "2"
1588
- } : void 0,
1589
- e.$slots.optionCsv ? {
1590
- name: "optionCsv",
1591
- fn: A(() => [D(e.$slots, "optionCsv", {}, void 0, !0)]),
1592
- key: "3"
1593
- } : void 0,
1594
- e.$slots.optionImg ? {
1595
- name: "optionImg",
1596
- fn: A(() => [D(e.$slots, "optionImg", {}, void 0, !0)]),
1597
- key: "4"
1598
- } : void 0,
1599
- e.$slots.optionSvg ? {
1600
- name: "optionSvg",
1601
- fn: A(() => [D(e.$slots, "optionSvg", {}, void 0, !0)]),
1602
- key: "5"
1603
- } : void 0,
1604
- e.$slots.optionTable ? {
1605
- name: "optionTable",
1606
- fn: A(() => [D(e.$slots, "optionTable", {}, void 0, !0)]),
1607
- key: "6"
1608
- } : void 0,
1609
- e.$slots.optionFullscreen ? {
1610
- name: "optionFullscreen",
1611
- fn: A(({ toggleFullscreen: t, isFullscreen: n }) => [D(e.$slots, "optionFullscreen", C(S({
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: A(({ toggleAnnotator: t, isAnnotator: n }) => [D(e.$slots, "optionAnnotator", C(S({
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: A(({ altCopy: t }) => [D(e.$slots, "optionAltCopy", C(S({ altCopy: t })), void 0, !0)]),
1628
- key: "9"
1629
- } : void 0,
1630
- e.$slots["custom-menu-before"] ? {
1631
- name: "custom-menu-before",
1632
- fn: A(() => [D(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: A(() => [D(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("."))) : y("", !0),
1641
- x("div", et, [(w(), b("svg", {
1642
- ref_key: "svgRef",
1643
- ref: gr,
1644
- xmlns: k(ae),
1645
- "aria-describedby": `chart-instructions-${M.value}`,
1646
- class: Ve({
1647
- "vue-data-ui-fullscreen--on": yi.value,
1648
- "vue-data-ui-fulscreen--off": !yi.value,
1649
- "vue-data-ui-no-transition": !k(ar)
1650
- }),
1651
- viewBox: `0 0 ${U.value.width <= 0 ? 10 : U.value.width} ${U.value.height <= 0 ? 10 : U.value.height}`,
1652
- style: He(`max-width:100%;overflow:visible;background:transparent;color:${V.value.color}`),
1653
- onMouseleave: Oi,
1654
- tabindex: "0",
1655
- onFocus: qi,
1656
- onBlur: Ji,
1657
- onKeydown: Yi
1658
- }, [
1659
- Le(k(Tn)),
1660
- e.$slots["chart-background"] ? (w(), b("foreignObject", {
1661
- key: 0,
1662
- x: 0,
1663
- y: 0,
1664
- width: U.value.width <= 0 ? 10 : U.value.width,
1665
- height: U.value.height <= 0 ? 10 : U.value.height,
1666
- style: { pointerEvents: "none" }
1667
- }, [D(e.$slots, "chart-background", {}, void 0, !0)], 8, nt)) : y("", !0),
1668
- V.value.layout.axis.show ? (w(), b("g", rt, [x("line", {
1669
- x1: K.value.x,
1670
- x2: K.value.x,
1671
- y1: W.value.top,
1672
- y2: W.value.bottom,
1673
- stroke: V.value.layout.axis.stroke,
1674
- "stroke-width": V.value.layout.axis.strokeWidth,
1675
- "stroke-linecap": "round"
1676
- }, null, 8, it), x("line", {
1677
- x1: W.value.left,
1678
- x2: W.value.right,
1679
- y1: K.value.y,
1680
- y2: K.value.y,
1681
- stroke: V.value.layout.axis.stroke,
1682
- "stroke-width": V.value.layout.axis.strokeWidth,
1683
- "stroke-linecap": "round"
1684
- }, null, 8, at)])) : y("", !0),
1685
- I.value.scales.verticalLines.show ? (w(), b("g", ot, [(w(!0), b(_, null, E(Br.value, (e, t) => (w(), b("line", {
1686
- key: `scatter-x-scale-line-${M.value}-${t}`,
1687
- x1: e.x,
1688
- x2: e.x,
1689
- y1: W.value.top,
1690
- y2: W.value.bottom,
1691
- stroke: I.value.scales.verticalLines.stroke,
1692
- "stroke-width": I.value.scales.verticalLines.strokeWidth,
1693
- "stroke-linecap": "round"
1694
- }, null, 8, st))), 128))])) : y("", !0),
1695
- I.value.scales.show ? (w(), b("g", {
1696
- key: 3,
1697
- ref_key: "xAxisScaleLabels",
1698
- ref: $n
1699
- }, [(w(!0), b(_, null, E(Br.value, (e, t) => (w(), b("g", {
1700
- class: "vue-ui-scatter-scale-group",
1701
- key: `scatter-x-scale-${M.value}-${t}`,
1702
- opacity: +!Hr.value
1703
- }, [x("path", {
1704
- class: Ve({ "vue-data-ui-transition": k(ar) }),
1705
- stroke: V.value.layout.axis.stroke,
1706
- "stroke-width": V.value.layout.axis.strokeWidth,
1707
- d: `M${e.x},${K.value.y - 4} ${e.x},${K.value.y + 4}`,
1708
- "stroke-linecap": "round"
1709
- }, null, 10, lt), x("text", {
1710
- class: Ve({ "vue-data-ui-transition": k(ar) }),
1711
- transform: `translate(${e.x}, ${K.value.y + I.value.scales.labels.fontSize + 6 + I.value.scales.labels.offsetY})`,
1712
- "text-anchor": "middle",
1713
- "font-size": I.value.scales.labels.fontSize,
1714
- fill: I.value.scales.labels.color,
1715
- stroke: V.value.backgroundColor,
1716
- "stroke-width": "2",
1717
- "paint-order": "stroke"
1718
- }, O(e.label), 11, ut)], 8, ct))), 128))], 512)) : y("", !0),
1719
- L.value.scales.horizontalLines.show ? (w(), b("g", dt, [(w(!0), b(_, null, E(Vr.value, (e, t) => (w(), b("line", {
1720
- key: `scatter-y-scale-line-${M.value}-${t}`,
1721
- x1: W.value.left,
1722
- x2: W.value.right,
1723
- y1: e.y,
1724
- y2: e.y,
1725
- stroke: L.value.scales.horizontalLines.stroke,
1726
- "stroke-width": L.value.scales.horizontalLines.strokeWidth,
1727
- "stroke-linecap": "round"
1728
- }, null, 8, ft))), 128))])) : y("", !0),
1729
- L.value.scales.show ? (w(), b("g", {
1730
- key: 5,
1731
- ref_key: "yAxisScaleLabels",
1732
- ref: Qn,
1733
- opacity: +!Ur.value,
1734
- style: { transition: "opacity 0.1s ease-in-out" },
1735
- class: "vue-ui-scatter-scale-group"
1736
- }, [(w(!0), b(_, null, E(Vr.value, (e, t) => (w(), b("g", { key: `scatter-y-scale-${M.value}-${t}` }, [x("path", {
1737
- class: Ve({ "vue-data-ui-transition": k(ar) }),
1738
- d: `M${K.value.x - 4},${e.y} ${K.value.x + 4},${e.y}`,
1739
- stroke: V.value.layout.axis.stroke,
1740
- "stroke-width": V.value.layout.axis.strokeWidth,
1741
- "stroke-linecap": "round"
1742
- }, null, 10, mt), x("text", {
1743
- class: Ve({ "vue-data-ui-transition": k(ar) }),
1744
- transform: `translate(${K.value.x - L.value.scales.labels.fontSize / 2 - 8 + L.value.scales.labels.offsetX}, ${e.y + L.value.scales.labels.fontSize / 3})`,
1745
- "text-anchor": "end",
1746
- "font-size": L.value.scales.labels.fontSize,
1747
- fill: L.value.scales.labels.color,
1748
- stroke: V.value.backgroundColor,
1749
- "stroke-width": "2",
1750
- "paint-order": "stroke"
1751
- }, O(e.label), 11, ht)]))), 128))], 8, pt)) : y("", !0),
1752
- R.value.show ? (w(), b("g", gt, [
1753
- x("defs", null, [Le(Ee, {
1754
- t: "linear",
1755
- id: `marginal_x_${M.value}`,
1756
- x1: "0%",
1757
- y1: "0%",
1758
- x2: "0%",
1759
- y2: "100%",
1760
- stops: [[
1761
- "0%",
1762
- R.value.fill,
1763
- 1
1764
- ], [
1765
- "100%",
1766
- V.value.backgroundColor,
1767
- 1
1768
- ]]
1769
- }, null, 8, ["id", "stops"]), Le(Ee, {
1770
- t: "linear",
1771
- id: `marginal_y_${M.value}`,
1772
- x1: "0%",
1773
- x2: "100%",
1774
- y1: "0%",
1775
- y2: "0%",
1776
- stops: [[
1777
- "0%",
1778
- V.value.backgroundColor,
1779
- 1
1780
- ], [
1781
- "100%",
1782
- R.value.fill,
1783
- 1
1784
- ]]
1785
- }, null, 8, ["id", "stops"])]),
1786
- (w(!0), b(_, null, E(Y.value.x, (e, t) => (w(), b("g", null, [
1787
- e && Y.value.avgX[t] ? (w(), b("rect", {
1788
- key: 0,
1789
- x: Y.value.avgX[t] - W.value.width / J.value / 2,
1790
- y: W.value.top - R.value.offset - e / Y.value.maxX * R.value.size,
1791
- width: W.value.width / J.value <= 0 ? 1e-4 : W.value.width / J.value,
1792
- height: e / Y.value.maxX * R.value.size <= 0 ? 1e-4 : e / Y.value.maxX * R.value.size,
1793
- fill: R.value.useGradient ? `url(#marginal_x_${M.value})` : R.value.fill,
1794
- style: He([`opacity:${R.value.opacity}`, { "pointer-events": "none" }]),
1795
- stroke: V.value.backgroundColor,
1796
- "stroke-width": R.value.strokeWidth,
1797
- rx: R.value.borderRadius
1798
- }, null, 12, _t)) : y("", !0),
1799
- Y.value.avgX[t] ? (w(), b("rect", {
1800
- key: 1,
1801
- x: Y.value.avgX[t] - W.value.width / J.value / 2,
1802
- y: W.value.top - R.value.offset - R.value.size,
1803
- width: W.value.width / J.value <= 0 ? 1e-4 : W.value.width / J.value,
1804
- height: Math.max(.1, R.value.size),
1805
- fill: "transparent",
1806
- onMouseenter: (e) => Ei(t),
1807
- onMouseleave: n[0] ||= (e) => Oi()
1808
- }, null, 40, vt)) : y("", !0),
1809
- Y.value.avgX[t] && Wn.value != null && Wn.value === t ? (w(), b("g", yt, [
1810
- x("rect", {
1811
- x: Y.value.avgX[t] - W.value.width / J.value / 2,
1812
- y: W.value.top,
1813
- width: W.value.width / J.value <= 0 ? 1e-4 : W.value.width / J.value,
1814
- height: W.value.height,
1815
- fill: R.value.highlighter.color,
1816
- "fill-opacity": R.value.highlighter.opacity
1817
- }, null, 8, bt),
1818
- x("line", {
1819
- x1: Y.value.avgX[t] - W.value.width / J.value / 2,
1820
- x2: Y.value.avgX[t] - W.value.width / J.value / 2,
1821
- y1: 0,
1822
- y2: W.value.top + W.value.height,
1823
- stroke: R.value.highlighter.stroke,
1824
- "stroke-dasharray": R.value.highlighter.strokeDasharray,
1825
- "stroke-width": R.value.highlighter.strokeWidth,
1826
- style: {
1827
- transition: "none !important",
1828
- animation: "none !important"
1829
- }
1830
- }, null, 8, xt),
1831
- x("line", {
1832
- x1: Y.value.avgX[t] - W.value.width / J.value / 2 + (W.value.width / J.value <= 0 ? 1e-4 : W.value.width / J.value),
1833
- x2: Y.value.avgX[t] - W.value.width / J.value / 2 + (W.value.width / J.value <= 0 ? 1e-4 : W.value.width / J.value),
1834
- y1: 0,
1835
- y2: W.value.top + W.value.height,
1836
- stroke: R.value.highlighter.stroke,
1837
- "stroke-dasharray": R.value.highlighter.strokeDasharray,
1838
- "stroke-width": R.value.highlighter.strokeWidth,
1839
- style: {
1840
- transition: "none !important",
1841
- animation: "none !important"
1842
- }
1843
- }, null, 8, St)
1844
- ])) : y("", !0)
1845
- ]))), 256)),
1846
- (w(!0), b(_, null, E(Y.value.y, (e, t) => (w(), b("g", null, [
1847
- e && Y.value.avgY[t] ? (w(), b("rect", {
1848
- key: 0,
1849
- x: W.value.right + R.value.offset,
1850
- y: Y.value.avgY[t] - W.value.height / J.value / 2,
1851
- height: W.value.height / J.value <= 0 ? 1e-4 : W.value.height / J.value,
1852
- width: e / Y.value.maxY * R.value.size <= 0 ? 1e-4 : e / Y.value.maxY * R.value.size,
1853
- fill: R.value.useGradient ? `url(#marginal_y_${M.value})` : R.value.fill,
1854
- style: He([`opacity:${R.value.opacity}`, { "pointer-events": "none" }]),
1855
- stroke: V.value.backgroundColor,
1856
- "stroke-width": R.value.strokeWidth,
1857
- rx: R.value.borderRadius
1858
- }, null, 12, Ct)) : y("", !0),
1859
- Y.value.avgY[t] ? (w(), b("rect", {
1860
- key: 1,
1861
- x: W.value.right + R.value.offset,
1862
- y: Y.value.avgY[t] - W.value.height / J.value / 2,
1863
- width: Math.max(.1, R.value.size),
1864
- height: W.value.height / J.value <= 0 ? 1e-4 : W.value.height / J.value,
1865
- fill: "transparent",
1866
- onMouseenter: (e) => Di(t),
1867
- onMouseleave: n[1] ||= (e) => Oi()
1868
- }, null, 40, wt)) : y("", !0),
1869
- Y.value.avgY[t] && Gn.value != null && Gn.value === t ? (w(), b("g", Tt, [
1870
- x("rect", {
1871
- x: W.value.left,
1872
- y: Y.value.avgY[t] - W.value.height / J.value / 2,
1873
- width: W.value.width,
1874
- height: W.value.height / J.value <= 0 ? 1e-4 : W.value.height / J.value,
1875
- fill: R.value.highlighter.color,
1876
- "fill-opacity": R.value.highlighter.opacity
1877
- }, null, 8, Et),
1878
- x("line", {
1879
- x1: W.value.left,
1880
- x2: U.value.width,
1881
- y1: Y.value.avgY[t] - W.value.height / J.value / 2,
1882
- y2: Y.value.avgY[t] - W.value.height / J.value / 2,
1883
- stroke: R.value.highlighter.stroke,
1884
- "stroke-dasharray": R.value.highlighter.strokeDasharray,
1885
- "stroke-width": R.value.highlighter.strokeWidth,
1886
- style: {
1887
- transition: "none !important",
1888
- animation: "none !important"
1889
- }
1890
- }, null, 8, Dt),
1891
- x("line", {
1892
- x1: W.value.left,
1893
- x2: U.value.width,
1894
- y1: Y.value.avgY[t] - W.value.height / J.value / 2 + (W.value.height / J.value <= 0 ? 1e-4 : W.value.height / J.value),
1895
- y2: Y.value.avgY[t] - W.value.height / J.value / 2 + (W.value.height / J.value <= 0 ? 1e-4 : W.value.height / J.value),
1896
- stroke: R.value.highlighter.stroke,
1897
- "stroke-dasharray": R.value.highlighter.strokeDasharray,
1898
- "stroke-width": R.value.highlighter.strokeWidth,
1899
- style: {
1900
- transition: "none !important",
1901
- animation: "none !important"
1902
- }
1903
- }, null, 8, Ot)
1904
- ])) : y("", !0)
1905
- ]))), 256)),
1906
- R.value.showLines ? (w(), b("g", kt, [(w(!0), b(_, null, E(Qr.value, (e) => (w(), b(_, null, [
1907
- N.value.includes(e.id) ? y("", !0) : (w(), b("path", {
1908
- key: 0,
1909
- d: `M ${e.dX}`,
1910
- stroke: V.value.backgroundColor,
1911
- "stroke-width": R.value.linesStrokeWidth + 1,
1912
- "stroke-linecap": "round",
1913
- "stroke-linejoin": "round",
1914
- fill: "none"
1915
- }, null, 8, At)),
1916
- N.value.includes(e.id) ? y("", !0) : (w(), b("path", {
1917
- key: 1,
1918
- d: `M ${e.dX}`,
1919
- stroke: e.color,
1920
- "stroke-width": R.value.linesStrokeWidth,
1921
- "stroke-linecap": "round",
1922
- "stroke-linejoin": "round",
1923
- fill: "none"
1924
- }, null, 8, jt)),
1925
- N.value.includes(e.id) ? y("", !0) : (w(), b("path", {
1926
- key: 2,
1927
- d: `M ${e.dY}`,
1928
- stroke: V.value.backgroundColor,
1929
- "stroke-width": R.value.linesStrokeWidth + 1,
1930
- "stroke-linecap": "round",
1931
- "stroke-linejoin": "round",
1932
- fill: "none"
1933
- }, null, 8, Mt)),
1934
- N.value.includes(e.id) ? y("", !0) : (w(), b("path", {
1935
- key: 3,
1936
- d: `M ${e.dY}`,
1937
- stroke: e.color,
1938
- "stroke-width": R.value.linesStrokeWidth,
1939
- "stroke-linecap": "round",
1940
- "stroke-linejoin": "round",
1941
- fill: "none"
1942
- }, null, 8, Nt))
1943
- ], 64))), 256))])) : y("", !0)
1944
- ])) : y("", !0),
1945
- z.value.giftWrap.show ? (w(), b("g", Pt, [(w(!0), b(_, null, E(q.value, (e, t) => (w(), b("g", null, [e.plots.length > 2 ? (w(), b("polygon", {
1946
- key: 0,
1947
- points: k(d)({ series: e.plots }),
1948
- fill: k(ie)(e.color, z.value.giftWrap.fillOpacity * 100),
1949
- "stroke-width": z.value.giftWrap.strokeWidth,
1950
- "stroke-dasharray": z.value.giftWrap.strokeDasharray,
1951
- stroke: e.color,
1952
- "stroke-linejoin": "round",
1953
- "stroke-linecap": "round"
1954
- }, null, 8, Ft)) : y("", !0)]))), 256))])) : y("", !0),
1955
- P.value.usePerformanceMode ? y("", !0) : (w(!0), b(_, { key: 8 }, E(q.value, (e, t) => (w(), b("g", { key: e.id }, [!e.shape || e.shape === "circle" ? (w(), b("g", It, [(w(!0), b(_, null, E(e.plots, (n, r) => (w(), b("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 * z.value.hoverRadiusRatio : n.weight,
1960
- fill: k(ie)(e.color, X.value && X.value !== n.id || Q.value.length && !Q.value.includes(n.id) ? z.value.opacityNotSelected * 100 : z.value.opacity * 100),
1961
- stroke: z.value.stroke,
1962
- "stroke-width": z.value.strokeWidth,
1963
- style: He(`opacity:${X.value && X.value === n.id || Q.value.includes(n.id) ? 1 : z.value.significance.useDistanceOpacity ? 1 - Math.abs(n.deviation) / Yr.value : z.value.significance.show && Math.abs(n.deviation) > z.value.significance.deviationThreshold ? z.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, Lt))), 128))])) : (w(), b("g", Rt, [(w(!0), b(_, null, E(e.plots, (n, r) => (w(), Pe(Se, {
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 * z.value.hoverRadiusRatio : n.weight,
1974
- shape: e.shape,
1975
- color: k(ie)(e.color, X.value && X.value !== n.id || Q.value.length && !Q.value.includes(n.id) ? z.value.opacityNotSelected * 100 : z.value.opacity * 100),
1976
- stroke: z.value.stroke,
1977
- strokeWidth: z.value.strokeWidth,
1978
- style: He(`opacity:${X.value && X.value === n.id || Q.value.includes(n.id) ? 1 : z.value.significance.useDistanceOpacity ? 1 - Math.abs(n.deviation) / Yr.value : z.value.significance.show && Math.abs(n.deviation) > z.value.significance.deviationThreshold ? z.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))])), z.value.name.show ? (w(!0), b(_, { key: 2 }, E(e.plots, (e, n) => (w(), b("text", {
1994
- class: "vue-ui-scatter-datapoint-label",
1995
- key: `datalabel-${e.id}`,
1996
- transform: `translate(${e.x}, ${e.y - e.weight - z.value.name.fontSize + z.value.name.offsetY})`,
1997
- "text-anchor": "middle",
1998
- "font-size": z.value.name.fontSize,
1999
- fill: k(ie)(z.value.name.color, X.value && X.value !== e.id || Q.value.length && !Q.value.includes(e.id) ? z.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
- }, O(e.clusterName), 41, zt))), 128)) : y("", !0)]))), 128)),
2004
- P.value.usePerformanceMode ? (w(), b(_, { key: 9 }, [
2005
- x("g", null, [(w(!0), b(_, null, E(ji.value, (e) => (w(), b("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, Bt))), 128))]),
2015
- Z.value ? (w(), b("g", Vt, [Le(Se, {
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 * z.value.hoverRadiusRatio,
2023
- stroke: z.value.stroke,
2024
- strokeWidth: z.value.strokeWidth
2025
- }, null, 8, [
2026
- "shape",
2027
- "color",
2028
- "plot",
2029
- "radius",
2030
- "stroke",
2031
- "strokeWidth"
2032
- ])])) : y("", !0),
2033
- x("rect", {
2034
- x: W.value.left,
2035
- y: W.value.top,
2036
- width: Math.max(1e-4, W.value.width),
2037
- height: Math.max(1e-4, W.value.height),
2038
- fill: "transparent",
2039
- style: He({ cursor: $r.value && sr.value ? "pointer" : "default" }),
2040
- onMousemove: n[2] ||= (...e) => k(Ni) && k(Ni)(...e),
2041
- onMouseleave: Pi,
2042
- onClick: Fi
2043
- }, null, 44, Ht)
2044
- ], 64)) : y("", !0),
2045
- (w(!0), b(_, null, E(oi.value, (e) => (w(), b(_, { key: `selector_${e.id}` }, [z.value.selectors.show ? (w(), b("g", Ut, [
2046
- x("line", {
2047
- x1: K.value.x,
2048
- x2: e.x,
2049
- y1: e.y,
2050
- y2: e.y,
2051
- stroke: z.value.selectors.stroke,
2052
- "stroke-width": z.value.selectors.strokeWidth,
2053
- "stroke-dasharray": z.value.selectors.strokeDasharray,
2054
- "stroke-linecap": "round",
2055
- class: "line-pointer"
2056
- }, null, 8, Wt),
2057
- x("line", {
2058
- x1: e.x,
2059
- x2: e.x,
2060
- y1: K.value.y,
2061
- y2: e.y,
2062
- stroke: z.value.selectors.stroke,
2063
- "stroke-width": z.value.selectors.strokeWidth,
2064
- "stroke-dasharray": z.value.selectors.strokeDasharray,
2065
- "stroke-linecap": "round",
2066
- class: "line-pointer"
2067
- }, null, 8, Gt),
2068
- L.value.scales.show ? y("", !0) : (w(), b("text", {
2069
- key: 0,
2070
- x: K.value.x + (e.x > K.value.x ? -6 : 6),
2071
- y: e.y + z.value.selectors.labels.fontSize / 3,
2072
- "font-size": z.value.selectors.labels.fontSize,
2073
- fill: z.value.selectors.labels.color,
2074
- "font-weight": z.value.selectors.labels.bold ? "bold" : "normal",
2075
- "text-anchor": e.x > K.value.x ? "end" : "start"
2076
- }, O(k(g)(z.value.selectors.labels.y.formatter, k(h)(e.v.y), k(t)({
2077
- p: z.value.selectors.labels.prefix,
2078
- v: k(h)(e.v.y),
2079
- s: z.value.selectors.labels.suffix,
2080
- r: z.value.selectors.labels.rounding
2081
- }), { datapoint: e })), 9, Kt)),
2082
- I.value.scales.show ? y("", !0) : (w(), b("text", {
2083
- key: 1,
2084
- x: e.x,
2085
- y: K.value.y + (e.y > K.value.y ? -6 : z.value.selectors.labels.fontSize + 6),
2086
- "font-size": z.value.selectors.labels.fontSize,
2087
- fill: z.value.selectors.labels.color,
2088
- "font-weight": z.value.selectors.labels.bold ? "bold" : "normal",
2089
- "text-anchor": "middle"
2090
- }, O(k(g)(z.value.selectors.labels.y.formatter, k(h)(e.v.x), k(t)({
2091
- p: z.value.selectors.labels.prefix,
2092
- v: k(h)(e.v.x),
2093
- s: z.value.selectors.labels.suffix,
2094
- r: z.value.selectors.labels.rounding
2095
- }), { datapoint: e })), 9, qt)),
2096
- I.value.scales.show ? (w(), b("text", {
2097
- key: 2,
2098
- x: e.x,
2099
- y: K.value.y + I.value.scales.labels.fontSize + 6 + I.value.scales.labels.offsetY,
2100
- "text-anchor": "middle",
2101
- "font-size": I.value.scales.labels.fontSize,
2102
- fill: I.value.scales.labels.color
2103
- }, O(si(e)), 9, Jt)) : y("", !0),
2104
- L.value.scales.show ? (w(), b("text", {
2105
- key: 3,
2106
- x: K.value.x - L.value.scales.labels.fontSize / 2 - 8 + L.value.scales.labels.offsetX,
2107
- y: e.y + L.value.scales.labels.fontSize / 3,
2108
- "text-anchor": "end",
2109
- "font-size": L.value.scales.labels.fontSize,
2110
- fill: L.value.scales.labels.color
2111
- }, O(ci(e)), 9, Yt)) : y("", !0),
2112
- x("circle", {
2113
- cx: K.value.x,
2114
- cy: e.y,
2115
- r: z.value.selectors.markers.radius,
2116
- fill: z.value.selectors.markers.fill,
2117
- stroke: z.value.selectors.markers.stroke,
2118
- "stroke-width": z.value.selectors.markers.strokeWidth,
2119
- class: "line-pointer"
2120
- }, null, 8, Xt),
2121
- x("circle", {
2122
- cx: e.x,
2123
- cy: K.value.y,
2124
- r: z.value.selectors.markers.radius,
2125
- fill: z.value.selectors.markers.fill,
2126
- stroke: z.value.selectors.markers.stroke,
2127
- "stroke-width": z.value.selectors.markers.strokeWidth,
2128
- class: "line-pointer"
2129
- }, null, 8, Zt),
2130
- z.value.selectors.labels.showName && !z.value.name.show ? (w(), b("text", {
2131
- key: 4,
2132
- x: e.x,
2133
- y: e.y + (e.y < K.value.y ? -z.value.selectors.labels.fontSize / 2 : z.value.selectors.labels.fontSize),
2134
- "font-size": z.value.selectors.labels.fontSize,
2135
- fill: z.value.selectors.labels.color,
2136
- "font-weight": z.value.selectors.labels.bold ? "bold" : "normal",
2137
- "text-anchor": e.x < W.value.left + 100 ? "start" : e.x > W.value.right - 100 ? "end" : e.x > K.value.x ? "start" : "end"
2138
- }, O(e.v.name), 9, Qt)) : y("", !0)
2139
- ])) : y("", !0)], 64))), 128)),
2140
- I.value.show ? (w(), b("g", {
2141
- key: 10,
2142
- ref_key: "xAxisLabelLeft",
2143
- ref: Jn
2144
- }, [x("text", {
2145
- id: `vue-ui-scatter-xAxis-label-${M.value}`,
2146
- transform: `translate(${I.value.fontSize + (V.value.layout.dataLabels.reverseAxisLabels ? L.value.offsetX : I.value.offsetX)}, ${W.value.top + W.value.height / 2 + (V.value.layout.dataLabels.reverseAxisLabels ? L.value.offsetY : I.value.offsetY)}), rotate(-90)`,
2147
- "text-anchor": "middle",
2148
- "font-size": I.value.fontSize,
2149
- "font-weight": I.value.bold ? "bold" : "normal",
2150
- fill: I.value.color
2151
- }, O(V.value.layout.dataLabels.reverseAxisLabels ? L.value.name : I.value.name), 9, $t), I.value.showValue ? (w(), b("text", {
2152
- key: 0,
2153
- "text-anchor": "middle",
2154
- "font-size": I.value.fontSize,
2155
- fill: I.value.color,
2156
- transform: `translate(${I.value.name ? I.value.fontSize * 3 : 0}, ${K.value.y + I.value.fontSize / 3}), rotate(-90)`
2157
- }, O(k(g)(z.value.selectors.labels.x.formatter, k(h)(G.value.xMin), k(t)({
2158
- p: z.value.selectors.labels.prefix,
2159
- v: k(h)(G.value.xMin),
2160
- s: z.value.selectors.labels.suffix,
2161
- r: V.value.layout.dataLabels.xAxis.rounding
2162
- }))), 9, en)) : y("", !0)], 512)) : y("", !0),
2163
- I.value.show && I.value.showValue ? (w(), b("text", {
2164
- key: 11,
2165
- ref_key: "xAxisLabelRight",
2166
- ref: Yn,
2167
- "text-anchor": "middle",
2168
- transform: `translate(${W.value.right + V.value.layout.padding.right + 6}, ${K.value.y + I.value.fontSize / 3}), rotate(-90)`,
2169
- "font-size": I.value.fontSize,
2170
- fill: I.value.color
2171
- }, O(k(g)(z.value.selectors.labels.x.formatter, k(h)(G.value.xMax), k(t)({
2172
- p: z.value.selectors.labels.prefix,
2173
- v: k(h)(G.value.xMax),
2174
- s: z.value.selectors.labels.suffix,
2175
- r: I.value.rounding
2176
- }))), 9, tn)) : y("", !0),
2177
- L.value.show && L.value.showValue ? (w(), b("text", {
2178
- key: 12,
2179
- ref_key: "yAxisLabelTop",
2180
- ref: Xn,
2181
- x: K.value.x,
2182
- y: W.value.top - L.value.fontSize,
2183
- "text-anchor": "middle",
2184
- "font-size": L.value.fontSize,
2185
- fill: L.value.color
2186
- }, O(k(g)(z.value.selectors.labels.y.formatter, k(h)(G.value.yMax), k(t)({
2187
- p: z.value.selectors.labels.prefix,
2188
- v: k(h)(G.value.yMax),
2189
- s: z.value.selectors.labels.suffix,
2190
- r: L.value.rounding
2191
- }))), 9, nn)) : y("", !0),
2192
- L.value.show ? (w(), b("g", {
2193
- key: 13,
2194
- ref_key: "yAxisLabelBottom",
2195
- ref: Zn
2196
- }, [L.value.showValue ? (w(), b("text", {
2197
- key: 0,
2198
- x: K.value.x,
2199
- y: U.value.height - L.value.fontSize * 2,
2200
- "text-anchor": "middle",
2201
- "font-size": L.value.fontSize,
2202
- fill: L.value.color
2203
- }, O(k(g)(z.value.selectors.labels.y.formatter, k(h)(G.value.yMin), k(t)({
2204
- p: z.value.selectors.labels.prefix,
2205
- v: k(h)(G.value.yMin),
2206
- s: z.value.selectors.labels.suffix,
2207
- r: V.value.layout.dataLabels.yAxis.rounding
2208
- }))), 9, rn)) : y("", !0), x("text", {
2209
- "text-anchor": "middle",
2210
- "font-size": L.value.fontSize,
2211
- "font-weight": L.value.bold ? "bold" : "normal",
2212
- fill: L.value.color,
2213
- x: W.value.left + W.value.width / 2 + (V.value.layout.dataLabels.reverseAxisLabels ? I.value.offsetX : L.value.offsetX),
2214
- y: U.value.height + (V.value.layout.dataLabels.reverseAxisLabels ? I.value.offsetY : L.value.offsetY)
2215
- }, O(V.value.layout.dataLabels.reverseAxisLabels ? I.value.name : L.value.name), 9, an)], 512)) : y("", !0),
2216
- x("clipPath", { id: `clip_path_${M.value}` }, [x("rect", {
2217
- x: W.value.left,
2218
- y: W.value.top,
2219
- width: W.value.width <= 0 ? 1e-4 : W.value.width,
2220
- height: W.value.height <= 0 ? 1e-4 : W.value.height
2221
- }, null, 8, sn)], 8, on),
2222
- V.value.layout.correlation.show ? (w(), b("g", cn, [(w(!0), b(_, null, E(q.value.filter((e) => e.correlation), (e, t) => (w(), b("line", {
2223
- x1: e.correlation.x1,
2224
- x2: e.correlation.x2,
2225
- y1: e.correlation.y1,
2226
- y2: e.correlation.y2,
2227
- "stroke-dasharray": V.value.layout.correlation.strokeDasharray,
2228
- stroke: e.color,
2229
- "stroke-width": V.value.layout.correlation.strokeWidth,
2230
- "clip-path": `url(#clip_path_${M.value})`
2231
- }, null, 8, ln))), 256)), (w(!0), b(_, null, E(q.value.filter((e) => e.correlation), (e, n) => (w(), b("g", null, [V.value.layout.correlation.label.show ? (w(), b("text", {
2232
- key: 0,
2233
- x: e.correlation.x2,
2234
- y: e.correlation.y2,
2235
- fill: V.value.layout.correlation.label.useSerieColor ? e.color : V.value.layout.correlation.label.color,
2236
- "text-anchor": "end",
2237
- "font-size": V.value.layout.correlation.label.fontSize,
2238
- "font-weight": V.value.layout.correlation.label.bold ? "bold" : "normal"
2239
- }, O(k(t)({
2240
- v: k(h)(e.correlation?.coefficient ?? 0),
2241
- r: V.value.layout.correlation.label.roundingValue
2242
- })), 9, un)) : y("", !0)]))), 256))])) : y("", !0),
2243
- D(e.$slots, "svg", { svg: {
2244
- ...U.value,
2245
- drawingArea: {
2246
- ...W.value,
2247
- zero: K.value
2248
- },
2249
- data: Jr.value,
2250
- isPrintingImg: k(wr) || k(Tr) || k(Vi),
2251
- isPrintingSvg: k(Hi)
2252
- } }, void 0, !0)
2253
- ], 46, tt)), e.$slots.hint ? (w(), b("div", dn, [D(e.$slots, "hint", C(S({
2254
- hint: P.value.a11y.translations.keyboardNavigation,
2255
- isVisible: rr.value
2256
- })), void 0, !0)])) : y("", !0)]),
2257
- e.$slots.watermark ? (w(), b("div", fn, [D(e.$slots, "watermark", C(S({ isPrinting: k(wr) || k(Tr) || k(Vi) || k(Hi) })), void 0, !0)])) : y("", !0),
2258
- x("div", { id: `legend-bottom-${M.value}` }, null, 8, pn),
2259
- jn.value && Un.value && (V.value.legend.show || e.$slots.legend) ? (w(), Pe(Ne, {
2260
- key: 7,
2261
- to: V.value.legend.position === "top" ? `#legend-top-${M.value}` : `#legend-bottom-${M.value}`
2262
- }, [x("div", {
2263
- ref_key: "chartLegend",
2264
- ref: Ln
2265
- }, [D(e.$slots, "legend", { legend: Kr.value }, () => [V.value.legend.show ? (w(), Pe(je, {
2266
- key: `legend_${Hn.value}`,
2267
- legendSet: Kr.value,
2268
- config: qr.value,
2269
- isCursorPointer: or.value,
2270
- onClickMarker: n[3] ||= ({ legend: e }) => pi(e.id)
2271
- }, {
2272
- item: A(({ legend: e }) => [x("div", {
2273
- onClick: (t) => e.segregate(),
2274
- style: He(`opacity:${N.value.includes(e.id) ? .5 : 1}`)
2275
- }, O(e.name), 13, mn)]),
2276
- legendToggle: A(() => [Kr.value.length > 2 && V.value.legend.selectAllToggle.show && !k(ur) ? (w(), Pe(De, {
2277
- key: 0,
2278
- backgroundColor: V.value.legend.selectAllToggle.backgroundColor,
2279
- color: V.value.legend.selectAllToggle.color,
2280
- fontSize: V.value.legend.fontSize,
2281
- checked: N.value.length > 0,
2282
- isCursorPointer: or.value,
2283
- onToggle: fi
2284
- }, null, 8, [
2285
- "backgroundColor",
2286
- "color",
2287
- "fontSize",
2288
- "checked",
2289
- "isCursorPointer"
2290
- ])) : y("", !0)]),
2291
- _: 1
2292
- }, 8, [
2293
- "legendSet",
2294
- "config",
2295
- "isCursorPointer"
2296
- ])) : y("", !0)], !0)], 512)], 8, ["to"])) : y("", !0),
2297
- e.$slots.source ? (w(), b("div", {
2298
- key: 8,
2299
- ref_key: "source",
2300
- ref: Rn,
2301
- dir: "auto"
2302
- }, [D(e.$slots, "source", {}, void 0, !0)], 512)) : y("", !0),
2303
- Le(k(yn), {
2304
- teleportTo: B.value.teleportTo,
2305
- show: H.value.showTooltip && Mn.value,
2306
- backgroundColor: B.value.backgroundColor,
2307
- color: B.value.color,
2308
- borderRadius: B.value.borderRadius,
2309
- borderColor: B.value.borderColor,
2310
- borderWidth: B.value.borderWidth,
2311
- fontSize: B.value.fontSize,
2312
- backgroundOpacity: B.value.backgroundOpacity,
2313
- position: B.value.position,
2314
- offsetX: B.value.offsetX,
2315
- offsetY: B.value.offsetY,
2316
- parent: Fn.value,
2317
- content: Nn.value,
2318
- isFullscreen: yi.value,
2319
- isCustom: B.value.customFormat && typeof B.value.customFormat == "function",
2320
- smooth: B.value.smooth,
2321
- backdropFilter: B.value.backdropFilter,
2322
- smoothForce: B.value.smoothForce,
2323
- smoothSnapThreshold: B.value.smoothSnapThreshold,
2324
- isA11yMode: nr.value === "keyboard",
2325
- a11yPosition: tr.value
2326
- }, {
2327
- "tooltip-before": A(() => [D(e.$slots, "tooltip-before", C(S({ ...ei.value })), void 0, !0)]),
2328
- tooltip: A(() => [D(e.$slots, "tooltip", C(S({ ...ei.value })), void 0, !0)]),
2329
- "tooltip-after": A(() => [D(e.$slots, "tooltip-after", C(S({ ...ei.value })), void 0, !0)]),
2330
- default: A(() => [B.value.showShape ? (w(), b("div", hn, [(w(), b("svg", gn, [Le(Se, {
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"])]))])) : y("", !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
- jn.value && F.value.buttons.table ? (w(), Pe(Ge(Ii.value.component), ze({ key: 9 }, Ii.value.props, {
2365
- ref_key: "tableUnit",
2366
- ref: Kn,
2367
- onClose: Li
2368
- }), Fe({
2369
- content: A(() => [(w(), Pe(k(Sn), {
2370
- key: `table_${Vn.value}`,
2371
- colNames: vi.value.colNames,
2372
- head: vi.value.head,
2373
- body: vi.value.body,
2374
- config: vi.value.config,
2375
- title: P.value.table.useDialog ? "" : Ii.value.title,
2376
- withCloseButton: !P.value.table.useDialog,
2377
- isCursorPointer: or.value,
2378
- onClose: Li
2379
- }, {
2380
- th: A(({ th: e }) => [Ie(O(e), 1)]),
2381
- td: A(({ td: e }) => [e.shape ? (w(), b("div", _n, [x("span", null, O(e.content), 1)])) : (w(), b("div", {
2382
- key: 1,
2383
- innerHTML: e
2384
- }, null, 8, vn))]),
2385
- _: 1
2386
- }, 8, [
2387
- "colNames",
2388
- "head",
2389
- "body",
2390
- "config",
2391
- "title",
2392
- "withCloseButton",
2393
- "isCursorPointer"
2394
- ]))]),
2395
- _: 2
2396
- }, [P.value.table.useDialog ? {
2397
- name: "title",
2398
- fn: A(() => [Ie(O(Ii.value.title), 1)]),
2399
- key: "0"
2400
- } : void 0, P.value.table.useDialog ? {
2401
- name: "actions",
2402
- fn: A(() => [x("button", {
2403
- tabindex: "0",
2404
- class: "vue-ui-user-options-button",
2405
- onClick: n[4] ||= (e) => _i(F.value.callbacks.csv),
2406
- style: He({ cursor: or.value ? "pointer" : "default" })
2407
- }, [Le(k(bn), {
2408
- name: "fileCsv",
2409
- stroke: Ii.value.props.color
2410
- }, null, 8, ["stroke"])], 4)]),
2411
- key: "1"
2412
- } : void 0]), 1040)) : y("", !0),
2413
- D(e.$slots, "skeleton", {}, () => [k(ur) ? (w(), Pe(he, { key: 0 })) : y("", !0)], !0)
2414
- ], 46, Xe));
2415
- }
2416
- }, [["__scopeId", "data-v-524d8427"]]);
2417
- //#endregion
2418
- export { Ye as n, yn as t };