vue-data-ui 3.5.2 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/README.md +36 -27
  2. package/dist/{Arrow-BGVin3AS.js → Arrow-CWYIBV-7.js} +1 -1
  3. package/dist/{BaseDraggableDialog-ymf2sfB8.js → BaseDraggableDialog-CRF94NJQ.js} +2 -2
  4. package/dist/{BaseIcon-BmMbm4d0.js → BaseIcon-CofSxalQ.js} +6 -5
  5. package/dist/{ColorPicker-ChuwChMo.js → ColorPicker-e1-OSGlQ.js} +10 -10
  6. package/dist/{DataTable-BT7VF2ua.js → DataTable-CHaOCmsE.js} +2 -2
  7. package/dist/{Legend-G6GMcdAc.js → Legend-Web3GjlR.js} +10 -10
  8. package/dist/{NonSvgPenAndPaper-DVgKKLIf.js → NonSvgPenAndPaper-CjYFLlns.js} +3 -3
  9. package/dist/{PackageVersion-Y7t79Jtq.js → PackageVersion-Bq_mtsqr.js} +1 -1
  10. package/dist/{PenAndPaper-SZQIAgkg.js → PenAndPaper-HCZQTkqi.js} +20 -20
  11. package/dist/{Shape-CNXKB8O0.js → Shape-DE6X_t31.js} +3 -3
  12. package/dist/{Slicer-D2wm0coO.js → Slicer-BFBBG6xv.js} +23 -23
  13. package/dist/{SlicerPreview-ij72TAs6.js → SlicerPreview-D76aSViW.js} +2 -2
  14. package/dist/{SparkTooltip-BEewz-_Q.js → SparkTooltip-B2rpVWE1.js} +6 -6
  15. package/dist/{Title-BzH_LEA3.js → Title-DfFUb9hd.js} +1 -1
  16. package/dist/{Tooltip-oWCO1HKy.js → Tooltip-WD0Ros6G.js} +1 -1
  17. package/dist/{UserOptions-CGnQt6Fd.js → UserOptions-B3I-s3Lw.js} +2 -2
  18. package/dist/components/arrow.js +1 -1
  19. package/dist/components/vue-ui-3d-bar.js +3 -3
  20. package/dist/components/vue-ui-accordion.js +1 -1
  21. package/dist/components/vue-ui-age-pyramid.js +3 -3
  22. package/dist/components/vue-ui-annotator.js +1 -1
  23. package/dist/components/vue-ui-bullet.js +3 -3
  24. package/dist/components/vue-ui-candlestick.js +3 -3
  25. package/dist/components/vue-ui-carousel-table.js +1 -1
  26. package/dist/components/vue-ui-chestnut.js +3 -3
  27. package/dist/components/vue-ui-chord.js +3 -3
  28. package/dist/components/vue-ui-circle-pack.js +3 -3
  29. package/dist/components/vue-ui-cursor.js +1 -1
  30. package/dist/components/vue-ui-dashboard.js +1 -1
  31. package/dist/components/vue-ui-digits.js +1 -1
  32. package/dist/components/vue-ui-donut-evolution.js +2 -2
  33. package/dist/components/vue-ui-donut.js +3 -3
  34. package/dist/components/vue-ui-dumbbell.js +3 -3
  35. package/dist/components/vue-ui-flow.js +3 -3
  36. package/dist/components/vue-ui-funnel.js +2 -2
  37. package/dist/components/vue-ui-galaxy.js +1 -1
  38. package/dist/components/vue-ui-gauge.js +1 -1
  39. package/dist/components/vue-ui-gizmo.js +1 -1
  40. package/dist/components/vue-ui-heatmap.js +1 -1
  41. package/dist/components/vue-ui-history-plot.js +3 -3
  42. package/dist/components/vue-ui-horizontal-bar.js +3 -3
  43. package/dist/components/vue-ui-icon.js +1 -1
  44. package/dist/components/vue-ui-kpi.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +3 -3
  47. package/dist/components/vue-ui-mood-radar.js +3 -3
  48. package/dist/components/vue-ui-nested-donuts.js +2 -2
  49. package/dist/components/vue-ui-onion.js +3 -3
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +3 -3
  52. package/dist/components/vue-ui-quick-chart.js +3 -3
  53. package/dist/components/vue-ui-radar.js +3 -3
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +3 -3
  56. package/dist/components/vue-ui-ridgeline.js +3 -3
  57. package/dist/components/vue-ui-rings.js +3 -3
  58. package/dist/components/vue-ui-scatter.js +3 -3
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +2 -2
  63. package/dist/components/vue-ui-sparkgauge.js +3 -3
  64. package/dist/components/vue-ui-sparkhistogram.js +3 -3
  65. package/dist/components/vue-ui-sparkline.js +3 -3
  66. package/dist/components/vue-ui-sparkstackbar.js +2 -2
  67. package/dist/components/vue-ui-stackbar.js +3 -3
  68. package/dist/components/vue-ui-stackline.js +5 -0
  69. package/dist/components/vue-ui-strip-plot.js +3 -3
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +2 -2
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +3 -3
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +2 -2
  76. package/dist/components/vue-ui-treemap.js +3 -3
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +2 -2
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +3 -3
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +3 -3
  83. package/dist/components/vue-ui-xy.js +3 -3
  84. package/dist/{dom-to-png--BNgrTZV.js → dom-to-png-CH2DfsJe.js} +1 -1
  85. package/dist/{img-BecE5qXd.js → img-DUzJeMlr.js} +1 -1
  86. package/dist/{lib-C_mNZmhD.js → lib-C5BH09_g.js} +111 -110
  87. package/dist/{pdf-DuG5j3Wv.js → pdf-BSWQncok.js} +1 -1
  88. package/dist/style.css +1 -1
  89. package/dist/types/vue-data-ui.d.ts +303 -9
  90. package/dist/types/vue-ui-stackline.d.ts +18 -0
  91. package/dist/{useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js → useAutoSizeLabelsInsideViewbox-DOALwU4q.js} +7 -7
  92. package/dist/{useNestedProp-CReNavA0.js → useNestedProp-CWo6bftQ.js} +535 -329
  93. package/dist/{usePrinter-DTzqpYKF.js → usePrinter-DCJzEiS8.js} +2 -2
  94. package/dist/useThemeCheck-DGJ31Vi5.js +32 -0
  95. package/dist/{useTimeLabels-BGFjWgrv.js → useTimeLabels-C5qMhpbe.js} +50 -49
  96. package/dist/{vue-data-ui-BRaq4hRp.js → vue-data-ui-ByLTJx5V.js} +79 -77
  97. package/dist/vue-data-ui.js +226 -204
  98. package/dist/{vue-ui-3d-bar-BB4ii8Nt.js → vue-ui-3d-bar-Dkds4k5N.js} +546 -517
  99. package/dist/{vue-ui-accordion-BmFTVF1a.js → vue-ui-accordion-DSdZUn2C.js} +3 -3
  100. package/dist/vue-ui-age-pyramid-C-fwZRYE.js +960 -0
  101. package/dist/{vue-ui-annotator-CcpaXBNK.js → vue-ui-annotator-DRaH8hXn.js} +7 -7
  102. package/dist/vue-ui-bullet-BKVJRjGh.js +657 -0
  103. package/dist/{vue-ui-candlestick-CMP7UL6z.js → vue-ui-candlestick-BKFWHU4O.js} +596 -561
  104. package/dist/{vue-ui-carousel-table-CzOcKsDj.js → vue-ui-carousel-table-VmPH6y2g.js} +48 -48
  105. package/dist/{vue-ui-chestnut-S787oASt.js → vue-ui-chestnut-DpMHe-OI.js} +534 -505
  106. package/dist/vue-ui-chord-Djdr0PY_.js +1182 -0
  107. package/dist/vue-ui-circle-pack-CyUqNJQt.js +832 -0
  108. package/dist/{vue-ui-cursor-C3yD_TUr.js → vue-ui-cursor-BMe8ZiV6.js} +2 -2
  109. package/dist/{vue-ui-dashboard-BfEcVRxQ.js → vue-ui-dashboard-eBXj-KCw.js} +140 -140
  110. package/dist/{vue-ui-digits-pRh179Gg.js → vue-ui-digits-D382I0-w.js} +2 -2
  111. package/dist/{vue-ui-donut-B_tEm4dT.js → vue-ui-donut-BLb0kj_P.js} +634 -602
  112. package/dist/vue-ui-donut-evolution-BqrldXpI.js +1243 -0
  113. package/dist/vue-ui-dumbbell-BuZT5a-d.js +1258 -0
  114. package/dist/vue-ui-flow-LLp6ntEP.js +1026 -0
  115. package/dist/vue-ui-funnel-pILUR-OG.js +743 -0
  116. package/dist/vue-ui-galaxy-X6yiw8kx.js +837 -0
  117. package/dist/vue-ui-gauge-DBh-vFb9.js +864 -0
  118. package/dist/{vue-ui-gizmo-BQzQlUJ8.js → vue-ui-gizmo-DtyEukIP.js} +3 -3
  119. package/dist/{vue-ui-heatmap-C9MhHWpp.js → vue-ui-heatmap-mkD6QkXo.js} +501 -466
  120. package/dist/vue-ui-history-plot-CyTaBaxA.js +1239 -0
  121. package/dist/{vue-ui-kpi-jcrPjW4C.js → vue-ui-kpi-CKMZDc3n.js} +3 -3
  122. package/dist/{vue-ui-mini-loader-DTM98mRN.js → vue-ui-mini-loader-BN72OfS0.js} +2 -2
  123. package/dist/vue-ui-molecule-UzQ3o5HW.js +782 -0
  124. package/dist/vue-ui-mood-radar-C2zkRLGy.js +930 -0
  125. package/dist/vue-ui-nested-donuts-B5OpvmJ9.js +1454 -0
  126. package/dist/vue-ui-onion-DbhIOGtF.js +944 -0
  127. package/dist/vue-ui-parallel-coordinate-plot-Dv_T4mWW.js +1080 -0
  128. package/dist/{vue-ui-quadrant-CeM23s0z.js → vue-ui-quadrant-CG6_CWsQ.js} +510 -481
  129. package/dist/{vue-ui-quick-chart-C0RMQzjC.js → vue-ui-quick-chart-DOeRhk7r.js} +795 -758
  130. package/dist/vue-ui-radar-DdHa9Hsh.js +1013 -0
  131. package/dist/{vue-ui-rating-tj97undO.js → vue-ui-rating-DtzmtJwF.js} +26 -26
  132. package/dist/vue-ui-relation-circle-B5lL4l9w.js +670 -0
  133. package/dist/vue-ui-ridgeline-3pk4Mlft.js +1302 -0
  134. package/dist/vue-ui-rings-DhyrjrZi.js +884 -0
  135. package/dist/vue-ui-scatter-DKCD70mi.js +1619 -0
  136. package/dist/{vue-ui-skeleton-87TORm6s.js → vue-ui-skeleton-CzzdmraB.js} +3 -3
  137. package/dist/{vue-ui-smiley-B74geHT3.js → vue-ui-smiley-OYyM-ukP.js} +2 -2
  138. package/dist/vue-ui-spark-trend-BMTcxeCT.js +364 -0
  139. package/dist/vue-ui-sparkbar-DVk1JiPL.js +381 -0
  140. package/dist/vue-ui-sparkgauge-Cq9Nw_xu.js +260 -0
  141. package/dist/vue-ui-sparkhistogram-PFHlCE_k.js +411 -0
  142. package/dist/vue-ui-sparkline-BHHwO_cV.js +549 -0
  143. package/dist/vue-ui-sparkstackbar-BosVkkiC.js +470 -0
  144. package/dist/vue-ui-stackbar-Djk5CPUy.js +1867 -0
  145. package/dist/vue-ui-stackline-mU4CSol9.js +1963 -0
  146. package/dist/{vue-ui-strip-plot-C1N2n39d.js → vue-ui-strip-plot-CZQSL0GK.js} +343 -314
  147. package/dist/{vue-ui-table-CcuoPHgI.js → vue-ui-table-DMM090pe.js} +5 -5
  148. package/dist/vue-ui-table-heatmap-vQEFrjCX.js +307 -0
  149. package/dist/{vue-ui-table-sparkline-BAxmZRff.js → vue-ui-table-sparkline-CQJc0mJY.js} +292 -263
  150. package/dist/vue-ui-thermometer-D1uxoVeZ.js +613 -0
  151. package/dist/{vue-ui-timer-BVsUQJz_.js → vue-ui-timer-jTnS3ES5.js} +25 -25
  152. package/dist/vue-ui-tiremarks-Bv-oIFVV.js +477 -0
  153. package/dist/vue-ui-treemap-B9MVtunp.js +1359 -0
  154. package/dist/{vue-ui-vertical-bar-B3gfBqD_.js → vue-ui-vertical-bar-BSbDj5qZ.js} +520 -485
  155. package/dist/{vue-ui-waffle-Bhlqo4xM.js → vue-ui-waffle-DIALVfvc.js} +376 -347
  156. package/dist/vue-ui-wheel-aUhrFpGk.js +690 -0
  157. package/dist/vue-ui-word-cloud-DZmMWsUu.js +904 -0
  158. package/dist/{vue-ui-world-C8KVyDim.js → vue-ui-world-CVLlgp2f.js} +57 -57
  159. package/dist/vue-ui-xy-Cy7mOurZ.js +3455 -0
  160. package/dist/vue-ui-xy-canvas-Cr13t9M5.js +1599 -0
  161. package/dist/vue_ui_vertical_bar-CELc39b8.js +18 -0
  162. package/package.json +5 -5
  163. package/dist/themes-AUNCOb2G.js +0 -53
  164. package/dist/vue-ui-age-pyramid-8bUepd28.js +0 -933
  165. package/dist/vue-ui-bullet-BvT4scFv.js +0 -630
  166. package/dist/vue-ui-chord-Dl9Y4mcz.js +0 -1153
  167. package/dist/vue-ui-circle-pack-CU09BzOV.js +0 -803
  168. package/dist/vue-ui-donut-evolution-DiGhMwMO.js +0 -1208
  169. package/dist/vue-ui-dumbbell-BlF3CLbN.js +0 -1231
  170. package/dist/vue-ui-flow-BQi5L8mJ.js +0 -991
  171. package/dist/vue-ui-funnel-CM_6Sare.js +0 -716
  172. package/dist/vue-ui-galaxy-BnZA62Li.js +0 -808
  173. package/dist/vue-ui-gauge-DAk72bez.js +0 -835
  174. package/dist/vue-ui-history-plot-BYQh3E8U.js +0 -1204
  175. package/dist/vue-ui-molecule-Bd1OXvl3.js +0 -753
  176. package/dist/vue-ui-mood-radar-DuoiTsYn.js +0 -903
  177. package/dist/vue-ui-nested-donuts-BTswQFjz.js +0 -1419
  178. package/dist/vue-ui-onion-D-1U2Qgl.js +0 -915
  179. package/dist/vue-ui-parallel-coordinate-plot-D-7VFHas.js +0 -1051
  180. package/dist/vue-ui-radar-BSfxyur3.js +0 -984
  181. package/dist/vue-ui-relation-circle-C7uV2mIj.js +0 -641
  182. package/dist/vue-ui-ridgeline-CYMfTlwI.js +0 -1273
  183. package/dist/vue-ui-rings-C96aj57d.js +0 -855
  184. package/dist/vue-ui-scatter-CtvOXUnx.js +0 -1590
  185. package/dist/vue-ui-spark-trend-6_Ibziyv.js +0 -337
  186. package/dist/vue-ui-sparkbar-BDCocMLI.js +0 -352
  187. package/dist/vue-ui-sparkgauge-CQ4Zk9-f.js +0 -233
  188. package/dist/vue-ui-sparkhistogram-BlTV9wfn.js +0 -384
  189. package/dist/vue-ui-sparkline-DWESyiqL.js +0 -514
  190. package/dist/vue-ui-sparkstackbar-DK_7X8mL.js +0 -441
  191. package/dist/vue-ui-stackbar-BWuw8ff4.js +0 -1827
  192. package/dist/vue-ui-table-heatmap-C9EMEM3Z.js +0 -282
  193. package/dist/vue-ui-thermometer-CDrM-WFq.js +0 -584
  194. package/dist/vue-ui-tiremarks-BQH2pNkG.js +0 -450
  195. package/dist/vue-ui-treemap-6WLoCHsH.js +0 -1330
  196. package/dist/vue-ui-wheel-CqHw1WuW.js +0 -663
  197. package/dist/vue-ui-word-cloud-CKuWZGLv.js +0 -875
  198. package/dist/vue-ui-xy-Cz2qIEfi.js +0 -3424
  199. package/dist/vue-ui-xy-canvas-y4h7gEFp.js +0 -1564
@@ -1,915 +0,0 @@
1
- import { defineAsyncComponent as P, computed as v, ref as r, toRefs as It, watch as E, shallowRef as Ue, onMounted as Pt, onBeforeUnmount as _t, createElementBlock as d, openBlock as u, unref as s, normalizeStyle as R, normalizeClass as q, createBlock as _, createCommentVNode as f, createElementVNode as F, createVNode as ce, withCtx as i, renderSlot as c, normalizeProps as b, guardReactiveProps as k, createSlots as Ee, Fragment as Y, renderList as X, toDisplayString as z, Teleport as Ft, resolveDynamicComponent as Dt, mergeProps as Mt, createTextVNode as Ye, nextTick as Xe } from "vue";
2
- import { c as Rt, t as Lt, b as zt, p as Ge, e as Bt, o as He, f as ve, h as Nt, d as B, X as Vt, a as de, G as We, P as Ut, Q as Et, H as Yt } from "./lib-C_mNZmhD.js";
3
- import { t as Xt, u as Gt } from "./useResponsive-DfdjqQps.js";
4
- import { u as Ht, a as je } from "./useNestedProp-CReNavA0.js";
5
- import { u as Wt, B as jt } from "./BaseScanner-BgWxam9d.js";
6
- import { u as qt } from "./usePrinter-DTzqpYKF.js";
7
- import { u as Qt } from "./useSvgExport-DrjCWun4.js";
8
- import { u as Jt } from "./useUserOptionState-BIvW1Kz7.js";
9
- import { u as Kt } from "./useChartAccessibility-9icAAmYg.js";
10
- import { u as Zt } from "./useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js";
11
- import ea from "./img-BecE5qXd.js";
12
- import ta from "./Title-BzH_LEA3.js";
13
- import aa from "./Legend-G6GMcdAc.js";
14
- import { t as la } from "./themes-AUNCOb2G.js";
15
- import { _ as oa } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
- const na = ["id"], sa = ["id"], ua = ["xmlns", "viewBox"], ra = ["width", "height"], ia = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], ca = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], va = ["id"], da = ["stdDeviation"], ha = ["filter"], ga = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], pa = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "onMouseenter", "onMouseleave", "onClick"], fa = { key: 2 }, ma = ["onMouseenter", "onMouseleave", "onClick"], ya = ["x", "y", "font-size", "fill", "font-weight"], ba = {
17
- key: 4,
18
- class: "vue-data-ui-watermark"
19
- }, ka = ["id"], wa = ["onClick"], $a = ["innerHTML"], Ca = {
20
- __name: "vue-ui-onion",
21
- props: {
22
- config: {
23
- type: Object,
24
- default() {
25
- return {};
26
- }
27
- },
28
- dataset: {
29
- type: Array,
30
- default() {
31
- return [];
32
- }
33
- }
34
- },
35
- emits: ["selectLegend"],
36
- setup(qe, { expose: Qe, emit: Je }) {
37
- const Ke = P(() => import("./Tooltip-oWCO1HKy.js")), Ze = P(() => import("./BaseIcon-BmMbm4d0.js")), et = P(() => import("./vue-ui-accordion-BmFTVF1a.js")), tt = P(() => import("./DataTable-BT7VF2ua.js")), at = P(() => import("./UserOptions-CGnQt6Fd.js")), lt = P(() => import("./PenAndPaper-SZQIAgkg.js")), ot = P(() => import("./PackageVersion-Y7t79Jtq.js")), nt = P(() => import("./BaseDraggableDialog-ymf2sfB8.js")), { vue_ui_onion: st } = Ht(), T = qe, he = v(() => !!T.dataset && T.dataset.length), w = r(Rt()), ut = r(null), ge = r(0), Q = r(!1), J = r(""), m = r([]), x = r(null), pe = r(null), fe = r(null), me = r(null), ye = r(null), be = r(0), ke = r(0), we = r(0), S = r(!1), $e = r(!1), N = r(null), e = r(ee()), { loading: $, FINAL_DATASET: Ce, manualLoading: K } = Wt({
38
- ...It(T),
39
- FINAL_CONFIG: e,
40
- prepareConfig: ee,
41
- callback: () => {
42
- Promise.resolve().then(async () => {
43
- await Xe(), Fe();
44
- });
45
- },
46
- skeletonDataset: [
47
- { name: "_", percentage: 50, value: 1, color: "#DBDBDB" },
48
- { name: "_", percentage: 50, value: 1, color: "#C4C4C4" },
49
- { name: "_", percentage: 50, value: 1, color: "#ADADAD" },
50
- { name: "_", percentage: 50, value: 1, color: "#969696" }
51
- ],
52
- skeletonConfig: Lt({
53
- defaultConfig: e.value,
54
- userConfig: {
55
- userOptions: { show: !1 },
56
- table: { show: !1 },
57
- style: {
58
- chart: {
59
- backgroundColor: "#99999930",
60
- layout: {
61
- gutter: {
62
- color: "#99999950"
63
- },
64
- labels: { show: !1 }
65
- },
66
- legend: {
67
- backgroundColor: "transparent"
68
- }
69
- }
70
- }
71
- }
72
- })
73
- }), { userOptionsVisible: Z, setUserOptionsVisibility: Te, keepUserOptionState: xe } = Jt({ config: e.value }), { svgRef: G } = Kt({ config: e.value.style.chart.title });
74
- function ee() {
75
- const t = je({
76
- userConfig: T.config,
77
- defaultConfig: st
78
- });
79
- return t.theme ? {
80
- ...je({
81
- userConfig: la.vue_ui_onion[t.theme] || T.config,
82
- defaultConfig: t
83
- }),
84
- customPalette: zt[t.theme] || Ge
85
- } : t;
86
- }
87
- E(() => T.config, (t) => {
88
- $.value || (e.value = ee()), Z.value = !e.value.userOptions.showOnChartHover, _e(), be.value += 1, ke.value += 1, we.value += 1, y.value.showTable = e.value.table.show, y.value.showTooltip = e.value.style.chart.tooltip.show;
89
- }, { deep: !0 });
90
- const { isPrinting: Se, isImaging: Oe, generatePdf: Ae, generateImage: Ie } = qt({
91
- elementId: `vue-ui-onion_${w.value}`,
92
- fileName: e.value.style.chart.title.text || "vue-ui-onion",
93
- options: e.value.userOptions.print
94
- }), rt = v(() => e.value.userOptions.show && !e.value.style.chart.title.text), it = v(() => Bt(e.value.customPalette)), y = r({
95
- showTable: e.value.table.show,
96
- showTooltip: e.value.style.chart.tooltip.show
97
- });
98
- E(e, () => {
99
- y.value = {
100
- showTable: e.value.table.show,
101
- showTooltip: e.value.style.chart.tooltip.show
102
- };
103
- }, { immediate: !0 });
104
- const n = r({
105
- height: 512,
106
- width: 512,
107
- padding: {
108
- top: 64,
109
- left: 64,
110
- right: 64,
111
- bottom: 64
112
- },
113
- minRadius: 64
114
- }), A = Ue(null), L = Ue(null);
115
- Pt(() => {
116
- $e.value = !0, _e();
117
- });
118
- const ct = v({
119
- get: () => e.value.style.chart.layout.labels.fontSize,
120
- set: (t) => t
121
- }), { autoSizeLabels: Pe } = Zt({
122
- svgRef: G,
123
- fontSize: e.value.style.chart.layout.labels.fontSize,
124
- minFontSize: e.value.style.chart.layout.labels.minFontSize,
125
- sizeRef: ct,
126
- labelClass: ".vue-ui-onion-label"
127
- }), vt = v(() => e.value.debug);
128
- let te = null;
129
- function _e() {
130
- if (He(T.dataset) && (ve({
131
- componentName: "VueUiOnion",
132
- type: "dataset",
133
- debug: vt.value
134
- }), K.value = !0), He(T.dataset) || (K.value = e.value.loading), e.value.responsive) {
135
- const l = Xt(() => {
136
- te && clearTimeout(te), S.value = !0;
137
- let { width: a, height: o } = Gt({
138
- chart: x.value,
139
- title: e.value.style.chart.title.text ? pe.value : null,
140
- legend: e.value.style.chart.legend.show ? fe.value : null,
141
- source: me.value,
142
- noTitle: ye.value
143
- });
144
- o -= 12, requestAnimationFrame(async () => {
145
- n.value.width = a, n.value.height = o, n.value.padding.top = Math.max(a, o) * 0.125, n.value.padding.right = Math.max(a, o) * 0.125, n.value.padding.bottom = Math.max(a, o) * 0.125, n.value.padding.left = Math.max(a, o) * 0.125, n.value.minRadius = Math.min(a, o) * 0.125, te = setTimeout(() => {
146
- S.value = !1, Pe();
147
- }, 0);
148
- });
149
- });
150
- A.value && (L.value && A.value.unobserve(L.value), A.value.disconnect()), A.value = new ResizeObserver(l), L.value = x.value.parentNode, A.value.observe(L.value);
151
- }
152
- requestAnimationFrame(Pe);
153
- }
154
- _t(() => {
155
- A.value && (L.value && A.value.unobserve(L.value), A.value.disconnect());
156
- });
157
- const g = v(() => ({
158
- top: n.value.padding.top,
159
- left: n.value.padding.left,
160
- right: n.value.width - n.value.padding.right,
161
- bottom: n.value.height - n.value.padding.bottom,
162
- centerX: n.value.width / 2,
163
- centerY: n.value.height / 2,
164
- width: n.value.width - n.value.padding.right - n.value.padding.left,
165
- height: n.value.height - n.value.padding.bottom - n.value.padding.top,
166
- minRadius: n.value.minRadius,
167
- maxRadius: Math.min(n.value.width, n.value.height) - n.value.padding.top * 2
168
- })), p = v(() => (Ce.value.forEach((t, l) => {
169
- [null, void 0].includes(t.name) && ve({
170
- componentName: "VueUiOnion",
171
- type: "datasetSerieAttribute",
172
- property: "name",
173
- index: l
174
- }), [void 0].includes(t.percentage) && ve({
175
- componentName: "VueUiOnion",
176
- type: "datasetSerieAttribute",
177
- property: "percentage",
178
- index: l
179
- });
180
- }), Ce.value.map((t, l) => {
181
- const a = `onion_serie_${l}_${w.value}`;
182
- return {
183
- ...t,
184
- percentage: t.percentage || 0,
185
- targetPercentage: t.percentage || 0,
186
- color: Nt(t.color) || it.value[l] || Ge[l],
187
- id: a,
188
- shape: "circle",
189
- opacity: m.value.includes(a) ? 0.5 : 1,
190
- absoluteIndex: l,
191
- segregate: () => H(a),
192
- isSegregated: m.value.includes(a)
193
- };
194
- }))), ae = v(() => p.value.map((t, l) => ({
195
- ...t,
196
- display: `${t.name ? t.name + ": " : ""}${B({
197
- v: t.percentage ?? 0,
198
- s: "%",
199
- r: e.value.style.chart.legend.roundingPercentage
200
- })}`
201
- }))), V = r(p.value), dt = v(() => e.value.useStartAnimation), ht = r(null), gt = v(() => Math.max(...p.value.map((t) => t.percentage))), le = r(!1);
202
- E(() => p.value, Fe, { immediate: !0, deep: !0 }), E(() => T.dataset, (t) => {
203
- Array.isArray(t) && t.length > 0 && (K.value = !1);
204
- }, { deep: !0 });
205
- function Fe() {
206
- if (dt.value && !le.value && !$.value) {
207
- let l = function() {
208
- t >= gt.value ? (cancelAnimationFrame(ht.value), V.value = p.value, le.value = !0) : (V.value = p.value.map((a) => ({
209
- ...a,
210
- percentage: t < a.targetPercentage ? t : a.targetPercentage
211
- })), t += 1, requestAnimationFrame(l), le.value = !0);
212
- };
213
- V.value = p.value.map((a) => ({
214
- ...a,
215
- percentage: 0
216
- }));
217
- let t = 0;
218
- l();
219
- } else
220
- V.value = p.value;
221
- }
222
- const pt = v(() => ({
223
- cy: "onion-div-legend",
224
- backgroundColor: e.value.style.chart.legend.backgroundColor,
225
- color: e.value.style.chart.legend.color,
226
- fontSize: e.value.style.chart.legend.fontSize,
227
- paddingBottom: 12,
228
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
229
- })), ft = v(() => p.value.filter((t) => !m.value.includes(t.id)).length), D = v(() => {
230
- const t = Math.min(g.value.width, g.value.height) / 2 / p.value.length;
231
- return {
232
- gutter: (t > e.value.style.chart.layout.maxThickness ? e.value.style.chart.layout.maxThickness : t) * e.value.style.chart.layout.gutter.width,
233
- track: (t > e.value.style.chart.layout.maxThickness ? e.value.style.chart.layout.maxThickness : t) * e.value.style.chart.layout.track.width
234
- };
235
- }), O = v(() => V.value.filter((t) => !m.value.includes(t.id)).map((t, l) => {
236
- const a = (g.value.maxRadius - D.value.track) / ft.value / 2 * (1 + l), o = g.value.centerY - a;
237
- return {
238
- percentage: t.percentage || 0,
239
- ...t,
240
- labelY: o,
241
- radius: a,
242
- path: mt(a, t.percentage || 0)
243
- };
244
- }));
245
- function mt(t, l) {
246
- const a = 2 * Math.PI * t, o = a * 0.75, h = `${o} ${a}`, C = o * (1 - l / 100);
247
- return {
248
- bgDashArray: `${o} ${a}`,
249
- bgDashOffset: 0,
250
- dashArray: h,
251
- dashOffset: C,
252
- fullOffset: 0,
253
- active: `
254
- M ${g.value.centerX},${g.value.centerY - t}
255
- A ${t},${t} 0 1 1
256
- ${g.value.centerX + t * Math.cos(Math.PI * 3 / 4)},${g.value.centerY + t * Math.sin(Math.PI * 3 / 4)}
257
- `.trim()
258
- };
259
- }
260
- const yt = Je;
261
- function H(t) {
262
- if (m.value.includes(t))
263
- m.value = m.value.filter((l) => l !== t);
264
- else {
265
- if (m.value.length === p.value.length - 1) return;
266
- m.value.push(t);
267
- }
268
- yt("selectLegend", O.value);
269
- }
270
- function De(t) {
271
- if (!p.value.length)
272
- return e.value.debug && console.warn("VueUiOnion - There are no series to show."), null;
273
- const l = p.value.find((a) => a.name === t);
274
- return l || (e.value.debug && console.warn(`VueUiOnion - Series name not found "${t}"`), null);
275
- }
276
- function bt(t) {
277
- const l = De(t);
278
- l !== null && m.value.includes(l.id) && H(l.id);
279
- }
280
- function kt(t) {
281
- const l = De(t);
282
- l !== null && (m.value.includes(l.id) || H(l.id));
283
- }
284
- function wt() {
285
- return O.value;
286
- }
287
- const oe = v(() => {
288
- const t = [e.value.table.translations.serie, e.value.table.translations.percentage, e.value.table.translations.value], l = O.value.map((a) => [
289
- a.name,
290
- a.percentage,
291
- a.value
292
- ]);
293
- return { head: t, body: l };
294
- }), W = v(() => {
295
- const t = oe.value.head, l = O.value.map((o) => [
296
- `<span style="color:${o.color}">⬤</span> ${o.name}`,
297
- `${Number(o.percentage ?? 0).toFixed(e.value.table.td.roundingPercentage).toLocaleString()}%`,
298
- `${o.prefix || ""}${[null, void 0, NaN, "NaN"].includes(o.value) ? "-" : o.value.toFixed(e.value.table.td.roundingValue).toLocaleString()}${o.suffix || ""}`
299
- ]), a = {
300
- th: {
301
- backgroundColor: e.value.table.th.backgroundColor,
302
- color: e.value.table.th.color,
303
- outline: e.value.table.th.outline
304
- },
305
- td: {
306
- backgroundColor: e.value.table.td.backgroundColor,
307
- color: e.value.table.td.color,
308
- outline: e.value.table.td.outline
309
- },
310
- breakpoint: e.value.table.responsiveBreakpoint
311
- };
312
- return { head: t, body: l, config: a, colNames: t };
313
- });
314
- function ne(t = null) {
315
- Xe(() => {
316
- const l = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = oe.value.head, o = oe.value.body, h = l.concat([a]).concat(o), C = Ut(h);
317
- t ? t(C) : Et({ csvContent: C, title: e.value.style.chart.title.text || "vue-ui-onion" });
318
- });
319
- }
320
- const I = r(void 0), M = r(!1);
321
- function Me(t) {
322
- M.value = t, ge.value += 1;
323
- }
324
- function Re({ datapoint: t }) {
325
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: t.absoluteIndex });
326
- }
327
- function Le({ datapoint: t }) {
328
- I.value = void 0, Q.value = !1, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: t.absoluteIndex });
329
- }
330
- const se = r(null);
331
- function ze({ datapoint: t, seriesIndex: l, show: a = !0 }) {
332
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: t.absoluteIndex });
333
- const o = t.absoluteIndex;
334
- I.value = l, se.value = {
335
- datapoint: t,
336
- seriesIndex: o,
337
- series: p.value,
338
- config: e.value
339
- }, Q.value = a;
340
- let h = "";
341
- const C = e.value.style.chart.tooltip.customFormat;
342
- if (We(C) && Yt(() => C({
343
- seriesIndex: o,
344
- datapoint: t,
345
- series: p.value,
346
- config: e.value
347
- })))
348
- J.value = C({
349
- seriesIndex: o,
350
- datapoint: t,
351
- series: p.value,
352
- config: e.value
353
- });
354
- else {
355
- const re = e.value.style.chart.tooltip.showPercentage, ie = e.value.style.chart.tooltip.showValue;
356
- h += `<div style="width: 100%; border-bottom: 1px solid ${e.value.style.chart.tooltip.borderColor}; padding-bottom: 6px;margin-bottom:3px;display:flex;flex-direction:row;gap:3px;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><span></span>${t.name}</span></div>`, h += `<div style="width:100%;text-align:left;"><b>${re ? B({ p: "", v: t.percentage, s: "%", r: e.value.style.chart.tooltip.roundingPercentage }) : ""}</b> ${re && ie ? "(" : ""}${ie ? de(
357
- e.value.style.chart.layout.labels.value.formatter,
358
- t.value,
359
- B({
360
- p: t.prefix || "",
361
- v: t.value,
362
- s: t.suffix || "",
363
- r: e.value.style.chart.tooltip.roundingValue
364
- }),
365
- { datapoint: t, seriesIndex: l }
366
- ) : ""}${re && ie ? ")" : ""}</div>`, J.value = `<div>${h}</div>`;
367
- }
368
- }
369
- function Be() {
370
- y.value.showTable = !y.value.showTable;
371
- }
372
- function Ne() {
373
- y.value.showTooltip = !y.value.showTooltip;
374
- }
375
- const j = r(!1);
376
- function ue() {
377
- j.value = !j.value;
378
- }
379
- async function $t({ scale: t = 2 } = {}) {
380
- if (!x.value) return;
381
- const { width: l, height: a } = x.value.getBoundingClientRect(), o = l / a, { imageUri: h, base64: C } = await ea({ domElement: x.value, base64: !0, img: !0, scale: t });
382
- return {
383
- imageUri: h,
384
- base64: C,
385
- title: e.value.style.chart.title.text,
386
- width: l,
387
- height: a,
388
- aspectRatio: o
389
- };
390
- }
391
- const U = v(() => {
392
- const t = e.value.table.useDialog && !e.value.table.show, l = y.value.showTable;
393
- return {
394
- component: t ? nt : et,
395
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
396
- props: t ? {
397
- backgroundColor: e.value.table.th.backgroundColor,
398
- color: e.value.table.th.color,
399
- headerColor: e.value.table.th.color,
400
- headerBg: e.value.table.th.backgroundColor,
401
- isFullscreen: M.value,
402
- fullscreenParent: x.value,
403
- forcedWidth: Math.min(600, window.innerWidth * 0.8)
404
- } : {
405
- hideDetails: !0,
406
- config: {
407
- open: l,
408
- maxHeight: 1e4,
409
- body: {
410
- backgroundColor: e.value.style.chart.backgroundColor,
411
- color: e.value.style.chart.color
412
- },
413
- head: {
414
- backgroundColor: e.value.style.chart.backgroundColor,
415
- color: e.value.style.chart.color
416
- }
417
- }
418
- }
419
- };
420
- });
421
- E(() => y.value.showTable, (t) => {
422
- e.value.table.show || (t && e.value.table.useDialog && N.value ? N.value.open() : "close" in N.value && N.value.close());
423
- });
424
- const Ct = v(() => ae.value.map((t) => ({
425
- ...t,
426
- name: t.display
427
- }))), Tt = v(() => e.value.style.chart.backgroundColor), xt = v(() => e.value.style.chart.legend), St = v(() => e.value.style.chart.title), { exportSvg: Ot, getSvg: At } = Qt({
428
- svg: G,
429
- title: St,
430
- legend: xt,
431
- legendItems: Ct,
432
- backgroundColor: Tt
433
- });
434
- async function Ve({ isCb: t }) {
435
- if (t) {
436
- const { blob: l, url: a, text: o, dataUrl: h } = await At();
437
- e.value.userOptions.callbacks.svg({ blob: l, url: a, text: o, dataUrl: h });
438
- } else
439
- Ot();
440
- }
441
- return Qe({
442
- getData: wt,
443
- getImage: $t,
444
- generatePdf: Ae,
445
- generateCsv: ne,
446
- generateImage: Ie,
447
- generateSvg: Ve,
448
- hideSeries: kt,
449
- showSeries: bt,
450
- toggleTable: Be,
451
- toggleTooltip: Ne,
452
- toggleAnnotator: ue,
453
- toggleFullscreen: Me
454
- }), (t, l) => (u(), d("div", {
455
- class: q(`vue-data-ui-component vue-ui-onion ${M.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
456
- ref_key: "onionChart",
457
- ref: x,
458
- id: `vue-ui-onion_${w.value}`,
459
- style: R(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
460
- onMouseenter: l[4] || (l[4] = () => s(Te)(!0)),
461
- onMouseleave: l[5] || (l[5] = () => s(Te)(!1))
462
- }, [
463
- e.value.userOptions.buttons.annotator ? (u(), _(s(lt), {
464
- key: 0,
465
- svgRef: s(G),
466
- backgroundColor: e.value.style.chart.backgroundColor,
467
- color: e.value.style.chart.color,
468
- active: j.value,
469
- onClose: ue
470
- }, {
471
- "annotator-action-close": i(() => [
472
- c(t.$slots, "annotator-action-close", {}, void 0, !0)
473
- ]),
474
- "annotator-action-color": i(({ color: a }) => [
475
- c(t.$slots, "annotator-action-color", b(k({ color: a })), void 0, !0)
476
- ]),
477
- "annotator-action-draw": i(({ mode: a }) => [
478
- c(t.$slots, "annotator-action-draw", b(k({ mode: a })), void 0, !0)
479
- ]),
480
- "annotator-action-undo": i(({ disabled: a }) => [
481
- c(t.$slots, "annotator-action-undo", b(k({ disabled: a })), void 0, !0)
482
- ]),
483
- "annotator-action-redo": i(({ disabled: a }) => [
484
- c(t.$slots, "annotator-action-redo", b(k({ disabled: a })), void 0, !0)
485
- ]),
486
- "annotator-action-delete": i(({ disabled: a }) => [
487
- c(t.$slots, "annotator-action-delete", b(k({ disabled: a })), void 0, !0)
488
- ]),
489
- _: 3
490
- }, 8, ["svgRef", "backgroundColor", "color", "active"])) : f("", !0),
491
- rt.value ? (u(), d("div", {
492
- key: 1,
493
- ref_key: "noTitle",
494
- ref: ye,
495
- class: "vue-data-ui-no-title-space",
496
- style: "height:36px; width: 100%;background:transparent"
497
- }, null, 512)) : f("", !0),
498
- e.value.style.chart.title.text ? (u(), d("div", {
499
- key: 2,
500
- ref_key: "chartTitle",
501
- ref: pe,
502
- style: "width:100%;background:transparent"
503
- }, [
504
- (u(), _(ta, {
505
- key: `title_${be.value}`,
506
- config: {
507
- title: {
508
- cy: "onion-div-title",
509
- ...e.value.style.chart.title
510
- },
511
- subtitle: {
512
- cy: "onion-div-subtitle",
513
- ...e.value.style.chart.title.subtitle
514
- }
515
- }
516
- }, null, 8, ["config"]))
517
- ], 512)) : f("", !0),
518
- F("div", {
519
- id: `legend-top-${w.value}`
520
- }, null, 8, sa),
521
- e.value.userOptions.show && he.value && (s(xe) || s(Z)) ? (u(), _(s(at), {
522
- ref_key: "details",
523
- ref: ut,
524
- key: `user_options${ge.value}`,
525
- backgroundColor: e.value.style.chart.backgroundColor,
526
- color: e.value.style.chart.color,
527
- isImaging: s(Oe),
528
- isPrinting: s(Se),
529
- uid: w.value,
530
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
531
- hasPdf: e.value.userOptions.buttons.pdf,
532
- hasImg: e.value.userOptions.buttons.img,
533
- hasSvg: e.value.userOptions.buttons.svg,
534
- hasXls: e.value.userOptions.buttons.csv,
535
- hasTable: e.value.userOptions.buttons.table,
536
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
537
- isFullscreen: M.value,
538
- isTooltip: y.value.showTooltip,
539
- titles: { ...e.value.userOptions.buttonTitles },
540
- chartElement: x.value,
541
- position: e.value.userOptions.position,
542
- hasAnnotator: e.value.userOptions.buttons.annotator,
543
- isAnnotation: j.value,
544
- callbacks: e.value.userOptions.callbacks,
545
- printScale: e.value.userOptions.print.scale,
546
- tableDialog: e.value.table.useDialog,
547
- onToggleFullscreen: Me,
548
- onGeneratePdf: s(Ae),
549
- onGenerateCsv: ne,
550
- onGenerateImage: s(Ie),
551
- onGenerateSvg: Ve,
552
- onToggleTable: Be,
553
- onToggleTooltip: Ne,
554
- onToggleAnnotator: ue,
555
- style: R({
556
- visibility: s(xe) ? s(Z) ? "visible" : "hidden" : "visible"
557
- })
558
- }, Ee({ _: 2 }, [
559
- t.$slots.menuIcon ? {
560
- name: "menuIcon",
561
- fn: i(({ isOpen: a, color: o }) => [
562
- c(t.$slots, "menuIcon", b(k({ isOpen: a, color: o })), void 0, !0)
563
- ]),
564
- key: "0"
565
- } : void 0,
566
- t.$slots.optionTooltip ? {
567
- name: "optionTooltip",
568
- fn: i(() => [
569
- c(t.$slots, "optionTooltip", {}, void 0, !0)
570
- ]),
571
- key: "1"
572
- } : void 0,
573
- t.$slots.optionPdf ? {
574
- name: "optionPdf",
575
- fn: i(() => [
576
- c(t.$slots, "optionPdf", {}, void 0, !0)
577
- ]),
578
- key: "2"
579
- } : void 0,
580
- t.$slots.optionCsv ? {
581
- name: "optionCsv",
582
- fn: i(() => [
583
- c(t.$slots, "optionCsv", {}, void 0, !0)
584
- ]),
585
- key: "3"
586
- } : void 0,
587
- t.$slots.optionImg ? {
588
- name: "optionImg",
589
- fn: i(() => [
590
- c(t.$slots, "optionImg", {}, void 0, !0)
591
- ]),
592
- key: "4"
593
- } : void 0,
594
- t.$slots.optionSvg ? {
595
- name: "optionSvg",
596
- fn: i(() => [
597
- c(t.$slots, "optionSvg", {}, void 0, !0)
598
- ]),
599
- key: "5"
600
- } : void 0,
601
- t.$slots.optionTable ? {
602
- name: "optionTable",
603
- fn: i(() => [
604
- c(t.$slots, "optionTable", {}, void 0, !0)
605
- ]),
606
- key: "6"
607
- } : void 0,
608
- t.$slots.optionFullscreen ? {
609
- name: "optionFullscreen",
610
- fn: i(({ toggleFullscreen: a, isFullscreen: o }) => [
611
- c(t.$slots, "optionFullscreen", b(k({ toggleFullscreen: a, isFullscreen: o })), void 0, !0)
612
- ]),
613
- key: "7"
614
- } : void 0,
615
- t.$slots.optionAnnotator ? {
616
- name: "optionAnnotator",
617
- fn: i(({ toggleAnnotator: a, isAnnotator: o }) => [
618
- c(t.$slots, "optionAnnotator", b(k({ toggleAnnotator: a, isAnnotator: o })), void 0, !0)
619
- ]),
620
- key: "8"
621
- } : void 0
622
- ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : f("", !0),
623
- (u(), d("svg", {
624
- ref_key: "svgRef",
625
- ref: G,
626
- xmlns: s(Vt),
627
- class: q({ "vue-data-ui-fullscreen--on": M.value, "vue-data-ui-fulscreen--off": !M.value, resizing: S.value }),
628
- viewBox: `0 0 ${n.value.width <= 0 ? 10 : n.value.width} ${n.value.height <= 0 ? 10 : n.value.height}`,
629
- style: R(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
630
- }, [
631
- ce(s(ot)),
632
- t.$slots["chart-background"] ? (u(), d("foreignObject", {
633
- key: 0,
634
- x: 0,
635
- y: 0,
636
- width: n.value.width <= 0 ? 10 : n.value.width,
637
- height: n.value.height <= 0 ? 10 : n.value.height,
638
- style: {
639
- pointerEvents: "none"
640
- }
641
- }, [
642
- c(t.$slots, "chart-background", {}, void 0, !0)
643
- ], 8, ra)) : f("", !0),
644
- (u(!0), d(Y, null, X(O.value, (a, o) => (u(), d("circle", {
645
- cx: g.value.centerX,
646
- cy: g.value.centerY,
647
- r: a.radius <= 0 ? 1e-4 : a.radius,
648
- stroke: e.value.style.chart.layout.gutter.color,
649
- "stroke-width": D.value.gutter,
650
- fill: "none",
651
- "stroke-dasharray": a.path.bgDashArray,
652
- "stroke-dashoffset": a.path.fullOffset,
653
- "stroke-linecap": "round",
654
- class: q({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(I.value) && I.value !== o }),
655
- style: R({
656
- transform: "rotate(-90deg)",
657
- transformOrigin: "50% 50%",
658
- transition: S.value || s($) ? "none" : "all 0.3s ease-in-out !important",
659
- animation: S.value || s($) ? "none" : "xyAnimation 0.5s ease-in"
660
- })
661
- }, null, 14, ia))), 256)),
662
- (u(!0), d(Y, null, X(O.value, (a, o) => (u(), d("circle", {
663
- cx: g.value.centerX,
664
- cy: g.value.centerY,
665
- r: a.radius < 0 ? 1e-4 : a.radius,
666
- stroke: `${a.color}`,
667
- "stroke-width": D.value.track,
668
- fill: "none",
669
- "stroke-dasharray": a.path.dashArray,
670
- "stroke-dashoffset": a.path.dashOffset,
671
- class: q({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(I.value) && I.value !== o }),
672
- "stroke-linecap": "round",
673
- style: R({
674
- transform: "rotate(-90deg)",
675
- transformOrigin: "50% 50%",
676
- transition: S.value || s($) ? "none" : "all 0.3s ease-in-out !important",
677
- animation: S.value || s($) ? "none" : "xyAnimation 0.5s ease-in"
678
- })
679
- }, null, 14, ca))), 256)),
680
- F("defs", null, [
681
- F("filter", {
682
- id: `blur_${w.value}`,
683
- x: "-50%",
684
- y: "-50%",
685
- width: "200%",
686
- height: "200%"
687
- }, [
688
- F("feGaussianBlur", {
689
- in: "SourceGraphic",
690
- stdDeviation: 100 / e.value.style.chart.gradientIntensity
691
- }, null, 8, da)
692
- ], 8, va)
693
- ]),
694
- e.value.style.chart.useGradient ? (u(), d("g", {
695
- key: 1,
696
- filter: `url(#blur_${w.value})`
697
- }, [
698
- (u(!0), d(Y, null, X(O.value, (a, o) => (u(), d("circle", {
699
- cx: g.value.centerX,
700
- cy: g.value.centerY,
701
- r: a.radius <= 0 ? 1e-4 : a.radius,
702
- stroke: "white",
703
- "stroke-width": D.value.track / 3,
704
- fill: "none",
705
- "stroke-linecap": "round",
706
- "stroke-dasharray": a.path.dashArray,
707
- "stroke-dashoffset": a.path.dashOffset,
708
- style: R({
709
- transform: "rotate(-90deg)",
710
- transformOrigin: "50% 50%",
711
- transition: S.value || s($) ? "none" : "all 0.3s ease-in-out !important",
712
- animation: S.value || s($) ? "none" : "xyAnimation 0.5s ease-in"
713
- })
714
- }, null, 12, ga))), 256))
715
- ], 8, ha)) : f("", !0),
716
- (u(!0), d(Y, null, X(O.value, (a, o) => (u(), d("circle", {
717
- cx: g.value.centerX,
718
- cy: g.value.centerY,
719
- r: a.radius <= 0 ? 1e-4 : a.radius,
720
- stroke: "transparent",
721
- "stroke-width": Math.max(D.value.track, D.value.gutter),
722
- fill: "none",
723
- "stroke-dasharray": a.path.bgDashArray,
724
- "stroke-dashoffset": a.path.fullOffset,
725
- "stroke-linecap": "round",
726
- class: "vue-ui-onion-path",
727
- style: {
728
- transform: "rotate(-90deg)",
729
- transformOrigin: "50% 50%"
730
- },
731
- onMouseenter: (h) => ze({
732
- datapoint: a,
733
- show: !0,
734
- seriesIndex: o
735
- }),
736
- onMouseleave: (h) => Le({ datapoint: a }),
737
- onClick: (h) => Re({ datapoint: a })
738
- }, null, 40, pa))), 256)),
739
- e.value.style.chart.layout.labels.show ? (u(), d("g", fa, [
740
- (u(!0), d(Y, null, X(O.value, (a, o) => (u(), d("g", {
741
- onMouseenter: (h) => ze({
742
- datapoint: a,
743
- show: !0,
744
- seriesIndex: o
745
- }),
746
- onMouseleave: (h) => Le({ datapoint: a }),
747
- onClick: (h) => Re({ datapoint: a })
748
- }, [
749
- m.value.includes(a.id) ? f("", !0) : (u(), d("text", {
750
- key: 0,
751
- class: "vue-ui-onion-label",
752
- x: n.value.width / 2 - D.value.gutter * 0.8 + e.value.style.chart.layout.labels.offsetX,
753
- y: a.labelY + e.value.style.chart.layout.labels.offsetY,
754
- "text-anchor": "end",
755
- "font-size": e.value.style.chart.layout.labels.fontSize,
756
- fill: e.value.useBlurOnHover && ![null, void 0].includes(I.value) && I.value === o ? a.color : e.value.style.chart.layout.labels.color,
757
- "font-weight": e.value.style.chart.layout.labels.bold ? "bold" : "normal"
758
- }, z(a.name ? a.name + ": " : "") + " " + z(e.value.style.chart.layout.labels.percentage.show ? s(B)({
759
- v: a.percentage,
760
- s: "%",
761
- r: e.value.style.chart.layout.labels.roundingPercentage
762
- }) : "") + " " + z(!e.value.style.chart.layout.labels.percentage.show && e.value.style.chart.layout.labels.value.show ? `: ${s(de)(
763
- e.value.style.chart.layout.labels.value.formatter,
764
- a.value,
765
- s(B)({
766
- p: a.prefix || "",
767
- v: a.value || 0,
768
- s: a.suffix || "",
769
- r: e.value.style.chart.layout.labels.roundingValue
770
- }),
771
- { datapoint: a, seriesIndex: o }
772
- )}` : `${e.value.style.chart.layout.labels.value.show && a.value ? `(${s(de)(
773
- e.value.style.chart.layout.labels.value.formatter,
774
- a.value,
775
- s(B)({
776
- p: a.prefix || "",
777
- v: a.value || 0,
778
- s: a.suffix || "",
779
- r: e.value.style.chart.layout.labels.roundingValue
780
- }),
781
- { datapoint: a, seriesIndex: o }
782
- )})` : ""}`), 9, ya))
783
- ], 40, ma))), 256))
784
- ])) : f("", !0),
785
- c(t.$slots, "svg", { svg: n.value }, void 0, !0)
786
- ], 14, ua)),
787
- t.$slots.watermark ? (u(), d("div", ba, [
788
- c(t.$slots, "watermark", b(k({ isPrinting: s(Se) || s(Oe) })), void 0, !0)
789
- ])) : f("", !0),
790
- F("div", {
791
- id: `legend-bottom-${w.value}`
792
- }, null, 8, ka),
793
- $e.value ? (u(), _(Ft, {
794
- key: 5,
795
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${w.value}` : `#legend-bottom-${w.value}`
796
- }, [
797
- F("div", {
798
- ref_key: "chartLegend",
799
- ref: fe
800
- }, [
801
- e.value.style.chart.legend.show ? (u(), _(aa, {
802
- key: `legend_${we.value}`,
803
- legendSet: ae.value,
804
- config: pt.value,
805
- onClickMarker: l[0] || (l[0] = ({ legend: a }) => H(a.id))
806
- }, {
807
- item: i(({ legend: a }) => [
808
- s($) ? f("", !0) : (u(), d("div", {
809
- key: 0,
810
- "data-cy-legend-item": "",
811
- onClick: (o) => a.segregate(),
812
- style: R(`opacity:${m.value.includes(a.id) ? 0.5 : 1}`)
813
- }, z(a.display), 13, wa))
814
- ]),
815
- _: 1
816
- }, 8, ["legendSet", "config"])) : c(t.$slots, "legend", {
817
- key: 1,
818
- legend: ae.value
819
- }, void 0, !0)
820
- ], 512)
821
- ], 8, ["to"])) : f("", !0),
822
- t.$slots.source ? (u(), d("div", {
823
- key: 6,
824
- ref_key: "source",
825
- ref: me,
826
- dir: "auto"
827
- }, [
828
- c(t.$slots, "source", {}, void 0, !0)
829
- ], 512)) : f("", !0),
830
- ce(s(Ke), {
831
- show: y.value.showTooltip && Q.value,
832
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
833
- color: e.value.style.chart.tooltip.color,
834
- borderRadius: e.value.style.chart.tooltip.borderRadius,
835
- borderColor: e.value.style.chart.tooltip.borderColor,
836
- borderWidth: e.value.style.chart.tooltip.borderWidth,
837
- fontSize: e.value.style.chart.tooltip.fontSize,
838
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
839
- position: e.value.style.chart.tooltip.position,
840
- offsetY: e.value.style.chart.tooltip.offsetY,
841
- parent: x.value,
842
- content: J.value,
843
- isFullscreen: M.value,
844
- isCustom: s(We)(e.value.style.chart.tooltip.customFormat),
845
- smooth: e.value.style.chart.tooltip.smooth,
846
- backdropFilter: e.value.style.chart.tooltip.backdropFilter,
847
- smoothForce: e.value.style.chart.tooltip.smoothForce,
848
- smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
849
- }, {
850
- "tooltip-before": i(() => [
851
- c(t.$slots, "tooltip-before", b(k({ ...se.value })), void 0, !0)
852
- ]),
853
- "tooltip-after": i(() => [
854
- c(t.$slots, "tooltip-after", b(k({ ...se.value })), void 0, !0)
855
- ]),
856
- _: 3
857
- }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
858
- he.value && e.value.userOptions.buttons.table ? (u(), _(Dt(U.value.component), Mt({ key: 7 }, U.value.props, {
859
- ref_key: "tableUnit",
860
- ref: N,
861
- onClose: l[3] || (l[3] = (a) => y.value.showTable = !1)
862
- }), Ee({
863
- content: i(() => [
864
- (u(), _(s(tt), {
865
- key: `table_${ke.value}`,
866
- colNames: W.value.colNames,
867
- head: W.value.head,
868
- body: W.value.body,
869
- config: W.value.config,
870
- title: e.value.table.useDialog ? "" : U.value.title,
871
- withCloseButton: !e.value.table.useDialog,
872
- onClose: l[2] || (l[2] = (a) => y.value.showTable = !1)
873
- }, {
874
- th: i(({ th: a }) => [
875
- Ye(z(a), 1)
876
- ]),
877
- td: i(({ td: a }) => [
878
- F("div", { innerHTML: a }, null, 8, $a)
879
- ]),
880
- _: 1
881
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
882
- ]),
883
- _: 2
884
- }, [
885
- e.value.table.useDialog ? {
886
- name: "title",
887
- fn: i(() => [
888
- Ye(z(U.value.title), 1)
889
- ]),
890
- key: "0"
891
- } : void 0,
892
- e.value.table.useDialog ? {
893
- name: "actions",
894
- fn: i(() => [
895
- F("button", {
896
- tabindex: "0",
897
- class: "vue-ui-user-options-button",
898
- onClick: l[1] || (l[1] = (a) => ne(e.value.userOptions.callbacks.csv))
899
- }, [
900
- ce(s(Ze), {
901
- name: "excel",
902
- stroke: U.value.props.color
903
- }, null, 8, ["stroke"])
904
- ])
905
- ]),
906
- key: "1"
907
- } : void 0
908
- ]), 1040)) : f("", !0),
909
- s($) ? (u(), _(jt, { key: 8 })) : f("", !0)
910
- ], 46, na));
911
- }
912
- }, Na = /* @__PURE__ */ oa(Ca, [["__scopeId", "data-v-1e413e91"]]);
913
- export {
914
- Na as default
915
- };