yamlite 0.40.0 → 0.41.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.
- package/README.md +19 -17
- package/dist/cli.mjs +2 -2
- package/dist/core.d.mts +12 -4
- package/dist/core.mjs +2 -2
- package/dist/{index-CDLxve55.d.mts → index-Bd2ctbJm.d.mts} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{src-NOJw_gTE.mjs → src-ChJZPkg9.mjs} +228 -39
- package/dist/ui/assets/{ErdView-Dqs3Ly-E.js → ErdView-CWmAQgo6.js} +1 -1
- package/dist/ui/assets/{MarkdownField-Bg4zDZM_.js → MarkdownField-DI3OMg7I.js} +1 -1
- package/dist/ui/assets/PageView-BsEhcE48.js +1 -0
- package/dist/ui/assets/access-DV6K5419.js +1 -0
- package/dist/ui/assets/index-emolmw-f.js +126 -0
- package/dist/ui/assets/{load-ylhnQAWa.js → load-BsZuQtRZ.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui-embed/{ErdView-CgNnAf5I.js → ErdView-CmUxHybj.js} +2 -2
- package/dist/ui-embed/{HintPopover-8CeJLQO5.js → HintPopover-NOWaUpA_.js} +1622 -1612
- package/dist/ui-embed/PageView-Bptfb1IR.js +1154 -0
- package/dist/ui-embed/{activity-DecWPHxS.js → activity-v3qF9H6V.js} +1 -1
- package/dist/ui-embed/embed.js +5 -5
- package/dist/ui-embed/{pageFrame-ClOBfTt9.js → pageFrame-vCls4cAs.js} +1 -1
- package/dist/{workspace-Cp5-yHYp.mjs → workspace-D7xHlBPc.mjs} +75 -7
- package/package.json +1 -1
- package/dist/ui/assets/PageView-D0hs43d8.js +0 -1
- package/dist/ui/assets/access-DSnHSuXB.js +0 -1
- package/dist/ui/assets/index-LbUt_Zkt.js +0 -126
- package/dist/ui-embed/PageView-B29tXeqW.js +0 -835
|
@@ -1,835 +0,0 @@
|
|
|
1
|
-
import { A as e, C as t, S as n, T as r, a as i } from "./theme-BwJfOY1V.js";
|
|
2
|
-
import { E as a, G as o, L as s, O as c, P as l, R as u, W as d, l as f, t as p } from "./HintPopover-8CeJLQO5.js";
|
|
3
|
-
import { _ as m, r as h, t as g } from "./pageFrame-ClOBfTt9.js";
|
|
4
|
-
//#region ui/src/paraglide/messages/page_access.js
|
|
5
|
-
var _ = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "アクセス" : "access"), v = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "このページだけを開くリンクをコピーしました" : "Copied the link that opens only this page"), y = (e) => `Couldn't copy. Copy this link yourself: ${e?.link}`, b = (e) => `コピーできませんでした。次のリンクを手動でコピーしてください: ${e?.link}`, x = ((e, t = {}) => (t.locale ?? r()) === "ja" ? b(e) : y(e)), S = (e) => `blocked: ${e?.list}`, C = (e) => `ブロック: ${e?.list}`, w = ((e, t = {}) => (t.locale ?? r()) === "ja" ? C(e) : S(e)), T = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "アプリのリンクをコピー" : "Copy app link"), ee = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "ページが別の URL に移動したため、接続を切りました。" : "The page moved to another URL, so it was disconnected."), te = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "ページが見つかりません" : "Page not found"), ne = ((e = {}, t = {}) => (t.locale ?? r()) === "ja" ? "再読み込み" : "Reload"), E = /* @__PURE__ */ e(t(), 1), D = (e, t) => Object.hasOwn(e.access, t), O = (e, t) => Object.hasOwn(e.access, t) && e.access[t] === "write", k = (e) => Object.values(e.access).includes("write"), A = (e) => `${e} is not in this page's access`;
|
|
6
|
-
function j(e) {
|
|
7
|
-
if (e.startsWith("/") || e.startsWith("\\") || /^[a-z]:/i.test(e)) return null;
|
|
8
|
-
let t = e.split(/[\\/]/);
|
|
9
|
-
if (t.includes("..")) return null;
|
|
10
|
-
let n = t.filter((e) => e !== "" && e !== ".");
|
|
11
|
-
return n.length === 0 ? null : n.join("/") + (e.endsWith("/") ? "/" : "");
|
|
12
|
-
}
|
|
13
|
-
var M = (e, t) => e.some((e) => e.endsWith("/") ? t.startsWith(e) : t === e);
|
|
14
|
-
function N(e) {
|
|
15
|
-
let t = e.map((e) => ` ${e}`).join("");
|
|
16
|
-
return [
|
|
17
|
-
"default-src 'none'",
|
|
18
|
-
`script-src 'unsafe-inline'${t}`,
|
|
19
|
-
`style-src 'unsafe-inline'${t}`,
|
|
20
|
-
`img-src data: blob:${t}`,
|
|
21
|
-
`font-src data:${t}`,
|
|
22
|
-
`connect-src${e.length > 0 ? t : " 'none'"}`,
|
|
23
|
-
"form-action 'none'",
|
|
24
|
-
"base-uri 'none'"
|
|
25
|
-
].join("; ");
|
|
26
|
-
}
|
|
27
|
-
function re(e) {
|
|
28
|
-
let t = Object.entries(e.access).map(([e, t]) => `${e}: ${t}`);
|
|
29
|
-
e.sql && t.push("sql");
|
|
30
|
-
for (let n of e.network) t.push(new URL(n).host);
|
|
31
|
-
return e.files.length > 0 && t.push(`files: ${e.files.join(", ")}`), e.ai && t.push("AI"), t.length > 0 ? t.join(" · ") : "no access";
|
|
32
|
-
}
|
|
33
|
-
function ie(e) {
|
|
34
|
-
let t = Object.values(e.access), n = t.filter((e) => e === "write").length, r = t.length - n, i = [];
|
|
35
|
-
n > 0 && i.push(`write ${n}`), r > 0 && i.push(`read ${r}`), e.sql && i.push("SQL");
|
|
36
|
-
let a = e.network.length;
|
|
37
|
-
a > 0 && i.push(`${a} ${a === 1 ? "origin" : "origins"}`);
|
|
38
|
-
let o = e.files.length;
|
|
39
|
-
return o > 0 && i.push(`${o} ${o === 1 ? "file entry" : "file entries"}`), e.ai && i.push("AI"), i.length > 0 ? i.join(" · ") : "no access";
|
|
40
|
-
}
|
|
41
|
-
//#endregion
|
|
42
|
-
//#region ui/src/lib/pages/location.ts
|
|
43
|
-
function P(e, t = "/") {
|
|
44
|
-
let n = 2048, r = "http://page";
|
|
45
|
-
if (typeof e != "string" || e.length > n) return null;
|
|
46
|
-
try {
|
|
47
|
-
let i = new URL(e, new URL(t, r));
|
|
48
|
-
if (i.origin !== r) return null;
|
|
49
|
-
let a = i.pathname + i.search + i.hash;
|
|
50
|
-
return a.length > n ? null : a;
|
|
51
|
-
} catch {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
var F = "yamlite";
|
|
56
|
-
function I(e) {
|
|
57
|
-
let t = () => e.location.hash.startsWith("#/") ? P(e.location.hash.slice(1)) ?? "/" : "/", n = () => {
|
|
58
|
-
let t = e.history.state;
|
|
59
|
-
return typeof t == "object" && t ? t : {};
|
|
60
|
-
}, r = () => {
|
|
61
|
-
let e = n()[F];
|
|
62
|
-
return typeof e?.index == "number" ? e : void 0;
|
|
63
|
-
}, i = (t, r, i) => {
|
|
64
|
-
let a = {
|
|
65
|
-
...n(),
|
|
66
|
-
[F]: i
|
|
67
|
-
};
|
|
68
|
-
t ? e.history.replaceState(a, "", r) : e.history.pushState(a, "", r);
|
|
69
|
-
}, a = () => e.location.pathname + e.location.search, o = () => a() + e.location.hash;
|
|
70
|
-
r() === void 0 && i(!0, o(), {
|
|
71
|
-
index: 0,
|
|
72
|
-
state: null
|
|
73
|
-
});
|
|
74
|
-
let { index: s, state: c } = r(), l = t(), u = a(), d = /* @__PURE__ */ new Set(), f = () => {
|
|
75
|
-
if (a() !== u) return;
|
|
76
|
-
r() === void 0 && i(!0, o(), {
|
|
77
|
-
index: s + 1,
|
|
78
|
-
state: null
|
|
79
|
-
});
|
|
80
|
-
let e = t(), n = r();
|
|
81
|
-
if (n.index !== s || e !== l) {
|
|
82
|
-
({index: s, state: c} = n), l = e;
|
|
83
|
-
for (let e of d) e(l, c);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
return e.addEventListener("popstate", f), e.addEventListener("hashchange", f), {
|
|
87
|
-
get path() {
|
|
88
|
-
return l;
|
|
89
|
-
},
|
|
90
|
-
get state() {
|
|
91
|
-
return c;
|
|
92
|
-
},
|
|
93
|
-
navigate(t, n, r = null) {
|
|
94
|
-
let { pathname: a, search: o } = e.location;
|
|
95
|
-
i(n, t === "/" ? a + o : `${a}${o}#${t}`, {
|
|
96
|
-
index: n ? s : s + 1,
|
|
97
|
-
state: r
|
|
98
|
-
}), n || (s += 1), l = t, c = r;
|
|
99
|
-
},
|
|
100
|
-
go(t) {
|
|
101
|
-
let n = Math.max(t, -s);
|
|
102
|
-
n !== 0 && e.history.go(n);
|
|
103
|
-
},
|
|
104
|
-
listen(e) {
|
|
105
|
-
return d.add(e), () => d.delete(e);
|
|
106
|
-
},
|
|
107
|
-
dispose() {
|
|
108
|
-
e.removeEventListener("popstate", f), e.removeEventListener("hashchange", f), d.clear();
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
function ae() {
|
|
113
|
-
let e = [{
|
|
114
|
-
path: "/",
|
|
115
|
-
state: null
|
|
116
|
-
}], t = 0, n = /* @__PURE__ */ new Set(), r = () => e[t];
|
|
117
|
-
return {
|
|
118
|
-
get path() {
|
|
119
|
-
return r().path;
|
|
120
|
-
},
|
|
121
|
-
get state() {
|
|
122
|
-
return r().state;
|
|
123
|
-
},
|
|
124
|
-
navigate(n, r, i = null) {
|
|
125
|
-
r ? e[t] = {
|
|
126
|
-
path: n,
|
|
127
|
-
state: i
|
|
128
|
-
} : (e.length = t + 1, e.push({
|
|
129
|
-
path: n,
|
|
130
|
-
state: i
|
|
131
|
-
}), t += 1);
|
|
132
|
-
},
|
|
133
|
-
go(i) {
|
|
134
|
-
let a = Math.min(Math.max(t + i, 0), e.length - 1);
|
|
135
|
-
if (a !== t) {
|
|
136
|
-
t = a;
|
|
137
|
-
for (let e of n) e(r().path, r().state);
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
listen(e) {
|
|
141
|
-
return n.add(e), () => n.delete(e);
|
|
142
|
-
},
|
|
143
|
-
dispose() {
|
|
144
|
-
n.clear();
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
//#endregion
|
|
149
|
-
//#region ui/src/lib/pages/host.ts
|
|
150
|
-
var L = "this page is read-only here", R = (e) => typeof e == "object" && !!e && e.yamlite === 1 && typeof e.method == "string" && Array.isArray(e.args), z = (e, t) => new s(e, t, { error: t });
|
|
151
|
-
function B(e, t) {
|
|
152
|
-
if (typeof e != "string" || e === "") throw z(400, `${t} must be a non-empty string`);
|
|
153
|
-
return e;
|
|
154
|
-
}
|
|
155
|
-
function V(e, t) {
|
|
156
|
-
if (e === void 0) return {};
|
|
157
|
-
if (typeof e != "object" || !e || Array.isArray(e)) throw z(400, `${t} must be an object`);
|
|
158
|
-
return e;
|
|
159
|
-
}
|
|
160
|
-
function H(e) {
|
|
161
|
-
if (e instanceof s) {
|
|
162
|
-
let { error: t, ...n } = e.body;
|
|
163
|
-
return {
|
|
164
|
-
status: e.status,
|
|
165
|
-
message: e.message,
|
|
166
|
-
extra: n
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
return {
|
|
170
|
-
status: 500,
|
|
171
|
-
message: e instanceof Error ? e.message : String(e),
|
|
172
|
-
extra: {}
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
var oe = class {
|
|
176
|
-
frame;
|
|
177
|
-
page;
|
|
178
|
-
meta;
|
|
179
|
-
deps;
|
|
180
|
-
disposed = !1;
|
|
181
|
-
unlisten;
|
|
182
|
-
streams = /* @__PURE__ */ new Map();
|
|
183
|
-
generating = new AbortController();
|
|
184
|
-
constructor(e, t, n, r) {
|
|
185
|
-
this.frame = e, this.page = t, this.meta = n, this.deps = r, this.unlisten = r.location.listen((e, t) => this.post({
|
|
186
|
-
yamlite: 1,
|
|
187
|
-
event: "location",
|
|
188
|
-
data: {
|
|
189
|
-
path: e,
|
|
190
|
-
state: t
|
|
191
|
-
}
|
|
192
|
-
}));
|
|
193
|
-
}
|
|
194
|
-
handle = (e) => {
|
|
195
|
-
let t = this.frame();
|
|
196
|
-
if (this.disposed || t === null || e.source !== t || !R(e.data)) return;
|
|
197
|
-
let { id: n, method: r, args: i } = e.data;
|
|
198
|
-
if (r === "blocked") typeof i[0] == "string" && this.deps.blocked(i[0]);
|
|
199
|
-
else if (r === "escape" || r === "click") this.deps[r]();
|
|
200
|
-
else if (r === "navigate") {
|
|
201
|
-
let e = P(i[0]);
|
|
202
|
-
e !== null && this.deps.location.navigate(e, i[1] === !0, i[2] ?? null);
|
|
203
|
-
} else r === "go" ? Number.isInteger(i[0]) && this.deps.location.go(i[0]) : r === "ai-cancel" ? typeof i[0] == "number" && this.streams.get(i[0])?.abort() : this.answer(r, i, n).then((e) => {
|
|
204
|
-
this.post({
|
|
205
|
-
yamlite: 1,
|
|
206
|
-
id: n,
|
|
207
|
-
ok: !0,
|
|
208
|
-
value: e
|
|
209
|
-
}), r === "hello" && this.theme(this.deps.theme());
|
|
210
|
-
}, (e) => this.post({
|
|
211
|
-
yamlite: 1,
|
|
212
|
-
id: n,
|
|
213
|
-
ok: !1,
|
|
214
|
-
error: H(e)
|
|
215
|
-
}));
|
|
216
|
-
};
|
|
217
|
-
notify(e) {
|
|
218
|
-
let t = new Set(e);
|
|
219
|
-
for (let e of this.meta().views) t.has(e.table) && t.add(e.name);
|
|
220
|
-
let n = [...t].filter((e) => D(this.page(), e));
|
|
221
|
-
n.length > 0 && this.post({
|
|
222
|
-
yamlite: 1,
|
|
223
|
-
event: "change",
|
|
224
|
-
data: { tables: n }
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
theme(e) {
|
|
228
|
-
this.post({
|
|
229
|
-
yamlite: 1,
|
|
230
|
-
event: "theme",
|
|
231
|
-
data: { theme: e }
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
dispose() {
|
|
235
|
-
this.disposed = !0, this.unlisten();
|
|
236
|
-
for (let e of this.streams.values()) e.abort();
|
|
237
|
-
this.streams.clear(), this.generating.abort();
|
|
238
|
-
}
|
|
239
|
-
post(e) {
|
|
240
|
-
this.disposed || this.frame()?.postMessage(e, "*");
|
|
241
|
-
}
|
|
242
|
-
readable(e) {
|
|
243
|
-
let t = B(e, "table");
|
|
244
|
-
if (!D(this.page(), t)) throw z(403, A(t));
|
|
245
|
-
return t;
|
|
246
|
-
}
|
|
247
|
-
table(e) {
|
|
248
|
-
let t = this.readable(e);
|
|
249
|
-
if (!this.meta().tables.some((e) => e.name === t)) throw z(400, `${t} is a view; its rows are not records`);
|
|
250
|
-
return t;
|
|
251
|
-
}
|
|
252
|
-
writable(e) {
|
|
253
|
-
let t = this.table(e);
|
|
254
|
-
if (!O(this.page(), t)) throw z(403, `${t} is read-only for this page`);
|
|
255
|
-
if (this.deps.readOnly) throw z(403, L);
|
|
256
|
-
return t;
|
|
257
|
-
}
|
|
258
|
-
aiInput(e) {
|
|
259
|
-
let t = this.page();
|
|
260
|
-
if (!t.ai) throw z(403, `page ${t.name} may not use AI`);
|
|
261
|
-
return V(e[0], "input");
|
|
262
|
-
}
|
|
263
|
-
async stream(e, t) {
|
|
264
|
-
let n = this.aiInput(t);
|
|
265
|
-
if (typeof e != "number") throw z(400, "a stream needs an id");
|
|
266
|
-
let r = new AbortController();
|
|
267
|
-
this.streams.get(e)?.abort(), this.streams.set(e, r);
|
|
268
|
-
try {
|
|
269
|
-
for await (let t of this.deps.api.pageAiStream(this.page().name, n, r.signal)) {
|
|
270
|
-
if (r.signal.aborted) break;
|
|
271
|
-
this.post({
|
|
272
|
-
yamlite: 1,
|
|
273
|
-
event: "ai-delta",
|
|
274
|
-
id: e,
|
|
275
|
-
data: { text: t }
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
} catch (e) {
|
|
279
|
-
if (!r.signal.aborted) throw e;
|
|
280
|
-
} finally {
|
|
281
|
-
this.streams.get(e) === r && this.streams.delete(e);
|
|
282
|
-
}
|
|
283
|
-
return null;
|
|
284
|
-
}
|
|
285
|
-
async answer(e, t, n) {
|
|
286
|
-
let { api: r } = this.deps, i = this.page();
|
|
287
|
-
switch (e) {
|
|
288
|
-
case "hello": {
|
|
289
|
-
let e = i.ai ? this.deps.ai() : null;
|
|
290
|
-
return {
|
|
291
|
-
page: i.name,
|
|
292
|
-
title: i.title,
|
|
293
|
-
access: i.access,
|
|
294
|
-
sql: i.sql,
|
|
295
|
-
network: i.network,
|
|
296
|
-
files: i.files,
|
|
297
|
-
readOnly: this.deps.readOnly || !k(i),
|
|
298
|
-
ai: e
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
case "rows": {
|
|
302
|
-
let e = this.readable(t[0]), n = V(t[1], "options");
|
|
303
|
-
return r.rows(e, {
|
|
304
|
-
limit: typeof n.limit == "number" ? n.limit : 100,
|
|
305
|
-
offset: typeof n.offset == "number" ? n.offset : 0,
|
|
306
|
-
sort: typeof n.sort == "string" ? n.sort : void 0,
|
|
307
|
-
filters: Array.isArray(n.filter) ? n.filter : [],
|
|
308
|
-
search: typeof n.search == "string" ? n.search : void 0
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
case "get": {
|
|
312
|
-
let e = this.table(t[0]), { row: n, file: i } = await r.record(e, B(t[1], "key"));
|
|
313
|
-
return {
|
|
314
|
-
row: n,
|
|
315
|
-
file: i
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
case "create": {
|
|
319
|
-
let e = this.writable(t[0]);
|
|
320
|
-
return r.create(e, B(t[1], "key"), V(t[2], "values"));
|
|
321
|
-
}
|
|
322
|
-
case "update": {
|
|
323
|
-
let e = this.writable(t[0]);
|
|
324
|
-
return r.update(e, B(t[1], "key"), V(t[2], "values"), V(t[3], "base"));
|
|
325
|
-
}
|
|
326
|
-
case "remove": {
|
|
327
|
-
let e = this.writable(t[0]);
|
|
328
|
-
return r.remove(e, B(t[1], "key"));
|
|
329
|
-
}
|
|
330
|
-
case "sql":
|
|
331
|
-
if (!i.sql) throw z(403, `page ${i.name} may not run SQL`);
|
|
332
|
-
return r.pageSql(i.name, B(t[0], "sql"));
|
|
333
|
-
case "file": {
|
|
334
|
-
let e = B(t[0], "path"), n = j(e);
|
|
335
|
-
if (n === null || !M(i.files, n)) throw z(403, `${e} is not in this page's files`);
|
|
336
|
-
return r.pageFile(i.name, n);
|
|
337
|
-
}
|
|
338
|
-
case "ai": return r.pageAi(i.name, this.aiInput(t), this.generating.signal);
|
|
339
|
-
case "ai-stream": return this.stream(n, t);
|
|
340
|
-
case "open": {
|
|
341
|
-
let e = this.table(t[0]);
|
|
342
|
-
return this.deps.open(e, B(t[1], "key")), null;
|
|
343
|
-
}
|
|
344
|
-
default: throw z(400, `unknown method: ${e}`);
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
};
|
|
348
|
-
//#endregion
|
|
349
|
-
//#region ui/src/lib/pages/sdk.ts
|
|
350
|
-
function U(e = window, t = "light", n = "/", r, i = null) {
|
|
351
|
-
class a extends Error {
|
|
352
|
-
status;
|
|
353
|
-
extra;
|
|
354
|
-
constructor(e) {
|
|
355
|
-
super(e.message), this.name = "YamliteError", this.status = e.status, this.extra = e.extra ?? {};
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
let o = e.parent, s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set(), l = t === "dark" ? "dark" : "light";
|
|
359
|
-
e.document.documentElement.dataset.theme = l;
|
|
360
|
-
let u = /* @__PURE__ */ new Set(), d = /* @__PURE__ */ new Set(), f = 0, p = (e, t) => {
|
|
361
|
-
let n = new URL(e, "http://page");
|
|
362
|
-
return {
|
|
363
|
-
pathname: n.pathname,
|
|
364
|
-
search: n.search,
|
|
365
|
-
hash: n.hash,
|
|
366
|
-
state: t,
|
|
367
|
-
key: String(f++)
|
|
368
|
-
};
|
|
369
|
-
}, m = p(n, i), h = "POP", g = (e) => {
|
|
370
|
-
let t = typeof e == "string" ? e : `${e.pathname ?? m.pathname}${e.search ?? ""}${e.hash ?? ""}`, n = r(t, m.pathname + m.search + m.hash);
|
|
371
|
-
if (n === null) throw Error(`${t} is not a path inside the page`);
|
|
372
|
-
return n;
|
|
373
|
-
}, _ = (e, t, n) => {
|
|
374
|
-
h = e, m = p(t, n);
|
|
375
|
-
for (let e of d) e({
|
|
376
|
-
action: h,
|
|
377
|
-
location: m
|
|
378
|
-
});
|
|
379
|
-
}, v = 0, y = (e, t) => {
|
|
380
|
-
let n = ++v;
|
|
381
|
-
return {
|
|
382
|
-
id: n,
|
|
383
|
-
answer: new Promise((r, i) => {
|
|
384
|
-
s.set(n, {
|
|
385
|
-
resolve: r,
|
|
386
|
-
reject: i
|
|
387
|
-
}), o.postMessage({
|
|
388
|
-
yamlite: 1,
|
|
389
|
-
id: n,
|
|
390
|
-
method: e,
|
|
391
|
-
args: t
|
|
392
|
-
}, "*");
|
|
393
|
-
})
|
|
394
|
-
};
|
|
395
|
-
}, b = (e, ...t) => y(e, t).answer, x = /* @__PURE__ */ new Map(), S = (e) => {
|
|
396
|
-
let { id: t, answer: n } = y("ai-stream", [e]), r = [], i = null, a = !1, c = null, l = () => {
|
|
397
|
-
a = !0, x.delete(t);
|
|
398
|
-
};
|
|
399
|
-
x.set(t, (e) => {
|
|
400
|
-
if (i) {
|
|
401
|
-
let t = i;
|
|
402
|
-
i = null, t.resolve({
|
|
403
|
-
value: e,
|
|
404
|
-
done: !1
|
|
405
|
-
});
|
|
406
|
-
} else r.push(e);
|
|
407
|
-
}), n.then(() => {
|
|
408
|
-
l(), i && i.resolve({
|
|
409
|
-
value: void 0,
|
|
410
|
-
done: !0
|
|
411
|
-
}), i = null;
|
|
412
|
-
}, (e) => {
|
|
413
|
-
l(), i ? i.reject(e) : c = { error: e }, i = null;
|
|
414
|
-
});
|
|
415
|
-
let u = {
|
|
416
|
-
next() {
|
|
417
|
-
if (r.length > 0) return Promise.resolve({
|
|
418
|
-
value: r.shift(),
|
|
419
|
-
done: !1
|
|
420
|
-
});
|
|
421
|
-
if (c) {
|
|
422
|
-
let { error: e } = c;
|
|
423
|
-
return c = null, Promise.reject(e);
|
|
424
|
-
}
|
|
425
|
-
return a ? Promise.resolve({
|
|
426
|
-
value: void 0,
|
|
427
|
-
done: !0
|
|
428
|
-
}) : new Promise((e, t) => {
|
|
429
|
-
i = {
|
|
430
|
-
resolve: e,
|
|
431
|
-
reject: t
|
|
432
|
-
};
|
|
433
|
-
});
|
|
434
|
-
},
|
|
435
|
-
return() {
|
|
436
|
-
return a || (l(), s.delete(t), o.postMessage({
|
|
437
|
-
yamlite: 1,
|
|
438
|
-
method: "ai-cancel",
|
|
439
|
-
args: [t]
|
|
440
|
-
}, "*")), r.length = 0, c = null, i && i.resolve({
|
|
441
|
-
value: void 0,
|
|
442
|
-
done: !0
|
|
443
|
-
}), i = null, Promise.resolve({
|
|
444
|
-
value: void 0,
|
|
445
|
-
done: !0
|
|
446
|
-
});
|
|
447
|
-
},
|
|
448
|
-
[Symbol.asyncIterator]() {
|
|
449
|
-
return u;
|
|
450
|
-
}
|
|
451
|
-
};
|
|
452
|
-
return u;
|
|
453
|
-
};
|
|
454
|
-
e.addEventListener("message", (t) => {
|
|
455
|
-
let n = t.data;
|
|
456
|
-
if (t.source !== o || typeof n != "object" || !n || n.yamlite !== 1) return;
|
|
457
|
-
if (n.event === "change") {
|
|
458
|
-
for (let e of c) e(n.data);
|
|
459
|
-
return;
|
|
460
|
-
}
|
|
461
|
-
if (n.event === "location") {
|
|
462
|
-
let e = r(n.data?.path);
|
|
463
|
-
e !== null && _("POP", e, n.data.state ?? null);
|
|
464
|
-
return;
|
|
465
|
-
}
|
|
466
|
-
if (n.event === "theme") {
|
|
467
|
-
if (n.data?.theme !== "light" && n.data?.theme !== "dark" || n.data.theme === l) return;
|
|
468
|
-
l = n.data.theme, e.document.documentElement.dataset.theme = l;
|
|
469
|
-
for (let e of u) e({ theme: l });
|
|
470
|
-
return;
|
|
471
|
-
}
|
|
472
|
-
if (n.event === "ai-delta") {
|
|
473
|
-
typeof n.data?.text == "string" && x.get(n.id)?.(n.data.text);
|
|
474
|
-
return;
|
|
475
|
-
}
|
|
476
|
-
let i = s.get(n.id);
|
|
477
|
-
i && (s.delete(n.id), n.ok ? i.resolve(n.value) : i.reject(new a(n.error)));
|
|
478
|
-
}), e.document.addEventListener("securitypolicyviolation", (e) => {
|
|
479
|
-
o.postMessage({
|
|
480
|
-
yamlite: 1,
|
|
481
|
-
method: "blocked",
|
|
482
|
-
args: [e.blockedURI]
|
|
483
|
-
}, "*");
|
|
484
|
-
}), e.addEventListener("keydown", (e) => {
|
|
485
|
-
e.key === "Escape" && !e.defaultPrevented && !e.isComposing && o.postMessage({
|
|
486
|
-
yamlite: 1,
|
|
487
|
-
method: "escape",
|
|
488
|
-
args: []
|
|
489
|
-
}, "*");
|
|
490
|
-
}), e.addEventListener("click", () => o.postMessage({
|
|
491
|
-
yamlite: 1,
|
|
492
|
-
method: "click",
|
|
493
|
-
args: []
|
|
494
|
-
}, "*"));
|
|
495
|
-
let C = b("hello"), w = e.setInterval(() => o.postMessage({
|
|
496
|
-
yamlite: 1,
|
|
497
|
-
id: 1,
|
|
498
|
-
method: "hello",
|
|
499
|
-
args: []
|
|
500
|
-
}, "*"), 100), T = () => e.clearInterval(w);
|
|
501
|
-
C.then(T, T), e.yamlite = Object.freeze({
|
|
502
|
-
ready: C,
|
|
503
|
-
rows: (e, t = {}) => b("rows", e, t),
|
|
504
|
-
get: (e, t) => b("get", e, t),
|
|
505
|
-
create: (e, t, n) => b("create", e, t, n),
|
|
506
|
-
update: (e, t, n, r) => b("update", e, t, n, r),
|
|
507
|
-
remove: (e, t) => b("remove", e, t),
|
|
508
|
-
sql: (e) => b("sql", e),
|
|
509
|
-
file: (e) => b("file", e),
|
|
510
|
-
open: (e, t) => b("open", e, t),
|
|
511
|
-
ai: Object.freeze({
|
|
512
|
-
generate: (e) => b("ai", e),
|
|
513
|
-
stream: S
|
|
514
|
-
}),
|
|
515
|
-
history: Object.freeze({
|
|
516
|
-
get action() {
|
|
517
|
-
return h;
|
|
518
|
-
},
|
|
519
|
-
get location() {
|
|
520
|
-
return m;
|
|
521
|
-
},
|
|
522
|
-
push(e, t = null) {
|
|
523
|
-
let n = g(e);
|
|
524
|
-
o.postMessage({
|
|
525
|
-
yamlite: 1,
|
|
526
|
-
method: "navigate",
|
|
527
|
-
args: [
|
|
528
|
-
n,
|
|
529
|
-
!1,
|
|
530
|
-
t
|
|
531
|
-
]
|
|
532
|
-
}, "*"), _("PUSH", n, t);
|
|
533
|
-
},
|
|
534
|
-
replace(e, t = null) {
|
|
535
|
-
let n = g(e);
|
|
536
|
-
o.postMessage({
|
|
537
|
-
yamlite: 1,
|
|
538
|
-
method: "navigate",
|
|
539
|
-
args: [
|
|
540
|
-
n,
|
|
541
|
-
!0,
|
|
542
|
-
t
|
|
543
|
-
]
|
|
544
|
-
}, "*"), _("REPLACE", n, t);
|
|
545
|
-
},
|
|
546
|
-
go: (e) => o.postMessage({
|
|
547
|
-
yamlite: 1,
|
|
548
|
-
method: "go",
|
|
549
|
-
args: [e]
|
|
550
|
-
}, "*"),
|
|
551
|
-
back: () => o.postMessage({
|
|
552
|
-
yamlite: 1,
|
|
553
|
-
method: "go",
|
|
554
|
-
args: [-1]
|
|
555
|
-
}, "*"),
|
|
556
|
-
forward: () => o.postMessage({
|
|
557
|
-
yamlite: 1,
|
|
558
|
-
method: "go",
|
|
559
|
-
args: [1]
|
|
560
|
-
}, "*"),
|
|
561
|
-
createHref: g,
|
|
562
|
-
listen(e) {
|
|
563
|
-
return d.add(e), () => d.delete(e);
|
|
564
|
-
}
|
|
565
|
-
}),
|
|
566
|
-
get theme() {
|
|
567
|
-
return l;
|
|
568
|
-
},
|
|
569
|
-
on(e, t) {
|
|
570
|
-
if (e === "change") return c.add(t), () => c.delete(t);
|
|
571
|
-
if (e === "theme") return u.add(t), () => u.delete(t);
|
|
572
|
-
throw Error("only \"change\" and \"theme\" can be subscribed to");
|
|
573
|
-
},
|
|
574
|
-
YamliteError: a
|
|
575
|
-
});
|
|
576
|
-
}
|
|
577
|
-
//#endregion
|
|
578
|
-
//#region node_modules/.pnpm/@fontsource+jetbrains-mono@5.3.0/node_modules/@fontsource/jetbrains-mono/files/jetbrains-mono-latin-400-normal.woff2?inline
|
|
579
|
-
var W = "data:font/woff2;base64,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", G = "data:font/woff2;base64,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", K = "data:font/woff2;base64,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", q = "data:font/woff2;base64,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", J = {
|
|
580
|
-
light: {
|
|
581
|
-
"--y-bg": "#fffdf9",
|
|
582
|
-
"--y-panel": "#fff7ed",
|
|
583
|
-
"--y-panel-2": "#fde3d6",
|
|
584
|
-
"--y-line": "#eadfd0",
|
|
585
|
-
"--y-text": "#1c1b29",
|
|
586
|
-
"--y-muted": "#8a8796",
|
|
587
|
-
"--y-accent": "#e5484d",
|
|
588
|
-
"--y-accent-fill": "#e5484d",
|
|
589
|
-
"--y-accent-soft": "#fde3d6",
|
|
590
|
-
"--y-on-accent": "#fff7ed",
|
|
591
|
-
"--y-ok": "#2f9e6e",
|
|
592
|
-
"--y-warn": "#c27a12",
|
|
593
|
-
"--y-warn-soft": "#fbecc8",
|
|
594
|
-
"--y-err": "#e5484d",
|
|
595
|
-
"--y-err-soft": "#fde3d6",
|
|
596
|
-
"--y-chip": "#fde3d6",
|
|
597
|
-
"--y-chip-text": "#a8282d"
|
|
598
|
-
},
|
|
599
|
-
dark: {
|
|
600
|
-
"--y-bg": "#1c1b29",
|
|
601
|
-
"--y-panel": "#232232",
|
|
602
|
-
"--y-panel-2": "#2d2b3e",
|
|
603
|
-
"--y-line": "#34324a",
|
|
604
|
-
"--y-text": "#f4efe6",
|
|
605
|
-
"--y-muted": "#8a8796",
|
|
606
|
-
"--y-accent": "#ff6b6f",
|
|
607
|
-
"--y-accent-fill": "#e5484d",
|
|
608
|
-
"--y-accent-soft": "#3a2433",
|
|
609
|
-
"--y-on-accent": "#fff7ed",
|
|
610
|
-
"--y-ok": "#7ad3a4",
|
|
611
|
-
"--y-warn": "#f0b654",
|
|
612
|
-
"--y-warn-soft": "#3a3020",
|
|
613
|
-
"--y-err": "#ff6b6f",
|
|
614
|
-
"--y-err-soft": "#3a2433",
|
|
615
|
-
"--y-chip": "#3a2433",
|
|
616
|
-
"--y-chip-text": "#ffc9c4"
|
|
617
|
-
}
|
|
618
|
-
}, Y = (e) => Object.entries(e).map(([e, t]) => `${e}:${t};`).join(""), X = (e, t, n) => `@font-face{font-family:"${e}";font-weight:${t};font-style:normal;font-display:swap;src:url(${n}) format("woff2");}`, Z = (e, t) => `:where(${e.split(",").map((e) => `[data-yamlite-ui] ${e.trim()}`).join(", ")}){${t}}`, se = [
|
|
619
|
-
Z("body", "margin:0;padding:16px;background:var(--y-bg);color:var(--y-text);font:14px/1.55 var(--y-font);"),
|
|
620
|
-
Z("h1", "font-size:18px;font-weight:600;margin:0 0 12px;"),
|
|
621
|
-
Z("h2", "font-size:15px;font-weight:600;margin:20px 0 8px;"),
|
|
622
|
-
Z("h3", "font-size:13px;font-weight:600;margin:16px 0 6px;"),
|
|
623
|
-
Z("a", "color:var(--y-accent);text-decoration:none;"),
|
|
624
|
-
Z("a:hover", "text-decoration:underline;"),
|
|
625
|
-
Z("button", "font:500 13px/1 var(--y-font);padding:7px 12px;border-radius:6px;border:1px solid var(--y-line);background:var(--y-bg);color:var(--y-text);cursor:pointer;"),
|
|
626
|
-
Z("button:hover", "background:var(--y-panel);"),
|
|
627
|
-
Z("button:disabled", "opacity:.5;cursor:default;"),
|
|
628
|
-
Z("button.y-primary", "background:var(--y-accent-fill);border-color:var(--y-accent-fill);color:var(--y-on-accent);"),
|
|
629
|
-
Z("input, select, textarea", "font:13px/1.4 var(--y-font);padding:6px 8px;border-radius:6px;border:1px solid var(--y-line);background:var(--y-bg);color:var(--y-text);"),
|
|
630
|
-
Z("input:focus, select:focus, textarea:focus, button:focus-visible", "outline:2px solid var(--y-accent);outline-offset:1px;"),
|
|
631
|
-
Z(".y-link, .y-link:hover", "background:none;border:0;border-radius:0;padding:0;font:inherit;color:var(--y-accent);cursor:pointer;"),
|
|
632
|
-
Z(".y-link", "text-decoration:none;"),
|
|
633
|
-
Z(".y-link:hover", "text-decoration:underline;"),
|
|
634
|
-
Z("input[type=checkbox], input[type=radio]", "accent-color:var(--y-accent-fill);padding:0;"),
|
|
635
|
-
Z("table", "width:100%;border-collapse:collapse;"),
|
|
636
|
-
Z("th, td", "text-align:left;vertical-align:top;padding:6px 10px;border-bottom:1px solid var(--y-line);overflow-wrap:anywhere;"),
|
|
637
|
-
Z("th", "background:var(--y-panel);font-size:12px;font-weight:600;color:var(--y-muted);"),
|
|
638
|
-
Z("thead th", "position:sticky;top:0;"),
|
|
639
|
-
Z("code, pre", "font-family:var(--y-mono);font-size:12px;background:var(--y-panel);border-radius:4px;"),
|
|
640
|
-
Z("code", "padding:1px 4px;"),
|
|
641
|
-
Z("pre", "padding:10px 12px;overflow-x:auto;"),
|
|
642
|
-
Z("details", "border:1px solid var(--y-line);border-radius:8px;padding:0 12px;margin:8px 0;"),
|
|
643
|
-
Z("summary", "cursor:pointer;padding:10px 0;font-weight:600;"),
|
|
644
|
-
Z(".y-chip", "display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;line-height:1.6;background:var(--y-chip);color:var(--y-chip-text);"),
|
|
645
|
-
Z(".y-chip.y-ok", "background:var(--y-panel);color:var(--y-ok);"),
|
|
646
|
-
Z(".y-chip.y-warn", "background:var(--y-warn-soft);color:var(--y-warn);"),
|
|
647
|
-
Z(".y-chip.y-err", "background:var(--y-err-soft);color:var(--y-err);"),
|
|
648
|
-
Z(".y-muted", "color:var(--y-muted);"),
|
|
649
|
-
Z(".y-card", "background:var(--y-panel);border:1px solid var(--y-line);border-radius:8px;padding:12px 14px;margin:8px 0;"),
|
|
650
|
-
Z(".y-toolbar", "display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;")
|
|
651
|
-
];
|
|
652
|
-
function ce() {
|
|
653
|
-
return [
|
|
654
|
-
X("Outfit", 400, G),
|
|
655
|
-
X("Outfit", 500, K),
|
|
656
|
-
X("Outfit", 600, q),
|
|
657
|
-
X("JetBrains Mono", 400, W),
|
|
658
|
-
`:root{${Y(J.light)}--y-font:"Outfit",system-ui,sans-serif;--y-mono:"JetBrains Mono",ui-monospace,monospace;}`,
|
|
659
|
-
`:root[data-theme="dark"]{${Y(J.dark)}}`,
|
|
660
|
-
":where([data-yamlite-ui]){color-scheme:light}",
|
|
661
|
-
":where([data-yamlite-ui][data-theme=\"dark\"]){color-scheme:dark}",
|
|
662
|
-
...se
|
|
663
|
-
].join("");
|
|
664
|
-
}
|
|
665
|
-
//#endregion
|
|
666
|
-
//#region ui/src/lib/pages/inject.ts
|
|
667
|
-
var le = /^(?:\s*<!--(?:(?!-->)[\s\S])*-->)*\s*<!doctype[^>]*>/i, ue = (e) => e.replaceAll("&", "&").replaceAll("\"", """), Q = (e) => {
|
|
668
|
-
try {
|
|
669
|
-
return (JSON.stringify(e) ?? "null").replaceAll("<", "\\u003c");
|
|
670
|
-
} catch {
|
|
671
|
-
return "null";
|
|
672
|
-
}
|
|
673
|
-
};
|
|
674
|
-
function de(e, t, n = "light", r = "/", i = null) {
|
|
675
|
-
let a = `<meta http-equiv="Content-Security-Policy" content="${ue(N(t))}"><style id="yamlite-theme">${ce()}</style><script>(${U.toString()})(undefined, ${Q(n)}, ${Q(r)}, ${P.toString()}, ${Q(i)});<\/script>`, o = e.replace(/^\uFEFF/, ""), s = le.exec(o)?.[0] ?? "";
|
|
676
|
-
return s + a + o.slice(s.length);
|
|
677
|
-
}
|
|
678
|
-
//#endregion
|
|
679
|
-
//#region ui/src/components/PageView.tsx
|
|
680
|
-
var $ = n();
|
|
681
|
-
function fe({ name: e, app: t = !1 }) {
|
|
682
|
-
let n = i(), r = (0, E.useRef)(n);
|
|
683
|
-
r.current = n;
|
|
684
|
-
let s = (0, E.useRef)(null), [y] = (0, E.useState)(() => t ? I(window) : ae());
|
|
685
|
-
(0, E.useEffect)(() => () => y.dispose(), [y]);
|
|
686
|
-
let { data: b } = c(), S = a(), C = b?.pages.find((t) => t.name === e), D = m(e), O = o({
|
|
687
|
-
queryKey: ["page", e],
|
|
688
|
-
queryFn: () => u.pageHtml(e),
|
|
689
|
-
enabled: C !== void 0
|
|
690
|
-
}), k = (0, E.useRef)(null), A = (0, E.useRef)({
|
|
691
|
-
el: null,
|
|
692
|
-
n: 0
|
|
693
|
-
}), [j, M] = (0, E.useState)(0), [N, P] = (0, E.useState)(!1), [F, L] = (0, E.useState)([]), [R, z] = (0, E.useState)(null), B = C?.network.join(" "), V = `${j}:${JSON.stringify([
|
|
694
|
-
C?.access,
|
|
695
|
-
C?.sql,
|
|
696
|
-
C?.title,
|
|
697
|
-
C?.ai
|
|
698
|
-
])}`, H = (0, E.useMemo)(() => B !== void 0 && O.data !== void 0 ? de(O.data, B ? B.split(" ") : [], r.current, y.path, y.state) : void 0, [
|
|
699
|
-
B,
|
|
700
|
-
O.data,
|
|
701
|
-
V,
|
|
702
|
-
y
|
|
703
|
-
]), U = `${V}:${H}`, W = (0, E.useRef)({
|
|
704
|
-
page: C,
|
|
705
|
-
meta: b
|
|
706
|
-
});
|
|
707
|
-
W.current = {
|
|
708
|
-
page: C,
|
|
709
|
-
meta: b
|
|
710
|
-
};
|
|
711
|
-
let G = C !== void 0 && b !== void 0, K = () => k.current !== null && document.activeElement === k.current;
|
|
712
|
-
if ((0, E.useEffect)(() => {
|
|
713
|
-
P(!1), L([]);
|
|
714
|
-
}, [U]), (0, E.useEffect)(() => {
|
|
715
|
-
if (!G || H === void 0 || N) return;
|
|
716
|
-
let e = new oe(() => k.current?.contentWindow ?? null, () => W.current.page, () => W.current.meta, {
|
|
717
|
-
api: u,
|
|
718
|
-
readOnly: l(),
|
|
719
|
-
ai: () => {
|
|
720
|
-
let e = W.current.meta?.ai?.providers.find((e) => e.hasKey);
|
|
721
|
-
return e ? {
|
|
722
|
-
provider: e.id,
|
|
723
|
-
models: e.models
|
|
724
|
-
} : null;
|
|
725
|
-
},
|
|
726
|
-
open: (e, t) => z({
|
|
727
|
-
table: e,
|
|
728
|
-
key: t
|
|
729
|
-
}),
|
|
730
|
-
theme: () => r.current,
|
|
731
|
-
location: y,
|
|
732
|
-
escape: () => {
|
|
733
|
-
K() && document.dispatchEvent(new KeyboardEvent("keydown", {
|
|
734
|
-
key: "Escape",
|
|
735
|
-
bubbles: !0
|
|
736
|
-
}));
|
|
737
|
-
},
|
|
738
|
-
click: () => {
|
|
739
|
-
K() && k.current?.dispatchEvent(new MouseEvent("click", { bubbles: !0 }));
|
|
740
|
-
},
|
|
741
|
-
blocked: (e) => L((t) => t.includes(e) ? t : [...t, e])
|
|
742
|
-
});
|
|
743
|
-
s.current = e, window.addEventListener("message", e.handle);
|
|
744
|
-
let t = S.listen((t) => {
|
|
745
|
-
t.type === "sync" && (t.changes.length > 0 || t.schema.length > 0) ? e.notify([t.table]) : (t.type === "hello" || t.type === "reload") && e.notify((W.current.meta?.tables ?? []).map((e) => e.name));
|
|
746
|
-
});
|
|
747
|
-
return () => {
|
|
748
|
-
s.current = null, e.dispose(), window.removeEventListener("message", e.handle), t();
|
|
749
|
-
};
|
|
750
|
-
}, [
|
|
751
|
-
G,
|
|
752
|
-
H,
|
|
753
|
-
N,
|
|
754
|
-
S,
|
|
755
|
-
y
|
|
756
|
-
]), (0, E.useEffect)(() => {
|
|
757
|
-
s.current?.theme(n);
|
|
758
|
-
}, [n]), !b) return null;
|
|
759
|
-
if (!C) return /* @__PURE__ */ (0, $.jsx)("div", {
|
|
760
|
-
className: "p-6 text-muted-foreground",
|
|
761
|
-
children: te()
|
|
762
|
-
});
|
|
763
|
-
let q = R ? b.tables.find((e) => e.name === R.table) : void 0, J = g(), Y = (e) => {
|
|
764
|
-
A.current.el !== e.currentTarget && (A.current = {
|
|
765
|
-
el: e.currentTarget,
|
|
766
|
-
n: 0
|
|
767
|
-
}), A.current.n += 1, J !== void 0 && A.current.n === 1 && e.currentTarget.contentWindow?.postMessage({
|
|
768
|
-
yamlite: 1,
|
|
769
|
-
document: H
|
|
770
|
-
}, "*"), A.current.n > (J === void 0 ? 1 : 2) && P(!0);
|
|
771
|
-
};
|
|
772
|
-
return /* @__PURE__ */ (0, $.jsxs)("div", {
|
|
773
|
-
className: "relative flex min-w-0 flex-1 flex-col",
|
|
774
|
-
children: [
|
|
775
|
-
t ? null : /* @__PURE__ */ (0, $.jsxs)("header", {
|
|
776
|
-
className: "flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 border-b px-[18px] py-2.5 max-md:px-3",
|
|
777
|
-
children: [
|
|
778
|
-
/* @__PURE__ */ (0, $.jsx)("h1", {
|
|
779
|
-
className: "shrink-0 whitespace-nowrap text-[15px] font-semibold max-md:sr-only",
|
|
780
|
-
children: C.title
|
|
781
|
-
}),
|
|
782
|
-
/* @__PURE__ */ (0, $.jsx)(p, {
|
|
783
|
-
label: _(),
|
|
784
|
-
hint: `${C.path}\n${re(C)}`,
|
|
785
|
-
className: "min-w-0 truncate text-left font-mono text-[11px] text-muted-foreground max-md:text-[12px]",
|
|
786
|
-
children: ie(C)
|
|
787
|
-
}),
|
|
788
|
-
D !== null && /* @__PURE__ */ (0, $.jsx)("button", {
|
|
789
|
-
type: "button",
|
|
790
|
-
className: "ml-auto shrink-0 text-[12px] text-muted-foreground hover:text-foreground max-md:text-[13px]",
|
|
791
|
-
onClick: () => {
|
|
792
|
-
let e = () => d.error(x({ link: D }), { duration: 3e4 });
|
|
793
|
-
if (!navigator.clipboard) return e();
|
|
794
|
-
navigator.clipboard.writeText(D).then(() => d.success(v()), e);
|
|
795
|
-
},
|
|
796
|
-
children: T()
|
|
797
|
-
})
|
|
798
|
-
]
|
|
799
|
-
}),
|
|
800
|
-
F.length > 0 && /* @__PURE__ */ (0, $.jsx)("div", {
|
|
801
|
-
role: "alert",
|
|
802
|
-
className: "border-b bg-warn-soft px-[18px] py-1.5 text-[12px] text-warn",
|
|
803
|
-
children: w({ list: F.join(", ") })
|
|
804
|
-
}),
|
|
805
|
-
O.isError && /* @__PURE__ */ (0, $.jsx)("div", {
|
|
806
|
-
role: "alert",
|
|
807
|
-
className: "px-[18px] py-2 text-err",
|
|
808
|
-
children: O.error.message
|
|
809
|
-
}),
|
|
810
|
-
N ? /* @__PURE__ */ (0, $.jsxs)("div", {
|
|
811
|
-
role: "alert",
|
|
812
|
-
className: "flex flex-wrap items-center gap-3 px-[18px] py-3 text-err max-md:px-3",
|
|
813
|
-
children: [ee(), /* @__PURE__ */ (0, $.jsx)(f, {
|
|
814
|
-
size: "sm",
|
|
815
|
-
onClick: () => M((e) => e + 1),
|
|
816
|
-
children: ne()
|
|
817
|
-
})]
|
|
818
|
-
}) : H !== void 0 && /* @__PURE__ */ (0, $.jsx)("iframe", {
|
|
819
|
-
ref: k,
|
|
820
|
-
title: C.title,
|
|
821
|
-
sandbox: "allow-scripts",
|
|
822
|
-
...J === void 0 ? { srcDoc: H } : { src: J },
|
|
823
|
-
onLoad: Y,
|
|
824
|
-
className: "min-h-0 flex-1 border-0 bg-background"
|
|
825
|
-
}, U),
|
|
826
|
-
q && R && /* @__PURE__ */ (0, $.jsx)(h, {
|
|
827
|
-
table: q,
|
|
828
|
-
recordKey: R.key,
|
|
829
|
-
onClose: () => z(null)
|
|
830
|
-
}, `${q.name}:${R.key}`)
|
|
831
|
-
]
|
|
832
|
-
});
|
|
833
|
-
}
|
|
834
|
-
//#endregion
|
|
835
|
-
export { fe as PageView };
|