vue-data-ui 3.25.5 → 3.25.6

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 (210) hide show
  1. package/dist/{BaseDraggableDialog-BM_R41j8.js → BaseDraggableDialog-Gm4Q30j0.js} +1 -1
  2. package/dist/{BaseIcon-t83PDe9k.js → BaseIcon-D8R6_sKH.js} +5 -5
  3. package/dist/{BaseLegendToggle-__JnV08B.js → BaseLegendToggle-CXQrLjd-.js} +1 -1
  4. package/dist/{BaseZoomControls-Xo16vFa4.js → BaseZoomControls-BTzjVDPM.js} +1 -1
  5. package/dist/{ColorPicker-Bn3MY7eL.js → ColorPicker-CUy15T72.js} +1 -1
  6. package/dist/{DataTable-COIO9gi4.js → DataTable-oiM9uWrQ.js} +1 -1
  7. package/dist/{HillActions-Cl-dNBZR.js → HillActions-Dn8aKOVJ.js} +1 -1
  8. package/dist/{NonSvgPenAndPaper-KXRhcsxM.js → NonSvgPenAndPaper-DFXjpRyl.js} +2 -2
  9. package/dist/{PackageVersion-M2Ws-VwJ.js → PackageVersion-ur6jKRL5.js} +1 -1
  10. package/dist/{PenAndPaper-BgH3m_LP.js → PenAndPaper-KFzKlvbi.js} +2 -2
  11. package/dist/{SlicerPreview-GvsdvE-h.js → SlicerPreview-B6iHOC9L.js} +1 -1
  12. package/dist/{UserOptions-f3Q0nqrj.js → UserOptions-2x4VklMW.js} +1 -1
  13. package/dist/components/vue-ui-3d-bar.js +1 -1
  14. package/dist/components/vue-ui-accordion.js +1 -1
  15. package/dist/components/vue-ui-age-pyramid.js +1 -1
  16. package/dist/components/vue-ui-annotator.js +1 -1
  17. package/dist/components/vue-ui-bullet.js +1 -1
  18. package/dist/components/vue-ui-bump.js +1 -1
  19. package/dist/components/vue-ui-candlestick.js +1 -1
  20. package/dist/components/vue-ui-carousel-table.js +1 -1
  21. package/dist/components/vue-ui-chestnut.js +1 -1
  22. package/dist/components/vue-ui-chord.js +1 -1
  23. package/dist/components/vue-ui-circle-pack.js +1 -1
  24. package/dist/components/vue-ui-cursor.js +1 -1
  25. package/dist/components/vue-ui-dag.js +1 -1
  26. package/dist/components/vue-ui-dashboard.js +1 -1
  27. package/dist/components/vue-ui-digits.js +1 -1
  28. package/dist/components/vue-ui-donut-evolution.js +1 -1
  29. package/dist/components/vue-ui-donut.js +1 -1
  30. package/dist/components/vue-ui-dumbbell.js +1 -1
  31. package/dist/components/vue-ui-flow.js +1 -1
  32. package/dist/components/vue-ui-funnel.js +1 -1
  33. package/dist/components/vue-ui-galaxy.js +1 -1
  34. package/dist/components/vue-ui-gauge.js +1 -1
  35. package/dist/components/vue-ui-geo.js +1 -1
  36. package/dist/components/vue-ui-gizmo.js +1 -1
  37. package/dist/components/vue-ui-heatmap.js +1 -1
  38. package/dist/components/vue-ui-hill.js +1 -1
  39. package/dist/components/vue-ui-history-plot.js +1 -1
  40. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  41. package/dist/components/vue-ui-icon.js +1 -1
  42. package/dist/components/vue-ui-kpi.js +1 -1
  43. package/dist/components/vue-ui-label.js +1 -1
  44. package/dist/components/vue-ui-mini-loader.js +1 -1
  45. package/dist/components/vue-ui-molecule.js +1 -1
  46. package/dist/components/vue-ui-mood-radar.js +1 -1
  47. package/dist/components/vue-ui-nested-donuts.js +1 -1
  48. package/dist/components/vue-ui-onion.js +1 -1
  49. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  50. package/dist/components/vue-ui-quadrant.js +1 -1
  51. package/dist/components/vue-ui-quick-chart.js +1 -1
  52. package/dist/components/vue-ui-radar.js +1 -1
  53. package/dist/components/vue-ui-rating.js +1 -1
  54. package/dist/components/vue-ui-relation-circle.js +1 -1
  55. package/dist/components/vue-ui-ridgeline.js +1 -1
  56. package/dist/components/vue-ui-rings.js +1 -1
  57. package/dist/components/vue-ui-scatter.js +1 -1
  58. package/dist/components/vue-ui-skeleton.js +1 -1
  59. package/dist/components/vue-ui-smiley.js +1 -1
  60. package/dist/components/vue-ui-spark-trend.js +1 -1
  61. package/dist/components/vue-ui-sparkbar.js +1 -1
  62. package/dist/components/vue-ui-sparkgauge.js +1 -1
  63. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  64. package/dist/components/vue-ui-sparkline.js +1 -1
  65. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  66. package/dist/components/vue-ui-stackbar.js +1 -1
  67. package/dist/components/vue-ui-stackline.js +1 -1
  68. package/dist/components/vue-ui-strip-plot.js +1 -1
  69. package/dist/components/vue-ui-table-heatmap.js +1 -1
  70. package/dist/components/vue-ui-table-sparkline.js +1 -1
  71. package/dist/components/vue-ui-table.js +1 -1
  72. package/dist/components/vue-ui-thermometer.js +1 -1
  73. package/dist/components/vue-ui-timer.js +1 -1
  74. package/dist/components/vue-ui-tiremarks.js +1 -1
  75. package/dist/components/vue-ui-treemap.js +1 -1
  76. package/dist/components/vue-ui-vertical-bar.js +1 -1
  77. package/dist/components/vue-ui-waffle.js +1 -1
  78. package/dist/components/vue-ui-wheel.js +1 -1
  79. package/dist/components/vue-ui-word-cloud.js +1 -1
  80. package/dist/components/vue-ui-world.js +1 -1
  81. package/dist/components/vue-ui-xy-canvas.js +1 -1
  82. package/dist/components/vue-ui-xy.js +1 -1
  83. package/dist/{package-ta2JoIjx.js → package-Dx7M6sYy.js} +1 -1
  84. package/dist/{render-common-bvOuxfN3.js → render-common-DETHvNhl.js} +1 -1
  85. package/dist/ssr/vue-ui-donut.js +1 -1
  86. package/dist/ssr/vue-ui-xy.js +1 -1
  87. package/dist/ssr.js +2 -2
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +10 -0
  90. package/dist/{useConfig-C_mX5pOZ.js → useConfig-CIQZ6_r7.js} +11 -1
  91. package/dist/{useObjectBindings-uXpBcVyo.js → useObjectBindings---mHNfbS.js} +2 -2
  92. package/dist/utils.js +1 -1
  93. package/dist/{vue-data-ui-BjdCpsRV.js → vue-data-ui-Dh3_EsHb.js} +70 -70
  94. package/dist/vue-data-ui.js +71 -71
  95. package/dist/vue-ui-3d-bar-i1REAKnM.js +1831 -0
  96. package/dist/{vue-ui-accordion-DRf3NQyH.js → vue-ui-accordion-BSmBUjwZ.js} +2 -2
  97. package/dist/vue-ui-age-pyramid-DuHblCNO.js +1293 -0
  98. package/dist/{vue-ui-annotator-DZ0O8Xa5.js → vue-ui-annotator-CTQHAPho.js} +676 -676
  99. package/dist/vue-ui-bullet-CYLnKrmM.js +702 -0
  100. package/dist/{vue-ui-bump-DoHnD1Xy.js → vue-ui-bump-DhwySwgn.js} +380 -380
  101. package/dist/vue-ui-candlestick-BpiECaDj.js +1859 -0
  102. package/dist/{vue-ui-carousel-table-k1cBJ1i1.js → vue-ui-carousel-table-D-T2yA7-.js} +2 -2
  103. package/dist/vue-ui-chestnut-1MsZ9Q3r.js +2016 -0
  104. package/dist/vue-ui-chord-QBQUSe7r.js +1347 -0
  105. package/dist/vue-ui-circle-pack-ZWEwtesD.js +1635 -0
  106. package/dist/{vue-ui-cursor-CQWLyEx0.js → vue-ui-cursor-CHQcHAHQ.js} +2 -2
  107. package/dist/{vue-ui-dag-BqlsutMj.js → vue-ui-dag-C_inEafb.js} +792 -792
  108. package/dist/{vue-ui-dashboard-Be3MmkgS.js → vue-ui-dashboard-Bs2mBur5.js} +67 -67
  109. package/dist/{vue-ui-digits-BqdfbcKX.js → vue-ui-digits-DwE4MoXI.js} +2 -2
  110. package/dist/vue-ui-donut-BM9dMHXj.js +2415 -0
  111. package/dist/{vue-ui-donut-gzGZ42uH.js → vue-ui-donut-CbOSJmRu.js} +2 -2
  112. package/dist/vue-ui-donut-evolution-C97_RHus.js +1552 -0
  113. package/dist/vue-ui-dumbbell-DwKa5EL5.js +1533 -0
  114. package/dist/vue-ui-flow-DTTr3YL9.js +1217 -0
  115. package/dist/vue-ui-funnel-C4pkBk3D.js +749 -0
  116. package/dist/vue-ui-galaxy-CuAPLOvX.js +1085 -0
  117. package/dist/vue-ui-gauge-DLDULH26.js +934 -0
  118. package/dist/{vue-ui-geo-Ca8kPYr-.js → vue-ui-geo-DXIHhp-G.js} +429 -429
  119. package/dist/{vue-ui-gizmo-wUqHJICb.js → vue-ui-gizmo-PuURiePo.js} +2 -2
  120. package/dist/vue-ui-heatmap-mvWLKB99.js +1555 -0
  121. package/dist/{vue-ui-hill-D6Y9Xy2K.js → vue-ui-hill-DqsVJkmO.js} +470 -470
  122. package/dist/vue-ui-history-plot-BBVLgt9_.js +1698 -0
  123. package/dist/{vue-ui-horizontal-bar-3on3-H3B.js → vue-ui-horizontal-bar-y8Q8PZwT.js} +511 -511
  124. package/dist/{vue-ui-kpi-CUpRRIUf.js → vue-ui-kpi-B2hf3kpp.js} +2 -2
  125. package/dist/{vue-ui-label-DR2qUZOG.js → vue-ui-label-ClMQ5Gez.js} +1 -1
  126. package/dist/{vue-ui-mini-loader-D8W-fERs.js → vue-ui-mini-loader-DtPOVIkK.js} +1 -1
  127. package/dist/vue-ui-molecule-eeW1Pmg8.js +929 -0
  128. package/dist/{vue-ui-mood-radar-TW251icr.js → vue-ui-mood-radar-Dd1qfUiu.js} +376 -376
  129. package/dist/vue-ui-nested-donuts-CUARCr6O.js +1503 -0
  130. package/dist/vue-ui-onion-NoxHP0cG.js +1235 -0
  131. package/dist/{vue-ui-parallel-coordinate-plot-RM25bxtf.js → vue-ui-parallel-coordinate-plot-Cp3pCyxK.js} +407 -407
  132. package/dist/vue-ui-quadrant-C3kQtaeX.js +1967 -0
  133. package/dist/{vue-ui-quick-chart-Cswm3_eI.js → vue-ui-quick-chart-BZq517pL.js} +4 -4
  134. package/dist/vue-ui-radar-DvNrl4uD.js +1374 -0
  135. package/dist/vue-ui-rating-CWFMoYpE.js +359 -0
  136. package/dist/vue-ui-relation-circle-1iS6C0xx.js +905 -0
  137. package/dist/vue-ui-ridgeline-B-EZiPCF.js +1630 -0
  138. package/dist/vue-ui-rings-BXuwrHos.js +1252 -0
  139. package/dist/vue-ui-scatter-ByL-ZZ3B.js +2405 -0
  140. package/dist/{vue-ui-skeleton-D_u8EWeW.js → vue-ui-skeleton-BcU1onF6.js} +698 -698
  141. package/dist/vue-ui-smiley-DJVusLnp.js +376 -0
  142. package/dist/vue-ui-spark-trend-DjS31avb.js +457 -0
  143. package/dist/vue-ui-sparkbar-1Al_TLw1.js +401 -0
  144. package/dist/vue-ui-sparkgauge-CwLo53Y8.js +268 -0
  145. package/dist/vue-ui-sparkhistogram-CGw6SThG.js +589 -0
  146. package/dist/{vue-ui-sparkline-9qkNNZG6.js → vue-ui-sparkline-CSZGBFfI.js} +511 -511
  147. package/dist/vue-ui-sparkstackbar-B8dloLMp.js +738 -0
  148. package/dist/vue-ui-stackbar-FvNd77t1.js +2355 -0
  149. package/dist/vue-ui-stackline-CP7PkqiG.js +2469 -0
  150. package/dist/vue-ui-strip-plot-DSMlDkv1.js +1740 -0
  151. package/dist/{vue-ui-table-heatmap-XmDK1aHJ.js → vue-ui-table-heatmap-DnP3pzh2.js} +2 -2
  152. package/dist/vue-ui-table-rwKtnJKt.js +1352 -0
  153. package/dist/vue-ui-table-sparkline-B6wyEAyC.js +738 -0
  154. package/dist/{vue-ui-thermometer-CLx3SPRv.js → vue-ui-thermometer-D0_KsB-y.js} +192 -192
  155. package/dist/{vue-ui-timer-BDWUNb6t.js → vue-ui-timer-1Z2zginj.js} +153 -153
  156. package/dist/vue-ui-tiremarks-zbl7aooy.js +540 -0
  157. package/dist/vue-ui-treemap-Drs4gK6L.js +1733 -0
  158. package/dist/vue-ui-waffle-DqUVsVNE.js +1621 -0
  159. package/dist/vue-ui-wheel-DLCBPW9t.js +873 -0
  160. package/dist/vue-ui-word-cloud-8Agk9h6c.js +1710 -0
  161. package/dist/{vue-ui-world-C2atz4Xm.js → vue-ui-world-BOBHo7-L.js} +524 -524
  162. package/dist/vue-ui-xy-CSTJzRkk.js +5283 -0
  163. package/dist/{vue-ui-xy-CpA0W6zM.js → vue-ui-xy-Dmk1gQkI.js} +2 -2
  164. package/dist/vue-ui-xy-canvas-DANPuyf4.js +1824 -0
  165. package/dist/{vue_ui_age_pyramid-BY6c-oX_.js → vue_ui_age_pyramid-B2R66DgQ.js} +15 -6
  166. package/package.json +1 -1
  167. package/dist/vue-ui-3d-bar-C0aLR6lw.js +0 -1831
  168. package/dist/vue-ui-age-pyramid-DUcB3lYs.js +0 -1243
  169. package/dist/vue-ui-bullet-DIOCMF2H.js +0 -702
  170. package/dist/vue-ui-candlestick-Cf8TYPl5.js +0 -1859
  171. package/dist/vue-ui-chestnut-BMAuaeif.js +0 -2016
  172. package/dist/vue-ui-chord-DCe2iPjk.js +0 -1347
  173. package/dist/vue-ui-circle-pack-Eb5hS_z3.js +0 -1635
  174. package/dist/vue-ui-donut-CuQVKuZa.js +0 -2415
  175. package/dist/vue-ui-donut-evolution-DckruxZ9.js +0 -1552
  176. package/dist/vue-ui-dumbbell-BYU-hh2E.js +0 -1531
  177. package/dist/vue-ui-flow-DLRcNDLc.js +0 -1217
  178. package/dist/vue-ui-funnel-DjoqNN1U.js +0 -749
  179. package/dist/vue-ui-galaxy-BhR4IOra.js +0 -1085
  180. package/dist/vue-ui-gauge-Cq161Kwp.js +0 -934
  181. package/dist/vue-ui-heatmap-Bl5ymvi9.js +0 -1555
  182. package/dist/vue-ui-history-plot-CvVjsdCL.js +0 -1698
  183. package/dist/vue-ui-molecule-BExVLLgE.js +0 -929
  184. package/dist/vue-ui-nested-donuts-CWzJKr3S.js +0 -1503
  185. package/dist/vue-ui-onion-VaYZQK5i.js +0 -1235
  186. package/dist/vue-ui-quadrant-Dmtwow7n.js +0 -1967
  187. package/dist/vue-ui-radar-C3GYthqu.js +0 -1374
  188. package/dist/vue-ui-rating-CBdDXL80.js +0 -359
  189. package/dist/vue-ui-relation-circle-BA0qy0kp.js +0 -905
  190. package/dist/vue-ui-ridgeline-C5skjBTe.js +0 -1630
  191. package/dist/vue-ui-rings-BJ8yEQMw.js +0 -1252
  192. package/dist/vue-ui-scatter-DXg8ESgr.js +0 -2405
  193. package/dist/vue-ui-smiley-DQOp87rr.js +0 -376
  194. package/dist/vue-ui-spark-trend-CjCufXof.js +0 -457
  195. package/dist/vue-ui-sparkbar-BniEM15a.js +0 -401
  196. package/dist/vue-ui-sparkgauge-BtyCrqTQ.js +0 -268
  197. package/dist/vue-ui-sparkhistogram-DQdn3PW1.js +0 -589
  198. package/dist/vue-ui-sparkstackbar-BXQlOdOk.js +0 -738
  199. package/dist/vue-ui-stackbar-CkjicNDv.js +0 -2355
  200. package/dist/vue-ui-stackline-BB1IZta8.js +0 -2469
  201. package/dist/vue-ui-strip-plot-DGLGuH6e.js +0 -1740
  202. package/dist/vue-ui-table-BXz_HY2g.js +0 -1352
  203. package/dist/vue-ui-table-sparkline-MTEw3imE.js +0 -738
  204. package/dist/vue-ui-tiremarks-DoaypTC-.js +0 -540
  205. package/dist/vue-ui-treemap-Bv7PgpiC.js +0 -1733
  206. package/dist/vue-ui-waffle-z2DhvSAx.js +0 -1621
  207. package/dist/vue-ui-wheel-DYLBJuFb.js +0 -873
  208. package/dist/vue-ui-word-cloud-CbpEhSdL.js +0 -1710
  209. package/dist/vue-ui-xy-B3DQ6t46.js +0 -5283
  210. package/dist/vue-ui-xy-canvas-CJefORWc.js +0 -1824
@@ -0,0 +1,1552 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, D as n, Et as r, G as i, Kt as a, Lt as o, Mt as s, Pt as c, Q as ee, S as te, Ut as ne, Vt as re, X as ie, Yt as ae, Zt as oe, _ as se, f as ce, h as le, ht as ue, i as de, nt as fe, p as pe, q as me, t as he, w as ge, y as _e } from "./lib-Dql7cqyA.js";
3
+ import { n as ve, t as ye } from "./useHints-Dq_w2E8B.js";
4
+ import { t as be } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as xe } from "./useConfig-CIQZ6_r7.js";
6
+ import { t as Se } from "./usePrinter-DISD7q5m.js";
7
+ import { n as Ce, t as we } from "./BaseScanner-DZvpgOjM.js";
8
+ import { t as Te } from "./useNestedProp-Chvyfpl-.js";
9
+ import { t as Ee } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as De } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as Oe } from "./useTransitions-g_zBREk2.js";
12
+ import { t as ke } from "./useStableElementSize-C7KADDKj.js";
13
+ import { t as Ae } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
+ import { t as je } from "./img-DhGApYG0.js";
15
+ import { n as Me } from "./Title-CPHi-evi.js";
16
+ import { t as Ne } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
+ import { l as Pe, t as Fe } from "./useResponsive-ZtArZtUf.js";
18
+ import { t as Ie } from "./DefGrad-DVBqDjhO.js";
19
+ import { t as Le } from "./SlicerPreview-B6iHOC9L.js";
20
+ import { t as Re } from "./BaseLegendToggle-CXQrLjd-.js";
21
+ import { t as ze } from "./A11yDataTable-DdRsVULz.js";
22
+ import { t as Be } from "./useUserOptionState-DK-_1ddE.js";
23
+ import { t as Ve } from "./useChartAccessibility-DYqac8yF.js";
24
+ import { t as He } from "./Legend-X4kF4PvW.js";
25
+ import { t as Ue } from "./vue_ui_donut_evolution-D1yAAIHr.js";
26
+ import { Fragment as l, Teleport as We, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as Ge, createTextVNode as Ke, createVNode as qe, defineAsyncComponent as h, guardReactiveProps as g, mergeProps as Je, nextTick as Ye, normalizeClass as _, normalizeProps as v, normalizeStyle as Xe, onBeforeUnmount as Ze, onMounted as Qe, openBlock as y, ref as b, renderList as x, renderSlot as S, resolveDynamicComponent as $e, shallowRef as et, toDisplayString as C, toRefs as tt, unref as w, watch as nt, watchEffect as rt, withCtx as T } from "vue";
27
+ //#region src/components/vue-ui-donut-evolution.vue
28
+ var it = /* @__PURE__ */ e({ default: () => Kt }), at = ["id"], ot = ["id"], st = ["id"], ct = { style: { position: "relative" } }, lt = [
29
+ "xmlns",
30
+ "aria-describedby",
31
+ "viewBox"
32
+ ], ut = [
33
+ "x",
34
+ "y",
35
+ "width",
36
+ "height"
37
+ ], dt = { key: 1 }, ft = [
38
+ "x1",
39
+ "x2",
40
+ "y1",
41
+ "y2",
42
+ "stroke",
43
+ "stroke-width"
44
+ ], pt = [
45
+ "x1",
46
+ "x2",
47
+ "y1",
48
+ "y2",
49
+ "stroke",
50
+ "stroke-width"
51
+ ], mt = { key: 0 }, ht = [
52
+ "x1",
53
+ "x2",
54
+ "y1",
55
+ "y2",
56
+ "stroke",
57
+ "stroke-width"
58
+ ], gt = [
59
+ "font-size",
60
+ "fill",
61
+ "transform"
62
+ ], _t = [
63
+ "x",
64
+ "y",
65
+ "font-size",
66
+ "fill"
67
+ ], vt = [
68
+ "d",
69
+ "stroke",
70
+ "stroke-width"
71
+ ], yt = [
72
+ "transform",
73
+ "font-size",
74
+ "text-anchor",
75
+ "fill",
76
+ "font-weight"
77
+ ], bt = { key: 0 }, xt = [
78
+ "text-anchor",
79
+ "font-size",
80
+ "fill",
81
+ "transform"
82
+ ], St = [
83
+ "text-anchor",
84
+ "font-size",
85
+ "fill",
86
+ "transform",
87
+ "innerHTML"
88
+ ], Ct = [
89
+ "x1",
90
+ "y1",
91
+ "x2",
92
+ "y2",
93
+ "stroke",
94
+ "stroke-width"
95
+ ], wt = { key: 1 }, Tt = [
96
+ "cx",
97
+ "cy",
98
+ "r",
99
+ "fill"
100
+ ], Et = { key: 0 }, Dt = { key: 0 }, Ot = ["d", "stroke"], kt = [
101
+ "text-anchor",
102
+ "x",
103
+ "y",
104
+ "fill"
105
+ ], At = [
106
+ "cx",
107
+ "cy",
108
+ "r",
109
+ "fill"
110
+ ], jt = { key: 0 }, Mt = [
111
+ "cx",
112
+ "cy",
113
+ "fill"
114
+ ], Nt = { key: 1 }, Pt = [
115
+ "d",
116
+ "fill",
117
+ "stroke"
118
+ ], Ft = { key: 2 }, It = [
119
+ "d",
120
+ "fill",
121
+ "stroke"
122
+ ], Lt = [
123
+ "x",
124
+ "y",
125
+ "font-size",
126
+ "fill"
127
+ ], Rt = [
128
+ "x",
129
+ "y",
130
+ "width",
131
+ "height",
132
+ "fill"
133
+ ], zt = [
134
+ "x",
135
+ "y",
136
+ "width",
137
+ "height",
138
+ "onMouseenter",
139
+ "onMouseleave",
140
+ "onClick"
141
+ ], Bt = {
142
+ key: 0,
143
+ style: {
144
+ position: "absolute",
145
+ top: "100%",
146
+ left: "0",
147
+ width: "100%"
148
+ },
149
+ "data-dom-to-png-ignore": "",
150
+ "aria-hidden": "true"
151
+ }, Vt = {
152
+ key: 5,
153
+ class: "vue-data-ui-watermark"
154
+ }, Ht = ["id"], Ut = ["onClick"], Wt = { key: 0 }, Gt = { key: 1 }, Kt = /*#__PURE__*/ Ne({
155
+ __name: "vue-ui-donut-evolution",
156
+ props: {
157
+ config: {
158
+ type: Object,
159
+ default() {
160
+ return {};
161
+ }
162
+ },
163
+ dataset: {
164
+ type: Array,
165
+ default() {
166
+ return [];
167
+ }
168
+ }
169
+ },
170
+ emits: ["selectLegend", "copyAlt"],
171
+ setup(e, { expose: Ne, emit: it }) {
172
+ let Kt = h(() => import("./vue-ui-accordion-BSmBUjwZ.js").then((e) => e.n)), qt = h(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), Jt = h(() => import("./DataTable-oiM9uWrQ.js")), Yt = h(() => import("./PackageVersion-ur6jKRL5.js").then((e) => e.t)), Xt = h(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), Zt = h(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), Qt = h(() => import("./vue-ui-donut-BM9dMHXj.js").then((e) => e.n)), $t = h(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_donut_evolution: en } = xe(), { isThemeValid: tn, warnInvalidTheme: nn } = Ee(), E = e, D = b(me()), O = b([]), k = b(null), rn = b(null), an = b(!1), A = b(null), j = b(null), on = b(null), sn = b(0), cn = b(0), ln = b(0), un = b(0), dn = b(0), fn = b(null), pn = b(null), mn = b(null), hn = b(null), gn = b(!1), _n = b(null), vn = b(null), yn = et(null), bn = b(0), xn = b(0), Sn = b(!1);
173
+ function Cn() {
174
+ yn.value = j.value?.parentNode ?? null;
175
+ }
176
+ function wn() {
177
+ return new Promise((e) => {
178
+ requestAnimationFrame(() => {
179
+ requestAnimationFrame(e);
180
+ });
181
+ });
182
+ }
183
+ async function Tn() {
184
+ let e = ++xn.value;
185
+ await Ye(), await wn(), await wn(), e === xn.value && (bn.value += 1);
186
+ }
187
+ function En() {
188
+ Sn.value || (Sn.value = !0, Ye(() => {
189
+ Sn.value = !1, Cn(), Tn();
190
+ }));
191
+ }
192
+ let Dn = ke({
193
+ elementRef: yn,
194
+ minimumWidth: 2,
195
+ minimumHeight: 2,
196
+ stableFramesRequired: 2,
197
+ once: !1,
198
+ onSizeAccepted: () => {
199
+ Tn();
200
+ }
201
+ }), On = b(null), kn = b(null), An = b(null), jn = b(null), Mn = b(null), Nn = b(!1), M = et(null), N = et(null), Pn = b(null), P = b(null), Fn = b(!1), In = it, Ln = u(() => !!E.dataset && E.dataset.length);
202
+ Qe(() => {
203
+ gn.value = !0, Cn(), Dn.start(), zn(), Tn();
204
+ });
205
+ let Rn = u(() => F.value.debug);
206
+ function zn() {
207
+ if (c(E.dataset) ? (fe({
208
+ componentName: "VueUiDonutEvolution",
209
+ type: "dataset",
210
+ debug: Rn.value
211
+ }), Wn.value = !0) : E.dataset.length && E.dataset.forEach((e, t) => {
212
+ ue({
213
+ datasetObject: e,
214
+ requiredAttributes: ["name", "values"]
215
+ }).forEach((e) => {
216
+ fe({
217
+ componentName: "VueUiDonutEvolution",
218
+ type: "datasetSerieAttribute",
219
+ property: e,
220
+ index: t,
221
+ debug: Rn.value
222
+ }), Wn.value = !0;
223
+ });
224
+ }), c(E.dataset) || (Wn.value = F.value.loading), setTimeout(() => {
225
+ Nn.value = !0;
226
+ }, 10), Jn(), F.value.responsive) {
227
+ let e = Pe(() => {
228
+ Nn.value = !1;
229
+ let { width: e, height: t } = Fe({
230
+ chart: j.value,
231
+ title: F.value.style.chart.title.text ? On.value : null,
232
+ legend: F.value.style.chart.legend.show ? kn.value : null,
233
+ slicer: F.value.style.chart.zoom.show && Kn.value > 1 ? Mn.value : null,
234
+ source: An.value
235
+ });
236
+ requestAnimationFrame(() => {
237
+ Gn.value.width = e, Gn.value.height = t - 12, En(), clearTimeout(Pn.value), Pn.value = setTimeout(() => {
238
+ Nn.value = !0;
239
+ }, 10);
240
+ });
241
+ });
242
+ M.value && (N.value && M.value.unobserve(N.value), M.value.disconnect()), M.value = new ResizeObserver(e), N.value = j.value.parentNode, M.value.observe(N.value);
243
+ }
244
+ En();
245
+ }
246
+ let F = b(er()), I = u(() => L.value.grid), L = u(() => F.value.style.chart.layout), R = u(() => F.value.style.chart.dialog), z = u(() => F.value.style.chart);
247
+ ve({
248
+ config: () => F.value,
249
+ dataset: () => E.dataset,
250
+ component: "VueUiDonutEvolution",
251
+ rules: [
252
+ ye.emptyArray,
253
+ {
254
+ test: (e) => e.length === 1,
255
+ message: [
256
+ "👀 There is only a single series in your dataset. Consider:",
257
+ "",
258
+ "▶️ Using VueUiXy instead, for a regular line chart."
259
+ ]
260
+ },
261
+ {
262
+ test: (e) => e.length > 6,
263
+ message: [
264
+ "👀 The number of series is > 6, which makes donuts hard to read. Consider:",
265
+ "",
266
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
267
+ "",
268
+ "▶️ Using filters to let users choose a maximum number of series to display.",
269
+ "",
270
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
271
+ ]
272
+ },
273
+ {
274
+ test: (e) => e.some((e) => e.values.length > 24),
275
+ message: [
276
+ "👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:",
277
+ "",
278
+ "▶️ Using larger time scales, or aggregated values.",
279
+ "",
280
+ "▶️ Filtering the time range by adding date intputs in your UI.",
281
+ "",
282
+ "▶️ Using VueUiXy to show longer series in a more comfortable display."
283
+ ]
284
+ }
285
+ ]
286
+ });
287
+ let { transitionEnabled: Bn } = Oe({
288
+ config: () => F.value.transitions,
289
+ dataset: () => E.dataset
290
+ }), B = u(() => F.value.userOptions.useCursorPointer), Vn = u(() => oe({
291
+ defaultConfig: {
292
+ useCssAnimation: !1,
293
+ table: { show: !1 },
294
+ userOptions: { show: !1 },
295
+ style: { chart: {
296
+ backgroundColor: "#99999930",
297
+ layout: {
298
+ dataLabels: { show: !1 },
299
+ grid: {
300
+ stroke: "#6A6A6A",
301
+ axis: {
302
+ yLabel: "",
303
+ xLabel: ""
304
+ },
305
+ yAxis: {
306
+ scaleMin: null,
307
+ scaleMax: null,
308
+ autoScale: !1,
309
+ dataLabels: { show: !1 }
310
+ },
311
+ xAxis: { dataLabels: { show: !1 } }
312
+ },
313
+ line: { stroke: "#CACACA60" }
314
+ },
315
+ legend: {
316
+ backgroundColor: "transparent",
317
+ showValue: !1,
318
+ showPercentage: !1
319
+ },
320
+ zoom: {
321
+ show: !1,
322
+ startIndex: null,
323
+ endIndex: null
324
+ }
325
+ } }
326
+ },
327
+ userConfig: F.value.skeletonConfig ?? {}
328
+ })), { loading: Hn, FINAL_DATASET: Un, manualLoading: Wn } = Ce({
329
+ ...tt(E),
330
+ FINAL_CONFIG: F,
331
+ prepareConfig: er,
332
+ callback: () => {
333
+ Promise.resolve().then(async () => {
334
+ await Jn();
335
+ });
336
+ },
337
+ skeletonDataset: E.config?.skeletonDataset ?? [
338
+ {
339
+ name: "",
340
+ values: [
341
+ 1,
342
+ 2,
343
+ 3,
344
+ 5,
345
+ 8,
346
+ 13
347
+ ],
348
+ color: "#AAAAAA"
349
+ },
350
+ {
351
+ name: "",
352
+ values: [
353
+ 1,
354
+ 2,
355
+ 3,
356
+ 5,
357
+ 8,
358
+ 13
359
+ ],
360
+ color: "#BABABA"
361
+ },
362
+ {
363
+ name: "",
364
+ values: [
365
+ 1,
366
+ 2,
367
+ 3,
368
+ 5,
369
+ 8,
370
+ 13
371
+ ],
372
+ color: "#CACACA"
373
+ }
374
+ ],
375
+ skeletonConfig: oe({
376
+ defaultConfig: F.value,
377
+ userConfig: Vn.value
378
+ })
379
+ }), Gn = b({
380
+ width: L.value.width,
381
+ height: L.value.height
382
+ }), Kn = u(() => Math.max(...Un.value.map((e) => e.values.length))), V = b({
383
+ start: 0,
384
+ end: Kn.value
385
+ });
386
+ function qn() {
387
+ Jn();
388
+ }
389
+ async function Jn() {
390
+ await Ye(), await Ye();
391
+ let { startIndex: e, endIndex: t } = z.value.zoom, n = jn.value;
392
+ V.value = {
393
+ start: 0,
394
+ end: q.value
395
+ }, (e != null || t != null) && n ? (e == null ? (V.value.start = 0, n.setStartValue(0)) : n.setStartValue(e), t == null ? (V.value.end = q.value, n.setEndValue(q.value)) : n.setEndValue(Yn(t + 1))) : (V.value = {
396
+ start: 0,
397
+ end: q.value
398
+ }, cn.value += 1), En();
399
+ }
400
+ function Yn(e) {
401
+ let t = q.value;
402
+ return e > t ? t : e < 0 || z.value.zoom.startIndex !== null && e < z.value.zoom.startIndex ? z.value.zoom.startIndex === null ? 1 : z.value.zoom.startIndex + 1 : e;
403
+ }
404
+ let { userOptionsVisible: Xn, setUserOptionsVisibility: Zn, keepUserOptionState: Qn } = Be({ config: F.value }), { svgRef: $n } = Ve({ config: z.value.title });
405
+ function er() {
406
+ let e = Te({
407
+ userConfig: E.config,
408
+ defaultConfig: en
409
+ }), t = {}, n = e.theme;
410
+ if (n) {
411
+ if (!tn.value(e)) nn(e), t = e;
412
+ else {
413
+ let r = Te({
414
+ userConfig: Ue[n] || E.config,
415
+ defaultConfig: e
416
+ });
417
+ t = {
418
+ ...Te({
419
+ userConfig: E.config,
420
+ defaultConfig: r
421
+ }),
422
+ customPalette: e.customPalette ? e.customPalette : ae[n] || o
423
+ };
424
+ }
425
+ } else t = e;
426
+ return t;
427
+ }
428
+ nt(() => E.config, (e) => {
429
+ Hn.value || (F.value = er()), Xn.value = !F.value.userOptions.showOnChartHover, zn(), ln.value += 1, un.value += 1, dn.value += 1, H.value.showTable = F.value.table.show;
430
+ }, { deep: !0 }), nt(() => E.dataset, (e) => {
431
+ Array.isArray(e) && e.length > 0 && (Wn.value = !1), qn();
432
+ }, { deep: !0 });
433
+ let { isPrinting: tr, isImaging: nr, generatePdf: rr, generateImage: ir } = Se({
434
+ elementId: D.value,
435
+ fileName: z.value.title.text || "vue-ui-donut-evolution",
436
+ options: F.value.userOptions.print
437
+ }), ar = u(() => F.value.userOptions.show && !z.value.title.text), or = u(() => ge(F.value.customPalette)), H = b({ showTable: F.value.table.show });
438
+ nt(F, () => {
439
+ H.value = { showTable: F.value.table.show };
440
+ }, { immediate: !0 });
441
+ let U = u(() => ({
442
+ top: L.value.padding.top,
443
+ right: L.value.padding.right,
444
+ bottom: L.value.padding.bottom,
445
+ left: L.value.padding.left
446
+ })), W = u(() => I.value.yAxis.position === "right");
447
+ function sr() {
448
+ let e = 0;
449
+ fn.value && (e = Array.from(fn.value.querySelectorAll("text")).reduce((e, t) => {
450
+ let n = t.getComputedTextLength();
451
+ return n > e ? n : e;
452
+ }, 0));
453
+ let t = hn.value ? hn.value.getBoundingClientRect().width + I.value.axis.yLabelOffsetX + I.value.axis.fontSize : 0, n = e + t + 5;
454
+ return {
455
+ left: W.value ? 0 : n,
456
+ right: W.value ? n : 0,
457
+ scaleLabelsWidth: e,
458
+ yAxisLabelWidth: t,
459
+ crosshair: 5
460
+ };
461
+ }
462
+ let cr = b(0), lr = Pe((e) => {
463
+ cr.value = e;
464
+ }, 100);
465
+ rt((e) => {
466
+ let t = pn.value;
467
+ if (!t) return;
468
+ let n = new ResizeObserver((e) => {
469
+ lr(e[0].contentRect.height);
470
+ });
471
+ n.observe(t), e(() => n.disconnect());
472
+ }), Ze(() => {
473
+ cr.value = 0, Dn.stop(), clearTimeout(Pn.value), M.value && (N.value && M.value.unobserve(N.value), M.value.disconnect(), M.value = null, N.value = null);
474
+ });
475
+ let ur = u(() => {
476
+ let e = 0;
477
+ mn.value && (e = mn.value.getBBox().height);
478
+ let t = 0;
479
+ return pn.value && (t = cr.value), e + t + I.value.axis.fontSize + I.value.xAxis.dataLabels.offsetY;
480
+ }), G = u(() => {
481
+ bn.value;
482
+ let e = sr(), t = L.value.dataLabels.fontSize * 3, n = Gn.value.width, r = Gn.value.height, i = U.value.left + e.left, a = n - U.value.right - e.right, o = n - i - U.value.right - e.right, s = r - U.value.top - U.value.bottom - t - ur.value, c = U.value.top + t;
483
+ return {
484
+ top: c,
485
+ left: i,
486
+ right: a,
487
+ bottom: r - U.value.bottom - ur.value,
488
+ absoluteHeight: r,
489
+ absoluteWidth: n,
490
+ centerX: i + Math.max(10, o) / 2,
491
+ centerY: c + Math.max(10, s) / 2,
492
+ width: Math.max(10, o),
493
+ height: Math.max(10, s),
494
+ scaleLabelsWidth: e.scaleLabelsWidth,
495
+ yAxisLabelWidth: e.yAxisLabelWidth,
496
+ crosshair: e.crosshair
497
+ };
498
+ }), K = u(() => (Rn.value && Un.value.forEach((e, t) => {
499
+ [null, void 0].includes(e.name) && fe({
500
+ componentName: "VueUiDonutEvolution",
501
+ type: "datasetSerieAttribute",
502
+ property: "name",
503
+ index: t
504
+ }), [null, void 0].includes(e.values) && fe({
505
+ componentName: "VueUiDonutEvolution",
506
+ type: "datasetSerieAttribute",
507
+ property: "values",
508
+ index: t
509
+ });
510
+ }), Un.value.map((e, t) => ({
511
+ ...e,
512
+ values: re(e.values),
513
+ color: te(e.color) || or.value[t] || o[t] || o[t % o.length],
514
+ length: (e.values || []).length,
515
+ uid: me()
516
+ })))), dr = u(() => K.value.filter((e) => !O.value.includes(e.uid)).map((e) => ({
517
+ ...e,
518
+ values: e.values.filter((e, t) => t >= V.value.start && t <= V.value.end)
519
+ }))), q = u(() => Math.max(...K.value.map((e) => e.length))), J = b([]), fr = 0;
520
+ rt(() => {
521
+ let e = ++fr;
522
+ (async () => {
523
+ let t = await be({
524
+ values: I.value.xAxis.dataLabels.values,
525
+ maxDatapoints: q.value,
526
+ formatter: I.value.xAxis.dataLabels.datetimeFormatter,
527
+ start: V.value.start,
528
+ end: V.value.end
529
+ });
530
+ e === fr && (J.value = t);
531
+ })();
532
+ });
533
+ let Y = u(() => G.value.width / (V.value.end - V.value.start)), pr = u(() => {
534
+ let e = [];
535
+ for (let t = 0; t < V.value.end - V.value.start; t += 1) {
536
+ let n = dr.value.map((e) => e.values[t] ?? null), r = n.filter((e) => [void 0, null].includes(e)).length === n.length, i = n.reduce((e, t) => e + t, 0), a = n.map((e) => e / i), o = G.value.left + Y.value * t + Y.value / 2;
537
+ e.push({
538
+ index: t,
539
+ percentages: a,
540
+ subtotal: r || i < 0 ? null : i,
541
+ values: n,
542
+ x: o
543
+ });
544
+ }
545
+ return e;
546
+ }), mr = u(() => {
547
+ let e = Math.max(...pr.value.map((e) => e.subtotal).filter((e) => r(e))) ?? 1, t = Math.min(...pr.value.map((e) => e.subtotal).filter((e) => r(e))) ?? 0, n = Math.max(I.value.yAxis.scaleMax ?? 0, e), i;
548
+ return i = I.value.yAxis.scaleMin == null ? 0 : Math.min(t, I.value.yAxis.scaleMin), I.value.yAxis.autoScale && (i = t, n = e), i === n && (i = n / 2, n *= 1.5), {
549
+ max: n,
550
+ min: i
551
+ };
552
+ }), X = u(() => {
553
+ let e = pr.value.length === 1 ? mr.value.max * 2 : mr.value.max;
554
+ return se(mr.value.min, e, I.value.yAxis.dataLabels.steps);
555
+ });
556
+ nt(() => X.value.ticks.join("|"), () => {
557
+ En();
558
+ }, { flush: "post" });
559
+ function hr(e) {
560
+ return (e - X.value.min) / (X.value.max - X.value.min);
561
+ }
562
+ let gr = u(() => X.value.ticks.map((e) => ({
563
+ y: G.value.bottom - G.value.height * hr(e),
564
+ value: e
565
+ }))), Z = u(() => {
566
+ let e = pr.value, t = Math.max(...e.map((e) => e.subtotal));
567
+ return e.length === 1 && t * 2, e.map((t, n) => {
568
+ let r = Math.min(G.value.width / 24, Y.value / 2 * .7), i = r > G.value.width / 16 ? G.value.width / 16 : r, a = k.value === t.index ? G.value.width / 16 : i, o = e.length > 4 ? r * 2 : r * 2 > Y.value / 2 * .7 ? Y.value / 2 * .7 : r * 2, c = G.value.bottom - G.value.height * hr(t.subtotal), ee = dr.value.map((e) => ({
569
+ color: e.color,
570
+ name: e.name,
571
+ value: e.values[n] ?? 0
572
+ })).toSorted((e, t) => t.value - e.value);
573
+ return {
574
+ ...t,
575
+ y: c,
576
+ radius: i,
577
+ activeRadius: a,
578
+ hoverRadius: o,
579
+ donut: s({ series: ee }, t.x, c, i, i, 1.99999, 2, 1, 360, 105.25, i / 2),
580
+ donutHover: s({ series: ee }, t.x, c, o, o, 1.99999, 2, 1, 360, 105.25, o / 2),
581
+ donutFocus: s({ series: ee }, G.value.centerX, G.value.centerY, G.value.height / 3.6, G.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, G.value.height / 6)
582
+ };
583
+ });
584
+ });
585
+ function _r(e, t, n) {
586
+ return de(L.value.dataLabels.formatter, e, ie({
587
+ p: L.value.dataLabels.prefix,
588
+ v: e,
589
+ s: L.value.dataLabels.suffix,
590
+ r: L.value.dataLabels.rounding
591
+ }), {
592
+ datapoint: t,
593
+ index: n
594
+ });
595
+ }
596
+ function vr(e, t) {
597
+ return isNaN(e.value / a(t, "value")) ? 0 : (e.value / a(t, "value") * 100).toFixed(0) + "%";
598
+ }
599
+ function yr(e) {
600
+ k.value = null, rn.value = null, P.value = null, F.value.events.datapointLeave && F.value.events.datapointLeave({
601
+ datapoint: e,
602
+ seriesIndex: e.seriesIndex + V.value.start
603
+ });
604
+ }
605
+ function br(e) {
606
+ F.value.events.datapointEnter && F.value.events.datapointEnter({
607
+ datapoint: e,
608
+ seriesIndex: e.index + V.value.start
609
+ }), k.value = e.index, rn.value = e, P.value = e.index;
610
+ }
611
+ let xr = b(null);
612
+ function Sr(e, t) {
613
+ F.value.events.datapointClick && F.value.events.datapointClick({
614
+ datapoint: e,
615
+ seriesIndex: e.index + V.value.start
616
+ }), !(!e.subtotal || !R.value.show) && (rn.value = null, k.value = null, an.value = !0, A.value = e, Vr(e), [null, void 0].includes(t) || (xr.value = t));
617
+ }
618
+ let Cr = u(() => K.value.map((e, t) => ({
619
+ name: e.name,
620
+ value: e.values.slice(V.value.start, V.value.end).reduce((e, t) => e + t, 0),
621
+ shape: "circle",
622
+ uid: e.uid,
623
+ color: e.color
624
+ })).sort((e, t) => t.value - e.value).map((e, t) => ({
625
+ ...e,
626
+ opacity: O.value.includes(e.uid) ? .5 : 1,
627
+ segregate: () => Dr(e.uid),
628
+ isSegregated: O.value.includes(e.uid),
629
+ display: `${e.name}${z.value.legend.showPercentage || z.value.legend.showValue ? ": " : ""}${z.value.legend.showValue ? de(L.value.dataLabels.formatter, e.value, ie({
630
+ p: L.value.dataLabels.prefix,
631
+ v: e.value,
632
+ s: L.value.dataLabels.suffix,
633
+ r: z.value.legend.roundingValue
634
+ }), {
635
+ datapoint: e,
636
+ seriesIndex: t
637
+ }) : ""}${z.value.legend.showPercentage ? O.value.includes(e.uid) ? `${z.value.legend.showValue ? " (" : ""}- %${z.value.legend.showValue ? ")" : ""}` : `${z.value.legend.showValue ? " (" : ""}${isNaN(e.value / wr.value) ? "-" : ie({
638
+ v: e.value / wr.value * 100,
639
+ s: "%",
640
+ r: z.value.legend.roundingPercentage
641
+ })}${z.value.legend.showValue ? ")" : ""}` : ""}`
642
+ }))), wr = u(() => Z.value.map((e) => e.subtotal).reduce((e, t) => e + t, 0)), Tr = u(() => ({
643
+ cy: "donut-div-legend",
644
+ backgroundColor: z.value.legend.backgroundColor,
645
+ color: z.value.legend.color,
646
+ fontSize: z.value.legend.fontSize,
647
+ paddingBottom: 12,
648
+ fontWeight: z.value.legend.bold ? "bold" : ""
649
+ }));
650
+ function Er() {
651
+ O.value.length ? O.value = [] : Cr.value.forEach((e) => {
652
+ O.value.push(e.uid);
653
+ }), In("selectLegend", dr.value);
654
+ }
655
+ function Dr(e) {
656
+ if (O.value.includes(e)) O.value = O.value.filter((t) => t !== e), In("selectLegend", dr.value);
657
+ else {
658
+ if (O.value.length === K.value.length - 1) return;
659
+ O.value.push(e), In("selectLegend", dr.value);
660
+ }
661
+ A.value && Sr(Z.value.find((e, t) => t === xr.value));
662
+ }
663
+ function Or(e) {
664
+ return K.value.length ? K.value.find((t) => t.name === e) || (Rn.value && console.warn(`VueUiDonutEvolution - Series name not found "${e}"`), null) : (Rn.value && console.warn("VueUiDonutEvolution - There are no series to show."), null);
665
+ }
666
+ function kr(e) {
667
+ let t = Or(e);
668
+ t !== null && O.value.includes(t.uid) && Dr(t.uid);
669
+ }
670
+ function Ar(e) {
671
+ let t = Or(e);
672
+ t !== null && (O.value.includes(t.uid) || Dr(t.uid));
673
+ }
674
+ let Q = u(() => {
675
+ let e = [""].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((e) => ({
676
+ name: e.name,
677
+ color: e.color
678
+ })), ["Σ"]), t = [];
679
+ for (let e = 0; e < q.value; e += 1) {
680
+ let n = K.value.filter((e) => !O.value.includes(e.uid)).map((t) => t.values[e] ?? 0).reduce((e, t) => e + t, 0);
681
+ t.push([J.value[e] ? J.value[e].text : "-"].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((t) => ({
682
+ value: t.values[e] ?? 0,
683
+ percentage: t.values[e] ? t.values[e] / n * 100 : 0
684
+ })), [`${L.value.dataLabels.prefix}${Number(n.toFixed(F.value.table.td.roundingValue))}${L.value.dataLabels.suffix}`]));
685
+ }
686
+ return {
687
+ head: e,
688
+ body: t,
689
+ bodyA11y: t.map((e) => e.map((t, n) => n === 0 || n === e.length - 1 ? t : `${_r(t.value ?? 0, null, n)} (${t.percentage.toFixed(1)}%)`)),
690
+ config: {
691
+ th: {
692
+ backgroundColor: F.value.table.th.backgroundColor,
693
+ color: F.value.table.th.color,
694
+ outline: F.value.table.th.outline
695
+ },
696
+ td: {
697
+ backgroundColor: F.value.table.td.backgroundColor,
698
+ color: F.value.table.td.color,
699
+ outline: F.value.table.td.outline
700
+ },
701
+ breakpoint: F.value.table.responsiveBreakpoint
702
+ },
703
+ colNames: [F.value.table.columnNames.period].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((e) => e.name), F.value.table.columnNames.total)
704
+ };
705
+ });
706
+ function jr() {
707
+ return K.value;
708
+ }
709
+ function Mr(e = null) {
710
+ Ye(() => {
711
+ let r = [
712
+ [z.value.title.text],
713
+ [z.value.title.subtitle.text],
714
+ [""]
715
+ ], i = [...Q.value.head.map((e) => e.name ?? e)], a = [...Q.value.body.map((e) => e.map((e) => e.value ?? e))], o = r.concat([i]).concat(a), s = n(o);
716
+ e ? e(s) : t({
717
+ csvContent: s,
718
+ title: z.value.title.text || "vue-ui-donut-evolution"
719
+ });
720
+ });
721
+ }
722
+ let $ = b(!1);
723
+ function Nr(e) {
724
+ $.value = e, sn.value += 1;
725
+ }
726
+ function Pr() {
727
+ H.value.showTable = !H.value.showTable;
728
+ }
729
+ let Fr = b(!1);
730
+ function Ir() {
731
+ Fr.value = !Fr.value;
732
+ }
733
+ function Lr(e) {
734
+ return e.proportion * 100 > z.value.donuts.hover.hideLabelsUnderValue;
735
+ }
736
+ let Rr = b([]), zr = b({}), Br = b(null);
737
+ function Vr(e) {
738
+ Rr.value = e.donut.map((e) => ({
739
+ name: e.name,
740
+ values: [e.value],
741
+ color: e.color
742
+ })), zr.value = ee({
743
+ ...R.value.donutChart,
744
+ responsive: !0,
745
+ theme: F.value.theme
746
+ }), Br.value && Br.value.open();
747
+ }
748
+ async function Hr({ scale: e = 2 } = {}) {
749
+ if (!j.value) return;
750
+ let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await je({
751
+ domElement: j.value,
752
+ base64: !0,
753
+ img: !0,
754
+ scale: e
755
+ });
756
+ return {
757
+ imageUri: i,
758
+ base64: a,
759
+ title: z.value.title.text,
760
+ width: t,
761
+ height: n,
762
+ aspectRatio: r
763
+ };
764
+ }
765
+ let Ur = u(() => Gn.value.width), Wr = u(() => Gn.value.height);
766
+ Ae({
767
+ timeLabelsEls: pn,
768
+ timeLabels: J,
769
+ slicer: V,
770
+ configRef: F,
771
+ rotationPath: [
772
+ "style",
773
+ "chart",
774
+ "layout",
775
+ "grid",
776
+ "xAxis",
777
+ "dataLabels",
778
+ "rotation"
779
+ ],
780
+ autoRotatePath: [
781
+ "style",
782
+ "chart",
783
+ "layout",
784
+ "grid",
785
+ "xAxis",
786
+ "dataLabels",
787
+ "autoRotate",
788
+ "enable"
789
+ ],
790
+ isAutoSize: !1,
791
+ width: Ur,
792
+ height: Wr,
793
+ rotation: I.value.xAxis.dataLabels.autoRotate.angle
794
+ });
795
+ let Gr = u(() => {
796
+ let e = F.value.table.useDialog && !F.value.table.show, t = H.value.showTable;
797
+ return {
798
+ component: e ? $t : Kt,
799
+ title: `${z.value.title.text}${z.value.title.subtitle.text ? `: ${z.value.title.subtitle.text}` : ""}`,
800
+ props: e ? {
801
+ backgroundColor: F.value.table.th.backgroundColor,
802
+ color: F.value.table.th.color,
803
+ headerColor: F.value.table.th.color,
804
+ headerBg: F.value.table.th.backgroundColor,
805
+ isFullscreen: $.value,
806
+ fullscreenParent: j.value,
807
+ forcedWidth: Math.min(800, window.innerWidth * .8),
808
+ isCursorPointer: B.value
809
+ } : {
810
+ hideDetails: !0,
811
+ config: {
812
+ open: t,
813
+ maxHeight: 1e4,
814
+ body: {
815
+ backgroundColor: z.value.backgroundColor,
816
+ color: z.value.color
817
+ },
818
+ head: {
819
+ backgroundColor: z.value.backgroundColor,
820
+ color: z.value.color
821
+ }
822
+ }
823
+ }
824
+ };
825
+ });
826
+ nt(() => H.value.showTable, (e) => {
827
+ F.value.table.show || (e && F.value.table.useDialog && _n.value ? _n.value.open() : "close" in _n.value && _n.value.close());
828
+ });
829
+ function Kr() {
830
+ H.value.showTable = !1, vn.value && vn.value.setTableIconState(!1);
831
+ }
832
+ let qr = u(() => Cr.value.map((e) => ({
833
+ ...e,
834
+ name: e.display
835
+ }))), Jr = u(() => z.value.backgroundColor), Yr = u(() => z.value.legend), Xr = u(() => z.value.title), { isCallbackImaging: Zr, isCallbackSvg: Qr, generateSvg: $r, onGenerateImage: ei } = De({
836
+ svg: $n,
837
+ title: Xr,
838
+ legend: Yr,
839
+ legendItems: qr,
840
+ backgroundColor: Jr,
841
+ getSvgCallback: () => F.value.userOptions.callbacks.svg,
842
+ generateImage: ir
843
+ });
844
+ async function ti() {
845
+ if (In("copyAlt", {
846
+ config: F.value,
847
+ dataset: Z.value
848
+ }), !F.value.userOptions.callbacks.altCopy) {
849
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
850
+ return;
851
+ }
852
+ await Promise.resolve(F.value.userOptions.callbacks.altCopy({
853
+ config: F.value,
854
+ dataset: Z.value
855
+ }));
856
+ }
857
+ function ni() {
858
+ P.value = null, Fn.value = !0;
859
+ }
860
+ function ri() {
861
+ P.value = null, k.value = null, rn.value = null, Fn.value = !1;
862
+ }
863
+ function ii(e) {
864
+ if (!$n.value || Fr.value || document.activeElement !== $n.value || !Z.value.length) return;
865
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
866
+ if (!t && !n && !r && !i) return;
867
+ if (e.preventDefault(), e.stopPropagation(), i) {
868
+ P.value = null, k.value = null, rn.value = null;
869
+ return;
870
+ }
871
+ if (r) {
872
+ if (P.value === null) return;
873
+ let e = Z.value[P.value];
874
+ if (!e) return;
875
+ Sr(e, P.value);
876
+ return;
877
+ }
878
+ let a = P.value, o = k.value, s = a !== null && a >= 0 && a < Z.value.length, c = o !== null && o >= 0 && o < Z.value.length;
879
+ s ? n ? (a += 1, a >= Z.value.length && (a = 0)) : t && (--a, a < 0 && (a = Z.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Z.value.length && (a = 0), a < 0 && (a = Z.value.length - 1)) : a = n ? 0 : Z.value.length - 1;
880
+ let ee = Z.value[a];
881
+ ee && br(ee);
882
+ }
883
+ let ai = u(() => ({
884
+ headers: Q.value?.colNames ?? [],
885
+ rows: Q.value?.bodyA11y ?? []
886
+ }));
887
+ return Ne({
888
+ getData: jr,
889
+ getImage: Hr,
890
+ generatePdf: rr,
891
+ generateCsv: Mr,
892
+ generateImage: ir,
893
+ generateSvg: $r,
894
+ hideSeries: Ar,
895
+ showSeries: kr,
896
+ toggleTable: Pr,
897
+ toggleAnnotator: Ir,
898
+ toggleFullscreen: Nr,
899
+ copyAlt: ti
900
+ }), (e, t) => (y(), p("div", {
901
+ ref_key: "donutEvolutionChart",
902
+ ref: j,
903
+ class: _(`vue-data-ui-component vue-ui-donut-evolution ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${F.value.useCssAnimation ? "" : "vue-ui-dna"}`),
904
+ style: Xe(`font-family:${F.value.style.fontFamily};width:100%; text-align:center;background:${z.value.backgroundColor}`),
905
+ id: D.value,
906
+ onMouseenter: t[5] ||= () => w(Zn)(!0),
907
+ onMouseleave: t[6] ||= () => w(Zn)(!1)
908
+ }, [
909
+ m("div", {
910
+ id: `chart-instructions-${D.value}`,
911
+ class: "sr-only"
912
+ }, [m("p", null, C(F.value.a11y.translations.keyboardNavigation), 1)], 8, ot),
913
+ ai.value?.rows?.length ? (y(), d(ze, {
914
+ key: 0,
915
+ uid: D.value,
916
+ head: ai.value.headers,
917
+ body: ai.value.rows,
918
+ notice: F.value.a11y.translations.tableAvailable,
919
+ caption: F.value.a11y.translations.tableCaption
920
+ }, null, 8, [
921
+ "uid",
922
+ "head",
923
+ "body",
924
+ "notice",
925
+ "caption"
926
+ ])) : f("", !0),
927
+ F.value.userOptions.buttons.annotator ? (y(), d(w(Xt), {
928
+ key: 1,
929
+ svgRef: w($n),
930
+ backgroundColor: z.value.backgroundColor,
931
+ color: z.value.color,
932
+ active: Fr.value,
933
+ isCursorPointer: B.value,
934
+ palette: F.value.userOptions.annotatorPalette,
935
+ onClose: Ir
936
+ }, {
937
+ "annotator-action-close": T(() => [S(e.$slots, "annotator-action-close", {}, void 0, !0)]),
938
+ "annotator-action-color": T(({ color: t }) => [S(e.$slots, "annotator-action-color", v(g({ color: t })), void 0, !0)]),
939
+ "annotator-action-draw": T(({ mode: t }) => [S(e.$slots, "annotator-action-draw", v(g({ mode: t })), void 0, !0)]),
940
+ "annotator-action-undo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-undo", v(g({ disabled: t })), void 0, !0)]),
941
+ "annotator-action-redo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-redo", v(g({ disabled: t })), void 0, !0)]),
942
+ "annotator-action-delete": T(({ disabled: t }) => [S(e.$slots, "annotator-action-delete", v(g({ disabled: t })), void 0, !0)]),
943
+ _: 3
944
+ }, 8, [
945
+ "svgRef",
946
+ "backgroundColor",
947
+ "color",
948
+ "active",
949
+ "isCursorPointer",
950
+ "palette"
951
+ ])) : f("", !0),
952
+ ar.value ? (y(), p("div", {
953
+ key: 2,
954
+ ref_key: "noTitle",
955
+ ref: on,
956
+ class: "vue-data-ui-no-title-space",
957
+ style: "height:36px; width: 100%;background:transparent"
958
+ }, null, 512)) : f("", !0),
959
+ z.value.title.text ? (y(), p("div", {
960
+ key: 3,
961
+ ref_key: "chartTitle",
962
+ ref: On,
963
+ style: "width:100%;background:transparent;padding-bottom:24px",
964
+ onMouseleave: yr
965
+ }, [(y(), d(Me, {
966
+ key: `title_${ln.value}`,
967
+ config: {
968
+ title: {
969
+ cy: "donut-evolution-div-title",
970
+ ...z.value.title
971
+ },
972
+ subtitle: {
973
+ cy: "donut-evolution-div-subtitle",
974
+ ...z.value.title.subtitle
975
+ }
976
+ }
977
+ }, null, 8, ["config"]))], 544)) : f("", !0),
978
+ m("div", { id: `legend-top-${D.value}` }, null, 8, st),
979
+ F.value.userOptions.show && Ln.value && (w(Qn) || w(Xn)) ? (y(), d(w(Zt), {
980
+ ref_key: "userOptionsRef",
981
+ ref: vn,
982
+ key: `user_options_${sn.value}`,
983
+ backgroundColor: z.value.backgroundColor,
984
+ color: z.value.color,
985
+ isPrinting: w(tr),
986
+ isImaging: w(nr),
987
+ uid: D.value,
988
+ hasPdf: F.value.userOptions.buttons.pdf,
989
+ hasImg: F.value.userOptions.buttons.img,
990
+ hasSvg: F.value.userOptions.buttons.svg,
991
+ hasXls: F.value.userOptions.buttons.csv,
992
+ hasTable: F.value.userOptions.buttons.table,
993
+ hasFullscreen: F.value.userOptions.buttons.fullscreen,
994
+ hasAltCopy: F.value.userOptions.buttons.altCopy,
995
+ isFullscreen: $.value,
996
+ titles: { ...F.value.userOptions.buttonTitles },
997
+ chartElement: j.value,
998
+ position: F.value.userOptions.position,
999
+ hasAnnotator: F.value.userOptions.buttons.annotator,
1000
+ isAnnotation: Fr.value,
1001
+ callbacks: F.value.userOptions.callbacks,
1002
+ printScale: F.value.userOptions.print.scale,
1003
+ tableDialog: F.value.table.useDialog,
1004
+ isCursorPointer: B.value,
1005
+ onToggleFullscreen: Nr,
1006
+ onGeneratePdf: w(rr),
1007
+ onGenerateCsv: Mr,
1008
+ onGenerateImage: w(ei),
1009
+ onGenerateSvg: w($r),
1010
+ onToggleTable: Pr,
1011
+ onToggleAnnotator: Ir,
1012
+ onCopyAlt: ti,
1013
+ style: Xe({ visibility: w(Qn) ? w(Xn) ? "visible" : "hidden" : "visible" })
1014
+ }, Ge({ _: 2 }, [
1015
+ e.$slots.menuIcon ? {
1016
+ name: "menuIcon",
1017
+ fn: T(({ isOpen: t, color: n }) => [S(e.$slots, "menuIcon", v(g({
1018
+ isOpen: t,
1019
+ color: n
1020
+ })), void 0, !0)]),
1021
+ key: "0"
1022
+ } : void 0,
1023
+ e.$slots.optionPdf ? {
1024
+ name: "optionPdf",
1025
+ fn: T(() => [S(e.$slots, "optionPdf", {}, void 0, !0)]),
1026
+ key: "1"
1027
+ } : void 0,
1028
+ e.$slots.optionCsv ? {
1029
+ name: "optionCsv",
1030
+ fn: T(() => [S(e.$slots, "optionCsv", {}, void 0, !0)]),
1031
+ key: "2"
1032
+ } : void 0,
1033
+ e.$slots.optionImg ? {
1034
+ name: "optionImg",
1035
+ fn: T(() => [S(e.$slots, "optionImg", {}, void 0, !0)]),
1036
+ key: "3"
1037
+ } : void 0,
1038
+ e.$slots.optionSvg ? {
1039
+ name: "optionSvg",
1040
+ fn: T(() => [S(e.$slots, "optionSvg", {}, void 0, !0)]),
1041
+ key: "4"
1042
+ } : void 0,
1043
+ e.$slots.optionTable ? {
1044
+ name: "optionTable",
1045
+ fn: T(() => [S(e.$slots, "optionTable", {}, void 0, !0)]),
1046
+ key: "5"
1047
+ } : void 0,
1048
+ e.$slots.optionFullscreen ? {
1049
+ name: "optionFullscreen",
1050
+ fn: T(({ toggleFullscreen: t, isFullscreen: n }) => [S(e.$slots, "optionFullscreen", v(g({
1051
+ toggleFullscreen: t,
1052
+ isFullscreen: n
1053
+ })), void 0, !0)]),
1054
+ key: "6"
1055
+ } : void 0,
1056
+ e.$slots.optionAnnotator ? {
1057
+ name: "optionAnnotator",
1058
+ fn: T(({ toggleAnnotator: t, isAnnotator: n }) => [S(e.$slots, "optionAnnotator", v(g({
1059
+ toggleAnnotator: t,
1060
+ isAnnotator: n
1061
+ })), void 0, !0)]),
1062
+ key: "7"
1063
+ } : void 0,
1064
+ e.$slots.optionAltCopy ? {
1065
+ name: "optionAltCopy",
1066
+ fn: T(({ altCopy: t }) => [S(e.$slots, "optionAltCopy", v(g({ altCopy: t })), void 0, !0)]),
1067
+ key: "8"
1068
+ } : void 0,
1069
+ e.$slots["custom-menu-before"] ? {
1070
+ name: "custom-menu-before",
1071
+ fn: T(() => [S(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1072
+ key: "9"
1073
+ } : void 0,
1074
+ e.$slots["custom-menu-after"] ? {
1075
+ name: "custom-menu-after",
1076
+ fn: T(() => [S(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1077
+ key: "10"
1078
+ } : void 0
1079
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : f("", !0),
1080
+ m("div", ct, [(y(), p("svg", {
1081
+ ref_key: "svgRef",
1082
+ ref: $n,
1083
+ xmlns: w(he),
1084
+ "aria-describedby": `chart-instructions-${D.value}`,
1085
+ class: _({
1086
+ "vue-data-ui-fullscreen--on": $.value,
1087
+ "vue-data-ui-fulscreen--off": !$.value,
1088
+ "vue-data-ui-no-transition": !w(Bn)
1089
+ }),
1090
+ viewBox: `0 0 ${G.value.absoluteWidth} ${G.value.absoluteHeight}`,
1091
+ style: Xe(`max-width:100%; overflow: visible; background:transparent;color:${z.value.color};`),
1092
+ tabindex: "0",
1093
+ onFocus: ni,
1094
+ onBlur: ri,
1095
+ onKeydown: ii
1096
+ }, [
1097
+ qe(w(Yt)),
1098
+ e.$slots["chart-background"] ? (y(), p("foreignObject", {
1099
+ key: 0,
1100
+ x: G.value.left,
1101
+ y: G.value.top,
1102
+ width: G.value.width,
1103
+ height: G.value.height,
1104
+ style: { pointerEvents: "none" }
1105
+ }, [S(e.$slots, "chart-background", {}, void 0, !0)], 8, ut)) : f("", !0),
1106
+ m("defs", null, [qe(Ie, {
1107
+ t: "linear",
1108
+ id: `hover_${D.value}`,
1109
+ x1: "0%",
1110
+ y1: "0%",
1111
+ x2: "0%",
1112
+ y2: "100%",
1113
+ stops: [[
1114
+ "0%",
1115
+ w(ne)(z.value.backgroundColor, L.value.highlighter.opacity),
1116
+ 1
1117
+ ], [
1118
+ "100%",
1119
+ w(ne)(L.value.highlighter.color, L.value.highlighter.opacity),
1120
+ 1
1121
+ ]]
1122
+ }, null, 8, ["id", "stops"]), qe(Ie, {
1123
+ t: "radial",
1124
+ id: `focus_${D.value}`,
1125
+ stops: [
1126
+ [
1127
+ "0%",
1128
+ w(ne)(w(te)(z.value.backgroundColor), 0),
1129
+ 1
1130
+ ],
1131
+ [
1132
+ "77%",
1133
+ w(ne)("#FFFFFF", 30),
1134
+ 1
1135
+ ],
1136
+ [
1137
+ "100%",
1138
+ w(ne)(w(te)(z.value.backgroundColor), 0),
1139
+ 1
1140
+ ]
1141
+ ]
1142
+ }, null, 8, ["id", "stops"])]),
1143
+ I.value.show ? (y(), p("g", dt, [
1144
+ m("line", {
1145
+ x1: W.value ? G.value.right : G.value.left,
1146
+ x2: W.value ? G.value.right : G.value.left,
1147
+ y1: G.value.top,
1148
+ y2: G.value.top + G.value.height,
1149
+ stroke: I.value.stroke,
1150
+ "stroke-width": I.value.strokeWidth,
1151
+ "stroke-linecap": "round"
1152
+ }, null, 8, ft),
1153
+ m("line", {
1154
+ x1: G.value.left,
1155
+ x2: G.value.right,
1156
+ y1: G.value.bottom,
1157
+ y2: G.value.bottom,
1158
+ stroke: I.value.stroke,
1159
+ "stroke-width": I.value.strokeWidth,
1160
+ "stroke-linecap": "round"
1161
+ }, null, 8, pt),
1162
+ I.value.showVerticalLines ? (y(), p("g", mt, [(y(!0), p(l, null, x(V.value.end - V.value.start, (e, t) => (y(), p("line", {
1163
+ x1: G.value.left + (t + 1) * Y.value,
1164
+ x2: G.value.left + (t + 1) * Y.value,
1165
+ y1: G.value.top,
1166
+ y2: G.value.bottom,
1167
+ stroke: I.value.stroke,
1168
+ "stroke-width": I.value.strokeWidth,
1169
+ "stroke-linecap": "round"
1170
+ }, null, 8, ht))), 256))])) : f("", !0)
1171
+ ])) : f("", !0),
1172
+ m("g", null, [I.value.axis.yLabel ? (y(), p("text", {
1173
+ key: 0,
1174
+ ref_key: "yAxisLabel",
1175
+ ref: hn,
1176
+ "font-size": I.value.axis.fontSize,
1177
+ fill: I.value.axis.color,
1178
+ transform: `translate(${W.value ? G.value.absoluteWidth - I.value.axis.fontSize / 2 - I.value.axis.yLabelOffsetX : I.value.axis.fontSize}, ${G.value.top + G.value.height / 2}) rotate(-90)`,
1179
+ "text-anchor": "middle",
1180
+ style: { transition: "none" }
1181
+ }, C(I.value.axis.yLabel), 9, gt)) : f("", !0), I.value.axis.xLabel ? (y(), p("text", {
1182
+ key: 1,
1183
+ ref_key: "xAxisLabel",
1184
+ ref: mn,
1185
+ "text-anchor": "middle",
1186
+ x: G.value.absoluteWidth / 2,
1187
+ y: G.value.absoluteHeight - 3,
1188
+ "font-size": I.value.axis.fontSize,
1189
+ fill: I.value.axis.color
1190
+ }, C(I.value.axis.xLabel), 9, _t)) : f("", !0)]),
1191
+ I.value.yAxis.dataLabels.show ? (y(), p("g", {
1192
+ key: 2,
1193
+ ref_key: "scaleLabels",
1194
+ ref: fn,
1195
+ class: _({
1196
+ "donut-opacity": !0,
1197
+ "donut-behind": k.value !== null
1198
+ })
1199
+ }, [(y(!0), p(l, null, x(gr.value, (e, t) => (y(), p("g", { key: `sl_${t}` }, [e.value >= X.value.min && e.value <= X.value.max ? (y(), p("path", {
1200
+ key: 0,
1201
+ class: _({ "vue-data-ui-transition": w(Bn) }),
1202
+ d: `M${W.value ? G.value.right : G.value.left},${e.y} ${W.value ? G.value.right + 5 : G.value.left - 5},${e.y}`,
1203
+ stroke: I.value.stroke,
1204
+ "stroke-width": I.value.strokeWidth,
1205
+ "stroke-linecap": "round"
1206
+ }, null, 10, vt)) : f("", !0), e.value >= X.value.min && e.value <= X.value.max ? (y(), p("text", {
1207
+ key: 1,
1208
+ class: _({ "vue-data-ui-transition": w(Bn) }),
1209
+ transform: `translate(${W.value ? G.value.right - I.value.yAxis.dataLabels.offsetX + 7 : G.value.left + I.value.yAxis.dataLabels.offsetX - 7}, ${e.y + I.value.yAxis.dataLabels.fontSize / 3})`,
1210
+ "font-size": I.value.yAxis.dataLabels.fontSize,
1211
+ "text-anchor": W.value ? "start" : "end",
1212
+ fill: I.value.yAxis.dataLabels.color,
1213
+ "font-weight": I.value.yAxis.dataLabels.bold ? "bold" : "normal"
1214
+ }, C(w(_e)(e.value) ? w(de)(L.value.dataLabels.formatter, e.value, w(ie)({
1215
+ p: L.value.dataLabels.prefix,
1216
+ v: e.value,
1217
+ s: L.value.dataLabels.suffix,
1218
+ r: L.value.grid.yAxis.dataLabels.roundingValue
1219
+ }), {
1220
+ datapoint: e,
1221
+ seriesIndex: t
1222
+ }) : ""), 11, yt)) : f("", !0)]))), 128))], 2)) : f("", !0),
1223
+ I.value.xAxis.dataLabels.show ? (y(), p("g", {
1224
+ key: 3,
1225
+ ref_key: "timeLabelsEls",
1226
+ ref: pn,
1227
+ class: _({ "donut-opacity": !0 })
1228
+ }, [(y(!0), p(l, null, x(V.value.end - V.value.start, (e, t) => (y(), p("g", null, [(I.value.xAxis.dataLabels.showOnlyFirstAndLast && (t === 0 || t === q.value - 1) || !I.value.xAxis.dataLabels.showOnlyFirstAndLast) && J.value[t] && J.value[t].text ? (y(), p("g", bt, [String(J.value[t].text).includes("\n") ? (y(), p("text", {
1229
+ key: 1,
1230
+ class: "vue-data-ui-time-label",
1231
+ "text-anchor": I.value.xAxis.dataLabels.rotation > 0 ? "start" : I.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1232
+ "font-size": I.value.xAxis.dataLabels.fontSize,
1233
+ fill: I.value.xAxis.dataLabels.color,
1234
+ transform: `translate(${G.value.left + Y.value * t + Y.value / 2}, ${G.value.bottom + I.value.xAxis.dataLabels.fontSize + I.value.xAxis.dataLabels.offsetY}), rotate(${I.value.xAxis.dataLabels.rotation})`,
1235
+ innerHTML: w(i)({
1236
+ content: String(J.value[t].text),
1237
+ fontSize: I.value.xAxis.dataLabels.fontSize,
1238
+ fill: L.value.grid.xAxis.dataLabels.color,
1239
+ x: 0,
1240
+ y: 0
1241
+ })
1242
+ }, null, 8, St)) : (y(), p("text", {
1243
+ key: 0,
1244
+ class: "vue-data-ui-time-label",
1245
+ "text-anchor": I.value.xAxis.dataLabels.rotation > 0 ? "start" : I.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1246
+ "font-size": I.value.xAxis.dataLabels.fontSize,
1247
+ fill: I.value.xAxis.dataLabels.color,
1248
+ transform: `translate(${G.value.left + Y.value * t + Y.value / 2}, ${G.value.bottom + I.value.xAxis.dataLabels.fontSize + I.value.xAxis.dataLabels.offsetY}), rotate(${I.value.xAxis.dataLabels.rotation})`
1249
+ }, C(J.value[t].text || ""), 9, xt))])) : f("", !0)]))), 256))], 512)) : f("", !0),
1250
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", null, [L.value.line.show && t < Z.value.length - 1 && ![e.subtotal, Z.value[t + 1].subtotal].includes(null) ? (y(), p("line", {
1251
+ key: 0,
1252
+ class: _({
1253
+ "donut-opacity": !0,
1254
+ "donut-behind": k.value !== null
1255
+ }),
1256
+ x1: e.x,
1257
+ y1: e.y,
1258
+ x2: Z.value[t + 1].x,
1259
+ y2: Z.value[t + 1].y,
1260
+ stroke: L.value.line.stroke,
1261
+ "stroke-width": L.value.line.strokeWidth,
1262
+ "stroke-linecap": "round",
1263
+ "stroke-linejoin": "round"
1264
+ }, null, 10, Ct)) : f("", !0), e.subtotal === null ? f("", !0) : (y(), p("g", wt, [e.subtotal ? (y(), p("circle", {
1265
+ key: 0,
1266
+ cx: e.x,
1267
+ cy: e.y,
1268
+ r: e.activeRadius,
1269
+ fill: z.value.backgroundColor
1270
+ }, null, 8, Tt)) : f("", !0)]))]))), 256)),
1271
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1272
+ "donut-opacity": !0,
1273
+ "donut-behind": t !== k.value && k.value !== null
1274
+ }) }, [e.subtotal ? (y(), p("g", Et, [k.value !== null && k.value === t ? (y(), p("g", Dt, [
1275
+ (y(!0), p(l, null, x(e.donutHover, (t) => (y(), p("g", null, [Lr(t) ? (y(), p("path", {
1276
+ key: 0,
1277
+ d: w(le)(t, {
1278
+ x: t.center.endX,
1279
+ y: t.center.endY
1280
+ }, 12, 12, {
1281
+ x: e.x,
1282
+ y: e.y
1283
+ }, !1, 20),
1284
+ stroke: t.color,
1285
+ "stroke-width": "1",
1286
+ "stroke-linecap": "round",
1287
+ "stroke-linejoin": "round",
1288
+ fill: "none"
1289
+ }, null, 8, Ot)) : f("", !0)]))), 256)),
1290
+ (y(!0), p(l, null, x(e.donutHover, (t, n) => (y(), p("g", null, [Lr(t) ? (y(), p("text", {
1291
+ key: 0,
1292
+ "data-cy-hover-label": "",
1293
+ "text-anchor": w(ce)(t, !0, 0).anchor,
1294
+ x: w(ce)(t, !0, 9).x,
1295
+ y: w(pe)(t, 14, 10),
1296
+ fill: I.value.yAxis.dataLabels.color,
1297
+ "font-size": 8,
1298
+ "font-weight": "bold"
1299
+ }, C(t.name) + ": " + C(vr(t, e.donut)) + " (" + C(t.value === null ? "-" : _r(t.value, t, n)) + ") ", 9, kt)) : f("", !0)]))), 256)),
1300
+ m("g", null, [m("circle", {
1301
+ cx: e.x,
1302
+ cy: e.y,
1303
+ r: e.hoverRadius,
1304
+ fill: z.value.backgroundColor
1305
+ }, null, 8, At)])
1306
+ ])) : f("", !0)])) : f("", !0)], 2))), 256)),
1307
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1308
+ "donut-opacity": !0,
1309
+ "donut-behind": t !== k.value && k.value !== null
1310
+ }) }, [e.subtotal === null ? f("", !0) : (y(), p("g", jt, [e.subtotal === 0 ? (y(), p("circle", {
1311
+ key: 0,
1312
+ cx: e.x,
1313
+ cy: e.y,
1314
+ r: 3,
1315
+ fill: z.value.color
1316
+ }, null, 8, Mt)) : k.value !== null && k.value === t ? (y(), p("g", Nt, [(y(!0), p(l, null, x(e.donutHover, (e, t) => (y(), p("path", {
1317
+ d: e.arcSlice,
1318
+ fill: `${e.color}`,
1319
+ "stroke-width": 1,
1320
+ stroke: z.value.backgroundColor
1321
+ }, null, 8, Pt))), 256))])) : (y(), p("g", Ft, [(y(!0), p(l, null, x(e.donut, (e, t) => (y(), p("path", {
1322
+ d: e.arcSlice,
1323
+ fill: `${e.color}`,
1324
+ "stroke-width": .5,
1325
+ stroke: z.value.backgroundColor
1326
+ }, null, 8, It))), 256))]))]))], 2))), 256)),
1327
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1328
+ "donut-opacity": !0,
1329
+ "donut-behind": t !== k.value && k.value !== null || an.value && t !== A.value.index
1330
+ }) }, [e.subtotal !== null && L.value.dataLabels.show ? (y(), p("text", {
1331
+ key: 0,
1332
+ "text-anchor": "middle",
1333
+ x: e.x,
1334
+ y: k.value === e.index && e.subtotal ? e.y + L.value.dataLabels.fontSize / 3 : e.y - e.radius - L.value.dataLabels.fontSize + L.value.dataLabels.offsetY,
1335
+ "font-size": L.value.dataLabels.fontSize,
1336
+ "font-weight": "bold",
1337
+ fill: L.value.dataLabels.color
1338
+ }, C(_r(e.subtotal, e, t)), 9, Lt)) : f("", !0)], 2))), 256)),
1339
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("rect", {
1340
+ x: G.value.left + t * Y.value,
1341
+ y: G.value.top,
1342
+ width: Y.value,
1343
+ height: G.value.height,
1344
+ fill: [k.value, xr.value].includes(e.index) ? `url(#hover_${D.value})` : "transparent",
1345
+ class: _({ "donut-hover": B.value && e.subtotal && [k.value, xr.value].includes(e.index) }),
1346
+ style: { pointerEvents: "none" }
1347
+ }, null, 10, Rt))), 256)),
1348
+ (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("rect", {
1349
+ "data-cy-trap": "",
1350
+ x: G.value.left + t * Y.value,
1351
+ y: G.value.top,
1352
+ width: Y.value,
1353
+ height: G.value.height,
1354
+ fill: "transparent",
1355
+ onMouseenter: (t) => br(e),
1356
+ onMouseleave: (t) => yr(e),
1357
+ onClick: (n) => Sr(e, t),
1358
+ class: _({ "donut-hover": B.value && k.value === e.index && e.subtotal })
1359
+ }, null, 42, zt))), 256)),
1360
+ S(e.$slots, "svg", { svg: {
1361
+ ...G.value,
1362
+ isPrintingImg: w(tr) || w(nr) || w(Zr),
1363
+ isPrintingSvg: w(Qr)
1364
+ } }, void 0, !0)
1365
+ ], 46, lt)), e.$slots.hint ? (y(), p("div", Bt, [S(e.$slots, "hint", v(g({
1366
+ hint: F.value.a11y.translations.keyboardNavigation,
1367
+ isVisible: Fn.value
1368
+ })), void 0, !0)])) : f("", !0)]),
1369
+ e.$slots.watermark ? (y(), p("div", Vt, [S(e.$slots, "watermark", v(g({ isPrinting: w(tr) || w(nr) || w(Zr) || w(Qr) })), void 0, !0)])) : f("", !0),
1370
+ m("div", {
1371
+ ref_key: "chartSlicer",
1372
+ ref: Mn,
1373
+ style: Xe(`width:100%;background:${z.value.backgroundColor}`),
1374
+ "data-dom-to-png-ignore": ""
1375
+ }, [q.value > 1 && z.value.zoom.show ? (y(), d(Le, {
1376
+ ref_key: "slicerComponent",
1377
+ ref: jn,
1378
+ key: `slicer_${cn.value}`,
1379
+ background: z.value.zoom.color,
1380
+ borderColor: z.value.backgroundColor,
1381
+ fontSize: z.value.zoom.fontSize,
1382
+ useResetSlot: z.value.zoom.useResetSlot,
1383
+ timeLabels: J.value,
1384
+ textColor: z.value.color,
1385
+ inputColor: z.value.zoom.color,
1386
+ selectColor: z.value.zoom.highlightColor,
1387
+ max: q.value,
1388
+ min: 0,
1389
+ valueStart: V.value.start,
1390
+ valueEnd: V.value.end,
1391
+ start: V.value.start,
1392
+ "onUpdate:start": t[0] ||= (e) => V.value.start = e,
1393
+ end: V.value.end,
1394
+ "onUpdate:end": t[1] ||= (e) => V.value.end = e,
1395
+ refreshStartPoint: z.value.zoom.startIndex === null ? 0 : z.value.zoom.startIndex,
1396
+ refreshEndPoint: z.value.zoom.endIndex === null ? q.value : z.value.zoom.endIndex + 1,
1397
+ enableRangeHandles: z.value.zoom.enableRangeHandles,
1398
+ enableSelectionDrag: z.value.zoom.enableSelectionDrag,
1399
+ focusOnDrag: z.value.zoom.focusOnDrag,
1400
+ focusRangeRatio: z.value.zoom.focusRangeRatio,
1401
+ isCursorPointer: B.value,
1402
+ maxWidth: z.value.zoom.maxWidth,
1403
+ minimapLeftInsetRatio: G.value.absoluteWidth > 0 && z.value.zoom.autoFit ? G.value.left / G.value.absoluteWidth : null,
1404
+ minimapRightInsetRatio: G.value.absoluteWidth > 0 && z.value.zoom.autoFit ? (G.value.absoluteWidth - G.value.right) / G.value.absoluteWidth : null,
1405
+ onReset: qn
1406
+ }, {
1407
+ "reset-action": T(({ reset: t }) => [S(e.$slots, "reset-action", v(g({ reset: t })), void 0, !0)]),
1408
+ _: 3
1409
+ }, 8, [
1410
+ "background",
1411
+ "borderColor",
1412
+ "fontSize",
1413
+ "useResetSlot",
1414
+ "timeLabels",
1415
+ "textColor",
1416
+ "inputColor",
1417
+ "selectColor",
1418
+ "max",
1419
+ "valueStart",
1420
+ "valueEnd",
1421
+ "start",
1422
+ "end",
1423
+ "refreshStartPoint",
1424
+ "refreshEndPoint",
1425
+ "enableRangeHandles",
1426
+ "enableSelectionDrag",
1427
+ "focusOnDrag",
1428
+ "focusRangeRatio",
1429
+ "isCursorPointer",
1430
+ "maxWidth",
1431
+ "minimapLeftInsetRatio",
1432
+ "minimapRightInsetRatio"
1433
+ ])) : f("", !0)], 4),
1434
+ m("div", { id: `legend-bottom-${D.value}` }, null, 8, Ht),
1435
+ gn.value && (z.value.legend.show || e.$slots.legend) ? (y(), d(We, {
1436
+ key: 6,
1437
+ to: z.value.legend.position === "top" ? `#legend-top-${D.value}` : `#legend-bottom-${D.value}`
1438
+ }, [m("div", {
1439
+ ref_key: "chartLegend",
1440
+ ref: kn
1441
+ }, [S(e.$slots, "legend", { legend: Cr.value }, () => [z.value.legend.show ? (y(), d(He, {
1442
+ key: `legend_${dn.value}`,
1443
+ legendSet: Cr.value,
1444
+ config: Tr.value,
1445
+ onClickMarker: t[2] ||= ({ legend: e }) => Dr(e.uid)
1446
+ }, {
1447
+ item: T(({ legend: e, index: t }) => [m("div", {
1448
+ onClick: (t) => Dr(e.uid),
1449
+ style: Xe(`opacity:${O.value.includes(e.uid) ? .5 : 1}`)
1450
+ }, C(e.display), 13, Ut)]),
1451
+ legendToggle: T(() => [Cr.value.length > 2 && z.value.legend.selectAllToggle.show && !w(Hn) ? (y(), d(Re, {
1452
+ key: 0,
1453
+ backgroundColor: z.value.legend.selectAllToggle.backgroundColor,
1454
+ color: z.value.legend.selectAllToggle.color,
1455
+ fontSize: z.value.legend.fontSize,
1456
+ checked: O.value.length > 0,
1457
+ onToggle: Er
1458
+ }, null, 8, [
1459
+ "backgroundColor",
1460
+ "color",
1461
+ "fontSize",
1462
+ "checked"
1463
+ ])) : f("", !0)]),
1464
+ _: 1
1465
+ }, 8, ["legendSet", "config"])) : f("", !0)], !0)], 512)], 8, ["to"])) : f("", !0),
1466
+ e.$slots.source ? (y(), p("div", {
1467
+ key: 7,
1468
+ ref_key: "source",
1469
+ ref: An,
1470
+ dir: "auto"
1471
+ }, [S(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
1472
+ Ln.value && F.value.userOptions.buttons.table ? (y(), d($e(Gr.value.component), Je({ key: 8 }, Gr.value.props, {
1473
+ ref_key: "tableUnit",
1474
+ ref: _n,
1475
+ onClose: Kr
1476
+ }), Ge({
1477
+ content: T(() => [(y(), d(w(Jt), {
1478
+ key: `table_${un.value}`,
1479
+ colNames: Q.value.colNames,
1480
+ head: Q.value.head,
1481
+ body: Q.value.body,
1482
+ config: Q.value.config,
1483
+ title: F.value.table.useDialog ? "" : Gr.value.title,
1484
+ withCloseButton: !F.value.table.useDialog,
1485
+ isCursorPointer: B.value,
1486
+ onClose: Kr
1487
+ }, {
1488
+ th: T(({ th: e }) => [Ke(C(e.name ?? e), 1)]),
1489
+ td: T(({ td: e }) => [e.value === null ? (y(), p("span", Wt, "-")) : (y(), p("b", Gt, C(isNaN(e.value) ? "" : L.value.dataLabels.prefix) + C(!isNaN(e.value) && e.value !== null ? Number(e.value.toFixed(F.value.table.td.roundingValue)).toLocaleString() : e) + C(isNaN(e.value) ? "" : L.value.dataLabels.suffix), 1)), m("span", null, C(e.percentage && !isNaN(e.percentage) ? `(${Number(e.percentage.toFixed(F.value.table.td.roundingPercentage)).toLocaleString()}%)` : ""), 1)]),
1490
+ _: 1
1491
+ }, 8, [
1492
+ "colNames",
1493
+ "head",
1494
+ "body",
1495
+ "config",
1496
+ "title",
1497
+ "withCloseButton",
1498
+ "isCursorPointer"
1499
+ ]))]),
1500
+ _: 2
1501
+ }, [F.value.table.useDialog ? {
1502
+ name: "title",
1503
+ fn: T(() => [Ke(C(Gr.value.title), 1)]),
1504
+ key: "0"
1505
+ } : void 0, F.value.table.useDialog ? {
1506
+ name: "actions",
1507
+ fn: T(() => [m("button", {
1508
+ tabindex: "0",
1509
+ class: "vue-ui-user-options-button",
1510
+ onClick: t[3] ||= (e) => Mr(F.value.userOptions.callbacks.csv),
1511
+ style: Xe({ cursor: B.value ? "cursor" : "default" })
1512
+ }, [qe(w(qt), {
1513
+ name: "fileCsv",
1514
+ stroke: Gr.value.props.color
1515
+ }, null, 8, ["stroke"])], 4)]),
1516
+ key: "1"
1517
+ } : void 0]), 1040)) : f("", !0),
1518
+ R.value.show ? (y(), d(w($t), {
1519
+ key: 9,
1520
+ ref_key: "dialog",
1521
+ ref: Br,
1522
+ onClose: t[4] ||= (e) => {
1523
+ A.value = null, an.value = !1, rn.value = null, k.value = null, xr.value = null;
1524
+ },
1525
+ backgroundColor: R.value.backgroundColor,
1526
+ color: R.value.color,
1527
+ headerBg: R.value.header.backgroundColor,
1528
+ headerColor: R.value.header.color,
1529
+ isFullscreen: $.value,
1530
+ fullscreenParent: j.value
1531
+ }, {
1532
+ title: T(() => [Ke(C(J.value[Number(A.value.index)] ? J.value[Number(A.value.index)].text : ""), 1)]),
1533
+ content: T(() => [A.value ? (y(), d(w(Qt), {
1534
+ key: 0,
1535
+ config: zr.value,
1536
+ dataset: Rr.value
1537
+ }, null, 8, ["config", "dataset"])) : f("", !0)]),
1538
+ _: 1
1539
+ }, 8, [
1540
+ "backgroundColor",
1541
+ "color",
1542
+ "headerBg",
1543
+ "headerColor",
1544
+ "isFullscreen",
1545
+ "fullscreenParent"
1546
+ ])) : f("", !0),
1547
+ w(Hn) ? (y(), d(we, { key: 10 })) : f("", !0)
1548
+ ], 46, at));
1549
+ }
1550
+ }, [["__scopeId", "data-v-5e237272"]]);
1551
+ //#endregion
1552
+ export { it as n, Kt as t };