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
@@ -0,0 +1,782 @@
1
+ import { useCssVars as St, defineAsyncComponent as ue, computed as g, ref as c, toRefs as It, watch as re, shallowRef as Re, onMounted as Mt, onBeforeUnmount as Et, openBlock as o, createElementBlock as i, unref as u, normalizeStyle as R, createElementVNode as J, toDisplayString as V, createBlock as G, createCommentVNode as h, withCtx as p, renderSlot as d, normalizeProps as w, guardReactiveProps as x, createSlots as Tt, normalizeClass as ce, createVNode as Ft, Fragment as S, renderList as N, mergeProps as Ne, createTextVNode as De, nextTick as Bt } from "vue";
2
+ import { j as Rt, t as je, m as Nt, p as Ue, n as Dt, o as Ve, q as Ge, r as jt, X as Ut, W as We, k as ve, l as de, a2 as fe } from "./lib-DBptbyyI.js";
3
+ import { t as Vt, u as Gt } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Wt } from "./useConfig-DO94Aj5s.js";
5
+ import { u as Kt, B as Xt } from "./BaseScanner-BhhkKVoj.js";
6
+ import { u as Yt } from "./usePrinter-CEpYU3r5.js";
7
+ import { u as qt } from "./useSvgExport-ByUukOZt.js";
8
+ import { u as ye } from "./useNestedProp-Bf5XFbs8.js";
9
+ import { u as Ht } from "./useThemeCheck-D1ZYXUwG.js";
10
+ import { u as Jt } from "./useUserOptionState-BIvW1Kz7.js";
11
+ import { u as Qt } from "./useChartAccessibility-9icAAmYg.js";
12
+ import { u as Zt } from "./useAutoSizeLabelsInsideViewbox-DX7LdvFX.js";
13
+ import el from "./img-LXxMLmCg.js";
14
+ import tl from "./Title-BeMKE1cj.js";
15
+ import ll from "./vue_ui_relation_circle-CCroen7h.js";
16
+ import { A as al } from "./A11yDataTable-KcVAX2cP.js";
17
+ import { _ as sl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
18
+ const nl = ["id"], ol = ["id"], il = { style: { position: "relative" } }, ul = ["xmlns", "viewBox", "aria-describedby"], rl = ["width", "height"], cl = ["cx", "cy", "r", "stroke", "stroke-width"], vl = { key: 1 }, dl = ["stroke", "d", "stroke-width"], fl = { style: { "pointer-events": "none" } }, yl = ["cx", "cy", "fill", "r", "stroke"], gl = ["x", "y", "fill", "font-size"], hl = { key: 2 }, ml = ["stroke", "stroke-width", "x1", "x2", "y1", "y2"], pl = { style: { "pointer-events": "none" } }, bl = ["cx", "cy", "fill", "r", "stroke"], kl = ["x", "y", "fill", "font-size"], wl = ["text-anchor", "transform", "x", "y", "font-weight", "font-size", "fill", "text-decoration", "onClick", "onMouseenter", "onMouseleave"], xl = ["cx", "cy", "fill", "stroke", "r", "onClick", "onMouseenter", "onMouseleave"], Cl = {
19
+ key: 0,
20
+ style: { position: "absolute", top: "100%", left: "0", width: "100%" },
21
+ "data-dom-to-png-ignore": "",
22
+ "aria-hidden": "true"
23
+ }, $l = {
24
+ key: 5,
25
+ class: "vue-data-ui-watermark"
26
+ }, Al = {
27
+ __name: "vue-ui-relation-circle",
28
+ props: {
29
+ dataset: {
30
+ type: Array,
31
+ default() {
32
+ return [];
33
+ }
34
+ },
35
+ config: {
36
+ type: Object,
37
+ default() {
38
+ return {};
39
+ }
40
+ }
41
+ },
42
+ emits: ["copyAlt"],
43
+ setup(Ke, { expose: Xe, emit: Ye }) {
44
+ St((e) => ({
45
+ d6a20264: rt.value,
46
+ ef050ca6: ut.value,
47
+ v37f094cf: ct.value
48
+ }));
49
+ const qe = ue(() => import("./PenAndPaper-Ct3qJ4lA.js")), He = ue(() => import("./UserOptions-rW2fRf3V.js")), Je = ue(() => import("./PackageVersion-DPO-OOVI.js")), { vue_ui_relation_circle: Qe } = Wt(), { isThemeValid: Ze, warnInvalidTheme: et } = Ht(), b = Ke, tt = Ye, lt = g(() => !!b.dataset && Object.keys(b.dataset).length), P = c(Rt()), ge = c(0), I = c(null), he = c(null), me = c(null), pe = c(null), be = c(0), W = c(!1), K = c(!1), m = c(null), X = c(!1), l = c(ee()), Y = g(() => l.value.userOptions.useCursorPointer), at = g(() => je({
50
+ defaultConfig: {
51
+ userOptions: { show: !1 },
52
+ customPalette: new Array(7).fill("#CACACA"),
53
+ style: {
54
+ backgroundColor: "#99999930",
55
+ labels: { color: "#6A6A6A" },
56
+ circle: { stroke: "#6A6A6A" },
57
+ plot: { color: "#6A6A6A", useSerieColor: !0 },
58
+ links: { maxWidth: 2 }
59
+ }
60
+ },
61
+ userConfig: l.value.skeletonConfig ?? {}
62
+ })), { loading: ke, FINAL_DATASET: st, manualLoading: Q } = Kt({
63
+ ...It(b),
64
+ FINAL_CONFIG: l,
65
+ prepareConfig: ee,
66
+ skeletonDataset: b.config?.skeletonDataset ?? [
67
+ { id: "A", label: "_", relations: ["B", "C", "D", "E", "F", "G"] },
68
+ { id: "B", label: "_", relations: ["A"] },
69
+ { id: "C", label: "_", relations: ["A"] },
70
+ { id: "D", label: "_", relations: ["A"] },
71
+ { id: "E", label: "_", relations: ["A"] },
72
+ { id: "F", label: "_", relations: ["A"] },
73
+ { id: "G", label: "_", relations: ["A"] }
74
+ ],
75
+ skeletonConfig: je({
76
+ defaultConfig: l.value,
77
+ userConfig: at.value
78
+ })
79
+ }), { userOptionsVisible: Z, setUserOptionsVisibility: we, keepUserOptionState: xe } = Jt({ config: l.value }), { svgRef: T } = Qt({ config: l.value.style.title });
80
+ function ee() {
81
+ const e = ye({
82
+ userConfig: b.config,
83
+ defaultConfig: Qe
84
+ }), a = e.theme;
85
+ if (!a) return e;
86
+ if (!Ze.value(e))
87
+ return et(e), e;
88
+ const t = ye({
89
+ userConfig: ll[a] || b.config,
90
+ defaultConfig: e
91
+ }), s = ye({
92
+ userConfig: b.config,
93
+ defaultConfig: t
94
+ });
95
+ return {
96
+ ...s,
97
+ customPalette: s.customPalette.length ? s.customPalette : Nt[a] || Ue
98
+ };
99
+ }
100
+ re(() => b.config, (e) => {
101
+ l.value = ee(), Z.value = !l.value.userOptions.showOnChartHover, M.value = l.value.style.size, k.value = l.value.style.weightLabels.size, q.value = l.value.style.plot.radius, D.value = l.value.style.labels.fontSize, v.value.height = l.value.style.size, v.value.width = l.value.style.size, Le(), be.value += 1;
102
+ }, { deep: !0 }), re(() => b.dataset, (e) => {
103
+ Array.isArray(e) && e.length > 0 && (Q.value = !1);
104
+ }, { deep: !0 });
105
+ const { isPrinting: te, isImaging: le, generatePdf: Ce, generateImage: $e } = Yt({
106
+ elementId: `relation_circle_${P.value}`,
107
+ fileName: l.value.style.title.text || "vue-ui-relation-circle",
108
+ options: l.value.userOptions.print
109
+ }), nt = g(() => l.value.userOptions.show && !l.value.style.title.text), Ae = g(() => Dt(l.value.customPalette)), y = c([]), C = c([]), f = c({}), $ = c([]), ot = c(0), L = g(() => st.value.slice(0, l.value.style.limit).map((e) => {
110
+ const a = Array.isArray(e.relations) ? e.relations : [];
111
+ return {
112
+ ...e,
113
+ weights: Array.isArray(e.weights) ? e.weights : new Array(a.length).fill(1),
114
+ relations: a
115
+ };
116
+ }));
117
+ re(L, () => {
118
+ y.value = [], C.value = [], ae(), se();
119
+ });
120
+ const M = c(l.value.style.size), k = c(l.value.style.weightLabels.size), q = c(l.value.style.plot.radius), D = c(l.value.style.labels.fontSize), v = c({
121
+ height: l.value.style.size,
122
+ width: l.value.style.size
123
+ }), E = g({
124
+ get() {
125
+ return M.value * l.value.style.circle.radiusProportion;
126
+ },
127
+ set(e) {
128
+ return e;
129
+ }
130
+ }), it = g(() => l.value.style.links.curved), ut = g(() => `${l.value.style.animation.speedMs}ms`), rt = g(() => E.value * 2), ct = g(() => E.value * 4), _ = Re(null), F = Re(null);
131
+ Mt(() => {
132
+ Le(), document.getElementById(`relation_circle_${P.value}`).addEventListener("click", Oe);
133
+ });
134
+ const Pe = g(() => l.value.debug);
135
+ function Le() {
136
+ if (Ve(b.dataset) ? (Ge({
137
+ componentName: "VueUiRelationCircle",
138
+ type: "dataset",
139
+ debug: Pe.value
140
+ }), Q.value = !0) : b.dataset.forEach((e, a) => {
141
+ jt({
142
+ datasetObject: e,
143
+ requiredAttributes: ["id", "label", "relations", "weights"]
144
+ }).forEach((t) => {
145
+ Ge({
146
+ componentName: "VueUiRelationCircle",
147
+ type: "datasetSerieAttribute",
148
+ property: t,
149
+ index: a,
150
+ debug: Pe.value
151
+ });
152
+ });
153
+ }), Ve(b.dataset) || (Q.value = l.value.loading), l.value.responsive) {
154
+ const e = Vt(() => {
155
+ const { width: a, height: t } = Gt({
156
+ chart: I.value,
157
+ title: l.value.style.title.text ? he.value : null,
158
+ source: me.value,
159
+ noTitle: pe.value
160
+ });
161
+ requestAnimationFrame(() => {
162
+ M.value = Math.min(a, t), v.value.width = Math.max(0.1, a), v.value.height = Math.max(0.1, t - 12), E.value = M.value * l.value.style.circle.radiusProportion, y.value = [], C.value = [], ae(), se(), _e(), l.value.responsiveProportionalSizing ? (k.value = fe({
163
+ relator: M.value,
164
+ adjuster: l.value.style.size,
165
+ source: l.value.style.weightLabels.size,
166
+ threshold: 6,
167
+ fallback: 6
168
+ }), q.value = fe({
169
+ relator: M.value,
170
+ adjuster: l.value.style.size,
171
+ source: l.value.style.plot.radius,
172
+ threshold: 1,
173
+ fallback: 1
174
+ }), D.value = fe({
175
+ relator: M.value,
176
+ adjuster: l.value.style.size,
177
+ source: l.value.style.labels.fontSize,
178
+ threshold: 6,
179
+ fallback: 6
180
+ })) : (k.value = l.value.style.weightLabels.size, q.value = l.value.style.plot.radius, D.value = l.value.style.labels.fontSize);
181
+ });
182
+ });
183
+ _.value && (F.value && _.value.unobserve(F.value), _.value.disconnect()), _.value = new ResizeObserver(e), F.value = I.value.parentNode, _.value.observe(F.value);
184
+ } else
185
+ y.value = [], C.value = [], ae(), se();
186
+ _e();
187
+ }
188
+ Et(() => {
189
+ document.getElementById(`relation_circle_${P.value}`).removeEventListener("click", Oe), _.value && (F.value && _.value.unobserve(F.value), _.value.disconnect());
190
+ });
191
+ const { autoSizeLabels: _e } = Zt({
192
+ svgRef: T,
193
+ fontSize: l.value.style.labels.fontSize,
194
+ minFontSize: l.value.style.labels.minFontSize,
195
+ sizeRef: D,
196
+ labelClass: ".vue-ui-relation-circle-legend"
197
+ });
198
+ function Oe(e) {
199
+ const a = e.target;
200
+ a && Array.from(a.classList).includes("vue-ui-user-options") || a && Array.from(a.classList).includes("vue-ui-user-options-summary") || a && Array.from(a.classList).includes("vue-data-ui-button") || a && Array.from(a.classList).includes("vue-ui-relation-circle-legend") || (f.value = {}, $.value = []);
201
+ }
202
+ function ae() {
203
+ const e = 6.28319 / L.value.length, a = 360 / L.value.length;
204
+ let t = 0, s = 0;
205
+ L.value.forEach((r, n) => {
206
+ const A = r.weights.reduce((Ot, zt) => Ot + zt, 0), z = E.value * Math.cos(t) + v.value.width / 2, _t = E.value * Math.sin(t) + v.value.height / 2 + l.value.style.circle.offsetY;
207
+ y.value.push({ x: z, y: _t, ...r, color: r.color ? r.color : Ae.value[n] ? Ae.value[n] : Ue[n], regAngle: s, totalWeight: A }), t += e, s += a;
208
+ });
209
+ }
210
+ function vt(e, a) {
211
+ const t = (e.x + a.x) / 2, s = (e.y + a.y) / 2;
212
+ return { x: t, y: s };
213
+ }
214
+ function se() {
215
+ C.value = [], y.value.forEach((e) => {
216
+ y.value.filter((t) => t.relations.includes(e.id)).forEach((t, s) => {
217
+ const r = t.relations.indexOf(e.id);
218
+ C.value.push({
219
+ weight: t.weights[r] ? t.weights[r] : 0,
220
+ relationId: `${e.id}_${t.id}`,
221
+ x1: e.x,
222
+ y1: e.y,
223
+ x2: t.x,
224
+ y2: t.y,
225
+ colorSource: e.color,
226
+ colorTarget: t.color,
227
+ midPointLine: vt({ x: e.x, y: e.y }, { x: t.x, y: t.y }),
228
+ midPointBezier: dt({
229
+ x1: e.x,
230
+ x2: t.x,
231
+ y1: e.y,
232
+ y2: t.y
233
+ }),
234
+ ...e
235
+ });
236
+ });
237
+ });
238
+ }
239
+ function dt(e) {
240
+ const a = { x: e.x1, y: e.y1 }, t = { x: e.x2, y: e.y2 }, s = { x: e.x1, y: e.y1 }, r = {
241
+ x: v.value.width / 2,
242
+ y: v.value.height / 2 + l.value.style.circle.offsetY
243
+ }, n = 0.5, A = Math.pow(1 - n, 3) * a.x + 3 * Math.pow(1 - n, 2) * n * s.x + 3 * (1 - n) * Math.pow(n, 2) * r.x + Math.pow(n, 3) * t.x, z = Math.pow(1 - n, 3) * a.y + 3 * Math.pow(1 - n, 2) * n * s.y + 3 * (1 - n) * Math.pow(n, 2) * r.y + Math.pow(n, 3) * t.y;
244
+ return { x: A, y: z };
245
+ }
246
+ const ft = g(() => Math.max(...C.value.map((e) => e.weight)));
247
+ function yt(e) {
248
+ return Object.hasOwn(f.value, "x") ? $.value.includes(e.id) ? "opacity:1" : "opacity:0.1" : "opacity:1";
249
+ }
250
+ function O(e) {
251
+ return e.colorSource;
252
+ }
253
+ function ze(e) {
254
+ return Object.hasOwn(f.value, "x") ? $.value.includes(e.id) && e.relationId === `${e.id}_${f.value.id}` || e.relationId === `${f.value.id}_${e.id}` ? `opacity:1;stroke-width:${ne(e)}` : "opacity: 0" : "opacity: 1";
255
+ }
256
+ function B(e) {
257
+ return Object.hasOwn(f.value, "x") ? !!($.value.includes(e.id) && e.relationId === `${e.id}_${f.value.id}` || e.relationId === `${f.value.id}_${e.id}`) : !1;
258
+ }
259
+ function gt(e) {
260
+ return e.regAngle > 90 && e.regAngle < 270 ? "end" : "start";
261
+ }
262
+ function ht(e) {
263
+ return e.regAngle > 90 && e.regAngle < 270 ? e.x - 5 : e.x + 5;
264
+ }
265
+ function mt(e) {
266
+ return Object.hasOwn(f.value, "x") ? f.value.id === e.id || $.value.includes(e.id) ? "opacity:1" : "opacity:0.2" : "opacity:1";
267
+ }
268
+ function pt(e) {
269
+ return e.regAngle > 90 && e.regAngle < 270 ? `rotate(${e.regAngle + 180},${e.x},${e.y})` : `rotate(${e.regAngle},${e.x},${e.y})`;
270
+ }
271
+ const j = c(null);
272
+ function Se(e, a) {
273
+ j.value = a, m.value = a, l.value.events.datapointEnter && l.value.events.datapointEnter({ datapoint: e, seriesIndex: a });
274
+ }
275
+ function Ie(e, a) {
276
+ j.value = null, X.value || (m.value = null), l.value.events.datapointLeave && l.value.events.datapointLeave({ datapoint: e, seriesIndex: a });
277
+ }
278
+ function Me(e, a) {
279
+ e && (l.value.events.datapointClick && l.value.events.datapointClick({ datapoint: e, seriesIndex: a }), ot.value = 360 - e.regAngle, f.value.id && e.id === f.value.id ? (f.value = {}, $.value = []) : (f.value = e, $.value = [...e.relations]));
280
+ }
281
+ function Ee(e, a) {
282
+ m.value = a, Me(e, a);
283
+ }
284
+ function ne(e) {
285
+ const a = e.weight / ft.value * l.value.style.links.maxWidth;
286
+ return Math.max(0.3, a);
287
+ }
288
+ const H = c(!1);
289
+ function Te(e) {
290
+ H.value = e, ge.value += 1;
291
+ }
292
+ const U = c(!1);
293
+ function oe() {
294
+ U.value = !U.value;
295
+ }
296
+ async function bt({ scale: e = 2 } = {}) {
297
+ if (!I.value) return;
298
+ const { width: a, height: t } = I.value.getBoundingClientRect(), s = a / t, { imageUri: r, base64: n } = await el({ domElement: I.value, base64: !0, img: !0, scale: e });
299
+ return {
300
+ imageUri: r,
301
+ base64: n,
302
+ title: l.value.style.title.text,
303
+ width: a,
304
+ height: t,
305
+ aspectRatio: s
306
+ };
307
+ }
308
+ const kt = g(() => l.value.style.backgroundColor), wt = g(() => l.value.style.title), { exportSvg: xt, getSvg: Ct } = qt({
309
+ svg: T,
310
+ title: wt,
311
+ backgroundColor: kt
312
+ });
313
+ async function Fe({ isCb: e }) {
314
+ K.value = !0, await Bt();
315
+ try {
316
+ if (e) {
317
+ const { blob: a, url: t, text: s, dataUrl: r } = await Ct();
318
+ await Promise.resolve(l.value.userOptions.callbacks.svg({ blob: a, url: t, text: s, dataUrl: r }));
319
+ } else
320
+ await Promise.resolve(xt());
321
+ } finally {
322
+ K.value = !1;
323
+ }
324
+ }
325
+ function $t(e) {
326
+ if (e?.stage === "start") {
327
+ W.value = !0;
328
+ return;
329
+ }
330
+ if (e?.stage === "end") {
331
+ W.value = !1;
332
+ return;
333
+ }
334
+ $e();
335
+ }
336
+ async function Be() {
337
+ if (tt("copyAlt", {
338
+ config: l.value,
339
+ dataset: L.value
340
+ }), !l.value.userOptions.callbacks.altCopy) {
341
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
342
+ return;
343
+ }
344
+ await Promise.resolve(l.value.userOptions.callbacks.altCopy({
345
+ config: l.value,
346
+ dataset: L.value
347
+ }));
348
+ }
349
+ function At() {
350
+ X.value = !0, y.value.length && m.value === null && (m.value = 0);
351
+ }
352
+ function Pt() {
353
+ X.value = !1, m.value = null;
354
+ }
355
+ function Lt(e) {
356
+ if (!T.value || U.value || document.activeElement !== T.value || !y.value.length) return;
357
+ const a = ["ArrowLeft", "ArrowUp"].includes(e.key), t = ["ArrowRight", "ArrowDown"].includes(e.key), s = e.key === "Enter" || e.key === " ", r = e.key === "Escape";
358
+ if (!a && !t && !s && !r) return;
359
+ if (e.preventDefault(), e.stopPropagation(), r) {
360
+ m.value = null, f.value = {}, $.value = [];
361
+ return;
362
+ }
363
+ if (s) {
364
+ if (m.value === null) return;
365
+ const z = y.value[m.value];
366
+ if (!z) return;
367
+ Me(z, m.value);
368
+ return;
369
+ }
370
+ let n = m.value;
371
+ n === null || n < 0 || n >= y.value.length ? n = t ? 0 : y.value.length - 1 : t ? (n += 1, n >= y.value.length && (n = 0)) : a && (n -= 1, n < 0 && (n = y.value.length - 1)), m.value = n, j.value = n;
372
+ const A = y.value[n];
373
+ A && l.value.events.datapointEnter && l.value.events.datapointEnter({ datapoint: A, seriesIndex: n });
374
+ }
375
+ const ie = g(() => {
376
+ const e = [
377
+ "ID",
378
+ "Label",
379
+ "Total weight",
380
+ "Relations count",
381
+ "Relations"
382
+ ], a = L.value.map((t) => {
383
+ const s = t.relations.map((n) => L.value.find((z) => z.id === n)?.label || n).join(", "), r = (t.weights || []).reduce((n, A) => n + Number(A || 0), 0);
384
+ return [
385
+ t.id,
386
+ t.label,
387
+ r,
388
+ t.relations.length,
389
+ s
390
+ ];
391
+ });
392
+ return { headers: e, rows: a };
393
+ });
394
+ return Xe({
395
+ getImage: bt,
396
+ generatePdf: Ce,
397
+ generateSvg: Fe,
398
+ generateImage: $e,
399
+ toggleAnnotator: oe,
400
+ toggleFullscreen: Te,
401
+ copyAlt: Be
402
+ }), (e, a) => (o(), i("div", {
403
+ ref_key: "relationCircleChart",
404
+ ref: I,
405
+ class: "vue-data-ui-component vue-ui-relation-circle",
406
+ style: R(`width:100%;background:${l.value.style.backgroundColor};text-align:center;${l.value.responsive ? "height: 100%" : ""}`),
407
+ id: `relation_circle_${P.value}`,
408
+ onMouseenter: a[0] || (a[0] = () => u(we)(!0)),
409
+ onMouseleave: a[1] || (a[1] = () => u(we)(!1))
410
+ }, [
411
+ J("div", {
412
+ id: `chart-instructions-${P.value}`,
413
+ class: "sr-only"
414
+ }, [
415
+ J("p", null, V(l.value.a11y.translations.keyboardNavigation), 1)
416
+ ], 8, ol),
417
+ ie.value?.rows?.length ? (o(), G(al, {
418
+ key: 0,
419
+ uid: P.value,
420
+ head: ie.value.headers,
421
+ body: ie.value.rows,
422
+ notice: l.value.a11y.translations.tableAvailable,
423
+ caption: l.value.a11y.translations.tableCaption
424
+ }, null, 8, ["uid", "head", "body", "notice", "caption"])) : h("", !0),
425
+ l.value.userOptions.buttons.annotator ? (o(), G(u(qe), {
426
+ key: 1,
427
+ svgRef: u(T),
428
+ backgroundColor: l.value.style.backgroundColor,
429
+ color: l.value.style.color,
430
+ active: U.value,
431
+ isCursorPointer: Y.value,
432
+ onClose: oe
433
+ }, {
434
+ "annotator-action-close": p(() => [
435
+ d(e.$slots, "annotator-action-close", {}, void 0, !0)
436
+ ]),
437
+ "annotator-action-color": p(({ color: t }) => [
438
+ d(e.$slots, "annotator-action-color", w(x({ color: t })), void 0, !0)
439
+ ]),
440
+ "annotator-action-draw": p(({ mode: t }) => [
441
+ d(e.$slots, "annotator-action-draw", w(x({ mode: t })), void 0, !0)
442
+ ]),
443
+ "annotator-action-undo": p(({ disabled: t }) => [
444
+ d(e.$slots, "annotator-action-undo", w(x({ disabled: t })), void 0, !0)
445
+ ]),
446
+ "annotator-action-redo": p(({ disabled: t }) => [
447
+ d(e.$slots, "annotator-action-redo", w(x({ disabled: t })), void 0, !0)
448
+ ]),
449
+ "annotator-action-delete": p(({ disabled: t }) => [
450
+ d(e.$slots, "annotator-action-delete", w(x({ disabled: t })), void 0, !0)
451
+ ]),
452
+ _: 3
453
+ }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : h("", !0),
454
+ nt.value ? (o(), i("div", {
455
+ key: 2,
456
+ ref_key: "noTitle",
457
+ ref: pe,
458
+ class: "vue-data-ui-no-title-space",
459
+ style: "height:36px; width: 100%;background:transparent"
460
+ }, null, 512)) : h("", !0),
461
+ l.value.style.title.text ? (o(), i("div", {
462
+ key: 3,
463
+ ref_key: "chartTitle",
464
+ ref: he,
465
+ style: "width:100%;background:transparent"
466
+ }, [
467
+ (o(), G(tl, {
468
+ key: `title_${be.value}`,
469
+ config: {
470
+ title: {
471
+ cy: "relation-div-title",
472
+ ...l.value.style.title
473
+ },
474
+ subtitle: {
475
+ cy: "relation-div-subtitle",
476
+ ...l.value.style.title.subtitle
477
+ }
478
+ }
479
+ }, null, 8, ["config"]))
480
+ ], 512)) : h("", !0),
481
+ l.value.userOptions.show && lt.value && (u(xe) || u(Z)) ? (o(), G(u(He), {
482
+ ref: "details",
483
+ key: `user_options_${ge.value}`,
484
+ backgroundColor: l.value.style.backgroundColor,
485
+ color: l.value.style.color,
486
+ isPrinting: u(te),
487
+ isImaging: u(le),
488
+ uid: P.value,
489
+ hasPdf: l.value.userOptions.buttons.pdf,
490
+ hasImg: l.value.userOptions.buttons.img,
491
+ hasSvg: l.value.userOptions.buttons.svg,
492
+ hasFullscreen: l.value.userOptions.buttons.fullscreen,
493
+ hasAltCopy: l.value.userOptions.buttons.altCopy,
494
+ hasXls: !1,
495
+ isFullscreen: H.value,
496
+ titles: { ...l.value.userOptions.buttonTitles },
497
+ chartElement: I.value,
498
+ position: l.value.userOptions.position,
499
+ hasAnnotator: l.value.userOptions.buttons.annotator,
500
+ isAnnotation: U.value,
501
+ callbacks: l.value.userOptions.callbacks,
502
+ printScale: l.value.userOptions.print.scale,
503
+ isCursorPointer: Y.value,
504
+ onToggleFullscreen: Te,
505
+ onGeneratePdf: u(Ce),
506
+ onGenerateImage: $t,
507
+ onGenerateSvg: Fe,
508
+ onToggleAnnotator: oe,
509
+ onCopyAlt: Be,
510
+ style: R({
511
+ visibility: u(xe) ? u(Z) ? "visible" : "hidden" : "visible"
512
+ })
513
+ }, Tt({ _: 2 }, [
514
+ e.$slots.menuIcon ? {
515
+ name: "menuIcon",
516
+ fn: p(({ isOpen: t, color: s }) => [
517
+ d(e.$slots, "menuIcon", w(x({ isOpen: t, color: s })), void 0, !0)
518
+ ]),
519
+ key: "0"
520
+ } : void 0,
521
+ e.$slots.optionPdf ? {
522
+ name: "optionPdf",
523
+ fn: p(() => [
524
+ d(e.$slots, "optionPdf", {}, void 0, !0)
525
+ ]),
526
+ key: "1"
527
+ } : void 0,
528
+ e.$slots.optionImg ? {
529
+ name: "optionImg",
530
+ fn: p(() => [
531
+ d(e.$slots, "optionImg", {}, void 0, !0)
532
+ ]),
533
+ key: "2"
534
+ } : void 0,
535
+ e.$slots.optionSvg ? {
536
+ name: "optionSvg",
537
+ fn: p(() => [
538
+ d(e.$slots, "optionSvg", {}, void 0, !0)
539
+ ]),
540
+ key: "3"
541
+ } : void 0,
542
+ e.$slots.optionFullscreen ? {
543
+ name: "optionFullscreen",
544
+ fn: p(({ toggleFullscreen: t, isFullscreen: s }) => [
545
+ d(e.$slots, "optionFullscreen", w(x({ toggleFullscreen: t, isFullscreen: s })), void 0, !0)
546
+ ]),
547
+ key: "4"
548
+ } : void 0,
549
+ e.$slots.optionAnnotator ? {
550
+ name: "optionAnnotator",
551
+ fn: p(({ toggleAnnotator: t, isAnnotator: s }) => [
552
+ d(e.$slots, "optionAnnotator", w(x({ toggleAnnotator: t, isAnnotator: s })), void 0, !0)
553
+ ]),
554
+ key: "5"
555
+ } : void 0,
556
+ e.$slots.optionAltCopy ? {
557
+ name: "optionAltCopy",
558
+ fn: p(({ altCopy: t }) => [
559
+ d(e.$slots, "optionAltCopy", w(x({ altCopy: t })), void 0, !0)
560
+ ]),
561
+ key: "6"
562
+ } : void 0
563
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasSvg", "hasFullscreen", "hasAltCopy", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "isCursorPointer", "onGeneratePdf", "style"])) : h("", !0),
564
+ J("div", il, [
565
+ (o(), i("svg", {
566
+ ref_key: "svgRef",
567
+ ref: T,
568
+ xmlns: u(Ut),
569
+ class: ce([{ "vue-data-ui-fullscreen--on": H.value, "vue-data-ui-fulscreen--off": !H.value }, "relation-circle"]),
570
+ viewBox: `0 0 ${v.value.width <= 0 ? 10 : v.value.width} ${v.value.height <= 0 ? 10 : v.value.height}`,
571
+ width: "100%",
572
+ style: "user-select:none; background:transparent",
573
+ "aria-describedby": `chart-instructions-${P.value}`,
574
+ tabindex: "0",
575
+ onFocus: At,
576
+ onBlur: Pt,
577
+ onKeydown: Lt
578
+ }, [
579
+ Ft(u(Je)),
580
+ e.$slots["chart-background"] ? (o(), i("foreignObject", {
581
+ key: 0,
582
+ x: 0,
583
+ y: 0,
584
+ width: v.value.width <= 0 ? 10 : v.value.width,
585
+ height: v.value.height <= 0 ? 10 : v.value.height,
586
+ style: {
587
+ pointerEvents: "none"
588
+ }
589
+ }, [
590
+ d(e.$slots, "chart-background", {}, void 0, !0)
591
+ ], 8, rl)) : h("", !0),
592
+ J("circle", {
593
+ cx: (v.value.width <= 0 ? 1e-4 : v.value.width) / 2,
594
+ cy: (v.value.height <= 0 ? 1e-4 : v.value.height) / 2 + l.value.style.circle.offsetY,
595
+ r: E.value <= 0 ? 1e-4 : E.value,
596
+ stroke: l.value.style.circle.stroke,
597
+ "stroke-width": l.value.style.circle.strokeWidth,
598
+ fill: "transparent",
599
+ class: "main-circle"
600
+ }, null, 8, cl),
601
+ it.value ? (o(), i("g", vl, [
602
+ (o(!0), i(S, null, N(C.value, (t, s) => (o(), i("path", {
603
+ key: `relation_${s}`,
604
+ style: R(ze(t)),
605
+ stroke: O(t),
606
+ class: ce(["relation", { "vue-ui-relation-circle-selected": f.value.hasOwnProperty("id") && $.value.includes(t.id) }]),
607
+ d: `M${t.x1},${t.y1} C${t.x1},${t.y1} ${v.value.width / 2},${v.value.height / 2 + l.value.style.circle.offsetY} ${t.x2},${t.y2}`,
608
+ fill: "none",
609
+ "stroke-width": ne(t),
610
+ "stroke-linecap": "round"
611
+ }, null, 14, dl))), 128)),
612
+ (o(!0), i(S, null, N(C.value, (t, s) => (o(), i("g", fl, [
613
+ B(t) ? d(e.$slots, "dataLabel", Ne({
614
+ key: 0,
615
+ ref_for: !0
616
+ }, {
617
+ x: t.midPointBezier.x,
618
+ y: t.midPointBezier.y,
619
+ color: O(t),
620
+ weight: t.weight,
621
+ fontSize: k.value
622
+ }), void 0, !0) : h("", !0),
623
+ B(t) && !e.$slots.dataLabel ? (o(), i("circle", {
624
+ key: 1,
625
+ cx: t.midPointBezier.x,
626
+ cy: t.midPointBezier.y,
627
+ fill: O(t),
628
+ r: k.value,
629
+ stroke: l.value.style.backgroundColor,
630
+ "stroke-width": "1"
631
+ }, null, 8, yl)) : h("", !0),
632
+ B(t) && !e.$slots.dataLabel ? (o(), i("text", {
633
+ key: 2,
634
+ x: t.midPointBezier.x,
635
+ y: t.midPointBezier.y + k.value / 3,
636
+ fill: u(We)(O(t)),
637
+ "text-anchor": "middle",
638
+ "font-size": k.value
639
+ }, V(u(ve)(
640
+ l.value.style.weightLabels.formatter,
641
+ t.weight,
642
+ u(de)({
643
+ p: l.value.style.weightLabels.prefix,
644
+ v: t.weight,
645
+ s: l.value.style.weightLabels.suffix,
646
+ r: l.value.style.weightLabels.rounding
647
+ }),
648
+ { ...t }
649
+ )), 9, gl)) : h("", !0)
650
+ ]))), 256))
651
+ ])) : (o(), i("g", hl, [
652
+ (o(!0), i(S, null, N(C.value, (t, s) => (o(), i("line", {
653
+ key: `relation_${s}`,
654
+ stroke: O(t),
655
+ "stroke-width": ne(t),
656
+ style: R(ze(t)),
657
+ x1: t.x1,
658
+ x2: t.x2,
659
+ y1: t.y1,
660
+ y2: t.y2,
661
+ class: ce({ "vue-ui-relation-circle-selected": f.value.hasOwnProperty("id") && $.value.includes(t.id) }),
662
+ "stroke-linecap": "round"
663
+ }, null, 14, ml))), 128)),
664
+ (o(!0), i(S, null, N(C.value, (t, s) => (o(), i("g", pl, [
665
+ B(t) ? d(e.$slots, "dataLabel", Ne({
666
+ key: 0,
667
+ ref_for: !0
668
+ }, {
669
+ x: t.midPointLine.x,
670
+ y: t.midPointLine.y,
671
+ color: O(t),
672
+ weight: t.weight,
673
+ fontSize: k.value
674
+ }), void 0, !0) : h("", !0),
675
+ B(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (o(), i("circle", {
676
+ key: 1,
677
+ cx: t.midPointLine.x,
678
+ cy: t.midPointLine.y,
679
+ fill: O(t),
680
+ r: k.value,
681
+ stroke: l.value.style.backgroundColor,
682
+ "stroke-width": "1"
683
+ }, null, 8, bl)) : h("", !0),
684
+ B(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (o(), i("text", {
685
+ key: 2,
686
+ x: t.midPointLine.x,
687
+ y: t.midPointLine.y + k.value / 3,
688
+ fill: u(We)(O(t)),
689
+ "text-anchor": "middle",
690
+ "font-size": k.value
691
+ }, V(u(ve)(
692
+ l.value.style.weightLabels.formatter,
693
+ t.weight,
694
+ u(de)({
695
+ p: l.value.style.weightLabels.prefix,
696
+ v: t.weight,
697
+ s: l.value.style.weightLabels.suffix,
698
+ r: l.value.style.weightLabels.rounding
699
+ }),
700
+ { ...t }
701
+ )), 9, kl)) : h("", !0)
702
+ ]))), 256))
703
+ ])),
704
+ (o(!0), i(S, null, N(y.value, (t, s) => (o(), i("text", {
705
+ key: `plot_text_${s}`,
706
+ "text-anchor": gt(t),
707
+ transform: pt(t),
708
+ x: ht(t),
709
+ y: t.y + 5,
710
+ class: "vue-ui-relation-circle-legend",
711
+ "transform-origin": "start",
712
+ "font-weight": f.value.id === t.id ? "900" : "400",
713
+ style: R(`font-family:${l.value.style.fontFamily};${mt(t)};cursor:${Y.value ? "pointer" : "default"}`),
714
+ "font-size": D.value,
715
+ fill: l.value.style.labels.color,
716
+ "text-decoration": s === j.value || s === m.value ? "underline" : void 0,
717
+ onClick: (r) => Ee(t, s),
718
+ onMouseenter: (r) => Se(t, s),
719
+ onMouseleave: (r) => Ie(t, s)
720
+ }, [
721
+ u(ke) ? (o(), i(S, { key: 0 }, [
722
+ De(" -------- ")
723
+ ], 64)) : (o(), i(S, { key: 1 }, [
724
+ De(V(t.label) + " (" + V(u(ve)(
725
+ l.value.style.weightLabels.formatter,
726
+ t.totalWeight,
727
+ u(de)({
728
+ p: l.value.style.weightLabels.prefix,
729
+ v: t.totalWeight,
730
+ s: l.value.style.weightLabels.suffix,
731
+ r: l.value.style.weightLabels.rounding
732
+ }),
733
+ { ...t }
734
+ )) + ") ", 1)
735
+ ], 64))
736
+ ], 44, wl))), 128)),
737
+ (o(!0), i(S, null, N(y.value, (t, s) => (o(), i("circle", {
738
+ cx: t.x,
739
+ cy: t.y,
740
+ key: `plot_${s}`,
741
+ style: R(`${yt(t)}; transition: r 0.2s ease-in-out; cursor:${Y.value ? "pointer" : "default"}`),
742
+ class: "vue-ui-relation-circle-plot",
743
+ fill: l.value.style.plot.useSerieColor ? t.color : l.value.style.plot.color,
744
+ stroke: l.value.style.backgroundColor,
745
+ "stroke-width": "1",
746
+ r: q.value * (s === j.value || s === m.value ? 2 : 1),
747
+ onClick: (r) => Ee(t, s),
748
+ onMouseenter: (r) => Se(t, s),
749
+ onMouseleave: (r) => Ie(t, s)
750
+ }, null, 44, xl))), 128)),
751
+ d(e.$slots, "svg", {
752
+ svg: {
753
+ ...v.value,
754
+ isPrintingImg: u(te) | u(le) | W.value,
755
+ isPrintingSvg: K.value
756
+ }
757
+ }, void 0, !0)
758
+ ], 42, ul)),
759
+ e.$slots.hint ? (o(), i("div", Cl, [
760
+ d(e.$slots, "hint", w(x({ hint: l.value.a11y.translations.keyboardNavigation, isVisible: X.value })), void 0, !0)
761
+ ])) : h("", !0)
762
+ ]),
763
+ e.$slots.watermark ? (o(), i("div", $l, [
764
+ d(e.$slots, "watermark", w(x({ isPrinting: u(te) || u(le) || W.value || K.value })), void 0, !0)
765
+ ])) : h("", !0),
766
+ e.$slots.source ? (o(), i("div", {
767
+ key: 6,
768
+ ref_key: "source",
769
+ ref: me,
770
+ dir: "auto"
771
+ }, [
772
+ d(e.$slots, "source", {}, void 0, !0)
773
+ ], 512)) : h("", !0),
774
+ d(e.$slots, "skeleton", {}, () => [
775
+ u(ke) ? (o(), G(Xt, { key: 0 })) : h("", !0)
776
+ ], !0)
777
+ ], 44, nl));
778
+ }
779
+ }, Vl = /* @__PURE__ */ sl(Al, [["__scopeId", "data-v-75988890"]]);
780
+ export {
781
+ Vl as default
782
+ };