vue-data-ui 3.0.0-next.9 → 3.0.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 (144) hide show
  1. package/README.md +32 -30
  2. package/dist/{Arrow-B6OlqyCG.js → Arrow-r2f8Bpd-.js} +1 -1
  3. package/dist/{BaseDraggableDialog-CA8QOk7L.js → BaseDraggableDialog-CGGcf8d8.js} +4 -4
  4. package/dist/{BaseIcon-DxUUKVlt.js → BaseIcon-CXtL10fo.js} +1 -1
  5. package/dist/{ColorPicker-Bh1dfgXt.js → ColorPicker-H91bBsqM.js} +2 -2
  6. package/dist/{DataTable--paavNqF.js → DataTable-BSSXpM7w.js} +2 -2
  7. package/dist/{Legend-BZ06qU55.js → Legend-BUk0WvWJ.js} +2 -2
  8. package/dist/{NonSvgPenAndPaper-DN9XjEHv.js → NonSvgPenAndPaper-DQDgPoW8.js} +3 -3
  9. package/dist/{PackageVersion-2QvaZf9_.js → PackageVersion-CJ6Vd7V5.js} +3 -3
  10. package/dist/{PenAndPaper-hGgW0EHz.js → PenAndPaper-D3zudcNI.js} +32 -32
  11. package/dist/{RecursiveCircles-Dn3TGoL6.js → RecursiveCircles-BcLb1aRS.js} +15 -13
  12. package/dist/RecursiveLabels-Bgcv0pzu.js +50 -0
  13. package/dist/{RecursiveLinks-ld_gDZH4.js → RecursiveLinks-00zGWPf9.js} +20 -18
  14. package/dist/{Shape-Mr1eIp_G.js → Shape-BRzOzubn.js} +43 -37
  15. package/dist/Slicer-MID8pgT3.js +602 -0
  16. package/dist/{SparkTooltip-Czhz446b.js → SparkTooltip-DATI1fGZ.js} +7 -7
  17. package/dist/{Title-B2dA6-uH.js → Title-BGu6gEd2.js} +1 -1
  18. package/dist/{Tooltip-O_hCvqgF.js → Tooltip-Bh2zYSoM.js} +23 -19
  19. package/dist/{UserOptions-Bk03FRqW.js → UserOptions-Ck8fz9f4.js} +2 -2
  20. package/dist/{dom-to-png-Bt5F9TXw.js → dom-to-png-DhIh24Ti.js} +1 -1
  21. package/dist/{img-C_9wps3s.js → img-DrR839Ot.js} +1 -1
  22. package/dist/{index-CgShIRes.js → index-BtNwOUja.js} +2885 -2010
  23. package/dist/{pdf-CXdbjyRJ.js → pdf-DoShrdT5.js} +1 -1
  24. package/dist/style.css +1 -1
  25. package/dist/types/vue-data-ui.d.cts +753 -65
  26. package/dist/types/vue-data-ui.d.ts +753 -65
  27. package/dist/useAutoSizeLabelsInsideViewbox-FmDQyX4z.js +81 -0
  28. package/dist/useFitSvgText-2crs6Fv5.js +69 -0
  29. package/dist/useLoading-D7YHNtLX.js +29 -0
  30. package/dist/useNestedProp-f2H3m6Yj.js +13 -0
  31. package/dist/usePanZoom-BVca3eMk.js +122 -0
  32. package/dist/{usePrinter-rIrqBbbm.js → usePrinter-DUNjpQNe.js} +2 -2
  33. package/dist/useTimeLabelCollider-CIsgDrl9.js +78 -0
  34. package/dist/{useTimeLabels-DG97x2hL.js → useTimeLabels-DkzmKfZn.js} +208 -156
  35. package/dist/{vue-data-ui-DiwfJSwC.js → vue-data-ui-D7QVxNhO.js} +105 -100
  36. package/dist/vue-data-ui.js +26 -25
  37. package/dist/vue-ui-3d-bar-ITaF-6Kn.js +1323 -0
  38. package/dist/{vue-ui-accordion-hlzscmAS.js → vue-ui-accordion-BKUrAowe.js} +3 -3
  39. package/dist/vue-ui-age-pyramid-DxsuDr6o.js +835 -0
  40. package/dist/{vue-ui-annotator-BHwBUNRO.js → vue-ui-annotator-B06QtxgJ.js} +12 -12
  41. package/dist/vue-ui-bullet-B7Fy45tA.js +571 -0
  42. package/dist/vue-ui-candlestick-Dw0U4uIQ.js +1000 -0
  43. package/dist/{vue-ui-carousel-table-6MTDYf-H.js → vue-ui-carousel-table-DGz0nw28.js} +29 -29
  44. package/dist/{vue-ui-chestnut-Cr6dK21e.js → vue-ui-chestnut-CFfKYm9i.js} +664 -536
  45. package/dist/vue-ui-chord-EhlQhMSs.js +1038 -0
  46. package/dist/vue-ui-circle-pack-BHrrEUUd.js +709 -0
  47. package/dist/{vue-ui-cursor-Ch5yUxNn.js → vue-ui-cursor-Dd-HtWzG.js} +2 -2
  48. package/dist/{vue-ui-dashboard-tVZ9aEHo.js → vue-ui-dashboard-6R8udDY3.js} +64 -64
  49. package/dist/{vue-ui-digits-BOlYLluF.js → vue-ui-digits-zKn3uhGN.js} +2 -2
  50. package/dist/{vue-ui-donut-BKwAnTKA.js → vue-ui-donut-BtnIwS_E.js} +431 -422
  51. package/dist/vue-ui-donut-evolution-DHo1MuMM.js +1076 -0
  52. package/dist/vue-ui-dumbbell-Czi9r9Na.js +1120 -0
  53. package/dist/vue-ui-flow-jOfM0RZY.js +841 -0
  54. package/dist/{vue-ui-funnel-CAV6A--C.js → vue-ui-funnel-tBvVpdhy.js} +16 -16
  55. package/dist/vue-ui-galaxy-IdoY2oqG.js +680 -0
  56. package/dist/vue-ui-gauge-DR6Xm_Hz.js +791 -0
  57. package/dist/vue-ui-gizmo-Dto73UsB.js +210 -0
  58. package/dist/vue-ui-heatmap-zmFv-0z1.js +1078 -0
  59. package/dist/vue-ui-history-plot-ILemyyYw.js +1074 -0
  60. package/dist/{vue-ui-kpi-DjHXc1Z9.js → vue-ui-kpi-hmqSCvxr.js} +26 -26
  61. package/dist/{vue-ui-mini-loader-C68r9wbr.js → vue-ui-mini-loader-CbD-E8ci.js} +2 -2
  62. package/dist/vue-ui-molecule-mTy6YIm6.js +656 -0
  63. package/dist/vue-ui-mood-radar-BEnSYV3Q.js +785 -0
  64. package/dist/vue-ui-nested-donuts-CGE9dmJK.js +1284 -0
  65. package/dist/vue-ui-onion-Dh2J9GV0.js +776 -0
  66. package/dist/vue-ui-parallel-coordinate-plot-xsgmMIJK.js +916 -0
  67. package/dist/{vue-ui-quadrant-ULvVhjjq.js → vue-ui-quadrant-DA0Kw6eq.js} +512 -459
  68. package/dist/vue-ui-quick-chart-DKbxF5Yt.js +1762 -0
  69. package/dist/vue-ui-radar-BFY9bN_h.js +796 -0
  70. package/dist/{vue-ui-rating-CkdVnYpj.js → vue-ui-rating-Bh35aujf.js} +2 -2
  71. package/dist/vue-ui-relation-circle-B-05kQ_l.js +598 -0
  72. package/dist/vue-ui-ridgeline-CuGfF83t.js +1157 -0
  73. package/dist/vue-ui-rings-DrQXXzAM.js +728 -0
  74. package/dist/vue-ui-scatter-CWn9c7e9.js +1178 -0
  75. package/dist/{vue-ui-skeleton-BsBaCvoE.js → vue-ui-skeleton-oG4Bm5nL.js} +13 -13
  76. package/dist/{vue-ui-smiley-B2sBY2Q-.js → vue-ui-smiley-Cnwba_gV.js} +46 -46
  77. package/dist/vue-ui-spark-trend-D9iNCf4o.js +315 -0
  78. package/dist/vue-ui-sparkbar-iJkiubZC.js +351 -0
  79. package/dist/vue-ui-sparkgauge-BH3uA5rh.js +232 -0
  80. package/dist/vue-ui-sparkhistogram-B3kR62pf.js +380 -0
  81. package/dist/vue-ui-sparkline-DczR2ZAf.js +513 -0
  82. package/dist/vue-ui-sparkstackbar-Cg0ItRGH.js +421 -0
  83. package/dist/vue-ui-stackbar-d4PrzcGS.js +1371 -0
  84. package/dist/vue-ui-strip-plot-BXBpN5rl.js +916 -0
  85. package/dist/{vue-ui-table-DaE8lQuo.js → vue-ui-table-BXOLZXuz.js} +17 -17
  86. package/dist/{vue-ui-table-heatmap--dSEG8cU.js → vue-ui-table-heatmap-7YT7VF2H.js} +5 -5
  87. package/dist/{vue-ui-table-sparkline-D4DkGvDP.js → vue-ui-table-sparkline-BfgqajJ2.js} +19 -16
  88. package/dist/vue-ui-thermometer-C7Tg6HLz.js +541 -0
  89. package/dist/{vue-ui-timer-CYXTAh6x.js → vue-ui-timer-Ch5JP1pQ.js} +5 -5
  90. package/dist/vue-ui-tiremarks-fY-4pWAK.js +406 -0
  91. package/dist/vue-ui-treemap-DTSX6suB.js +1035 -0
  92. package/dist/{vue-ui-vertical-bar-CO9eR1ty.js → vue-ui-vertical-bar-C-i2dRnU.js} +104 -102
  93. package/dist/vue-ui-waffle-BbgLlhGH.js +910 -0
  94. package/dist/vue-ui-wheel-waZf462K.js +379 -0
  95. package/dist/vue-ui-word-cloud-DtLK91Dk.js +765 -0
  96. package/dist/{vue-ui-world-P45Plcqw.js → vue-ui-world-Cx4uuwTY.js} +364 -327
  97. package/dist/vue-ui-xy-DDOT8cyx.js +3808 -0
  98. package/dist/{vue-ui-xy-canvas-DgNBgUak.js → vue-ui-xy-canvas-CUCsC8vD.js} +265 -264
  99. package/package.json +4 -4
  100. package/dist/RecursiveLabels-NTMB9w5C.js +0 -49
  101. package/dist/Slicer-3t0HimeE.js +0 -577
  102. package/dist/useLoading-Bt5Doa8m.js +0 -28
  103. package/dist/useNestedProp-BC4Ciblw.js +0 -13
  104. package/dist/usePanZoom-BQMvRXEQ.js +0 -115
  105. package/dist/vue-ui-3d-bar-BqmzX9u4.js +0 -1227
  106. package/dist/vue-ui-age-pyramid-eRPt0BJb.js +0 -746
  107. package/dist/vue-ui-bullet-BSnF2gql.js +0 -513
  108. package/dist/vue-ui-candlestick-kMbNnoYe.js +0 -873
  109. package/dist/vue-ui-chord-Dxy_bfIE.js +0 -949
  110. package/dist/vue-ui-circle-pack-I_p4FPiW.js +0 -673
  111. package/dist/vue-ui-donut-evolution-DQhZJ4Sa.js +0 -903
  112. package/dist/vue-ui-dumbbell-DdN-7b3g.js +0 -753
  113. package/dist/vue-ui-flow-MvORTthN.js +0 -765
  114. package/dist/vue-ui-galaxy-B0PLMAn8.js +0 -617
  115. package/dist/vue-ui-gauge-C4FTzDFt.js +0 -738
  116. package/dist/vue-ui-gizmo-Dl5FHFb4.js +0 -192
  117. package/dist/vue-ui-heatmap-C3dee43W.js +0 -877
  118. package/dist/vue-ui-history-plot-dqv4u1Oa.js +0 -924
  119. package/dist/vue-ui-molecule-DtRAlfhC.js +0 -597
  120. package/dist/vue-ui-mood-radar-BZj2G0zE.js +0 -670
  121. package/dist/vue-ui-nested-donuts-OqJTwMb2.js +0 -1212
  122. package/dist/vue-ui-onion-DXLokGec.js +0 -701
  123. package/dist/vue-ui-parallel-coordinate-plot-tg7QhtIE.js +0 -807
  124. package/dist/vue-ui-quick-chart-4EODniQ3.js +0 -1612
  125. package/dist/vue-ui-radar-Dt5p5oSy.js +0 -741
  126. package/dist/vue-ui-relation-circle-_SysXj9T.js +0 -542
  127. package/dist/vue-ui-ridgeline-Cs5UihNN.js +0 -969
  128. package/dist/vue-ui-rings-Duay-EmS.js +0 -685
  129. package/dist/vue-ui-scatter-C6oGQcbL.js +0 -1045
  130. package/dist/vue-ui-spark-trend-CEAqGu3d.js +0 -291
  131. package/dist/vue-ui-sparkbar-ByPUDc6x.js +0 -301
  132. package/dist/vue-ui-sparkgauge-C-GKwevJ.js +0 -201
  133. package/dist/vue-ui-sparkhistogram-Dz0DdaVW.js +0 -313
  134. package/dist/vue-ui-sparkline-BULntz_U.js +0 -459
  135. package/dist/vue-ui-sparkstackbar-DXjHOeeU.js +0 -381
  136. package/dist/vue-ui-stackbar-CeP9n7zy.js +0 -1207
  137. package/dist/vue-ui-strip-plot-CaFQkWV8.js +0 -761
  138. package/dist/vue-ui-thermometer-BXf14CYH.js +0 -495
  139. package/dist/vue-ui-tiremarks-D6hJ1cd4.js +0 -358
  140. package/dist/vue-ui-treemap-tBurCrdn.js +0 -965
  141. package/dist/vue-ui-waffle-BNzs_BxY.js +0 -863
  142. package/dist/vue-ui-wheel-tydUATi8.js +0 -352
  143. package/dist/vue-ui-word-cloud-DUUc_tj6.js +0 -659
  144. package/dist/vue-ui-xy--HToGdle.js +0 -2982
@@ -0,0 +1,776 @@
1
+ import { defineAsyncComponent as M, computed as d, ref as r, toRefs as vt, watch as X, shallowRef as Re, onMounted as dt, onBeforeUnmount as ht, createElementBlock as i, openBlock as u, unref as s, normalizeStyle as A, normalizeClass as G, createBlock as I, createCommentVNode as g, createElementVNode as L, createVNode as ze, createSlots as ft, withCtx as p, renderSlot as h, normalizeProps as R, guardReactiveProps as z, Fragment as B, renderList as V, toDisplayString as N, createTextVNode as pt, nextTick as Ne } from "vue";
2
+ import { u as gt, c as mt, t as yt, a as bt, p as De, b as kt, d as wt, o as Le, f as ne, e as Ct, X as $t, i as Y, k as se, y as Be, v as xt, w as Tt, z as Ot } from "./index-BtNwOUja.js";
3
+ import { t as _t, u as At } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Ve } from "./useNestedProp-f2H3m6Yj.js";
5
+ import { u as It } from "./usePrinter-DUNjpQNe.js";
6
+ import { u as St } from "./useUserOptionState-BIvW1Kz7.js";
7
+ import { u as Pt } from "./useChartAccessibility-9icAAmYg.js";
8
+ import Ft from "./Title-BGu6gEd2.js";
9
+ import Mt from "./Legend-BUk0WvWJ.js";
10
+ import Rt from "./img-DrR839Ot.js";
11
+ import { u as zt, B as Nt } from "./useLoading-D7YHNtLX.js";
12
+ import { u as Dt } from "./useAutoSizeLabelsInsideViewbox-FmDQyX4z.js";
13
+ import { _ as Lt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
+ const Bt = ["id"], Vt = ["xmlns", "viewBox"], Yt = ["width", "height"], Et = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], Ut = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], Xt = ["id"], Gt = ["stdDeviation"], Ht = ["filter"], Wt = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset"], jt = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "onMouseenter", "onMouseleave", "onClick"], qt = { key: 2 }, Jt = ["onMouseenter", "onMouseleave", "onClick"], Kt = ["x", "y", "font-size", "fill", "font-weight"], Qt = {
15
+ key: 4,
16
+ class: "vue-data-ui-watermark"
17
+ }, Zt = ["onClick"], ea = ["innerHTML"], ta = {
18
+ __name: "vue-ui-onion",
19
+ props: {
20
+ config: {
21
+ type: Object,
22
+ default() {
23
+ return {};
24
+ }
25
+ },
26
+ dataset: {
27
+ type: Array,
28
+ default() {
29
+ return [];
30
+ }
31
+ }
32
+ },
33
+ emits: ["selectLegend"],
34
+ setup(Ye, { expose: Ee, emit: Ue }) {
35
+ const Xe = M(() => import("./vue-ui-accordion-BKUrAowe.js")), Ge = M(() => import("./DataTable-BSSXpM7w.js")), He = M(() => import("./PackageVersion-CJ6Vd7V5.js")), We = M(() => import("./PenAndPaper-D3zudcNI.js")), je = M(() => import("./Tooltip-Bh2zYSoM.js")), qe = M(() => import("./UserOptions-Ck8fz9f4.js")), { vue_ui_onion: Je } = gt(), w = Ye, ue = d(() => !!w.dataset && w.dataset.length), S = r(mt()), Ke = r(null), re = r(0), H = r(!1), W = r(""), y = r([]), x = r(null), ie = r(null), ce = r(null), ve = r(null), de = r(null), he = r(0), fe = r(0), pe = r(0), C = r(!1), e = r(K()), { loading: b, FINAL_DATASET: ge, manualLoading: j } = zt({
36
+ ...vt(w),
37
+ FINAL_CONFIG: e,
38
+ prepareConfig: K,
39
+ callback: () => {
40
+ Promise.resolve().then(async () => {
41
+ await Ne(), Te();
42
+ });
43
+ },
44
+ skeletonDataset: [
45
+ { name: "_", percentage: 50, value: 1, color: "#DBDBDB" },
46
+ { name: "_", percentage: 50, value: 1, color: "#C4C4C4" },
47
+ { name: "_", percentage: 50, value: 1, color: "#ADADAD" },
48
+ { name: "_", percentage: 50, value: 1, color: "#969696" }
49
+ ],
50
+ skeletonConfig: yt({
51
+ defaultConfig: e.value,
52
+ userConfig: {
53
+ userOptions: { show: !1 },
54
+ table: { show: !1 },
55
+ style: {
56
+ chart: {
57
+ backgroundColor: "#99999930",
58
+ layout: {
59
+ gutter: {
60
+ color: "#99999950"
61
+ },
62
+ labels: { show: !1 }
63
+ },
64
+ legend: {
65
+ backgroundColor: "transparent"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ })
71
+ }), { userOptionsVisible: q, setUserOptionsVisibility: me, keepUserOptionState: ye } = St({ config: e.value }), { svgRef: J } = Pt({ config: e.value.style.chart.title });
72
+ function K() {
73
+ const t = Ve({
74
+ userConfig: w.config,
75
+ defaultConfig: Je
76
+ });
77
+ return t.theme ? {
78
+ ...Ve({
79
+ userConfig: kt.vue_ui_onion[t.theme] || w.config,
80
+ defaultConfig: t
81
+ }),
82
+ customPalette: bt[t.theme] || De
83
+ } : t;
84
+ }
85
+ X(() => w.config, (t) => {
86
+ b.value || (e.value = K()), q.value = !e.value.userOptions.showOnChartHover, xe(), he.value += 1, fe.value += 1, pe.value += 1, m.value.showTable = e.value.table.show, m.value.showTooltip = e.value.style.chart.tooltip.show;
87
+ }, { deep: !0 });
88
+ const { isPrinting: be, isImaging: ke, generatePdf: we, generateImage: Ce } = It({
89
+ elementId: `vue-ui-onion_${S.value}`,
90
+ fileName: e.value.style.chart.title.text || "vue-ui-onion",
91
+ options: e.value.userOptions.print
92
+ }), Qe = d(() => e.value.userOptions.show && !e.value.style.chart.title.text), Ze = d(() => wt(e.value.customPalette)), m = r({
93
+ showTable: e.value.table.show,
94
+ showTooltip: e.value.style.chart.tooltip.show
95
+ });
96
+ X(e, () => {
97
+ m.value = {
98
+ showTable: e.value.table.show,
99
+ showTooltip: e.value.style.chart.tooltip.show
100
+ };
101
+ }, { immediate: !0 });
102
+ const n = r({
103
+ height: 512,
104
+ width: 512,
105
+ padding: {
106
+ top: 64,
107
+ left: 64,
108
+ right: 64,
109
+ bottom: 64
110
+ },
111
+ minRadius: 64
112
+ }), T = Re(null), P = Re(null);
113
+ dt(() => {
114
+ xe();
115
+ });
116
+ const et = d({
117
+ get: () => e.value.style.chart.layout.labels.fontSize,
118
+ set: (t) => t
119
+ }), { autoSizeLabels: $e } = Dt({
120
+ svgRef: J,
121
+ fontSize: e.value.style.chart.layout.labels.fontSize,
122
+ minFontSize: e.value.style.chart.layout.labels.minFontSize,
123
+ sizeRef: et,
124
+ labelClass: ".vue-ui-onion-label"
125
+ }), tt = d(() => e.value.debug);
126
+ let Q = null;
127
+ function xe() {
128
+ if (Le(w.dataset) && (ne({
129
+ componentName: "VueUiOnion",
130
+ type: "dataset",
131
+ debug: tt.value
132
+ }), j.value = !0), Le(w.dataset) || (j.value = e.value.loading), e.value.responsive) {
133
+ const o = _t(() => {
134
+ Q && clearTimeout(Q), C.value = !0;
135
+ let { width: a, height: l } = At({
136
+ chart: x.value,
137
+ title: e.value.style.chart.title.text ? ie.value : null,
138
+ legend: e.value.style.chart.legend.show ? ce.value : null,
139
+ source: ve.value,
140
+ noTitle: de.value
141
+ });
142
+ l -= 12, requestAnimationFrame(async () => {
143
+ 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, Q = setTimeout(() => {
144
+ C.value = !1, $e();
145
+ }, 0);
146
+ });
147
+ });
148
+ T.value && (P.value && T.value.unobserve(P.value), T.value.disconnect()), T.value = new ResizeObserver(o), P.value = x.value.parentNode, T.value.observe(P.value);
149
+ }
150
+ requestAnimationFrame($e);
151
+ }
152
+ ht(() => {
153
+ T.value && (P.value && T.value.unobserve(P.value), T.value.disconnect());
154
+ });
155
+ const c = d(() => ({
156
+ top: n.value.padding.top,
157
+ left: n.value.padding.left,
158
+ right: n.value.width - n.value.padding.right,
159
+ bottom: n.value.height - n.value.padding.bottom,
160
+ centerX: n.value.width / 2,
161
+ centerY: n.value.height / 2,
162
+ width: n.value.width - n.value.padding.right - n.value.padding.left,
163
+ height: n.value.height - n.value.padding.bottom - n.value.padding.top,
164
+ minRadius: n.value.minRadius,
165
+ maxRadius: Math.min(n.value.width, n.value.height) - n.value.padding.top * 2
166
+ })), f = d(() => (ge.value.forEach((t, o) => {
167
+ [null, void 0].includes(t.name) && ne({
168
+ componentName: "VueUiOnion",
169
+ type: "datasetSerieAttribute",
170
+ property: "name",
171
+ index: o
172
+ }), [void 0].includes(t.percentage) && ne({
173
+ componentName: "VueUiOnion",
174
+ type: "datasetSerieAttribute",
175
+ property: "percentage",
176
+ index: o
177
+ });
178
+ }), ge.value.map((t, o) => {
179
+ const a = `onion_serie_${o}_${S.value}`;
180
+ return {
181
+ ...t,
182
+ percentage: t.percentage || 0,
183
+ targetPercentage: t.percentage || 0,
184
+ color: Ct(t.color) || Ze.value[o] || De[o],
185
+ id: a,
186
+ shape: "circle",
187
+ opacity: y.value.includes(a) ? 0.5 : 1,
188
+ absoluteIndex: o,
189
+ segregate: () => Oe(a),
190
+ isSegregated: y.value.includes(a)
191
+ };
192
+ }))), D = r(f.value), at = d(() => e.value.useStartAnimation), lt = r(null), ot = d(() => Math.max(...f.value.map((t) => t.percentage))), Z = r(!1);
193
+ X(() => f.value, Te, { immediate: !0, deep: !0 }), X(() => w.dataset, (t) => {
194
+ Array.isArray(t) && t.length > 0 && (j.value = !1);
195
+ }, { deep: !0 });
196
+ function Te() {
197
+ if (at.value && !Z.value && !b.value) {
198
+ let o = function() {
199
+ t >= ot.value ? (cancelAnimationFrame(lt.value), D.value = f.value, Z.value = !0) : (D.value = f.value.map((a) => ({
200
+ ...a,
201
+ percentage: t < a.targetPercentage ? t : a.targetPercentage
202
+ })), t += 1, requestAnimationFrame(o), Z.value = !0);
203
+ };
204
+ D.value = f.value.map((a) => ({
205
+ ...a,
206
+ percentage: 0
207
+ }));
208
+ let t = 0;
209
+ o();
210
+ } else
211
+ D.value = f.value;
212
+ }
213
+ const nt = d(() => ({
214
+ cy: "onion-div-legend",
215
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
216
+ color: e.value.style.chart.legend.color,
217
+ fontSize: e.value.style.chart.legend.fontSize,
218
+ paddingBottom: 12,
219
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
220
+ })), st = d(() => f.value.filter((t) => !y.value.includes(t.id)).length), _ = d(() => {
221
+ const t = Math.min(c.value.width, c.value.height) / 2 / f.value.length;
222
+ return {
223
+ gutter: (t > e.value.style.chart.layout.maxThickness ? e.value.style.chart.layout.maxThickness : t) * e.value.style.chart.layout.gutter.width,
224
+ track: (t > e.value.style.chart.layout.maxThickness ? e.value.style.chart.layout.maxThickness : t) * e.value.style.chart.layout.track.width
225
+ };
226
+ }), $ = d(() => D.value.filter((t) => !y.value.includes(t.id)).map((t, o) => {
227
+ const a = (c.value.maxRadius - _.value.track) / st.value / 2 * (1 + o), l = c.value.centerY - a;
228
+ return {
229
+ percentage: t.percentage || 0,
230
+ ...t,
231
+ labelY: l,
232
+ radius: a,
233
+ path: ut(a, t.percentage || 0)
234
+ };
235
+ }));
236
+ function ut(t, o) {
237
+ const a = 2 * Math.PI * t, l = a * 0.75, v = `${l} ${a}`, k = l * (1 - o / 100);
238
+ return {
239
+ bgDashArray: `${l} ${a}`,
240
+ bgDashOffset: 0,
241
+ dashArray: v,
242
+ dashOffset: k,
243
+ fullOffset: 0,
244
+ active: `
245
+ M ${c.value.centerX},${c.value.centerY - t}
246
+ A ${t},${t} 0 1 1
247
+ ${c.value.centerX + t * Math.cos(Math.PI * 3 / 4)},${c.value.centerY + t * Math.sin(Math.PI * 3 / 4)}
248
+ `.trim()
249
+ };
250
+ }
251
+ const rt = Ue;
252
+ function Oe(t) {
253
+ y.value.includes(t) ? y.value = y.value.filter((o) => o !== t) : y.value.push(t), rt("selectLegend", $.value);
254
+ }
255
+ function it() {
256
+ return $.value;
257
+ }
258
+ const ee = d(() => {
259
+ const t = [e.value.table.translations.serie, e.value.table.translations.percentage, e.value.table.translations.value], o = $.value.map((a) => [
260
+ a.name,
261
+ a.percentage,
262
+ a.value
263
+ ]);
264
+ return { head: t, body: o };
265
+ }), E = d(() => {
266
+ const t = ee.value.head, o = $.value.map((l) => [
267
+ `<span style="color:${l.color}">⬤</span> ${l.name}`,
268
+ `${Number(l.percentage ?? 0).toFixed(e.value.table.td.roundingPercentage).toLocaleString()}%`,
269
+ `${l.prefix || ""}${[null, void 0, NaN, "NaN"].includes(l.value) ? "-" : l.value.toFixed(e.value.table.td.roundingValue).toLocaleString()}${l.suffix || ""}`
270
+ ]), a = {
271
+ th: {
272
+ backgroundColor: e.value.table.th.backgroundColor,
273
+ color: e.value.table.th.color,
274
+ outline: e.value.table.th.outline
275
+ },
276
+ td: {
277
+ backgroundColor: e.value.table.td.backgroundColor,
278
+ color: e.value.table.td.color,
279
+ outline: e.value.table.td.outline
280
+ },
281
+ breakpoint: e.value.table.responsiveBreakpoint
282
+ };
283
+ return { head: t, body: o, config: a, colNames: t };
284
+ });
285
+ function _e(t = null) {
286
+ Ne(() => {
287
+ const o = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = ee.value.head, l = ee.value.body, v = o.concat([a]).concat(l), k = xt(v);
288
+ t ? t(k) : Tt({ csvContent: k, title: e.value.style.chart.title.text || "vue-ui-onion" });
289
+ });
290
+ }
291
+ const O = r(void 0), F = r(!1);
292
+ function Ae(t) {
293
+ F.value = t, re.value += 1;
294
+ }
295
+ function Ie({ datapoint: t }) {
296
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: t.absoluteIndex });
297
+ }
298
+ function Se({ datapoint: t }) {
299
+ O.value = void 0, H.value = !1, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: t.absoluteIndex });
300
+ }
301
+ const te = r(null);
302
+ function Pe({ datapoint: t, seriesIndex: o, show: a = !0 }) {
303
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: t.absoluteIndex });
304
+ const l = t.absoluteIndex;
305
+ O.value = o, te.value = {
306
+ datapoint: t,
307
+ seriesIndex: l,
308
+ series: f.value,
309
+ config: e.value
310
+ }, H.value = a;
311
+ let v = "";
312
+ const k = e.value.style.chart.tooltip.customFormat;
313
+ if (Be(k) && Ot(() => k({
314
+ seriesIndex: l,
315
+ datapoint: t,
316
+ series: f.value,
317
+ config: e.value
318
+ })))
319
+ W.value = k({
320
+ seriesIndex: l,
321
+ datapoint: t,
322
+ series: f.value,
323
+ config: e.value
324
+ });
325
+ else {
326
+ const le = e.value.style.chart.tooltip.showPercentage, oe = e.value.style.chart.tooltip.showValue;
327
+ 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>${le ? Y({ p: "", v: t.percentage, s: "%", r: e.value.style.chart.tooltip.roundingPercentage }) : ""}</b> ${le && oe ? "(" : ""}${oe ? se(
328
+ e.value.style.chart.layout.labels.value.formatter,
329
+ t.value,
330
+ Y({
331
+ p: t.prefix || "",
332
+ v: t.value,
333
+ s: t.suffix || "",
334
+ r: e.value.style.chart.tooltip.roundingValue
335
+ }),
336
+ { datapoint: t, seriesIndex: o }
337
+ ) : ""}${le && oe ? ")" : ""}</div>`, W.value = `<div>${v}</div>`;
338
+ }
339
+ }
340
+ function Fe() {
341
+ m.value.showTable = !m.value.showTable;
342
+ }
343
+ function Me() {
344
+ m.value.showTooltip = !m.value.showTooltip;
345
+ }
346
+ const U = r(!1);
347
+ function ae() {
348
+ U.value = !U.value;
349
+ }
350
+ async function ct({ scale: t = 2 } = {}) {
351
+ if (!x.value) return;
352
+ const { width: o, height: a } = x.value.getBoundingClientRect(), l = o / a, { imageUri: v, base64: k } = await Rt({ domElement: x.value, base64: !0, img: !0, scale: t });
353
+ return {
354
+ imageUri: v,
355
+ base64: k,
356
+ title: e.value.style.chart.title.text,
357
+ width: o,
358
+ height: a,
359
+ aspectRatio: l
360
+ };
361
+ }
362
+ return Ee({
363
+ getData: it,
364
+ getImage: ct,
365
+ generatePdf: we,
366
+ generateCsv: _e,
367
+ generateImage: Ce,
368
+ toggleTable: Fe,
369
+ toggleTooltip: Me,
370
+ toggleAnnotator: ae,
371
+ toggleFullscreen: Ae
372
+ }), (t, o) => (u(), i("div", {
373
+ class: G(`vue-ui-onion ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
374
+ ref_key: "onionChart",
375
+ ref: x,
376
+ id: `vue-ui-onion_${S.value}`,
377
+ style: A(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
378
+ onMouseenter: o[2] || (o[2] = () => s(me)(!0)),
379
+ onMouseleave: o[3] || (o[3] = () => s(me)(!1))
380
+ }, [
381
+ e.value.userOptions.buttons.annotator ? (u(), I(s(We), {
382
+ key: 0,
383
+ svgRef: s(J),
384
+ backgroundColor: e.value.style.chart.backgroundColor,
385
+ color: e.value.style.chart.color,
386
+ active: U.value,
387
+ onClose: ae
388
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : g("", !0),
389
+ Qe.value ? (u(), i("div", {
390
+ key: 1,
391
+ ref_key: "noTitle",
392
+ ref: de,
393
+ class: "vue-data-ui-no-title-space",
394
+ style: "height:36px; width: 100%;background:transparent"
395
+ }, null, 512)) : g("", !0),
396
+ e.value.style.chart.title.text ? (u(), i("div", {
397
+ key: 2,
398
+ ref_key: "chartTitle",
399
+ ref: ie,
400
+ style: "width:100%;background:transparent"
401
+ }, [
402
+ (u(), I(Ft, {
403
+ key: `title_${he.value}`,
404
+ config: {
405
+ title: {
406
+ cy: "onion-div-title",
407
+ ...e.value.style.chart.title
408
+ },
409
+ subtitle: {
410
+ cy: "onion-div-subtitle",
411
+ ...e.value.style.chart.title.subtitle
412
+ }
413
+ }
414
+ }, null, 8, ["config"]))
415
+ ], 512)) : g("", !0),
416
+ e.value.userOptions.show && ue.value && (s(ye) || s(q)) ? (u(), I(s(qe), {
417
+ ref_key: "details",
418
+ ref: Ke,
419
+ key: `user_options${re.value}`,
420
+ backgroundColor: e.value.style.chart.backgroundColor,
421
+ color: e.value.style.chart.color,
422
+ isImaging: s(ke),
423
+ isPrinting: s(be),
424
+ uid: S.value,
425
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
426
+ hasPdf: e.value.userOptions.buttons.pdf,
427
+ hasImg: e.value.userOptions.buttons.img,
428
+ hasXls: e.value.userOptions.buttons.csv,
429
+ hasTable: e.value.userOptions.buttons.table,
430
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
431
+ isFullscreen: F.value,
432
+ isTooltip: m.value.showTooltip,
433
+ titles: { ...e.value.userOptions.buttonTitles },
434
+ chartElement: x.value,
435
+ position: e.value.userOptions.position,
436
+ hasAnnotator: e.value.userOptions.buttons.annotator,
437
+ isAnnotation: U.value,
438
+ callbacks: e.value.userOptions.callbacks,
439
+ printScale: e.value.userOptions.print.scale,
440
+ onToggleFullscreen: Ae,
441
+ onGeneratePdf: s(we),
442
+ onGenerateCsv: _e,
443
+ onGenerateImage: s(Ce),
444
+ onToggleTable: Fe,
445
+ onToggleTooltip: Me,
446
+ onToggleAnnotator: ae,
447
+ style: A({
448
+ visibility: s(ye) ? s(q) ? "visible" : "hidden" : "visible"
449
+ })
450
+ }, ft({ _: 2 }, [
451
+ t.$slots.menuIcon ? {
452
+ name: "menuIcon",
453
+ fn: p(({ isOpen: a, color: l }) => [
454
+ h(t.$slots, "menuIcon", R(z({ isOpen: a, color: l })), void 0, !0)
455
+ ]),
456
+ key: "0"
457
+ } : void 0,
458
+ t.$slots.optionTooltip ? {
459
+ name: "optionTooltip",
460
+ fn: p(() => [
461
+ h(t.$slots, "optionTooltip", {}, void 0, !0)
462
+ ]),
463
+ key: "1"
464
+ } : void 0,
465
+ t.$slots.optionPdf ? {
466
+ name: "optionPdf",
467
+ fn: p(() => [
468
+ h(t.$slots, "optionPdf", {}, void 0, !0)
469
+ ]),
470
+ key: "2"
471
+ } : void 0,
472
+ t.$slots.optionCsv ? {
473
+ name: "optionCsv",
474
+ fn: p(() => [
475
+ h(t.$slots, "optionCsv", {}, void 0, !0)
476
+ ]),
477
+ key: "3"
478
+ } : void 0,
479
+ t.$slots.optionImg ? {
480
+ name: "optionImg",
481
+ fn: p(() => [
482
+ h(t.$slots, "optionImg", {}, void 0, !0)
483
+ ]),
484
+ key: "4"
485
+ } : void 0,
486
+ t.$slots.optionTable ? {
487
+ name: "optionTable",
488
+ fn: p(() => [
489
+ h(t.$slots, "optionTable", {}, void 0, !0)
490
+ ]),
491
+ key: "5"
492
+ } : void 0,
493
+ t.$slots.optionFullscreen ? {
494
+ name: "optionFullscreen",
495
+ fn: p(({ toggleFullscreen: a, isFullscreen: l }) => [
496
+ h(t.$slots, "optionFullscreen", R(z({ toggleFullscreen: a, isFullscreen: l })), void 0, !0)
497
+ ]),
498
+ key: "6"
499
+ } : void 0,
500
+ t.$slots.optionAnnotator ? {
501
+ name: "optionAnnotator",
502
+ fn: p(({ toggleAnnotator: a, isAnnotator: l }) => [
503
+ h(t.$slots, "optionAnnotator", R(z({ toggleAnnotator: a, isAnnotator: l })), void 0, !0)
504
+ ]),
505
+ key: "7"
506
+ } : void 0
507
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : g("", !0),
508
+ (u(), i("svg", {
509
+ ref_key: "svgRef",
510
+ ref: J,
511
+ xmlns: s($t),
512
+ class: G({ "vue-data-ui-fullscreen--on": F.value, "vue-data-ui-fulscreen--off": !F.value, resizing: C.value }),
513
+ viewBox: `0 0 ${n.value.width <= 0 ? 10 : n.value.width} ${n.value.height <= 0 ? 10 : n.value.height}`,
514
+ style: A(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
515
+ }, [
516
+ ze(s(He)),
517
+ t.$slots["chart-background"] ? (u(), i("foreignObject", {
518
+ key: 0,
519
+ x: 0,
520
+ y: 0,
521
+ width: n.value.width <= 0 ? 10 : n.value.width,
522
+ height: n.value.height <= 0 ? 10 : n.value.height,
523
+ style: {
524
+ pointerEvents: "none"
525
+ }
526
+ }, [
527
+ h(t.$slots, "chart-background", {}, void 0, !0)
528
+ ], 8, Yt)) : g("", !0),
529
+ (u(!0), i(B, null, V($.value, (a, l) => (u(), i("circle", {
530
+ cx: c.value.centerX,
531
+ cy: c.value.centerY,
532
+ r: a.radius <= 0 ? 1e-4 : a.radius,
533
+ stroke: e.value.style.chart.layout.gutter.color,
534
+ "stroke-width": _.value.gutter,
535
+ fill: "none",
536
+ "stroke-dasharray": a.path.bgDashArray,
537
+ "stroke-dashoffset": a.path.fullOffset,
538
+ "stroke-linecap": "round",
539
+ class: G({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(O.value) && O.value !== l }),
540
+ style: A({
541
+ transform: "rotate(-90deg)",
542
+ transformOrigin: "50% 50%",
543
+ transition: C.value || s(b) ? "none" : "all 0.3s ease-in-out !important",
544
+ animation: C.value || s(b) ? "none" : "xyAnimation 0.5s ease-in"
545
+ })
546
+ }, null, 14, Et))), 256)),
547
+ (u(!0), i(B, null, V($.value, (a, l) => (u(), i("circle", {
548
+ cx: c.value.centerX,
549
+ cy: c.value.centerY,
550
+ r: a.radius < 0 ? 1e-4 : a.radius,
551
+ stroke: `${a.color}`,
552
+ "stroke-width": _.value.track,
553
+ fill: "none",
554
+ "stroke-dasharray": a.path.dashArray,
555
+ "stroke-dashoffset": a.path.dashOffset,
556
+ class: G({ "vue-ui-onion-path": !0, "vue-ui-onion-blur": e.value.useBlurOnHover && ![null, void 0].includes(O.value) && O.value !== l }),
557
+ "stroke-linecap": "round",
558
+ style: A({
559
+ transform: "rotate(-90deg)",
560
+ transformOrigin: "50% 50%",
561
+ transition: C.value || s(b) ? "none" : "all 0.3s ease-in-out !important",
562
+ animation: C.value || s(b) ? "none" : "xyAnimation 0.5s ease-in"
563
+ })
564
+ }, null, 14, Ut))), 256)),
565
+ L("defs", null, [
566
+ L("filter", {
567
+ id: `blur_${S.value}`,
568
+ x: "-50%",
569
+ y: "-50%",
570
+ width: "200%",
571
+ height: "200%"
572
+ }, [
573
+ L("feGaussianBlur", {
574
+ in: "SourceGraphic",
575
+ stdDeviation: 100 / e.value.style.chart.gradientIntensity
576
+ }, null, 8, Gt)
577
+ ], 8, Xt)
578
+ ]),
579
+ e.value.style.chart.useGradient ? (u(), i("g", {
580
+ key: 1,
581
+ filter: `url(#blur_${S.value})`
582
+ }, [
583
+ (u(!0), i(B, null, V($.value, (a, l) => (u(), i("circle", {
584
+ cx: c.value.centerX,
585
+ cy: c.value.centerY,
586
+ r: a.radius <= 0 ? 1e-4 : a.radius,
587
+ stroke: "white",
588
+ "stroke-width": _.value.track / 3,
589
+ fill: "none",
590
+ "stroke-linecap": "round",
591
+ "stroke-dasharray": a.path.dashArray,
592
+ "stroke-dashoffset": a.path.dashOffset,
593
+ style: A({
594
+ transform: "rotate(-90deg)",
595
+ transformOrigin: "50% 50%",
596
+ transition: C.value || s(b) ? "none" : "all 0.3s ease-in-out !important",
597
+ animation: C.value || s(b) ? "none" : "xyAnimation 0.5s ease-in"
598
+ })
599
+ }, null, 12, Wt))), 256))
600
+ ], 8, Ht)) : g("", !0),
601
+ (u(!0), i(B, null, V($.value, (a, l) => (u(), i("circle", {
602
+ cx: c.value.centerX,
603
+ cy: c.value.centerY,
604
+ r: a.radius <= 0 ? 1e-4 : a.radius,
605
+ stroke: "transparent",
606
+ "stroke-width": Math.max(_.value.track, _.value.gutter),
607
+ fill: "none",
608
+ "stroke-dasharray": a.path.bgDashArray,
609
+ "stroke-dashoffset": a.path.fullOffset,
610
+ "stroke-linecap": "round",
611
+ class: "vue-ui-onion-path",
612
+ style: {
613
+ transform: "rotate(-90deg)",
614
+ transformOrigin: "50% 50%"
615
+ },
616
+ onMouseenter: (v) => Pe({
617
+ datapoint: a,
618
+ show: !0,
619
+ seriesIndex: l
620
+ }),
621
+ onMouseleave: (v) => Se({ datapoint: a }),
622
+ onClick: (v) => Ie({ datapoint: a })
623
+ }, null, 40, jt))), 256)),
624
+ e.value.style.chart.layout.labels.show ? (u(), i("g", qt, [
625
+ (u(!0), i(B, null, V($.value, (a, l) => (u(), i("g", {
626
+ onMouseenter: (v) => Pe({
627
+ datapoint: a,
628
+ show: !0,
629
+ seriesIndex: l
630
+ }),
631
+ onMouseleave: (v) => Se({ datapoint: a }),
632
+ onClick: (v) => Ie({ datapoint: a })
633
+ }, [
634
+ y.value.includes(a.id) ? g("", !0) : (u(), i("text", {
635
+ key: 0,
636
+ class: "vue-ui-onion-label",
637
+ x: n.value.width / 2 - _.value.gutter * 0.8 + e.value.style.chart.layout.labels.offsetX,
638
+ y: a.labelY + e.value.style.chart.layout.labels.offsetY,
639
+ "text-anchor": "end",
640
+ "font-size": e.value.style.chart.layout.labels.fontSize,
641
+ fill: e.value.useBlurOnHover && ![null, void 0].includes(O.value) && O.value === l ? a.color : e.value.style.chart.layout.labels.color,
642
+ "font-weight": e.value.style.chart.layout.labels.bold ? "bold" : "normal"
643
+ }, N(a.name ? a.name + ": " : "") + " " + N(e.value.style.chart.layout.labels.percentage.show ? s(Y)({
644
+ v: a.percentage,
645
+ s: "%",
646
+ r: e.value.style.chart.layout.labels.roundingPercentage
647
+ }) : "") + " " + N(!e.value.style.chart.layout.labels.percentage.show && e.value.style.chart.layout.labels.value.show ? `: ${s(se)(
648
+ e.value.style.chart.layout.labels.value.formatter,
649
+ a.value,
650
+ s(Y)({
651
+ p: a.prefix || "",
652
+ v: a.value || 0,
653
+ s: a.suffix || "",
654
+ r: e.value.style.chart.layout.labels.roundingValue
655
+ }),
656
+ { datapoint: a, seriesIndex: l }
657
+ )}` : `${e.value.style.chart.layout.labels.value.show && a.value ? `(${s(se)(
658
+ e.value.style.chart.layout.labels.value.formatter,
659
+ a.value,
660
+ s(Y)({
661
+ p: a.prefix || "",
662
+ v: a.value || 0,
663
+ s: a.suffix || "",
664
+ r: e.value.style.chart.layout.labels.roundingValue
665
+ }),
666
+ { datapoint: a, seriesIndex: l }
667
+ )})` : ""}`), 9, Kt))
668
+ ], 40, Jt))), 256))
669
+ ])) : g("", !0),
670
+ h(t.$slots, "svg", { svg: n.value }, void 0, !0)
671
+ ], 14, Vt)),
672
+ t.$slots.watermark ? (u(), i("div", Qt, [
673
+ h(t.$slots, "watermark", R(z({ isPrinting: s(be) || s(ke) })), void 0, !0)
674
+ ])) : g("", !0),
675
+ L("div", {
676
+ ref_key: "chartLegend",
677
+ ref: ce
678
+ }, [
679
+ e.value.style.chart.legend.show ? (u(), I(Mt, {
680
+ key: `legend_${pe.value}`,
681
+ legendSet: f.value,
682
+ config: nt.value,
683
+ onClickMarker: o[0] || (o[0] = ({ legend: a }) => Oe(a.id))
684
+ }, {
685
+ item: p(({ legend: a }) => [
686
+ s(b) ? g("", !0) : (u(), i("div", {
687
+ key: 0,
688
+ "data-cy-legend-item": "",
689
+ onClick: (l) => a.segregate(),
690
+ style: A(`opacity:${y.value.includes(a.id) ? 0.5 : 1}`)
691
+ }, N(a.name ? a.name + ": " : "") + " " + N((a.percentage || 0).toFixed(e.value.style.chart.legend.roundingPercentage)) + "% ", 13, Zt))
692
+ ]),
693
+ _: 1
694
+ }, 8, ["legendSet", "config"])) : h(t.$slots, "legend", {
695
+ key: 1,
696
+ legend: f.value
697
+ }, void 0, !0)
698
+ ], 512),
699
+ t.$slots.source ? (u(), i("div", {
700
+ key: 5,
701
+ ref_key: "source",
702
+ ref: ve,
703
+ dir: "auto"
704
+ }, [
705
+ h(t.$slots, "source", {}, void 0, !0)
706
+ ], 512)) : g("", !0),
707
+ ze(s(je), {
708
+ show: m.value.showTooltip && H.value,
709
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
710
+ color: e.value.style.chart.tooltip.color,
711
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
712
+ borderColor: e.value.style.chart.tooltip.borderColor,
713
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
714
+ fontSize: e.value.style.chart.tooltip.fontSize,
715
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
716
+ position: e.value.style.chart.tooltip.position,
717
+ offsetY: e.value.style.chart.tooltip.offsetY,
718
+ parent: x.value,
719
+ content: W.value,
720
+ isFullscreen: F.value,
721
+ isCustom: s(Be)(e.value.style.chart.tooltip.customFormat),
722
+ smooth: e.value.style.chart.tooltip.smooth,
723
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter
724
+ }, {
725
+ "tooltip-before": p(() => [
726
+ h(t.$slots, "tooltip-before", R(z({ ...te.value })), void 0, !0)
727
+ ]),
728
+ "tooltip-after": p(() => [
729
+ h(t.$slots, "tooltip-after", R(z({ ...te.value })), void 0, !0)
730
+ ]),
731
+ _: 3
732
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
733
+ ue.value ? (u(), I(s(Xe), {
734
+ key: 6,
735
+ hideDetails: "",
736
+ config: {
737
+ open: m.value.showTable,
738
+ maxHeight: 1e4,
739
+ head: {
740
+ backgroundColor: e.value.style.chart.backgroundColor,
741
+ color: e.value.style.chart.color
742
+ },
743
+ body: {
744
+ backgroundColor: e.value.style.chart.backgroundColor,
745
+ color: e.value.style.chart.color
746
+ }
747
+ }
748
+ }, {
749
+ content: p(() => [
750
+ (u(), I(s(Ge), {
751
+ key: `table_${fe.value}`,
752
+ colNames: E.value.colNames,
753
+ head: E.value.head,
754
+ body: E.value.body,
755
+ config: E.value.config,
756
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
757
+ onClose: o[1] || (o[1] = (a) => m.value.showTable = !1)
758
+ }, {
759
+ th: p(({ th: a }) => [
760
+ pt(N(a), 1)
761
+ ]),
762
+ td: p(({ td: a }) => [
763
+ L("div", { innerHTML: a }, null, 8, ea)
764
+ ]),
765
+ _: 1
766
+ }, 8, ["colNames", "head", "body", "config", "title"]))
767
+ ]),
768
+ _: 1
769
+ }, 8, ["config"])) : g("", !0),
770
+ s(b) ? (u(), I(Nt, { key: 7 })) : g("", !0)
771
+ ], 46, Bt));
772
+ }
773
+ }, pa = /* @__PURE__ */ Lt(ta, [["__scopeId", "data-v-4cb88669"]]);
774
+ export {
775
+ pa as default
776
+ };