vue-data-ui 3.0.0-next.9 → 3.0.0

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