vue-data-ui 3.20.11 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/{Arrow-D6j6ocXm.js → Arrow-_pDGXl76.js} +1 -1
  2. package/dist/{BaseDraggableDialog-4hDW-Rj2.js → BaseDraggableDialog-BvaFJWHb.js} +2 -2
  3. package/dist/{BaseIcon-DfLoHNUj.js → BaseIcon-CbDazQLH.js} +1 -1
  4. package/dist/{BaseLegendToggle-C_Db-y7s.js → BaseLegendToggle-BNRi408o.js} +1 -1
  5. package/dist/{BaseZoomControls-CG7hI_1P.js → BaseZoomControls-Dbtq9oyx.js} +2 -2
  6. package/dist/{ColorPicker-Bjwxnvfh.js → ColorPicker-B4ob7JgP.js} +2 -2
  7. package/dist/{DataTable-B--IN22e.js → DataTable-DweDyHc1.js} +2 -2
  8. package/dist/{Legend-Cz2uQ5gs.js → Legend-BLhREbj7.js} +2 -2
  9. package/dist/{NonSvgPenAndPaper-gLNJ1Lmr.js → NonSvgPenAndPaper-BzZyMJBF.js} +3 -3
  10. package/dist/{PackageVersion-eS823iMF.js → PackageVersion-DYLo3MRd.js} +1 -1
  11. package/dist/{PenAndPaper-DqrClVfb.js → PenAndPaper-D4aFMYZf.js} +3 -3
  12. package/dist/{Shape-BPCJfphn.js → Shape-BxFtoF1z.js} +1 -1
  13. package/dist/{Slicer-SHBj0VaV.js → Slicer-GABgkLkB.js} +2 -2
  14. package/dist/{SlicerPreview-By4kBVCY.js → SlicerPreview-CXLgqXX8.js} +6 -6
  15. package/dist/{SparkTooltip-CfE6yCad.js → SparkTooltip-CdSRUoZN.js} +6 -6
  16. package/dist/{Title-NWp4qB4K.js → Title-DH6G8_cZ.js} +1 -1
  17. package/dist/{Tooltip-BENq327o.js → Tooltip-979Ytd8R.js} +1 -1
  18. package/dist/{UserOptions-C1NgoGu6.js → UserOptions-qFz-9Pnw.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-history-plot.js +1 -1
  46. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  47. package/dist/components/vue-ui-icon.js +1 -1
  48. package/dist/components/vue-ui-kpi.js +1 -1
  49. package/dist/components/vue-ui-mini-loader.js +1 -1
  50. package/dist/components/vue-ui-molecule.js +1 -1
  51. package/dist/components/vue-ui-mood-radar.js +1 -1
  52. package/dist/components/vue-ui-nested-donuts.js +1 -1
  53. package/dist/components/vue-ui-onion.js +1 -1
  54. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  55. package/dist/components/vue-ui-quadrant.js +1 -1
  56. package/dist/components/vue-ui-quick-chart.js +1 -1
  57. package/dist/components/vue-ui-radar.js +1 -1
  58. package/dist/components/vue-ui-rating.js +1 -1
  59. package/dist/components/vue-ui-relation-circle.js +1 -1
  60. package/dist/components/vue-ui-ridgeline.js +1 -1
  61. package/dist/components/vue-ui-rings.js +1 -1
  62. package/dist/components/vue-ui-scatter.js +1 -1
  63. package/dist/components/vue-ui-skeleton.js +1 -1
  64. package/dist/components/vue-ui-smiley.js +1 -1
  65. package/dist/components/vue-ui-spark-trend.js +1 -1
  66. package/dist/components/vue-ui-sparkbar.js +1 -1
  67. package/dist/components/vue-ui-sparkgauge.js +1 -1
  68. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  69. package/dist/components/vue-ui-sparkline.js +1 -1
  70. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  71. package/dist/components/vue-ui-stackbar.js +1 -1
  72. package/dist/components/vue-ui-stackline.js +1 -1
  73. package/dist/components/vue-ui-strip-plot.js +1 -1
  74. package/dist/components/vue-ui-table-heatmap.js +1 -1
  75. package/dist/components/vue-ui-table-sparkline.js +1 -1
  76. package/dist/components/vue-ui-table.js +1 -1
  77. package/dist/components/vue-ui-thermometer.js +1 -1
  78. package/dist/components/vue-ui-timer.js +1 -1
  79. package/dist/components/vue-ui-tiremarks.js +1 -1
  80. package/dist/components/vue-ui-treemap.js +1 -1
  81. package/dist/components/vue-ui-vertical-bar.js +1 -1
  82. package/dist/components/vue-ui-waffle.js +1 -1
  83. package/dist/components/vue-ui-wheel.js +1 -1
  84. package/dist/components/vue-ui-word-cloud.js +1 -1
  85. package/dist/components/vue-ui-world.js +1 -1
  86. package/dist/components/vue-ui-xy-canvas.js +1 -1
  87. package/dist/components/vue-ui-xy.js +1 -1
  88. package/dist/{dom-to-png-BYtB4BF3.js → dom-to-png-CtV3uxDJ.js} +1 -1
  89. package/dist/exposedLib-BJbE_A8E.js +19 -0
  90. package/dist/{img-1cKsci8e.js → img-C_RNNswI.js} +1 -1
  91. package/dist/{labelUtils-CUctkYoA.js → labelUtils-Bycs-017.js} +1 -1
  92. package/dist/{lib-DUeYQsS0.js → lib-AJRHFE5U.js} +12 -6
  93. package/dist/{pdf-D0eZ99cP.js → pdf-CdX23zf1.js} +1 -1
  94. package/dist/ssr.js +1366 -0
  95. package/dist/types/ssr.d.ts +128 -0
  96. package/dist/types/vue-data-ui.d.ts +135 -1
  97. package/dist/{useAutoSizeLabelsInsideViewbox-BIVntRZp.js → useAutoSizeLabelsInsideViewbox-kjVKQz36.js} +1 -1
  98. package/dist/{useNestedProp-CNcoy38D.js → useNestedProp-DtcXIg7n.js} +1 -1
  99. package/dist/{usePrinter-C1Gqt_Sp.js → usePrinter-6n2MzVyV.js} +2 -2
  100. package/dist/utils.js +8 -8
  101. package/dist/{vue-data-ui-0t8DsSSW.js → vue-data-ui-D2dM3IQZ.js} +68 -68
  102. package/dist/vue-data-ui.js +72 -72
  103. package/dist/vue-ui-3d-bar-0C_yshya.js +1757 -0
  104. package/dist/{vue-ui-accordion-Bpbv-VHE.js → vue-ui-accordion-DLnwuQda.js} +3 -3
  105. package/dist/vue-ui-age-pyramid-DFNELwbT.js +1238 -0
  106. package/dist/{vue-ui-annotator-Q57JevNc.js → vue-ui-annotator-BljP5cB7.js} +8 -8
  107. package/dist/vue-ui-bullet-ChQq42AN.js +710 -0
  108. package/dist/{vue-ui-bump-CE8VRCs2.js → vue-ui-bump-BVCYywuS.js} +253 -253
  109. package/dist/{vue-ui-candlestick-B4tkLoQe.js → vue-ui-candlestick-CQ0nfkmL.js} +276 -276
  110. package/dist/vue-ui-carousel-table-Cvi1gsKR.js +455 -0
  111. package/dist/vue-ui-chestnut-DeWbKqze.js +2010 -0
  112. package/dist/vue-ui-chord-bRXYWpGT.js +1391 -0
  113. package/dist/{vue-ui-circle-pack-SCxS2mrl.js → vue-ui-circle-pack-DWO8x9gf.js} +36 -36
  114. package/dist/{vue-ui-cursor-DT8uNrQa.js → vue-ui-cursor-BKGUvOWO.js} +3 -3
  115. package/dist/{vue-ui-dag-CK30vhll.js → vue-ui-dag-lL0juBzN.js} +20 -20
  116. package/dist/{vue-ui-dashboard-Cf21Q0H0.js → vue-ui-dashboard-CEk2z8v9.js} +69 -69
  117. package/dist/{vue-ui-digits-DiapBzIK.js → vue-ui-digits-BAjr0eIJ.js} +3 -3
  118. package/dist/vue-ui-donut-BsSpIinL.js +2410 -0
  119. package/dist/vue-ui-donut-evolution-1UhFKEgG.js +1510 -0
  120. package/dist/vue-ui-dumbbell-ChqJicg9.js +1530 -0
  121. package/dist/{vue-ui-flow-uPuvDSxv.js → vue-ui-flow-BXfzMTXx.js} +57 -57
  122. package/dist/{vue-ui-funnel-CCy9NFKa.js → vue-ui-funnel-BpnC82m0.js} +32 -32
  123. package/dist/{vue-ui-galaxy-BjoOO1lq.js → vue-ui-galaxy-FNzwDOH1.js} +330 -330
  124. package/dist/vue-ui-gauge-D6I78FZr.js +920 -0
  125. package/dist/{vue-ui-geo-C8FXD9it.js → vue-ui-geo-Z1xuH8r6.js} +18 -18
  126. package/dist/{vue-ui-gizmo-BiLdRUEw.js → vue-ui-gizmo-ZlmJIh0_.js} +62 -62
  127. package/dist/{vue-ui-heatmap-D3ewCJX6.js → vue-ui-heatmap-BWN0UBKE.js} +264 -264
  128. package/dist/{vue-ui-history-plot-BpyvvMPA.js → vue-ui-history-plot-2E6KrNhv.js} +74 -74
  129. package/dist/vue-ui-horizontal-bar-BzP7k_3J.js +1681 -0
  130. package/dist/{vue-ui-kpi-YCPfpGty.js → vue-ui-kpi-B9bdicir.js} +3 -3
  131. package/dist/{vue-ui-mini-loader-Bi0nsbao.js → vue-ui-mini-loader-BnLOdRA0.js} +2 -2
  132. package/dist/vue-ui-molecule-B-69fE_1.js +925 -0
  133. package/dist/{vue-ui-mood-radar-81X63j-D.js → vue-ui-mood-radar-D3kF7iHz.js} +21 -21
  134. package/dist/{vue-ui-nested-donuts-C1j-h8RW.js → vue-ui-nested-donuts-CTmomXj1.js} +256 -256
  135. package/dist/{vue-ui-onion-CZLJxedN.js → vue-ui-onion-3fJB4mfC.js} +45 -45
  136. package/dist/{vue-ui-parallel-coordinate-plot-Czndz3oA.js → vue-ui-parallel-coordinate-plot-CKKkbBlu.js} +39 -39
  137. package/dist/{vue-ui-quadrant-LwMr7DKL.js → vue-ui-quadrant-DGLnjwva.js} +355 -355
  138. package/dist/{vue-ui-quick-chart-C20W7LNY.js → vue-ui-quick-chart-DJnhlEXi.js} +359 -359
  139. package/dist/vue-ui-radar-AIBX0QYs.js +1229 -0
  140. package/dist/{vue-ui-rating-D8QQctnQ.js → vue-ui-rating-pDVqT08V.js} +33 -33
  141. package/dist/vue-ui-relation-circle-BQVR8L9Y.js +924 -0
  142. package/dist/{vue-ui-ridgeline-B5BRKUoc.js → vue-ui-ridgeline-CYq3APPQ.js} +54 -54
  143. package/dist/{vue-ui-rings-DVA3hiUL.js → vue-ui-rings-BgFO7NYF.js} +81 -81
  144. package/dist/vue-ui-scatter-BPu5DwaJ.js +2413 -0
  145. package/dist/{vue-ui-skeleton-DxXA3XSP.js → vue-ui-skeleton-qpdvvWtx.js} +41 -41
  146. package/dist/{vue-ui-smiley-CqwB6Uhu.js → vue-ui-smiley-DUI5n89s.js} +16 -16
  147. package/dist/{vue-ui-spark-trend-B3mkyeZ3.js → vue-ui-spark-trend-CQ9ZN5sL.js} +27 -27
  148. package/dist/{vue-ui-sparkbar-BlmV-ndv.js → vue-ui-sparkbar-d6ctWlLA.js} +83 -83
  149. package/dist/{vue-ui-sparkgauge-DKRJDqAS.js → vue-ui-sparkgauge-HX_rqLxX.js} +44 -44
  150. package/dist/{vue-ui-sparkhistogram-BNiXxI65.js → vue-ui-sparkhistogram-B_zxKMHv.js} +110 -110
  151. package/dist/vue-ui-sparkline-BSdOdtKu.js +1507 -0
  152. package/dist/{vue-ui-sparkstackbar-C6qMimoL.js → vue-ui-sparkstackbar-B2sqpW-w.js} +155 -155
  153. package/dist/{vue-ui-stackbar-C7jTnGyT.js → vue-ui-stackbar-DH75CCpy.js} +81 -81
  154. package/dist/vue-ui-stackline-CXodezD1.js +2398 -0
  155. package/dist/{vue-ui-strip-plot-CvjdxEOT.js → vue-ui-strip-plot-C1un5Mku.js} +90 -90
  156. package/dist/{vue-ui-table-B0zkvlw5.js → vue-ui-table-R-aXpHvF.js} +78 -78
  157. package/dist/{vue-ui-table-heatmap-xwfStZrD.js → vue-ui-table-heatmap-C1e_7MJ2.js} +16 -16
  158. package/dist/{vue-ui-table-sparkline-BQjo2sbB.js → vue-ui-table-sparkline-Dy-6i82F.js} +22 -22
  159. package/dist/{vue-ui-thermometer-CVhxnkN-.js → vue-ui-thermometer-CIse_lcE.js} +21 -21
  160. package/dist/{vue-ui-timer-Cimuw9rF.js → vue-ui-timer-AlYvthQ6.js} +23 -23
  161. package/dist/{vue-ui-tiremarks-CSPL1oli.js → vue-ui-tiremarks-CP_bw6by.js} +19 -19
  162. package/dist/{vue-ui-treemap-BWivpffU.js → vue-ui-treemap-BXrV5VAp.js} +65 -65
  163. package/dist/{vue-ui-waffle-FmLPDL2g.js → vue-ui-waffle-uoqEnQ30.js} +232 -232
  164. package/dist/{vue-ui-wheel-BjdVO5f4.js → vue-ui-wheel-DLgw_xfe.js} +36 -36
  165. package/dist/{vue-ui-word-cloud-hhjEM6ee.js → vue-ui-word-cloud-Bgu-qbcp.js} +35 -35
  166. package/dist/{vue-ui-world-H9HX6smc.js → vue-ui-world-B93iq1ZM.js} +445 -445
  167. package/dist/vue-ui-xy-DzuOBbPL.js +4744 -0
  168. package/dist/{vue-ui-xy-canvas-kbP-mjEo.js → vue-ui-xy-canvas-DjxM7y3T.js} +60 -60
  169. package/package.json +5 -1
  170. package/dist/exposedLib-CI8ji8G-.js +0 -19
  171. package/dist/vue-ui-3d-bar-D1dX4mDU.js +0 -1757
  172. package/dist/vue-ui-age-pyramid-BYIxO-rR.js +0 -1238
  173. package/dist/vue-ui-bullet-B65T4IyK.js +0 -710
  174. package/dist/vue-ui-carousel-table-DB1kG5AJ.js +0 -455
  175. package/dist/vue-ui-chestnut-CXzK4gsf.js +0 -2010
  176. package/dist/vue-ui-chord-BhuABwXT.js +0 -1391
  177. package/dist/vue-ui-donut-DrM628Ge.js +0 -2410
  178. package/dist/vue-ui-donut-evolution-CIXY4tKY.js +0 -1510
  179. package/dist/vue-ui-dumbbell-B8V84XkY.js +0 -1530
  180. package/dist/vue-ui-gauge-DbV0oQs3.js +0 -920
  181. package/dist/vue-ui-horizontal-bar-DoCvNzdC.js +0 -1681
  182. package/dist/vue-ui-molecule-IFNTvQdE.js +0 -925
  183. package/dist/vue-ui-radar-Dxopl3RI.js +0 -1229
  184. package/dist/vue-ui-relation-circle-CMRXow6X.js +0 -924
  185. package/dist/vue-ui-scatter-DcveiIfl.js +0 -2413
  186. package/dist/vue-ui-sparkline-C5EDZIAt.js +0 -1507
  187. package/dist/vue-ui-stackline-fdOF6lLn.js +0 -2398
  188. package/dist/vue-ui-xy-omDIF90L.js +0 -4744
@@ -0,0 +1,924 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { Bt as t, G as n, H as r, Ht as i, Ot as a, Tt as o, Vt as s, X as c, ct as ee, i as te, r as ne, t as re, x as ie } from "./lib-AJRHFE5U.js";
3
+ import { t as ae } from "./useConfig-DnH7Pf_2.js";
4
+ import { t as oe } from "./usePrinter-6n2MzVyV.js";
5
+ import { n as se, t as ce } from "./BaseScanner-Dr2a1Msy.js";
6
+ import { t as le } from "./useSvgExport-SVIsDot8.js";
7
+ import { t as ue } from "./useNestedProp-DtcXIg7n.js";
8
+ import { t as de } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as fe } from "./img-C_RNNswI.js";
10
+ import { n as pe } from "./Title-DH6G8_cZ.js";
11
+ import { t as me } from "./_plugin-vue_export-helper-B3ysoDQm.js";
12
+ import { c as he } from "./canvas-lib-BOP_HS11.js";
13
+ import { t as ge } from "./useResponsive-BfnK0KxU.js";
14
+ import { t as _e } from "./A11yDataTable-BCbtxMU6.js";
15
+ import { t as ve } from "./useUserOptionState-DK-_1ddE.js";
16
+ import { t as ye } from "./useChartAccessibility-DYqac8yF.js";
17
+ import { t as be } from "./useAutoSizeLabelsInsideViewbox-kjVKQz36.js";
18
+ import { t as xe } from "./vue_ui_relation_circle-D0p4mXmv.js";
19
+ import { Fragment as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as Se, createTextVNode as Ce, createVNode as we, defineAsyncComponent as Te, guardReactiveProps as h, mergeProps as Ee, nextTick as De, normalizeClass as Oe, normalizeProps as g, normalizeStyle as _, onBeforeUnmount as ke, onMounted as Ae, openBlock as v, ref as y, renderList as b, renderSlot as x, shallowRef as je, toDisplayString as S, toRefs as Me, unref as C, useCssVars as Ne, watch as Pe, withCtx as w } from "vue";
20
+ //#region src/components/vue-ui-relation-circle.vue
21
+ var Fe = /* @__PURE__ */ e({ default: () => nt }), Ie = ["id"], Le = ["id"], Re = { style: { position: "relative" } }, ze = [
22
+ "xmlns",
23
+ "viewBox",
24
+ "aria-describedby"
25
+ ], Be = ["width", "height"], Ve = [
26
+ "cx",
27
+ "cy",
28
+ "r",
29
+ "stroke",
30
+ "stroke-width"
31
+ ], He = { key: 1 }, Ue = [
32
+ "stroke",
33
+ "d",
34
+ "stroke-width"
35
+ ], We = { style: { "pointer-events": "none" } }, Ge = [
36
+ "cx",
37
+ "cy",
38
+ "fill",
39
+ "r",
40
+ "stroke"
41
+ ], Ke = [
42
+ "x",
43
+ "y",
44
+ "fill",
45
+ "font-size"
46
+ ], qe = { key: 2 }, Je = [
47
+ "stroke",
48
+ "stroke-width",
49
+ "x1",
50
+ "x2",
51
+ "y1",
52
+ "y2"
53
+ ], Ye = { style: { "pointer-events": "none" } }, Xe = [
54
+ "cx",
55
+ "cy",
56
+ "fill",
57
+ "r",
58
+ "stroke"
59
+ ], Ze = [
60
+ "x",
61
+ "y",
62
+ "fill",
63
+ "font-size"
64
+ ], Qe = [
65
+ "text-anchor",
66
+ "transform",
67
+ "x",
68
+ "y",
69
+ "font-weight",
70
+ "font-size",
71
+ "fill",
72
+ "text-decoration",
73
+ "onClick",
74
+ "onMouseenter",
75
+ "onMouseleave"
76
+ ], $e = [
77
+ "cx",
78
+ "cy",
79
+ "fill",
80
+ "stroke",
81
+ "r",
82
+ "onClick",
83
+ "onMouseenter",
84
+ "onMouseleave"
85
+ ], et = {
86
+ key: 0,
87
+ style: {
88
+ position: "absolute",
89
+ top: "100%",
90
+ left: "0",
91
+ width: "100%"
92
+ },
93
+ "data-dom-to-png-ignore": "",
94
+ "aria-hidden": "true"
95
+ }, tt = {
96
+ key: 5,
97
+ class: "vue-data-ui-watermark"
98
+ }, nt = /* @__PURE__ */ me({
99
+ __name: "vue-ui-relation-circle",
100
+ props: {
101
+ dataset: {
102
+ type: Array,
103
+ default() {
104
+ return [];
105
+ }
106
+ },
107
+ config: {
108
+ type: Object,
109
+ default() {
110
+ return {};
111
+ }
112
+ }
113
+ },
114
+ emits: ["copyAlt"],
115
+ setup(e, { expose: me, emit: Fe }) {
116
+ Ne((e) => ({
117
+ ab5e8c6c: Mt.value,
118
+ v309156a9: jt.value,
119
+ v6c0f80cb: Nt.value
120
+ }));
121
+ let nt = Te(() => import("./PenAndPaper-D4aFMYZf.js").then((e) => e.t)), rt = Te(() => import("./UserOptions-qFz-9Pnw.js").then((e) => e.n)), it = Te(() => import("./PackageVersion-DYLo3MRd.js").then((e) => e.t)), { vue_ui_relation_circle: at } = ae(), { isThemeValid: ot, warnInvalidTheme: st } = de(), T = e, ct = Fe, lt = u(() => !!T.dataset && Object.keys(T.dataset).length), E = y(r()), ut = y(0), D = y(null), dt = y(null), ft = y(null), pt = y(null), mt = y(0), O = y(!1), k = y(!1), A = y(null), j = y(!1), M = y(St()), N = u(() => M.value.userOptions.useCursorPointer), ht = u(() => i({
122
+ defaultConfig: {
123
+ userOptions: { show: !1 },
124
+ customPalette: Array(7).fill("#CACACA"),
125
+ style: {
126
+ backgroundColor: "#99999930",
127
+ labels: { color: "#6A6A6A" },
128
+ circle: { stroke: "#6A6A6A" },
129
+ plot: {
130
+ color: "#6A6A6A",
131
+ useSerieColor: !0
132
+ },
133
+ links: { maxWidth: 2 }
134
+ }
135
+ },
136
+ userConfig: M.value.skeletonConfig ?? {}
137
+ })), { loading: gt, FINAL_DATASET: _t, manualLoading: vt } = se({
138
+ ...Me(T),
139
+ FINAL_CONFIG: M,
140
+ prepareConfig: St,
141
+ skeletonDataset: T.config?.skeletonDataset ?? [
142
+ {
143
+ id: "A",
144
+ label: "_",
145
+ relations: [
146
+ "B",
147
+ "C",
148
+ "D",
149
+ "E",
150
+ "F",
151
+ "G"
152
+ ]
153
+ },
154
+ {
155
+ id: "B",
156
+ label: "_",
157
+ relations: ["A"]
158
+ },
159
+ {
160
+ id: "C",
161
+ label: "_",
162
+ relations: ["A"]
163
+ },
164
+ {
165
+ id: "D",
166
+ label: "_",
167
+ relations: ["A"]
168
+ },
169
+ {
170
+ id: "E",
171
+ label: "_",
172
+ relations: ["A"]
173
+ },
174
+ {
175
+ id: "F",
176
+ label: "_",
177
+ relations: ["A"]
178
+ },
179
+ {
180
+ id: "G",
181
+ label: "_",
182
+ relations: ["A"]
183
+ }
184
+ ],
185
+ skeletonConfig: i({
186
+ defaultConfig: M.value,
187
+ userConfig: ht.value
188
+ })
189
+ }), { userOptionsVisible: yt, setUserOptionsVisibility: bt, keepUserOptionState: xt } = ve({ config: M.value }), { svgRef: P } = ye({ config: M.value.style.title });
190
+ function St() {
191
+ let e = ue({
192
+ userConfig: T.config,
193
+ defaultConfig: at
194
+ }), n = e.theme;
195
+ if (!n) return e;
196
+ if (!ot.value(e)) return st(e), e;
197
+ let r = ue({
198
+ userConfig: xe[n] || T.config,
199
+ defaultConfig: e
200
+ }), i = ue({
201
+ userConfig: T.config,
202
+ defaultConfig: r
203
+ });
204
+ return {
205
+ ...i,
206
+ customPalette: i.customPalette.length ? i.customPalette : t[n] || a
207
+ };
208
+ }
209
+ Pe(() => T.config, (e) => {
210
+ M.value = St(), yt.value = !M.value.userOptions.showOnChartHover, B.value = M.value.style.size, V.value = M.value.style.weightLabels.size, H.value = M.value.style.plot.radius, U.value = M.value.style.labels.fontSize, W.value.height = M.value.style.size, W.value.width = M.value.style.size, Ft(), mt.value += 1;
211
+ }, { deep: !0 }), Pe(() => T.dataset, (e) => {
212
+ Array.isArray(e) && e.length > 0 && (vt.value = !1);
213
+ }, { deep: !0 });
214
+ let { isPrinting: Ct, isImaging: wt, generatePdf: Tt, generateImage: Et } = oe({
215
+ elementId: `relation_circle_${E.value}`,
216
+ fileName: M.value.style.title.text || "vue-ui-relation-circle",
217
+ options: M.value.userOptions.print
218
+ }), Dt = u(() => M.value.userOptions.show && !M.value.style.title.text), Ot = u(() => ie(M.value.customPalette)), F = y([]), I = y([]), L = y({}), R = y([]), kt = y(0), z = u(() => _t.value.slice(0, M.value.style.limit).map((e) => {
219
+ let t = Array.isArray(e.relations) ? e.relations : [];
220
+ return {
221
+ ...e,
222
+ weights: Array.isArray(e.weights) ? e.weights : Array(t.length).fill(1),
223
+ relations: t
224
+ };
225
+ }));
226
+ Pe(z, () => {
227
+ F.value = [], I.value = [], Rt(), Bt();
228
+ });
229
+ let B = y(M.value.style.size), V = y(M.value.style.weightLabels.size), H = y(M.value.style.plot.radius), U = y(M.value.style.labels.fontSize), W = y({
230
+ height: M.value.style.size,
231
+ width: M.value.style.size
232
+ }), G = u({
233
+ get() {
234
+ return B.value * M.value.style.circle.radiusProportion;
235
+ },
236
+ set(e) {
237
+ return e;
238
+ }
239
+ }), At = u(() => M.value.style.links.curved), jt = u(() => `${M.value.style.animation.speedMs}ms`), Mt = u(() => G.value * 2), Nt = u(() => G.value * 4), K = je(null), q = je(null);
240
+ Ae(() => {
241
+ Ft(), document.getElementById(`relation_circle_${E.value}`).addEventListener("click", Lt);
242
+ });
243
+ let Pt = u(() => M.value.debug);
244
+ function Ft() {
245
+ if (o(T.dataset) ? (c({
246
+ componentName: "VueUiRelationCircle",
247
+ type: "dataset",
248
+ debug: Pt.value
249
+ }), vt.value = !0) : T.dataset.forEach((e, t) => {
250
+ ee({
251
+ datasetObject: e,
252
+ requiredAttributes: [
253
+ "id",
254
+ "label",
255
+ "relations",
256
+ "weights"
257
+ ]
258
+ }).forEach((e) => {
259
+ c({
260
+ componentName: "VueUiRelationCircle",
261
+ type: "datasetSerieAttribute",
262
+ property: e,
263
+ index: t,
264
+ debug: Pt.value
265
+ });
266
+ });
267
+ }), o(T.dataset) || (vt.value = M.value.loading), M.value.responsive) {
268
+ let e = he(() => {
269
+ let { width: e, height: t } = ge({
270
+ chart: D.value,
271
+ title: M.value.style.title.text ? dt.value : null,
272
+ source: ft.value,
273
+ noTitle: pt.value
274
+ });
275
+ requestAnimationFrame(() => {
276
+ B.value = Math.min(e, t), W.value.width = Math.max(.1, e), W.value.height = Math.max(.1, t - 12), G.value = B.value * M.value.style.circle.radiusProportion, F.value = [], I.value = [], Rt(), Bt(), It(), M.value.responsiveProportionalSizing ? (V.value = s({
277
+ relator: B.value,
278
+ adjuster: M.value.style.size,
279
+ source: M.value.style.weightLabels.size,
280
+ threshold: 6,
281
+ fallback: 6
282
+ }), H.value = s({
283
+ relator: B.value,
284
+ adjuster: M.value.style.size,
285
+ source: M.value.style.plot.radius,
286
+ threshold: 1,
287
+ fallback: 1
288
+ }), U.value = s({
289
+ relator: B.value,
290
+ adjuster: M.value.style.size,
291
+ source: M.value.style.labels.fontSize,
292
+ threshold: 6,
293
+ fallback: 6
294
+ })) : (V.value = M.value.style.weightLabels.size, H.value = M.value.style.plot.radius, U.value = M.value.style.labels.fontSize);
295
+ });
296
+ });
297
+ K.value && (q.value && K.value.unobserve(q.value), K.value.disconnect()), K.value = new ResizeObserver(e), q.value = D.value.parentNode, K.value.observe(q.value);
298
+ } else F.value = [], I.value = [], Rt(), Bt();
299
+ It();
300
+ }
301
+ ke(() => {
302
+ document.getElementById(`relation_circle_${E.value}`).removeEventListener("click", Lt), K.value && (q.value && K.value.unobserve(q.value), K.value.disconnect());
303
+ });
304
+ let { autoSizeLabels: It } = be({
305
+ svgRef: P,
306
+ fontSize: M.value.style.labels.fontSize,
307
+ minFontSize: M.value.style.labels.minFontSize,
308
+ sizeRef: U,
309
+ labelClass: ".vue-ui-relation-circle-legend"
310
+ });
311
+ function Lt(e) {
312
+ let t = e.target;
313
+ t && Array.from(t.classList).includes("vue-ui-user-options") || t && Array.from(t.classList).includes("vue-ui-user-options-summary") || t && Array.from(t.classList).includes("vue-data-ui-button") || t && Array.from(t.classList).includes("vue-ui-relation-circle-legend") || (L.value = {}, R.value = []);
314
+ }
315
+ function Rt() {
316
+ let e = 6.28319 / z.value.length, t = 360 / z.value.length, n = 0, r = 0;
317
+ z.value.forEach((i, o) => {
318
+ let s = i.weights.reduce((e, t) => e + t, 0), c = G.value * Math.cos(n) + W.value.width / 2, ee = G.value * Math.sin(n) + W.value.height / 2 + M.value.style.circle.offsetY;
319
+ F.value.push({
320
+ x: c,
321
+ y: ee,
322
+ ...i,
323
+ color: i.color ? i.color : Ot.value[o] ? Ot.value[o] : a[o],
324
+ regAngle: r,
325
+ totalWeight: s
326
+ }), n += e, r += t;
327
+ });
328
+ }
329
+ function zt(e, t) {
330
+ return {
331
+ x: (e.x + t.x) / 2,
332
+ y: (e.y + t.y) / 2
333
+ };
334
+ }
335
+ function Bt() {
336
+ I.value = [], F.value.forEach((e) => {
337
+ F.value.filter((t) => t.relations.includes(e.id)).forEach((t, n) => {
338
+ let r = t.relations.indexOf(e.id);
339
+ I.value.push({
340
+ weight: t.weights[r] ? t.weights[r] : 0,
341
+ relationId: `${e.id}_${t.id}`,
342
+ x1: e.x,
343
+ y1: e.y,
344
+ x2: t.x,
345
+ y2: t.y,
346
+ colorSource: e.color,
347
+ colorTarget: t.color,
348
+ midPointLine: zt({
349
+ x: e.x,
350
+ y: e.y
351
+ }, {
352
+ x: t.x,
353
+ y: t.y
354
+ }),
355
+ midPointBezier: Vt({
356
+ x1: e.x,
357
+ x2: t.x,
358
+ y1: e.y,
359
+ y2: t.y
360
+ }),
361
+ ...e
362
+ });
363
+ });
364
+ });
365
+ }
366
+ function Vt(e) {
367
+ let t = {
368
+ x: e.x1,
369
+ y: e.y1
370
+ }, n = {
371
+ x: e.x2,
372
+ y: e.y2
373
+ }, r = {
374
+ x: e.x1,
375
+ y: e.y1
376
+ }, i = {
377
+ x: W.value.width / 2,
378
+ y: W.value.height / 2 + M.value.style.circle.offsetY
379
+ }, a = .5;
380
+ return {
381
+ x: (1 - a) ** 3 * t.x + 3 * (1 - a) ** 2 * a * r.x + 3 * (1 - a) * a ** 2 * i.x + a ** 3 * n.x,
382
+ y: (1 - a) ** 3 * t.y + 3 * (1 - a) ** 2 * a * r.y + 3 * (1 - a) * a ** 2 * i.y + a ** 3 * n.y
383
+ };
384
+ }
385
+ let Ht = u(() => Math.max(...I.value.map((e) => e.weight)));
386
+ function Ut(e) {
387
+ return Object.hasOwn(L.value, "x") ? R.value.includes(e.id) ? "opacity:1" : "opacity:0.1" : "opacity:1";
388
+ }
389
+ function J(e) {
390
+ return e.colorSource;
391
+ }
392
+ function Wt(e) {
393
+ return Object.hasOwn(L.value, "x") ? R.value.includes(e.id) && e.relationId === `${e.id}_${L.value.id}` || e.relationId === `${L.value.id}_${e.id}` ? `opacity:1;stroke-width:${$t(e)}` : "opacity: 0" : "opacity: 1";
394
+ }
395
+ function Y(e) {
396
+ return Object.hasOwn(L.value, "x") ? !!(R.value.includes(e.id) && e.relationId === `${e.id}_${L.value.id}` || e.relationId === `${L.value.id}_${e.id}`) : !1;
397
+ }
398
+ function Gt(e) {
399
+ return e.regAngle > 90 && e.regAngle < 270 ? "end" : "start";
400
+ }
401
+ function Kt(e) {
402
+ return e.regAngle > 90 && e.regAngle < 270 ? e.x - 5 : e.x + 5;
403
+ }
404
+ function qt(e) {
405
+ return Object.hasOwn(L.value, "x") ? L.value.id === e.id || R.value.includes(e.id) ? "opacity:1" : "opacity:0.2" : "opacity:1";
406
+ }
407
+ function Jt(e) {
408
+ return e.regAngle > 90 && e.regAngle < 270 ? `rotate(${e.regAngle + 180},${e.x},${e.y})` : `rotate(${e.regAngle},${e.x},${e.y})`;
409
+ }
410
+ let X = y(null);
411
+ function Yt(e, t) {
412
+ X.value = t, A.value = t, M.value.events.datapointEnter && M.value.events.datapointEnter({
413
+ datapoint: e,
414
+ seriesIndex: t
415
+ });
416
+ }
417
+ function Xt(e, t) {
418
+ X.value = null, j.value || (A.value = null), M.value.events.datapointLeave && M.value.events.datapointLeave({
419
+ datapoint: e,
420
+ seriesIndex: t
421
+ });
422
+ }
423
+ function Zt(e, t) {
424
+ e && (M.value.events.datapointClick && M.value.events.datapointClick({
425
+ datapoint: e,
426
+ seriesIndex: t
427
+ }), kt.value = 360 - e.regAngle, L.value.id && e.id === L.value.id ? (L.value = {}, R.value = []) : (L.value = e, R.value = [...e.relations]));
428
+ }
429
+ function Qt(e, t) {
430
+ A.value = t, Zt(e, t);
431
+ }
432
+ function $t(e) {
433
+ let t = e.weight / Ht.value * M.value.style.links.maxWidth;
434
+ return Math.max(.3, t);
435
+ }
436
+ let Z = y(!1);
437
+ function en(e) {
438
+ Z.value = e, ut.value += 1;
439
+ }
440
+ let Q = y(!1);
441
+ function tn() {
442
+ Q.value = !Q.value;
443
+ }
444
+ async function nn({ scale: e = 2 } = {}) {
445
+ if (!D.value) return;
446
+ let { width: t, height: n } = D.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await fe({
447
+ domElement: D.value,
448
+ base64: !0,
449
+ img: !0,
450
+ scale: e
451
+ });
452
+ return {
453
+ imageUri: i,
454
+ base64: a,
455
+ title: M.value.style.title.text,
456
+ width: t,
457
+ height: n,
458
+ aspectRatio: r
459
+ };
460
+ }
461
+ let rn = u(() => M.value.style.backgroundColor), { exportSvg: an, getSvg: on } = le({
462
+ svg: P,
463
+ title: u(() => M.value.style.title),
464
+ backgroundColor: rn
465
+ });
466
+ async function sn({ isCb: e }) {
467
+ k.value = !0, await De();
468
+ try {
469
+ if (e) {
470
+ let { blob: e, url: t, text: n, dataUrl: r } = await on();
471
+ await Promise.resolve(M.value.userOptions.callbacks.svg({
472
+ blob: e,
473
+ url: t,
474
+ text: n,
475
+ dataUrl: r
476
+ }));
477
+ } else await Promise.resolve(an());
478
+ } finally {
479
+ k.value = !1;
480
+ }
481
+ }
482
+ function cn(e) {
483
+ if (e?.stage === "start") {
484
+ O.value = !0;
485
+ return;
486
+ }
487
+ if (e?.stage === "end") {
488
+ O.value = !1;
489
+ return;
490
+ }
491
+ Et();
492
+ }
493
+ async function ln() {
494
+ if (ct("copyAlt", {
495
+ config: M.value,
496
+ dataset: z.value
497
+ }), !M.value.userOptions.callbacks.altCopy) {
498
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
499
+ return;
500
+ }
501
+ await Promise.resolve(M.value.userOptions.callbacks.altCopy({
502
+ config: M.value,
503
+ dataset: z.value
504
+ }));
505
+ }
506
+ function un() {
507
+ j.value = !0, F.value.length && A.value === null && (A.value = 0);
508
+ }
509
+ function dn() {
510
+ j.value = !1, A.value = null;
511
+ }
512
+ function fn(e) {
513
+ if (!P.value || Q.value || document.activeElement !== P.value || !F.value.length) return;
514
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
515
+ if (!t && !n && !r && !i) return;
516
+ if (e.preventDefault(), e.stopPropagation(), i) {
517
+ A.value = null, L.value = {}, R.value = [];
518
+ return;
519
+ }
520
+ if (r) {
521
+ if (A.value === null) return;
522
+ let e = F.value[A.value];
523
+ if (!e) return;
524
+ Zt(e, A.value);
525
+ return;
526
+ }
527
+ let a = A.value;
528
+ a === null || a < 0 || a >= F.value.length ? a = n ? 0 : F.value.length - 1 : n ? (a += 1, a >= F.value.length && (a = 0)) : t && (--a, a < 0 && (a = F.value.length - 1)), A.value = a, X.value = a;
529
+ let o = F.value[a];
530
+ o && M.value.events.datapointEnter && M.value.events.datapointEnter({
531
+ datapoint: o,
532
+ seriesIndex: a
533
+ });
534
+ }
535
+ let $ = u(() => ({
536
+ headers: [
537
+ "ID",
538
+ "Label",
539
+ "Total weight",
540
+ "Relations count",
541
+ "Relations"
542
+ ],
543
+ rows: z.value.map((e) => {
544
+ let t = e.relations.map((e) => z.value.find((t) => t.id === e)?.label || e).join(", "), n = (e.weights || []).reduce((e, t) => e + Number(t || 0), 0);
545
+ return [
546
+ e.id,
547
+ e.label,
548
+ n,
549
+ e.relations.length,
550
+ t
551
+ ];
552
+ })
553
+ }));
554
+ return me({
555
+ getImage: nn,
556
+ generatePdf: Tt,
557
+ generateSvg: sn,
558
+ generateImage: Et,
559
+ toggleAnnotator: tn,
560
+ toggleFullscreen: en,
561
+ copyAlt: ln
562
+ }), (e, t) => (v(), p("div", {
563
+ ref_key: "relationCircleChart",
564
+ ref: D,
565
+ class: "vue-data-ui-component vue-ui-relation-circle",
566
+ style: _(`width:100%;background:${M.value.style.backgroundColor};text-align:center;${M.value.responsive ? "height: 100%" : ""}`),
567
+ id: `relation_circle_${E.value}`,
568
+ onMouseenter: t[0] ||= () => C(bt)(!0),
569
+ onMouseleave: t[1] ||= () => C(bt)(!1)
570
+ }, [
571
+ m("div", {
572
+ id: `chart-instructions-${E.value}`,
573
+ class: "sr-only"
574
+ }, [m("p", null, S(M.value.a11y.translations.keyboardNavigation), 1)], 8, Le),
575
+ $.value?.rows?.length ? (v(), d(_e, {
576
+ key: 0,
577
+ uid: E.value,
578
+ head: $.value.headers,
579
+ body: $.value.rows,
580
+ notice: M.value.a11y.translations.tableAvailable,
581
+ caption: M.value.a11y.translations.tableCaption
582
+ }, null, 8, [
583
+ "uid",
584
+ "head",
585
+ "body",
586
+ "notice",
587
+ "caption"
588
+ ])) : f("", !0),
589
+ M.value.userOptions.buttons.annotator ? (v(), d(C(nt), {
590
+ key: 1,
591
+ svgRef: C(P),
592
+ backgroundColor: M.value.style.backgroundColor,
593
+ color: M.value.style.color,
594
+ active: Q.value,
595
+ isCursorPointer: N.value,
596
+ onClose: tn
597
+ }, {
598
+ "annotator-action-close": w(() => [x(e.$slots, "annotator-action-close", {}, void 0, !0)]),
599
+ "annotator-action-color": w(({ color: t }) => [x(e.$slots, "annotator-action-color", g(h({ color: t })), void 0, !0)]),
600
+ "annotator-action-draw": w(({ mode: t }) => [x(e.$slots, "annotator-action-draw", g(h({ mode: t })), void 0, !0)]),
601
+ "annotator-action-undo": w(({ disabled: t }) => [x(e.$slots, "annotator-action-undo", g(h({ disabled: t })), void 0, !0)]),
602
+ "annotator-action-redo": w(({ disabled: t }) => [x(e.$slots, "annotator-action-redo", g(h({ disabled: t })), void 0, !0)]),
603
+ "annotator-action-delete": w(({ disabled: t }) => [x(e.$slots, "annotator-action-delete", g(h({ disabled: t })), void 0, !0)]),
604
+ _: 3
605
+ }, 8, [
606
+ "svgRef",
607
+ "backgroundColor",
608
+ "color",
609
+ "active",
610
+ "isCursorPointer"
611
+ ])) : f("", !0),
612
+ Dt.value ? (v(), p("div", {
613
+ key: 2,
614
+ ref_key: "noTitle",
615
+ ref: pt,
616
+ class: "vue-data-ui-no-title-space",
617
+ style: "height:36px; width: 100%;background:transparent"
618
+ }, null, 512)) : f("", !0),
619
+ M.value.style.title.text ? (v(), p("div", {
620
+ key: 3,
621
+ ref_key: "chartTitle",
622
+ ref: dt,
623
+ style: "width:100%;background:transparent"
624
+ }, [(v(), d(pe, {
625
+ key: `title_${mt.value}`,
626
+ config: {
627
+ title: {
628
+ cy: "relation-div-title",
629
+ ...M.value.style.title
630
+ },
631
+ subtitle: {
632
+ cy: "relation-div-subtitle",
633
+ ...M.value.style.title.subtitle
634
+ }
635
+ }
636
+ }, null, 8, ["config"]))], 512)) : f("", !0),
637
+ M.value.userOptions.show && lt.value && (C(xt) || C(yt)) ? (v(), d(C(rt), {
638
+ ref: "details",
639
+ key: `user_options_${ut.value}`,
640
+ backgroundColor: M.value.style.backgroundColor,
641
+ color: M.value.style.color,
642
+ isPrinting: C(Ct),
643
+ isImaging: C(wt),
644
+ uid: E.value,
645
+ hasPdf: M.value.userOptions.buttons.pdf,
646
+ hasImg: M.value.userOptions.buttons.img,
647
+ hasSvg: M.value.userOptions.buttons.svg,
648
+ hasFullscreen: M.value.userOptions.buttons.fullscreen,
649
+ hasAltCopy: M.value.userOptions.buttons.altCopy,
650
+ hasXls: !1,
651
+ isFullscreen: Z.value,
652
+ titles: { ...M.value.userOptions.buttonTitles },
653
+ chartElement: D.value,
654
+ position: M.value.userOptions.position,
655
+ hasAnnotator: M.value.userOptions.buttons.annotator,
656
+ isAnnotation: Q.value,
657
+ callbacks: M.value.userOptions.callbacks,
658
+ printScale: M.value.userOptions.print.scale,
659
+ isCursorPointer: N.value,
660
+ onToggleFullscreen: en,
661
+ onGeneratePdf: C(Tt),
662
+ onGenerateImage: cn,
663
+ onGenerateSvg: sn,
664
+ onToggleAnnotator: tn,
665
+ onCopyAlt: ln,
666
+ style: _({ visibility: C(xt) ? C(yt) ? "visible" : "hidden" : "visible" })
667
+ }, Se({ _: 2 }, [
668
+ e.$slots.menuIcon ? {
669
+ name: "menuIcon",
670
+ fn: w(({ isOpen: t, color: n }) => [x(e.$slots, "menuIcon", g(h({
671
+ isOpen: t,
672
+ color: n
673
+ })), void 0, !0)]),
674
+ key: "0"
675
+ } : void 0,
676
+ e.$slots.optionPdf ? {
677
+ name: "optionPdf",
678
+ fn: w(() => [x(e.$slots, "optionPdf", {}, void 0, !0)]),
679
+ key: "1"
680
+ } : void 0,
681
+ e.$slots.optionImg ? {
682
+ name: "optionImg",
683
+ fn: w(() => [x(e.$slots, "optionImg", {}, void 0, !0)]),
684
+ key: "2"
685
+ } : void 0,
686
+ e.$slots.optionSvg ? {
687
+ name: "optionSvg",
688
+ fn: w(() => [x(e.$slots, "optionSvg", {}, void 0, !0)]),
689
+ key: "3"
690
+ } : void 0,
691
+ e.$slots.optionFullscreen ? {
692
+ name: "optionFullscreen",
693
+ fn: w(({ toggleFullscreen: t, isFullscreen: n }) => [x(e.$slots, "optionFullscreen", g(h({
694
+ toggleFullscreen: t,
695
+ isFullscreen: n
696
+ })), void 0, !0)]),
697
+ key: "4"
698
+ } : void 0,
699
+ e.$slots.optionAnnotator ? {
700
+ name: "optionAnnotator",
701
+ fn: w(({ toggleAnnotator: t, isAnnotator: n }) => [x(e.$slots, "optionAnnotator", g(h({
702
+ toggleAnnotator: t,
703
+ isAnnotator: n
704
+ })), void 0, !0)]),
705
+ key: "5"
706
+ } : void 0,
707
+ e.$slots.optionAltCopy ? {
708
+ name: "optionAltCopy",
709
+ fn: w(({ altCopy: t }) => [x(e.$slots, "optionAltCopy", g(h({ altCopy: t })), void 0, !0)]),
710
+ key: "6"
711
+ } : void 0,
712
+ e.$slots["custom-menu-before"] ? {
713
+ name: "custom-menu-before",
714
+ fn: w(() => [x(e.$slots, "custom-menu-before", {}, void 0, !0)]),
715
+ key: "7"
716
+ } : void 0,
717
+ e.$slots["custom-menu-after"] ? {
718
+ name: "custom-menu-after",
719
+ fn: w(() => [x(e.$slots, "custom-menu-after", {}, void 0, !0)]),
720
+ key: "8"
721
+ } : void 0
722
+ ]), 1032, [
723
+ "backgroundColor",
724
+ "color",
725
+ "isPrinting",
726
+ "isImaging",
727
+ "uid",
728
+ "hasPdf",
729
+ "hasImg",
730
+ "hasSvg",
731
+ "hasFullscreen",
732
+ "hasAltCopy",
733
+ "isFullscreen",
734
+ "titles",
735
+ "chartElement",
736
+ "position",
737
+ "hasAnnotator",
738
+ "isAnnotation",
739
+ "callbacks",
740
+ "printScale",
741
+ "isCursorPointer",
742
+ "onGeneratePdf",
743
+ "style"
744
+ ])) : f("", !0),
745
+ m("div", Re, [(v(), p("svg", {
746
+ ref_key: "svgRef",
747
+ ref: P,
748
+ xmlns: C(re),
749
+ class: Oe([{
750
+ "vue-data-ui-fullscreen--on": Z.value,
751
+ "vue-data-ui-fulscreen--off": !Z.value
752
+ }, "relation-circle"]),
753
+ viewBox: `0 0 ${W.value.width <= 0 ? 10 : W.value.width} ${W.value.height <= 0 ? 10 : W.value.height}`,
754
+ width: "100%",
755
+ style: "user-select:none; background:transparent",
756
+ "aria-describedby": `chart-instructions-${E.value}`,
757
+ tabindex: "0",
758
+ onFocus: un,
759
+ onBlur: dn,
760
+ onKeydown: fn
761
+ }, [
762
+ we(C(it)),
763
+ e.$slots["chart-background"] ? (v(), p("foreignObject", {
764
+ key: 0,
765
+ x: 0,
766
+ y: 0,
767
+ width: W.value.width <= 0 ? 10 : W.value.width,
768
+ height: W.value.height <= 0 ? 10 : W.value.height,
769
+ style: { pointerEvents: "none" }
770
+ }, [x(e.$slots, "chart-background", {}, void 0, !0)], 8, Be)) : f("", !0),
771
+ m("circle", {
772
+ cx: (W.value.width <= 0 ? 1e-4 : W.value.width) / 2,
773
+ cy: (W.value.height <= 0 ? 1e-4 : W.value.height) / 2 + M.value.style.circle.offsetY,
774
+ r: G.value <= 0 ? 1e-4 : G.value,
775
+ stroke: M.value.style.circle.stroke,
776
+ "stroke-width": M.value.style.circle.strokeWidth,
777
+ fill: "transparent",
778
+ class: "main-circle"
779
+ }, null, 8, Ve),
780
+ At.value ? (v(), p("g", He, [(v(!0), p(l, null, b(I.value, (e, t) => (v(), p("path", {
781
+ key: `relation_${t}`,
782
+ style: _(Wt(e)),
783
+ stroke: J(e),
784
+ class: Oe(["relation", { "vue-ui-relation-circle-selected": L.value.hasOwnProperty("id") && R.value.includes(e.id) }]),
785
+ d: `M${e.x1},${e.y1} C${e.x1},${e.y1} ${W.value.width / 2},${W.value.height / 2 + M.value.style.circle.offsetY} ${e.x2},${e.y2}`,
786
+ fill: "none",
787
+ "stroke-width": $t(e),
788
+ "stroke-linecap": "round"
789
+ }, null, 14, Ue))), 128)), (v(!0), p(l, null, b(I.value, (t, r) => (v(), p("g", We, [
790
+ Y(t) ? x(e.$slots, "dataLabel", Ee({
791
+ key: 0,
792
+ ref_for: !0
793
+ }, {
794
+ x: t.midPointBezier.x,
795
+ y: t.midPointBezier.y,
796
+ color: J(t),
797
+ weight: t.weight,
798
+ fontSize: V.value
799
+ }), void 0, !0) : f("", !0),
800
+ Y(t) && !e.$slots.dataLabel ? (v(), p("circle", {
801
+ key: 1,
802
+ cx: t.midPointBezier.x,
803
+ cy: t.midPointBezier.y,
804
+ fill: J(t),
805
+ r: V.value,
806
+ stroke: M.value.style.backgroundColor,
807
+ "stroke-width": "1"
808
+ }, null, 8, Ge)) : f("", !0),
809
+ Y(t) && !e.$slots.dataLabel ? (v(), p("text", {
810
+ key: 2,
811
+ x: t.midPointBezier.x,
812
+ y: t.midPointBezier.y + V.value / 3,
813
+ fill: C(ne)(J(t)),
814
+ "text-anchor": "middle",
815
+ "font-size": V.value
816
+ }, S(C(te)(M.value.style.weightLabels.formatter, t.weight, C(n)({
817
+ p: M.value.style.weightLabels.prefix,
818
+ v: t.weight,
819
+ s: M.value.style.weightLabels.suffix,
820
+ r: M.value.style.weightLabels.rounding
821
+ }), { ...t })), 9, Ke)) : f("", !0)
822
+ ]))), 256))])) : (v(), p("g", qe, [(v(!0), p(l, null, b(I.value, (e, t) => (v(), p("line", {
823
+ key: `relation_${t}`,
824
+ stroke: J(e),
825
+ "stroke-width": $t(e),
826
+ style: _(Wt(e)),
827
+ x1: e.x1,
828
+ x2: e.x2,
829
+ y1: e.y1,
830
+ y2: e.y2,
831
+ class: Oe({ "vue-ui-relation-circle-selected": L.value.hasOwnProperty("id") && R.value.includes(e.id) }),
832
+ "stroke-linecap": "round"
833
+ }, null, 14, Je))), 128)), (v(!0), p(l, null, b(I.value, (t, r) => (v(), p("g", Ye, [
834
+ Y(t) ? x(e.$slots, "dataLabel", Ee({
835
+ key: 0,
836
+ ref_for: !0
837
+ }, {
838
+ x: t.midPointLine.x,
839
+ y: t.midPointLine.y,
840
+ color: J(t),
841
+ weight: t.weight,
842
+ fontSize: V.value
843
+ }), void 0, !0) : f("", !0),
844
+ Y(t) && !e.$slots.dataLabel && M.value.style.weightLabels.show ? (v(), p("circle", {
845
+ key: 1,
846
+ cx: t.midPointLine.x,
847
+ cy: t.midPointLine.y,
848
+ fill: J(t),
849
+ r: V.value,
850
+ stroke: M.value.style.backgroundColor,
851
+ "stroke-width": "1"
852
+ }, null, 8, Xe)) : f("", !0),
853
+ Y(t) && !e.$slots.dataLabel && M.value.style.weightLabels.show ? (v(), p("text", {
854
+ key: 2,
855
+ x: t.midPointLine.x,
856
+ y: t.midPointLine.y + V.value / 3,
857
+ fill: C(ne)(J(t)),
858
+ "text-anchor": "middle",
859
+ "font-size": V.value
860
+ }, S(C(te)(M.value.style.weightLabels.formatter, t.weight, C(n)({
861
+ p: M.value.style.weightLabels.prefix,
862
+ v: t.weight,
863
+ s: M.value.style.weightLabels.suffix,
864
+ r: M.value.style.weightLabels.rounding
865
+ }), { ...t })), 9, Ze)) : f("", !0)
866
+ ]))), 256))])),
867
+ (v(!0), p(l, null, b(F.value, (e, t) => (v(), p("text", {
868
+ key: `plot_text_${t}`,
869
+ "text-anchor": Gt(e),
870
+ transform: Jt(e),
871
+ x: Kt(e),
872
+ y: e.y + 5,
873
+ class: "vue-ui-relation-circle-legend",
874
+ "transform-origin": "start",
875
+ "font-weight": L.value.id === e.id ? "900" : "400",
876
+ style: _(`font-family:${M.value.style.fontFamily};${qt(e)};cursor:${N.value ? "pointer" : "default"}`),
877
+ "font-size": U.value,
878
+ fill: M.value.style.labels.color,
879
+ "text-decoration": t === X.value || t === A.value ? "underline" : void 0,
880
+ onClick: (n) => Qt(e, t),
881
+ onMouseenter: (n) => Yt(e, t),
882
+ onMouseleave: (n) => Xt(e, t)
883
+ }, [C(gt) ? (v(), p(l, { key: 0 }, [Ce("--------")], 64)) : (v(), p(l, { key: 1 }, [Ce(S(e.label) + " (" + S(C(te)(M.value.style.weightLabels.formatter, e.totalWeight, C(n)({
884
+ p: M.value.style.weightLabels.prefix,
885
+ v: e.totalWeight,
886
+ s: M.value.style.weightLabels.suffix,
887
+ r: M.value.style.weightLabels.rounding
888
+ }), { ...e })) + ") ", 1)], 64))], 44, Qe))), 128)),
889
+ (v(!0), p(l, null, b(F.value, (e, t) => (v(), p("circle", {
890
+ cx: e.x,
891
+ cy: e.y,
892
+ key: `plot_${t}`,
893
+ style: _(`${Ut(e)}; transition: r 0.2s ease-in-out; cursor:${N.value ? "pointer" : "default"}`),
894
+ class: "vue-ui-relation-circle-plot",
895
+ fill: M.value.style.plot.useSerieColor ? e.color : M.value.style.plot.color,
896
+ stroke: M.value.style.backgroundColor,
897
+ "stroke-width": "1",
898
+ r: H.value * (t === X.value || t === A.value ? 2 : 1),
899
+ onClick: (n) => Qt(e, t),
900
+ onMouseenter: (n) => Yt(e, t),
901
+ onMouseleave: (n) => Xt(e, t)
902
+ }, null, 44, $e))), 128)),
903
+ x(e.$slots, "svg", { svg: {
904
+ ...W.value,
905
+ isPrintingImg: C(Ct) || C(wt) || O.value,
906
+ isPrintingSvg: k.value
907
+ } }, void 0, !0)
908
+ ], 42, ze)), e.$slots.hint ? (v(), p("div", et, [x(e.$slots, "hint", g(h({
909
+ hint: M.value.a11y.translations.keyboardNavigation,
910
+ isVisible: j.value
911
+ })), void 0, !0)])) : f("", !0)]),
912
+ e.$slots.watermark ? (v(), p("div", tt, [x(e.$slots, "watermark", g(h({ isPrinting: C(Ct) || C(wt) || O.value || k.value })), void 0, !0)])) : f("", !0),
913
+ e.$slots.source ? (v(), p("div", {
914
+ key: 6,
915
+ ref_key: "source",
916
+ ref: ft,
917
+ dir: "auto"
918
+ }, [x(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
919
+ x(e.$slots, "skeleton", {}, () => [C(gt) ? (v(), d(ce, { key: 0 })) : f("", !0)], !0)
920
+ ], 44, Ie));
921
+ }
922
+ }, [["__scopeId", "data-v-dc8435a4"]]);
923
+ //#endregion
924
+ export { Fe as n, nt as t };