vue-data-ui 3.4.9 → 3.5.1

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 (151) hide show
  1. package/README.md +114 -37
  2. package/dist/{ColorPicker-J5wOPCeB.js → ColorPicker-ChuwChMo.js} +58 -56
  3. package/dist/{NonSvgPenAndPaper-C7TRn0_3.js → NonSvgPenAndPaper-DVgKKLIf.js} +1 -1
  4. package/dist/{PackageVersion-CTUqGqWV.js → PackageVersion-DQvyATVa.js} +1 -1
  5. package/dist/PenAndPaper-SZQIAgkg.js +388 -0
  6. package/dist/{Title-l36lOBMx.js → Title-isbiM8i8.js} +1 -1
  7. package/dist/components/vue-ui-3d-bar.js +1 -1
  8. package/dist/components/vue-ui-accordion.js +1 -1
  9. package/dist/components/vue-ui-age-pyramid.js +1 -1
  10. package/dist/components/vue-ui-annotator.js +1 -1
  11. package/dist/components/vue-ui-bullet.js +1 -1
  12. package/dist/components/vue-ui-candlestick.js +1 -1
  13. package/dist/components/vue-ui-carousel-table.js +1 -1
  14. package/dist/components/vue-ui-chestnut.js +1 -1
  15. package/dist/components/vue-ui-chord.js +1 -1
  16. package/dist/components/vue-ui-circle-pack.js +1 -1
  17. package/dist/components/vue-ui-cursor.js +1 -1
  18. package/dist/components/vue-ui-dashboard.js +1 -1
  19. package/dist/components/vue-ui-digits.js +1 -1
  20. package/dist/components/vue-ui-donut-evolution.js +1 -1
  21. package/dist/components/vue-ui-donut.js +1 -1
  22. package/dist/components/vue-ui-dumbbell.js +1 -1
  23. package/dist/components/vue-ui-flow.js +1 -1
  24. package/dist/components/vue-ui-funnel.js +1 -1
  25. package/dist/components/vue-ui-galaxy.js +1 -1
  26. package/dist/components/vue-ui-gauge.js +1 -1
  27. package/dist/components/vue-ui-gizmo.js +1 -1
  28. package/dist/components/vue-ui-heatmap.js +1 -1
  29. package/dist/components/vue-ui-history-plot.js +1 -1
  30. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  31. package/dist/components/vue-ui-kpi.js +1 -1
  32. package/dist/components/vue-ui-mini-loader.js +1 -1
  33. package/dist/components/vue-ui-molecule.js +1 -1
  34. package/dist/components/vue-ui-mood-radar.js +1 -1
  35. package/dist/components/vue-ui-nested-donuts.js +1 -1
  36. package/dist/components/vue-ui-onion.js +1 -1
  37. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  38. package/dist/components/vue-ui-quadrant.js +1 -1
  39. package/dist/components/vue-ui-quick-chart.js +1 -1
  40. package/dist/components/vue-ui-radar.js +1 -1
  41. package/dist/components/vue-ui-rating.js +1 -1
  42. package/dist/components/vue-ui-relation-circle.js +1 -1
  43. package/dist/components/vue-ui-ridgeline.js +1 -1
  44. package/dist/components/vue-ui-rings.js +1 -1
  45. package/dist/components/vue-ui-scatter.js +1 -1
  46. package/dist/components/vue-ui-skeleton.js +1 -1
  47. package/dist/components/vue-ui-smiley.js +1 -1
  48. package/dist/components/vue-ui-spark-trend.js +1 -1
  49. package/dist/components/vue-ui-sparkbar.js +1 -1
  50. package/dist/components/vue-ui-sparkgauge.js +1 -1
  51. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  52. package/dist/components/vue-ui-sparkline.js +1 -1
  53. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  54. package/dist/components/vue-ui-stackbar.js +1 -1
  55. package/dist/components/vue-ui-strip-plot.js +1 -1
  56. package/dist/components/vue-ui-table-heatmap.js +1 -1
  57. package/dist/components/vue-ui-table-sparkline.js +1 -1
  58. package/dist/components/vue-ui-table.js +1 -1
  59. package/dist/components/vue-ui-thermometer.js +1 -1
  60. package/dist/components/vue-ui-timer.js +1 -1
  61. package/dist/components/vue-ui-tiremarks.js +1 -1
  62. package/dist/components/vue-ui-treemap.js +1 -1
  63. package/dist/components/vue-ui-vertical-bar.js +1 -1
  64. package/dist/components/vue-ui-waffle.js +1 -1
  65. package/dist/components/vue-ui-wheel.js +1 -1
  66. package/dist/components/vue-ui-word-cloud.js +1 -1
  67. package/dist/components/vue-ui-world.js +1 -1
  68. package/dist/components/vue-ui-xy-canvas.js +1 -1
  69. package/dist/components/vue-ui-xy.js +1 -1
  70. package/dist/style.css +1 -1
  71. package/dist/types/vue-data-ui.d.ts +17 -8
  72. package/dist/{useNestedProp-BjZe1Y85.js → useNestedProp-DjGXw6S9.js} +22 -8
  73. package/dist/{vue-data-ui-DjxWWa78.js → vue-data-ui-B_RxfmEm.js} +113 -107
  74. package/dist/vue-data-ui.js +64 -64
  75. package/dist/{vue-ui-3d-bar-CLE7f9pl.js → vue-ui-3d-bar-CMNYyVa2.js} +454 -434
  76. package/dist/{vue-ui-accordion-CZ0thhxa.js → vue-ui-accordion-CqhVCfc2.js} +1 -1
  77. package/dist/{vue-ui-age-pyramid-D73uIOPm.js → vue-ui-age-pyramid-Vqa9iYXE.js} +180 -160
  78. package/dist/{vue-ui-annotator-BylDgUVb.js → vue-ui-annotator-nNv10fBm.js} +3 -3
  79. package/dist/{vue-ui-bullet-Bybo0xK2.js → vue-ui-bullet-BWEBeYV5.js} +190 -170
  80. package/dist/{vue-ui-candlestick-D_FyMdqH.js → vue-ui-candlestick-BoLzL0g1.js} +201 -181
  81. package/dist/{vue-ui-carousel-table-BvMlNdVo.js → vue-ui-carousel-table-Bi6wvUUU.js} +2 -2
  82. package/dist/{vue-ui-chestnut-DA0g0bDV.js → vue-ui-chestnut-BGz1TLXG.js} +375 -355
  83. package/dist/vue-ui-chord-CebhS7ln.js +1153 -0
  84. package/dist/{vue-ui-circle-pack-BPDm-ro5.js → vue-ui-circle-pack-7PJVyKjp.js} +289 -269
  85. package/dist/{vue-ui-cursor-ik59bfC4.js → vue-ui-cursor-qYLAwvzn.js} +1 -1
  86. package/dist/vue-ui-dashboard-DcmMvhgM.js +432 -0
  87. package/dist/{vue-ui-digits-ByNNcWXi.js → vue-ui-digits-DyE8eU1m.js} +1 -1
  88. package/dist/vue-ui-donut-CxZcJFTo.js +1681 -0
  89. package/dist/{vue-ui-donut-evolution-Ca3Svr0B.js → vue-ui-donut-evolution-BVYL-BUJ.js} +480 -444
  90. package/dist/{vue-ui-dumbbell-CxCE2luV.js → vue-ui-dumbbell-QxZn86A3.js} +210 -190
  91. package/dist/{vue-ui-flow-DEvwXd4W.js → vue-ui-flow-DEI5LRch.js} +339 -319
  92. package/dist/{vue-ui-funnel-Bgcx7xia.js → vue-ui-funnel-B_A5orFg.js} +218 -198
  93. package/dist/{vue-ui-galaxy-BWr1EMob.js → vue-ui-galaxy-CUoDRr-O.js} +313 -277
  94. package/dist/{vue-ui-gauge-DQricvo2.js → vue-ui-gauge-46tSRZN5.js} +311 -291
  95. package/dist/{vue-ui-gizmo-C-fKe3io.js → vue-ui-gizmo-BOgbsXao.js} +2 -2
  96. package/dist/{vue-ui-heatmap-B-o_i7Hu.js → vue-ui-heatmap-DKKjl1A2.js} +303 -283
  97. package/dist/{vue-ui-history-plot-DzQ9DPUJ.js → vue-ui-history-plot-C6p_aThr.js} +478 -442
  98. package/dist/{vue-ui-kpi-BGGff8LM.js → vue-ui-kpi-B1yJ83aF.js} +2 -2
  99. package/dist/{vue-ui-mini-loader-CSF-7TJL.js → vue-ui-mini-loader-BudcNBg-.js} +1 -1
  100. package/dist/{vue-ui-molecule-I2OhrCR2.js → vue-ui-molecule-L90GnHee.js} +156 -136
  101. package/dist/{vue-ui-mood-radar-BAT7kZUy.js → vue-ui-mood-radar-Dhigm5rw.js} +266 -246
  102. package/dist/{vue-ui-nested-donuts-CjhJDAQi.js → vue-ui-nested-donuts-D0MCLs5n.js} +597 -557
  103. package/dist/vue-ui-onion-B7yPJ3gL.js +915 -0
  104. package/dist/vue-ui-parallel-coordinate-plot-DY21ivNe.js +1051 -0
  105. package/dist/{vue-ui-quadrant-DGnasrCR.js → vue-ui-quadrant-b0vMRaq-.js} +532 -495
  106. package/dist/{vue-ui-quick-chart-Cam_sWet.js → vue-ui-quick-chart-VK2EN7sh.js} +288 -268
  107. package/dist/{vue-ui-radar-DNI9WI2R.js → vue-ui-radar-B5Vkoz9M.js} +412 -373
  108. package/dist/{vue-ui-rating-CiMoFM_c.js → vue-ui-rating-BH4DW1ZY.js} +1 -1
  109. package/dist/{vue-ui-relation-circle-Dj1jhcsl.js → vue-ui-relation-circle-XHbE-ZUX.js} +228 -208
  110. package/dist/{vue-ui-ridgeline-adIls6bj.js → vue-ui-ridgeline-CAMNq-p_.js} +517 -481
  111. package/dist/vue-ui-rings-ImGOqm_J.js +855 -0
  112. package/dist/vue-ui-scatter-CterNJYe.js +1590 -0
  113. package/dist/{vue-ui-skeleton-DUdI2uOO.js → vue-ui-skeleton-CykXHWj-.js} +2 -2
  114. package/dist/{vue-ui-smiley-sGFRbn31.js → vue-ui-smiley-DnGm6qrK.js} +1 -1
  115. package/dist/{vue-ui-spark-trend-DxpRfUJz.js → vue-ui-spark-trend-N1AsNQJA.js} +2 -2
  116. package/dist/{vue-ui-sparkbar-B44oER5n.js → vue-ui-sparkbar-Bvsi5DTT.js} +2 -2
  117. package/dist/{vue-ui-sparkgauge-ix12NZ7M.js → vue-ui-sparkgauge-DyJmWCWT.js} +2 -2
  118. package/dist/{vue-ui-sparkhistogram-Cs-QDYBR.js → vue-ui-sparkhistogram-5eKrkmSb.js} +143 -140
  119. package/dist/{vue-ui-sparkline-Cb8ZmyUq.js → vue-ui-sparkline-ChKAzlVq.js} +2 -2
  120. package/dist/vue-ui-sparkstackbar-BXNy6nuw.js +441 -0
  121. package/dist/vue-ui-stackbar-1IwvUYBO.js +1827 -0
  122. package/dist/{vue-ui-strip-plot-BjG-Jxnb.js → vue-ui-strip-plot-B1wGxP8-.js} +245 -225
  123. package/dist/{vue-ui-table-DdBdLrAL.js → vue-ui-table-DSsIrT4L.js} +3 -3
  124. package/dist/{vue-ui-table-heatmap-BqCEBoUf.js → vue-ui-table-heatmap-DXFHy7-E.js} +1 -1
  125. package/dist/{vue-ui-table-sparkline-EpCo2Be5.js → vue-ui-table-sparkline-DpqY_4ay.js} +2 -2
  126. package/dist/vue-ui-thermometer-CMKvSA8p.js +584 -0
  127. package/dist/{vue-ui-timer-Br3wp8hG.js → vue-ui-timer-BpdCY_wg.js} +3 -3
  128. package/dist/vue-ui-tiremarks-CNipzVli.js +450 -0
  129. package/dist/vue-ui-treemap-DPE8SY0_.js +1330 -0
  130. package/dist/{vue-ui-vertical-bar-yfbEfLqy.js → vue-ui-vertical-bar-ZU1GCbX0.js} +484 -448
  131. package/dist/{vue-ui-waffle-m-9sqQik.js → vue-ui-waffle-z7nuSuSV.js} +398 -362
  132. package/dist/vue-ui-wheel-DLRoRjeM.js +663 -0
  133. package/dist/{vue-ui-word-cloud-vNwswYZD.js → vue-ui-word-cloud-D2r5E3pP.js} +248 -228
  134. package/dist/{vue-ui-world-BsCNyZy_.js → vue-ui-world-goXYnTyM.js} +287 -267
  135. package/dist/{vue-ui-xy-CIrw1lWQ.js → vue-ui-xy-NDDbNbds.js} +1263 -1227
  136. package/dist/{vue-ui-xy-canvas-DXnLFwW3.js → vue-ui-xy-canvas-2a6NlQe3.js} +338 -322
  137. package/package.json +4 -4
  138. package/dist/PenAndPaper-DSvu9dwa.js +0 -373
  139. package/dist/vue-ui-chord-CDgzolI-.js +0 -1133
  140. package/dist/vue-ui-dashboard-CeJwbiON.js +0 -412
  141. package/dist/vue-ui-donut-DjQXHBJE.js +0 -1645
  142. package/dist/vue-ui-onion-DTY2p87s.js +0 -873
  143. package/dist/vue-ui-parallel-coordinate-plot-C8aWTcNn.js +0 -1014
  144. package/dist/vue-ui-rings-CnTMFK6R.js +0 -813
  145. package/dist/vue-ui-scatter-fzR2c0St.js +0 -1554
  146. package/dist/vue-ui-sparkstackbar-BiRZ51OU.js +0 -424
  147. package/dist/vue-ui-stackbar-DubS6Pg8.js +0 -1708
  148. package/dist/vue-ui-thermometer-DTnfnf9z.js +0 -564
  149. package/dist/vue-ui-tiremarks-CrC_tlIx.js +0 -430
  150. package/dist/vue-ui-treemap-kyuyi2ES.js +0 -1294
  151. package/dist/vue-ui-wheel-BasM7FWt.js +0 -643
@@ -1,873 +0,0 @@
1
- import { defineAsyncComponent as A, computed as i, ref as r, toRefs as Ot, watch as E, shallowRef as Ve, onMounted as St, onBeforeUnmount as At, createElementBlock as c, openBlock as u, unref as s, normalizeStyle as D, normalizeClass as j, createBlock as _, createCommentVNode as p, createElementVNode as I, createVNode as ie, createSlots as Ue, withCtx as d, renderSlot as g, normalizeProps as R, guardReactiveProps as L, Fragment as Y, renderList as X, toDisplayString as z, Teleport as _t, resolveDynamicComponent as It, mergeProps as Pt, createTextVNode as Ee, nextTick as Ye } from "vue";
2
- import { c as Ft, t as Dt, b as Mt, p as Xe, e as Rt, o as Ge, f as ce, h as Lt, d as B, X as zt, a as ve, G as He, P as Bt, Q as Nt, H as Vt } from "./lib-C_mNZmhD.js";
3
- import { t as Ut, u as Et } from "./useResponsive-DfdjqQps.js";
4
- import { u as Yt, a as We } from "./useNestedProp-BjZe1Y85.js";
5
- import { u as Xt, B as Gt } from "./BaseScanner-BgWxam9d.js";
6
- import { u as Ht } from "./usePrinter-DTzqpYKF.js";
7
- import { u as Wt } from "./useSvgExport-DrjCWun4.js";
8
- import { u as jt } from "./useUserOptionState-BIvW1Kz7.js";
9
- import { u as qt } from "./useChartAccessibility-9icAAmYg.js";
10
- import { u as Qt } from "./useAutoSizeLabelsInsideViewbox-BhzfwQ_k.js";
11
- import Jt from "./img-BecE5qXd.js";
12
- import Kt from "./Title-l36lOBMx.js";
13
- import Zt from "./Legend-G6GMcdAc.js";
14
- import { t as ea } from "./themes-AUNCOb2G.js";
15
- import { _ as ta } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
- const aa = ["id"], la = ["id"], oa = ["xmlns", "viewBox"], na = ["width", "height"], sa = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], ua = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], ra = ["id"], ia = ["stdDeviation"], ca = ["filter"], va = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], da = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "onMouseenter", "onMouseleave", "onClick"], ha = { key: 2 }, ga = ["onMouseenter", "onMouseleave", "onClick"], pa = ["x", "y", "font-size", "fill", "font-weight"], fa = {
17
- key: 4,
18
- class: "vue-data-ui-watermark"
19
- }, ma = ["id"], ya = ["onClick"], ba = ["innerHTML"], ka = {
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(je, { expose: qe, emit: Qe }) {
37
- const Je = A(() => import("./Tooltip-oWCO1HKy.js")), Ke = A(() => import("./BaseIcon-BmMbm4d0.js")), Ze = A(() => import("./vue-ui-accordion-CZ0thhxa.js")), et = A(() => import("./DataTable-BT7VF2ua.js")), tt = A(() => import("./UserOptions-CGnQt6Fd.js")), at = A(() => import("./PenAndPaper-DSvu9dwa.js")), lt = A(() => import("./PackageVersion-CTUqGqWV.js")), ot = A(() => import("./BaseDraggableDialog-ymf2sfB8.js")), { vue_ui_onion: nt } = Yt(), C = je, de = i(() => !!C.dataset && C.dataset.length), y = r(Ft()), st = r(null), he = r(0), q = r(!1), Q = r(""), b = r([]), $ = r(null), ge = r(null), pe = r(null), fe = r(null), me = r(null), ye = r(0), be = r(0), ke = r(0), T = r(!1), we = r(!1), N = r(null), e = r(Z()), { loading: k, FINAL_DATASET: Ce, manualLoading: J } = Xt({
38
- ...Ot(C),
39
- FINAL_CONFIG: e,
40
- prepareConfig: Z,
41
- callback: () => {
42
- Promise.resolve().then(async () => {
43
- await Ye(), Pe();
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: Dt({
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: K, setUserOptionsVisibility: $e, keepUserOptionState: Te } = jt({ config: e.value }), { svgRef: G } = qt({ config: e.value.style.chart.title });
74
- function Z() {
75
- const t = We({
76
- userConfig: C.config,
77
- defaultConfig: nt
78
- });
79
- return t.theme ? {
80
- ...We({
81
- userConfig: ea.vue_ui_onion[t.theme] || C.config,
82
- defaultConfig: t
83
- }),
84
- customPalette: Mt[t.theme] || Xe
85
- } : t;
86
- }
87
- E(() => C.config, (t) => {
88
- k.value || (e.value = Z()), K.value = !e.value.userOptions.showOnChartHover, Ie(), ye.value += 1, be.value += 1, ke.value += 1, f.value.showTable = e.value.table.show, f.value.showTooltip = e.value.style.chart.tooltip.show;
89
- }, { deep: !0 });
90
- const { isPrinting: xe, isImaging: Oe, generatePdf: Se, generateImage: Ae } = Ht({
91
- elementId: `vue-ui-onion_${y.value}`,
92
- fileName: e.value.style.chart.title.text || "vue-ui-onion",
93
- options: e.value.userOptions.print
94
- }), ut = i(() => e.value.userOptions.show && !e.value.style.chart.title.text), rt = i(() => Rt(e.value.customPalette)), f = r({
95
- showTable: e.value.table.show,
96
- showTooltip: e.value.style.chart.tooltip.show
97
- });
98
- E(e, () => {
99
- f.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
- }), O = Ve(null), M = Ve(null);
115
- St(() => {
116
- we.value = !0, Ie();
117
- });
118
- const it = i({
119
- get: () => e.value.style.chart.layout.labels.fontSize,
120
- set: (t) => t
121
- }), { autoSizeLabels: _e } = Qt({
122
- svgRef: G,
123
- fontSize: e.value.style.chart.layout.labels.fontSize,
124
- minFontSize: e.value.style.chart.layout.labels.minFontSize,
125
- sizeRef: it,
126
- labelClass: ".vue-ui-onion-label"
127
- }), ct = i(() => e.value.debug);
128
- let ee = null;
129
- function Ie() {
130
- if (Ge(C.dataset) && (ce({
131
- componentName: "VueUiOnion",
132
- type: "dataset",
133
- debug: ct.value
134
- }), J.value = !0), Ge(C.dataset) || (J.value = e.value.loading), e.value.responsive) {
135
- const o = Ut(() => {
136
- ee && clearTimeout(ee), T.value = !0;
137
- let { width: a, height: l } = Et({
138
- chart: $.value,
139
- title: e.value.style.chart.title.text ? ge.value : null,
140
- legend: e.value.style.chart.legend.show ? pe.value : null,
141
- source: fe.value,
142
- noTitle: me.value
143
- });
144
- l -= 12, requestAnimationFrame(async () => {
145
- n.value.width = a, n.value.height = l, n.value.padding.top = Math.max(a, l) * 0.125, n.value.padding.right = Math.max(a, l) * 0.125, n.value.padding.bottom = Math.max(a, l) * 0.125, n.value.padding.left = Math.max(a, l) * 0.125, n.value.minRadius = Math.min(a, l) * 0.125, ee = setTimeout(() => {
146
- T.value = !1, _e();
147
- }, 0);
148
- });
149
- });
150
- O.value && (M.value && O.value.unobserve(M.value), O.value.disconnect()), O.value = new ResizeObserver(o), M.value = $.value.parentNode, O.value.observe(M.value);
151
- }
152
- requestAnimationFrame(_e);
153
- }
154
- At(() => {
155
- O.value && (M.value && O.value.unobserve(M.value), O.value.disconnect());
156
- });
157
- const h = i(() => ({
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
- })), m = i(() => (Ce.value.forEach((t, o) => {
169
- [null, void 0].includes(t.name) && ce({
170
- componentName: "VueUiOnion",
171
- type: "datasetSerieAttribute",
172
- property: "name",
173
- index: o
174
- }), [void 0].includes(t.percentage) && ce({
175
- componentName: "VueUiOnion",
176
- type: "datasetSerieAttribute",
177
- property: "percentage",
178
- index: o
179
- });
180
- }), Ce.value.map((t, o) => {
181
- const a = `onion_serie_${o}_${y.value}`;
182
- return {
183
- ...t,
184
- percentage: t.percentage || 0,
185
- targetPercentage: t.percentage || 0,
186
- color: Lt(t.color) || rt.value[o] || Xe[o],
187
- id: a,
188
- shape: "circle",
189
- opacity: b.value.includes(a) ? 0.5 : 1,
190
- absoluteIndex: o,
191
- segregate: () => Fe(a),
192
- isSegregated: b.value.includes(a)
193
- };
194
- }))), te = i(() => m.value.map((t, o) => ({
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(m.value), vt = i(() => e.value.useStartAnimation), dt = r(null), ht = i(() => Math.max(...m.value.map((t) => t.percentage))), ae = r(!1);
202
- E(() => m.value, Pe, { immediate: !0, deep: !0 }), E(() => C.dataset, (t) => {
203
- Array.isArray(t) && t.length > 0 && (J.value = !1);
204
- }, { deep: !0 });
205
- function Pe() {
206
- if (vt.value && !ae.value && !k.value) {
207
- let o = function() {
208
- t >= ht.value ? (cancelAnimationFrame(dt.value), V.value = m.value, ae.value = !0) : (V.value = m.value.map((a) => ({
209
- ...a,
210
- percentage: t < a.targetPercentage ? t : a.targetPercentage
211
- })), t += 1, requestAnimationFrame(o), ae.value = !0);
212
- };
213
- V.value = m.value.map((a) => ({
214
- ...a,
215
- percentage: 0
216
- }));
217
- let t = 0;
218
- o();
219
- } else
220
- V.value = m.value;
221
- }
222
- const gt = i(() => ({
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
- })), pt = i(() => m.value.filter((t) => !b.value.includes(t.id)).length), P = i(() => {
230
- const t = Math.min(h.value.width, h.value.height) / 2 / m.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
- }), x = i(() => V.value.filter((t) => !b.value.includes(t.id)).map((t, o) => {
236
- const a = (h.value.maxRadius - P.value.track) / pt.value / 2 * (1 + o), l = h.value.centerY - a;
237
- return {
238
- percentage: t.percentage || 0,
239
- ...t,
240
- labelY: l,
241
- radius: a,
242
- path: ft(a, t.percentage || 0)
243
- };
244
- }));
245
- function ft(t, o) {
246
- const a = 2 * Math.PI * t, l = a * 0.75, v = `${l} ${a}`, w = l * (1 - o / 100);
247
- return {
248
- bgDashArray: `${l} ${a}`,
249
- bgDashOffset: 0,
250
- dashArray: v,
251
- dashOffset: w,
252
- fullOffset: 0,
253
- active: `
254
- M ${h.value.centerX},${h.value.centerY - t}
255
- A ${t},${t} 0 1 1
256
- ${h.value.centerX + t * Math.cos(Math.PI * 3 / 4)},${h.value.centerY + t * Math.sin(Math.PI * 3 / 4)}
257
- `.trim()
258
- };
259
- }
260
- const mt = Qe;
261
- function Fe(t) {
262
- b.value.includes(t) ? b.value = b.value.filter((o) => o !== t) : b.value.push(t), mt("selectLegend", x.value);
263
- }
264
- function yt() {
265
- return x.value;
266
- }
267
- const le = i(() => {
268
- const t = [e.value.table.translations.serie, e.value.table.translations.percentage, e.value.table.translations.value], o = x.value.map((a) => [
269
- a.name,
270
- a.percentage,
271
- a.value
272
- ]);
273
- return { head: t, body: o };
274
- }), H = i(() => {
275
- const t = le.value.head, o = x.value.map((l) => [
276
- `<span style="color:${l.color}">⬤</span> ${l.name}`,
277
- `${Number(l.percentage ?? 0).toFixed(e.value.table.td.roundingPercentage).toLocaleString()}%`,
278
- `${l.prefix || ""}${[null, void 0, NaN, "NaN"].includes(l.value) ? "-" : l.value.toFixed(e.value.table.td.roundingValue).toLocaleString()}${l.suffix || ""}`
279
- ]), a = {
280
- th: {
281
- backgroundColor: e.value.table.th.backgroundColor,
282
- color: e.value.table.th.color,
283
- outline: e.value.table.th.outline
284
- },
285
- td: {
286
- backgroundColor: e.value.table.td.backgroundColor,
287
- color: e.value.table.td.color,
288
- outline: e.value.table.td.outline
289
- },
290
- breakpoint: e.value.table.responsiveBreakpoint
291
- };
292
- return { head: t, body: o, config: a, colNames: t };
293
- });
294
- function oe(t = null) {
295
- Ye(() => {
296
- const o = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = le.value.head, l = le.value.body, v = o.concat([a]).concat(l), w = Bt(v);
297
- t ? t(w) : Nt({ csvContent: w, title: e.value.style.chart.title.text || "vue-ui-onion" });
298
- });
299
- }
300
- const S = r(void 0), F = r(!1);
301
- function De(t) {
302
- F.value = t, he.value += 1;
303
- }
304
- function Me({ datapoint: t }) {
305
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: t.absoluteIndex });
306
- }
307
- function Re({ datapoint: t }) {
308
- S.value = void 0, q.value = !1, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: t.absoluteIndex });
309
- }
310
- const ne = r(null);
311
- function Le({ datapoint: t, seriesIndex: o, show: a = !0 }) {
312
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: t.absoluteIndex });
313
- const l = t.absoluteIndex;
314
- S.value = o, ne.value = {
315
- datapoint: t,
316
- seriesIndex: l,
317
- series: m.value,
318
- config: e.value
319
- }, q.value = a;
320
- let v = "";
321
- const w = e.value.style.chart.tooltip.customFormat;
322
- if (He(w) && Vt(() => w({
323
- seriesIndex: l,
324
- datapoint: t,
325
- series: m.value,
326
- config: e.value
327
- })))
328
- Q.value = w({
329
- seriesIndex: l,
330
- datapoint: t,
331
- series: m.value,
332
- config: e.value
333
- });
334
- else {
335
- const ue = e.value.style.chart.tooltip.showPercentage, re = e.value.style.chart.tooltip.showValue;
336
- v += `<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>`, v += `<div style="width:100%;text-align:left;"><b>${ue ? B({ p: "", v: t.percentage, s: "%", r: e.value.style.chart.tooltip.roundingPercentage }) : ""}</b> ${ue && re ? "(" : ""}${re ? ve(
337
- e.value.style.chart.layout.labels.value.formatter,
338
- t.value,
339
- B({
340
- p: t.prefix || "",
341
- v: t.value,
342
- s: t.suffix || "",
343
- r: e.value.style.chart.tooltip.roundingValue
344
- }),
345
- { datapoint: t, seriesIndex: o }
346
- ) : ""}${ue && re ? ")" : ""}</div>`, Q.value = `<div>${v}</div>`;
347
- }
348
- }
349
- function ze() {
350
- f.value.showTable = !f.value.showTable;
351
- }
352
- function Be() {
353
- f.value.showTooltip = !f.value.showTooltip;
354
- }
355
- const W = r(!1);
356
- function se() {
357
- W.value = !W.value;
358
- }
359
- async function bt({ scale: t = 2 } = {}) {
360
- if (!$.value) return;
361
- const { width: o, height: a } = $.value.getBoundingClientRect(), l = o / a, { imageUri: v, base64: w } = await Jt({ domElement: $.value, base64: !0, img: !0, scale: t });
362
- return {
363
- imageUri: v,
364
- base64: w,
365
- title: e.value.style.chart.title.text,
366
- width: o,
367
- height: a,
368
- aspectRatio: l
369
- };
370
- }
371
- const U = i(() => {
372
- const t = e.value.table.useDialog && !e.value.table.show, o = f.value.showTable;
373
- return {
374
- component: t ? ot : Ze,
375
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
376
- props: t ? {
377
- backgroundColor: e.value.table.th.backgroundColor,
378
- color: e.value.table.th.color,
379
- headerColor: e.value.table.th.color,
380
- headerBg: e.value.table.th.backgroundColor,
381
- isFullscreen: F.value,
382
- fullscreenParent: $.value,
383
- forcedWidth: Math.min(600, window.innerWidth * 0.8)
384
- } : {
385
- hideDetails: !0,
386
- config: {
387
- open: o,
388
- maxHeight: 1e4,
389
- body: {
390
- backgroundColor: e.value.style.chart.backgroundColor,
391
- color: e.value.style.chart.color
392
- },
393
- head: {
394
- backgroundColor: e.value.style.chart.backgroundColor,
395
- color: e.value.style.chart.color
396
- }
397
- }
398
- }
399
- };
400
- });
401
- E(() => f.value.showTable, (t) => {
402
- e.value.table.show || (t && e.value.table.useDialog && N.value ? N.value.open() : "close" in N.value && N.value.close());
403
- });
404
- const kt = i(() => te.value.map((t) => ({
405
- ...t,
406
- name: t.display
407
- }))), wt = i(() => e.value.style.chart.backgroundColor), Ct = i(() => e.value.style.chart.legend), $t = i(() => e.value.style.chart.title), { exportSvg: Tt, getSvg: xt } = Wt({
408
- svg: G,
409
- title: $t,
410
- legend: Ct,
411
- legendItems: kt,
412
- backgroundColor: wt
413
- });
414
- async function Ne({ isCb: t }) {
415
- if (t) {
416
- const { blob: o, url: a, text: l, dataUrl: v } = await xt();
417
- e.value.userOptions.callbacks.svg({ blob: o, url: a, text: l, dataUrl: v });
418
- } else
419
- Tt();
420
- }
421
- return qe({
422
- getData: yt,
423
- getImage: bt,
424
- generatePdf: Se,
425
- generateCsv: oe,
426
- generateImage: Ae,
427
- generateSvg: Ne,
428
- toggleTable: ze,
429
- toggleTooltip: Be,
430
- toggleAnnotator: se,
431
- toggleFullscreen: De
432
- }), (t, o) => (u(), c("div", {
433
- class: j(`vue-data-ui-component vue-ui-onion ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
434
- ref_key: "onionChart",
435
- ref: $,
436
- id: `vue-ui-onion_${y.value}`,
437
- style: D(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
438
- onMouseenter: o[4] || (o[4] = () => s($e)(!0)),
439
- onMouseleave: o[5] || (o[5] = () => s($e)(!1))
440
- }, [
441
- e.value.userOptions.buttons.annotator ? (u(), _(s(at), {
442
- key: 0,
443
- svgRef: s(G),
444
- backgroundColor: e.value.style.chart.backgroundColor,
445
- color: e.value.style.chart.color,
446
- active: W.value,
447
- onClose: se
448
- }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : p("", !0),
449
- ut.value ? (u(), c("div", {
450
- key: 1,
451
- ref_key: "noTitle",
452
- ref: me,
453
- class: "vue-data-ui-no-title-space",
454
- style: "height:36px; width: 100%;background:transparent"
455
- }, null, 512)) : p("", !0),
456
- e.value.style.chart.title.text ? (u(), c("div", {
457
- key: 2,
458
- ref_key: "chartTitle",
459
- ref: ge,
460
- style: "width:100%;background:transparent"
461
- }, [
462
- (u(), _(Kt, {
463
- key: `title_${ye.value}`,
464
- config: {
465
- title: {
466
- cy: "onion-div-title",
467
- ...e.value.style.chart.title
468
- },
469
- subtitle: {
470
- cy: "onion-div-subtitle",
471
- ...e.value.style.chart.title.subtitle
472
- }
473
- }
474
- }, null, 8, ["config"]))
475
- ], 512)) : p("", !0),
476
- I("div", {
477
- id: `legend-top-${y.value}`
478
- }, null, 8, la),
479
- e.value.userOptions.show && de.value && (s(Te) || s(K)) ? (u(), _(s(tt), {
480
- ref_key: "details",
481
- ref: st,
482
- key: `user_options${he.value}`,
483
- backgroundColor: e.value.style.chart.backgroundColor,
484
- color: e.value.style.chart.color,
485
- isImaging: s(Oe),
486
- isPrinting: s(xe),
487
- uid: y.value,
488
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
489
- hasPdf: e.value.userOptions.buttons.pdf,
490
- hasImg: e.value.userOptions.buttons.img,
491
- hasSvg: e.value.userOptions.buttons.svg,
492
- hasXls: e.value.userOptions.buttons.csv,
493
- hasTable: e.value.userOptions.buttons.table,
494
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
495
- isFullscreen: F.value,
496
- isTooltip: f.value.showTooltip,
497
- titles: { ...e.value.userOptions.buttonTitles },
498
- chartElement: $.value,
499
- position: e.value.userOptions.position,
500
- hasAnnotator: e.value.userOptions.buttons.annotator,
501
- isAnnotation: W.value,
502
- callbacks: e.value.userOptions.callbacks,
503
- printScale: e.value.userOptions.print.scale,
504
- tableDialog: e.value.table.useDialog,
505
- onToggleFullscreen: De,
506
- onGeneratePdf: s(Se),
507
- onGenerateCsv: oe,
508
- onGenerateImage: s(Ae),
509
- onGenerateSvg: Ne,
510
- onToggleTable: ze,
511
- onToggleTooltip: Be,
512
- onToggleAnnotator: se,
513
- style: D({
514
- visibility: s(Te) ? s(K) ? "visible" : "hidden" : "visible"
515
- })
516
- }, Ue({ _: 2 }, [
517
- t.$slots.menuIcon ? {
518
- name: "menuIcon",
519
- fn: d(({ isOpen: a, color: l }) => [
520
- g(t.$slots, "menuIcon", R(L({ isOpen: a, color: l })), void 0, !0)
521
- ]),
522
- key: "0"
523
- } : void 0,
524
- t.$slots.optionTooltip ? {
525
- name: "optionTooltip",
526
- fn: d(() => [
527
- g(t.$slots, "optionTooltip", {}, void 0, !0)
528
- ]),
529
- key: "1"
530
- } : void 0,
531
- t.$slots.optionPdf ? {
532
- name: "optionPdf",
533
- fn: d(() => [
534
- g(t.$slots, "optionPdf", {}, void 0, !0)
535
- ]),
536
- key: "2"
537
- } : void 0,
538
- t.$slots.optionCsv ? {
539
- name: "optionCsv",
540
- fn: d(() => [
541
- g(t.$slots, "optionCsv", {}, void 0, !0)
542
- ]),
543
- key: "3"
544
- } : void 0,
545
- t.$slots.optionImg ? {
546
- name: "optionImg",
547
- fn: d(() => [
548
- g(t.$slots, "optionImg", {}, void 0, !0)
549
- ]),
550
- key: "4"
551
- } : void 0,
552
- t.$slots.optionSvg ? {
553
- name: "optionSvg",
554
- fn: d(() => [
555
- g(t.$slots, "optionSvg", {}, void 0, !0)
556
- ]),
557
- key: "5"
558
- } : void 0,
559
- t.$slots.optionTable ? {
560
- name: "optionTable",
561
- fn: d(() => [
562
- g(t.$slots, "optionTable", {}, void 0, !0)
563
- ]),
564
- key: "6"
565
- } : void 0,
566
- t.$slots.optionFullscreen ? {
567
- name: "optionFullscreen",
568
- fn: d(({ toggleFullscreen: a, isFullscreen: l }) => [
569
- g(t.$slots, "optionFullscreen", R(L({ toggleFullscreen: a, isFullscreen: l })), void 0, !0)
570
- ]),
571
- key: "7"
572
- } : void 0,
573
- t.$slots.optionAnnotator ? {
574
- name: "optionAnnotator",
575
- fn: d(({ toggleAnnotator: a, isAnnotator: l }) => [
576
- g(t.$slots, "optionAnnotator", R(L({ toggleAnnotator: a, isAnnotator: l })), void 0, !0)
577
- ]),
578
- key: "8"
579
- } : void 0
580
- ]), 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"])) : p("", !0),
581
- (u(), c("svg", {
582
- ref_key: "svgRef",
583
- ref: G,
584
- xmlns: s(zt),
585
- class: j({ "vue-data-ui-fullscreen--on": F.value, "vue-data-ui-fulscreen--off": !F.value, resizing: T.value }),
586
- viewBox: `0 0 ${n.value.width <= 0 ? 10 : n.value.width} ${n.value.height <= 0 ? 10 : n.value.height}`,
587
- style: D(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
588
- }, [
589
- ie(s(lt)),
590
- t.$slots["chart-background"] ? (u(), c("foreignObject", {
591
- key: 0,
592
- x: 0,
593
- y: 0,
594
- width: n.value.width <= 0 ? 10 : n.value.width,
595
- height: n.value.height <= 0 ? 10 : n.value.height,
596
- style: {
597
- pointerEvents: "none"
598
- }
599
- }, [
600
- g(t.$slots, "chart-background", {}, void 0, !0)
601
- ], 8, na)) : p("", !0),
602
- (u(!0), c(Y, null, X(x.value, (a, l) => (u(), c("circle", {
603
- cx: h.value.centerX,
604
- cy: h.value.centerY,
605
- r: a.radius <= 0 ? 1e-4 : a.radius,
606
- stroke: e.value.style.chart.layout.gutter.color,
607
- "stroke-width": P.value.gutter,
608
- fill: "none",
609
- "stroke-dasharray": a.path.bgDashArray,
610
- "stroke-dashoffset": a.path.fullOffset,
611
- "stroke-linecap": "round",
612
- class: j({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(S.value) && S.value !== l }),
613
- style: D({
614
- transform: "rotate(-90deg)",
615
- transformOrigin: "50% 50%",
616
- transition: T.value || s(k) ? "none" : "all 0.3s ease-in-out !important",
617
- animation: T.value || s(k) ? "none" : "xyAnimation 0.5s ease-in"
618
- })
619
- }, null, 14, sa))), 256)),
620
- (u(!0), c(Y, null, X(x.value, (a, l) => (u(), c("circle", {
621
- cx: h.value.centerX,
622
- cy: h.value.centerY,
623
- r: a.radius < 0 ? 1e-4 : a.radius,
624
- stroke: `${a.color}`,
625
- "stroke-width": P.value.track,
626
- fill: "none",
627
- "stroke-dasharray": a.path.dashArray,
628
- "stroke-dashoffset": a.path.dashOffset,
629
- class: j({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(S.value) && S.value !== l }),
630
- "stroke-linecap": "round",
631
- style: D({
632
- transform: "rotate(-90deg)",
633
- transformOrigin: "50% 50%",
634
- transition: T.value || s(k) ? "none" : "all 0.3s ease-in-out !important",
635
- animation: T.value || s(k) ? "none" : "xyAnimation 0.5s ease-in"
636
- })
637
- }, null, 14, ua))), 256)),
638
- I("defs", null, [
639
- I("filter", {
640
- id: `blur_${y.value}`,
641
- x: "-50%",
642
- y: "-50%",
643
- width: "200%",
644
- height: "200%"
645
- }, [
646
- I("feGaussianBlur", {
647
- in: "SourceGraphic",
648
- stdDeviation: 100 / e.value.style.chart.gradientIntensity
649
- }, null, 8, ia)
650
- ], 8, ra)
651
- ]),
652
- e.value.style.chart.useGradient ? (u(), c("g", {
653
- key: 1,
654
- filter: `url(#blur_${y.value})`
655
- }, [
656
- (u(!0), c(Y, null, X(x.value, (a, l) => (u(), c("circle", {
657
- cx: h.value.centerX,
658
- cy: h.value.centerY,
659
- r: a.radius <= 0 ? 1e-4 : a.radius,
660
- stroke: "white",
661
- "stroke-width": P.value.track / 3,
662
- fill: "none",
663
- "stroke-linecap": "round",
664
- "stroke-dasharray": a.path.dashArray,
665
- "stroke-dashoffset": a.path.dashOffset,
666
- style: D({
667
- transform: "rotate(-90deg)",
668
- transformOrigin: "50% 50%",
669
- transition: T.value || s(k) ? "none" : "all 0.3s ease-in-out !important",
670
- animation: T.value || s(k) ? "none" : "xyAnimation 0.5s ease-in"
671
- })
672
- }, null, 12, va))), 256))
673
- ], 8, ca)) : p("", !0),
674
- (u(!0), c(Y, null, X(x.value, (a, l) => (u(), c("circle", {
675
- cx: h.value.centerX,
676
- cy: h.value.centerY,
677
- r: a.radius <= 0 ? 1e-4 : a.radius,
678
- stroke: "transparent",
679
- "stroke-width": Math.max(P.value.track, P.value.gutter),
680
- fill: "none",
681
- "stroke-dasharray": a.path.bgDashArray,
682
- "stroke-dashoffset": a.path.fullOffset,
683
- "stroke-linecap": "round",
684
- class: "vue-ui-onion-path",
685
- style: {
686
- transform: "rotate(-90deg)",
687
- transformOrigin: "50% 50%"
688
- },
689
- onMouseenter: (v) => Le({
690
- datapoint: a,
691
- show: !0,
692
- seriesIndex: l
693
- }),
694
- onMouseleave: (v) => Re({ datapoint: a }),
695
- onClick: (v) => Me({ datapoint: a })
696
- }, null, 40, da))), 256)),
697
- e.value.style.chart.layout.labels.show ? (u(), c("g", ha, [
698
- (u(!0), c(Y, null, X(x.value, (a, l) => (u(), c("g", {
699
- onMouseenter: (v) => Le({
700
- datapoint: a,
701
- show: !0,
702
- seriesIndex: l
703
- }),
704
- onMouseleave: (v) => Re({ datapoint: a }),
705
- onClick: (v) => Me({ datapoint: a })
706
- }, [
707
- b.value.includes(a.id) ? p("", !0) : (u(), c("text", {
708
- key: 0,
709
- class: "vue-ui-onion-label",
710
- x: n.value.width / 2 - P.value.gutter * 0.8 + e.value.style.chart.layout.labels.offsetX,
711
- y: a.labelY + e.value.style.chart.layout.labels.offsetY,
712
- "text-anchor": "end",
713
- "font-size": e.value.style.chart.layout.labels.fontSize,
714
- fill: e.value.useBlurOnHover && ![null, void 0].includes(S.value) && S.value === l ? a.color : e.value.style.chart.layout.labels.color,
715
- "font-weight": e.value.style.chart.layout.labels.bold ? "bold" : "normal"
716
- }, z(a.name ? a.name + ": " : "") + " " + z(e.value.style.chart.layout.labels.percentage.show ? s(B)({
717
- v: a.percentage,
718
- s: "%",
719
- r: e.value.style.chart.layout.labels.roundingPercentage
720
- }) : "") + " " + z(!e.value.style.chart.layout.labels.percentage.show && e.value.style.chart.layout.labels.value.show ? `: ${s(ve)(
721
- e.value.style.chart.layout.labels.value.formatter,
722
- a.value,
723
- s(B)({
724
- p: a.prefix || "",
725
- v: a.value || 0,
726
- s: a.suffix || "",
727
- r: e.value.style.chart.layout.labels.roundingValue
728
- }),
729
- { datapoint: a, seriesIndex: l }
730
- )}` : `${e.value.style.chart.layout.labels.value.show && a.value ? `(${s(ve)(
731
- e.value.style.chart.layout.labels.value.formatter,
732
- a.value,
733
- s(B)({
734
- p: a.prefix || "",
735
- v: a.value || 0,
736
- s: a.suffix || "",
737
- r: e.value.style.chart.layout.labels.roundingValue
738
- }),
739
- { datapoint: a, seriesIndex: l }
740
- )})` : ""}`), 9, pa))
741
- ], 40, ga))), 256))
742
- ])) : p("", !0),
743
- g(t.$slots, "svg", { svg: n.value }, void 0, !0)
744
- ], 14, oa)),
745
- t.$slots.watermark ? (u(), c("div", fa, [
746
- g(t.$slots, "watermark", R(L({ isPrinting: s(xe) || s(Oe) })), void 0, !0)
747
- ])) : p("", !0),
748
- I("div", {
749
- id: `legend-bottom-${y.value}`
750
- }, null, 8, ma),
751
- we.value ? (u(), _(_t, {
752
- key: 5,
753
- to: e.value.style.chart.legend.position === "top" ? `#legend-top-${y.value}` : `#legend-bottom-${y.value}`
754
- }, [
755
- I("div", {
756
- ref_key: "chartLegend",
757
- ref: pe
758
- }, [
759
- e.value.style.chart.legend.show ? (u(), _(Zt, {
760
- key: `legend_${ke.value}`,
761
- legendSet: te.value,
762
- config: gt.value,
763
- onClickMarker: o[0] || (o[0] = ({ legend: a }) => Fe(a.id))
764
- }, {
765
- item: d(({ legend: a }) => [
766
- s(k) ? p("", !0) : (u(), c("div", {
767
- key: 0,
768
- "data-cy-legend-item": "",
769
- onClick: (l) => a.segregate(),
770
- style: D(`opacity:${b.value.includes(a.id) ? 0.5 : 1}`)
771
- }, z(a.display), 13, ya))
772
- ]),
773
- _: 1
774
- }, 8, ["legendSet", "config"])) : g(t.$slots, "legend", {
775
- key: 1,
776
- legend: te.value
777
- }, void 0, !0)
778
- ], 512)
779
- ], 8, ["to"])) : p("", !0),
780
- t.$slots.source ? (u(), c("div", {
781
- key: 6,
782
- ref_key: "source",
783
- ref: fe,
784
- dir: "auto"
785
- }, [
786
- g(t.$slots, "source", {}, void 0, !0)
787
- ], 512)) : p("", !0),
788
- ie(s(Je), {
789
- show: f.value.showTooltip && q.value,
790
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
791
- color: e.value.style.chart.tooltip.color,
792
- borderRadius: e.value.style.chart.tooltip.borderRadius,
793
- borderColor: e.value.style.chart.tooltip.borderColor,
794
- borderWidth: e.value.style.chart.tooltip.borderWidth,
795
- fontSize: e.value.style.chart.tooltip.fontSize,
796
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
797
- position: e.value.style.chart.tooltip.position,
798
- offsetY: e.value.style.chart.tooltip.offsetY,
799
- parent: $.value,
800
- content: Q.value,
801
- isFullscreen: F.value,
802
- isCustom: s(He)(e.value.style.chart.tooltip.customFormat),
803
- smooth: e.value.style.chart.tooltip.smooth,
804
- backdropFilter: e.value.style.chart.tooltip.backdropFilter,
805
- smoothForce: e.value.style.chart.tooltip.smoothForce,
806
- smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
807
- }, {
808
- "tooltip-before": d(() => [
809
- g(t.$slots, "tooltip-before", R(L({ ...ne.value })), void 0, !0)
810
- ]),
811
- "tooltip-after": d(() => [
812
- g(t.$slots, "tooltip-after", R(L({ ...ne.value })), void 0, !0)
813
- ]),
814
- _: 3
815
- }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
816
- de.value && e.value.userOptions.buttons.table ? (u(), _(It(U.value.component), Pt({ key: 7 }, U.value.props, {
817
- ref_key: "tableUnit",
818
- ref: N,
819
- onClose: o[3] || (o[3] = (a) => f.value.showTable = !1)
820
- }), Ue({
821
- content: d(() => [
822
- (u(), _(s(et), {
823
- key: `table_${be.value}`,
824
- colNames: H.value.colNames,
825
- head: H.value.head,
826
- body: H.value.body,
827
- config: H.value.config,
828
- title: e.value.table.useDialog ? "" : U.value.title,
829
- withCloseButton: !e.value.table.useDialog,
830
- onClose: o[2] || (o[2] = (a) => f.value.showTable = !1)
831
- }, {
832
- th: d(({ th: a }) => [
833
- Ee(z(a), 1)
834
- ]),
835
- td: d(({ td: a }) => [
836
- I("div", { innerHTML: a }, null, 8, ba)
837
- ]),
838
- _: 1
839
- }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
840
- ]),
841
- _: 2
842
- }, [
843
- e.value.table.useDialog ? {
844
- name: "title",
845
- fn: d(() => [
846
- Ee(z(U.value.title), 1)
847
- ]),
848
- key: "0"
849
- } : void 0,
850
- e.value.table.useDialog ? {
851
- name: "actions",
852
- fn: d(() => [
853
- I("button", {
854
- tabindex: "0",
855
- class: "vue-ui-user-options-button",
856
- onClick: o[1] || (o[1] = (a) => oe(e.value.userOptions.callbacks.csv))
857
- }, [
858
- ie(s(Ke), {
859
- name: "excel",
860
- stroke: U.value.props.color
861
- }, null, 8, ["stroke"])
862
- ])
863
- ]),
864
- key: "1"
865
- } : void 0
866
- ]), 1040)) : p("", !0),
867
- s(k) ? (u(), _(Gt, { key: 8 })) : p("", !0)
868
- ], 46, aa));
869
- }
870
- }, La = /* @__PURE__ */ ta(ka, [["__scopeId", "data-v-6d972bcd"]]);
871
- export {
872
- La as default
873
- };