vue-data-ui 3.15.12 → 3.16.1

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