vue-data-ui 3.15.12 → 3.16.1

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