vue-data-ui 3.22.6 → 3.22.7

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 (191) hide show
  1. package/dist/{Arrow-Ds4xmpiQ.js → Arrow-DaGI9u-b.js} +1 -1
  2. package/dist/{BaseDraggableDialog-VbypEaAa.js → BaseDraggableDialog-1wwwdwV2.js} +2 -2
  3. package/dist/{BaseIcon-DcUvOfxf.js → BaseIcon-_-BX7be3.js} +1 -1
  4. package/dist/{BaseLegendToggle-DFwIY5bE.js → BaseLegendToggle-CHnlKalt.js} +1 -1
  5. package/dist/{BaseZoomControls-DwolSINF.js → BaseZoomControls-C9bdZSCj.js} +2 -2
  6. package/dist/{ColorPicker-UVDPcrjE.js → ColorPicker-TB3KhY3j.js} +2 -2
  7. package/dist/{DataTable-CXfvIulC.js → DataTable-CVF7DoZn.js} +2 -2
  8. package/dist/{Legend-D-635Kag.js → Legend-kAr7Vqqu.js} +2 -2
  9. package/dist/{NonSvgPenAndPaper-pR_1qp3s.js → NonSvgPenAndPaper-CEiv7_gM.js} +29 -29
  10. package/dist/{PackageVersion-Da7hl-34.js → PackageVersion-Dse0n05o.js} +1 -1
  11. package/dist/{PenAndPaper-Bk2-E7V4.js → PenAndPaper-gaV1QPpP.js} +18 -18
  12. package/dist/{Shape-BSetplwm.js → Shape-CiQIxyyT.js} +1 -1
  13. package/dist/{Slicer-ClIGOuoX.js → Slicer-6FOtg9py.js} +2 -2
  14. package/dist/{SlicerPreview-D1n9AW39.js → SlicerPreview-DUywypFu.js} +4 -4
  15. package/dist/{SparkTooltip-CjDAyolg.js → SparkTooltip-B-qsPj68.js} +1 -1
  16. package/dist/{Title-C-p0ilWB.js → Title-PiTKr6sp.js} +1 -1
  17. package/dist/{Tooltip-YabpoXo1.js → Tooltip-B8yYfISA.js} +1 -1
  18. package/dist/{UserOptions-BO4VFL8O.js → UserOptions-BL9VlHop.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-history-plot.js +1 -1
  46. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  47. package/dist/components/vue-ui-icon.js +1 -1
  48. package/dist/components/vue-ui-kpi.js +1 -1
  49. package/dist/components/vue-ui-mini-loader.js +1 -1
  50. package/dist/components/vue-ui-molecule.js +1 -1
  51. package/dist/components/vue-ui-mood-radar.js +1 -1
  52. package/dist/components/vue-ui-nested-donuts.js +1 -1
  53. package/dist/components/vue-ui-onion.js +1 -1
  54. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  55. package/dist/components/vue-ui-quadrant.js +1 -1
  56. package/dist/components/vue-ui-quick-chart.js +1 -1
  57. package/dist/components/vue-ui-radar.js +1 -1
  58. package/dist/components/vue-ui-rating.js +1 -1
  59. package/dist/components/vue-ui-relation-circle.js +1 -1
  60. package/dist/components/vue-ui-ridgeline.js +1 -1
  61. package/dist/components/vue-ui-rings.js +1 -1
  62. package/dist/components/vue-ui-scatter.js +1 -1
  63. package/dist/components/vue-ui-skeleton.js +1 -1
  64. package/dist/components/vue-ui-smiley.js +1 -1
  65. package/dist/components/vue-ui-spark-trend.js +1 -1
  66. package/dist/components/vue-ui-sparkbar.js +1 -1
  67. package/dist/components/vue-ui-sparkgauge.js +1 -1
  68. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  69. package/dist/components/vue-ui-sparkline.js +1 -1
  70. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  71. package/dist/components/vue-ui-stackbar.js +1 -1
  72. package/dist/components/vue-ui-stackline.js +1 -1
  73. package/dist/components/vue-ui-strip-plot.js +1 -1
  74. package/dist/components/vue-ui-table-heatmap.js +1 -1
  75. package/dist/components/vue-ui-table-sparkline.js +1 -1
  76. package/dist/components/vue-ui-table.js +1 -1
  77. package/dist/components/vue-ui-thermometer.js +1 -1
  78. package/dist/components/vue-ui-timer.js +1 -1
  79. package/dist/components/vue-ui-tiremarks.js +1 -1
  80. package/dist/components/vue-ui-treemap.js +1 -1
  81. package/dist/components/vue-ui-vertical-bar.js +1 -1
  82. package/dist/components/vue-ui-waffle.js +1 -1
  83. package/dist/components/vue-ui-wheel.js +1 -1
  84. package/dist/components/vue-ui-word-cloud.js +1 -1
  85. package/dist/components/vue-ui-world.js +1 -1
  86. package/dist/components/vue-ui-xy-canvas.js +1 -1
  87. package/dist/components/vue-ui-xy.js +1 -1
  88. package/dist/{dom-to-png-CVJfsfwL.js → dom-to-png-BZjYWNEg.js} +1 -1
  89. package/dist/exposedLib-Be0ifkti.js +19 -0
  90. package/dist/{img-B_y5qDdm.js → img-B_abIg0o.js} +1 -1
  91. package/dist/{labelUtils-CyVwqXSh.js → labelUtils-CTDRZdP1.js} +1 -1
  92. package/dist/{lib-DRBJCmHW.js → lib-EAmk-PgA.js} +14 -1
  93. package/dist/{package-DyQ_PQis.js → package-DeMimPej.js} +1 -1
  94. package/dist/{pdf-CG02qhAH.js → pdf-B6qrdEqB.js} +1 -1
  95. package/dist/{render-common-CUAlQvAQ.js → render-common-DMai0gHB.js} +2 -2
  96. package/dist/ssr/vue-ui-donut.js +1 -1
  97. package/dist/ssr/vue-ui-xy.js +1 -1
  98. package/dist/ssr.js +2 -2
  99. package/dist/style.css +1 -1
  100. package/dist/{useAutoSizeLabelsInsideViewbox-DPMOys9n.js → useAutoSizeLabelsInsideViewbox-CyOGrdD_.js} +1 -1
  101. package/dist/{useNestedProp-BEo2N1Db.js → useNestedProp-D8XqxgOU.js} +1 -1
  102. package/dist/{usePrinter-CRp5IW3v.js → usePrinter-DnGzpp6Q.js} +2 -2
  103. package/dist/utils.js +10 -10
  104. package/dist/{vue-data-ui-Bpu4kxlm.js → vue-data-ui-D6qVWloL.js} +68 -68
  105. package/dist/vue-data-ui.js +72 -72
  106. package/dist/vue-ui-3d-bar-CjNuWXoA.js +1757 -0
  107. package/dist/{vue-ui-accordion-CfMrbDoq.js → vue-ui-accordion-Dzz8XhX3.js} +3 -3
  108. package/dist/{vue-ui-age-pyramid-BF5ZuuyI.js → vue-ui-age-pyramid-CC7Dxli-.js} +21 -21
  109. package/dist/{vue-ui-annotator-CG6rhFpy.js → vue-ui-annotator-DXZumSP8.js} +67 -67
  110. package/dist/{vue-ui-bullet-C_oBS1cr.js → vue-ui-bullet-Dde6FhbR.js} +17 -17
  111. package/dist/{vue-ui-bump-BZB1Na8h.js → vue-ui-bump-C5pni1JV.js} +243 -243
  112. package/dist/{vue-ui-candlestick-8d_1xO8X.js → vue-ui-candlestick-Ctw65O4_.js} +449 -446
  113. package/dist/{vue-ui-carousel-table-BfZNcwmY.js → vue-ui-carousel-table-BEUvhUH0.js} +42 -42
  114. package/dist/vue-ui-chestnut-C3IbAdkQ.js +2010 -0
  115. package/dist/vue-ui-chord-5eCWG4br.js +1391 -0
  116. package/dist/{vue-ui-circle-pack-BLh8HnGK.js → vue-ui-circle-pack-Cq4lkmee.js} +31 -31
  117. package/dist/{vue-ui-cursor-DVsEm_4l.js → vue-ui-cursor-DLJcFwRZ.js} +3 -3
  118. package/dist/{vue-ui-dag-Cfi0b9qm.js → vue-ui-dag-DemsIecS.js} +23 -23
  119. package/dist/{vue-ui-dashboard-F_NZ1xoQ.js → vue-ui-dashboard-DWHD_wNN.js} +69 -69
  120. package/dist/{vue-ui-digits-BfP1kbj3.js → vue-ui-digits-sIKc85vS.js} +3 -3
  121. package/dist/{vue-ui-donut-BwAyvV3-.js → vue-ui-donut-CLheJPcO.js} +414 -414
  122. package/dist/{vue-ui-donut-DlVRnVr_.js → vue-ui-donut-Dp6GW0dw.js} +85 -85
  123. package/dist/{vue-ui-donut-evolution-D1k4u6cA.js → vue-ui-donut-evolution-zmRPpJLj.js} +419 -419
  124. package/dist/vue-ui-dumbbell-bSbgHd0U.js +1530 -0
  125. package/dist/{vue-ui-flow-D_7Idmmw.js → vue-ui-flow-q_M7O1BK.js} +83 -83
  126. package/dist/vue-ui-funnel-BEZUEuuh.js +777 -0
  127. package/dist/{vue-ui-galaxy-Bjxbg5_B.js → vue-ui-galaxy-DCCWmIyH.js} +250 -250
  128. package/dist/{vue-ui-gauge-Dt0H7DgC.js → vue-ui-gauge-B1ljgfE1.js} +216 -216
  129. package/dist/{vue-ui-geo-89DEQb5l.js → vue-ui-geo-CM59rpnj.js} +17 -17
  130. package/dist/{vue-ui-gizmo-CQyLK18v.js → vue-ui-gizmo-D2RL6IVp.js} +62 -62
  131. package/dist/{vue-ui-heatmap-o6MvoxBK.js → vue-ui-heatmap-BX6PQxML.js} +245 -245
  132. package/dist/vue-ui-history-plot-DaHAeQph.js +1715 -0
  133. package/dist/{vue-ui-horizontal-bar-CwB4sc6M.js → vue-ui-horizontal-bar-CTW6l4n3.js} +274 -274
  134. package/dist/{vue-ui-kpi-4C-j92D-.js → vue-ui-kpi-DLbP7lJR.js} +3 -3
  135. package/dist/{vue-ui-mini-loader-Bj4Wv-i8.js → vue-ui-mini-loader-DPHzHsM7.js} +2 -2
  136. package/dist/vue-ui-molecule-aD0SMTiX.js +925 -0
  137. package/dist/{vue-ui-mood-radar-B5W35Fvp.js → vue-ui-mood-radar-CCWaPr0P.js} +29 -29
  138. package/dist/{vue-ui-nested-donuts-wfesrzle.js → vue-ui-nested-donuts--BCPWkl7.js} +104 -104
  139. package/dist/{vue-ui-onion-B8-psLbF.js → vue-ui-onion-s4iMCGAP.js} +39 -39
  140. package/dist/vue-ui-parallel-coordinate-plot-CfgvpyoC.js +1416 -0
  141. package/dist/vue-ui-quadrant-T_UmRAAy.js +1978 -0
  142. package/dist/vue-ui-quick-chart-D1OWBgQJ.js +2469 -0
  143. package/dist/{vue-ui-radar-5fQ5AAWD.js → vue-ui-radar-CHjeGOMC.js} +78 -78
  144. package/dist/{vue-ui-rating-CKWHDKOT.js → vue-ui-rating-Bek8Tgr-.js} +33 -33
  145. package/dist/vue-ui-relation-circle-DRZGQ_UX.js +924 -0
  146. package/dist/{vue-ui-ridgeline-DVbYznRz.js → vue-ui-ridgeline-DIODGiu8.js} +101 -101
  147. package/dist/vue-ui-rings-CcdUSXGG.js +1246 -0
  148. package/dist/vue-ui-scatter-CixnqLoi.js +2413 -0
  149. package/dist/{vue-ui-skeleton-BkxB6Dik.js → vue-ui-skeleton-Fmue6DAG.js} +3 -3
  150. package/dist/{vue-ui-smiley-C4g0iaF7.js → vue-ui-smiley-BVMI5vUy.js} +9 -9
  151. package/dist/{vue-ui-spark-trend-0FELlq4x.js → vue-ui-spark-trend-DfZeLiWA.js} +98 -98
  152. package/dist/{vue-ui-sparkbar-D-i_VLO6.js → vue-ui-sparkbar-Cl1e49sw.js} +87 -87
  153. package/dist/{vue-ui-sparkgauge-CWw6w_ng.js → vue-ui-sparkgauge-DDNNBIdf.js} +48 -48
  154. package/dist/{vue-ui-sparkhistogram-DuGpkfma.js → vue-ui-sparkhistogram-ny_liYa6.js} +104 -104
  155. package/dist/{vue-ui-sparkline-Bi06lHQd.js → vue-ui-sparkline-BNxdO-Bx.js} +268 -268
  156. package/dist/vue-ui-sparkstackbar-BfF5-Wg2.js +662 -0
  157. package/dist/vue-ui-stackbar-B-2Me3d-.js +2332 -0
  158. package/dist/{vue-ui-stackline-C0NHBUaE.js → vue-ui-stackline-CdvVPQUM.js} +697 -694
  159. package/dist/{vue-ui-strip-plot-_6LL45i9.js → vue-ui-strip-plot-CRXPXA5V.js} +368 -368
  160. package/dist/{vue-ui-table-DBlZswRi.js → vue-ui-table-Dr1dK3d_.js} +25 -25
  161. package/dist/{vue-ui-table-heatmap-3xYIDKcP.js → vue-ui-table-heatmap-D-Qrm3oX.js} +5 -5
  162. package/dist/{vue-ui-table-sparkline-BH5PzEnJ.js → vue-ui-table-sparkline-C31Q32My.js} +201 -201
  163. package/dist/{vue-ui-thermometer-BxMzAqoT.js → vue-ui-thermometer-BUrtIfuo.js} +119 -119
  164. package/dist/{vue-ui-timer-ONSitYDm.js → vue-ui-timer-B5bkNNHS.js} +29 -29
  165. package/dist/{vue-ui-tiremarks-DWXM-9nR.js → vue-ui-tiremarks-Bn8b-ZSz.js} +14 -14
  166. package/dist/vue-ui-treemap-LMWiicop.js +1713 -0
  167. package/dist/{vue-ui-waffle-afa8HSxz.js → vue-ui-waffle-B_L3gkky.js} +306 -306
  168. package/dist/{vue-ui-wheel-DRP7X8S2.js → vue-ui-wheel-CeVwXtEX.js} +36 -36
  169. package/dist/{vue-ui-word-cloud-AKpMO97a.js → vue-ui-word-cloud-D81-qJLw.js} +37 -37
  170. package/dist/{vue-ui-world-CqS-HhZl.js → vue-ui-world-B7npRmTa.js} +399 -399
  171. package/dist/{vue-ui-xy-Bmd11BxR.js → vue-ui-xy-C2p9H2IX.js} +1438 -1436
  172. package/dist/{vue-ui-xy-DJ8YKPgs.js → vue-ui-xy-OhwS0kcZ.js} +218 -218
  173. package/dist/{vue-ui-xy-canvas-DO_PDGKf.js → vue-ui-xy-canvas-DLKDdH35.js} +420 -417
  174. package/package.json +1 -1
  175. package/dist/exposedLib-CjwriUaG.js +0 -19
  176. package/dist/vue-ui-3d-bar-BAH0jNtT.js +0 -1757
  177. package/dist/vue-ui-chestnut-Cx8T3NEl.js +0 -2010
  178. package/dist/vue-ui-chord-B-sauvLo.js +0 -1391
  179. package/dist/vue-ui-dumbbell-DgmvPpK2.js +0 -1530
  180. package/dist/vue-ui-funnel-BYCFV5TD.js +0 -777
  181. package/dist/vue-ui-history-plot-B7zuCfdg.js +0 -1715
  182. package/dist/vue-ui-molecule-BDrRmwmm.js +0 -925
  183. package/dist/vue-ui-parallel-coordinate-plot-DBpHCFxa.js +0 -1416
  184. package/dist/vue-ui-quadrant-BzyGOJR2.js +0 -1978
  185. package/dist/vue-ui-quick-chart-so_8PzvS.js +0 -2469
  186. package/dist/vue-ui-relation-circle-Bd_ONHCz.js +0 -924
  187. package/dist/vue-ui-rings-c-yLWFHr.js +0 -1246
  188. package/dist/vue-ui-scatter-QhmE7n1H.js +0 -2413
  189. package/dist/vue-ui-sparkstackbar-DrKgBUmt.js +0 -662
  190. package/dist/vue-ui-stackbar-DDvuDGQ_.js +0 -2329
  191. package/dist/vue-ui-treemap-B03c4RIy.js +0 -1713
@@ -0,0 +1,2469 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { Et as t, Ft as n, Gt as r, H as i, Ot as a, Q as o, S as s, Ut as c, W as l, at as ee, b as te, d as u, h as d, i as f, j as p, jt as m, p as ne, q as h, t as re, u as ie, v as g, vt as ae } from "./lib-EAmk-PgA.js";
3
+ import { t as oe } from "./useTimeLabels-BmBRv27Y.js";
4
+ import { t as se } from "./useConfig-DYM3f6EI.js";
5
+ import { t as ce } from "./usePrinter-DnGzpp6Q.js";
6
+ import { n as le, t as ue } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as de } from "./useSvgExport-SVIsDot8.js";
8
+ import { t as fe } from "./useNestedProp-D8XqxgOU.js";
9
+ import { t as pe } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as me } from "./useTimeLabelCollider-AEcY4Ioe.js";
11
+ import { t as he } from "./img-B_abIg0o.js";
12
+ import { t as ge } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { c as _e } from "./canvas-lib-BOP_HS11.js";
14
+ import { t as ve } from "./useResponsive-BfnK0KxU.js";
15
+ import { t as ye } from "./BaseLegendToggle-CHnlKalt.js";
16
+ import { t as be } from "./A11yDataTable-DdRsVULz.js";
17
+ import { t as xe } from "./useChartAccessibility-DYqac8yF.js";
18
+ import { t as Se } from "./Slicer-6FOtg9py.js";
19
+ import { t as Ce } from "./vue_ui_quick_chart-mZBdml3Z.js";
20
+ import { Fragment as _, Teleport as we, computed as v, createBlock as Te, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createSlots as Ee, createVNode as De, defineAsyncComponent as Oe, guardReactiveProps as S, mergeProps as ke, nextTick as Ae, normalizeClass as je, normalizeProps as C, normalizeStyle as w, onBeforeUnmount as Me, onMounted as Ne, openBlock as T, ref as E, renderList as D, renderSlot as O, shallowRef as Pe, toDisplayString as k, toRefs as Fe, unref as A, watch as Ie, watchEffect as Le, withCtx as j } from "vue";
21
+ //#region src/chartDetector.js
22
+ var M = {
23
+ LINE: "LINE",
24
+ BAR: "BAR",
25
+ DONUT: "DONUT"
26
+ }, Re = [
27
+ "SERIE",
28
+ "SERIES",
29
+ "DATA",
30
+ "VALUE",
31
+ "VALUES",
32
+ "NUM"
33
+ ];
34
+ function ze({ dataset: e, barLineSwitch: t = 6, debug: n = !0 }) {
35
+ let r = null, i = null, a = 0;
36
+ if ((typeof e == "number" || typeof e == "string") && n && console.warn(`The provided dataset (${e}) is not sufficient to build a chart`), Ve(e) && (N(e) && (r = e.length < t ? M.BAR : M.LINE, i = e, a = e.length), He(e))) {
37
+ if (!We(e)) return n && console.warn("The objects in the dataset array have a different data structure. Either keys or value types are different."), !1;
38
+ let o = Object.keys(e[0]), s = Object.values(e[0]);
39
+ if (!o.some((e) => Ge(e))) return n && console.warn("The data type of the dataset objects in the array must contain one of the following keys: DATA, SERIES, VALUE, VALUES, NUM. Casing is not important."), !1;
40
+ Ke(s, (e) => typeof e == "number") && (r = M.DONUT, i = e), Ke(s, (e) => Array.isArray(e) && N(e)) && (r = qe(e) > t ? M.LINE : M.BAR, a = qe(e), i = e.map((e) => ({
41
+ ...e,
42
+ data: Je(e, (e) => N(e))
43
+ }))), e = e.map((e) => P(e)), i = i.map((e) => P(e));
44
+ }
45
+ return {
46
+ dataset: e,
47
+ type: r,
48
+ usableDataset: i,
49
+ maxSeriesLength: a
50
+ };
51
+ }
52
+ function Be(e) {
53
+ return !e || Ve(e) && !e.length;
54
+ }
55
+ function Ve(e) {
56
+ return Array.isArray(e);
57
+ }
58
+ function N(e) {
59
+ if (!Ve(e) || Be(e)) return !1;
60
+ let t = e.map((e) => Number(e));
61
+ return ![...new Set(t.flatMap((e) => typeof e == "number" && !isNaN(e)))].includes(!1);
62
+ }
63
+ function He(e) {
64
+ return !Ve(e) || Be(e) || [...new Set(e.flatMap((e) => typeof e == "object" && !Array.isArray(e)))].includes(!1) ? !1 : !e.map((e) => Object.keys(e).length > 0).includes(!1);
65
+ }
66
+ function Ue(e, t) {
67
+ let n = Object.keys(e).sort(), r = Object.keys(t).sort();
68
+ if (n.length !== r.length) return !1;
69
+ for (let i = 0; i < n.length; i += 1) {
70
+ let a = n[i], o = r[i];
71
+ if (a !== o || typeof e[a] != typeof t[o]) return !1;
72
+ }
73
+ return !0;
74
+ }
75
+ function We(e) {
76
+ if (e.length <= 1) return !0;
77
+ for (let t = 0; t < e.length; t += 1) for (let n = t + 1; n < e.length; n += 1) if (!Ue(e[t], e[n])) return !1;
78
+ return !0;
79
+ }
80
+ function Ge(e) {
81
+ return Re.includes(e.toUpperCase());
82
+ }
83
+ function Ke(e, t) {
84
+ let n = [];
85
+ for (let r = 0; r < e.length; r += 1) n.push(t(e[r]));
86
+ return n.includes(!0);
87
+ }
88
+ function qe(e) {
89
+ return Math.max(...[...e].flatMap((e) => Object.values(e).filter((e) => N(e)).map((e) => e.length)));
90
+ }
91
+ function Je(e, t) {
92
+ return Object.values(e).filter((e) => t(e))[0];
93
+ }
94
+ function P(e) {
95
+ let t = {};
96
+ for (let n in e) e.hasOwnProperty(n) && (t[n.toUpperCase()] = e[n]);
97
+ return t;
98
+ }
99
+ //#endregion
100
+ //#region src/components/vue-ui-quick-chart.vue
101
+ var F = /* @__PURE__ */ e({ default: () => wn }), Ye = ["id"], Xe = ["id"], Ze = ["id"], Qe = { style: { position: "relative" } }, $e = [
102
+ "xmlns",
103
+ "aria-describedby",
104
+ "viewBox"
105
+ ], et = [
106
+ "x",
107
+ "y",
108
+ "width",
109
+ "height"
110
+ ], tt = [
111
+ "x",
112
+ "y",
113
+ "width",
114
+ "height"
115
+ ], nt = ["width", "height"], rt = ["id"], it = ["id"], at = ["id"], ot = ["flood-color"], st = {
116
+ key: 0,
117
+ class: "donut-label-connectors"
118
+ }, ct = [
119
+ "d",
120
+ "stroke",
121
+ "stroke-width",
122
+ "filter"
123
+ ], lt = [
124
+ "cx",
125
+ "cy",
126
+ "r",
127
+ "fill",
128
+ "filter"
129
+ ], ut = { class: "donut" }, dt = [
130
+ "d",
131
+ "fill",
132
+ "stroke",
133
+ "stroke-width",
134
+ "filter"
135
+ ], ft = [
136
+ "d",
137
+ "onMouseenter",
138
+ "onMouseout",
139
+ "onClick"
140
+ ], pt = {
141
+ key: 1,
142
+ class: "donut-labels quick-animation"
143
+ }, mt = [
144
+ "cx",
145
+ "cy",
146
+ "fill",
147
+ "stroke",
148
+ "filter"
149
+ ], ht = [
150
+ "text-anchor",
151
+ "x",
152
+ "y",
153
+ "fill",
154
+ "font-size",
155
+ "filter"
156
+ ], gt = [
157
+ "text-anchor",
158
+ "x",
159
+ "y",
160
+ "fill",
161
+ "font-size",
162
+ "filter"
163
+ ], _t = {
164
+ key: 2,
165
+ class: "donut-hollow quick-animation"
166
+ }, vt = [
167
+ "x",
168
+ "y",
169
+ "font-size",
170
+ "fill"
171
+ ], yt = [
172
+ "x",
173
+ "y",
174
+ "font-size",
175
+ "fill"
176
+ ], bt = {
177
+ key: 0,
178
+ class: "line-grid"
179
+ }, xt = [
180
+ "x1",
181
+ "x2",
182
+ "y1",
183
+ "y2",
184
+ "stroke",
185
+ "stroke-width"
186
+ ], St = [
187
+ "x1",
188
+ "x2",
189
+ "y1",
190
+ "y2",
191
+ "stroke",
192
+ "stroke-width"
193
+ ], Ct = {
194
+ key: 1,
195
+ class: "line-axis"
196
+ }, wt = [
197
+ "x1",
198
+ "x2",
199
+ "y1",
200
+ "y2",
201
+ "stroke",
202
+ "stroke-width"
203
+ ], Tt = [
204
+ "x1",
205
+ "x2",
206
+ "y1",
207
+ "y2",
208
+ "stroke",
209
+ "stroke-width"
210
+ ], Et = [
211
+ "x1",
212
+ "x2",
213
+ "y1",
214
+ "y2",
215
+ "stroke",
216
+ "stroke-width"
217
+ ], Dt = [
218
+ "x",
219
+ "y",
220
+ "font-size",
221
+ "fill"
222
+ ], Ot = {
223
+ key: 3,
224
+ class: "periodLabels"
225
+ }, kt = [
226
+ "x1",
227
+ "x2",
228
+ "y1",
229
+ "y2",
230
+ "stroke",
231
+ "stroke-width"
232
+ ], At = { key: 0 }, jt = [
233
+ "font-size",
234
+ "text-anchor",
235
+ "fill",
236
+ "transform"
237
+ ], Mt = [
238
+ "font-size",
239
+ "text-anchor",
240
+ "fill",
241
+ "transform",
242
+ "innerHTML"
243
+ ], Nt = { class: "plots" }, Pt = { class: "line-plot-series" }, Ft = [
244
+ "d",
245
+ "stroke",
246
+ "stroke-width"
247
+ ], It = [
248
+ "d",
249
+ "stroke",
250
+ "stroke-width"
251
+ ], Lt = [
252
+ "d",
253
+ "stroke",
254
+ "stroke-width"
255
+ ], Rt = [
256
+ "d",
257
+ "stroke",
258
+ "stroke-width"
259
+ ], zt = [
260
+ "cx",
261
+ "cy",
262
+ "fill",
263
+ "stroke"
264
+ ], Bt = {
265
+ key: 4,
266
+ class: "dataLabels"
267
+ }, Vt = [
268
+ "font-size",
269
+ "fill",
270
+ "x",
271
+ "y"
272
+ ], Ht = {
273
+ key: 5,
274
+ class: "tooltip-traps"
275
+ }, Ut = [
276
+ "x",
277
+ "y",
278
+ "height",
279
+ "width",
280
+ "fill",
281
+ "onMouseenter",
282
+ "onMouseleave",
283
+ "onClick"
284
+ ], Wt = {
285
+ key: 0,
286
+ class: "line-grid"
287
+ }, Gt = [
288
+ "x1",
289
+ "x2",
290
+ "y1",
291
+ "y2",
292
+ "stroke",
293
+ "stroke-width"
294
+ ], Kt = [
295
+ "x1",
296
+ "x2",
297
+ "y1",
298
+ "y2",
299
+ "stroke",
300
+ "stroke-width"
301
+ ], qt = {
302
+ key: 1,
303
+ class: "line-axis"
304
+ }, Jt = [
305
+ "x1",
306
+ "x2",
307
+ "y1",
308
+ "y2",
309
+ "stroke",
310
+ "stroke-width"
311
+ ], Yt = [
312
+ "x1",
313
+ "x2",
314
+ "y1",
315
+ "y2",
316
+ "stroke",
317
+ "stroke-width"
318
+ ], Xt = [
319
+ "x1",
320
+ "x2",
321
+ "y1",
322
+ "y2",
323
+ "stroke",
324
+ "stroke-width"
325
+ ], Zt = [
326
+ "x",
327
+ "y",
328
+ "font-size",
329
+ "fill"
330
+ ], Qt = {
331
+ key: 3,
332
+ class: "periodLabels"
333
+ }, $t = [
334
+ "x1",
335
+ "x2",
336
+ "y1",
337
+ "y2",
338
+ "stroke",
339
+ "stroke-width"
340
+ ], en = { key: 0 }, tn = [
341
+ "font-size",
342
+ "text-anchor",
343
+ "fill",
344
+ "transform"
345
+ ], nn = [
346
+ "font-size",
347
+ "text-anchor",
348
+ "fill",
349
+ "transform",
350
+ "innerHTML"
351
+ ], rn = { class: "plots" }, an = [
352
+ "x",
353
+ "width",
354
+ "height",
355
+ "y",
356
+ "fill",
357
+ "stroke",
358
+ "stroke-width"
359
+ ], on = ["to"], sn = ["from", "to"], cn = {
360
+ key: 4,
361
+ class: "dataLabels"
362
+ }, ln = [
363
+ "x",
364
+ "y",
365
+ "font-size",
366
+ "fill"
367
+ ], un = {
368
+ key: 5,
369
+ class: "tooltip-traps"
370
+ }, dn = [
371
+ "x",
372
+ "y",
373
+ "height",
374
+ "width",
375
+ "fill",
376
+ "onMouseenter",
377
+ "onMouseleave",
378
+ "onClick"
379
+ ], fn = {
380
+ key: 6,
381
+ class: "axis-labels"
382
+ }, pn = [
383
+ "font-size",
384
+ "fill",
385
+ "x",
386
+ "y"
387
+ ], mn = [
388
+ "font-size",
389
+ "fill",
390
+ "x",
391
+ "y"
392
+ ], hn = [
393
+ "font-size",
394
+ "fill",
395
+ "transform"
396
+ ], gn = [
397
+ "font-size",
398
+ "fill",
399
+ "transform"
400
+ ], _n = {
401
+ key: 1,
402
+ style: {
403
+ position: "absolute",
404
+ top: "100%",
405
+ left: "0",
406
+ width: "100%"
407
+ },
408
+ "data-dom-to-png-ignore": "",
409
+ "aria-hidden": "true"
410
+ }, vn = {
411
+ key: 5,
412
+ class: "vue-data-ui-watermark"
413
+ }, yn = ["id"], bn = ["onClick", "onKeydown"], xn = ["onClick", "onKeydown"], Sn = ["onClick", "onKeydown"], Cn = {
414
+ key: 1,
415
+ class: "vue-ui-quick-chart-not-processable"
416
+ }, wn = /*#__PURE__*/ ge({
417
+ __name: "vue-ui-quick-chart",
418
+ props: {
419
+ config: {
420
+ type: Object,
421
+ default() {
422
+ return {};
423
+ }
424
+ },
425
+ dataset: {
426
+ type: [
427
+ Array,
428
+ Object,
429
+ String,
430
+ Number
431
+ ],
432
+ default() {
433
+ return null;
434
+ }
435
+ }
436
+ },
437
+ emits: [
438
+ "selectDatapoint",
439
+ "selectLegend",
440
+ "copyAlt"
441
+ ],
442
+ setup(e, { expose: ge, emit: Re }) {
443
+ let Be = Oe(() => import("./BaseIcon-_-BX7be3.js").then((e) => e.n)), Ve = Oe(() => import("./PackageVersion-Dse0n05o.js").then((e) => e.t)), Ue = Oe(() => import("./PenAndPaper-gaV1QPpP.js").then((e) => e.t)), We = Oe(() => import("./Tooltip-B8yYfISA.js")), Ge = Oe(() => import("./UserOptions-BL9VlHop.js").then((e) => e.n)), { vue_ui_quick_chart: Ke } = se(), { isThemeValid: qe, warnInvalidTheme: Je } = pe(), P = e, F = E(null), wn = E(null), Tn = E(null), En = E(null), I = E(l()), L = E(!1), Dn = E(null), On = E(""), R = E(null), kn = E(null), An = E(null), z = E([]), jn = E(0), Mn = E(0), Nn = E(!1), Pn = E(null), Fn = E(null), B = E(null), In = E(null), Ln = E(null), Rn = E(null);
444
+ E("#FFFFFF");
445
+ let V = E($n()), zn = v(() => !!V.value.debug), Bn = v(() => V.value.useCursorPointer), H = E(null), Vn = E({
446
+ x: 0,
447
+ y: 0
448
+ }), Hn = E("pointer"), Un = E(!1), Wn = v(() => r({
449
+ dafaultConfig: {
450
+ backgroundColor: "#99999930",
451
+ customPalette: ["#BABABA"],
452
+ showDataLabels: !1,
453
+ paletteStartIndex: 0,
454
+ showUserOptions: !1,
455
+ showTooltip: !1,
456
+ xAxisLabel: "",
457
+ yAxisLabel: "",
458
+ xyAxisStroke: "#999999",
459
+ xyGridStroke: "#99999950",
460
+ xyPeriods: [],
461
+ xyShowScale: !1,
462
+ xyPaddingLeft: 6,
463
+ xyPaddingBottom: 12,
464
+ zoomXy: !1,
465
+ zoomStartIndex: null,
466
+ zoomEndIndex: null
467
+ },
468
+ userConfig: V.value.skeletonConfig ?? {}
469
+ })), { loading: U, FINAL_DATASET: Gn, manualLoading: Kn } = le({
470
+ ...Fe(P),
471
+ FINAL_CONFIG: V,
472
+ prepareConfig: $n,
473
+ callback: () => {
474
+ Promise.resolve().then(async () => {
475
+ await Ae(), K.value === M.LINE && V.value.lineAnimated && !U.value && Lr({
476
+ pathDuration: 1e3,
477
+ pointDuration: 1200,
478
+ labelDuration: 1200
479
+ });
480
+ });
481
+ },
482
+ skeletonDataset: P.config?.skeletonDataset ?? [
483
+ 1,
484
+ 2,
485
+ 3,
486
+ 5,
487
+ 8,
488
+ 13,
489
+ 21,
490
+ 34,
491
+ 55,
492
+ 89
493
+ ],
494
+ skeletonConfig: r({
495
+ defaultConfig: V.value,
496
+ userConfig: Wn.value
497
+ })
498
+ }), { svgRef: qn } = xe({ config: { text: V.value.title } }), Jn = v(() => V.value.showUserOptionsOnChartHover), Yn = v(() => V.value.keepUserOptionsStateOnChartLeave), Xn = E(!V.value.showUserOptionsOnChartHover), Zn = E(!1);
499
+ function Qn(e = !1) {
500
+ Zn.value = e, Jn.value && (Xn.value = e);
501
+ }
502
+ function $n() {
503
+ let e = fe({
504
+ userConfig: P.config,
505
+ defaultConfig: Ke
506
+ }), t = {}, n = e.theme;
507
+ if (n) if (!qe.value(e)) Je(e), t = e;
508
+ else {
509
+ let r = fe({
510
+ userConfig: Ce[n] || P.config,
511
+ defaultConfig: e
512
+ });
513
+ t = {
514
+ ...fe({
515
+ userConfig: P.config,
516
+ defaultConfig: r
517
+ }),
518
+ customPalette: e.customPalette.length ? e.customPalette : c[n] || m
519
+ };
520
+ }
521
+ else t = e;
522
+ return t;
523
+ }
524
+ Ie(() => P.config, (e) => {
525
+ U.value || (V.value = $n()), q.value.width = V.value.width, q.value.height = V.value.height, Xn.value = !V.value.showUserOptionsOnChartHover, dr(), cr.value.showTooltip = V.value.showTooltip;
526
+ }, { deep: !0 }), Ie(() => P.dataset, (e) => {
527
+ G.value = tr.value, X.value.start = 0, X.value.end = G.value.maxSeriesLength, Mn.value += 1;
528
+ }, { deep: !0 }), Ie(() => P.dataset, (e) => {
529
+ Array.isArray(e) && e.length > 0 && (Kn.value = !1);
530
+ }, { immediate: !0 });
531
+ let er = v(() => s(V.value.customPalette)), W = Re, tr = v(() => {
532
+ let e = ze({
533
+ debug: zn.value,
534
+ dataset: n(Gn.value, [
535
+ "serie",
536
+ "series",
537
+ "data",
538
+ "value",
539
+ "values",
540
+ "num"
541
+ ]),
542
+ barLineSwitch: V.value.chartIsBarUnderDatasetLength
543
+ });
544
+ return !e && zn.value && console.error("VueUiQuickChart : Dataset is not processable"), e;
545
+ }), G = E(tr.value), nr = v(() => !!G.value), K = v(() => G.value ? G.value.type : null);
546
+ Ie(() => K.value, (e) => {
547
+ e || o({
548
+ componentName: "VueUiQuickChart",
549
+ type: "dataset",
550
+ debug: zn.value
551
+ });
552
+ }, { immediate: !0 });
553
+ let { isPrinting: rr, isImaging: ir, generatePdf: ar, generateImage: or } = ce({
554
+ elementId: `${K.value}_${I.value}`,
555
+ fileName: V.value.title || K.value,
556
+ options: V.value.userOptionsPrint
557
+ }), sr = v(() => V.value.showUserOptions && !V.value.title), q = E({
558
+ width: V.value.width,
559
+ height: V.value.height
560
+ }), cr = E({ showTooltip: V.value.showTooltip });
561
+ Ie(V, () => {
562
+ cr.value = { showTooltip: V.value.showTooltip };
563
+ }, { immediate: !0 });
564
+ let lr = Pe(null), ur = Pe(null);
565
+ Ne(async () => {
566
+ Nn.value = !0, dr();
567
+ });
568
+ function dr() {
569
+ if (a(P.dataset) || (Kn.value = V.value.loading), V.value.responsive) {
570
+ let e = _e(() => {
571
+ let { width: e, height: t } = ve({
572
+ chart: F.value,
573
+ title: V.value.title ? wn.value : null,
574
+ legend: V.value.showLegend ? Tn.value : null,
575
+ slicer: [M.BAR, M.LINE].includes(K.value) && V.value.zoomXy && G.value.maxSeriesLength > 1 ? En.value : null,
576
+ source: kn.value,
577
+ noTitle: An.value
578
+ });
579
+ requestAnimationFrame(() => {
580
+ q.value.width = e, q.value.height = t;
581
+ });
582
+ });
583
+ lr.value && (ur.value && lr.value.unobserve(ur.value), lr.value.disconnect()), lr.value = new ResizeObserver(e), ur.value = F.value.parentNode, lr.value.observe(ur.value);
584
+ }
585
+ Tr();
586
+ }
587
+ Me(() => {
588
+ lr.value && (ur.value && lr.value.unobserve(ur.value), lr.value.disconnect());
589
+ });
590
+ let fr = v(() => {
591
+ switch (K.value) {
592
+ case M.LINE: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
593
+ case M.BAR: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
594
+ case M.DONUT: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
595
+ default: return `0 0 ${q.value.width <= 0 ? 10 : q.value.width} ${q.value.height <= 0 ? 10 : q.value.height}`;
596
+ }
597
+ });
598
+ function pr(e) {
599
+ return [...e].map((e) => e.value).reduce((e, t) => e + t, 0);
600
+ }
601
+ function mr(e) {
602
+ return V.value.blurOnHover && ![null, void 0].includes(R.value) && R.value !== e ? `url(#blur_${I.value})` : "";
603
+ }
604
+ function hr() {
605
+ z.value.length ? z.value = [] : K.value === M.DONUT ? Y.value.legend.forEach((e) => {
606
+ z.value.push(e.id);
607
+ }) : K.value === M.LINE ? Z.value.legend.forEach((e) => {
608
+ z.value.push(e.id);
609
+ }) : K.value === M.BAR && Q.value.legend.forEach((e) => {
610
+ z.value.push(e.id);
611
+ }), K.value === M.DONUT ? W("selectLegend", Y.value.dataset) : K.value === M.LINE ? W("selectLegend", Z.value.dataset) : K.value === M.BAR && W("selectLegend", Q.value.dataset);
612
+ }
613
+ function gr(e, t) {
614
+ z.value.includes(e) ? z.value = z.value.filter((t) => t !== e) : z.value.length < t && z.value.push(e);
615
+ }
616
+ let _r = E(null), vr = E(null), yr = E(!1);
617
+ function br(e, t) {
618
+ yr.value = !0;
619
+ let n = e.value, r = tr.value.dataset.find((t, n) => e.id === `donut_${n}`).VALUE;
620
+ if (z.value.includes(e.id)) {
621
+ z.value = z.value.filter((t) => t !== e.id);
622
+ function t() {
623
+ n > r ? (yr.value = !1, cancelAnimationFrame(vr.value), G.value = {
624
+ ...G.value,
625
+ dataset: G.value.dataset.map((t, n) => e.id === `donut_${n}` ? {
626
+ ...t,
627
+ value: r,
628
+ VALUE: r
629
+ } : t)
630
+ }, W("selectLegend", Y.value.dataset)) : (n += r * .025, G.value = {
631
+ ...G.value,
632
+ dataset: G.value.dataset.map((t, r) => e.id === `donut_${r}` ? {
633
+ ...t,
634
+ value: n,
635
+ VALUE: n
636
+ } : t)
637
+ }, vr.value = requestAnimationFrame(t));
638
+ }
639
+ t();
640
+ } else if (t.length > 1) {
641
+ function t() {
642
+ n < r / 100 ? (yr.value = !1, cancelAnimationFrame(_r.value), z.value.push(e.id), G.value = {
643
+ ...G.value,
644
+ dataset: G.value.dataset.map((t, n) => e.id === `donut_${n}` ? {
645
+ ...t,
646
+ value: 0,
647
+ VALUE: 0
648
+ } : t)
649
+ }, W("selectLegend", Y.value.dataset)) : (n /= 1.1, G.value = {
650
+ ...G.value,
651
+ dataset: G.value.dataset.map((t, r) => e.id === `donut_${r}` ? {
652
+ ...t,
653
+ value: n,
654
+ VALUE: n
655
+ } : t)
656
+ }, _r.value = requestAnimationFrame(t));
657
+ }
658
+ t();
659
+ } else W("selectLegend", Y.value.dataset);
660
+ }
661
+ let J = E(null);
662
+ function xr(e) {
663
+ J.value = e;
664
+ }
665
+ let Sr = v(() => V.value.donutThicknessRatio < .01 ? .01 : V.value.donutThicknessRatio > .4 ? .4 : V.value.donutThicknessRatio), Y = v(() => {
666
+ if (K.value !== M.DONUT) return null;
667
+ let e = G.value.dataset.map((e, t) => ({
668
+ ...e,
669
+ value: e.VALUE || e.DATA || e.SERIE || e.VALUES || e.NUM || 0,
670
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
671
+ id: `donut_${t}`
672
+ })).map((e, t) => ({
673
+ ...e,
674
+ color: e.COLOR ? te(e.COLOR) : er.value[t + V.value.paletteStartIndex] || m[t + V.value.paletteStartIndex] || m[(t + V.value.paletteStartIndex) % m.length],
675
+ immutableValue: e.value
676
+ }));
677
+ function n(e, t) {
678
+ return h({
679
+ v: isNaN(e.value / pr(t)) ? 0 : e.value / pr(t) * 100,
680
+ s: "%",
681
+ r: V.value.dataLabelRoundingPercentage
682
+ });
683
+ }
684
+ function r(e) {
685
+ return e.proportion * 100 > V.value.donutHideLabelUnderPercentage;
686
+ }
687
+ function i(e, t) {
688
+ let n = tr.value.dataset.find((t, n) => `donut_${n}` === e).VALUE;
689
+ return Math.abs(String(Number(n.toFixed(0))).length - String(Number(t.toFixed(0))).length);
690
+ }
691
+ function a({ datapoint: t, seriesIndex: n, triggerMode: r = "pointer" }) {
692
+ Dn.value = {
693
+ datapoint: t,
694
+ seriesIndex: n,
695
+ config: V.value,
696
+ dataset: e
697
+ }, R.value = t.id, H.value = n, Hn.value = r;
698
+ let i = V.value.tooltipCustomFormat;
699
+ if (V.value.events.datapointEnter && V.value.events.datapointEnter({
700
+ datapoint: t,
701
+ seriesIndex: n
702
+ }), ae(i) && ee(() => i({
703
+ datapoint: t,
704
+ seriesIndex: n,
705
+ series: e,
706
+ config: V.value
707
+ }))) On.value = i({
708
+ datapoint: t,
709
+ seriesIndex: n,
710
+ series: e,
711
+ config: V.value
712
+ });
713
+ else {
714
+ let e = "";
715
+ e += `<div style="width:100%;text-align:center;border-bottom:1px solid ${V.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`, e += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${t.color}"/></svg>`, e += `<b>${f(V.value.formatter, t.value, h({
716
+ p: V.value.valuePrefix,
717
+ v: t.value,
718
+ s: V.value.valueSuffix,
719
+ r: V.value.dataLabelRoundingValue
720
+ }), {
721
+ datapoint: t,
722
+ seriesIndex: n
723
+ })}</b>`, e += `<span>(${h({
724
+ v: t.proportion * 100,
725
+ s: "%",
726
+ r: V.value.dataLabelRoundingPercentage
727
+ })})</span></div>`, On.value = `<div>${e}</div>`;
728
+ }
729
+ L.value = !0;
730
+ }
731
+ function o({ datapoint: e, seriesIndex: t }) {
732
+ V.value.events.datapointLeave && V.value.events.datapointLeave({
733
+ datapoint: e,
734
+ seriesIndex: t
735
+ }), L.value = !1, R.value = null, J.value = null, H.value = null, Hn.value = "pointer";
736
+ }
737
+ function s({ datapoint: e, seriesIndex: t }) {
738
+ V.value.events.datapointClick && V.value.events.datapointClick({
739
+ datapoint: e,
740
+ seriesIndex: t
741
+ }), W("selectDatapoint", e);
742
+ }
743
+ let c = {
744
+ centerX: q.value.width / 2,
745
+ centerY: q.value.height / 2
746
+ }, l = e.filter((e) => !z.value.includes(e.id)).map((e) => e.value || 0).reduce((e, t) => e + t, 0), u = e.map((e, t) => ({
747
+ ...e,
748
+ proportion: (e.value || 0) / l,
749
+ value: e.value || 0,
750
+ absoluteValue: tr.value.dataset.find((t, n) => `donut_${n}` === e.id).VALUE,
751
+ shape: "circle"
752
+ })), d = q.value.width / 2, p = q.value.height / 2, ne = q.value.height * V.value.donutRadiusRatio;
753
+ return {
754
+ dataset: u.filter((e) => !z.value.includes(e.id)),
755
+ legend: u,
756
+ drawingArea: c,
757
+ displayArcPercentage: n,
758
+ isArcBigEnough: r,
759
+ useTooltip: a,
760
+ killTooltip: o,
761
+ selectDatapoint: s,
762
+ getSpaces: i,
763
+ total: l,
764
+ cx: d,
765
+ cy: p,
766
+ radius: ne,
767
+ chart: t({ series: e.filter((e) => !z.value.includes(e.id)) }, d, p, ne, ne, 1.99999, 2, 1, 360, 105.25, q.value.height * Sr.value)
768
+ };
769
+ }), X = E({
770
+ start: 0,
771
+ end: G.value.maxSeriesLength
772
+ });
773
+ function Cr() {
774
+ Tr();
775
+ }
776
+ let wr = E(null);
777
+ async function Tr() {
778
+ await Ae(), await Ae();
779
+ let { zoomStartIndex: e, zoomEndIndex: t } = V.value, n = wr.value;
780
+ (e != null || t != null) && n ? (e != null && n.setStartValue(e), t != null && n.setEndValue(Er(t + 1))) : (X.value = {
781
+ start: 0,
782
+ end: G.value.maxSeriesLength
783
+ }, Mn.value += 1);
784
+ }
785
+ function Er(e) {
786
+ let t = G.value.maxSeriesLength;
787
+ return e > t ? t : e < 0 || V.value.zoomStartIndex !== null && e < V.value.zoomStartIndex ? V.value.zoomStartIndex === null ? 1 : V.value.zoomStartIndex + 1 : e;
788
+ }
789
+ let Dr = v(() => {
790
+ if (!V.value.zoomMinimap.show || K.value === M.DONUT) return [];
791
+ let e = [];
792
+ N(G.value.dataset) && (e = G.value.dataset), He(G.value.dataset) && (e = G.value.dataset.map((e, t) => ({
793
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
794
+ id: K.value === M.LINE ? `line_${t}` : `bar_${t}`
795
+ })).filter((e) => !z.value.includes(e.id)));
796
+ let t = N(e) ? e.length : Math.max(...e.map((e) => e.values.length)), n = [];
797
+ if (N(e)) n = e;
798
+ else for (let r = 0; r < t; r += 1) n.push(e.map((e) => e.values[r] || 0).reduce((e, t) => (e || 0) + (t || 0), 0));
799
+ let r = Math.min(...n);
800
+ return n.map((e) => e + (r < 0 ? Math.abs(r) : 0));
801
+ });
802
+ function Or() {
803
+ let e = 0;
804
+ return In.value && (e = Array.from(In.value.querySelectorAll("text")).reduce((e, t) => {
805
+ let n = t.getComputedTextLength();
806
+ return n > e ? n : e;
807
+ }, 0)), e + 4;
808
+ }
809
+ let kr = E(0), Ar = _e((e) => {
810
+ kr.value = e;
811
+ }, 100);
812
+ Le((e) => {
813
+ let t = B.value;
814
+ if (!t) return;
815
+ let n = new ResizeObserver((e) => {
816
+ Ar(e[0].contentRect.height);
817
+ });
818
+ n.observe(t), e(() => n.disconnect());
819
+ }), Me(() => {
820
+ kr.value = 0;
821
+ });
822
+ let jr = v(() => {
823
+ let e = 0;
824
+ return B.value && (e = kr.value), 0 + e;
825
+ }), Z = v(() => {
826
+ if (K.value !== M.LINE) return null;
827
+ let e = {
828
+ height: q.value.height,
829
+ width: q.value.width
830
+ }, t = Or();
831
+ if (B.value) {
832
+ let e = B.value.getBBox().x;
833
+ e < 0 && (t += Math.abs(e));
834
+ }
835
+ let n = {
836
+ left: t + V.value.xyPaddingLeft,
837
+ top: V.value.xyPaddingTop,
838
+ right: e.width - V.value.xyPaddingRight,
839
+ bottom: e.height - V.value.xyPaddingBottom - jr.value,
840
+ width: Math.max(10, e.width - V.value.xyPaddingLeft - V.value.xyPaddingRight - t),
841
+ height: Math.max(10, e.height - V.value.xyPaddingTop - V.value.xyPaddingBottom - jr.value)
842
+ }, r = [];
843
+ N(G.value.dataset) && (r = [{
844
+ values: G.value.dataset.slice(X.value.start, X.value.end),
845
+ absoluteValues: G.value.dataset,
846
+ absoluteIndices: G.value.dataset.map((e, t) => t).slice(X.value.start, X.value.end),
847
+ name: V.value.title,
848
+ color: er.value[V.value.paletteStartIndex] || m[V.value.paletteStartIndex],
849
+ id: "line_0"
850
+ }]), He(G.value.dataset) && (r = G.value.dataset.map((e, t) => ({
851
+ ...e,
852
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
853
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
854
+ id: `line_${t}`
855
+ })).map((e, t) => ({
856
+ ...e,
857
+ color: e.COLOR ? te(e.COLOR) : er.value[t + V.value.paletteStartIndex] || m[t + V.value.paletteStartIndex] || m[(t + V.value.paletteStartIndex) % m.length],
858
+ values: e.values.slice(X.value.start, X.value.end),
859
+ absoluteValues: e.values,
860
+ absoluteIndices: e.values.map((e, t) => t).slice(X.value.start, X.value.end)
861
+ })));
862
+ let i = {
863
+ max: Math.max(...r.filter((e) => !z.value.includes(e.id)).flatMap((e) => e.values)),
864
+ min: Math.min(...r.filter((e) => !z.value.includes(e.id)).flatMap((e) => e.values)),
865
+ maxSeries: Math.max(...r.map((e) => e.values.length))
866
+ }, a = i.max === i.min ? d(i.min, i.min + 1, V.value.xyScaleSegments) : d(i.min < 0 ? i.min : 0, i.max < 0 ? 0 : i.max, V.value.xyScaleSegments), o = i.min < 0 ? Math.abs(i.min) : 0, s = i.max < 0 ? n.top : n.bottom - o / (a.max + o) * n.height, c = n.width / i.maxSeries, l = a.ticks.map((e) => ({
867
+ y: n.bottom - n.height * ((e + o) / (a.max + o)),
868
+ x: n.left - 8,
869
+ value: e
870
+ })), u = r.map((e, t) => ({
871
+ ...e,
872
+ shape: "circle",
873
+ coordinates: e.values.map((e, t) => ({
874
+ x: n.left + c * (t + 1) - c / 2,
875
+ y: n.bottom - (e + o) / (a.max + o) * n.height,
876
+ value: e
877
+ }))
878
+ })).map((e) => {
879
+ let t = [];
880
+ return e.coordinates.forEach((e) => {
881
+ t.push(`${e.x},${e.y} `);
882
+ }), {
883
+ ...e,
884
+ linePath: t.join(" ")
885
+ };
886
+ });
887
+ function p(e) {
888
+ return r.map((t) => ({
889
+ ...t,
890
+ value: t.values[e],
891
+ absoluteIndex: t.absoluteIndices[e]
892
+ })).filter((e) => !z.value.includes(e.id));
893
+ }
894
+ function ne(e, t = "pointer") {
895
+ R.value = e, J.value = e, H.value = e, Hn.value = t;
896
+ let n = p(e);
897
+ Dn.value = {
898
+ datapoint: n,
899
+ seriesIndex: e,
900
+ config: V.value,
901
+ dataset: r
902
+ };
903
+ let i = V.value.tooltipCustomFormat;
904
+ if (V.value.events.datapointEnter && V.value.events.datapointEnter({
905
+ datapoint: n,
906
+ seriesIndex: e + X.value.start
907
+ }), ae(i) && ee(() => i({
908
+ datapoint: n,
909
+ seriesIndex: e,
910
+ series: r,
911
+ config: V.value
912
+ }))) On.value = i({
913
+ datapoint: n,
914
+ seriesIndex: e,
915
+ series: r,
916
+ config: V.value
917
+ });
918
+ else {
919
+ let e = "";
920
+ $.value[n[0].absoluteIndex] && (e += `<div style="border-bottom:1px solid ${V.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${$.value[n[0].absoluteIndex].text}</div>`), n.forEach((t, n) => {
921
+ e += `
922
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
923
+ <svg viewBox="0 0 12 12" height="14" width="12"><circle cx="6" cy="6" r="6" stroke="none" fill="${t.color}"/></svg>
924
+ <span>${t.name}:</span>
925
+ <b>${f(V.value.formatter, t.value, h({
926
+ p: V.value.valuePrefix,
927
+ v: t.value,
928
+ s: V.value.valueSuffix,
929
+ r: V.value.dataLabelRoundingValue
930
+ }), {
931
+ datapoint: t,
932
+ seriesIndex: n
933
+ })}
934
+ </b>
935
+ </div>
936
+ `;
937
+ }), On.value = e;
938
+ }
939
+ L.value = !0;
940
+ }
941
+ function re(e) {
942
+ let t = p(e);
943
+ V.value.events.datapointLeave && V.value.events.datapointLeave({
944
+ datapoint: t,
945
+ seriesIndex: e + X.value.start
946
+ }), R.value = null, J.value = null, L.value = !1, H.value = null, Hn.value = "pointer";
947
+ }
948
+ function ie(e) {
949
+ let t = p(e);
950
+ V.value.events.datapointClick && V.value.events.datapointClick({
951
+ datapoint: t,
952
+ seriesIndex: e + X.value.start
953
+ }), W("selectDatapoint", t);
954
+ }
955
+ return {
956
+ absoluteZero: s,
957
+ dataset: u.filter((e) => !z.value.includes(e.id)),
958
+ legend: u,
959
+ drawingArea: n,
960
+ extremes: i,
961
+ slotSize: c,
962
+ yLabels: l,
963
+ useTooltip: ne,
964
+ killTooltip: re,
965
+ selectDatapoint: ie
966
+ };
967
+ }), Q = v(() => {
968
+ if (K.value !== M.BAR) return null;
969
+ let e = {
970
+ height: q.value.height,
971
+ width: q.value.width
972
+ }, t = Or();
973
+ if (B.value) {
974
+ let e = B.value.getBBox().x;
975
+ e < 0 && (t += Math.abs(e));
976
+ }
977
+ let n = {
978
+ left: t + V.value.xyPaddingLeft,
979
+ top: V.value.xyPaddingTop,
980
+ right: e.width - V.value.xyPaddingRight,
981
+ bottom: e.height - V.value.xyPaddingBottom - jr.value,
982
+ width: Math.max(10, e.width - V.value.xyPaddingLeft - V.value.xyPaddingRight - t),
983
+ height: Math.max(10, e.height - V.value.xyPaddingTop - V.value.xyPaddingBottom - jr.value)
984
+ }, r = [];
985
+ N(G.value.dataset) && (r = [{
986
+ values: G.value.dataset.slice(X.value.start, X.value.end),
987
+ absoluteValues: G.value.dataset,
988
+ absoluteIndices: G.value.dataset.map((e, t) => t).slice(X.value.start, X.value.end),
989
+ name: V.value.title,
990
+ color: er.value[V.value.paletteStartIndex] || m[V.value.paletteStartIndex],
991
+ id: "bar_0"
992
+ }]), He(G.value.dataset) && (r = G.value.dataset.map((e, t) => ({
993
+ ...e,
994
+ values: e.VALUE || e.DATA || e.SERIE || e.SERIES || e.VALUES || e.NUM || 0,
995
+ name: e.NAME || e.DESCRIPTION || e.TITLE || e.LABEL || `Serie ${t}`,
996
+ id: `bar_${t}`
997
+ })).map((e, t) => ({
998
+ ...e,
999
+ color: e.COLOR ? te(e.COLOR) : er.value[t + V.value.paletteStartIndex] || m[t + V.value.paletteStartIndex] || m[(t + V.value.paletteStartIndex) % m.length],
1000
+ values: e.values.slice(X.value.start, X.value.end),
1001
+ absoluteValues: e.values,
1002
+ absoluteIndices: e.values.map((e, t) => t).slice(X.value.start, X.value.end)
1003
+ })));
1004
+ let i = {
1005
+ max: Math.max(...r.filter((e) => !z.value.includes(e.id)).flatMap((e) => e.values)) < 0 ? 0 : Math.max(...r.filter((e) => !z.value.includes(e.id)).flatMap((e) => e.values)) ?? 1,
1006
+ min: Math.min(...r.filter((e) => !z.value.includes(e.id)).flatMap((e) => e.values)) ?? 0,
1007
+ maxSeries: Math.max(...r.filter((e) => !z.value.includes(e.id)).map((e) => e.values.length)) ?? 0
1008
+ }, a = i.min === i.max ? d(i.min, i.min + 1, V.value.xyScaleSegments) : d(i.min < 0 ? i.min : 0, i.max, V.value.xyScaleSegments), o = a.min < 0 ? Math.abs(a.min) : 0, s = n.bottom - o / (a.max + o) * n.height, c = n.width / i.maxSeries, l = a.ticks.map((e) => ({
1009
+ y: n.bottom - n.height * ((e + o) / (a.max + o)),
1010
+ x: n.left - 8,
1011
+ value: e
1012
+ })), u = r.map((e, t) => ({
1013
+ ...e,
1014
+ shape: "square",
1015
+ coordinates: e.values.map((e, a) => {
1016
+ let l = (e + o) / (i.max + o) * n.height, ee = Math.abs(e) / Math.abs(i.min) * (n.height - s), te = o / (i.max + o) * n.height, u = c / r.filter((e) => !z.value.includes(e.id)).length - V.value.barGap / r.filter((e) => !z.value.includes(e.id)).length;
1017
+ return {
1018
+ x: n.left + c * a + u * t + V.value.barGap / 2,
1019
+ y: e > 0 ? n.bottom - l : s,
1020
+ height: e > 0 ? l - te : ee,
1021
+ value: e,
1022
+ width: u
1023
+ };
1024
+ })
1025
+ })), p = r.filter((e) => !z.value.includes(e.id)).map((e, t) => ({
1026
+ ...e,
1027
+ coordinates: e.values.map((e, a) => {
1028
+ let l = (e + o) / (i.max + o) * n.height, ee = Math.abs(e) / (i.max + o) * n.height, te = o / (i.max + o) * n.height, u = c / r.filter((e) => !z.value.includes(e.id)).length - V.value.barGap / r.filter((e) => !z.value.includes(e.id)).length;
1029
+ return {
1030
+ x: n.left + c * a + u * t + V.value.barGap / 2,
1031
+ y: e > 0 ? n.bottom - l : s,
1032
+ height: e > 0 ? l - te : ee,
1033
+ value: e,
1034
+ width: u
1035
+ };
1036
+ })
1037
+ }));
1038
+ function ne(e) {
1039
+ return r.map((t) => ({
1040
+ ...t,
1041
+ value: t.values[e],
1042
+ absoluteIndex: t.absoluteIndices[e]
1043
+ })).filter((e) => !z.value.includes(e.id));
1044
+ }
1045
+ function re(e, t = "pointer") {
1046
+ R.value = e, J.value = e, H.value = e, Hn.value = t;
1047
+ let n = ne(e);
1048
+ Dn.value = {
1049
+ datapoint: n,
1050
+ seriesIndex: e,
1051
+ config: V.value,
1052
+ dataset: r
1053
+ };
1054
+ let i = V.value.tooltipCustomFormat;
1055
+ if (V.value.events.datapointEnter && V.value.events.datapointEnter({
1056
+ datapoint: n,
1057
+ seriesIndex: e + X.value.start
1058
+ }), ae(i) && ee(() => i({
1059
+ datapoint: n,
1060
+ seriesIndex: e,
1061
+ series: r,
1062
+ config: V.value
1063
+ }))) On.value = i({
1064
+ point: n,
1065
+ seriesIndex: e,
1066
+ series: r,
1067
+ config: V.value
1068
+ });
1069
+ else {
1070
+ let e = "";
1071
+ $.value[n[0].absoluteIndex] && (e += `<div style="border-bottom:1px solid ${V.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${$.value[n[0].absoluteIndex].text}</div>`), n.forEach((t, n) => {
1072
+ e += `
1073
+ <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
1074
+ <svg viewBox="0 0 12 12" height="14" width="12"><rect x=0 y="0" width="12" height="12" rx="1" stroke="none" fill="${t.color}"/></svg>
1075
+ <span>${t.name}:</span>
1076
+ <b>${f(V.value.formatter, t.value, h({
1077
+ p: V.value.valuePrefix,
1078
+ v: t.value,
1079
+ s: V.value.valueSuffix,
1080
+ r: V.value.dataLabelRoundingValue
1081
+ }), {
1082
+ datapoint: t,
1083
+ seriesIndex: n
1084
+ })}
1085
+ </b>
1086
+ </div>
1087
+ `;
1088
+ }), On.value = e;
1089
+ }
1090
+ L.value = !0;
1091
+ }
1092
+ function ie(e) {
1093
+ let t = ne(e);
1094
+ V.value.events.datapointLeave && V.value.events.datapointLeave({
1095
+ datapoint: t,
1096
+ seriesIndex: e + X.value.start
1097
+ }), L.value = !1, R.value = null, J.value = null, H.value = null, Hn.value = "pointer";
1098
+ }
1099
+ function g(e) {
1100
+ let t = ne(e);
1101
+ V.value.events.datapointClick && V.value.events.datapointClick({
1102
+ datapoint: t,
1103
+ seriesIndex: e + X.value.start
1104
+ }), W("selectDatapoint", t);
1105
+ }
1106
+ return {
1107
+ absoluteZero: s,
1108
+ dataset: p.filter((e) => !z.value.includes(e.id)),
1109
+ absoluteDataset: p,
1110
+ legend: u,
1111
+ drawingArea: n,
1112
+ extremes: i,
1113
+ slotSize: c,
1114
+ yLabels: l,
1115
+ useTooltip: re,
1116
+ killTooltip: ie,
1117
+ selectDatapoint: g
1118
+ };
1119
+ });
1120
+ function Mr(e) {
1121
+ if (!e) return;
1122
+ let t = e.getTotalLength();
1123
+ e.style.transition = "none", e.style.strokeDasharray = `${t}`, e.style.strokeDashoffset = `${t}`;
1124
+ }
1125
+ function Nr(e, { fromOpacity: t = "0", fromScale: n = "0.85" } = {}) {
1126
+ e.forEach((e) => {
1127
+ e.style.animation = "none", e.style.transition = "none", e.style.opacity = t, e.style.transform = `scale(${n})`, e.style.transformBox = "fill-box", e.style.transformOrigin = "50% 50%";
1128
+ });
1129
+ }
1130
+ function Pr(e) {
1131
+ return e.cx?.baseVal?.value ?? parseFloat(e.getAttribute("cx"));
1132
+ }
1133
+ function Fr(e) {
1134
+ let t = e.getAttribute("x");
1135
+ if (t != null) return parseFloat(t);
1136
+ let n = e.getCTM?.();
1137
+ return n ? n.e : 0;
1138
+ }
1139
+ function Ir(e, t) {
1140
+ if (!e.length) return [];
1141
+ let n = e.map((e) => ({
1142
+ el: e,
1143
+ x: t(e)
1144
+ })).filter((e) => Number.isFinite(e.x));
1145
+ n.sort((e, t) => e.x - t.x);
1146
+ let r = Infinity;
1147
+ for (let e = 1; e < n.length; e++) {
1148
+ let t = n[e].x - n[e - 1].x;
1149
+ t > 0 && t < r && (r = t);
1150
+ }
1151
+ let i = (r === Infinity ? 1 : r) / 2, a = [], o = {
1152
+ x: n[0].x,
1153
+ items: [n[0].el]
1154
+ };
1155
+ for (let e = 1; e < n.length; e++) {
1156
+ let { x: t, el: r } = n[e];
1157
+ Math.abs(t - o.x) <= i ? o.items.push(r) : (a.push(o), o = {
1158
+ x: t,
1159
+ items: [r]
1160
+ });
1161
+ }
1162
+ return a.push(o), a;
1163
+ }
1164
+ function Lr({ pathDuration: e, pathEasing: t = "ease-in-out", pointDuration: n, labelDuration: r, pointDelay: i = 0, labelDelay: a = 0, pointStep: o = 0, labelStep: s = 0, intraSeriesStep: c = 0 } = {}) {
1165
+ let l = Array.isArray(Pn?.value) ? Pn.value : [Pn?.value].filter(Boolean), ee = Array.isArray(Fn?.value) ? Fn.value : [Fn?.value].filter(Boolean), te = [...l, ...ee].filter(Boolean), u = F?.value || null, d = u ? Array.from(u.querySelectorAll(".vue-ui-quick-chart-plot")) : [], f = u ? Array.from(u.querySelectorAll(".vue-ui-quick-chart-label")) : [];
1166
+ te.forEach(Mr), Nr(d, {
1167
+ fromOpacity: "0",
1168
+ fromScale: "0.75"
1169
+ }), Nr(f, {
1170
+ fromOpacity: "0",
1171
+ fromScale: "0.98"
1172
+ }), d.forEach((e) => e.classList.remove("quick-animation")), f.forEach((e) => e.classList.remove("quick-animation")), u && u.offsetWidth;
1173
+ let p = d.length ? Ir(d, Pr) : [], m = f.length ? Ir(f, Fr) : [];
1174
+ requestAnimationFrame(() => {
1175
+ requestAnimationFrame(() => {
1176
+ te.forEach((n) => {
1177
+ n.style.transition = `stroke-dashoffset ${e}ms ${t}`, n.style.strokeDashoffset = "0";
1178
+ }), p.forEach((e, t) => {
1179
+ e.items.forEach((e, r) => {
1180
+ let a = i + t * o + r * c;
1181
+ e.style.transition = `opacity ${n}ms ease-out ${a}ms, transform ${n}ms ease-out ${a}ms`, e.style.opacity = "1", e.style.transform = "scale(1)";
1182
+ });
1183
+ }), m.forEach((e, t) => {
1184
+ e.items.forEach((e, n) => {
1185
+ let i = a + t * s + n * c;
1186
+ e.style.transition = `opacity ${r}ms ease-out ${i}ms, transform ${r}ms ease-out ${i}ms`, e.style.opacity = "1", e.style.transform = "scale(1)";
1187
+ });
1188
+ });
1189
+ });
1190
+ });
1191
+ }
1192
+ let Rr = v(() => {
1193
+ if (K.value === M.LINE) return Z.value.legend.map((e) => (Math.min(...e.absoluteValues.map((e) => e ?? 0)), {
1194
+ ...e,
1195
+ isVisible: !z.value.includes(e.id),
1196
+ type: "line",
1197
+ series: e.absoluteValues
1198
+ }));
1199
+ if (K.value === M.BAR) return Q.value.legend.map((e) => (Math.min(...e.absoluteValues.map((e) => e ?? 0)), {
1200
+ ...e,
1201
+ isVisible: !z.value.includes(e.id),
1202
+ type: "bar",
1203
+ series: e.absoluteValues
1204
+ }));
1205
+ }), $ = E([]), zr = 0;
1206
+ Le(() => {
1207
+ let e = ++zr;
1208
+ (async () => {
1209
+ let t = await oe({
1210
+ values: V.value.xyPeriods,
1211
+ maxDatapoints: G.value.maxSeriesLength,
1212
+ formatter: V.value.datetimeFormatter,
1213
+ start: X.value.start,
1214
+ end: X.value.end
1215
+ });
1216
+ e === zr && ($.value = t);
1217
+ })();
1218
+ });
1219
+ let Br = v(() => {
1220
+ let e = V.value.xyPeriodsModulo;
1221
+ return V.value.xyPeriods.length ? Math.min(e, [...new Set($.value.map((e) => e.text))].length) : e;
1222
+ }), Vr = E(!1);
1223
+ function Hr(e) {
1224
+ Vr.value = e, jn.value += 1;
1225
+ }
1226
+ function Ur() {
1227
+ cr.value.showTooltip = !cr.value.showTooltip;
1228
+ }
1229
+ let Wr = E(!1);
1230
+ function Gr() {
1231
+ Wr.value = !Wr.value;
1232
+ }
1233
+ async function Kr({ scale: e = 2 } = {}) {
1234
+ if (!F.value) return;
1235
+ let { width: t, height: n } = F.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await he({
1236
+ domElement: F.value,
1237
+ base64: !0,
1238
+ img: !0,
1239
+ scale: e
1240
+ });
1241
+ return {
1242
+ imageUri: i,
1243
+ base64: a,
1244
+ title: V.value.title,
1245
+ width: t,
1246
+ height: n,
1247
+ aspectRatio: r
1248
+ };
1249
+ }
1250
+ let qr = v(() => q.value.width), Jr = v(() => q.value.height);
1251
+ me({
1252
+ timeLabelsEls: B,
1253
+ timeLabels: $,
1254
+ slicer: X,
1255
+ configRef: V,
1256
+ rotationPath: ["xyPeriodLabelsRotation"],
1257
+ autoRotatePath: ["xyPeriodLabelsAutoRotate", "enable"],
1258
+ isAutoSize: !1,
1259
+ rotation: V.value.xyPeriodLabelsAutoRotate.angle,
1260
+ height: Jr.value,
1261
+ width: qr.value
1262
+ });
1263
+ let Yr = v(() => V.value.backgroundColor), Xr = v(() => K.value === M.DONUT ? Y.value.legend : K.value === M.LINE ? Z.value.legend : Q.value.legend), Zr = v(() => ({
1264
+ show: V.value.showLegend,
1265
+ bold: !1,
1266
+ backgroundColor: V.value.backgroundColor,
1267
+ color: V.value.color,
1268
+ fontSize: V.value.legendFontSize,
1269
+ position: V.value.legendPosition
1270
+ })), { exportSvg: Qr, getSvg: $r } = de({
1271
+ svg: qn,
1272
+ title: v(() => ({
1273
+ text: V.value.title,
1274
+ color: V.value.color,
1275
+ fontSize: V.value.titleFontSize,
1276
+ bold: V.value.titleBold,
1277
+ textAlign: V.value.titleTextAlign,
1278
+ subtitle: { text: "" }
1279
+ })),
1280
+ legend: Zr,
1281
+ legendItems: Xr,
1282
+ backgroundColor: Yr
1283
+ });
1284
+ async function ei({ isCb: e }) {
1285
+ if (e) {
1286
+ let { blob: e, url: t, text: n, dataUrl: r } = await $r();
1287
+ V.value.userOptionsCallbacks.svg({
1288
+ blob: e,
1289
+ url: t,
1290
+ text: n,
1291
+ dataUrl: r
1292
+ });
1293
+ } else Qr();
1294
+ }
1295
+ async function ti() {
1296
+ if (W("copyAlt", {
1297
+ config: V.value,
1298
+ dataset: {
1299
+ line: Z.value,
1300
+ bar: Q.value,
1301
+ donut: Y.value
1302
+ }
1303
+ }), !V.value.userOptionsCallbacks.altCopy) {
1304
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1305
+ return;
1306
+ }
1307
+ await Promise.resolve(V.value.userOptionsCallbacks.altCopy({
1308
+ config: V.value,
1309
+ dataset: {
1310
+ line: Z.value,
1311
+ bar: Q.value,
1312
+ donut: Y.value
1313
+ }
1314
+ }));
1315
+ }
1316
+ function ni(e, t) {
1317
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t());
1318
+ }
1319
+ let ri = v(() => K.value === M.DONUT ? Y.value?.chart?.length ?? 0 : K.value === M.LINE ? Z.value?.extremes?.maxSeries ?? 0 : K.value === M.BAR ? Q.value?.extremes?.maxSeries ?? 0 : 0);
1320
+ function ii() {
1321
+ H.value = null, Un.value = !0;
1322
+ }
1323
+ function ai() {
1324
+ H.value = null, Hn.value = "pointer", L.value = !1, R.value = null, J.value = null, Un.value = !1;
1325
+ }
1326
+ function oi(e) {
1327
+ if (!qn.value || Wr.value || document.activeElement !== qn.value || !ri.value) return;
1328
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1329
+ if (!t && !n && !r && !i) return;
1330
+ if (e.preventDefault(), e.stopPropagation(), i) {
1331
+ H.value = null, Hn.value = "pointer", L.value = !1, R.value = null, J.value = null;
1332
+ return;
1333
+ }
1334
+ if (r) {
1335
+ if (H.value === null) return;
1336
+ if (K.value === M.DONUT) {
1337
+ let e = Y.value?.chart?.[H.value];
1338
+ if (!e) return;
1339
+ Y.value.selectDatapoint({
1340
+ datapoint: e,
1341
+ seriesIndex: H.value
1342
+ });
1343
+ return;
1344
+ }
1345
+ if (K.value === M.LINE) {
1346
+ Z.value?.selectDatapoint(H.value);
1347
+ return;
1348
+ }
1349
+ if (K.value === M.BAR) {
1350
+ Q.value?.selectDatapoint(H.value);
1351
+ return;
1352
+ }
1353
+ return;
1354
+ }
1355
+ let a = H.value, o = J.value, s = a !== null && a >= 0 && a < ri.value, c = o !== null && o >= 0 && o < ri.value;
1356
+ if (s ? n ? (a += 1, a >= ri.value && (a = 0)) : t && (--a, a < 0 && (a = ri.value - 1)) : c ? (a = n ? o + 1 : o - 1, a >= ri.value && (a = 0), a < 0 && (a = ri.value - 1)) : a = n ? 0 : ri.value - 1, K.value === M.DONUT) {
1357
+ let e = Y.value?.chart?.[a];
1358
+ if (!e) return;
1359
+ si(a), Y.value.useTooltip({
1360
+ datapoint: e,
1361
+ seriesIndex: a,
1362
+ triggerMode: "keyboard"
1363
+ });
1364
+ return;
1365
+ }
1366
+ if (K.value === M.LINE) {
1367
+ si(a), Z.value?.useTooltip(a, "keyboard");
1368
+ return;
1369
+ }
1370
+ K.value === M.BAR && (si(a), Q.value?.useTooltip(a, "keyboard"));
1371
+ }
1372
+ function si(e) {
1373
+ if (!Number.isFinite(e) || !qn.value) return;
1374
+ let t = 0, n = 0;
1375
+ if (K.value === M.DONUT) {
1376
+ let r = Y.value?.chart?.[e];
1377
+ if (!r) return;
1378
+ t = ie(r, !0).x, n = u(r);
1379
+ }
1380
+ if (K.value === M.LINE) {
1381
+ let r = Z.value?.drawingArea, i = Z.value?.slotSize;
1382
+ if (!r || !i) return;
1383
+ t = r.left + i * (e + 1) - i / 2, n = r.top + r.height / 2;
1384
+ }
1385
+ if (K.value === M.BAR) {
1386
+ let r = Q.value?.drawingArea, i = Q.value?.slotSize;
1387
+ if (!r || !i) return;
1388
+ t = r.left + i * (e + 1) - i / 2, n = r.top + r.height / 2;
1389
+ }
1390
+ let r = qn.value.getBoundingClientRect();
1391
+ Vn.value = {
1392
+ x: r.left + t / q.value.width * r.width,
1393
+ y: r.top + n / q.value.height * r.height
1394
+ };
1395
+ }
1396
+ let ci = v(() => {
1397
+ if (K.value === M.DONUT) return {
1398
+ headers: [
1399
+ "Series",
1400
+ "Value",
1401
+ "Percentage"
1402
+ ],
1403
+ rows: (Y.value?.dataset ?? []).map((e) => {
1404
+ let t = Y.value?.total ? h({
1405
+ v: e.value / Y.value.total * 100,
1406
+ s: "%",
1407
+ r: V.value.dataLabelRoundingPercentage
1408
+ }) : "0%";
1409
+ return [
1410
+ e.name,
1411
+ f(V.value.formatter, e.value, h({
1412
+ p: V.value.valuePrefix,
1413
+ v: e.value,
1414
+ s: V.value.valueSuffix,
1415
+ r: V.value.dataLabelRoundingValue
1416
+ })),
1417
+ t
1418
+ ];
1419
+ })
1420
+ };
1421
+ if (K.value === M.LINE || K.value === M.BAR) {
1422
+ let e = K.value === M.LINE ? Z.value?.dataset ?? [] : Q.value?.dataset ?? [], t = K.value === M.LINE ? Z.value?.extremes?.maxSeries ?? 0 : Q.value?.extremes?.maxSeries ?? 0;
1423
+ return {
1424
+ headers: ["Index", ...e.map((e) => e.name)],
1425
+ rows: Array.from({ length: t }, (t, n) => [$.value?.[n + X.value.start]?.text ?? String(n + X.value.start), ...e.map((e) => {
1426
+ let t = e.values?.[n];
1427
+ return f(V.value.formatter, t, h({
1428
+ p: V.value.valuePrefix,
1429
+ v: t,
1430
+ s: V.value.valueSuffix,
1431
+ r: V.value.dataLabelRoundingValue
1432
+ }));
1433
+ })])
1434
+ };
1435
+ }
1436
+ return {
1437
+ headers: [],
1438
+ rows: []
1439
+ };
1440
+ });
1441
+ return ge({
1442
+ getImage: Kr,
1443
+ generatePdf: ar,
1444
+ generateImage: or,
1445
+ generateSvg: ei,
1446
+ toggleTooltip: Ur,
1447
+ toggleAnnotator: Gr,
1448
+ toggleFullscreen: Hr,
1449
+ copyAlt: ti
1450
+ }), (e, t) => nr.value ? (T(), b("div", {
1451
+ key: 0,
1452
+ id: `${K.value}_${I.value}`,
1453
+ ref_key: "quickChart",
1454
+ ref: F,
1455
+ class: je({
1456
+ "vue-data-ui-component": !0,
1457
+ "vue-ui-quick-chart": !0,
1458
+ "vue-data-ui-wrapper-fullscreen": Vr.value
1459
+ }),
1460
+ style: w(`background:${V.value.backgroundColor};color:${V.value.color};font-family:${V.value.fontFamily}; position: relative; ${V.value.responsive ? "height: 100%" : ""}`),
1461
+ onMouseenter: t[2] ||= () => Qn(!0),
1462
+ onMouseleave: t[3] ||= () => Qn(!1)
1463
+ }, [
1464
+ x("div", {
1465
+ id: `chart-instructions-${I.value}`,
1466
+ class: "sr-only"
1467
+ }, [x("p", null, k(V.value.a11y.translations.keyboardNavigation), 1)], 8, Xe),
1468
+ ci.value.rows.length ? (T(), Te(be, {
1469
+ key: 0,
1470
+ uid: I.value,
1471
+ head: ci.value.headers,
1472
+ body: ci.value.rows,
1473
+ notice: V.value.a11y.translations.tableAvailable,
1474
+ caption: V.value.a11y.translations.tableCaption
1475
+ }, null, 8, [
1476
+ "uid",
1477
+ "head",
1478
+ "body",
1479
+ "notice",
1480
+ "caption"
1481
+ ])) : y("", !0),
1482
+ V.value.userOptionsButtons.annotator ? (T(), Te(A(Ue), {
1483
+ key: 1,
1484
+ svgRef: A(qn),
1485
+ backgroundColor: V.value.backgroundColor,
1486
+ color: V.value.color,
1487
+ active: Wr.value,
1488
+ isCursorPointer: Bn.value,
1489
+ onClose: Gr
1490
+ }, {
1491
+ "annotator-action-close": j(() => [O(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1492
+ "annotator-action-color": j(({ color: t }) => [O(e.$slots, "annotator-action-color", C(S({ color: t })), void 0, !0)]),
1493
+ "annotator-action-draw": j(({ mode: t }) => [O(e.$slots, "annotator-action-draw", C(S({ mode: t })), void 0, !0)]),
1494
+ "annotator-action-undo": j(({ disabled: t }) => [O(e.$slots, "annotator-action-undo", C(S({ disabled: t })), void 0, !0)]),
1495
+ "annotator-action-redo": j(({ disabled: t }) => [O(e.$slots, "annotator-action-redo", C(S({ disabled: t })), void 0, !0)]),
1496
+ "annotator-action-delete": j(({ disabled: t }) => [O(e.$slots, "annotator-action-delete", C(S({ disabled: t })), void 0, !0)]),
1497
+ _: 3
1498
+ }, 8, [
1499
+ "svgRef",
1500
+ "backgroundColor",
1501
+ "color",
1502
+ "active",
1503
+ "isCursorPointer"
1504
+ ])) : y("", !0),
1505
+ sr.value ? (T(), b("div", {
1506
+ key: 2,
1507
+ ref_key: "noTitle",
1508
+ ref: An,
1509
+ class: "vue-data-ui-no-title-space",
1510
+ style: "height:36px; width: 100%;background:transparent"
1511
+ }, null, 512)) : y("", !0),
1512
+ V.value.showUserOptions && (Yn.value || Xn.value) ? (T(), Te(A(Ge), {
1513
+ ref: "details",
1514
+ key: `user_option_${jn.value}`,
1515
+ backgroundColor: V.value.backgroundColor,
1516
+ color: V.value.color,
1517
+ isPrinting: A(rr),
1518
+ isImaging: A(ir),
1519
+ uid: I.value,
1520
+ hasTooltip: V.value.userOptionsButtons.tooltip && V.value.showTooltip,
1521
+ hasPdf: V.value.userOptionsButtons.pdf,
1522
+ hasImg: V.value.userOptionsButtons.img,
1523
+ hasSvg: V.value.userOptionsButtons.svg,
1524
+ hasFullscreen: V.value.userOptionsButtons.fullscreen,
1525
+ hasAltCopy: V.value.userOptionsButtons.altCopy,
1526
+ hasXls: !1,
1527
+ isTooltip: cr.value.showTooltip,
1528
+ isFullscreen: Vr.value,
1529
+ titles: { ...V.value.userOptionsButtonTitles },
1530
+ chartElement: F.value,
1531
+ position: V.value.userOptionsPosition,
1532
+ hasAnnotator: V.value.userOptionsButtons.annotator,
1533
+ isAnnotation: Wr.value,
1534
+ callbacks: V.value.userOptionsCallbacks,
1535
+ printScale: V.value.userOptionsPrint.scale,
1536
+ isCursorPointer: Bn.value,
1537
+ onToggleFullscreen: Hr,
1538
+ onGeneratePdf: A(ar),
1539
+ onGenerateImage: A(or),
1540
+ onGenerateSvg: ei,
1541
+ onToggleTooltip: Ur,
1542
+ onToggleAnnotator: Gr,
1543
+ onCopyAlt: ti,
1544
+ style: w({ visibility: Yn.value ? Xn.value ? "visible" : "hidden" : "visible" })
1545
+ }, Ee({ _: 2 }, [
1546
+ e.$slots.menuIcon ? {
1547
+ name: "menuIcon",
1548
+ fn: j(({ isOpen: t, color: n }) => [O(e.$slots, "menuIcon", C(S({
1549
+ isOpen: t,
1550
+ color: n
1551
+ })), void 0, !0)]),
1552
+ key: "0"
1553
+ } : void 0,
1554
+ e.$slots.optionTooltip ? {
1555
+ name: "optionTooltip",
1556
+ fn: j(() => [O(e.$slots, "optionTooltip", {}, void 0, !0)]),
1557
+ key: "1"
1558
+ } : void 0,
1559
+ e.$slots.optionPdf ? {
1560
+ name: "optionPdf",
1561
+ fn: j(() => [O(e.$slots, "optionPdf", {}, void 0, !0)]),
1562
+ key: "2"
1563
+ } : void 0,
1564
+ e.$slots.optionImg ? {
1565
+ name: "optionImg",
1566
+ fn: j(() => [O(e.$slots, "optionImg", {}, void 0, !0)]),
1567
+ key: "3"
1568
+ } : void 0,
1569
+ e.$slots.optionSvg ? {
1570
+ name: "optionSvg",
1571
+ fn: j(() => [O(e.$slots, "optionSvg", {}, void 0, !0)]),
1572
+ key: "4"
1573
+ } : void 0,
1574
+ e.$slots.optionFullscreen ? {
1575
+ name: "optionFullscreen",
1576
+ fn: j(({ toggleFullscreen: t, isFullscreen: n }) => [O(e.$slots, "optionFullscreen", C(S({
1577
+ toggleFullscreen: t,
1578
+ isFullscreen: n
1579
+ })), void 0, !0)]),
1580
+ key: "5"
1581
+ } : void 0,
1582
+ e.$slots.optionAnnotator ? {
1583
+ name: "optionAnnotator",
1584
+ fn: j(({ toggleAnnotator: t, isAnnotator: n }) => [O(e.$slots, "optionAnnotator", C(S({
1585
+ toggleAnnotator: t,
1586
+ isAnnotator: n
1587
+ })), void 0, !0)]),
1588
+ key: "6"
1589
+ } : void 0,
1590
+ e.$slots.optionAltCopy ? {
1591
+ name: "optionAltCopy",
1592
+ fn: j(({ altCopy: t }) => [O(e.$slots, "optionAltCopy", C(S({ altCopy: t })), void 0, !0)]),
1593
+ key: "7"
1594
+ } : void 0,
1595
+ e.$slots["custom-menu-before"] ? {
1596
+ name: "custom-menu-before",
1597
+ fn: j(() => [O(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1598
+ key: "8"
1599
+ } : void 0,
1600
+ e.$slots["custom-menu-after"] ? {
1601
+ name: "custom-menu-after",
1602
+ fn: j(() => [O(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1603
+ key: "9"
1604
+ } : void 0
1605
+ ]), 1032, [
1606
+ "backgroundColor",
1607
+ "color",
1608
+ "isPrinting",
1609
+ "isImaging",
1610
+ "uid",
1611
+ "hasTooltip",
1612
+ "hasPdf",
1613
+ "hasImg",
1614
+ "hasSvg",
1615
+ "hasFullscreen",
1616
+ "hasAltCopy",
1617
+ "isTooltip",
1618
+ "isFullscreen",
1619
+ "titles",
1620
+ "chartElement",
1621
+ "position",
1622
+ "hasAnnotator",
1623
+ "isAnnotation",
1624
+ "callbacks",
1625
+ "printScale",
1626
+ "isCursorPointer",
1627
+ "onGeneratePdf",
1628
+ "onGenerateImage",
1629
+ "style"
1630
+ ])) : y("", !0),
1631
+ V.value.title ? (T(), b("div", {
1632
+ key: 4,
1633
+ ref_key: "quickChartTitle",
1634
+ ref: wn,
1635
+ class: "vue-ui-quick-chart-title",
1636
+ style: w(`background:transparent;color:${V.value.color};font-size:${V.value.titleFontSize}px;font-weight:${V.value.titleBold ? "bold" : "normal"};text-align:${V.value.titleTextAlign}`)
1637
+ }, k(V.value.title), 5)) : y("", !0),
1638
+ x("div", { id: `legend-top-${I.value}` }, null, 8, Ze),
1639
+ x("div", Qe, [K.value ? (T(), b("svg", {
1640
+ key: 0,
1641
+ ref_key: "svgRef",
1642
+ ref: qn,
1643
+ xmlns: A(re),
1644
+ "aria-describedby": `chart-instructions-${I.value}`,
1645
+ viewBox: fr.value,
1646
+ style: w(`max-width:100%;overflow:visible;background:transparent;color:${V.value.color}`),
1647
+ tabindex: "0",
1648
+ onFocus: ii,
1649
+ onBlur: ai,
1650
+ onKeydown: oi
1651
+ }, [
1652
+ De(A(Ve)),
1653
+ e.$slots["chart-background"] && K.value === M.BAR ? (T(), b("foreignObject", {
1654
+ key: 0,
1655
+ x: Q.value.drawingArea.left,
1656
+ y: Q.value.drawingArea.top,
1657
+ width: Q.value.drawingArea.width,
1658
+ height: Q.value.drawingArea.height,
1659
+ style: { pointerEvents: "none" }
1660
+ }, [O(e.$slots, "chart-background", {}, void 0, !0)], 8, et)) : y("", !0),
1661
+ e.$slots["chart-background"] && K.value === M.LINE ? (T(), b("foreignObject", {
1662
+ key: 1,
1663
+ x: Z.value.drawingArea.left,
1664
+ y: Z.value.drawingArea.top,
1665
+ width: Z.value.drawingArea.width,
1666
+ height: Z.value.drawingArea.height,
1667
+ style: { pointerEvents: "none" }
1668
+ }, [O(e.$slots, "chart-background", {}, void 0, !0)], 8, tt)) : y("", !0),
1669
+ e.$slots["chart-background"] && K.value === M.DONUT ? (T(), b("foreignObject", {
1670
+ key: 2,
1671
+ x: 0,
1672
+ y: 0,
1673
+ width: q.value.width,
1674
+ height: q.value.height,
1675
+ style: { pointerEvents: "none" }
1676
+ }, [O(e.$slots, "chart-background", {}, void 0, !0)], 8, nt)) : y("", !0),
1677
+ x("defs", null, [x("filter", {
1678
+ id: `blur_${I.value}`,
1679
+ x: "-50%",
1680
+ y: "-50%",
1681
+ width: "200%",
1682
+ height: "200%"
1683
+ }, [x("feGaussianBlur", {
1684
+ in: "SourceGraphic",
1685
+ stdDeviation: 2,
1686
+ id: `blur_std_${I.value}`
1687
+ }, null, 8, it), t[4] ||= x("feColorMatrix", {
1688
+ type: "saturate",
1689
+ values: "0"
1690
+ }, null, -1)], 8, rt), x("filter", {
1691
+ id: `shadow_${I.value}`,
1692
+ "color-interpolation-filters": "sRGB"
1693
+ }, [x("feDropShadow", {
1694
+ dx: "0",
1695
+ dy: "0",
1696
+ stdDeviation: "10",
1697
+ "flood-opacity": "0.5",
1698
+ "flood-color": V.value.donutShadowColor
1699
+ }, null, 8, ot)], 8, at)]),
1700
+ K.value === M.DONUT ? (T(), b(_, { key: 3 }, [
1701
+ V.value.showDataLabels ? (T(), b("g", st, [(T(!0), b(_, null, D(Y.value.chart, (e, t) => (T(), b(_, null, [Y.value.isArcBigEnough(e) ? (T(), b("path", {
1702
+ key: 0,
1703
+ d: A(ne)(e, {
1704
+ x: q.value.width / 2,
1705
+ y: q.value.height / 2
1706
+ }, 16, 16, !1, !1, q.value.height * Sr.value, 12, V.value.donutCurvedMarkers),
1707
+ stroke: e.color,
1708
+ "stroke-width": V.value.donutLabelMarkerStrokeWidth,
1709
+ "stroke-linecap": "round",
1710
+ "stroke-linejoin": "round",
1711
+ fill: "none",
1712
+ filter: mr(e.id)
1713
+ }, null, 8, ct)) : y("", !0)], 64))), 256))])) : y("", !0),
1714
+ x("circle", {
1715
+ cx: Y.value.cx,
1716
+ cy: Y.value.cy,
1717
+ r: Y.value.radius,
1718
+ fill: V.value.backgroundColor,
1719
+ filter: V.value.donutUseShadow ? `url(#shadow_${I.value})` : ""
1720
+ }, null, 8, lt),
1721
+ x("g", ut, [(T(!0), b(_, null, D(Y.value.chart, (e, t) => (T(), b("path", {
1722
+ d: e.arcSlice,
1723
+ fill: e.color,
1724
+ stroke: V.value.donutStroke || V.value.backgroundColor,
1725
+ "stroke-width": V.value.donutStrokeWidth,
1726
+ filter: mr(e.id)
1727
+ }, null, 8, dt))), 256)), (T(!0), b(_, null, D(Y.value.chart, (e, t) => (T(), b("path", {
1728
+ d: e.arcSlice,
1729
+ fill: "transparent",
1730
+ onMouseenter: (n) => Y.value.useTooltip({
1731
+ datapoint: e,
1732
+ seriesIndex: t,
1733
+ triggerMode: "pointer"
1734
+ }),
1735
+ onMouseout: (n) => Y.value.killTooltip({
1736
+ datapoint: e,
1737
+ seriesIndex: t
1738
+ }),
1739
+ onClick: (n) => Y.value.selectDatapoint({
1740
+ datapoint: e,
1741
+ seriesIndex: t
1742
+ })
1743
+ }, null, 40, ft))), 256))]),
1744
+ V.value.showDataLabels ? (T(), b("g", pt, [(T(!0), b(_, null, D(Y.value.chart, (e, t) => (T(), b(_, null, [
1745
+ Y.value.isArcBigEnough(e) ? (T(), b("circle", {
1746
+ key: 0,
1747
+ cx: A(ie)(e).x,
1748
+ cy: A(u)(e) - 3.7,
1749
+ fill: e.color,
1750
+ stroke: V.value.backgroundColor,
1751
+ "stroke-width": 1,
1752
+ r: 3,
1753
+ filter: mr(e.id)
1754
+ }, null, 8, mt)) : y("", !0),
1755
+ Y.value.isArcBigEnough(e) ? (T(), b("text", {
1756
+ key: 1,
1757
+ "text-anchor": A(ie)(e, !0, 20).anchor,
1758
+ x: A(ie)(e, !0).x,
1759
+ y: A(u)(e),
1760
+ fill: V.value.color,
1761
+ "font-size": V.value.dataLabelFontSize,
1762
+ filter: mr(e.id)
1763
+ }, k(Y.value.displayArcPercentage(e, Y.value.chart)) + " (" + k(A(f)(V.value.formatter, e.value, A(h)({
1764
+ p: V.value.valuePrefix,
1765
+ v: e.value,
1766
+ s: V.value.valueSuffix,
1767
+ r: V.value.dataLabelRoundingValue
1768
+ }), {
1769
+ datapoint: e,
1770
+ seriesIndex: t
1771
+ })) + ") ", 9, ht)) : y("", !0),
1772
+ Y.value.isArcBigEnough(e, !0, 20) ? (T(), b("text", {
1773
+ key: 2,
1774
+ "text-anchor": A(ie)(e).anchor,
1775
+ x: A(ie)(e, !0).x,
1776
+ y: A(u)(e) + V.value.dataLabelFontSize,
1777
+ fill: V.value.color,
1778
+ "font-size": V.value.dataLabelFontSize,
1779
+ filter: mr(e.id)
1780
+ }, k(e.name), 9, gt)) : y("", !0)
1781
+ ], 64))), 256))])) : y("", !0),
1782
+ V.value.donutShowTotal ? (T(), b("g", _t, [x("text", {
1783
+ "text-anchor": "middle",
1784
+ x: Y.value.drawingArea.centerX,
1785
+ y: Y.value.drawingArea.centerY - V.value.donutTotalLabelFontSize / 2,
1786
+ "font-size": V.value.donutTotalLabelFontSize,
1787
+ fill: V.value.color
1788
+ }, k(V.value.donutTotalLabelText), 9, vt), x("text", {
1789
+ "text-anchor": "middle",
1790
+ x: Y.value.drawingArea.centerX,
1791
+ y: Y.value.drawingArea.centerY + V.value.donutTotalLabelFontSize,
1792
+ "font-size": V.value.donutTotalLabelFontSize,
1793
+ fill: V.value.color
1794
+ }, k(A(h)({
1795
+ p: V.value.valuePrefix,
1796
+ v: Y.value.total,
1797
+ s: V.value.valueSuffix,
1798
+ r: V.value.dataLabelRoundingValue
1799
+ })), 9, yt)])) : y("", !0)
1800
+ ], 64)) : y("", !0),
1801
+ K.value === M.LINE ? (T(), b(_, { key: 4 }, [
1802
+ V.value.xyShowGrid ? (T(), b("g", bt, [(T(!0), b(_, null, D(Z.value.yLabels, (e) => (T(), b(_, null, [e.y <= Z.value.drawingArea.bottom ? (T(), b("line", {
1803
+ key: 0,
1804
+ x1: Z.value.drawingArea.left,
1805
+ x2: Z.value.drawingArea.right,
1806
+ y1: e.y,
1807
+ y2: e.y,
1808
+ stroke: V.value.xyGridStroke,
1809
+ "stroke-width": V.value.xyGridStrokeWidth,
1810
+ "stroke-linecap": "round"
1811
+ }, null, 8, xt)) : y("", !0)], 64))), 256)), (T(!0), b(_, null, D(Z.value.extremes.maxSeries + 1, (e, t) => (T(), b("line", {
1812
+ x1: Z.value.drawingArea.left + Z.value.slotSize * t,
1813
+ x2: Z.value.drawingArea.left + Z.value.slotSize * t,
1814
+ y1: Z.value.drawingArea.top,
1815
+ y2: Z.value.drawingArea.bottom,
1816
+ stroke: V.value.xyGridStroke,
1817
+ "stroke-width": V.value.xyGridStrokeWidth,
1818
+ "stroke-linecap": "round"
1819
+ }, null, 8, St))), 256))])) : y("", !0),
1820
+ V.value.xyShowAxis ? (T(), b("g", Ct, [x("line", {
1821
+ x1: Z.value.drawingArea.left,
1822
+ x2: Z.value.drawingArea.left,
1823
+ y1: Z.value.drawingArea.top,
1824
+ y2: Z.value.drawingArea.bottom,
1825
+ stroke: V.value.xyAxisStroke,
1826
+ "stroke-width": V.value.xyAxisStrokeWidth,
1827
+ "stroke-linecap": "round"
1828
+ }, null, 8, wt), x("line", {
1829
+ x1: Z.value.drawingArea.left,
1830
+ x2: Z.value.drawingArea.right,
1831
+ y1: isNaN(Z.value.absoluteZero) ? Z.value.drawingArea.bottom : Z.value.absoluteZero,
1832
+ y2: isNaN(Z.value.absoluteZero) ? Z.value.drawingArea.bottom : Z.value.absoluteZero,
1833
+ stroke: V.value.xyAxisStroke,
1834
+ "stroke-width": V.value.xyAxisStrokeWidth,
1835
+ "stroke-linecap": "round"
1836
+ }, null, 8, Tt)])) : y("", !0),
1837
+ V.value.xyShowScale ? (T(), b("g", {
1838
+ key: 2,
1839
+ class: "yLabels",
1840
+ ref_key: "scaleLabels",
1841
+ ref: In
1842
+ }, [(T(!0), b(_, null, D(Z.value.yLabels, (e, t) => (T(), b(_, null, [e.y <= Z.value.drawingArea.bottom ? (T(), b("line", {
1843
+ key: 0,
1844
+ x1: e.x + 4,
1845
+ x2: Z.value.drawingArea.left,
1846
+ y1: e.y,
1847
+ y2: e.y,
1848
+ stroke: V.value.xyAxisStroke,
1849
+ "stroke-width": V.value.xyAxisStrokeWidth,
1850
+ "stroke-linecap": "round"
1851
+ }, null, 8, Et)) : y("", !0), e.y <= Z.value.drawingArea.bottom ? (T(), b("text", {
1852
+ key: 1,
1853
+ x: e.x,
1854
+ y: e.y + V.value.xyLabelsYFontSize / 3,
1855
+ "text-anchor": "end",
1856
+ "font-size": V.value.xyLabelsYFontSize,
1857
+ fill: V.value.color
1858
+ }, k(A(f)(V.value.formatter, e.value, A(h)({
1859
+ p: V.value.valuePrefix,
1860
+ v: e.value,
1861
+ s: V.value.valueSuffix,
1862
+ r: V.value.dataLabelRoundingValue
1863
+ }), {
1864
+ datapoint: e,
1865
+ seriesIndex: t
1866
+ })), 9, Dt)) : y("", !0)], 64))), 256))], 512)) : y("", !0),
1867
+ V.value.xyShowScale && V.value.xyPeriods.length ? (T(), b("g", Ot, [(T(!0), b(_, null, D($.value.map((e) => e.text), (e, t) => (T(), b(_, null, [!V.value.xyPeriodsShowOnlyAtModulo || V.value.xyPeriodsShowOnlyAtModulo && t % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (T(), b("line", {
1868
+ key: 0,
1869
+ x1: Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2,
1870
+ x2: Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2,
1871
+ y1: Z.value.drawingArea.bottom,
1872
+ y2: Z.value.drawingArea.bottom + 4,
1873
+ stroke: V.value.xyAxisStroke,
1874
+ "stroke-width": V.value.xyAxisStrokeWidth,
1875
+ "stroke-linecap": "round"
1876
+ }, null, 8, kt)) : y("", !0)], 64))), 256)), x("g", {
1877
+ ref_key: "timeLabelsEls",
1878
+ ref: B
1879
+ }, [(T(!0), b(_, null, D($.value.map((e) => e.text), (e, t) => (T(), b(_, null, [!V.value.xyPeriodsShowOnlyAtModulo || V.value.xyPeriodsShowOnlyAtModulo && t % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (T(), b("g", At, [String(e).includes("\n") ? (T(), b("text", {
1880
+ key: 1,
1881
+ class: "vue-data-ui-time-label",
1882
+ "font-size": V.value.xyLabelsXFontSize,
1883
+ "text-anchor": V.value.xyPeriodLabelsRotation > 0 ? "start" : V.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1884
+ fill: V.value.color,
1885
+ transform: `translate(${Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2}, ${Z.value.drawingArea.bottom + V.value.xyLabelsXFontSize + 6}), rotate(${V.value.xyPeriodLabelsRotation})`,
1886
+ innerHTML: A(i)({
1887
+ content: String(e),
1888
+ fontSize: V.value.xyLabelsXFontSize,
1889
+ fill: V.value.color,
1890
+ x: 0,
1891
+ y: 0
1892
+ })
1893
+ }, null, 8, Mt)) : (T(), b("text", {
1894
+ key: 0,
1895
+ class: "vue-data-ui-time-label",
1896
+ "font-size": V.value.xyLabelsXFontSize,
1897
+ "text-anchor": V.value.xyPeriodLabelsRotation > 0 ? "start" : V.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1898
+ fill: V.value.color,
1899
+ transform: `translate(${Z.value.drawingArea.left + Z.value.slotSize * (t + 1) - Z.value.slotSize / 2}, ${Z.value.drawingArea.bottom + V.value.xyLabelsXFontSize + 6}), rotate(${V.value.xyPeriodLabelsRotation})`
1900
+ }, k(e), 9, jt))])) : y("", !0)], 64))), 256))], 512)])) : y("", !0),
1901
+ x("g", Nt, [(T(!0), b(_, null, D(Z.value.dataset, (e, t) => (T(), b("g", Pt, [V.value.lineSmooth ? (T(), b(_, { key: 0 }, [x("path", {
1902
+ ref_for: !0,
1903
+ ref_key: "pathWrapper",
1904
+ ref: Pn,
1905
+ d: `M ${A(p)(e.coordinates)}`,
1906
+ stroke: V.value.backgroundColor,
1907
+ "stroke-width": V.value.lineStrokeWidth + 1,
1908
+ "stroke-linecap": "round",
1909
+ fill: "none",
1910
+ class: je({
1911
+ "quick-animation": !A(U),
1912
+ "vue-data-ui-line-animated": V.value.lineAnimated && !A(U)
1913
+ }),
1914
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1915
+ }, null, 14, Ft), x("path", {
1916
+ ref_for: !0,
1917
+ ref_key: "pathTop",
1918
+ ref: Fn,
1919
+ d: `M ${A(p)(e.coordinates)}`,
1920
+ stroke: e.color,
1921
+ "stroke-width": V.value.lineStrokeWidth,
1922
+ "stroke-linecap": "round",
1923
+ fill: "none",
1924
+ class: je({
1925
+ "quick-animation": !A(U),
1926
+ "vue-data-ui-line-animated": V.value.lineAnimated && !A(U)
1927
+ }),
1928
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1929
+ }, null, 14, It)], 64)) : (T(), b(_, { key: 1 }, [x("path", {
1930
+ ref_for: !0,
1931
+ ref_key: "pathWrapper",
1932
+ ref: Pn,
1933
+ d: `M ${e.linePath}`,
1934
+ stroke: V.value.backgroundColor,
1935
+ "stroke-width": V.value.lineStrokeWidth + 1,
1936
+ "stroke-linecap": "round",
1937
+ fill: "none",
1938
+ class: je({
1939
+ "quick-animation": !A(U),
1940
+ "vue-data-ui-line-animated": V.value.lineAnimated && !A(U)
1941
+ }),
1942
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1943
+ }, null, 14, Lt), x("path", {
1944
+ ref_for: !0,
1945
+ ref_key: "pathTop",
1946
+ ref: Fn,
1947
+ d: `M ${e.linePath}`,
1948
+ stroke: e.color,
1949
+ "stroke-width": V.value.lineStrokeWidth,
1950
+ "stroke-linecap": "round",
1951
+ fill: "none",
1952
+ class: je({
1953
+ "quick-animation": !A(U),
1954
+ "vue-data-ui-line-animated": V.value.lineAnimated && !A(U)
1955
+ }),
1956
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1957
+ }, null, 14, Rt)], 64)), (T(!0), b(_, null, D(e.coordinates, (t, n) => (T(), b("circle", {
1958
+ cx: t.x,
1959
+ cy: A(g)(t.y),
1960
+ r: 3,
1961
+ fill: e.color,
1962
+ stroke: V.value.backgroundColor,
1963
+ "stroke-width": "0.5",
1964
+ class: je({
1965
+ "vue-ui-quick-chart-plot": !0,
1966
+ "quick-animation": !A(U)
1967
+ }),
1968
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1969
+ }, null, 14, zt))), 256))]))), 256))]),
1970
+ V.value.showDataLabels ? (T(), b("g", Bt, [(T(!0), b(_, null, D(Z.value.dataset, (e, t) => (T(), b(_, null, [(T(!0), b(_, null, D(e.coordinates, (t, n) => (T(), b("text", {
1971
+ "text-anchor": "middle",
1972
+ "font-size": V.value.dataLabelFontSize,
1973
+ fill: e.color,
1974
+ x: t.x,
1975
+ y: A(g)(t.y) - V.value.dataLabelFontSize / 2,
1976
+ class: je({
1977
+ "vue-ui-quick-chart-label": !0,
1978
+ "quick-animation": !A(U)
1979
+ }),
1980
+ style: w({ transition: A(U) ? void 0 : "all 0.3s ease-in-out" })
1981
+ }, k(A(f)(V.value.formatter, A(g)(t.value), A(h)({
1982
+ p: V.value.valuePrefix,
1983
+ v: A(g)(t.value),
1984
+ s: V.value.valueSuffix,
1985
+ r: V.value.dataLabelRoundingValue
1986
+ }), {
1987
+ datapoint: t,
1988
+ seriesIndex: n
1989
+ })), 15, Vt))), 256))], 64))), 256))])) : y("", !0),
1990
+ Zn.value ? (T(), b("g", Ht, [(T(!0), b(_, null, D(Z.value.extremes.maxSeries, (e, t) => (T(), b("rect", {
1991
+ x: Z.value.drawingArea.left + t * Z.value.slotSize,
1992
+ y: Z.value.drawingArea.top,
1993
+ height: Z.value.drawingArea.height <= 0 ? 1e-5 : Z.value.drawingArea.height,
1994
+ width: Z.value.slotSize <= 0 ? 1e-5 : Z.value.slotSize,
1995
+ fill: [R.value, J.value].includes(t) ? V.value.xyHighlighterColor : "transparent",
1996
+ style: w(`opacity:${V.value.xyHighlighterOpacity}`),
1997
+ onMouseenter: (e) => Z.value.useTooltip(t, "pointer"),
1998
+ onMouseleave: (e) => Z.value.killTooltip(t),
1999
+ onClick: (e) => Z.value.selectDatapoint(t)
2000
+ }, null, 44, Ut))), 256))])) : y("", !0)
2001
+ ], 64)) : y("", !0),
2002
+ K.value === M.BAR ? (T(), b(_, { key: 5 }, [
2003
+ V.value.xyShowGrid ? (T(), b("g", Wt, [(T(!0), b(_, null, D(Q.value.yLabels, (e) => (T(), b(_, null, [e.y <= Q.value.drawingArea.bottom ? (T(), b("line", {
2004
+ key: 0,
2005
+ x1: Q.value.drawingArea.left,
2006
+ x2: Q.value.drawingArea.right,
2007
+ y1: e.y,
2008
+ y2: e.y,
2009
+ stroke: V.value.xyGridStroke,
2010
+ "stroke-width": V.value.xyGridStrokeWidth,
2011
+ "stroke-linecap": "round"
2012
+ }, null, 8, Gt)) : y("", !0)], 64))), 256)), z.value.length < Q.value.legend.length ? (T(!0), b(_, { key: 0 }, D(Q.value.extremes.maxSeries + 1, (e, t) => (T(), b("line", {
2013
+ x1: Q.value.drawingArea.left + Q.value.slotSize * t,
2014
+ x2: Q.value.drawingArea.left + Q.value.slotSize * t,
2015
+ y1: Q.value.drawingArea.top,
2016
+ y2: Q.value.drawingArea.bottom,
2017
+ stroke: V.value.xyGridStroke,
2018
+ "stroke-width": V.value.xyGridStrokeWidth,
2019
+ "stroke-linecap": "round"
2020
+ }, null, 8, Kt))), 256)) : y("", !0)])) : y("", !0),
2021
+ V.value.xyShowAxis ? (T(), b("g", qt, [x("line", {
2022
+ x1: Q.value.drawingArea.left,
2023
+ x2: Q.value.drawingArea.left,
2024
+ y1: Q.value.drawingArea.top,
2025
+ y2: Q.value.drawingArea.bottom,
2026
+ stroke: V.value.xyAxisStroke,
2027
+ "stroke-width": V.value.xyAxisStrokeWidth,
2028
+ "stroke-linecap": "round"
2029
+ }, null, 8, Jt), x("line", {
2030
+ x1: Q.value.drawingArea.left,
2031
+ x2: Q.value.drawingArea.right,
2032
+ y1: isNaN(Q.value.absoluteZero) ? Q.value.drawingArea.bottom : Q.value.absoluteZero,
2033
+ y2: isNaN(Q.value.absoluteZero) ? Q.value.drawingArea.bottom : Q.value.absoluteZero,
2034
+ stroke: V.value.xyAxisStroke,
2035
+ "stroke-width": V.value.xyAxisStrokeWidth,
2036
+ "stroke-linecap": "round"
2037
+ }, null, 8, Yt)])) : y("", !0),
2038
+ V.value.xyShowScale ? (T(), b("g", {
2039
+ key: 2,
2040
+ class: "yLabels",
2041
+ ref_key: "scaleLabels",
2042
+ ref: In
2043
+ }, [(T(!0), b(_, null, D(Q.value.yLabels, (e, t) => (T(), b(_, null, [e.y <= Q.value.drawingArea.bottom ? (T(), b("line", {
2044
+ key: 0,
2045
+ x1: e.x + 4,
2046
+ x2: Q.value.drawingArea.left,
2047
+ y1: e.y,
2048
+ y2: e.y,
2049
+ stroke: V.value.xyAxisStroke,
2050
+ "stroke-width": V.value.xyAxisStrokeWidth,
2051
+ "stroke-linecap": "round"
2052
+ }, null, 8, Xt)) : y("", !0), e.y <= Q.value.drawingArea.bottom ? (T(), b("text", {
2053
+ key: 1,
2054
+ x: e.x,
2055
+ y: e.y + V.value.xyLabelsYFontSize / 3,
2056
+ "text-anchor": "end",
2057
+ "font-size": V.value.xyLabelsYFontSize,
2058
+ fill: V.value.color
2059
+ }, k(A(f)(V.value.formatter, e.value, A(h)({
2060
+ p: V.value.valuePrefix,
2061
+ v: e.value,
2062
+ s: V.value.valueSuffix,
2063
+ r: V.value.dataLabelRoundingValue
2064
+ }), {
2065
+ datapoint: e,
2066
+ seriesIndex: t
2067
+ })), 9, Zt)) : y("", !0)], 64))), 256))], 512)) : y("", !0),
2068
+ V.value.xyShowScale && V.value.xyPeriods.length ? (T(), b("g", Qt, [(T(!0), b(_, null, D(V.value.xyPeriods.slice(X.value.start, X.value.end), (e, t) => (T(), b("line", {
2069
+ x1: Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2,
2070
+ x2: Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2,
2071
+ y1: Q.value.drawingArea.bottom,
2072
+ y2: Q.value.drawingArea.bottom + 4,
2073
+ stroke: V.value.xyAxisStroke,
2074
+ "stroke-width": V.value.xyAxisStrokeWidth,
2075
+ "stroke-linecap": "round"
2076
+ }, null, 8, $t))), 256)), x("g", {
2077
+ ref_key: "timeLabelsEls",
2078
+ ref: B
2079
+ }, [(T(!0), b(_, null, D($.value.map((e) => e.text), (e, t) => (T(), b(_, null, [!V.value.xyPeriodsShowOnlyAtModulo || V.value.xyPeriodsShowOnlyAtModulo && t % Math.floor((X.value.end - X.value.start) / Br.value) === 0 || X.value.end - X.value.start <= Br.value ? (T(), b("g", en, [String(e).includes("\n") ? (T(), b("text", {
2080
+ key: 1,
2081
+ class: "vue-data-ui-time-label",
2082
+ "font-size": V.value.xyLabelsXFontSize,
2083
+ "text-anchor": V.value.xyPeriodLabelsRotation > 0 ? "start" : V.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
2084
+ fill: V.value.color,
2085
+ transform: `translate(${Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2}, ${Q.value.drawingArea.bottom + V.value.xyLabelsXFontSize + 6}), rotate(${V.value.xyPeriodLabelsRotation})`,
2086
+ innerHTML: A(i)({
2087
+ content: String(e),
2088
+ fontSize: V.value.xyLabelsXFontSize,
2089
+ fill: V.value.color,
2090
+ x: 0,
2091
+ y: 0
2092
+ })
2093
+ }, null, 8, nn)) : (T(), b("text", {
2094
+ key: 0,
2095
+ class: "vue-data-ui-time-label",
2096
+ "font-size": V.value.xyLabelsXFontSize,
2097
+ "text-anchor": V.value.xyPeriodLabelsRotation > 0 ? "start" : V.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
2098
+ fill: V.value.color,
2099
+ transform: `translate(${Q.value.drawingArea.left + Q.value.slotSize * (t + 1) - Q.value.slotSize / 2}, ${Q.value.drawingArea.bottom + V.value.xyLabelsXFontSize + 6}), rotate(${V.value.xyPeriodLabelsRotation})`
2100
+ }, k(e), 9, tn))])) : y("", !0)], 64))), 256))], 512)])) : y("", !0),
2101
+ x("g", rn, [(T(!0), b(_, null, D(Q.value.dataset, (e, t) => (T(), b(_, null, [(T(!0), b(_, null, D(e.coordinates, (t, n) => (T(), b("rect", {
2102
+ x: t.x,
2103
+ width: t.width <= 0 ? 1e-5 : t.width,
2104
+ height: A(g)(t.height <= 0 ? 1e-5 : t.height),
2105
+ y: A(g)(t.y),
2106
+ fill: e.color,
2107
+ stroke: V.value.backgroundColor,
2108
+ "stroke-width": V.value.barStrokeWidth,
2109
+ "stroke-linecap": "round",
2110
+ class: je({ "vue-data-ui-bar-animated": V.value.barAnimated && t.value < 0 && !A(U) })
2111
+ }, [V.value.barAnimated && t.value > 0 && !A(rr) && !A(ir) ? (T(), b("animate", {
2112
+ key: 0,
2113
+ attributeName: "height",
2114
+ from: 0,
2115
+ to: t.height,
2116
+ dur: "0.5s"
2117
+ }, null, 8, on)) : y("", !0), V.value.barAnimated && t.value > 0 && !A(rr) && !A(ir) ? (T(), b("animate", {
2118
+ key: 1,
2119
+ attributeName: "y",
2120
+ from: Q.value.absoluteZero,
2121
+ to: Q.value.absoluteZero - t.height,
2122
+ dur: "0.5s"
2123
+ }, null, 8, sn)) : y("", !0)], 10, an))), 256))], 64))), 256))]),
2124
+ V.value.showDataLabels ? (T(), b("g", cn, [(T(!0), b(_, null, D(Q.value.dataset, (e, t) => (T(), b(_, null, [(T(!0), b(_, null, D(e.coordinates, (t, n) => (T(), b("text", {
2125
+ x: t.x + t.width / 2,
2126
+ y: A(g)(t.y) - V.value.dataLabelFontSize / 2,
2127
+ "text-anchor": "middle",
2128
+ "font-size": V.value.dataLabelFontSize,
2129
+ fill: e.color,
2130
+ class: "quick-animation"
2131
+ }, k(A(f)(V.value.formatter, A(g)(t.value), A(h)({
2132
+ p: V.value.valuePrefix,
2133
+ v: A(g)(t.value),
2134
+ s: V.value.valueSuffix,
2135
+ r: V.value.dataLabelRoundingValue
2136
+ }), {
2137
+ datapoint: t,
2138
+ seriesIndex: n
2139
+ })), 9, ln))), 256))], 64))), 256))])) : y("", !0),
2140
+ Zn.value && z.value.length < Q.value.legend.length ? (T(), b("g", un, [(T(!0), b(_, null, D(Q.value.extremes.maxSeries, (e, t) => (T(), b("rect", {
2141
+ x: Q.value.drawingArea.left + t * Q.value.slotSize,
2142
+ y: Q.value.drawingArea.top,
2143
+ height: Q.value.drawingArea.height <= 0 ? 1e-5 : Q.value.drawingArea.height,
2144
+ width: Q.value.slotSize <= 0 ? 1e-5 : Q.value.slotSize,
2145
+ fill: [R.value, J.value].includes(t) ? V.value.xyHighlighterColor : "transparent",
2146
+ style: w(`opacity:${V.value.xyHighlighterOpacity}`),
2147
+ onMouseenter: (e) => Q.value.useTooltip(t, "pointer"),
2148
+ onMouseleave: (e) => Q.value.killTooltip(t),
2149
+ onClick: (e) => Q.value.selectDatapoint(t)
2150
+ }, null, 44, dn))), 256))])) : y("", !0)
2151
+ ], 64)) : y("", !0),
2152
+ [M.LINE, M.BAR].includes(K.value) ? (T(), b("g", fn, [
2153
+ V.value.xAxisLabel && K.value === M.LINE ? (T(), b("g", {
2154
+ key: 0,
2155
+ ref_key: "xAxisLabel",
2156
+ ref: Ln
2157
+ }, [x("text", {
2158
+ "font-size": V.value.axisLabelsFontSize,
2159
+ fill: V.value.color,
2160
+ "text-anchor": "middle",
2161
+ x: Z.value.drawingArea.left + Z.value.drawingArea.width / 2,
2162
+ y: q.value.height - V.value.axisLabelsFontSize / 3
2163
+ }, k(V.value.xAxisLabel), 9, pn)], 512)) : y("", !0),
2164
+ V.value.xAxisLabel && K.value === M.BAR ? (T(), b("g", {
2165
+ key: 1,
2166
+ ref_key: "xAxisLabel",
2167
+ ref: Ln
2168
+ }, [x("text", {
2169
+ "font-size": V.value.axisLabelsFontSize,
2170
+ fill: V.value.color,
2171
+ "text-anchor": "middle",
2172
+ x: Q.value.drawingArea.left + Q.value.drawingArea.width / 2,
2173
+ y: q.value.height - V.value.axisLabelsFontSize / 3
2174
+ }, k(V.value.xAxisLabel), 9, mn)], 512)) : y("", !0),
2175
+ V.value.yAxisLabel && K.value === M.LINE ? (T(), b("g", {
2176
+ key: 2,
2177
+ ref_key: "yAxisLabel",
2178
+ ref: Rn
2179
+ }, [x("text", {
2180
+ "font-size": V.value.axisLabelsFontSize,
2181
+ fill: V.value.color,
2182
+ transform: `translate(${V.value.axisLabelsFontSize}, ${Z.value.drawingArea.top + Z.value.drawingArea.height / 2}) rotate(-90)`,
2183
+ "text-anchor": "middle"
2184
+ }, k(V.value.yAxisLabel), 9, hn)], 512)) : y("", !0),
2185
+ V.value.yAxisLabel && K.value === M.BAR ? (T(), b("g", {
2186
+ key: 3,
2187
+ ref_key: "yAxisLabel",
2188
+ ref: Rn
2189
+ }, [x("text", {
2190
+ "font-size": V.value.axisLabelsFontSize,
2191
+ fill: V.value.color,
2192
+ transform: `translate(${V.value.axisLabelsFontSize}, ${Q.value.drawingArea.top + Q.value.drawingArea.height / 2}) rotate(-90)`,
2193
+ "text-anchor": "middle"
2194
+ }, k(V.value.yAxisLabel), 9, gn)], 512)) : y("", !0)
2195
+ ])) : y("", !0)
2196
+ ], 44, $e)) : y("", !0), e.$slots.hint ? (T(), b("div", _n, [O(e.$slots, "hint", C(S({
2197
+ hint: V.value.a11y.translations.keyboardNavigation,
2198
+ isVisible: Un.value
2199
+ })), void 0, !0)])) : y("", !0)]),
2200
+ e.$slots.watermark ? (T(), b("div", vn, [O(e.$slots, "watermark", C(S({ isPrinting: A(rr) || A(ir) })), void 0, !0)])) : y("", !0),
2201
+ [M.BAR, M.LINE].includes(K.value) && V.value.zoomXy && G.value.maxSeriesLength > 1 ? (T(), b("div", {
2202
+ key: `slicer_${Mn.value}`,
2203
+ ref_key: "quickChartSlicer",
2204
+ ref: En
2205
+ }, [(T(), Te(Se, {
2206
+ ref_key: "slicerComponent",
2207
+ ref: wr,
2208
+ key: `slicer_${Mn.value}`,
2209
+ background: V.value.zoomColor,
2210
+ borderColor: V.value.backgroundColor,
2211
+ fontSize: V.value.zoomFontSize,
2212
+ useResetSlot: V.value.zoomUseResetSlot,
2213
+ labelLeft: V.value.xyPeriods[X.value.start] && $.value[0] ? $.value[0].text : "",
2214
+ labelRight: V.value.xyPeriods[X.value.end - 1] && $.value?.length ? $.value.at(-1).text : "",
2215
+ textColor: V.value.color,
2216
+ inputColor: V.value.zoomColor,
2217
+ selectColor: V.value.zoomHighlightColor,
2218
+ max: G.value.maxSeriesLength,
2219
+ min: 0,
2220
+ valueStart: X.value.start,
2221
+ valueEnd: X.value.end,
2222
+ smoothMinimap: V.value.zoomMinimap.smooth,
2223
+ minimapSelectedColor: V.value.zoomMinimap.selectedColor,
2224
+ minimapSelectedColorOpacity: V.value.zoomMinimap.selectedColorOpacity,
2225
+ minimapSelectionRadius: V.value.zoomMinimap.selectionRadius,
2226
+ minimapLineColor: V.value.zoomMinimap.lineColor,
2227
+ minimap: Dr.value,
2228
+ minimapIndicatorColor: V.value.zoomMinimap.indicatorColor,
2229
+ verticalHandles: V.value.zoomMinimap.verticalHandles,
2230
+ minimapSelectedIndex: J.value,
2231
+ start: X.value.start,
2232
+ "onUpdate:start": t[0] ||= (e) => X.value.start = e,
2233
+ end: X.value.end,
2234
+ "onUpdate:end": t[1] ||= (e) => X.value.end = e,
2235
+ refreshStartPoint: V.value.zoomStartIndex === null ? 0 : V.value.zoomStartIndex,
2236
+ refreshEndPoint: V.value.zoomEndIndex === null ? G.value.maxSeriesLength : V.value.zoomEndIndex + 1,
2237
+ enableRangeHandles: V.value.zoomEnableRangeHandles,
2238
+ enableSelectionDrag: V.value.zoomEnableSelectionDrag,
2239
+ minimapCompact: V.value.zoomMinimap.compact,
2240
+ minimapMerged: V.value.zoomMinimap.merged,
2241
+ allMinimaps: Rr.value,
2242
+ minimapFrameColor: V.value.zoomMinimap.frameColor,
2243
+ additionalMinimapHeight: V.value.zoomMinimap.additionalHeight,
2244
+ handleType: V.value.zoomMinimap.handleType,
2245
+ handleWidth: V.value.zoomMinimap.handleWidth,
2246
+ handleBorderWidth: V.value.zoomMinimap.handleBorderWidth,
2247
+ handleIconColor: V.value.zoomMinimap.handleIconColor,
2248
+ handleBorderColor: V.value.zoomMinimap.handleBorderColor,
2249
+ handleFill: V.value.zoomMinimap.handleFill,
2250
+ focusOnDrag: V.value.zoomFocusOnDrag,
2251
+ focusRangeRatio: V.value.zoomFocusRangeRatio,
2252
+ maxWidth: V.value.zoomMaxWidth,
2253
+ onReset: Cr,
2254
+ onTrapMouse: xr
2255
+ }, {
2256
+ "reset-action": j(({ reset: t }) => [O(e.$slots, "reset-action", C(S({ reset: t })), void 0, !0)]),
2257
+ _: 3
2258
+ }, 8, /* @__PURE__ */ "background.borderColor.fontSize.useResetSlot.labelLeft.labelRight.textColor.inputColor.selectColor.max.valueStart.valueEnd.smoothMinimap.minimapSelectedColor.minimapSelectedColorOpacity.minimapSelectionRadius.minimapLineColor.minimap.minimapIndicatorColor.verticalHandles.minimapSelectedIndex.start.end.refreshStartPoint.refreshEndPoint.enableRangeHandles.enableSelectionDrag.minimapCompact.minimapMerged.allMinimaps.minimapFrameColor.additionalMinimapHeight.handleType.handleWidth.handleBorderWidth.handleIconColor.handleBorderColor.handleFill.focusOnDrag.focusRangeRatio.maxWidth".split(".")))])) : y("", !0),
2259
+ x("div", { id: `legend-bottom-${I.value}` }, null, 8, yn),
2260
+ Nn.value && V.value.showLegend ? (T(), Te(we, {
2261
+ key: 7,
2262
+ to: V.value.legendPosition === "top" ? `#legend-top-${I.value}` : `#legend-bottom-${I.value}`
2263
+ }, [V.value.showLegend ? (T(), b("div", {
2264
+ key: 0,
2265
+ ref_key: "quickChartLegend",
2266
+ ref: Tn,
2267
+ class: "vue-ui-quick-chart-legend",
2268
+ style: w(`background:transparent;color:${V.value.color}`)
2269
+ }, [
2270
+ (Y.value?.legend?.length > 2 || Z.value?.legend?.length > 2 || Q.value?.legend?.length > 2) && V.value.showLegendSelectAllToggle && !A(U) ? (T(), Te(ye, {
2271
+ key: 0,
2272
+ backgroundColor: V.value.legendSelectAllToggleBackgroundColor,
2273
+ color: V.value.legendSelectAllToggleColor,
2274
+ fontSize: V.value.legendFontSize,
2275
+ checked: z.value.length > 0,
2276
+ isCursorPointer: Bn.value,
2277
+ onToggle: hr
2278
+ }, null, 8, [
2279
+ "backgroundColor",
2280
+ "color",
2281
+ "fontSize",
2282
+ "checked",
2283
+ "isCursorPointer"
2284
+ ])) : y("", !0),
2285
+ K.value === M.DONUT ? (T(!0), b(_, { key: 1 }, D(Y.value.legend, (t, n) => (T(), b("div", {
2286
+ class: "vue-ui-quick-chart-legend-item",
2287
+ onClick: (e) => br(t, Y.value.dataset),
2288
+ style: w(`cursor: ${Y.value.legend.length > 1 && Bn.value ? "pointer" : "default"}; opacity:${z.value.includes(t.id) ? "0.5" : "1"}`),
2289
+ role: "button",
2290
+ tabindex: "0",
2291
+ onKeydown: (e) => {
2292
+ ni(e, () => {
2293
+ br(t, Y.value.dataset);
2294
+ });
2295
+ }
2296
+ }, [V.value.useCustomLegend ? O(e.$slots, "legend", ke({
2297
+ key: 0,
2298
+ ref_for: !0
2299
+ }, { legend: {
2300
+ ...t,
2301
+ isSegregated: z.value.includes(t.id),
2302
+ segregate: () => {
2303
+ br(t, Y.value.dataset);
2304
+ }
2305
+ } }), void 0, !0) : (T(), b(_, { key: 1 }, [
2306
+ De(A(Be), {
2307
+ name: V.value.legendIcon,
2308
+ stroke: t.color,
2309
+ size: V.value.legendIconSize
2310
+ }, null, 8, [
2311
+ "name",
2312
+ "stroke",
2313
+ "size"
2314
+ ]),
2315
+ x("span", { style: w(`font-size:${V.value.legendFontSize}px`) }, k(t.name), 5),
2316
+ x("span", { style: w(`font-size:${V.value.legendFontSize}px;font-variant-numeric:tabular-nums`) }, k(z.value.includes(t.id) ? "-" : A(f)(V.value.formatter, t.absoluteValue, A(h)({
2317
+ p: V.value.valuePrefix,
2318
+ v: t.absoluteValue,
2319
+ s: V.value.valueSuffix,
2320
+ r: V.value.dataLabelRoundingValue
2321
+ }), {
2322
+ datapoint: t,
2323
+ seriesIndex: n
2324
+ })), 5),
2325
+ z.value.includes(t.id) ? (T(), b("span", {
2326
+ key: 0,
2327
+ style: w(`font-size:${V.value.legendFontSize}px`)
2328
+ }, " ( - % ) ", 4)) : yr.value ? (T(), b("span", {
2329
+ key: 1,
2330
+ style: w(`font-size:${V.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
2331
+ }, " ( - % ) ", 4)) : (T(), b("span", {
2332
+ key: 2,
2333
+ style: w(`font-size:${V.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
2334
+ }, " (" + k(A(h)({
2335
+ v: t.value / Y.value.total * 100,
2336
+ s: "%",
2337
+ r: V.value.dataLabelRoundingPercentage
2338
+ })) + ") ", 5))
2339
+ ], 64))], 44, bn))), 256)) : y("", !0),
2340
+ K.value === M.LINE ? (T(!0), b(_, { key: 2 }, D(Z.value.legend, (t, n) => (T(), b("div", {
2341
+ class: "vue-ui-quick-chart-legend-item",
2342
+ onClick: (e) => {
2343
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2344
+ },
2345
+ style: w(`cursor: ${Z.value.legend.length > 1 && Bn.value ? "pointer" : "default"}; opacity:${z.value.includes(t.id) ? "0.5" : "1"}`),
2346
+ role: "button",
2347
+ tabindex: "0",
2348
+ onKeydown: (e) => {
2349
+ ni(e, () => {
2350
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2351
+ });
2352
+ }
2353
+ }, [V.value.useCustomLegend ? O(e.$slots, "legend", ke({
2354
+ key: 0,
2355
+ ref_for: !0
2356
+ }, { legend: {
2357
+ ...t,
2358
+ isSegregated: z.value.includes(t.id),
2359
+ segregate: () => {
2360
+ gr(t.id, Z.value.legend.length - 1), W("selectLegend", Z.value.dataset);
2361
+ }
2362
+ } }), void 0, !0) : (T(), b(_, { key: 1 }, [De(A(Be), {
2363
+ name: V.value.legendIcon,
2364
+ stroke: t.color,
2365
+ size: V.value.legendIconSize
2366
+ }, null, 8, [
2367
+ "name",
2368
+ "stroke",
2369
+ "size"
2370
+ ]), x("span", { style: w(`font-size:${V.value.legendFontSize}px`) }, k(t.name), 5)], 64))], 44, xn))), 256)) : y("", !0),
2371
+ K.value === M.BAR ? (T(!0), b(_, { key: 3 }, D(Q.value.legend, (t, n) => (T(), b("div", {
2372
+ class: "vue-ui-quick-chart-legend-item",
2373
+ onClick: (e) => {
2374
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2375
+ },
2376
+ style: w(`cursor: ${Q.value.legend.length > 1 && Bn.value ? "pointer" : "default"}; opacity:${z.value.includes(t.id) ? "0.5" : "1"}`),
2377
+ role: "button",
2378
+ tabindex: "0",
2379
+ onKeydown: (e) => {
2380
+ ni(e, () => {
2381
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2382
+ });
2383
+ }
2384
+ }, [V.value.useCustomLegend ? O(e.$slots, "legend", ke({
2385
+ key: 0,
2386
+ ref_for: !0
2387
+ }, { legend: {
2388
+ ...t,
2389
+ isSegregated: z.value.includes(t.id),
2390
+ segregate: () => {
2391
+ gr(t.id, Q.value.legend.length - 1), W("selectLegend", Q.value.dataset);
2392
+ }
2393
+ } }), void 0, !0) : (T(), b(_, { key: 1 }, [De(A(Be), {
2394
+ name: V.value.legendIcon,
2395
+ stroke: t.color,
2396
+ size: V.value.legendIconSize
2397
+ }, null, 8, [
2398
+ "name",
2399
+ "stroke",
2400
+ "size"
2401
+ ]), x("span", { style: w(`font-size:${V.value.legendFontSize}px`) }, k(t.name), 5)], 64))], 44, Sn))), 256)) : y("", !0)
2402
+ ], 4)) : y("", !0)], 8, ["to"])) : y("", !0),
2403
+ e.$slots.source ? (T(), b("div", {
2404
+ key: 8,
2405
+ ref_key: "source",
2406
+ ref: kn,
2407
+ dir: "auto"
2408
+ }, [O(e.$slots, "source", {}, void 0, !0)], 512)) : y("", !0),
2409
+ De(A(We), {
2410
+ teleportTo: V.value.tooltipTeleportTo,
2411
+ show: cr.value.showTooltip && L.value,
2412
+ backgroundColor: V.value.backgroundColor,
2413
+ color: V.value.color,
2414
+ borderRadius: V.value.tooltipBorderRadius,
2415
+ borderColor: V.value.tooltipBorderColor,
2416
+ borderWidth: V.value.tooltipBorderWidth,
2417
+ fontSize: V.value.tooltipFontSize,
2418
+ backgroundOpacity: V.value.tooltipBackgroundOpacity,
2419
+ position: V.value.tooltipPosition,
2420
+ offsetX: V.value.tooltipOffsetX,
2421
+ offsetY: V.value.tooltipOffsetY,
2422
+ parent: F.value,
2423
+ content: On.value,
2424
+ isFullscreen: Vr.value,
2425
+ isCustom: A(ae)(V.value.tooltipCustomFormat),
2426
+ smooth: V.value.tooltipSmooth,
2427
+ smoothForce: V.value.tooltipSmoothForce,
2428
+ smoothSnapThreshold: V.value.tooltipSmoothSnapThreshold,
2429
+ backdropFilter: V.value.tooltipBackdropFilter,
2430
+ isA11yMode: Hn.value === "keyboard",
2431
+ a11yPosition: Vn.value
2432
+ }, {
2433
+ "tooltip-before": j(() => [O(e.$slots, "tooltip-before", C(S({ ...Dn.value })), void 0, !0)]),
2434
+ tooltip: j(() => [O(e.$slots, "tooltip", C(S({ ...Dn.value })), void 0, !0)]),
2435
+ "tooltip-after": j(() => [O(e.$slots, "tooltip-after", C(S({ ...Dn.value })), void 0, !0)]),
2436
+ _: 3
2437
+ }, 8, [
2438
+ "teleportTo",
2439
+ "show",
2440
+ "backgroundColor",
2441
+ "color",
2442
+ "borderRadius",
2443
+ "borderColor",
2444
+ "borderWidth",
2445
+ "fontSize",
2446
+ "backgroundOpacity",
2447
+ "position",
2448
+ "offsetX",
2449
+ "offsetY",
2450
+ "parent",
2451
+ "content",
2452
+ "isFullscreen",
2453
+ "isCustom",
2454
+ "smooth",
2455
+ "smoothForce",
2456
+ "smoothSnapThreshold",
2457
+ "backdropFilter",
2458
+ "isA11yMode",
2459
+ "a11yPosition"
2460
+ ]),
2461
+ O(e.$slots, "skeleton", {}, () => [A(U) ? (T(), Te(ue, { key: 0 })) : y("", !0)], !0)
2462
+ ], 46, Ye)) : (T(), b("div", Cn, [De(A(Be), {
2463
+ name: "circleCancel",
2464
+ stroke: "red"
2465
+ }), t[5] ||= x("span", null, "Dataset is not processable", -1)]));
2466
+ }
2467
+ }, [["__scopeId", "data-v-a78997c2"]]);
2468
+ //#endregion
2469
+ export { F as n, wn as t };