@popcorn245/cornfield-components 0.51.8 → 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.
Files changed (33) hide show
  1. package/README.md +1 -1
  2. package/dist/chunks/around-BFqYTZ0K.js +78 -0
  3. package/dist/chunks/corn-layers-Cni5rISZ.js +275 -0
  4. package/dist/chunks/{corn-map-M7xt4MYk.js → corn-map-B2-YxiEL.js} +8 -5
  5. package/dist/chunks/corn-node-panel-BkvJThlp.js +42 -0
  6. package/dist/chunks/{corn-review-yQU3IpY5.js → corn-review-5wf7AT4o.js} +1047 -2564
  7. package/dist/chunks/corn-search-CXs5d06S.js +484 -0
  8. package/dist/chunks/{engine-ClfnAsgM.js → engine-BmXtSISH.js} +3691 -3577
  9. package/dist/chunks/layers-Bj4Tluxe.js +191 -0
  10. package/dist/chunks/{map-LS9aQk6z.js → map-BZRFOYkt.js} +803 -751
  11. package/dist/chunks/node-panel-BdvFvWCE.js +1291 -0
  12. package/dist/chunks/{review-source-CPiFTfyc.js → review-source-CK5tYIqk.js} +1 -1
  13. package/dist/chunks/{scope-Dg_uzefP.js → scope-CqPbHcKL.js} +24 -23
  14. package/dist/chunks/sheets-D-sMZzSs.js +204 -0
  15. package/dist/chunks/source-address-C70zNPIj.js +79 -0
  16. package/dist/chunks/{status-CYQD5PwL.js → status-DI5QLlAp.js} +78 -77
  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
@@ -1,4 +1,4 @@
1
- import { n as e, t } from "./status-CYQD5PwL.js";
1
+ import { n as e, t } from "./status-DI5QLlAp.js";
2
2
  // ../explorer/pieces/review-source.js
3
3
  function n(n, r) {
4
4
  let { root: i, stage: a, parsed: o } = r, s = i.nodeType === 11 ? i.host : i, c = !!r.useTheme, l = r.theme, u = !1, d = !1, f = e(n, {
@@ -1,7 +1,8 @@
1
1
  import { t as e } from "./rolldown-runtime-CGnMp29N.js";
2
- import { i as t, ln as n, n as r, r as i, s as a } from "./engine-ClfnAsgM.js";
3
- import { n as o, t as s } from "./status-CYQD5PwL.js";
4
- import { d as c, n as l } from "./source-address-B7hYRgt8.js";
2
+ import { Bt as t, Gt as n, Ht as r, Mn as i, Vt as a } from "./engine-BmXtSISH.js";
3
+ import { n as o, t as s } from "./status-DI5QLlAp.js";
4
+ import { n as c } from "./source-address-C70zNPIj.js";
5
+ import { o as l } from "./layers-Bj4Tluxe.js";
5
6
  // ../explorer/pieces/scope.js
6
7
  var u = /* @__PURE__ */ e({ mountScope: () => f }), d = [
7
8
  "light",
@@ -27,22 +28,22 @@ function f(e, u = {}) {
27
28
  };
28
29
  h.add(t), e.detail.claim(t);
29
30
  };
30
- e.addEventListener(i, x);
31
+ e.addEventListener(a, x);
31
32
  function S() {
32
- let t = new Set(p(e));
33
- for (let e of [...h]) h.delete(e), e.el && t.add(e.el);
34
- for (let e of t) e.isConnected !== !1 && e.dispatchEvent(new Event(r));
33
+ let n = new Set(p(e));
34
+ for (let e of [...h]) h.delete(e), e.el && n.add(e.el);
35
+ for (let e of n) e.isConnected !== !1 && e.dispatchEvent(new Event(t));
35
36
  }
36
37
  function C() {
37
38
  v && v.follow();
38
39
  }
39
40
  function w() {
40
- let i = f.src === void 0 || f.src === null || f.src === "" ? null : l(f.src);
41
- g = n({
41
+ let n = f.src === void 0 || f.src === null || f.src === "" ? null : c(f.src);
42
+ g = i({
42
43
  root: e,
43
- base: i && i.ok ? i.base : ""
44
- }), c(g, null);
45
- let a = t(g);
44
+ base: n && n.ok ? n.base : ""
45
+ }), l(g, null);
46
+ let a = r(g);
46
47
  a.host = e, a.theme = d.includes(f.theme) ? f.theme : "auto";
47
48
  let p = g, h = o(g, {
48
49
  host: e,
@@ -74,19 +75,19 @@ function f(e, u = {}) {
74
75
  if (!(b || g !== p)) for (; x.length;) {
75
76
  let e = x.shift();
76
77
  if (e.isConnected) {
77
- e.dispatchEvent(new Event(r));
78
+ e.dispatchEvent(new Event(t));
78
79
  return;
79
80
  }
80
81
  }
81
82
  });
82
- }), i && !i.ok && _.say({
83
+ }), n && !n.ok && _.say({
83
84
  state: "address",
84
- problem: i.problem
85
+ problem: n.problem
85
86
  }), _.provide({
86
87
  topology: f.topology || void 0,
87
88
  config: f.config || void 0,
88
89
  strings: f.strings || void 0
89
- }), i && i.ok && _.load();
90
+ }), n && n.ok && _.load();
90
91
  }
91
92
  function T() {
92
93
  S(), g && g.destroy(), g = null, _ = null, v = null;
@@ -94,22 +95,22 @@ function f(e, u = {}) {
94
95
  let E = {
95
96
  update(e = {}) {
96
97
  if (b) return;
97
- let n = !1;
98
- if ("src" in e && e.src !== f.src && (f.src = e.src, n = !0), "theme" in e && e.theme !== f.theme && (f.theme = e.theme, t(g).theme = d.includes(f.theme) ? f.theme : "auto", C()), "useTheme" in e && !!e.useTheme !== f.useTheme && (f.useTheme = !!e.useTheme, v.setUseTheme(f.useTheme)), n) {
98
+ let t = !1;
99
+ if ("src" in e && e.src !== f.src && (f.src = e.src, t = !0), "theme" in e && e.theme !== f.theme && (f.theme = e.theme, r(g).theme = d.includes(f.theme) ? f.theme : "auto", C()), "useTheme" in e && !!e.useTheme !== f.useTheme && (f.useTheme = !!e.useTheme, v.setUseTheme(f.useTheme)), t) {
99
100
  let e = g;
100
101
  v.destroy(), w(), S(), e.destroy();
101
102
  return;
102
103
  }
103
- let r = {};
104
+ let n = {};
104
105
  for (let t of [
105
106
  "topology",
106
107
  "config",
107
108
  "strings"
108
- ]) t in e && e[t] !== f[t] && (f[t] = e[t], r[t] = e[t] === void 0 ? null : e[t]);
109
- Object.keys(r).length && _.provide(r);
109
+ ]) t in e && e[t] !== f[t] && (f[t] = e[t], n[t] = e[t] === void 0 ? null : e[t]);
110
+ Object.keys(n).length && _.provide(n);
110
111
  },
111
112
  destroy() {
112
- b || (e.removeEventListener(i, x), T(), b = !0, h.clear());
113
+ b || (e.removeEventListener(a, x), T(), b = !0, h.clear());
113
114
  },
114
115
  get instance() {
115
116
  return g;
@@ -118,7 +119,7 @@ function f(e, u = {}) {
118
119
  return _;
119
120
  }
120
121
  };
121
- return u.tokens && a(e.getRootNode(), u.tokens), w(), S(), E;
122
+ return u.tokens && n(e.getRootNode(), u.tokens), w(), S(), E;
122
123
  }
123
124
  function p(e) {
124
125
  let t = [], n = (e) => {
@@ -0,0 +1,204 @@
1
+ import { dn as e, fn as t, gn as n, mn as r, pn as i, un as a } from "./engine-BmXtSISH.js";
2
+ // ../explorer/engine/sheets.js
3
+ var o = 20;
4
+ function s(e, t) {
5
+ i(e).box = t || null;
6
+ }
7
+ function c(t, n) {
8
+ let { box: r } = i(t), o = t.win && t.win.ResizeObserver;
9
+ if (r && typeof o == "function") {
10
+ let i = e(t), a = new o(() => {
11
+ let r = e(t);
12
+ r !== i && (i = r, n());
13
+ });
14
+ a.observe(r);
15
+ let s = () => {
16
+ a.disconnect(), t.release(s);
17
+ };
18
+ return t.own(s), s;
19
+ }
20
+ if (t.win && typeof t.win.matchMedia == "function") {
21
+ let e = t.win.matchMedia(a);
22
+ if (e && e.addEventListener) return t.listen(e, "change", () => n());
23
+ }
24
+ return () => {};
25
+ }
26
+ function l(e, t) {
27
+ let n = i(e);
28
+ return n.listeners.add(t), () => n.listeners.delete(t);
29
+ }
30
+ function u(a) {
31
+ let o = i(a), { model: s } = o;
32
+ f(a);
33
+ for (let [e, t] of o.elements) {
34
+ let n = s.isExpanded(e), r = s.stateOf(e);
35
+ t.dataset.sheetState = r === "hidden" ? "peek" : r;
36
+ let i = [...t.children].find((e) => e.classList.contains("hx-sheet-handle"));
37
+ i && (i.setAttribute("aria-expanded", String(n)), i.setAttribute("aria-label", n ? "Collapse this panel" : "Expand this panel")), m(a, e, t, r === "stub");
38
+ }
39
+ let c = r(a, o);
40
+ c && (c.dataset.sheetOpen = s.expanded() || ""), o.dock && e(a) && o.dock.style.setProperty("--hx-sheet-cap", `${n((o.box ? o.box.clientHeight : a.win.innerHeight) || 0, s.stubs())}px`), g(a), t(a), o.listeners.forEach((e) => e());
41
+ }
42
+ function d(e, t) {
43
+ return e === "forge" ? t.classList.contains("forge-open") : e === "drawer" ? t.classList.contains("drawer-open") : !t.hidden && t.isConnected;
44
+ }
45
+ function f(t) {
46
+ let n = i(t), { model: r } = n;
47
+ if (e(t)) {
48
+ for (let [e, i] of n.elements) {
49
+ let a = d(e, i) && !n.away.has(e);
50
+ if (!a && !d(e, i) && n.away.delete(e), a && !r.isShown(e)) for (let n of r.show(e)) p(t, n);
51
+ else !a && r.isShown(e) && r.hide(e);
52
+ }
53
+ for (let [e, t] of n.elements) {
54
+ let r = n.away.has(e), i = t.hasAttribute("data-sheet-away");
55
+ t.toggleAttribute("data-sheet-away", r), r && !t.inert ? t.inert = !0 : !r && i && d(e, t) && (t.inert = !1);
56
+ }
57
+ } else {
58
+ n.away.clear();
59
+ for (let e of n.elements.values()) e.removeAttribute("data-sheet-away");
60
+ }
61
+ }
62
+ function p(e, t) {
63
+ let n = i(e);
64
+ if (!n.elements.get(t)) return;
65
+ n.away.add(t);
66
+ let r = n.options.get(t);
67
+ r && r.away && r.away();
68
+ }
69
+ function m(t, n, r, a) {
70
+ let o = i(t), s = [...r.children].find((e) => e.classList.contains("hx-sheet-stub"));
71
+ if (!s) {
72
+ if (!a) return;
73
+ s = t.doc.createElement("button"), s.type = "button", s.className = "hx-sheet-stub", s.dataset.corn = "sheet-stub", s.setAttribute("part", "sheet-stub"), s.addEventListener("click", (i) => {
74
+ i.stopPropagation(), i.preventDefault(), y(t, n);
75
+ let a = [...r.children].find((e) => e.classList.contains("hx-sheet-handle"));
76
+ a && e(t) && a.focus();
77
+ }), r.append(s);
78
+ }
79
+ if (s.hidden = !a, !a) return;
80
+ let c = o.options.get(n), l = (c && c.stub ? c.stub() : null) || { title: r.getAttribute("aria-label") || n }, u = String(l.title || ""), d = l.badge ? String(l.badge) : "", f = `${u}\u0000${d}\u0000${l.label || ""}`;
81
+ if (s.dataset.key === f) return;
82
+ s.dataset.key = f, s.replaceChildren();
83
+ let p = t.doc.createElement("span");
84
+ if (p.className = "hx-sheet-stub-title", p.textContent = u, s.append(p), d) {
85
+ let e = t.doc.createElement("span");
86
+ e.className = "hx-waiting-badge", e.dataset.corn = "waiting-badge", e.setAttribute("part", "waiting-badge"), e.setAttribute("aria-hidden", "true"), e.textContent = d, s.append(e);
87
+ }
88
+ s.setAttribute("aria-label", l.label || (d ? `${u}, ${d}` : u));
89
+ }
90
+ function h(e, t) {
91
+ let n = i(e);
92
+ n.elements.has(t) && (n.away.delete(t), u(e));
93
+ }
94
+ function g(e) {
95
+ let { dock: t } = i(e);
96
+ if (!t) return;
97
+ let n = null;
98
+ for (let e of t.children) {
99
+ e.removeAttribute("data-sheet-last");
100
+ let t = e.classList.contains("hx-drawer") && !e.classList.contains("drawer-open") || e.classList.contains("hx-forge") && !e.classList.contains("forge-open");
101
+ !e.hidden && !t && (n = e);
102
+ }
103
+ n && n.setAttribute("data-sheet-last", "");
104
+ }
105
+ function _(e, t, n, r = {}) {
106
+ if (!n) return;
107
+ let a = i(e);
108
+ v(e, t, !1), a.model.add(t), a.elements.set(t, n), a.options.set(t, r), n.classList.add("hx-sheet");
109
+ let o = [...n.children].find((e) => e.classList.contains("hx-sheet-handle"));
110
+ o || (o = e.doc.createElement("button"), o.type = "button", o.className = "hx-sheet-handle", o.dataset.corn = "sheet-handle", o.setAttribute("part", "sheet-handle"), o.innerHTML = "<span data-corn=\"sheet-grip\" part=\"sheet-grip\"></span>", n.prepend(o)), a.offs.set(t, [...C(e, t, o), e.listen(n, "click", (n) => w(e, t, n), !0)]), u(e);
111
+ }
112
+ function v(e, t, n = !0) {
113
+ let r = i(e);
114
+ r.model.has(t) && ((r.offs.get(t) || []).forEach((e) => e()), r.offs.delete(t), r.model.remove(t), r.elements.delete(t), r.options.delete(t), r.away.delete(t), n && u(e));
115
+ }
116
+ function y(e, t) {
117
+ f(e), i(e).model.expand(t) && u(e);
118
+ }
119
+ function b(e, t) {
120
+ i(e).model.collapse(t) && u(e);
121
+ }
122
+ function x(e) {
123
+ i(e).model.collapseAll() && u(e);
124
+ }
125
+ function S(e, t) {
126
+ f(e), i(e).model.toggle(t) && u(e);
127
+ }
128
+ function C(e, t, n) {
129
+ let r = null, i = !1, a = [];
130
+ return a.push(e.listen(n, "pointerdown", (e) => {
131
+ if (r = e.clientY, i = !1, n.setPointerCapture && e.pointerId !== void 0) try {
132
+ n.setPointerCapture(e.pointerId);
133
+ } catch {}
134
+ })), a.push(e.listen(n, "pointerup", (n) => {
135
+ if (r === null) return;
136
+ let a = n.clientY - r;
137
+ r = null, Math.abs(a) < o || (i = !0, a < 0 ? y(e, t) : b(e, t));
138
+ })), a.push(e.listen(n, "pointercancel", () => {
139
+ r = null;
140
+ })), a.push(e.listen(n, "click", (n) => {
141
+ n.stopPropagation(), i ? i = !1 : S(e, t);
142
+ })), a;
143
+ }
144
+ function w(t, n, r) {
145
+ if (!e(t) || i(t).model.isExpanded(n)) return;
146
+ let a = r.target;
147
+ if (a.closest && a.closest(".hx-sheet-handle, .hx-sheet-stub") || a.closest && a.closest("select, input, textarea, [data-peek-ok]")) return;
148
+ let o = a.closest && a.closest("[data-action]");
149
+ o && /close/.test(o.dataset.action) || (r.preventDefault(), r.stopPropagation(), y(t, n));
150
+ }
151
+ function T(t, n) {
152
+ n.target === t.state.canvas && e(t) && x(t);
153
+ }
154
+ function E(t, n) {
155
+ if (n.key !== "Escape" || n.defaultPrevented || !e(t)) return;
156
+ let r = i(t), a = r.model.expanded(), o = a && r.elements.get(a);
157
+ if (!o || !o.contains(n.target) || n.target.closest && n.target.closest("select, input, textarea")) return;
158
+ n.preventDefault(), n.stopPropagation(), b(t, a);
159
+ let s = [...o.children].find((e) => e.classList.contains("hx-sheet-handle"));
160
+ s && s.focus();
161
+ }
162
+ function D(t, n) {
163
+ e(t) && (n.stopPropagation(), x(t));
164
+ }
165
+ function O(e) {
166
+ let n = i(e), r = e.el("sheet-dock");
167
+ if (r) {
168
+ if (r !== n.dock && (n.observers.forEach((e) => e.disconnect()), n.observers = [], n.model.ids().forEach((e) => n.model.remove(e)), n.elements.clear(), n.options.clear(), n.away.clear(), n.lastCovered = 0, n.dock = r), n.wiredDock !== n.dock) {
169
+ n.wiredDock = n.dock;
170
+ let r = e.win;
171
+ if (r && typeof r.MutationObserver == "function") {
172
+ let i = new r.MutationObserver(() => {
173
+ g(e), t(e);
174
+ });
175
+ i.observe(n.dock, {
176
+ childList: !0,
177
+ subtree: !0,
178
+ attributes: !0,
179
+ attributeFilter: ["hidden", "class"]
180
+ }), n.observers.push(i), e.own(() => i.disconnect());
181
+ }
182
+ if (r && typeof r.ResizeObserver == "function") {
183
+ let i = new r.ResizeObserver(() => t(e));
184
+ i.observe(n.dock), n.observers.push(i), e.own(() => i.disconnect());
185
+ }
186
+ }
187
+ if (!n.documentWired) {
188
+ n.documentWired = !0;
189
+ for (let t of [
190
+ "pointerdown",
191
+ "touchstart",
192
+ "mousedown"
193
+ ]) e.listen(e.root, t, (t) => T(e, t), {
194
+ passive: !0,
195
+ capture: !0
196
+ });
197
+ e.listen(e.root, "keydown", (t) => E(e, t), !0), c(e, () => {
198
+ x(e), t(e);
199
+ });
200
+ }
201
+ u(e);
202
+ }
203
+ }
204
+ export { D as a, _ as c, v as d, O as i, s as l, b as n, l as o, y as r, c as s, x as t, h as u };
@@ -0,0 +1,79 @@
1
+ // ../explorer/engine/connection.js
2
+ function e(e, t) {
3
+ return e.offline() ? `You are offline. ${t} was not sent; what you typed is kept. Try again when you are back.` : `cornfield did not answer. ${t} was not sent; what you typed is kept.`;
4
+ }
5
+ function t(e) {
6
+ return (t, r) => e.fetch(t, n(e, t, r));
7
+ }
8
+ function n(e, t, n) {
9
+ return e.base && r(e, t) ? {
10
+ credentials: "include",
11
+ redirect: "error",
12
+ ...n
13
+ } : n;
14
+ }
15
+ function r(e, t) {
16
+ if (!e.base) return !1;
17
+ try {
18
+ return new URL(e.url(String(t)), e.base).origin === new URL(e.base).origin;
19
+ } catch {
20
+ return !1;
21
+ }
22
+ }
23
+ // ../explorer/engine/source-address.js
24
+ var i = /[\u0000- \u007f\\]/;
25
+ function a(e) {
26
+ if (typeof e != "string" || !e.trim()) return {
27
+ ok: !1,
28
+ problem: "is empty"
29
+ };
30
+ let t = e.trim();
31
+ if (i.test(t)) return {
32
+ ok: !1,
33
+ problem: "has a space, a control character or a backslash"
34
+ };
35
+ let n;
36
+ try {
37
+ n = new URL(t);
38
+ } catch {
39
+ return {
40
+ ok: !1,
41
+ problem: "is not an address (an http or https address, as the server is opened in a browser)"
42
+ };
43
+ }
44
+ return n.protocol !== "https:" && n.protocol !== "http:" ? {
45
+ ok: !1,
46
+ problem: "is not http or https"
47
+ } : /^https?:\/\/[^/?#]/i.test(t) ? n.username || n.password ? {
48
+ ok: !1,
49
+ problem: "has a user name or password"
50
+ } : t.includes("?") || t.includes("#") ? {
51
+ ok: !1,
52
+ problem: "has a query or a fragment"
53
+ } : {
54
+ ok: !0,
55
+ base: n.origin + n.pathname.replace(/\/+$/, ""),
56
+ origin: n.origin
57
+ } : {
58
+ ok: !1,
59
+ problem: "has no host"
60
+ };
61
+ }
62
+ function o(e, t) {
63
+ let n = "";
64
+ if (typeof t == "string" && /^https?:\/\//i.test(t)) try {
65
+ let e = new URL(t);
66
+ e.username = "", e.password = "", n = `?returnTo=${encodeURIComponent(e.href)}`;
67
+ } catch {
68
+ n = "";
69
+ }
70
+ return `${e}/auth/start${n}`;
71
+ }
72
+ function s(e) {
73
+ try {
74
+ return /^https?:/i.test(e) ? new URL(e).origin : "";
75
+ } catch {
76
+ return "";
77
+ }
78
+ }
79
+ export { e as a, t as i, a as n, n as o, o as r, s as t };
@@ -1,5 +1,6 @@
1
- import { A as e, B as t, c as n, f as r, k as i } from "./engine-ClfnAsgM.js";
2
- import { g as a, o, r as s, t as c } from "./source-address-B7hYRgt8.js";
1
+ import { An as e, Kt as t, On as n, jn as r, l as i } from "./engine-BmXtSISH.js";
2
+ import { p as a } from "./layers-Bj4Tluxe.js";
3
+ import { o, r as s, t as c } from "./source-address-C70zNPIj.js";
3
4
  // ../explorer/engine/source.js
4
5
  var l = "/cornfield/config.json", u = "/topology.json", d = "/cornfield/theme.css";
5
6
  Object.freeze([
@@ -93,10 +94,10 @@ async function y(e, t = u, { signal: n } = {}) {
93
94
  if (!i || !Array.isArray(i.nodes) || i.nodes.length === 0) throw new h("server", `${t} has no nodes`, { status: r.status });
94
95
  return i;
95
96
  }
96
- function b(e, n) {
97
- n && typeof n == "object" && (i(e, n.strings), t(e).applyTheme(n.theme), a(e, n.layers));
97
+ function b(t, n) {
98
+ n && typeof n == "object" && (e(t, n.strings), i(t).applyTheme(n.theme), a(t, n.layers));
98
99
  }
99
- function x(e, { version: t = "", pageUrl: n = () => "", onConfig: r = () => {} } = {}) {
100
+ function x(t, { version: n = "", pageUrl: r = () => "", onConfig: i = () => {} } = {}) {
100
101
  let a = !1, o = null, l = null, f = 0, p = {
101
102
  topology: null,
102
103
  config: null,
@@ -106,8 +107,8 @@ function x(e, { version: t = "", pageUrl: n = () => "", onConfig: r = () => {} }
106
107
  config: null,
107
108
  state: () => o,
108
109
  notice: null,
109
- say(t) {
110
- a || (t.state === "version" ? g.notice = t : o = t, e.emit("source", t));
110
+ say(e) {
111
+ a || (e.state === "version" ? g.notice = e : o = e, t.emit("source", e));
111
112
  },
112
113
  provide({ topology: e, config: t, strings: n } = {}) {
113
114
  a || (n !== void 0 && (p.strings = n, _(g.config)), t !== void 0 && (p.config = t, t ? x(t) : g.fetchedConfig && x(g.fetchedConfig)), e !== void 0 && (p.topology = e, g.topology = e || g.fetchedTopology || null, g.topology && g.say({ state: "ready" })));
@@ -115,81 +116,81 @@ function x(e, { version: t = "", pageUrl: n = () => "", onConfig: r = () => {} }
115
116
  fetchedConfig: null,
116
117
  fetchedTopology: null,
117
118
  async load() {
118
- if (a || !e.base) return;
119
+ if (a || !t.base) return;
119
120
  if (p.config && p.topology) {
120
121
  g.topology = p.topology, g.say({ state: "ready" });
121
122
  return;
122
123
  }
123
124
  l && l.abort(), l = new AbortController();
124
- let { signal: t } = l, n = ++f, r = () => !a && n === f && !t.aborted;
125
+ let { signal: e } = l, n = ++f, r = () => !a && n === f && !e.aborted;
125
126
  g.say({ state: "loading" });
126
127
  try {
127
128
  if (!p.config) {
128
- let n = await v(e, { signal: t });
129
+ let n = await v(t, { signal: e });
129
130
  if (!r()) return;
130
131
  g.fetchedConfig = n, x(n);
131
132
  }
132
133
  if (p.topology) g.topology = p.topology;
133
134
  else {
134
- let n = await y(e, u, { signal: t });
135
+ let n = await y(t, u, { signal: e });
135
136
  if (!r()) return;
136
137
  g.fetchedTopology = n, g.topology = n;
137
138
  }
138
139
  g.say({ state: "ready" });
139
- } catch (e) {
140
+ } catch (t) {
140
141
  if (!r()) return;
141
- let n = await C(e, t);
142
+ let n = await C(t, e);
142
143
  r() && g.say(n);
143
144
  }
144
145
  }
145
146
  };
146
- function _(t) {
147
- i(e, p.strings || t && t.strings);
147
+ function _(n) {
148
+ e(t, p.strings || n && n.strings);
148
149
  }
149
- function x(n) {
150
- g.config = n, b(e, n), p.strings && _(n);
151
- let i = m(t, n.version);
152
- t && (i === "minor" || i === "major") && g.say({
150
+ function x(e) {
151
+ g.config = e, b(t, e), p.strings && _(e);
152
+ let r = m(n, e.version);
153
+ n && (r === "minor" || r === "major") && g.say({
153
154
  state: "version",
154
- server: String(n.version).trim(),
155
- package: t,
156
- drift: i
157
- }), r(n);
155
+ server: String(e.version).trim(),
156
+ package: n,
157
+ drift: r
158
+ }), i(e);
158
159
  }
159
- async function C(t, r) {
160
- if (!(t instanceof h)) return {
160
+ async function C(e, n) {
161
+ if (!(e instanceof h)) return {
161
162
  state: "server",
162
163
  status: 0,
163
- message: t && t.message ? t.message : String(t)
164
+ message: e && e.message ? e.message : String(e)
164
165
  };
165
- if (t.kind === "auth") return {
166
+ if (e.kind === "auth") return {
166
167
  state: "sign-in",
167
- status: t.status,
168
- signIn: s(e.base, n())
168
+ status: e.status,
169
+ signIn: s(t.base, r())
169
170
  };
170
- if (t.kind === "server") return {
171
+ if (e.kind === "server") return {
171
172
  state: "server",
172
- status: t.status,
173
- message: t.message
173
+ status: e.status,
174
+ message: e.message
174
175
  };
175
- if (e.win && e.win.navigator && e.win.navigator.onLine === !1) return { state: "offline" };
176
+ if (t.win && t.win.navigator && t.win.navigator.onLine === !1) return { state: "offline" };
176
177
  try {
177
- await e.fetch(d, {
178
+ await t.fetch(d, {
178
179
  method: "HEAD",
179
180
  mode: "no-cors",
180
181
  credentials: "omit",
181
- signal: r
182
+ signal: n
182
183
  });
183
184
  } catch {
184
185
  return { state: "offline" };
185
186
  }
186
187
  return {
187
188
  state: "not-allowed",
188
- origin: c(n())
189
+ origin: c(r())
189
190
  };
190
191
  }
191
- return S(e).source = g, e.own(() => {
192
- a = !0, l && l.abort(), S(e).source = null;
192
+ return S(t).source = g, t.own(() => {
193
+ a = !0, l && l.abort(), S(t).source = null;
193
194
  }), g;
194
195
  }
195
196
  var S = (e) => e.slot("source", () => ({ source: null })), C = (e) => S(e).source, w = 524288, T = 4096, E = /^--corn-[a-z0-9]+(?:-[a-z0-9]+)*$/, D = /^[a-z0-9][a-z0-9-]{0,31}$/, O = "/cornfield/theme.css", k = (e) => `/cornfield/theme/${e}.css`, A = (e) => String(e).replace(/\s+/g, ""), j = (e) => {
@@ -507,54 +508,54 @@ var Z = Object.freeze({
507
508
  address: "failure",
508
509
  "second-map": "failure"
509
510
  });
510
- function Q(t, n) {
511
- switch (n.state) {
511
+ function Q(e, t) {
512
+ switch (t.state) {
512
513
  case "loading": return {
513
- title: e(t, "sourceLoading"),
514
+ title: r(e, "sourceLoading"),
514
515
  text: ""
515
516
  };
516
- case "sign-in": return n.status === 403 ? {
517
- title: e(t, "sourceNotMaintainer"),
518
- text: e(t, "sourceNotMaintainerText"),
519
- link: n.signIn
517
+ case "sign-in": return t.status === 403 ? {
518
+ title: r(e, "sourceNotMaintainer"),
519
+ text: r(e, "sourceNotMaintainerText"),
520
+ link: t.signIn
520
521
  } : {
521
- title: e(t, "sourceSignedOut"),
522
- text: e(t, "sourceSignInText"),
523
- link: n.signIn
522
+ title: r(e, "sourceSignedOut"),
523
+ text: r(e, "sourceSignInText"),
524
+ link: t.signIn
524
525
  };
525
526
  case "not-allowed": return {
526
- title: e(t, "sourceNotListed"),
527
- text: e(t, "sourceNotListedHint"),
528
- origin: n.origin,
527
+ title: r(e, "sourceNotListed"),
528
+ text: r(e, "sourceNotListedHint"),
529
+ origin: t.origin,
529
530
  retry: !0
530
531
  };
531
532
  case "offline": return {
532
- title: e(t, "sourceOffline"),
533
- text: e(t, "sourceOfflineText"),
533
+ title: r(e, "sourceOffline"),
534
+ text: r(e, "sourceOfflineText"),
534
535
  retry: !0
535
536
  };
536
537
  case "server": return {
537
- title: e(t, "errorTitle"),
538
- text: n.message || "",
538
+ title: r(e, "errorTitle"),
539
+ text: t.message || "",
539
540
  retry: !0
540
541
  };
541
542
  case "address": return {
542
- title: e(t, "sourceBadAddress"),
543
- text: n.problem || ""
543
+ title: r(e, "sourceBadAddress"),
544
+ text: t.problem || ""
544
545
  };
545
546
  case "second-map": return {
546
- title: e(t, "sourceSecondMap"),
547
+ title: r(e, "sourceSecondMap"),
547
548
  text: ""
548
549
  };
549
550
  default: return null;
550
551
  }
551
552
  }
552
553
  var $ = (e) => typeof e == "string" && /^https?:\/\/[^\s\\]+$/i.test(e) ? e : "";
553
- function ee(t, r) {
554
- let i = Q(t, r);
554
+ function ee(e, n) {
555
+ let i = Q(e, n);
555
556
  if (!i) return "";
556
- let a = i.link ? $(i.link) : "", o = [`<p data-corn="source-title">${n(i.title)}</p>`];
557
- return i.text && o.push(`<p data-corn="source-text">${n(i.text)}</p>`), i.origin && o.push(`<p data-corn="source-text"><code data-corn="source-origin">${n(i.origin)}</code></p>`), a && o.push(`<a data-corn="source-sign-in" data-corn-kind="primary" href="${n(a)}" target="_top" rel="noopener">${n(e(t, "sourceSignIn"))}</a>`), i.retry && o.push(`<button type="button" data-corn="source-retry" data-corn-kind="secondary">${n(e(t, "retry"))}</button>`), o.join("");
557
+ let a = i.link ? $(i.link) : "", o = [`<p data-corn="source-title">${t(i.title)}</p>`];
558
+ return i.text && o.push(`<p data-corn="source-text">${t(i.text)}</p>`), i.origin && o.push(`<p data-corn="source-text"><code data-corn="source-origin">${t(i.origin)}</code></p>`), a && o.push(`<a data-corn="source-sign-in" data-corn-kind="primary" href="${t(a)}" target="_top" rel="noopener">${t(r(e, "sourceSignIn"))}</a>`), i.retry && o.push(`<button type="button" data-corn="source-retry" data-corn-kind="secondary">${t(r(e, "retry"))}</button>`), o.join("");
558
559
  }
559
560
  function te(e, t) {
560
561
  let n = Q(e, t);
@@ -564,33 +565,33 @@ function te(e, t) {
564
565
  n.origin
565
566
  ].filter(Boolean).join(". ") : "";
566
567
  }
567
- function ne(t, n, { onRetry: i = () => {}, focusMap: a = () => {}, follow: o = !0 } = {}) {
568
- let s = n.doc, c = () => {
569
- let e = t.getRootNode();
570
- return e && e.activeElement || null;
568
+ function ne(e, t, { onRetry: i = () => {}, focusMap: a = () => {}, follow: o = !0 } = {}) {
569
+ let s = t.doc, c = () => {
570
+ let t = e.getRootNode();
571
+ return t && t.activeElement || null;
571
572
  }, l = (e) => {
572
573
  let t = s.createElement("template");
573
- return t.innerHTML = r(e), t.content.firstElementChild;
574
+ return t.innerHTML = n(e), t.content.firstElementChild;
574
575
  }, u = l("<div data-corn=\"source-status\" hidden></div>"), d = l("<p data-corn=\"source-notice\" hidden></p>"), f = l("<p data-corn=\"source-announcer\" class=\"hx-sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"></p>");
575
- t.append(u, d, f);
576
+ e.append(u, d, f);
576
577
  let p = null, m = !1, h = (e) => {
577
578
  if (m || !e) return;
578
- let t = Q(n, e), i = u.contains(c());
579
- if (!t) {
579
+ let r = Q(t, e), i = u.contains(c());
580
+ if (!r) {
580
581
  u.hidden = !0, u.textContent = "", p = e.state, i && a();
581
582
  return;
582
583
  }
583
- u.innerHTML = r(ee(n, e)), u.setAttribute("data-corn-state", Z[e.state]), u.hidden = !1;
584
+ u.innerHTML = n(ee(t, e)), u.setAttribute("data-corn-state", Z[e.state]), u.hidden = !1;
584
585
  let o = p !== e.state || e.state === "server";
585
- p = e.state, o && (f.textContent = te(n, e)), i && (u.setAttribute("tabindex", "-1"), u.focus());
586
- }, g = (t) => {
587
- m || (t ? (d.textContent = `${e(n, "sourceVersion")} (${t.package} / ${t.server})`, d.hidden = !1, f.textContent = `${f.textContent ? `${f.textContent}. ` : ""}${d.textContent}`) : (d.hidden = !0, d.textContent = ""));
588
- }, _ = n.listen(u, "click", (e) => {
586
+ p = e.state, o && (f.textContent = te(t, e)), i && (u.setAttribute("tabindex", "-1"), u.focus());
587
+ }, g = (e) => {
588
+ m || (e ? (d.textContent = `${r(t, "sourceVersion")} (${e.package} / ${e.server})`, d.hidden = !1, f.textContent = `${f.textContent ? `${f.textContent}. ` : ""}${d.textContent}`) : (d.hidden = !0, d.textContent = ""));
589
+ }, _ = t.listen(u, "click", (e) => {
589
590
  let t = e.target && e.target.closest ? e.target.closest("[data-corn=\"source-retry\"]") : null;
590
591
  t && u.contains(t) && (e.preventDefault(), i());
591
- }), v = o ? n.on("source", (e) => {
592
+ }), v = o ? t.on("source", (e) => {
592
593
  e.state === "version" ? g(e) : h(e);
593
- }) : () => {}, y = o ? C(n) : null;
594
+ }) : () => {}, y = o ? C(t) : null;
594
595
  if (y) {
595
596
  let e = y.state();
596
597
  e && e.state !== "ready" && h(e), y.notice && g(y.notice);