vue-data-ui 3.0.0-next.0 → 3.0.0-next.2

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 (102) hide show
  1. package/README.md +108 -67
  2. package/dist/{Arrow-CzFtSJ1v.js → Arrow-Dck2Ea5K.js} +1 -1
  3. package/dist/{BaseDraggableDialog-0S5xhs2P.js → BaseDraggableDialog-CatHZ1ns.js} +2 -2
  4. package/dist/{BaseIcon-DoDjTdD5.js → BaseIcon-BmZ4MREl.js} +1 -1
  5. package/dist/{ColorPicker-BGRchgqQ.js → ColorPicker-C1MXyD9Q.js} +2 -2
  6. package/dist/{DataTable-BBbOgI-a.js → DataTable-CgL0Rz0x.js} +2 -2
  7. package/dist/{Legend-Q4bOb-Nf.js → Legend-CYbP3Kfg.js} +12 -11
  8. package/dist/{NonSvgPenAndPaper-DNKRvsBB.js → NonSvgPenAndPaper-CcbcJm_U.js} +3 -3
  9. package/dist/{PackageVersion-D0VPY8-5.js → PackageVersion-CAkNkiIG.js} +1 -1
  10. package/dist/{PenAndPaper-DhBJsnob.js → PenAndPaper-Cx1-5zdD.js} +32 -32
  11. package/dist/{Shape-DbsLJ-SE.js → Shape-DBXkGxKt.js} +1 -1
  12. package/dist/{Slicer-DZEFp2GU.js → Slicer-nrMi5hzj.js} +2 -2
  13. package/dist/{SparkTooltip-CoOJR62O.js → SparkTooltip-fNzL4pIU.js} +1 -1
  14. package/dist/{Title-D29apS4l.js → Title-pVYRzQXY.js} +1 -1
  15. package/dist/Tooltip-NwATo4ZJ.js +157 -0
  16. package/dist/{UserOptions-Bdit7AWO.js → UserOptions-DAsRxxrf.js} +137 -129
  17. package/dist/{dom-to-png-BdPIrHOF.js → dom-to-png-BF_4H_6u.js} +1 -1
  18. package/dist/img-ku4zevVD.js +33 -0
  19. package/dist/{index-DMqAxz7R.js → index-BzfnuLnw.js} +1199 -1135
  20. package/dist/pdf-CguiIsUc.js +58 -0
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +1051 -217
  23. package/dist/types/vue-data-ui.d.ts +1051 -217
  24. package/dist/useLoading-Bt5Doa8m.js +28 -0
  25. package/dist/{useNestedProp-YgN3FV_8.js → useNestedProp-DorElw91.js} +1 -1
  26. package/dist/{usePrinter-COkTjv6C.js → usePrinter-C9qkgv0r.js} +2 -2
  27. package/dist/vue-data-ui-DQef_oFO.js +314 -0
  28. package/dist/vue-data-ui.js +13 -13
  29. package/dist/{vue-ui-3d-bar-Ojgjl20n.js → vue-ui-3d-bar-DPSamIA-.js} +261 -245
  30. package/dist/{vue-ui-accordion-P6eFHGQp.js → vue-ui-accordion-DgZK-qDz.js} +3 -3
  31. package/dist/{vue-ui-age-pyramid-IcMpAhiw.js → vue-ui-age-pyramid-DVeGKvf9.js} +233 -217
  32. package/dist/{vue-ui-annotator-Bk7d86-x.js → vue-ui-annotator-6ikkK-FK.js} +2 -2
  33. package/dist/{vue-ui-bullet-DCvWbCPk.js → vue-ui-bullet-Bg4hfFk2.js} +172 -156
  34. package/dist/{vue-ui-candlestick-DCf-88Yv.js → vue-ui-candlestick-Bi59FGXn.js} +271 -254
  35. package/dist/{vue-ui-carousel-table-DEsl0XUh.js → vue-ui-carousel-table-DitKhrFT.js} +17 -16
  36. package/dist/{vue-ui-chestnut-Cg10-3wu.js → vue-ui-chestnut-D8wGAZod.js} +419 -403
  37. package/dist/{vue-ui-chord-BWYzR6vf.js → vue-ui-chord-C-uTVCDP.js} +256 -240
  38. package/dist/{vue-ui-circle-pack-CO2Ra2-5.js → vue-ui-circle-pack-CPy6xcxv.js} +230 -214
  39. package/dist/{vue-ui-cursor-BbYHJDbV.js → vue-ui-cursor-Dd7vUd0q.js} +2 -2
  40. package/dist/{vue-ui-dashboard-DkCnNuse.js → vue-ui-dashboard-CKurbu8M.js} +62 -62
  41. package/dist/{vue-ui-digits-DRsphHt2.js → vue-ui-digits-DfdZI11G.js} +2 -2
  42. package/dist/{vue-ui-donut-evolution-B5F2-0bh.js → vue-ui-donut-evolution-CKbLO8yR.js} +370 -357
  43. package/dist/vue-ui-donut-tECBFvud.js +1532 -0
  44. package/dist/{vue-ui-dumbbell-DqqSxoSh.js → vue-ui-dumbbell-DI5Lj3r_.js} +216 -200
  45. package/dist/{vue-ui-flow-CTIcUJgV.js → vue-ui-flow-CjU48s9z.js} +217 -201
  46. package/dist/{vue-ui-funnel-k7KD7Xoc.js → vue-ui-funnel-DM_5vHZ4.js} +213 -197
  47. package/dist/{vue-ui-galaxy-C9EHaP4I.js → vue-ui-galaxy-ocvZgZJx.js} +215 -202
  48. package/dist/{vue-ui-gauge-CBiM_1-n.js → vue-ui-gauge-DajNoY-D.js} +220 -204
  49. package/dist/{vue-ui-gizmo-CAc7b2oK.js → vue-ui-gizmo-DTnzeQbm.js} +3 -3
  50. package/dist/{vue-ui-heatmap-B3ubrP2v.js → vue-ui-heatmap-CfBS8jQe.js} +244 -224
  51. package/dist/{vue-ui-history-plot-XCqccO3b.js → vue-ui-history-plot-BuOPWQoP.js} +268 -252
  52. package/dist/{vue-ui-kpi-DTGMDjaZ.js → vue-ui-kpi-DLGHOIRj.js} +3 -3
  53. package/dist/{vue-ui-mini-loader-Cn_7nvVq.js → vue-ui-mini-loader-CHAHi4c9.js} +2 -2
  54. package/dist/{vue-ui-molecule-BugMXFAK.js → vue-ui-molecule-R5-oDFeW.js} +204 -188
  55. package/dist/{vue-ui-mood-radar-Cv4dHZPL.js → vue-ui-mood-radar-Ddf2gaES.js} +206 -190
  56. package/dist/vue-ui-nested-donuts-CksklV83.js +1177 -0
  57. package/dist/{vue-ui-onion-Bha2hRAb.js → vue-ui-onion-D2n4zUkV.js} +196 -180
  58. package/dist/{vue-ui-parallel-coordinate-plot-DWJ2DWx4.js → vue-ui-parallel-coordinate-plot-CNWQqlxf.js} +194 -178
  59. package/dist/{vue-ui-quadrant-BKHZoTml.js → vue-ui-quadrant-CxNj2FEx.js} +321 -305
  60. package/dist/{vue-ui-quick-chart-D_k3lbU8.js → vue-ui-quick-chart-Bm_VmhJR.js} +347 -331
  61. package/dist/{vue-ui-radar-Co4EOjSk.js → vue-ui-radar-DSYMQJ6K.js} +193 -177
  62. package/dist/{vue-ui-rating-dtNN0EdX.js → vue-ui-rating-BiQpwXnc.js} +2 -2
  63. package/dist/{vue-ui-relation-circle-CR4UpQzM.js → vue-ui-relation-circle-Cdxe78Bm.js} +188 -172
  64. package/dist/{vue-ui-ridgeline-BKX97EnR.js → vue-ui-ridgeline-DpeM2hRi.js} +212 -196
  65. package/dist/{vue-ui-rings-EPTwyt6D.js → vue-ui-rings-BenmQHKv.js} +223 -210
  66. package/dist/{vue-ui-scatter-BlxzblSR.js → vue-ui-scatter-mDMY1H6U.js} +288 -273
  67. package/dist/{vue-ui-skeleton-CjN2ZdgT.js → vue-ui-skeleton-Ch_XkFuP.js} +3 -3
  68. package/dist/{vue-ui-smiley-DdF_ErYG.js → vue-ui-smiley-DTig5lTU.js} +2 -2
  69. package/dist/{vue-ui-spark-trend-RdOlCuT9.js → vue-ui-spark-trend-BkDsp8E0.js} +3 -3
  70. package/dist/{vue-ui-sparkbar-DWufRGcN.js → vue-ui-sparkbar-CgqoyBOm.js} +3 -3
  71. package/dist/{vue-ui-sparkgauge-IP1O3qyT.js → vue-ui-sparkgauge-B4jR_Y62.js} +3 -3
  72. package/dist/{vue-ui-sparkhistogram-Cnv9xZ8H.js → vue-ui-sparkhistogram-DfxjglLy.js} +4 -4
  73. package/dist/{vue-ui-sparkline-CYgeD5V3.js → vue-ui-sparkline-M3QR8xJE.js} +3 -3
  74. package/dist/{vue-ui-sparkstackbar-BCwoK9xd.js → vue-ui-sparkstackbar-B2Ls-Mb8.js} +3 -3
  75. package/dist/{vue-ui-stackbar-CqFIvfrK.js → vue-ui-stackbar-DIHkn6__.js} +497 -474
  76. package/dist/{vue-ui-strip-plot-Dq-kDRai.js → vue-ui-strip-plot-B_ZLbu2D.js} +241 -225
  77. package/dist/{vue-ui-table-vaIdQnPl.js → vue-ui-table-BhymhDOh.js} +3 -3
  78. package/dist/{vue-ui-table-heatmap-U_Td0cdh.js → vue-ui-table-heatmap-DokRh4dS.js} +26 -25
  79. package/dist/{vue-ui-table-sparkline-DkOaHx5L.js → vue-ui-table-sparkline-DxBZGKZJ.js} +8 -7
  80. package/dist/{vue-ui-thermometer-CzckBZgs.js → vue-ui-thermometer-e2L6IdF-.js} +170 -154
  81. package/dist/{vue-ui-timer-DSdUshUs.js → vue-ui-timer-BG2EwK3o.js} +5 -5
  82. package/dist/vue-ui-tiremarks-nzQH7woJ.js +358 -0
  83. package/dist/vue-ui-treemap-CZxyi6fl.js +965 -0
  84. package/dist/{vue-ui-vertical-bar-Dd4sYeAC.js → vue-ui-vertical-bar-DahdX1Sn.js} +382 -360
  85. package/dist/{vue-ui-waffle-DusUVY6y.js → vue-ui-waffle-D399D4UE.js} +234 -221
  86. package/dist/vue-ui-wheel-DtcwtHzJ.js +352 -0
  87. package/dist/{vue-ui-word-cloud-_7uYjJ5A.js → vue-ui-word-cloud-CTDceQsf.js} +249 -233
  88. package/dist/{vue-ui-world-COIyBHII.js → vue-ui-world-BjNSbqMZ.js} +239 -223
  89. package/dist/vue-ui-xy-BkTP-JpK.js +2958 -0
  90. package/dist/{vue-ui-xy-canvas-CuYRyub2.js → vue-ui-xy-canvas-BKAowbe0.js} +447 -431
  91. package/package.json +2 -2
  92. package/dist/Tooltip-hVZUY_s5.js +0 -149
  93. package/dist/img-BeMVTwmF.js +0 -20
  94. package/dist/pdf-DPxOdzfi.js +0 -51
  95. package/dist/useMouse-AicQS8Vf.js +0 -13
  96. package/dist/vue-data-ui-nceqWRts.js +0 -301
  97. package/dist/vue-ui-donut-DSE7ubVv.js +0 -1315
  98. package/dist/vue-ui-nested-donuts-CYe0Are_.js +0 -1154
  99. package/dist/vue-ui-tiremarks-B2WWklqG.js +0 -342
  100. package/dist/vue-ui-treemap-D1dgDhjG.js +0 -952
  101. package/dist/vue-ui-wheel-ClsKBh52.js +0 -336
  102. package/dist/vue-ui-xy-C_OUyzTC.js +0 -3135
@@ -1,1315 +0,0 @@
1
- import { defineAsyncComponent as Q, useSlots as Xt, computed as y, shallowRef as E, ref as x, onMounted as tt, onBeforeUnmount as It, watch as lt, createElementBlock as n, openBlock as o, normalizeStyle as b, normalizeClass as _e, createBlock as Z, createCommentVNode as i, renderSlot as m, createElementVNode as f, createVNode as xe, unref as r, createSlots as at, withCtx as C, normalizeProps as oe, guardReactiveProps as ue, Fragment as p, renderList as A, mergeProps as ot, toDisplayString as P, createTextVNode as ut, nextTick as Dt } from "vue";
2
- import { u as Vt, o as Bt, e as st, g as Gt, c as Wt, b as Rt, v as Et, d as nt, p as ee, m as rt, $ as Ut, f as M, X as jt, s as fe, w as Ht, j as qt, N as L, i as D, k as ve, n as w, t as Jt, a as Kt, q as Qt, r as Zt, x as el, T as it } from "./index-DMqAxz7R.js";
3
- import { t as tl, u as ll } from "./useResponsive-DfdjqQps.js";
4
- import { u as vt } from "./useNestedProp-YgN3FV_8.js";
5
- import { u as al } from "./usePrinter-COkTjv6C.js";
6
- import { u as ol } from "./useUserOptionState-BIvW1Kz7.js";
7
- import { u as ul } from "./useChartAccessibility-9icAAmYg.js";
8
- import sl from "./Legend-Q4bOb-Nf.js";
9
- import nl from "./Title-D29apS4l.js";
10
- import { _ as rl } from "./Shape-DbsLJ-SE.js";
11
- import { _ as il } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
- const vl = ["id"], cl = ["xmlns", "viewBox"], dl = ["width", "height"], hl = { key: 1 }, yl = ["id"], fl = ["stop-color"], pl = ["offset", "stop-color"], gl = ["offset", "stop-color"], ml = ["stop-color"], bl = { key: 2 }, wl = ["id", "cx", "cy"], kl = ["stop-color", "stop-opacity"], _l = ["stop-color"], xl = ["id"], $l = ["id"], Cl = ["id"], Tl = ["flood-color"], Pl = ["id"], Al = ["flood-color"], Fl = ["d", "stroke", "filter"], Sl = ["d", "stroke", "filter"], Ll = ["cx", "cy", "r", "fill", "filter"], zl = { key: 6 }, Ol = ["stroke", "d"], Nl = ["d", "fill", "stroke", "stroke-width", "filter"], Ml = { key: 0 }, Yl = ["d", "fill", "stroke", "stroke-width", "filter"], Xl = { key: 0 }, Il = ["stroke", "d"], Dl = { key: 0 }, Vl = ["d", "stroke", "stroke-width", "filter"], Bl = { key: 1 }, Gl = ["d", "fill", "stroke", "stroke-width", "filter"], Wl = ["d", "fill", "stroke", "stroke-width", "filter"], Rl = { key: 1 }, El = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Ul = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], jl = { key: 0 }, Hl = ["d", "fill", "stroke", "stroke-width"], ql = ["cx", "cy", "r", "stroke"], Jl = ["cx", "cy", "r", "fill"], Kl = { key: 0 }, Ql = ["d", "fill", "onMouseenter", "onClick"], Zl = { key: 1 }, ea = ["cx", "cy", "r"], ta = ["x", "y", "fill", "font-size"], la = ["x", "y", "fill", "font-size"], aa = ["x", "y", "fill", "font-size"], oa = ["x", "y", "fill", "font-size"], ua = ["filter"], sa = { key: 0 }, na = ["x", "y"], ra = { key: 1 }, ia = ["cx", "cy", "fill", "stroke", "filter", "onClick"], va = ["cx", "cy", "fill", "stroke", "filter", "onClick"], ca = ["text-anchor", "x", "y", "fill", "font-size", "onClick"], da = ["text-anchor", "x", "y", "fill", "font-size", "onClick"], ha = ["text-anchor", "x", "y", "fill", "font-size", "onClick"], ya = ["text-anchor", "x", "y", "fill", "font-size", "onClick"], fa = { key: 2 }, pa = ["x", "y", "width"], ga = ["x", "y", "width"], ma = {
13
- key: 5,
14
- class: "vue-data-ui-watermark"
15
- }, ba = ["onClick"], wa = {
16
- key: 0,
17
- style: { "font-variant-numeric": "tabular-nums" }
18
- }, ka = { key: 1 }, _a = ["innerHTML"], xa = {
19
- __name: "vue-ui-donut",
20
- props: {
21
- config: {
22
- type: Object,
23
- default() {
24
- return {};
25
- }
26
- },
27
- dataset: {
28
- type: Array,
29
- default() {
30
- return [];
31
- }
32
- }
33
- },
34
- emits: ["selectLegend", "selectDatapoint"],
35
- setup($e, { expose: ct, emit: dt }) {
36
- const ht = Q(() => import("./vue-ui-accordion-P6eFHGQp.js")), yt = Q(() => import("./DataTable-BBbOgI-a.js")), ft = Q(() => import("./PackageVersion-D0VPY8-5.js")), pt = Q(() => import("./PenAndPaper-DhBJsnob.js")), gt = Q(() => import("./vue-ui-skeleton-CjN2ZdgT.js")), mt = Q(() => import("./Tooltip-hVZUY_s5.js")), bt = Q(() => import("./UserOptions-Bdit7AWO.js")), { vue_ui_donut: wt } = Vt(), kt = Xt(), z = $e, se = y({
37
- get() {
38
- return !!z.dataset && z.dataset.length;
39
- },
40
- set(l) {
41
- return l;
42
- }
43
- }), ne = E(null), Ce = E(null), Te = E(null), U = E(null), te = E(null), Pe = E(null), Ae = E(null), Fe = x(0), Se = x(0), Le = x(0);
44
- tt(() => {
45
- ze();
46
- }), It(() => {
47
- U.value && (te.value && U.value.unobserve(te.value), U.value.disconnect());
48
- });
49
- function ze() {
50
- if (Bt(z.dataset) ? st({
51
- componentName: "VueUiDonut",
52
- type: "dataset"
53
- }) : z.dataset.forEach((l, u) => {
54
- Gt({
55
- datasetObject: l,
56
- requiredAttributes: ["name", "values"]
57
- }).forEach((t) => {
58
- se.value = !1, st({
59
- componentName: "VueUiDonut",
60
- type: "datasetSerieAttribute",
61
- property: t,
62
- index: u
63
- });
64
- });
65
- }), e.value.responsive) {
66
- const l = tl(() => {
67
- const { width: u, height: t } = ll({
68
- chart: ne.value,
69
- title: e.value.style.chart.title.text ? Ce.value : null,
70
- legend: e.value.style.chart.legend.show ? Te.value : null,
71
- source: Pe.value,
72
- noTitle: Ae.value,
73
- padding: Xe.value
74
- });
75
- requestAnimationFrame(() => {
76
- s.value.width = u, s.value.height = t;
77
- });
78
- });
79
- U.value && (te.value && U.value.unobserve(te.value), U.value.disconnect()), U.value = new ResizeObserver(l), te.value = ne.value.parentNode, U.value.observe(te.value);
80
- }
81
- }
82
- const g = x(Wt()), _t = x(null), ce = x(!1), pe = x(""), O = x(null), Oe = x(0);
83
- function Ne() {
84
- const l = vt({
85
- userConfig: z.config,
86
- defaultConfig: wt
87
- });
88
- return l.theme ? {
89
- ...vt({
90
- userConfig: Kt.vue_ui_donut[l.theme] || z.config,
91
- defaultConfig: l
92
- }),
93
- customPalette: Jt[l.theme] || ee
94
- } : l;
95
- }
96
- const e = y({
97
- get: () => Ne(),
98
- set: (l) => l
99
- }), T = x(!0), B = E([]);
100
- function xt(l, u = 1e3, t = 50) {
101
- return new Promise((a) => {
102
- const v = l.length;
103
- B.value = Array(v).fill(0);
104
- let d = 0;
105
- l.forEach((_, $) => {
106
- setTimeout(() => {
107
- const R = performance.now();
108
- function I(ie) {
109
- const ye = Math.min((ie - R) / u, 1), Yt = it(ye);
110
- B.value[$] = _ * Yt, B.value = [...B.value], ye < 1 ? requestAnimationFrame(I) : (B.value[$] = _, B.value = [...B.value], d += 1, d === v && a());
111
- }
112
- requestAnimationFrame(I);
113
- }, $ * t);
114
- });
115
- });
116
- }
117
- tt(async () => {
118
- const l = z.dataset.map((u) => u.values.reduce((t, a) => t + a, 0));
119
- e.value.startAnimation.show && await xt(
120
- l,
121
- e.value.startAnimation.durationMs,
122
- e.value.startAnimation.staggerMs
123
- ), T.value = !1;
124
- });
125
- const { userOptionsVisible: ge, setUserOptionsVisibility: Me, keepUserOptionState: Ye } = ol({ config: e.value }), { svgRef: me } = ul({ config: e.value.style.chart.title });
126
- function $t() {
127
- Me(!0);
128
- }
129
- function Ct() {
130
- Me(!1);
131
- }
132
- lt(() => z.config, (l) => {
133
- e.value = Ne(), ge.value = !e.value.userOptions.showOnChartHover, ze(), Fe.value += 1, Se.value += 1, Le.value += 1, h.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, h.value.showTable = e.value.table.show, h.value.showTooltip = e.value.style.chart.tooltip.show, s.value.height = e.value.style.chart.height, s.value.width = e.value.style.chart.width;
134
- }, { deep: !0 });
135
- const Xe = y(() => {
136
- const { top: l, right: u, bottom: t, left: a } = e.value.style.chart.padding;
137
- return {
138
- css: `padding:${l}px ${u}px ${t}px ${a}px`,
139
- top: l,
140
- right: u,
141
- bottom: t,
142
- left: a
143
- };
144
- }), { isPrinting: Ie, isImaging: De, generatePdf: Ve, generateImage: Be } = al({
145
- elementId: `donut__${g.value}`,
146
- fileName: e.value.style.chart.title.text || "vue-ui-donut",
147
- options: e.value.userOptions.print
148
- }), Tt = y(() => e.value.userOptions.show && !e.value.style.chart.title.text), Ge = y(() => Rt(e.value.customPalette)), h = x({
149
- dataLabels: {
150
- show: e.value.style.chart.layout.labels.dataLabels.show
151
- },
152
- showTable: e.value.table.show,
153
- showTooltip: e.value.style.chart.tooltip.show
154
- }), s = x({
155
- height: e.value.style.chart.height,
156
- width: e.value.style.chart.width
157
- }), q = y(() => {
158
- const l = e.value.style.chart.layout.donut.strokeWidth / 512, u = Math.min(s.value.width, s.value.height) * l, t = u > k.value ? k.value : u;
159
- return Math.max(t, 3);
160
- }), We = dt, G = y(() => z.dataset.map((l, u) => ({
161
- name: l.name,
162
- color: nt(l.color) || Ge.value[u] || ee[u] || ee[u % ee.length],
163
- value: Et(l.values.reduce((t, a) => t + a, 0)),
164
- absoluteValues: l.values,
165
- comment: l.comment || "",
166
- patternIndex: u,
167
- seriesIndex: u,
168
- ghost: !1,
169
- pattern: `pattern_${g.value}_${u}`
170
- }))), N = E(G.value);
171
- lt(() => G.value, (l) => N.value = l);
172
- function Pt() {
173
- return G.value.map((l) => ({
174
- name: l.name,
175
- color: l.color,
176
- value: l.value
177
- }));
178
- }
179
- const V = x([]), J = x(!1);
180
- function Re({ from: l, to: u, duration: t, onUpdate: a, onDone: v, easing: d = it }) {
181
- const _ = performance.now();
182
- function $(R) {
183
- const I = Math.min((R - _) / t, 1), ie = d(I), ye = l + (u - l) * ie;
184
- a(ye, I), I < 1 ? requestAnimationFrame($) : (a(u, 1), v && v());
185
- }
186
- requestAnimationFrame($);
187
- }
188
- function Ee(l) {
189
- const u = G.value.find((v, d) => d === l);
190
- let a = N.value.find((v, d) => d === l).value;
191
- if (V.value.includes(l)) {
192
- let d = function() {
193
- N.value = N.value.map(
194
- ($, R) => l === R ? { ...$, value: v } : $
195
- );
196
- }, _ = function() {
197
- J.value = !0, Re({
198
- from: a,
199
- to: v,
200
- duration: e.value.serieToggleAnimation.durationMs,
201
- onUpdate: ($, R) => {
202
- N.value = N.value.map(
203
- (I, ie) => l === ie ? { ...I, value: $ } : I
204
- );
205
- },
206
- onDone: () => {
207
- d(), J.value = !1;
208
- }
209
- });
210
- };
211
- V.value = V.value.filter(($) => $ !== l);
212
- const v = u.value;
213
- e.value.serieToggleAnimation.show && e.value.type === "classic" ? _() : d();
214
- } else if (V.value.length < G.value.length - 1) {
215
- let v = function() {
216
- V.value.push(l), N.value = N.value.map(
217
- (_, $) => l === $ ? { ..._, value: 0 } : _
218
- );
219
- }, d = function() {
220
- J.value = !0, Re({
221
- from: a,
222
- to: 0,
223
- duration: e.value.serieToggleAnimation.durationMs,
224
- onUpdate: (_, $) => {
225
- N.value = N.value.map(
226
- (R, I) => l === I ? { ...R, value: _ } : R
227
- );
228
- },
229
- onDone: () => {
230
- v(), J.value = !1;
231
- }
232
- });
233
- };
234
- e.value.serieToggleAnimation.show && e.value.type === "classic" ? d() : v();
235
- }
236
- We("selectLegend", W.value.map((v) => ({
237
- name: v.name,
238
- color: v.color,
239
- value: v.value
240
- })));
241
- }
242
- const At = y(() => z.dataset.reduce((l, u) => l + u.values.reduce((t, a) => t + a, 0), 0)), W = y(() => {
243
- if (T.value) {
244
- const l = B.value.map((t, a) => ({
245
- ...G.value[a],
246
- value: t,
247
- color: G.value[a].color,
248
- ghost: !1
249
- })), u = At.value - B.value.reduce((t, a) => t + a, 0);
250
- return u > 0 && l.push({
251
- name: "__ghost__",
252
- value: u,
253
- color: "transparent",
254
- ghost: !0
255
- }), l;
256
- } else
257
- return N.value.forEach((l, u) => {
258
- if ([null, void 0].includes(l.values))
259
- return {
260
- ...l,
261
- values: []
262
- };
263
- }), N.value.map((l, u) => ({
264
- ...l,
265
- seriesIndex: u
266
- })).filter((l, u) => !V.value.includes(u));
267
- }), Ue = y(() => z.dataset.map((l, u) => ({
268
- name: l.name,
269
- color: nt(l.color) || Ge.value[u] || ee[u] || ee[u % ee.length],
270
- value: (l.values || []).reduce((t, a) => t + a, 0),
271
- shape: "circle",
272
- patternIndex: u
273
- })).map((l, u) => ({
274
- ...l,
275
- proportion: l.value / z.dataset.map((t) => (t.values || []).reduce((a, v) => a + v, 0)).reduce((t, a) => t + a, 0),
276
- opacity: V.value.includes(u) ? 0.5 : 1,
277
- segregate: () => !J.value && Ee(u),
278
- isSegregated: V.value.includes(u)
279
- }))), Ft = y(() => ({
280
- cy: "donut-div-legend",
281
- backgroundColor: e.value.style.chart.legend.backgroundColor,
282
- color: e.value.style.chart.legend.color,
283
- fontSize: e.value.style.chart.legend.fontSize,
284
- paddingBottom: 12,
285
- fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
286
- })), k = y(() => {
287
- const l = Math.min(s.value.width / 3, s.value.height / 3);
288
- return l < 55 ? 55 : l;
289
- }), F = y(() => rt({ series: W.value }, s.value.width / 2, s.value.height / 2, k.value, k.value, 1.99999, 2, 1, 360, 105.25, q.value)), St = y(() => Math.abs(W.value.map((l) => l.value).reduce((l, u) => l + u, 0)) > 0), Lt = y(() => rt({
290
- series: [
291
- {
292
- value: 1,
293
- color: e.value.style.chart.layout.donut.emptyFill,
294
- name: "_",
295
- seriesIndex: 0,
296
- patternIndex: -1,
297
- ghost: !1,
298
- absoluteValues: [1]
299
- }
300
- ]
301
- }, s.value.width / 2, s.value.height / 2, k.value, k.value, 1.99999, 2, 1, 360, 105.25, q.value)), Y = y(() => F.value.filter((l) => !l.ghost)), c = y(() => {
302
- const l = Math.max(...W.value.map((t) => t.value)), u = W.value.map((t) => t.value / l);
303
- return Ut({
304
- series: u,
305
- center: {
306
- x: s.value.width / 2,
307
- y: s.value.height / 2
308
- },
309
- maxRadius: Math.min(s.value.width, s.value.height) / 3,
310
- hasGhost: T.value
311
- });
312
- });
313
- function le(l) {
314
- return l.x > s.value.width / 2 + 6 ? "start" : l.x < s.value.width / 2 - 6 ? "end" : "middle";
315
- }
316
- function zt(l) {
317
- return l.middlePoint.y > s.value.height / 2 ? L({ initX: l.middlePoint.x, initY: l.middlePoint.y, offset: 100, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y : L({ initX: l.middlePoint.x, initY: l.middlePoint.y, offset: 0, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y - 100;
318
- }
319
- function X(l) {
320
- return l.proportion * 100 > e.value.style.chart.layout.labels.dataLabels.hideUnderValue;
321
- }
322
- function be(l, u) {
323
- const t = l.value / Ot(u);
324
- return isNaN(t) ? 0 : D(
325
- e.value.style.chart.layout.labels.percentage.formatter,
326
- t * 100,
327
- M({
328
- v: t * 100,
329
- s: "%",
330
- r: e.value.style.chart.layout.labels.percentage.rounding
331
- }),
332
- { datapoint: l }
333
- );
334
- }
335
- function Ot(l) {
336
- return [...l].map((u) => u.value).reduce((u, t) => u + t, 0);
337
- }
338
- const S = y(() => W.value.map((l) => l.value).reduce((l, u) => l + u, 0)), je = y(() => S.value / W.value.length), He = y(() => (l) => J.value ? l.proportion * 100 : l.value / S.value * 100), we = x(null), re = x(!1);
339
- function qe({ datapoint: l, relativeIndex: u, seriesIndex: t, show: a = !1 }) {
340
- we.value = { datapoint: l, seriesIndex: t, config: e.value, series: G.value }, ce.value = a, O.value = u;
341
- let v = "";
342
- const d = e.value.style.chart.tooltip.customFormat;
343
- if (re.value = !1, el(d))
344
- try {
345
- const _ = d({
346
- seriesIndex: t,
347
- datapoint: l,
348
- series: G.value,
349
- config: e.value
350
- });
351
- typeof _ == "string" && (pe.value = _, re.value = !0);
352
- } catch {
353
- console.warn("Custom format cannot be applied."), re.value = !1;
354
- }
355
- if (!re.value) {
356
- if (v += `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${l.name}</div>`, v += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${l.color}"/>${kt.pattern ? `<circle cx="30" cy="30" r="30" stroke="none" fill="url(#pattern_${g.value}_${t})"/>` : ""}</svg>`, e.value.style.chart.tooltip.showValue && (v += `<b>${D(
357
- e.value.style.chart.layout.labels.value.formatter,
358
- l.value,
359
- M({
360
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
361
- v: l.value,
362
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
363
- r: e.value.style.chart.tooltip.roundingValue
364
- }),
365
- {
366
- datapoint: l,
367
- relativeIndex: u,
368
- seriesIndex: t
369
- }
370
- )}</b>`), e.value.style.chart.tooltip.showPercentage) {
371
- const _ = D(
372
- e.value.style.chart.layout.labels.percentage.formatter,
373
- l.proportion * 100,
374
- M({
375
- v: l.proportion * 100,
376
- s: "%",
377
- r: e.value.style.chart.tooltip.roundingPercentage
378
- }),
379
- {
380
- datapoint: l,
381
- relativeIndex: u,
382
- seriesIndex: t
383
- }
384
- );
385
- e.value.style.chart.tooltip.showValue ? v += `<span>(${_})</span></div>` : v += `<b>${_}</b></div>`;
386
- }
387
- e.value.style.chart.comments.showInTooltip && l.comment && (v += `<div class="vue-data-ui-tooltip-comment" style="background:${l.color}20; padding: 6px; margin-bottom: 6px; margin-top:6px; border-left: 1px solid ${l.color}">${l.comment}</div>`), pe.value = `<div>${v}</div>`;
388
- }
389
- }
390
- function K(l) {
391
- return e.value.useBlurOnHover && ![null, void 0].includes(O.value) && O.value !== l ? `url(#blur_${g.value})` : "";
392
- }
393
- const j = y(() => {
394
- const l = W.value.map((t) => ({
395
- name: t.name,
396
- color: t.color
397
- })), u = W.value.map((t) => t.value);
398
- return { head: l, body: u };
399
- });
400
- function Je(l = null) {
401
- Dt(() => {
402
- const u = j.value.head.map((v, d) => [[
403
- v.name
404
- ], [j.value.body[d]], [isNaN(j.value.body[d] / S.value) ? "-" : j.value.body[d] / S.value * 100]]), t = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(u), a = Qt(t);
405
- l ? l(a) : Zt({ csvContent: a, title: e.value.style.chart.title.text || "vue-ui-donut" });
406
- });
407
- }
408
- const de = y(() => {
409
- const l = [
410
- ' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',
411
- M({ p: e.value.style.chart.layout.labels.dataLabels.prefix, v: S.value, s: e.value.style.chart.layout.labels.dataLabels.suffix, r: e.value.table.td.roundingValue }),
412
- "100%"
413
- ], u = j.value.head.map((v, d) => [
414
- {
415
- color: v.color,
416
- name: v.name
417
- },
418
- j.value.body[d],
419
- isNaN(j.value.body[d] / S.value) ? "-" : (j.value.body[d] / S.value * 100).toFixed(e.value.table.td.roundingPercentage) + "%"
420
- ]), t = {
421
- th: {
422
- backgroundColor: e.value.table.th.backgroundColor,
423
- color: e.value.table.th.color,
424
- outline: e.value.table.th.outline
425
- },
426
- td: {
427
- backgroundColor: e.value.table.td.backgroundColor,
428
- color: e.value.table.td.color,
429
- outline: e.value.table.td.outline
430
- },
431
- breakpoint: e.value.table.responsiveBreakpoint
432
- };
433
- return {
434
- colNames: [
435
- e.value.table.columnNames.series,
436
- e.value.table.columnNames.value,
437
- e.value.table.columnNames.percentage
438
- ],
439
- head: l,
440
- body: u,
441
- config: t
442
- };
443
- }), ae = x(!1);
444
- function Nt(l) {
445
- ae.value = l, Oe.value += 1;
446
- }
447
- const Ke = y(() => /^((?!chrome|android).)*safari/i.test(navigator.userAgent));
448
- function Mt(l) {
449
- return l.toFixed(e.value.style.chart.legend.roundingPercentage).split("").map((u) => "-").join("");
450
- }
451
- function H(l, u) {
452
- We("selectDatapoint", { datapoint: l, index: u });
453
- }
454
- function Qe() {
455
- h.value.showTable = !h.value.showTable;
456
- }
457
- function Ze() {
458
- h.value.dataLabels.show = !h.value.dataLabels.show;
459
- }
460
- function et() {
461
- h.value.showTooltip = !h.value.showTooltip;
462
- }
463
- const he = x(!1);
464
- function ke() {
465
- he.value = !he.value;
466
- }
467
- return ct({
468
- getData: Pt,
469
- generatePdf: Ve,
470
- generateCsv: Je,
471
- generateImage: Be,
472
- toggleTable: Qe,
473
- toggleLabels: Ze,
474
- toggleTooltip: et,
475
- toggleAnnotator: ke
476
- }), (l, u) => (o(), n("div", {
477
- ref_key: "donutChart",
478
- ref: ne,
479
- class: _e(`vue-ui-donut ${ae.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
480
- style: b(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height:100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
481
- id: `donut__${g.value}`,
482
- onMouseenter: $t,
483
- onMouseleave: Ct
484
- }, [
485
- e.value.userOptions.buttons.annotator && r(me) ? (o(), Z(r(pt), {
486
- key: 0,
487
- color: e.value.style.chart.color,
488
- backgroundColor: e.value.style.chart.backgroundColor,
489
- active: he.value,
490
- svgRef: r(me),
491
- onClose: ke
492
- }, null, 8, ["color", "backgroundColor", "active", "svgRef"])) : i("", !0),
493
- m(l.$slots, "userConfig", {}, void 0, !0),
494
- Tt.value ? (o(), n("div", {
495
- key: 1,
496
- ref_key: "noTitle",
497
- ref: Ae,
498
- class: "vue-data-ui-no-title-space",
499
- style: "height:36px; width: 100%;background:transparent"
500
- }, null, 512)) : i("", !0),
501
- e.value.style.chart.title.text ? (o(), n("div", {
502
- key: 2,
503
- ref_key: "chartTitle",
504
- ref: Ce,
505
- style: "width:100%;background:transparent;padding-bottom:24px"
506
- }, [
507
- (o(), Z(nl, {
508
- key: `title_${Fe.value}`,
509
- config: {
510
- title: {
511
- cy: "donut-div-title",
512
- ...e.value.style.chart.title
513
- },
514
- subtitle: {
515
- cy: "donut-div-subtitle",
516
- ...e.value.style.chart.title.subtitle
517
- }
518
- }
519
- }, null, 8, ["config"]))
520
- ], 512)) : i("", !0),
521
- e.value.userOptions.show && se.value && (r(Ye) || r(ge)) ? (o(), Z(r(bt), {
522
- ref_key: "details",
523
- ref: _t,
524
- key: `user_option_${Oe.value}`,
525
- backgroundColor: e.value.style.chart.backgroundColor,
526
- color: e.value.style.chart.color,
527
- isPrinting: r(Ie),
528
- isImaging: r(De),
529
- uid: g.value,
530
- hasTooltip: e.value.style.chart.tooltip.show && e.value.userOptions.buttons.tooltip,
531
- hasPdf: e.value.userOptions.buttons.pdf,
532
- hasImg: e.value.userOptions.buttons.img,
533
- hasXls: e.value.userOptions.buttons.csv,
534
- hasTable: e.value.userOptions.buttons.table,
535
- hasLabel: e.value.userOptions.buttons.labels,
536
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
537
- isFullscreen: ae.value,
538
- chartElement: ne.value,
539
- position: e.value.userOptions.position,
540
- callbacks: e.value.userOptions.callbacks,
541
- isTooltip: h.value.showTooltip,
542
- titles: { ...e.value.userOptions.buttonTitles },
543
- hasAnnotator: e.value.userOptions.buttons.annotator,
544
- isAnnotation: he.value,
545
- onToggleFullscreen: Nt,
546
- onGeneratePdf: r(Ve),
547
- onGenerateCsv: Je,
548
- onGenerateImage: r(Be),
549
- onToggleTable: Qe,
550
- onToggleLabels: Ze,
551
- onToggleTooltip: et,
552
- onToggleAnnotator: ke,
553
- style: b({
554
- visibility: r(Ye) ? r(ge) ? "visible" : "hidden" : "visible"
555
- })
556
- }, at({ _: 2 }, [
557
- l.$slots.menuIcon ? {
558
- name: "menuIcon",
559
- fn: C(({ isOpen: t, color: a }) => [
560
- m(l.$slots, "menuIcon", oe(ue({ isOpen: t, color: a })), void 0, !0)
561
- ]),
562
- key: "0"
563
- } : void 0,
564
- l.$slots.optionTooltip ? {
565
- name: "optionTooltip",
566
- fn: C(() => [
567
- m(l.$slots, "optionTooltip", {}, void 0, !0)
568
- ]),
569
- key: "1"
570
- } : void 0,
571
- l.$slots.optionPdf ? {
572
- name: "optionPdf",
573
- fn: C(() => [
574
- m(l.$slots, "optionPdf", {}, void 0, !0)
575
- ]),
576
- key: "2"
577
- } : void 0,
578
- l.$slots.optionCsv ? {
579
- name: "optionCsv",
580
- fn: C(() => [
581
- m(l.$slots, "optionCsv", {}, void 0, !0)
582
- ]),
583
- key: "3"
584
- } : void 0,
585
- l.$slots.optionImg ? {
586
- name: "optionImg",
587
- fn: C(() => [
588
- m(l.$slots, "optionImg", {}, void 0, !0)
589
- ]),
590
- key: "4"
591
- } : void 0,
592
- l.$slots.optionTable ? {
593
- name: "optionTable",
594
- fn: C(() => [
595
- m(l.$slots, "optionTable", {}, void 0, !0)
596
- ]),
597
- key: "5"
598
- } : void 0,
599
- l.$slots.optionLabels ? {
600
- name: "optionLabels",
601
- fn: C(() => [
602
- m(l.$slots, "optionLabels", {}, void 0, !0)
603
- ]),
604
- key: "6"
605
- } : void 0,
606
- l.$slots.optionFullscreen ? {
607
- name: "optionFullscreen",
608
- fn: C(({ toggleFullscreen: t, isFullscreen: a }) => [
609
- m(l.$slots, "optionFullscreen", oe(ue({ toggleFullscreen: t, isFullscreen: a })), void 0, !0)
610
- ]),
611
- key: "7"
612
- } : void 0,
613
- l.$slots.optionAnnotator ? {
614
- name: "optionAnnotator",
615
- fn: C(({ toggleAnnotator: t, isAnnotator: a }) => [
616
- m(l.$slots, "optionAnnotator", oe(ue({ toggleAnnotator: t, isAnnotator: a })), void 0, !0)
617
- ]),
618
- key: "8"
619
- } : void 0
620
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasLabel", "hasFullscreen", "isFullscreen", "chartElement", "position", "callbacks", "isTooltip", "titles", "hasAnnotator", "isAnnotation", "onGeneratePdf", "onGenerateImage", "style"])) : i("", !0),
621
- se.value ? (o(), n("svg", {
622
- key: 4,
623
- ref_key: "svgRef",
624
- ref: me,
625
- xmlns: r(jt),
626
- class: _e({ "vue-data-ui-fullscreen--on": ae.value, "vue-data-ui-fulscreen--off": !ae.value }),
627
- viewBox: `0 0 ${s.value.width <= 0 ? 10 : s.value.width} ${s.value.height <= 0 ? 10 : s.value.height}`,
628
- style: b(`max-width:100%; overflow: visible; background:transparent;color:${e.value.style.chart.color};${Xe.value.css}`)
629
- }, [
630
- xe(r(ft)),
631
- l.$slots["chart-background"] ? (o(), n("foreignObject", {
632
- key: 0,
633
- x: 0,
634
- y: 0,
635
- width: s.value.width <= 0 ? 10 : s.value.width,
636
- height: s.value.height <= 0 ? 10 : s.value.height,
637
- style: {
638
- pointerEvents: "none"
639
- }
640
- }, [
641
- m(l.$slots, "chart-background", {}, void 0, !0)
642
- ], 8, dl)) : i("", !0),
643
- e.value.type === "classic" && !isNaN(q.value / k.value) ? (o(), n("defs", hl, [
644
- e.value.style.chart.useGradient ? (o(), n("radialGradient", {
645
- key: 0,
646
- id: `gradient_${g.value}`
647
- }, [
648
- f("stop", {
649
- offset: "0%",
650
- "stop-color": r(fe)(e.value.style.chart.backgroundColor, 0),
651
- "stop-opacity": "0"
652
- }, null, 8, fl),
653
- f("stop", {
654
- offset: `${(1 - q.value / k.value) * 100}%`,
655
- "stop-color": r(fe)("#FFFFFF", 0),
656
- "stop-opacity": "0"
657
- }, null, 8, pl),
658
- f("stop", {
659
- offset: `${(1 - q.value / k.value / 2) * 100}%`,
660
- "stop-color": r(fe)("#FFFFFF", e.value.style.chart.gradientIntensity)
661
- }, null, 8, gl),
662
- f("stop", {
663
- offset: "100%",
664
- "stop-color": r(fe)(e.value.style.chart.backgroundColor, 0),
665
- "stop-opacity": "0"
666
- }, null, 8, ml)
667
- ], 8, yl)) : i("", !0)
668
- ])) : i("", !0),
669
- e.value.type === "polar" ? (o(), n("defs", bl, [
670
- (o(!0), n(p, null, A(c.value, (t, a) => (o(), n("radialGradient", {
671
- id: `polar_gradient_${a}_${g.value}`,
672
- cx: (isNaN(t.middlePoint.x / s.value.width * 100) ? 0 : t.middlePoint.x / s.value.width * 100) + "%",
673
- cy: (isNaN(t.middlePoint.y / s.value.height * 100) ? 0 : t.middlePoint.y / s.value.height * 100) + "%",
674
- r: "62%"
675
- }, [
676
- f("stop", {
677
- offset: "0%",
678
- "stop-color": r(Ht)(F.value[a].color, 0.05),
679
- "stop-opacity": e.value.style.chart.gradientIntensity / 100
680
- }, null, 8, kl),
681
- f("stop", {
682
- offset: "100%",
683
- "stop-color": F.value[a].color
684
- }, null, 8, _l)
685
- ], 8, wl))), 256))
686
- ])) : i("", !0),
687
- f("defs", null, [
688
- f("filter", {
689
- id: `blur_${g.value}`,
690
- x: "-50%",
691
- y: "-50%",
692
- width: "200%",
693
- height: "200%"
694
- }, [
695
- f("feGaussianBlur", {
696
- in: "SourceGraphic",
697
- stdDeviation: 2,
698
- id: `blur_std_${g.value}`
699
- }, null, 8, $l),
700
- u[6] || (u[6] = f("feColorMatrix", {
701
- type: "saturate",
702
- values: "0"
703
- }, null, -1))
704
- ], 8, xl),
705
- f("filter", {
706
- id: `shadow_${g.value}`,
707
- "color-interpolation-filters": "sRGB"
708
- }, [
709
- f("feDropShadow", {
710
- dx: "0",
711
- dy: "0",
712
- stdDeviation: "10",
713
- "flood-opacity": "0.5",
714
- "flood-color": e.value.style.chart.layout.donut.shadowColor
715
- }, null, 8, Tl)
716
- ], 8, Cl),
717
- f("filter", {
718
- id: `drop_shadow_${g.value}`,
719
- "color-interpolation-filters": "sRGB",
720
- x: "-50%",
721
- y: "-50%",
722
- width: "200%",
723
- height: "200%"
724
- }, [
725
- f("feDropShadow", {
726
- dx: "0",
727
- dy: "0",
728
- stdDeviation: "3",
729
- "flood-opacity": "1",
730
- "flood-color": e.value.style.chart.layout.donut.shadowColor
731
- }, null, 8, Al)
732
- ], 8, Pl)
733
- ]),
734
- e.value.type === "classic" ? (o(!0), n(p, { key: 3 }, A(F.value.filter((t) => !t.ghost), (t, a) => (o(), n("g", null, [
735
- X(t) && h.value.dataLabels.show ? (o(), n("path", {
736
- key: 0,
737
- d: r(qt)(t, { x: s.value.width / 2, y: s.value.height / 2 }, 16, 16, !1, !1, q.value, 12, e.value.style.chart.layout.curvedMarkers),
738
- stroke: t.color,
739
- "stroke-width": "1",
740
- "stroke-linecap": "round",
741
- "stroke-linejoin": "round",
742
- fill: "none",
743
- filter: K(a)
744
- }, null, 8, Fl)) : i("", !0)
745
- ]))), 256)) : i("", !0),
746
- e.value.type === "polar" ? (o(!0), n(p, { key: 4 }, A(F.value.filter((t) => !t.ghost), (t, a) => (o(), n("g", null, [
747
- X(t) && h.value.dataLabels.show ? (o(), n("path", {
748
- key: 0,
749
- d: `M ${r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 24, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x},${r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 24, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y} ${c.value[a].middlePoint.x},${c.value[a].middlePoint.y}`,
750
- stroke: t.color,
751
- "stroke-width": "1",
752
- "stroke-linecap": "round",
753
- "stroke-linejoin": "round",
754
- fill: "none",
755
- filter: K(a),
756
- style: b({
757
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
758
- })
759
- }, null, 12, Sl)) : i("", !0)
760
- ]))), 256)) : i("", !0),
761
- e.value.type === "classic" && e.value.style.chart.layout.donut.useShadow ? (o(), n("circle", {
762
- key: 5,
763
- cx: s.value.width / 2,
764
- cy: s.value.height / 2,
765
- r: k.value <= 0 ? 10 : k.value,
766
- fill: e.value.style.chart.backgroundColor,
767
- filter: `url(#shadow_${g.value})`
768
- }, null, 8, Ll)) : i("", !0),
769
- l.$slots.pattern ? (o(), n("g", zl, [
770
- (o(!0), n(p, null, A($e.dataset, (t, a) => (o(), n("defs", {
771
- key: `pattern-${t.patternIndex}`
772
- }, [
773
- m(l.$slots, "pattern", ot({ ref_for: !0 }, { seriesIndex: a, patternId: `pattern_${g.value}_${a}` }), void 0, !0)
774
- ]))), 128))
775
- ])) : i("", !0),
776
- S.value && e.value.type === "classic" ? (o(), n(p, { key: 7 }, [
777
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
778
- stroke: e.value.style.chart.backgroundColor,
779
- d: t.arcSlice,
780
- fill: "#FFFFFF"
781
- }, null, 8, Ol))), 256)),
782
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
783
- class: "vue-ui-donut-arc-path",
784
- d: t.arcSlice,
785
- fill: t.color,
786
- stroke: e.value.style.chart.backgroundColor,
787
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
788
- filter: K(a)
789
- }, null, 8, Nl))), 256)),
790
- l.$slots.pattern ? (o(), n("g", Ml, [
791
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
792
- class: "vue-ui-donut-arc-path",
793
- d: t.arcSlice,
794
- fill: `url(#${t.pattern})`,
795
- stroke: e.value.style.chart.backgroundColor,
796
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
797
- filter: K(a)
798
- }, null, 8, Yl))), 256))
799
- ])) : i("", !0)
800
- ], 64)) : i("", !0),
801
- S.value && e.value.type === "polar" ? (o(), n(p, { key: 8 }, [
802
- F.value.length > 1 ? (o(), n("g", Xl, [
803
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
804
- stroke: e.value.style.chart.backgroundColor,
805
- d: c.value[a].path,
806
- fill: "#FFFFFF",
807
- style: b({
808
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
809
- })
810
- }, null, 12, Il))), 256)),
811
- e.value.style.chart.layout.donut.useShadow ? (o(), n("g", Dl, [
812
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
813
- class: "vue-ui-donut-arc-path",
814
- d: c.value[a].path,
815
- fill: "transparent",
816
- stroke: e.value.style.chart.backgroundColor,
817
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
818
- filter: `url(#drop_shadow_${g.value})`,
819
- style: b({
820
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
821
- })
822
- }, null, 12, Vl))), 256))
823
- ])) : i("", !0),
824
- l.$slots.pattern ? (o(), n("g", Bl, [
825
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
826
- class: "vue-ui-donut-arc-path",
827
- d: c.value[a].path,
828
- fill: `url(#${t.pattern})`,
829
- stroke: e.value.style.chart.backgroundColor,
830
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
831
- filter: K(a),
832
- style: b({
833
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
834
- })
835
- }, null, 12, Gl))), 256))
836
- ])) : i("", !0),
837
- (o(!0), n(p, null, A(Y.value, (t, a) => (o(), n("path", {
838
- class: "vue-ui-donut-arc-path",
839
- d: c.value[a].path,
840
- fill: e.value.style.chart.useGradient ? `url(#polar_gradient_${a}_${g.value})` : t.color,
841
- stroke: e.value.style.chart.backgroundColor,
842
- "stroke-width": e.value.style.chart.layout.donut.borderWidth,
843
- filter: K(a),
844
- style: b({
845
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
846
- })
847
- }, null, 12, Wl))), 256))
848
- ])) : (o(), n("g", Rl, [
849
- l.$slots.pattern ? (o(), n("circle", {
850
- key: 0,
851
- cx: s.value.width / 2,
852
- cy: s.value.height / 2,
853
- r: k.value,
854
- fill: `url(#pattern_${g.value}_${F.value[0].patternIndex})`,
855
- stroke: e.value.style.chart.backgroundColor,
856
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
857
- }, null, 8, El)) : i("", !0),
858
- f("circle", {
859
- cx: s.value.width / 2,
860
- cy: s.value.height / 2,
861
- r: k.value,
862
- fill: e.value.style.chart.useGradient ? `url(#polar_gradient_0_${g.value})` : F.value[0].color,
863
- stroke: e.value.style.chart.backgroundColor,
864
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
865
- }, null, 8, Ul)
866
- ]))
867
- ], 64)) : (o(), n(p, { key: 9 }, [
868
- e.value.type === "classic" && !St.value ? (o(), n("g", jl, [
869
- (o(!0), n(p, null, A(Lt.value, (t, a) => (o(), n("path", {
870
- class: "vue-ui-donut-arc-path",
871
- d: t.arcSlice,
872
- fill: t.color,
873
- stroke: e.value.style.chart.backgroundColor,
874
- "stroke-width": e.value.style.chart.layout.donut.borderWidth
875
- }, null, 8, Hl))), 256))
876
- ])) : i("", !0),
877
- f("circle", {
878
- cx: s.value.width / 2,
879
- cy: s.value.height / 2,
880
- r: k.value <= 0 ? 10 : k.value,
881
- fill: "transparent",
882
- stroke: e.value.style.chart.backgroundColor
883
- }, null, 8, ql)
884
- ], 64)),
885
- e.value.style.chart.useGradient && e.value.type === "classic" ? (o(), n("circle", {
886
- key: 10,
887
- cx: s.value.width / 2,
888
- cy: s.value.height / 2,
889
- r: (
890
- /* This might require adjustments */
891
- k.value <= 0 ? 10 : k.value
892
- ),
893
- fill: `url(#gradient_${g.value})`
894
- }, null, 8, Jl)) : i("", !0),
895
- S.value ? (o(), n(p, { key: 11 }, [
896
- F.value.length > 1 || e.value.type === "classic" ? (o(), n("g", Kl, [
897
- (o(!0), n(p, null, A(F.value.filter((t) => !t.ghost), (t, a) => (o(), n("path", {
898
- d: e.value.type === "classic" ? t.arcSlice : c.value[a].path,
899
- fill: O.value === a ? "rgba(0,0,0,0.1)" : "transparent",
900
- onMouseenter: (v) => qe({
901
- datapoint: t,
902
- relativeIndex: a,
903
- seriesIndex: t.seriesIndex,
904
- show: !0
905
- }),
906
- onMouseleave: u[0] || (u[0] = (v) => {
907
- ce.value = !1, O.value = null;
908
- }),
909
- onClick: (v) => H(t, a)
910
- }, null, 40, Ql))), 256))
911
- ])) : (o(), n("g", Zl, [
912
- f("circle", {
913
- cx: s.value.width / 2,
914
- cy: s.value.height / 2,
915
- r: k.value,
916
- fill: "transparent",
917
- onMouseenter: u[1] || (u[1] = (t) => qe({
918
- datapoint: F.value[0],
919
- relativeIndex: 0,
920
- seriesIndex: F.value[0].seriesIndex,
921
- show: !0
922
- })),
923
- onMouseleave: u[2] || (u[2] = (t) => {
924
- ce.value = !1, O.value = null;
925
- }),
926
- onClick: u[3] || (u[3] = (t) => H(F.value[0], l.i))
927
- }, null, 40, ea)
928
- ]))
929
- ], 64)) : i("", !0),
930
- e.value.type === "classic" ? (o(), n(p, { key: 12 }, [
931
- e.value.style.chart.layout.labels.hollow.total.show ? (o(), n("text", {
932
- key: 0,
933
- "text-anchor": "middle",
934
- x: s.value.width / 2,
935
- y: s.value.height / 2 - (e.value.style.chart.layout.labels.hollow.average.show ? e.value.style.chart.layout.labels.hollow.total.fontSize : 0) + e.value.style.chart.layout.labels.hollow.total.offsetY,
936
- fill: e.value.style.chart.layout.labels.hollow.total.color,
937
- "font-size": e.value.style.chart.layout.labels.hollow.total.fontSize,
938
- style: b(`font-weight:${e.value.style.chart.layout.labels.hollow.total.bold ? "bold" : ""}`)
939
- }, P(e.value.style.chart.layout.labels.hollow.total.text), 13, ta)) : i("", !0),
940
- e.value.style.chart.layout.labels.hollow.total.show ? (o(), n("text", {
941
- key: 1,
942
- "text-anchor": "middle",
943
- x: s.value.width / 2,
944
- y: s.value.height / 2 + e.value.style.chart.layout.labels.hollow.total.fontSize - (e.value.style.chart.layout.labels.hollow.average.show ? e.value.style.chart.layout.labels.hollow.total.fontSize : 0) + e.value.style.chart.layout.labels.hollow.total.value.offsetY,
945
- fill: e.value.style.chart.layout.labels.hollow.total.value.color,
946
- "font-size": e.value.style.chart.layout.labels.hollow.total.value.fontSize,
947
- style: b(`font-weight:${e.value.style.chart.layout.labels.hollow.total.value.bold ? "bold" : ""}`)
948
- }, P(r(D)(
949
- e.value.style.chart.layout.labels.hollow.total.value.formatter,
950
- S.value,
951
- r(M)({
952
- p: e.value.style.chart.layout.labels.hollow.total.value.prefix,
953
- v: S.value,
954
- s: e.value.style.chart.layout.labels.hollow.total.value.suffix
955
- })
956
- )), 13, la)) : i("", !0),
957
- e.value.style.chart.layout.labels.hollow.average.show ? (o(), n("text", {
958
- key: 2,
959
- "text-anchor": "middle",
960
- x: s.value.width / 2,
961
- y: s.value.height / 2 + (e.value.style.chart.layout.labels.hollow.total.show ? e.value.style.chart.layout.labels.hollow.average.fontSize : 0) + e.value.style.chart.layout.labels.hollow.average.offsetY,
962
- fill: e.value.style.chart.layout.labels.hollow.average.color,
963
- "font-size": e.value.style.chart.layout.labels.hollow.average.fontSize,
964
- style: b(`font-weight:${e.value.style.chart.layout.labels.hollow.average.bold ? "bold" : ""}`)
965
- }, P(e.value.style.chart.layout.labels.hollow.average.text), 13, aa)) : i("", !0),
966
- e.value.style.chart.layout.labels.hollow.average.show ? (o(), n("text", {
967
- key: 3,
968
- "text-anchor": "middle",
969
- x: s.value.width / 2,
970
- y: s.value.height / 2 + (e.value.style.chart.layout.labels.hollow.total.show ? e.value.style.chart.layout.labels.hollow.average.fontSize : 0) + e.value.style.chart.layout.labels.hollow.average.fontSize + e.value.style.chart.layout.labels.hollow.average.value.offsetY,
971
- fill: e.value.style.chart.layout.labels.hollow.average.value.color,
972
- "font-size": e.value.style.chart.layout.labels.hollow.average.value.fontSize,
973
- style: b(`font-weight:${e.value.style.chart.layout.labels.hollow.average.value.bold ? "bold" : ""}`)
974
- }, P(J.value || T.value ? "--" : r(D)(
975
- e.value.style.chart.layout.labels.hollow.average.value.formatter,
976
- je.value,
977
- r(M)({
978
- p: e.value.style.chart.layout.labels.hollow.average.value.prefix,
979
- v: je.value,
980
- s: e.value.style.chart.layout.labels.hollow.average.value.suffix,
981
- r: e.value.style.chart.layout.labels.hollow.average.value.rounding
982
- })
983
- )), 13, oa)) : i("", !0)
984
- ], 64)) : i("", !0),
985
- (o(!0), n(p, null, A(Y.value.filter((t) => !t.ghost), (t, a) => (o(), n("g", {
986
- filter: K(a),
987
- class: _e({ animated: e.value.useCssAnimation })
988
- }, [
989
- e.value.style.chart.layout.labels.dataLabels.useLabelSlots ? (o(), n("g", sa, [
990
- (o(), n("foreignObject", {
991
- x: r(w)(t, !0).anchor === "end" ? r(w)(t).x - 120 : r(w)(t, !0).anchor === "middle" ? r(w)(t).x - 60 : r(w)(t).x,
992
- y: r(ve)(t) - (Ke.value ? 20 : 0),
993
- width: "120",
994
- height: "60",
995
- style: { overflow: "visible" }
996
- }, [
997
- f("div", null, [
998
- m(l.$slots, "dataLabel", ot({ ref_for: !0 }, {
999
- datapoint: t,
1000
- isBlur: !e.value.useBlurOnHover || [null, void 0].includes(O.value) || O.value === a,
1001
- isSafari: Ke.value,
1002
- isVisible: X(t) && h.value.dataLabels.show,
1003
- textAlign: r(w)(t, !0, 16, !0).anchor,
1004
- flexAlign: r(w)(t, !0, 16).anchor,
1005
- percentage: be(t, Y.value)
1006
- }), void 0, !0)
1007
- ])
1008
- ], 8, na))
1009
- ])) : (o(), n("g", ra, [
1010
- e.value.type === "classic" ? (o(), n(p, { key: 0 }, [
1011
- X(t) && h.value.dataLabels.show ? (o(), n("circle", {
1012
- key: 0,
1013
- cx: r(w)(t).x,
1014
- cy: r(ve)(t) - 3.5,
1015
- fill: t.color,
1016
- stroke: e.value.style.chart.backgroundColor,
1017
- "stroke-width": 1,
1018
- r: 3,
1019
- filter: !e.value.useBlurOnHover || [null, void 0].includes(O.value) || O.value === a ? "" : `url(#blur_${g.value})`,
1020
- onClick: (v) => H(t, a)
1021
- }, null, 8, ia)) : i("", !0)
1022
- ], 64)) : i("", !0),
1023
- e.value.type === "polar" ? (o(), n(p, { key: 1 }, [
1024
- X(t) && h.value.dataLabels.show ? (o(), n("circle", {
1025
- key: 0,
1026
- cx: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 24, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x,
1027
- cy: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 24, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y,
1028
- fill: t.color,
1029
- stroke: e.value.style.chart.backgroundColor,
1030
- "stroke-width": 1,
1031
- r: 3,
1032
- filter: !e.value.useBlurOnHover || [null, void 0].includes(O.value) || O.value === a ? "" : `url(#blur_${g.value})`,
1033
- onClick: (v) => H(t, a),
1034
- style: b({
1035
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`
1036
- })
1037
- }, null, 12, va)) : i("", !0)
1038
- ], 64)) : i("", !0),
1039
- e.value.type === "classic" ? (o(), n(p, { key: 2 }, [
1040
- X(t) && h.value.dataLabels.show ? (o(), n("text", {
1041
- key: 0,
1042
- "text-anchor": r(w)(t, !0, 12).anchor,
1043
- x: r(w)(t, !0, 12).x,
1044
- y: r(ve)(t),
1045
- fill: e.value.style.chart.layout.labels.percentage.color,
1046
- "font-size": e.value.style.chart.layout.labels.percentage.fontSize,
1047
- style: b(`font-weight:${e.value.style.chart.layout.labels.percentage.bold ? "bold" : ""}`),
1048
- onClick: (v) => H(t, a)
1049
- }, P(be(t, Y.value)) + " " + P(e.value.style.chart.layout.labels.value.show ? `(${r(D)(
1050
- e.value.style.chart.layout.labels.value.formatter,
1051
- t.value,
1052
- r(M)({
1053
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1054
- v: t.value,
1055
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1056
- r: e.value.style.chart.layout.labels.value.rounding
1057
- }),
1058
- { datapoint: t }
1059
- )})` : ""), 13, ca)) : i("", !0),
1060
- X(t) && h.value.dataLabels.show ? (o(), n("text", {
1061
- key: 1,
1062
- "text-anchor": r(w)(t).anchor,
1063
- x: r(w)(t, !0, 12).x,
1064
- y: r(ve)(t) + e.value.style.chart.layout.labels.percentage.fontSize,
1065
- fill: e.value.style.chart.layout.labels.name.color,
1066
- "font-size": e.value.style.chart.layout.labels.name.fontSize,
1067
- style: b(`font-weight:${e.value.style.chart.layout.labels.name.bold ? "bold" : ""}`),
1068
- onClick: (v) => H(t, a)
1069
- }, P(t.name), 13, da)) : i("", !0)
1070
- ], 64)) : i("", !0),
1071
- e.value.type === "polar" ? (o(), n(p, { key: 3 }, [
1072
- X(t) && h.value.dataLabels.show ? (o(), n("text", {
1073
- key: 0,
1074
- "text-anchor": le(c.value[a].middlePoint),
1075
- x: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x,
1076
- y: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y,
1077
- fill: e.value.style.chart.layout.labels.percentage.color,
1078
- "font-size": e.value.style.chart.layout.labels.percentage.fontSize,
1079
- style: b({
1080
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1081
- fontWeight: e.value.style.chart.layout.labels.percentage.bold ? "bold" : "normal"
1082
- }),
1083
- onClick: (v) => H(t, a)
1084
- }, P(be(t, Y.value)) + " " + P(e.value.style.chart.layout.labels.value.show ? `(${r(D)(
1085
- e.value.style.chart.layout.labels.value.formatter,
1086
- t.value,
1087
- r(M)({
1088
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1089
- v: t.value,
1090
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1091
- r: e.value.style.chart.layout.labels.value.rounding
1092
- }),
1093
- { datapoint: t }
1094
- )})` : ""), 13, ha)) : i("", !0),
1095
- X(t) && h.value.dataLabels.show ? (o(), n("text", {
1096
- key: 1,
1097
- "text-anchor": le(c.value[a].middlePoint),
1098
- x: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x,
1099
- y: r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).y + e.value.style.chart.layout.labels.percentage.fontSize,
1100
- fill: e.value.style.chart.layout.labels.name.color,
1101
- "font-size": e.value.style.chart.layout.labels.name.fontSize,
1102
- style: b({
1103
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1104
- fontWeight: e.value.style.chart.layout.labels.name.bold ? "bold" : "normal"
1105
- }),
1106
- onClick: (v) => H(t, a)
1107
- }, P(t.name), 13, ya)) : i("", !0)
1108
- ], 64)) : i("", !0)
1109
- ])),
1110
- h.value.dataLabels.show && e.value.style.chart.comments.show && t.comment ? (o(), n("g", fa, [
1111
- X(t) && e.value.type === "classic" ? (o(), n("foreignObject", {
1112
- key: 0,
1113
- x: e.value.style.chart.comments.offsetX + (r(w)(t, !0).anchor === "end" ? r(w)(t).x - e.value.style.chart.comments.width : r(w)(t, !0).anchor === "middle" ? r(w)(t).x - e.value.style.chart.comments.width / 2 : r(w)(t).x),
1114
- y: r(ve)(t) + 24 + e.value.style.chart.comments.offsetY,
1115
- width: e.value.style.chart.comments.width,
1116
- height: "200",
1117
- style: { overflow: "visible", "pointer-events": "none" }
1118
- }, [
1119
- f("div", null, [
1120
- m(l.$slots, "plot-comment", {
1121
- plot: { ...t, textAlign: r(w)(t, !0, 16, !0).anchor, flexAlign: r(w)(t, !0, 16).anchor, isFirstLoad: T.value }
1122
- }, void 0, !0)
1123
- ])
1124
- ], 8, pa)) : i("", !0),
1125
- X(t) && e.value.type === "polar" ? (o(), n("foreignObject", {
1126
- key: 1,
1127
- x: e.value.style.chart.comments.offsetX + (le(c.value[a].middlePoint) === "end" ? r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x - e.value.style.chart.comments.width : le(c.value[a].middlePoint) === "middle" ? r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x - e.value.style.chart.comments.width / 2 : r(L)({ initX: c.value[a].middlePoint.x, initY: c.value[a].middlePoint.y, offset: 42, centerX: s.value.width / 2, centerY: s.value.height / 2 }).x),
1128
- y: zt(c.value[a]) + e.value.style.chart.comments.offsetY,
1129
- width: e.value.style.chart.comments.width,
1130
- height: "200",
1131
- style: b({
1132
- transition: T.value || !e.value.serieToggleAnimation.show ? "none" : `all ${e.value.serieToggleAnimation.durationMs}ms ease-in-out`,
1133
- overflow: "visible",
1134
- pointerEvents: "none"
1135
- })
1136
- }, [
1137
- f("div", null, [
1138
- m(l.$slots, "plot-comment", {
1139
- plot: { ...t, textAlign: le(c.value[a].middlePoint), flexAlign: le(c.value[a].middlePoint), isFirstLoad: T.value }
1140
- }, void 0, !0)
1141
- ])
1142
- ], 12, ga)) : i("", !0)
1143
- ])) : i("", !0)
1144
- ], 10, ua))), 256)),
1145
- m(l.$slots, "svg", { svg: s.value }, void 0, !0)
1146
- ], 14, cl)) : i("", !0),
1147
- l.$slots.watermark ? (o(), n("div", ma, [
1148
- m(l.$slots, "watermark", oe(ue({ isPrinting: r(Ie) || r(De) })), void 0, !0)
1149
- ])) : i("", !0),
1150
- se.value ? i("", !0) : (o(), Z(r(gt), {
1151
- key: 6,
1152
- config: {
1153
- type: "donut",
1154
- style: {
1155
- backgroundColor: e.value.style.chart.backgroundColor,
1156
- donut: {
1157
- color: "#CCCCCC",
1158
- strokeWidth: q.value * 0.8
1159
- }
1160
- }
1161
- }
1162
- }, null, 8, ["config"])),
1163
- f("div", {
1164
- ref_key: "chartLegend",
1165
- ref: Te
1166
- }, [
1167
- e.value.style.chart.legend.show ? (o(), Z(sl, {
1168
- key: `legend_${Le.value}`,
1169
- legendSet: Ue.value,
1170
- config: Ft.value,
1171
- onClickMarker: u[4] || (u[4] = ({ i: t }) => Ee(t))
1172
- }, at({
1173
- item: C(({ legend: t, index: a }) => [
1174
- f("div", {
1175
- style: b(`opacity:${V.value.includes(a) ? 0.5 : 1}`),
1176
- onClick: (v) => t.segregate()
1177
- }, [
1178
- ut(P(t.name) + ": " + P(r(D)(
1179
- e.value.style.chart.layout.labels.value.formatter,
1180
- t.value,
1181
- r(M)({
1182
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1183
- v: t.value,
1184
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1185
- r: e.value.style.chart.legend.roundingValue
1186
- }),
1187
- {
1188
- datapoint: t,
1189
- index: a
1190
- }
1191
- )) + " ", 1),
1192
- V.value.includes(a) ? (o(), n("span", ka, " ( " + P(Mt(t.proportion * 100)) + " % ) ", 1)) : (o(), n("span", wa, " (" + P(isNaN(t.value / S.value) ? "-" : r(D)(
1193
- e.value.style.chart.layout.labels.percentage.formatter,
1194
- He.value(t),
1195
- r(M)({
1196
- v: He.value(t),
1197
- s: "%",
1198
- r: e.value.style.chart.legend.roundingPercentage
1199
- })
1200
- )) + ") ", 1))
1201
- ], 12, ba)
1202
- ]),
1203
- _: 2
1204
- }, [
1205
- l.$slots.pattern ? {
1206
- name: "legend-pattern",
1207
- fn: C(({ legend: t, index: a }) => [
1208
- xe(rl, {
1209
- shape: t.shape,
1210
- radius: 30,
1211
- stroke: "none",
1212
- plot: { x: 30, y: 30 },
1213
- fill: `url(#pattern_${g.value}_${a})`
1214
- }, null, 8, ["shape", "fill"])
1215
- ]),
1216
- key: "0"
1217
- } : void 0
1218
- ]), 1032, ["legendSet", "config"])) : i("", !0),
1219
- m(l.$slots, "legend", { legend: Ue.value }, void 0, !0)
1220
- ], 512),
1221
- l.$slots.source ? (o(), n("div", {
1222
- key: 7,
1223
- ref_key: "source",
1224
- ref: Pe,
1225
- dir: "auto"
1226
- }, [
1227
- m(l.$slots, "source", {}, void 0, !0)
1228
- ], 512)) : i("", !0),
1229
- xe(r(mt), {
1230
- show: h.value.showTooltip && ce.value,
1231
- backgroundColor: e.value.style.chart.tooltip.backgroundColor,
1232
- color: e.value.style.chart.tooltip.color,
1233
- fontSize: e.value.style.chart.tooltip.fontSize,
1234
- borderRadius: e.value.style.chart.tooltip.borderRadius,
1235
- borderColor: e.value.style.chart.tooltip.borderColor,
1236
- borderWidth: e.value.style.chart.tooltip.borderWidth,
1237
- backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
1238
- position: e.value.style.chart.tooltip.position,
1239
- offsetY: e.value.style.chart.tooltip.offsetY,
1240
- parent: ne.value,
1241
- content: pe.value,
1242
- isCustom: re.value,
1243
- isFullscreen: ae.value
1244
- }, {
1245
- "tooltip-before": C(() => [
1246
- m(l.$slots, "tooltip-before", oe(ue({ ...we.value })), void 0, !0)
1247
- ]),
1248
- "tooltip-after": C(() => [
1249
- m(l.$slots, "tooltip-after", oe(ue({ ...we.value })), void 0, !0)
1250
- ]),
1251
- _: 3
1252
- }, 8, ["show", "backgroundColor", "color", "fontSize", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "position", "offsetY", "parent", "content", "isCustom", "isFullscreen"]),
1253
- se.value ? (o(), Z(r(ht), {
1254
- key: 8,
1255
- hideDetails: "",
1256
- config: {
1257
- open: h.value.showTable,
1258
- maxHeight: 1e4,
1259
- body: {
1260
- backgroundColor: e.value.style.chart.backgroundColor,
1261
- color: e.value.style.chart.color
1262
- },
1263
- head: {
1264
- backgroundColor: e.value.style.chart.backgroundColor,
1265
- color: e.value.style.chart.color
1266
- }
1267
- }
1268
- }, {
1269
- content: C(() => [
1270
- (o(), Z(r(yt), {
1271
- key: `table_${Se.value}`,
1272
- colNames: de.value.colNames,
1273
- head: de.value.head,
1274
- body: de.value.body,
1275
- config: de.value.config,
1276
- title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? ` : ${e.value.style.chart.title.subtitle.text}` : ""}`,
1277
- onClose: u[5] || (u[5] = (t) => h.value.showTable = !1)
1278
- }, {
1279
- th: C(({ th: t }) => [
1280
- f("div", {
1281
- innerHTML: t,
1282
- style: { display: "flex", "align-items": "center" }
1283
- }, null, 8, _a)
1284
- ]),
1285
- td: C(({ td: t }) => [
1286
- ut(P(t.name ? t.name : isNaN(Number(t)) ? t.includes("%") ? t : r(D)(
1287
- e.value.style.chart.layout.labels.percentage.formatter,
1288
- t,
1289
- r(M)({
1290
- v: t,
1291
- s: "%",
1292
- r: e.value.style.chart.layout.labels.percentage.rounding
1293
- })
1294
- ) : r(D)(
1295
- e.value.style.chart.layout.labels.value.formatter,
1296
- t,
1297
- r(M)({
1298
- p: e.value.style.chart.layout.labels.dataLabels.prefix,
1299
- v: t,
1300
- s: e.value.style.chart.layout.labels.dataLabels.suffix,
1301
- r: e.value.style.chart.layout.labels.value.rounding
1302
- })
1303
- )), 1)
1304
- ]),
1305
- _: 1
1306
- }, 8, ["colNames", "head", "body", "config", "title"]))
1307
- ]),
1308
- _: 1
1309
- }, 8, ["config"])) : i("", !0)
1310
- ], 46, vl));
1311
- }
1312
- }, Ma = /* @__PURE__ */ il(xa, [["__scopeId", "data-v-f2338bb9"]]);
1313
- export {
1314
- Ma as default
1315
- };