vue-data-ui 3.22.9 → 3.22.10

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