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
@@ -1,1396 +0,0 @@
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 u, r as re, t as ie, tt as ae, w as oe } from "./lib-BuMGJ_a0.js";
3
- import { n as se } from "./useHints-Dq_w2E8B.js";
4
- import { t as ce } from "./useConfig-BilxnBNr.js";
5
- import { t as le } from "./usePrinter-BFvi4jVy.js";
6
- import { n as ue, t as de } from "./BaseScanner-DZvpgOjM.js";
7
- import { t as fe } from "./useSvgExport-Ba9qBr9M.js";
8
- import { t as pe } from "./useNestedProp--NSEmhOH.js";
9
- import { t as me } from "./useThemeCheck-C43Tcqmk.js";
10
- import { t as he } from "./img-DIQG5q8T.js";
11
- import { n as ge } from "./Title-BODtwViI.js";
12
- import { t as _e } from "./Shape-BPMV94Ij.js";
13
- import { t as ve } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
- import { l as ye, t as be } from "./useResponsive-ZtArZtUf.js";
15
- import { t as xe } from "./A11yDataTable-DdRsVULz.js";
16
- import { t as Se } from "./useUserOptionState-DK-_1ddE.js";
17
- import { t as Ce } from "./useChartAccessibility-DYqac8yF.js";
18
- import { t as we } from "./Legend-CQTRlzK-.js";
19
- import { t as Te } from "./vue_ui_chord-DPfS1Umc.js";
20
- import { Fragment as d, Teleport as Ee, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createSlots as De, createTextVNode as Oe, createVNode as ke, defineAsyncComponent as _, guardReactiveProps as v, mergeProps as Ae, nextTick as je, normalizeClass as y, normalizeProps as b, normalizeStyle as x, onBeforeUnmount as Me, onMounted as Ne, openBlock as S, ref as C, renderList as w, renderSlot as T, resolveDynamicComponent as Pe, shallowRef as Fe, toDisplayString as E, toRefs as Ie, unref as D, useCssVars as Le, watch as Re, withCtx as O, withModifiers as ze } from "vue";
21
- //#region src/components/vue-ui-chord.vue
22
- var Be = /* @__PURE__ */ e({ default: () => vt }), Ve = ["id"], He = ["id"], Ue = ["id"], We = [
23
- "xmlns",
24
- "viewBox",
25
- "aria-describedby"
26
- ], Ge = ["width", "height"], Ke = { key: 1 }, qe = ["id", "d"], Je = { key: 2 }, Ye = ["transform"], Xe = [
27
- "d",
28
- "fill",
29
- "stroke",
30
- "stroke-width",
31
- "onMouseenter",
32
- "onMouseleave",
33
- "onClick"
34
- ], Ze = [
35
- "d",
36
- "fill",
37
- "stroke",
38
- "stroke-width"
39
- ], Qe = ["d", "fill"], $e = [
40
- "d",
41
- "fill",
42
- "stroke",
43
- "stroke-width",
44
- "onMouseenter",
45
- "onClick",
46
- "onMouseleave"
47
- ], et = [
48
- "d",
49
- "fill",
50
- "stroke",
51
- "stroke-width"
52
- ], tt = [
53
- "d",
54
- "fill",
55
- "stroke",
56
- "stroke-width"
57
- ], nt = [
58
- "d",
59
- "fill",
60
- "stroke",
61
- "stroke-width"
62
- ], rt = { key: 0 }, it = [
63
- "x1",
64
- "y1",
65
- "x2",
66
- "y2",
67
- "stroke",
68
- "stroke-width"
69
- ], at = [
70
- "x1",
71
- "y1",
72
- "x2",
73
- "y2",
74
- "stroke",
75
- "stroke-width"
76
- ], ot = [
77
- "cx",
78
- "cy",
79
- "r",
80
- "stroke",
81
- "stroke-width",
82
- "fill"
83
- ], st = [
84
- "transform",
85
- "fill",
86
- "text-anchor",
87
- "font-size",
88
- "font-weight"
89
- ], ct = { key: 1 }, lt = [
90
- "font-size",
91
- "font-weight",
92
- "fill"
93
- ], ut = ["href"], dt = [
94
- "transform",
95
- "text-anchor",
96
- "font-size",
97
- "font-weight",
98
- "fill",
99
- "innerHTML"
100
- ], ft = {
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
- }, pt = {
111
- key: 6,
112
- class: "vue-data-ui-watermark"
113
- }, mt = ["id"], ht = ["onClick"], gt = {
114
- key: 9,
115
- "data-dom-to-png-ignore": "",
116
- class: "reset-wrapper"
117
- }, _t = { style: {
118
- "text-align": "right",
119
- width: "100%"
120
- } }, vt = /*#__PURE__*/ ve({
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: ve, emit: Be }) {
143
- Le((e) => ({ v34dc8e9b: e.slicerColor }));
144
- let vt = _(() => import("./vue-ui-accordion-61MlW-Ge.js").then((e) => e.n)), yt = _(() => import("./BaseIcon-91MZoczJ.js").then((e) => e.n)), bt = _(() => import("./DataTable-D4tM9s5Y.js")), xt = _(() => import("./PackageVersion--QCMh5k_.js").then((e) => e.t)), St = _(() => import("./PenAndPaper-cE4J8-rA.js").then((e) => e.t)), Ct = _(() => import("./UserOptions-3ujTo3LD.js").then((e) => e.n)), wt = _(() => import("./BaseDraggableDialog-qTnfhLBz.js").then((e) => e.n)), { vue_ui_chord: Tt } = ce(), { isThemeValid: Et, warnInvalidTheme: Dt } = me(), k = e, Ot = Be, A = C(!!k.dataset && Object.hasOwn(k.dataset, "matrix")), j = C(u()), M = C(null), N = C(null), P = C(null), kt = C(0), F = C(null), At = C(null), jt = C(null), Mt = C(null), Nt = C(null), Pt = C(0), Ft = C(0), It = C(0), Lt = C(!1), I = Fe(null), L = Fe(null), Rt = C(!1), zt = C(null), Bt = C(null), Vt = C(!1), Ht = C(!1), R = C("group"), z = C(null), Ut = C(!1), B = C(en());
145
- se({
146
- config: () => B.value,
147
- dataset: () => k.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 V = f(() => B.value.userOptions.useCursorPointer), Wt = f(() => 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: B.value.skeletonConfig ?? {}
178
- })), { loading: Gt, FINAL_DATASET: H, manualLoading: Kt } = ue({
179
- ...Ie(k),
180
- FINAL_CONFIG: B,
181
- prepareConfig: en,
182
- callback: () => {
183
- Promise.resolve().then(async () => {
184
- await je(), W.value.showTable = B.value.table.show;
185
- });
186
- },
187
- skeletonDataset: k.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: B.value,
224
- userConfig: Wt.value
225
- })
226
- }), { userOptionsVisible: qt, setUserOptionsVisibility: Jt, keepUserOptionState: Yt } = Se({ config: B.value }), { svgRef: U } = Ce({ config: B.value.style.chart.title }), { isPrinting: Xt, isImaging: Zt, generatePdf: Qt, generateImage: $t } = le({
227
- elementId: `chord_${j.value}`,
228
- fileName: B.value.style.chart.title.text || "vue-ui-chord",
229
- options: B.value.userOptions.print
230
- }), W = C({ showTable: B.value.table.show });
231
- function en() {
232
- let e = pe({
233
- userConfig: k.config,
234
- defaultConfig: Tt
235
- }), t = e.theme;
236
- if (!t) return e;
237
- if (!Et.value(e)) return Dt(e), e;
238
- let n = pe({
239
- userConfig: Te[t] || k.config,
240
- defaultConfig: e
241
- }), r = pe({
242
- userConfig: k.config,
243
- defaultConfig: n
244
- });
245
- return {
246
- ...r,
247
- customPalette: r.customPalette.length ? r.customPalette : a[t] || o
248
- };
249
- }
250
- Re(() => k.config, (e) => {
251
- Gt.value || (B.value = en()), qt.value = !B.value.userOptions.showOnChartHover, rn(), Pt.value += 1, Ft.value += 1, It.value += 1, Y.value = B.value.initialRotation, W.value.showTable = B.value.table.show;
252
- }, { deep: !0 });
253
- let tn = f(() => B.value.debug);
254
- Re(() => k.dataset, () => {
255
- nn(), rn(), Pt.value += 1, Ft.value += 1, It.value += 1;
256
- });
257
- function nn() {
258
- if (te(k.dataset)) {
259
- ae({
260
- componentName: "VueUiChord",
261
- type: "dataset",
262
- debug: tn.value
263
- }), A.value = !1, Kt.value = !0;
264
- return;
265
- }
266
- let e = ne({
267
- datasetObject: k.dataset,
268
- requiredAttributes: ["matrix"]
269
- });
270
- if (e.length) {
271
- e.forEach((e) => {
272
- ae({
273
- componentName: "VueUiChord",
274
- type: "datasetAttribute",
275
- property: e,
276
- debug: tn.value
277
- });
278
- }), A.value = !1, Kt.value = !0;
279
- return;
280
- }
281
- let t = k.dataset.matrix;
282
- if (!Array.isArray(t) || t.length < 2) {
283
- console.warn("VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:\n \nmatrix:[\n [1, 1],\n [1, 1]\n]"), A.value = !1, Kt.value = !0;
284
- return;
285
- }
286
- let n = t.length, r = t.findIndex((e) => !Array.isArray(e) || e.length !== n);
287
- if (r !== -1) {
288
- 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}
289
-
290
- dataset.matrix[${r}] = [${Array.isArray(t[r]) ? t[r].toString() : "invalid"}]`), A.value = !1, Kt.value = !0;
291
- return;
292
- }
293
- A.value = !0, Kt.value = !1;
294
- }
295
- function rn() {
296
- if (nn(), B.value.responsive) {
297
- let e = ye(() => {
298
- let { width: e, height: t, heightNoTitle: n, heightSource: r, heightTitle: i, heightLegend: a } = be({
299
- chart: F.value,
300
- title: B.value.style.chart.title.text ? At.value : null,
301
- legend: B.value.style.chart.legend.show ? jt.value : null,
302
- source: Mt.value,
303
- noTitle: Nt.value
304
- }), o = i + a + r + n;
305
- e < t ? F.value.style.width = "100%" : (F.value.style.height = "100%", U.value.style.height = `calc(100% - ${o}px)`);
306
- }, 100);
307
- I.value && (L.value && I.value.unobserve(L.value), I.value.disconnect()), I.value = new ResizeObserver(e), L.value = F.value.parentNode, I.value.observe(L.value), e();
308
- }
309
- on.value = setTimeout(() => {
310
- Lt.value = !0;
311
- }, 500);
312
- }
313
- function an() {
314
- if (!H.value || !Object.hasOwn(H.value, "matrix") || H.value.matrix.length < 2) {
315
- console.warn("VueUiChord: dataset.matrix requires a minimum of 2 datapoints, for example:\n\nmatrix:[\n [1, 1],\n [1, 1]\n]"), A.value = !1;
316
- return;
317
- }
318
- H.value.matrix.forEach((e, t) => {
319
- e.length !== H.value.matrix.length && (console.warn(`VueUiChord - Invalid matrix: dataset.matrix at index ${t} has ${e.length} elements instead of the required ${H.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 (${H.value.matrix.length})`), A.value = !1);
320
- });
321
- }
322
- let on = C(null);
323
- Ne(() => {
324
- Rt.value = !0, rn();
325
- });
326
- let G = C({
327
- height: 600,
328
- width: 600
329
- }), sn = f(() => B.value.userOptions.show && !B.value.style.chart.title.text), cn = f(() => oe(B.value.customPalette)), K = f(() => ({
330
- inner: G.value.width * .3 * B.value.style.chart.arcs.innerRadiusRatio,
331
- outer: G.value.width * .34 * B.value.style.chart.arcs.outerRadiusRatio
332
- })), ln = f(() => B.value.style.chart.arcs.padAngle / 100), q = f(() => ({
333
- matrix: H.value.matrix ?? [[0]],
334
- labels: H.value.labels ?? [""],
335
- colors: H.value.colors && Array.isArray(H.value.colors) && H.value.colors.length ? H.value.colors.map((e) => s(e)) : H.value.matrix.map((e, t) => cn.value[t] || o[t] || o[t % o.length])
336
- }));
337
- function un(e, t) {
338
- let n = e.length, r = K.value.inner, i = Array(n).fill(0), a = 0;
339
- 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];
340
- let o = (2 * Math.PI - t * n) / a, s = [], c = 0;
341
- for (let e = 0; e < n; e += 1) {
342
- let n = c, r = n + i[e] * o;
343
- s.push({
344
- index: e,
345
- pattern: `pattern_${j.value}_${e}`,
346
- startAngle: n,
347
- endAngle: r,
348
- name: q.value.labels[e],
349
- id: u(),
350
- color: q.value.colors[e],
351
- proportion: i[e] / a
352
- }), c = r + t;
353
- }
354
- let l = [];
355
- for (let t = 0; t < n; t += 1) {
356
- let n = e[t].map((e, t) => ({
357
- j: t,
358
- v: e
359
- }));
360
- n.sort((e, t) => t.v - e.v);
361
- let i = s[t].startAngle;
362
- for (let { j: e, v: a } of n) {
363
- let n = i, c = n + a * o;
364
- l.push({
365
- index: t,
366
- subIndex: e,
367
- pattern: `pattern_${j.value}_${t}`,
368
- startAngle: n,
369
- endAngle: c,
370
- value: a,
371
- groupName: q.value.labels[t],
372
- groupId: s[t].id,
373
- groupColor: q.value.colors[t],
374
- midAngle: (n + c) / 2,
375
- midBaseX: Math.cos((n + c) / 2 - Math.PI / 2) * r,
376
- midBaseY: Math.sin((n + c) / 2 - Math.PI / 2) * r
377
- }), i = c;
378
- }
379
- }
380
- let ee = [];
381
- for (let e of l) {
382
- let t = l.find((t) => t.index === e.subIndex && t.subIndex === e.index);
383
- ee.push({
384
- source: e,
385
- target: t,
386
- id: u()
387
- });
388
- }
389
- return {
390
- groups: s,
391
- chords: ee
392
- };
393
- }
394
- let J = f(() => {
395
- let e = un(q.value.matrix, ln.value);
396
- return an(), e.chords.sort((e, t) => Math.max(t.source.value, t.target.value) - Math.max(e.source.value, e.target.value)), e;
397
- }), dn = f(() => {
398
- let e = K.value.outer + B.value.style.chart.ribbons.labels.offset + 12, t = B.value.style.chart.ribbons.labels.fontSize * .6, n = [];
399
- if (N.value) {
400
- let r = N.value;
401
- if (r.source.value) {
402
- let i = String(r.source.value);
403
- n.push({
404
- id: r.id + "-src",
405
- theta: r.source.midAngle,
406
- w: i.length * t / e,
407
- midBaseX: r.source.midBaseX,
408
- midBaseY: r.source.midBaseY,
409
- groupColor: r.source.groupColor,
410
- value: r.source.value
411
- });
412
- }
413
- if (r.target && r.target.value && r.target.value !== r.source.value) {
414
- let i = String(r.target.value);
415
- n.push({
416
- id: r.id + "-tgt",
417
- theta: r.target.midAngle,
418
- w: i.length * t / e,
419
- midBaseX: r.target.midBaseX,
420
- midBaseY: r.target.midBaseY,
421
- groupColor: r.target.groupColor,
422
- value: r.target.value
423
- });
424
- }
425
- return n;
426
- }
427
- function r(r) {
428
- J.value.chords.filter((e) => e.source.groupId === r && e.source.value).forEach((r) => {
429
- {
430
- let i = String(r.source.value);
431
- n.push({
432
- id: r.id + "-src",
433
- theta: r.source.midAngle,
434
- w: i.length * t / e,
435
- midBaseX: r.source.midBaseX,
436
- midBaseY: r.source.midBaseY,
437
- groupColor: r.source.groupColor,
438
- value: r.source.value
439
- });
440
- }
441
- if (r.target && r.target.value && r.target.value !== r.source.value) {
442
- let i = String(r.target.value);
443
- n.push({
444
- id: r.id + "-tgt",
445
- theta: r.target.midAngle,
446
- w: i.length * t / e,
447
- midBaseX: r.target.midBaseX,
448
- midBaseY: r.target.midBaseY,
449
- groupColor: r.target.groupColor,
450
- value: r.target.value
451
- });
452
- }
453
- });
454
- }
455
- return P.value && r(P.value), M.value && r(M.value.id), n;
456
- }), fn = f(() => {
457
- let e = dn.value.map((e) => ({ ...e })).sort((e, t) => e.theta - t.theta), t = B.value.style.chart.ribbons.labels.minSeparationDeg * Math.PI / 180, n = !0, r = 0;
458
- for (; n && r++ < 10;) {
459
- n = !1;
460
- for (let r = 1; r < e.length; r += 1) {
461
- let i = e[r - 1], a = e[r], o = i.theta + i.w + t;
462
- a.theta < o && (a.theta = o, n = !0);
463
- }
464
- let r = e[0], i = e[e.length - 1], a = i.theta + i.w + t - 2 * Math.PI;
465
- r.theta < a && (r.theta = a, n = !0);
466
- }
467
- return e;
468
- });
469
- function pn(e, t, n, r) {
470
- 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, u = Math.sin(i) * r, re = +(t - e > Math.PI);
471
- return `M${o},${s} A${n},${n} 0 ${re} 1 ${c},${l} L${ee},${te} A${r},${r} 0 ${re} 0 ${ne},${u} Z`;
472
- }
473
- function mn(e, t) {
474
- 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, u = Math.cos(o) * n, re = Math.sin(o) * n;
475
- 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 ${u},${re}Q0,0 ${s},${c}Z`;
476
- }
477
- let hn = f(() => Y.value * Math.PI / 180);
478
- function gn(e) {
479
- return (e.startAngle + e.endAngle) / 2;
480
- }
481
- function _n(e) {
482
- return ((gn(e) + hn.value) % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI);
483
- }
484
- function vn(e) {
485
- let t = e + hn.value;
486
- return t = (t % (2 * Math.PI) + 2 * Math.PI) % (2 * Math.PI), t > Math.PI ? "end" : "start";
487
- }
488
- function yn(e) {
489
- let t = e - Math.PI / 2;
490
- return `translate(${Math.cos(t) * (K.value.outer + B.value.style.chart.arcs.labels.offset + 24)},${Math.sin(t) * (K.value.outer + B.value.style.chart.arcs.labels.offset + 24)})`;
491
- }
492
- function bn(e, t, n) {
493
- 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;
494
- return `M${a},${o} A${n},${n} 0 ${+(t - e > Math.PI)} 1 ${s},${c}`;
495
- }
496
- let Y = C(B.value.initialRotation), xn = C(!1), Sn = 0, Cn = 0;
497
- function wn(e) {
498
- let t = U.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;
499
- return Math.atan2(a - r, i - n);
500
- }
501
- function Tn(e) {
502
- !B.value.enableRotation || X.value || (e.preventDefault(), xn.value = !0, Sn = Y.value, Cn = wn(e));
503
- }
504
- function En(e) {
505
- if (!xn.value) return;
506
- let t = wn(e);
507
- Y.value = Sn + (t - Cn) * 180 / Math.PI;
508
- }
509
- function Dn() {
510
- xn.value = !1;
511
- }
512
- function On(e) {
513
- return ee(B.value.style.chart.ribbons.labels.formatter, e, c({
514
- p: B.value.style.chart.ribbons.labels.prefix,
515
- v: e,
516
- s: B.value.style.chart.ribbons.labels.suffix,
517
- r: B.value.style.chart.ribbons.labels.rounding
518
- }));
519
- }
520
- Ne(() => {
521
- window.addEventListener("mousemove", En), window.addEventListener("mouseup", Dn), window.addEventListener("touchmove", En, { passive: !1 }), window.addEventListener("touchend", Dn);
522
- }), Me(() => {
523
- window.removeEventListener("mousemove", En), window.removeEventListener("mouseup", Dn), window.removeEventListener("touchmove", En), window.removeEventListener("touchend", Dn), clearTimeout(on.value), I.value && (L.value && I.value.unobserve(L.value), I.value.disconnect());
524
- });
525
- let kn = C(!1);
526
- function An(e) {
527
- kn.value = e, kt.value += 1;
528
- }
529
- function jn(e, t) {
530
- B.value.events.datapointEnter && B.value.events.datapointEnter({
531
- datapoint: e,
532
- seriesIndex: t
533
- }), !P.value && (M.value = e);
534
- }
535
- function Mn(e, t) {
536
- M.value = null, B.value.events.datapointLeave && B.value.events.datapointLeave({
537
- datapoint: e,
538
- seriesIndex: t
539
- });
540
- }
541
- function Nn(e, t) {
542
- Ot("selectGroup", e), B.value.events.datapointClick && B.value.events.datapointClick({
543
- datapoint: e,
544
- seriesIndex: t
545
- });
546
- }
547
- function Pn(e, t) {
548
- B.value.events.datapointEnter && B.value.events.datapointEnter({
549
- datapoint: e,
550
- seriesIndex: t
551
- }), !P.value && (N.value = e);
552
- }
553
- function Fn(e, t) {
554
- N.value = null, B.value.events.datapointLeave && B.value.events.datapointLeave({
555
- datapoint: e,
556
- seriesIndex: t
557
- });
558
- }
559
- function In(e, t) {
560
- Ot("selectRibbon", e), B.value.events.datapointClick && B.value.events.datapointClick({
561
- datapoint: e,
562
- seriesIndex: t
563
- });
564
- }
565
- function Ln(e) {
566
- return !P.value && !M.value && !N.value ? .8 : (P.value ? P.value === e.source.groupId : M.value ? M.value.id === e.source.groupId : N.value?.id === e.id) ? 1 : .1;
567
- }
568
- function Rn(e) {
569
- return !P.value && !M.value && !N.value || (P.value ? P.value === e.id : M.value ? M.value.id === e.id : [N.value?.source.groupId, N.value?.target.groupId].includes(e.id)) ? 1 : .3;
570
- }
571
- let X = C(!1);
572
- function zn() {
573
- X.value = !X.value;
574
- }
575
- function Bn() {
576
- W.value.showTable = !W.value.showTable;
577
- }
578
- function Vn() {
579
- return J.value;
580
- }
581
- let Z = C(null);
582
- function Hn() {
583
- let e = B.value.initialRotation;
584
- Z.value !== null && cancelAnimationFrame(Z.value);
585
- let t = () => {
586
- Y.value += (e - Y.value) * .05, Math.abs(Y.value - e) < .1 ? (Y.value = e, Z.value = null) : Z.value = requestAnimationFrame(t);
587
- };
588
- Z.value = requestAnimationFrame(t);
589
- }
590
- Me(() => {
591
- Z.value !== null && cancelAnimationFrame(Z.value);
592
- });
593
- function Un(e) {
594
- e === P.value ? (P.value = null, Ot("selectLegend", null)) : (P.value = e, Ot("selectLegend", J.value.groups.find((t) => t.id === e)));
595
- }
596
- let Wn = f(() => J.value.groups.map((e, t) => ({
597
- name: e.name,
598
- color: e.color,
599
- shape: "circle",
600
- patternIndex: t,
601
- pattern: `pattern_${j.value}_${t}`,
602
- id: e.id,
603
- select: () => Un(e.id),
604
- opacity: P.value ? P.value === e.id ? 1 : .3 : 1
605
- }))), Gn = f(() => ({
606
- cy: "chord-div-legend",
607
- backgroundColor: B.value.style.chart.legend.backgroundColor,
608
- color: B.value.style.chart.legend.color,
609
- fontSize: B.value.style.chart.legend.fontSize,
610
- paddingBottom: 12,
611
- fontWeight: B.value.style.chart.legend.bold ? "bold" : ""
612
- })), Q = f(() => ({
613
- head: J.value.groups.map((e, t) => ({
614
- name: e.name || t,
615
- color: e.color
616
- })),
617
- body: q.value.matrix
618
- })), Kn = f(() => {
619
- let e = [{
620
- name: "",
621
- color: null
622
- }, ...Q.value.head];
623
- return {
624
- colNames: e,
625
- head: e,
626
- body: Q.value.body.map((e, t) => [Q.value.head[t], ...Q.value.body[t]]),
627
- config: {
628
- th: {
629
- backgroundColor: B.value.table.th.backgroundColor,
630
- color: B.value.table.th.color,
631
- outline: B.value.table.th.outline
632
- },
633
- td: {
634
- backgroundColor: B.value.table.td.backgroundColor,
635
- color: B.value.table.td.color,
636
- outline: B.value.table.td.outline
637
- },
638
- breakpoint: B.value.table.responsiveBreakpoint
639
- }
640
- };
641
- });
642
- function qn(e = null) {
643
- je(() => {
644
- let r = q.value.matrix.map((e, t) => [[q.value.labels[t] || t], e]), i = n([
645
- [B.value.style.chart.title.text],
646
- [B.value.style.chart.title.subtitle.text],
647
- [[""], ...q.value.labels.map((e, t) => [e || t])]
648
- ].concat(r));
649
- e ? e(i) : t({
650
- csvContent: i,
651
- title: B.value.style.chart.title.text || "vue-ui-chord"
652
- });
653
- });
654
- }
655
- async function Jn({ scale: e = 2 } = {}) {
656
- if (!F.value) return;
657
- let { width: t, height: n } = F.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await he({
658
- domElement: F.value,
659
- base64: !0,
660
- img: !0,
661
- scale: e
662
- });
663
- return {
664
- imageUri: i,
665
- base64: a,
666
- title: B.value.style.chart.title.text,
667
- width: t,
668
- height: n,
669
- aspectRatio: r
670
- };
671
- }
672
- function Yn(e, t) {
673
- return `${q.value.labels[t]}${B.value.style.chart.arcs.labels.showPercentage ? c({
674
- p: " (",
675
- v: isNaN(e.proportion) ? 0 : e.proportion * 100,
676
- s: "%)",
677
- r: B.value.style.chart.arcs.labels.roundingPercentage
678
- }) : ""}`;
679
- }
680
- let Xn = f(() => {
681
- let e = B.value.table.useDialog && !B.value.table.show, t = W.value.showTable;
682
- return {
683
- component: e ? wt : vt,
684
- title: `${B.value.style.chart.title.text}${B.value.style.chart.title.subtitle.text ? `: ${B.value.style.chart.title.subtitle.text}` : ""}`,
685
- props: e ? {
686
- backgroundColor: B.value.table.th.backgroundColor,
687
- color: B.value.table.th.color,
688
- headerColor: B.value.table.th.color,
689
- headerBg: B.value.table.th.backgroundColor,
690
- isFullscreen: kn.value,
691
- fullscreenParent: F.value,
692
- forcedWidth: Math.min(800, window.innerWidth * .8),
693
- isCursorPointer: V.value
694
- } : {
695
- hideDetails: !0,
696
- config: {
697
- open: t,
698
- maxHeight: 1e4,
699
- body: {
700
- backgroundColor: B.value.style.chart.backgroundColor,
701
- color: B.value.style.chart.color
702
- },
703
- head: {
704
- backgroundColor: B.value.style.chart.backgroundColor,
705
- color: B.value.style.chart.color
706
- }
707
- }
708
- }
709
- };
710
- });
711
- Re(() => W.value.showTable, (e) => {
712
- B.value.table.show || (e && B.value.table.useDialog && zt.value ? zt.value.open() : "close" in zt.value && zt.value.close());
713
- });
714
- function Zn() {
715
- W.value.showTable = !1, Bt.value && Bt.value.setTableIconState(!1);
716
- }
717
- let Qn = f(() => B.value.style.chart.backgroundColor), $n = f(() => B.value.style.chart.legend), { exportSvg: er, getSvg: tr } = fe({
718
- svg: U,
719
- title: f(() => B.value.style.chart.title),
720
- legend: $n,
721
- legendItems: Wn,
722
- backgroundColor: Qn
723
- });
724
- async function nr({ isCb: e }) {
725
- Ht.value = !0, await je();
726
- try {
727
- if (e) {
728
- let { blob: e, url: t, text: n, dataUrl: r } = await tr();
729
- await Promise.resolve(B.value.userOptions.callbacks.svg({
730
- blob: e,
731
- url: t,
732
- text: n,
733
- dataUrl: r
734
- }));
735
- } else await Promise.resolve(er());
736
- } finally {
737
- Ht.value = !1;
738
- }
739
- }
740
- function rr(e) {
741
- if (e?.stage === "start") {
742
- Vt.value = !0;
743
- return;
744
- }
745
- if (e?.stage === "end") {
746
- Vt.value = !1;
747
- return;
748
- }
749
- $t();
750
- }
751
- async function ir() {
752
- if (Ot("copyAlt", {
753
- config: B.value,
754
- dataset: q.value
755
- }), !B.value.userOptions.callbacks.altCopy) {
756
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
757
- return;
758
- }
759
- await Promise.resolve(B.value.userOptions.callbacks.altCopy({
760
- config: B.value,
761
- dataset: q.value
762
- }));
763
- }
764
- let ar = f(() => (M.value ? J.value.chords.filter((e) => e.source.groupId === M.value.id) : P.value ? J.value.chords.filter((e) => e.source.groupId === P.value) : J.value.chords).filter((e) => e.source.value)), $ = f(() => ({
765
- groups: J.value.groups.map((e, t) => ({
766
- type: "group",
767
- index: t,
768
- item: e
769
- })),
770
- ribbons: ar.value.map((e, t) => ({
771
- type: "ribbon",
772
- index: t,
773
- item: {
774
- ...e,
775
- path: mn(e.source, e.target),
776
- color: q.value.colors[e.source.index]
777
- }
778
- }))
779
- })), or = f(() => ({
780
- headers: ["", ...Q.value.head.map((e) => e.name)],
781
- rows: Q.value.body.map((e, t) => [Q.value.head[t]?.name ?? `${t}`, ...e.map((e) => On(e))])
782
- }));
783
- function sr(e) {
784
- let t = $.value.groups[e];
785
- t && (R.value = "group", z.value = e, N.value = null, M.value = t.item);
786
- }
787
- function cr(e) {
788
- let t = $.value.ribbons[e];
789
- t && (R.value = "ribbon", z.value = e, M.value = null, N.value = t.item);
790
- }
791
- function lr() {
792
- z.value = null, R.value = "group", M.value = null, N.value = null;
793
- }
794
- function ur() {
795
- Ut.value = !0, R.value = "group", z.value = null;
796
- }
797
- function dr() {
798
- Ut.value = !1, lr();
799
- }
800
- function fr(e) {
801
- if (!U.value || X.value || document.activeElement !== U.value) return;
802
- 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";
803
- if (!t && !n && !r && !i && !a && !o) return;
804
- if (e.preventDefault(), e.stopPropagation(), o) {
805
- lr();
806
- return;
807
- }
808
- if (r) {
809
- R.value = "group", $.value.groups.length && sr(z.value === null ? 0 : Math.min(z.value, $.value.groups.length - 1));
810
- return;
811
- }
812
- if (i) {
813
- if (!$.value.ribbons.length) return;
814
- R.value = "ribbon", cr(z.value === null ? 0 : Math.min(z.value, $.value.ribbons.length - 1));
815
- return;
816
- }
817
- if (a) {
818
- if (R.value === "group") {
819
- let e = $.value.groups[z.value];
820
- e && Nn(e.item, e.index);
821
- } else {
822
- let e = $.value.ribbons[z.value];
823
- e && In(e.item, e.index);
824
- }
825
- return;
826
- }
827
- let s = R.value === "group" ? $.value.groups : $.value.ribbons;
828
- if (!s.length) return;
829
- let c = z.value;
830
- 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)), R.value === "group" ? sr(c) : cr(c);
831
- }
832
- return ve({
833
- getData: Vn,
834
- getImage: Jn,
835
- generateCsv: qn,
836
- generateImage: $t,
837
- generateSvg: nr,
838
- generatePdf: Qt,
839
- toggleAnnotator: zn,
840
- toggleTable: Bn,
841
- toggleFullscreen: An,
842
- copyAlt: ir
843
- }), (e, t) => (S(), h("div", {
844
- ref_key: "chordChart",
845
- ref: F,
846
- class: y({
847
- "vue-data-ui-component": !0,
848
- "vue-ui-chord": !0,
849
- "vue-data-ui-wrapper-fullscreen": kn.value,
850
- "vue-data-ui-responsive": B.value.responsive
851
- }),
852
- style: x(`font-family:${B.value.style.fontFamily};width:100%; text-align:center;background:${B.value.style.chart.backgroundColor}`),
853
- id: `chord_${j.value}`,
854
- onMouseenter: t[2] ||= () => D(Jt)(!0),
855
- onMouseleave: t[3] ||= () => D(Jt)(!1)
856
- }, [
857
- g("div", {
858
- id: `chart-instructions-${j.value}`,
859
- class: "sr-only"
860
- }, [g("p", null, E(B.value.a11y.translations.keyboardNavigation), 1)], 8, He),
861
- or.value?.rows?.length ? (S(), p(xe, {
862
- key: 0,
863
- uid: j.value,
864
- head: or.value.headers,
865
- body: or.value.rows,
866
- notice: B.value.a11y.translations.tableAvailable,
867
- caption: B.value.a11y.translations.tableCaption
868
- }, null, 8, [
869
- "uid",
870
- "head",
871
- "body",
872
- "notice",
873
- "caption"
874
- ])) : m("", !0),
875
- B.value.userOptions.buttons.annotator && D(U) ? (S(), p(D(St), {
876
- key: 1,
877
- color: B.value.style.chart.color,
878
- backgroundColor: B.value.style.chart.backgroundColor,
879
- active: X.value,
880
- svgRef: D(U),
881
- isCursorPointer: V.value,
882
- onClose: zn
883
- }, {
884
- "annotator-action-close": O(() => [T(e.$slots, "annotator-action-close", {}, void 0, !0)]),
885
- "annotator-action-color": O(({ color: t }) => [T(e.$slots, "annotator-action-color", b(v({ color: t })), void 0, !0)]),
886
- "annotator-action-draw": O(({ mode: t }) => [T(e.$slots, "annotator-action-draw", b(v({ mode: t })), void 0, !0)]),
887
- "annotator-action-undo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-undo", b(v({ disabled: t })), void 0, !0)]),
888
- "annotator-action-redo": O(({ disabled: t }) => [T(e.$slots, "annotator-action-redo", b(v({ disabled: t })), void 0, !0)]),
889
- "annotator-action-delete": O(({ disabled: t }) => [T(e.$slots, "annotator-action-delete", b(v({ disabled: t })), void 0, !0)]),
890
- _: 3
891
- }, 8, [
892
- "color",
893
- "backgroundColor",
894
- "active",
895
- "svgRef",
896
- "isCursorPointer"
897
- ])) : m("", !0),
898
- T(e.$slots, "userConfig", {}, void 0, !0),
899
- sn.value ? (S(), h("div", {
900
- key: 2,
901
- ref_key: "noTitle",
902
- ref: Nt,
903
- class: "vue-data-ui-no-title-space",
904
- style: "height:36px; width: 100%;background:transparent"
905
- }, null, 512)) : m("", !0),
906
- B.value.style.chart.title.text ? (S(), h("div", {
907
- key: 3,
908
- ref_key: "chartTitle",
909
- ref: At,
910
- style: "width:100%;background:transparent;padding-bottom:24px"
911
- }, [(S(), p(ge, {
912
- key: `title_${Pt.value}`,
913
- config: {
914
- title: {
915
- cy: "chord-div-title",
916
- ...B.value.style.chart.title
917
- },
918
- subtitle: {
919
- cy: "chord-div-subtitle",
920
- ...B.value.style.chart.title.subtitle
921
- }
922
- }
923
- }, null, 8, ["config"]))], 512)) : m("", !0),
924
- g("div", { id: `legend-top-${j.value}` }, null, 8, Ue),
925
- B.value.userOptions.show && A.value && (D(Yt) || D(qt)) ? (S(), p(D(Ct), {
926
- ref_key: "userOptionsRef",
927
- ref: Bt,
928
- key: `user_option_${kt.value}`,
929
- backgroundColor: B.value.style.chart.backgroundColor,
930
- color: B.value.style.chart.color,
931
- isPrinting: D(Xt),
932
- isImaging: D(Zt),
933
- uid: j.value,
934
- hasTooltip: !1,
935
- hasPdf: B.value.userOptions.buttons.pdf,
936
- hasImg: B.value.userOptions.buttons.img,
937
- hasSvg: B.value.userOptions.buttons.svg,
938
- hasXls: B.value.userOptions.buttons.csv,
939
- hasTable: B.value.userOptions.buttons.table,
940
- hasLabel: !1,
941
- hasFullscreen: B.value.userOptions.buttons.fullscreen,
942
- hasAltCopy: B.value.userOptions.buttons.altCopy,
943
- isFullscreen: kn.value,
944
- chartElement: F.value,
945
- position: B.value.userOptions.position,
946
- titles: { ...B.value.userOptions.buttonTitles },
947
- hasAnnotator: B.value.userOptions.buttons.annotator,
948
- isAnnotation: X.value,
949
- callbacks: B.value.userOptions.callbacks,
950
- printScale: B.value.userOptions.print.scale,
951
- tableDialog: B.value.table.useDialog,
952
- isCursorPointer: V.value,
953
- onToggleFullscreen: An,
954
- onGeneratePdf: D(Qt),
955
- onGenerateCsv: qn,
956
- onGenerateImage: rr,
957
- onGenerateSvg: nr,
958
- onToggleTable: Bn,
959
- onToggleAnnotator: zn,
960
- onCopyAlt: ir,
961
- style: x({ visibility: D(Yt) ? D(qt) ? "visible" : "hidden" : "visible" })
962
- }, De({ _: 2 }, [
963
- e.$slots.menuIcon ? {
964
- name: "menuIcon",
965
- fn: O(({ isOpen: t, color: n }) => [T(e.$slots, "menuIcon", b(v({
966
- isOpen: t,
967
- color: n
968
- })), void 0, !0)]),
969
- key: "0"
970
- } : void 0,
971
- e.$slots.optionPdf ? {
972
- name: "optionPdf",
973
- fn: O(() => [T(e.$slots, "optionPdf", {}, void 0, !0)]),
974
- key: "1"
975
- } : void 0,
976
- e.$slots.optionCsv ? {
977
- name: "optionCsv",
978
- fn: O(() => [T(e.$slots, "optionCsv", {}, void 0, !0)]),
979
- key: "2"
980
- } : void 0,
981
- e.$slots.optionImg ? {
982
- name: "optionImg",
983
- fn: O(() => [T(e.$slots, "optionImg", {}, void 0, !0)]),
984
- key: "3"
985
- } : void 0,
986
- e.$slots.optionSvg ? {
987
- name: "optionSvg",
988
- fn: O(() => [T(e.$slots, "optionSvg", {}, void 0, !0)]),
989
- key: "4"
990
- } : void 0,
991
- e.$slots.optionTable ? {
992
- name: "optionTable",
993
- fn: O(() => [T(e.$slots, "optionTable", {}, void 0, !0)]),
994
- key: "5"
995
- } : void 0,
996
- e.$slots.optionFullscreen ? {
997
- name: "optionFullscreen",
998
- fn: O(({ toggleFullscreen: t, isFullscreen: n }) => [T(e.$slots, "optionFullscreen", b(v({
999
- toggleFullscreen: t,
1000
- isFullscreen: n
1001
- })), void 0, !0)]),
1002
- key: "6"
1003
- } : void 0,
1004
- e.$slots.optionAnnotator ? {
1005
- name: "optionAnnotator",
1006
- fn: O(({ toggleAnnotator: t, isAnnotator: n }) => [T(e.$slots, "optionAnnotator", b(v({
1007
- toggleAnnotator: t,
1008
- isAnnotator: n
1009
- })), void 0, !0)]),
1010
- key: "7"
1011
- } : void 0,
1012
- e.$slots.optionAltCopy ? {
1013
- name: "optionAltCopy",
1014
- fn: O(({ altCopy: t }) => [T(e.$slots, "optionAltCopy", b(v({ altCopy: t })), void 0, !0)]),
1015
- key: "8"
1016
- } : void 0,
1017
- e.$slots["custom-menu-before"] ? {
1018
- name: "custom-menu-before",
1019
- fn: O(() => [T(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1020
- key: "9"
1021
- } : void 0,
1022
- e.$slots["custom-menu-after"] ? {
1023
- name: "custom-menu-after",
1024
- fn: O(() => [T(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1025
- key: "10"
1026
- } : void 0
1027
- ]), 1032, [
1028
- "backgroundColor",
1029
- "color",
1030
- "isPrinting",
1031
- "isImaging",
1032
- "uid",
1033
- "hasPdf",
1034
- "hasImg",
1035
- "hasSvg",
1036
- "hasXls",
1037
- "hasTable",
1038
- "hasFullscreen",
1039
- "hasAltCopy",
1040
- "isFullscreen",
1041
- "chartElement",
1042
- "position",
1043
- "titles",
1044
- "hasAnnotator",
1045
- "isAnnotation",
1046
- "callbacks",
1047
- "printScale",
1048
- "tableDialog",
1049
- "isCursorPointer",
1050
- "onGeneratePdf",
1051
- "style"
1052
- ])) : m("", !0),
1053
- (S(), h("svg", {
1054
- xmlns: D(ie),
1055
- ref_key: "svgRef",
1056
- ref: U,
1057
- viewBox: `0 0 ${G.value.width} ${G.value.height}`,
1058
- "aria-describedby": `chart-instructions-${j.value}`,
1059
- tabindex: "0",
1060
- preserveAspectRatio: "xMidYMid meet",
1061
- style: { overflow: "visible" },
1062
- class: y({
1063
- "vue-ui-chord-rotating": xn.value,
1064
- "vue-ui-chord-idle": !xn.value
1065
- }),
1066
- onMousedown: ze(Tn, ["prevent"]),
1067
- onTouchstart: ze(Tn, ["prevent"]),
1068
- onFocus: ur,
1069
- onBlur: dr,
1070
- onKeydown: fr
1071
- }, [
1072
- ke(D(xt)),
1073
- e.$slots["chart-background"] ? (S(), h("foreignObject", {
1074
- key: 0,
1075
- x: 0,
1076
- y: 0,
1077
- width: G.value.width <= 0 ? 10 : G.value.width,
1078
- height: G.value.height <= 0 ? 10 : G.value.height,
1079
- style: { pointerEvents: "none" }
1080
- }, [T(e.$slots, "chart-background", {}, void 0, !0)], 8, Ge)) : m("", !0),
1081
- B.value.style.chart.arcs.labels.curved ? (S(), h("defs", Ke, [(S(!0), h(d, null, w(J.value.groups, (e, t) => (S(), h("path", {
1082
- key: `labelPath-${t}`,
1083
- id: `labelPath-${t}_${j.value}`,
1084
- d: bn(e.startAngle, e.endAngle, (K.value.inner + K.value.outer) / 2 + B.value.style.chart.arcs.labels.offset),
1085
- fill: "none"
1086
- }, null, 8, qe))), 128))])) : m("", !0),
1087
- e.$slots.pattern ? (S(), h("g", Je, [(S(!0), h(d, null, w(J.value.groups, (t, n) => (S(), h("defs", null, [T(e.$slots, "pattern", Ae({ ref_for: !0 }, {
1088
- seriesIndex: t.index,
1089
- patternId: `pattern_${j.value}_${n}`
1090
- }), void 0, !0)]))), 256))])) : m("", !0),
1091
- g("g", { transform: `translate(${G.value.width / 2}, ${G.value.height / 2}) rotate(${Y.value})` }, [
1092
- (S(!0), h(d, null, w(J.value.groups, (t, n) => (S(), h("g", null, [(S(), h("path", {
1093
- class: y({
1094
- "vue-ui-chord-arc": !0,
1095
- "vue-ui-chord-arc-animated": B.value.useCssAnimation && !Lt.value
1096
- }),
1097
- key: `arc-${n}`,
1098
- d: pn(t.startAngle, t.endAngle, K.value.outer, K.value.inner),
1099
- fill: q.value.colors[n],
1100
- stroke: B.value.style.chart.arcs.stroke,
1101
- "stroke-width": B.value.style.chart.arcs.strokeWidth,
1102
- "stroke-linecap": "round",
1103
- "stroke-linejoin": "round",
1104
- style: x({ opacity: Rn(t) }),
1105
- onMouseenter: (e) => jn(t, n),
1106
- onMouseleave: (e) => Mn(t, n),
1107
- onClick: (e) => Nn(t, n)
1108
- }, null, 46, Xe)), e.$slots.pattern ? (S(), h("path", {
1109
- class: y({
1110
- "vue-ui-chord-arc": !0,
1111
- "vue-ui-chord-arc-animated": B.value.useCssAnimation && !Lt.value
1112
- }),
1113
- key: `arc-${n}`,
1114
- d: pn(t.startAngle, t.endAngle, K.value.outer, K.value.inner),
1115
- fill: `url(#${t.pattern})`,
1116
- stroke: B.value.style.chart.arcs.stroke,
1117
- "stroke-width": B.value.style.chart.arcs.strokeWidth,
1118
- "stroke-linecap": "round",
1119
- "stroke-linejoin": "round",
1120
- style: x({
1121
- opacity: Rn(t),
1122
- pointerEvents: "none"
1123
- })
1124
- }, null, 14, Ze)) : m("", !0)]))), 256)),
1125
- g("g", null, [
1126
- (S(!0), h(d, null, w(M.value ? J.value.chords.filter((e) => e.source.groupId === M.value.id) : P.value ? J.value.chords.filter((e) => e.source.groupId === P.value) : J.value.chords, (t, n) => (S(), h(d, { key: `ribbon-${t.id}` }, [
1127
- t.source.value ? (S(), h("path", {
1128
- key: 0,
1129
- class: y({ "vue-ui-chord-ribbon": !0 }),
1130
- d: mn(t.source, t.target),
1131
- fill: B.value.style.chart.backgroundColor,
1132
- style: x({ opacity: B.value.style.chart.ribbons.underlayerOpacity })
1133
- }, null, 12, Qe)) : m("", !0),
1134
- t.source.value ? (S(), h("path", {
1135
- key: 1,
1136
- class: y({ "vue-ui-chord-ribbon": !0 }),
1137
- d: mn(t.source, t.target),
1138
- fill: q.value.colors[t.source.index],
1139
- stroke: B.value.style.chart.ribbons.stroke,
1140
- "stroke-width": B.value.style.chart.ribbons.strokeWidth,
1141
- "stroke-linecap": "round",
1142
- "stroke-linejoin": "round",
1143
- style: x({ opacity: Ln(t) }),
1144
- onMouseenter: (e) => Pn({
1145
- ...t,
1146
- path: mn(t.source, t.target),
1147
- color: q.value.colors[t.source.index]
1148
- }, n),
1149
- onClick: (e) => In({
1150
- ...t,
1151
- color: q.value.colors[t.source.index]
1152
- }, n),
1153
- onMouseleave: (e) => Fn({
1154
- ...t,
1155
- color: q.value.colors[t.source.index]
1156
- }, n)
1157
- }, null, 44, $e)) : m("", !0),
1158
- t.source.value && e.$slots.pattern ? (S(), h("path", {
1159
- key: 2,
1160
- class: y({ "vue-ui-chord-ribbon": !0 }),
1161
- d: mn(t.source, t.target),
1162
- fill: `url(#pattern_${j.value}_${t.source.index})`,
1163
- stroke: B.value.style.chart.ribbons.stroke,
1164
- "stroke-width": B.value.style.chart.ribbons.strokeWidth,
1165
- "stroke-linecap": "round",
1166
- "stroke-linejoin": "round",
1167
- style: x({
1168
- opacity: Ln(t),
1169
- pointerEvents: "none"
1170
- })
1171
- }, null, 12, et)) : m("", !0)
1172
- ], 64))), 128)),
1173
- N.value ? (S(), h("path", {
1174
- key: 0,
1175
- d: N.value.path,
1176
- fill: N.value.color,
1177
- stroke: B.value.style.chart.ribbons.stroke,
1178
- "stroke-width": B.value.style.chart.ribbons.strokeWidth,
1179
- "stroke-linecap": "round",
1180
- "stroke-linejoin": "round",
1181
- class: y({ "vue-ui-chord-ribbon": !0 }),
1182
- style: { pointerEvents: "none" }
1183
- }, null, 8, tt)) : m("", !0),
1184
- N.value && e.$slots.pattern ? (S(), h("path", {
1185
- key: 1,
1186
- d: N.value.path,
1187
- fill: `url(#${N.value.source.pattern})`,
1188
- stroke: B.value.style.chart.ribbons.stroke,
1189
- "stroke-width": B.value.style.chart.ribbons.strokeWidth,
1190
- "stroke-linecap": "round",
1191
- "stroke-linejoin": "round",
1192
- class: y({ "vue-ui-chord-ribbon": !0 }),
1193
- style: { pointerEvents: "none" }
1194
- }, null, 8, nt)) : m("", !0)
1195
- ]),
1196
- (M.value || N.value || P.value) && B.value.style.chart.ribbons.labels.show ? (S(), h("g", rt, [(S(!0), h(d, null, w(fn.value, (e) => (S(), h(d, { key: e.id }, [
1197
- g("line", {
1198
- x1: e.midBaseX,
1199
- y1: e.midBaseY,
1200
- x2: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1201
- y2: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1202
- stroke: B.value.style.chart.backgroundColor,
1203
- "stroke-width": B.value.style.chart.ribbons.labels.connector.strokeWidth * 3,
1204
- "pointer-events": "none"
1205
- }, null, 8, it),
1206
- g("line", {
1207
- x1: e.midBaseX,
1208
- y1: e.midBaseY,
1209
- x2: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1210
- y2: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1211
- stroke: B.value.style.chart.ribbons.labels.connector.stroke,
1212
- "stroke-width": B.value.style.chart.ribbons.labels.connector.strokeWidth,
1213
- "pointer-events": "none"
1214
- }, null, 8, at),
1215
- B.value.style.chart.ribbons.labels.marker.show ? (S(), h("circle", {
1216
- key: 0,
1217
- cx: Math.cos(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1218
- cy: Math.sin(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 12),
1219
- r: B.value.style.chart.ribbons.labels.marker.radius,
1220
- stroke: B.value.style.chart.ribbons.labels.marker.stroke,
1221
- "stroke-width": B.value.style.chart.ribbons.labels.marker.strokeWidth,
1222
- fill: e.groupColor,
1223
- "pointer-events": "none"
1224
- }, null, 8, ot)) : m("", !0),
1225
- g("text", {
1226
- transform: `
1227
- translate(
1228
- ${Math.cos(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 24)},
1229
- ${Math.sin(e.theta - Math.PI / 2) * (K.value.outer + B.value.style.chart.ribbons.labels.offset + 24)}
1230
- ) rotate(${-Y.value})
1231
- `,
1232
- fill: B.value.style.chart.ribbons.labels.useSerieColor ? e.groupColor : B.value.style.chart.ribbons.labels.color,
1233
- "text-anchor": vn(e.theta),
1234
- "font-size": B.value.style.chart.ribbons.labels.fontSize,
1235
- "font-weight": B.value.style.chart.ribbons.labels.bold ? "bold" : "normal",
1236
- dy: ".35em",
1237
- "pointer-events": "none"
1238
- }, E(On(e.value)), 9, st)
1239
- ], 64))), 128))])) : m("", !0),
1240
- B.value.style.chart.arcs.labels.show ? (S(), h("g", ct, [B.value.style.chart.arcs.labels.curved ? (S(!0), h(d, { key: 0 }, w(J.value.groups, (e, t) => (S(), h("text", {
1241
- class: "vue-ui-chord-label-curved",
1242
- key: `curved-label-${t}`,
1243
- "font-size": B.value.style.chart.arcs.labels.fontSize,
1244
- "font-weight": B.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1245
- fill: B.value.style.chart.arcs.labels.adaptColorToBackground ? D(re)(q.value.colors[t]) : B.value.style.chart.arcs.labels.color
1246
- }, [g("textPath", {
1247
- href: `#labelPath-${t}_${j.value}`,
1248
- startOffset: "50%",
1249
- "text-anchor": "middle"
1250
- }, E(q.value.labels[t]) + E(B.value.style.chart.arcs.labels.showPercentage ? D(c)({
1251
- p: " (",
1252
- v: isNaN(e.proportion) ? 0 : e.proportion * 100,
1253
- s: "%)",
1254
- r: B.value.style.chart.arcs.labels.roundingPercentage
1255
- }) : ""), 9, ut)], 8, lt))), 128)) : !M.value && !N.value && !P.value ? (S(!0), h(d, { key: 1 }, w(J.value.groups, (e, t) => (S(), h("text", {
1256
- class: "vue-ui-chord-label-straight",
1257
- key: `label-${t}`,
1258
- transform: `
1259
- ${yn((e.startAngle + e.endAngle) / 2)}
1260
- rotate(${-Y.value})
1261
- `,
1262
- dy: ".35em",
1263
- "text-anchor": _n(e) > Math.PI ? "end" : "start",
1264
- "font-size": B.value.style.chart.arcs.labels.fontSize,
1265
- "font-weight": B.value.style.chart.arcs.labels.bold ? "bold" : "normal",
1266
- fill: B.value.style.chart.arcs.labels.color,
1267
- innerHTML: D(i)({
1268
- content: D(l)(Yn(e, t)),
1269
- fontSize: B.value.style.chart.arcs.labels.fontSize,
1270
- fill: B.value.style.chart.arcs.labels.color,
1271
- x: 0,
1272
- y: 0
1273
- })
1274
- }, null, 8, dt))), 128)) : m("", !0)])) : m("", !0)
1275
- ], 8, Ye),
1276
- T(e.$slots, "svg", { svg: {
1277
- height: 600,
1278
- width: 600,
1279
- isPrintingImg: D(Xt) || D(Zt) || Vt.value,
1280
- isPrintingSvg: Ht.value
1281
- } }, void 0, !0)
1282
- ], 42, We)),
1283
- e.$slots.hint ? (S(), h("div", ft, [T(e.$slots, "hint", b(v({
1284
- hint: B.value.a11y.translations.keyboardNavigation,
1285
- isVisible: Ut.value
1286
- })), void 0, !0)])) : m("", !0),
1287
- e.$slots.watermark ? (S(), h("div", pt, [T(e.$slots, "watermark", b(v({ isPrinting: D(Xt) || D(Zt) || Vt.value || Ht.value })), void 0, !0)])) : m("", !0),
1288
- g("div", { id: `legend-bottom-${j.value}` }, null, 8, mt),
1289
- Rt.value && (B.value.style.chart.legend.show || e.$slots.legend) ? (S(), p(Ee, {
1290
- key: 7,
1291
- to: B.value.style.chart.legend.position === "top" ? `#legend-top-${j.value}` : `#legend-bottom-${j.value}`
1292
- }, [g("div", {
1293
- ref_key: "chartLegend",
1294
- ref: jt
1295
- }, [T(e.$slots, "legend", { legend: Wn.value }, () => [B.value.style.chart.legend.show ? (S(), p(we, {
1296
- key: `legend_${It.value}`,
1297
- legendSet: Wn.value,
1298
- config: Gn.value,
1299
- isCursorPointer: V.value,
1300
- onClickMarker: t[0] ||= ({ legend: e }) => Un(e.id)
1301
- }, De({
1302
- item: O(({ legend: e }) => [g("div", {
1303
- style: x({ opacity: P.value ? P.value === e.id ? 1 : .3 : 1 }),
1304
- onClick: (t) => e.select()
1305
- }, E(e.name), 13, ht)]),
1306
- _: 2
1307
- }, [e.$slots.pattern ? {
1308
- name: "legend-pattern",
1309
- fn: O(({ legend: e, index: t }) => [ke(_e, {
1310
- shape: e.shape,
1311
- radius: 30,
1312
- stroke: "none",
1313
- plot: {
1314
- x: 30,
1315
- y: 30
1316
- },
1317
- fill: `url(#pattern_${j.value}_${t})`
1318
- }, null, 8, ["shape", "fill"])]),
1319
- key: "0"
1320
- } : void 0]), 1032, [
1321
- "legendSet",
1322
- "config",
1323
- "isCursorPointer"
1324
- ])) : m("", !0)], !0)], 512)], 8, ["to"])) : m("", !0),
1325
- e.$slots.source ? (S(), h("div", {
1326
- key: 8,
1327
- ref_key: "source",
1328
- ref: Mt,
1329
- dir: "auto"
1330
- }, [T(e.$slots, "source", {}, void 0, !0)], 512)) : m("", !0),
1331
- Y.value === B.value.initialRotation ? m("", !0) : (S(), h("div", gt, [T(e.$slots, "reset-action", { reset: Hn }, () => [g("button", {
1332
- "data-cy-reset": "",
1333
- tabindex: "0",
1334
- role: "button",
1335
- class: "vue-data-ui-refresh-button",
1336
- style: x({
1337
- background: B.value.style.chart.backgroundColor,
1338
- cursor: V.value ? "pointer" : "default"
1339
- }),
1340
- onClick: Hn
1341
- }, [ke(D(yt), {
1342
- name: "refresh",
1343
- stroke: B.value.style.chart.color
1344
- }, null, 8, ["stroke"])], 4)], !0)])),
1345
- A.value && B.value.userOptions.buttons.table ? (S(), p(Pe(Xn.value.component), Ae({ key: 10 }, Xn.value.props, {
1346
- ref_key: "tableUnit",
1347
- ref: zt,
1348
- onClose: Zn
1349
- }), De({
1350
- content: O(() => [(S(), p(D(bt), {
1351
- key: `table_${Ft.value}`,
1352
- colNames: Kn.value.colNames,
1353
- head: Kn.value.head,
1354
- body: Kn.value.body,
1355
- config: Kn.value.config,
1356
- title: B.value.table.useDialog ? "" : Xn.value.title,
1357
- withCloseButton: !B.value.table.useDialog,
1358
- isCursorPointer: V.value,
1359
- onClose: Zn
1360
- }, {
1361
- th: O(({ th: e }) => [Oe(E(e.name), 1)]),
1362
- td: O(({ td: e }) => [g("div", _t, E(e.name ? e.name : On(e)), 1)]),
1363
- _: 1
1364
- }, 8, [
1365
- "colNames",
1366
- "head",
1367
- "body",
1368
- "config",
1369
- "title",
1370
- "withCloseButton",
1371
- "isCursorPointer"
1372
- ]))]),
1373
- _: 2
1374
- }, [B.value.table.useDialog ? {
1375
- name: "title",
1376
- fn: O(() => [Oe(E(Xn.value.title), 1)]),
1377
- key: "0"
1378
- } : void 0, B.value.table.useDialog ? {
1379
- name: "actions",
1380
- fn: O(() => [g("button", {
1381
- tabindex: "0",
1382
- class: "vue-ui-user-options-button",
1383
- onClick: t[1] ||= (e) => qn(B.value.userOptions.callbacks.csv),
1384
- style: x({ cursor: V.value ? "pointer" : "default" })
1385
- }, [ke(D(yt), {
1386
- name: "fileCsv",
1387
- stroke: Xn.value.props.color
1388
- }, null, 8, ["stroke"])], 4)]),
1389
- key: "1"
1390
- } : void 0]), 1040)) : m("", !0),
1391
- T(e.$slots, "skeleton", {}, () => [D(Gt) ? (S(), p(de, { key: 0 })) : m("", !0)], !0)
1392
- ], 46, Ve));
1393
- }
1394
- }, [["__scopeId", "data-v-268ddfaa"]]);
1395
- //#endregion
1396
- export { Be as n, vt as t };