vue-data-ui-hq
Version:
A user-empowering data visualization Vue 3 components library for eloquent data storytelling
648 lines (647 loc) • 25 kB
JavaScript
import { computed as c, onMounted as Ce, ref as y, watch as we, openBlock as r, createElementBlock as h, normalizeClass as Z, unref as e, normalizeStyle as L, createBlock as p, createCommentVNode as i, createVNode as U, createSlots as xe, withCtx as m, renderSlot as f, normalizeProps as B, guardReactiveProps as D, createElementVNode as s, Fragment as ee, renderList as te, toDisplayString as M, createTextVNode as oe, nextTick as _e } from "vue";
import { u as $e, o as Me, e as le, c as Pe, t as Ne, O as Ae, X as Oe, s as C, w as Te, P as Le, i as ae, f as I, q as Ie, r as Fe } from "./index-WrV3SAID.js";
import { _ as Se } from "./Title-BR-xoRp4.js";
import { u as Ve, U as je } from "./usePrinter-kVpf1iV8.js";
import { L as Ue } from "./Legend-7H4oi6Sq.js";
import P from "./BaseIcon-MqKW8Nkx.js";
import { D as Be } from "./DataTable-DNPvKWC0.js";
import De from "./vue-ui-skeleton-Qec_XSRf.js";
import We from "./vue-ui-accordion-BQCDXXDs.js";
import { u as se } from "./useNestedProp-Cj0kHD7k.js";
import { _ as ze } from "./PackageVersion-1NslmM8M.js";
import { P as Ee } from "./PenAndPaper-BF1ZRVm3.js";
import { u as Ge } from "./useUserOptionState-BIvW1Kz7.js";
import { _ as He } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const Re = ["id"], Xe = {
key: 2,
style: "width:100%;background:transparent"
}, Ke = ["xmlns", "viewBox"], qe = ["width", "height"], Ye = ["id"], Je = ["stop-color"], Qe = ["stop-color"], Ze = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], et = ["d", "stroke", "stroke-width"], tt = ["stroke"], ot = ["fill"], lt = ["stroke"], at = ["fill"], st = ["stroke"], rt = ["fill"], nt = ["stroke"], it = ["fill"], ut = ["stroke"], dt = ["fill"], ct = ["d", "stroke", "stroke-width", "fill"], yt = ["x1", "y1", "stroke"], ht = ["cx", "cy", "fill", "stroke"], ft = ["fill", "stroke"], vt = ["y", "fill", "font-weight"], pt = ["y", "fill"], mt = {
key: 5,
class: "vue-data-ui-watermark"
}, gt = ["onClick"], kt = { style: { "font-weight": "bold" } }, bt = {
key: 8,
ref: "source",
dir: "auto"
}, Ct = ["innerHTML"], wt = {
__name: "vue-ui-mood-radar",
props: {
config: {
type: Object,
default() {
return {};
}
},
dataset: {
type: Object,
default() {
return {};
}
}
},
setup(re, { expose: ne }) {
const { vue_ui_mood_radar: ie } = $e(), u = re, x = c(() => !!u.dataset && Object.keys(u.dataset).length);
Ce(() => {
W();
});
function W() {
Me(u.dataset) && le({
componentName: "VueUiMoodRadar",
type: "dataset"
});
}
const _ = y(Pe()), F = y(null), ue = y(null), n = y(null), de = y(null), ce = y(0), ye = y(0), z = y(0), t = c({
get: () => H(),
set: (l) => l
}), { userOptionsVisible: S, setUserOptionsVisibility: E, keepUserOptionState: G } = Ge({ config: t.value });
function H() {
const l = se({
userConfig: u.config,
defaultConfig: ie
});
return l.theme ? {
...se({
userConfig: Ne.vue_ui_mood_radar[l.theme] || u.config,
defaultConfig: l
})
} : l;
}
we(() => u.config, (l) => {
t.value = H(), S.value = !t.value.showOnChartHover, W(), ce.value += 1, ye.value += 1, z.value += 1;
}, { deep: !0 });
const { isPrinting: R, isImaging: X, generatePdf: K, generateImage: q } = Ve({
elementId: _.value,
fileName: t.value.style.chart.title.text || "vue-ui-mood-radar"
}), he = c(() => t.value.userOptions.show && !t.value.style.chart.title.text), N = y({
showTable: t.value.table.show
}), v = c(() => ({
height: 256,
width: 256
})), V = c(() => Ae({
plot: { x: 128, y: v.value.height / 2 },
radius: 90,
sides: 5,
rotation: 11
}));
function fe({ centerX: l, centerY: a, apexX: o, apexY: d, proportion: k, key: $, value: be }) {
return {
x: l + (o - l) * k,
y: a + (d - a) * k,
key: $,
value: be
};
}
const ve = c(() => Math.max(...Object.values(u.dataset).map((l) => isNaN(l) ? 0 : l))), w = c(() => Object.values(u.dataset).reduce((l, a) => (isNaN(l) ? 0 : l) + (isNaN(a) ? 0 : a), 0)), g = c(() => Object.keys(u.dataset).map((l, a) => {
const o = typeof u.dataset[l] != "number" || isNaN(u.dataset[l]) ? 0 : u.dataset[l];
return {
index: a,
key: l,
value: o,
proportion: o / w.value,
color: t.value.style.chart.layout.smileys.colors[l]
};
}).sort((l, a) => a.key - l.key)), Y = c(() => x.value ? (["1", "2", "3", "4", "5"].forEach((l) => {
[null, void 0].includes(u.dataset[l]) && le({
componentName: "VueUiMoodRadar",
type: "datasetAttribute",
property: l
});
}), V.value.coordinates.map((l, a) => {
const o = fe({
centerX: v.value.width / 2,
centerY: v.value.height / 2,
apexX: l.x,
apexY: l.y,
proportion: g.value[a].value / ve.value,
key: g.value[a].key,
value: g.value[a].value
});
return {
...l,
plots: o,
key: g.value[a].key
};
})) : []), pe = c(() => ({
cy: "mood-radar-legend",
backgroundColor: t.value.style.chart.legend.backgroundColor,
color: t.value.style.chart.legend.color,
fontSize: t.value.style.chart.legend.fontSize,
paddingBottom: 12,
fontWeight: t.value.style.chart.legend.bold ? "bold" : ""
}));
function me(l) {
l === n.value ? n.value = null : n.value = l;
}
const b = c(() => {
const l = g.value.map((o) => ({
name: o.key,
color: o.color
})), a = g.value.map((o) => isNaN(o.value) ? 0 : o.value);
return { head: l, body: a };
});
function J() {
_e(() => {
const l = b.value.head.map((d, k) => [[
d.name
], [b.value.body[k]], [isNaN(b.value.body[k] / w.value) ? "-" : b.value.body[k] / w.value * 100]]), a = [[t.value.style.chart.title.text], [t.value.style.chart.title.subtitle.text], [[""], ["val"], ["%"]]].concat(l), o = Ie(a);
Fe({ csvContent: o, title: t.value.style.chart.title.text || "vue-ui-mood-radar" });
});
}
const A = c(() => {
const l = [
' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',
Number(w.value.toFixed(t.value.table.td.roundingValue)).toLocaleString(),
"100%"
], a = b.value.head.map((k, $) => [
{
color: k.color,
name: k.name
},
b.value.body[$].toFixed(t.value.table.td.roundingValue),
isNaN(b.value.body[$] / w.value) ? "-" : (b.value.body[$] / w.value * 100).toFixed(t.value.table.td.roundingPercentage) + "%"
]), o = {
th: {
backgroundColor: t.value.table.th.backgroundColor,
color: t.value.table.th.color,
outline: t.value.table.th.outline
},
td: {
backgroundColor: t.value.table.td.backgroundColor,
color: t.value.table.td.color,
outline: t.value.table.td.outline
},
breakpoint: t.value.table.responsiveBreakpoint
}, d = [
t.value.table.columnNames.series,
t.value.table.columnNames.value,
t.value.table.columnNames.percentage
];
return {
head: l,
body: a,
config: o,
colNames: d
};
});
function ge() {
return g.value;
}
function Q() {
N.value.showTable = !N.value.showTable;
}
const O = y(!1);
function ke(l) {
O.value = l;
}
const T = y(!1);
function j() {
T.value = !T.value;
}
return ne({
getData: ge,
generatePdf: K,
generateCsv: J,
generateImage: q,
toggleTable: Q,
toggleAnnotator: j
}), (l, a) => (r(), h("div", {
class: Z(`vue-ui-mood-radar ${e(O) ? "vue-data-ui-wrapper-fullscreen" : ""} ${e(t).useCssAnimation ? "" : "vue-ui-dna"}`),
ref_key: "moodRadarChart",
ref: F,
id: `${e(_)}`,
style: L(`font-family:${e(t).style.fontFamily};width:100%; text-align:center;background:${e(t).style.chart.backgroundColor}`),
onMouseenter: a[11] || (a[11] = () => e(E)(!0)),
onMouseleave: a[12] || (a[12] = () => e(E)(!1))
}, [
e(t).userOptions.buttons.annotator ? (r(), p(Ee, {
key: 0,
parent: e(F),
backgroundColor: e(t).style.chart.backgroundColor,
color: e(t).style.chart.color,
active: e(T),
onClose: j
}, null, 8, ["parent", "backgroundColor", "color", "active"])) : i("", !0),
e(he) ? (r(), h("div", {
key: 1,
ref_key: "noTitle",
ref: de,
class: "vue-data-ui-no-title-space",
style: "height:36px; width: 100%;background:transparent"
}, null, 512)) : i("", !0),
e(t).style.chart.title.text ? (r(), h("div", Xe, [
U(Se, {
config: {
title: {
cy: "mood-radar-title",
...e(t).style.chart.title
},
subtitle: {
cy: "mood-radar-subtitle",
...e(t).style.chart.title.subtitle
}
}
}, null, 8, ["config"])
])) : i("", !0),
e(t).userOptions.show && e(x) && (e(G) || e(S)) ? (r(), p(je, {
key: 3,
ref_key: "details",
ref: ue,
backgroundColor: e(t).style.chart.backgroundColor,
color: e(t).style.chart.color,
isPrinting: e(R),
isImaging: e(X),
uid: e(_),
hasPdf: e(t).userOptions.buttons.pdf,
hasXls: e(t).userOptions.buttons.csv,
hasImg: e(t).userOptions.buttons.img,
hasTable: e(t).userOptions.buttons.table,
hasFullscreen: e(t).userOptions.buttons.fullscreen,
titles: { ...e(t).userOptions.buttonTitles },
chartElement: e(F),
position: e(t).userOptions.position,
hasAnnotator: e(t).userOptions.buttons.annotator,
isAnnotation: e(T),
onToggleFullscreen: ke,
onGeneratePdf: e(K),
onGenerateCsv: J,
onGenerateImage: e(q),
onToggleTable: Q,
onToggleAnnotator: j,
style: L({
visibility: e(G) ? e(S) ? "visible" : "hidden" : "visible"
})
}, xe({ _: 2 }, [
l.$slots.optionPdf ? {
name: "optionPdf",
fn: m(() => [
f(l.$slots, "optionPdf", {}, void 0, !0)
]),
key: "0"
} : void 0,
l.$slots.optionCsv ? {
name: "optionCsv",
fn: m(() => [
f(l.$slots, "optionCsv", {}, void 0, !0)
]),
key: "1"
} : void 0,
l.$slots.optionImg ? {
name: "optionImg",
fn: m(() => [
f(l.$slots, "optionImg", {}, void 0, !0)
]),
key: "2"
} : void 0,
l.$slots.optionTable ? {
name: "optionTable",
fn: m(() => [
f(l.$slots, "optionTable", {}, void 0, !0)
]),
key: "3"
} : void 0,
l.$slots.optionFullscreen ? {
name: "optionFullscreen",
fn: m(({ toggleFullscreen: o, isFullscreen: d }) => [
f(l.$slots, "optionFullscreen", B(D({ toggleFullscreen: o, isFullscreen: d })), void 0, !0)
]),
key: "4"
} : void 0,
l.$slots.optionAnnotator ? {
name: "optionAnnotator",
fn: m(({ toggleAnnotator: o, isAnnotator: d }) => [
f(l.$slots, "optionAnnotator", B(D({ toggleAnnotator: o, isAnnotator: d })), void 0, !0)
]),
key: "5"
} : void 0
]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasTable", "hasFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "onGeneratePdf", "onGenerateImage", "style"])) : i("", !0),
e(x) ? (r(), h("svg", {
key: 4,
xmlns: e(Oe),
viewBox: `0 0 ${e(v).width} ${e(v).height}`,
class: Z({ "vue-data-ui-fullscreen--on": e(O), "vue-data-ui-fulscreen--off": !e(O) }),
style: L(`overflow:visible;background:transparent;color:${e(t).style.chart.color}`)
}, [
U(ze),
l.$slots["chart-background"] ? (r(), h("foreignObject", {
key: 0,
x: 0,
y: 0,
width: e(v).width,
height: e(v).height,
style: {
pointerEvents: "none"
}
}, [
f(l.$slots, "chart-background", {}, void 0, !0)
], 8, qe)) : i("", !0),
s("defs", null, [
s("radialGradient", {
cx: "50%",
cy: "50%",
r: "50%",
fx: "50%",
fy: "50%",
id: `mood_radar_gradient_${e(_)}`
}, [
s("stop", {
offset: "0%",
"stop-color": e(C)(e(t).style.chart.layout.dataPolygon.color, e(t).style.chart.layout.dataPolygon.opacity)
}, null, 8, Je),
s("stop", {
offset: "100%",
"stop-color": e(C)(e(Te)(e(t).style.chart.layout.dataPolygon.color, e(t).style.chart.layout.dataPolygon.gradient.intensity / 100), e(t).style.chart.layout.dataPolygon.opacity)
}, null, 8, Qe)
], 8, Ye)
]),
(r(!0), h(ee, null, te(e(V).coordinates, (o) => (r(), h("line", {
x1: e(v).width / 2,
y1: e(v).height / 2,
x2: o.x,
y2: o.y,
stroke: e(t).style.chart.layout.grid.stroke,
"stroke-width": e(t).style.chart.layout.grid.strokeWidth
}, null, 8, Ze))), 256)),
s("path", {
d: e(V).path,
fill: "none",
stroke: e(t).style.chart.layout.outerPolygon.stroke,
"stroke-width": e(t).style.chart.layout.outerPolygon.strokeWidth,
"stroke-linejoin": "round",
"stroke-linecap": "round"
}, null, 8, et),
s("path", {
fill: "none",
stroke: e(t).style.chart.layout.smileys.colors[5],
"stroke-width": "1",
"stroke-linecap": "round",
d: "M119 25A1 1 0 00137 25 1 1 0 00119 25M123 26C124 33 132 33 133 26L123 26M123 22A1 1 0 00126 22 1 1 0 00123 22M130 22A1 1 0 00133 22 1 1 0 00130 22"
}, null, 8, tt),
s("circle", {
class: "vue-ui-mood-radar-trap",
onMouseenter: a[0] || (a[0] = (o) => n.value = 5),
onMouseleave: a[1] || (a[1] = (o) => n.value = null),
cx: "128",
cy: "25",
r: "20",
fill: e(n) === 5 ? e(C)(e(t).style.chart.layout.smileys.colors[5], 20) : "transparent"
}, null, 40, ot),
s("path", {
fill: "none",
stroke: e(t).style.chart.layout.smileys.colors[4],
"stroke-width": "1",
"stroke-linecap": "round",
d: "M218 95A1 1 0 00236 95 1 1 0 00218 95M222 97C225 99 229 99 232 97M222 92A1 1 0 00225 92 1 1 0 00222 92M229 92A1 1 0 00232 92 1 1 0 00229 92"
}, null, 8, lt),
s("circle", {
class: "vue-ui-mood-radar-trap",
onMouseenter: a[2] || (a[2] = (o) => n.value = 4),
onMouseleave: a[3] || (a[3] = (o) => n.value = null),
cx: "227",
cy: "95.5",
r: "20",
fill: e(n) === 4 ? e(C)(e(t).style.chart.layout.smileys.colors[4], 20) : "transparent"
}, null, 40, at),
s("path", {
fill: "none",
stroke: e(t).style.chart.layout.smileys.colors[3],
"stroke-width": "1",
"stroke-linecap": "round",
d: "M181 213A1 1 0 00199 213 1 1 0 00181 213M185 210A1 1 0 00188 210 1 1 0 00185 210M192 210A1 1 0 00195 210 1 1 0 00192 210M185 215 195 215"
}, null, 8, st),
s("circle", {
class: "vue-ui-mood-radar-trap",
onMouseenter: a[4] || (a[4] = (o) => n.value = 3),
onMouseleave: a[5] || (a[5] = (o) => n.value = null),
cx: "190",
cy: "213.5",
r: "20",
fill: e(n) === 3 ? e(C)(e(t).style.chart.layout.smileys.colors[3], 20) : "transparent"
}, null, 40, rt),
s("path", {
fill: "none",
stroke: e(t).style.chart.layout.smileys.colors[2],
"stroke-width": "1",
"stroke-linecap": "round",
d: "M56 213A1 1 0 0074 213 1 1 0 0056 213M60 216C63 214 67 214 70 216M60 210A1 1 0 0063 210 1 1 0 0060 210M67 210A1 1 0 0070 210 1 1 0 0067 210"
}, null, 8, nt),
s("circle", {
class: "vue-ui-mood-radar-trap",
onMouseenter: a[6] || (a[6] = (o) => n.value = 2),
onMouseleave: a[7] || (a[7] = (o) => n.value = null),
cx: "65",
cy: "213.5",
r: "20",
fill: e(n) === 2 ? e(C)(e(t).style.chart.layout.smileys.colors[2], 20) : "transparent"
}, null, 40, it),
s("path", {
fill: "none",
stroke: e(t).style.chart.layout.smileys.colors[1],
"stroke-width": "1",
"stroke-linecap": "round",
d: "M20 96A1 1 0 0038 96 1 1 0 0020 96M24 100C25 95 33 95 34 100L24 100M24 93A1 1 0 0027 93 1 1 0 0024 93M31 93A1 1 0 0034 93 1 1 0 0031 93"
}, null, 8, ut),
s("circle", {
class: "vue-ui-mood-radar-trap",
onMouseenter: a[8] || (a[8] = (o) => n.value = 1),
onMouseleave: a[9] || (a[9] = (o) => n.value = null),
cx: "29",
cy: "95.5",
r: "20",
fill: e(n) === 1 ? e(C)(e(t).style.chart.layout.smileys.colors[1], 20) : "transparent"
}, null, 40, dt),
s("path", {
d: e(Le)(e(Y).map((o) => o.plots)),
stroke: e(t).style.chart.layout.dataPolygon.stroke,
"stroke-width": e(t).style.chart.layout.dataPolygon.strokeWidth,
"stroke-linecap": "round",
"stroke-linejoin": "round",
fill: e(t).style.chart.layout.dataPolygon.gradient.show ? `url(#mood_radar_gradient_${e(_)})` : e(C)(e(t).style.chart.layout.dataPolygon.color, e(t).style.chart.layout.dataPolygon.opacity)
}, null, 8, ct),
(r(!0), h(ee, null, te(e(Y).map((o) => o.plots), (o, d) => (r(), h("g", {
class: "vue-ui-mood-radar-trap",
style: L(`opacity:${e(n) == o.key ? "1" : "0"}`)
}, [
s("line", {
x1: o.x,
y1: o.y,
x2: 128,
y2: 128,
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, yt),
s("circle", {
cx: o.x,
cy: o.y,
fill: e(t).style.chart.layout.smileys.colors[o.key],
r: "3",
stroke: e(t).style.chart.backgroundColor,
"stroke-width": 0.5
}, null, 8, ht),
s("circle", {
cx: 128,
cy: 128,
fill: e(t).style.chart.layout.smileys.colors[o.key],
r: "3",
stroke: e(t).style.chart.backgroundColor,
"stroke-width": 0.5
}, null, 8, ft),
s("text", {
x: 128,
y: ["5", 5].includes(o.key) ? 145 : 120,
fill: e(t).style.chart.layout.dataLabel.color,
"font-size": "12",
"text-anchor": "middle",
"font-weight": e(t).style.chart.layout.dataLabel.bold ? "bold" : "normal"
}, M(e(ae)(
e(t).style.chart.layout.dataLabel.formatter,
o.value,
e(I)({
p: e(t).style.chart.layout.dataLabel.prefix,
v: o.value,
s: e(t).style.chart.layout.dataLabel.suffix,
r: e(t).style.chart.layout.dataLabel.roundingValue
}),
{ datapoint: o, seriesIndex: d }
)), 9, vt),
s("text", {
x: 128,
y: ["5", 5].includes(o.key) ? 163 : 102,
fill: e(t).style.chart.layout.dataLabel.color,
"font-size": "12",
"text-anchor": "middle"
}, " (" + M(e(I)({
v: o.value / e(w) * 100,
s: "%",
r: e(t).style.chart.layout.dataLabel.roundingPercentage
})) + ") ", 9, pt)
], 4))), 256)),
f(l.$slots, "svg", { svg: e(v) }, void 0, !0)
], 14, Ke)) : i("", !0),
l.$slots.watermark ? (r(), h("div", mt, [
f(l.$slots, "watermark", B(D({ isPrinting: e(R) || e(X) })), void 0, !0)
])) : i("", !0),
e(x) ? i("", !0) : (r(), p(De, {
key: 6,
config: {
type: "radar",
style: {
backgroundColor: e(t).style.chart.backgroundColor,
radar: {
grid: {
color: "#CCCCCC"
},
shapes: {
color: "#CCCCCC"
}
}
}
}
}, null, 8, ["config"])),
e(t).style.chart.legend.show ? (r(), p(Ue, {
legendSet: e(g),
config: e(pe),
key: `legend_${e(z)}`,
style: { display: "flex", "row-gap": "6px" }
}, {
item: m(({ legend: o, index: d }) => [
s("div", {
onClick: () => me(o.key),
style: { display: "flex", "flex-direction": "row", gap: "3px", "align-items": "center", margin: "3px 0" }
}, [
o.key == 1 ? (r(), p(P, {
key: 0,
strokeWidth: 1,
name: "moodSad",
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, ["stroke"])) : i("", !0),
o.key == 2 ? (r(), p(P, {
key: 1,
strokeWidth: 1,
name: "moodFlat",
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, ["stroke"])) : i("", !0),
o.key == 3 ? (r(), p(P, {
key: 2,
strokeWidth: 1,
name: "moodNeutral",
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, ["stroke"])) : i("", !0),
o.key == 4 ? (r(), p(P, {
key: 3,
strokeWidth: 1,
name: "smiley",
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, ["stroke"])) : i("", !0),
o.key == 5 ? (r(), p(P, {
key: 4,
strokeWidth: 1,
name: "moodHappy",
stroke: e(t).style.chart.layout.smileys.colors[o.key]
}, null, 8, ["stroke"])) : i("", !0),
s("span", kt, M(e(ae)(
e(t).style.chart.layout.dataLabel.formatter,
o.value,
e(I)({
p: e(t).style.chart.layout.dataLabel.prefix,
v: o.value,
s: e(t).style.chart.layout.dataLabel.suffix,
r: e(t).style.chart.layout.dataLabel.roundingValue
}),
{ datapoint: o, seriesIndex: d }
)), 1),
oe(" (" + M(e(I)({
v: o.proportion * 100,
s: "%",
r: e(t).style.chart.legend.roundingPercentage
})) + ") ", 1)
], 8, gt)
]),
_: 1
}, 8, ["legendSet", "config"])) : i("", !0),
f(l.$slots, "legend", { legend: e(g) }, void 0, !0),
l.$slots.source ? (r(), h("div", bt, [
f(l.$slots, "source", {}, void 0, !0)
], 512)) : i("", !0),
e(x) ? (r(), p(We, {
key: 9,
hideDetails: "",
config: {
open: e(N).showTable,
maxHeight: 1e4,
body: {
backgroundColor: e(t).style.chart.backgroundColor,
color: e(t).style.chart.color
},
head: {
backgroundColor: e(t).style.chart.backgroundColor,
color: e(t).style.chart.color
}
}
}, {
content: m(() => [
U(Be, {
colNames: e(A).colNames,
head: e(A).head,
body: e(A).body,
config: e(A).config,
title: `${e(t).style.chart.title.text}${e(t).style.chart.title.subtitle.text ? ` : ${e(t).style.chart.title.subtitle.text}` : ""}`,
onClose: a[10] || (a[10] = (o) => e(N).showTable = !1)
}, {
th: m(({ th: o }) => [
s("div", {
innerHTML: o,
style: { display: "flex", "align-items": "center" }
}, null, 8, Ct)
]),
td: m(({ td: o }) => [
oe(M(o.name || o), 1)
]),
_: 1
}, 8, ["colNames", "head", "body", "config", "title"])
]),
_: 1
}, 8, ["config"])) : i("", !0)
], 46, Re));
}
}, jt = /* @__PURE__ */ He(wt, [["__scopeId", "data-v-6ecc504b"]]);
export {
jt as default
};