vue-data-ui 3.15.12 → 3.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +132 -59
  2. package/dist/A11yDataTable-KcVAX2cP.js +54 -0
  3. package/dist/{Arrow-DlPyR6HQ.js → Arrow-Bn-9n3bm.js} +1 -1
  4. package/dist/{BaseDraggableDialog-DSpKTn3R.js → BaseDraggableDialog-CIb-iD9g.js} +2 -2
  5. package/dist/{BaseIcon-CNx8Tzl5.js → BaseIcon-Cb3zzG6s.js} +1 -1
  6. package/dist/{BaseLegendToggle-Y61xahI4.js → BaseLegendToggle-BQVIawmA.js} +1 -1
  7. package/dist/{BaseZoomControls-CoFievy9.js → BaseZoomControls-DievbOeJ.js} +2 -2
  8. package/dist/ColorPicker-B0mV4xzu.js +255 -0
  9. package/dist/{DataTable-Bo1pmAqG.js → DataTable-DT2kIdQ6.js} +2 -2
  10. package/dist/Legend-CS7Xo5LK.js +101 -0
  11. package/dist/{NonSvgPenAndPaper-CGk_xThe.js → NonSvgPenAndPaper-VyJFyJ6X.js} +3 -3
  12. package/dist/{PackageVersion-DN9d0ME5.js → PackageVersion-DPO-OOVI.js} +1 -1
  13. package/dist/{PenAndPaper-DWV1FMIi.js → PenAndPaper-Ct3qJ4lA.js} +109 -101
  14. package/dist/{Shape-CSyWYgXc.js → Shape-BKRUOeKk.js} +1 -1
  15. package/dist/{Slicer-DZJA9IG-.js → Slicer-DUycDH_N.js} +2 -2
  16. package/dist/{SlicerPreview-I2J0UUF_.js → SlicerPreview-DTjwV0iY.js} +2 -2
  17. package/dist/{SparkTooltip-BiseJed3.js → SparkTooltip-BorBpltj.js} +1 -1
  18. package/dist/{Title-BfyrP-jp.js → Title-BeMKE1cj.js} +1 -1
  19. package/dist/{Tooltip-DL3QgjZf.js → Tooltip-Bf-kM3_A.js} +86 -68
  20. package/dist/{UserOptions-CrLqEimB.js → UserOptions-rW2fRf3V.js} +228 -222
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-heatmap.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BAqzNjb1.js → dom-to-png-CtxhhdWb.js} +1 -1
  91. package/dist/{exposedLib-H4lmBl1t.js → exposedLib-DlqmhBx3.js} +1 -1
  92. package/dist/{img-BYYzY_QU.js → img-LXxMLmCg.js} +1 -1
  93. package/dist/{labelUtils-CTXUc3V9.js → labelUtils-CqTHa20R.js} +1 -1
  94. package/dist/{lib-GwPnJSrY.js → lib-DBptbyyI.js} +106 -84
  95. package/dist/{pdf-z-YiJeJQ.js → pdf-B4tTdfvl.js} +1 -1
  96. package/dist/style.css +1 -1
  97. package/dist/types/vue-data-ui.d.ts +59 -0
  98. package/dist/{useAutoSizeLabelsInsideViewbox-80fzdfxt.js → useAutoSizeLabelsInsideViewbox-DX7LdvFX.js} +1 -1
  99. package/dist/{useConfig-CIgyKZ6R.js → useConfig-DO94Aj5s.js} +953 -700
  100. package/dist/{useNestedProp-BBT0mbHh.js → useNestedProp-Bf5XFbs8.js} +1 -1
  101. package/dist/{useObjectBindings-BlXBVtRa.js → useObjectBindings-DQ8g8Jwi.js} +1 -1
  102. package/dist/usePrefersMotion-CUKm8_t8.js +15 -0
  103. package/dist/{usePrinter-DiK5R6k-.js → usePrinter-CEpYU3r5.js} +2 -2
  104. package/dist/utils.js +3 -3
  105. package/dist/{vue-data-ui-C2kPofmi.js → vue-data-ui-DXGkXRnC.js} +68 -68
  106. package/dist/vue-data-ui.js +72 -72
  107. package/dist/vue-ui-3d-bar-BaFpQnd5.js +1597 -0
  108. package/dist/{vue-ui-accordion-BGHTqIBt.js → vue-ui-accordion-nvggWcGN.js} +4 -4
  109. package/dist/vue-ui-age-pyramid-CRM498Pc.js +1069 -0
  110. package/dist/{vue-ui-annotator-B1GWVtPp.js → vue-ui-annotator-CkPi9moo.js} +7 -7
  111. package/dist/{vue-ui-bullet-DPoGGtaG.js → vue-ui-bullet-BBiwof3c.js} +158 -150
  112. package/dist/vue-ui-bump-Brxpu4xV.js +1147 -0
  113. package/dist/vue-ui-candlestick-DAnZv77-.js +1587 -0
  114. package/dist/{vue-ui-carousel-table-CmiHTJ8E.js → vue-ui-carousel-table-BHRZBYY0.js} +168 -160
  115. package/dist/vue-ui-chestnut-CbrYnRgm.js +1812 -0
  116. package/dist/vue-ui-chord-CaX_IUVs.js +1326 -0
  117. package/dist/vue-ui-circle-pack-CR3h53sc.js +988 -0
  118. package/dist/{vue-ui-cursor-B4mHR7QC.js → vue-ui-cursor-Cjfazw7Z.js} +4 -4
  119. package/dist/vue-ui-dag-B9vH3c66.js +3047 -0
  120. package/dist/{vue-ui-dashboard-Bo5FX73U.js → vue-ui-dashboard-DWll05qs.js} +70 -70
  121. package/dist/{vue-ui-digits-mpo2IcM5.js → vue-ui-digits-DcM67rMx.js} +76 -66
  122. package/dist/vue-ui-donut-Be5G38P5.js +2229 -0
  123. package/dist/vue-ui-donut-evolution-BLSesj3c.js +1358 -0
  124. package/dist/vue-ui-dumbbell-DIMiCY4r.js +1380 -0
  125. package/dist/vue-ui-flow-zvZylhgr.js +1202 -0
  126. package/dist/{vue-ui-funnel-BRkaEkBb.js → vue-ui-funnel-CSri-oWm.js} +7 -7
  127. package/dist/vue-ui-galaxy-CGykxsAI.js +1012 -0
  128. package/dist/{vue-ui-gauge-J2VYHsQe.js → vue-ui-gauge-D1MNB9Jq.js} +8 -8
  129. package/dist/vue-ui-geo-DdJDGhG2.js +1437 -0
  130. package/dist/{vue-ui-gizmo-DEec3-v9.js → vue-ui-gizmo-BZYRHGFm.js} +77 -68
  131. package/dist/vue-ui-heatmap-CryOx6XK.js +1500 -0
  132. package/dist/vue-ui-history-plot-C85iw9Kl.js +1449 -0
  133. package/dist/vue-ui-horizontal-bar-BoBZOybC.js +1637 -0
  134. package/dist/vue-ui-kpi-DHrolXw6.js +109 -0
  135. package/dist/{vue-ui-mini-loader-CoOHvZUk.js → vue-ui-mini-loader-Bc3fEQ9j.js} +3 -3
  136. package/dist/{vue-ui-molecule-Chq1qWDK.js → vue-ui-molecule-DJ_BQ4DK.js} +6 -6
  137. package/dist/vue-ui-mood-radar-CBE02TpQ.js +1086 -0
  138. package/dist/vue-ui-nested-donuts-YTFtb4CL.js +1595 -0
  139. package/dist/vue-ui-onion-B9l81-PS.js +1124 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-C1e_rs8J.js +1252 -0
  141. package/dist/vue-ui-quadrant-C1qsLCRn.js +1759 -0
  142. package/dist/vue-ui-quick-chart-DFoz3WiA.js +2216 -0
  143. package/dist/vue-ui-radar-Cmo3p-UA.js +1139 -0
  144. package/dist/{vue-ui-rating-zV58MDQh.js → vue-ui-rating-BAHhYt_A.js} +3 -3
  145. package/dist/vue-ui-relation-circle-BqwznVwf.js +782 -0
  146. package/dist/vue-ui-ridgeline-CDk9eXJq.js +1473 -0
  147. package/dist/vue-ui-rings-BRkGoQdL.js +1156 -0
  148. package/dist/vue-ui-scatter-BxDtWASQ.js +1831 -0
  149. package/dist/{vue-ui-skeleton-CbqNz9IE.js → vue-ui-skeleton-D6kTb9aO.js} +4 -4
  150. package/dist/{vue-ui-smiley-BK5EKp9u.js → vue-ui-smiley-CzVaLlpB.js} +3 -3
  151. package/dist/vue-ui-spark-trend-D8Mf2A1w.js +378 -0
  152. package/dist/{vue-ui-sparkbar-DUDWvTo-.js → vue-ui-sparkbar-BbYj56c3.js} +86 -84
  153. package/dist/vue-ui-sparkgauge-DXzOSLRb.js +256 -0
  154. package/dist/vue-ui-sparkhistogram-DMfSx1iH.js +474 -0
  155. package/dist/vue-ui-sparkline-D-rQ9PsC.js +1327 -0
  156. package/dist/vue-ui-sparkstackbar-DK5n8IKP.js +621 -0
  157. package/dist/vue-ui-stackbar-BHthy6jf.js +2070 -0
  158. package/dist/vue-ui-stackline-C6-WNpKD.js +2164 -0
  159. package/dist/vue-ui-strip-plot-CHu-1ilI.js +1183 -0
  160. package/dist/{vue-ui-table-BHuXI4Eq.js → vue-ui-table-DW9JGsLq.js} +6 -6
  161. package/dist/{vue-ui-table-heatmap-y88sBfu3.js → vue-ui-table-heatmap-LYqoBit9.js} +6 -6
  162. package/dist/{vue-ui-table-sparkline-ClpLLKi2.js → vue-ui-table-sparkline-CXK1dFr-.js} +5 -5
  163. package/dist/{vue-ui-thermometer-sjruUGQx.js → vue-ui-thermometer-BN8tflOz.js} +272 -256
  164. package/dist/{vue-ui-timer-CgdgMKIc.js → vue-ui-timer-DGT0UBOF.js} +6 -6
  165. package/dist/{vue-ui-tiremarks-UBDpAIVr.js → vue-ui-tiremarks-BZ-osQqY.js} +204 -191
  166. package/dist/vue-ui-treemap-98KaVRyd.js +1723 -0
  167. package/dist/vue-ui-waffle-Cb7oJnIc.js +1321 -0
  168. package/dist/vue-ui-wheel-sfew1fjw.js +738 -0
  169. package/dist/vue-ui-word-cloud-vq1t9JHr.js +1548 -0
  170. package/dist/{vue-ui-world-D-3wgoTn.js → vue-ui-world-CN0f6elD.js} +8 -8
  171. package/dist/vue-ui-xy-BdzEiImZ.js +3877 -0
  172. package/dist/vue-ui-xy-canvas-CWQzUQzY.js +1810 -0
  173. package/package.json +2 -2
  174. package/dist/ColorPicker-j0ySewhI.js +0 -244
  175. package/dist/Legend-1LMMsPxL.js +0 -90
  176. package/dist/vue-ui-3d-bar-BhNgFaJA.js +0 -1484
  177. package/dist/vue-ui-age-pyramid-CuYRf5v-.js +0 -997
  178. package/dist/vue-ui-bump-C_fKharc.js +0 -1059
  179. package/dist/vue-ui-candlestick-BY-_E7eZ.js +0 -1487
  180. package/dist/vue-ui-chestnut-C-bQYaNI.js +0 -1557
  181. package/dist/vue-ui-chord-uQYQgyGM.js +0 -1220
  182. package/dist/vue-ui-circle-pack-CdbDcuDw.js +0 -907
  183. package/dist/vue-ui-dag-DsHUvjvm.js +0 -2885
  184. package/dist/vue-ui-donut-CzCgCVsx.js +0 -2139
  185. package/dist/vue-ui-donut-evolution-C_ck_TOR.js +0 -1297
  186. package/dist/vue-ui-dumbbell-CVSA90b2.js +0 -1293
  187. package/dist/vue-ui-flow-CsbSaFnu.js +0 -1075
  188. package/dist/vue-ui-galaxy-DWKHDciu.js +0 -914
  189. package/dist/vue-ui-geo-DykhEWVq.js +0 -1331
  190. package/dist/vue-ui-heatmap-BEDirv8T.js +0 -1334
  191. package/dist/vue-ui-history-plot-Bs96PebH.js +0 -1292
  192. package/dist/vue-ui-horizontal-bar-ClQcB9nL.js +0 -1522
  193. package/dist/vue-ui-kpi-DlUEHKuw.js +0 -101
  194. package/dist/vue-ui-mood-radar-A2LBLgUi.js +0 -967
  195. package/dist/vue-ui-nested-donuts-DFX251aT.js +0 -1513
  196. package/dist/vue-ui-onion-CW0YO9Ro.js +0 -1045
  197. package/dist/vue-ui-parallel-coordinate-plot-UFg10bHP.js +0 -1134
  198. package/dist/vue-ui-quadrant-C1pLW2zA.js +0 -1647
  199. package/dist/vue-ui-quick-chart-FaxttnJY.js +0 -2030
  200. package/dist/vue-ui-radar-DE70LPBZ.js +0 -1067
  201. package/dist/vue-ui-relation-circle-iuRXIyRU.js +0 -704
  202. package/dist/vue-ui-ridgeline-CwvDh5pG.js +0 -1385
  203. package/dist/vue-ui-rings-80ZUki42.js +0 -1083
  204. package/dist/vue-ui-scatter-FdAAYJOK.js +0 -1670
  205. package/dist/vue-ui-spark-trend-C68p8-Xp.js +0 -349
  206. package/dist/vue-ui-sparkgauge-DdRtHQDe.js +0 -245
  207. package/dist/vue-ui-sparkhistogram-C9DvzQae.js +0 -396
  208. package/dist/vue-ui-sparkline-B2RDrdiR.js +0 -1273
  209. package/dist/vue-ui-sparkstackbar-BsIOHUE5.js +0 -475
  210. package/dist/vue-ui-stackbar-BZl0kEkb.js +0 -2001
  211. package/dist/vue-ui-stackline-2VKxwFei.js +0 -2099
  212. package/dist/vue-ui-strip-plot-B9nBSRyY.js +0 -1080
  213. package/dist/vue-ui-treemap-BS5EilZf.js +0 -1645
  214. package/dist/vue-ui-waffle-CbX5K9Q2.js +0 -1211
  215. package/dist/vue-ui-wheel-BIJ09H5D.js +0 -723
  216. package/dist/vue-ui-word-cloud-DJmJ-oYT.js +0 -1466
  217. package/dist/vue-ui-xy-canvas-4auyhlTr.js +0 -1717
  218. package/dist/vue-ui-xy-f67V1xjd.js +0 -3713
@@ -0,0 +1,1326 @@
1
+ import { useCssVars as $a, defineAsyncComponent as ae, ref as v, shallowRef as At, computed as m, toRefs as Ca, watch as Ne, onMounted as Mt, onBeforeUnmount as Pt, openBlock as r, createElementBlock as i, unref as h, normalizeStyle as z, normalizeClass as j, createElementVNode as x, toDisplayString as H, createBlock as G, createCommentVNode as f, withCtx as y, renderSlot as p, normalizeProps as L, guardReactiveProps as D, createSlots as Re, withModifiers as It, createVNode as ke, Fragment as Y, renderList as oe, mergeProps as xt, Teleport as wa, resolveDynamicComponent as Aa, createTextVNode as _t, nextTick as Fe } from "vue";
2
+ import { j as ze, t as St, m as Ma, p as $e, o as Pa, q as Tt, r as Ia, n as xa, s as _a, X as Sa, W as Ta, l as Ue, as as Oa, au as Ba, k as La, a0 as Da, a1 as Ea } from "./lib-DBptbyyI.js";
3
+ import { t as Na, u as Ra } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Fa } from "./useConfig-DO94Aj5s.js";
5
+ import { u as za, B as Ua } from "./BaseScanner-BhhkKVoj.js";
6
+ import { u as Va } from "./usePrinter-CEpYU3r5.js";
7
+ import { u as Xa } from "./useSvgExport-ByUukOZt.js";
8
+ import { u as Ve } from "./useNestedProp-Bf5XFbs8.js";
9
+ import { u as ja } from "./useThemeCheck-D1ZYXUwG.js";
10
+ import { u as Ga } from "./useUserOptionState-BIvW1Kz7.js";
11
+ import { u as Ya } from "./useChartAccessibility-9icAAmYg.js";
12
+ import Wa from "./img-LXxMLmCg.js";
13
+ import { _ as qa } from "./Shape-BKRUOeKk.js";
14
+ import Ka from "./Title-BeMKE1cj.js";
15
+ import Ha from "./vue_ui_chord-Bc1_ocwK.js";
16
+ import Qa from "./Legend-CS7Xo5LK.js";
17
+ import { A as Za } from "./A11yDataTable-KcVAX2cP.js";
18
+ import { _ as Ja } from "./_plugin-vue_export-helper-CHgC5LLL.js";
19
+ const eo = ["id"], to = ["id"], ao = ["id"], oo = ["xmlns", "viewBox", "aria-describedby"], lo = ["width", "height"], no = { key: 1 }, so = ["id", "d"], ro = { key: 2 }, uo = ["transform"], io = ["d", "fill", "stroke", "stroke-width", "onMouseenter", "onMouseleave", "onClick"], co = ["d", "fill", "stroke", "stroke-width"], vo = ["d", "fill"], ho = ["d", "fill", "stroke", "stroke-width", "onMouseenter", "onClick", "onMouseleave"], fo = ["d", "fill", "stroke", "stroke-width"], go = ["d", "fill", "stroke", "stroke-width"], po = ["d", "fill", "stroke", "stroke-width"], bo = { key: 0 }, mo = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], yo = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], ko = ["cx", "cy", "r", "stroke", "stroke-width", "fill"], $o = ["transform", "fill", "text-anchor", "font-size", "font-weight"], Co = { key: 1 }, wo = ["font-size", "font-weight", "fill"], Ao = ["href"], Mo = ["transform", "text-anchor", "font-size", "font-weight", "fill", "innerHTML"], Po = {
20
+ key: 5,
21
+ style: { position: "absolute", top: "100%", left: "0", width: "100%" },
22
+ "data-dom-to-png-ignore": "",
23
+ "aria-hidden": "true"
24
+ }, Io = {
25
+ key: 6,
26
+ class: "vue-data-ui-watermark"
27
+ }, xo = ["id"], _o = ["onClick"], So = {
28
+ key: 9,
29
+ "data-dom-to-png-ignore": "",
30
+ class: "reset-wrapper"
31
+ }, To = { style: { "text-align": "right", width: "100%" } }, Oo = {
32
+ __name: "vue-ui-chord",
33
+ props: {
34
+ dataset: {
35
+ type: Object,
36
+ default() {
37
+ return {};
38
+ }
39
+ },
40
+ config: {
41
+ type: Object,
42
+ default() {
43
+ return {};
44
+ }
45
+ }
46
+ },
47
+ emits: ["selectLegend", "selectGroup", "selectRibbon", "copyAlt"],
48
+ setup(Ot, { expose: Bt, emit: Lt }) {
49
+ $a((e) => ({
50
+ v05685234: e.slicerColor
51
+ }));
52
+ const Dt = ae(() => import("./vue-ui-accordion-nvggWcGN.js")), Xe = ae(() => import("./BaseIcon-Cb3zzG6s.js")), Et = ae(() => import("./DataTable-DT2kIdQ6.js")), Nt = ae(() => import("./PackageVersion-DPO-OOVI.js")), Rt = ae(() => import("./PenAndPaper-Ct3qJ4lA.js")), Ft = ae(() => import("./UserOptions-rW2fRf3V.js")), zt = ae(() => import("./BaseDraggableDialog-CIb-iD9g.js")), { vue_ui_chord: Ut } = Fa(), { isThemeValid: Vt, warnInvalidTheme: Xt } = ja(), S = Ot, re = Lt, U = v(!!S.dataset && Object.hasOwn(S.dataset, "matrix")), M = v(ze()), w = v(null), k = v(null), b = v(null), je = v(0), E = v(null), Ge = v(null), Ye = v(null), We = v(null), qe = v(null), Ce = v(0), we = v(0), Ae = v(0), le = v(!1), W = At(null), ne = At(null), Ke = v(!1), ue = v(null), Me = v(null), fe = v(!1), ge = v(!1), V = v("group"), B = v(null), Pe = v(!1), a = v(Se()), Q = m(() => a.value.userOptions.useCursorPointer), jt = m(() => St({
53
+ defaultConfig: {
54
+ useCssAnimation: !1,
55
+ userOptions: { show: !1 },
56
+ table: { show: !1 },
57
+ style: {
58
+ chart: {
59
+ backgroundColor: "#99999930",
60
+ legend: {
61
+ backgroundColor: "transparent"
62
+ },
63
+ arcs: {
64
+ stroke: "#6A6A6A",
65
+ labels: {
66
+ show: !1
67
+ }
68
+ },
69
+ ribbons: {
70
+ stroke: "#6A6A6A",
71
+ underlayerOpacity: 0,
72
+ labels: {
73
+ show: !1
74
+ }
75
+ }
76
+ }
77
+ }
78
+ },
79
+ userConfig: a.value.skeletonConfig ?? {}
80
+ })), { loading: He, FINAL_DATASET: _, manualLoading: ie } = za({
81
+ ...Ca(S),
82
+ FINAL_CONFIG: a,
83
+ prepareConfig: Se,
84
+ callback: () => {
85
+ Promise.resolve().then(async () => {
86
+ await Fe(), Z.value.showTable = a.value.table.show;
87
+ });
88
+ },
89
+ skeletonDataset: S.config?.skeletonDataset ?? {
90
+ matrix: [
91
+ [12e3, 6e3, 9e3, 3e3],
92
+ [2e3, 1e4, 2e3, 6001],
93
+ [8e3, 1600, 8e3, 8001],
94
+ [1e3, 1e3, 1e3, 7001]
95
+ ],
96
+ labels: [],
97
+ colors: ["#DBDBDB", "#C4C4C4", "#ADADAD", "#969696"]
98
+ },
99
+ skeletonConfig: St({
100
+ defaultConfig: a.value,
101
+ userConfig: jt.value
102
+ })
103
+ }), { userOptionsVisible: Ie, setUserOptionsVisibility: Qe, keepUserOptionState: Ze } = Ga({ config: a.value }), { svgRef: q } = Ya({ config: a.value.style.chart.title }), { isPrinting: xe, isImaging: _e, generatePdf: Je, generateImage: et } = Va({
104
+ elementId: `chord_${M.value}`,
105
+ fileName: a.value.style.chart.title.text || "vue-ui-chord",
106
+ options: a.value.userOptions.print
107
+ }), Z = v({
108
+ showTable: a.value.table.show
109
+ });
110
+ function Se() {
111
+ const e = Ve({
112
+ userConfig: S.config,
113
+ defaultConfig: Ut
114
+ }), o = e.theme;
115
+ if (!o) return e;
116
+ if (!Vt.value(e))
117
+ return Xt(e), e;
118
+ const t = Ve({
119
+ userConfig: Ha[o] || S.config,
120
+ defaultConfig: e
121
+ }), l = Ve({
122
+ userConfig: S.config,
123
+ defaultConfig: t
124
+ });
125
+ return {
126
+ ...l,
127
+ customPalette: l.customPalette.length ? l.customPalette : Ma[o] || $e
128
+ };
129
+ }
130
+ Ne(() => S.config, (e) => {
131
+ He.value || (a.value = Se()), Ie.value = !a.value.userOptions.showOnChartHover, Te(), Ce.value += 1, we.value += 1, Ae.value += 1, T.value = a.value.initialRotation, Z.value.showTable = a.value.table.show;
132
+ }, { deep: !0 });
133
+ const tt = m(() => a.value.debug);
134
+ Ne(() => S.dataset, () => {
135
+ at(), Te(), Ce.value += 1, we.value += 1, Ae.value += 1;
136
+ });
137
+ function at() {
138
+ if (Pa(S.dataset)) {
139
+ Tt({
140
+ componentName: "VueUiChord",
141
+ type: "dataset",
142
+ debug: tt.value
143
+ }), U.value = !1, ie.value = !0;
144
+ return;
145
+ }
146
+ const e = Ia({
147
+ datasetObject: S.dataset,
148
+ requiredAttributes: ["matrix"]
149
+ });
150
+ if (e.length) {
151
+ e.forEach((s) => {
152
+ Tt({
153
+ componentName: "VueUiChord",
154
+ type: "datasetAttribute",
155
+ property: s,
156
+ debug: tt.value
157
+ });
158
+ }), U.value = !1, ie.value = !0;
159
+ return;
160
+ }
161
+ const o = S.dataset.matrix;
162
+ if (!Array.isArray(o) || o.length < 2) {
163
+ console.warn(`VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:
164
+
165
+ matrix:[
166
+ [1, 1],
167
+ [1, 1]
168
+ ]`), U.value = !1, ie.value = !0;
169
+ return;
170
+ }
171
+ const t = o.length, l = o.findIndex((s) => !Array.isArray(s) || s.length !== t);
172
+ if (l !== -1) {
173
+ console.warn(
174
+ `VueUiChord - Invalid matrix: dataset.matrix at index ${l} has ${Array.isArray(o[l]) ? o[l].length : "NaN"} elements instead of the required ${t}
175
+
176
+ dataset.matrix[${l}] = [${Array.isArray(o[l]) ? o[l].toString() : "invalid"}]`
177
+ ), U.value = !1, ie.value = !0;
178
+ return;
179
+ }
180
+ U.value = !0, ie.value = !1;
181
+ }
182
+ function Te() {
183
+ if (at(), a.value.responsive) {
184
+ const e = Na(() => {
185
+ const { width: o, height: t, heightNoTitle: l, heightSource: s, heightTitle: n, heightLegend: u } = Ra({
186
+ chart: E.value,
187
+ title: a.value.style.chart.title.text ? Ge.value : null,
188
+ legend: a.value.style.chart.legend.show ? Ye.value : null,
189
+ source: We.value,
190
+ noTitle: qe.value
191
+ }), d = n + u + s + l;
192
+ o < t ? E.value.style.width = "100%" : (E.value.style.height = "100%", q.value.style.height = `calc(100% - ${d}px)`);
193
+ }, 100);
194
+ W.value && (ne.value && W.value.unobserve(ne.value), W.value.disconnect()), W.value = new ResizeObserver(e), ne.value = E.value.parentNode, W.value.observe(ne.value), e();
195
+ }
196
+ ot.value = setTimeout(() => {
197
+ le.value = !0;
198
+ }, 500);
199
+ }
200
+ function Gt() {
201
+ if (!_.value || !Object.hasOwn(_.value, "matrix") || _.value.matrix.length < 2) {
202
+ console.warn(`VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:
203
+
204
+ matrix:[
205
+ [1, 1],
206
+ [1, 1]
207
+ ]`), U.value = !1;
208
+ return;
209
+ }
210
+ _.value.matrix.forEach((e, o) => {
211
+ e.length !== _.value.matrix.length && (console.warn(`VueUiChord - Invalid matrix: dataset.matrix at index ${o} has ${e.length} elements instead of the required ${_.value.matrix.length}
212
+
213
+ dataset.matrix[${o}] = [${e.toString()}] has a length of ${e.length} but should have the same length as the matrix itself (${_.value.matrix.length})`), U.value = !1);
214
+ });
215
+ }
216
+ const ot = v(null);
217
+ Mt(() => {
218
+ Ke.value = !0, Te();
219
+ });
220
+ const N = v({
221
+ height: 600,
222
+ width: 600
223
+ }), Yt = m(() => a.value.userOptions.show && !a.value.style.chart.title.text), Wt = m(() => xa(a.value.customPalette)), A = m(() => ({
224
+ inner: N.value.width * 0.3 * a.value.style.chart.arcs.innerRadiusRatio,
225
+ outer: N.value.width * 0.34 * a.value.style.chart.arcs.outerRadiusRatio
226
+ })), qt = m(() => a.value.style.chart.arcs.padAngle / 100), $ = m(() => ({
227
+ matrix: _.value.matrix ?? [[0]],
228
+ labels: _.value.labels ?? [""],
229
+ colors: _.value.colors && Array.isArray(_.value.colors) && _.value.colors.length ? _.value.colors.map((e) => _a(e)) : _.value.matrix.map((e, o) => Wt.value[o] || $e[o] || $e[o % $e.length])
230
+ }));
231
+ function Kt(e, o) {
232
+ const t = e.length, l = A.value.inner, s = new Array(t).fill(0);
233
+ let n = 0;
234
+ for (let c = 0; c < t; c += 1)
235
+ for (let I = 0; I < t; I += 1)
236
+ s[c] += e[c][I], n += e[c][I];
237
+ const u = (2 * Math.PI - o * t) / n, d = [];
238
+ let g = 0;
239
+ for (let c = 0; c < t; c += 1) {
240
+ const I = g, O = I + s[c] * u;
241
+ d.push({
242
+ index: c,
243
+ pattern: `pattern_${M.value}_${c}`,
244
+ startAngle: I,
245
+ endAngle: O,
246
+ name: $.value.labels[c],
247
+ id: ze(),
248
+ color: $.value.colors[c],
249
+ proportion: s[c] / n
250
+ }), g = O + o;
251
+ }
252
+ const C = [];
253
+ for (let c = 0; c < t; c += 1) {
254
+ const I = e[c].map((F, K) => ({ j: K, v: F }));
255
+ I.sort((F, K) => K.v - F.v);
256
+ let O = d[c].startAngle;
257
+ for (const { j: F, v: K } of I) {
258
+ const te = O, he = te + K * u;
259
+ C.push({
260
+ index: c,
261
+ subIndex: F,
262
+ pattern: `pattern_${M.value}_${c}`,
263
+ startAngle: te,
264
+ endAngle: he,
265
+ value: K,
266
+ groupName: $.value.labels[c],
267
+ groupId: d[c].id,
268
+ groupColor: $.value.colors[c],
269
+ midAngle: (te + he) / 2,
270
+ midBaseX: Math.cos((te + he) / 2 - Math.PI / 2) * l,
271
+ midBaseY: Math.sin((te + he) / 2 - Math.PI / 2) * l
272
+ }), O = he;
273
+ }
274
+ }
275
+ const X = [];
276
+ for (const c of C) {
277
+ const I = C.find(
278
+ (O) => O.index === c.subIndex && O.subIndex === c.index
279
+ );
280
+ X.push({ source: c, target: I, id: ze() });
281
+ }
282
+ return { groups: d, chords: X };
283
+ }
284
+ const P = m(() => {
285
+ const e = Kt($.value.matrix, qt.value);
286
+ return Gt(), e.chords.sort(
287
+ (o, t) => Math.max(t.source.value, t.target.value) - Math.max(o.source.value, o.target.value)
288
+ ), e;
289
+ }), Ht = m(() => {
290
+ const e = A.value.outer + a.value.style.chart.ribbons.labels.offset + 12, t = a.value.style.chart.ribbons.labels.fontSize * 0.6, l = [];
291
+ if (k.value) {
292
+ const n = k.value;
293
+ if (n.source.value) {
294
+ const u = String(n.source.value);
295
+ l.push({
296
+ id: n.id + "-src",
297
+ theta: n.source.midAngle,
298
+ w: u.length * t / e,
299
+ midBaseX: n.source.midBaseX,
300
+ midBaseY: n.source.midBaseY,
301
+ groupColor: n.source.groupColor,
302
+ value: n.source.value
303
+ });
304
+ }
305
+ if (n.target && n.target.value && n.target.value !== n.source.value) {
306
+ const u = String(n.target.value);
307
+ l.push({
308
+ id: n.id + "-tgt",
309
+ theta: n.target.midAngle,
310
+ w: u.length * t / e,
311
+ midBaseX: n.target.midBaseX,
312
+ midBaseY: n.target.midBaseY,
313
+ groupColor: n.target.groupColor,
314
+ value: n.target.value
315
+ });
316
+ }
317
+ return l;
318
+ }
319
+ function s(n) {
320
+ P.value.chords.filter((u) => u.source.groupId === n && u.source.value).forEach((u) => {
321
+ {
322
+ const d = String(u.source.value);
323
+ l.push({
324
+ id: u.id + "-src",
325
+ theta: u.source.midAngle,
326
+ w: d.length * t / e,
327
+ midBaseX: u.source.midBaseX,
328
+ midBaseY: u.source.midBaseY,
329
+ groupColor: u.source.groupColor,
330
+ value: u.source.value
331
+ });
332
+ }
333
+ if (u.target && u.target.value && u.target.value !== u.source.value) {
334
+ const d = String(u.target.value);
335
+ l.push({
336
+ id: u.id + "-tgt",
337
+ theta: u.target.midAngle,
338
+ w: d.length * t / e,
339
+ midBaseX: u.target.midBaseX,
340
+ midBaseY: u.target.midBaseY,
341
+ groupColor: u.target.groupColor,
342
+ value: u.target.value
343
+ });
344
+ }
345
+ });
346
+ }
347
+ return b.value && s(b.value), w.value && s(w.value.id), l;
348
+ }), Qt = m(() => {
349
+ const e = Ht.value.map((s) => ({ ...s })).sort((s, n) => s.theta - n.theta), o = a.value.style.chart.ribbons.labels.minSeparationDeg * Math.PI / 180;
350
+ let t = !0, l = 0;
351
+ for (; t && l++ < 10; ) {
352
+ t = !1;
353
+ for (let d = 1; d < e.length; d += 1) {
354
+ const g = e[d - 1], C = e[d], X = g.theta + g.w + o;
355
+ C.theta < X && (C.theta = X, t = !0);
356
+ }
357
+ const s = e[0], n = e[e.length - 1], u = n.theta + n.w + o - 2 * Math.PI;
358
+ s.theta < u && (s.theta = u, t = !0);
359
+ }
360
+ return e;
361
+ });
362
+ function lt(e, o, t, l) {
363
+ const s = e - Math.PI / 2, n = o - Math.PI / 2, u = Math.cos(s) * t, d = Math.sin(s) * t, g = Math.cos(n) * t, C = Math.sin(n) * t, X = Math.cos(n) * l, c = Math.sin(n) * l, I = Math.cos(s) * l, O = Math.sin(s) * l, F = o - e > Math.PI ? 1 : 0;
364
+ return `M${u},${d} A${t},${t} 0 ${F} 1 ${g},${C} L${X},${c} A${l},${l} 0 ${F} 0 ${I},${O} Z`;
365
+ }
366
+ function ce(e, o) {
367
+ const t = A.value.inner, l = e.startAngle - Math.PI / 2, s = e.endAngle - Math.PI / 2, n = o.startAngle - Math.PI / 2, u = o.endAngle - Math.PI / 2, d = Math.cos(l) * t, g = Math.sin(l) * t, C = Math.cos(s) * t, X = Math.sin(s) * t, c = Math.cos(n) * t, I = Math.sin(n) * t, O = Math.cos(u) * t, F = Math.sin(u) * t, K = e.endAngle - e.startAngle > Math.PI ? 1 : 0, te = o.endAngle - o.startAngle > Math.PI ? 1 : 0;
368
+ return `M${d},${g}A${t},${t} 0 ${K} 1 ${C},${X}Q0,0 ${c},${I}A${t},${t} 0 ${te} 1 ${O},${F}Q0,0 ${d},${g}Z`;
369
+ }
370
+ const nt = m(() => T.value * Math.PI / 180);
371
+ function Zt(e) {
372
+ return (e.startAngle + e.endAngle) / 2;
373
+ }
374
+ function Jt(e) {
375
+ return ((Zt(e) + nt.value) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI);
376
+ }
377
+ function ea(e) {
378
+ let o = e + nt.value;
379
+ return o = (o % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI), o > Math.PI ? "end" : "start";
380
+ }
381
+ function ta(e) {
382
+ const o = e - Math.PI / 2, t = Math.cos(o) * (A.value.outer + a.value.style.chart.arcs.labels.offset + 24), l = Math.sin(o) * (A.value.outer + a.value.style.chart.arcs.labels.offset + 24);
383
+ return `translate(${t},${l})`;
384
+ }
385
+ function aa(e, o, t) {
386
+ const l = e - Math.PI / 2, s = o - Math.PI / 2, n = Math.cos(l) * t, u = Math.sin(l) * t, d = Math.cos(s) * t, g = Math.sin(s) * t, C = o - e > Math.PI ? 1 : 0;
387
+ return `M${n},${u} A${t},${t} 0 ${C} 1 ${d},${g}`;
388
+ }
389
+ const T = v(a.value.initialRotation), ve = v(!1);
390
+ let st = 0, rt = 0;
391
+ function ut(e) {
392
+ const o = q.value.getBoundingClientRect(), t = o.left + o.width / 2, l = o.top + o.height / 2, s = e.clientX ?? e.touches[0].clientX, n = e.clientY ?? e.touches[0].clientY;
393
+ return Math.atan2(n - l, s - t);
394
+ }
395
+ function it(e) {
396
+ !a.value.enableRotation || se.value || (e.preventDefault(), ve.value = !0, st = T.value, rt = ut(e));
397
+ }
398
+ function pe(e) {
399
+ if (!ve.value) return;
400
+ const o = ut(e);
401
+ T.value = st + (o - rt) * 180 / Math.PI;
402
+ }
403
+ function be() {
404
+ ve.value = !1;
405
+ }
406
+ function Oe(e) {
407
+ return La(
408
+ a.value.style.chart.ribbons.labels.formatter,
409
+ e,
410
+ Ue({
411
+ p: a.value.style.chart.ribbons.labels.prefix,
412
+ v: e,
413
+ s: a.value.style.chart.ribbons.labels.suffix,
414
+ r: a.value.style.chart.ribbons.labels.rounding
415
+ })
416
+ );
417
+ }
418
+ Mt(() => {
419
+ window.addEventListener("mousemove", pe), window.addEventListener("mouseup", be), window.addEventListener("touchmove", pe, { passive: !1 }), window.addEventListener("touchend", be);
420
+ }), Pt(() => {
421
+ window.removeEventListener("mousemove", pe), window.removeEventListener("mouseup", be), window.removeEventListener("touchmove", pe), window.removeEventListener("touchend", be), clearTimeout(ot.value), W.value && (ne.value && W.value.unobserve(ne.value), W.value.disconnect());
422
+ });
423
+ const me = v(!1);
424
+ function ct(e) {
425
+ me.value = e, je.value += 1;
426
+ }
427
+ function oa(e, o) {
428
+ a.value.events.datapointEnter && a.value.events.datapointEnter({ datapoint: e, seriesIndex: o }), !b.value && (w.value = e);
429
+ }
430
+ function la(e, o) {
431
+ w.value = null, a.value.events.datapointLeave && a.value.events.datapointLeave({ datapoint: e, seriesIndex: o });
432
+ }
433
+ function vt(e, o) {
434
+ re("selectGroup", e), a.value.events.datapointClick && a.value.events.datapointClick({ datapoint: e, seriesIndex: o });
435
+ }
436
+ function na(e, o) {
437
+ a.value.events.datapointEnter && a.value.events.datapointEnter({ datapoint: e, seriesIndex: o }), !b.value && (k.value = e);
438
+ }
439
+ function sa(e, o) {
440
+ k.value = null, a.value.events.datapointLeave && a.value.events.datapointLeave({ datapoint: e, seriesIndex: o });
441
+ }
442
+ function dt(e, o) {
443
+ re("selectRibbon", e), a.value.events.datapointClick && a.value.events.datapointClick({ datapoint: e, seriesIndex: o });
444
+ }
445
+ function ht(e) {
446
+ return !b.value && !w.value && !k.value ? 0.8 : (b.value ? b.value === e.source.groupId : w.value ? w.value.id === e.source.groupId : k.value?.id === e.id) ? 1 : 0.1;
447
+ }
448
+ function ft(e) {
449
+ return !b.value && !w.value && !k.value || (b.value ? b.value === e.id : w.value ? w.value.id === e.id : [k.value?.source.groupId, k.value?.target.groupId].includes(e.id)) ? 1 : 0.3;
450
+ }
451
+ const se = v(!1);
452
+ function Be() {
453
+ se.value = !se.value;
454
+ }
455
+ function gt() {
456
+ Z.value.showTable = !Z.value.showTable;
457
+ }
458
+ function ra() {
459
+ return P.value;
460
+ }
461
+ const J = v(null);
462
+ function pt() {
463
+ const e = a.value.initialRotation;
464
+ J.value !== null && cancelAnimationFrame(J.value);
465
+ const o = () => {
466
+ T.value += (e - T.value) * 0.05, Math.abs(T.value - e) < 0.1 ? (T.value = e, J.value = null) : J.value = requestAnimationFrame(o);
467
+ };
468
+ J.value = requestAnimationFrame(o);
469
+ }
470
+ Pt(() => {
471
+ J.value !== null && cancelAnimationFrame(J.value);
472
+ });
473
+ function bt(e) {
474
+ e === b.value ? (b.value = null, re("selectLegend", null)) : (b.value = e, re("selectLegend", P.value.groups.find((o) => o.id === e)));
475
+ }
476
+ const Le = m(() => P.value.groups.map((e, o) => ({
477
+ name: e.name,
478
+ color: e.color,
479
+ shape: "circle",
480
+ patternIndex: o,
481
+ pattern: `pattern_${M.value}_${o}`,
482
+ id: e.id,
483
+ select: () => bt(e.id),
484
+ opacity: b.value ? b.value === e.id ? 1 : 0.3 : 1
485
+ }))), ua = m(() => ({
486
+ cy: "chord-div-legend",
487
+ backgroundColor: a.value.style.chart.legend.backgroundColor,
488
+ color: a.value.style.chart.legend.color,
489
+ fontSize: a.value.style.chart.legend.fontSize,
490
+ paddingBottom: 12,
491
+ fontWeight: a.value.style.chart.legend.bold ? "bold" : ""
492
+ })), ee = m(() => {
493
+ const e = P.value.groups.map((t, l) => ({
494
+ name: t.name || l,
495
+ color: t.color
496
+ })), o = $.value.matrix;
497
+ return { head: e, body: o };
498
+ }), ye = m(() => {
499
+ const e = [{ name: "", color: null }, ...ee.value.head], o = ee.value.body.map((s, n) => [
500
+ ee.value.head[n],
501
+ ...ee.value.body[n]
502
+ ]), t = {
503
+ th: {
504
+ backgroundColor: a.value.table.th.backgroundColor,
505
+ color: a.value.table.th.color,
506
+ outline: a.value.table.th.outline
507
+ },
508
+ td: {
509
+ backgroundColor: a.value.table.td.backgroundColor,
510
+ color: a.value.table.td.color,
511
+ outline: a.value.table.td.outline
512
+ },
513
+ breakpoint: a.value.table.responsiveBreakpoint
514
+ };
515
+ return {
516
+ colNames: e,
517
+ head: e,
518
+ body: o,
519
+ config: t
520
+ };
521
+ });
522
+ function De(e = null) {
523
+ Fe(() => {
524
+ const o = $.value.matrix.map((s, n) => [
525
+ [$.value.labels[n] || n],
526
+ s
527
+ ]), t = [
528
+ [a.value.style.chart.title.text],
529
+ [a.value.style.chart.title.subtitle.text],
530
+ [
531
+ [""],
532
+ ...$.value.labels.map((s, n) => [s || n])
533
+ ]
534
+ ].concat(o), l = Da(t);
535
+ e ? e(l) : Ea({ csvContent: l, title: a.value.style.chart.title.text || "vue-ui-chord" });
536
+ });
537
+ }
538
+ async function ia({ scale: e = 2 } = {}) {
539
+ if (!E.value) return;
540
+ const { width: o, height: t } = E.value.getBoundingClientRect(), l = o / t, { imageUri: s, base64: n } = await Wa({ domElement: E.value, base64: !0, img: !0, scale: e });
541
+ return {
542
+ imageUri: s,
543
+ base64: n,
544
+ title: a.value.style.chart.title.text,
545
+ width: o,
546
+ height: t,
547
+ aspectRatio: l
548
+ };
549
+ }
550
+ function ca(e, o) {
551
+ return `${$.value.labels[o]}${a.value.style.chart.arcs.labels.showPercentage ? Ue({
552
+ p: " (",
553
+ v: isNaN(e.proportion) ? 0 : e.proportion * 100,
554
+ s: "%)",
555
+ r: a.value.style.chart.arcs.labels.roundingPercentage
556
+ }) : ""}`;
557
+ }
558
+ const de = m(() => {
559
+ const e = a.value.table.useDialog && !a.value.table.show, o = Z.value.showTable;
560
+ return {
561
+ component: e ? zt : Dt,
562
+ title: `${a.value.style.chart.title.text}${a.value.style.chart.title.subtitle.text ? `: ${a.value.style.chart.title.subtitle.text}` : ""}`,
563
+ props: e ? {
564
+ backgroundColor: a.value.table.th.backgroundColor,
565
+ color: a.value.table.th.color,
566
+ headerColor: a.value.table.th.color,
567
+ headerBg: a.value.table.th.backgroundColor,
568
+ isFullscreen: me.value,
569
+ fullscreenParent: E.value,
570
+ forcedWidth: Math.min(800, window.innerWidth * 0.8),
571
+ isCursorPointer: Q.value
572
+ } : {
573
+ hideDetails: !0,
574
+ config: {
575
+ open: o,
576
+ maxHeight: 1e4,
577
+ body: {
578
+ backgroundColor: a.value.style.chart.backgroundColor,
579
+ color: a.value.style.chart.color
580
+ },
581
+ head: {
582
+ backgroundColor: a.value.style.chart.backgroundColor,
583
+ color: a.value.style.chart.color
584
+ }
585
+ }
586
+ }
587
+ };
588
+ });
589
+ Ne(() => Z.value.showTable, (e) => {
590
+ a.value.table.show || (e && a.value.table.useDialog && ue.value ? ue.value.open() : "close" in ue.value && ue.value.close());
591
+ });
592
+ function mt() {
593
+ Z.value.showTable = !1, Me.value && Me.value.setTableIconState(!1);
594
+ }
595
+ const va = m(() => a.value.style.chart.backgroundColor), da = m(() => a.value.style.chart.legend), ha = m(() => a.value.style.chart.title), { exportSvg: fa, getSvg: ga } = Xa({
596
+ svg: q,
597
+ title: ha,
598
+ legend: da,
599
+ legendItems: Le,
600
+ backgroundColor: va
601
+ });
602
+ async function yt({ isCb: e }) {
603
+ ge.value = !0, await Fe();
604
+ try {
605
+ if (e) {
606
+ const { blob: o, url: t, text: l, dataUrl: s } = await ga();
607
+ await Promise.resolve(a.value.userOptions.callbacks.svg({ blob: o, url: t, text: l, dataUrl: s }));
608
+ } else
609
+ await Promise.resolve(fa());
610
+ } finally {
611
+ ge.value = !1;
612
+ }
613
+ }
614
+ function pa(e) {
615
+ if (e?.stage === "start") {
616
+ fe.value = !0;
617
+ return;
618
+ }
619
+ if (e?.stage === "end") {
620
+ fe.value = !1;
621
+ return;
622
+ }
623
+ et();
624
+ }
625
+ async function kt() {
626
+ if (re("copyAlt", {
627
+ config: a.value,
628
+ dataset: $.value
629
+ }), !a.value.userOptions.callbacks.altCopy) {
630
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
631
+ return;
632
+ }
633
+ await Promise.resolve(a.value.userOptions.callbacks.altCopy({
634
+ config: a.value,
635
+ dataset: $.value
636
+ }));
637
+ }
638
+ const ba = m(() => (w.value ? P.value.chords.filter((e) => e.source.groupId === w.value.id) : b.value ? P.value.chords.filter((e) => e.source.groupId === b.value) : P.value.chords).filter((e) => e.source.value)), R = m(() => {
639
+ const e = P.value.groups.map((t, l) => ({
640
+ type: "group",
641
+ index: l,
642
+ item: t
643
+ })), o = ba.value.map((t, l) => ({
644
+ type: "ribbon",
645
+ index: l,
646
+ item: {
647
+ ...t,
648
+ path: ce(t.source, t.target),
649
+ color: $.value.colors[t.source.index]
650
+ }
651
+ }));
652
+ return { groups: e, ribbons: o };
653
+ }), Ee = m(() => {
654
+ const e = [
655
+ "",
656
+ ...ee.value.head.map((t) => t.name)
657
+ ], o = ee.value.body.map((t, l) => [
658
+ ee.value.head[l]?.name ?? `${l}`,
659
+ ...t.map((s) => Oe(s))
660
+ ]);
661
+ return { headers: e, rows: o };
662
+ });
663
+ function $t(e) {
664
+ const o = R.value.groups[e];
665
+ o && (V.value = "group", B.value = e, k.value = null, w.value = o.item);
666
+ }
667
+ function Ct(e) {
668
+ const o = R.value.ribbons[e];
669
+ o && (V.value = "ribbon", B.value = e, w.value = null, k.value = o.item);
670
+ }
671
+ function wt() {
672
+ B.value = null, V.value = "group", w.value = null, k.value = null;
673
+ }
674
+ function ma() {
675
+ Pe.value = !0, V.value = "group", B.value = null;
676
+ }
677
+ function ya() {
678
+ Pe.value = !1, wt();
679
+ }
680
+ function ka(e) {
681
+ if (!q.value || se.value || document.activeElement !== q.value) return;
682
+ const o = e.key === "ArrowLeft", t = e.key === "ArrowRight", l = e.key === "ArrowUp", s = e.key === "ArrowDown", n = e.key === "Enter" || e.key === " ", u = e.key === "Escape";
683
+ if (!o && !t && !l && !s && !n && !u) return;
684
+ if (e.preventDefault(), e.stopPropagation(), u) {
685
+ wt();
686
+ return;
687
+ }
688
+ if (l) {
689
+ V.value = "group", R.value.groups.length && $t(
690
+ B.value === null ? 0 : Math.min(B.value, R.value.groups.length - 1)
691
+ );
692
+ return;
693
+ }
694
+ if (s) {
695
+ if (!R.value.ribbons.length) return;
696
+ V.value = "ribbon", Ct(
697
+ B.value === null ? 0 : Math.min(B.value, R.value.ribbons.length - 1)
698
+ );
699
+ return;
700
+ }
701
+ if (n) {
702
+ if (V.value === "group") {
703
+ const C = R.value.groups[B.value];
704
+ C && vt(C.item, C.index);
705
+ } else {
706
+ const C = R.value.ribbons[B.value];
707
+ C && dt(C.item, C.index);
708
+ }
709
+ return;
710
+ }
711
+ const d = V.value === "group" ? R.value.groups : R.value.ribbons;
712
+ if (!d.length) return;
713
+ let g = B.value;
714
+ g === null || g < 0 || g >= d.length ? g = t ? 0 : d.length - 1 : t ? (g += 1, g >= d.length && (g = 0)) : o && (g -= 1, g < 0 && (g = d.length - 1)), V.value === "group" ? $t(g) : Ct(g);
715
+ }
716
+ return Bt({
717
+ getData: ra,
718
+ getImage: ia,
719
+ generateCsv: De,
720
+ generateImage: et,
721
+ generateSvg: yt,
722
+ generatePdf: Je,
723
+ toggleAnnotator: Be,
724
+ toggleTable: gt,
725
+ toggleFullscreen: ct,
726
+ copyAlt: kt
727
+ }), (e, o) => (r(), i("div", {
728
+ ref_key: "chordChart",
729
+ ref: E,
730
+ class: j({
731
+ "vue-data-ui-component": !0,
732
+ "vue-ui-chord": !0,
733
+ "vue-data-ui-wrapper-fullscreen": me.value,
734
+ "vue-data-ui-responsive": a.value.responsive
735
+ }),
736
+ style: z(`font-family:${a.value.style.fontFamily};width:100%; text-align:center;background:${a.value.style.chart.backgroundColor}`),
737
+ id: `chord_${M.value}`,
738
+ onMouseenter: o[2] || (o[2] = () => h(Qe)(!0)),
739
+ onMouseleave: o[3] || (o[3] = () => h(Qe)(!1))
740
+ }, [
741
+ x("div", {
742
+ id: `chart-instructions-${M.value}`,
743
+ class: "sr-only"
744
+ }, [
745
+ x("p", null, H(a.value.a11y.translations.keyboardNavigation), 1)
746
+ ], 8, to),
747
+ Ee.value?.rows?.length ? (r(), G(Za, {
748
+ key: 0,
749
+ uid: M.value,
750
+ head: Ee.value.headers,
751
+ body: Ee.value.rows,
752
+ notice: a.value.a11y.translations.tableAvailable,
753
+ caption: a.value.a11y.translations.tableCaption
754
+ }, null, 8, ["uid", "head", "body", "notice", "caption"])) : f("", !0),
755
+ a.value.userOptions.buttons.annotator && h(q) ? (r(), G(h(Rt), {
756
+ key: 1,
757
+ color: a.value.style.chart.color,
758
+ backgroundColor: a.value.style.chart.backgroundColor,
759
+ active: se.value,
760
+ svgRef: h(q),
761
+ isCursorPointer: Q.value,
762
+ onClose: Be
763
+ }, {
764
+ "annotator-action-close": y(() => [
765
+ p(e.$slots, "annotator-action-close", {}, void 0, !0)
766
+ ]),
767
+ "annotator-action-color": y(({ color: t }) => [
768
+ p(e.$slots, "annotator-action-color", L(D({ color: t })), void 0, !0)
769
+ ]),
770
+ "annotator-action-draw": y(({ mode: t }) => [
771
+ p(e.$slots, "annotator-action-draw", L(D({ mode: t })), void 0, !0)
772
+ ]),
773
+ "annotator-action-undo": y(({ disabled: t }) => [
774
+ p(e.$slots, "annotator-action-undo", L(D({ disabled: t })), void 0, !0)
775
+ ]),
776
+ "annotator-action-redo": y(({ disabled: t }) => [
777
+ p(e.$slots, "annotator-action-redo", L(D({ disabled: t })), void 0, !0)
778
+ ]),
779
+ "annotator-action-delete": y(({ disabled: t }) => [
780
+ p(e.$slots, "annotator-action-delete", L(D({ disabled: t })), void 0, !0)
781
+ ]),
782
+ _: 3
783
+ }, 8, ["color", "backgroundColor", "active", "svgRef", "isCursorPointer"])) : f("", !0),
784
+ p(e.$slots, "userConfig", {}, void 0, !0),
785
+ Yt.value ? (r(), i("div", {
786
+ key: 2,
787
+ ref_key: "noTitle",
788
+ ref: qe,
789
+ class: "vue-data-ui-no-title-space",
790
+ style: "height:36px; width: 100%;background:transparent"
791
+ }, null, 512)) : f("", !0),
792
+ a.value.style.chart.title.text ? (r(), i("div", {
793
+ key: 3,
794
+ ref_key: "chartTitle",
795
+ ref: Ge,
796
+ style: "width:100%;background:transparent;padding-bottom:24px"
797
+ }, [
798
+ (r(), G(Ka, {
799
+ key: `title_${Ce.value}`,
800
+ config: {
801
+ title: {
802
+ cy: "chord-div-title",
803
+ ...a.value.style.chart.title
804
+ },
805
+ subtitle: {
806
+ cy: "chord-div-subtitle",
807
+ ...a.value.style.chart.title.subtitle
808
+ }
809
+ }
810
+ }, null, 8, ["config"]))
811
+ ], 512)) : f("", !0),
812
+ x("div", {
813
+ id: `legend-top-${M.value}`
814
+ }, null, 8, ao),
815
+ a.value.userOptions.show && U.value && (h(Ze) || h(Ie)) ? (r(), G(h(Ft), {
816
+ ref_key: "userOptionsRef",
817
+ ref: Me,
818
+ key: `user_option_${je.value}`,
819
+ backgroundColor: a.value.style.chart.backgroundColor,
820
+ color: a.value.style.chart.color,
821
+ isPrinting: h(xe),
822
+ isImaging: h(_e),
823
+ uid: M.value,
824
+ hasTooltip: !1,
825
+ hasPdf: a.value.userOptions.buttons.pdf,
826
+ hasImg: a.value.userOptions.buttons.img,
827
+ hasSvg: a.value.userOptions.buttons.svg,
828
+ hasXls: a.value.userOptions.buttons.csv,
829
+ hasTable: a.value.userOptions.buttons.table,
830
+ hasLabel: !1,
831
+ hasFullscreen: a.value.userOptions.buttons.fullscreen,
832
+ hasAltCopy: a.value.userOptions.buttons.altCopy,
833
+ isFullscreen: me.value,
834
+ chartElement: E.value,
835
+ position: a.value.userOptions.position,
836
+ titles: { ...a.value.userOptions.buttonTitles },
837
+ hasAnnotator: a.value.userOptions.buttons.annotator,
838
+ isAnnotation: se.value,
839
+ callbacks: a.value.userOptions.callbacks,
840
+ printScale: a.value.userOptions.print.scale,
841
+ tableDialog: a.value.table.useDialog,
842
+ isCursorPointer: Q.value,
843
+ onToggleFullscreen: ct,
844
+ onGeneratePdf: h(Je),
845
+ onGenerateCsv: De,
846
+ onGenerateImage: pa,
847
+ onGenerateSvg: yt,
848
+ onToggleTable: gt,
849
+ onToggleAnnotator: Be,
850
+ onCopyAlt: kt,
851
+ style: z({
852
+ visibility: h(Ze) ? h(Ie) ? "visible" : "hidden" : "visible"
853
+ })
854
+ }, Re({ _: 2 }, [
855
+ e.$slots.menuIcon ? {
856
+ name: "menuIcon",
857
+ fn: y(({ isOpen: t, color: l }) => [
858
+ p(e.$slots, "menuIcon", L(D({ isOpen: t, color: l })), void 0, !0)
859
+ ]),
860
+ key: "0"
861
+ } : void 0,
862
+ e.$slots.optionPdf ? {
863
+ name: "optionPdf",
864
+ fn: y(() => [
865
+ p(e.$slots, "optionPdf", {}, void 0, !0)
866
+ ]),
867
+ key: "1"
868
+ } : void 0,
869
+ e.$slots.optionCsv ? {
870
+ name: "optionCsv",
871
+ fn: y(() => [
872
+ p(e.$slots, "optionCsv", {}, void 0, !0)
873
+ ]),
874
+ key: "2"
875
+ } : void 0,
876
+ e.$slots.optionImg ? {
877
+ name: "optionImg",
878
+ fn: y(() => [
879
+ p(e.$slots, "optionImg", {}, void 0, !0)
880
+ ]),
881
+ key: "3"
882
+ } : void 0,
883
+ e.$slots.optionSvg ? {
884
+ name: "optionSvg",
885
+ fn: y(() => [
886
+ p(e.$slots, "optionSvg", {}, void 0, !0)
887
+ ]),
888
+ key: "4"
889
+ } : void 0,
890
+ e.$slots.optionTable ? {
891
+ name: "optionTable",
892
+ fn: y(() => [
893
+ p(e.$slots, "optionTable", {}, void 0, !0)
894
+ ]),
895
+ key: "5"
896
+ } : void 0,
897
+ e.$slots.optionFullscreen ? {
898
+ name: "optionFullscreen",
899
+ fn: y(({ toggleFullscreen: t, isFullscreen: l }) => [
900
+ p(e.$slots, "optionFullscreen", L(D({ toggleFullscreen: t, isFullscreen: l })), void 0, !0)
901
+ ]),
902
+ key: "6"
903
+ } : void 0,
904
+ e.$slots.optionAnnotator ? {
905
+ name: "optionAnnotator",
906
+ fn: y(({ toggleAnnotator: t, isAnnotator: l }) => [
907
+ p(e.$slots, "optionAnnotator", L(D({ toggleAnnotator: t, isAnnotator: l })), void 0, !0)
908
+ ]),
909
+ key: "7"
910
+ } : void 0,
911
+ e.$slots.optionAltCopy ? {
912
+ name: "optionAltCopy",
913
+ fn: y(({ altCopy: t }) => [
914
+ p(e.$slots, "optionAltCopy", L(D({ altCopy: t })), void 0, !0)
915
+ ]),
916
+ key: "8"
917
+ } : void 0
918
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "hasAltCopy", "isFullscreen", "chartElement", "position", "titles", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "isCursorPointer", "onGeneratePdf", "style"])) : f("", !0),
919
+ (r(), i("svg", {
920
+ xmlns: h(Sa),
921
+ ref_key: "svgRef",
922
+ ref: q,
923
+ viewBox: `0 0 ${N.value.width} ${N.value.height}`,
924
+ "aria-describedby": `chart-instructions-${M.value}`,
925
+ tabindex: "0",
926
+ preserveAspectRatio: "xMidYMid meet",
927
+ style: {
928
+ overflow: "visible"
929
+ },
930
+ class: j({ "vue-ui-chord-rotating": ve.value, "vue-ui-chord-idle": !ve.value }),
931
+ onMousedown: It(it, ["prevent"]),
932
+ onTouchstart: It(it, ["prevent"]),
933
+ onFocus: ma,
934
+ onBlur: ya,
935
+ onKeydown: ka
936
+ }, [
937
+ ke(h(Nt)),
938
+ e.$slots["chart-background"] ? (r(), i("foreignObject", {
939
+ key: 0,
940
+ x: 0,
941
+ y: 0,
942
+ width: N.value.width <= 0 ? 10 : N.value.width,
943
+ height: N.value.height <= 0 ? 10 : N.value.height,
944
+ style: {
945
+ pointerEvents: "none"
946
+ }
947
+ }, [
948
+ p(e.$slots, "chart-background", {}, void 0, !0)
949
+ ], 8, lo)) : f("", !0),
950
+ a.value.style.chart.arcs.labels.curved ? (r(), i("defs", no, [
951
+ (r(!0), i(Y, null, oe(P.value.groups, (t, l) => (r(), i("path", {
952
+ key: `labelPath-${l}`,
953
+ id: `labelPath-${l}_${M.value}`,
954
+ d: aa(
955
+ t.startAngle,
956
+ t.endAngle,
957
+ (A.value.inner + A.value.outer) / 2 + a.value.style.chart.arcs.labels.offset
958
+ ),
959
+ fill: "none"
960
+ }, null, 8, so))), 128))
961
+ ])) : f("", !0),
962
+ e.$slots.pattern ? (r(), i("g", ro, [
963
+ (r(!0), i(Y, null, oe(P.value.groups, (t, l) => (r(), i("defs", null, [
964
+ p(e.$slots, "pattern", xt({ ref_for: !0 }, { seriesIndex: t.index, patternId: `pattern_${M.value}_${l}` }), void 0, !0)
965
+ ]))), 256))
966
+ ])) : f("", !0),
967
+ x("g", {
968
+ transform: `translate(${N.value.width / 2}, ${N.value.height / 2}) rotate(${T.value})`
969
+ }, [
970
+ (r(!0), i(Y, null, oe(P.value.groups, (t, l) => (r(), i("g", null, [
971
+ (r(), i("path", {
972
+ class: j({ "vue-ui-chord-arc": !0, "vue-ui-chord-arc-animated": a.value.useCssAnimation && !le.value }),
973
+ key: `arc-${l}`,
974
+ d: lt(
975
+ t.startAngle,
976
+ t.endAngle,
977
+ A.value.outer,
978
+ A.value.inner
979
+ ),
980
+ fill: $.value.colors[l],
981
+ stroke: a.value.style.chart.arcs.stroke,
982
+ "stroke-width": a.value.style.chart.arcs.strokeWidth,
983
+ "stroke-linecap": "round",
984
+ "stroke-linejoin": "round",
985
+ style: z({
986
+ opacity: ft(t)
987
+ }),
988
+ onMouseenter: (s) => oa(t, l),
989
+ onMouseleave: (s) => la(t, l),
990
+ onClick: (s) => vt(t, l)
991
+ }, null, 46, io)),
992
+ e.$slots.pattern ? (r(), i("path", {
993
+ class: j({ "vue-ui-chord-arc": !0, "vue-ui-chord-arc-animated": a.value.useCssAnimation && !le.value }),
994
+ key: `arc-${l}`,
995
+ d: lt(
996
+ t.startAngle,
997
+ t.endAngle,
998
+ A.value.outer,
999
+ A.value.inner
1000
+ ),
1001
+ fill: `url(#${t.pattern})`,
1002
+ stroke: a.value.style.chart.arcs.stroke,
1003
+ "stroke-width": a.value.style.chart.arcs.strokeWidth,
1004
+ "stroke-linecap": "round",
1005
+ "stroke-linejoin": "round",
1006
+ style: z({
1007
+ opacity: ft(t),
1008
+ pointerEvents: "none"
1009
+ })
1010
+ }, null, 14, co)) : f("", !0)
1011
+ ]))), 256)),
1012
+ x("g", null, [
1013
+ (r(!0), i(Y, null, oe(w.value ? P.value.chords.filter((t) => t.source.groupId === w.value.id) : b.value ? P.value.chords.filter((t) => t.source.groupId === b.value) : P.value.chords, (t, l) => (r(), i(Y, {
1014
+ key: `ribbon-${t.id}`
1015
+ }, [
1016
+ t.source.value ? (r(), i("path", {
1017
+ key: 0,
1018
+ class: j({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !le.value }),
1019
+ d: ce(t.source, t.target),
1020
+ fill: a.value.style.chart.backgroundColor,
1021
+ style: z({ opacity: a.value.style.chart.ribbons.underlayerOpacity })
1022
+ }, null, 14, vo)) : f("", !0),
1023
+ t.source.value ? (r(), i("path", {
1024
+ key: 1,
1025
+ class: j({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !le.value }),
1026
+ d: ce(t.source, t.target),
1027
+ fill: $.value.colors[t.source.index],
1028
+ stroke: a.value.style.chart.ribbons.stroke,
1029
+ "stroke-width": a.value.style.chart.ribbons.strokeWidth,
1030
+ "stroke-linecap": "round",
1031
+ "stroke-linejoin": "round",
1032
+ style: z({ opacity: ht(t) }),
1033
+ onMouseenter: (s) => na({
1034
+ ...t,
1035
+ path: ce(t.source, t.target),
1036
+ color: $.value.colors[t.source.index]
1037
+ }, l),
1038
+ onClick: (s) => dt({
1039
+ ...t,
1040
+ color: $.value.colors[t.source.index]
1041
+ }, l),
1042
+ onMouseleave: (s) => sa({
1043
+ ...t,
1044
+ color: $.value.colors[t.source.index]
1045
+ }, l)
1046
+ }, null, 46, ho)) : f("", !0),
1047
+ t.source.value && e.$slots.pattern ? (r(), i("path", {
1048
+ key: 2,
1049
+ class: j({ "vue-ui-chord-ribbon": !0, "vue-ui-chord-ribbon-animated": a.value.useCssAnimation && !le.value }),
1050
+ d: ce(t.source, t.target),
1051
+ fill: `url(#pattern_${M.value}_${t.source.index})`,
1052
+ stroke: a.value.style.chart.ribbons.stroke,
1053
+ "stroke-width": a.value.style.chart.ribbons.strokeWidth,
1054
+ "stroke-linecap": "round",
1055
+ "stroke-linejoin": "round",
1056
+ style: z({
1057
+ opacity: ht(t),
1058
+ pointerEvents: "none"
1059
+ })
1060
+ }, null, 14, fo)) : f("", !0)
1061
+ ], 64))), 128)),
1062
+ k.value ? (r(), i("path", {
1063
+ key: 0,
1064
+ d: k.value.path,
1065
+ fill: k.value.color,
1066
+ stroke: a.value.style.chart.ribbons.stroke,
1067
+ "stroke-width": a.value.style.chart.ribbons.strokeWidth,
1068
+ "stroke-linecap": "round",
1069
+ "stroke-linejoin": "round",
1070
+ class: j({ "vue-ui-chord-ribbon": !0 }),
1071
+ style: {
1072
+ pointerEvents: "none"
1073
+ }
1074
+ }, null, 8, go)) : f("", !0),
1075
+ k.value && e.$slots.pattern ? (r(), i("path", {
1076
+ key: 1,
1077
+ d: k.value.path,
1078
+ fill: `url(#${k.value.source.pattern})`,
1079
+ stroke: a.value.style.chart.ribbons.stroke,
1080
+ "stroke-width": a.value.style.chart.ribbons.strokeWidth,
1081
+ "stroke-linecap": "round",
1082
+ "stroke-linejoin": "round",
1083
+ class: j({ "vue-ui-chord-ribbon": !0 }),
1084
+ style: {
1085
+ pointerEvents: "none"
1086
+ }
1087
+ }, null, 8, po)) : f("", !0)
1088
+ ]),
1089
+ (w.value || k.value || b.value) && a.value.style.chart.ribbons.labels.show ? (r(), i("g", bo, [
1090
+ (r(!0), i(Y, null, oe(Qt.value, (t) => (r(), i(Y, {
1091
+ key: t.id
1092
+ }, [
1093
+ x("line", {
1094
+ x1: t.midBaseX,
1095
+ y1: t.midBaseY,
1096
+ x2: Math.cos(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1097
+ y2: Math.sin(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1098
+ stroke: a.value.style.chart.backgroundColor,
1099
+ "stroke-width": a.value.style.chart.ribbons.labels.connector.strokeWidth * 3,
1100
+ "pointer-events": "none"
1101
+ }, null, 8, mo),
1102
+ x("line", {
1103
+ x1: t.midBaseX,
1104
+ y1: t.midBaseY,
1105
+ x2: Math.cos(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1106
+ y2: Math.sin(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1107
+ stroke: a.value.style.chart.ribbons.labels.connector.stroke,
1108
+ "stroke-width": a.value.style.chart.ribbons.labels.connector.strokeWidth,
1109
+ "pointer-events": "none"
1110
+ }, null, 8, yo),
1111
+ a.value.style.chart.ribbons.labels.marker.show ? (r(), i("circle", {
1112
+ key: 0,
1113
+ cx: Math.cos(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1114
+ cy: Math.sin(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 12),
1115
+ r: a.value.style.chart.ribbons.labels.marker.radius,
1116
+ stroke: a.value.style.chart.ribbons.labels.marker.stroke,
1117
+ "stroke-width": a.value.style.chart.ribbons.labels.marker.strokeWidth,
1118
+ fill: t.groupColor,
1119
+ "pointer-events": "none"
1120
+ }, null, 8, ko)) : f("", !0),
1121
+ x("text", {
1122
+ transform: `
1123
+ translate(
1124
+ ${Math.cos(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 24)},
1125
+ ${Math.sin(t.theta - Math.PI / 2) * (A.value.outer + a.value.style.chart.ribbons.labels.offset + 24)}
1126
+ ) rotate(${-T.value})
1127
+ `,
1128
+ fill: a.value.style.chart.ribbons.labels.useSerieColor ? t.groupColor : a.value.style.chart.ribbons.labels.color,
1129
+ "text-anchor": ea(t.theta),
1130
+ "font-size": a.value.style.chart.ribbons.labels.fontSize,
1131
+ "font-weight": a.value.style.chart.ribbons.labels.bold ? "bold" : "normal",
1132
+ dy: ".35em",
1133
+ "pointer-events": "none"
1134
+ }, H(Oe(t.value)), 9, $o)
1135
+ ], 64))), 128))
1136
+ ])) : f("", !0),
1137
+ a.value.style.chart.arcs.labels.show ? (r(), i("g", Co, [
1138
+ a.value.style.chart.arcs.labels.curved ? (r(!0), i(Y, { key: 0 }, oe(P.value.groups, (t, l) => (r(), i("text", {
1139
+ class: "vue-ui-chord-label-curved",
1140
+ key: `curved-label-${l}`,
1141
+ "font-size": a.value.style.chart.arcs.labels.fontSize,
1142
+ "font-weight": a.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1143
+ fill: a.value.style.chart.arcs.labels.adaptColorToBackground ? h(Ta)($.value.colors[l]) : a.value.style.chart.arcs.labels.color
1144
+ }, [
1145
+ x("textPath", {
1146
+ href: `#labelPath-${l}_${M.value}`,
1147
+ startOffset: "50%",
1148
+ "text-anchor": "middle"
1149
+ }, H($.value.labels[l]) + H(a.value.style.chart.arcs.labels.showPercentage ? h(Ue)({
1150
+ p: " (",
1151
+ v: isNaN(t.proportion) ? 0 : t.proportion * 100,
1152
+ s: "%)",
1153
+ r: a.value.style.chart.arcs.labels.roundingPercentage
1154
+ }) : ""), 9, Ao)
1155
+ ], 8, wo))), 128)) : !w.value && !k.value && !b.value ? (r(!0), i(Y, { key: 1 }, oe(P.value.groups, (t, l) => (r(), i("text", {
1156
+ class: "vue-ui-chord-label-straight",
1157
+ key: `label-${l}`,
1158
+ transform: `
1159
+ ${ta((t.startAngle + t.endAngle) / 2)}
1160
+ rotate(${-T.value})
1161
+ `,
1162
+ dy: ".35em",
1163
+ "text-anchor": Jt(t) > Math.PI ? "end" : "start",
1164
+ "font-size": a.value.style.chart.arcs.labels.fontSize,
1165
+ "font-weight": a.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1166
+ fill: a.value.style.chart.arcs.labels.color,
1167
+ innerHTML: h(Oa)({
1168
+ content: h(Ba)(ca(t, l)),
1169
+ fontSize: a.value.style.chart.arcs.labels.fontSize,
1170
+ fill: a.value.style.chart.arcs.labels.color,
1171
+ x: 0,
1172
+ y: 0
1173
+ })
1174
+ }, null, 8, Mo))), 128)) : f("", !0)
1175
+ ])) : f("", !0)
1176
+ ], 8, uo),
1177
+ p(e.$slots, "svg", {
1178
+ svg: {
1179
+ height: 600,
1180
+ width: 600,
1181
+ isPrintingImg: h(xe) | h(_e) | fe.value,
1182
+ isPrintingSvg: ge.value
1183
+ }
1184
+ }, void 0, !0)
1185
+ ], 42, oo)),
1186
+ e.$slots.hint ? (r(), i("div", Po, [
1187
+ p(e.$slots, "hint", L(D({ hint: a.value.a11y.translations.keyboardNavigation, isVisible: Pe.value })), void 0, !0)
1188
+ ])) : f("", !0),
1189
+ e.$slots.watermark ? (r(), i("div", Io, [
1190
+ p(e.$slots, "watermark", L(D({ isPrinting: h(xe) || h(_e) || fe.value || ge.value })), void 0, !0)
1191
+ ])) : f("", !0),
1192
+ x("div", {
1193
+ id: `legend-bottom-${M.value}`
1194
+ }, null, 8, xo),
1195
+ Ke.value ? (r(), G(wa, {
1196
+ key: 7,
1197
+ to: a.value.style.chart.legend.position === "top" ? `#legend-top-${M.value}` : `#legend-bottom-${M.value}`
1198
+ }, [
1199
+ x("div", {
1200
+ ref_key: "chartLegend",
1201
+ ref: Ye
1202
+ }, [
1203
+ a.value.style.chart.legend.show ? (r(), G(Qa, {
1204
+ key: `legend_${Ae.value}`,
1205
+ legendSet: Le.value,
1206
+ config: ua.value,
1207
+ isCursorPointer: Q.value,
1208
+ onClickMarker: o[0] || (o[0] = ({ legend: t }) => bt(t.id))
1209
+ }, Re({
1210
+ item: y(({ legend: t }) => [
1211
+ x("div", {
1212
+ style: z({
1213
+ opacity: b.value ? b.value === t.id ? 1 : 0.3 : 1
1214
+ }),
1215
+ onClick: (l) => t.select()
1216
+ }, H(t.name), 13, _o)
1217
+ ]),
1218
+ _: 2
1219
+ }, [
1220
+ e.$slots.pattern ? {
1221
+ name: "legend-pattern",
1222
+ fn: y(({ legend: t, index: l }) => [
1223
+ ke(qa, {
1224
+ shape: t.shape,
1225
+ radius: 30,
1226
+ stroke: "none",
1227
+ plot: { x: 30, y: 30 },
1228
+ fill: `url(#pattern_${M.value}_${l})`
1229
+ }, null, 8, ["shape", "fill"])
1230
+ ]),
1231
+ key: "0"
1232
+ } : void 0
1233
+ ]), 1032, ["legendSet", "config", "isCursorPointer"])) : f("", !0),
1234
+ p(e.$slots, "legend", { legend: Le.value }, void 0, !0)
1235
+ ], 512)
1236
+ ], 8, ["to"])) : f("", !0),
1237
+ e.$slots.source ? (r(), i("div", {
1238
+ key: 8,
1239
+ ref_key: "source",
1240
+ ref: We,
1241
+ dir: "auto"
1242
+ }, [
1243
+ p(e.$slots, "source", {}, void 0, !0)
1244
+ ], 512)) : f("", !0),
1245
+ T.value !== a.value.initialRotation ? (r(), i("div", So, [
1246
+ p(e.$slots, "reset-action", { reset: pt }, () => [
1247
+ x("button", {
1248
+ "data-cy-reset": "",
1249
+ tabindex: "0",
1250
+ role: "button",
1251
+ class: "vue-data-ui-refresh-button",
1252
+ style: z({
1253
+ background: a.value.style.chart.backgroundColor,
1254
+ cursor: Q.value ? "pointer" : "default"
1255
+ }),
1256
+ onClick: pt
1257
+ }, [
1258
+ ke(h(Xe), {
1259
+ name: "refresh",
1260
+ stroke: a.value.style.chart.color
1261
+ }, null, 8, ["stroke"])
1262
+ ], 4)
1263
+ ], !0)
1264
+ ])) : f("", !0),
1265
+ U.value && a.value.userOptions.buttons.table ? (r(), G(Aa(de.value.component), xt({ key: 10 }, de.value.props, {
1266
+ ref_key: "tableUnit",
1267
+ ref: ue,
1268
+ onClose: mt
1269
+ }), Re({
1270
+ content: y(() => [
1271
+ (r(), G(h(Et), {
1272
+ key: `table_${we.value}`,
1273
+ colNames: ye.value.colNames,
1274
+ head: ye.value.head,
1275
+ body: ye.value.body,
1276
+ config: ye.value.config,
1277
+ title: a.value.table.useDialog ? "" : de.value.title,
1278
+ withCloseButton: !a.value.table.useDialog,
1279
+ isCursorPointer: Q.value,
1280
+ onClose: mt
1281
+ }, {
1282
+ th: y(({ th: t }) => [
1283
+ _t(H(t.name), 1)
1284
+ ]),
1285
+ td: y(({ td: t }) => [
1286
+ x("div", To, H(t.name ? t.name : Oe(t)), 1)
1287
+ ]),
1288
+ _: 1
1289
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton", "isCursorPointer"]))
1290
+ ]),
1291
+ _: 2
1292
+ }, [
1293
+ a.value.table.useDialog ? {
1294
+ name: "title",
1295
+ fn: y(() => [
1296
+ _t(H(de.value.title), 1)
1297
+ ]),
1298
+ key: "0"
1299
+ } : void 0,
1300
+ a.value.table.useDialog ? {
1301
+ name: "actions",
1302
+ fn: y(() => [
1303
+ x("button", {
1304
+ tabindex: "0",
1305
+ class: "vue-ui-user-options-button",
1306
+ onClick: o[1] || (o[1] = (t) => De(a.value.userOptions.callbacks.csv)),
1307
+ style: z({ cursor: Q.value ? "pointer" : "default" })
1308
+ }, [
1309
+ ke(h(Xe), {
1310
+ name: "fileCsv",
1311
+ stroke: de.value.props.color
1312
+ }, null, 8, ["stroke"])
1313
+ ], 4)
1314
+ ]),
1315
+ key: "1"
1316
+ } : void 0
1317
+ ]), 1040)) : f("", !0),
1318
+ p(e.$slots, "skeleton", {}, () => [
1319
+ h(He) ? (r(), G(Ua, { key: 0 })) : f("", !0)
1320
+ ], !0)
1321
+ ], 46, eo));
1322
+ }
1323
+ }, Qo = /* @__PURE__ */ Ja(Oo, [["__scopeId", "data-v-d590b66a"]]);
1324
+ export {
1325
+ Qo as default
1326
+ };