vue-data-ui 3.25.5 → 3.25.6

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