vue-data-ui 3.4.0 → 3.4.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 (111) hide show
  1. package/dist/{PackageVersion-DyDViSOy.js → PackageVersion-C6RwvG8P.js} +1 -1
  2. package/dist/components/vue-ui-3d-bar.js +1 -1
  3. package/dist/components/vue-ui-age-pyramid.js +1 -1
  4. package/dist/components/vue-ui-bullet.js +1 -1
  5. package/dist/components/vue-ui-candlestick.js +1 -1
  6. package/dist/components/vue-ui-carousel-table.js +1 -1
  7. package/dist/components/vue-ui-chestnut.js +1 -1
  8. package/dist/components/vue-ui-chord.js +1 -1
  9. package/dist/components/vue-ui-circle-pack.js +1 -1
  10. package/dist/components/vue-ui-dashboard.js +1 -1
  11. package/dist/components/vue-ui-donut-evolution.js +1 -1
  12. package/dist/components/vue-ui-donut.js +1 -1
  13. package/dist/components/vue-ui-dumbbell.js +1 -1
  14. package/dist/components/vue-ui-flow.js +1 -1
  15. package/dist/components/vue-ui-funnel.js +1 -1
  16. package/dist/components/vue-ui-galaxy.js +1 -1
  17. package/dist/components/vue-ui-gauge.js +1 -1
  18. package/dist/components/vue-ui-gizmo.js +1 -1
  19. package/dist/components/vue-ui-heatmap.js +1 -1
  20. package/dist/components/vue-ui-history-plot.js +1 -1
  21. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  22. package/dist/components/vue-ui-molecule.js +1 -1
  23. package/dist/components/vue-ui-mood-radar.js +1 -1
  24. package/dist/components/vue-ui-nested-donuts.js +1 -1
  25. package/dist/components/vue-ui-onion.js +1 -1
  26. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  27. package/dist/components/vue-ui-quadrant.js +1 -1
  28. package/dist/components/vue-ui-quick-chart.js +1 -1
  29. package/dist/components/vue-ui-radar.js +1 -1
  30. package/dist/components/vue-ui-relation-circle.js +1 -1
  31. package/dist/components/vue-ui-ridgeline.js +1 -1
  32. package/dist/components/vue-ui-rings.js +1 -1
  33. package/dist/components/vue-ui-scatter.js +1 -1
  34. package/dist/components/vue-ui-skeleton.js +1 -1
  35. package/dist/components/vue-ui-spark-trend.js +1 -1
  36. package/dist/components/vue-ui-sparkbar.js +1 -1
  37. package/dist/components/vue-ui-sparkgauge.js +1 -1
  38. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  39. package/dist/components/vue-ui-sparkline.js +1 -1
  40. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  41. package/dist/components/vue-ui-stackbar.js +1 -1
  42. package/dist/components/vue-ui-strip-plot.js +1 -1
  43. package/dist/components/vue-ui-table-sparkline.js +1 -1
  44. package/dist/components/vue-ui-table.js +1 -1
  45. package/dist/components/vue-ui-thermometer.js +1 -1
  46. package/dist/components/vue-ui-timer.js +1 -1
  47. package/dist/components/vue-ui-tiremarks.js +1 -1
  48. package/dist/components/vue-ui-treemap.js +1 -1
  49. package/dist/components/vue-ui-vertical-bar.js +1 -1
  50. package/dist/components/vue-ui-waffle.js +1 -1
  51. package/dist/components/vue-ui-wheel.js +1 -1
  52. package/dist/components/vue-ui-word-cloud.js +1 -1
  53. package/dist/components/vue-ui-world.js +1 -1
  54. package/dist/components/vue-ui-xy.js +1 -1
  55. package/dist/style.css +1 -1
  56. package/dist/{vue-data-ui-D7Tgakts.js → vue-data-ui-CzLP2rN0.js} +53 -53
  57. package/dist/vue-data-ui.js +53 -53
  58. package/dist/{vue-ui-3d-bar-H_4pqH3h.js → vue-ui-3d-bar-D0b-iURl.js} +1 -1
  59. package/dist/{vue-ui-age-pyramid-BGzYbrts.js → vue-ui-age-pyramid-Bd9FocGT.js} +1 -1
  60. package/dist/{vue-ui-bullet-Cf4Uzhez.js → vue-ui-bullet-DjQMFX7b.js} +1 -1
  61. package/dist/{vue-ui-candlestick-DfbP87Cr.js → vue-ui-candlestick-C0B0r7Nv.js} +1 -1
  62. package/dist/{vue-ui-carousel-table-0z6eLg_I.js → vue-ui-carousel-table-Csg8asJF.js} +1 -1
  63. package/dist/{vue-ui-chestnut-BcQFRaXx.js → vue-ui-chestnut-Ffn8vxbh.js} +1 -1
  64. package/dist/{vue-ui-chord-YYE07iRP.js → vue-ui-chord-kdRc-Q-q.js} +1 -1
  65. package/dist/{vue-ui-circle-pack-BRSqhjxm.js → vue-ui-circle-pack-C0kAjLnX.js} +1 -1
  66. package/dist/{vue-ui-dashboard-BpeLteeH.js → vue-ui-dashboard-D6F9BaXG.js} +53 -53
  67. package/dist/{vue-ui-donut-Yw81BFf2.js → vue-ui-donut-BrfxHSjb.js} +1 -1
  68. package/dist/{vue-ui-donut-evolution-k3xCwZYv.js → vue-ui-donut-evolution-eTmI2x_r.js} +1 -1
  69. package/dist/{vue-ui-dumbbell-DMPndU1O.js → vue-ui-dumbbell-Cw9zO8Mn.js} +1 -1
  70. package/dist/{vue-ui-flow-D-W3VQTv.js → vue-ui-flow-B0RDvOVg.js} +1 -1
  71. package/dist/{vue-ui-funnel-q-b-LqXG.js → vue-ui-funnel-Dsr0GCoj.js} +1 -1
  72. package/dist/{vue-ui-galaxy-4pueJOcI.js → vue-ui-galaxy-pZn1NOt3.js} +1 -1
  73. package/dist/{vue-ui-gauge-APtv_CvA.js → vue-ui-gauge-BjLEfS3a.js} +1 -1
  74. package/dist/{vue-ui-gizmo-BH0MvhIV.js → vue-ui-gizmo-CxJXz4nC.js} +1 -1
  75. package/dist/{vue-ui-heatmap-BBdrkhmg.js → vue-ui-heatmap-DZe-8jxm.js} +1 -1
  76. package/dist/{vue-ui-history-plot-DL5ioFH4.js → vue-ui-history-plot-mKwh56x-.js} +1 -1
  77. package/dist/{vue-ui-molecule-DnjRfc4-.js → vue-ui-molecule-NSKEl9DU.js} +1 -1
  78. package/dist/{vue-ui-mood-radar-9aAC_ake.js → vue-ui-mood-radar-D0P9U7A2.js} +1 -1
  79. package/dist/{vue-ui-nested-donuts-BnVXn9Qa.js → vue-ui-nested-donuts-CsoawOMw.js} +1 -1
  80. package/dist/{vue-ui-onion-DbanwrFr.js → vue-ui-onion-CB81rQHr.js} +1 -1
  81. package/dist/{vue-ui-parallel-coordinate-plot-CtlpCJ97.js → vue-ui-parallel-coordinate-plot-Bfqdsh29.js} +1 -1
  82. package/dist/{vue-ui-quadrant-BVffm_0o.js → vue-ui-quadrant-B6S8er0z.js} +1 -1
  83. package/dist/{vue-ui-quick-chart-C4Uc3DRH.js → vue-ui-quick-chart-BEJz4IrK.js} +1 -1
  84. package/dist/vue-ui-radar-CfVWwJ9O.js +938 -0
  85. package/dist/{vue-ui-relation-circle-4MPxPkAi.js → vue-ui-relation-circle-CDrFFs7x.js} +1 -1
  86. package/dist/{vue-ui-ridgeline-B1T10gWF.js → vue-ui-ridgeline-HctkhJNL.js} +1 -1
  87. package/dist/{vue-ui-rings-G0bYxlue.js → vue-ui-rings-DNdvT73I.js} +1 -1
  88. package/dist/{vue-ui-scatter-DqZwonPL.js → vue-ui-scatter-tqqXVlml.js} +1 -1
  89. package/dist/{vue-ui-skeleton-C-IKc-3B.js → vue-ui-skeleton-CIFKbc2Z.js} +1 -1
  90. package/dist/{vue-ui-spark-trend-8vV7SyrA.js → vue-ui-spark-trend-ClzBuy9g.js} +1 -1
  91. package/dist/{vue-ui-sparkbar-BsWBXGuQ.js → vue-ui-sparkbar-DOC0sinb.js} +1 -1
  92. package/dist/{vue-ui-sparkgauge-B9-iRqNC.js → vue-ui-sparkgauge-CtRGuXYE.js} +1 -1
  93. package/dist/{vue-ui-sparkhistogram-CV4PH2vQ.js → vue-ui-sparkhistogram-CH5SQ49i.js} +1 -1
  94. package/dist/{vue-ui-sparkline-DScNHLXj.js → vue-ui-sparkline-C1ANB_RH.js} +1 -1
  95. package/dist/{vue-ui-sparkstackbar-CXPJToNY.js → vue-ui-sparkstackbar-DJZvIWb3.js} +1 -1
  96. package/dist/{vue-ui-stackbar-94piqh7z.js → vue-ui-stackbar-DzT3xjPg.js} +1 -1
  97. package/dist/{vue-ui-strip-plot-CA4GL9dj.js → vue-ui-strip-plot-DdgSGxqd.js} +1 -1
  98. package/dist/{vue-ui-table-BAbQsJGk.js → vue-ui-table-DpSVU3nR.js} +2 -2
  99. package/dist/{vue-ui-table-sparkline-1KrHuOle.js → vue-ui-table-sparkline-DNiqSZPO.js} +1 -1
  100. package/dist/{vue-ui-thermometer-DrCAdNyW.js → vue-ui-thermometer-BEg7V1Pf.js} +1 -1
  101. package/dist/{vue-ui-timer-Cj677c6_.js → vue-ui-timer-GYpb3XQc.js} +1 -1
  102. package/dist/{vue-ui-tiremarks-O5LGA_1a.js → vue-ui-tiremarks-vkoU5KYk.js} +1 -1
  103. package/dist/{vue-ui-treemap-BVe_Fft6.js → vue-ui-treemap-Bikx-ODr.js} +1 -1
  104. package/dist/{vue-ui-vertical-bar-D8oCUku1.js → vue-ui-vertical-bar-CFCfwBWt.js} +1 -1
  105. package/dist/{vue-ui-waffle-C39XL2GH.js → vue-ui-waffle-yn1j310A.js} +1 -1
  106. package/dist/{vue-ui-wheel-BEpyCUNj.js → vue-ui-wheel-0aFR982b.js} +1 -1
  107. package/dist/{vue-ui-word-cloud-Dlp9LghX.js → vue-ui-word-cloud-CkV8cGp6.js} +1 -1
  108. package/dist/{vue-ui-world-BS8BCZJ3.js → vue-ui-world-DD5SbHCe.js} +1 -1
  109. package/dist/{vue-ui-xy-D3LqMzve.js → vue-ui-xy-BJiDW7Os.js} +1 -1
  110. package/package.json +2 -2
  111. package/dist/vue-ui-radar-C-MSV1ZJ.js +0 -891
@@ -0,0 +1,938 @@
1
+ import { defineAsyncComponent as $, computed as v, ref as c, toRefs as Lt, watch as ve, shallowRef as Ye, onMounted as Nt, onBeforeUnmount as Rt, createElementBlock as r, openBlock as n, unref as u, normalizeStyle as K, normalizeClass as H, createBlock as P, createCommentVNode as p, createElementVNode as k, createVNode as Z, createSlots as He, withCtx as h, renderSlot as f, normalizeProps as E, guardReactiveProps as M, Fragment as L, renderList as N, toDisplayString as R, Teleport as Dt, resolveDynamicComponent as zt, mergeProps as Vt, createTextVNode as de, nextTick as je } from "vue";
2
+ import { c as Bt, t as Ut, b as Et, p as D, o as Mt, f as z, e as Gt, h as qe, k as Qe, x as Wt, d as G, a as pe, X as Xt, s as he, i as Yt, a8 as Je, g as Ke, P as Ht, Q as jt, G as qt, H as Qt } from "./lib-BcBZIm6u.js";
3
+ import { t as Jt, u as Kt } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Zt, a as Ze } from "./useNestedProp-B7CiTRDS.js";
5
+ import { u as ea, B as ta } from "./BaseScanner-BgWxam9d.js";
6
+ import { u as aa } from "./usePrinter-C1GiglOH.js";
7
+ import { u as oa } from "./useUserOptionState-BIvW1Kz7.js";
8
+ import { u as la } from "./useChartAccessibility-9icAAmYg.js";
9
+ import { u as sa } from "./useAutoSizeLabelsInsideViewbox-BHq4FD8x.js";
10
+ import na from "./img-CFY3JivG.js";
11
+ import ra from "./Title-CFmv95In.js";
12
+ import ua from "./Legend-C8u37J42.js";
13
+ import { t as ia } from "./themes-Dw-dDudK.js";
14
+ import { u as ca } from "./useSvgExport-DrjCWun4.js";
15
+ import { _ as va } from "./_plugin-vue_export-helper-CHgC5LLL.js";
16
+ const da = ["id"], pa = ["id"], ha = ["xmlns", "viewBox"], ga = ["width", "height"], fa = ["id"], ya = ["stop-color"], ma = ["stop-color"], ba = { key: 1 }, ka = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Ca = { key: 0 }, wa = ["d", "stroke", "stroke-width"], _a = ["d", "stroke", "stroke-width"], $a = { key: 2 }, Ta = ["x", "y", "text-anchor", "font-size", "fill", "onMouseenter", "onMouseleave", "onClick"], Aa = ["points", "stroke", "stroke-width"], Pa = ["points", "stroke", "stroke-width", "fill"], Sa = { key: 3 }, xa = ["cx", "cy", "fill", "r", "stroke"], Oa = {
17
+ key: 4,
18
+ class: "vue-data-ui-watermark"
19
+ }, Fa = ["id"], Ia = ["onClick"], La = {
20
+ key: 0,
21
+ style: { "max-width": "200px", margin: "0 auto" }
22
+ }, Na = {
23
+ class: "vue-ui-radar-tooltip-datalabel",
24
+ style: { width: "100%" }
25
+ }, Ra = { class: "vue-ui-radar-tooltip-datalabel-name" }, Da = { key: 0 }, za = {
26
+ __name: "vue-ui-radar",
27
+ props: {
28
+ config: {
29
+ type: Object,
30
+ default() {
31
+ return {};
32
+ }
33
+ },
34
+ dataset: {
35
+ type: Object,
36
+ default() {
37
+ return {};
38
+ }
39
+ }
40
+ },
41
+ emits: ["selectLegend"],
42
+ setup(et, { expose: tt, emit: at }) {
43
+ const ot = $(() => import("./Tooltip-Cs4v8OnI.js")), lt = $(() => import("./BaseIcon-B5KaGWWC.js")), st = $(() => import("./vue-ui-sparkbar-DOC0sinb.js")), nt = $(() => import("./vue-ui-accordion-BKkTS12x.js")), rt = $(() => import("./DataTable-DOx3zgih.js")), ut = $(() => import("./PenAndPaper-Dj2diYr0.js")), it = $(() => import("./UserOptions-C0YT60JN.js")), ct = $(() => import("./PackageVersion-C6RwvG8P.js")), vt = $(() => import("./BaseDraggableDialog-CbuLbfrc.js")), { vue_ui_radar: dt } = Zt(), S = et, ge = v(() => !!S.dataset && Object.keys(S.dataset).length), b = c(Bt()), ee = c(!1), te = c(""), fe = c(0), _ = c(null), ye = c(null), me = c(null), be = c(null), ke = c(null), Ce = c(0), we = c(0), _e = c(0), $e = c(!1), W = c(null), ae = c(null), e = c(le()), { loading: Te, FINAL_DATASET: x } = ea({
44
+ ...Lt(S),
45
+ FINAL_CONFIG: e,
46
+ prepareConfig: le,
47
+ callback: () => {
48
+ Promise.resolve().then(async () => {
49
+ await je(), y.value.showTable = e.value.table.show;
50
+ });
51
+ },
52
+ skeletonDataset: {
53
+ categories: [{ name: "_", color: "#6A6A6A" }],
54
+ series: [
55
+ { name: "_", values: [0.6], target: 1 },
56
+ { name: "_", values: [0.6], target: 1 },
57
+ { name: "_", values: [0.6], target: 1 },
58
+ { name: "_", values: [0.6], target: 1 },
59
+ { name: "_", values: [0.6], target: 1 },
60
+ { name: "_", values: [0.6], target: 1 }
61
+ ]
62
+ },
63
+ skeletonConfig: Ut({
64
+ defaultConfig: e.value,
65
+ userConfig: {
66
+ userOptions: { show: !1 },
67
+ table: { show: !1 },
68
+ useCssAnimation: !1,
69
+ style: {
70
+ chart: {
71
+ backgroundColor: "#99999930",
72
+ layout: {
73
+ grid: {
74
+ stroke: "#6A6A6A90"
75
+ },
76
+ labels: {
77
+ dataLabels: { show: !1 }
78
+ },
79
+ outerPolygon: {
80
+ stroke: "#6A6A6A"
81
+ }
82
+ },
83
+ legend: {
84
+ backgroundColor: "transparent"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ })
90
+ }), { userOptionsVisible: oe, setUserOptionsVisibility: Ae, keepUserOptionState: Pe } = oa({ config: e.value }), { svgRef: j } = la({ config: e.value.style.chart.title });
91
+ function le() {
92
+ const t = Ze({
93
+ userConfig: S.config,
94
+ defaultConfig: dt
95
+ });
96
+ return t.theme ? {
97
+ ...Ze({
98
+ userConfig: ia.vue_ui_radar[t.theme] || S.config,
99
+ defaultConfig: t
100
+ }),
101
+ customPalette: Et[t.theme] || D
102
+ } : t;
103
+ }
104
+ ve(() => S.config, (t) => {
105
+ e.value = le(), oe.value = !e.value.userOptions.showOnChartHover, Se(), Ce.value += 1, we.value += 1, _e.value += 1, y.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, y.value.showTable = e.value.table.show, y.value.showTooltip = e.value.style.chart.tooltip ? e.value.style.chart.tooltip.show : !1;
106
+ }, { deep: !0 });
107
+ const T = Ye(null), V = Ye(null), O = v(() => e.value.debug);
108
+ function Se() {
109
+ if (Mt(S.dataset) && z({
110
+ componentName: "VueUiRadar",
111
+ type: "dataset",
112
+ debug: O.value
113
+ }), e.value.responsive) {
114
+ const t = Jt(() => {
115
+ const { width: o, height: a } = Kt({
116
+ chart: _.value,
117
+ title: e.value.style.chart.title.text ? ye.value : null,
118
+ legend: e.value.style.chart.legend.show ? me.value : null,
119
+ source: be.value,
120
+ noTitle: ke.value
121
+ });
122
+ requestAnimationFrame(() => {
123
+ i.value.width = o, i.value.height = a, Ve();
124
+ });
125
+ });
126
+ T.value && (V.value && T.value.unobserve(V.value), T.value.disconnect()), T.value = new ResizeObserver(t), V.value = _.value.parentNode, T.value.observe(V.value);
127
+ }
128
+ Ve();
129
+ }
130
+ Nt(() => {
131
+ $e.value = !0, Se();
132
+ }), Rt(() => {
133
+ T.value && (V.value && T.value.unobserve(V.value), T.value.disconnect());
134
+ });
135
+ const { isPrinting: xe, isImaging: Oe, generatePdf: Fe, generateImage: Ie } = aa({
136
+ elementId: `vue-ui-radar_${b.value}`,
137
+ fileName: e.value.style.chart.title.text || "vue-ui-radar",
138
+ options: e.value.userOptions.print
139
+ }), pt = v(() => e.value.userOptions.show && !e.value.style.chart.title.text), Le = v(() => Gt(e.value.customPalette)), y = c({
140
+ dataLabels: {
141
+ show: e.value.style.chart.layout.labels.dataLabels.show
142
+ },
143
+ showTable: e.value.table.show,
144
+ showTooltip: e.value.style.chart.tooltip.show
145
+ }), ht = v(() => ({
146
+ style: {
147
+ backgroundColor: "#FFFFFF00",
148
+ animation: {
149
+ show: e.value.style.chart.tooltip.animation.show,
150
+ animationFrames: e.value.style.chart.tooltip.animation.animationFrames
151
+ },
152
+ labels: {
153
+ fontSize: e.value.style.chart.tooltip.fontSize,
154
+ name: {
155
+ color: e.value.style.chart.tooltip.color
156
+ }
157
+ },
158
+ gutter: {
159
+ backgroundColor: "#CCCCCC",
160
+ opacity: 30
161
+ }
162
+ }
163
+ })), i = c({
164
+ height: 312,
165
+ width: 512
166
+ }), gt = at, g = c([]), X = c(null), B = c(!1);
167
+ function Ne(t) {
168
+ B.value = !0, g.value.includes(t) ? (X.value = t, g.value = g.value.filter((o) => o !== t), setTimeout(() => {
169
+ B.value = !1, X.value = null;
170
+ }, 500)) : (g.value.push(t), setTimeout(() => {
171
+ B.value = !1;
172
+ }, 500)), gt("selectLegend", F.value.filter((o, a) => !g.value.includes(a)).map((o) => ({
173
+ name: o.name,
174
+ color: o.color,
175
+ proportion: o.totalProportion
176
+ })));
177
+ }
178
+ function ft() {
179
+ return F.value.map((t) => ({
180
+ name: t.name,
181
+ color: t.color,
182
+ proportion: t.totalProportion
183
+ }));
184
+ }
185
+ function yt() {
186
+ const t = x.value;
187
+ if ([null, void 0].includes(t?.categories)) {
188
+ z({
189
+ componentName: "VueUiRadar",
190
+ type: "dataset",
191
+ debug: O.value
192
+ }), z({
193
+ componentName: "VueUiRadar",
194
+ type: "datasetAttribute",
195
+ property: "categories ({ name: string; prefix?: string; suffix?: string}[])",
196
+ debug: O.value
197
+ });
198
+ return;
199
+ }
200
+ t.categories.length === 0 ? z({
201
+ componentName: "VueUiRadar",
202
+ type: "datasetAttributeEmpty",
203
+ property: "categories",
204
+ debug: O.value
205
+ }) : t.categories.forEach((o, a) => {
206
+ Ke({
207
+ datasetObject: o,
208
+ requiredAttributes: ["name"]
209
+ }).forEach((l) => {
210
+ z({
211
+ componentName: "VueUiRadar",
212
+ type: "datasetAttribute",
213
+ property: `category.${l} at index ${a}`,
214
+ index: a,
215
+ debug: O.value
216
+ });
217
+ });
218
+ }), [null, void 0].includes(t?.series) ? z({
219
+ componentName: "VueUiRadar",
220
+ type: "datasetAttribute",
221
+ property: "series ({ name: string; values: number[]; color?: string; target: number}[])",
222
+ debug: O.value
223
+ }) : t.series.forEach((o, a) => {
224
+ Ke({
225
+ datasetObject: o,
226
+ requiredAttributes: ["name", "values", "target"]
227
+ }).forEach((l) => {
228
+ z({
229
+ componentName: "VueUiRadar",
230
+ type: "datasetSerieAttribute",
231
+ key: "series",
232
+ property: l,
233
+ index: a,
234
+ debug: O.value
235
+ });
236
+ });
237
+ });
238
+ }
239
+ ve(
240
+ () => x.value,
241
+ () => yt(),
242
+ { deep: !0, immediate: !0 }
243
+ );
244
+ const C = v(() => {
245
+ const t = Array.isArray(x.value?.categories) ? x.value.categories : [], o = Le.value ?? D;
246
+ return t.map((a, l) => ({
247
+ name: a?.name ?? "",
248
+ categoryId: `radar_category_${b.value}_${l}`,
249
+ color: qe(a?.color) || o[l] || D[l % D.length],
250
+ prefix: a?.prefix ?? "",
251
+ suffix: a?.suffix ?? ""
252
+ }));
253
+ }), w = v(() => x.value.series.map((t, o) => ({
254
+ ...t,
255
+ color: qe(t.color) || Le.value[o] || D[o] || D[o % D.length],
256
+ serieId: `radar_serie_${b.value}_${o}`,
257
+ formatter: t.formatter || null
258
+ }))), Re = v(() => Math.max(...w.value.flatMap((t) => t.values))), De = v(() => w.value.length), se = v(() => Math.min(i.value.width, i.value.height) / 3), ze = v(() => Qe({
259
+ plot: { x: i.value.width / 2, y: i.value.height / 2 },
260
+ radius: se.value,
261
+ sides: De.value,
262
+ rotation: 0
263
+ })), mt = v(() => {
264
+ const t = [];
265
+ for (let o = 0; o < se.value; o += se.value / e.value.style.chart.layout.grid.graduations)
266
+ t.push(o);
267
+ return t;
268
+ }), A = v(() => ze.value.coordinates.map((t, o) => {
269
+ const a = w.value[o].values.map((l) => kt({
270
+ centerX: i.value.width / 2,
271
+ centerY: i.value.height / 2,
272
+ apexX: t.x,
273
+ apexY: t.y,
274
+ proportion: l / (w.value[o].target || Re.value)
275
+ }));
276
+ return {
277
+ ...t,
278
+ ...w.value[o],
279
+ plots: a
280
+ };
281
+ }).map((t) => ({
282
+ ...t,
283
+ labelX: ne(t).x,
284
+ labelY: ne(t).y,
285
+ labelAnchor: ne(t).anchor
286
+ })));
287
+ function ne({ x: t, y: o }) {
288
+ let a = "middle";
289
+ return t = Math.round(t), o = Math.round(o), t > i.value.width / 2 && (t += 12, a = "start"), t < i.value.width / 2 && (t -= 12, a = "end"), o > i.value.height / 2 + 1 && (o += 20), o < i.value.height / 2 - 1 && (o -= 12), o === i.value.height / 2 && (o += 4), { x: t, y: o, anchor: a };
290
+ }
291
+ const bt = v({
292
+ get: () => e.value.style.chart.layout.labels.dataLabels.fontSize,
293
+ set: (t) => t
294
+ }), { autoSizeLabels: Ve } = sa({
295
+ svgRef: j,
296
+ fontSize: e.value.style.chart.layout.labels.dataLabels.fontSize,
297
+ minFontSize: 6,
298
+ sizeRef: bt,
299
+ labelClass: ".vue-ui-radar-apex-label"
300
+ });
301
+ function kt({ centerX: t, centerY: o, apexX: a, apexY: l, proportion: s }) {
302
+ return {
303
+ x: t + (a - t) * s,
304
+ y: o + (l - o) * s
305
+ };
306
+ }
307
+ const F = v(() => {
308
+ const t = w.value.map((o, a) => o.values.map((l) => l / (o.target || Re.value)));
309
+ return C.value.map((o, a) => {
310
+ const l = Wt(t.map((s) => s[a]).reduce((s, d) => s + d, 0) / w.value.length);
311
+ return {
312
+ ...o,
313
+ totalProportion: l,
314
+ shape: "circle",
315
+ opacity: g.value.includes(a) ? 0.5 : 1,
316
+ segregate: () => Ne(a),
317
+ isSegregated: g.value.includes(a),
318
+ display: `${o.name}: ${G({
319
+ v: (l ?? 0) * 100,
320
+ s: "%",
321
+ r: e.value.style.chart.legend.roundingPercentage
322
+ })}`
323
+ };
324
+ });
325
+ }), Ct = v(() => ({
326
+ cy: "radar-div-legend",
327
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
328
+ color: e.value.style.chart.legend.color,
329
+ fontSize: e.value.style.chart.legend.fontSize,
330
+ paddingBottom: 12,
331
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
332
+ })), q = v(() => {
333
+ const t = [
334
+ { name: e.value.translations.datapoint, color: "" },
335
+ { name: e.value.translations.target, color: "" },
336
+ ...F.value
337
+ ], o = x.value.series.map((l) => [
338
+ l.name,
339
+ pe(
340
+ l.formatter,
341
+ l.target,
342
+ G({
343
+ p: l.prefix,
344
+ v: l.target,
345
+ s: l.suffix,
346
+ r: e.value.table.td.roundingValue
347
+ })
348
+ ),
349
+ ...l.values.map((s, d) => `${pe(
350
+ l.formatter,
351
+ s,
352
+ G({ p: C.value[d]?.prefix ?? "", v: s, s: C.value[d]?.suffix ?? "", r: e.value.table.td.roundingValue })
353
+ )} (${isNaN(s / l.target) ? "" : G({
354
+ v: s / l.target * 100,
355
+ s: "%",
356
+ r: e.value.table.td.roundingPercentage
357
+ })})`)
358
+ ]), a = {
359
+ th: {
360
+ backgroundColor: e.value.table.th.backgroundColor,
361
+ color: e.value.table.th.color,
362
+ outline: e.value.table.th.outline
363
+ },
364
+ td: {
365
+ backgroundColor: e.value.table.td.backgroundColor,
366
+ color: e.value.table.td.color,
367
+ outline: e.value.table.td.outline
368
+ },
369
+ breakpoint: e.value.table.responsiveBreakpoint
370
+ };
371
+ return { head: t, body: o, config: a, colNames: t };
372
+ }), Q = c(null), re = c([]), ue = c(null);
373
+ function wt(t, o) {
374
+ ee.value = !1, Q.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: o });
375
+ }
376
+ function _t(t, o) {
377
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: o });
378
+ }
379
+ function $t(t, o) {
380
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: o });
381
+ const a = C.value.slice();
382
+ re.value = [], Q.value = o, ee.value = !0, ue.value = {
383
+ datapoint: t,
384
+ seriesIndex: o,
385
+ series: {
386
+ categories: a,
387
+ datapoints: w.value,
388
+ radar: A.value
389
+ },
390
+ config: e.value
391
+ };
392
+ const l = e.value.style.chart.tooltip.customFormat;
393
+ if (qt(l) && Qt(() => l({
394
+ seriesIndex: o,
395
+ datapoint: t,
396
+ series: { categories: a, datapoints: w.value, radar: A.value },
397
+ config: e.value
398
+ }))) {
399
+ te.value = l({
400
+ seriesIndex: o,
401
+ datapoint: t,
402
+ series: { categories: a, datapoints: w.value, radar: A.value },
403
+ config: e.value
404
+ });
405
+ return;
406
+ }
407
+ te.value = `<div style="width:100%;text-align:center;border-bottom:1px solid ${e.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${t.name}</div>`;
408
+ for (let s = 0; s < t.values.length; s += 1)
409
+ if (!g.value.includes(s)) {
410
+ const d = a[s], m = t.values[s], We = isNaN(m / t.target) ? 0 : m / t.target * 100, U = pe(
411
+ t.formatter,
412
+ m,
413
+ G({
414
+ p: C.value[s].prefix,
415
+ v: m,
416
+ s: C.value[s].suffix,
417
+ r: e.value.style.chart.tooltip.roundingValue
418
+ }),
419
+ { datapoint: t }
420
+ ), Xe = G({
421
+ v: We,
422
+ s: "%",
423
+ r: e.value.style.chart.tooltip.roundingPercentage
424
+ }), It = e.value.style.chart.tooltip.showValue && e.value.style.chart.tooltip.showPercentage ? `${U} (${Xe})` : e.value.style.chart.tooltip.showValue && !e.value.style.chart.tooltip.showPercentage ? U : !e.value.style.chart.tooltip.showValue && e.value.style.chart.tooltip.showPercentage ? `${Xe}` : "";
425
+ re.value.push({
426
+ name: d?.name ?? `#${s + 1}`,
427
+ value: t.values[s] / t.target * 100,
428
+ color: d?.color,
429
+ suffix: It,
430
+ prefix: "",
431
+ rounding: e.value.style.chart.tooltip.roundingPercentage,
432
+ formatter: t.formatter
433
+ });
434
+ }
435
+ }
436
+ function ie(t = null) {
437
+ je(() => {
438
+ const o = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], a = [[""], [e.value.translations.target], ...F.value.flatMap((m) => [[m.name], ["%"]])], l = x.value.series.map((m, We) => [m.name, m.target, ...m.values.flatMap((U) => [
439
+ U,
440
+ isNaN(U / m.target) ? "" : U / m.target * 100
441
+ ])]), s = o.concat([a]).concat(l), d = Ht(s);
442
+ t ? t(d) : jt({ csvContent: d, title: e.value.style.chart.title.text || "vue-ui-radar" });
443
+ });
444
+ }
445
+ const I = c(!1);
446
+ function Be(t) {
447
+ I.value = t, fe.value += 1;
448
+ }
449
+ function Ue() {
450
+ y.value.showTable = !y.value.showTable;
451
+ }
452
+ function Ee() {
453
+ y.value.showTooltip = !y.value.showTooltip;
454
+ }
455
+ const J = c(!1);
456
+ function ce() {
457
+ J.value = !J.value;
458
+ }
459
+ async function Tt({ scale: t = 2 } = {}) {
460
+ if (!_.value) return;
461
+ const { width: o, height: a } = _.value.getBoundingClientRect(), l = o / a, { imageUri: s, base64: d } = await na({ domElement: _.value, base64: !0, img: !0, scale: t });
462
+ return {
463
+ imageUri: s,
464
+ base64: d,
465
+ title: e.value.style.chart.title.text,
466
+ width: o,
467
+ height: a,
468
+ aspectRatio: l
469
+ };
470
+ }
471
+ const Y = v(() => {
472
+ const t = e.value.table.useDialog && !e.value.table.show, o = y.value.showTable;
473
+ return {
474
+ component: t ? vt : nt,
475
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
476
+ props: t ? {
477
+ backgroundColor: e.value.table.th.backgroundColor,
478
+ color: e.value.table.th.color,
479
+ headerColor: e.value.table.th.color,
480
+ headerBg: e.value.table.th.backgroundColor,
481
+ isFullscreen: I.value,
482
+ fullscreenParent: _.value,
483
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
484
+ } : {
485
+ hideDetails: !0,
486
+ config: {
487
+ open: o,
488
+ maxHeight: 1e4,
489
+ body: {
490
+ backgroundColor: e.value.style.chart.backgroundColor,
491
+ color: e.value.style.chart.color
492
+ },
493
+ head: {
494
+ backgroundColor: e.value.style.chart.backgroundColor,
495
+ color: e.value.style.chart.color
496
+ }
497
+ }
498
+ }
499
+ };
500
+ });
501
+ ve(() => y.value.showTable, (t) => {
502
+ e.value.table.show || (t && e.value.table.useDialog && W.value ? W.value.open() : "close" in W.value && W.value.close());
503
+ });
504
+ function Me() {
505
+ y.value.showTable = !1, ae.value && ae.value.setTableIconState(!1);
506
+ }
507
+ const At = v(() => F.value.map((t) => ({
508
+ ...t,
509
+ name: t.display
510
+ }))), Pt = v(() => e.value.style.chart.backgroundColor), St = v(() => e.value.style.chart.legend), xt = v(() => e.value.style.chart.title), { exportSvg: Ot, getSvg: Ft } = ca({
511
+ svg: j,
512
+ title: xt,
513
+ legend: St,
514
+ legendItems: At,
515
+ backgroundColor: Pt
516
+ });
517
+ async function Ge({ isCb: t }) {
518
+ if (t) {
519
+ const { blob: o, url: a, text: l, dataUrl: s } = await Ft();
520
+ e.value.userOptions.callbacks.svg({ blob: o, url: a, text: l, dataUrl: s });
521
+ } else
522
+ Ot();
523
+ }
524
+ return tt({
525
+ getData: ft,
526
+ getImage: Tt,
527
+ generatePdf: Fe,
528
+ generateCsv: ie,
529
+ generateImage: Ie,
530
+ generateSvg: Ge,
531
+ toggleTable: Ue,
532
+ toggleTooltip: Ee,
533
+ toggleAnnotator: ce,
534
+ toggleFullscreen: Be
535
+ }), (t, o) => (n(), r("div", {
536
+ class: H(`vue-data-ui-component vue-ui-radar ${I.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
537
+ ref_key: "radarChart",
538
+ ref: _,
539
+ id: `vue-ui-radar_${b.value}`,
540
+ style: K(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
541
+ onMouseenter: o[2] || (o[2] = () => u(Ae)(!0)),
542
+ onMouseleave: o[3] || (o[3] = () => u(Ae)(!1))
543
+ }, [
544
+ e.value.userOptions.buttons.annotator ? (n(), P(u(ut), {
545
+ key: 0,
546
+ svgRef: u(j),
547
+ backgroundColor: e.value.style.chart.backgroundColor,
548
+ color: e.value.style.chart.color,
549
+ active: J.value,
550
+ onClose: ce
551
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : p("", !0),
552
+ pt.value ? (n(), r("div", {
553
+ key: 1,
554
+ ref_key: "noTitle",
555
+ ref: ke,
556
+ class: "vue-data-ui-no-title-space",
557
+ style: "height:36px; width: 100%;background:transparent"
558
+ }, null, 512)) : p("", !0),
559
+ e.value.style.chart.title.text ? (n(), r("div", {
560
+ key: 2,
561
+ ref_key: "chartTitle",
562
+ ref: ye,
563
+ style: "width:100%;background:transparent;padding-bottom:12px"
564
+ }, [
565
+ (n(), P(ra, {
566
+ key: `title_${Ce.value}`,
567
+ config: {
568
+ title: {
569
+ cy: "radar-div-title",
570
+ ...e.value.style.chart.title
571
+ },
572
+ subtitle: {
573
+ cy: "radar-div-subtitle",
574
+ ...e.value.style.chart.title.subtitle
575
+ }
576
+ }
577
+ }, null, 8, ["config"]))
578
+ ], 512)) : p("", !0),
579
+ k("div", {
580
+ id: `legend-top-${b.value}`
581
+ }, null, 8, pa),
582
+ e.value.userOptions.show && ge.value && (u(Pe) || u(oe)) ? (n(), P(u(it), {
583
+ ref_key: "userOptionsRef",
584
+ ref: ae,
585
+ key: `user_options_${fe.value}`,
586
+ backgroundColor: e.value.style.chart.backgroundColor,
587
+ color: e.value.style.chart.color,
588
+ isImaging: u(Oe),
589
+ isPrinting: u(xe),
590
+ uid: b.value,
591
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
592
+ hasPdf: e.value.userOptions.buttons.pdf,
593
+ hasImg: e.value.userOptions.buttons.img,
594
+ hasSvg: e.value.userOptions.buttons.svg,
595
+ hasXls: e.value.userOptions.buttons.csv,
596
+ hasTable: e.value.userOptions.buttons.table,
597
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
598
+ isFullscreen: I.value,
599
+ isTooltip: y.value.showTooltip,
600
+ titles: { ...e.value.userOptions.buttonTitles },
601
+ chartElement: _.value,
602
+ position: e.value.userOptions.position,
603
+ hasAnnotator: e.value.userOptions.buttons.annotator,
604
+ isAnnotation: J.value,
605
+ callbacks: e.value.userOptions.callbacks,
606
+ printScale: e.value.userOptions.print.scale,
607
+ tableDialog: e.value.table.useDialog,
608
+ onToggleFullscreen: Be,
609
+ onGeneratePdf: u(Fe),
610
+ onGenerateCsv: ie,
611
+ onGenerateImage: u(Ie),
612
+ onGenerateSvg: Ge,
613
+ onToggleTable: Ue,
614
+ onToggleTooltip: Ee,
615
+ onToggleAnnotator: ce,
616
+ style: K({
617
+ visibility: u(Pe) ? u(oe) ? "visible" : "hidden" : "visible"
618
+ })
619
+ }, He({ _: 2 }, [
620
+ t.$slots.menuIcon ? {
621
+ name: "menuIcon",
622
+ fn: h(({ isOpen: a, color: l }) => [
623
+ f(t.$slots, "menuIcon", E(M({ isOpen: a, color: l })), void 0, !0)
624
+ ]),
625
+ key: "0"
626
+ } : void 0,
627
+ t.$slots.optionTooltip ? {
628
+ name: "optionTooltip",
629
+ fn: h(() => [
630
+ f(t.$slots, "optionTooltip", {}, void 0, !0)
631
+ ]),
632
+ key: "1"
633
+ } : void 0,
634
+ t.$slots.optionPdf ? {
635
+ name: "optionPdf",
636
+ fn: h(() => [
637
+ f(t.$slots, "optionPdf", {}, void 0, !0)
638
+ ]),
639
+ key: "2"
640
+ } : void 0,
641
+ t.$slots.optionCsv ? {
642
+ name: "optionCsv",
643
+ fn: h(() => [
644
+ f(t.$slots, "optionCsv", {}, void 0, !0)
645
+ ]),
646
+ key: "3"
647
+ } : void 0,
648
+ t.$slots.optionImg ? {
649
+ name: "optionImg",
650
+ fn: h(() => [
651
+ f(t.$slots, "optionImg", {}, void 0, !0)
652
+ ]),
653
+ key: "4"
654
+ } : void 0,
655
+ t.$slots.optionTable ? {
656
+ name: "optionTable",
657
+ fn: h(() => [
658
+ f(t.$slots, "optionTable", {}, void 0, !0)
659
+ ]),
660
+ key: "5"
661
+ } : void 0,
662
+ t.$slots.optionFullscreen ? {
663
+ name: "optionFullscreen",
664
+ fn: h(({ toggleFullscreen: a, isFullscreen: l }) => [
665
+ f(t.$slots, "optionFullscreen", E(M({ toggleFullscreen: a, isFullscreen: l })), void 0, !0)
666
+ ]),
667
+ key: "6"
668
+ } : void 0,
669
+ t.$slots.optionAnnotator ? {
670
+ name: "optionAnnotator",
671
+ fn: h(({ toggleAnnotator: a, isAnnotator: l }) => [
672
+ f(t.$slots, "optionAnnotator", E(M({ toggleAnnotator: a, isAnnotator: l })), void 0, !0)
673
+ ]),
674
+ key: "7"
675
+ } : void 0
676
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasSvg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "tableDialog", "onGeneratePdf", "onGenerateImage", "style"])) : p("", !0),
677
+ (n(), r("svg", {
678
+ ref_key: "svgRef",
679
+ ref: j,
680
+ xmlns: u(Xt),
681
+ class: H({ "vue-data-ui-fullscreen--on": I.value, "vue-data-ui-fulscreen--off": !I.value }),
682
+ viewBox: `0 0 ${i.value.width <= 0 ? 10 : i.value.width} ${i.value.height <= 0 ? 10 : i.value.height}`,
683
+ style: K(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
684
+ }, [
685
+ Z(u(ct)),
686
+ t.$slots["chart-background"] ? (n(), r("foreignObject", {
687
+ key: 0,
688
+ x: 0,
689
+ y: 0,
690
+ width: i.value.width <= 0 ? 10 : i.value.width,
691
+ height: i.value.height <= 0 ? 10 : i.value.height,
692
+ style: {
693
+ pointerEvents: "none"
694
+ }
695
+ }, [
696
+ f(t.$slots, "chart-background", {}, void 0, !0)
697
+ ], 8, ga)) : p("", !0),
698
+ k("defs", null, [
699
+ (n(!0), r(L, null, N(C.value, (a, l) => (n(), r("radialGradient", {
700
+ cx: "50%",
701
+ cy: "50%",
702
+ r: "50%",
703
+ fx: "50%",
704
+ fy: "50%",
705
+ id: `radar_gradient_${b.value}_${l}`
706
+ }, [
707
+ k("stop", {
708
+ offset: "0%",
709
+ "stop-color": u(he)(u(Yt)(a.color, 0.05), e.value.style.chart.layout.dataPolygon.opacity)
710
+ }, null, 8, ya),
711
+ k("stop", {
712
+ offset: "100%",
713
+ "stop-color": u(he)(a.color, e.value.style.chart.layout.dataPolygon.opacity)
714
+ }, null, 8, ma)
715
+ ], 8, fa))), 256))
716
+ ]),
717
+ e.value.style.chart.layout.grid.show ? (n(), r("g", ba, [
718
+ (n(!0), r(L, null, N(A.value, (a) => (n(), r("line", {
719
+ x1: i.value.width / 2,
720
+ y1: i.value.height / 2,
721
+ x2: a.x,
722
+ y2: a.y,
723
+ stroke: e.value.style.chart.layout.grid.stroke,
724
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
725
+ }, null, 8, ka))), 256)),
726
+ e.value.style.chart.layout.grid.graduations > 0 ? (n(), r("g", Ca, [
727
+ (n(!0), r(L, null, N(mt.value, (a) => (n(), r("path", {
728
+ d: u(Qe)({
729
+ plot: { x: i.value.width / 2, y: i.value.height / 2 },
730
+ radius: a,
731
+ sides: De.value,
732
+ rotation: 0
733
+ }).path,
734
+ fill: "none",
735
+ stroke: e.value.style.chart.layout.grid.stroke,
736
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
737
+ }, null, 8, wa))), 256))
738
+ ])) : p("", !0)
739
+ ])) : p("", !0),
740
+ k("path", {
741
+ d: ze.value.path,
742
+ fill: "none",
743
+ stroke: e.value.style.chart.layout.outerPolygon.stroke,
744
+ "stroke-width": e.value.style.chart.layout.outerPolygon.strokeWidth,
745
+ "stroke-linejoin": "round",
746
+ "stroke-linecap": "round"
747
+ }, null, 8, _a),
748
+ e.value.style.chart.layout.labels.dataLabels.show ? (n(), r("g", $a, [
749
+ (n(!0), r(L, null, N(A.value, (a, l) => (n(), r("text", {
750
+ class: "vue-ui-radar-apex-label",
751
+ x: a.labelX,
752
+ y: a.labelY,
753
+ "text-anchor": a.labelAnchor,
754
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
755
+ fill: e.value.style.chart.layout.labels.dataLabels.color,
756
+ onMouseenter: (s) => $t(a, l),
757
+ onMouseleave: (s) => wt(a, l),
758
+ onClick: (s) => _t(a, l)
759
+ }, R(a.name), 41, Ta))), 256))
760
+ ])) : p("", !0),
761
+ (n(!0), r(L, null, N(C.value, (a, l) => (n(), r("g", null, [
762
+ k("g", null, [
763
+ e.value.useCssAnimation || !e.value.useCssAnimation && !g.value.includes(l) ? (n(), r("polygon", {
764
+ key: 0,
765
+ points: u(Je)(A.value.map((s) => s.plots[l]), !1, !0),
766
+ stroke: e.value.style.chart.backgroundColor,
767
+ "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth + 1,
768
+ fill: "none",
769
+ class: H({ "animated-out": g.value.includes(l) && e.value.useCssAnimation, "animated-in": B.value && X.value === l && e.value.useCssAnimation })
770
+ }, null, 10, Aa)) : p("", !0),
771
+ e.value.useCssAnimation || !e.value.useCssAnimation && !g.value.includes(l) ? (n(), r("polygon", {
772
+ key: 1,
773
+ points: u(Je)(A.value.map((s) => s.plots[l]), !1, !0),
774
+ stroke: a.color,
775
+ "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth,
776
+ fill: e.value.style.chart.layout.dataPolygon.transparent ? "transparent" : e.value.style.chart.layout.dataPolygon.useGradient ? `url(#radar_gradient_${b.value}_${l})` : u(he)(a.color, e.value.style.chart.layout.dataPolygon.opacity),
777
+ class: H({ "animated-out": g.value.includes(l) && e.value.useCssAnimation, "animated-in": B.value && X.value === l && e.value.useCssAnimation })
778
+ }, null, 10, Pa)) : p("", !0)
779
+ ])
780
+ ]))), 256)),
781
+ e.value.style.chart.layout.plots.show ? (n(), r("g", Sa, [
782
+ (n(!0), r(L, null, N(A.value, (a, l) => (n(), r("g", null, [
783
+ (n(!0), r(L, null, N(a.plots, (s, d) => (n(), r("circle", {
784
+ cx: s.x,
785
+ cy: s.y,
786
+ fill: g.value.includes(d) ? "transparent" : C.value[d] ? C.value[d].color : "transparent",
787
+ r: Q.value !== null && Q.value === l ? e.value.style.chart.layout.plots.radius * 1.6 : e.value.style.chart.layout.plots.radius,
788
+ stroke: g.value.includes(d) ? "transparent" : e.value.style.chart.backgroundColor,
789
+ "stroke-width": 0.5,
790
+ class: H({ "animated-out": g.value.includes(d) && e.value.useCssAnimation, "animated-in": B.value && X.value === d && e.value.useCssAnimation })
791
+ }, null, 10, xa))), 256))
792
+ ]))), 256))
793
+ ])) : p("", !0),
794
+ f(t.$slots, "svg", { svg: i.value }, void 0, !0)
795
+ ], 14, ha)),
796
+ t.$slots.watermark ? (n(), r("div", Oa, [
797
+ f(t.$slots, "watermark", E(M({ isPrinting: u(xe) || u(Oe) })), void 0, !0)
798
+ ])) : p("", !0),
799
+ k("div", {
800
+ id: `legend-bottom-${b.value}`
801
+ }, null, 8, Fa),
802
+ $e.value ? (n(), P(Dt, {
803
+ key: 5,
804
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${b.value}` : `#legend-bottom-${b.value}`
805
+ }, [
806
+ k("div", {
807
+ ref_key: "chartLegend",
808
+ ref: me
809
+ }, [
810
+ e.value.style.chart.legend.show ? (n(), P(ua, {
811
+ key: `legend_${_e.value}`,
812
+ legendSet: F.value,
813
+ config: Ct.value,
814
+ onClickMarker: o[0] || (o[0] = ({ i: a }) => Ne(a))
815
+ }, {
816
+ item: h(({ legend: a, index: l }) => [
817
+ u(Te) ? p("", !0) : (n(), r("div", {
818
+ key: 0,
819
+ onClick: (s) => a.segregate(),
820
+ style: K(`opacity:${g.value.includes(l) ? 0.5 : 1}`)
821
+ }, R(a.display), 13, Ia))
822
+ ]),
823
+ _: 1
824
+ }, 8, ["legendSet", "config"])) : f(t.$slots, "legend", {
825
+ key: 1,
826
+ legend: F.value
827
+ }, void 0, !0)
828
+ ], 512)
829
+ ], 8, ["to"])) : p("", !0),
830
+ t.$slots.source ? (n(), r("div", {
831
+ key: 6,
832
+ ref_key: "source",
833
+ ref: be,
834
+ dir: "auto"
835
+ }, [
836
+ f(t.$slots, "source", {}, void 0, !0)
837
+ ], 512)) : p("", !0),
838
+ Z(u(ot), {
839
+ show: y.value.showTooltip && ee.value,
840
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
841
+ color: e.value.style.chart.tooltip.color,
842
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
843
+ borderColor: e.value.style.chart.tooltip.borderColor,
844
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
845
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
846
+ fontSize: e.value.style.chart.tooltip.fontSize,
847
+ position: e.value.style.chart.tooltip.position,
848
+ offsetY: e.value.style.chart.tooltip.offsetY,
849
+ parent: _.value,
850
+ content: te.value,
851
+ isFullscreen: I.value,
852
+ isCustom: e.value.style.chart.tooltip.customFormat && typeof e.value.style.chart.tooltip.customFormat == "function",
853
+ smooth: e.value.style.chart.tooltip.smooth,
854
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter,
855
+ smoothForce: e.value.style.chart.tooltip.smoothForce,
856
+ smoothSnapThreshold: e.value.style.chart.tooltip.smoothSnapThreshold
857
+ }, {
858
+ "tooltip-before": h(() => [
859
+ f(t.$slots, "tooltip-before", E(M({ ...ue.value })), void 0, !0)
860
+ ]),
861
+ "tooltip-after": h(() => [
862
+ ["function"].includes(typeof e.value.style.chart.tooltip.customFormat) ? p("", !0) : (n(), r("div", La, [
863
+ Z(u(st), {
864
+ dataset: re.value,
865
+ config: ht.value,
866
+ backgroundOpacity: 0
867
+ }, {
868
+ "data-label": h(({ bar: a }) => [
869
+ k("div", Na, [
870
+ k("span", Ra, R(a.name + (e.value.style.chart.tooltip.showValue || e.value.style.chart.tooltip.showPercentage ? ":" : "")), 1),
871
+ e.value.style.chart.tooltip.showValue || e.value.style.chart.tooltip.showPercentage ? (n(), r("span", Da, R(a.suffix), 1)) : p("", !0)
872
+ ])
873
+ ]),
874
+ _: 1
875
+ }, 8, ["dataset", "config"])
876
+ ])),
877
+ f(t.$slots, "tooltip-after", E(M({ ...ue.value })), void 0, !0)
878
+ ]),
879
+ _: 3
880
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "fontSize", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
881
+ ge.value && e.value.userOptions.buttons.table ? (n(), P(zt(Y.value.component), Vt({ key: 7 }, Y.value.props, {
882
+ ref_key: "tableUnit",
883
+ ref: W,
884
+ onClose: Me
885
+ }), He({
886
+ content: h(() => [
887
+ (n(), P(u(rt), {
888
+ key: `table_${we.value}`,
889
+ colNames: q.value.colNames,
890
+ head: q.value.head,
891
+ body: q.value.body,
892
+ config: q.value.config,
893
+ title: e.value.table.useDialog ? "" : Y.value.title,
894
+ withCloseButton: !e.value.table.useDialog,
895
+ onClose: Me
896
+ }, {
897
+ th: h(({ th: a }) => [
898
+ de(R(a.name), 1)
899
+ ]),
900
+ td: h(({ td: a }) => [
901
+ de(R(a), 1)
902
+ ]),
903
+ _: 1
904
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
905
+ ]),
906
+ _: 2
907
+ }, [
908
+ e.value.table.useDialog ? {
909
+ name: "title",
910
+ fn: h(() => [
911
+ de(R(Y.value.title), 1)
912
+ ]),
913
+ key: "0"
914
+ } : void 0,
915
+ e.value.table.useDialog ? {
916
+ name: "actions",
917
+ fn: h(() => [
918
+ k("button", {
919
+ tabindex: "0",
920
+ class: "vue-ui-user-options-button",
921
+ onClick: o[1] || (o[1] = (a) => ie(e.value.userOptions.callbacks.csv))
922
+ }, [
923
+ Z(u(lt), {
924
+ name: "excel",
925
+ stroke: Y.value.props.color
926
+ }, null, 8, ["stroke"])
927
+ ])
928
+ ]),
929
+ key: "1"
930
+ } : void 0
931
+ ]), 1040)) : p("", !0),
932
+ u(Te) ? (n(), P(ta, { key: 8 })) : p("", !0)
933
+ ], 46, da));
934
+ }
935
+ }, Za = /* @__PURE__ */ va(za, [["__scopeId", "data-v-c8e9bea6"]]);
936
+ export {
937
+ Za as default
938
+ };