vue-data-ui 2.3.27 → 2.3.29

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 (183) hide show
  1. package/README.md +17 -1
  2. package/dist/{Arrow-HROOtfWV.cjs → Arrow-B8z06v67.cjs} +1 -1
  3. package/dist/{Arrow-O38M_J_k.js → Arrow-Bh7WeO_g.js} +1 -1
  4. package/dist/{BaseIcon-D8FXGup9.js → BaseIcon-BG_bJS3R.js} +1 -1
  5. package/dist/{BaseIcon-CiO8gP9x.cjs → BaseIcon-DDCJA3rm.cjs} +1 -1
  6. package/dist/{DataTable-EqeVt-K-.js → DataTable-CsPidn0_.js} +23 -20
  7. package/dist/DataTable-Doh_4M84.cjs +1 -0
  8. package/dist/{Legend-C_lBCmBu.cjs → Legend-B20rRwGi.cjs} +1 -1
  9. package/dist/{Legend-8eVERYMn.js → Legend-CkQ_zypV.js} +1 -1
  10. package/dist/{Shape-DvcgW6uK.js → Shape-B4gGeBLI.js} +1 -1
  11. package/dist/{Shape-D8RdmYWq.cjs → Shape-B8O8_E6l.cjs} +1 -1
  12. package/dist/{Slicer-BvYL7yVK.cjs → Slicer-BXveU40S.cjs} +1 -1
  13. package/dist/{Slicer-CH_5wnFM.js → Slicer-DaEfxscP.js} +1 -1
  14. package/dist/{Title-B9iq63n1.cjs → Title-BU6E8Xld.cjs} +1 -1
  15. package/dist/{Title-C3Ez1ceq.js → Title-eBTH8iGJ.js} +1 -1
  16. package/dist/{Tooltip-7SRMoiu-.js → Tooltip-B11OahTD.js} +1 -1
  17. package/dist/{Tooltip-DcDEanxk.cjs → Tooltip-Oicp_EIo.cjs} +1 -1
  18. package/dist/documentation/installation.md +1 -1
  19. package/dist/{index-DiWO-_ca.js → index-BlXzlBwZ.js} +447 -364
  20. package/dist/index-hKWfT7Wa.cjs +4 -0
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +66 -0
  23. package/dist/types/vue-data-ui.d.ts +66 -0
  24. package/dist/{useNestedProp-DNX5EefQ.js → useNestedProp-BoNl5H_z.js} +1 -1
  25. package/dist/{useNestedProp-BtqgWTf9.cjs → useNestedProp-Cggpoz7e.cjs} +1 -1
  26. package/dist/{usePrinter-BD40aUzH.js → usePrinter-CZ8F5Cth.js} +1 -1
  27. package/dist/{usePrinter-Q1J--baX.cjs → usePrinter-DoYKBzst.cjs} +1 -1
  28. package/dist/{vue-data-ui-GHpxkf8a.js → vue-data-ui-BOqzG_nZ.js} +57 -57
  29. package/dist/{vue-data-ui-yd5q4Ura.cjs → vue-data-ui-CGgiWEo3.cjs} +1 -1
  30. package/dist/vue-data-ui.cjs +1 -1
  31. package/dist/vue-data-ui.js +6 -6
  32. package/dist/{vue-ui-3d-bar-CAmoj5dT.js → vue-ui-3d-bar-CjnVg4YI.js} +342 -294
  33. package/dist/vue-ui-3d-bar-CpntMt7p.cjs +19 -0
  34. package/dist/{vue-ui-accordion-ogVvFfQy.cjs → vue-ui-accordion-CTYvdLLH.cjs} +1 -1
  35. package/dist/{vue-ui-accordion-CiNdgRO9.js → vue-ui-accordion-wHRG3nXl.js} +3 -3
  36. package/dist/vue-ui-age-pyramid-DDiL1Zje.cjs +1 -0
  37. package/dist/{vue-ui-age-pyramid-BrTpbEha.js → vue-ui-age-pyramid-vmCwgRy9.js} +258 -219
  38. package/dist/{vue-ui-annotator-B9IqZ-Hy.js → vue-ui-annotator-9FGJdNLY.js} +1 -1
  39. package/dist/{vue-ui-annotator-QbetAXoj.cjs → vue-ui-annotator-DQ3wKf9n.cjs} +1 -1
  40. package/dist/{vue-ui-candlestick-BvRwlc3d.cjs → vue-ui-candlestick-6joQ9JKQ.cjs} +1 -1
  41. package/dist/{vue-ui-candlestick-XjjwFaDO.js → vue-ui-candlestick-DpMr2r0i.js} +9 -9
  42. package/dist/{vue-ui-carousel-table-DtxcnSEp.cjs → vue-ui-carousel-table-BV0EOLqU.cjs} +1 -1
  43. package/dist/{vue-ui-carousel-table-KYENY5gp.js → vue-ui-carousel-table-CgR4ADOz.js} +4 -4
  44. package/dist/{vue-ui-chestnut-DfIcguJd.js → vue-ui-chestnut-Ca2878kV.js} +439 -347
  45. package/dist/vue-ui-chestnut-CxoCcw_B.cjs +6 -0
  46. package/dist/{vue-ui-cursor-C4pJe90O.js → vue-ui-cursor-BW8C6oUc.js} +2 -2
  47. package/dist/{vue-ui-cursor-COS_MXr8.cjs → vue-ui-cursor-DxF_gXQf.cjs} +1 -1
  48. package/dist/{vue-ui-dashboard-DNOjWStr.cjs → vue-ui-dashboard-BGrVyITN.cjs} +1 -1
  49. package/dist/{vue-ui-dashboard-B_NUnxEF.js → vue-ui-dashboard-DN4nErBZ.js} +2 -2
  50. package/dist/{vue-ui-digits-uufqLbRt.js → vue-ui-digits-CmSFSs5S.js} +2 -2
  51. package/dist/{vue-ui-digits-Vx5prxaT.cjs → vue-ui-digits-CpSKBG2c.cjs} +1 -1
  52. package/dist/vue-ui-donut-BqfRwAIM.js +857 -0
  53. package/dist/vue-ui-donut-C29yXH3H.cjs +1 -0
  54. package/dist/vue-ui-donut-evolution-COFG73Xl.cjs +1 -0
  55. package/dist/vue-ui-donut-evolution-DIR7yBUC.js +839 -0
  56. package/dist/{vue-ui-dumbbell-z_Ck4W33.cjs → vue-ui-dumbbell-1NA60u3h.cjs} +2 -2
  57. package/dist/{vue-ui-dumbbell-KvrVLLw6.js → vue-ui-dumbbell-BASuPAvI.js} +202 -187
  58. package/dist/{vue-ui-flow-Dg4dkrcd.cjs → vue-ui-flow-DBK7d0DQ.cjs} +1 -1
  59. package/dist/{vue-ui-flow-BjMikE9b.js → vue-ui-flow-wq0aqc5r.js} +98 -93
  60. package/dist/vue-ui-galaxy-BgdVvk4N.cjs +1 -0
  61. package/dist/{vue-ui-galaxy-BdgveN18.js → vue-ui-galaxy-CFQ2hQAl.js} +180 -144
  62. package/dist/{vue-ui-gauge-D8pokfoA.cjs → vue-ui-gauge-C4_kEbgg.cjs} +1 -1
  63. package/dist/{vue-ui-gauge-D01FLnNz.js → vue-ui-gauge-CIN265dN.js} +158 -149
  64. package/dist/vue-ui-gizmo-BpT3iwC9.cjs +1 -0
  65. package/dist/{vue-ui-gizmo-Cp-EftjP.js → vue-ui-gizmo-DRXWEpqU.js} +63 -49
  66. package/dist/vue-ui-heatmap-CVD7FVfk.cjs +1 -0
  67. package/dist/vue-ui-heatmap-Dc0ft_Ga.js +644 -0
  68. package/dist/{vue-ui-kpi-D6rVKouk.js → vue-ui-kpi-DDL1TvBP.js} +19 -10
  69. package/dist/{vue-ui-kpi-PWurAGxE.cjs → vue-ui-kpi-WDZIt76s.cjs} +1 -1
  70. package/dist/{vue-ui-mini-loader-YV68i0nk.js → vue-ui-mini-loader-B2C5U55l.js} +2 -2
  71. package/dist/{vue-ui-mini-loader-BsypWozL.cjs → vue-ui-mini-loader-BcGSpUfg.cjs} +1 -1
  72. package/dist/{vue-ui-molecule-Bx3fXHnw.cjs → vue-ui-molecule-C5BmRi2R.cjs} +1 -1
  73. package/dist/{vue-ui-molecule-BWYCf3Km.js → vue-ui-molecule-CD3cPNOq.js} +9 -9
  74. package/dist/{vue-ui-mood-radar-DsZozq6x.js → vue-ui-mood-radar-D0KbeV5j.js} +213 -187
  75. package/dist/vue-ui-mood-radar-afS64zg-.cjs +1 -0
  76. package/dist/{vue-ui-nested-donuts-qaViBhR3.js → vue-ui-nested-donuts-BGoc1RFX.js} +295 -228
  77. package/dist/vue-ui-nested-donuts-D-TeyOtL.cjs +17 -0
  78. package/dist/{vue-ui-onion-0iFsjuLM.js → vue-ui-onion-B_khL0Kv.js} +230 -196
  79. package/dist/vue-ui-onion-CFdbWLu3.cjs +1 -0
  80. package/dist/{vue-ui-parallel-coordinate-plot-BkZOKTIS.cjs → vue-ui-parallel-coordinate-plot-BmXvVt8r.cjs} +2 -2
  81. package/dist/{vue-ui-parallel-coordinate-plot-DxDFs1Lb.js → vue-ui-parallel-coordinate-plot-CP4V0K8m.js} +87 -87
  82. package/dist/{vue-ui-quadrant-Tw7SKMbQ.js → vue-ui-quadrant-C1YbjeI7.js} +455 -397
  83. package/dist/vue-ui-quadrant-C6-A8Gx_.cjs +1 -0
  84. package/dist/vue-ui-quick-chart-ConXdEsU.cjs +15 -0
  85. package/dist/vue-ui-quick-chart-CtWhs_2c.js +1374 -0
  86. package/dist/{vue-ui-radar-D5FV2IDm.js → vue-ui-radar-B2vAPYa7.js} +237 -214
  87. package/dist/vue-ui-radar-DMJLLVWb.cjs +1 -0
  88. package/dist/{vue-ui-rating-DTWIh_CV.cjs → vue-ui-rating-DhZ0tltR.cjs} +1 -1
  89. package/dist/{vue-ui-rating-Dds9tjxd.js → vue-ui-rating-xGz4av68.js} +9 -9
  90. package/dist/{vue-ui-relation-circle-B2p8F7-L.js → vue-ui-relation-circle-BQK8wMQE.js} +5 -5
  91. package/dist/{vue-ui-relation-circle-Cu9lKkX3.cjs → vue-ui-relation-circle-hb4Q051h.cjs} +1 -1
  92. package/dist/vue-ui-rings-D1EW3d4M.cjs +2 -0
  93. package/dist/{vue-ui-rings-BKzCFSx-.js → vue-ui-rings-ZKjhNx5K.js} +191 -162
  94. package/dist/{vue-ui-scatter-CwV9l1P7.js → vue-ui-scatter-CHONk8k0.js} +437 -381
  95. package/dist/vue-ui-scatter-CMRe2b2K.cjs +1 -0
  96. package/dist/{vue-ui-screenshot-CnPWz57l.cjs → vue-ui-screenshot-DcKhT745.cjs} +1 -1
  97. package/dist/{vue-ui-screenshot-Bo6i-aRF.js → vue-ui-screenshot-DmGe5ptH.js} +6 -6
  98. package/dist/{vue-ui-skeleton-CeNL0kH-.js → vue-ui-skeleton-CJ2R5R6u.js} +37 -37
  99. package/dist/{vue-ui-skeleton-CcrGR_Vh.cjs → vue-ui-skeleton-j-IOiy5w.cjs} +1 -1
  100. package/dist/{vue-ui-smiley-BBcmwq4z.cjs → vue-ui-smiley-D5Jn6d5f.cjs} +1 -1
  101. package/dist/{vue-ui-smiley-BGMzw-SW.js → vue-ui-smiley-DXVcosKR.js} +2 -2
  102. package/dist/{vue-ui-spark-trend-DlvTlA9z.cjs → vue-ui-spark-trend-CWH3W7h3.cjs} +1 -1
  103. package/dist/{vue-ui-spark-trend-CSC9zmt7.js → vue-ui-spark-trend-Gg6TxR4m.js} +63 -58
  104. package/dist/vue-ui-sparkbar-BsoKTXr2.cjs +1 -0
  105. package/dist/vue-ui-sparkbar-DUx1qVzQ.js +280 -0
  106. package/dist/{vue-ui-sparkgauge-B5g5nxUh.cjs → vue-ui-sparkgauge-DPusPoRv.cjs} +1 -1
  107. package/dist/{vue-ui-sparkgauge-DJPt0cLe.js → vue-ui-sparkgauge-xrvp9g87.js} +60 -50
  108. package/dist/vue-ui-sparkhistogram---JRg2R1.cjs +1 -0
  109. package/dist/{vue-ui-sparkhistogram-DpvQcFls.js → vue-ui-sparkhistogram-DzYXMNj8.js} +99 -90
  110. package/dist/{vue-ui-sparkline-Bw3y-88R.cjs → vue-ui-sparkline-1Z6GnwoN.cjs} +1 -1
  111. package/dist/{vue-ui-sparkline-CDSg9rhl.js → vue-ui-sparkline-CGWePkVI.js} +114 -105
  112. package/dist/{vue-ui-sparkstackbar-Ckcir2dk.cjs → vue-ui-sparkstackbar-DCc68t8g.cjs} +1 -1
  113. package/dist/{vue-ui-sparkstackbar-DveNwcVx.js → vue-ui-sparkstackbar-DFgeRAbQ.js} +52 -47
  114. package/dist/{vue-ui-stackbar-CZUsUeZ_.js → vue-ui-stackbar-B0dWToaf.js} +211 -196
  115. package/dist/vue-ui-stackbar-Cz0mT8Mo.cjs +15 -0
  116. package/dist/{vue-ui-strip-plot-lVVqtsNc.js → vue-ui-strip-plot-BFqd-S7c.js} +213 -198
  117. package/dist/vue-ui-strip-plot-DZt1Wq20.cjs +1 -0
  118. package/dist/{vue-ui-table-qtBWpg0m.cjs → vue-ui-table-CMvyMuc4.cjs} +1 -1
  119. package/dist/{vue-ui-table-8hNkBy1z.js → vue-ui-table-DtwEoIzI.js} +9 -9
  120. package/dist/{vue-ui-table-heatmap-HgHQKSax.cjs → vue-ui-table-heatmap-3RSMOHkc.cjs} +1 -1
  121. package/dist/{vue-ui-table-heatmap-BAPA4nvf.js → vue-ui-table-heatmap-C8b3pE04.js} +12 -12
  122. package/dist/vue-ui-table-sparkline-BKOaVFtt.cjs +1 -0
  123. package/dist/vue-ui-table-sparkline-BrqhBv29.js +467 -0
  124. package/dist/vue-ui-thermometer-CKgIqM5y.cjs +1 -0
  125. package/dist/{vue-ui-thermometer-CcH1qmLq.js → vue-ui-thermometer-DMkLvJgE.js} +118 -108
  126. package/dist/{vue-ui-timer-C52mSn4m.cjs → vue-ui-timer-D7fvoR77.cjs} +1 -1
  127. package/dist/{vue-ui-timer-DJfYr02u.js → vue-ui-timer-RA9yfgBk.js} +8 -8
  128. package/dist/{vue-ui-tiremarks-CcLcd5oA.js → vue-ui-tiremarks-B_EncUi6.js} +79 -71
  129. package/dist/{vue-ui-tiremarks-dNuNMt_R.cjs → vue-ui-tiremarks-C7y6Mbxe.cjs} +1 -1
  130. package/dist/{vue-ui-treemap-BOz94BVK.js → vue-ui-treemap-BuGZgQsr.js} +274 -236
  131. package/dist/vue-ui-treemap-CfngjVUS.cjs +1 -0
  132. package/dist/vue-ui-vertical-bar-DKbq4bX4.cjs +4 -0
  133. package/dist/vue-ui-vertical-bar-T4bFd3JF.js +792 -0
  134. package/dist/vue-ui-waffle-BJFbhWnA.cjs +1 -0
  135. package/dist/vue-ui-waffle-CrxmrYsV.js +735 -0
  136. package/dist/{vue-ui-wheel-BVjbh4oM.cjs → vue-ui-wheel-BDRvKR1Z.cjs} +1 -1
  137. package/dist/{vue-ui-wheel-DMRiVkhu.js → vue-ui-wheel-DOyC7NgR.js} +73 -65
  138. package/dist/vue-ui-word-cloud-DBxVNlJ3.js +495 -0
  139. package/dist/vue-ui-word-cloud-Dmcelg3z.cjs +1 -0
  140. package/dist/{vue-ui-xy-CsFr8tix.js → vue-ui-xy-BIbvJSh2.js} +367 -288
  141. package/dist/vue-ui-xy-CVKaR90p.cjs +3 -0
  142. package/dist/vue-ui-xy-canvas-2AaNivzI.cjs +9 -0
  143. package/dist/{vue-ui-xy-canvas-Bb2Z3E-7.js → vue-ui-xy-canvas-CXVni3kC.js} +284 -259
  144. package/package.json +1 -1
  145. package/dist/DataTable-C6HTLT7L.cjs +0 -1
  146. package/dist/index-BQOxn6SH.cjs +0 -4
  147. package/dist/vue-ui-3d-bar-DkJ4c3HQ.cjs +0 -19
  148. package/dist/vue-ui-age-pyramid-CkKVbbl8.cjs +0 -1
  149. package/dist/vue-ui-chestnut-C7gFvKLJ.cjs +0 -6
  150. package/dist/vue-ui-donut-C33U3e8H.js +0 -751
  151. package/dist/vue-ui-donut-CeHnjIGu.cjs +0 -1
  152. package/dist/vue-ui-donut-evolution-IzfAVo5I.js +0 -805
  153. package/dist/vue-ui-donut-evolution-hHfvz1Yd.cjs +0 -1
  154. package/dist/vue-ui-galaxy-B8EoId23.cjs +0 -1
  155. package/dist/vue-ui-gizmo-8lKc8m8b.cjs +0 -1
  156. package/dist/vue-ui-heatmap-BEsvmj5R.js +0 -606
  157. package/dist/vue-ui-heatmap-DvpvKq3Q.cjs +0 -1
  158. package/dist/vue-ui-mood-radar-C6devC4e.cjs +0 -1
  159. package/dist/vue-ui-nested-donuts-BtT3VsSf.cjs +0 -16
  160. package/dist/vue-ui-onion-9ATTDUpw.cjs +0 -1
  161. package/dist/vue-ui-quadrant-DD4H_Dhk.cjs +0 -1
  162. package/dist/vue-ui-quick-chart-CpFHKtpm.js +0 -1318
  163. package/dist/vue-ui-quick-chart-D1udOl47.cjs +0 -13
  164. package/dist/vue-ui-radar-CZmJDj3q.cjs +0 -1
  165. package/dist/vue-ui-rings-DN7XmhKZ.cjs +0 -1
  166. package/dist/vue-ui-scatter-DJlC5mz4.cjs +0 -1
  167. package/dist/vue-ui-sparkbar-0CNZluKs.js +0 -257
  168. package/dist/vue-ui-sparkbar-Di-BPkJ0.cjs +0 -1
  169. package/dist/vue-ui-sparkhistogram-BhkYmR4U.cjs +0 -1
  170. package/dist/vue-ui-stackbar-jNWFgXiA.cjs +0 -15
  171. package/dist/vue-ui-strip-plot-CzHFNhr3.cjs +0 -1
  172. package/dist/vue-ui-table-sparkline-DZY_23mg.js +0 -420
  173. package/dist/vue-ui-table-sparkline-Q8y6tloS.cjs +0 -1
  174. package/dist/vue-ui-thermometer-Cbu9jVvC.cjs +0 -1
  175. package/dist/vue-ui-treemap-orjA7Y0U.cjs +0 -1
  176. package/dist/vue-ui-vertical-bar-BHIt5cjc.cjs +0 -4
  177. package/dist/vue-ui-vertical-bar-BquCm_UG.js +0 -745
  178. package/dist/vue-ui-waffle-CNlp7RTS.js +0 -650
  179. package/dist/vue-ui-waffle-Dv8pXiYm.cjs +0 -1
  180. package/dist/vue-ui-word-cloud-CHRE8f_k.js +0 -352
  181. package/dist/vue-ui-word-cloud-CZum_IjT.cjs +0 -1
  182. package/dist/vue-ui-xy-BOoG4xg8.cjs +0 -3
  183. package/dist/vue-ui-xy-canvas-BHa3-phi.cjs +0 -9
@@ -1,1318 +0,0 @@
1
- import { ref as P, computed as G, onMounted as Qe, onBeforeUnmount as et, openBlock as a, createElementBlock as l, normalizeClass as le, normalizeStyle as I, createBlock as Be, unref as _, createSlots as tt, withCtx as K, renderSlot as D, normalizeProps as H, guardReactiveProps as ve, createCommentVNode as x, toDisplayString as T, createElementVNode as S, Fragment as g, renderList as A, mergeProps as Le, createVNode as de, pushScopeId as at, popScopeId as lt } from "vue";
2
- import { u as ot, c as ut, t as it, a as nt, p as M, b as rt, d as ze, m as st, z as Ue, X as vt, i as dt, j as ce, k as $e, f as B, L as De, v as ke, w as Ce } from "./index-DiWO-_ca.js";
3
- import { t as ct, u as ht } from "./useResponsive-NZB-WLRF.js";
4
- import be from "./BaseIcon-D8FXGup9.js";
5
- import { _ as ft } from "./Tooltip-7SRMoiu-.js";
6
- import { u as gt, U as xt } from "./usePrinter-BD40aUzH.js";
7
- import { S as yt } from "./Slicer-CH_5wnFM.js";
8
- import { u as Ve } from "./useNestedProp-DNX5EefQ.js";
9
- import { _ as pt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
- const L = {
11
- LINE: "LINE",
12
- BAR: "BAR",
13
- DONUT: "DONUT"
14
- }, mt = ["SERIE", "SERIES", "DATA", "VALUE", "VALUES", "NUM"];
15
- function kt({ dataset: n, barLineSwitch: z = 6 }) {
16
- let f = null, F = null, V = 0;
17
- if ((typeof n == "number" || typeof n == "string") && console.warn(`The provided dataset (${n}) is not sufficient to build a chart`), he(n) && (oe(n) && (n.length < z ? f = L.BAR : f = L.LINE, F = n, V = n.length), Pe(n))) {
18
- if (!St(n))
19
- return console.warn("The objects in the dataset array have a different data structure. Either keys or value types are different."), !1;
20
- const ee = Object.keys(n[0]), ue = Object.values(n[0]);
21
- if (!ee.some((C) => wt(C)))
22
- return 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;
23
- qe(ue, (C) => typeof C == "number") && (f = L.DONUT, F = n), qe(ue, (C) => Array.isArray(C) && oe(C)) && (We(n) > z ? f = L.LINE : f = L.BAR, V = We(n), F = n.map((C) => ({
24
- ...C,
25
- data: _t(C, (j) => oe(j))
26
- }))), n = n.map((C) => je(C)), F = F.map((C) => je(C));
27
- }
28
- return he(n) && [...new Set(n.flatMap((ee) => Array.isArray(ee)))][0], {
29
- dataset: n,
30
- type: f,
31
- usableDataset: F,
32
- maxSeriesLength: V
33
- };
34
- }
35
- function Ge(n) {
36
- return !n || he(n) && !n.length;
37
- }
38
- function he(n) {
39
- return Array.isArray(n);
40
- }
41
- function oe(n) {
42
- if (!he(n) || Ge(n)) return !1;
43
- const z = n.map((f) => Number(f));
44
- return ![...new Set(z.flatMap((f) => typeof f == "number" && !isNaN(f)))].includes(!1);
45
- }
46
- function Pe(n) {
47
- return !he(n) || Ge(n) || !![...new Set(n.flatMap((f) => typeof f == "object" && !Array.isArray(f)))].includes(!1) ? !1 : !n.map((f) => Object.keys(f).length > 0).includes(!1);
48
- }
49
- function bt(n, z) {
50
- const f = Object.keys(n).sort(), F = Object.keys(z).sort();
51
- if (f.length !== F.length)
52
- return !1;
53
- for (let V = 0; V < f.length; V += 1) {
54
- const W = f[V], Q = F[V];
55
- if (W !== Q || typeof n[W] != typeof z[Q])
56
- return !1;
57
- }
58
- return !0;
59
- }
60
- function St(n) {
61
- if (n.length <= 1) return !0;
62
- for (let z = 0; z < n.length; z += 1)
63
- for (let f = z + 1; f < n.length; f += 1)
64
- if (!bt(n[z], n[f]))
65
- return !1;
66
- return !0;
67
- }
68
- function wt(n) {
69
- return mt.includes(n.toUpperCase());
70
- }
71
- function qe(n, z) {
72
- let f = [];
73
- for (let F = 0; F < n.length; F += 1)
74
- f.push(z(n[F]));
75
- return f.includes(!0);
76
- }
77
- function We(n) {
78
- return Math.max(...[...n].flatMap((z) => Object.values(z).filter((f) => oe(f)).map((f) => f.length)));
79
- }
80
- function _t(n, z) {
81
- return Object.values(n).filter((f) => z(f))[0];
82
- }
83
- function je(n) {
84
- const z = {};
85
- for (let f in n)
86
- n.hasOwnProperty(f) && (z[f.toUpperCase()] = n[f]);
87
- return z;
88
- }
89
- const He = (n) => (at("data-v-e62d13b6"), n = n(), lt(), n), At = ["id"], Lt = ["xmlns", "viewBox"], zt = ["id"], $t = ["id"], Ct = /* @__PURE__ */ He(() => /* @__PURE__ */ S("feColorMatrix", {
90
- type: "saturate",
91
- values: "0"
92
- }, null, -1)), Pt = ["id"], Tt = ["flood-color"], Et = {
93
- key: 0,
94
- class: "donut-label-connectors"
95
- }, Rt = ["d", "stroke", "stroke-width", "filter"], Ft = ["cx", "cy", "r", "fill"], It = ["cx", "cy", "r", "fill", "filter"], Ot = { class: "donut" }, Nt = ["d", "fill", "stroke", "stroke-width", "filter"], Mt = ["d", "onMouseenter", "onClick"], Bt = {
96
- key: 1,
97
- class: "donut-labels quick-animation"
98
- }, Ut = ["cx", "cy", "fill", "filter"], Dt = ["text-anchor", "x", "y", "fill", "font-size", "filter"], Vt = ["text-anchor", "x", "y", "fill", "font-size", "filter"], qt = {
99
- key: 2,
100
- class: "donut-hollow quick-animation"
101
- }, Wt = ["x", "y", "font-size", "fill"], jt = ["x", "y", "font-size", "fill"], Gt = {
102
- key: 0,
103
- class: "line-grid"
104
- }, Ht = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Xt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Yt = {
105
- key: 1,
106
- class: "line-axis"
107
- }, Zt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Jt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], Kt = {
108
- key: 2,
109
- class: "yLabels"
110
- }, Qt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ea = ["x", "y", "font-size", "fill"], ta = {
111
- key: 3,
112
- class: "periodLabels"
113
- }, aa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], la = ["font-size", "text-anchor", "fill", "transform"], oa = { class: "plots" }, ua = { class: "line-plot-series" }, ia = ["d", "stroke", "stroke-width"], na = ["d", "stroke", "stroke-width"], ra = ["d", "stroke", "stroke-width"], sa = ["d", "stroke", "stroke-width"], va = ["cx", "cy", "fill", "stroke"], da = {
114
- key: 4,
115
- class: "dataLabels"
116
- }, ca = ["font-size", "fill", "x", "y"], ha = { class: "tooltip-traps" }, fa = ["x", "y", "height", "width", "fill", "onMouseenter", "onClick"], ga = {
117
- key: 0,
118
- class: "line-grid"
119
- }, xa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ya = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], pa = {
120
- key: 1,
121
- class: "line-axis"
122
- }, ma = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ka = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ba = {
123
- key: 2,
124
- class: "yLabels"
125
- }, Sa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], wa = ["x", "y", "font-size", "fill"], _a = {
126
- key: 3,
127
- class: "periodLabels"
128
- }, Aa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], La = ["font-size", "text-anchor", "transform", "fill"], za = { class: "plots" }, $a = ["x", "width", "height", "y", "fill", "stroke", "stroke-width"], Ca = ["to"], Pa = ["from", "to"], Ta = {
129
- key: 4,
130
- class: "dataLabels"
131
- }, Ea = ["x", "y", "font-size", "fill"], Ra = { class: "tooltip-traps" }, Fa = ["x", "y", "height", "width", "fill", "onMouseenter", "onClick"], Ia = {
132
- key: 3,
133
- class: "axis-labels"
134
- }, Oa = { key: 0 }, Na = ["font-size", "fill", "x", "y"], Ma = { key: 1 }, Ba = ["font-size", "fill", "x", "y"], Ua = { key: 2 }, Da = ["font-size", "fill", "transform"], Va = { key: 3 }, qa = ["font-size", "fill", "transform"], Wa = {
135
- key: 2,
136
- class: "vue-data-ui-watermark"
137
- }, ja = ["onClick"], Ga = ["onClick"], Ha = ["onClick"], Xa = {
138
- key: 1,
139
- class: "vue-ui-quick-chart-not-processable"
140
- }, Ya = /* @__PURE__ */ He(() => /* @__PURE__ */ S("span", null, "Dataset is not processable", -1)), Za = {
141
- __name: "vue-ui-quick-chart",
142
- props: {
143
- config: {
144
- type: Object,
145
- default() {
146
- return {};
147
- }
148
- },
149
- dataset: {
150
- type: [Array, Object, String, Number],
151
- default() {
152
- return null;
153
- }
154
- }
155
- },
156
- emits: ["selectDatapoint", "selectLegend"],
157
- setup(n, { expose: z, emit: f }) {
158
- const F = n, { vue_ui_quick_chart: V } = ot(), W = P(null), Q = P(null), ee = P(null), ue = P(null), C = P(ut()), j = P(!1), ie = P(null), X = P(""), q = P(null), b = P([]), Te = P(0), Se = P(0), e = G(() => {
159
- const r = Ve({
160
- userConfig: F.config,
161
- defaultConfig: V
162
- });
163
- return r.theme ? {
164
- ...Ve({
165
- userConfig: it.vue_ui_quick_chart[r.theme] || F.config,
166
- defaultConfig: r
167
- }),
168
- customPalette: nt[r.theme] || M
169
- } : r;
170
- }), ne = G(() => rt(e.value.customPalette)), fe = G(() => {
171
- const r = kt({ dataset: F.dataset, barLineSwitch: e.value.chartIsBarUnderDatasetLength });
172
- return r || console.error("VueUiQuickChart : Dataset is not processable"), r;
173
- }), w = P(fe.value), Xe = G(() => !!w.value), E = G(() => w.value ? w.value.type : null), { isPrinting: ge, isImaging: xe, generatePdf: Ee, generateImage: Re } = gt({
174
- elementId: `${E.value}_${C.value}`,
175
- fileName: e.value.title || E.value
176
- }), m = P({
177
- width: e.value.width,
178
- height: e.value.height
179
- }), ye = P({
180
- showTooltip: e.value.showTooltip
181
- }), pe = P(null);
182
- Qe(() => {
183
- if (e.value.responsive) {
184
- const r = ct(() => {
185
- const { width: c, height: t } = ht({
186
- chart: W.value,
187
- title: e.value.title ? Q.value : null,
188
- legend: e.value.showLegend ? ee.value : null,
189
- slicer: [L.BAR, L.LINE].includes(E.value) && e.value.zoomXy && w.value.maxSeriesLength > 1 ? ue.value : null
190
- });
191
- m.value.width = c, m.value.height = t;
192
- });
193
- pe.value = new ResizeObserver(r), pe.value.observe(W.value.parentNode);
194
- }
195
- }), et(() => {
196
- pe.value && pe.value.disconnect();
197
- });
198
- const Ye = G(() => {
199
- switch (E.value) {
200
- case L.LINE:
201
- return `0 0 ${m.value.width <= 0 ? 10 : m.value.width} ${m.value.height <= 0 ? 10 : m.value.height}`;
202
- case L.BAR:
203
- return `0 0 ${m.value.width <= 0 ? 10 : m.value.width} ${m.value.height <= 0 ? 10 : m.value.height}`;
204
- case L.DONUT:
205
- return `0 0 ${m.value.width <= 0 ? 10 : m.value.width} ${m.value.height <= 0 ? 10 : m.value.height}`;
206
- default:
207
- return `0 0 ${m.value.width <= 0 ? 10 : m.value.width} ${m.value.height <= 0 ? 10 : m.value.height}`;
208
- }
209
- });
210
- function Fe(r) {
211
- return [...r].map((c) => c.value).reduce((c, t) => c + t, 0);
212
- }
213
- function re(r) {
214
- return e.value.blurOnHover && ![null, void 0].includes(q.value) && q.value !== r ? `url(#blur_${C.value})` : "";
215
- }
216
- function Ie(r, c) {
217
- b.value.includes(r) ? b.value = b.value.filter((t) => t !== r) : b.value.length < c && b.value.push(r);
218
- }
219
- const Oe = P(null), Ne = P(null), me = P(!1);
220
- function Ze(r, c) {
221
- me.value = !0;
222
- let t = r.value;
223
- if (b.value.includes(r.id)) {
224
- let v = function() {
225
- t > i ? (me.value = !1, cancelAnimationFrame(Ne.value), w.value = {
226
- ...w.value,
227
- dataset: w.value.dataset.map((h, O) => r.id === `donut_${O}` ? {
228
- ...h,
229
- value: i,
230
- VALUE: i
231
- } : h)
232
- }) : (t += i * 0.025, w.value = {
233
- ...w.value,
234
- dataset: w.value.dataset.map((h, O) => r.id === `donut_${O}` ? {
235
- ...h,
236
- value: t,
237
- VALUE: t
238
- } : h)
239
- }, Ne.value = requestAnimationFrame(v));
240
- };
241
- b.value = b.value.filter((h) => h !== r.id);
242
- const i = fe.value.dataset.find((h, O) => r.id === `donut_${O}`).VALUE;
243
- v();
244
- } else if (c.length > 1) {
245
- let i = function() {
246
- t < 0.1 ? (me.value = !1, cancelAnimationFrame(Oe.value), b.value.push(r.id), w.value = {
247
- ...w.value,
248
- dataset: w.value.dataset.map((v, h) => r.id === `donut_${h}` ? {
249
- ...v,
250
- value: 0,
251
- VALUE: 0
252
- } : v)
253
- }) : (t /= 1.1, w.value = {
254
- ...w.value,
255
- dataset: w.value.dataset.map((v, h) => r.id === `donut_${h}` ? {
256
- ...v,
257
- value: t,
258
- VALUE: t
259
- } : v)
260
- }, Oe.value = requestAnimationFrame(i));
261
- };
262
- i();
263
- }
264
- }
265
- const $ = G(() => {
266
- if (E.value !== L.DONUT) return null;
267
- const r = w.value.dataset.map((o, u) => ({
268
- ...o,
269
- value: o.VALUE || o.DATA || o.SERIE || o.VALUES || o.NUM || 0,
270
- name: o.NAME || o.DESCRIPTION || o.TITLE || o.LABEL || `Serie ${u}`,
271
- id: `donut_${u}`
272
- })).map((o, u) => ({
273
- ...o,
274
- color: o.COLOR ? ze(o.COLOR) : ne.value[u + e.value.paletteStartIndex] || M[u + e.value.paletteStartIndex] || M[(u + e.value.paletteStartIndex) % M.length],
275
- immutableValue: o.value
276
- }));
277
- function c(o, u) {
278
- return isNaN(o.value / Fe(u)) ? 0 : (o.value / Fe(u) * 100).toFixed(e.value.dataLabelRoundingPercentage) + "%";
279
- }
280
- function t(o) {
281
- return o.proportion * 100 > e.value.donutHideLabelUnderPercentage;
282
- }
283
- function i(o, u) {
284
- const p = fe.value.dataset.find((R, U) => `donut_${U}` === o).VALUE;
285
- return Math.abs(String(Number(p.toFixed(0))).length - String(Number(u.toFixed(0))).length);
286
- }
287
- function v({ datapoint: o, seriesIndex: u }) {
288
- ie.value = { datapoint: o, seriesIndex: u, config: e.value, dataset: r }, q.value = o.id;
289
- const p = e.value.tooltipCustomFormat;
290
- if (ke(p) && Ce(() => p({
291
- datapoint: o,
292
- seriesIndex: u,
293
- series: r,
294
- config: e.value
295
- })))
296
- X.value = p({
297
- datapoint: o,
298
- seriesIndex: u,
299
- series: r,
300
- config: e.value
301
- });
302
- else {
303
- let y = "";
304
- y += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${o.name}</div>`, y += `<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="${o.color}"/></svg>`, y += `<b>${B({ p: e.value.valuePrefix, v: o.value, s: e.value.valueSuffix, r: e.value.dataLabelRoundingValue })}</b>`, y += `<span>(${B({ v: o.proportion * 100, s: "%", r: e.value.dataLabelRoundingPercentage })})</span></div>`, X.value = `<div>${y}</div>`;
305
- }
306
- j.value = !0;
307
- }
308
- function h() {
309
- j.value = !1, q.value = null;
310
- }
311
- const O = {
312
- centerX: m.value.width / 2,
313
- centerY: m.value.height / 2
314
- }, N = r.filter((o) => !b.value.includes(o.id)).map((o) => o.value || 0).reduce((o, u) => o + u, 0), te = r.map((o, u) => ({
315
- ...o,
316
- proportion: (o.value || 0) / N,
317
- value: o.value || 0,
318
- absoluteValue: fe.value.dataset.find((p, y) => `donut_${y}` === o.id).VALUE
319
- })), Y = m.value.width / 2, ae = m.value.height / 2, Z = m.value.height * e.value.donutRadiusRatio;
320
- return {
321
- dataset: te.filter((o) => !b.value.includes(o.id)),
322
- legend: te,
323
- drawingArea: O,
324
- displayArcPercentage: c,
325
- isArcBigEnough: t,
326
- useTooltip: v,
327
- killTooltip: h,
328
- getSpaces: i,
329
- total: N,
330
- cx: Y,
331
- cy: ae,
332
- radius: Z,
333
- chart: st(
334
- { series: r.filter((o) => !b.value.includes(o.id)) },
335
- Y,
336
- ae,
337
- Z,
338
- Z,
339
- 1.99999,
340
- 2,
341
- 1,
342
- 360,
343
- 105.25,
344
- m.value.height * e.value.donutThicknessRatio
345
- )
346
- };
347
- }), k = P({
348
- start: 0,
349
- end: w.value.maxSeriesLength
350
- });
351
- function Je() {
352
- k.value = {
353
- start: 0,
354
- end: w.value.maxSeriesLength
355
- }, Se.value += 1;
356
- }
357
- const d = G(() => {
358
- if (E.value !== L.LINE) return null;
359
- const r = {
360
- height: m.value.height,
361
- width: m.value.width
362
- }, c = {
363
- left: e.value.xyPaddingLeft,
364
- top: e.value.xyPaddingTop,
365
- right: r.width - e.value.xyPaddingRight,
366
- bottom: r.height - e.value.xyPaddingBottom,
367
- width: r.width - e.value.xyPaddingLeft - e.value.xyPaddingRight,
368
- height: r.height - e.value.xyPaddingTop - e.value.xyPaddingBottom
369
- };
370
- let t = [];
371
- oe(w.value.dataset) && (t = [
372
- {
373
- values: w.value.dataset.slice(k.value.start, k.value.end),
374
- absoluteIndices: w.value.dataset.map((o, u) => u).slice(k.value.start, k.value.end),
375
- name: e.value.title,
376
- color: ne.value[e.value.paletteStartIndex] || M[e.value.paletteStartIndex],
377
- id: "line_0"
378
- }
379
- ]), Pe(w.value.dataset) && (t = w.value.dataset.map((o, u) => ({
380
- ...o,
381
- values: o.VALUE || o.DATA || o.SERIE || o.VALUES || o.NUM || 0,
382
- name: o.NAME || o.DESCRIPTION || o.TITLE || o.LABEL || `Serie ${u}`,
383
- id: `line_${u}`
384
- })).map((o, u) => ({
385
- ...o,
386
- color: o.COLOR ? ze(o.COLOR) : ne.value[u + e.value.paletteStartIndex] || M[u + e.value.paletteStartIndex] || M[(u + e.value.paletteStartIndex) % M.length],
387
- values: o.values.slice(k.value.start, k.value.end),
388
- absoluteIndices: o.values.map((p, y) => y).slice(k.value.start, k.value.end)
389
- })));
390
- const i = {
391
- max: Math.max(...t.filter((o) => !b.value.includes(o.id)).flatMap((o) => o.values)),
392
- min: Math.min(...t.filter((o) => !b.value.includes(o.id)).flatMap((o) => o.values)),
393
- maxSeries: Math.max(...t.map((o) => o.values.length))
394
- }, v = Ue(i.min < 0 ? i.min : 0, i.max < 0 ? 0 : i.max, e.value.xyScaleSegments), h = i.min < 0 ? Math.abs(i.min) : 0, O = i.max < 0 ? c.top : c.bottom - h / (v.max + h) * c.height, N = c.width / i.maxSeries, te = v.ticks.map((o) => ({
395
- y: c.bottom - c.height * ((o + h) / (v.max + h)),
396
- x: c.left - 8,
397
- value: o
398
- })), Y = t.map((o, u) => ({
399
- ...o,
400
- coordinates: o.values.map((p, y) => ({
401
- x: c.left + N * (y + 1) - N / 2,
402
- y: c.bottom - (p + h) / (v.max + h) * c.height,
403
- value: p
404
- }))
405
- })).map((o) => {
406
- let u = [];
407
- return o.coordinates.forEach((p) => {
408
- u.push(`${p.x},${p.y} `);
409
- }), {
410
- ...o,
411
- linePath: u.join(" ")
412
- };
413
- });
414
- function ae(o) {
415
- q.value = o;
416
- const u = t.map((y) => ({
417
- ...y,
418
- value: y.values[o],
419
- absoluteIndex: y.absoluteIndices[o]
420
- })).filter((y) => !b.value.includes(y.id));
421
- ie.value = { datapoint: u, seriesIndex: o, config: e.value, dataset: t };
422
- const p = e.value.tooltipCustomFormat;
423
- if (ke(p) && Ce(() => p({
424
- datapoint: u,
425
- seriesIndex: o,
426
- series: t,
427
- config: e.value
428
- })))
429
- X.value = p({
430
- datapoint: u,
431
- seriesIndex: o,
432
- series: t,
433
- config: e.value
434
- });
435
- else {
436
- let y = "";
437
- e.value.xyPeriods[u[0].absoluteIndex] && (y += `<div style="border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${e.value.xyPeriods[u[0].absoluteIndex]}</div>`), u.forEach((R) => {
438
- y += `
439
- <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
440
- <svg viewBox="0 0 12 12" height="14" width="12"><circle cx="6" cy="6" r="6" stroke="none" fill="${R.color}"/></svg>
441
- <span>${R.name}:</span>
442
- <b>${B({
443
- p: e.value.valuePrefix,
444
- v: R.value,
445
- s: e.value.valueSuffix,
446
- r: e.value.dataLabelRoundingValue
447
- })}</b>
448
- </div>
449
- `;
450
- }), X.value = y;
451
- }
452
- j.value = !0;
453
- }
454
- function Z() {
455
- q.value = null, j.value = !1;
456
- }
457
- return {
458
- absoluteZero: O,
459
- dataset: Y.filter((o) => !b.value.includes(o.id)),
460
- legend: Y,
461
- drawingArea: c,
462
- extremes: i,
463
- slotSize: N,
464
- yLabels: te,
465
- useTooltip: ae,
466
- killTooltip: Z
467
- };
468
- }), s = G(() => {
469
- if (E.value !== L.BAR) return null;
470
- const r = {
471
- height: m.value.height,
472
- width: m.value.width
473
- }, c = {
474
- left: e.value.xyPaddingLeft,
475
- top: e.value.xyPaddingTop,
476
- right: r.width - e.value.xyPaddingRight,
477
- bottom: r.height - e.value.xyPaddingBottom,
478
- width: r.width - e.value.xyPaddingLeft - e.value.xyPaddingRight,
479
- height: r.height - e.value.xyPaddingTop - e.value.xyPaddingBottom
480
- };
481
- let t = [];
482
- oe(w.value.dataset) && (t = [
483
- {
484
- values: w.value.dataset.slice(k.value.start, k.value.end),
485
- absoluteIndices: w.value.dataset.map((u, p) => p).slice(k.value.start, k.value.end),
486
- name: e.value.title,
487
- color: ne.value[e.value.paletteStartIndex] || M[e.value.paletteStartIndex],
488
- id: "bar_0"
489
- }
490
- ]), Pe(w.value.dataset) && (t = w.value.dataset.map((u, p) => ({
491
- ...u,
492
- values: u.VALUE || u.DATA || u.SERIE || u.VALUES || u.NUM || 0,
493
- name: u.NAME || u.DESCRIPTION || u.TITLE || u.LABEL || `Serie ${p}`,
494
- id: `bar_${p}`
495
- })).map((u, p) => ({
496
- ...u,
497
- color: u.COLOR ? ze(u.COLOR) : ne.value[p + e.value.paletteStartIndex] || M[p + e.value.paletteStartIndex] || M[(p + e.value.paletteStartIndex) % M.length],
498
- values: u.values.slice(k.value.start, k.value.end),
499
- absoluteIndices: u.values.map((y, R) => R).slice(k.value.start, k.value.end)
500
- })));
501
- const i = {
502
- max: Math.max(...t.filter((u) => !b.value.includes(u.id)).flatMap((u) => u.values)) < 0 ? 0 : Math.max(...t.filter((u) => !b.value.includes(u.id)).flatMap((u) => u.values)),
503
- min: Math.min(...t.filter((u) => !b.value.includes(u.id)).flatMap((u) => u.values)),
504
- maxSeries: Math.max(...t.filter((u) => !b.value.includes(u.id)).map((u) => u.values.length))
505
- }, v = Ue(i.min < 0 ? i.min : 0, i.max, e.value.xyScaleSegments), h = v.min < 0 ? Math.abs(v.min) : 0, O = c.bottom - h / (v.max + h) * c.height, N = c.width / i.maxSeries, te = v.ticks.map((u) => ({
506
- y: c.bottom - c.height * ((u + h) / (v.max + h)),
507
- x: c.left - 8,
508
- value: u
509
- })), Y = t.map((u, p) => ({
510
- ...u,
511
- coordinates: u.values.map((y, R) => {
512
- const U = (y + h) / (i.max + h) * c.height, _e = Math.abs(y) / Math.abs(i.min) * (c.height - O), Ae = h / (i.max + h) * c.height, se = N / t.filter((J) => !b.value.includes(J.id)).length - e.value.barGap / t.filter((J) => !b.value.includes(J.id)).length;
513
- return {
514
- x: c.left + N * R + se * p + e.value.barGap / 2,
515
- y: y > 0 ? c.bottom - U : O,
516
- height: y > 0 ? U - Ae : _e,
517
- value: y,
518
- width: se
519
- };
520
- })
521
- })), ae = t.filter((u) => !b.value.includes(u.id)).map((u, p) => ({
522
- ...u,
523
- coordinates: u.values.map((y, R) => {
524
- const U = (y + h) / (i.max + h) * c.height, _e = Math.abs(y) / (i.max + h) * c.height, Ae = h / (i.max + h) * c.height, se = N / t.filter((J) => !b.value.includes(J.id)).length - e.value.barGap / t.filter((J) => !b.value.includes(J.id)).length;
525
- return {
526
- x: c.left + N * R + se * p + e.value.barGap / 2,
527
- y: y > 0 ? c.bottom - U : O,
528
- height: y > 0 ? U - Ae : _e,
529
- value: y,
530
- width: se
531
- };
532
- })
533
- }));
534
- function Z(u) {
535
- q.value = u;
536
- const p = t.map((R) => ({
537
- ...R,
538
- value: R.values[u],
539
- absoluteIndex: R.absoluteIndices[u]
540
- })).filter((R) => !b.value.includes(R.id));
541
- ie.value = { datapoint: p, seriesIndex: u, config: e.value, dataset: t };
542
- const y = e.value.tooltipCustomFormat;
543
- if (ke(y) && Ce(() => y({
544
- datapoint: p,
545
- seriesIndex: u,
546
- series: t,
547
- config: e.value
548
- })))
549
- X.value = y({
550
- point: p,
551
- seriesIndex: u,
552
- series: t,
553
- config: e.value
554
- });
555
- else {
556
- let R = "";
557
- e.value.xyPeriods[p[0].absoluteIndex] && (R += `<div style="border-bottom:1px solid ${e.value.tooltipBorderColor};padding-bottom:6px;margin-bottom:3px;">${e.value.xyPeriods[p[0].absoluteIndex]}</div>`), p.forEach((U) => {
558
- R += `
559
- <div style="display:flex; flex-wrap: wrap; align-items:center; gap:3px;">
560
- <svg viewBox="0 0 12 12" height="14" width="12"><rect x=0 y="0" width="12" height="12" rx="1" stroke="none" fill="${U.color}"/></svg>
561
- <span>${U.name}:</span>
562
- <b>${B({
563
- p: e.value.valuePrefix,
564
- v: U.value,
565
- s: e.value.valueSuffix,
566
- r: e.value.dataLabelRoundingValue
567
- })}</b>
568
- </div>
569
- `;
570
- }), X.value = R;
571
- }
572
- j.value = !0;
573
- }
574
- function o() {
575
- j.value = !1, q.value = null;
576
- }
577
- return {
578
- absoluteZero: O,
579
- dataset: ae.filter((u) => !b.value.includes(u.id)),
580
- legend: Y,
581
- drawingArea: c,
582
- extremes: i,
583
- slotSize: N,
584
- yLabels: te,
585
- useTooltip: Z,
586
- killTooltip: o
587
- };
588
- }), we = P(!1);
589
- function Ke(r) {
590
- we.value = r, Te.value += 1;
591
- }
592
- function Me() {
593
- ye.value.showTooltip = !ye.value.showTooltip;
594
- }
595
- return z({
596
- generatePdf: Ee,
597
- generateImage: Re,
598
- toggleTooltip: Me
599
- }), (r, c) => Xe.value ? (a(), l("div", {
600
- key: 0,
601
- id: `${E.value}_${C.value}`,
602
- ref_key: "quickChart",
603
- ref: W,
604
- class: le({ "vue-ui-quick-chart": !0, "vue-data-ui-wrapper-fullscreen": we.value }),
605
- style: I(`background:${e.value.backgroundColor};color:${e.value.color};font-family:${e.value.fontFamily}; position: relative; ${e.value.responsive ? "height: 100%" : ""}`)
606
- }, [
607
- e.value.showUserOptions ? (a(), Be(xt, {
608
- ref: "details",
609
- key: `user_option_${Te.value}`,
610
- backgroundColor: e.value.backgroundColor,
611
- color: e.value.color,
612
- isPrinting: _(ge),
613
- isImaging: _(xe),
614
- uid: C.value,
615
- hasTooltip: e.value.userOptionsButtons.tooltip && e.value.showTooltip,
616
- hasPdf: e.value.userOptionsButtons.pdf,
617
- hasImg: e.value.userOptionsButtons.img,
618
- hasFullscreen: e.value.userOptionsButtons.fullscreen,
619
- hasXls: !1,
620
- isTooltip: ye.value.showTooltip,
621
- isFullscreen: we.value,
622
- titles: { ...e.value.userOptionsButtonTitles },
623
- chartElement: W.value,
624
- onToggleFullscreen: Ke,
625
- onGeneratePdf: _(Ee),
626
- onGenerateImage: _(Re),
627
- onToggleTooltip: Me
628
- }, tt({ _: 2 }, [
629
- r.$slots.optionTooltip ? {
630
- name: "optionTooltip",
631
- fn: K(() => [
632
- D(r.$slots, "optionTooltip", {}, void 0, !0)
633
- ]),
634
- key: "0"
635
- } : void 0,
636
- r.$slots.optionPdf ? {
637
- name: "optionPdf",
638
- fn: K(() => [
639
- D(r.$slots, "optionPdf", {}, void 0, !0)
640
- ]),
641
- key: "1"
642
- } : void 0,
643
- r.$slots.optionImg ? {
644
- name: "optionImg",
645
- fn: K(() => [
646
- D(r.$slots, "optionImg", {}, void 0, !0)
647
- ]),
648
- key: "2"
649
- } : void 0,
650
- r.$slots.optionFullscreen ? {
651
- name: "optionFullscreen",
652
- fn: K(({ toggleFullscreen: t, isFullscreen: i }) => [
653
- D(r.$slots, "optionFullscreen", H(ve({ toggleFullscreen: t, isFullscreen: i })), void 0, !0)
654
- ]),
655
- key: "3"
656
- } : void 0
657
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasFullscreen", "isTooltip", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : x("", !0),
658
- e.value.title ? (a(), l("div", {
659
- key: 1,
660
- ref_key: "quickChartTitle",
661
- ref: Q,
662
- class: "vue-ui-quick-chart-title",
663
- style: I(`background:${e.value.backgroundColor};color:${e.value.color};font-size:${e.value.titleFontSize}px;font-weight:${e.value.titleBold ? "bold" : "normal"};text-align:${e.value.titleTextAlign}`)
664
- }, T(e.value.title), 5)) : x("", !0),
665
- (a(), l("svg", {
666
- xmlns: _(vt),
667
- viewBox: Ye.value,
668
- style: I(`max-width:100%;overflow:visible;background:${e.value.backgroundColor};color:${e.value.color}`)
669
- }, [
670
- S("defs", null, [
671
- S("filter", {
672
- id: `blur_${C.value}`,
673
- x: "-50%",
674
- y: "-50%",
675
- width: "200%",
676
- height: "200%"
677
- }, [
678
- S("feGaussianBlur", {
679
- in: "SourceGraphic",
680
- stdDeviation: 2,
681
- id: `blur_std_${C.value}`
682
- }, null, 8, $t),
683
- Ct
684
- ], 8, zt),
685
- S("filter", {
686
- id: `shadow_${C.value}`,
687
- "color-interpolation-filters": "sRGB"
688
- }, [
689
- S("feDropShadow", {
690
- dx: "0",
691
- dy: "0",
692
- stdDeviation: "10",
693
- "flood-opacity": "0.5",
694
- "flood-color": e.value.donutShadowColor
695
- }, null, 8, Tt)
696
- ], 8, Pt)
697
- ]),
698
- E.value === L.DONUT ? (a(), l(g, { key: 0 }, [
699
- e.value.showDataLabels ? (a(), l("g", Et, [
700
- (a(!0), l(g, null, A($.value.chart, (t, i) => (a(), l(g, null, [
701
- $.value.isArcBigEnough(t) ? (a(), l("path", {
702
- key: 0,
703
- d: _(dt)(t, { x: (e.value.width || m.value.width) / 2, y: (e.value.height || m.value.height) / 2 }, 16, 16, !1, !1, e.value.donutLabelMarkerStrokeWidth),
704
- stroke: t.color,
705
- "stroke-width": e.value.donutLabelMarkerStrokeWidth,
706
- "stroke-linecap": "round",
707
- "stroke-linejoin": "round",
708
- fill: "none",
709
- filter: re(t.id)
710
- }, null, 8, Rt)) : x("", !0)
711
- ], 64))), 256))
712
- ])) : x("", !0),
713
- S("circle", {
714
- class: "donut-hollow",
715
- cx: (e.value.width || m.value.width) / 2,
716
- cy: (e.value.height || m.value.height) / 2,
717
- r: (e.value.height || m.value.height) * e.value.donutRadiusRatio,
718
- fill: e.value.backgroundColor
719
- }, null, 8, Ft),
720
- S("circle", {
721
- cx: $.value.cx,
722
- cy: $.value.cy,
723
- r: $.value.radius,
724
- fill: e.value.backgroundColor,
725
- filter: e.value.donutUseShadow ? `url(#shadow_${C.value})` : ""
726
- }, null, 8, It),
727
- S("g", Ot, [
728
- (a(!0), l(g, null, A($.value.chart, (t, i) => (a(), l("path", {
729
- d: t.arcSlice,
730
- fill: t.color,
731
- stroke: e.value.backgroundColor,
732
- "stroke-width": e.value.donutStrokeWidth,
733
- filter: re(t.id)
734
- }, null, 8, Nt))), 256)),
735
- (a(!0), l(g, null, A($.value.chart, (t, i) => (a(), l("path", {
736
- d: t.arcSlice,
737
- fill: "transparent",
738
- onMouseenter: (v) => $.value.useTooltip({ datapoint: t, seriesIndex: i }),
739
- onMouseout: c[0] || (c[0] = (v) => $.value.killTooltip()),
740
- onClick: (v) => f("selectDatapoint", t)
741
- }, null, 40, Mt))), 256))
742
- ]),
743
- e.value.showDataLabels ? (a(), l("g", Bt, [
744
- (a(!0), l(g, null, A($.value.chart, (t, i) => (a(), l(g, null, [
745
- $.value.isArcBigEnough(t) ? (a(), l("circle", {
746
- key: 0,
747
- cx: _(ce)(t).x,
748
- cy: _($e)(t) - 3.7,
749
- fill: t.color,
750
- r: 3,
751
- filter: re(t.id)
752
- }, null, 8, Ut)) : x("", !0),
753
- $.value.isArcBigEnough(t) ? (a(), l("text", {
754
- key: 1,
755
- "text-anchor": _(ce)(t, !0, 20).anchor,
756
- x: _(ce)(t, !0).x,
757
- y: _($e)(t),
758
- fill: e.value.color,
759
- "font-size": e.value.dataLabelFontSize,
760
- filter: re(t.id)
761
- }, T($.value.displayArcPercentage(t, $.value.chart)) + " (" + T(_(B)({
762
- p: e.value.valuePrefix,
763
- v: t.value,
764
- s: e.value.valueSuffix,
765
- r: e.value.dataLabelRoundingValue
766
- })) + ") ", 9, Dt)) : x("", !0),
767
- $.value.isArcBigEnough(t, !0, 20) ? (a(), l("text", {
768
- key: 2,
769
- "text-anchor": _(ce)(t).anchor,
770
- x: _(ce)(t, !0).x,
771
- y: _($e)(t) + e.value.dataLabelFontSize,
772
- fill: e.value.color,
773
- "font-size": e.value.dataLabelFontSize,
774
- filter: re(t.id)
775
- }, T(t.name), 9, Vt)) : x("", !0)
776
- ], 64))), 256))
777
- ])) : x("", !0),
778
- e.value.donutShowTotal ? (a(), l("g", qt, [
779
- S("text", {
780
- "text-anchor": "middle",
781
- x: $.value.drawingArea.centerX,
782
- y: $.value.drawingArea.centerY - e.value.donutTotalLabelFontSize / 2,
783
- "font-size": e.value.donutTotalLabelFontSize,
784
- fill: e.value.color
785
- }, T(e.value.donutTotalLabelText), 9, Wt),
786
- S("text", {
787
- "text-anchor": "middle",
788
- x: $.value.drawingArea.centerX,
789
- y: $.value.drawingArea.centerY + e.value.donutTotalLabelFontSize,
790
- "font-size": e.value.donutTotalLabelFontSize,
791
- fill: e.value.color
792
- }, T(_(B)({
793
- p: e.value.valuePrefix,
794
- v: $.value.total,
795
- s: e.value.valueSuffix,
796
- r: e.value.dataLabelRoundingValue
797
- })), 9, jt)
798
- ])) : x("", !0)
799
- ], 64)) : x("", !0),
800
- E.value === L.LINE ? (a(), l(g, { key: 1 }, [
801
- e.value.xyShowGrid ? (a(), l("g", Gt, [
802
- (a(!0), l(g, null, A(d.value.yLabels, (t) => (a(), l(g, null, [
803
- t.y <= d.value.drawingArea.bottom ? (a(), l("line", {
804
- key: 0,
805
- x1: d.value.drawingArea.left,
806
- x2: d.value.drawingArea.right,
807
- y1: t.y,
808
- y2: t.y,
809
- stroke: e.value.xyGridStroke,
810
- "stroke-width": e.value.xyGridStrokeWidth,
811
- "stroke-linecap": "round"
812
- }, null, 8, Ht)) : x("", !0)
813
- ], 64))), 256)),
814
- (a(!0), l(g, null, A(d.value.extremes.maxSeries + 1, (t, i) => (a(), l("line", {
815
- x1: d.value.drawingArea.left + d.value.slotSize * i,
816
- x2: d.value.drawingArea.left + d.value.slotSize * i,
817
- y1: d.value.drawingArea.top,
818
- y2: d.value.drawingArea.bottom,
819
- stroke: e.value.xyGridStroke,
820
- "stroke-width": e.value.xyGridStrokeWidth,
821
- "stroke-linecap": "round"
822
- }, null, 8, Xt))), 256))
823
- ])) : x("", !0),
824
- e.value.xyShowAxis ? (a(), l("g", Yt, [
825
- S("line", {
826
- x1: d.value.drawingArea.left,
827
- x2: d.value.drawingArea.left,
828
- y1: d.value.drawingArea.top,
829
- y2: d.value.drawingArea.bottom,
830
- stroke: e.value.xyAxisStroke,
831
- "stroke-width": e.value.xyAxisStrokeWidth,
832
- "stroke-linecap": "round"
833
- }, null, 8, Zt),
834
- S("line", {
835
- x1: d.value.drawingArea.left,
836
- x2: d.value.drawingArea.right,
837
- y1: d.value.absoluteZero,
838
- y2: d.value.absoluteZero,
839
- stroke: e.value.xyAxisStroke,
840
- "stroke-width": e.value.xyAxisStrokeWidth,
841
- "stroke-linecap": "round"
842
- }, null, 8, Jt)
843
- ])) : x("", !0),
844
- e.value.xyShowScale ? (a(), l("g", Kt, [
845
- (a(!0), l(g, null, A(d.value.yLabels, (t) => (a(), l(g, null, [
846
- t.y <= d.value.drawingArea.bottom ? (a(), l("line", {
847
- key: 0,
848
- x1: t.x + 4,
849
- x2: d.value.drawingArea.left,
850
- y1: t.y,
851
- y2: t.y,
852
- stroke: e.value.xyAxisStroke,
853
- "stroke-width": e.value.xyAxisStrokeWidth,
854
- "stroke-linecap": "round"
855
- }, null, 8, Qt)) : x("", !0),
856
- t.y <= d.value.drawingArea.bottom ? (a(), l("text", {
857
- key: 1,
858
- x: t.x,
859
- y: t.y + e.value.xyLabelsYFontSize / 3,
860
- "text-anchor": "end",
861
- "font-size": e.value.xyLabelsYFontSize,
862
- fill: e.value.color
863
- }, T(_(B)({
864
- p: e.value.valuePrefix,
865
- v: t.value,
866
- s: e.value.valueSuffix,
867
- r: e.value.dataLabelRoundingValue
868
- })), 9, ea)) : x("", !0)
869
- ], 64))), 256))
870
- ])) : x("", !0),
871
- e.value.xyShowScale && e.value.xyPeriods.length ? (a(), l("g", ta, [
872
- (a(!0), l(g, null, A(e.value.xyPeriods.slice(k.value.start, k.value.end), (t, i) => (a(), l("line", {
873
- x1: d.value.drawingArea.left + d.value.slotSize * (i + 1) - d.value.slotSize / 2,
874
- x2: d.value.drawingArea.left + d.value.slotSize * (i + 1) - d.value.slotSize / 2,
875
- y1: d.value.drawingArea.bottom,
876
- y2: d.value.drawingArea.bottom + 4,
877
- stroke: e.value.xyAxisStroke,
878
- "stroke-width": e.value.xyAxisStrokeWidth,
879
- "stroke-linecap": "round"
880
- }, null, 8, aa))), 256)),
881
- (a(!0), l(g, null, A(e.value.xyPeriods.slice(k.value.start, k.value.end), (t, i) => (a(), l("text", {
882
- "font-size": e.value.xyLabelsXFontSize,
883
- "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
884
- fill: e.value.color,
885
- transform: `translate(${d.value.drawingArea.left + d.value.slotSize * (i + 1) - d.value.slotSize / 2}, ${d.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}), rotate(${e.value.xyPeriodLabelsRotation})`
886
- }, T(t), 9, la))), 256))
887
- ])) : x("", !0),
888
- S("g", oa, [
889
- (a(!0), l(g, null, A(d.value.dataset, (t, i) => (a(), l("g", ua, [
890
- e.value.lineSmooth ? (a(), l(g, { key: 0 }, [
891
- S("path", {
892
- d: `M ${_(De)(t.coordinates)}`,
893
- stroke: e.value.backgroundColor,
894
- "stroke-width": e.value.lineStrokeWidth + 1,
895
- "stroke-linecap": "round",
896
- fill: "none",
897
- class: le({ "quick-animation": !0, "vue-data-ui-line-animated": e.value.lineAnimated }),
898
- style: { transition: "all 0.3s ease-in-out" }
899
- }, null, 10, ia),
900
- S("path", {
901
- d: `M ${_(De)(t.coordinates)}`,
902
- stroke: t.color,
903
- "stroke-width": e.value.lineStrokeWidth,
904
- "stroke-linecap": "round",
905
- fill: "none",
906
- class: le({ "quick-animation": !0, "vue-data-ui-line-animated": e.value.lineAnimated }),
907
- style: { transition: "all 0.3s ease-in-out" }
908
- }, null, 10, na)
909
- ], 64)) : (a(), l(g, { key: 1 }, [
910
- S("path", {
911
- d: `M ${t.linePath}`,
912
- stroke: e.value.backgroundColor,
913
- "stroke-width": e.value.lineStrokeWidth + 1,
914
- "stroke-linecap": "round",
915
- fill: "none",
916
- class: le({ "quick-animation": !0, "vue-data-ui-line-animated": e.value.lineAnimated }),
917
- style: { transition: "all 0.3s ease-in-out" }
918
- }, null, 10, ra),
919
- S("path", {
920
- d: `M ${t.linePath}`,
921
- stroke: t.color,
922
- "stroke-width": e.value.lineStrokeWidth,
923
- "stroke-linecap": "round",
924
- fill: "none",
925
- class: le({ "quick-animation": !0, "vue-data-ui-line-animated": e.value.lineAnimated }),
926
- style: { transition: "all 0.3s ease-in-out" }
927
- }, null, 10, sa)
928
- ], 64)),
929
- (a(!0), l(g, null, A(t.coordinates, (v, h) => (a(), l("circle", {
930
- cx: v.x,
931
- cy: v.y,
932
- r: 3,
933
- fill: t.color,
934
- stroke: e.value.backgroundColor,
935
- "stroke-width": "0.5",
936
- class: "quick-animation",
937
- style: { transition: "all 0.3s ease-in-out" }
938
- }, null, 8, va))), 256))
939
- ]))), 256))
940
- ]),
941
- e.value.showDataLabels ? (a(), l("g", da, [
942
- (a(!0), l(g, null, A(d.value.dataset, (t, i) => (a(), l(g, null, [
943
- (a(!0), l(g, null, A(t.coordinates, (v, h) => (a(), l("text", {
944
- "text-anchor": "middle",
945
- "font-size": e.value.dataLabelFontSize,
946
- fill: t.color,
947
- x: v.x,
948
- y: v.y - e.value.dataLabelFontSize / 2,
949
- class: "quick-animation",
950
- style: { transition: "all 0.3s ease-in-out" }
951
- }, T(_(B)({
952
- p: e.value.valuePrefix,
953
- v: v.value,
954
- s: e.value.valueSuffix,
955
- r: e.value.dataLabelRoundingValue
956
- })), 9, ca))), 256))
957
- ], 64))), 256))
958
- ])) : x("", !0),
959
- S("g", ha, [
960
- (a(!0), l(g, null, A(d.value.extremes.maxSeries, (t, i) => (a(), l("rect", {
961
- x: d.value.drawingArea.left + i * d.value.slotSize,
962
- y: d.value.drawingArea.top,
963
- height: d.value.drawingArea.height <= 0 ? 1e-5 : d.value.drawingArea.height,
964
- width: d.value.slotSize <= 0 ? 1e-5 : d.value.slotSize,
965
- fill: q.value === i ? e.value.xyHighlighterColor : "transparent",
966
- style: I(`opacity:${e.value.xyHighlighterOpacity}`),
967
- onMouseenter: (v) => d.value.useTooltip(i),
968
- onMouseleave: c[1] || (c[1] = (v) => d.value.killTooltip()),
969
- onClick: (v) => f("selectDatapoint", d.value.dataset.map((h) => ({
970
- ...h,
971
- value: h.values[i]
972
- })))
973
- }, null, 44, fa))), 256))
974
- ])
975
- ], 64)) : x("", !0),
976
- E.value === L.BAR ? (a(), l(g, { key: 2 }, [
977
- e.value.xyShowGrid ? (a(), l("g", ga, [
978
- (a(!0), l(g, null, A(s.value.yLabels, (t) => (a(), l(g, null, [
979
- t.y <= s.value.drawingArea.bottom ? (a(), l("line", {
980
- key: 0,
981
- x1: s.value.drawingArea.left,
982
- x2: s.value.drawingArea.right,
983
- y1: t.y,
984
- y2: t.y,
985
- stroke: e.value.xyGridStroke,
986
- "stroke-width": e.value.xyGridStrokeWidth,
987
- "stroke-linecap": "round"
988
- }, null, 8, xa)) : x("", !0)
989
- ], 64))), 256)),
990
- (a(!0), l(g, null, A(s.value.extremes.maxSeries + 1, (t, i) => (a(), l("line", {
991
- x1: s.value.drawingArea.left + s.value.slotSize * i,
992
- x2: s.value.drawingArea.left + s.value.slotSize * i,
993
- y1: s.value.drawingArea.top,
994
- y2: s.value.drawingArea.bottom,
995
- stroke: e.value.xyGridStroke,
996
- "stroke-width": e.value.xyGridStrokeWidth,
997
- "stroke-linecap": "round"
998
- }, null, 8, ya))), 256))
999
- ])) : x("", !0),
1000
- e.value.xyShowAxis ? (a(), l("g", pa, [
1001
- S("line", {
1002
- x1: s.value.drawingArea.left,
1003
- x2: s.value.drawingArea.left,
1004
- y1: s.value.drawingArea.top,
1005
- y2: s.value.drawingArea.bottom,
1006
- stroke: e.value.xyAxisStroke,
1007
- "stroke-width": e.value.xyAxisStrokeWidth,
1008
- "stroke-linecap": "round"
1009
- }, null, 8, ma),
1010
- S("line", {
1011
- x1: s.value.drawingArea.left,
1012
- x2: s.value.drawingArea.right,
1013
- y1: s.value.absoluteZero,
1014
- y2: s.value.absoluteZero,
1015
- stroke: e.value.xyAxisStroke,
1016
- "stroke-width": e.value.xyAxisStrokeWidth,
1017
- "stroke-linecap": "round"
1018
- }, null, 8, ka)
1019
- ])) : x("", !0),
1020
- e.value.xyShowScale ? (a(), l("g", ba, [
1021
- (a(!0), l(g, null, A(s.value.yLabels, (t) => (a(), l(g, null, [
1022
- t.y <= s.value.drawingArea.bottom ? (a(), l("line", {
1023
- key: 0,
1024
- x1: t.x + 4,
1025
- x2: s.value.drawingArea.left,
1026
- y1: t.y,
1027
- y2: t.y,
1028
- stroke: e.value.xyAxisStroke,
1029
- "stroke-width": e.value.xyAxisStrokeWidth,
1030
- "stroke-linecap": "round"
1031
- }, null, 8, Sa)) : x("", !0),
1032
- t.y <= s.value.drawingArea.bottom ? (a(), l("text", {
1033
- key: 1,
1034
- x: t.x,
1035
- y: t.y + e.value.xyLabelsYFontSize / 3,
1036
- "text-anchor": "end",
1037
- "font-size": e.value.xyLabelsYFontSize,
1038
- fill: e.value.color
1039
- }, T(_(B)({
1040
- p: e.value.valuePrefix,
1041
- v: t.value,
1042
- s: e.value.valueSuffix,
1043
- r: e.value.dataLabelRoundingValue
1044
- })), 9, wa)) : x("", !0)
1045
- ], 64))), 256))
1046
- ])) : x("", !0),
1047
- e.value.xyShowScale && e.value.xyPeriods.length ? (a(), l("g", _a, [
1048
- (a(!0), l(g, null, A(e.value.xyPeriods.slice(k.value.start, k.value.end), (t, i) => (a(), l("line", {
1049
- x1: s.value.drawingArea.left + s.value.slotSize * (i + 1) - s.value.slotSize / 2,
1050
- x2: s.value.drawingArea.left + s.value.slotSize * (i + 1) - s.value.slotSize / 2,
1051
- y1: s.value.drawingArea.bottom,
1052
- y2: s.value.drawingArea.bottom + 4,
1053
- stroke: e.value.xyAxisStroke,
1054
- "stroke-width": e.value.xyAxisStrokeWidth,
1055
- "stroke-linecap": "round"
1056
- }, null, 8, Aa))), 256)),
1057
- (a(!0), l(g, null, A(e.value.xyPeriods.slice(k.value.start, k.value.end), (t, i) => (a(), l("text", {
1058
- "font-size": e.value.xyLabelsXFontSize,
1059
- "text-anchor": e.value.xyPeriodLabelsRotation > 0 ? "start" : e.value.xyPeriodLabelsRotation < 0 ? "end" : "middle",
1060
- transform: `translate(${s.value.drawingArea.left + s.value.slotSize * (i + 1) - s.value.slotSize / 2}, ${s.value.drawingArea.bottom + e.value.xyLabelsXFontSize + 6}) rotate(${e.value.xyPeriodLabelsRotation})`,
1061
- fill: e.value.color
1062
- }, T(t), 9, La))), 256))
1063
- ])) : x("", !0),
1064
- S("g", za, [
1065
- (a(!0), l(g, null, A(s.value.dataset, (t, i) => (a(), l(g, null, [
1066
- (a(!0), l(g, null, A(t.coordinates, (v, h) => (a(), l("rect", {
1067
- x: v.x,
1068
- width: v.width <= 0 ? 1e-5 : v.width,
1069
- height: v.height <= 0 ? 1e-5 : v.height,
1070
- y: v.y,
1071
- fill: t.color,
1072
- stroke: e.value.backgroundColor,
1073
- "stroke-width": e.value.barStrokeWidth,
1074
- "stroke-linecap": "round",
1075
- class: le({ "vue-data-ui-bar-animated": e.value.barAnimated && v.value < 0 })
1076
- }, [
1077
- e.value.barAnimated && v.value > 0 && !_(ge) && !_(xe) ? (a(), l("animate", {
1078
- key: 0,
1079
- attributeName: "height",
1080
- from: 0,
1081
- to: v.height,
1082
- dur: "0.5s"
1083
- }, null, 8, Ca)) : x("", !0),
1084
- e.value.barAnimated && v.value > 0 && !_(ge) && !_(xe) ? (a(), l("animate", {
1085
- key: 1,
1086
- attributeName: "y",
1087
- from: s.value.absoluteZero,
1088
- to: s.value.absoluteZero - v.height,
1089
- dur: "0.5s"
1090
- }, null, 8, Pa)) : x("", !0)
1091
- ], 10, $a))), 256))
1092
- ], 64))), 256))
1093
- ]),
1094
- e.value.showDataLabels ? (a(), l("g", Ta, [
1095
- (a(!0), l(g, null, A(s.value.dataset, (t, i) => (a(), l(g, null, [
1096
- (a(!0), l(g, null, A(t.coordinates, (v, h) => (a(), l("text", {
1097
- x: v.x + v.width / 2,
1098
- y: v.y - e.value.dataLabelFontSize / 2,
1099
- "text-anchor": "middle",
1100
- "font-size": e.value.dataLabelFontSize,
1101
- fill: t.color,
1102
- class: "quick-animation"
1103
- }, T(_(B)({
1104
- p: e.value.valuePrefix,
1105
- v: v.value,
1106
- s: e.value.valueSuffix,
1107
- r: e.value.dataLabelRoundingValue
1108
- })), 9, Ea))), 256))
1109
- ], 64))), 256))
1110
- ])) : x("", !0),
1111
- S("g", Ra, [
1112
- (a(!0), l(g, null, A(s.value.extremes.maxSeries, (t, i) => (a(), l("rect", {
1113
- x: s.value.drawingArea.left + i * s.value.slotSize,
1114
- y: s.value.drawingArea.top,
1115
- height: s.value.drawingArea.height <= 0 ? 1e-5 : s.value.drawingArea.height,
1116
- width: s.value.slotSize <= 0 ? 1e-5 : s.value.slotSize,
1117
- fill: q.value === i ? e.value.xyHighlighterColor : "transparent",
1118
- style: I(`opacity:${e.value.xyHighlighterOpacity}`),
1119
- onMouseenter: (v) => s.value.useTooltip(i),
1120
- onMouseleave: c[2] || (c[2] = (v) => s.value.killTooltip()),
1121
- onClick: (v) => f("selectDatapoint", s.value.dataset.map((h) => ({
1122
- ...h,
1123
- value: h.values[i]
1124
- })))
1125
- }, null, 44, Fa))), 256))
1126
- ])
1127
- ], 64)) : x("", !0),
1128
- [L.LINE, L.BAR].includes(E.value) ? (a(), l("g", Ia, [
1129
- e.value.xAxisLabel && E.value === L.LINE ? (a(), l("g", Oa, [
1130
- S("text", {
1131
- "font-size": e.value.axisLabelsFontSize,
1132
- fill: e.value.color,
1133
- "text-anchor": "middle",
1134
- x: d.value.drawingArea.left + d.value.drawingArea.width / 2,
1135
- y: m.value.height - e.value.axisLabelsFontSize / 3
1136
- }, T(e.value.xAxisLabel), 9, Na)
1137
- ])) : x("", !0),
1138
- e.value.xAxisLabel && E.value === L.BAR ? (a(), l("g", Ma, [
1139
- S("text", {
1140
- "font-size": e.value.axisLabelsFontSize,
1141
- fill: e.value.color,
1142
- "text-anchor": "middle",
1143
- x: s.value.drawingArea.left + s.value.drawingArea.width / 2,
1144
- y: m.value.height - e.value.axisLabelsFontSize / 3
1145
- }, T(e.value.xAxisLabel), 9, Ba)
1146
- ])) : x("", !0),
1147
- e.value.yAxisLabel && E.value === L.LINE ? (a(), l("g", Ua, [
1148
- S("text", {
1149
- "font-size": e.value.axisLabelsFontSize,
1150
- fill: e.value.color,
1151
- transform: `translate(${e.value.axisLabelsFontSize}, ${d.value.drawingArea.top + d.value.drawingArea.height / 2}) rotate(-90)`,
1152
- "text-anchor": "middle"
1153
- }, T(e.value.yAxisLabel), 9, Da)
1154
- ])) : x("", !0),
1155
- e.value.yAxisLabel && E.value === L.BAR ? (a(), l("g", Va, [
1156
- S("text", {
1157
- "font-size": e.value.axisLabelsFontSize,
1158
- fill: e.value.color,
1159
- transform: `translate(${e.value.axisLabelsFontSize}, ${s.value.drawingArea.top + s.value.drawingArea.height / 2}) rotate(-90)`,
1160
- "text-anchor": "middle"
1161
- }, T(e.value.yAxisLabel), 9, qa)
1162
- ])) : x("", !0)
1163
- ])) : x("", !0)
1164
- ], 12, Lt)),
1165
- r.$slots.watermark ? (a(), l("div", Wa, [
1166
- D(r.$slots, "watermark", H(ve({ isPrinting: _(ge) || _(xe) })), void 0, !0)
1167
- ])) : x("", !0),
1168
- [L.BAR, L.LINE].includes(E.value) && e.value.zoomXy && w.value.maxSeriesLength > 1 ? (a(), l("div", {
1169
- key: `slicer_${Se.value}`,
1170
- ref_key: "quickChartSlicer",
1171
- ref: ue
1172
- }, [
1173
- (a(), Be(yt, {
1174
- key: `slicer_${Se.value}`,
1175
- background: e.value.zoomColor,
1176
- borderColor: e.value.backgroundColor,
1177
- fontSize: e.value.zoomFontSize,
1178
- useResetSlot: e.value.zoomUseResetSlot,
1179
- labelLeft: e.value.xyPeriods[k.value.start] ? e.value.xyPeriods[k.value.start] : "",
1180
- labelRight: e.value.xyPeriods[k.value.end - 1] ? e.value.xyPeriods[k.value.end - 1] : "",
1181
- textColor: e.value.color,
1182
- inputColor: e.value.zoomColor,
1183
- selectColor: e.value.zoomHighlightColor,
1184
- max: w.value.maxSeriesLength,
1185
- min: 0,
1186
- valueStart: k.value.start,
1187
- valueEnd: k.value.end,
1188
- start: k.value.start,
1189
- "onUpdate:start": c[3] || (c[3] = (t) => k.value.start = t),
1190
- end: k.value.end,
1191
- "onUpdate:end": c[4] || (c[4] = (t) => k.value.end = t),
1192
- onReset: Je
1193
- }, {
1194
- "reset-action": K(({ reset: t }) => [
1195
- D(r.$slots, "reset-action", H(ve({ reset: t })), void 0, !0)
1196
- ]),
1197
- _: 3
1198
- }, 8, ["background", "borderColor", "fontSize", "useResetSlot", "labelLeft", "labelRight", "textColor", "inputColor", "selectColor", "max", "valueStart", "valueEnd", "start", "end"]))
1199
- ])) : x("", !0),
1200
- e.value.showLegend ? (a(), l("div", {
1201
- key: 4,
1202
- ref_key: "quickChartLegend",
1203
- ref: ee,
1204
- class: "vue-ui-quick-chart-legend",
1205
- style: I(`background:${e.value.backgroundColor};color:${e.value.color}`)
1206
- }, [
1207
- E.value === L.DONUT ? (a(!0), l(g, { key: 0 }, A($.value.legend, (t, i) => (a(), l("div", {
1208
- class: "vue-ui-quick-chart-legend-item",
1209
- onClick: (v) => {
1210
- Ze(t, $.value.dataset), f("selectLegend", t);
1211
- },
1212
- style: I(`cursor: ${$.value.legend.length > 1 ? "pointer" : "default"}; opacity:${b.value.includes(t.id) ? "0.5" : "1"}`)
1213
- }, [
1214
- e.value.useCustomLegend ? D(r.$slots, "legend", H(Le({ key: 0 }, { legend: t })), void 0, !0) : (a(), l(g, { key: 1 }, [
1215
- de(be, {
1216
- name: e.value.legendIcon,
1217
- stroke: t.color,
1218
- size: e.value.legendIconSize
1219
- }, null, 8, ["name", "stroke", "size"]),
1220
- S("span", {
1221
- style: I(`font-size:${e.value.legendFontSize}px`)
1222
- }, T(t.name), 5),
1223
- S("span", {
1224
- style: I(`font-size:${e.value.legendFontSize}px;font-variant-numeric:tabular-nums`)
1225
- }, T(b.value.includes(t.id) ? "-" : _(B)({
1226
- p: e.value.valuePrefix,
1227
- v: t.absoluteValue,
1228
- s: e.value.valueSuffix,
1229
- r: e.value.dataLabelRoundingValue
1230
- })), 5),
1231
- b.value.includes(t.id) ? (a(), l("span", {
1232
- key: 0,
1233
- style: I(`font-size:${e.value.legendFontSize}px`)
1234
- }, " ( - % ) ", 4)) : me.value ? (a(), l("span", {
1235
- key: 1,
1236
- style: I(`font-size:${e.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
1237
- }, " ( - % ) ", 4)) : (a(), l("span", {
1238
- key: 2,
1239
- style: I(`font-size:${e.value.legendFontSize}px; font-variant-numeric: tabular-nums;`)
1240
- }, " (" + T(_(B)({
1241
- v: t.value / $.value.total * 100,
1242
- s: "%",
1243
- r: e.value.dataLabelRoundingPercentage
1244
- })) + ") ", 5))
1245
- ], 64))
1246
- ], 12, ja))), 256)) : x("", !0),
1247
- E.value === L.LINE ? (a(!0), l(g, { key: 1 }, A(d.value.legend, (t, i) => (a(), l("div", {
1248
- class: "vue-ui-quick-chart-legend-item",
1249
- onClick: (v) => {
1250
- Ie(t.id, d.value.legend.length - 1), f("selectLegend", t);
1251
- },
1252
- style: I(`cursor: ${d.value.legend.length > 1 ? "pointer" : "default"}; opacity:${b.value.includes(t.id) ? "0.5" : "1"}`)
1253
- }, [
1254
- e.value.useCustomLegend ? D(r.$slots, "legend", H(Le({ key: 0 }, { legend: t })), void 0, !0) : (a(), l(g, { key: 1 }, [
1255
- de(be, {
1256
- name: e.value.legendIcon,
1257
- stroke: t.color,
1258
- size: e.value.legendIconSize
1259
- }, null, 8, ["name", "stroke", "size"]),
1260
- S("span", {
1261
- style: I(`font-size:${e.value.legendFontSize}px`)
1262
- }, T(t.name), 5)
1263
- ], 64))
1264
- ], 12, Ga))), 256)) : x("", !0),
1265
- E.value === L.BAR ? (a(!0), l(g, { key: 2 }, A(s.value.legend, (t, i) => (a(), l("div", {
1266
- class: "vue-ui-quick-chart-legend-item",
1267
- onClick: (v) => {
1268
- Ie(t.id, s.value.legend.length - 1), f("selectLegend", t);
1269
- },
1270
- style: I(`cursor: ${s.value.legend.length > 1 ? "pointer" : "default"}; opacity:${b.value.includes(t.id) ? "0.5" : "1"}`)
1271
- }, [
1272
- e.value.useCustomLegend ? D(r.$slots, "legend", H(Le({ key: 0 }, { legend: t })), void 0, !0) : (a(), l(g, { key: 1 }, [
1273
- de(be, {
1274
- name: e.value.legendIcon,
1275
- stroke: t.color,
1276
- size: e.value.legendIconSize
1277
- }, null, 8, ["name", "stroke", "size"]),
1278
- S("span", {
1279
- style: I(`font-size:${e.value.legendFontSize}px`)
1280
- }, T(t.name), 5)
1281
- ], 64))
1282
- ], 12, Ha))), 256)) : x("", !0)
1283
- ], 4)) : x("", !0),
1284
- de(ft, {
1285
- show: ye.value.showTooltip && j.value,
1286
- backgroundColor: e.value.backgroundColor,
1287
- color: e.value.color,
1288
- borderRadius: e.value.tooltipBorderRadius,
1289
- borderColor: e.value.tooltipBorderColor,
1290
- borderWidth: e.value.tooltipBorderWidth,
1291
- fontSize: e.value.tooltipFontSize,
1292
- backgroundOpacity: e.value.tooltipBackgroundOpacity,
1293
- position: e.value.tooltipPosition,
1294
- offsetY: e.value.tooltipOffsetY,
1295
- parent: W.value,
1296
- content: X.value,
1297
- isCustom: _(ke)(e.value.tooltipCustomFormat)
1298
- }, {
1299
- "tooltip-before": K(() => [
1300
- D(r.$slots, "tooltip-before", H(ve({ ...ie.value })), void 0, !0)
1301
- ]),
1302
- "tooltip-after": K(() => [
1303
- D(r.$slots, "tooltip-after", H(ve({ ...ie.value })), void 0, !0)
1304
- ]),
1305
- _: 3
1306
- }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom"])
1307
- ], 14, At)) : (a(), l("div", Xa, [
1308
- de(be, {
1309
- name: "circleCancel",
1310
- stroke: "red"
1311
- }),
1312
- Ya
1313
- ]));
1314
- }
1315
- }, il = /* @__PURE__ */ pt(Za, [["__scopeId", "data-v-e62d13b6"]]);
1316
- export {
1317
- il as default
1318
- };