vue-data-ui 3.5.2 → 3.7.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 (199) hide show
  1. package/README.md +36 -27
  2. package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
  3. package/dist/{BaseDraggableDialog-ymf2sfB8.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
  4. package/dist/{BaseIcon-BmMbm4d0.js → BaseIcon-CofSxalQ.js} +6 -5
  5. package/dist/{ColorPicker-ChuwChMo.js → ColorPicker-e1-OSGlQ.js} +10 -10
  6. package/dist/{DataTable-BT7VF2ua.js → DataTable-CHaOCmsE.js} +2 -2
  7. package/dist/{Legend-G6GMcdAc.js → Legend-Web3GjlR.js} +10 -10
  8. package/dist/{NonSvgPenAndPaper-DVgKKLIf.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
  9. package/dist/{PackageVersion-Y7t79Jtq.js → PackageVersion-Bq_mtsqr.js} +1 -1
  10. package/dist/{PenAndPaper-SZQIAgkg.js → PenAndPaper-HCZQTkqi.js} +20 -20
  11. package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
  12. package/dist/{Slicer-D2wm0coO.js → Slicer-BFBBG6xv.js} +23 -23
  13. package/dist/{SlicerPreview-ij72TAs6.js → SlicerPreview-D76aSViW.js} +2 -2
  14. package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
  15. package/dist/{Title-BzH_LEA3.js → Title-DfFUb9hd.js} +1 -1
  16. package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
  17. package/dist/{UserOptions-CGnQt6Fd.js → UserOptions-B3I-s3Lw.js} +2 -2
  18. package/dist/components/arrow.js +1 -1
  19. package/dist/components/vue-ui-3d-bar.js +3 -3
  20. package/dist/components/vue-ui-accordion.js +1 -1
  21. package/dist/components/vue-ui-age-pyramid.js +3 -3
  22. package/dist/components/vue-ui-annotator.js +1 -1
  23. package/dist/components/vue-ui-bullet.js +3 -3
  24. package/dist/components/vue-ui-candlestick.js +3 -3
  25. package/dist/components/vue-ui-carousel-table.js +1 -1
  26. package/dist/components/vue-ui-chestnut.js +3 -3
  27. package/dist/components/vue-ui-chord.js +3 -3
  28. package/dist/components/vue-ui-circle-pack.js +3 -3
  29. package/dist/components/vue-ui-cursor.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +2 -2
  33. package/dist/components/vue-ui-donut.js +3 -3
  34. package/dist/components/vue-ui-dumbbell.js +3 -3
  35. package/dist/components/vue-ui-flow.js +3 -3
  36. package/dist/components/vue-ui-funnel.js +2 -2
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +3 -3
  42. package/dist/components/vue-ui-horizontal-bar.js +3 -3
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +3 -3
  47. package/dist/components/vue-ui-mood-radar.js +3 -3
  48. package/dist/components/vue-ui-nested-donuts.js +2 -2
  49. package/dist/components/vue-ui-onion.js +3 -3
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +3 -3
  52. package/dist/components/vue-ui-quick-chart.js +3 -3
  53. package/dist/components/vue-ui-radar.js +3 -3
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +3 -3
  56. package/dist/components/vue-ui-ridgeline.js +3 -3
  57. package/dist/components/vue-ui-rings.js +3 -3
  58. package/dist/components/vue-ui-scatter.js +3 -3
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +2 -2
  63. package/dist/components/vue-ui-sparkgauge.js +3 -3
  64. package/dist/components/vue-ui-sparkhistogram.js +3 -3
  65. package/dist/components/vue-ui-sparkline.js +3 -3
  66. package/dist/components/vue-ui-sparkstackbar.js +2 -2
  67. package/dist/components/vue-ui-stackbar.js +3 -3
  68. package/dist/components/vue-ui-stackline.js +5 -0
  69. package/dist/components/vue-ui-strip-plot.js +3 -3
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +2 -2
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +3 -3
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +2 -2
  76. package/dist/components/vue-ui-treemap.js +3 -3
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +2 -2
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +3 -3
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +3 -3
  83. package/dist/components/vue-ui-xy.js +3 -3
  84. package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
  85. package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
  86. package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
  87. package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +303 -9
  90. package/dist/types/vue-ui-stackline.d.ts +18 -0
  91. package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
  92. package/dist/{useNestedProp-CReNavA0.js → useNestedProp-CWo6bftQ.js} +535 -329
  93. package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
  94. package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
  95. package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
  96. package/dist/{vue-data-ui-BRaq4hRp.js → vue-data-ui-ByLTJx5V.js} +79 -77
  97. package/dist/vue-data-ui.js +226 -204
  98. package/dist/{vue-ui-3d-bar-BB4ii8Nt.js → vue-ui-3d-bar-Dkds4k5N.js} +546 -517
  99. package/dist/{vue-ui-accordion-BmFTVF1a.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
  100. package/dist/vue-ui-age-pyramid-C-fwZRYE.js +960 -0
  101. package/dist/{vue-ui-annotator-CcpaXBNK.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
  102. package/dist/vue-ui-bullet-BKVJRjGh.js +657 -0
  103. package/dist/{vue-ui-candlestick-CMP7UL6z.js → vue-ui-candlestick-BKFWHU4O.js} +596 -561
  104. package/dist/{vue-ui-carousel-table-CzOcKsDj.js → vue-ui-carousel-table-VmPH6y2g.js} +48 -48
  105. package/dist/{vue-ui-chestnut-S787oASt.js → vue-ui-chestnut-DpMHe-OI.js} +534 -505
  106. package/dist/vue-ui-chord-Djdr0PY_.js +1182 -0
  107. package/dist/vue-ui-circle-pack-CyUqNJQt.js +832 -0
  108. package/dist/{vue-ui-cursor-C3yD_TUr.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
  109. package/dist/{vue-ui-dashboard-BfEcVRxQ.js → vue-ui-dashboard-eBXj-KCw.js} +140 -140
  110. package/dist/{vue-ui-digits-pRh179Gg.js → vue-ui-digits-D382I0-w.js} +2 -2
  111. package/dist/{vue-ui-donut-B_tEm4dT.js → vue-ui-donut-BLb0kj_P.js} +634 -602
  112. package/dist/vue-ui-donut-evolution-BqrldXpI.js +1243 -0
  113. package/dist/vue-ui-dumbbell-BuZT5a-d.js +1258 -0
  114. package/dist/vue-ui-flow-LLp6ntEP.js +1026 -0
  115. package/dist/vue-ui-funnel-pILUR-OG.js +743 -0
  116. package/dist/vue-ui-galaxy-X6yiw8kx.js +837 -0
  117. package/dist/vue-ui-gauge-DBh-vFb9.js +864 -0
  118. package/dist/{vue-ui-gizmo-BQzQlUJ8.js → vue-ui-gizmo-DtyEukIP.js} +3 -3
  119. package/dist/{vue-ui-heatmap-C9MhHWpp.js → vue-ui-heatmap-mkD6QkXo.js} +501 -466
  120. package/dist/vue-ui-history-plot-CyTaBaxA.js +1239 -0
  121. package/dist/{vue-ui-kpi-jcrPjW4C.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
  122. package/dist/{vue-ui-mini-loader-DTM98mRN.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
  123. package/dist/vue-ui-molecule-UzQ3o5HW.js +782 -0
  124. package/dist/vue-ui-mood-radar-C2zkRLGy.js +930 -0
  125. package/dist/vue-ui-nested-donuts-B5OpvmJ9.js +1454 -0
  126. package/dist/vue-ui-onion-DbhIOGtF.js +944 -0
  127. package/dist/vue-ui-parallel-coordinate-plot-Dv_T4mWW.js +1080 -0
  128. package/dist/{vue-ui-quadrant-CeM23s0z.js → vue-ui-quadrant-CG6_CWsQ.js} +510 -481
  129. package/dist/{vue-ui-quick-chart-C0RMQzjC.js → vue-ui-quick-chart-DOeRhk7r.js} +795 -758
  130. package/dist/vue-ui-radar-DdHa9Hsh.js +1013 -0
  131. package/dist/{vue-ui-rating-tj97undO.js → vue-ui-rating-DtzmtJwF.js} +26 -26
  132. package/dist/vue-ui-relation-circle-B5lL4l9w.js +670 -0
  133. package/dist/vue-ui-ridgeline-3pk4Mlft.js +1302 -0
  134. package/dist/vue-ui-rings-DhyrjrZi.js +884 -0
  135. package/dist/vue-ui-scatter-DKCD70mi.js +1619 -0
  136. package/dist/{vue-ui-skeleton-87TORm6s.js → vue-ui-skeleton-CzzdmraB.js} +3 -3
  137. package/dist/{vue-ui-smiley-B74geHT3.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
  138. package/dist/vue-ui-spark-trend-BMTcxeCT.js +364 -0
  139. package/dist/vue-ui-sparkbar-DVk1JiPL.js +381 -0
  140. package/dist/vue-ui-sparkgauge-Cq9Nw_xu.js +260 -0
  141. package/dist/vue-ui-sparkhistogram-PFHlCE_k.js +411 -0
  142. package/dist/vue-ui-sparkline-BHHwO_cV.js +549 -0
  143. package/dist/vue-ui-sparkstackbar-BosVkkiC.js +470 -0
  144. package/dist/vue-ui-stackbar-Djk5CPUy.js +1867 -0
  145. package/dist/vue-ui-stackline-mU4CSol9.js +1963 -0
  146. package/dist/{vue-ui-strip-plot-C1N2n39d.js → vue-ui-strip-plot-CZQSL0GK.js} +343 -314
  147. package/dist/{vue-ui-table-CcuoPHgI.js → vue-ui-table-DMM090pe.js} +5 -5
  148. package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
  149. package/dist/{vue-ui-table-sparkline-BAxmZRff.js → vue-ui-table-sparkline-CQJc0mJY.js} +292 -263
  150. package/dist/vue-ui-thermometer-D1uxoVeZ.js +613 -0
  151. package/dist/{vue-ui-timer-BVsUQJz_.js → vue-ui-timer-jTnS3ES5.js} +25 -25
  152. package/dist/vue-ui-tiremarks-Bv-oIFVV.js +477 -0
  153. package/dist/vue-ui-treemap-B9MVtunp.js +1359 -0
  154. package/dist/{vue-ui-vertical-bar-B3gfBqD_.js → vue-ui-vertical-bar-BSbDj5qZ.js} +520 -485
  155. package/dist/{vue-ui-waffle-Bhlqo4xM.js → vue-ui-waffle-DIALVfvc.js} +376 -347
  156. package/dist/vue-ui-wheel-aUhrFpGk.js +690 -0
  157. package/dist/vue-ui-word-cloud-DZmMWsUu.js +904 -0
  158. package/dist/{vue-ui-world-C8KVyDim.js → vue-ui-world-CVLlgp2f.js} +57 -57
  159. package/dist/vue-ui-xy-Cy7mOurZ.js +3455 -0
  160. package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
  161. package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
  162. package/package.json +5 -5
  163. package/dist/themes-AUNCOb2G.js +0 -53
  164. package/dist/vue-ui-age-pyramid-8bUepd28.js +0 -933
  165. package/dist/vue-ui-bullet-BvT4scFv.js +0 -630
  166. package/dist/vue-ui-chord-Dl9Y4mcz.js +0 -1153
  167. package/dist/vue-ui-circle-pack-CU09BzOV.js +0 -803
  168. package/dist/vue-ui-donut-evolution-DiGhMwMO.js +0 -1208
  169. package/dist/vue-ui-dumbbell-BlF3CLbN.js +0 -1231
  170. package/dist/vue-ui-flow-BQi5L8mJ.js +0 -991
  171. package/dist/vue-ui-funnel-CM_6Sare.js +0 -716
  172. package/dist/vue-ui-galaxy-BnZA62Li.js +0 -808
  173. package/dist/vue-ui-gauge-DAk72bez.js +0 -835
  174. package/dist/vue-ui-history-plot-BYQh3E8U.js +0 -1204
  175. package/dist/vue-ui-molecule-Bd1OXvl3.js +0 -753
  176. package/dist/vue-ui-mood-radar-DuoiTsYn.js +0 -903
  177. package/dist/vue-ui-nested-donuts-BTswQFjz.js +0 -1419
  178. package/dist/vue-ui-onion-D-1U2Qgl.js +0 -915
  179. package/dist/vue-ui-parallel-coordinate-plot-D-7VFHas.js +0 -1051
  180. package/dist/vue-ui-radar-BSfxyur3.js +0 -984
  181. package/dist/vue-ui-relation-circle-C7uV2mIj.js +0 -641
  182. package/dist/vue-ui-ridgeline-CYMfTlwI.js +0 -1273
  183. package/dist/vue-ui-rings-C96aj57d.js +0 -855
  184. package/dist/vue-ui-scatter-CtvOXUnx.js +0 -1590
  185. package/dist/vue-ui-spark-trend-6_Ibziyv.js +0 -337
  186. package/dist/vue-ui-sparkbar-BDCocMLI.js +0 -352
  187. package/dist/vue-ui-sparkgauge-CQ4Zk9-f.js +0 -233
  188. package/dist/vue-ui-sparkhistogram-BlTV9wfn.js +0 -384
  189. package/dist/vue-ui-sparkline-DWESyiqL.js +0 -514
  190. package/dist/vue-ui-sparkstackbar-DK_7X8mL.js +0 -441
  191. package/dist/vue-ui-stackbar-BWuw8ff4.js +0 -1827
  192. package/dist/vue-ui-table-heatmap-C9EMEM3Z.js +0 -282
  193. package/dist/vue-ui-thermometer-CDrM-WFq.js +0 -584
  194. package/dist/vue-ui-tiremarks-BQH2pNkG.js +0 -450
  195. package/dist/vue-ui-treemap-6WLoCHsH.js +0 -1330
  196. package/dist/vue-ui-wheel-CqHw1WuW.js +0 -663
  197. package/dist/vue-ui-word-cloud-CKuWZGLv.js +0 -875
  198. package/dist/vue-ui-xy-Cz2qIEfi.js +0 -3424
  199. package/dist/vue-ui-xy-canvas-y4h7gEFp.js +0 -1564
@@ -0,0 +1,670 @@
1
+ import { useCssVars as wt, computed as y, defineAsyncComponent as Z, ref as u, toRefs as Ct, watch as ee, shallowRef as Pe, onMounted as At, onBeforeUnmount as xt, createElementBlock as n, openBlock as a, unref as i, normalizeStyle as I, createBlock as U, createCommentVNode as g, withCtx as h, renderSlot as v, normalizeProps as w, guardReactiveProps as C, createSlots as $t, normalizeClass as te, createVNode as _t, createElementVNode as Lt, Fragment as _, renderList as M, mergeProps as ze, toDisplayString as V, createTextVNode as Oe } from "vue";
2
+ import { c as Pt, t as zt, i as Ot, p as Se, j as St, o as Ie, g as Me, k as It, X as Mt, w as Be, a as le, d as se, Y as oe } from "./lib-C5BH09_g.js";
3
+ import { t as Bt, u as Et } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Ft, a as ae } from "./useNestedProp-CWo6bftQ.js";
5
+ import { u as Tt, B as Dt } from "./BaseScanner-BgWxam9d.js";
6
+ import { u as Rt } from "./usePrinter-DCJzEiS8.js";
7
+ import { u as jt } from "./useSvgExport-DrjCWun4.js";
8
+ import { u as Nt } from "./useThemeCheck-DGJ31Vi5.js";
9
+ import { u as Ut } from "./useUserOptionState-BIvW1Kz7.js";
10
+ import { u as Vt } from "./useChartAccessibility-9icAAmYg.js";
11
+ import { u as Gt } from "./useAutoSizeLabelsInsideViewbox-DOALwU4q.js";
12
+ import Wt from "./img-DUzJeMlr.js";
13
+ import Yt from "./Title-DfFUb9hd.js";
14
+ import { _ as Xt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
+ const Ee = { style: { backgroundColor: "#1A1A1A", color: "#CCCCCC", labels: { color: "#CCCCCC" }, circle: { stroke: "#5A5A5A" }, plot: { color: "#1A1A1A" }, title: { color: "#CCCCCC", subtitle: { color: "#757575" } } } }, Fe = { style: { backgroundColor: "#FFF8E1", color: "#424242", labels: { color: "#424242" }, circle: { stroke: "#5D403780" }, plot: { color: "#5D4037" }, title: { color: "#424242", subtitle: { color: "#757575" } } } }, Te = { style: { backgroundColor: "#1E1E1E", color: "#BDBDBD", labels: { color: "#BDBDBD" }, circle: { stroke: "#5D403780" }, plot: { color: "#5D4037" }, title: { color: "#FFF8E1", subtitle: { color: "#BDBDBD" } } } }, De = { style: { backgroundColor: "#1A1A1A", color: "#99AA99", labels: { color: "#AACCAA" }, circle: { stroke: "#333333" }, plot: { color: "#66CC66" }, title: { color: "#66CC66", subtitle: { color: "#99AA99" } } } }, Re = { style: { backgroundColor: "#fbfafa", color: "#8A9892", labels: { color: "#A0AC94" }, circle: { stroke: "transparent" }, plot: { color: "#C09E85" }, title: { color: "#8A9892", subtitle: { color: "#99AA99" } } } }, je = { style: { backgroundColor: "#f6f6fb", color: "#50606C", labels: { color: "#61747E" }, circle: { stroke: "#D2D7E0" }, plot: { color: "#97ACB7" }, title: { color: "#50606C", subtitle: { color: "#718890" } } } }, Ne = {
16
+ default: {},
17
+ dark: Ee,
18
+ celebration: Fe,
19
+ celebrationNight: Te,
20
+ hack: De,
21
+ zen: Re,
22
+ concrete: je
23
+ }, Ll = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
24
+ __proto__: null,
25
+ celebration: Fe,
26
+ celebrationNight: Te,
27
+ concrete: je,
28
+ dark: Ee,
29
+ default: Ne,
30
+ hack: De,
31
+ zen: Re
32
+ }, Symbol.toStringTag, { value: "Module" })), qt = ["id"], Ht = ["xmlns", "viewBox"], Jt = ["width", "height"], Kt = ["cx", "cy", "r", "stroke", "stroke-width"], Qt = { key: 1 }, Zt = ["stroke", "d", "stroke-width"], el = { style: { "pointer-events": "none" } }, tl = ["cx", "cy", "fill", "r", "stroke"], ll = ["x", "y", "fill", "font-size"], sl = { key: 2 }, ol = ["stroke", "stroke-width", "x1", "x2", "y1", "y2"], al = { style: { "pointer-events": "none" } }, nl = ["cx", "cy", "fill", "r", "stroke"], il = ["x", "y", "fill", "font-size"], rl = ["text-anchor", "transform", "x", "y", "font-weight", "font-size", "fill", "text-decoration", "onClick", "onMouseenter", "onMouseleave"], ul = ["cx", "cy", "fill", "stroke", "r", "onClick", "onMouseenter", "onMouseleave"], cl = {
33
+ key: 4,
34
+ class: "vue-data-ui-watermark"
35
+ }, dl = {
36
+ __name: "vue-ui-relation-circle",
37
+ props: {
38
+ dataset: {
39
+ type: Array,
40
+ default() {
41
+ return [];
42
+ }
43
+ },
44
+ config: {
45
+ type: Object,
46
+ default() {
47
+ return {};
48
+ }
49
+ }
50
+ },
51
+ setup(Ue, { expose: Ve }) {
52
+ wt((e) => ({
53
+ v25630a8f: lt.value,
54
+ v44d3bcee: tt.value,
55
+ v6bd0b450: st.value
56
+ }));
57
+ const Ge = Z(() => import("./PenAndPaper-HCZQTkqi.js")), We = Z(() => import("./UserOptions-B3I-s3Lw.js")), Ye = Z(() => import("./PackageVersion-Bq_mtsqr.js")), { vue_ui_relation_circle: Xe } = Ft(), { isThemeValid: qe, warnInvalidTheme: He } = Nt(), m = Ue, Je = y(() => !!m.dataset && Object.keys(m.dataset).length), B = u(Pt()), ne = u(0), L = u(null), ie = u(null), re = u(null), ue = u(null), ce = u(0), l = u(Y()), { loading: de, FINAL_DATASET: Ke, manualLoading: G } = Tt({
58
+ ...Ct(m),
59
+ FINAL_CONFIG: l,
60
+ prepareConfig: Y,
61
+ skeletonDataset: [
62
+ { id: "A", label: "_", relations: ["B", "C", "D", "E", "F", "G"] },
63
+ { id: "B", label: "_", relations: ["A"] },
64
+ { id: "C", label: "_", relations: ["A"] },
65
+ { id: "D", label: "_", relations: ["A"] },
66
+ { id: "E", label: "_", relations: ["A"] },
67
+ { id: "F", label: "_", relations: ["A"] },
68
+ { id: "G", label: "_", relations: ["A"] }
69
+ ],
70
+ skeletonConfig: zt({
71
+ defaultConfig: l.value,
72
+ userConfig: {
73
+ userOptions: { show: !1 },
74
+ customPalette: new Array(7).fill("#CACACA"),
75
+ style: {
76
+ backgroundColor: "#99999930",
77
+ labels: { color: "#6A6A6A" },
78
+ circle: { stroke: "#6A6A6A" },
79
+ plot: { color: "#6A6A6A", useSerieColor: !0 },
80
+ links: { maxWidth: 2 }
81
+ }
82
+ }
83
+ })
84
+ }), { userOptionsVisible: W, setUserOptionsVisibility: ve, keepUserOptionState: fe } = Ut({ config: l.value }), { svgRef: F } = Vt({ config: l.value.style.title });
85
+ function Y() {
86
+ const e = ae({
87
+ userConfig: m.config,
88
+ defaultConfig: Xe
89
+ }), s = e.theme;
90
+ if (!s) return e;
91
+ if (!qe.value(e))
92
+ return He(e), e;
93
+ const t = ae({
94
+ userConfig: Ne[s] || m.config,
95
+ defaultConfig: e
96
+ }), o = ae({
97
+ userConfig: m.config,
98
+ defaultConfig: t
99
+ });
100
+ return {
101
+ ...o,
102
+ customPalette: o.customPalette.length ? o.customPalette : Ot[s] || Se
103
+ };
104
+ }
105
+ ee(() => m.config, (e) => {
106
+ l.value = Y(), W.value = !l.value.userOptions.showOnChartHover, P.value = l.value.style.size, b.value = l.value.style.weightLabels.size, D.value = l.value.style.plot.radius, E.value = l.value.style.labels.fontSize, r.value.height = l.value.style.size, r.value.width = l.value.style.size, ke(), ce.value += 1;
107
+ }, { deep: !0 }), ee(() => m.dataset, (e) => {
108
+ Array.isArray(e) && e.length > 0 && (G.value = !1);
109
+ }, { deep: !0 });
110
+ const { isPrinting: ge, isImaging: ye, generatePdf: he, generateImage: me } = Rt({
111
+ elementId: `relation_circle_${B.value}`,
112
+ fileName: l.value.style.title.text || "vue-ui-relation-circle",
113
+ options: l.value.userOptions.print
114
+ }), Qe = y(() => l.value.userOptions.show && !l.value.style.title.text), be = y(() => St(l.value.customPalette)), A = u([]), p = u([]), f = u({}), k = u([]), Ze = u(0), T = y(() => Ke.value.slice(0, l.value.style.limit).map((e) => {
115
+ const s = Array.isArray(e.relations) ? e.relations : [];
116
+ return {
117
+ ...e,
118
+ weights: Array.isArray(e.weights) ? e.weights : new Array(s.length).fill(1),
119
+ relations: s
120
+ };
121
+ }));
122
+ ee(T, () => {
123
+ A.value = [], p.value = [], X(), q();
124
+ });
125
+ const P = u(l.value.style.size), b = u(l.value.style.weightLabels.size), D = u(l.value.style.plot.radius), E = u(l.value.style.labels.fontSize), r = u({
126
+ height: l.value.style.size,
127
+ width: l.value.style.size
128
+ }), z = y({
129
+ get() {
130
+ return P.value * l.value.style.circle.radiusProportion;
131
+ },
132
+ set(e) {
133
+ return e;
134
+ }
135
+ }), et = y(() => l.value.style.links.curved), tt = y(() => `${l.value.style.animation.speedMs}ms`), lt = y(() => z.value * 2), st = y(() => z.value * 4), x = Pe(null), O = Pe(null);
136
+ At(() => {
137
+ ke(), document.getElementById(`relation_circle_${B.value}`).addEventListener("click", Ce);
138
+ });
139
+ const pe = y(() => l.value.debug);
140
+ function ke() {
141
+ if (Ie(m.dataset) ? (Me({
142
+ componentName: "VueUiRelationCircle",
143
+ type: "dataset",
144
+ debug: pe.value
145
+ }), G.value = !0) : m.dataset.forEach((e, s) => {
146
+ It({
147
+ datasetObject: e,
148
+ requiredAttributes: ["id", "label", "relations", "weights"]
149
+ }).forEach((t) => {
150
+ Me({
151
+ componentName: "VueUiRelationCircle",
152
+ type: "datasetSerieAttribute",
153
+ property: t,
154
+ index: s,
155
+ debug: pe.value
156
+ });
157
+ });
158
+ }), Ie(m.dataset) || (G.value = l.value.loading), l.value.responsive) {
159
+ const e = Bt(() => {
160
+ const { width: s, height: t } = Et({
161
+ chart: L.value,
162
+ title: l.value.style.title.text ? ie.value : null,
163
+ source: re.value,
164
+ noTitle: ue.value
165
+ });
166
+ requestAnimationFrame(() => {
167
+ P.value = Math.min(s, t), r.value.width = Math.max(0.1, s), r.value.height = Math.max(0.1, t - 12), z.value = P.value * l.value.style.circle.radiusProportion, A.value = [], p.value = [], X(), q(), we(), l.value.responsiveProportionalSizing ? (b.value = oe({
168
+ relator: P.value,
169
+ adjuster: l.value.style.size,
170
+ source: l.value.style.weightLabels.size,
171
+ threshold: 6,
172
+ fallback: 6
173
+ }), D.value = oe({
174
+ relator: P.value,
175
+ adjuster: l.value.style.size,
176
+ source: l.value.style.plot.radius,
177
+ threshold: 1,
178
+ fallback: 1
179
+ }), E.value = oe({
180
+ relator: P.value,
181
+ adjuster: l.value.style.size,
182
+ source: l.value.style.labels.fontSize,
183
+ threshold: 6,
184
+ fallback: 6
185
+ })) : (b.value = l.value.style.weightLabels.size, D.value = l.value.style.plot.radius, E.value = l.value.style.labels.fontSize);
186
+ });
187
+ });
188
+ x.value && (O.value && x.value.unobserve(O.value), x.value.disconnect()), x.value = new ResizeObserver(e), O.value = L.value.parentNode, x.value.observe(O.value);
189
+ } else
190
+ A.value = [], p.value = [], X(), q();
191
+ we();
192
+ }
193
+ xt(() => {
194
+ document.getElementById(`relation_circle_${B.value}`).removeEventListener("click", Ce), x.value && (O.value && x.value.unobserve(O.value), x.value.disconnect());
195
+ });
196
+ const { autoSizeLabels: we } = Gt({
197
+ svgRef: F,
198
+ fontSize: l.value.style.labels.fontSize,
199
+ minFontSize: l.value.style.labels.minFontSize,
200
+ sizeRef: E,
201
+ labelClass: ".vue-ui-relation-circle-legend"
202
+ });
203
+ function Ce(e) {
204
+ const s = e.target;
205
+ s && Array.from(s.classList).includes("vue-ui-user-options") || s && Array.from(s.classList).includes("vue-ui-user-options-summary") || s && Array.from(s.classList).includes("vue-data-ui-button") || s && Array.from(s.classList).includes("vue-ui-relation-circle-legend") || (f.value = {}, k.value = []);
206
+ }
207
+ function X() {
208
+ const e = 6.28319 / T.value.length, s = 360 / T.value.length;
209
+ let t = 0, o = 0;
210
+ T.value.forEach((c, d) => {
211
+ const K = c.weights.reduce((pt, kt) => pt + kt, 0), Q = z.value * Math.cos(t) + r.value.width / 2, bt = z.value * Math.sin(t) + r.value.height / 2 + l.value.style.circle.offsetY;
212
+ A.value.push({ x: Q, y: bt, ...c, color: c.color ? c.color : be.value[d] ? be.value[d] : Se[d], regAngle: o, totalWeight: K }), t += e, o += s;
213
+ });
214
+ }
215
+ function ot(e, s) {
216
+ const t = (e.x + s.x) / 2, o = (e.y + s.y) / 2;
217
+ return { x: t, y: o };
218
+ }
219
+ function q() {
220
+ p.value = [], A.value.forEach((e) => {
221
+ A.value.filter((t) => t.relations.includes(e.id)).forEach((t, o) => {
222
+ const c = t.relations.indexOf(e.id);
223
+ p.value.push({
224
+ weight: t.weights[c] ? t.weights[c] : 0,
225
+ relationId: `${e.id}_${t.id}`,
226
+ x1: e.x,
227
+ y1: e.y,
228
+ x2: t.x,
229
+ y2: t.y,
230
+ colorSource: e.color,
231
+ colorTarget: t.color,
232
+ midPointLine: ot({ x: e.x, y: e.y }, { x: t.x, y: t.y }),
233
+ midPointBezier: at({
234
+ x1: e.x,
235
+ x2: t.x,
236
+ y1: e.y,
237
+ y2: t.y
238
+ }),
239
+ ...e
240
+ });
241
+ });
242
+ });
243
+ }
244
+ function at(e) {
245
+ const s = { x: e.x1, y: e.y1 }, t = { x: e.x2, y: e.y2 }, o = { x: e.x1, y: e.y1 }, c = {
246
+ x: r.value.width / 2,
247
+ y: r.value.height / 2 + l.value.style.circle.offsetY
248
+ }, d = 0.5, K = Math.pow(1 - d, 3) * s.x + 3 * Math.pow(1 - d, 2) * d * o.x + 3 * (1 - d) * Math.pow(d, 2) * c.x + Math.pow(d, 3) * t.x, Q = Math.pow(1 - d, 3) * s.y + 3 * Math.pow(1 - d, 2) * d * o.y + 3 * (1 - d) * Math.pow(d, 2) * c.y + Math.pow(d, 3) * t.y;
249
+ return { x: K, y: Q };
250
+ }
251
+ const nt = y(() => Math.max(...p.value.map((e) => e.weight)));
252
+ function it(e) {
253
+ return Object.hasOwn(f.value, "x") ? k.value.includes(e.id) ? "opacity:1" : "opacity:0.1" : "opacity:1";
254
+ }
255
+ function $(e) {
256
+ return e.colorSource;
257
+ }
258
+ function Ae(e) {
259
+ return Object.hasOwn(f.value, "x") ? k.value.includes(e.id) && e.relationId === `${e.id}_${f.value.id}` || e.relationId === `${f.value.id}_${e.id}` ? `opacity:1;stroke-width:${H(e)}` : "opacity: 0" : "opacity: 1";
260
+ }
261
+ function S(e) {
262
+ return Object.hasOwn(f.value, "x") ? !!(k.value.includes(e.id) && e.relationId === `${e.id}_${f.value.id}` || e.relationId === `${f.value.id}_${e.id}`) : !1;
263
+ }
264
+ function rt(e) {
265
+ return e.regAngle > 90 && e.regAngle < 270 ? "end" : "start";
266
+ }
267
+ function ut(e) {
268
+ return e.regAngle > 90 && e.regAngle < 270 ? e.x - 5 : e.x + 5;
269
+ }
270
+ function ct(e) {
271
+ return Object.hasOwn(f.value, "x") ? f.value.id === e.id || k.value.includes(e.id) ? "opacity:1" : "opacity:0.2" : "opacity:1";
272
+ }
273
+ function dt(e) {
274
+ return e.regAngle > 90 && e.regAngle < 270 ? `rotate(${e.regAngle + 180},${e.x},${e.y})` : `rotate(${e.regAngle},${e.x},${e.y})`;
275
+ }
276
+ const R = u(null);
277
+ function xe(e, s) {
278
+ R.value = s, l.value.events.datapointEnter && l.value.events.datapointEnter({ datapoint: e, seriesIndex: s });
279
+ }
280
+ function $e(e, s) {
281
+ R.value = null, l.value.events.datapointLeave && l.value.events.datapointLeave({ datapoint: e, seriesIndex: s });
282
+ }
283
+ function _e(e, s) {
284
+ l.value.events.datapointClick && l.value.events.datapointClick({ datapoint: e, seriesIndex: s }), Ze.value = 360 - e.regAngle, f.value.id && e.id === f.value.id ? (f.value = {}, k.value = []) : (f.value = e, k.value = [...e.relations]);
285
+ }
286
+ function H(e) {
287
+ const s = e.weight / nt.value * l.value.style.links.maxWidth;
288
+ return Math.max(0.3, s);
289
+ }
290
+ const j = u(!1);
291
+ function Le(e) {
292
+ j.value = e, ne.value += 1;
293
+ }
294
+ const N = u(!1);
295
+ function J() {
296
+ N.value = !N.value;
297
+ }
298
+ async function vt({ scale: e = 2 } = {}) {
299
+ if (!L.value) return;
300
+ const { width: s, height: t } = L.value.getBoundingClientRect(), o = s / t, { imageUri: c, base64: d } = await Wt({ domElement: L.value, base64: !0, img: !0, scale: e });
301
+ return {
302
+ imageUri: c,
303
+ base64: d,
304
+ title: l.value.style.title.text,
305
+ width: s,
306
+ height: t,
307
+ aspectRatio: o
308
+ };
309
+ }
310
+ const ft = y(() => l.value.style.backgroundColor), gt = y(() => l.value.style.title), { exportSvg: yt, getSvg: ht } = jt({
311
+ svg: F,
312
+ title: gt,
313
+ backgroundColor: ft
314
+ });
315
+ async function mt({ isCb: e }) {
316
+ if (e) {
317
+ const { blob: s, url: t, text: o, dataUrl: c } = await ht();
318
+ l.value.userOptions.callbacks.svg({ blob: s, url: t, text: o, dataUrl: c });
319
+ } else
320
+ yt();
321
+ }
322
+ return Ve({
323
+ getImage: vt,
324
+ generatePdf: he,
325
+ generateImage: me,
326
+ toggleAnnotator: J,
327
+ toggleFullscreen: Le
328
+ }), (e, s) => (a(), n("div", {
329
+ ref_key: "relationCircleChart",
330
+ ref: L,
331
+ class: "vue-data-ui-component vue-ui-relation-circle",
332
+ style: I(`width:100%;background:${l.value.style.backgroundColor};text-align:center;${l.value.responsive ? "height: 100%" : ""}`),
333
+ id: `relation_circle_${B.value}`,
334
+ onMouseenter: s[0] || (s[0] = () => i(ve)(!0)),
335
+ onMouseleave: s[1] || (s[1] = () => i(ve)(!1))
336
+ }, [
337
+ l.value.userOptions.buttons.annotator ? (a(), U(i(Ge), {
338
+ key: 0,
339
+ svgRef: i(F),
340
+ backgroundColor: l.value.style.backgroundColor,
341
+ color: l.value.style.color,
342
+ active: N.value,
343
+ onClose: J
344
+ }, {
345
+ "annotator-action-close": h(() => [
346
+ v(e.$slots, "annotator-action-close", {}, void 0, !0)
347
+ ]),
348
+ "annotator-action-color": h(({ color: t }) => [
349
+ v(e.$slots, "annotator-action-color", w(C({ color: t })), void 0, !0)
350
+ ]),
351
+ "annotator-action-draw": h(({ mode: t }) => [
352
+ v(e.$slots, "annotator-action-draw", w(C({ mode: t })), void 0, !0)
353
+ ]),
354
+ "annotator-action-undo": h(({ disabled: t }) => [
355
+ v(e.$slots, "annotator-action-undo", w(C({ disabled: t })), void 0, !0)
356
+ ]),
357
+ "annotator-action-redo": h(({ disabled: t }) => [
358
+ v(e.$slots, "annotator-action-redo", w(C({ disabled: t })), void 0, !0)
359
+ ]),
360
+ "annotator-action-delete": h(({ disabled: t }) => [
361
+ v(e.$slots, "annotator-action-delete", w(C({ disabled: t })), void 0, !0)
362
+ ]),
363
+ _: 3
364
+ }, 8, ["svgRef", "backgroundColor", "color", "active"])) : g("", !0),
365
+ Qe.value ? (a(), n("div", {
366
+ key: 1,
367
+ ref_key: "noTitle",
368
+ ref: ue,
369
+ class: "vue-data-ui-no-title-space",
370
+ style: "height:36px; width: 100%;background:transparent"
371
+ }, null, 512)) : g("", !0),
372
+ l.value.style.title.text ? (a(), n("div", {
373
+ key: 2,
374
+ ref_key: "chartTitle",
375
+ ref: ie,
376
+ style: "width:100%;background:transparent"
377
+ }, [
378
+ (a(), U(Yt, {
379
+ key: `title_${ce.value}`,
380
+ config: {
381
+ title: {
382
+ cy: "relation-div-title",
383
+ ...l.value.style.title
384
+ },
385
+ subtitle: {
386
+ cy: "relation-div-subtitle",
387
+ ...l.value.style.title.subtitle
388
+ }
389
+ }
390
+ }, null, 8, ["config"]))
391
+ ], 512)) : g("", !0),
392
+ l.value.userOptions.show && Je.value && (i(fe) || i(W)) ? (a(), U(i(We), {
393
+ ref: "details",
394
+ key: `user_options_${ne.value}`,
395
+ backgroundColor: l.value.style.backgroundColor,
396
+ color: l.value.style.color,
397
+ isPrinting: i(ge),
398
+ isImaging: i(ye),
399
+ uid: B.value,
400
+ hasPdf: l.value.userOptions.buttons.pdf,
401
+ hasImg: l.value.userOptions.buttons.img,
402
+ hasSvg: l.value.userOptions.buttons.svg,
403
+ hasFullscreen: l.value.userOptions.buttons.img,
404
+ hasXls: !1,
405
+ isFullscreen: j.value,
406
+ titles: { ...l.value.userOptions.buttonTitles },
407
+ chartElement: L.value,
408
+ position: l.value.userOptions.position,
409
+ hasAnnotator: l.value.userOptions.buttons.annotator,
410
+ isAnnotation: N.value,
411
+ callbacks: l.value.userOptions.callbacks,
412
+ printScale: l.value.userOptions.print.scale,
413
+ onToggleFullscreen: Le,
414
+ onGeneratePdf: i(he),
415
+ onGenerateImage: i(me),
416
+ onGenerateSvg: mt,
417
+ onToggleAnnotator: J,
418
+ style: I({
419
+ visibility: i(fe) ? i(W) ? "visible" : "hidden" : "visible"
420
+ })
421
+ }, $t({ _: 2 }, [
422
+ e.$slots.menuIcon ? {
423
+ name: "menuIcon",
424
+ fn: h(({ isOpen: t, color: o }) => [
425
+ v(e.$slots, "menuIcon", w(C({ isOpen: t, color: o })), void 0, !0)
426
+ ]),
427
+ key: "0"
428
+ } : void 0,
429
+ e.$slots.optionPdf ? {
430
+ name: "optionPdf",
431
+ fn: h(() => [
432
+ v(e.$slots, "optionPdf", {}, void 0, !0)
433
+ ]),
434
+ key: "1"
435
+ } : void 0,
436
+ e.$slots.optionImg ? {
437
+ name: "optionImg",
438
+ fn: h(() => [
439
+ v(e.$slots, "optionImg", {}, void 0, !0)
440
+ ]),
441
+ key: "2"
442
+ } : void 0,
443
+ e.$slots.optionSvg ? {
444
+ name: "optionSvg",
445
+ fn: h(() => [
446
+ v(e.$slots, "optionSvg", {}, void 0, !0)
447
+ ]),
448
+ key: "3"
449
+ } : void 0,
450
+ e.$slots.optionFullscreen ? {
451
+ name: "optionFullscreen",
452
+ fn: h(({ toggleFullscreen: t, isFullscreen: o }) => [
453
+ v(e.$slots, "optionFullscreen", w(C({ toggleFullscreen: t, isFullscreen: o })), void 0, !0)
454
+ ]),
455
+ key: "4"
456
+ } : void 0,
457
+ e.$slots.optionAnnotator ? {
458
+ name: "optionAnnotator",
459
+ fn: h(({ toggleAnnotator: t, isAnnotator: o }) => [
460
+ v(e.$slots, "optionAnnotator", w(C({ toggleAnnotator: t, isAnnotator: o })), void 0, !0)
461
+ ]),
462
+ key: "5"
463
+ } : void 0
464
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasSvg", "hasFullscreen", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : g("", !0),
465
+ (a(), n("svg", {
466
+ ref_key: "svgRef",
467
+ ref: F,
468
+ xmlns: i(Mt),
469
+ class: te([{ "vue-data-ui-fullscreen--on": j.value, "vue-data-ui-fulscreen--off": !j.value }, "relation-circle"]),
470
+ viewBox: `0 0 ${r.value.width <= 0 ? 10 : r.value.width} ${r.value.height <= 0 ? 10 : r.value.height}`,
471
+ width: "100%",
472
+ style: "user-select:none; background:transparent"
473
+ }, [
474
+ _t(i(Ye)),
475
+ e.$slots["chart-background"] ? (a(), n("foreignObject", {
476
+ key: 0,
477
+ x: 0,
478
+ y: 0,
479
+ width: r.value.width <= 0 ? 10 : r.value.width,
480
+ height: r.value.height <= 0 ? 10 : r.value.height,
481
+ style: {
482
+ pointerEvents: "none"
483
+ }
484
+ }, [
485
+ v(e.$slots, "chart-background", {}, void 0, !0)
486
+ ], 8, Jt)) : g("", !0),
487
+ Lt("circle", {
488
+ cx: (r.value.width <= 0 ? 1e-4 : r.value.width) / 2,
489
+ cy: (r.value.height <= 0 ? 1e-4 : r.value.height) / 2 + l.value.style.circle.offsetY,
490
+ r: z.value <= 0 ? 1e-4 : z.value,
491
+ stroke: l.value.style.circle.stroke,
492
+ "stroke-width": l.value.style.circle.strokeWidth,
493
+ fill: "transparent",
494
+ class: "main-circle"
495
+ }, null, 8, Kt),
496
+ et.value ? (a(), n("g", Qt, [
497
+ (a(!0), n(_, null, M(p.value, (t, o) => (a(), n("path", {
498
+ key: `relation_${o}`,
499
+ style: I(Ae(t)),
500
+ stroke: $(t),
501
+ class: te(["relation", { "vue-ui-relation-circle-selected": f.value.hasOwnProperty("id") && k.value.includes(t.id) }]),
502
+ d: `M${t.x1},${t.y1} C${t.x1},${t.y1} ${r.value.width / 2},${r.value.height / 2 + l.value.style.circle.offsetY} ${t.x2},${t.y2}`,
503
+ fill: "none",
504
+ "stroke-width": H(t),
505
+ "stroke-linecap": "round"
506
+ }, null, 14, Zt))), 128)),
507
+ (a(!0), n(_, null, M(p.value, (t, o) => (a(), n("g", el, [
508
+ S(t) ? v(e.$slots, "dataLabel", ze({
509
+ key: 0,
510
+ ref_for: !0
511
+ }, {
512
+ x: t.midPointBezier.x,
513
+ y: t.midPointBezier.y,
514
+ color: $(t),
515
+ weight: t.weight,
516
+ fontSize: b.value
517
+ }), void 0, !0) : g("", !0),
518
+ S(t) && !e.$slots.dataLabel ? (a(), n("circle", {
519
+ key: 1,
520
+ cx: t.midPointBezier.x,
521
+ cy: t.midPointBezier.y,
522
+ fill: $(t),
523
+ r: b.value,
524
+ stroke: l.value.style.backgroundColor,
525
+ "stroke-width": "1"
526
+ }, null, 8, tl)) : g("", !0),
527
+ S(t) && !e.$slots.dataLabel ? (a(), n("text", {
528
+ key: 2,
529
+ x: t.midPointBezier.x,
530
+ y: t.midPointBezier.y + b.value / 3,
531
+ fill: i(Be)($(t)),
532
+ "text-anchor": "middle",
533
+ "font-size": b.value
534
+ }, V(i(le)(
535
+ l.value.style.weightLabels.formatter,
536
+ t.weight,
537
+ i(se)({
538
+ p: l.value.style.weightLabels.prefix,
539
+ v: t.weight,
540
+ s: l.value.style.weightLabels.suffix,
541
+ r: l.value.style.weightLabels.rounding
542
+ }),
543
+ { ...t }
544
+ )), 9, ll)) : g("", !0)
545
+ ]))), 256))
546
+ ])) : (a(), n("g", sl, [
547
+ (a(!0), n(_, null, M(p.value, (t, o) => (a(), n("line", {
548
+ key: `relation_${o}`,
549
+ stroke: $(t),
550
+ "stroke-width": H(t),
551
+ style: I(Ae(t)),
552
+ x1: t.x1,
553
+ x2: t.x2,
554
+ y1: t.y1,
555
+ y2: t.y2,
556
+ class: te({ "vue-ui-relation-circle-selected": f.value.hasOwnProperty("id") && k.value.includes(t.id) }),
557
+ "stroke-linecap": "round"
558
+ }, null, 14, ol))), 128)),
559
+ (a(!0), n(_, null, M(p.value, (t, o) => (a(), n("g", al, [
560
+ S(t) ? v(e.$slots, "dataLabel", ze({
561
+ key: 0,
562
+ ref_for: !0
563
+ }, {
564
+ x: t.midPointLine.x,
565
+ y: t.midPointLine.y,
566
+ color: $(t),
567
+ weight: t.weight,
568
+ fontSize: b.value
569
+ }), void 0, !0) : g("", !0),
570
+ S(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (a(), n("circle", {
571
+ key: 1,
572
+ cx: t.midPointLine.x,
573
+ cy: t.midPointLine.y,
574
+ fill: $(t),
575
+ r: b.value,
576
+ stroke: l.value.style.backgroundColor,
577
+ "stroke-width": "1"
578
+ }, null, 8, nl)) : g("", !0),
579
+ S(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (a(), n("text", {
580
+ key: 2,
581
+ x: t.midPointLine.x,
582
+ y: t.midPointLine.y + b.value / 3,
583
+ fill: i(Be)($(t)),
584
+ "text-anchor": "middle",
585
+ "font-size": b.value
586
+ }, V(i(le)(
587
+ l.value.style.weightLabels.formatter,
588
+ t.weight,
589
+ i(se)({
590
+ p: l.value.style.weightLabels.prefix,
591
+ v: t.weight,
592
+ s: l.value.style.weightLabels.suffix,
593
+ r: l.value.style.weightLabels.rounding
594
+ }),
595
+ { ...t }
596
+ )), 9, il)) : g("", !0)
597
+ ]))), 256))
598
+ ])),
599
+ (a(!0), n(_, null, M(A.value, (t, o) => (a(), n("text", {
600
+ key: `plot_text_${o}`,
601
+ "text-anchor": rt(t),
602
+ transform: dt(t),
603
+ x: ut(t),
604
+ y: t.y + 5,
605
+ class: "vue-ui-relation-circle-legend",
606
+ "transform-origin": "start",
607
+ "font-weight": f.value.id === t.id ? "900" : "400",
608
+ style: I(`font-family:${l.value.style.fontFamily};${ct(t)}`),
609
+ "font-size": E.value,
610
+ fill: l.value.style.labels.color,
611
+ "text-decoration": o === R.value ? "underline" : void 0,
612
+ onClick: (c) => _e(t, o),
613
+ onMouseenter: (c) => xe(t, o),
614
+ onMouseleave: (c) => $e(t, o)
615
+ }, [
616
+ i(de) ? (a(), n(_, { key: 0 }, [
617
+ Oe(" -------- ")
618
+ ], 64)) : (a(), n(_, { key: 1 }, [
619
+ Oe(V(t.label) + " (" + V(i(le)(
620
+ l.value.style.weightLabels.formatter,
621
+ t.totalWeight,
622
+ i(se)({
623
+ p: l.value.style.weightLabels.prefix,
624
+ v: t.totalWeight,
625
+ s: l.value.style.weightLabels.suffix,
626
+ r: l.value.style.weightLabels.rounding
627
+ }),
628
+ { ...t }
629
+ )) + ") ", 1)
630
+ ], 64))
631
+ ], 44, rl))), 128)),
632
+ (a(!0), n(_, null, M(A.value, (t, o) => (a(), n("circle", {
633
+ cx: t.x,
634
+ cy: t.y,
635
+ key: `plot_${o}`,
636
+ style: I(`${it(t)}; transition: r 0.2s ease-in-out;`),
637
+ class: "vue-ui-relation-circle-plot",
638
+ fill: l.value.style.plot.useSerieColor ? t.color : l.value.style.plot.color,
639
+ stroke: l.value.style.backgroundColor,
640
+ "stroke-width": "1",
641
+ r: D.value * (o === R.value ? 2 : 1),
642
+ onClick: (c) => _e(t, o),
643
+ onMouseenter: (c) => xe(t, o),
644
+ onMouseleave: (c) => $e(t, o)
645
+ }, null, 44, ul))), 128)),
646
+ v(e.$slots, "svg", { svg: r.value }, void 0, !0)
647
+ ], 10, Ht)),
648
+ e.$slots.watermark ? (a(), n("div", cl, [
649
+ v(e.$slots, "watermark", w(C({ isPrinting: i(ge) || i(ye) })), void 0, !0)
650
+ ])) : g("", !0),
651
+ e.$slots.source ? (a(), n("div", {
652
+ key: 5,
653
+ ref_key: "source",
654
+ ref: re,
655
+ dir: "auto"
656
+ }, [
657
+ v(e.$slots, "source", {}, void 0, !0)
658
+ ], 512)) : g("", !0),
659
+ i(de) ? (a(), U(Dt, { key: 6 })) : g("", !0)
660
+ ], 44, qt));
661
+ }
662
+ }, vl = /* @__PURE__ */ Xt(dl, [["__scopeId", "data-v-f5e989f7"]]), Pl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
663
+ __proto__: null,
664
+ default: vl
665
+ }, Symbol.toStringTag, { value: "Module" }));
666
+ export {
667
+ Ll as a,
668
+ Pl as b,
669
+ vl as v
670
+ };