import { x as p, H as c, t as g } from "./copilot-ppBO0zjz.js";
import { r as f } from "./state-B-CMA1Q2.js";
import { B as u } from "./base-panel-vYmwbGFU.js";
import { showNotification as h } from "./copilot-notification-BorVW3EP.js";
import { i as m } from "./icons-BzskfjAz.js";
const v = "copilot-features-panel{padding:var(--space-100);font:var(--font-xsmall);display:grid;grid-template-columns:auto 1fr;gap:var(--space-50);height:auto}copilot-features-panel a{display:flex;align-items:center;gap:var(--space-50);white-space:nowrap}copilot-features-panel a svg{height:12px;width:12px;min-height:12px;min-width:12px}";
var b = Object.defineProperty, F = Object.getOwnPropertyDescriptor, d = (e, t, a, r) => {
for (var o = r > 1 ? void 0 : r ? F(t, a) : t, s = e.length - 1, l; s >= 0; s--)
(l = e[s]) && (o = (r ? l(t, a, o) : l(o)) || o);
return r && o && b(t, a, o), o;
};
const n = window.Vaadin.devTools;
let i = class extends u {
constructor() {
super(...arguments), this.features = [], this.handleFeatureFlags = (e) => {
this.features = e.data.features;
};
}
connectedCallback() {
super.connectedCallback(), this.onCommand("featureFlags", this.handleFeatureFlags);
}
render() {
return p`
${this.features.map(
(e) => p`
this.toggleFeatureFlag(t, e)}>
learn more ${m.linkExternal}
`
)}`;
}
toggleFeatureFlag(e, t) {
const a = e.target.checked;
n.frontendConnection ? (n.frontendConnection.send("setFeature", { featureId: t.id, enabled: a }), h({
type: c.INFORMATION,
message: `“${t.title}” ${a ? "enabled" : "disabled"}`,
details: t.requiresServerRestart ? "This feature requires a server restart" : void 0,
dismissId: `feature${t.id}${a ? "Enabled" : "Disabled"}`
})) : n.log("error", `Unable to toggle feature ${t.title}: No server connection available`);
}
};
d([
f()
], i.prototype, "features", 2);
i = d([
g("copilot-features-panel")
], i);
const w = {
header: "Features",
expanded: !0,
panelOrder: 20,
panel: "right",
floating: !1,
tag: "copilot-features-panel",
helpUrl: "https://vaadin.com/docs/latest/flow/configuration/feature-flags"
}, $ = {
init(e) {
e.addPanel(w);
}
};
window.Vaadin.copilot.plugins.push($);
export {
i as CopilotFeaturesPanel
};