@popcorn245/cornfield-components 0.52.0 → 0.52.1

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.
@@ -1,4 +1,4 @@
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";
1
+ import { Dn as e, En as t, Gt as n, Kt as r, Mn as i, Wt as a, Zt as o, jn as s } from "./engine-BmXtSISH.js";
2
2
  // ../explorer/engine/roots.js
3
3
  var c = (e) => [e.root, ...e.extraRoots].filter(Boolean);
4
4
  function l(e, t) {
@@ -32,25 +32,25 @@ function d(e, t, { capture: n = !0 } = {}) {
32
32
  }
33
33
  // ../explorer/pieces/around.js
34
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));
35
+ let r = e.nodeType === 11 ? e.host : e, i = r && typeof r.getRootNode == "function" ? r.getRootNode() : null;
36
+ i && t && (n(i.nodeType === 9 ? i : i.ownerDocument, t), i.nodeType === 11 && n(i, t));
37
37
  }
38
- function p(r, c, u, d = {}) {
38
+ function p(n, c, u, d = {}) {
39
39
  let p = !u;
40
- p && (u = e({ root: c }));
41
- let m = t(u), h = n(u);
40
+ p && (u = i({ root: c }));
41
+ let m = a(u), h = e(u);
42
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);
43
+ let [g] = t(u, c, "<p class=\"hx-sr-only\" role=\"status\" aria-live=\"polite\"></p>", null, "announcer"), _ = o(u, g);
44
44
  h.on("announce:fallback", (e) => (_(e), !0)), h.own(() => g.remove());
45
45
  let v = null, y = [], b = { ...d.initial || {} }, x = !1, S = () => {
46
46
  for (let e of y) e.remove();
47
47
  y = [];
48
48
  }, C = () => !!u.map && u.state.nodes.length > 0, w = (e = !1) => {
49
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"));
50
+ let n = m ? d.noMap === "nodePanelEmpty" ? s(u, "nodePanelEmpty") : u.map && !e ? s(u, "waitingForMap") : s(u, "needsMap") : s(u, "needsScope");
51
+ y.length && y[0].textContent === n || (S(), y = t(u, c, `<p class="hx-needs" data-corn="empty">${r(n)}</p>`, null, "needs"));
52
52
  }, T = () => {
53
- v || x || (C() ? (S(), v = r.mount(c, u, {
53
+ v || x || (C() ? (S(), v = n.mount(c, u, {
54
54
  ...d.piece || {},
55
55
  inline: !0,
56
56
  phone: !1
@@ -1,32 +1,32 @@
1
1
  import { t as e } from "./rolldown-runtime-CGnMp29N.js";
2
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";
3
+ import { n as r, r as i, t as a } from "./around-BFqYTZ0K.js";
4
+ import { $ as o, A as s, Dn as c, En as l, It as u, Kt as d, Lt as f, Q as p, S as m, Tn as h, Ut as g, a as _, at as ee, d as v, dt as te, it as y, jn as b, l as x, lt as ne, m as S, mt as re, nt as ie, ot as ae, rt as C, s as w, st as T, t as E, tt as D, ut as oe, y as O } from "./engine-BmXtSISH.js";
5
+ import { _ as se, a as k, g as A, h as j, o as M, p as N, s as P, u as ce } from "./layers-Bj4Tluxe.js";
6
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}"/>`;
7
+ var F = 44, I = 16, L = I / 2, R = 2, z = 41, B = (e, t) => {
8
+ let n = v.length * Math.cos(v.spread), r = v.length * Math.sin(v.spread);
9
+ if (e === "triangle") return `<path d="M${t} ${L} L${t - n} ${L - r} L${t - n} ${L + r} Z" fill="currentColor"/>`;
10
+ if (e === "chevron") return `<path d="M${t - n} ${L - r} L${t} ${L} L${t - n} ${L + r}" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
11
+ if (e === "bar") return `<path d="M${t - 1} ${L - S.barHalf} V${L + S.barHalf}" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
12
12
  if (e === "diamond") {
13
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}"/>`;
14
+ return `<path d="M${t} ${L} L${t - e} ${L - n} L${t - 2 * e} ${L} L${t - e} ${L + n} Z" fill="none" stroke="currentColor" stroke-width="${S.strokeWidth}"/>`;
15
15
  }
16
16
  return "";
17
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 = "";
18
+ function V({ end: e = null, dash: t = null, width: n = 1.6, ticks: r = 0 } = {}) {
19
+ let i = e ? z - (e === "triangle" || e === "chevron" ? 1 : e === "diamond" ? 2 * S.diamondHalf : 1) : z, a = `<path d="M${R} ${L} H${i}" fill="none" stroke="currentColor" stroke-width="${n}"${t ? ` stroke-dasharray="${t.join(" ")}"` : ""}/>`, o = "";
20
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}"/>`;
21
+ let t = (R + i) / 2 + (e - (r - 1) / 2) * S.tickGap;
22
+ o += `<path d="M${t} ${L - S.tickHalf} V${L + S.tickHalf}" fill="none" stroke="currentColor" stroke-width="${S.tickWidth}"/>`;
23
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>`;
24
+ return `<svg class="hx-key-line" data-corn="swatch" viewBox="0 0 ${F} ${I}" width="${F}" height="${I}" aria-hidden="true" focusable="false">${a}${o}${e ? B(e, z) : ""}</svg>`;
25
25
  }
26
- var B = Object.freeze([
26
+ var H = Object.freeze([
27
27
  [{ width: 1.4 }, "Owns: a parent and what it holds"],
28
28
  [{
29
- dash: D,
29
+ dash: m,
30
30
  width: 1.6
31
31
  }, "Uses loosely: dotted"],
32
32
  [{
@@ -38,13 +38,13 @@ var B = Object.freeze([
38
38
  [{ end: "bar" }, "Places: runs on"],
39
39
  [{ end: "diamond" }, "Tokens: uses, extends"]
40
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>`;
41
+ function le() {
42
+ return `<div class="hx-menu-title" data-corn="menu-title"><span>Key</span></div>${H.map(([e, t]) => `<div class="hx-legend-row"><span class="hx-legend-swatch hx-legend-swatch--wide">${V(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
43
  }
44
44
  // ../explorer/engine/flow-legend.js
45
- function H(e, t) {
45
+ function ue(e, t) {
46
46
  if (!t) return;
47
- let { state: n } = e, r = h(n);
47
+ let { state: n } = e, r = T(n);
48
48
  if (r.flow === !1 && r.table === !1) {
49
49
  t.innerHTML = "", t.hidden = !0;
50
50
  return;
@@ -56,62 +56,62 @@ function H(e, t) {
56
56
  <div class="hx-menu-title" data-corn="menu-title" part="menu-title">
57
57
  <span>Data Flow</span>
58
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("")}
59
+ ${Object.values(u).map((e) => i(`<span data-corn="swatch" part="swatch" class="hx-swatch-line" data-style="background:${d(D(e.color, n.theme))}"></span>`, e.label)).join("")}
60
60
  </div>`;
61
61
  }
62
62
  // ../explorer/pieces/layers.js
63
63
  var U = /* @__PURE__ */ e({
64
64
  markup: () => W,
65
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), {
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>" }), de = Object.assign(Object.create(null), {
67
67
  flow: (e) => `${e} ${e === 1 ? "link" : "links"}`,
68
68
  runs: (e) => `${e} in flight`
69
69
  });
70
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) {
71
+ let { state: a } = t, u = c(t), m = l(t, e, W().menu, n.slots, "menu"), g = (e) => {
72
+ for (let t of m) {
73
73
  if (t.id === e) return t;
74
74
  let n = t.querySelector(`[id="${e}"]`);
75
75
  if (n) return n;
76
76
  }
77
77
  return null;
78
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);
79
+ u.keepParts(...m);
80
+ let v = m[0], S = g("legend-dropdown"), T = g("legend-toggle-btn"), E = /* @__PURE__ */ new Set(), D = () => x(t).get();
81
+ "storageKey" in n && M(t, n.storageKey);
82
82
  function O(e) {
83
- _.hidden = !e, S.setAttribute("aria-expanded", String(e)), e && n.inline && N();
83
+ S.hidden = !e, T.setAttribute("aria-expanded", String(e)), e && n.inline && F();
84
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");
85
+ function F() {
86
+ S.classList.remove("hx-menu--end");
87
+ let e = t.win ? t.win.innerWidth : 0, n = S.getBoundingClientRect();
88
+ e && n.width && n.right > e && v.getBoundingClientRect().right - n.width >= 0 && S.classList.add("hx-menu--end");
89
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();
90
+ let I = (e) => O(e === void 0 ? S.hidden : !!e), L = () => O(!1);
91
+ function R() {
92
+ let e = a.theme === "light" ? o : p, n = t.tokenReader();
93
93
  if (!n) return e;
94
- let r = w(n("--corn-ground")), i = w(n("--corn-surface-1"));
94
+ let r = y(n("--corn-ground")), i = y(n("--corn-surface-1"));
95
95
  if (!r[3] || !i[3]) return e;
96
- let [o, s, c] = C(i, C(r, [
96
+ let [s, c, l] = C(i, C(r, [
97
97
  0,
98
98
  0,
99
99
  0,
100
100
  1
101
101
  ]));
102
- return `rgb(${o}, ${s}, ${c})`;
102
+ return `rgb(${s}, ${c}, ${l})`;
103
103
  }
104
- function L(e, t) {
105
- if (ie(e, t) >= 3) return null;
106
- let n = D().values[m];
104
+ function z(e, t) {
105
+ if (ie(ee(C(y(e), y(t))), t) >= 3) return null;
106
+ let n = D().values[_];
107
107
  return { stroke: n ? j(n) : "" };
108
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>`;
109
+ function B(e, t, n, r = "") {
110
+ let i = z(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="${d(o)}"></span>`;
112
112
  }
113
- function B(e) {
114
- let t = te(a.nodes), n = /* @__PURE__ */ new Map();
113
+ function H(e) {
114
+ let t = re(a.nodes), n = /* @__PURE__ */ new Map();
115
115
  return a.nodes.forEach((r) => {
116
116
  if (typeof r.kind != "string" || !r.kind || r.type === "external") return;
117
117
  let i = e(r);
@@ -127,115 +127,115 @@ function G(e, t, n = {}) {
127
127
  }), new Map([...n].map(([e, t]) => [e, [...t.values()].sort((e, t) => e.kind.localeCompare(t.kind))]));
128
128
  }
129
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>" : "";
130
+ let r = D().values[w(e.type, e.kind)];
131
+ return r ? B(j(r), !0, t, " aria-hidden=\"true\"") : n ? "<span class=\"hx-dot hx-kind-swatch is-blank\" aria-hidden=\"true\"></span>" : "";
132
132
  }
133
133
  function G(e, t, n) {
134
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>`;
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[w(e.type, e.kind)]), s = r ? `<ul class="hx-kind-keys" id="${d(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">${d(e.letters)}</span><span class="hx-kind-name">${d(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="${d(e.key)}" aria-expanded="${r}" aria-controls="${d(i)}" data-corn="layer-kinds" data-corn-kind="quiet">${r ? "▾" : "▸"} ${d(a)}</button>${s}</div>`;
137
137
  }
138
138
  function K() {
139
- let e = h("layers-count");
139
+ let e = g("layers-count");
140
140
  if (!e) return;
141
- let { layers: n } = M(t);
141
+ let { layers: n } = P(t);
142
142
  e.textContent = ` · ${n.filter((e) => k(t, e.key)).length} of ${n.length}`;
143
143
  }
144
144
  function q() {
145
145
  K();
146
- let e = h("layer-toggles-container");
146
+ let e = g("layer-toggles-container");
147
147
  if (!e) return;
148
- let n = (e) => ee(a, e), r = Object.create(null), i = Object.create(null);
148
+ let n = (e) => oe(a, e), r = Object.create(null), i = Object.create(null);
149
149
  a.nodes.forEach((e) => {
150
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));
151
+ t && (r[t] = (r[t] || 0) + 1, !s(a, e) && te(a, e) && (i[t] = (i[t] || 0) + 1));
152
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>`;
153
+ let o = H(n), { layers: c, overlays: l } = P(t), u = R(), f = (e) => {
154
+ let n = k(t, e.key), s = i[e.key] ? `<span class="hx-faint hx-layer-note" data-corn="layer-note">+${i[e.key]} shown by the proposal</span>` : "", c = !s && r[e.key] && ne(a, e.key) ? `<span class="hx-faint hx-layer-note" data-corn="layer-note">${d(b(t, "hiddenWhileReviewing"))}</span>` : "", l = `<span class="hx-toggle-name">${d(e.label)}</span>`;
155
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">
156
+ <button type="button" class="hx-toggle-row${n ? "" : " is-off"}" data-action="toggle-layer" data-layer="${d(e.key)}" aria-pressed="${n}" title="${d(e.desc)}" data-corn="row">
157
157
  <span class="hx-toggle-label">
158
- ${R(j(e.color), n, u)}
158
+ ${B(j(e.color), n, u)}
159
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
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>
161
+ <span class="hx-toggle-meta">${s}
162
+ <span class="hx-count" data-corn="count">${(de[e.key] || String)(r[e.key] || 0)}</span>
163
163
  <span class="hx-tick">${n ? "✓" : "—"}</span>
164
164
  </span>
165
- </button>${G(e, s.get(e.key), u)}`;
166
- }, p = t.active(), m = p && e.contains(p) ? p : null, g = m ? {
165
+ </button>${G(e, o.get(e.key), u)}`;
166
+ }, p = t.active(), m = p && e.contains(p) ? p : null, _ = m ? {
167
167
  action: m.getAttribute("data-action"),
168
168
  layer: m.getAttribute("data-layer")
169
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);
170
+ if (e.innerHTML = c.map(f).join("") + (l.length ? `<div class="hx-menu-title hx-overlays" data-corn="overlays"><span>${d(b(t, "overlays"))}</span></div>${l.map(f).join("")}` : ""), h(e), _) {
171
+ let t = [...e.querySelectorAll("[data-action]")].find((e) => e.getAttribute("data-action") === _.action && e.getAttribute("data-layer") === _.layer);
172
172
  t && typeof t.focus == "function" && t.focus({ preventScroll: !0 });
173
173
  }
174
- H(t, h("flow-legend")), J(), Y(), o(h("flow-legend"));
174
+ ue(t, g("flow-legend")), J(), Y(), h(g("flow-legend"));
175
175
  }
176
176
  function J() {
177
- let e = h("edge-key");
178
- e && (e.innerHTML = V(), o(e));
177
+ let e = g("edge-key");
178
+ e && (e.innerHTML = le(), h(e));
179
179
  }
180
180
  function Y() {
181
- let e = h("cloud-legend");
182
- e && (ne(a, "cloud") ? (e.hidden = !1, e.innerHTML = `
181
+ let e = g("cloud-legend");
182
+ e && (ae(a, "cloud") ? (e.hidden = !1, e.innerHTML = `
183
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({
184
+ ${Object.entries(f).map(([e, t]) => `<div class="hx-legend-row"><span class="hx-legend-swatch hx-legend-swatch--wide hx-swatch-when--${e}">${V({
185
185
  end: "triangle",
186
186
  ticks: t.ticks
187
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));
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>`, h(e)) : (e.innerHTML = "", e.hidden = !0));
189
189
  }
190
190
  function X(e) {
191
191
  E.has(e) ? E.delete(e) : E.add(e), q();
192
192
  }
193
193
  function Z() {
194
194
  let e = a.view === "dataflow";
195
- S.classList.toggle("hx-layers-chip--dim", e), h("layers-preset-note").hidden = !e;
195
+ T.classList.toggle("hx-layers-chip--dim", e), g("layers-preset-note").hidden = !e;
196
196
  }
197
- let de = {
198
- "toggle-layers-menu": () => P(),
197
+ let fe = {
198
+ "toggle-layers-menu": () => I(),
199
199
  "layers-all": () => A(t, !0, { viewer: !0 }),
200
200
  "layers-none": () => A(t, !1, { viewer: !0 }),
201
- "toggle-layer": (e) => oe(t, e.dataset.layer, { viewer: !0 }),
201
+ "toggle-layer": (e) => se(t, e.dataset.layer, { viewer: !0 }),
202
202
  "toggle-layer-kinds": (e) => X(e.dataset.layer)
203
203
  };
204
- c.listen(g, "click", (e) => {
204
+ u.listen(v, "click", (e) => {
205
205
  let t = e.target.closest && e.target.closest("[data-action]");
206
206
  if (!t) return;
207
- let n = de[t.dataset.action];
207
+ let n = fe[t.dataset.action];
208
208
  n && n(t);
209
209
  });
210
210
  let Q = /* @__PURE__ */ new WeakSet();
211
- c.listen(g, "click", (e) => {
211
+ u.listen(v, "click", (e) => {
212
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");
213
+ }, !0), u.own(i(t, (e) => {
214
+ S.hidden || Q.has(e) || (typeof e.composedPath == "function" ? e.composedPath() : [e.target]).includes(v) || L();
215
+ }, { capture: !1 })), u.own(r(t, "keydown", (e) => {
216
+ e.key !== "Escape" || S.hidden || (L(), T.focus());
217
+ })), u.on("layers:present", () => !0), u.on("layers:redraw", q), u.on("theme", q), u.on("view", Z), u.on("runs:map", ({ active: e }) => {
218
+ let t = g("runs-legend");
219
219
  t && (t.hidden = !e);
220
220
  });
221
221
  let $ = (e) => {
222
- let t = h("proposal-legend");
222
+ let t = g("proposal-legend");
223
223
  t && (t.hidden = !e);
224
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,
225
+ return u.on("proposal:draw", ({ open: e }) => $(e)), u.own(x(t).onChange(() => {
226
+ ce(t) || q();
227
+ })), u.own(() => m.forEach((e) => e.remove())), Z(), q(), $(!!t.state.proposal), {
228
+ elements: m,
229
229
  renderToggles: q,
230
230
  renderEdgeKey: J,
231
231
  renderCloudLegend: Y,
232
- toggleMenu: P,
233
- closeMenu: F,
232
+ toggleMenu: I,
233
+ closeMenu: L,
234
234
  toggleKinds: X,
235
235
  update(e) {
236
- e && "layers" in e ? ce(t, e.layers) : q();
236
+ e && "layers" in e ? N(t, e.layers) : q();
237
237
  },
238
- destroy: () => c.destroy()
238
+ destroy: () => u.destroy()
239
239
  };
240
240
  }
241
241
  // \0stencil-css:/home/runner/work/CornField/CornField/explorer/css/base?tag=corn-layers&encapsulation=shadow&__ext=css
@@ -265,7 +265,7 @@ var K = () => "*,:before,:after{box-sizing:border-box}*{--hx-control-h:var(--cor
265
265
  this.unmountPiece(), this.loaded && this.el.isConnected && this.mountPiece();
266
266
  }
267
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 }));
268
+ !this.piece && this.el.shadowRoot && (this.scope = g(this.el, () => this.remount()), this.piece = a(U, this.el.shadowRoot, this.scope.inst, { tokens: E }));
269
269
  }
270
270
  static get style() {
271
271
  return K() + q() + J();
@@ -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-CeP9M2_w.js";
3
- import { Vt as i, t as a } from "./engine-HIgX35hE.js";
2
+ import { t as r } from "./map-BZRFOYkt.js";
3
+ import { Ut as i, t as a } from "./engine-BmXtSISH.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) {
@@ -50,7 +50,7 @@ var o = () => "[data-corn=map-stage]{background:var(--corn-ground-image), var(--
50
50
  tokens: a,
51
51
  src: this.src,
52
52
  useTheme: this.useTheme,
53
- version: "0.52.0",
53
+ version: "0.52.1",
54
54
  pageUrl: () => typeof location > "u" ? "" : location.href,
55
55
  onAuth: (e) => this.cornAuth.emit(e),
56
56
  onError: (e) => this.cornError.emit(e),
@@ -1,7 +1,7 @@
1
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";
2
+ import { t as n } from "./around-BFqYTZ0K.js";
3
+ import { Ut as r, t as i } from "./engine-BmXtSISH.js";
4
+ import { n as a } from "./node-panel-BdvFvWCE.js";
5
5
  // \0stencil-css:/home/runner/work/CornField/CornField/explorer/css/base?tag=corn-node-panel&encapsulation=shadow&__ext=css
6
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
7
  constructor(e) {