vue-data-ui 3.25.11 → 3.25.13

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 (205) hide show
  1. package/dist/{Arrow-DLn-pcrh.js → Arrow-BhZDUeMp.js} +1 -1
  2. package/dist/{BaseDraggableDialog-Gm4Q30j0.js → BaseDraggableDialog-Ck6R5Q0K.js} +2 -2
  3. package/dist/{BaseIcon-D8R6_sKH.js → BaseIcon-Dlz7gfx0.js} +1 -1
  4. package/dist/{BaseLegendToggle-CXQrLjd-.js → BaseLegendToggle-DGG65LAR.js} +1 -1
  5. package/dist/{BaseZoomControls-BTzjVDPM.js → BaseZoomControls-BK0PxEa8.js} +2 -2
  6. package/dist/{ColorPicker-CUy15T72.js → ColorPicker-DMTwxvi_.js} +2 -2
  7. package/dist/{DataTable-oiM9uWrQ.js → DataTable-BD1eZ0zB.js} +2 -2
  8. package/dist/{HillActions-Dn8aKOVJ.js → HillActions-CiP2m7Nz.js} +1 -1
  9. package/dist/{Legend-X4kF4PvW.js → Legend-C0Ln0VNe.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-DFXjpRyl.js → NonSvgPenAndPaper-BjrMLISf.js} +3 -3
  11. package/dist/{PackageVersion-CEvZNFTz.js → PackageVersion-D5QkTJQU.js} +1 -1
  12. package/dist/{PenAndPaper-Cd3nItcO.js → PenAndPaper-XdUD8uB3.js} +3 -3
  13. package/dist/{Shape-CIqU-p2F.js → Shape-VCdxvFV9.js} +3 -3
  14. package/dist/{SlicerPreview-Ccss7Vsq.js → SlicerPreview-BJ4usfYd.js} +21 -21
  15. package/dist/{SparkTooltip-L3SliZbR.js → SparkTooltip-B1gRxPfb.js} +6 -6
  16. package/dist/{Title-CPHi-evi.js → Title-DeqmC-vN.js} +1 -1
  17. package/dist/{Tooltip-hhrkQ3Lk.js → Tooltip-DZ4a3XJQ.js} +1 -1
  18. package/dist/{UserOptions-qo_Tsqci.js → UserOptions-wFD9vo9g.js} +2 -2
  19. package/dist/components/arrow.js +1 -1
  20. package/dist/components/vue-ui-3d-bar.js +1 -1
  21. package/dist/components/vue-ui-accordion.js +1 -1
  22. package/dist/components/vue-ui-age-pyramid.js +1 -1
  23. package/dist/components/vue-ui-annotator.js +1 -1
  24. package/dist/components/vue-ui-bullet.js +1 -1
  25. package/dist/components/vue-ui-bump.js +1 -1
  26. package/dist/components/vue-ui-candlestick.js +1 -1
  27. package/dist/components/vue-ui-carousel-table.js +1 -1
  28. package/dist/components/vue-ui-chestnut.js +1 -1
  29. package/dist/components/vue-ui-chord.js +1 -1
  30. package/dist/components/vue-ui-circle-pack.js +1 -1
  31. package/dist/components/vue-ui-cursor.js +1 -1
  32. package/dist/components/vue-ui-dag.js +1 -1
  33. package/dist/components/vue-ui-dashboard.js +1 -1
  34. package/dist/components/vue-ui-digits.js +1 -1
  35. package/dist/components/vue-ui-donut-evolution.js +1 -1
  36. package/dist/components/vue-ui-donut.js +1 -1
  37. package/dist/components/vue-ui-dumbbell.js +1 -1
  38. package/dist/components/vue-ui-flow.js +1 -1
  39. package/dist/components/vue-ui-funnel.js +1 -1
  40. package/dist/components/vue-ui-galaxy.js +1 -1
  41. package/dist/components/vue-ui-gauge.js +1 -1
  42. package/dist/components/vue-ui-geo.js +1 -1
  43. package/dist/components/vue-ui-gizmo.js +1 -1
  44. package/dist/components/vue-ui-heatmap.js +1 -1
  45. package/dist/components/vue-ui-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.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-BR4imuKV.js → dom-to-png-DdqmzDdY.js} +1 -1
  91. package/dist/exposedLib-BBtjpydc.js +28 -0
  92. package/dist/{img-BkMKbWsI.js → img-W50sC9SC.js} +1 -1
  93. package/dist/{labelUtils-BXX2NzRe.js → labelUtils-Dvm-7rse.js} +1 -1
  94. package/dist/{lib-Dql7cqyA.js → lib-DOpaUOQx.js} +191 -88
  95. package/dist/{package-B10eQN5L.js → package-Cmcke8zR.js} +1 -1
  96. package/dist/{pdf-BSOs_GZz.js → pdf-zGbDDpCi.js} +1 -1
  97. package/dist/{render-common-CZ6-MONw.js → render-common-CG1wuHZY.js} +16 -16
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +6 -0
  103. package/dist/{useConfig-D32D002m.js → useConfig-C2uy4ltq.js} +2 -0
  104. package/dist/{useNestedProp-Chvyfpl-.js → useNestedProp-Bux0f4iY.js} +1 -1
  105. package/dist/{useObjectBindings-Cd_WuYIn.js → useObjectBindings-CEuNiBIT.js} +1 -1
  106. package/dist/{usePrinter-hohanNCX.js → usePrinter-BBBooAGP.js} +2 -2
  107. package/dist/utils.js +13 -13
  108. package/dist/{vue-data-ui-zJ1rNxIN.js → vue-data-ui-BVzA0tEV.js} +70 -70
  109. package/dist/vue-data-ui.js +75 -75
  110. package/dist/{vue-ui-3d-bar-CKTAkCAN.js → vue-ui-3d-bar-Ckauu3d4.js} +536 -536
  111. package/dist/{vue-ui-accordion-DmkL8A59.js → vue-ui-accordion-yHZMJLaY.js} +4 -4
  112. package/dist/vue-ui-age-pyramid-BczIt1-U.js +1305 -0
  113. package/dist/{vue-ui-annotator-BLYRy--7.js → vue-ui-annotator-BGB6K6u0.js} +60 -60
  114. package/dist/{vue-ui-bullet-Ck398xn8.js → vue-ui-bullet-BoTsLccZ.js} +84 -84
  115. package/dist/{vue-ui-bump-DyA47yse.js → vue-ui-bump-B5ztSSQO.js} +105 -105
  116. package/dist/{vue-ui-candlestick-DCavjk1j.js → vue-ui-candlestick-BJtdA4Yu.js} +98 -98
  117. package/dist/vue-ui-carousel-table-D-3KSWok.js +467 -0
  118. package/dist/vue-ui-chestnut-W2l-W0_e.js +2016 -0
  119. package/dist/{vue-ui-chord-GgA7QFUH.js → vue-ui-chord-BFPQsMj8.js} +63 -63
  120. package/dist/{vue-ui-circle-pack-BUXTVdy3.js → vue-ui-circle-pack-BtPc1BR3.js} +50 -50
  121. package/dist/{vue-ui-cursor-CEejESe_.js → vue-ui-cursor-CpNOiwkt.js} +61 -61
  122. package/dist/{vue-ui-dag-C1c6scxC.js → vue-ui-dag-i-zPwLcN.js} +44 -44
  123. package/dist/{vue-ui-dashboard-BZBJM7dN.js → vue-ui-dashboard-DtaW9a2P.js} +70 -70
  124. package/dist/{vue-ui-digits-CsougDlU.js → vue-ui-digits-BIlec9af.js} +4 -4
  125. package/dist/{vue-ui-donut-lBgSYKgO.js → vue-ui-donut-Bgf-n95J.js} +551 -551
  126. package/dist/{vue-ui-donut-Be9jKelz.js → vue-ui-donut-CJlBEyxu.js} +203 -203
  127. package/dist/vue-ui-donut-evolution-C0BKntfL.js +1552 -0
  128. package/dist/{vue-ui-dumbbell-CwmA5x9G.js → vue-ui-dumbbell-C112YLkC.js} +87 -87
  129. package/dist/{vue-ui-flow-CRhh8SSN.js → vue-ui-flow-j4bDg9Zd.js} +99 -99
  130. package/dist/{vue-ui-funnel-DH1hW8Gw.js → vue-ui-funnel-CVHpfBCW.js} +40 -40
  131. package/dist/vue-ui-galaxy-ChGpUWh8.js +1097 -0
  132. package/dist/{vue-ui-gauge-CV4-Rn7K.js → vue-ui-gauge-Cp00vXfG.js} +190 -190
  133. package/dist/{vue-ui-geo-BocLrguL.js → vue-ui-geo-B4hDk5NO.js} +12 -12
  134. package/dist/{vue-ui-gizmo-6wKlI5PC.js → vue-ui-gizmo-D6nCCsS4.js} +54 -54
  135. package/dist/vue-ui-heatmap-scVJc1cw.js +1606 -0
  136. package/dist/{vue-ui-hill-CeIZZFf5.js → vue-ui-hill-DnYUHGAK.js} +21 -21
  137. package/dist/vue-ui-history-plot-C5qAMaaW.js +1710 -0
  138. package/dist/{vue-ui-horizontal-bar-D2aw-8tx.js → vue-ui-horizontal-bar-nEG4uvpv.js} +85 -85
  139. package/dist/{vue-ui-kpi-BQ967gzv.js → vue-ui-kpi-DOxId6xg.js} +12 -12
  140. package/dist/{vue-ui-label-Cs4ZlAqr.js → vue-ui-label-BDKY7BI7.js} +4 -4
  141. package/dist/{vue-ui-mini-loader-wGeACd-Y.js → vue-ui-mini-loader-BknVs9VJ.js} +3 -3
  142. package/dist/vue-ui-molecule-_x232mMu.js +941 -0
  143. package/dist/vue-ui-mood-radar-D-F4855V.js +1111 -0
  144. package/dist/{vue-ui-nested-donuts-DT2zkLx2.js → vue-ui-nested-donuts-0E5IllFW.js} +481 -481
  145. package/dist/vue-ui-onion-Eip0S1H7.js +1247 -0
  146. package/dist/vue-ui-parallel-coordinate-plot-DO0sQdJw.js +1444 -0
  147. package/dist/vue-ui-quadrant-CA0ClWfL.js +1979 -0
  148. package/dist/{vue-ui-quick-chart-CkPu6GMh.js → vue-ui-quick-chart-D-VuAoll.js} +169 -169
  149. package/dist/vue-ui-radar-BTD7Y0Ps.js +1386 -0
  150. package/dist/vue-ui-rating-C_Qj6gnP.js +359 -0
  151. package/dist/vue-ui-relation-circle-CcxLBVFV.js +905 -0
  152. package/dist/vue-ui-ridgeline-BZrzbbhb.js +1630 -0
  153. package/dist/{vue-ui-rings-CBtHZ5Pp.js → vue-ui-rings-CO48GOP2.js} +78 -78
  154. package/dist/{vue-ui-scatter-DzePsQEe.js → vue-ui-scatter-DrxUgZbQ.js} +136 -136
  155. package/dist/{vue-ui-skeleton-C347nFnE.js → vue-ui-skeleton-CeKjW4MX.js} +510 -510
  156. package/dist/{vue-ui-smiley-BIjAIpJ9.js → vue-ui-smiley-BvRwx69s.js} +6 -6
  157. package/dist/{vue-ui-spark-trend-Di_7Da43.js → vue-ui-spark-trend-DnujGRyt.js} +96 -96
  158. package/dist/{vue-ui-sparkbar-CbJ-fKc6.js → vue-ui-sparkbar-Cd_uhYGD.js} +113 -113
  159. package/dist/vue-ui-sparkgauge-hT31YEtt.js +268 -0
  160. package/dist/vue-ui-sparkhistogram-PKlTYhKA.js +589 -0
  161. package/dist/vue-ui-sparkline-BSu1uRvP.js +1610 -0
  162. package/dist/{vue-ui-sparkstackbar-IM_l98X-.js → vue-ui-sparkstackbar-R0ij2vi1.js} +183 -183
  163. package/dist/vue-ui-stackbar-BrzzkGFk.js +2369 -0
  164. package/dist/vue-ui-stackline-zEX3gR3y.js +2483 -0
  165. package/dist/{vue-ui-strip-plot-CVV0t6mb.js → vue-ui-strip-plot-DR3N56rS.js} +253 -253
  166. package/dist/{vue-ui-table-nAGCIZKg.js → vue-ui-table-Bg6BeLrf.js} +117 -117
  167. package/dist/{vue-ui-table-heatmap-D5F5bLx5.js → vue-ui-table-heatmap-C1b1Pcp8.js} +95 -95
  168. package/dist/vue-ui-table-sparkline-CkVXyequ.js +738 -0
  169. package/dist/{vue-ui-thermometer-Ccr2ZnzI.js → vue-ui-thermometer-CqkaMF7Z.js} +23 -23
  170. package/dist/{vue-ui-timer-DkW-P6EG.js → vue-ui-timer-CgJvNwBv.js} +13 -13
  171. package/dist/{vue-ui-tiremarks-Bf2anKLr.js → vue-ui-tiremarks-B078YJ9M.js} +30 -30
  172. package/dist/{vue-ui-treemap-Wy61KlkN.js → vue-ui-treemap-Cfjf8mDl.js} +77 -77
  173. package/dist/vue-ui-waffle-BZIcPa0l.js +1633 -0
  174. package/dist/{vue-ui-wheel-DGhu_B8n.js → vue-ui-wheel-CPTm8AHn.js} +185 -185
  175. package/dist/{vue-ui-word-cloud-CdRMst8U.js → vue-ui-word-cloud-DnGblUwj.js} +46 -46
  176. package/dist/{vue-ui-world-Bc4hMzzB.js → vue-ui-world-KkcpeKqp.js} +133 -133
  177. package/dist/vue-ui-xy-C6lVqZnx.js +5367 -0
  178. package/dist/{vue-ui-xy-CbgQs7yW.js → vue-ui-xy-ClCV7xA5.js} +169 -169
  179. package/dist/{vue-ui-xy-canvas-R2xbgDOy.js → vue-ui-xy-canvas-BlpCbXKR.js} +435 -435
  180. package/package.json +1 -1
  181. package/dist/exposedLib-CG3aXJ-v.js +0 -28
  182. package/dist/vue-ui-age-pyramid-SpPactMh.js +0 -1305
  183. package/dist/vue-ui-carousel-table-DCnVD0BJ.js +0 -467
  184. package/dist/vue-ui-chestnut-BDBdizBp.js +0 -2016
  185. package/dist/vue-ui-donut-evolution-vLMhwz4K.js +0 -1552
  186. package/dist/vue-ui-galaxy-CiqILfxR.js +0 -1097
  187. package/dist/vue-ui-heatmap-DGXXRsr4.js +0 -1606
  188. package/dist/vue-ui-history-plot-CporPpg9.js +0 -1710
  189. package/dist/vue-ui-molecule-CvDC9Ht5.js +0 -941
  190. package/dist/vue-ui-mood-radar-BK1va5-H.js +0 -1111
  191. package/dist/vue-ui-onion-DPMikBzZ.js +0 -1247
  192. package/dist/vue-ui-parallel-coordinate-plot-DMPxUL3p.js +0 -1444
  193. package/dist/vue-ui-quadrant-DFkIeJXo.js +0 -1979
  194. package/dist/vue-ui-radar-B3OOLJal.js +0 -1386
  195. package/dist/vue-ui-rating-Criq0ofQ.js +0 -359
  196. package/dist/vue-ui-relation-circle-I6e5UxgY.js +0 -905
  197. package/dist/vue-ui-ridgeline-FmmdCdy9.js +0 -1630
  198. package/dist/vue-ui-sparkgauge-Bb9-yFTb.js +0 -268
  199. package/dist/vue-ui-sparkhistogram-kbbbDVul.js +0 -589
  200. package/dist/vue-ui-sparkline-BF0Fdo6v.js +0 -1587
  201. package/dist/vue-ui-stackbar-CaEXVeo5.js +0 -2369
  202. package/dist/vue-ui-stackline-MgvhcBfm.js +0 -2483
  203. package/dist/vue-ui-table-sparkline-Bf2hjBwq.js +0 -738
  204. package/dist/vue-ui-waffle-CkIFp-AN.js +0 -1633
  205. package/dist/vue-ui-xy-DybWfQrI.js +0 -5298
@@ -0,0 +1,1552 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, $t as n, D as r, Ft as i, Gt as a, J as o, Rt as s, S as c, Vt as l, X as ee, Xt as te, _ as ne, at as re, f as ie, h as ae, i as oe, kt as se, nt as ce, p as le, qt as ue, t as de, tn as fe, tt as pe, vt as me, w as he, y as ge } from "./lib-DOpaUOQx.js";
3
+ import { n as _e, t as ve } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ye } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as be } from "./useConfig-C2uy4ltq.js";
6
+ import { t as xe } from "./usePrinter-BBBooAGP.js";
7
+ import { n as Se, t as Ce } from "./BaseScanner-Dzc8VT3j.js";
8
+ import { t as we } from "./useNestedProp-Bux0f4iY.js";
9
+ import { t as Te } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as Ee } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as De } from "./useTransitions-g_zBREk2.js";
12
+ import { t as Oe } from "./useStableElementSize-C7KADDKj.js";
13
+ import { t as ke } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
+ import { t as Ae } from "./img-W50sC9SC.js";
15
+ import { n as je } from "./Title-DeqmC-vN.js";
16
+ import { t as Me } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
+ import { l as Ne, t as Pe } from "./useResponsive-ZtArZtUf.js";
18
+ import { t as Fe } from "./DefGrad-DVBqDjhO.js";
19
+ import { t as Ie } from "./SlicerPreview-BJ4usfYd.js";
20
+ import { t as Le } from "./BaseLegendToggle-DGG65LAR.js";
21
+ import { t as Re } from "./A11yDataTable-DdRsVULz.js";
22
+ import { t as ze } from "./useUserOptionState-DK-_1ddE.js";
23
+ import { t as Be } from "./useChartAccessibility-DYqac8yF.js";
24
+ import { t as Ve } from "./Legend-C0Ln0VNe.js";
25
+ import { t as He } from "./vue_ui_donut_evolution-D1yAAIHr.js";
26
+ import { Fragment as u, Teleport as Ue, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as We, createTextVNode as Ge, createVNode as Ke, defineAsyncComponent as g, guardReactiveProps as _, mergeProps as qe, nextTick as Je, normalizeClass as v, normalizeProps as y, normalizeStyle as Ye, onBeforeUnmount as Xe, onMounted as Ze, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Qe, shallowRef as $e, toDisplayString as w, toRefs as et, unref as T, watch as tt, watchEffect as nt, withCtx as E } from "vue";
27
+ //#region src/components/vue-ui-donut-evolution.vue
28
+ var rt = /* @__PURE__ */ e({ default: () => Gt }), it = ["id"], at = ["id"], ot = ["id"], st = { style: { position: "relative" } }, ct = [
29
+ "xmlns",
30
+ "aria-describedby",
31
+ "viewBox"
32
+ ], lt = [
33
+ "x",
34
+ "y",
35
+ "width",
36
+ "height"
37
+ ], ut = { key: 1 }, dt = [
38
+ "x1",
39
+ "x2",
40
+ "y1",
41
+ "y2",
42
+ "stroke",
43
+ "stroke-width"
44
+ ], ft = [
45
+ "x1",
46
+ "x2",
47
+ "y1",
48
+ "y2",
49
+ "stroke",
50
+ "stroke-width"
51
+ ], pt = { key: 0 }, mt = [
52
+ "x1",
53
+ "x2",
54
+ "y1",
55
+ "y2",
56
+ "stroke",
57
+ "stroke-width"
58
+ ], ht = [
59
+ "font-size",
60
+ "fill",
61
+ "transform"
62
+ ], gt = [
63
+ "x",
64
+ "y",
65
+ "font-size",
66
+ "fill"
67
+ ], _t = [
68
+ "d",
69
+ "stroke",
70
+ "stroke-width"
71
+ ], vt = [
72
+ "transform",
73
+ "font-size",
74
+ "text-anchor",
75
+ "fill",
76
+ "font-weight"
77
+ ], yt = { key: 0 }, bt = [
78
+ "text-anchor",
79
+ "font-size",
80
+ "fill",
81
+ "transform"
82
+ ], xt = [
83
+ "text-anchor",
84
+ "font-size",
85
+ "fill",
86
+ "transform",
87
+ "innerHTML"
88
+ ], St = [
89
+ "x1",
90
+ "y1",
91
+ "x2",
92
+ "y2",
93
+ "stroke",
94
+ "stroke-width"
95
+ ], Ct = { key: 1 }, wt = [
96
+ "cx",
97
+ "cy",
98
+ "r",
99
+ "fill"
100
+ ], Tt = { key: 0 }, Et = { key: 0 }, Dt = ["d", "stroke"], Ot = [
101
+ "text-anchor",
102
+ "x",
103
+ "y",
104
+ "fill"
105
+ ], kt = [
106
+ "cx",
107
+ "cy",
108
+ "r",
109
+ "fill"
110
+ ], At = { key: 0 }, jt = [
111
+ "cx",
112
+ "cy",
113
+ "fill"
114
+ ], Mt = { key: 1 }, Nt = [
115
+ "d",
116
+ "fill",
117
+ "stroke"
118
+ ], Pt = { key: 2 }, Ft = [
119
+ "d",
120
+ "fill",
121
+ "stroke"
122
+ ], It = [
123
+ "x",
124
+ "y",
125
+ "font-size",
126
+ "fill"
127
+ ], Lt = [
128
+ "x",
129
+ "y",
130
+ "width",
131
+ "height",
132
+ "fill"
133
+ ], Rt = [
134
+ "x",
135
+ "y",
136
+ "width",
137
+ "height",
138
+ "onMouseenter",
139
+ "onMouseleave",
140
+ "onClick"
141
+ ], zt = {
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
+ }, Bt = {
152
+ key: 5,
153
+ class: "vue-data-ui-watermark"
154
+ }, Vt = ["id"], Ht = ["onClick"], Ut = { key: 0 }, Wt = { key: 1 }, Gt = /*#__PURE__*/ Me({
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: Me, emit: rt }) {
172
+ let Gt = g(() => import("./vue-ui-accordion-yHZMJLaY.js").then((e) => e.n)), Kt = g(() => import("./BaseIcon-Dlz7gfx0.js").then((e) => e.n)), qt = g(() => import("./DataTable-BD1eZ0zB.js")), Jt = g(() => import("./PackageVersion-D5QkTJQU.js").then((e) => e.t)), Yt = g(() => import("./PenAndPaper-XdUD8uB3.js").then((e) => e.t)), Xt = g(() => import("./UserOptions-wFD9vo9g.js").then((e) => e.n)), Zt = g(() => import("./vue-ui-donut-Bgf-n95J.js").then((e) => e.n)), Qt = g(() => import("./BaseDraggableDialog-Ck6R5Q0K.js").then((e) => e.n)), { vue_ui_donut_evolution: $t } = be(), { isThemeValid: en, warnInvalidTheme: tn } = Te(), D = e, O = x(ee()), k = x([]), A = x(null), nn = x(null), rn = x(!1), j = x(null), M = x(null), an = x(null), on = x(0), sn = x(0), cn = x(0), ln = x(0), un = x(0), dn = x(null), fn = x(null), pn = x(null), mn = x(null), hn = x(!1), gn = x(null), _n = x(null), vn = $e(null), yn = x(0), bn = x(0), xn = x(!1);
173
+ function Sn() {
174
+ vn.value = M.value?.parentNode ?? null;
175
+ }
176
+ function Cn() {
177
+ return new Promise((e) => {
178
+ requestAnimationFrame(() => {
179
+ requestAnimationFrame(e);
180
+ });
181
+ });
182
+ }
183
+ async function wn() {
184
+ let e = ++bn.value;
185
+ await Je(), await Cn(), await Cn(), e === bn.value && (yn.value += 1);
186
+ }
187
+ function Tn() {
188
+ xn.value || (xn.value = !0, Je(() => {
189
+ xn.value = !1, Sn(), wn();
190
+ }));
191
+ }
192
+ let En = Oe({
193
+ elementRef: vn,
194
+ minimumWidth: 2,
195
+ minimumHeight: 2,
196
+ stableFramesRequired: 2,
197
+ once: !1,
198
+ onSizeAccepted: () => {
199
+ wn();
200
+ }
201
+ }), Dn = x(null), On = x(null), kn = x(null), An = x(null), jn = x(null), Mn = x(!1), N = $e(null), P = $e(null), Nn = x(null), F = x(null), Pn = x(!1), Fn = rt, In = d(() => !!D.dataset && D.dataset.length);
202
+ Ze(() => {
203
+ hn.value = !0, Sn(), En.start(), Rn(), wn();
204
+ });
205
+ let Ln = d(() => I.value.debug);
206
+ function Rn() {
207
+ if (s(D.dataset) ? (re({
208
+ componentName: "VueUiDonutEvolution",
209
+ type: "dataset",
210
+ debug: Ln.value
211
+ }), Un.value = !0) : D.dataset.length && D.dataset.forEach((e, t) => {
212
+ me({
213
+ datasetObject: e,
214
+ requiredAttributes: ["name", "values"]
215
+ }).forEach((e) => {
216
+ re({
217
+ componentName: "VueUiDonutEvolution",
218
+ type: "datasetSerieAttribute",
219
+ property: e,
220
+ index: t,
221
+ debug: Ln.value
222
+ }), Un.value = !0;
223
+ });
224
+ }), s(D.dataset) || (Un.value = I.value.loading), setTimeout(() => {
225
+ Mn.value = !0;
226
+ }, 10), qn(), I.value.responsive) {
227
+ let e = Ne(() => {
228
+ Mn.value = !1;
229
+ let { width: e, height: t } = Pe({
230
+ chart: M.value,
231
+ title: I.value.style.chart.title.text ? Dn.value : null,
232
+ legend: I.value.style.chart.legend.show ? On.value : null,
233
+ slicer: I.value.style.chart.zoom.show && Gn.value > 1 ? jn.value : null,
234
+ source: kn.value
235
+ });
236
+ requestAnimationFrame(() => {
237
+ Wn.value.width = e, Wn.value.height = t - 12, Tn(), clearTimeout(Nn.value), Nn.value = setTimeout(() => {
238
+ Mn.value = !0;
239
+ }, 10);
240
+ });
241
+ });
242
+ N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect()), N.value = new ResizeObserver(e), P.value = M.value.parentNode, N.value.observe(P.value);
243
+ }
244
+ Tn();
245
+ }
246
+ let I = x($n()), L = d(() => R.value.grid), R = d(() => I.value.style.chart.layout), z = d(() => I.value.style.chart.dialog), B = d(() => I.value.style.chart);
247
+ _e({
248
+ config: () => I.value,
249
+ dataset: () => D.dataset,
250
+ component: "VueUiDonutEvolution",
251
+ rules: [
252
+ ve.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: zn } = De({
288
+ config: () => I.value.transitions,
289
+ dataset: () => D.dataset
290
+ }), V = d(() => I.value.userOptions.useCursorPointer), Bn = d(() => fe({
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: I.value.skeletonConfig ?? {}
328
+ })), { loading: Vn, FINAL_DATASET: Hn, manualLoading: Un } = Se({
329
+ ...et(D),
330
+ FINAL_CONFIG: I,
331
+ prepareConfig: $n,
332
+ callback: () => {
333
+ Promise.resolve().then(async () => {
334
+ await qn();
335
+ });
336
+ },
337
+ skeletonDataset: D.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: fe({
376
+ defaultConfig: I.value,
377
+ userConfig: Bn.value
378
+ })
379
+ }), Wn = x({
380
+ width: R.value.width,
381
+ height: R.value.height
382
+ }), Gn = d(() => Math.max(...Hn.value.map((e) => e.values.length))), H = x({
383
+ start: 0,
384
+ end: Gn.value
385
+ });
386
+ function Kn() {
387
+ qn();
388
+ }
389
+ async function qn() {
390
+ await Je(), await Je();
391
+ let { startIndex: e, endIndex: t } = B.value.zoom, n = An.value;
392
+ H.value = {
393
+ start: 0,
394
+ end: J.value
395
+ }, (e != null || t != null) && n ? (e == null ? (H.value.start = 0, n.setStartValue(0)) : n.setStartValue(e), t == null ? (H.value.end = J.value, n.setEndValue(J.value)) : n.setEndValue(Jn(t + 1))) : (H.value = {
396
+ start: 0,
397
+ end: J.value
398
+ }, sn.value += 1), Tn();
399
+ }
400
+ function Jn(e) {
401
+ let t = J.value;
402
+ return e > t ? t : e < 0 || B.value.zoom.startIndex !== null && e < B.value.zoom.startIndex ? B.value.zoom.startIndex === null ? 1 : B.value.zoom.startIndex + 1 : e;
403
+ }
404
+ let { userOptionsVisible: Yn, setUserOptionsVisibility: Xn, keepUserOptionState: Zn } = ze({ config: I.value }), { svgRef: Qn } = Be({ config: B.value.title });
405
+ function $n() {
406
+ let e = we({
407
+ userConfig: D.config,
408
+ defaultConfig: $t
409
+ }), t = {}, r = e.theme;
410
+ if (r) {
411
+ if (!en.value(e)) tn(e), t = e;
412
+ else {
413
+ let i = we({
414
+ userConfig: He[r] || D.config,
415
+ defaultConfig: e
416
+ });
417
+ t = {
418
+ ...we({
419
+ userConfig: D.config,
420
+ defaultConfig: i
421
+ }),
422
+ customPalette: e.customPalette ? e.customPalette : n[r] || l
423
+ };
424
+ }
425
+ } else t = e;
426
+ return t;
427
+ }
428
+ tt(() => D.config, (e) => {
429
+ Vn.value || (I.value = $n()), Yn.value = !I.value.userOptions.showOnChartHover, Rn(), cn.value += 1, ln.value += 1, un.value += 1, U.value.showTable = I.value.table.show;
430
+ }, { deep: !0 }), tt(() => D.dataset, (e) => {
431
+ Array.isArray(e) && e.length > 0 && (Un.value = !1), Kn();
432
+ }, { deep: !0 });
433
+ let { isPrinting: er, isImaging: tr, generatePdf: nr, generateImage: rr } = xe({
434
+ elementId: O.value,
435
+ fileName: B.value.title.text || "vue-ui-donut-evolution",
436
+ options: I.value.userOptions.print
437
+ }), ir = d(() => I.value.userOptions.show && !B.value.title.text), ar = d(() => he(I.value.customPalette)), U = x({ showTable: I.value.table.show });
438
+ tt(I, () => {
439
+ U.value = { showTable: I.value.table.show };
440
+ }, { immediate: !0 });
441
+ let W = d(() => ({
442
+ top: R.value.padding.top,
443
+ right: R.value.padding.right,
444
+ bottom: R.value.padding.bottom,
445
+ left: R.value.padding.left
446
+ })), G = d(() => L.value.yAxis.position === "right");
447
+ function or() {
448
+ let e = 0;
449
+ dn.value && (e = Array.from(dn.value.querySelectorAll("text")).reduce((e, t) => {
450
+ let n = t.getComputedTextLength();
451
+ return n > e ? n : e;
452
+ }, 0));
453
+ let t = mn.value ? mn.value.getBoundingClientRect().width + L.value.axis.yLabelOffsetX + L.value.axis.fontSize : 0, n = e + t + 5;
454
+ return {
455
+ left: G.value ? 0 : n,
456
+ right: G.value ? n : 0,
457
+ scaleLabelsWidth: e,
458
+ yAxisLabelWidth: t,
459
+ crosshair: 5
460
+ };
461
+ }
462
+ let sr = x(0), cr = Ne((e) => {
463
+ sr.value = e;
464
+ }, 100);
465
+ nt((e) => {
466
+ let t = fn.value;
467
+ if (!t) return;
468
+ let n = new ResizeObserver((e) => {
469
+ cr(e[0].contentRect.height);
470
+ });
471
+ n.observe(t), e(() => n.disconnect());
472
+ }), Xe(() => {
473
+ sr.value = 0, En.stop(), clearTimeout(Nn.value), N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect(), N.value = null, P.value = null);
474
+ });
475
+ let lr = d(() => {
476
+ let e = 0;
477
+ pn.value && (e = pn.value.getBBox().height);
478
+ let t = 0;
479
+ return fn.value && (t = sr.value), e + t + L.value.axis.fontSize + L.value.xAxis.dataLabels.offsetY;
480
+ }), K = d(() => {
481
+ yn.value;
482
+ let e = or(), t = R.value.dataLabels.fontSize * 3, n = Wn.value.width, r = Wn.value.height, i = W.value.left + e.left, a = n - W.value.right - e.right, o = n - i - W.value.right - e.right, s = r - W.value.top - W.value.bottom - t - lr.value, c = W.value.top + t;
483
+ return {
484
+ top: c,
485
+ left: i,
486
+ right: a,
487
+ bottom: r - W.value.bottom - lr.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
+ }), q = d(() => (Ln.value && Hn.value.forEach((e, t) => {
499
+ [null, void 0].includes(e.name) && re({
500
+ componentName: "VueUiDonutEvolution",
501
+ type: "datasetSerieAttribute",
502
+ property: "name",
503
+ index: t
504
+ }), [null, void 0].includes(e.values) && re({
505
+ componentName: "VueUiDonutEvolution",
506
+ type: "datasetSerieAttribute",
507
+ property: "values",
508
+ index: t
509
+ });
510
+ }), Hn.value.map((e, t) => ({
511
+ ...e,
512
+ values: a(e.values),
513
+ color: c(e.color) || ar.value[t] || l[t] || l[t % l.length],
514
+ length: (e.values || []).length,
515
+ uid: ee()
516
+ })))), ur = d(() => q.value.filter((e) => !k.value.includes(e.uid)).map((e) => ({
517
+ ...e,
518
+ values: e.values.filter((e, t) => t >= H.value.start && t <= H.value.end)
519
+ }))), J = d(() => Math.max(...q.value.map((e) => e.length))), Y = x([]), dr = 0;
520
+ nt(() => {
521
+ let e = ++dr;
522
+ (async () => {
523
+ let t = await ye({
524
+ values: L.value.xAxis.dataLabels.values,
525
+ maxDatapoints: J.value,
526
+ formatter: L.value.xAxis.dataLabels.datetimeFormatter,
527
+ start: H.value.start,
528
+ end: H.value.end
529
+ });
530
+ e === dr && (Y.value = t);
531
+ })();
532
+ });
533
+ let X = d(() => K.value.width / (H.value.end - H.value.start)), fr = d(() => {
534
+ let e = [];
535
+ for (let t = 0; t < H.value.end - H.value.start; t += 1) {
536
+ let n = ur.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 = K.value.left + X.value * t + X.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
+ }), pr = d(() => {
547
+ let e = Math.max(...fr.value.map((e) => e.subtotal).filter((e) => se(e))) ?? 1, t = Math.min(...fr.value.map((e) => e.subtotal).filter((e) => se(e))) ?? 0, n = Math.max(L.value.yAxis.scaleMax ?? 0, e), r;
548
+ return r = L.value.yAxis.scaleMin == null ? 0 : Math.min(t, L.value.yAxis.scaleMin), L.value.yAxis.autoScale && (r = t, n = e), r === n && (r = n / 2, n *= 1.5), {
549
+ max: n,
550
+ min: r
551
+ };
552
+ }), Z = d(() => {
553
+ let e = fr.value.length === 1 ? pr.value.max * 2 : pr.value.max;
554
+ return ne(pr.value.min, e, L.value.yAxis.dataLabels.steps);
555
+ });
556
+ tt(() => Z.value.ticks.join("|"), () => {
557
+ Tn();
558
+ }, { flush: "post" });
559
+ function mr(e) {
560
+ return (e - Z.value.min) / (Z.value.max - Z.value.min);
561
+ }
562
+ let hr = d(() => Z.value.ticks.map((e) => ({
563
+ y: K.value.bottom - K.value.height * mr(e),
564
+ value: e
565
+ }))), Q = d(() => {
566
+ let e = fr.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(K.value.width / 24, X.value / 2 * .7), a = r > K.value.width / 16 ? K.value.width / 16 : r, o = A.value === t.index ? K.value.width / 16 : a, s = e.length > 4 ? r * 2 : r * 2 > X.value / 2 * .7 ? X.value / 2 * .7 : r * 2, c = K.value.bottom - K.value.height * mr(t.subtotal), l = ur.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: a,
577
+ activeRadius: o,
578
+ hoverRadius: s,
579
+ donut: i({ series: l }, t.x, c, a, a, 1.99999, 2, 1, 360, 105.25, a / 2),
580
+ donutHover: i({ series: l }, t.x, c, s, s, 1.99999, 2, 1, 360, 105.25, s / 2),
581
+ donutFocus: i({ series: l }, K.value.centerX, K.value.centerY, K.value.height / 3.6, K.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, K.value.height / 6)
582
+ };
583
+ });
584
+ });
585
+ function gr(e, n, r) {
586
+ return oe(R.value.dataLabels.formatter, e, t({
587
+ p: R.value.dataLabels.prefix,
588
+ v: e,
589
+ s: R.value.dataLabels.suffix,
590
+ r: R.value.dataLabels.rounding
591
+ }), {
592
+ datapoint: n,
593
+ index: r
594
+ });
595
+ }
596
+ function _r(e, t) {
597
+ return isNaN(e.value / te(t, "value")) ? 0 : (e.value / te(t, "value") * 100).toFixed(0) + "%";
598
+ }
599
+ function vr(e) {
600
+ A.value = null, nn.value = null, F.value = null, I.value.events.datapointLeave && I.value.events.datapointLeave({
601
+ datapoint: e,
602
+ seriesIndex: e.seriesIndex + H.value.start
603
+ });
604
+ }
605
+ function yr(e) {
606
+ I.value.events.datapointEnter && I.value.events.datapointEnter({
607
+ datapoint: e,
608
+ seriesIndex: e.index + H.value.start
609
+ }), A.value = e.index, nn.value = e, F.value = e.index;
610
+ }
611
+ let br = x(null);
612
+ function xr(e, t) {
613
+ I.value.events.datapointClick && I.value.events.datapointClick({
614
+ datapoint: e,
615
+ seriesIndex: e.index + H.value.start
616
+ }), e.subtotal && z.value.show && (nn.value = null, A.value = null, rn.value = !0, j.value = e, Vr(e), [null, void 0].includes(t) || (br.value = t));
617
+ }
618
+ let Sr = d(() => q.value.map((e, t) => ({
619
+ name: e.name,
620
+ value: e.values.slice(H.value.start, H.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, n) => ({
625
+ ...e,
626
+ opacity: k.value.includes(e.uid) ? .5 : 1,
627
+ segregate: () => Er(e.uid),
628
+ isSegregated: k.value.includes(e.uid),
629
+ display: `${e.name}${B.value.legend.showPercentage || B.value.legend.showValue ? ": " : ""}${B.value.legend.showValue ? oe(R.value.dataLabels.formatter, e.value, t({
630
+ p: R.value.dataLabels.prefix,
631
+ v: e.value,
632
+ s: R.value.dataLabels.suffix,
633
+ r: B.value.legend.roundingValue
634
+ }), {
635
+ datapoint: e,
636
+ seriesIndex: n
637
+ }) : ""}${B.value.legend.showPercentage ? k.value.includes(e.uid) ? `${B.value.legend.showValue ? " (" : ""}- %${B.value.legend.showValue ? ")" : ""}` : `${B.value.legend.showValue ? " (" : ""}${isNaN(e.value / Cr.value) ? "-" : t({
638
+ v: e.value / Cr.value * 100,
639
+ s: "%",
640
+ r: B.value.legend.roundingPercentage
641
+ })}${B.value.legend.showValue ? ")" : ""}` : ""}`
642
+ }))), Cr = d(() => Q.value.map((e) => e.subtotal).reduce((e, t) => e + t, 0)), wr = d(() => ({
643
+ cy: "donut-div-legend",
644
+ backgroundColor: B.value.legend.backgroundColor,
645
+ color: B.value.legend.color,
646
+ fontSize: B.value.legend.fontSize,
647
+ paddingBottom: 12,
648
+ fontWeight: B.value.legend.bold ? "bold" : ""
649
+ }));
650
+ function Tr() {
651
+ k.value.length ? k.value = [] : Sr.value.forEach((e) => {
652
+ k.value.push(e.uid);
653
+ }), Fn("selectLegend", ur.value);
654
+ }
655
+ function Er(e) {
656
+ if (k.value.includes(e)) k.value = k.value.filter((t) => t !== e), Fn("selectLegend", ur.value);
657
+ else {
658
+ if (k.value.length === q.value.length - 1) return;
659
+ k.value.push(e), Fn("selectLegend", ur.value);
660
+ }
661
+ j.value && xr(Q.value.find((e, t) => t === br.value));
662
+ }
663
+ function Dr(e) {
664
+ return q.value.length ? q.value.find((t) => t.name === e) || (Ln.value && console.warn(`VueUiDonutEvolution - Series name not found "${e}"`), null) : (Ln.value && console.warn("VueUiDonutEvolution - There are no series to show."), null);
665
+ }
666
+ function Or(e) {
667
+ let t = Dr(e);
668
+ t !== null && k.value.includes(t.uid) && Er(t.uid);
669
+ }
670
+ function kr(e) {
671
+ let t = Dr(e);
672
+ t !== null && (k.value.includes(t.uid) || Er(t.uid));
673
+ }
674
+ let $ = d(() => {
675
+ let e = [""].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((e) => ({
676
+ name: e.name,
677
+ color: e.color
678
+ })), ["Σ"]), t = [];
679
+ for (let e = 0; e < J.value; e += 1) {
680
+ let n = q.value.filter((e) => !k.value.includes(e.uid)).map((t) => t.values[e] ?? 0).reduce((e, t) => e + t, 0);
681
+ t.push([Y.value[e] ? Y.value[e].text : "-"].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((t) => ({
682
+ value: t.values[e] ?? 0,
683
+ percentage: t.values[e] ? t.values[e] / n * 100 : 0
684
+ })), [`${R.value.dataLabels.prefix}${Number(n.toFixed(I.value.table.td.roundingValue))}${R.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 : `${gr(t.value ?? 0, null, n)} (${t.percentage.toFixed(1)}%)`)),
690
+ config: {
691
+ th: {
692
+ backgroundColor: I.value.table.th.backgroundColor,
693
+ color: I.value.table.th.color,
694
+ outline: I.value.table.th.outline
695
+ },
696
+ td: {
697
+ backgroundColor: I.value.table.td.backgroundColor,
698
+ color: I.value.table.td.color,
699
+ outline: I.value.table.td.outline
700
+ },
701
+ breakpoint: I.value.table.responsiveBreakpoint
702
+ },
703
+ colNames: [I.value.table.columnNames.period].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((e) => e.name), I.value.table.columnNames.total)
704
+ };
705
+ });
706
+ function Ar() {
707
+ return q.value;
708
+ }
709
+ function jr(e = null) {
710
+ Je(() => {
711
+ let t = [
712
+ [B.value.title.text],
713
+ [B.value.title.subtitle.text],
714
+ [""]
715
+ ], n = [...$.value.head.map((e) => e.name ?? e)], i = [...$.value.body.map((e) => e.map((e) => e.value ?? e))], a = t.concat([n]).concat(i), o = r(a);
716
+ e ? e(o) : ce({
717
+ csvContent: o,
718
+ title: B.value.title.text || "vue-ui-donut-evolution"
719
+ });
720
+ });
721
+ }
722
+ let Mr = x(!1);
723
+ function Nr(e) {
724
+ Mr.value = e, on.value += 1;
725
+ }
726
+ function Pr() {
727
+ U.value.showTable = !U.value.showTable;
728
+ }
729
+ let Fr = x(!1);
730
+ function Ir() {
731
+ Fr.value = !Fr.value;
732
+ }
733
+ function Lr(e) {
734
+ return e.proportion * 100 > B.value.donuts.hover.hideLabelsUnderValue;
735
+ }
736
+ let Rr = x([]), zr = x({}), Br = x(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 = pe({
743
+ ...z.value.donutChart,
744
+ responsive: !0,
745
+ theme: I.value.theme
746
+ }), Br.value && Br.value.open();
747
+ }
748
+ async function Hr({ scale: e = 2 } = {}) {
749
+ if (!M.value) return;
750
+ let { width: t, height: n } = M.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Ae({
751
+ domElement: M.value,
752
+ base64: !0,
753
+ img: !0,
754
+ scale: e
755
+ });
756
+ return {
757
+ imageUri: i,
758
+ base64: a,
759
+ title: B.value.title.text,
760
+ width: t,
761
+ height: n,
762
+ aspectRatio: r
763
+ };
764
+ }
765
+ let Ur = d(() => Wn.value.width), Wr = d(() => Wn.value.height);
766
+ ke({
767
+ timeLabelsEls: fn,
768
+ timeLabels: Y,
769
+ slicer: H,
770
+ configRef: I,
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: L.value.xAxis.dataLabels.autoRotate.angle
794
+ });
795
+ let Gr = d(() => {
796
+ let e = I.value.table.useDialog && !I.value.table.show, t = U.value.showTable;
797
+ return {
798
+ component: e ? Qt : Gt,
799
+ title: `${B.value.title.text}${B.value.title.subtitle.text ? `: ${B.value.title.subtitle.text}` : ""}`,
800
+ props: e ? {
801
+ backgroundColor: I.value.table.th.backgroundColor,
802
+ color: I.value.table.th.color,
803
+ headerColor: I.value.table.th.color,
804
+ headerBg: I.value.table.th.backgroundColor,
805
+ isFullscreen: Mr.value,
806
+ fullscreenParent: M.value,
807
+ forcedWidth: Math.min(800, window.innerWidth * .8),
808
+ isCursorPointer: V.value
809
+ } : {
810
+ hideDetails: !0,
811
+ config: {
812
+ open: t,
813
+ maxHeight: 1e4,
814
+ body: {
815
+ backgroundColor: B.value.backgroundColor,
816
+ color: B.value.color
817
+ },
818
+ head: {
819
+ backgroundColor: B.value.backgroundColor,
820
+ color: B.value.color
821
+ }
822
+ }
823
+ }
824
+ };
825
+ });
826
+ tt(() => U.value.showTable, (e) => {
827
+ I.value.table.show || (e && I.value.table.useDialog && gn.value ? gn.value.open() : "close" in gn.value && gn.value.close());
828
+ });
829
+ function Kr() {
830
+ U.value.showTable = !1, _n.value && _n.value.setTableIconState(!1);
831
+ }
832
+ let qr = d(() => Sr.value.map((e) => ({
833
+ ...e,
834
+ name: e.display
835
+ }))), Jr = d(() => B.value.backgroundColor), Yr = d(() => B.value.legend), Xr = d(() => B.value.title), { isCallbackImaging: Zr, isCallbackSvg: Qr, generateSvg: $r, onGenerateImage: ei } = Ee({
836
+ svg: Qn,
837
+ title: Xr,
838
+ legend: Yr,
839
+ legendItems: qr,
840
+ backgroundColor: Jr,
841
+ getSvgCallback: () => I.value.userOptions.callbacks.svg,
842
+ generateImage: rr
843
+ });
844
+ async function ti() {
845
+ if (Fn("copyAlt", {
846
+ config: I.value,
847
+ dataset: Q.value
848
+ }), !I.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(I.value.userOptions.callbacks.altCopy({
853
+ config: I.value,
854
+ dataset: Q.value
855
+ }));
856
+ }
857
+ function ni() {
858
+ F.value = null, Pn.value = !0;
859
+ }
860
+ function ri() {
861
+ F.value = null, A.value = null, nn.value = null, Pn.value = !1;
862
+ }
863
+ function ii(e) {
864
+ if (!Qn.value || Fr.value || document.activeElement !== Qn.value || !Q.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
+ F.value = null, A.value = null, nn.value = null;
869
+ return;
870
+ }
871
+ if (r) {
872
+ if (F.value === null) return;
873
+ let e = Q.value[F.value];
874
+ if (!e) return;
875
+ xr(e, F.value);
876
+ return;
877
+ }
878
+ let a = F.value, o = A.value, s = a !== null && a >= 0 && a < Q.value.length, c = o !== null && o >= 0 && o < Q.value.length;
879
+ s ? n ? (a += 1, a >= Q.value.length && (a = 0)) : t && (--a, a < 0 && (a = Q.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Q.value.length && (a = 0), a < 0 && (a = Q.value.length - 1)) : a = n ? 0 : Q.value.length - 1;
880
+ let l = Q.value[a];
881
+ l && yr(l);
882
+ }
883
+ let ai = d(() => ({
884
+ headers: $.value?.colNames ?? [],
885
+ rows: $.value?.bodyA11y ?? []
886
+ }));
887
+ return Me({
888
+ getData: Ar,
889
+ getImage: Hr,
890
+ generatePdf: nr,
891
+ generateCsv: jr,
892
+ generateImage: rr,
893
+ generateSvg: $r,
894
+ hideSeries: kr,
895
+ showSeries: Or,
896
+ toggleTable: Pr,
897
+ toggleAnnotator: Ir,
898
+ toggleFullscreen: Nr,
899
+ copyAlt: ti
900
+ }), (e, n) => (b(), m("div", {
901
+ ref_key: "donutEvolutionChart",
902
+ ref: M,
903
+ class: v(`vue-data-ui-component vue-ui-donut-evolution ${Mr.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${I.value.useCssAnimation ? "" : "vue-ui-dna"}`),
904
+ style: Ye(`font-family:${I.value.style.fontFamily};width:100%; text-align:center;background:${B.value.backgroundColor}`),
905
+ id: O.value,
906
+ onMouseenter: n[5] ||= () => T(Xn)(!0),
907
+ onMouseleave: n[6] ||= () => T(Xn)(!1)
908
+ }, [
909
+ h("div", {
910
+ id: `chart-instructions-${O.value}`,
911
+ class: "sr-only"
912
+ }, [h("p", null, w(I.value.a11y.translations.keyboardNavigation), 1)], 8, at),
913
+ ai.value?.rows?.length ? (b(), f(Re, {
914
+ key: 0,
915
+ uid: O.value,
916
+ head: ai.value.headers,
917
+ body: ai.value.rows,
918
+ notice: I.value.a11y.translations.tableAvailable,
919
+ caption: I.value.a11y.translations.tableCaption
920
+ }, null, 8, [
921
+ "uid",
922
+ "head",
923
+ "body",
924
+ "notice",
925
+ "caption"
926
+ ])) : p("", !0),
927
+ I.value.userOptions.buttons.annotator ? (b(), f(T(Yt), {
928
+ key: 1,
929
+ svgRef: T(Qn),
930
+ backgroundColor: B.value.backgroundColor,
931
+ color: B.value.color,
932
+ active: Fr.value,
933
+ isCursorPointer: V.value,
934
+ palette: I.value.userOptions.annotatorPalette,
935
+ onClose: Ir
936
+ }, {
937
+ "annotator-action-close": E(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
938
+ "annotator-action-color": E(({ color: t }) => [C(e.$slots, "annotator-action-color", y(_({ color: t })), void 0, !0)]),
939
+ "annotator-action-draw": E(({ mode: t }) => [C(e.$slots, "annotator-action-draw", y(_({ mode: t })), void 0, !0)]),
940
+ "annotator-action-undo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", y(_({ disabled: t })), void 0, !0)]),
941
+ "annotator-action-redo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", y(_({ disabled: t })), void 0, !0)]),
942
+ "annotator-action-delete": E(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", y(_({ disabled: t })), void 0, !0)]),
943
+ _: 3
944
+ }, 8, [
945
+ "svgRef",
946
+ "backgroundColor",
947
+ "color",
948
+ "active",
949
+ "isCursorPointer",
950
+ "palette"
951
+ ])) : p("", !0),
952
+ ir.value ? (b(), m("div", {
953
+ key: 2,
954
+ ref_key: "noTitle",
955
+ ref: an,
956
+ class: "vue-data-ui-no-title-space",
957
+ style: "height:36px; width: 100%;background:transparent"
958
+ }, null, 512)) : p("", !0),
959
+ B.value.title.text ? (b(), m("div", {
960
+ key: 3,
961
+ ref_key: "chartTitle",
962
+ ref: Dn,
963
+ style: "width:100%;background:transparent;padding-bottom:24px",
964
+ onMouseleave: vr
965
+ }, [(b(), f(je, {
966
+ key: `title_${cn.value}`,
967
+ config: {
968
+ title: {
969
+ cy: "donut-evolution-div-title",
970
+ ...B.value.title
971
+ },
972
+ subtitle: {
973
+ cy: "donut-evolution-div-subtitle",
974
+ ...B.value.title.subtitle
975
+ }
976
+ }
977
+ }, null, 8, ["config"]))], 544)) : p("", !0),
978
+ h("div", { id: `legend-top-${O.value}` }, null, 8, ot),
979
+ I.value.userOptions.show && In.value && (T(Zn) || T(Yn)) ? (b(), f(T(Xt), {
980
+ ref_key: "userOptionsRef",
981
+ ref: _n,
982
+ key: `user_options_${on.value}`,
983
+ backgroundColor: B.value.backgroundColor,
984
+ color: B.value.color,
985
+ isPrinting: T(er),
986
+ isImaging: T(tr),
987
+ uid: O.value,
988
+ hasPdf: I.value.userOptions.buttons.pdf,
989
+ hasImg: I.value.userOptions.buttons.img,
990
+ hasSvg: I.value.userOptions.buttons.svg,
991
+ hasXls: I.value.userOptions.buttons.csv,
992
+ hasTable: I.value.userOptions.buttons.table,
993
+ hasFullscreen: I.value.userOptions.buttons.fullscreen,
994
+ hasAltCopy: I.value.userOptions.buttons.altCopy,
995
+ isFullscreen: Mr.value,
996
+ titles: { ...I.value.userOptions.buttonTitles },
997
+ chartElement: M.value,
998
+ position: I.value.userOptions.position,
999
+ hasAnnotator: I.value.userOptions.buttons.annotator,
1000
+ isAnnotation: Fr.value,
1001
+ callbacks: I.value.userOptions.callbacks,
1002
+ printScale: I.value.userOptions.print.scale,
1003
+ tableDialog: I.value.table.useDialog,
1004
+ isCursorPointer: V.value,
1005
+ onToggleFullscreen: Nr,
1006
+ onGeneratePdf: T(nr),
1007
+ onGenerateCsv: jr,
1008
+ onGenerateImage: T(ei),
1009
+ onGenerateSvg: T($r),
1010
+ onToggleTable: Pr,
1011
+ onToggleAnnotator: Ir,
1012
+ onCopyAlt: ti,
1013
+ style: Ye({ visibility: T(Zn) ? T(Yn) ? "visible" : "hidden" : "visible" })
1014
+ }, We({ _: 2 }, [
1015
+ e.$slots.menuIcon ? {
1016
+ name: "menuIcon",
1017
+ fn: E(({ isOpen: t, color: n }) => [C(e.$slots, "menuIcon", y(_({
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: E(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
1026
+ key: "1"
1027
+ } : void 0,
1028
+ e.$slots.optionCsv ? {
1029
+ name: "optionCsv",
1030
+ fn: E(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
1031
+ key: "2"
1032
+ } : void 0,
1033
+ e.$slots.optionImg ? {
1034
+ name: "optionImg",
1035
+ fn: E(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
1036
+ key: "3"
1037
+ } : void 0,
1038
+ e.$slots.optionSvg ? {
1039
+ name: "optionSvg",
1040
+ fn: E(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
1041
+ key: "4"
1042
+ } : void 0,
1043
+ e.$slots.optionTable ? {
1044
+ name: "optionTable",
1045
+ fn: E(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
1046
+ key: "5"
1047
+ } : void 0,
1048
+ e.$slots.optionFullscreen ? {
1049
+ name: "optionFullscreen",
1050
+ fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [C(e.$slots, "optionFullscreen", y(_({
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: E(({ toggleAnnotator: t, isAnnotator: n }) => [C(e.$slots, "optionAnnotator", y(_({
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: E(({ altCopy: t }) => [C(e.$slots, "optionAltCopy", y(_({ altCopy: t })), void 0, !0)]),
1067
+ key: "8"
1068
+ } : void 0,
1069
+ e.$slots["custom-menu-before"] ? {
1070
+ name: "custom-menu-before",
1071
+ fn: E(() => [C(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: E(() => [C(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("."))) : p("", !0),
1080
+ h("div", st, [(b(), m("svg", {
1081
+ ref_key: "svgRef",
1082
+ ref: Qn,
1083
+ xmlns: T(de),
1084
+ "aria-describedby": `chart-instructions-${O.value}`,
1085
+ class: v({
1086
+ "vue-data-ui-fullscreen--on": Mr.value,
1087
+ "vue-data-ui-fulscreen--off": !Mr.value,
1088
+ "vue-data-ui-no-transition": !T(zn)
1089
+ }),
1090
+ viewBox: `0 0 ${K.value.absoluteWidth} ${K.value.absoluteHeight}`,
1091
+ style: Ye(`max-width:100%; overflow: visible; background:transparent;color:${B.value.color};`),
1092
+ tabindex: "0",
1093
+ onFocus: ni,
1094
+ onBlur: ri,
1095
+ onKeydown: ii
1096
+ }, [
1097
+ Ke(T(Jt)),
1098
+ e.$slots["chart-background"] ? (b(), m("foreignObject", {
1099
+ key: 0,
1100
+ x: K.value.left,
1101
+ y: K.value.top,
1102
+ width: K.value.width,
1103
+ height: K.value.height,
1104
+ style: { pointerEvents: "none" }
1105
+ }, [C(e.$slots, "chart-background", {}, void 0, !0)], 8, lt)) : p("", !0),
1106
+ h("defs", null, [Ke(Fe, {
1107
+ t: "linear",
1108
+ id: `hover_${O.value}`,
1109
+ x1: "0%",
1110
+ y1: "0%",
1111
+ x2: "0%",
1112
+ y2: "100%",
1113
+ stops: [[
1114
+ "0%",
1115
+ T(ue)(B.value.backgroundColor, R.value.highlighter.opacity),
1116
+ 1
1117
+ ], [
1118
+ "100%",
1119
+ T(ue)(R.value.highlighter.color, R.value.highlighter.opacity),
1120
+ 1
1121
+ ]]
1122
+ }, null, 8, ["id", "stops"]), Ke(Fe, {
1123
+ t: "radial",
1124
+ id: `focus_${O.value}`,
1125
+ stops: [
1126
+ [
1127
+ "0%",
1128
+ T(ue)(T(c)(B.value.backgroundColor), 0),
1129
+ 1
1130
+ ],
1131
+ [
1132
+ "77%",
1133
+ T(ue)("#FFFFFF", 30),
1134
+ 1
1135
+ ],
1136
+ [
1137
+ "100%",
1138
+ T(ue)(T(c)(B.value.backgroundColor), 0),
1139
+ 1
1140
+ ]
1141
+ ]
1142
+ }, null, 8, ["id", "stops"])]),
1143
+ L.value.show ? (b(), m("g", ut, [
1144
+ h("line", {
1145
+ x1: G.value ? K.value.right : K.value.left,
1146
+ x2: G.value ? K.value.right : K.value.left,
1147
+ y1: K.value.top,
1148
+ y2: K.value.top + K.value.height,
1149
+ stroke: L.value.stroke,
1150
+ "stroke-width": L.value.strokeWidth,
1151
+ "stroke-linecap": "round"
1152
+ }, null, 8, dt),
1153
+ h("line", {
1154
+ x1: K.value.left,
1155
+ x2: K.value.right,
1156
+ y1: K.value.bottom,
1157
+ y2: K.value.bottom,
1158
+ stroke: L.value.stroke,
1159
+ "stroke-width": L.value.strokeWidth,
1160
+ "stroke-linecap": "round"
1161
+ }, null, 8, ft),
1162
+ L.value.showVerticalLines ? (b(), m("g", pt, [(b(!0), m(u, null, S(H.value.end - H.value.start, (e, t) => (b(), m("line", {
1163
+ x1: K.value.left + (t + 1) * X.value,
1164
+ x2: K.value.left + (t + 1) * X.value,
1165
+ y1: K.value.top,
1166
+ y2: K.value.bottom,
1167
+ stroke: L.value.stroke,
1168
+ "stroke-width": L.value.strokeWidth,
1169
+ "stroke-linecap": "round"
1170
+ }, null, 8, mt))), 256))])) : p("", !0)
1171
+ ])) : p("", !0),
1172
+ h("g", null, [L.value.axis.yLabel ? (b(), m("text", {
1173
+ key: 0,
1174
+ ref_key: "yAxisLabel",
1175
+ ref: mn,
1176
+ "font-size": L.value.axis.fontSize,
1177
+ fill: L.value.axis.color,
1178
+ transform: `translate(${G.value ? K.value.absoluteWidth - L.value.axis.fontSize / 2 - L.value.axis.yLabelOffsetX : L.value.axis.fontSize}, ${K.value.top + K.value.height / 2}) rotate(-90)`,
1179
+ "text-anchor": "middle",
1180
+ style: { transition: "none" }
1181
+ }, w(L.value.axis.yLabel), 9, ht)) : p("", !0), L.value.axis.xLabel ? (b(), m("text", {
1182
+ key: 1,
1183
+ ref_key: "xAxisLabel",
1184
+ ref: pn,
1185
+ "text-anchor": "middle",
1186
+ x: K.value.absoluteWidth / 2,
1187
+ y: K.value.absoluteHeight - 3,
1188
+ "font-size": L.value.axis.fontSize,
1189
+ fill: L.value.axis.color
1190
+ }, w(L.value.axis.xLabel), 9, gt)) : p("", !0)]),
1191
+ L.value.yAxis.dataLabels.show ? (b(), m("g", {
1192
+ key: 2,
1193
+ ref_key: "scaleLabels",
1194
+ ref: dn,
1195
+ class: v({
1196
+ "donut-opacity": !0,
1197
+ "donut-behind": A.value !== null
1198
+ })
1199
+ }, [(b(!0), m(u, null, S(hr.value, (e, n) => (b(), m("g", { key: `sl_${n}` }, [e.value >= Z.value.min && e.value <= Z.value.max ? (b(), m("path", {
1200
+ key: 0,
1201
+ class: v({ "vue-data-ui-transition": T(zn) }),
1202
+ d: `M${G.value ? K.value.right : K.value.left},${e.y} ${G.value ? K.value.right + 5 : K.value.left - 5},${e.y}`,
1203
+ stroke: L.value.stroke,
1204
+ "stroke-width": L.value.strokeWidth,
1205
+ "stroke-linecap": "round"
1206
+ }, null, 10, _t)) : p("", !0), e.value >= Z.value.min && e.value <= Z.value.max ? (b(), m("text", {
1207
+ key: 1,
1208
+ class: v({ "vue-data-ui-transition": T(zn) }),
1209
+ transform: `translate(${G.value ? K.value.right - L.value.yAxis.dataLabels.offsetX + 7 : K.value.left + L.value.yAxis.dataLabels.offsetX - 7}, ${e.y + L.value.yAxis.dataLabels.fontSize / 3})`,
1210
+ "font-size": L.value.yAxis.dataLabels.fontSize,
1211
+ "text-anchor": G.value ? "start" : "end",
1212
+ fill: L.value.yAxis.dataLabels.color,
1213
+ "font-weight": L.value.yAxis.dataLabels.bold ? "bold" : "normal"
1214
+ }, w(T(ge)(e.value) ? T(oe)(R.value.dataLabels.formatter, e.value, T(t)({
1215
+ p: R.value.dataLabels.prefix,
1216
+ v: e.value,
1217
+ s: R.value.dataLabels.suffix,
1218
+ r: R.value.grid.yAxis.dataLabels.roundingValue
1219
+ }), {
1220
+ datapoint: e,
1221
+ seriesIndex: n
1222
+ }) : ""), 11, vt)) : p("", !0)]))), 128))], 2)) : p("", !0),
1223
+ L.value.xAxis.dataLabels.show ? (b(), m("g", {
1224
+ key: 3,
1225
+ ref_key: "timeLabelsEls",
1226
+ ref: fn,
1227
+ class: v({ "donut-opacity": !0 })
1228
+ }, [(b(!0), m(u, null, S(H.value.end - H.value.start, (e, t) => (b(), m("g", null, [(L.value.xAxis.dataLabels.showOnlyFirstAndLast && (t === 0 || t === J.value - 1) || !L.value.xAxis.dataLabels.showOnlyFirstAndLast) && Y.value[t] && Y.value[t].text ? (b(), m("g", yt, [String(Y.value[t].text).includes("\n") ? (b(), m("text", {
1229
+ key: 1,
1230
+ class: "vue-data-ui-time-label",
1231
+ "text-anchor": L.value.xAxis.dataLabels.rotation > 0 ? "start" : L.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1232
+ "font-size": L.value.xAxis.dataLabels.fontSize,
1233
+ fill: L.value.xAxis.dataLabels.color,
1234
+ transform: `translate(${K.value.left + X.value * t + X.value / 2}, ${K.value.bottom + L.value.xAxis.dataLabels.fontSize + L.value.xAxis.dataLabels.offsetY}), rotate(${L.value.xAxis.dataLabels.rotation})`,
1235
+ innerHTML: T(o)({
1236
+ content: String(Y.value[t].text),
1237
+ fontSize: L.value.xAxis.dataLabels.fontSize,
1238
+ fill: R.value.grid.xAxis.dataLabels.color,
1239
+ x: 0,
1240
+ y: 0
1241
+ })
1242
+ }, null, 8, xt)) : (b(), m("text", {
1243
+ key: 0,
1244
+ class: "vue-data-ui-time-label",
1245
+ "text-anchor": L.value.xAxis.dataLabels.rotation > 0 ? "start" : L.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1246
+ "font-size": L.value.xAxis.dataLabels.fontSize,
1247
+ fill: L.value.xAxis.dataLabels.color,
1248
+ transform: `translate(${K.value.left + X.value * t + X.value / 2}, ${K.value.bottom + L.value.xAxis.dataLabels.fontSize + L.value.xAxis.dataLabels.offsetY}), rotate(${L.value.xAxis.dataLabels.rotation})`
1249
+ }, w(Y.value[t].text || ""), 9, bt))])) : p("", !0)]))), 256))], 512)) : p("", !0),
1250
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", null, [R.value.line.show && t < Q.value.length - 1 && ![e.subtotal, Q.value[t + 1].subtotal].includes(null) ? (b(), m("line", {
1251
+ key: 0,
1252
+ class: v({
1253
+ "donut-opacity": !0,
1254
+ "donut-behind": A.value !== null
1255
+ }),
1256
+ x1: e.x,
1257
+ y1: e.y,
1258
+ x2: Q.value[t + 1].x,
1259
+ y2: Q.value[t + 1].y,
1260
+ stroke: R.value.line.stroke,
1261
+ "stroke-width": R.value.line.strokeWidth,
1262
+ "stroke-linecap": "round",
1263
+ "stroke-linejoin": "round"
1264
+ }, null, 10, St)) : p("", !0), e.subtotal === null ? p("", !0) : (b(), m("g", Ct, [e.subtotal ? (b(), m("circle", {
1265
+ key: 0,
1266
+ cx: e.x,
1267
+ cy: e.y,
1268
+ r: e.activeRadius,
1269
+ fill: B.value.backgroundColor
1270
+ }, null, 8, wt)) : p("", !0)]))]))), 256)),
1271
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1272
+ "donut-opacity": !0,
1273
+ "donut-behind": t !== A.value && A.value !== null
1274
+ }) }, [e.subtotal ? (b(), m("g", Tt, [A.value !== null && A.value === t ? (b(), m("g", Et, [
1275
+ (b(!0), m(u, null, S(e.donutHover, (t) => (b(), m("g", null, [Lr(t) ? (b(), m("path", {
1276
+ key: 0,
1277
+ d: T(ae)(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, Dt)) : p("", !0)]))), 256)),
1290
+ (b(!0), m(u, null, S(e.donutHover, (t, n) => (b(), m("g", null, [Lr(t) ? (b(), m("text", {
1291
+ key: 0,
1292
+ "data-cy-hover-label": "",
1293
+ "text-anchor": T(ie)(t, !0, 0).anchor,
1294
+ x: T(ie)(t, !0, 9).x,
1295
+ y: T(le)(t, 14, 10),
1296
+ fill: L.value.yAxis.dataLabels.color,
1297
+ "font-size": 8,
1298
+ "font-weight": "bold"
1299
+ }, w(t.name) + ": " + w(_r(t, e.donut)) + " (" + w(t.value === null ? "-" : gr(t.value, t, n)) + ") ", 9, Ot)) : p("", !0)]))), 256)),
1300
+ h("g", null, [h("circle", {
1301
+ cx: e.x,
1302
+ cy: e.y,
1303
+ r: e.hoverRadius,
1304
+ fill: B.value.backgroundColor
1305
+ }, null, 8, kt)])
1306
+ ])) : p("", !0)])) : p("", !0)], 2))), 256)),
1307
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1308
+ "donut-opacity": !0,
1309
+ "donut-behind": t !== A.value && A.value !== null
1310
+ }) }, [e.subtotal === null ? p("", !0) : (b(), m("g", At, [e.subtotal === 0 ? (b(), m("circle", {
1311
+ key: 0,
1312
+ cx: e.x,
1313
+ cy: e.y,
1314
+ r: 3,
1315
+ fill: B.value.color
1316
+ }, null, 8, jt)) : A.value !== null && A.value === t ? (b(), m("g", Mt, [(b(!0), m(u, null, S(e.donutHover, (e, t) => (b(), m("path", {
1317
+ d: e.arcSlice,
1318
+ fill: `${e.color}`,
1319
+ "stroke-width": 1,
1320
+ stroke: B.value.backgroundColor
1321
+ }, null, 8, Nt))), 256))])) : (b(), m("g", Pt, [(b(!0), m(u, null, S(e.donut, (e, t) => (b(), m("path", {
1322
+ d: e.arcSlice,
1323
+ fill: `${e.color}`,
1324
+ "stroke-width": .5,
1325
+ stroke: B.value.backgroundColor
1326
+ }, null, 8, Ft))), 256))]))]))], 2))), 256)),
1327
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1328
+ "donut-opacity": !0,
1329
+ "donut-behind": t !== A.value && A.value !== null || rn.value && t !== j.value.index
1330
+ }) }, [e.subtotal !== null && R.value.dataLabels.show ? (b(), m("text", {
1331
+ key: 0,
1332
+ "text-anchor": "middle",
1333
+ x: e.x,
1334
+ y: A.value === e.index && e.subtotal ? e.y + R.value.dataLabels.fontSize / 3 : e.y - e.radius - R.value.dataLabels.fontSize + R.value.dataLabels.offsetY,
1335
+ "font-size": R.value.dataLabels.fontSize,
1336
+ "font-weight": "bold",
1337
+ fill: R.value.dataLabels.color
1338
+ }, w(gr(e.subtotal, e, t)), 9, It)) : p("", !0)], 2))), 256)),
1339
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("rect", {
1340
+ x: K.value.left + t * X.value,
1341
+ y: K.value.top,
1342
+ width: X.value,
1343
+ height: K.value.height,
1344
+ fill: [A.value, br.value].includes(e.index) ? `url(#hover_${O.value})` : "transparent",
1345
+ class: v({ "donut-hover": V.value && e.subtotal && [A.value, br.value].includes(e.index) }),
1346
+ style: { pointerEvents: "none" }
1347
+ }, null, 10, Lt))), 256)),
1348
+ (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("rect", {
1349
+ "data-cy-trap": "",
1350
+ x: K.value.left + t * X.value,
1351
+ y: K.value.top,
1352
+ width: X.value,
1353
+ height: K.value.height,
1354
+ fill: "transparent",
1355
+ onMouseenter: (t) => yr(e),
1356
+ onMouseleave: (t) => vr(e),
1357
+ onClick: (n) => xr(e, t),
1358
+ class: v({ "donut-hover": V.value && A.value === e.index && e.subtotal })
1359
+ }, null, 42, Rt))), 256)),
1360
+ C(e.$slots, "svg", { svg: {
1361
+ ...K.value,
1362
+ isPrintingImg: T(er) || T(tr) || T(Zr),
1363
+ isPrintingSvg: T(Qr)
1364
+ } }, void 0, !0)
1365
+ ], 46, ct)), e.$slots.hint ? (b(), m("div", zt, [C(e.$slots, "hint", y(_({
1366
+ hint: I.value.a11y.translations.keyboardNavigation,
1367
+ isVisible: Pn.value
1368
+ })), void 0, !0)])) : p("", !0)]),
1369
+ e.$slots.watermark ? (b(), m("div", Bt, [C(e.$slots, "watermark", y(_({ isPrinting: T(er) || T(tr) || T(Zr) || T(Qr) })), void 0, !0)])) : p("", !0),
1370
+ h("div", {
1371
+ ref_key: "chartSlicer",
1372
+ ref: jn,
1373
+ style: Ye(`width:100%;background:${B.value.backgroundColor}`),
1374
+ "data-dom-to-png-ignore": ""
1375
+ }, [J.value > 1 && B.value.zoom.show ? (b(), f(Ie, {
1376
+ ref_key: "slicerComponent",
1377
+ ref: An,
1378
+ key: `slicer_${sn.value}`,
1379
+ background: B.value.zoom.color,
1380
+ borderColor: B.value.backgroundColor,
1381
+ fontSize: B.value.zoom.fontSize,
1382
+ useResetSlot: B.value.zoom.useResetSlot,
1383
+ timeLabels: Y.value,
1384
+ textColor: B.value.color,
1385
+ inputColor: B.value.zoom.color,
1386
+ selectColor: B.value.zoom.highlightColor,
1387
+ max: J.value,
1388
+ min: 0,
1389
+ valueStart: H.value.start,
1390
+ valueEnd: H.value.end,
1391
+ start: H.value.start,
1392
+ "onUpdate:start": n[0] ||= (e) => H.value.start = e,
1393
+ end: H.value.end,
1394
+ "onUpdate:end": n[1] ||= (e) => H.value.end = e,
1395
+ refreshStartPoint: B.value.zoom.startIndex === null ? 0 : B.value.zoom.startIndex,
1396
+ refreshEndPoint: B.value.zoom.endIndex === null ? J.value : B.value.zoom.endIndex + 1,
1397
+ enableRangeHandles: B.value.zoom.enableRangeHandles,
1398
+ enableSelectionDrag: B.value.zoom.enableSelectionDrag,
1399
+ focusOnDrag: B.value.zoom.focusOnDrag,
1400
+ focusRangeRatio: B.value.zoom.focusRangeRatio,
1401
+ isCursorPointer: V.value,
1402
+ maxWidth: B.value.zoom.maxWidth,
1403
+ minimapLeftInsetRatio: K.value.absoluteWidth > 0 && B.value.zoom.autoFit ? K.value.left / K.value.absoluteWidth : null,
1404
+ minimapRightInsetRatio: K.value.absoluteWidth > 0 && B.value.zoom.autoFit ? (K.value.absoluteWidth - K.value.right) / K.value.absoluteWidth : null,
1405
+ onReset: Kn
1406
+ }, {
1407
+ "reset-action": E(({ reset: t }) => [C(e.$slots, "reset-action", y(_({ 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
+ ])) : p("", !0)], 4),
1434
+ h("div", { id: `legend-bottom-${O.value}` }, null, 8, Vt),
1435
+ hn.value && (B.value.legend.show || e.$slots.legend) ? (b(), f(Ue, {
1436
+ key: 6,
1437
+ to: B.value.legend.position === "top" ? `#legend-top-${O.value}` : `#legend-bottom-${O.value}`
1438
+ }, [h("div", {
1439
+ ref_key: "chartLegend",
1440
+ ref: On
1441
+ }, [C(e.$slots, "legend", { legend: Sr.value }, () => [B.value.legend.show ? (b(), f(Ve, {
1442
+ key: `legend_${un.value}`,
1443
+ legendSet: Sr.value,
1444
+ config: wr.value,
1445
+ onClickMarker: n[2] ||= ({ legend: e }) => Er(e.uid)
1446
+ }, {
1447
+ item: E(({ legend: e, index: t }) => [h("div", {
1448
+ onClick: (t) => Er(e.uid),
1449
+ style: Ye(`opacity:${k.value.includes(e.uid) ? .5 : 1}`)
1450
+ }, w(e.display), 13, Ht)]),
1451
+ legendToggle: E(() => [Sr.value.length > 2 && B.value.legend.selectAllToggle.show && !T(Vn) ? (b(), f(Le, {
1452
+ key: 0,
1453
+ backgroundColor: B.value.legend.selectAllToggle.backgroundColor,
1454
+ color: B.value.legend.selectAllToggle.color,
1455
+ fontSize: B.value.legend.fontSize,
1456
+ checked: k.value.length > 0,
1457
+ onToggle: Tr
1458
+ }, null, 8, [
1459
+ "backgroundColor",
1460
+ "color",
1461
+ "fontSize",
1462
+ "checked"
1463
+ ])) : p("", !0)]),
1464
+ _: 1
1465
+ }, 8, ["legendSet", "config"])) : p("", !0)], !0)], 512)], 8, ["to"])) : p("", !0),
1466
+ e.$slots.source ? (b(), m("div", {
1467
+ key: 7,
1468
+ ref_key: "source",
1469
+ ref: kn,
1470
+ dir: "auto"
1471
+ }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : p("", !0),
1472
+ In.value && I.value.userOptions.buttons.table ? (b(), f(Qe(Gr.value.component), qe({ key: 8 }, Gr.value.props, {
1473
+ ref_key: "tableUnit",
1474
+ ref: gn,
1475
+ onClose: Kr
1476
+ }), We({
1477
+ content: E(() => [(b(), f(T(qt), {
1478
+ key: `table_${ln.value}`,
1479
+ colNames: $.value.colNames,
1480
+ head: $.value.head,
1481
+ body: $.value.body,
1482
+ config: $.value.config,
1483
+ title: I.value.table.useDialog ? "" : Gr.value.title,
1484
+ withCloseButton: !I.value.table.useDialog,
1485
+ isCursorPointer: V.value,
1486
+ onClose: Kr
1487
+ }, {
1488
+ th: E(({ th: e }) => [Ge(w(e.name ?? e), 1)]),
1489
+ td: E(({ td: e }) => [e.value === null ? (b(), m("span", Ut, "-")) : (b(), m("b", Wt, w(isNaN(e.value) ? "" : R.value.dataLabels.prefix) + w(!isNaN(e.value) && e.value !== null ? Number(e.value.toFixed(I.value.table.td.roundingValue)).toLocaleString() : e) + w(isNaN(e.value) ? "" : R.value.dataLabels.suffix), 1)), h("span", null, w(e.percentage && !isNaN(e.percentage) ? `(${Number(e.percentage.toFixed(I.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
+ }, [I.value.table.useDialog ? {
1502
+ name: "title",
1503
+ fn: E(() => [Ge(w(Gr.value.title), 1)]),
1504
+ key: "0"
1505
+ } : void 0, I.value.table.useDialog ? {
1506
+ name: "actions",
1507
+ fn: E(() => [h("button", {
1508
+ tabindex: "0",
1509
+ class: "vue-ui-user-options-button",
1510
+ onClick: n[3] ||= (e) => jr(I.value.userOptions.callbacks.csv),
1511
+ style: Ye({ cursor: V.value ? "cursor" : "default" })
1512
+ }, [Ke(T(Kt), {
1513
+ name: "fileCsv",
1514
+ stroke: Gr.value.props.color
1515
+ }, null, 8, ["stroke"])], 4)]),
1516
+ key: "1"
1517
+ } : void 0]), 1040)) : p("", !0),
1518
+ z.value.show ? (b(), f(T(Qt), {
1519
+ key: 9,
1520
+ ref_key: "dialog",
1521
+ ref: Br,
1522
+ onClose: n[4] ||= (e) => {
1523
+ j.value = null, rn.value = !1, nn.value = null, A.value = null, br.value = null;
1524
+ },
1525
+ backgroundColor: z.value.backgroundColor,
1526
+ color: z.value.color,
1527
+ headerBg: z.value.header.backgroundColor,
1528
+ headerColor: z.value.header.color,
1529
+ isFullscreen: Mr.value,
1530
+ fullscreenParent: M.value
1531
+ }, {
1532
+ title: E(() => [Ge(w(Y.value[Number(j.value.index)] ? Y.value[Number(j.value.index)].text : ""), 1)]),
1533
+ content: E(() => [j.value ? (b(), f(T(Zt), {
1534
+ key: 0,
1535
+ config: zr.value,
1536
+ dataset: Rr.value
1537
+ }, null, 8, ["config", "dataset"])) : p("", !0)]),
1538
+ _: 1
1539
+ }, 8, [
1540
+ "backgroundColor",
1541
+ "color",
1542
+ "headerBg",
1543
+ "headerColor",
1544
+ "isFullscreen",
1545
+ "fullscreenParent"
1546
+ ])) : p("", !0),
1547
+ T(Vn) ? (b(), f(Ce, { key: 10 })) : p("", !0)
1548
+ ], 46, it));
1549
+ }
1550
+ }, [["__scopeId", "data-v-5e237272"]]);
1551
+ //#endregion
1552
+ export { rt as n, Gt as t };