vue-data-ui 3.23.0 → 3.23.2

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 (206) hide show
  1. package/dist/{Arrow-o2qHNvrC.js → Arrow-CF0VFcBH.js} +1 -1
  2. package/dist/{BaseDraggableDialog-qTnfhLBz.js → BaseDraggableDialog-LoqqwRtV.js} +2 -2
  3. package/dist/{BaseIcon-91MZoczJ.js → BaseIcon-BfndwIWE.js} +1 -1
  4. package/dist/{BaseLegendToggle-CtAPwzr2.js → BaseLegendToggle-DZVucLnv.js} +1 -1
  5. package/dist/{BaseZoomControls-rdzlicuz.js → BaseZoomControls-BZvCnZEi.js} +2 -2
  6. package/dist/{ColorPicker-CIAkdPrj.js → ColorPicker--ayG2YHf.js} +2 -2
  7. package/dist/{DataTable-D4tM9s5Y.js → DataTable-BbKgJ5UI.js} +2 -2
  8. package/dist/{HillActions-BWhxHlrj.js → HillActions-BD9j_sOU.js} +1 -1
  9. package/dist/{Legend-CQTRlzK-.js → Legend-CQxUgOd-.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-Cawacw1W.js → NonSvgPenAndPaper-4ypecDg1.js} +6 -6
  11. package/dist/{PackageVersion--QCMh5k_.js → PackageVersion-DXU7nRr9.js} +1 -1
  12. package/dist/{PenAndPaper-cE4J8-rA.js → PenAndPaper-DAE-tnEQ.js} +6 -6
  13. package/dist/{Shape-BPMV94Ij.js → Shape-C21CMlWS.js} +1 -1
  14. package/dist/SlicerPreview-wUw1hFwe.js +1703 -0
  15. package/dist/{SparkTooltip-BaYtEKS6.js → SparkTooltip-CjsbIhzi.js} +1 -1
  16. package/dist/{Title-BODtwViI.js → Title-BE3qg9xl.js} +1 -1
  17. package/dist/{Tooltip-CMTGxeYO.js → Tooltip-DhjyfHwz.js} +2 -2
  18. package/dist/{UserOptions-3ujTo3LD.js → UserOptions-Dt98of5H.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-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-mini-loader.js +1 -1
  51. package/dist/components/vue-ui-molecule.js +1 -1
  52. package/dist/components/vue-ui-mood-radar.js +1 -1
  53. package/dist/components/vue-ui-nested-donuts.js +1 -1
  54. package/dist/components/vue-ui-onion.js +1 -1
  55. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  56. package/dist/components/vue-ui-quadrant.js +1 -1
  57. package/dist/components/vue-ui-quick-chart.js +1 -1
  58. package/dist/components/vue-ui-radar.js +1 -1
  59. package/dist/components/vue-ui-rating.js +1 -1
  60. package/dist/components/vue-ui-relation-circle.js +1 -1
  61. package/dist/components/vue-ui-ridgeline.js +1 -1
  62. package/dist/components/vue-ui-rings.js +1 -1
  63. package/dist/components/vue-ui-scatter.js +1 -1
  64. package/dist/components/vue-ui-skeleton.js +1 -1
  65. package/dist/components/vue-ui-smiley.js +1 -1
  66. package/dist/components/vue-ui-spark-trend.js +1 -1
  67. package/dist/components/vue-ui-sparkbar.js +1 -1
  68. package/dist/components/vue-ui-sparkgauge.js +1 -1
  69. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  70. package/dist/components/vue-ui-sparkline.js +1 -1
  71. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  72. package/dist/components/vue-ui-stackbar.js +1 -1
  73. package/dist/components/vue-ui-stackline.js +1 -1
  74. package/dist/components/vue-ui-strip-plot.js +1 -1
  75. package/dist/components/vue-ui-table-heatmap.js +1 -1
  76. package/dist/components/vue-ui-table-sparkline.js +1 -1
  77. package/dist/components/vue-ui-table.js +1 -1
  78. package/dist/components/vue-ui-thermometer.js +1 -1
  79. package/dist/components/vue-ui-timer.js +1 -1
  80. package/dist/components/vue-ui-tiremarks.js +1 -1
  81. package/dist/components/vue-ui-treemap.js +1 -1
  82. package/dist/components/vue-ui-vertical-bar.js +1 -1
  83. package/dist/components/vue-ui-waffle.js +1 -1
  84. package/dist/components/vue-ui-wheel.js +1 -1
  85. package/dist/components/vue-ui-word-cloud.js +1 -1
  86. package/dist/components/vue-ui-world.js +1 -1
  87. package/dist/components/vue-ui-xy-canvas.js +1 -1
  88. package/dist/components/vue-ui-xy.js +1 -1
  89. package/dist/composables.js +1 -1
  90. package/dist/{dom-to-png-4tdMNGPX.js → dom-to-png-BYIvdTe8.js} +1 -1
  91. package/dist/{exposedLib-DWLRqRhv.js → exposedLib-C0DPCgFj.js} +7 -4
  92. package/dist/{geoProjections-BCP_PoiB.js → geoProjections-CEo3dVaL.js} +1 -1
  93. package/dist/{img-DIQG5q8T.js → img-Bnokohej.js} +1 -1
  94. package/dist/{labelUtils-C5lnc_xc.js → labelUtils-BeVpDvTJ.js} +1 -1
  95. package/dist/{lib-BuMGJ_a0.js → lib-Bttd6u5E.js} +21 -11
  96. package/dist/{package-BMc_ZieJ.js → package-bsfpO6y3.js} +1 -1
  97. package/dist/{pdf-Cnz4NKM9.js → pdf-CVIDfCrS.js} +1 -1
  98. package/dist/{render-common-Ktg2LZFG.js → render-common-C0PEe9so.js} +2 -2
  99. package/dist/ssr/vue-ui-donut.js +1 -1
  100. package/dist/ssr/vue-ui-xy.js +1 -1
  101. package/dist/ssr.js +2 -2
  102. package/dist/style.css +1 -1
  103. package/dist/types/vue-data-ui.d.ts +9 -0
  104. package/dist/{useSvgExport-Ba9qBr9M.js → useChartExport-DNiwdPmb.js} +48 -2
  105. package/dist/{useConfig-BilxnBNr.js → useConfig-DlNpz6P8.js} +13 -1
  106. package/dist/{useNestedProp--NSEmhOH.js → useNestedProp-vPNvh7rV.js} +5 -3
  107. package/dist/{useObjectBindings-Cwq7NcQz.js → useObjectBindings-BeWS5v0i.js} +1 -1
  108. package/dist/{usePrinter-BFvi4jVy.js → usePrinter-DN5bYhTG.js} +2 -2
  109. package/dist/{useTimeLabels-B9CEuiLZ.js → useTimeLabels-d2f-W1L4.js} +2 -4
  110. package/dist/{useTooltipPosition-BsRysTrw.js → useTooltipPosition-DifeoeQW.js} +13 -13
  111. package/dist/utils.js +3 -3
  112. package/dist/{vue-data-ui-EsawKe_W.js → vue-data-ui-BNxtW8pK.js} +69 -69
  113. package/dist/vue-data-ui.js +74 -74
  114. package/dist/{vue-ui-3d-bar-RSUS2xpL.js → vue-ui-3d-bar-BYumVxZG.js} +147 -165
  115. package/dist/{vue-ui-accordion-61MlW-Ge.js → vue-ui-accordion-DegI2lzR.js} +4 -4
  116. package/dist/vue-ui-age-pyramid-tJx_hCsS.js +1241 -0
  117. package/dist/{vue-ui-annotator-DBRT85HG.js → vue-ui-annotator-DfG79D4r.js} +41 -68
  118. package/dist/vue-ui-bullet-DrWG4jRy.js +700 -0
  119. package/dist/{vue-ui-bump-Dvv3iSKr.js → vue-ui-bump-mKysp0KO.js} +222 -272
  120. package/dist/vue-ui-candlestick-PgKcBZdy.js +1837 -0
  121. package/dist/vue-ui-carousel-table-DRvycNBl.js +467 -0
  122. package/dist/{vue-ui-chestnut-ArloORzP.js → vue-ui-chestnut-Dpklo-VE.js} +311 -365
  123. package/dist/vue-ui-chord-7PPVH_iG.js +1345 -0
  124. package/dist/vue-ui-circle-pack-DW4Os6_8.js +1636 -0
  125. package/dist/{vue-ui-cursor-CxgE6Phh.js → vue-ui-cursor-DIt7vOwc.js} +4 -4
  126. package/dist/{vue-ui-dag-C9Sf9vH7.js → vue-ui-dag-Cl0WdSLb.js} +812 -840
  127. package/dist/{vue-ui-dashboard-bGmaglAj.js → vue-ui-dashboard-BwxRLR4E.js} +70 -70
  128. package/dist/{vue-ui-digits-DgDE-_Fn.js → vue-ui-digits-Bp1OH_t1.js} +5 -5
  129. package/dist/{vue-ui-donut-B_n6wF6B.js → vue-ui-donut-BZUT7QYt.js} +352 -377
  130. package/dist/vue-ui-donut-evolution-CQy3ZKXk.js +1549 -0
  131. package/dist/{vue-ui-donut-Bmo149AR.js → vue-ui-donut-y6tOAVyY.js} +18 -17
  132. package/dist/{vue-ui-dumbbell-BX4Ao_wR.js → vue-ui-dumbbell-BtKZcAOV.js} +370 -420
  133. package/dist/{vue-ui-flow-Bshw8pT_.js → vue-ui-flow-BF_cndsv.js} +191 -216
  134. package/dist/vue-ui-funnel-z3AeiDu6.js +750 -0
  135. package/dist/{vue-ui-galaxy-CvXgy-dy.js → vue-ui-galaxy-ClWaSOmM.js} +276 -302
  136. package/dist/vue-ui-gauge-CJstpakj.js +932 -0
  137. package/dist/{vue-ui-geo-C-gSZL2q.js → vue-ui-geo-B1tOD3HC.js} +398 -449
  138. package/dist/{vue-ui-gizmo-CJdxyPID.js → vue-ui-gizmo-foatosAv.js} +4 -4
  139. package/dist/{vue-ui-heatmap-DEEKv8ip.js → vue-ui-heatmap-By33A9dZ.js} +479 -502
  140. package/dist/{vue-ui-hill-D7LYAgAL.js → vue-ui-hill-ewqkK9s5.js} +570 -593
  141. package/dist/vue-ui-history-plot-FEIwXlsz.js +1698 -0
  142. package/dist/{vue-ui-horizontal-bar-CfFye5tL.js → vue-ui-horizontal-bar-D51sAeVu.js} +307 -332
  143. package/dist/{vue-ui-kpi-DCBnNfTb.js → vue-ui-kpi-y3EkgqJQ.js} +4 -4
  144. package/dist/{vue-ui-mini-loader-CtWpqnLW.js → vue-ui-mini-loader-CtTewZJG.js} +3 -3
  145. package/dist/vue-ui-molecule-paWHp18h.js +935 -0
  146. package/dist/{vue-ui-mood-radar-sl6DMxqR.js → vue-ui-mood-radar-wBRTZI5k.js} +341 -390
  147. package/dist/vue-ui-nested-donuts-CB-HOLo2.js +1503 -0
  148. package/dist/vue-ui-onion-B2Q2n55x.js +1233 -0
  149. package/dist/{vue-ui-parallel-coordinate-plot-DE9wTmQQ.js → vue-ui-parallel-coordinate-plot-GpkXiIZA.js} +189 -214
  150. package/dist/{vue-ui-quadrant-SaY_RPSE.js → vue-ui-quadrant-DOPuejDE.js} +254 -284
  151. package/dist/{vue-ui-quick-chart-CJ9rejnj.js → vue-ui-quick-chart-CgHX9njq.js} +108 -109
  152. package/dist/{vue-ui-radar-CaNen5Fj.js → vue-ui-radar-BLvG-_zE.js} +407 -434
  153. package/dist/{vue-ui-rating--K7rX2an.js → vue-ui-rating-BDVSVFA0.js} +10 -11
  154. package/dist/vue-ui-relation-circle-plOXwxJ5.js +903 -0
  155. package/dist/vue-ui-ridgeline-BbrnXvBo.js +1614 -0
  156. package/dist/{vue-ui-rings-BevKD8P-.js → vue-ui-rings-B3cKfMWy.js} +419 -444
  157. package/dist/vue-ui-scatter-BY7waF2T.js +2403 -0
  158. package/dist/{vue-ui-skeleton-B9ZP1w-i.js → vue-ui-skeleton-DwKxd7fk.js} +4 -4
  159. package/dist/{vue-ui-smiley-DYnqqk6u.js → vue-ui-smiley-5iHJeTPc.js} +64 -65
  160. package/dist/{vue-ui-spark-trend-R0ebpg-G.js → vue-ui-spark-trend-MpvrV5Wd.js} +11 -11
  161. package/dist/{vue-ui-sparkbar-DYC3By0v.js → vue-ui-sparkbar-s-2rBmEz.js} +97 -100
  162. package/dist/{vue-ui-sparkgauge-Bw6no-In.js → vue-ui-sparkgauge-B-BYVv4p.js} +4 -4
  163. package/dist/{vue-ui-sparkhistogram-DvRKy8rq.js → vue-ui-sparkhistogram-D7D4NHdi.js} +18 -19
  164. package/dist/{vue-ui-sparkline-Dz1uzBos.js → vue-ui-sparkline-RbeYtLWp.js} +11 -11
  165. package/dist/{vue-ui-sparkstackbar-DlnPdZih.js → vue-ui-sparkstackbar-ohN7mtbg.js} +194 -198
  166. package/dist/{vue-ui-stackbar-B-THcavY.js → vue-ui-stackbar-D2bpvQYt.js} +530 -552
  167. package/dist/{vue-ui-stackline-3dBPoI0h.js → vue-ui-stackline-Bo1oE8yq.js} +592 -614
  168. package/dist/vue-ui-strip-plot-CZ-C4a5x.js +1734 -0
  169. package/dist/vue-ui-table-3PPiJPV6.js +1352 -0
  170. package/dist/{vue-ui-table-heatmap-DVwMqzje.js → vue-ui-table-heatmap-D1bbPXKG.js} +56 -57
  171. package/dist/{vue-ui-table-sparkline-CABJzK8p.js → vue-ui-table-sparkline-l1cUX3ny.js} +13 -15
  172. package/dist/{vue-ui-thermometer-CVQ-H69Q.js → vue-ui-thermometer-DltAELO7.js} +240 -261
  173. package/dist/{vue-ui-timer-Bm8LpsnI.js → vue-ui-timer-DWNdx47q.js} +6 -6
  174. package/dist/vue-ui-tiremarks-GYhji_fa.js +538 -0
  175. package/dist/{vue-ui-treemap-DP0Sx8Y8.js → vue-ui-treemap-DjNlnOG5.js} +521 -547
  176. package/dist/vue-ui-waffle-BAA9EX6O.js +1386 -0
  177. package/dist/vue-ui-wheel-DrefGLos.js +871 -0
  178. package/dist/{vue-ui-word-cloud-B2sxtel9.js → vue-ui-word-cloud-CQZ8AyOi.js} +382 -405
  179. package/dist/{vue-ui-world-BBQZLnzm.js → vue-ui-world-Y7a3VEjq.js} +426 -451
  180. package/dist/{vue-ui-xy-DZj5DT-q.js → vue-ui-xy-CJcdttNL.js} +879 -905
  181. package/dist/{vue-ui-xy-ChZg7AtI.js → vue-ui-xy-DPxtkYGc.js} +329 -326
  182. package/dist/{vue-ui-xy-canvas-BN2u0bOJ.js → vue-ui-xy-canvas-1rbwMA1m.js} +30 -27
  183. package/package.json +4 -4
  184. package/dist/Slicer-5yIrdoJv.js +0 -1149
  185. package/dist/SlicerPreview-DvjLV2TW.js +0 -1689
  186. package/dist/vue-ui-age-pyramid-CgnPWA93.js +0 -1263
  187. package/dist/vue-ui-bullet-Bc3-WaN1.js +0 -724
  188. package/dist/vue-ui-candlestick-DvvsrIdp.js +0 -1864
  189. package/dist/vue-ui-carousel-table-DtsNVim8.js +0 -463
  190. package/dist/vue-ui-chord-xX5gWZy8.js +0 -1396
  191. package/dist/vue-ui-circle-pack-D8wykmqg.js +0 -1638
  192. package/dist/vue-ui-donut-evolution-D6vH_hfx.js +0 -1598
  193. package/dist/vue-ui-funnel-CjYosIik.js +0 -797
  194. package/dist/vue-ui-gauge-CByT0_vF.js +0 -953
  195. package/dist/vue-ui-history-plot-BhcU94Pt.js +0 -1722
  196. package/dist/vue-ui-molecule-D3igGyOy.js +0 -958
  197. package/dist/vue-ui-nested-donuts-aS4YzaB3.js +0 -1528
  198. package/dist/vue-ui-onion-EhPTZpW_.js +0 -1258
  199. package/dist/vue-ui-relation-circle-FLs8vOxQ.js +0 -925
  200. package/dist/vue-ui-ridgeline-Beg5hshN.js +0 -1663
  201. package/dist/vue-ui-scatter-CNA7jF-o.js +0 -2428
  202. package/dist/vue-ui-strip-plot-ACeYOoHj.js +0 -1757
  203. package/dist/vue-ui-table-rFy16bp0.js +0 -1347
  204. package/dist/vue-ui-tiremarks-DB3f5qiz.js +0 -559
  205. package/dist/vue-ui-waffle-iPpdk1Bm.js +0 -1412
  206. package/dist/vue-ui-wheel-BJkEYfLj.js +0 -892
@@ -0,0 +1,1345 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, D as n, Jt as r, K as i, Kt as a, Pt as o, S as s, X as c, Zt as l, i as ee, jt as te, pt as ne, q as re, r as ie, t as ae, tt as oe, w as se } from "./lib-Bttd6u5E.js";
3
+ import { n as ce } from "./useHints-Dq_w2E8B.js";
4
+ import { t as le } from "./useConfig-DlNpz6P8.js";
5
+ import { t as ue } from "./usePrinter-DN5bYhTG.js";
6
+ import { n as de, t as fe } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as pe } from "./useNestedProp-vPNvh7rV.js";
8
+ import { t as me } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as he } from "./useChartExport-DNiwdPmb.js";
10
+ import { t as ge } from "./img-Bnokohej.js";
11
+ import { n as _e } from "./Title-BE3qg9xl.js";
12
+ import { t as ve } from "./Shape-C21CMlWS.js";
13
+ import { t as ye } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as be, t as xe } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as Se } from "./A11yDataTable-DdRsVULz.js";
16
+ import { t as Ce } from "./useUserOptionState-DK-_1ddE.js";
17
+ import { t as we } from "./useChartAccessibility-DYqac8yF.js";
18
+ import { t as Te } from "./Legend-CQxUgOd-.js";
19
+ import { t as Ee } from "./vue_ui_chord-DPfS1Umc.js";
20
+ import { Fragment as u, Teleport as De, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as Oe, createTextVNode as ke, createVNode as Ae, defineAsyncComponent as g, guardReactiveProps as _, mergeProps as je, nextTick as Me, normalizeClass as v, normalizeProps as y, normalizeStyle as b, onBeforeUnmount as Ne, onMounted as Pe, openBlock as x, ref as S, renderList as C, renderSlot as w, resolveDynamicComponent as Fe, shallowRef as Ie, toDisplayString as T, toRefs as Le, unref as E, useCssVars as Re, watch as ze, withCtx as D, withModifiers as Be } from "vue";
21
+ //#region src/components/vue-ui-chord.vue
22
+ var Ve = /* @__PURE__ */ e({ default: () => yt }), He = ["id"], Ue = ["id"], We = ["id"], Ge = [
23
+ "xmlns",
24
+ "viewBox",
25
+ "aria-describedby"
26
+ ], Ke = ["width", "height"], qe = { key: 1 }, Je = ["id", "d"], Ye = { key: 2 }, Xe = ["transform"], Ze = [
27
+ "d",
28
+ "fill",
29
+ "stroke",
30
+ "stroke-width",
31
+ "onMouseenter",
32
+ "onMouseleave",
33
+ "onClick"
34
+ ], Qe = [
35
+ "d",
36
+ "fill",
37
+ "stroke",
38
+ "stroke-width"
39
+ ], $e = ["d", "fill"], et = [
40
+ "d",
41
+ "fill",
42
+ "stroke",
43
+ "stroke-width",
44
+ "onMouseenter",
45
+ "onClick",
46
+ "onMouseleave"
47
+ ], tt = [
48
+ "d",
49
+ "fill",
50
+ "stroke",
51
+ "stroke-width"
52
+ ], nt = [
53
+ "d",
54
+ "fill",
55
+ "stroke",
56
+ "stroke-width"
57
+ ], rt = [
58
+ "d",
59
+ "fill",
60
+ "stroke",
61
+ "stroke-width"
62
+ ], it = { key: 0 }, at = [
63
+ "x1",
64
+ "y1",
65
+ "x2",
66
+ "y2",
67
+ "stroke",
68
+ "stroke-width"
69
+ ], ot = [
70
+ "x1",
71
+ "y1",
72
+ "x2",
73
+ "y2",
74
+ "stroke",
75
+ "stroke-width"
76
+ ], st = [
77
+ "cx",
78
+ "cy",
79
+ "r",
80
+ "stroke",
81
+ "stroke-width",
82
+ "fill"
83
+ ], ct = [
84
+ "transform",
85
+ "fill",
86
+ "text-anchor",
87
+ "font-size",
88
+ "font-weight"
89
+ ], lt = { key: 1 }, ut = [
90
+ "font-size",
91
+ "font-weight",
92
+ "fill"
93
+ ], dt = ["href"], ft = [
94
+ "transform",
95
+ "text-anchor",
96
+ "font-size",
97
+ "font-weight",
98
+ "fill",
99
+ "innerHTML"
100
+ ], pt = {
101
+ key: 5,
102
+ style: {
103
+ position: "absolute",
104
+ top: "100%",
105
+ left: "0",
106
+ width: "100%"
107
+ },
108
+ "data-dom-to-png-ignore": "",
109
+ "aria-hidden": "true"
110
+ }, mt = {
111
+ key: 6,
112
+ class: "vue-data-ui-watermark"
113
+ }, ht = ["id"], gt = ["onClick"], _t = {
114
+ key: 9,
115
+ "data-dom-to-png-ignore": "",
116
+ class: "reset-wrapper"
117
+ }, vt = { style: {
118
+ "text-align": "right",
119
+ width: "100%"
120
+ } }, yt = /*#__PURE__*/ ye({
121
+ __name: "vue-ui-chord",
122
+ props: {
123
+ dataset: {
124
+ type: Object,
125
+ default() {
126
+ return {};
127
+ }
128
+ },
129
+ config: {
130
+ type: Object,
131
+ default() {
132
+ return {};
133
+ }
134
+ }
135
+ },
136
+ emits: [
137
+ "selectLegend",
138
+ "selectGroup",
139
+ "selectRibbon",
140
+ "copyAlt"
141
+ ],
142
+ setup(e, { expose: ye, emit: Ve }) {
143
+ Re((e) => ({ bdd35a12: e.slicerColor }));
144
+ let yt = g(() => import("./vue-ui-accordion-DegI2lzR.js").then((e) => e.n)), bt = g(() => import("./BaseIcon-BfndwIWE.js").then((e) => e.n)), xt = g(() => import("./DataTable-BbKgJ5UI.js")), St = g(() => import("./PackageVersion-DXU7nRr9.js").then((e) => e.t)), Ct = g(() => import("./PenAndPaper-DAE-tnEQ.js").then((e) => e.t)), wt = g(() => import("./UserOptions-Dt98of5H.js").then((e) => e.n)), Tt = g(() => import("./BaseDraggableDialog-LoqqwRtV.js").then((e) => e.n)), { vue_ui_chord: Et } = le(), { isThemeValid: Dt, warnInvalidTheme: Ot } = me(), O = e, kt = Ve, k = S(!!O.dataset && Object.hasOwn(O.dataset, "matrix")), A = S(re()), j = S(null), M = S(null), N = S(null), At = S(0), P = S(null), jt = S(null), Mt = S(null), Nt = S(null), Pt = S(null), Ft = S(0), It = S(0), Lt = S(0), Rt = S(!1), F = Ie(null), I = Ie(null), zt = S(!1), Bt = S(null), Vt = S(null), L = S("group"), R = S(null), Ht = S(!1), z = S($t());
145
+ ce({
146
+ config: () => z.value,
147
+ dataset: () => O.dataset,
148
+ component: "VueUiChord",
149
+ rules: [{
150
+ test: (e) => e.matrix && e.matrix.length > 12,
151
+ message: [
152
+ "👀 The number of groups > 12, the chart might become hard to read. Consider:",
153
+ "",
154
+ "▶️ Using broader groups to reduce their number."
155
+ ]
156
+ }]
157
+ });
158
+ let B = d(() => z.value.userOptions.useCursorPointer), Ut = d(() => r({
159
+ defaultConfig: {
160
+ useCssAnimation: !1,
161
+ userOptions: { show: !1 },
162
+ table: { show: !1 },
163
+ style: { chart: {
164
+ backgroundColor: "#99999930",
165
+ legend: { backgroundColor: "transparent" },
166
+ arcs: {
167
+ stroke: "#6A6A6A",
168
+ labels: { show: !1 }
169
+ },
170
+ ribbons: {
171
+ stroke: "#6A6A6A",
172
+ underlayerOpacity: 0,
173
+ labels: { show: !1 }
174
+ }
175
+ } }
176
+ },
177
+ userConfig: z.value.skeletonConfig ?? {}
178
+ })), { loading: Wt, FINAL_DATASET: V, manualLoading: Gt } = de({
179
+ ...Le(O),
180
+ FINAL_CONFIG: z,
181
+ prepareConfig: $t,
182
+ callback: () => {
183
+ Promise.resolve().then(async () => {
184
+ await Me(), U.value.showTable = z.value.table.show;
185
+ });
186
+ },
187
+ skeletonDataset: O.config?.skeletonDataset ?? {
188
+ matrix: [
189
+ [
190
+ 12e3,
191
+ 6e3,
192
+ 9e3,
193
+ 3e3
194
+ ],
195
+ [
196
+ 2e3,
197
+ 1e4,
198
+ 2e3,
199
+ 6001
200
+ ],
201
+ [
202
+ 8e3,
203
+ 1600,
204
+ 8e3,
205
+ 8001
206
+ ],
207
+ [
208
+ 1e3,
209
+ 1e3,
210
+ 1e3,
211
+ 7001
212
+ ]
213
+ ],
214
+ labels: [],
215
+ colors: [
216
+ "#DBDBDB",
217
+ "#C4C4C4",
218
+ "#ADADAD",
219
+ "#969696"
220
+ ]
221
+ },
222
+ skeletonConfig: r({
223
+ defaultConfig: z.value,
224
+ userConfig: Ut.value
225
+ })
226
+ }), { userOptionsVisible: Kt, setUserOptionsVisibility: qt, keepUserOptionState: Jt } = Ce({ config: z.value }), { svgRef: H } = we({ config: z.value.style.chart.title }), { isPrinting: Yt, isImaging: Xt, generatePdf: Zt, generateImage: Qt } = ue({
227
+ elementId: `chord_${A.value}`,
228
+ fileName: z.value.style.chart.title.text || "vue-ui-chord",
229
+ options: z.value.userOptions.print
230
+ }), U = S({ showTable: z.value.table.show });
231
+ function $t() {
232
+ let e = pe({
233
+ userConfig: O.config,
234
+ defaultConfig: Et
235
+ }), t = e.theme;
236
+ if (!t) return e;
237
+ if (!Dt.value(e)) return Ot(e), e;
238
+ let n = pe({
239
+ userConfig: Ee[t] || O.config,
240
+ defaultConfig: e
241
+ }), r = pe({
242
+ userConfig: O.config,
243
+ defaultConfig: n
244
+ });
245
+ return {
246
+ ...r,
247
+ customPalette: r.customPalette.length ? r.customPalette : a[t] || o
248
+ };
249
+ }
250
+ ze(() => O.config, (e) => {
251
+ Wt.value || (z.value = $t()), Kt.value = !z.value.userOptions.showOnChartHover, tn(), Ft.value += 1, It.value += 1, Lt.value += 1, Y.value = z.value.initialRotation, U.value.showTable = z.value.table.show;
252
+ }, { deep: !0 });
253
+ let W = d(() => z.value.debug);
254
+ ze(() => O.dataset, () => {
255
+ en(), tn(), Ft.value += 1, It.value += 1, Lt.value += 1;
256
+ });
257
+ function en() {
258
+ if (te(O.dataset)) {
259
+ oe({
260
+ componentName: "VueUiChord",
261
+ type: "dataset",
262
+ debug: W.value
263
+ }), k.value = !1, Gt.value = !0;
264
+ return;
265
+ }
266
+ let e = ne({
267
+ datasetObject: O.dataset,
268
+ requiredAttributes: ["matrix"]
269
+ });
270
+ if (e.length) {
271
+ W.value && e.forEach((e) => {
272
+ oe({
273
+ componentName: "VueUiChord",
274
+ type: "datasetAttribute",
275
+ property: e
276
+ });
277
+ }), k.value = !1, Gt.value = !0;
278
+ return;
279
+ }
280
+ let t = O.dataset.matrix;
281
+ if (!Array.isArray(t) || t.length < 2) {
282
+ W.value && console.warn("VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:\n \nmatrix:[\n [1, 1],\n [1, 1]\n]"), k.value = !1, Gt.value = !0;
283
+ return;
284
+ }
285
+ let n = t.length, r = t.findIndex((e) => !Array.isArray(e) || e.length !== n);
286
+ if (r !== -1) {
287
+ W.value && console.warn(`VueUiChord - Invalid matrix: dataset.matrix at index ${r} has ${Array.isArray(t[r]) ? t[r].length : "NaN"} elements instead of the required ${n}
288
+
289
+ dataset.matrix[${r}] = [${Array.isArray(t[r]) ? t[r].toString() : "invalid"}]`), k.value = !1, Gt.value = !0;
290
+ return;
291
+ }
292
+ k.value = !0, Gt.value = !1;
293
+ }
294
+ function tn() {
295
+ if (en(), z.value.responsive) {
296
+ let e = be(() => {
297
+ let { width: e, height: t, heightNoTitle: n, heightSource: r, heightTitle: i, heightLegend: a } = xe({
298
+ chart: P.value,
299
+ title: z.value.style.chart.title.text ? jt.value : null,
300
+ legend: z.value.style.chart.legend.show ? Mt.value : null,
301
+ source: Nt.value,
302
+ noTitle: Pt.value
303
+ }), o = i + a + r + n;
304
+ e < t ? P.value.style.width = "100%" : (P.value.style.height = "100%", H.value.style.height = `calc(100% - ${o}px)`);
305
+ }, 100);
306
+ F.value && (I.value && F.value.unobserve(I.value), F.value.disconnect()), F.value = new ResizeObserver(e), I.value = P.value.parentNode, F.value.observe(I.value), e();
307
+ }
308
+ rn.value = setTimeout(() => {
309
+ Rt.value = !0;
310
+ }, 500);
311
+ }
312
+ function nn() {
313
+ if (!V.value || !Object.hasOwn(V.value, "matrix") || V.value.matrix.length < 2) {
314
+ W.value && console.warn("VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:\n\nmatrix:[\n [1, 1],\n [1, 1]\n]"), k.value = !1;
315
+ return;
316
+ }
317
+ V.value.matrix.forEach((e, t) => {
318
+ e.length !== V.value.matrix.length && (W.value && console.warn(`VueUiChord - Invalid matrix: dataset.matrix at index ${t} has ${e.length} elements instead of the required ${V.value.matrix.length}\n\ndataset.matrix[${t}] = [${e.toString()}] has a length of ${e.length} but should have the same length as the matrix itself (${V.value.matrix.length})`), k.value = !1);
319
+ });
320
+ }
321
+ let rn = S(null);
322
+ Pe(() => {
323
+ zt.value = !0, tn();
324
+ });
325
+ let G = S({
326
+ height: 600,
327
+ width: 600
328
+ }), an = d(() => z.value.userOptions.show && !z.value.style.chart.title.text), on = d(() => se(z.value.customPalette)), K = d(() => ({
329
+ inner: G.value.width * .3 * z.value.style.chart.arcs.innerRadiusRatio,
330
+ outer: G.value.width * .34 * z.value.style.chart.arcs.outerRadiusRatio
331
+ })), sn = d(() => z.value.style.chart.arcs.padAngle / 100), q = d(() => ({
332
+ matrix: V.value.matrix ?? [[0]],
333
+ labels: V.value.labels ?? [""],
334
+ colors: V.value.colors && Array.isArray(V.value.colors) && V.value.colors.length ? V.value.colors.map((e) => s(e)) : V.value.matrix.map((e, t) => on.value[t] || o[t] || o[t % o.length])
335
+ }));
336
+ function cn(e, t) {
337
+ let n = e.length, r = K.value.inner, i = Array(n).fill(0), a = 0;
338
+ for (let t = 0; t < n; t += 1) for (let r = 0; r < n; r += 1) i[t] += e[t][r], a += e[t][r];
339
+ let o = (2 * Math.PI - t * n) / a, s = [], c = 0;
340
+ for (let e = 0; e < n; e += 1) {
341
+ let n = c, r = n + i[e] * o;
342
+ s.push({
343
+ index: e,
344
+ pattern: `pattern_${A.value}_${e}`,
345
+ startAngle: n,
346
+ endAngle: r,
347
+ name: q.value.labels[e],
348
+ id: re(),
349
+ color: q.value.colors[e],
350
+ proportion: i[e] / a
351
+ }), c = r + t;
352
+ }
353
+ let l = [];
354
+ for (let t = 0; t < n; t += 1) {
355
+ let n = e[t].map((e, t) => ({
356
+ j: t,
357
+ v: e
358
+ }));
359
+ n.sort((e, t) => t.v - e.v);
360
+ let i = s[t].startAngle;
361
+ for (let { j: e, v: a } of n) {
362
+ let n = i, c = n + a * o;
363
+ l.push({
364
+ index: t,
365
+ subIndex: e,
366
+ pattern: `pattern_${A.value}_${t}`,
367
+ startAngle: n,
368
+ endAngle: c,
369
+ value: a,
370
+ groupName: q.value.labels[t],
371
+ groupId: s[t].id,
372
+ groupColor: q.value.colors[t],
373
+ midAngle: (n + c) / 2,
374
+ midBaseX: Math.cos((n + c) / 2 - Math.PI / 2) * r,
375
+ midBaseY: Math.sin((n + c) / 2 - Math.PI / 2) * r
376
+ }), i = c;
377
+ }
378
+ }
379
+ let ee = [];
380
+ for (let e of l) {
381
+ let t = l.find((t) => t.index === e.subIndex && t.subIndex === e.index);
382
+ ee.push({
383
+ source: e,
384
+ target: t,
385
+ id: re()
386
+ });
387
+ }
388
+ return {
389
+ groups: s,
390
+ chords: ee
391
+ };
392
+ }
393
+ let J = d(() => {
394
+ let e = cn(q.value.matrix, sn.value);
395
+ return nn(), e.chords.sort((e, t) => Math.max(t.source.value, t.target.value) - Math.max(e.source.value, e.target.value)), e;
396
+ }), ln = d(() => {
397
+ let e = K.value.outer + z.value.style.chart.ribbons.labels.offset + 12, t = z.value.style.chart.ribbons.labels.fontSize * .6, n = [];
398
+ if (M.value) {
399
+ let r = M.value;
400
+ if (r.source.value) {
401
+ let i = String(r.source.value);
402
+ n.push({
403
+ id: r.id + "-src",
404
+ theta: r.source.midAngle,
405
+ w: i.length * t / e,
406
+ midBaseX: r.source.midBaseX,
407
+ midBaseY: r.source.midBaseY,
408
+ groupColor: r.source.groupColor,
409
+ value: r.source.value
410
+ });
411
+ }
412
+ if (r.target && r.target.value && r.target.value !== r.source.value) {
413
+ let i = String(r.target.value);
414
+ n.push({
415
+ id: r.id + "-tgt",
416
+ theta: r.target.midAngle,
417
+ w: i.length * t / e,
418
+ midBaseX: r.target.midBaseX,
419
+ midBaseY: r.target.midBaseY,
420
+ groupColor: r.target.groupColor,
421
+ value: r.target.value
422
+ });
423
+ }
424
+ return n;
425
+ }
426
+ function r(r) {
427
+ J.value.chords.filter((e) => e.source.groupId === r && e.source.value).forEach((r) => {
428
+ {
429
+ let i = String(r.source.value);
430
+ n.push({
431
+ id: r.id + "-src",
432
+ theta: r.source.midAngle,
433
+ w: i.length * t / e,
434
+ midBaseX: r.source.midBaseX,
435
+ midBaseY: r.source.midBaseY,
436
+ groupColor: r.source.groupColor,
437
+ value: r.source.value
438
+ });
439
+ }
440
+ if (r.target && r.target.value && r.target.value !== r.source.value) {
441
+ let i = String(r.target.value);
442
+ n.push({
443
+ id: r.id + "-tgt",
444
+ theta: r.target.midAngle,
445
+ w: i.length * t / e,
446
+ midBaseX: r.target.midBaseX,
447
+ midBaseY: r.target.midBaseY,
448
+ groupColor: r.target.groupColor,
449
+ value: r.target.value
450
+ });
451
+ }
452
+ });
453
+ }
454
+ return N.value && r(N.value), j.value && r(j.value.id), n;
455
+ }), un = d(() => {
456
+ let e = ln.value.map((e) => ({ ...e })).sort((e, t) => e.theta - t.theta), t = z.value.style.chart.ribbons.labels.minSeparationDeg * Math.PI / 180, n = !0, r = 0;
457
+ for (; n && r++ < 10;) {
458
+ n = !1;
459
+ for (let r = 1; r < e.length; r += 1) {
460
+ let i = e[r - 1], a = e[r], o = i.theta + i.w + t;
461
+ a.theta < o && (a.theta = o, n = !0);
462
+ }
463
+ let r = e[0], i = e[e.length - 1], a = i.theta + i.w + t - 2 * Math.PI;
464
+ r.theta < a && (r.theta = a, n = !0);
465
+ }
466
+ return e;
467
+ });
468
+ function dn(e, t, n, r) {
469
+ let i = e - Math.PI / 2, a = t - Math.PI / 2, o = Math.cos(i) * n, s = Math.sin(i) * n, c = Math.cos(a) * n, l = Math.sin(a) * n, ee = Math.cos(a) * r, te = Math.sin(a) * r, ne = Math.cos(i) * r, re = Math.sin(i) * r, ie = +(t - e > Math.PI);
470
+ return `M${o},${s} A${n},${n} 0 ${ie} 1 ${c},${l} L${ee},${te} A${r},${r} 0 ${ie} 0 ${ne},${re} Z`;
471
+ }
472
+ function fn(e, t) {
473
+ let n = K.value.inner, r = e.startAngle - Math.PI / 2, i = e.endAngle - Math.PI / 2, a = t.startAngle - Math.PI / 2, o = t.endAngle - Math.PI / 2, s = Math.cos(r) * n, c = Math.sin(r) * n, l = Math.cos(i) * n, ee = Math.sin(i) * n, te = Math.cos(a) * n, ne = Math.sin(a) * n, re = Math.cos(o) * n, ie = Math.sin(o) * n;
474
+ return `M${s},${c}A${n},${n} 0 ${+(e.endAngle - e.startAngle > Math.PI)} 1 ${l},${ee}Q0,0 ${te},${ne}A${n},${n} 0 ${+(t.endAngle - t.startAngle > Math.PI)} 1 ${re},${ie}Q0,0 ${s},${c}Z`;
475
+ }
476
+ let pn = d(() => Y.value * Math.PI / 180);
477
+ function mn(e) {
478
+ return (e.startAngle + e.endAngle) / 2;
479
+ }
480
+ function hn(e) {
481
+ return ((mn(e) + pn.value) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI);
482
+ }
483
+ function gn(e) {
484
+ let t = e + pn.value;
485
+ return t = (t % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI), t > Math.PI ? "end" : "start";
486
+ }
487
+ function _n(e) {
488
+ let t = e - Math.PI / 2;
489
+ return `translate(${Math.cos(t) * (K.value.outer + z.value.style.chart.arcs.labels.offset + 24)},${Math.sin(t) * (K.value.outer + z.value.style.chart.arcs.labels.offset + 24)})`;
490
+ }
491
+ function vn(e, t, n) {
492
+ let r = e - Math.PI / 2, i = t - Math.PI / 2, a = Math.cos(r) * n, o = Math.sin(r) * n, s = Math.cos(i) * n, c = Math.sin(i) * n;
493
+ return `M${a},${o} A${n},${n} 0 ${+(t - e > Math.PI)} 1 ${s},${c}`;
494
+ }
495
+ let Y = S(z.value.initialRotation), yn = S(!1), bn = 0, xn = 0;
496
+ function Sn(e) {
497
+ let t = H.value.getBoundingClientRect(), n = t.left + t.width / 2, r = t.top + t.height / 2, i = e.clientX ?? e.touches[0].clientX, a = e.clientY ?? e.touches[0].clientY;
498
+ return Math.atan2(a - r, i - n);
499
+ }
500
+ function Cn(e) {
501
+ !z.value.enableRotation || X.value || (e.preventDefault(), yn.value = !0, bn = Y.value, xn = Sn(e));
502
+ }
503
+ function wn(e) {
504
+ if (!yn.value) return;
505
+ let t = Sn(e);
506
+ Y.value = bn + (t - xn) * 180 / Math.PI;
507
+ }
508
+ function Tn() {
509
+ yn.value = !1;
510
+ }
511
+ function En(e) {
512
+ return ee(z.value.style.chart.ribbons.labels.formatter, e, c({
513
+ p: z.value.style.chart.ribbons.labels.prefix,
514
+ v: e,
515
+ s: z.value.style.chart.ribbons.labels.suffix,
516
+ r: z.value.style.chart.ribbons.labels.rounding
517
+ }));
518
+ }
519
+ Pe(() => {
520
+ window.addEventListener("mousemove", wn), window.addEventListener("mouseup", Tn), window.addEventListener("touchmove", wn, { passive: !1 }), window.addEventListener("touchend", Tn);
521
+ }), Ne(() => {
522
+ window.removeEventListener("mousemove", wn), window.removeEventListener("mouseup", Tn), window.removeEventListener("touchmove", wn), window.removeEventListener("touchend", Tn), clearTimeout(rn.value), F.value && (I.value && F.value.unobserve(I.value), F.value.disconnect());
523
+ });
524
+ let Dn = S(!1);
525
+ function On(e) {
526
+ Dn.value = e, At.value += 1;
527
+ }
528
+ function kn(e, t) {
529
+ z.value.events.datapointEnter && z.value.events.datapointEnter({
530
+ datapoint: e,
531
+ seriesIndex: t
532
+ }), !N.value && (j.value = e);
533
+ }
534
+ function An(e, t) {
535
+ j.value = null, z.value.events.datapointLeave && z.value.events.datapointLeave({
536
+ datapoint: e,
537
+ seriesIndex: t
538
+ });
539
+ }
540
+ function jn(e, t) {
541
+ kt("selectGroup", e), z.value.events.datapointClick && z.value.events.datapointClick({
542
+ datapoint: e,
543
+ seriesIndex: t
544
+ });
545
+ }
546
+ function Mn(e, t) {
547
+ z.value.events.datapointEnter && z.value.events.datapointEnter({
548
+ datapoint: e,
549
+ seriesIndex: t
550
+ }), !N.value && (M.value = e);
551
+ }
552
+ function Nn(e, t) {
553
+ M.value = null, z.value.events.datapointLeave && z.value.events.datapointLeave({
554
+ datapoint: e,
555
+ seriesIndex: t
556
+ });
557
+ }
558
+ function Pn(e, t) {
559
+ kt("selectRibbon", e), z.value.events.datapointClick && z.value.events.datapointClick({
560
+ datapoint: e,
561
+ seriesIndex: t
562
+ });
563
+ }
564
+ function Fn(e) {
565
+ return !N.value && !j.value && !M.value ? .8 : (N.value ? N.value === e.source.groupId : j.value ? j.value.id === e.source.groupId : M.value?.id === e.id) ? 1 : .1;
566
+ }
567
+ function In(e) {
568
+ return !N.value && !j.value && !M.value || (N.value ? N.value === e.id : j.value ? j.value.id === e.id : [M.value?.source.groupId, M.value?.target.groupId].includes(e.id)) ? 1 : .3;
569
+ }
570
+ let X = S(!1);
571
+ function Ln() {
572
+ X.value = !X.value;
573
+ }
574
+ function Rn() {
575
+ U.value.showTable = !U.value.showTable;
576
+ }
577
+ function zn() {
578
+ return J.value;
579
+ }
580
+ let Z = S(null);
581
+ function Bn() {
582
+ let e = z.value.initialRotation;
583
+ Z.value !== null && cancelAnimationFrame(Z.value);
584
+ let t = () => {
585
+ Y.value += (e - Y.value) * .05, Math.abs(Y.value - e) < .1 ? (Y.value = e, Z.value = null) : Z.value = requestAnimationFrame(t);
586
+ };
587
+ Z.value = requestAnimationFrame(t);
588
+ }
589
+ Ne(() => {
590
+ Z.value !== null && cancelAnimationFrame(Z.value);
591
+ });
592
+ function Vn(e) {
593
+ e === N.value ? (N.value = null, kt("selectLegend", null)) : (N.value = e, kt("selectLegend", J.value.groups.find((t) => t.id === e)));
594
+ }
595
+ let Hn = d(() => J.value.groups.map((e, t) => ({
596
+ name: e.name,
597
+ color: e.color,
598
+ shape: "circle",
599
+ patternIndex: t,
600
+ pattern: `pattern_${A.value}_${t}`,
601
+ id: e.id,
602
+ select: () => Vn(e.id),
603
+ opacity: N.value ? N.value === e.id ? 1 : .3 : 1
604
+ }))), Un = d(() => ({
605
+ cy: "chord-div-legend",
606
+ backgroundColor: z.value.style.chart.legend.backgroundColor,
607
+ color: z.value.style.chart.legend.color,
608
+ fontSize: z.value.style.chart.legend.fontSize,
609
+ paddingBottom: 12,
610
+ fontWeight: z.value.style.chart.legend.bold ? "bold" : ""
611
+ })), Q = d(() => ({
612
+ head: J.value.groups.map((e, t) => ({
613
+ name: e.name || t,
614
+ color: e.color
615
+ })),
616
+ body: q.value.matrix
617
+ })), Wn = d(() => {
618
+ let e = [{
619
+ name: "",
620
+ color: null
621
+ }, ...Q.value.head];
622
+ return {
623
+ colNames: e,
624
+ head: e,
625
+ body: Q.value.body.map((e, t) => [Q.value.head[t], ...Q.value.body[t]]),
626
+ config: {
627
+ th: {
628
+ backgroundColor: z.value.table.th.backgroundColor,
629
+ color: z.value.table.th.color,
630
+ outline: z.value.table.th.outline
631
+ },
632
+ td: {
633
+ backgroundColor: z.value.table.td.backgroundColor,
634
+ color: z.value.table.td.color,
635
+ outline: z.value.table.td.outline
636
+ },
637
+ breakpoint: z.value.table.responsiveBreakpoint
638
+ }
639
+ };
640
+ });
641
+ function Gn(e = null) {
642
+ Me(() => {
643
+ let r = q.value.matrix.map((e, t) => [[q.value.labels[t] || t], e]), i = [
644
+ [z.value.style.chart.title.text],
645
+ [z.value.style.chart.title.subtitle.text],
646
+ [[""], ...q.value.labels.map((e, t) => [e || t])]
647
+ ].concat(r), a = n(i);
648
+ e ? e(a) : t({
649
+ csvContent: a,
650
+ title: z.value.style.chart.title.text || "vue-ui-chord"
651
+ });
652
+ });
653
+ }
654
+ async function Kn({ scale: e = 2 } = {}) {
655
+ if (!P.value) return;
656
+ let { width: t, height: n } = P.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ge({
657
+ domElement: P.value,
658
+ base64: !0,
659
+ img: !0,
660
+ scale: e
661
+ });
662
+ return {
663
+ imageUri: i,
664
+ base64: a,
665
+ title: z.value.style.chart.title.text,
666
+ width: t,
667
+ height: n,
668
+ aspectRatio: r
669
+ };
670
+ }
671
+ function qn(e, t) {
672
+ return `${q.value.labels[t]}${z.value.style.chart.arcs.labels.showPercentage ? c({
673
+ p: " (",
674
+ v: isNaN(e.proportion) ? 0 : e.proportion * 100,
675
+ s: "%)",
676
+ r: z.value.style.chart.arcs.labels.roundingPercentage
677
+ }) : ""}`;
678
+ }
679
+ let Jn = d(() => {
680
+ let e = z.value.table.useDialog && !z.value.table.show, t = U.value.showTable;
681
+ return {
682
+ component: e ? Tt : yt,
683
+ title: `${z.value.style.chart.title.text}${z.value.style.chart.title.subtitle.text ? `: ${z.value.style.chart.title.subtitle.text}` : ""}`,
684
+ props: e ? {
685
+ backgroundColor: z.value.table.th.backgroundColor,
686
+ color: z.value.table.th.color,
687
+ headerColor: z.value.table.th.color,
688
+ headerBg: z.value.table.th.backgroundColor,
689
+ isFullscreen: Dn.value,
690
+ fullscreenParent: P.value,
691
+ forcedWidth: Math.min(800, window.innerWidth * .8),
692
+ isCursorPointer: B.value
693
+ } : {
694
+ hideDetails: !0,
695
+ config: {
696
+ open: t,
697
+ maxHeight: 1e4,
698
+ body: {
699
+ backgroundColor: z.value.style.chart.backgroundColor,
700
+ color: z.value.style.chart.color
701
+ },
702
+ head: {
703
+ backgroundColor: z.value.style.chart.backgroundColor,
704
+ color: z.value.style.chart.color
705
+ }
706
+ }
707
+ }
708
+ };
709
+ });
710
+ ze(() => U.value.showTable, (e) => {
711
+ z.value.table.show || (e && z.value.table.useDialog && Bt.value ? Bt.value.open() : "close" in Bt.value && Bt.value.close());
712
+ });
713
+ function Yn() {
714
+ U.value.showTable = !1, Vt.value && Vt.value.setTableIconState(!1);
715
+ }
716
+ let Xn = d(() => z.value.style.chart.backgroundColor), Zn = d(() => z.value.style.chart.legend), Qn = d(() => z.value.style.chart.title), { isCallbackImaging: $n, isCallbackSvg: er, generateSvg: tr, onGenerateImage: nr } = he({
717
+ svg: H,
718
+ title: Qn,
719
+ legend: Zn,
720
+ legendItems: Hn,
721
+ backgroundColor: Xn,
722
+ getSvgCallback: () => z.value.userOptions.callbacks.svg,
723
+ generateImage: Qt
724
+ });
725
+ async function rr() {
726
+ if (kt("copyAlt", {
727
+ config: z.value,
728
+ dataset: q.value
729
+ }), !z.value.userOptions.callbacks.altCopy) {
730
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
731
+ return;
732
+ }
733
+ await Promise.resolve(z.value.userOptions.callbacks.altCopy({
734
+ config: z.value,
735
+ dataset: q.value
736
+ }));
737
+ }
738
+ let ir = d(() => (j.value ? J.value.chords.filter((e) => e.source.groupId === j.value.id) : N.value ? J.value.chords.filter((e) => e.source.groupId === N.value) : J.value.chords).filter((e) => e.source.value)), $ = d(() => ({
739
+ groups: J.value.groups.map((e, t) => ({
740
+ type: "group",
741
+ index: t,
742
+ item: e
743
+ })),
744
+ ribbons: ir.value.map((e, t) => ({
745
+ type: "ribbon",
746
+ index: t,
747
+ item: {
748
+ ...e,
749
+ path: fn(e.source, e.target),
750
+ color: q.value.colors[e.source.index]
751
+ }
752
+ }))
753
+ })), ar = d(() => ({
754
+ headers: ["", ...Q.value.head.map((e) => e.name)],
755
+ rows: Q.value.body.map((e, t) => [Q.value.head[t]?.name ?? `${t}`, ...e.map((e) => En(e))])
756
+ }));
757
+ function or(e) {
758
+ let t = $.value.groups[e];
759
+ t && (L.value = "group", R.value = e, M.value = null, j.value = t.item);
760
+ }
761
+ function sr(e) {
762
+ let t = $.value.ribbons[e];
763
+ t && (L.value = "ribbon", R.value = e, j.value = null, M.value = t.item);
764
+ }
765
+ function cr() {
766
+ R.value = null, L.value = "group", j.value = null, M.value = null;
767
+ }
768
+ function lr() {
769
+ Ht.value = !0, L.value = "group", R.value = null;
770
+ }
771
+ function ur() {
772
+ Ht.value = !1, cr();
773
+ }
774
+ function dr(e) {
775
+ if (!H.value || X.value || document.activeElement !== H.value) return;
776
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "ArrowUp", i = e.key === "ArrowDown", a = e.key === "Enter" || e.key === " ", o = e.key === "Escape";
777
+ if (!t && !n && !r && !i && !a && !o) return;
778
+ if (e.preventDefault(), e.stopPropagation(), o) {
779
+ cr();
780
+ return;
781
+ }
782
+ if (r) {
783
+ L.value = "group", $.value.groups.length && or(R.value === null ? 0 : Math.min(R.value, $.value.groups.length - 1));
784
+ return;
785
+ }
786
+ if (i) {
787
+ if (!$.value.ribbons.length) return;
788
+ L.value = "ribbon", sr(R.value === null ? 0 : Math.min(R.value, $.value.ribbons.length - 1));
789
+ return;
790
+ }
791
+ if (a) {
792
+ if (L.value === "group") {
793
+ let e = $.value.groups[R.value];
794
+ e && jn(e.item, e.index);
795
+ } else {
796
+ let e = $.value.ribbons[R.value];
797
+ e && Pn(e.item, e.index);
798
+ }
799
+ return;
800
+ }
801
+ let s = L.value === "group" ? $.value.groups : $.value.ribbons;
802
+ if (!s.length) return;
803
+ let c = R.value;
804
+ c === null || c < 0 || c >= s.length ? c = n ? 0 : s.length - 1 : n ? (c += 1, c >= s.length && (c = 0)) : t && (--c, c < 0 && (c = s.length - 1)), L.value === "group" ? or(c) : sr(c);
805
+ }
806
+ return ye({
807
+ getData: zn,
808
+ getImage: Kn,
809
+ generateCsv: Gn,
810
+ generateImage: Qt,
811
+ generateSvg: tr,
812
+ generatePdf: Zt,
813
+ toggleAnnotator: Ln,
814
+ toggleTable: Rn,
815
+ toggleFullscreen: On,
816
+ copyAlt: rr
817
+ }), (e, t) => (x(), m("div", {
818
+ ref_key: "chordChart",
819
+ ref: P,
820
+ class: v({
821
+ "vue-data-ui-component": !0,
822
+ "vue-ui-chord": !0,
823
+ "vue-data-ui-wrapper-fullscreen": Dn.value,
824
+ "vue-data-ui-responsive": z.value.responsive
825
+ }),
826
+ style: b(`font-family:${z.value.style.fontFamily};width:100%; text-align:center;background:${z.value.style.chart.backgroundColor}`),
827
+ id: `chord_${A.value}`,
828
+ onMouseenter: t[2] ||= () => E(qt)(!0),
829
+ onMouseleave: t[3] ||= () => E(qt)(!1)
830
+ }, [
831
+ h("div", {
832
+ id: `chart-instructions-${A.value}`,
833
+ class: "sr-only"
834
+ }, [h("p", null, T(z.value.a11y.translations.keyboardNavigation), 1)], 8, Ue),
835
+ ar.value?.rows?.length ? (x(), f(Se, {
836
+ key: 0,
837
+ uid: A.value,
838
+ head: ar.value.headers,
839
+ body: ar.value.rows,
840
+ notice: z.value.a11y.translations.tableAvailable,
841
+ caption: z.value.a11y.translations.tableCaption
842
+ }, null, 8, [
843
+ "uid",
844
+ "head",
845
+ "body",
846
+ "notice",
847
+ "caption"
848
+ ])) : p("", !0),
849
+ z.value.userOptions.buttons.annotator && E(H) ? (x(), f(E(Ct), {
850
+ key: 1,
851
+ color: z.value.style.chart.color,
852
+ backgroundColor: z.value.style.chart.backgroundColor,
853
+ active: X.value,
854
+ svgRef: E(H),
855
+ isCursorPointer: B.value,
856
+ onClose: Ln
857
+ }, {
858
+ "annotator-action-close": D(() => [w(e.$slots, "annotator-action-close", {}, void 0, !0)]),
859
+ "annotator-action-color": D(({ color: t }) => [w(e.$slots, "annotator-action-color", y(_({ color: t })), void 0, !0)]),
860
+ "annotator-action-draw": D(({ mode: t }) => [w(e.$slots, "annotator-action-draw", y(_({ mode: t })), void 0, !0)]),
861
+ "annotator-action-undo": D(({ disabled: t }) => [w(e.$slots, "annotator-action-undo", y(_({ disabled: t })), void 0, !0)]),
862
+ "annotator-action-redo": D(({ disabled: t }) => [w(e.$slots, "annotator-action-redo", y(_({ disabled: t })), void 0, !0)]),
863
+ "annotator-action-delete": D(({ disabled: t }) => [w(e.$slots, "annotator-action-delete", y(_({ disabled: t })), void 0, !0)]),
864
+ _: 3
865
+ }, 8, [
866
+ "color",
867
+ "backgroundColor",
868
+ "active",
869
+ "svgRef",
870
+ "isCursorPointer"
871
+ ])) : p("", !0),
872
+ w(e.$slots, "userConfig", {}, void 0, !0),
873
+ an.value ? (x(), m("div", {
874
+ key: 2,
875
+ ref_key: "noTitle",
876
+ ref: Pt,
877
+ class: "vue-data-ui-no-title-space",
878
+ style: "height:36px; width: 100%;background:transparent"
879
+ }, null, 512)) : p("", !0),
880
+ z.value.style.chart.title.text ? (x(), m("div", {
881
+ key: 3,
882
+ ref_key: "chartTitle",
883
+ ref: jt,
884
+ style: "width:100%;background:transparent;padding-bottom:24px"
885
+ }, [(x(), f(_e, {
886
+ key: `title_${Ft.value}`,
887
+ config: {
888
+ title: {
889
+ cy: "chord-div-title",
890
+ ...z.value.style.chart.title
891
+ },
892
+ subtitle: {
893
+ cy: "chord-div-subtitle",
894
+ ...z.value.style.chart.title.subtitle
895
+ }
896
+ }
897
+ }, null, 8, ["config"]))], 512)) : p("", !0),
898
+ h("div", { id: `legend-top-${A.value}` }, null, 8, We),
899
+ z.value.userOptions.show && k.value && (E(Jt) || E(Kt)) ? (x(), f(E(wt), {
900
+ ref_key: "userOptionsRef",
901
+ ref: Vt,
902
+ key: `user_option_${At.value}`,
903
+ backgroundColor: z.value.style.chart.backgroundColor,
904
+ color: z.value.style.chart.color,
905
+ isPrinting: E(Yt),
906
+ isImaging: E(Xt),
907
+ uid: A.value,
908
+ hasTooltip: !1,
909
+ hasPdf: z.value.userOptions.buttons.pdf,
910
+ hasImg: z.value.userOptions.buttons.img,
911
+ hasSvg: z.value.userOptions.buttons.svg,
912
+ hasXls: z.value.userOptions.buttons.csv,
913
+ hasTable: z.value.userOptions.buttons.table,
914
+ hasLabel: !1,
915
+ hasFullscreen: z.value.userOptions.buttons.fullscreen,
916
+ hasAltCopy: z.value.userOptions.buttons.altCopy,
917
+ isFullscreen: Dn.value,
918
+ chartElement: P.value,
919
+ position: z.value.userOptions.position,
920
+ titles: { ...z.value.userOptions.buttonTitles },
921
+ hasAnnotator: z.value.userOptions.buttons.annotator,
922
+ isAnnotation: X.value,
923
+ callbacks: z.value.userOptions.callbacks,
924
+ printScale: z.value.userOptions.print.scale,
925
+ tableDialog: z.value.table.useDialog,
926
+ isCursorPointer: B.value,
927
+ onToggleFullscreen: On,
928
+ onGeneratePdf: E(Zt),
929
+ onGenerateCsv: Gn,
930
+ onGenerateImage: E(nr),
931
+ onGenerateSvg: E(tr),
932
+ onToggleTable: Rn,
933
+ onToggleAnnotator: Ln,
934
+ onCopyAlt: rr,
935
+ style: b({ visibility: E(Jt) ? E(Kt) ? "visible" : "hidden" : "visible" })
936
+ }, Oe({ _: 2 }, [
937
+ e.$slots.menuIcon ? {
938
+ name: "menuIcon",
939
+ fn: D(({ isOpen: t, color: n }) => [w(e.$slots, "menuIcon", y(_({
940
+ isOpen: t,
941
+ color: n
942
+ })), void 0, !0)]),
943
+ key: "0"
944
+ } : void 0,
945
+ e.$slots.optionPdf ? {
946
+ name: "optionPdf",
947
+ fn: D(() => [w(e.$slots, "optionPdf", {}, void 0, !0)]),
948
+ key: "1"
949
+ } : void 0,
950
+ e.$slots.optionCsv ? {
951
+ name: "optionCsv",
952
+ fn: D(() => [w(e.$slots, "optionCsv", {}, void 0, !0)]),
953
+ key: "2"
954
+ } : void 0,
955
+ e.$slots.optionImg ? {
956
+ name: "optionImg",
957
+ fn: D(() => [w(e.$slots, "optionImg", {}, void 0, !0)]),
958
+ key: "3"
959
+ } : void 0,
960
+ e.$slots.optionSvg ? {
961
+ name: "optionSvg",
962
+ fn: D(() => [w(e.$slots, "optionSvg", {}, void 0, !0)]),
963
+ key: "4"
964
+ } : void 0,
965
+ e.$slots.optionTable ? {
966
+ name: "optionTable",
967
+ fn: D(() => [w(e.$slots, "optionTable", {}, void 0, !0)]),
968
+ key: "5"
969
+ } : void 0,
970
+ e.$slots.optionFullscreen ? {
971
+ name: "optionFullscreen",
972
+ fn: D(({ toggleFullscreen: t, isFullscreen: n }) => [w(e.$slots, "optionFullscreen", y(_({
973
+ toggleFullscreen: t,
974
+ isFullscreen: n
975
+ })), void 0, !0)]),
976
+ key: "6"
977
+ } : void 0,
978
+ e.$slots.optionAnnotator ? {
979
+ name: "optionAnnotator",
980
+ fn: D(({ toggleAnnotator: t, isAnnotator: n }) => [w(e.$slots, "optionAnnotator", y(_({
981
+ toggleAnnotator: t,
982
+ isAnnotator: n
983
+ })), void 0, !0)]),
984
+ key: "7"
985
+ } : void 0,
986
+ e.$slots.optionAltCopy ? {
987
+ name: "optionAltCopy",
988
+ fn: D(({ altCopy: t }) => [w(e.$slots, "optionAltCopy", y(_({ altCopy: t })), void 0, !0)]),
989
+ key: "8"
990
+ } : void 0,
991
+ e.$slots["custom-menu-before"] ? {
992
+ name: "custom-menu-before",
993
+ fn: D(() => [w(e.$slots, "custom-menu-before", {}, void 0, !0)]),
994
+ key: "9"
995
+ } : void 0,
996
+ e.$slots["custom-menu-after"] ? {
997
+ name: "custom-menu-after",
998
+ fn: D(() => [w(e.$slots, "custom-menu-after", {}, void 0, !0)]),
999
+ key: "10"
1000
+ } : void 0
1001
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.chartElement.position.titles.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : p("", !0),
1002
+ (x(), m("svg", {
1003
+ xmlns: E(ae),
1004
+ ref_key: "svgRef",
1005
+ ref: H,
1006
+ viewBox: `0 0 ${G.value.width} ${G.value.height}`,
1007
+ "aria-describedby": `chart-instructions-${A.value}`,
1008
+ tabindex: "0",
1009
+ preserveAspectRatio: "xMidYMid meet",
1010
+ style: { overflow: "visible" },
1011
+ class: v({
1012
+ "vue-ui-chord-rotating": yn.value,
1013
+ "vue-ui-chord-idle": !yn.value
1014
+ }),
1015
+ onMousedown: Be(Cn, ["prevent"]),
1016
+ onTouchstart: Be(Cn, ["prevent"]),
1017
+ onFocus: lr,
1018
+ onBlur: ur,
1019
+ onKeydown: dr
1020
+ }, [
1021
+ Ae(E(St)),
1022
+ e.$slots["chart-background"] ? (x(), m("foreignObject", {
1023
+ key: 0,
1024
+ x: 0,
1025
+ y: 0,
1026
+ width: G.value.width <= 0 ? 10 : G.value.width,
1027
+ height: G.value.height <= 0 ? 10 : G.value.height,
1028
+ style: { pointerEvents: "none" }
1029
+ }, [w(e.$slots, "chart-background", {}, void 0, !0)], 8, Ke)) : p("", !0),
1030
+ z.value.style.chart.arcs.labels.curved ? (x(), m("defs", qe, [(x(!0), m(u, null, C(J.value.groups, (e, t) => (x(), m("path", {
1031
+ key: `labelPath-${t}`,
1032
+ id: `labelPath-${t}_${A.value}`,
1033
+ d: vn(e.startAngle, e.endAngle, (K.value.inner + K.value.outer) / 2 + z.value.style.chart.arcs.labels.offset),
1034
+ fill: "none"
1035
+ }, null, 8, Je))), 128))])) : p("", !0),
1036
+ e.$slots.pattern ? (x(), m("g", Ye, [(x(!0), m(u, null, C(J.value.groups, (t, n) => (x(), m("defs", null, [w(e.$slots, "pattern", je({ ref_for: !0 }, {
1037
+ seriesIndex: t.index,
1038
+ patternId: `pattern_${A.value}_${n}`
1039
+ }), void 0, !0)]))), 256))])) : p("", !0),
1040
+ h("g", { transform: `translate(${G.value.width / 2}, ${G.value.height / 2}) rotate(${Y.value})` }, [
1041
+ (x(!0), m(u, null, C(J.value.groups, (t, n) => (x(), m("g", null, [(x(), m("path", {
1042
+ class: v({
1043
+ "vue-ui-chord-arc": !0,
1044
+ "vue-ui-chord-arc-animated": z.value.useCssAnimation && !Rt.value
1045
+ }),
1046
+ key: `arc-${n}`,
1047
+ d: dn(t.startAngle, t.endAngle, K.value.outer, K.value.inner),
1048
+ fill: q.value.colors[n],
1049
+ stroke: z.value.style.chart.arcs.stroke,
1050
+ "stroke-width": z.value.style.chart.arcs.strokeWidth,
1051
+ "stroke-linecap": "round",
1052
+ "stroke-linejoin": "round",
1053
+ style: b({ opacity: In(t) }),
1054
+ onMouseenter: (e) => kn(t, n),
1055
+ onMouseleave: (e) => An(t, n),
1056
+ onClick: (e) => jn(t, n)
1057
+ }, null, 46, Ze)), e.$slots.pattern ? (x(), m("path", {
1058
+ class: v({
1059
+ "vue-ui-chord-arc": !0,
1060
+ "vue-ui-chord-arc-animated": z.value.useCssAnimation && !Rt.value
1061
+ }),
1062
+ key: `arc-${n}`,
1063
+ d: dn(t.startAngle, t.endAngle, K.value.outer, K.value.inner),
1064
+ fill: `url(#${t.pattern})`,
1065
+ stroke: z.value.style.chart.arcs.stroke,
1066
+ "stroke-width": z.value.style.chart.arcs.strokeWidth,
1067
+ "stroke-linecap": "round",
1068
+ "stroke-linejoin": "round",
1069
+ style: b({
1070
+ opacity: In(t),
1071
+ pointerEvents: "none"
1072
+ })
1073
+ }, null, 14, Qe)) : p("", !0)]))), 256)),
1074
+ h("g", null, [
1075
+ (x(!0), m(u, null, C(j.value ? J.value.chords.filter((e) => e.source.groupId === j.value.id) : N.value ? J.value.chords.filter((e) => e.source.groupId === N.value) : J.value.chords, (t, n) => (x(), m(u, { key: `ribbon-${t.id}` }, [
1076
+ t.source.value ? (x(), m("path", {
1077
+ key: 0,
1078
+ class: v({ "vue-ui-chord-ribbon": !0 }),
1079
+ d: fn(t.source, t.target),
1080
+ fill: z.value.style.chart.backgroundColor,
1081
+ style: b({ opacity: z.value.style.chart.ribbons.underlayerOpacity })
1082
+ }, null, 12, $e)) : p("", !0),
1083
+ t.source.value ? (x(), m("path", {
1084
+ key: 1,
1085
+ class: v({ "vue-ui-chord-ribbon": !0 }),
1086
+ d: fn(t.source, t.target),
1087
+ fill: q.value.colors[t.source.index],
1088
+ stroke: z.value.style.chart.ribbons.stroke,
1089
+ "stroke-width": z.value.style.chart.ribbons.strokeWidth,
1090
+ "stroke-linecap": "round",
1091
+ "stroke-linejoin": "round",
1092
+ style: b({ opacity: Fn(t) }),
1093
+ onMouseenter: (e) => Mn({
1094
+ ...t,
1095
+ path: fn(t.source, t.target),
1096
+ color: q.value.colors[t.source.index]
1097
+ }, n),
1098
+ onClick: (e) => Pn({
1099
+ ...t,
1100
+ color: q.value.colors[t.source.index]
1101
+ }, n),
1102
+ onMouseleave: (e) => Nn({
1103
+ ...t,
1104
+ color: q.value.colors[t.source.index]
1105
+ }, n)
1106
+ }, null, 44, et)) : p("", !0),
1107
+ t.source.value && e.$slots.pattern ? (x(), m("path", {
1108
+ key: 2,
1109
+ class: v({ "vue-ui-chord-ribbon": !0 }),
1110
+ d: fn(t.source, t.target),
1111
+ fill: `url(#pattern_${A.value}_${t.source.index})`,
1112
+ stroke: z.value.style.chart.ribbons.stroke,
1113
+ "stroke-width": z.value.style.chart.ribbons.strokeWidth,
1114
+ "stroke-linecap": "round",
1115
+ "stroke-linejoin": "round",
1116
+ style: b({
1117
+ opacity: Fn(t),
1118
+ pointerEvents: "none"
1119
+ })
1120
+ }, null, 12, tt)) : p("", !0)
1121
+ ], 64))), 128)),
1122
+ M.value ? (x(), m("path", {
1123
+ key: 0,
1124
+ d: M.value.path,
1125
+ fill: M.value.color,
1126
+ stroke: z.value.style.chart.ribbons.stroke,
1127
+ "stroke-width": z.value.style.chart.ribbons.strokeWidth,
1128
+ "stroke-linecap": "round",
1129
+ "stroke-linejoin": "round",
1130
+ class: v({ "vue-ui-chord-ribbon": !0 }),
1131
+ style: { pointerEvents: "none" }
1132
+ }, null, 8, nt)) : p("", !0),
1133
+ M.value && e.$slots.pattern ? (x(), m("path", {
1134
+ key: 1,
1135
+ d: M.value.path,
1136
+ fill: `url(#${M.value.source.pattern})`,
1137
+ stroke: z.value.style.chart.ribbons.stroke,
1138
+ "stroke-width": z.value.style.chart.ribbons.strokeWidth,
1139
+ "stroke-linecap": "round",
1140
+ "stroke-linejoin": "round",
1141
+ class: v({ "vue-ui-chord-ribbon": !0 }),
1142
+ style: { pointerEvents: "none" }
1143
+ }, null, 8, rt)) : p("", !0)
1144
+ ]),
1145
+ (j.value || M.value || N.value) && z.value.style.chart.ribbons.labels.show ? (x(), m("g", it, [(x(!0), m(u, null, C(un.value, (e) => (x(), m(u, { key: e.id }, [
1146
+ h("line", {
1147
+ x1: e.midBaseX,
1148
+ y1: e.midBaseY,
1149
+ x2: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1150
+ y2: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1151
+ stroke: z.value.style.chart.backgroundColor,
1152
+ "stroke-width": z.value.style.chart.ribbons.labels.connector.strokeWidth * 3,
1153
+ "pointer-events": "none"
1154
+ }, null, 8, at),
1155
+ h("line", {
1156
+ x1: e.midBaseX,
1157
+ y1: e.midBaseY,
1158
+ x2: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1159
+ y2: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1160
+ stroke: z.value.style.chart.ribbons.labels.connector.stroke,
1161
+ "stroke-width": z.value.style.chart.ribbons.labels.connector.strokeWidth,
1162
+ "pointer-events": "none"
1163
+ }, null, 8, ot),
1164
+ z.value.style.chart.ribbons.labels.marker.show ? (x(), m("circle", {
1165
+ key: 0,
1166
+ cx: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1167
+ cy: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 12),
1168
+ r: z.value.style.chart.ribbons.labels.marker.radius,
1169
+ stroke: z.value.style.chart.ribbons.labels.marker.stroke,
1170
+ "stroke-width": z.value.style.chart.ribbons.labels.marker.strokeWidth,
1171
+ fill: e.groupColor,
1172
+ "pointer-events": "none"
1173
+ }, null, 8, st)) : p("", !0),
1174
+ h("text", {
1175
+ transform: `
1176
+ translate(
1177
+ ${Math.cos(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 24)},
1178
+ ${Math.sin(e.theta - Math.PI / 2) * (K.value.outer + z.value.style.chart.ribbons.labels.offset + 24)}
1179
+ ) rotate(${-Y.value})
1180
+ `,
1181
+ fill: z.value.style.chart.ribbons.labels.useSerieColor ? e.groupColor : z.value.style.chart.ribbons.labels.color,
1182
+ "text-anchor": gn(e.theta),
1183
+ "font-size": z.value.style.chart.ribbons.labels.fontSize,
1184
+ "font-weight": z.value.style.chart.ribbons.labels.bold ? "bold" : "normal",
1185
+ dy: ".35em",
1186
+ "pointer-events": "none"
1187
+ }, T(En(e.value)), 9, ct)
1188
+ ], 64))), 128))])) : p("", !0),
1189
+ z.value.style.chart.arcs.labels.show ? (x(), m("g", lt, [z.value.style.chart.arcs.labels.curved ? (x(!0), m(u, { key: 0 }, C(J.value.groups, (e, t) => (x(), m("text", {
1190
+ class: "vue-ui-chord-label-curved",
1191
+ key: `curved-label-${t}`,
1192
+ "font-size": z.value.style.chart.arcs.labels.fontSize,
1193
+ "font-weight": z.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1194
+ fill: z.value.style.chart.arcs.labels.adaptColorToBackground ? E(ie)(q.value.colors[t]) : z.value.style.chart.arcs.labels.color
1195
+ }, [h("textPath", {
1196
+ href: `#labelPath-${t}_${A.value}`,
1197
+ startOffset: "50%",
1198
+ "text-anchor": "middle"
1199
+ }, T(q.value.labels[t]) + T(z.value.style.chart.arcs.labels.showPercentage ? E(c)({
1200
+ p: " (",
1201
+ v: isNaN(e.proportion) ? 0 : e.proportion * 100,
1202
+ s: "%)",
1203
+ r: z.value.style.chart.arcs.labels.roundingPercentage
1204
+ }) : ""), 9, dt)], 8, ut))), 128)) : !j.value && !M.value && !N.value ? (x(!0), m(u, { key: 1 }, C(J.value.groups, (e, t) => (x(), m("text", {
1205
+ class: "vue-ui-chord-label-straight",
1206
+ key: `label-${t}`,
1207
+ transform: `
1208
+ ${_n((e.startAngle + e.endAngle) / 2)}
1209
+ rotate(${-Y.value})
1210
+ `,
1211
+ dy: ".35em",
1212
+ "text-anchor": hn(e) > Math.PI ? "end" : "start",
1213
+ "font-size": z.value.style.chart.arcs.labels.fontSize,
1214
+ "font-weight": z.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1215
+ fill: z.value.style.chart.arcs.labels.color,
1216
+ innerHTML: E(i)({
1217
+ content: E(l)(qn(e, t)),
1218
+ fontSize: z.value.style.chart.arcs.labels.fontSize,
1219
+ fill: z.value.style.chart.arcs.labels.color,
1220
+ x: 0,
1221
+ y: 0
1222
+ })
1223
+ }, null, 8, ft))), 128)) : p("", !0)])) : p("", !0)
1224
+ ], 8, Xe),
1225
+ w(e.$slots, "svg", { svg: {
1226
+ height: 600,
1227
+ width: 600,
1228
+ isPrintingImg: E(Yt) || E(Xt) || E($n),
1229
+ isPrintingSvg: E(er)
1230
+ } }, void 0, !0)
1231
+ ], 42, Ge)),
1232
+ e.$slots.hint ? (x(), m("div", pt, [w(e.$slots, "hint", y(_({
1233
+ hint: z.value.a11y.translations.keyboardNavigation,
1234
+ isVisible: Ht.value
1235
+ })), void 0, !0)])) : p("", !0),
1236
+ e.$slots.watermark ? (x(), m("div", mt, [w(e.$slots, "watermark", y(_({ isPrinting: E(Yt) || E(Xt) || E($n) || E(er) })), void 0, !0)])) : p("", !0),
1237
+ h("div", { id: `legend-bottom-${A.value}` }, null, 8, ht),
1238
+ zt.value && (z.value.style.chart.legend.show || e.$slots.legend) ? (x(), f(De, {
1239
+ key: 7,
1240
+ to: z.value.style.chart.legend.position === "top" ? `#legend-top-${A.value}` : `#legend-bottom-${A.value}`
1241
+ }, [h("div", {
1242
+ ref_key: "chartLegend",
1243
+ ref: Mt
1244
+ }, [w(e.$slots, "legend", { legend: Hn.value }, () => [z.value.style.chart.legend.show ? (x(), f(Te, {
1245
+ key: `legend_${Lt.value}`,
1246
+ legendSet: Hn.value,
1247
+ config: Un.value,
1248
+ isCursorPointer: B.value,
1249
+ onClickMarker: t[0] ||= ({ legend: e }) => Vn(e.id)
1250
+ }, Oe({
1251
+ item: D(({ legend: e }) => [h("div", {
1252
+ style: b({ opacity: N.value ? N.value === e.id ? 1 : .3 : 1 }),
1253
+ onClick: (t) => e.select()
1254
+ }, T(e.name), 13, gt)]),
1255
+ _: 2
1256
+ }, [e.$slots.pattern ? {
1257
+ name: "legend-pattern",
1258
+ fn: D(({ legend: e, index: t }) => [Ae(ve, {
1259
+ shape: e.shape,
1260
+ radius: 30,
1261
+ stroke: "none",
1262
+ plot: {
1263
+ x: 30,
1264
+ y: 30
1265
+ },
1266
+ fill: `url(#pattern_${A.value}_${t})`
1267
+ }, null, 8, ["shape", "fill"])]),
1268
+ key: "0"
1269
+ } : void 0]), 1032, [
1270
+ "legendSet",
1271
+ "config",
1272
+ "isCursorPointer"
1273
+ ])) : p("", !0)], !0)], 512)], 8, ["to"])) : p("", !0),
1274
+ e.$slots.source ? (x(), m("div", {
1275
+ key: 8,
1276
+ ref_key: "source",
1277
+ ref: Nt,
1278
+ dir: "auto"
1279
+ }, [w(e.$slots, "source", {}, void 0, !0)], 512)) : p("", !0),
1280
+ Y.value === z.value.initialRotation ? p("", !0) : (x(), m("div", _t, [w(e.$slots, "reset-action", { reset: Bn }, () => [h("button", {
1281
+ "data-cy-reset": "",
1282
+ tabindex: "0",
1283
+ role: "button",
1284
+ class: "vue-data-ui-refresh-button",
1285
+ style: b({
1286
+ background: z.value.style.chart.backgroundColor,
1287
+ cursor: B.value ? "pointer" : "default"
1288
+ }),
1289
+ onClick: Bn
1290
+ }, [Ae(E(bt), {
1291
+ name: "refresh",
1292
+ stroke: z.value.style.chart.color
1293
+ }, null, 8, ["stroke"])], 4)], !0)])),
1294
+ k.value && z.value.userOptions.buttons.table ? (x(), f(Fe(Jn.value.component), je({ key: 10 }, Jn.value.props, {
1295
+ ref_key: "tableUnit",
1296
+ ref: Bt,
1297
+ onClose: Yn
1298
+ }), Oe({
1299
+ content: D(() => [(x(), f(E(xt), {
1300
+ key: `table_${It.value}`,
1301
+ colNames: Wn.value.colNames,
1302
+ head: Wn.value.head,
1303
+ body: Wn.value.body,
1304
+ config: Wn.value.config,
1305
+ title: z.value.table.useDialog ? "" : Jn.value.title,
1306
+ withCloseButton: !z.value.table.useDialog,
1307
+ isCursorPointer: B.value,
1308
+ onClose: Yn
1309
+ }, {
1310
+ th: D(({ th: e }) => [ke(T(e.name), 1)]),
1311
+ td: D(({ td: e }) => [h("div", vt, T(e.name ? e.name : En(e)), 1)]),
1312
+ _: 1
1313
+ }, 8, [
1314
+ "colNames",
1315
+ "head",
1316
+ "body",
1317
+ "config",
1318
+ "title",
1319
+ "withCloseButton",
1320
+ "isCursorPointer"
1321
+ ]))]),
1322
+ _: 2
1323
+ }, [z.value.table.useDialog ? {
1324
+ name: "title",
1325
+ fn: D(() => [ke(T(Jn.value.title), 1)]),
1326
+ key: "0"
1327
+ } : void 0, z.value.table.useDialog ? {
1328
+ name: "actions",
1329
+ fn: D(() => [h("button", {
1330
+ tabindex: "0",
1331
+ class: "vue-ui-user-options-button",
1332
+ onClick: t[1] ||= (e) => Gn(z.value.userOptions.callbacks.csv),
1333
+ style: b({ cursor: B.value ? "pointer" : "default" })
1334
+ }, [Ae(E(bt), {
1335
+ name: "fileCsv",
1336
+ stroke: Jn.value.props.color
1337
+ }, null, 8, ["stroke"])], 4)]),
1338
+ key: "1"
1339
+ } : void 0]), 1040)) : p("", !0),
1340
+ w(e.$slots, "skeleton", {}, () => [E(Wt) ? (x(), f(fe, { key: 0 })) : p("", !0)], !0)
1341
+ ], 46, He));
1342
+ }
1343
+ }, [["__scopeId", "data-v-b9aaa15d"]]);
1344
+ //#endregion
1345
+ export { Ve as n, yt as t };