vue-data-ui 3.22.13 → 3.23.0

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