vue-data-ui 3.22.7 → 3.22.9

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