@popcorn245/cornfield-components 0.51.8 → 0.52.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 (33) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/around-D7aqHejs.js +78 -0
  3. package/dist/chunks/corn-layers-g9AprK6G.js +275 -0
  4. package/dist/chunks/{corn-map-M7xt4MYk.js → corn-map-DE-pg-A0.js} +8 -5
  5. package/dist/chunks/corn-node-panel-CdtFb9IZ.js +42 -0
  6. package/dist/chunks/{corn-review-yQU3IpY5.js → corn-review-9krtLSPK.js} +970 -2487
  7. package/dist/chunks/corn-search-BY1Po63S.js +484 -0
  8. package/dist/chunks/{engine-ClfnAsgM.js → engine-HIgX35hE.js} +3679 -3580
  9. package/dist/chunks/layers-n1mJVJs8.js +191 -0
  10. package/dist/chunks/{map-LS9aQk6z.js → map-CeP9M2_w.js} +794 -773
  11. package/dist/chunks/node-panel-CY5xnuKC.js +1291 -0
  12. package/dist/chunks/{review-source-CPiFTfyc.js → review-source-DWisOXyR.js} +1 -1
  13. package/dist/chunks/{scope-Dg_uzefP.js → scope-CUhp8mkf.js} +13 -12
  14. package/dist/chunks/sheets-TFCL_dIn.js +204 -0
  15. package/dist/chunks/source-address-C70zNPIj.js +79 -0
  16. package/dist/chunks/{status-CYQD5PwL.js → status-CsFpnQxw.js} +55 -54
  17. package/dist/corn-layers.js +1 -0
  18. package/dist/corn-map.js +1 -1
  19. package/dist/corn-node-panel.js +1 -0
  20. package/dist/corn-review.js +1 -1
  21. package/dist/corn-scope.js +3 -3
  22. package/dist/corn-search.js +1 -0
  23. package/dist/index.js +8 -5
  24. package/dist/manifest.json +101 -36
  25. package/dist/tokens.css +8 -2
  26. package/dist/types/components.d.ts +90 -0
  27. package/dist/types/corn-layers.d.ts +2 -0
  28. package/dist/types/corn-node-panel.d.ts +2 -0
  29. package/dist/types/corn-search.d.ts +2 -0
  30. package/dist/types/index.d.ts +3 -0
  31. package/dist/version.json +1 -1
  32. package/package.json +14 -2
  33. package/dist/chunks/source-address-B7hYRgt8.js +0 -251
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @popcorn245/cornfield-components
2
2
 
3
- [cornfield](https://github.com/popcorn245/CornField)'s interface as web components: `<corn-review>` (a proposal on the map, with Approve and Send back, in one tag), `<corn-map>` and `<corn-scope>` today, more to follow. Built with StencilRS, as ES modules, with type declarations and a `tokens.css`.
3
+ [cornfield](https://github.com/popcorn245/CornField)'s interface as web components: `<corn-review>` (a proposal on the map, with Approve and Send back, in one tag), `<corn-map>`, `<corn-scope>` and the three pieces that go around the map in a scope, `<corn-node-panel>`, `<corn-layers>` and `<corn-search>`, today, more to follow. Built with StencilRS, as ES modules, with type declarations and a `tokens.css`.
4
4
 
5
5
  ```sh
6
6
  npm install @popcorn245/cornfield-components
@@ -0,0 +1,78 @@
1
+ import { An as e, Ht as t, Tn as n, Ut as r, Wt as i, Yt as a, kn as o, wn as s } from "./engine-HIgX35hE.js";
2
+ // ../explorer/engine/roots.js
3
+ var c = (e) => [e.root, ...e.extraRoots].filter(Boolean);
4
+ function l(e, t) {
5
+ if (!t || e.ended) return () => {};
6
+ let n = typeof t.getRootNode == "function" ? t.getRootNode() : t;
7
+ if (!n || c(e).some((e) => e === n || e === t)) return () => {};
8
+ e.extraRoots.add(n), e.emit("root:changed");
9
+ let r = () => {
10
+ e.extraRoots.delete(n) && e.emit("root:changed"), e.release(r);
11
+ };
12
+ return e.own(r), r;
13
+ }
14
+ function u(e, t, n, r) {
15
+ let i = /* @__PURE__ */ new WeakSet(), a = (e) => {
16
+ i.has(e) || (i.add(e), n(e));
17
+ }, o = /* @__PURE__ */ new Map(), s = () => {
18
+ let n = new Set(c(e));
19
+ for (let [e, t] of [...o]) n.has(e) || (t(), o.delete(e));
20
+ for (let i of n) o.has(i) || o.set(i, e.listen(i, t, a, r));
21
+ };
22
+ s();
23
+ let l = e.on("root:changed", s), u = () => {
24
+ l();
25
+ for (let e of o.values()) e();
26
+ o.clear(), e.release(u);
27
+ };
28
+ return e.own(u), u;
29
+ }
30
+ function d(e, t, { capture: n = !0 } = {}) {
31
+ return e.doc ? e.listen(e.doc, "click", (e) => t(e), n) : () => {};
32
+ }
33
+ // ../explorer/pieces/around.js
34
+ function f(e, t) {
35
+ let n = e.nodeType === 11 ? e.host : e, i = n && typeof n.getRootNode == "function" ? n.getRootNode() : null;
36
+ i && t && (r(i.nodeType === 9 ? i : i.ownerDocument, t), i.nodeType === 11 && r(i, t));
37
+ }
38
+ function p(r, c, u, d = {}) {
39
+ let p = !u;
40
+ p && (u = e({ root: c }));
41
+ let m = t(u), h = n(u);
42
+ f(c, d.tokens), h.own(l(u, c)), m && m.serverTheme && h.own(m.serverTheme.adopt(c));
43
+ let [g] = s(u, c, "<p class=\"hx-sr-only\" role=\"status\" aria-live=\"polite\"></p>", null, "announcer"), _ = a(u, g);
44
+ h.on("announce:fallback", (e) => (_(e), !0)), h.own(() => g.remove());
45
+ let v = null, y = [], b = { ...d.initial || {} }, x = !1, S = () => {
46
+ for (let e of y) e.remove();
47
+ y = [];
48
+ }, C = () => !!u.map && u.state.nodes.length > 0, w = (e = !1) => {
49
+ if (x) return;
50
+ let t = m ? d.noMap === "nodePanelEmpty" ? o(u, "nodePanelEmpty") : u.map && !e ? o(u, "waitingForMap") : o(u, "needsMap") : o(u, "needsScope");
51
+ y.length && y[0].textContent === t || (S(), y = s(u, c, `<p class="hx-needs" data-corn="empty">${i(t)}</p>`, null, "needs"));
52
+ }, T = () => {
53
+ v || x || (C() ? (S(), v = r.mount(c, u, {
54
+ ...d.piece || {},
55
+ inline: !0,
56
+ phone: !1
57
+ }), Object.keys(b).length && (v.update(b), b = {})) : w());
58
+ }, E = () => {
59
+ v &&= (v.destroy(), null);
60
+ };
61
+ return h.on("map:ready", T), h.on("scene", () => {
62
+ v || T();
63
+ }), h.on("map:gone", () => {
64
+ E(), w(!0);
65
+ }), d.onSearch && h.on("search", (e) => d.onSearch(e)), T(), {
66
+ inst: u,
67
+ update(e = {}) {
68
+ x || (v ? v.update(e) : Object.assign(b, e));
69
+ },
70
+ focusField() {
71
+ v && typeof v.focusField == "function" && v.focusField();
72
+ },
73
+ destroy() {
74
+ x || (x = !0, E(), S(), h.destroy(), p && u.destroy());
75
+ }
76
+ };
77
+ }
78
+ export { u as n, d as r, p as t };
@@ -0,0 +1,275 @@
1
+ import { t as e } from "./rolldown-runtime-CGnMp29N.js";
2
+ import { r as t, t as n } from "./runtime-DFu6W5g-.js";
3
+ import { n as r, r as i, t as a } from "./around-D7aqHejs.js";
4
+ import { Cn as o, Ft as s, Pt as c, Q as l, Tn as u, Vt as d, Wt as f, Z as p, a as m, at as h, ct as ee, d as g, et as _, ft as te, it as ne, k as v, kn as y, l as b, lt as x, m as S, nt as C, rt as w, s as T, st as re, t as E, tt as ie, wn as ae, x as D, y as O } from "./engine-HIgX35hE.js";
5
+ import { _ as oe, a as k, g as A, h as j, o as se, p as ce, s as M, u as le } from "./layers-n1mJVJs8.js";
6
+ // ../explorer/edge-key.js
7
+ var N = 44, P = 16, F = P / 2, I = 2, L = 41, R = (e, t) => {
8
+ let n = g.length * Math.cos(g.spread), r = g.length * Math.sin(g.spread);
9
+ if (e === "triangle") return `<path d="M${t} ${F} L${t - n} ${F - r} L${t - n} ${F + r} Z" fill="currentColor"/>`;
10
+ if (e === "chevron") return `<path d="M${t - n} ${F - r} L${t} ${F} L${t - n} ${F + r}" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
11
+ if (e === "bar") return `<path d="M${t - 1} ${F - S.barHalf} V${F + S.barHalf}" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
12
+ if (e === "diamond") {
13
+ let e = S.diamondHalf, n = S.diamondAcross;
14
+ return `<path d="M${t} ${F} L${t - e} ${F - n} L${t - 2 * e} ${F} L${t - e} ${F + n} Z" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
15
+ }
16
+ return "";
17
+ };
18
+ function z({ end: e = null, dash: t = null, width: n = 1.6, ticks: r = 0 } = {}) {
19
+ let i = e ? L - (e === "triangle" || e === "chevron" ? 1 : e === "diamond" ? 2 * S.diamondHalf : 1) : L, a = `<path d="M${I} ${F} H${i}" fill="none" stroke="currentColor" stroke-width="${n}"${t ? ` stroke-dasharray="${t.join(" ")}"` : ""}/>`, o = "";
20
+ for (let e = 0; e < r; e++) {
21
+ let t = (I + i) / 2 + (e - (r - 1) / 2) * S.tickGap;
22
+ o += `<path d="M${t} ${F - S.tickHalf} V${F + S.tickHalf}" fill="none" stroke="currentColor" stroke-width="${S.tickWidth}"/>`;
23
+ }
24
+ return `<svg class="hx-key-line" data-corn="swatch" viewBox="0 0 ${N} ${P}" width="${N}" height="${P}" aria-hidden="true" focusable="false">${a}${o}${e ? R(e, L) : ""}</svg>`;
25
+ }
26
+ var B = Object.freeze([
27
+ [{ width: 1.4 }, "Owns: a parent and what it holds"],
28
+ [{
29
+ dash: D,
30
+ width: 1.6
31
+ }, "Uses loosely: dotted"],
32
+ [{
33
+ dash: O,
34
+ end: "chevron"
35
+ }, "Proposed, not built: dashed, with its kind’s mark"],
36
+ [{ end: "chevron" }, "Data: flow, reads, writes (towards the page is a read)"],
37
+ [{ end: "triangle" }, "Services: calls, triggers, delivers"],
38
+ [{ end: "bar" }, "Places: runs on"],
39
+ [{ end: "diamond" }, "Tokens: uses, extends"]
40
+ ]);
41
+ function V() {
42
+ return `<div class="hx-menu-title" data-corn="menu-title"><span>Key</span></div>${B.map(([e, t]) => `<div class="hx-legend-row"><span class="hx-legend-swatch hx-legend-swatch--wide">${z(e)}</span><span>${t}</span></div>`).join("")}<p class="hx-faint hx-key-note">A line says its kind in words when it is lit.</p>`;
43
+ }
44
+ // ../explorer/engine/flow-legend.js
45
+ function H(e, t) {
46
+ if (!t) return;
47
+ let { state: n } = e, r = h(n);
48
+ if (r.flow === !1 && r.table === !1) {
49
+ t.innerHTML = "", t.hidden = !0;
50
+ return;
51
+ }
52
+ t.hidden = !1;
53
+ let i = (e, t) => `<div class="hx-legend-row"><span class="hx-legend-swatch">${e}</span><span>${t}</span></div>`;
54
+ t.innerHTML = `
55
+ <div class="hx-menu-section" data-corn="menu-section" part="menu-section">
56
+ <div class="hx-menu-title" data-corn="menu-title" part="menu-title">
57
+ <span>Data Flow</span>
58
+ </div>
59
+ ${Object.values(c).map((e) => i(`<span data-corn="swatch" part="swatch" class="hx-swatch-line" data-style="background:${f(_(e.color, n.theme))}"></span>`, e.label)).join("")}
60
+ </div>`;
61
+ }
62
+ // ../explorer/pieces/layers.js
63
+ var U = /* @__PURE__ */ e({
64
+ markup: () => W,
65
+ mount: () => G
66
+ }), W = () => ({ menu: "<div class=\"hx-menu-wrap hx-layers\">\n <button type=\"button\" id=\"legend-toggle-btn\" class=\"hx-layers-chip\" data-action=\"toggle-layers-menu\" aria-expanded=\"false\" aria-controls=\"legend-dropdown\" data-corn=\"layers-button\"><span data-corn-string=\"layers\">Layers</span><span id=\"layers-count\" class=\"hx-layers-count\" data-corn=\"count\"></span></button>\n <div id=\"legend-dropdown\" class=\"hx-menu glass\" hidden data-corn=\"layers-menu\">\n <div class=\"hx-menu-title hx-menu-head\" data-corn=\"menu-title\">\n <span>Section Toggles</span>\n <span class=\"hx-menu-links\">\n <button type=\"button\" class=\"hx-textbtn hx-textbtn--accent\" data-action=\"layers-all\" data-corn=\"layers-all\" data-corn-kind=\"quiet\" data-corn-string=\"layersAll\">All</button>\n <span class=\"hx-faint\">•</span>\n <button type=\"button\" class=\"hx-textbtn\" data-action=\"layers-none\" data-corn=\"layers-none\" data-corn-kind=\"quiet\" data-corn-string=\"layersNone\">None</button>\n </span>\n </div>\n <div class=\"hx-menu-body\">\n <p id=\"layers-preset-note\" class=\"hx-note\" data-corn=\"notice\" hidden>The data-flow view shows its own tiers and ignores these toggles. Switch it off to use them.</p>\n <div id=\"layer-toggles-container\" class=\"hx-toggles\"></div>\n <div id=\"flow-legend\" hidden></div>\n <div id=\"edge-key\" class=\"hx-menu-section\" data-corn=\"legend-key\"></div>\n <div id=\"cloud-legend\" class=\"hx-menu-section\" data-corn=\"menu-section\" hidden></div>\n <div id=\"runs-legend\" class=\"hx-menu-section\" data-corn=\"menu-section\" hidden>\n <div class=\"hx-menu-title\" data-corn=\"menu-title\"><span>Agent runs</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-run-swatch hx-run-swatch--flight\" aria-hidden=\"true\"></span><span>In flight: a pulsing ring (still under reduced motion)</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-run-swatch hx-run-swatch--collision\" aria-hidden=\"true\"></span><span>Collision: dashed ring, ⚠ and the words, where two open runs change one node</span></div>\n </div>\n <div id=\"proposal-legend\" class=\"hx-menu-section\" data-corn=\"menu-section\" hidden>\n <div class=\"hx-menu-title\" data-corn=\"menu-title\"><span>Proposal marks</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-mark-dot hx-mark-dot--added\" data-corn=\"mark-dot\" data-corn-state=\"added\"></span><span>Added: dashed ring</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-mark-dot hx-mark-dot--changed\" data-corn=\"mark-dot\" data-corn-state=\"changed\"></span><span>Changed: solid ring</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-mark-dot hx-mark-dot--removed\" data-corn=\"mark-dot\" data-corn-state=\"removed\"></span><span>Removed: faded ring, label struck through</span></div>\n <div class=\"hx-legend-row\"><span class=\"hx-mark-dot hx-mark-dot--edit\" data-corn=\"mark-dot\" data-corn-state=\"edit\"></span><span>Your edit: dotted ring, long-dashed line</span></div>\n </div>\n </div>\n </div>\n</div>" }), ue = Object.assign(Object.create(null), {
67
+ flow: (e) => `${e} ${e === 1 ? "link" : "links"}`,
68
+ runs: (e) => `${e} in flight`
69
+ });
70
+ function G(e, t, n = {}) {
71
+ let { state: a } = t, c = u(t), d = ae(t, e, W().menu, n.slots, "menu"), h = (e) => {
72
+ for (let t of d) {
73
+ if (t.id === e) return t;
74
+ let n = t.querySelector(`[id="${e}"]`);
75
+ if (n) return n;
76
+ }
77
+ return null;
78
+ };
79
+ c.keepParts(...d);
80
+ let g = d[0], _ = h("legend-dropdown"), S = h("legend-toggle-btn"), E = /* @__PURE__ */ new Set(), D = () => b(t).get();
81
+ "storageKey" in n && se(t, n.storageKey);
82
+ function O(e) {
83
+ _.hidden = !e, S.setAttribute("aria-expanded", String(e)), e && n.inline && N();
84
+ }
85
+ function N() {
86
+ _.classList.remove("hx-menu--end");
87
+ let e = t.win ? t.win.innerWidth : 0, n = _.getBoundingClientRect();
88
+ e && n.width && n.right > e && g.getBoundingClientRect().right - n.width >= 0 && _.classList.add("hx-menu--end");
89
+ }
90
+ let P = (e) => O(e === void 0 ? _.hidden : !!e), F = () => O(!1);
91
+ function I() {
92
+ let e = a.theme === "light" ? l : p, n = t.tokenReader();
93
+ if (!n) return e;
94
+ let r = w(n("--corn-ground")), i = w(n("--corn-surface-1"));
95
+ if (!r[3] || !i[3]) return e;
96
+ let [o, s, c] = C(i, C(r, [
97
+ 0,
98
+ 0,
99
+ 0,
100
+ 1
101
+ ]));
102
+ return `rgb(${o}, ${s}, ${c})`;
103
+ }
104
+ function L(e, t) {
105
+ if (ie(e, t) >= 3) return null;
106
+ let n = D().values[m];
107
+ return { stroke: n ? j(n) : "" };
108
+ }
109
+ function R(e, t, n, r = "") {
110
+ let i = L(e, n), o = `background-color: ${e}; box-shadow: ${t && a.theme !== "light" ? /^#[0-9a-f]{6}$/i.test(e) ? `0 0 8px ${e}90` : `0 0 8px color-mix(in srgb, ${e} 56%, transparent)` : "none"}${i && i.stroke ? `; --hx-dot-ring: ${i.stroke}` : ""}`;
111
+ return `<span class="hx-dot${r ? " hx-kind-swatch" : ""}${i ? " is-ringed" : ""}" data-corn="swatch"${r} data-style="${f(o)}"></span>`;
112
+ }
113
+ function B(e) {
114
+ let t = te(a.nodes), n = /* @__PURE__ */ new Map();
115
+ return a.nodes.forEach((r) => {
116
+ if (typeof r.kind != "string" || !r.kind || r.type === "external") return;
117
+ let i = e(r);
118
+ if (!i) return;
119
+ n.has(i) || n.set(i, /* @__PURE__ */ new Map());
120
+ let a = `${r.type}\u0000${r.kind}`, o = n.get(i).get(a) || {
121
+ type: r.type,
122
+ kind: r.kind,
123
+ letters: t.get(r.type).get(r.kind),
124
+ n: 0
125
+ };
126
+ o.n++, n.get(i).set(a, o);
127
+ }), new Map([...n].map(([e, t]) => [e, [...t.values()].sort((e, t) => e.kind.localeCompare(t.kind))]));
128
+ }
129
+ function U(e, t, n) {
130
+ let r = D().values[T(e.type, e.kind)];
131
+ return r ? R(j(r), !0, t, " aria-hidden=\"true\"") : n ? "<span class=\"hx-dot hx-kind-swatch is-blank\" aria-hidden=\"true\"></span>" : "";
132
+ }
133
+ function G(e, t, n) {
134
+ if (!t || !t.length) return "";
135
+ let r = E.has(e.key), i = `layer-kinds-${e.key}`, a = `${t.length} ${t.length === 1 ? "kind" : "kinds"}`, o = t.some((e) => D().values[T(e.type, e.kind)]), s = r ? `<ul class="hx-kind-keys" id="${f(i)}">${t.map((e) => `<li class="hx-kind-key" data-corn="kind-key">${U(e, n, o)}<span class="hx-kind-letter" aria-hidden="true">${f(e.letters)}</span><span class="hx-kind-name">${f(e.kind)}</span><span class="hx-count" data-corn="count">${e.n}</span></li>`).join("")}</ul>` : "";
136
+ return `<div class="hx-kinds"><button type="button" class="hx-textbtn hx-kinds-btn" data-action="toggle-layer-kinds" data-layer="${f(e.key)}" aria-expanded="${r}" aria-controls="${f(i)}" data-corn="layer-kinds" data-corn-kind="quiet">${r ? "▾" : "▸"} ${f(a)}</button>${s}</div>`;
137
+ }
138
+ function K() {
139
+ let e = h("layers-count");
140
+ if (!e) return;
141
+ let { layers: n } = M(t);
142
+ e.textContent = ` · ${n.filter((e) => k(t, e.key)).length} of ${n.length}`;
143
+ }
144
+ function q() {
145
+ K();
146
+ let e = h("layer-toggles-container");
147
+ if (!e) return;
148
+ let n = (e) => ee(a, e), r = Object.create(null), i = Object.create(null);
149
+ a.nodes.forEach((e) => {
150
+ let t = n(e);
151
+ t && (r[t] = (r[t] || 0) + 1, !v(a, e) && x(a, e) && (i[t] = (i[t] || 0) + 1));
152
+ }), r.flow = a.edges.filter((e) => e.kind === "flow").length, r.runs = a.runsMap ? a.runsMap.flight.size : 0;
153
+ let s = B(n), { layers: c, overlays: l } = M(t), u = I(), d = (e) => {
154
+ let n = k(t, e.key), o = i[e.key] ? `<span class="hx-faint hx-layer-note" data-corn="layer-note">+${i[e.key]} shown by the proposal</span>` : "", c = !o && r[e.key] && re(a, e.key) ? `<span class="hx-faint hx-layer-note" data-corn="layer-note">${f(y(t, "hiddenWhileReviewing"))}</span>` : "", l = `<span class="hx-toggle-name">${f(e.label)}</span>`;
155
+ return `
156
+ <button type="button" class="hx-toggle-row${n ? "" : " is-off"}" data-action="toggle-layer" data-layer="${f(e.key)}" aria-pressed="${n}" title="${f(e.desc)}" data-corn="row">
157
+ <span class="hx-toggle-label">
158
+ ${R(j(e.color), n, u)}
159
+ ${c ? `<span class="hx-toggle-text">${l}${c}</span>` : l}${e.live ? "<span class=\"hx-live-tag\" data-corn=\"live-tag\">live</span>" : ""}
160
+ </span>
161
+ <span class="hx-toggle-meta">${o}
162
+ <span class="hx-count" data-corn="count">${(ue[e.key] || String)(r[e.key] || 0)}</span>
163
+ <span class="hx-tick">${n ? "✓" : "—"}</span>
164
+ </span>
165
+ </button>${G(e, s.get(e.key), u)}`;
166
+ }, p = t.active(), m = p && e.contains(p) ? p : null, g = m ? {
167
+ action: m.getAttribute("data-action"),
168
+ layer: m.getAttribute("data-layer")
169
+ } : null;
170
+ if (e.innerHTML = c.map(d).join("") + (l.length ? `<div class="hx-menu-title hx-overlays" data-corn="overlays"><span>${f(y(t, "overlays"))}</span></div>${l.map(d).join("")}` : ""), o(e), g) {
171
+ let t = [...e.querySelectorAll("[data-action]")].find((e) => e.getAttribute("data-action") === g.action && e.getAttribute("data-layer") === g.layer);
172
+ t && typeof t.focus == "function" && t.focus({ preventScroll: !0 });
173
+ }
174
+ H(t, h("flow-legend")), J(), Y(), o(h("flow-legend"));
175
+ }
176
+ function J() {
177
+ let e = h("edge-key");
178
+ e && (e.innerHTML = V(), o(e));
179
+ }
180
+ function Y() {
181
+ let e = h("cloud-legend");
182
+ e && (ne(a, "cloud") ? (e.hidden = !1, e.innerHTML = `
183
+ <div class="hx-menu-title" data-corn="menu-title"><span>Cloud: when an outage bites</span></div>
184
+ ${Object.entries(s).map(([e, t]) => `<div class="hx-legend-row"><span class="hx-legend-swatch hx-legend-swatch--wide hx-swatch-when--${e}">${z({
185
+ end: "triangle",
186
+ ticks: t.ticks
187
+ })}</span><span>${t.legend}</span></div>`).join("")}
188
+ <div class="hx-legend-row"><span class="hx-legend-swatch"></span><span class="hx-faint"><span class="hx-cloud-browser">(browser)</span> the visitor's browser makes the call, not our server</span></div>`, o(e)) : (e.innerHTML = "", e.hidden = !0));
189
+ }
190
+ function X(e) {
191
+ E.has(e) ? E.delete(e) : E.add(e), q();
192
+ }
193
+ function Z() {
194
+ let e = a.view === "dataflow";
195
+ S.classList.toggle("hx-layers-chip--dim", e), h("layers-preset-note").hidden = !e;
196
+ }
197
+ let de = {
198
+ "toggle-layers-menu": () => P(),
199
+ "layers-all": () => A(t, !0, { viewer: !0 }),
200
+ "layers-none": () => A(t, !1, { viewer: !0 }),
201
+ "toggle-layer": (e) => oe(t, e.dataset.layer, { viewer: !0 }),
202
+ "toggle-layer-kinds": (e) => X(e.dataset.layer)
203
+ };
204
+ c.listen(g, "click", (e) => {
205
+ let t = e.target.closest && e.target.closest("[data-action]");
206
+ if (!t) return;
207
+ let n = de[t.dataset.action];
208
+ n && n(t);
209
+ });
210
+ let Q = /* @__PURE__ */ new WeakSet();
211
+ c.listen(g, "click", (e) => {
212
+ Q.add(e);
213
+ }, !0), c.own(i(t, (e) => {
214
+ _.hidden || Q.has(e) || (typeof e.composedPath == "function" ? e.composedPath() : [e.target]).includes(g) || F();
215
+ }, { capture: !1 })), c.own(r(t, "keydown", (e) => {
216
+ e.key !== "Escape" || _.hidden || (F(), S.focus());
217
+ })), c.on("layers:present", () => !0), c.on("layers:redraw", q), c.on("theme", q), c.on("view", Z), c.on("runs:map", ({ active: e }) => {
218
+ let t = h("runs-legend");
219
+ t && (t.hidden = !e);
220
+ });
221
+ let $ = (e) => {
222
+ let t = h("proposal-legend");
223
+ t && (t.hidden = !e);
224
+ };
225
+ return c.on("proposal:draw", ({ open: e }) => $(e)), c.own(b(t).onChange(() => {
226
+ le(t) || q();
227
+ })), c.own(() => d.forEach((e) => e.remove())), Z(), q(), $(!!t.state.proposal), {
228
+ elements: d,
229
+ renderToggles: q,
230
+ renderEdgeKey: J,
231
+ renderCloudLegend: Y,
232
+ toggleMenu: P,
233
+ closeMenu: F,
234
+ toggleKinds: X,
235
+ update(e) {
236
+ e && "layers" in e ? ce(t, e.layers) : q();
237
+ },
238
+ destroy: () => c.destroy()
239
+ };
240
+ }
241
+ // \0stencil-css:/home/runner/work/CornField/CornField/explorer/css/base?tag=corn-layers&encapsulation=shadow&__ext=css
242
+ var K = () => "*,:before,:after{box-sizing:border-box}*{--hx-control-h:var(--corn-control-height);--hx-seg-inner:calc(var(--hx-control-h) - var(--corn-space-1) - 2 * var(--corn-border))}@container corn-box (width<=767px){*{--hx-control-h:max(44px, var(--corn-control-height));--hx-seg-inner:var(--hx-control-h)}}img{image-rendering:var(--hx-pixelated,auto)}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}.glass{background:var(--corn-surface-1);-webkit-backdrop-filter:blur(var(--corn-blur));border:var(--corn-border) solid var(--corn-line);box-shadow:var(--corn-shadow)}.glass-header{background:color-mix(in srgb, var(--corn-ground) 88%, transparent);-webkit-backdrop-filter:blur(var(--corn-blur));border-bottom:var(--corn-border) solid var(--corn-line)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--corn-text) 18%, transparent);border-radius:var(--corn-radius-pill)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--corn-text) 28%, transparent)}.hx-faint{color:var(--corn-text-3)}.hx-mono{font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-strong{color:var(--corn-text-2)}.hx-bold{font-weight:700}.hx-name{color:var(--corn-text-2)}.hx-accent{color:var(--corn-accent-text)}.hx-good{color:var(--corn-ok)}.hx-warn{color:var(--corn-warn)}.hx-rom{color:var(--corn-hue-fuchsia)}.hx-link{color:var(--corn-info);text-decoration:underline}.hx-link-faint{color:var(--corn-text-3);font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-link-faint:hover{color:var(--corn-warn)}.hx-code{color:var(--corn-warn);font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-chips{gap:var(--corn-space-1);padding-top:var(--corn-space-1);flex-wrap:wrap;display:flex}.hx-pt{padding-top:var(--corn-space-3)}.hx-switch{border-radius:var(--corn-radius-pill);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-3);flex:none;width:28px;height:16px;position:relative}.hx-switch:after{content:\"\";background:var(--corn-text-3);border-radius:50%;width:10px;height:10px;transition:transform .15s;position:absolute;top:2px;left:2px}[aria-checked=true]>.hx-switch{background:var(--corn-accent);border-color:var(--corn-accent)}[aria-checked=true]>.hx-switch:after{background:var(--corn-text-on-accent);transform:translate(12px)}@media (prefers-reduced-motion:reduce){.hx-switch:after{transition:none}}.hx-btn{align-items:center;gap:var(--corn-space-2);padding:var(--corn-space-1) var(--corn-space-3);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-2);color:var(--corn-text-2);font-size:var(--corn-text-xs);white-space:nowrap;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.hx-btn:hover{background:var(--corn-surface-3);color:var(--corn-text)}.hx-btn:focus-visible,.hx-textbtn:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-btn--active,.hx-btn--active:hover{background:var(--corn-accent);border-color:var(--corn-accent-text);color:var(--corn-text-on-accent);box-shadow:var(--corn-shadow-sm)}.hx-btn--quiet{color:var(--corn-text-3);font-weight:500}.hx-btn--icon{width:28px;height:28px;font-size:var(--corn-text-base);justify-content:center;padding:0}.hx-btn--rom{width:100%;margin-top:var(--corn-space-1);padding:var(--corn-space-2);background:color-mix(in srgb, var(--corn-hue-fuchsia) 20%, transparent);border-color:color-mix(in srgb, var(--corn-hue-fuchsia) 40%, transparent);color:color-mix(in srgb, var(--corn-hue-fuchsia) 60%, var(--corn-text));justify-content:center;font-weight:700}.hx-btn--rom:hover{background:color-mix(in srgb, var(--corn-hue-fuchsia) 30%, transparent)}.hx-input{width:128px;padding:var(--corn-space-1) var(--corn-space-3) var(--corn-space-1) var(--corn-space-6);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:color-mix(in srgb, var(--corn-ground) 80%, transparent);color:var(--corn-text);font:inherit;font-size:var(--corn-text-sm);user-select:text;outline:none;transition:width .2s,border-color .2s}.hx-input:focus{border-color:var(--corn-focus);width:208px}.hx-input::placeholder{color:var(--corn-text-3)}.hx-input--wide,.hx-input--wide:focus{flex:1;width:100%}.hx-menu-wrap{flex:none;position:relative}.hx-menu{margin-top:var(--corn-space-3);width:288px;max-width:calc(100cqw - 24px);max-height:calc(100cqh - 80px);padding:var(--corn-space-4);border-radius:var(--corn-radius-lg);font-size:var(--corn-text-xs);z-index:50;user-select:none;position:absolute;top:100%;left:0;overflow-y:auto}.hx-textbtn{padding:calc(var(--corn-space-1) / 2) var(--corn-space-1);border-radius:var(--corn-radius-xs);color:var(--corn-text-3);font-size:var(--corn-text-2xs);background:0 0;border:0;font-weight:600}.hx-textbtn:hover{background:var(--corn-line-soft);color:var(--corn-text-2)}.hx-textbtn--accent{color:var(--corn-accent-text)}.hx-close{width:var(--hx-control-h);height:var(--hx-control-h);border-radius:var(--corn-radius-sm);background:var(--corn-surface-2);color:var(--corn-text-3);font-weight:700;font-size:var(--corn-text-base);border:0;flex:none}.hx-close:hover{color:var(--corn-text)}.hx-mark-dot{width:12px;height:12px;margin-right:var(--corn-space-2);border:var(--corn-border-strong) solid var(--corn-changed);vertical-align:-2px;border-radius:50%;flex:none;display:inline-block}.hx-mark-dot--added{border-color:var(--corn-added);border-style:dashed}.hx-mark-dot--changed{border-color:var(--corn-changed)}.hx-mark-dot--removed{border-color:var(--corn-removed);background:color-mix(in srgb, var(--corn-removed) 25%, transparent)}.hx-mark-dot--edit{border-color:var(--corn-edit);border-style:dotted}.hx-glyph{color:color-mix(in srgb, var(--glyph) var(--corn-glyph-mix), var(--corn-text))}.hx-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}:where(button,a[href],summary,select,textarea,[tabindex]):focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}@media (prefers-reduced-motion:reduce){.hx-input,.hx-btn,.hx-menu{transition:none;animation:none}}.hx-btn[aria-disabled=true]{opacity:.6;cursor:progress}@container corn-box (width<=767px){.hx-textbtn{min-width:44px;min-height:44px}}@media (pointer:coarse){.hx-textbtn{min-width:44px;min-height:44px}}", q = () => ".hx-menu-title{font-family:var(--corn-font-display)}.hx-layers-chip{align-items:center;gap:var(--corn-space-1);height:var(--hx-control-h);padding:0 var(--corn-space-4);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-2);color:var(--corn-text-2);font-size:var(--corn-text-sm);white-space:nowrap;display:inline-flex}.hx-layers-chip:hover,.hx-layers-chip[aria-expanded=true]{background:var(--corn-surface-3);color:var(--corn-text)}.hx-layers-count{color:var(--corn-text-3)}.hx-layers-chip--dim{border-color:var(--corn-line-soft)}.hx-layers-chip--dim,.hx-layers-chip--dim .hx-layers-count{color:var(--corn-text-3)}@container corn-box (width<=767px){.hx-header .hx-layers{top:calc(100% + var(--corn-space-4));left:var(--corn-space-4);position:absolute}.hx-layers-chip{height:var(--hx-control-h);padding:0 var(--corn-space-5);border-radius:var(--corn-radius-pill);background:var(--corn-surface-1);box-shadow:var(--corn-shadow)}}.hx-toggle-row:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-menu-title{padding-bottom:calc(var(--corn-space-1) / 2);font-size:var(--corn-text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--corn-text-3);justify-content:space-between;align-items:center;font-weight:700;display:flex}.hx-menu-head{padding-bottom:var(--corn-space-2);border-bottom:var(--corn-border) solid var(--corn-line);margin-bottom:var(--corn-space-3)}.hx-menu-links{align-items:center;gap:var(--corn-space-3);text-transform:none;letter-spacing:0;display:flex}.hx-menu-section{padding-top:var(--corn-space-3);margin-top:var(--corn-space-3);border-top:var(--corn-border) solid var(--corn-line)}.hx-note{padding:var(--corn-space-2) var(--corn-space-3);margin-bottom:var(--corn-space-3);border-radius:var(--corn-radius-sm);background:var(--corn-hue-orange-soft);color:var(--corn-hue-orange-text);font-size:var(--corn-text-xs);line-height:1.4}.hx-toggles{gap:var(--corn-space-1);flex-direction:column;display:flex}.hx-toggle-row{width:100%;padding:var(--corn-space-2) var(--corn-space-3);border-radius:var(--corn-radius);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-2);color:var(--corn-text);text-align:left;justify-content:space-between;align-items:center;transition:background .15s;display:flex}.hx-toggle-row:hover{background:var(--corn-surface-3)}.hx-toggle-row.is-off{background:color-mix(in srgb, var(--corn-ground) 40%, transparent);color:var(--corn-text-3);border-color:#0000}.hx-toggle-label,.hx-toggle-meta{align-items:center;gap:var(--corn-space-3);display:flex}.hx-dot{border-radius:50%;flex:none;width:10px;height:10px;transition:transform .15s}.hx-toggle-row.is-off .hx-dot{opacity:.4;transform:scale(.75)}.hx-toggle-name{font-size:var(--corn-text-xs);color:var(--corn-text-2);font-weight:500}.hx-toggle-row.is-off .hx-toggle-name{color:var(--corn-text-3);text-decoration:line-through}.hx-count{padding:calc(var(--corn-space-1) / 2) var(--corn-space-2);border-radius:var(--corn-radius-xs);background:var(--corn-surface-3);color:var(--corn-text-2);font-size:var(--corn-text-2xs)}.hx-toggle-row.is-off .hx-count{background:color-mix(in srgb, var(--corn-ground) 40%, transparent);color:var(--corn-text-3)}.hx-tick{font-size:var(--corn-text-sm);color:var(--corn-ok);font-weight:700}.hx-toggle-row.is-off .hx-tick{color:var(--corn-text-3)}.hx-legend-row{align-items:center;gap:var(--corn-space-3);padding:calc(var(--corn-space-1) / 2) 0;color:var(--corn-text-2);display:flex}.hx-legend-row--split{justify-content:space-between}.hx-legend-label{align-items:center;gap:var(--corn-space-3);font-weight:500;display:flex}.hx-legend-swatch{flex:none;justify-content:center;width:16px;display:inline-flex}.hx-swatch-line{border-radius:var(--corn-radius-xs);width:16px;height:2px;display:inline-block}.hx-swatch-indigo{border-top-color:var(--corn-accent-text)}.hx-legend-row .hx-mark-dot{margin-right:0}.hx-count,.hx-layers-count{font-family:var(--corn-font-num);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.hx-dot{transition:none;animation:none}}@container corn-box (width<=767px){.hx-toggle-row{min-height:44px}}@media (pointer:coarse){.hx-toggle-row{min-height:44px}}.hx-layers .hx-menu{flex-direction:column;display:flex;overflow:hidden}.hx-layers .hx-menu[hidden]{display:none}.hx-layers .hx-menu-head{flex:none}.hx-menu-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.hx-overlays{margin-top:var(--corn-space-3);padding-top:var(--corn-space-3);border-top:var(--corn-border) solid var(--corn-line)}.hx-layer-note{font-size:var(--corn-text-2xs)}.hx-kinds{padding:0 var(--corn-space-3) var(--corn-space-1) var(--corn-space-5)}.hx-kinds-btn{align-items:center;gap:var(--corn-space-1);display:inline-flex}.hx-kind-keys{gap:calc(var(--corn-space-1) / 2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hx-kind-key{align-items:center;gap:var(--corn-space-3);padding:calc(var(--corn-space-1) / 2) 0;color:var(--corn-text-2);font-size:var(--corn-text-xs);display:flex}.hx-kind-letter{min-width:1.6em;padding:0 var(--corn-space-1);border-radius:var(--corn-radius-xs);background:var(--corn-surface-3);color:var(--corn-text);font-family:var(--corn-mono);font-size:var(--corn-text-2xs);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.hx-kind-name{overflow-wrap:anywhere;flex:1;min-width:0}@container corn-box (width<=767px){.hx-layers .hx-menu{top:calc(56px + var(--corn-space-4) + 44px + var(--corn-space-2));width:auto;max-width:none;max-height:70cqh;position:fixed;left:12px;right:12px}.hx-header:has(.hx-layers .hx-menu:not([hidden])){z-index:46}.hx-kinds-btn{min-height:44px}}.hx-legend-swatch--wide{width:44px;color:var(--corn-text-2);justify-content:flex-start}.hx-key-line{display:block;overflow:visible}.hx-key-note{margin:var(--corn-space-1) 0 0;font-size:var(--corn-text-xs)}.hx-dot.is-ringed{outline:var(--corn-border) solid var(--hx-dot-ring,var(--corn-text-3));outline-offset:0}.hx-kind-swatch{margin-inline-end:calc(var(--corn-space-1) * -1)}.hx-kind-swatch.is-blank{visibility:hidden}.hx-toggle-text{flex-direction:column;align-items:flex-start;min-width:0;display:flex}", J = () => ":host{min-width:0;color:var(--corn-text);font-family:var(--corn-font);display:block;position:relative;container:corn-box/inline-size}:host([hidden]){display:none!important}.hx-layers .hx-menu{width:18rem;max-width:max(100cqw - 24px,16rem);max-height:calc(100cqh - 80px);position:absolute;top:100%;left:0;right:auto}.hx-layers .hx-menu.hx-menu--end{left:auto;right:0}.hx-layers .hx-menu{background:var(--corn-ground)}.hx-needs{color:var(--corn-text-3);font-size:var(--corn-text-sm);margin:0}", Y = class extends n {
243
+ constructor(e) {
244
+ super(), e !== !1 && this.__registerHost(), this.__attachShadow();
245
+ }
246
+ get el() {
247
+ return this;
248
+ }
249
+ piece = null;
250
+ scope = null;
251
+ loaded = !1;
252
+ connectedCallback() {
253
+ this.loaded && this.mountPiece();
254
+ }
255
+ componentDidLoad() {
256
+ this.loaded = !0, this.mountPiece();
257
+ }
258
+ disconnectedCallback() {
259
+ this.unmountPiece();
260
+ }
261
+ unmountPiece() {
262
+ this.piece && this.piece.destroy(), this.piece = null, this.scope && this.scope.leave(), this.scope = null;
263
+ }
264
+ remount() {
265
+ this.unmountPiece(), this.loaded && this.el.isConnected && this.mountPiece();
266
+ }
267
+ mountPiece() {
268
+ !this.piece && this.el.shadowRoot && (this.scope = d(this.el, () => this.remount()), this.piece = a(U, this.el.shadowRoot, this.scope.inst, { tokens: E }));
269
+ }
270
+ static get style() {
271
+ return K() + q() + J();
272
+ }
273
+ };
274
+ t(Y, [1, "corn-layers"]);
275
+ export { Y as t };
@@ -1,6 +1,6 @@
1
1
  import { n as e, r as t, t as n } from "./runtime-DFu6W5g-.js";
2
- import { t as r } from "./map-LS9aQk6z.js";
3
- import { a as i, t as a } from "./engine-ClfnAsgM.js";
2
+ import { t as r } from "./map-CeP9M2_w.js";
3
+ import { Vt as i, t as a } from "./engine-HIgX35hE.js";
4
4
  // \0stencil-css:/home/runner/work/CornField/CornField/explorer/pieces/map-stage?tag=corn-map&encapsulation=shadow&__ext=css
5
5
  var o = () => "[data-corn=map-stage]{background:var(--corn-ground-image), var(--corn-ground);width:100%;height:100%;min-height:16rem;display:block;position:relative;overflow:hidden}[data-corn=map-canvas]{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}[data-corn=map-canvas]:active{cursor:grabbing}[data-corn=map-canvas]:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:calc(var(--corn-focus-width) * -1)}[data-corn=label-canvas]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}[data-corn=map-overlay]{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hx-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}", s = () => "[data-corn=source-status]{z-index:2;box-sizing:border-box;align-items:center;gap:var(--corn-space-3);width:min(26rem, calc(100% - var(--corn-space-6) * 2));padding:var(--corn-space-6);border:var(--corn-border) solid var(--corn-line);border-radius:var(--corn-radius-lg);background:var(--corn-surface-1);color:var(--corn-text-2);box-shadow:var(--corn-shadow);text-align:center;font-family:var(--corn-font);font-size:var(--corn-text-md);flex-direction:column;line-height:1.5;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}[data-corn=source-status][hidden]{display:none}[data-corn=source-status]:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}[data-corn=source-status][data-corn-state=running]{box-shadow:none;color:var(--corn-text-3);background:0 0;border-color:#0000;padding:0}[data-corn=source-status][data-corn-state=running] [data-corn=source-title]{font-size:var(--corn-text-md);color:var(--corn-text-3);font-weight:400}[data-corn=source-status][data-corn-state=failure] [data-corn=source-title]{color:var(--corn-bad)}[data-corn=source-status][data-corn-state=waiting] [data-corn=source-title]{color:var(--corn-accent-text)}[data-corn=source-title],[data-corn=source-text]{margin:0}[data-corn=source-title]{font-size:var(--corn-text-lg);color:var(--corn-text);font-weight:600}[data-corn=source-text]{overflow-wrap:anywhere;user-select:text}[data-corn=source-origin]{font-family:var(--corn-mono);color:var(--corn-warn);overflow-wrap:anywhere;user-select:all}[data-corn=source-sign-in],[data-corn=source-retry]{box-sizing:border-box;min-height:max(var(--corn-control-height), 2.75rem);padding:0 var(--corn-space-6);border:var(--corn-border) solid var(--corn-line);border-radius:var(--corn-radius);background:var(--corn-surface-2);color:var(--corn-text);font-family:inherit;font-size:inherit;cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}[data-corn=source-sign-in]{border-color:var(--corn-accent);background:var(--corn-accent);color:var(--corn-text-on-accent);font-weight:600}[data-corn=source-sign-in]:hover{background:var(--corn-accent-hover)}[data-corn=source-retry]:hover{background:var(--corn-surface-3)}[data-corn=source-sign-in]:focus-visible,[data-corn=source-retry]:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}[data-corn=source-notice]{z-index:2;box-sizing:border-box;padding:var(--corn-space-3) var(--corn-space-6);background:var(--corn-surface-1);border-top:var(--corn-border) solid var(--corn-line-soft);color:var(--corn-text-2);font-family:var(--corn-font);font-size:var(--corn-text-sm);text-align:center;overflow-wrap:anywhere;margin:0;position:absolute;bottom:0;left:0;right:0}[data-corn=source-notice][hidden]{display:none}", c = () => ":host{contain:layout;min-width:0;color:var(--corn-text);font-family:var(--corn-font);display:block;position:relative}:host([hidden]){display:none!important}", l = class extends n {
6
6
  constructor(t) {
@@ -40,7 +40,8 @@ var o = () => "[data-corn=map-stage]{background:var(--corn-ground-image), var(--
40
40
  this.unmountPiece(), this.loaded && this.el.isConnected && this.mountPiece();
41
41
  }
42
42
  mountPiece() {
43
- !this.piece && this.el.shadowRoot && (this.changes = {}, this.scope = i(this.el, () => this.remount()), this.piece = r(this.el.shadowRoot, this.scope.inst, {
43
+ if (this.piece || !this.el.shadowRoot) return;
44
+ this.changes = {}, this.scope = i(this.el, () => this.remount()), this.piece = r(this.el.shadowRoot, this.scope.inst, {
44
45
  topology: this.topology,
45
46
  view: this.view,
46
47
  node: this.node,
@@ -49,7 +50,7 @@ var o = () => "[data-corn=map-stage]{background:var(--corn-ground-image), var(--
49
50
  tokens: a,
50
51
  src: this.src,
51
52
  useTheme: this.useTheme,
52
- version: "0.51.8",
53
+ version: "0.52.0",
53
54
  pageUrl: () => typeof location > "u" ? "" : location.href,
54
55
  onAuth: (e) => this.cornAuth.emit(e),
55
56
  onError: (e) => this.cornError.emit(e),
@@ -57,7 +58,9 @@ var o = () => "[data-corn=map-stage]{background:var(--corn-ground-image), var(--
57
58
  this.node = e.kind === "node" ? e.id : null, delete this.changes.node, this.cornSelect.emit(e);
58
59
  },
59
60
  onReady: () => this.cornReady.emit()
60
- }));
61
+ });
62
+ let e = this.node ? null : this.piece.selection();
63
+ e && e.kind === "node" && (this.node = e.id, delete this.changes.node);
61
64
  }
62
65
  componentDidRender() {
63
66
  let e = this.changes;
@@ -0,0 +1,42 @@
1
+ import { r as e, t } from "./runtime-DFu6W5g-.js";
2
+ import { t as n } from "./around-D7aqHejs.js";
3
+ import { Vt as r, t as i } from "./engine-HIgX35hE.js";
4
+ import { n as a } from "./node-panel-CY5xnuKC.js";
5
+ // \0stencil-css:/home/runner/work/CornField/CornField/explorer/css/base?tag=corn-node-panel&encapsulation=shadow&__ext=css
6
+ var o = () => "*,:before,:after{box-sizing:border-box}*{--hx-control-h:var(--corn-control-height);--hx-seg-inner:calc(var(--hx-control-h) - var(--corn-space-1) - 2 * var(--corn-border))}@container corn-box (width<=767px){*{--hx-control-h:max(44px, var(--corn-control-height));--hx-seg-inner:var(--hx-control-h)}}img{image-rendering:var(--hx-pixelated,auto)}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}.glass{background:var(--corn-surface-1);-webkit-backdrop-filter:blur(var(--corn-blur));border:var(--corn-border) solid var(--corn-line);box-shadow:var(--corn-shadow)}.glass-header{background:color-mix(in srgb, var(--corn-ground) 88%, transparent);-webkit-backdrop-filter:blur(var(--corn-blur));border-bottom:var(--corn-border) solid var(--corn-line)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--corn-text) 18%, transparent);border-radius:var(--corn-radius-pill)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--corn-text) 28%, transparent)}.hx-faint{color:var(--corn-text-3)}.hx-mono{font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-strong{color:var(--corn-text-2)}.hx-bold{font-weight:700}.hx-name{color:var(--corn-text-2)}.hx-accent{color:var(--corn-accent-text)}.hx-good{color:var(--corn-ok)}.hx-warn{color:var(--corn-warn)}.hx-rom{color:var(--corn-hue-fuchsia)}.hx-link{color:var(--corn-info);text-decoration:underline}.hx-link-faint{color:var(--corn-text-3);font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-link-faint:hover{color:var(--corn-warn)}.hx-code{color:var(--corn-warn);font-family:var(--corn-mono);font-size:var(--corn-text-2xs)}.hx-chips{gap:var(--corn-space-1);padding-top:var(--corn-space-1);flex-wrap:wrap;display:flex}.hx-pt{padding-top:var(--corn-space-3)}.hx-switch{border-radius:var(--corn-radius-pill);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-3);flex:none;width:28px;height:16px;position:relative}.hx-switch:after{content:\"\";background:var(--corn-text-3);border-radius:50%;width:10px;height:10px;transition:transform .15s;position:absolute;top:2px;left:2px}[aria-checked=true]>.hx-switch{background:var(--corn-accent);border-color:var(--corn-accent)}[aria-checked=true]>.hx-switch:after{background:var(--corn-text-on-accent);transform:translate(12px)}@media (prefers-reduced-motion:reduce){.hx-switch:after{transition:none}}.hx-btn{align-items:center;gap:var(--corn-space-2);padding:var(--corn-space-1) var(--corn-space-3);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:var(--corn-surface-2);color:var(--corn-text-2);font-size:var(--corn-text-xs);white-space:nowrap;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.hx-btn:hover{background:var(--corn-surface-3);color:var(--corn-text)}.hx-btn:focus-visible,.hx-textbtn:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-btn--active,.hx-btn--active:hover{background:var(--corn-accent);border-color:var(--corn-accent-text);color:var(--corn-text-on-accent);box-shadow:var(--corn-shadow-sm)}.hx-btn--quiet{color:var(--corn-text-3);font-weight:500}.hx-btn--icon{width:28px;height:28px;font-size:var(--corn-text-base);justify-content:center;padding:0}.hx-btn--rom{width:100%;margin-top:var(--corn-space-1);padding:var(--corn-space-2);background:color-mix(in srgb, var(--corn-hue-fuchsia) 20%, transparent);border-color:color-mix(in srgb, var(--corn-hue-fuchsia) 40%, transparent);color:color-mix(in srgb, var(--corn-hue-fuchsia) 60%, var(--corn-text));justify-content:center;font-weight:700}.hx-btn--rom:hover{background:color-mix(in srgb, var(--corn-hue-fuchsia) 30%, transparent)}.hx-input{width:128px;padding:var(--corn-space-1) var(--corn-space-3) var(--corn-space-1) var(--corn-space-6);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:color-mix(in srgb, var(--corn-ground) 80%, transparent);color:var(--corn-text);font:inherit;font-size:var(--corn-text-sm);user-select:text;outline:none;transition:width .2s,border-color .2s}.hx-input:focus{border-color:var(--corn-focus);width:208px}.hx-input::placeholder{color:var(--corn-text-3)}.hx-input--wide,.hx-input--wide:focus{flex:1;width:100%}.hx-menu-wrap{flex:none;position:relative}.hx-menu{margin-top:var(--corn-space-3);width:288px;max-width:calc(100cqw - 24px);max-height:calc(100cqh - 80px);padding:var(--corn-space-4);border-radius:var(--corn-radius-lg);font-size:var(--corn-text-xs);z-index:50;user-select:none;position:absolute;top:100%;left:0;overflow-y:auto}.hx-textbtn{padding:calc(var(--corn-space-1) / 2) var(--corn-space-1);border-radius:var(--corn-radius-xs);color:var(--corn-text-3);font-size:var(--corn-text-2xs);background:0 0;border:0;font-weight:600}.hx-textbtn:hover{background:var(--corn-line-soft);color:var(--corn-text-2)}.hx-textbtn--accent{color:var(--corn-accent-text)}.hx-close{width:var(--hx-control-h);height:var(--hx-control-h);border-radius:var(--corn-radius-sm);background:var(--corn-surface-2);color:var(--corn-text-3);font-weight:700;font-size:var(--corn-text-base);border:0;flex:none}.hx-close:hover{color:var(--corn-text)}.hx-mark-dot{width:12px;height:12px;margin-right:var(--corn-space-2);border:var(--corn-border-strong) solid var(--corn-changed);vertical-align:-2px;border-radius:50%;flex:none;display:inline-block}.hx-mark-dot--added{border-color:var(--corn-added);border-style:dashed}.hx-mark-dot--changed{border-color:var(--corn-changed)}.hx-mark-dot--removed{border-color:var(--corn-removed);background:color-mix(in srgb, var(--corn-removed) 25%, transparent)}.hx-mark-dot--edit{border-color:var(--corn-edit);border-style:dotted}.hx-glyph{color:color-mix(in srgb, var(--glyph) var(--corn-glyph-mix), var(--corn-text))}.hx-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}:where(button,a[href],summary,select,textarea,[tabindex]):focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}@media (prefers-reduced-motion:reduce){.hx-input,.hx-btn,.hx-menu{transition:none;animation:none}}.hx-btn[aria-disabled=true]{opacity:.6;cursor:progress}@container corn-box (width<=767px){.hx-textbtn{min-width:44px;min-height:44px}}@media (pointer:coarse){.hx-textbtn{min-width:44px;min-height:44px}}", s = () => ".hx-var{color:var(--corn-hue-pink);font-family:var(--corn-mono);font-size:var(--corn-text-2xs);background:color-mix(in srgb, var(--corn-ground) 55%, transparent);padding:0 var(--corn-space-1);border-radius:var(--corn-radius-xs)}.hx-drawer-title{font-family:var(--corn-font-display)}.hx-backdrop{z-index:40;background:var(--corn-scrim);backdrop-filter:blur(calc(var(--corn-blur) / 4));position:fixed;inset:0}@container corn-box (width>=768px){.hx-backdrop{display:none}}.hx-drawer{z-index:40;border-color:var(--corn-line);box-shadow:var(--corn-shadow-lg);pointer-events:none;touch-action:pan-y;flex-direction:column;transition:transform .2s ease-out;display:flex}.hx-drawer *{touch-action:pan-y}.hx-drawer.drawer-open{pointer-events:auto}.hx-drawer:not(.drawer-open){box-shadow:none}@container corn-box (width<=767px){.hx-drawer{border-radius:var(--corn-radius-lg) var(--corn-radius-lg) 0 0;z-index:auto;border-left:0;width:100%;position:relative;transform:none}.hx-drawer:not(.drawer-open){display:none}}@container corn-box (width>=768px){.hx-drawer{width:480px;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.hx-drawer.drawer-open{transform:translate(0)}}.hx-drawer-handle{padding:var(--corn-space-3) 0 var(--corn-space-1);justify-content:center;display:flex}.hx-drawer-handle span{border-radius:var(--corn-radius-pill);background:var(--corn-surface-3);width:48px;height:6px}.hx-drawer-body{gap:var(--corn-space-5);padding:var(--corn-panel-pad);user-select:text;flex-direction:column;flex:1;display:flex;overflow-y:auto}.hx-drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--corn-space-3);display:flex}.hx-drawer-title{font-size:var(--corn-text-lg);color:var(--corn-text);overflow-wrap:anywhere;font-weight:700}.hx-lead{font-size:var(--corn-text-base);color:var(--corn-text-2);line-height:1.5}.hx-block{gap:var(--corn-space-3);flex-direction:column;display:flex}.hx-meta{gap:var(--corn-space-5);font-size:var(--corn-text-md);color:var(--corn-text-2);overflow-wrap:anywhere;flex-direction:column;display:flex}.hx-meta>:empty{display:none}.hx-sec{margin-top:var(--corn-space-2);padding-top:var(--corn-space-2);border-top:var(--corn-border) solid var(--corn-line)}.hx-line{align-items:flex-start;gap:var(--corn-space-2);padding:calc(var(--corn-space-1) / 2) 0;display:flex}.hx-linkbtn{margin-left:var(--corn-space-1);color:var(--corn-hue-fuchsia);font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.hx-sim{gap:var(--corn-space-2);padding-top:var(--corn-space-1);font-family:var(--corn-font);flex-direction:column;display:flex}.hx-field-label{font-size:var(--corn-text-2xs);color:var(--corn-text-3)}.hx-field{width:100%;padding:var(--corn-space-1) var(--corn-space-3);border-radius:var(--corn-radius-sm);border:var(--corn-border) solid var(--corn-line);background:color-mix(in srgb, var(--corn-ground) 80%, transparent);color:var(--corn-text-2);font-family:var(--corn-mono);font-size:var(--corn-text-xs)}.hx-sim-result{font-size:var(--corn-text-xs)}.hx-error-text{padding-top:var(--corn-space-3);color:var(--corn-bad)}.hx-ms{text-align:right;width:56px;color:var(--corn-hue-fuchsia);flex:none}.hx-file{padding:calc(var(--corn-space-1) / 2) 0}.hx-sandbox{gap:var(--corn-space-4);padding:var(--corn-space-5);border-radius:var(--corn-radius);border:var(--corn-border) solid var(--corn-line);background:color-mix(in srgb, var(--corn-ground) 80%, transparent);flex-direction:column;display:flex}.hx-sandbox-title{font-size:var(--corn-text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--corn-text-3);justify-content:space-between;align-items:center;font-weight:700;display:flex}.hx-sandbox-name{align-items:center;gap:var(--corn-space-2);display:flex}.hx-sandbox-stage{min-height:90px;padding:var(--corn-space-5);border-radius:var(--corn-radius-sm);border:var(--corn-border) dashed var(--corn-surface-2);background:var(--corn-ground);justify-content:center;align-items:center;display:flex;overflow-x:auto}.hx-sandbox-controls{gap:var(--corn-space-2);padding-top:var(--corn-space-3);border-top:var(--corn-border) solid var(--corn-line);font-size:var(--corn-text-xs);flex-direction:column;display:flex}.hx-ctl-row{align-items:center;gap:var(--corn-space-2);color:var(--corn-text-2);flex-wrap:wrap;display:flex}.hx-check{align-items:center;gap:var(--corn-space-1);margin-right:var(--corn-space-3);cursor:pointer;display:inline-flex}.hx-chip{padding:calc(var(--corn-space-1) / 2) var(--corn-space-3);border-radius:var(--corn-radius-xs);font-size:var(--corn-text-xs);color:var(--corn-text-on-accent);border:0;font-weight:500}.hx-chip--ghost{background:var(--corn-surface-2);color:var(--corn-text-2)}.hx-chip--outline{background:var(--corn-surface-2);color:var(--corn-accent-text)}.hx-chip--primary{background:var(--corn-accent)}.hx-chip--danger{background:var(--corn-bad)}.hx-chip--success{background:var(--corn-ok)}.hx-chip--warning{background:var(--corn-warn)}.hx-chip--danger,.hx-chip--success,.hx-chip--warning{color:var(--corn-ground)}.hx-drawer-foot{align-items:stretch;gap:var(--corn-space-3);padding:var(--corn-space-4) var(--corn-space-5) calc(var(--corn-space-4) + env(safe-area-inset-bottom,0px));border-top:var(--corn-border) solid var(--corn-line-soft);flex:none;display:flex}.hx-open{justify-content:center;align-items:center;gap:var(--corn-space-2);min-height:var(--hx-control-h);padding:0 var(--corn-space-4);border-radius:var(--corn-radius-sm);background:var(--corn-accent);color:var(--corn-text-on-accent);font-size:var(--corn-text-sm);text-align:center;flex:auto;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.hx-open:hover{background:var(--corn-accent-hover)}.hx-proposal-sec{padding:var(--corn-space-3) var(--corn-space-3);border:var(--corn-border) solid var(--corn-line);border-left-width:var(--corn-border-strong);border-radius:var(--corn-radius-sm);background:color-mix(in srgb, var(--corn-ground) 55%, transparent);margin:0 0 var(--corn-space-2);font-family:var(--corn-font)}.hx-proposal-sec--added{border-left-color:var(--corn-added)}.hx-proposal-sec--changed{border-left-color:var(--corn-changed)}.hx-proposal-sec--removed{border-left-color:var(--corn-removed)}.hx-proposal-sec--edit{border-left-color:var(--corn-edit)}.hx-why{margin:var(--corn-space-1) 0 var(--corn-space-2);color:var(--corn-text-2);font-size:var(--corn-text-sm);line-height:1.5}.hx-change{align-items:baseline;gap:calc(var(--corn-space-1) / 2) var(--corn-space-3);padding:var(--corn-space-1) 0;border-top:var(--corn-border) solid var(--corn-line-soft);font-family:var(--corn-mono);font-size:var(--corn-text-xs);flex-wrap:wrap;display:flex}.hx-change-field{min-width:64px;color:var(--corn-text-3);flex:none}.hx-change-before{color:var(--corn-bad);text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--corn-bad) 50%, transparent);overflow-wrap:anywhere}.hx-change-arrow{color:var(--corn-text-3)}.hx-change-after{color:var(--corn-ok);overflow-wrap:anywhere}.hx-change em{color:var(--corn-text-3);text-decoration:none}.hx-mockup-list{margin:var(--corn-space-1) 0 0;gap:var(--corn-space-2);flex-direction:column;padding:0;list-style:none;display:flex}.hx-mockup-item{align-items:center;gap:var(--corn-space-1) var(--corn-space-3);flex-wrap:wrap;display:flex}.hx-mockup-open{white-space:normal;text-align:left;max-width:100%}.hx-mockup-state{font-size:var(--corn-text-xs);color:var(--corn-text-2);margin:0}.hx-mockup-state--approved{color:var(--corn-added-text)}.hx-mockup-state--changed{color:var(--corn-warn);font-weight:600}.hx-mockup-state--missing{color:var(--corn-bad)}@container corn-box (width<=767px){.hx-backdrop{display:none}.hx-drawer{max-height:60cqh}}.hx-cloud-browser{color:var(--corn-text-3);font-size:var(--corn-text-sm)}.hx-drawer-title:focus{outline:none}.hx-drawer-title:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-drawer-id{flex:1;min-width:0}.hx-kicker{margin:0 0 var(--corn-space-2);font-size:var(--corn-text-sm);color:var(--corn-text-3);flex-wrap:wrap;align-items:center;display:flex}.hx-kicker [data-corn=badge]{overflow-wrap:anywhere;min-width:0;max-width:100%}#drawer-host{white-space:pre}.hx-diffpill{margin-left:var(--corn-space-3);padding:0 var(--corn-space-3);border-radius:var(--corn-radius-pill);border:var(--corn-border) dashed var(--corn-added);color:var(--corn-added-text);font-size:var(--corn-text-xs)}.hx-drawer-id .hx-drawer-title.hx-mono{font-family:var(--corn-mono)}.hx-facts{gap:var(--corn-space-2);flex-direction:column;display:flex}.hx-fact{gap:var(--corn-space-4);grid-template-columns:96px minmax(0,1fr);display:grid}.hx-fact-k{color:var(--corn-text-3)}.hx-fact-v{min-width:0;color:var(--corn-text)}.hx-fact-v .hx-line{padding:0}.hx-fact-v .hx-name{color:var(--corn-text)}.hx-fact-v .hx-code{color:var(--corn-text-2);font-size:var(--corn-text-sm)}.hx-fact-v .hx-chips{padding-top:0}.hx-sec-block{gap:var(--corn-space-3);flex-direction:column;display:flex}.hx-sec-title{font-size:var(--corn-text-sm);color:var(--corn-text-3);margin:0;font-weight:600}.hx-drawer .hx-mockups{border:0;margin:0;padding:0}.hx-rows{gap:var(--corn-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hx-row{align-items:center;gap:var(--corn-space-4);width:100%;min-height:36px;padding:var(--corn-space-3) var(--corn-space-4);border:var(--corn-border) solid var(--corn-line);border-radius:var(--corn-radius-sm);background:var(--corn-surface-2);color:var(--corn-text);font:inherit;text-align:left;display:flex}.hx-row:hover{background:var(--corn-accent-soft)}.hx-row:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-row-title{overflow-wrap:anywhere;flex:1;min-width:0}.hx-row-meta{font-size:var(--corn-text-sm);color:var(--corn-text-3);font-variant-numeric:tabular-nums;flex:none}.hx-drawer .hx-mockup-list{margin:var(--corn-space-3) 0 0}.hx-drawer .hx-mockup-item{gap:var(--corn-space-4);padding:var(--corn-space-1) var(--corn-space-1) var(--corn-space-1) 0;border:var(--corn-border) solid var(--corn-line);border-radius:var(--corn-radius-sm);background:var(--corn-surface-2);flex-wrap:nowrap}.hx-drawer .hx-mockup-open{min-width:0;min-height:36px;color:var(--corn-text);background:0 0;border:0;flex:1;font-weight:400}.hx-drawer .hx-mockup-state{padding-right:var(--corn-space-3);color:var(--corn-text-3);flex:none}.hx-drawer .hx-mockup-state--approved{color:var(--corn-added-text)}.hx-drawer .hx-mockup-state--changed{color:var(--corn-warn)}.hx-drawer .hx-mockup-state--missing{color:var(--corn-bad)}.hx-textact{background:0 0;border:0;align-self:flex-start;padding-left:0}.hx-diff{gap:var(--corn-space-1) var(--corn-space-4);padding:var(--corn-space-1) 0 var(--corn-space-1) var(--corn-space-4);border-left:var(--corn-border-strong) solid var(--corn-changed);font-family:var(--corn-mono);font-size:var(--corn-text-sm);color:var(--corn-text-2);grid-template-columns:70px minmax(0,1fr);display:grid}.hx-diff--added{border-left-color:var(--corn-added)}.hx-diff--removed{border-left-color:var(--corn-removed)}.hx-diff--edit{border-left-color:var(--corn-edit)}.hx-diff-k{color:var(--corn-text-3)}.hx-diff-v{overflow-wrap:anywhere;min-width:0}.hx-drawer .hx-why{margin:0}.hx-drawer-foot .hx-open[hidden],.hx-drawer-foot .hx-foot-btn[hidden]{display:none}.hx-foot-btn{min-height:var(--hx-control-h);padding:0 var(--corn-space-4);justify-content:center}@container corn-box (width<=767px){.hx-drawer-foot{flex-direction:column}.hx-drawer-foot .hx-open,.hx-foot-btn,.hx-drawer .hx-row,.hx-drawer .hx-mockup-open,.hx-textact,.hx-drawer .hx-whatif-drawer .hx-btn,.hx-cloud-play{min-height:44px}.hx-drawer .hx-close{width:44px;height:44px}}.hx-cloud-play{align-self:flex-start}.hx-drawer-foot .hx-btn--quiet{background:0 0;border-color:#0000;text-decoration:none}.hx-more{display:contents}.hx-more[hidden]{display:none}.hx-more-btn{margin-top:var(--corn-space-1);min-height:0;font-size:var(--corn-text-sm);padding:0;display:block}@container corn-box (width<=767px){.hx-more-btn{min-height:44px}}.hx-drawer-body{scroll-padding-block:calc(var(--corn-focus-width) + var(--corn-focus-offset) + var(--corn-space-1))}.hx-ms,.hx-row-meta{font-family:var(--corn-font-num);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.hx-drawer{transition:none;animation:none}}.hx-fact-v{overflow-wrap:break-word;word-break:normal}.hx-drawer-foot .hx-forge-result{flex-basis:100%}.hx-lines{gap:var(--corn-space-2);flex-direction:column;display:flex}.hx-lines .hx-chips{padding-top:0}.hx-lines-kind{align-items:baseline;gap:var(--corn-space-1);min-height:28px;padding:0 var(--corn-space-3);border:var(--corn-border) solid var(--corn-line);border-radius:var(--corn-radius-pill);color:var(--corn-text-2);font:inherit;font-size:var(--corn-text-xs);cursor:pointer;background:0 0;font-weight:600;display:inline-flex}.hx-lines-kind:hover{background:var(--corn-surface-3);color:var(--corn-text)}.hx-lines-kind[aria-pressed=true]{border-color:var(--corn-accent);background:var(--corn-accent-soft);color:var(--corn-accent-text)}.hx-lines-kind:focus-visible,.hx-lines-switch input:focus-visible{outline:var(--corn-focus-width) solid var(--corn-focus);outline-offset:var(--corn-focus-offset)}.hx-lines-count{font-variant-numeric:tabular-nums;color:var(--corn-text-3)}.hx-lines-list{align-items:flex-start;gap:calc(var(--corn-space-1) / 2);flex-direction:column;display:flex}.hx-lines-list .hx-linkbtn{text-align:left;overflow-wrap:anywhere;margin-left:0}.hx-lines-switch{align-items:center;gap:var(--corn-space-2);min-height:28px;font-size:var(--corn-text-sm);color:var(--corn-text-2);cursor:pointer;display:flex}.hx-lines-reach{align-items:center;gap:var(--corn-space-3);font-size:var(--corn-text-sm);color:var(--corn-text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}@container corn-box (width<=767px){.hx-lines-kind,.hx-lines-switch,.hx-lines-list .hx-linkbtn,.hx-lines-reach .hx-btn{min-height:44px}.hx-lines-kind{align-items:center}.hx-lines-switch input{width:24px;height:24px}}@media (pointer:coarse){.hx-lines-kind,.hx-lines-switch,.hx-lines-list .hx-linkbtn,.hx-lines-reach .hx-btn{min-height:44px}.hx-lines-kind{align-items:center}.hx-lines-switch input{width:24px;height:24px}}.hx-drawer-title{font-size:var(--corn-text-lg);letter-spacing:normal;font-weight:700;line-height:1.25}.hx-drawer-head{min-height:var(--corn-panel-head-height)}", c = () => ":host{min-width:0;height:100%;color:var(--corn-text);font-family:var(--corn-font);display:block;position:relative;container:corn-box/inline-size}:host([hidden]){display:none!important}.hx-drawer{z-index:auto;border-radius:var(--corn-radius);width:100%;height:100%;max-height:none;box-shadow:none;position:relative;inset:auto;transform:none}.hx-drawer:not(.drawer-open){display:none}.hx-panel-empty{padding:var(--corn-panel-pad);color:var(--corn-text-3);font-size:var(--corn-text-sm);margin:0;line-height:1.5}.hx-drawer .hx-line{flex-wrap:wrap}.hx-drawer .hx-line>*,.hx-drawer .hx-code{overflow-wrap:anywhere;min-width:0}", l = class extends t {
7
+ constructor(e) {
8
+ super(), e !== !1 && this.__registerHost(), this.__attachShadow();
9
+ }
10
+ get el() {
11
+ return this;
12
+ }
13
+ piece = null;
14
+ scope = null;
15
+ loaded = !1;
16
+ connectedCallback() {
17
+ this.loaded && this.mountPiece();
18
+ }
19
+ componentDidLoad() {
20
+ this.loaded = !0, this.mountPiece();
21
+ }
22
+ disconnectedCallback() {
23
+ this.unmountPiece();
24
+ }
25
+ unmountPiece() {
26
+ this.piece && this.piece.destroy(), this.piece = null, this.scope && this.scope.leave(), this.scope = null;
27
+ }
28
+ remount() {
29
+ this.unmountPiece(), this.loaded && this.el.isConnected && this.mountPiece();
30
+ }
31
+ mountPiece() {
32
+ !this.piece && this.el.shadowRoot && (this.scope = r(this.el, () => this.remount()), this.piece = n(a, this.el.shadowRoot, this.scope.inst, {
33
+ tokens: i,
34
+ noMap: "nodePanelEmpty"
35
+ }));
36
+ }
37
+ static get style() {
38
+ return o() + s() + c();
39
+ }
40
+ };
41
+ e(l, [1, "corn-node-panel"]);
42
+ export { l as t };