vue-data-ui 3.0.22 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/{Arrow-C3_2GkYQ.js → Arrow-DvG07exK.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BhxUDwEm.js → BaseDraggableDialog-O7900pGp.js} +72 -59
  3. package/dist/{BaseIcon-B717hnWR.js → BaseIcon-DHtro8us.js} +1 -1
  4. package/dist/{useLoading-D7YHNtLX.js → BaseScanner-BgWxam9d.js} +11 -11
  5. package/dist/{ColorPicker-CH5_RNaK.js → ColorPicker-CpWzNn4r.js} +2 -2
  6. package/dist/DataTable-DJjA2_wf.js +140 -0
  7. package/dist/Legend-2-dC7DVb.js +72 -0
  8. package/dist/{NonSvgPenAndPaper-DCJGSteM.js → NonSvgPenAndPaper-DHeE4Yuv.js} +3 -3
  9. package/dist/{PackageVersion-CE7HSich.js → PackageVersion-DU12WH3O.js} +1 -1
  10. package/dist/{PenAndPaper-BMHsOtT8.js → PenAndPaper-B7QEDgx4.js} +3 -3
  11. package/dist/{Shape-C3J8aKNH.js → Shape-Dj2Hl33H.js} +1 -1
  12. package/dist/{Slicer-BEBDljWA.js → Slicer-D99HytqX.js} +2 -2
  13. package/dist/{SparkTooltip-CVSZQtoP.js → SparkTooltip-B-wL07rI.js} +1 -1
  14. package/dist/{Title-BL-IjQmj.js → Title-Dq2_Z9kR.js} +1 -1
  15. package/dist/{Tooltip-CCnDaboi.js → Tooltip-Y219DXZO.js} +1 -1
  16. package/dist/{UserOptions-BWMV0_Ze.js → UserOptions-BuGfCdAY.js} +2 -2
  17. package/dist/{dom-to-png-DwUGURhV.js → dom-to-png-BhciAKaM.js} +1 -1
  18. package/dist/{img-DsVqerdt.js → img-JOqdlnUs.js} +1 -1
  19. package/dist/{index-BHb_mcWF.js → index-CDQbCd41.js} +37 -2
  20. package/dist/{pdf-Ckt8JtYf.js → pdf-Dd-LIJqz.js} +1 -1
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +35 -0
  23. package/dist/types/vue-data-ui.d.ts +35 -0
  24. package/dist/{useAutoSizeLabelsInsideViewbox-Cy946l1e.js → useAutoSizeLabelsInsideViewbox-Bky5KGFZ.js} +1 -1
  25. package/dist/{useNestedProp-aC9S6EFJ.js → useNestedProp-BPEHGiYX.js} +1 -1
  26. package/dist/{usePrinter-B7rhbRrT.js → usePrinter-Bnl1YeUU.js} +2 -2
  27. package/dist/{vue-data-ui-Bu7qDtf0.js → vue-data-ui-DcNYz3cZ.js} +64 -64
  28. package/dist/vue-data-ui.js +1 -1
  29. package/dist/vue-ui-3d-bar-BNIFAeN-.js +1369 -0
  30. package/dist/{vue-ui-accordion-DsnF0JuK.js → vue-ui-accordion-Bf_LHFFX.js} +3 -3
  31. package/dist/{vue-ui-age-pyramid-s8xyb3Gf.js → vue-ui-age-pyramid-Bz-l1afR.js} +333 -286
  32. package/dist/{vue-ui-annotator-DRacM62z.js → vue-ui-annotator-BcfRH2BF.js} +2 -2
  33. package/dist/{vue-ui-bullet-DdDrdyOJ.js → vue-ui-bullet-DK1aM9fX.js} +8 -8
  34. package/dist/{vue-ui-candlestick-BsNnInNt.js → vue-ui-candlestick-D6mMjvtu.js} +453 -406
  35. package/dist/{vue-ui-carousel-table-Ci9mrUBd.js → vue-ui-carousel-table-Vp5f238W.js} +4 -4
  36. package/dist/{vue-ui-chestnut-fHfJNK0V.js → vue-ui-chestnut-BKc4v-lf.js} +509 -459
  37. package/dist/vue-ui-chord-CquhRjf0.js +1100 -0
  38. package/dist/vue-ui-circle-pack-D6zLgxa3.js +755 -0
  39. package/dist/{vue-ui-cursor-Bk5LHg5V.js → vue-ui-cursor-DIXb2S93.js} +2 -2
  40. package/dist/{vue-ui-dashboard-CjZMEYs6.js → vue-ui-dashboard-DmiriAK7.js} +62 -62
  41. package/dist/{vue-ui-digits-nDIvHyRB.js → vue-ui-digits-CLAIo9gW.js} +2 -2
  42. package/dist/{vue-ui-donut-CF9FdxfC.js → vue-ui-donut-C8h_tCSO.js} +477 -431
  43. package/dist/{vue-ui-donut-evolution-f5k-Yu3N.js → vue-ui-donut-evolution-C3r0YhKz.js} +482 -435
  44. package/dist/{vue-ui-dumbbell-Dm3gsrzi.js → vue-ui-dumbbell-D-t4M00E.js} +443 -398
  45. package/dist/vue-ui-flow-D7_D_UNm.js +900 -0
  46. package/dist/vue-ui-funnel-B0QOfZRz.js +666 -0
  47. package/dist/vue-ui-galaxy-Ccw5uNes.js +744 -0
  48. package/dist/{vue-ui-gauge-DkDpUAN7.js → vue-ui-gauge-DvW7nFmK.js} +8 -8
  49. package/dist/{vue-ui-gizmo-BD5fLs8r.js → vue-ui-gizmo-WGQxvGPy.js} +4 -4
  50. package/dist/vue-ui-heatmap-BQkLujyp.js +1127 -0
  51. package/dist/{vue-ui-history-plot-ICoBBO-y.js → vue-ui-history-plot-eU33r_Ot.js} +408 -361
  52. package/dist/{vue-ui-kpi-Dp2M2EFo.js → vue-ui-kpi-CKg2i71M.js} +3 -3
  53. package/dist/{vue-ui-mini-loader-C5672jjA.js → vue-ui-mini-loader-BmkGQsm_.js} +2 -2
  54. package/dist/vue-ui-molecule-Dlu0hjSg.js +702 -0
  55. package/dist/{vue-ui-mood-radar-B-qhYUcB.js → vue-ui-mood-radar-DQaxfw9R.js} +342 -291
  56. package/dist/{vue-ui-nested-donuts-V6BvP3pF.js → vue-ui-nested-donuts-Djj9Aw_i.js} +548 -502
  57. package/dist/{vue-ui-onion-BKqqbWbg.js → vue-ui-onion-ZgsErXis.js} +363 -317
  58. package/dist/vue-ui-parallel-coordinate-plot-B5fB22Jc.js +979 -0
  59. package/dist/vue-ui-quadrant-CMevCtXH.js +1483 -0
  60. package/dist/{vue-ui-quick-chart-BVZSdQeT.js → vue-ui-quick-chart-DcparKSX.js} +7 -7
  61. package/dist/vue-ui-radar-DFbxoKCK.js +858 -0
  62. package/dist/{vue-ui-rating-CncrxDCY.js → vue-ui-rating-ZUpxCWrk.js} +2 -2
  63. package/dist/{vue-ui-relation-circle-VYM1dclx.js → vue-ui-relation-circle-eNKJY4Sx.js} +8 -8
  64. package/dist/vue-ui-ridgeline-D4shpQZd.js +1204 -0
  65. package/dist/vue-ui-rings-TdTHMbsa.js +785 -0
  66. package/dist/{vue-ui-scatter-D2b-u5dv.js → vue-ui-scatter-CVuV9ljU.js} +594 -548
  67. package/dist/{vue-ui-skeleton-BTuBaaE_.js → vue-ui-skeleton-CFxBU2-p.js} +3 -3
  68. package/dist/{vue-ui-smiley-D1UxJNbV.js → vue-ui-smiley-Har3B3aQ.js} +2 -2
  69. package/dist/{vue-ui-spark-trend-BCP0BWMI.js → vue-ui-spark-trend-FPk-XEwI.js} +4 -4
  70. package/dist/{vue-ui-sparkbar-eBo-RSvE.js → vue-ui-sparkbar-V3eJ0w0t.js} +4 -4
  71. package/dist/{vue-ui-sparkgauge-DberOXWX.js → vue-ui-sparkgauge-DKTGkWnJ.js} +4 -4
  72. package/dist/{vue-ui-sparkhistogram-CoKQGG5X.js → vue-ui-sparkhistogram-DJsgFwHs.js} +5 -5
  73. package/dist/{vue-ui-sparkline-B_L4UNES.js → vue-ui-sparkline-Dmrm5SL5.js} +4 -4
  74. package/dist/{vue-ui-sparkstackbar-iAaRIyqb.js → vue-ui-sparkstackbar-B0Pl7VMI.js} +4 -4
  75. package/dist/{vue-ui-stackbar-B_0PJ7R2.js → vue-ui-stackbar-CNsgBPhj.js} +525 -479
  76. package/dist/{vue-ui-strip-plot-CWkA4l9P.js → vue-ui-strip-plot-CYAWwYOM.js} +390 -343
  77. package/dist/{vue-ui-table-CILVy7YP.js → vue-ui-table-Dn6H98rP.js} +3 -3
  78. package/dist/{vue-ui-table-heatmap-DL2n2Z7p.js → vue-ui-table-heatmap-COI9LRqC.js} +5 -5
  79. package/dist/{vue-ui-table-sparkline-DOt2EKpe.js → vue-ui-table-sparkline-B7Gg5FfJ.js} +4 -4
  80. package/dist/{vue-ui-thermometer-BTP1ic_T.js → vue-ui-thermometer-Bgynq5El.js} +8 -8
  81. package/dist/{vue-ui-timer-Bc-zJH9j.js → vue-ui-timer-CXng51v5.js} +5 -5
  82. package/dist/{vue-ui-tiremarks-B9n528e1.js → vue-ui-tiremarks-Cy1U3hO1.js} +7 -7
  83. package/dist/vue-ui-treemap-BsvIvRmE.js +1092 -0
  84. package/dist/{vue-ui-vertical-bar-CK2j09gJ.js → vue-ui-vertical-bar-DHqWeDIf.js} +512 -464
  85. package/dist/{vue-ui-waffle-DJkqgqlR.js → vue-ui-waffle-D1Mscj3N.js} +416 -370
  86. package/dist/{vue-ui-wheel-CcbgpIUr.js → vue-ui-wheel-DpV-N5tF.js} +7 -7
  87. package/dist/vue-ui-word-cloud-MaNQ3Kdk.js +811 -0
  88. package/dist/{vue-ui-world-DLmB_Z96.js → vue-ui-world-DYz6zw3x.js} +512 -466
  89. package/dist/{vue-ui-xy-KmrNT6qh.js → vue-ui-xy-B1nqNbzw.js} +1559 -1508
  90. package/dist/vue-ui-xy-canvas-D4wd-Asd.js +1291 -0
  91. package/package.json +1 -1
  92. package/dist/DataTable-Y5T9UxMO.js +0 -133
  93. package/dist/Legend-DkU3at-b.js +0 -72
  94. package/dist/vue-ui-3d-bar-CBfQ3Pcb.js +0 -1323
  95. package/dist/vue-ui-chord-0wf798ls.js +0 -1049
  96. package/dist/vue-ui-circle-pack-CuRHG8gr.js +0 -709
  97. package/dist/vue-ui-flow-K7UBguES.js +0 -852
  98. package/dist/vue-ui-funnel-DoDZbsTp.js +0 -620
  99. package/dist/vue-ui-galaxy-BsDlHxzE.js +0 -691
  100. package/dist/vue-ui-heatmap-DOT2tBy_.js +0 -1078
  101. package/dist/vue-ui-molecule-DgqVh2k0.js +0 -656
  102. package/dist/vue-ui-parallel-coordinate-plot-BZf24Zur.js +0 -927
  103. package/dist/vue-ui-quadrant-S58B2LrQ.js +0 -1432
  104. package/dist/vue-ui-radar-Dh67mQ9E.js +0 -807
  105. package/dist/vue-ui-ridgeline-CsByERvm.js +0 -1157
  106. package/dist/vue-ui-rings-CR2UfgnV.js +0 -739
  107. package/dist/vue-ui-treemap-Cl9qo9O-.js +0 -1046
  108. package/dist/vue-ui-word-cloud-CZ_TRf4o.js +0 -765
  109. package/dist/vue-ui-xy-canvas-6VYNyX6a.js +0 -1243
@@ -0,0 +1,858 @@
1
+ import { defineAsyncComponent as $, computed as v, ref as c, toRefs as Ct, watch as Me, shallowRef as Ee, onMounted as wt, onBeforeUnmount as $t, createElementBlock as u, openBlock as n, unref as r, normalizeStyle as J, normalizeClass as X, createBlock as P, createCommentVNode as d, createElementVNode as _, createVNode as K, createSlots as Ue, withCtx as h, renderSlot as g, normalizeProps as B, guardReactiveProps as M, Fragment as S, renderList as I, toDisplayString as E, Teleport as _t, resolveDynamicComponent as Tt, mergeProps as At, createTextVNode as ce, nextTick as Ve } from "vue";
2
+ import { u as Pt, c as xt, t as Ft, a as Ot, p as N, b as St, o as It, f as U, d as Nt, g as We, e as Ge, R as Xe, h as Lt, k as Ye, i as Y, X as Rt, s as ve, x as zt, S as He, v as Dt, w as Bt, y as Mt, z as Et } from "./index-CDQbCd41.js";
3
+ import { t as Ut, u as Vt } from "./useResponsive-DfdjqQps.js";
4
+ import { u as Wt, B as Gt } from "./BaseScanner-BgWxam9d.js";
5
+ import { u as Xt } from "./usePrinter-Bnl1YeUU.js";
6
+ import { u as je } from "./useNestedProp-BPEHGiYX.js";
7
+ import { u as Yt } from "./useUserOptionState-BIvW1Kz7.js";
8
+ import { u as Ht } from "./useChartAccessibility-9icAAmYg.js";
9
+ import { u as jt } from "./useAutoSizeLabelsInsideViewbox-Bky5KGFZ.js";
10
+ import qt from "./img-JOqdlnUs.js";
11
+ import Jt from "./Title-Dq2_Z9kR.js";
12
+ import Kt from "./Legend-2-dC7DVb.js";
13
+ import { _ as Qt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
14
+ const Zt = ["id"], ea = ["id"], ta = ["xmlns", "viewBox"], aa = ["width", "height"], oa = ["id"], la = ["stop-color"], na = ["stop-color"], sa = { key: 1 }, ra = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], ua = { key: 0 }, ia = ["d", "stroke", "stroke-width"], ca = ["d", "stroke", "stroke-width"], va = { key: 2 }, da = ["x", "y", "text-anchor", "font-size", "fill", "onMouseenter", "onMouseleave", "onClick"], pa = ["points", "stroke", "stroke-width"], ha = ["points", "stroke", "stroke-width", "fill"], ga = { key: 3 }, fa = ["cx", "cy", "fill", "r", "stroke"], ya = {
15
+ key: 4,
16
+ class: "vue-data-ui-watermark"
17
+ }, ma = ["id"], ba = ["onClick"], ka = {
18
+ key: 0,
19
+ style: { "max-width": "200px", margin: "0 auto" }
20
+ }, Ca = {
21
+ __name: "vue-ui-radar",
22
+ props: {
23
+ config: {
24
+ type: Object,
25
+ default() {
26
+ return {};
27
+ }
28
+ },
29
+ dataset: {
30
+ type: Object,
31
+ default() {
32
+ return {};
33
+ }
34
+ }
35
+ },
36
+ emits: ["selectLegend"],
37
+ setup(qe, { expose: Je, emit: Ke }) {
38
+ const Qe = $(() => import("./Tooltip-Y219DXZO.js")), Ze = $(() => import("./BaseIcon-DHtro8us.js")), et = $(() => import("./vue-ui-sparkbar-V3eJ0w0t.js")), tt = $(() => import("./vue-ui-accordion-Bf_LHFFX.js")), at = $(() => import("./DataTable-DJjA2_wf.js")), ot = $(() => import("./PenAndPaper-B7QEDgx4.js")), lt = $(() => import("./UserOptions-BuGfCdAY.js")), nt = $(() => import("./PackageVersion-DU12WH3O.js")), st = $(() => import("./BaseDraggableDialog-O7900pGp.js")), { vue_ui_radar: rt } = Pt(), x = qe, de = v(() => !!x.dataset && Object.keys(x.dataset).length), b = c(xt()), ut = c(null), Q = c(!1), Z = c(""), pe = c(0), C = c(null), he = c(null), ge = c(null), fe = c(null), ye = c(null), me = c(0), be = c(0), ke = c(0), Ce = c(!1), V = c(null), e = c(ae()), { loading: we, FINAL_DATASET: w } = Wt({
39
+ ...Ct(x),
40
+ FINAL_CONFIG: e,
41
+ prepareConfig: ae,
42
+ callback: () => {
43
+ Promise.resolve().then(async () => {
44
+ await Ve(), f.value.showTable = e.value.table.show;
45
+ });
46
+ },
47
+ skeletonDataset: {
48
+ categories: [{ name: "_", color: "#6A6A6A" }],
49
+ series: [
50
+ { name: "_", values: [0.6], target: 1 },
51
+ { name: "_", values: [0.6], target: 1 },
52
+ { name: "_", values: [0.6], target: 1 },
53
+ { name: "_", values: [0.6], target: 1 },
54
+ { name: "_", values: [0.6], target: 1 },
55
+ { name: "_", values: [0.6], target: 1 }
56
+ ]
57
+ },
58
+ skeletonConfig: Ft({
59
+ defaultConfig: e.value,
60
+ userConfig: {
61
+ userOptions: { show: !1 },
62
+ table: { show: !1 },
63
+ useCssAnimation: !1,
64
+ style: {
65
+ chart: {
66
+ backgroundColor: "#99999930",
67
+ layout: {
68
+ grid: {
69
+ stroke: "#6A6A6A90"
70
+ },
71
+ labels: {
72
+ dataLabels: { show: !1 }
73
+ },
74
+ outerPolygon: {
75
+ stroke: "#6A6A6A"
76
+ }
77
+ },
78
+ legend: {
79
+ backgroundColor: "transparent"
80
+ }
81
+ }
82
+ }
83
+ }
84
+ })
85
+ }), { userOptionsVisible: ee, setUserOptionsVisibility: $e, keepUserOptionState: _e } = Yt({ config: e.value }), { svgRef: te } = Ht({ config: e.value.style.chart.title });
86
+ function ae() {
87
+ const t = je({
88
+ userConfig: x.config,
89
+ defaultConfig: rt
90
+ });
91
+ return t.theme ? {
92
+ ...je({
93
+ userConfig: St.vue_ui_radar[t.theme] || x.config,
94
+ defaultConfig: t
95
+ }),
96
+ customPalette: Ot[t.theme] || N
97
+ } : t;
98
+ }
99
+ Me(() => x.config, (t) => {
100
+ e.value = ae(), ee.value = !e.value.userOptions.showOnChartHover, Te(), me.value += 1, be.value += 1, ke.value += 1, f.value.dataLabels.show = e.value.style.chart.layout.labels.dataLabels.show, f.value.showTable = e.value.table.show, f.value.showTooltip = e.value.style.chart.tooltip ? e.value.style.chart.tooltip.show : !1;
101
+ }, { deep: !0 });
102
+ const T = Ee(null), L = Ee(null), R = v(() => e.value.debug);
103
+ function Te() {
104
+ if (It(x.dataset) && U({
105
+ componentName: "VueUiRadar",
106
+ type: "dataset",
107
+ debug: R.value
108
+ }), e.value.responsive) {
109
+ const t = Ut(() => {
110
+ const { width: a, height: o } = Vt({
111
+ chart: C.value,
112
+ title: e.value.style.chart.title.text ? he.value : null,
113
+ legend: e.value.style.chart.legend.show ? ge.value : null,
114
+ source: fe.value,
115
+ noTitle: ye.value
116
+ });
117
+ requestAnimationFrame(() => {
118
+ i.value.width = a, i.value.height = o, Re();
119
+ });
120
+ });
121
+ T.value && (L.value && T.value.unobserve(L.value), T.value.disconnect()), T.value = new ResizeObserver(t), L.value = C.value.parentNode, T.value.observe(L.value);
122
+ }
123
+ Re();
124
+ }
125
+ wt(() => {
126
+ Ce.value = !0, Te();
127
+ }), $t(() => {
128
+ T.value && (L.value && T.value.unobserve(L.value), T.value.disconnect());
129
+ });
130
+ const { isPrinting: Ae, isImaging: Pe, generatePdf: xe, generateImage: Fe } = Xt({
131
+ elementId: `vue-ui-radar_${b.value}`,
132
+ fileName: e.value.style.chart.title.text || "vue-ui-radar",
133
+ options: e.value.userOptions.print
134
+ }), it = v(() => e.value.userOptions.show && !e.value.style.chart.title.text), Oe = v(() => Nt(e.value.customPalette)), f = c({
135
+ dataLabels: {
136
+ show: e.value.style.chart.layout.labels.dataLabels.show
137
+ },
138
+ showTable: e.value.table.show,
139
+ showTooltip: e.value.style.chart.tooltip.show
140
+ }), ct = v(() => ({
141
+ style: {
142
+ backgroundColor: "#FFFFFF00",
143
+ animation: {
144
+ show: e.value.style.chart.tooltip.animation.show,
145
+ animationFrames: e.value.style.chart.tooltip.animation.animationFrames
146
+ },
147
+ labels: {
148
+ fontSize: e.value.style.chart.tooltip.fontSize,
149
+ name: {
150
+ color: e.value.style.chart.tooltip.color
151
+ }
152
+ },
153
+ gutter: {
154
+ backgroundColor: "#CCCCCC",
155
+ opacity: 30
156
+ }
157
+ }
158
+ })), i = c({
159
+ height: 312,
160
+ width: 512
161
+ }), vt = Ke, p = c([]), W = c(null), z = c(!1);
162
+ function Se(t) {
163
+ z.value = !0, p.value.includes(t) ? (W.value = t, p.value = p.value.filter((a) => a !== t), setTimeout(() => {
164
+ z.value = !1, W.value = null;
165
+ }, 500)) : (p.value.push(t), setTimeout(() => {
166
+ z.value = !1;
167
+ }, 500)), vt("selectLegend", D.value.filter((a, o) => !p.value.includes(o)).map((a) => ({
168
+ name: a.name,
169
+ color: a.color,
170
+ proportion: a.totalProportion
171
+ })));
172
+ }
173
+ function dt() {
174
+ return D.value.map((t) => ({
175
+ name: t.name,
176
+ color: t.color,
177
+ proportion: t.totalProportion
178
+ }));
179
+ }
180
+ const y = v(() => [null, void 0].includes(w.value.categories) ? (U({
181
+ componentName: "VueUiRadar",
182
+ type: "datasetAttribute",
183
+ property: "categories ({ name: string; prefix?: string; suffix?: string}[])",
184
+ debug: R.value
185
+ }), []) : (w.value.categories.length === 0 ? U({
186
+ componentName: "VueUiRadar",
187
+ type: "datasetAttributeEmpty",
188
+ property: "categories",
189
+ debug: R.value
190
+ }) : w.value.categories.forEach((t, a) => {
191
+ We({
192
+ datasetObject: t,
193
+ requiredAttributes: ["name"]
194
+ }).forEach((o) => {
195
+ U({
196
+ componentName: "VueUiRadar",
197
+ type: "datasetAttribute",
198
+ property: `category.${o} at index ${a}`,
199
+ index: a,
200
+ debug: R.value
201
+ });
202
+ });
203
+ }), [null, void 0].includes(w.value.series) ? U({
204
+ componentName: "VueUiRadar",
205
+ type: "datasetAttribute",
206
+ property: "series ({ name: string; values: number[]; color?: string; target: number}[])",
207
+ debug: R.value
208
+ }) : w.value.series.forEach((t, a) => {
209
+ We({
210
+ datasetObject: t,
211
+ requiredAttributes: ["name", "values", "target"]
212
+ }).forEach((o) => {
213
+ U({
214
+ componentName: "VueUiRadar",
215
+ type: "datasetSerieAttribute",
216
+ key: "series",
217
+ property: o,
218
+ index: a,
219
+ debug: R.value
220
+ });
221
+ });
222
+ }), w.value.categories.map((t, a) => ({
223
+ name: t.name,
224
+ categoryId: `radar_category_${b.value}_${a}`,
225
+ color: Ge(t.color) || Oe.value[a] || N[a] || N[a % N.length],
226
+ prefix: t.prefix ?? "",
227
+ suffix: t.suffix ?? ""
228
+ })))), k = v(() => w.value.series.map((t, a) => ({
229
+ ...t,
230
+ color: Ge(t.color) || Oe.value[a] || N[a] || N[a % N.length],
231
+ serieId: `radar_serie_${b.value}_${a}`,
232
+ formatter: t.formatter || null
233
+ }))), Ie = v(() => Math.max(...k.value.flatMap((t) => t.values))), Ne = v(() => k.value.length), oe = v(() => Math.min(i.value.width, i.value.height) / 3), Le = v(() => Xe({
234
+ plot: { x: i.value.width / 2, y: i.value.height / 2 },
235
+ radius: oe.value,
236
+ sides: Ne.value,
237
+ rotation: 0
238
+ })), pt = v(() => {
239
+ const t = [];
240
+ for (let a = 0; a < oe.value; a += oe.value / e.value.style.chart.layout.grid.graduations)
241
+ t.push(a);
242
+ return t;
243
+ }), A = v(() => Le.value.coordinates.map((t, a) => {
244
+ const o = k.value[a].values.map((l) => gt({
245
+ centerX: i.value.width / 2,
246
+ centerY: i.value.height / 2,
247
+ apexX: t.x,
248
+ apexY: t.y,
249
+ proportion: l / (k.value[a].target || Ie.value)
250
+ }));
251
+ return {
252
+ ...t,
253
+ ...k.value[a],
254
+ plots: o
255
+ };
256
+ }).map((t) => ({
257
+ ...t,
258
+ labelX: le(t).x,
259
+ labelY: le(t).y,
260
+ labelAnchor: le(t).anchor
261
+ })));
262
+ function le({ x: t, y: a }) {
263
+ let o = "middle";
264
+ return t = Math.round(t), a = Math.round(a), t > i.value.width / 2 && (t += 12, o = "start"), t < i.value.width / 2 && (t -= 12, o = "end"), a > i.value.height / 2 + 1 && (a += 20), a < i.value.height / 2 - 1 && (a -= 12), a === i.value.height / 2 && (a += 4), { x: t, y: a, anchor: o };
265
+ }
266
+ const ht = v({
267
+ get: () => e.value.style.chart.layout.labels.dataLabels.fontSize,
268
+ set: (t) => t
269
+ }), { autoSizeLabels: Re } = jt({
270
+ svgRef: te,
271
+ fontSize: e.value.style.chart.layout.labels.dataLabels.fontSize,
272
+ minFontSize: 6,
273
+ sizeRef: ht,
274
+ labelClass: ".vue-ui-radar-apex-label"
275
+ });
276
+ function gt({ centerX: t, centerY: a, apexX: o, apexY: l, proportion: s }) {
277
+ return {
278
+ x: t + (o - t) * s,
279
+ y: a + (l - a) * s
280
+ };
281
+ }
282
+ const D = v(() => {
283
+ const t = k.value.map((a, o) => a.values.map((l) => l / (a.target || Ie.value)));
284
+ return y.value.map((a, o) => ({
285
+ ...a,
286
+ totalProportion: Lt(t.map((l) => l[o]).reduce((l, s) => l + s, 0) / k.value.length),
287
+ shape: "circle",
288
+ opacity: p.value.includes(o) ? 0.5 : 1,
289
+ segregate: () => Se(o),
290
+ isSegregated: p.value.includes(o)
291
+ }));
292
+ }), ft = v(() => ({
293
+ cy: "radar-div-legend",
294
+ backgroundColor: e.value.style.chart.legend.backgroundColor,
295
+ color: e.value.style.chart.legend.color,
296
+ fontSize: e.value.style.chart.legend.fontSize,
297
+ paddingBottom: 12,
298
+ fontWeight: e.value.style.chart.legend.bold ? "bold" : ""
299
+ })), H = v(() => {
300
+ const t = [
301
+ { name: e.value.translations.datapoint, color: "" },
302
+ { name: e.value.translations.target, color: "" },
303
+ ...D.value
304
+ ], a = w.value.series.map((l) => [
305
+ l.name,
306
+ Ye(
307
+ l.formatter,
308
+ l.target,
309
+ Y({
310
+ p: l.prefix,
311
+ v: l.target,
312
+ s: l.suffix,
313
+ r: e.value.table.td.roundingValue
314
+ })
315
+ ),
316
+ ...l.values.map((s, m) => `${Ye(
317
+ l.formatter,
318
+ s,
319
+ Y({ p: y.value[m].prefix, v: s, s: y.value[m].suffix, r: e.value.table.td.roundingValue })
320
+ )} (${isNaN(s / l.target) ? "" : Y({
321
+ v: s / l.target * 100,
322
+ s: "%",
323
+ r: e.value.table.td.roundingPercentage
324
+ })})`)
325
+ ]), o = {
326
+ th: {
327
+ backgroundColor: e.value.table.th.backgroundColor,
328
+ color: e.value.table.th.color,
329
+ outline: e.value.table.th.outline
330
+ },
331
+ td: {
332
+ backgroundColor: e.value.table.td.backgroundColor,
333
+ color: e.value.table.td.color,
334
+ outline: e.value.table.td.outline
335
+ },
336
+ breakpoint: e.value.table.responsiveBreakpoint
337
+ };
338
+ return { head: t, body: a, config: o, colNames: t };
339
+ }), j = c(null), ne = c([]), se = c(null);
340
+ function yt(t, a) {
341
+ Q.value = !1, j.value = null, e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: a });
342
+ }
343
+ function mt(t, a) {
344
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: a });
345
+ }
346
+ function bt(t, a) {
347
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: a }), ne.value = [], j.value = a, Q.value = !0;
348
+ let o = "";
349
+ se.value = {
350
+ datapoint: t,
351
+ seriesIndex: a,
352
+ series: {
353
+ categories: y.value,
354
+ datapoints: k.value,
355
+ radar: A.value
356
+ },
357
+ config: e.value
358
+ };
359
+ const l = e.value.style.chart.tooltip.customFormat;
360
+ if (Mt(l) && Et(() => l({
361
+ seriesIndex: a,
362
+ datapoint: t,
363
+ series: { categories: y.value, datapoints: k.value, radar: A.value },
364
+ config: e.value
365
+ })))
366
+ Z.value = l({
367
+ seriesIndex: a,
368
+ datapoint: t,
369
+ series: { categories: y.value, datapoints: k.value, radar: A.value },
370
+ config: e.value
371
+ });
372
+ else {
373
+ o += `<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>`;
374
+ for (let s = 0; s < t.values.length; s += 1)
375
+ p.value.includes(s) || ne.value.push({
376
+ name: y.value[s].name,
377
+ value: t.values[s] / t.target * 100,
378
+ color: y.value[s].color,
379
+ suffix: "%)",
380
+ prefix: `${Y({ p: y.value[s].prefix ?? "", v: t.values[s], s: y.value[s].suffix ?? "", r: e.value.style.chart.tooltip.roundingValue })} (`,
381
+ rounding: e.value.style.chart.tooltip.roundingPercentage,
382
+ formatter: t.formatter
383
+ });
384
+ Z.value = o;
385
+ }
386
+ }
387
+ function re(t = null) {
388
+ Ve(() => {
389
+ const a = [[e.value.style.chart.title.text], [e.value.style.chart.title.subtitle.text], [""]], o = [[""], [e.value.translations.target], ...D.value.flatMap((O) => [[O.name], ["%"]])], l = w.value.series.map((O, wa) => [O.name, O.target, ...O.values.flatMap((ie) => [
390
+ ie,
391
+ isNaN(ie / O.target) ? "" : ie / O.target * 100
392
+ ])]), s = a.concat([o]).concat(l), m = Dt(s);
393
+ t ? t(m) : Bt({ csvContent: m, title: e.value.style.chart.title.text || "vue-ui-radar" });
394
+ });
395
+ }
396
+ const F = c(!1);
397
+ function ze(t) {
398
+ F.value = t, pe.value += 1;
399
+ }
400
+ function De() {
401
+ f.value.showTable = !f.value.showTable;
402
+ }
403
+ function Be() {
404
+ f.value.showTooltip = !f.value.showTooltip;
405
+ }
406
+ const q = c(!1);
407
+ function ue() {
408
+ q.value = !q.value;
409
+ }
410
+ async function kt({ scale: t = 2 } = {}) {
411
+ if (!C.value) return;
412
+ const { width: a, height: o } = C.value.getBoundingClientRect(), l = a / o, { imageUri: s, base64: m } = await qt({ domElement: C.value, base64: !0, img: !0, scale: t });
413
+ return {
414
+ imageUri: s,
415
+ base64: m,
416
+ title: e.value.style.chart.title.text,
417
+ width: a,
418
+ height: o,
419
+ aspectRatio: l
420
+ };
421
+ }
422
+ const G = v(() => {
423
+ const t = e.value.table.useDialog && !e.value.table.show, a = f.value.showTable;
424
+ return {
425
+ component: t ? st : tt,
426
+ title: `${e.value.style.chart.title.text}${e.value.style.chart.title.subtitle.text ? `: ${e.value.style.chart.title.subtitle.text}` : ""}`,
427
+ props: t ? {
428
+ backgroundColor: e.value.table.th.backgroundColor,
429
+ color: e.value.table.th.color,
430
+ headerColor: e.value.table.th.color,
431
+ headerBg: e.value.table.th.backgroundColor,
432
+ isFullscreen: F.value,
433
+ fullscreenParent: C.value,
434
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
435
+ } : {
436
+ hideDetails: !0,
437
+ config: {
438
+ open: a,
439
+ maxHeight: 1e4,
440
+ body: {
441
+ backgroundColor: e.value.style.chart.backgroundColor,
442
+ color: e.value.style.chart.color
443
+ },
444
+ head: {
445
+ backgroundColor: e.value.style.chart.backgroundColor,
446
+ color: e.value.style.chart.color
447
+ }
448
+ }
449
+ }
450
+ };
451
+ });
452
+ return Me(() => f.value.showTable, (t) => {
453
+ e.value.table.show || (t && e.value.table.useDialog && V.value ? V.value.open() : "close" in V.value && V.value.close());
454
+ }), Je({
455
+ getData: dt,
456
+ getImage: kt,
457
+ generatePdf: xe,
458
+ generateCsv: re,
459
+ generateImage: Fe,
460
+ toggleTable: De,
461
+ toggleTooltip: Be,
462
+ toggleAnnotator: ue,
463
+ toggleFullscreen: ze
464
+ }), (t, a) => (n(), u("div", {
465
+ class: X(`vue-ui-radar ${F.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${e.value.useCssAnimation ? "" : "vue-ui-dna"}`),
466
+ ref_key: "radarChart",
467
+ ref: C,
468
+ id: `vue-ui-radar_${b.value}`,
469
+ style: J(`font-family:${e.value.style.fontFamily};width:100%; ${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.chart.backgroundColor}`),
470
+ onMouseenter: a[4] || (a[4] = () => r($e)(!0)),
471
+ onMouseleave: a[5] || (a[5] = () => r($e)(!1))
472
+ }, [
473
+ e.value.userOptions.buttons.annotator ? (n(), P(r(ot), {
474
+ key: 0,
475
+ svgRef: r(te),
476
+ backgroundColor: e.value.style.chart.backgroundColor,
477
+ color: e.value.style.chart.color,
478
+ active: q.value,
479
+ onClose: ue
480
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : d("", !0),
481
+ it.value ? (n(), u("div", {
482
+ key: 1,
483
+ ref_key: "noTitle",
484
+ ref: ye,
485
+ class: "vue-data-ui-no-title-space",
486
+ style: "height:36px; width: 100%;background:transparent"
487
+ }, null, 512)) : d("", !0),
488
+ e.value.style.chart.title.text ? (n(), u("div", {
489
+ key: 2,
490
+ ref_key: "chartTitle",
491
+ ref: he,
492
+ style: "width:100%;background:transparent;padding-bottom:12px"
493
+ }, [
494
+ (n(), P(Jt, {
495
+ key: `title_${me.value}`,
496
+ config: {
497
+ title: {
498
+ cy: "radar-div-title",
499
+ ...e.value.style.chart.title
500
+ },
501
+ subtitle: {
502
+ cy: "radar-div-subtitle",
503
+ ...e.value.style.chart.title.subtitle
504
+ }
505
+ }
506
+ }, null, 8, ["config"]))
507
+ ], 512)) : d("", !0),
508
+ _("div", {
509
+ id: `legend-top-${b.value}`
510
+ }, null, 8, ea),
511
+ e.value.userOptions.show && de.value && (r(_e) || r(ee)) ? (n(), P(r(lt), {
512
+ ref_key: "details",
513
+ ref: ut,
514
+ key: `user_options_${pe.value}`,
515
+ backgroundColor: e.value.style.chart.backgroundColor,
516
+ color: e.value.style.chart.color,
517
+ isImaging: r(Pe),
518
+ isPrinting: r(Ae),
519
+ uid: b.value,
520
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.chart.tooltip.show,
521
+ hasPdf: e.value.userOptions.buttons.pdf,
522
+ hasImg: e.value.userOptions.buttons.img,
523
+ hasXls: e.value.userOptions.buttons.csv,
524
+ hasTable: e.value.userOptions.buttons.table,
525
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
526
+ isFullscreen: F.value,
527
+ isTooltip: f.value.showTooltip,
528
+ titles: { ...e.value.userOptions.buttonTitles },
529
+ chartElement: C.value,
530
+ position: e.value.userOptions.position,
531
+ hasAnnotator: e.value.userOptions.buttons.annotator,
532
+ isAnnotation: q.value,
533
+ callbacks: e.value.userOptions.callbacks,
534
+ printScale: e.value.userOptions.print.scale,
535
+ onToggleFullscreen: ze,
536
+ onGeneratePdf: r(xe),
537
+ onGenerateCsv: re,
538
+ onGenerateImage: r(Fe),
539
+ onToggleTable: De,
540
+ onToggleTooltip: Be,
541
+ onToggleAnnotator: ue,
542
+ style: J({
543
+ visibility: r(_e) ? r(ee) ? "visible" : "hidden" : "visible"
544
+ })
545
+ }, Ue({ _: 2 }, [
546
+ t.$slots.menuIcon ? {
547
+ name: "menuIcon",
548
+ fn: h(({ isOpen: o, color: l }) => [
549
+ g(t.$slots, "menuIcon", B(M({ isOpen: o, color: l })), void 0, !0)
550
+ ]),
551
+ key: "0"
552
+ } : void 0,
553
+ t.$slots.optionTooltip ? {
554
+ name: "optionTooltip",
555
+ fn: h(() => [
556
+ g(t.$slots, "optionTooltip", {}, void 0, !0)
557
+ ]),
558
+ key: "1"
559
+ } : void 0,
560
+ t.$slots.optionPdf ? {
561
+ name: "optionPdf",
562
+ fn: h(() => [
563
+ g(t.$slots, "optionPdf", {}, void 0, !0)
564
+ ]),
565
+ key: "2"
566
+ } : void 0,
567
+ t.$slots.optionCsv ? {
568
+ name: "optionCsv",
569
+ fn: h(() => [
570
+ g(t.$slots, "optionCsv", {}, void 0, !0)
571
+ ]),
572
+ key: "3"
573
+ } : void 0,
574
+ t.$slots.optionImg ? {
575
+ name: "optionImg",
576
+ fn: h(() => [
577
+ g(t.$slots, "optionImg", {}, void 0, !0)
578
+ ]),
579
+ key: "4"
580
+ } : void 0,
581
+ t.$slots.optionTable ? {
582
+ name: "optionTable",
583
+ fn: h(() => [
584
+ g(t.$slots, "optionTable", {}, void 0, !0)
585
+ ]),
586
+ key: "5"
587
+ } : void 0,
588
+ t.$slots.optionFullscreen ? {
589
+ name: "optionFullscreen",
590
+ fn: h(({ toggleFullscreen: o, isFullscreen: l }) => [
591
+ g(t.$slots, "optionFullscreen", B(M({ toggleFullscreen: o, isFullscreen: l })), void 0, !0)
592
+ ]),
593
+ key: "6"
594
+ } : void 0,
595
+ t.$slots.optionAnnotator ? {
596
+ name: "optionAnnotator",
597
+ fn: h(({ toggleAnnotator: o, isAnnotator: l }) => [
598
+ g(t.$slots, "optionAnnotator", B(M({ toggleAnnotator: o, isAnnotator: l })), void 0, !0)
599
+ ]),
600
+ key: "7"
601
+ } : void 0
602
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : d("", !0),
603
+ (n(), u("svg", {
604
+ ref_key: "svgRef",
605
+ ref: te,
606
+ xmlns: r(Rt),
607
+ class: X({ "vue-data-ui-fullscreen--on": F.value, "vue-data-ui-fulscreen--off": !F.value }),
608
+ viewBox: `0 0 ${i.value.width <= 0 ? 10 : i.value.width} ${i.value.height <= 0 ? 10 : i.value.height}`,
609
+ style: J(`max-width:100%;overflow:visible;background:transparent;color:${e.value.style.chart.color}`)
610
+ }, [
611
+ K(r(nt)),
612
+ t.$slots["chart-background"] ? (n(), u("foreignObject", {
613
+ key: 0,
614
+ x: 0,
615
+ y: 0,
616
+ width: i.value.width <= 0 ? 10 : i.value.width,
617
+ height: i.value.height <= 0 ? 10 : i.value.height,
618
+ style: {
619
+ pointerEvents: "none"
620
+ }
621
+ }, [
622
+ g(t.$slots, "chart-background", {}, void 0, !0)
623
+ ], 8, aa)) : d("", !0),
624
+ _("defs", null, [
625
+ (n(!0), u(S, null, I(y.value, (o, l) => (n(), u("radialGradient", {
626
+ cx: "50%",
627
+ cy: "50%",
628
+ r: "50%",
629
+ fx: "50%",
630
+ fy: "50%",
631
+ id: `radar_gradient_${b.value}_${l}`
632
+ }, [
633
+ _("stop", {
634
+ offset: "0%",
635
+ "stop-color": r(ve)(r(zt)(o.color, 0.05), e.value.style.chart.layout.dataPolygon.opacity)
636
+ }, null, 8, la),
637
+ _("stop", {
638
+ offset: "100%",
639
+ "stop-color": r(ve)(o.color, e.value.style.chart.layout.dataPolygon.opacity)
640
+ }, null, 8, na)
641
+ ], 8, oa))), 256))
642
+ ]),
643
+ e.value.style.chart.layout.grid.show ? (n(), u("g", sa, [
644
+ (n(!0), u(S, null, I(A.value, (o) => (n(), u("line", {
645
+ x1: i.value.width / 2,
646
+ y1: i.value.height / 2,
647
+ x2: o.x,
648
+ y2: o.y,
649
+ stroke: e.value.style.chart.layout.grid.stroke,
650
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
651
+ }, null, 8, ra))), 256)),
652
+ e.value.style.chart.layout.grid.graduations > 0 ? (n(), u("g", ua, [
653
+ (n(!0), u(S, null, I(pt.value, (o) => (n(), u("path", {
654
+ d: r(Xe)({
655
+ plot: { x: i.value.width / 2, y: i.value.height / 2 },
656
+ radius: o,
657
+ sides: Ne.value,
658
+ rotation: 0
659
+ }).path,
660
+ fill: "none",
661
+ stroke: e.value.style.chart.layout.grid.stroke,
662
+ "stroke-width": e.value.style.chart.layout.grid.strokeWidth
663
+ }, null, 8, ia))), 256))
664
+ ])) : d("", !0)
665
+ ])) : d("", !0),
666
+ _("path", {
667
+ d: Le.value.path,
668
+ fill: "none",
669
+ stroke: e.value.style.chart.layout.outerPolygon.stroke,
670
+ "stroke-width": e.value.style.chart.layout.outerPolygon.strokeWidth,
671
+ "stroke-linejoin": "round",
672
+ "stroke-linecap": "round"
673
+ }, null, 8, ca),
674
+ e.value.style.chart.layout.labels.dataLabels.show ? (n(), u("g", va, [
675
+ (n(!0), u(S, null, I(A.value, (o, l) => (n(), u("text", {
676
+ class: "vue-ui-radar-apex-label",
677
+ x: o.labelX,
678
+ y: o.labelY,
679
+ "text-anchor": o.labelAnchor,
680
+ "font-size": e.value.style.chart.layout.labels.dataLabels.fontSize,
681
+ fill: e.value.style.chart.layout.labels.dataLabels.color,
682
+ onMouseenter: (s) => bt(o, l),
683
+ onMouseleave: (s) => yt(o, l),
684
+ onClick: (s) => mt(o, l)
685
+ }, E(o.name), 41, da))), 256))
686
+ ])) : d("", !0),
687
+ (n(!0), u(S, null, I(y.value, (o, l) => (n(), u("g", null, [
688
+ _("g", null, [
689
+ e.value.useCssAnimation || !e.value.useCssAnimation && !p.value.includes(l) ? (n(), u("polygon", {
690
+ key: 0,
691
+ points: r(He)(A.value.map((s) => s.plots[l]), !1, !0),
692
+ stroke: e.value.style.chart.backgroundColor,
693
+ "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth + 1,
694
+ fill: "none",
695
+ class: X({ "animated-out": p.value.includes(l) && e.value.useCssAnimation, "animated-in": z.value && W.value === l && e.value.useCssAnimation })
696
+ }, null, 10, pa)) : d("", !0),
697
+ e.value.useCssAnimation || !e.value.useCssAnimation && !p.value.includes(l) ? (n(), u("polygon", {
698
+ key: 1,
699
+ points: r(He)(A.value.map((s) => s.plots[l]), !1, !0),
700
+ stroke: o.color,
701
+ "stroke-width": e.value.style.chart.layout.dataPolygon.strokeWidth,
702
+ fill: e.value.style.chart.layout.dataPolygon.transparent ? "transparent" : e.value.style.chart.layout.dataPolygon.useGradient ? `url(#radar_gradient_${b.value}_${l})` : r(ve)(o.color, e.value.style.chart.layout.dataPolygon.opacity),
703
+ class: X({ "animated-out": p.value.includes(l) && e.value.useCssAnimation, "animated-in": z.value && W.value === l && e.value.useCssAnimation })
704
+ }, null, 10, ha)) : d("", !0)
705
+ ])
706
+ ]))), 256)),
707
+ e.value.style.chart.layout.plots.show ? (n(), u("g", ga, [
708
+ (n(!0), u(S, null, I(A.value, (o, l) => (n(), u("g", null, [
709
+ (n(!0), u(S, null, I(o.plots, (s, m) => (n(), u("circle", {
710
+ cx: s.x,
711
+ cy: s.y,
712
+ fill: p.value.includes(m) ? "transparent" : y.value[m] ? y.value[m].color : "transparent",
713
+ r: j.value !== null && j.value === l ? e.value.style.chart.layout.plots.radius * 1.6 : e.value.style.chart.layout.plots.radius,
714
+ stroke: p.value.includes(m) ? "transparent" : e.value.style.chart.backgroundColor,
715
+ "stroke-width": 0.5,
716
+ class: X({ "animated-out": p.value.includes(m) && e.value.useCssAnimation, "animated-in": z.value && W.value === m && e.value.useCssAnimation })
717
+ }, null, 10, fa))), 256))
718
+ ]))), 256))
719
+ ])) : d("", !0),
720
+ g(t.$slots, "svg", { svg: i.value }, void 0, !0)
721
+ ], 14, ta)),
722
+ t.$slots.watermark ? (n(), u("div", ya, [
723
+ g(t.$slots, "watermark", B(M({ isPrinting: r(Ae) || r(Pe) })), void 0, !0)
724
+ ])) : d("", !0),
725
+ _("div", {
726
+ id: `legend-bottom-${b.value}`
727
+ }, null, 8, ma),
728
+ Ce.value ? (n(), P(_t, {
729
+ key: 5,
730
+ to: e.value.style.chart.legend.position === "top" ? `#legend-top-${b.value}` : `#legend-bottom-${b.value}`
731
+ }, [
732
+ _("div", {
733
+ ref_key: "chartLegend",
734
+ ref: ge
735
+ }, [
736
+ e.value.style.chart.legend.show ? (n(), P(Kt, {
737
+ key: `legend_${ke.value}`,
738
+ legendSet: D.value,
739
+ config: ft.value,
740
+ onClickMarker: a[0] || (a[0] = ({ i: o }) => Se(o))
741
+ }, {
742
+ item: h(({ legend: o, index: l }) => [
743
+ r(we) ? d("", !0) : (n(), u("div", {
744
+ key: 0,
745
+ onClick: (s) => o.segregate(),
746
+ style: J(`opacity:${p.value.includes(l) ? 0.5 : 1}`)
747
+ }, E(o.name) + ": " + E(r(Y)({
748
+ v: o.totalProportion * 100,
749
+ s: "%",
750
+ r: e.value.style.chart.legend.roundingPercentage
751
+ })), 13, ba))
752
+ ]),
753
+ _: 1
754
+ }, 8, ["legendSet", "config"])) : g(t.$slots, "legend", {
755
+ key: 1,
756
+ legend: D.value
757
+ }, void 0, !0)
758
+ ], 512)
759
+ ], 8, ["to"])) : d("", !0),
760
+ t.$slots.source ? (n(), u("div", {
761
+ key: 6,
762
+ ref_key: "source",
763
+ ref: fe,
764
+ dir: "auto"
765
+ }, [
766
+ g(t.$slots, "source", {}, void 0, !0)
767
+ ], 512)) : d("", !0),
768
+ K(r(Qe), {
769
+ show: f.value.showTooltip && Q.value,
770
+ backgroundColor: e.value.style.chart.tooltip.backgroundColor,
771
+ color: e.value.style.chart.tooltip.color,
772
+ borderRadius: e.value.style.chart.tooltip.borderRadius,
773
+ borderColor: e.value.style.chart.tooltip.borderColor,
774
+ borderWidth: e.value.style.chart.tooltip.borderWidth,
775
+ backgroundOpacity: e.value.style.chart.tooltip.backgroundOpacity,
776
+ fontSize: e.value.style.chart.tooltip.fontSize,
777
+ position: e.value.style.chart.tooltip.position,
778
+ offsetY: e.value.style.chart.tooltip.offsetY,
779
+ parent: C.value,
780
+ content: Z.value,
781
+ isFullscreen: F.value,
782
+ isCustom: e.value.style.chart.tooltip.customFormat && typeof e.value.style.chart.tooltip.customFormat == "function",
783
+ smooth: e.value.style.chart.tooltip.smooth,
784
+ backdropFilter: e.value.style.chart.tooltip.backdropFilter
785
+ }, {
786
+ "tooltip-before": h(() => [
787
+ g(t.$slots, "tooltip-before", B(M({ ...se.value })), void 0, !0)
788
+ ]),
789
+ "tooltip-after": h(() => [
790
+ ["function"].includes(typeof e.value.style.chart.tooltip.customFormat) ? d("", !0) : (n(), u("div", ka, [
791
+ K(r(et), {
792
+ dataset: ne.value,
793
+ config: ct.value,
794
+ backgroundOpacity: 0
795
+ }, null, 8, ["dataset", "config"])
796
+ ])),
797
+ g(t.$slots, "tooltip-after", B(M({ ...se.value })), void 0, !0)
798
+ ]),
799
+ _: 3
800
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "backgroundOpacity", "fontSize", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
801
+ de.value ? (n(), P(Tt(G.value.component), At({ key: 7 }, G.value.props, {
802
+ ref_key: "tableUnit",
803
+ ref: V,
804
+ onClose: a[3] || (a[3] = (o) => f.value.showTable = !1)
805
+ }), Ue({
806
+ content: h(() => [
807
+ (n(), P(r(at), {
808
+ key: `table_${be.value}`,
809
+ colNames: H.value.colNames,
810
+ head: H.value.head,
811
+ body: H.value.body,
812
+ config: H.value.config,
813
+ title: e.value.table.useDialog ? "" : G.value.title,
814
+ withCloseButton: !e.value.table.useDialog,
815
+ onClose: a[2] || (a[2] = (o) => f.value.showTable = !1)
816
+ }, {
817
+ th: h(({ th: o }) => [
818
+ ce(E(o.name), 1)
819
+ ]),
820
+ td: h(({ td: o }) => [
821
+ ce(E(o), 1)
822
+ ]),
823
+ _: 1
824
+ }, 8, ["colNames", "head", "body", "config", "title", "withCloseButton"]))
825
+ ]),
826
+ _: 2
827
+ }, [
828
+ e.value.table.useDialog ? {
829
+ name: "title",
830
+ fn: h(() => [
831
+ ce(E(G.value.title), 1)
832
+ ]),
833
+ key: "0"
834
+ } : void 0,
835
+ e.value.table.useDialog ? {
836
+ name: "actions",
837
+ fn: h(() => [
838
+ _("button", {
839
+ tabindex: "0",
840
+ class: "vue-ui-user-options-button",
841
+ onClick: a[1] || (a[1] = (o) => re(e.value.userOptions.callbacks.csv))
842
+ }, [
843
+ K(r(Ze), {
844
+ name: "excel",
845
+ stroke: G.value.props.color
846
+ }, null, 8, ["stroke"])
847
+ ])
848
+ ]),
849
+ key: "1"
850
+ } : void 0
851
+ ]), 1040)) : d("", !0),
852
+ r(we) ? (n(), P(Gt, { key: 8 })) : d("", !0)
853
+ ], 46, Zt));
854
+ }
855
+ }, za = /* @__PURE__ */ Qt(Ca, [["__scopeId", "data-v-97b97b94"]]);
856
+ export {
857
+ za as default
858
+ };