mirror of
https://github.com/HumanAIGC-Engineering/gradio-webrtc.git
synced 2026-02-05 18:09:23 +08:00
222 lines
7.5 KiB
JavaScript
222 lines
7.5 KiB
JavaScript
import { p as k } from "./chunk-4BMEZGHF-skpIwyQ5.js";
|
|
import { C as R, _ as l, s as E, g as I, n as _, o as D, b as F, c as G, l as P, D as y, E as C, t as z, H, K as V } from "./mermaid.core-Cmyps_S7.js";
|
|
import { p as W } from "./radar-MK3ICKWK-Bw4p6KaX.js";
|
|
var x = {
|
|
showLegend: !0,
|
|
ticks: 5,
|
|
max: null,
|
|
min: 0,
|
|
graticule: "circle"
|
|
}, w = {
|
|
axes: [],
|
|
curves: [],
|
|
options: x
|
|
}, h = structuredClone(w), B = R.radar, j = /* @__PURE__ */ l(() => y({
|
|
...B,
|
|
...C().radar
|
|
}), "getConfig"), b = /* @__PURE__ */ l(() => h.axes, "getAxes"), K = /* @__PURE__ */ l(() => h.curves, "getCurves"), N = /* @__PURE__ */ l(() => h.options, "getOptions"), U = /* @__PURE__ */ l((a) => {
|
|
h.axes = a.map((t) => ({
|
|
name: t.name,
|
|
label: t.label ?? t.name
|
|
}));
|
|
}, "setAxes"), X = /* @__PURE__ */ l((a) => {
|
|
h.curves = a.map((t) => ({
|
|
name: t.name,
|
|
label: t.label ?? t.name,
|
|
entries: Y(t.entries)
|
|
}));
|
|
}, "setCurves"), Y = /* @__PURE__ */ l((a) => {
|
|
if (a[0].axis == null)
|
|
return a.map((e) => e.value);
|
|
const t = b();
|
|
if (t.length === 0)
|
|
throw new Error("Axes must be populated before curves for reference entries");
|
|
return t.map((e) => {
|
|
const r = a.find((s) => {
|
|
var o;
|
|
return ((o = s.axis) == null ? void 0 : o.$refText) === e.name;
|
|
});
|
|
if (r === void 0)
|
|
throw new Error("Missing entry for axis " + e.label);
|
|
return r.value;
|
|
});
|
|
}, "computeCurveEntries"), Z = /* @__PURE__ */ l((a) => {
|
|
var e, r, s, o, i;
|
|
const t = a.reduce(
|
|
(n, c) => (n[c.name] = c, n),
|
|
{}
|
|
);
|
|
h.options = {
|
|
showLegend: ((e = t.showLegend) == null ? void 0 : e.value) ?? x.showLegend,
|
|
ticks: ((r = t.ticks) == null ? void 0 : r.value) ?? x.ticks,
|
|
max: ((s = t.max) == null ? void 0 : s.value) ?? x.max,
|
|
min: ((o = t.min) == null ? void 0 : o.value) ?? x.min,
|
|
graticule: ((i = t.graticule) == null ? void 0 : i.value) ?? x.graticule
|
|
};
|
|
}, "setOptions"), q = /* @__PURE__ */ l(() => {
|
|
z(), h = structuredClone(w);
|
|
}, "clear"), $ = {
|
|
getAxes: b,
|
|
getCurves: K,
|
|
getOptions: N,
|
|
setAxes: U,
|
|
setCurves: X,
|
|
setOptions: Z,
|
|
getConfig: j,
|
|
clear: q,
|
|
setAccTitle: E,
|
|
getAccTitle: I,
|
|
setDiagramTitle: _,
|
|
getDiagramTitle: D,
|
|
getAccDescription: F,
|
|
setAccDescription: G
|
|
}, J = /* @__PURE__ */ l((a) => {
|
|
k(a, $);
|
|
const { axes: t, curves: e, options: r } = a;
|
|
$.setAxes(t), $.setCurves(e), $.setOptions(r);
|
|
}, "populate"), Q = {
|
|
parse: /* @__PURE__ */ l(async (a) => {
|
|
const t = await W("radar", a);
|
|
P.debug(t), J(t);
|
|
}, "parse")
|
|
}, tt = /* @__PURE__ */ l((a, t, e, r) => {
|
|
const s = r.db, o = s.getAxes(), i = s.getCurves(), n = s.getOptions(), c = s.getConfig(), d = s.getDiagramTitle(), p = H(t), u = et(p, c), g = n.max ?? Math.max(...i.map((f) => Math.max(...f.entries))), m = n.min, v = Math.min(c.width, c.height) / 2;
|
|
at(u, o, v, n.ticks, n.graticule), rt(u, o, v, c), M(u, o, i, m, g, n.graticule, c), T(u, i, n.showLegend, c), u.append("text").attr("class", "radarTitle").text(d).attr("x", 0).attr("y", -c.height / 2 - c.marginTop);
|
|
}, "draw"), et = /* @__PURE__ */ l((a, t) => {
|
|
const e = t.width + t.marginLeft + t.marginRight, r = t.height + t.marginTop + t.marginBottom, s = {
|
|
x: t.marginLeft + t.width / 2,
|
|
y: t.marginTop + t.height / 2
|
|
};
|
|
return a.attr("viewbox", `0 0 ${e} ${r}`).attr("width", e).attr("height", r), a.append("g").attr("transform", `translate(${s.x}, ${s.y})`);
|
|
}, "drawFrame"), at = /* @__PURE__ */ l((a, t, e, r, s) => {
|
|
if (s === "circle")
|
|
for (let o = 0; o < r; o++) {
|
|
const i = e * (o + 1) / r;
|
|
a.append("circle").attr("r", i).attr("class", "radarGraticule");
|
|
}
|
|
else if (s === "polygon") {
|
|
const o = t.length;
|
|
for (let i = 0; i < r; i++) {
|
|
const n = e * (i + 1) / r, c = t.map((d, p) => {
|
|
const u = 2 * p * Math.PI / o - Math.PI / 2, g = n * Math.cos(u), m = n * Math.sin(u);
|
|
return `${g},${m}`;
|
|
}).join(" ");
|
|
a.append("polygon").attr("points", c).attr("class", "radarGraticule");
|
|
}
|
|
}
|
|
}, "drawGraticule"), rt = /* @__PURE__ */ l((a, t, e, r) => {
|
|
const s = t.length;
|
|
for (let o = 0; o < s; o++) {
|
|
const i = t[o].label, n = 2 * o * Math.PI / s - Math.PI / 2;
|
|
a.append("line").attr("x1", 0).attr("y1", 0).attr("x2", e * r.axisScaleFactor * Math.cos(n)).attr("y2", e * r.axisScaleFactor * Math.sin(n)).attr("class", "radarAxisLine"), a.append("text").text(i).attr("x", e * r.axisLabelFactor * Math.cos(n)).attr("y", e * r.axisLabelFactor * Math.sin(n)).attr("class", "radarAxisLabel");
|
|
}
|
|
}, "drawAxes");
|
|
function M(a, t, e, r, s, o, i) {
|
|
const n = t.length, c = Math.min(i.width, i.height) / 2;
|
|
e.forEach((d, p) => {
|
|
if (d.entries.length !== n)
|
|
return;
|
|
const u = d.entries.map((g, m) => {
|
|
const v = 2 * Math.PI * m / n - Math.PI / 2, f = A(g, r, s, c), O = f * Math.cos(v), S = f * Math.sin(v);
|
|
return { x: O, y: S };
|
|
});
|
|
o === "circle" ? a.append("path").attr("d", L(u, i.curveTension)).attr("class", `radarCurve-${p}`) : o === "polygon" && a.append("polygon").attr("points", u.map((g) => `${g.x},${g.y}`).join(" ")).attr("class", `radarCurve-${p}`);
|
|
});
|
|
}
|
|
l(M, "drawCurves");
|
|
function A(a, t, e, r) {
|
|
const s = Math.min(Math.max(a, t), e);
|
|
return r * (s - t) / (e - t);
|
|
}
|
|
l(A, "relativeRadius");
|
|
function L(a, t) {
|
|
const e = a.length;
|
|
let r = `M${a[0].x},${a[0].y}`;
|
|
for (let s = 0; s < e; s++) {
|
|
const o = a[(s - 1 + e) % e], i = a[s], n = a[(s + 1) % e], c = a[(s + 2) % e], d = {
|
|
x: i.x + (n.x - o.x) * t,
|
|
y: i.y + (n.y - o.y) * t
|
|
}, p = {
|
|
x: n.x - (c.x - i.x) * t,
|
|
y: n.y - (c.y - i.y) * t
|
|
};
|
|
r += ` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`;
|
|
}
|
|
return `${r} Z`;
|
|
}
|
|
l(L, "closedRoundCurve");
|
|
function T(a, t, e, r) {
|
|
if (!e)
|
|
return;
|
|
const s = (r.width / 2 + r.marginRight) * 3 / 4, o = -(r.height / 2 + r.marginTop) * 3 / 4, i = 20;
|
|
t.forEach((n, c) => {
|
|
const d = a.append("g").attr("transform", `translate(${s}, ${o + c * i})`);
|
|
d.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${c}`), d.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(n.label);
|
|
});
|
|
}
|
|
l(T, "drawLegend");
|
|
var st = { draw: tt }, nt = /* @__PURE__ */ l((a, t) => {
|
|
let e = "";
|
|
for (let r = 0; r < a.THEME_COLOR_LIMIT; r++) {
|
|
const s = a[`cScale${r}`];
|
|
e += `
|
|
.radarCurve-${r} {
|
|
color: ${s};
|
|
fill: ${s};
|
|
fill-opacity: ${t.curveOpacity};
|
|
stroke: ${s};
|
|
stroke-width: ${t.curveStrokeWidth};
|
|
}
|
|
.radarLegendBox-${r} {
|
|
fill: ${s};
|
|
fill-opacity: ${t.curveOpacity};
|
|
stroke: ${s};
|
|
}
|
|
`;
|
|
}
|
|
return e;
|
|
}, "genIndexStyles"), ot = /* @__PURE__ */ l((a) => {
|
|
const t = V(), e = C(), r = y(t, e.themeVariables), s = y(r.radar, a);
|
|
return { themeVariables: r, radarOptions: s };
|
|
}, "buildRadarStyleOptions"), it = /* @__PURE__ */ l(({ radar: a } = {}) => {
|
|
const { themeVariables: t, radarOptions: e } = ot(a);
|
|
return `
|
|
.radarTitle {
|
|
font-size: ${t.fontSize};
|
|
color: ${t.titleColor};
|
|
dominant-baseline: hanging;
|
|
text-anchor: middle;
|
|
}
|
|
.radarAxisLine {
|
|
stroke: ${e.axisColor};
|
|
stroke-width: ${e.axisStrokeWidth};
|
|
}
|
|
.radarAxisLabel {
|
|
dominant-baseline: middle;
|
|
text-anchor: middle;
|
|
font-size: ${e.axisLabelFontSize}px;
|
|
color: ${e.axisColor};
|
|
}
|
|
.radarGraticule {
|
|
fill: ${e.graticuleColor};
|
|
fill-opacity: ${e.graticuleOpacity};
|
|
stroke: ${e.graticuleColor};
|
|
stroke-width: ${e.graticuleStrokeWidth};
|
|
}
|
|
.radarLegendText {
|
|
text-anchor: start;
|
|
font-size: ${e.legendFontSize}px;
|
|
dominant-baseline: hanging;
|
|
}
|
|
${nt(t, e)}
|
|
`;
|
|
}, "styles"), ut = {
|
|
parser: Q,
|
|
db: $,
|
|
renderer: st,
|
|
styles: it
|
|
};
|
|
export {
|
|
ut as diagram
|
|
};
|