import { a as P, a5 as H, z as C, U, D as N, j as g, x as d, a6 as I, E as j, H as B, G as L, _ as O, $ as q, M as J, b as M, n as T } from "./copilot-xjoIJFQc.js"; import { r as A } from "./state-9-chcL5F.js"; import { B as V } from "./base-panel-CTLXjjmN.js"; import { i as y } from "./icons-AkLm3oZf.js"; const W = "copilot-info-panel{--dev-tools-red-color: red;--dev-tools-grey-color: gray;--dev-tools-green-color: green;position:relative}copilot-info-panel div.info-tray{display:flex;flex-direction:column;gap:10px}copilot-info-panel vaadin-button{margin-inline:var(--lumo-space-l)}copilot-info-panel dl{display:grid;grid-template-columns:auto auto;gap:0;margin:var(--space-100) var(--space-50);font:var(--font-xsmall)}copilot-info-panel dl>dt,copilot-info-panel dl>dd{padding:3px 10px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}copilot-info-panel dd.live-reload-status>span{overflow:hidden;text-overflow:ellipsis;display:block;color:var(--status-color)}copilot-info-panel dd span.hidden{display:none}copilot-info-panel dd span.true{color:var(--dev-tools-green-color);font-size:large}copilot-info-panel dd span.false{color:var(--dev-tools-red-color);font-size:large}copilot-info-panel code{white-space:nowrap;-webkit-user-select:all;user-select:all}copilot-info-panel .checks{display:inline-grid;grid-template-columns:auto 1fr;gap:var(--space-50)}copilot-info-panel span.hint{font-size:var(--font-size-0);background:var(--gray-50);padding:var(--space-75);border-radius:var(--radius-2)}"; var D, E; function _() { return E || (E = 1, D = function() { var e = document.getSelection(); if (!e.rangeCount) return function() { }; for (var t = document.activeElement, n = [], i = 0; i < e.rangeCount; i++) n.push(e.getRangeAt(i)); switch (t.tagName.toUpperCase()) { // .toUpperCase handles XHTML case "INPUT": case "TEXTAREA": t.blur(); break; default: t = null; break; } return e.removeAllRanges(), function() { e.type === "Caret" && e.removeAllRanges(), e.rangeCount || n.forEach(function(l) { e.addRange(l); }), t && t.focus(); }; }), D; } var k, $; function z() { if ($) return k; $ = 1; var e = _(), t = { "text/plain": "Text", "text/html": "Url", default: "Text" }, n = "Copy to clipboard: #{key}, Enter"; function i(a) { var o = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C"; return a.replace(/#{\s*key\s*}/g, o); } function l(a, o) { var s, u, f, v, p, r, h = !1; o || (o = {}), s = o.debug || !1; try { f = e(), v = document.createRange(), p = document.getSelection(), r = document.createElement("span"), r.textContent = a, r.ariaHidden = "true", r.style.all = "unset", r.style.position = "fixed", r.style.top = 0, r.style.clip = "rect(0, 0, 0, 0)", r.style.whiteSpace = "pre", r.style.webkitUserSelect = "text", r.style.MozUserSelect = "text", r.style.msUserSelect = "text", r.style.userSelect = "text", r.addEventListener("copy", function(c) { if (c.stopPropagation(), o.format) if (c.preventDefault(), typeof c.clipboardData > "u") { s && console.warn("unable to use e.clipboardData"), s && console.warn("trying IE specific stuff"), window.clipboardData.clearData(); var x = t[o.format] || t.default; window.clipboardData.setData(x, a); } else c.clipboardData.clearData(), c.clipboardData.setData(o.format, a); o.onCopy && (c.preventDefault(), o.onCopy(c.clipboardData)); }), document.body.appendChild(r), v.selectNodeContents(r), p.addRange(v); var R = document.execCommand("copy"); if (!R) throw new Error("copy command was unsuccessful"); h = !0; } catch (c) { s && console.error("unable to copy using execCommand: ", c), s && console.warn("trying IE specific stuff"); try { window.clipboardData.setData(o.format || "text", a), o.onCopy && o.onCopy(window.clipboardData), h = !0; } catch (x) { s && console.error("unable to copy using clipboardData: ", x), s && console.error("falling back to prompt"), u = i("message" in o ? o.message : n), window.prompt(u, a); } } finally { p && (typeof p.removeRange == "function" ? p.removeRange(v) : p.removeAllRanges()), r && document.body.removeChild(r), f(); } return h; } return k = l, k; } var F = z(); const G = /* @__PURE__ */ P(F); var K = Object.defineProperty, X = Object.getOwnPropertyDescriptor, w = (e, t, n, i) => { for (var l = i > 1 ? void 0 : i ? X(t, n) : t, a = e.length - 1, o; a >= 0; a--) (o = e[a]) && (l = (i ? o(t, n, l) : o(l)) || l); return i && l && K(t, n, l), l; }; let b = class extends V { constructor() { super(...arguments), this.serverInfo = [], this.clientInfo = [{ name: "Browser", version: navigator.userAgent }], this.handleServerInfoEvent = (e) => { const t = JSON.parse(e.data.info); this.serverInfo = t.versions, H().then((n) => { n && (this.clientInfo.unshift({ name: "Vaadin Employee", version: "true", more: void 0 }), this.requestUpdate("clientInfo")); }), C() === "success" && U("hotswap-active", { value: N() }); }; } connectedCallback() { super.connectedCallback(), this.onCommand("copilot-info", this.handleServerInfoEvent), this.onEventBus("system-info-with-callback", (e) => { e.detail.callback(this.getInfoForClipboard(e.detail.notify)); }), this.reaction( () => g.idePluginState, () => { this.requestUpdate("serverInfo"); } ); } getIndex(e) { return this.serverInfo.findIndex((t) => t.name === e); } render() { return d`