@floegence/floe-webapp-core 0.86.32 → 0.86.34
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/dist/chat.css +31 -0
- package/dist/components/chat/blocks/HtmlPreviewCanvas.d.ts +16 -0
- package/dist/components/chat/blocks/HtmlPreviewCanvas.js +146 -0
- package/dist/components/chat/blocks/MarkdownMedia.d.ts +11 -0
- package/dist/components/chat/blocks/MarkdownMedia.js +280 -261
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -1,274 +1,294 @@
|
|
|
1
|
-
import { use as
|
|
2
|
-
import { createSignal as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
async
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { use as z, insert as h, createComponent as i, memo as E, effect as f, setAttribute as u, className as p, template as m, delegateEvents as ee } from "solid-js/web";
|
|
2
|
+
import { createSignal as S, onMount as te, onCleanup as j, createMemo as re, createEffect as ne, on as ae, Show as y, Switch as G, Match as _ } from "solid-js";
|
|
3
|
+
import { HtmlPreviewCanvas as le } from "./HtmlPreviewCanvas.js";
|
|
4
|
+
import { FloatingWindow as J } from "../../ui/FloatingWindow.js";
|
|
5
|
+
import { Refresh as ie, FolderOpen as oe, Eye as K, ExternalLink as ce } from "../../icons/index.js";
|
|
6
|
+
import { cn as se } from "../../../utils/cn.js";
|
|
7
|
+
import { safeMarkdownMediaURL as de } from "../markdown/media.js";
|
|
8
|
+
import { SandboxedHtmlFrame as Q } from "../../html-preview/SandboxedHtmlFrame.js";
|
|
9
|
+
var ue = /* @__PURE__ */ m("<div class=chat-media-preview-content><img referrerpolicy=no-referrer class=chat-media-full-image>"), ve = /* @__PURE__ */ m("<div class=chat-media-preview-content>"), he = /* @__PURE__ */ m("<span>"), me = /* @__PURE__ */ m("<span class=chat-media-placeholder role=status>"), ge = /* @__PURE__ */ m("<span class=chat-media-placeholder role=status><span></span><button type=button class=chat-media-retry>"), be = /* @__PURE__ */ m("<button type=button class=chat-media-image-button><img class=chat-media-image loading=lazy decoding=async referrerpolicy=no-referrer>", !0, !1, !1), we = /* @__PURE__ */ m("<video class=chat-media-video controls playsinline preload=metadata>"), fe = /* @__PURE__ */ m("<audio class=chat-media-audio controls preload=metadata>"), ke = /* @__PURE__ */ m("<span class=chat-media-viewport>"), X = /* @__PURE__ */ m("<button type=button class=chat-media-action>"), $e = /* @__PURE__ */ m("<button type=button class=chat-media-action data-chat-media-action=preview>"), ye = /* @__PURE__ */ m("<span class=chat-media-header><span class=chat-media-heading><span class=chat-media-kind></span><span class=chat-media-title></span></span><span class=chat-media-actions>"), Se = /* @__PURE__ */ m('<a class=chat-media-action target=_blank rel="noopener noreferrer">');
|
|
10
|
+
async function Le(e) {
|
|
11
|
+
const k = de(e.src ?? "");
|
|
12
|
+
if (!k || e.kind === "html") throw new Error("A host resolver is required");
|
|
12
13
|
return {
|
|
13
|
-
src:
|
|
14
|
-
openURL:
|
|
14
|
+
src: k,
|
|
15
|
+
openURL: k
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
|
-
const
|
|
18
|
-
let
|
|
19
|
-
const [
|
|
20
|
-
|
|
18
|
+
const Re = (e) => {
|
|
19
|
+
let k, O;
|
|
20
|
+
const [Y, I] = S(!1);
|
|
21
|
+
te(() => {
|
|
21
22
|
if (typeof IntersectionObserver > "u") {
|
|
22
|
-
|
|
23
|
+
I(!0);
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
|
-
const
|
|
26
|
-
|
|
26
|
+
const c = new IntersectionObserver((o) => {
|
|
27
|
+
o.some((r) => r.isIntersecting) && (I(!0), c.disconnect());
|
|
27
28
|
}, {
|
|
28
29
|
rootMargin: "400px"
|
|
29
30
|
});
|
|
30
|
-
|
|
31
|
+
c.observe(k), j(() => c.disconnect());
|
|
31
32
|
});
|
|
32
|
-
const [
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
const
|
|
42
|
-
return
|
|
43
|
-
},
|
|
44
|
-
linkUnavailable:
|
|
45
|
-
anchorUnavailable:
|
|
33
|
+
const [g, P] = S(), [T, C] = S(), [$, L] = S("loading"), [Z, A] = S(0), [R, H] = S(!1), [q, U] = S(!1), b = () => e.source.title || e.labels[e.source.kind], F = re(() => e.source), M = () => g()?.preview?.label || (e.source.kind === "image" ? e.labels.previewImage : e.labels.previewHTMLWindow ?? "Open preview window") || e.labels.open, B = (c) => {
|
|
34
|
+
O = c.currentTarget;
|
|
35
|
+
const o = g()?.preview;
|
|
36
|
+
o ? o.onSelect() : H(!0);
|
|
37
|
+
}, W = (c) => {
|
|
38
|
+
O = c?.currentTarget ?? k.querySelector('[aria-haspopup="menu"]') ?? void 0;
|
|
39
|
+
const o = g()?.preview;
|
|
40
|
+
o ? o.onSelect() : U(!0);
|
|
41
|
+
}, D = () => {
|
|
42
|
+
const c = e.onOpenLink, o = F();
|
|
43
|
+
return c ? (r, n) => c(o, r, n) : void 0;
|
|
44
|
+
}, N = () => ({
|
|
45
|
+
linkUnavailable: e.labels.linkUnavailable ?? "Opening links is unavailable in this preview.",
|
|
46
|
+
anchorUnavailable: e.labels.anchorUnavailable ?? "The linked section was not found."
|
|
46
47
|
});
|
|
47
|
-
return
|
|
48
|
-
if (!
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
return ne(ae([Y, F, () => e.resolve, Z, () => e.htmlState], ([c, o, r]) => {
|
|
49
|
+
if (!c) return;
|
|
50
|
+
const n = r ?? Le, t = new AbortController();
|
|
51
|
+
if (j(() => t.abort()), P(void 0), C(void 0), L("loading"), U(!1), o.kind !== "html" && H(!1), o.kind === "html" && e.htmlState) {
|
|
52
|
+
C(o.html);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
(async () => {
|
|
56
|
+
if (o.kind === "html" && o.html !== void 0) {
|
|
57
|
+
if (o.html.length > 1e6) throw new Error("HTML preview is too large");
|
|
58
|
+
t.signal.aborted || C(o.html);
|
|
54
59
|
} else {
|
|
55
|
-
const
|
|
56
|
-
if (
|
|
57
|
-
if (
|
|
58
|
-
if (!
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
} else if (!
|
|
64
|
-
|
|
60
|
+
const a = await n(o, t.signal);
|
|
61
|
+
if (t.signal.aborted) return;
|
|
62
|
+
if (o.kind === "html") {
|
|
63
|
+
if (!a.loadHTML) throw new Error("HTML loader is required");
|
|
64
|
+
const s = await a.loadHTML(t.signal);
|
|
65
|
+
if (t.signal.aborted) return;
|
|
66
|
+
if (s.length > 1e6) throw new Error("HTML preview is too large");
|
|
67
|
+
C(s);
|
|
68
|
+
} else if (!a.src) throw new Error("Media URL is required");
|
|
69
|
+
P(a);
|
|
65
70
|
}
|
|
66
|
-
|
|
71
|
+
t.signal.aborted || L("ready");
|
|
67
72
|
})().catch(() => {
|
|
68
|
-
|
|
73
|
+
t.signal.aborted || L("error");
|
|
69
74
|
});
|
|
70
75
|
})), (() => {
|
|
71
|
-
var
|
|
72
|
-
return typeof
|
|
76
|
+
var c = he(), o = k;
|
|
77
|
+
return typeof o == "function" ? z(o, c) : k = c, h(c, i(y, {
|
|
78
|
+
get when() {
|
|
79
|
+
return e.source.kind === "html";
|
|
80
|
+
},
|
|
81
|
+
get fallback() {
|
|
82
|
+
return [(() => {
|
|
83
|
+
var r = ke();
|
|
84
|
+
return h(r, i(G, {
|
|
85
|
+
get children() {
|
|
86
|
+
return [i(_, {
|
|
87
|
+
get when() {
|
|
88
|
+
return $() === "loading";
|
|
89
|
+
},
|
|
90
|
+
get children() {
|
|
91
|
+
var n = me();
|
|
92
|
+
return h(n, () => e.labels.loading), n;
|
|
93
|
+
}
|
|
94
|
+
}), i(_, {
|
|
95
|
+
get when() {
|
|
96
|
+
return $() === "error";
|
|
97
|
+
},
|
|
98
|
+
get children() {
|
|
99
|
+
var n = ge(), t = n.firstChild, a = t.nextSibling;
|
|
100
|
+
return h(t, () => e.labels.unavailable), a.$$click = () => A((s) => s + 1), h(a, i(ie, {}), null), h(a, () => e.labels.retry, null), n;
|
|
101
|
+
}
|
|
102
|
+
}), i(_, {
|
|
103
|
+
get when() {
|
|
104
|
+
return $() === "ready";
|
|
105
|
+
},
|
|
106
|
+
get children() {
|
|
107
|
+
return i(G, {
|
|
108
|
+
get children() {
|
|
109
|
+
return [i(_, {
|
|
110
|
+
get when() {
|
|
111
|
+
return e.source.kind === "image";
|
|
112
|
+
},
|
|
113
|
+
get children() {
|
|
114
|
+
var n = be(), t = n.firstChild;
|
|
115
|
+
return n.$$click = B, t.addEventListener("error", () => L("error")), f((a) => {
|
|
116
|
+
var s = `${M()}: ${b()}`, d = g()?.src, l = b();
|
|
117
|
+
return s !== a.e && u(n, "aria-label", a.e = s), d !== a.t && u(t, "src", a.t = d), l !== a.a && u(t, "alt", a.a = l), a;
|
|
118
|
+
}, {
|
|
119
|
+
e: void 0,
|
|
120
|
+
t: void 0,
|
|
121
|
+
a: void 0
|
|
122
|
+
}), n;
|
|
123
|
+
}
|
|
124
|
+
}), i(_, {
|
|
125
|
+
get when() {
|
|
126
|
+
return e.source.kind === "video";
|
|
127
|
+
},
|
|
128
|
+
get children() {
|
|
129
|
+
var n = we();
|
|
130
|
+
return n.addEventListener("error", () => L("error")), f((t) => {
|
|
131
|
+
var a = g()?.src, s = b();
|
|
132
|
+
return a !== t.e && u(n, "src", t.e = a), s !== t.t && u(n, "aria-label", t.t = s), t;
|
|
133
|
+
}, {
|
|
134
|
+
e: void 0,
|
|
135
|
+
t: void 0
|
|
136
|
+
}), n;
|
|
137
|
+
}
|
|
138
|
+
}), i(_, {
|
|
139
|
+
get when() {
|
|
140
|
+
return e.source.kind === "audio";
|
|
141
|
+
},
|
|
142
|
+
get children() {
|
|
143
|
+
var n = fe();
|
|
144
|
+
return n.addEventListener("error", () => L("error")), f((t) => {
|
|
145
|
+
var a = g()?.src, s = b();
|
|
146
|
+
return a !== t.e && u(n, "src", t.e = a), s !== t.t && u(n, "aria-label", t.t = s), t;
|
|
147
|
+
}, {
|
|
148
|
+
e: void 0,
|
|
149
|
+
t: void 0
|
|
150
|
+
}), n;
|
|
151
|
+
}
|
|
152
|
+
})];
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
})];
|
|
157
|
+
}
|
|
158
|
+
})), r;
|
|
159
|
+
})(), (() => {
|
|
160
|
+
var r = ye(), n = r.firstChild, t = n.firstChild, a = t.nextSibling, s = n.nextSibling;
|
|
161
|
+
return h(t, () => e.labels[e.source.kind]), h(a, b), h(s, i(y, {
|
|
162
|
+
get when() {
|
|
163
|
+
return E(() => $() === "ready")() && g()?.reveal;
|
|
164
|
+
},
|
|
165
|
+
children: (d) => (() => {
|
|
166
|
+
var l = X();
|
|
167
|
+
return l.$$click = () => d().onSelect(), h(l, i(oe, {})), f((v) => {
|
|
168
|
+
var w = d().label, x = d().label;
|
|
169
|
+
return w !== v.e && u(l, "aria-label", v.e = w), x !== v.t && u(l, "title", v.t = x), v;
|
|
170
|
+
}, {
|
|
171
|
+
e: void 0,
|
|
172
|
+
t: void 0
|
|
173
|
+
}), l;
|
|
174
|
+
})()
|
|
175
|
+
}), null), h(s, i(y, {
|
|
176
|
+
get when() {
|
|
177
|
+
return E(() => $() === "ready")() && e.source.kind === "image";
|
|
178
|
+
},
|
|
179
|
+
get children() {
|
|
180
|
+
var d = X();
|
|
181
|
+
return d.$$click = B, h(d, i(K, {})), f((l) => {
|
|
182
|
+
var v = M(), w = M();
|
|
183
|
+
return v !== l.e && u(d, "aria-label", l.e = v), w !== l.t && u(d, "title", l.t = w), l;
|
|
184
|
+
}, {
|
|
185
|
+
e: void 0,
|
|
186
|
+
t: void 0
|
|
187
|
+
}), d;
|
|
188
|
+
}
|
|
189
|
+
}), null), h(s, i(y, {
|
|
190
|
+
get when() {
|
|
191
|
+
return E(() => $() === "ready" && e.source.kind !== "image")() && g()?.preview;
|
|
192
|
+
},
|
|
193
|
+
get children() {
|
|
194
|
+
var d = $e();
|
|
195
|
+
return d.$$click = W, h(d, i(K, {})), f((l) => {
|
|
196
|
+
var v = M(), w = M();
|
|
197
|
+
return v !== l.e && u(d, "aria-label", l.e = v), w !== l.t && u(d, "title", l.t = w), l;
|
|
198
|
+
}, {
|
|
199
|
+
e: void 0,
|
|
200
|
+
t: void 0
|
|
201
|
+
}), d;
|
|
202
|
+
}
|
|
203
|
+
}), null), h(s, i(y, {
|
|
204
|
+
get when() {
|
|
205
|
+
return E(() => e.source.kind !== "image" && !g()?.reveal)() && g()?.openURL;
|
|
206
|
+
},
|
|
207
|
+
children: (d) => (() => {
|
|
208
|
+
var l = Se();
|
|
209
|
+
return h(l, i(ce, {})), f((v) => {
|
|
210
|
+
var w = d(), x = e.labels.open, V = e.labels.open;
|
|
211
|
+
return w !== v.e && u(l, "href", v.e = w), x !== v.t && u(l, "aria-label", v.t = x), V !== v.a && u(l, "title", v.a = V), v;
|
|
212
|
+
}, {
|
|
213
|
+
e: void 0,
|
|
214
|
+
t: void 0,
|
|
215
|
+
a: void 0
|
|
216
|
+
}), l;
|
|
217
|
+
})()
|
|
218
|
+
}), null), f(() => u(a, "title", b())), r;
|
|
219
|
+
})()];
|
|
220
|
+
},
|
|
73
221
|
get children() {
|
|
74
|
-
return
|
|
75
|
-
get
|
|
76
|
-
return $()
|
|
222
|
+
return i(le, {
|
|
223
|
+
get state() {
|
|
224
|
+
return e.htmlState ?? $();
|
|
77
225
|
},
|
|
78
|
-
get
|
|
79
|
-
|
|
80
|
-
return c(e, () => a.labels.loading), e;
|
|
81
|
-
}
|
|
82
|
-
}), n(S, {
|
|
83
|
-
get when() {
|
|
84
|
-
return $() === "error";
|
|
226
|
+
get html() {
|
|
227
|
+
return T() ?? e.source.html ?? "";
|
|
85
228
|
},
|
|
86
|
-
get
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
229
|
+
get labels() {
|
|
230
|
+
return e.labels;
|
|
231
|
+
},
|
|
232
|
+
get expanded() {
|
|
233
|
+
return R();
|
|
234
|
+
},
|
|
235
|
+
onExpand: () => H((r) => !r),
|
|
236
|
+
onRetry: () => A((r) => r + 1),
|
|
237
|
+
onPreview: () => W(),
|
|
238
|
+
get previewLabel() {
|
|
239
|
+
return M();
|
|
240
|
+
},
|
|
241
|
+
get resource() {
|
|
242
|
+
return g();
|
|
93
243
|
},
|
|
94
244
|
get children() {
|
|
95
|
-
return
|
|
245
|
+
return i(y, {
|
|
246
|
+
get when() {
|
|
247
|
+
return E(() => $() === "ready")() && !e.htmlState;
|
|
248
|
+
},
|
|
96
249
|
get children() {
|
|
97
|
-
return
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
get children() {
|
|
102
|
-
var e = ge(), t = e.firstChild;
|
|
103
|
-
return e.$$click = W, t.addEventListener("error", () => E("error")), g((r) => {
|
|
104
|
-
var l = `${C()}: ${v()}`, d = u()?.src, f = v();
|
|
105
|
-
return l !== r.e && i(e, "aria-label", r.e = l), d !== r.t && i(t, "src", r.t = d), f !== r.a && i(t, "alt", r.a = f), r;
|
|
106
|
-
}, {
|
|
107
|
-
e: void 0,
|
|
108
|
-
t: void 0,
|
|
109
|
-
a: void 0
|
|
110
|
-
}), e;
|
|
111
|
-
}
|
|
112
|
-
}), n(S, {
|
|
113
|
-
get when() {
|
|
114
|
-
return a.source.kind === "video";
|
|
250
|
+
return i(Q, {
|
|
251
|
+
class: "chat-media-html",
|
|
252
|
+
get title() {
|
|
253
|
+
return b();
|
|
115
254
|
},
|
|
116
|
-
get
|
|
117
|
-
|
|
118
|
-
return e.addEventListener("error", () => E("error")), g((t) => {
|
|
119
|
-
var r = u()?.src, l = v();
|
|
120
|
-
return r !== t.e && i(e, "src", t.e = r), l !== t.t && i(e, "aria-label", t.t = l), t;
|
|
121
|
-
}, {
|
|
122
|
-
e: void 0,
|
|
123
|
-
t: void 0
|
|
124
|
-
}), e;
|
|
125
|
-
}
|
|
126
|
-
}), n(S, {
|
|
127
|
-
get when() {
|
|
128
|
-
return a.source.kind === "audio";
|
|
255
|
+
get html() {
|
|
256
|
+
return T() ?? "";
|
|
129
257
|
},
|
|
130
|
-
get
|
|
131
|
-
|
|
132
|
-
return e.addEventListener("error", () => E("error")), g((t) => {
|
|
133
|
-
var r = u()?.src, l = v();
|
|
134
|
-
return r !== t.e && i(e, "src", t.e = r), l !== t.t && i(e, "aria-label", t.t = l), t;
|
|
135
|
-
}, {
|
|
136
|
-
e: void 0,
|
|
137
|
-
t: void 0
|
|
138
|
-
}), e;
|
|
139
|
-
}
|
|
140
|
-
}), n(S, {
|
|
141
|
-
get when() {
|
|
142
|
-
return a.source.kind === "html";
|
|
258
|
+
get labels() {
|
|
259
|
+
return N();
|
|
143
260
|
},
|
|
144
|
-
get
|
|
145
|
-
return
|
|
146
|
-
class: "chat-media-html",
|
|
147
|
-
get title() {
|
|
148
|
-
return v();
|
|
149
|
-
},
|
|
150
|
-
get html() {
|
|
151
|
-
return B() ?? "";
|
|
152
|
-
},
|
|
153
|
-
get labels() {
|
|
154
|
-
return D();
|
|
155
|
-
},
|
|
156
|
-
get onOpenLink() {
|
|
157
|
-
return q();
|
|
158
|
-
}
|
|
159
|
-
});
|
|
261
|
+
get onOpenLink() {
|
|
262
|
+
return D();
|
|
160
263
|
}
|
|
161
|
-
})
|
|
264
|
+
});
|
|
162
265
|
}
|
|
163
266
|
});
|
|
164
267
|
}
|
|
165
|
-
})
|
|
166
|
-
}
|
|
167
|
-
})), c(h, () => a.labels[a.source.kind]), c(x, v), c(w, n(k, {
|
|
168
|
-
get when() {
|
|
169
|
-
return T(() => $() === "ready")() && u()?.reveal;
|
|
170
|
-
},
|
|
171
|
-
children: (e) => (() => {
|
|
172
|
-
var t = I();
|
|
173
|
-
return t.$$click = () => e().onSelect(), c(t, n(oe, {})), g((r) => {
|
|
174
|
-
var l = e().label, d = e().label;
|
|
175
|
-
return l !== r.e && i(t, "aria-label", r.e = l), d !== r.t && i(t, "title", r.t = d), r;
|
|
176
|
-
}, {
|
|
177
|
-
e: void 0,
|
|
178
|
-
t: void 0
|
|
179
|
-
}), t;
|
|
180
|
-
})()
|
|
181
|
-
}), null), c(w, n(k, {
|
|
182
|
-
get when() {
|
|
183
|
-
return T(() => $() === "ready")() && a.source.kind === "image";
|
|
184
|
-
},
|
|
185
|
-
get children() {
|
|
186
|
-
var e = I();
|
|
187
|
-
return e.$$click = W, c(e, n(J, {})), g((t) => {
|
|
188
|
-
var r = C(), l = C();
|
|
189
|
-
return r !== t.e && i(e, "aria-label", t.e = r), l !== t.t && i(e, "title", t.t = l), t;
|
|
190
|
-
}, {
|
|
191
|
-
e: void 0,
|
|
192
|
-
t: void 0
|
|
193
|
-
}), e;
|
|
194
|
-
}
|
|
195
|
-
}), null), c(w, n(k, {
|
|
196
|
-
get when() {
|
|
197
|
-
return T(() => $() === "ready" && a.source.kind !== "image")() && (a.source.kind === "html" || u()?.preview);
|
|
198
|
-
},
|
|
199
|
-
get children() {
|
|
200
|
-
var e = fe();
|
|
201
|
-
return e.$$click = p, c(e, n(J, {})), g((t) => {
|
|
202
|
-
var r = C(), l = C();
|
|
203
|
-
return r !== t.e && i(e, "aria-label", t.e = r), l !== t.t && i(e, "title", t.t = l), t;
|
|
204
|
-
}, {
|
|
205
|
-
e: void 0,
|
|
206
|
-
t: void 0
|
|
207
|
-
}), e;
|
|
208
|
-
}
|
|
209
|
-
}), null), c(w, n(k, {
|
|
210
|
-
get when() {
|
|
211
|
-
return T(() => $() === "ready")() && a.source.kind === "html";
|
|
212
|
-
},
|
|
213
|
-
get children() {
|
|
214
|
-
var e = I();
|
|
215
|
-
return e.$$click = () => H(!b()), c(e, n(k, {
|
|
216
|
-
get when() {
|
|
217
|
-
return b();
|
|
218
|
-
},
|
|
219
|
-
get fallback() {
|
|
220
|
-
return n(se, {});
|
|
221
|
-
},
|
|
222
|
-
get children() {
|
|
223
|
-
return n(ce, {});
|
|
224
|
-
}
|
|
225
|
-
})), g((t) => {
|
|
226
|
-
var r = b() ? "collapse" : "expand", l = b() ? a.labels.collapse : a.labels.expand, d = b() ? a.labels.collapse : a.labels.expand, f = b();
|
|
227
|
-
return r !== t.e && i(e, "data-chat-media-action", t.e = r), l !== t.t && i(e, "aria-label", t.t = l), d !== t.a && i(e, "title", t.a = d), f !== t.o && i(e, "aria-expanded", t.o = f), t;
|
|
228
|
-
}, {
|
|
229
|
-
e: void 0,
|
|
230
|
-
t: void 0,
|
|
231
|
-
a: void 0,
|
|
232
|
-
o: void 0
|
|
233
|
-
}), e;
|
|
268
|
+
});
|
|
234
269
|
}
|
|
235
|
-
}), null), c
|
|
236
|
-
get when() {
|
|
237
|
-
return T(() => a.source.kind !== "image" && !u()?.reveal)() && u()?.openURL;
|
|
238
|
-
},
|
|
239
|
-
children: (e) => (() => {
|
|
240
|
-
var t = Le();
|
|
241
|
-
return c(t, n(de, {})), g((r) => {
|
|
242
|
-
var l = e(), d = a.labels.open, f = a.labels.open;
|
|
243
|
-
return l !== r.e && i(t, "href", r.e = l), d !== r.t && i(t, "aria-label", r.t = d), f !== r.a && i(t, "title", r.a = f), r;
|
|
244
|
-
}, {
|
|
245
|
-
e: void 0,
|
|
246
|
-
t: void 0,
|
|
247
|
-
a: void 0
|
|
248
|
-
}), t;
|
|
249
|
-
})()
|
|
250
|
-
}), null), c(o, n(k, {
|
|
270
|
+
}), null), h(c, i(y, {
|
|
251
271
|
get when() {
|
|
252
|
-
return
|
|
272
|
+
return e.source.kind === "image";
|
|
253
273
|
},
|
|
254
274
|
get children() {
|
|
255
|
-
return
|
|
275
|
+
return i(J, {
|
|
256
276
|
get open() {
|
|
257
|
-
return
|
|
277
|
+
return R();
|
|
258
278
|
},
|
|
259
|
-
onOpenChange: (
|
|
260
|
-
H(
|
|
279
|
+
onOpenChange: (r) => {
|
|
280
|
+
H(r), r || O?.focus({
|
|
261
281
|
preventScroll: !0
|
|
262
282
|
});
|
|
263
283
|
},
|
|
264
284
|
get title() {
|
|
265
|
-
return
|
|
285
|
+
return b();
|
|
266
286
|
},
|
|
267
287
|
get labels() {
|
|
268
288
|
return {
|
|
269
|
-
close:
|
|
270
|
-
maximize:
|
|
271
|
-
restore:
|
|
289
|
+
close: e.labels.close,
|
|
290
|
+
maximize: e.labels.expand,
|
|
291
|
+
restore: e.labels.collapse
|
|
272
292
|
};
|
|
273
293
|
},
|
|
274
294
|
defaultSize: {
|
|
@@ -282,41 +302,41 @@ const He = (a) => {
|
|
|
282
302
|
compactBelow: 640,
|
|
283
303
|
class: "chat-media-preview-window",
|
|
284
304
|
get children() {
|
|
285
|
-
var
|
|
286
|
-
return
|
|
305
|
+
var r = ue(), n = r.firstChild;
|
|
306
|
+
return z((t) => queueMicrotask(() => t.closest('[role="dialog"]')?.focus({
|
|
287
307
|
preventScroll: !0
|
|
288
|
-
})),
|
|
289
|
-
var
|
|
290
|
-
return
|
|
308
|
+
})), r), f((t) => {
|
|
309
|
+
var a = g()?.src, s = b();
|
|
310
|
+
return a !== t.e && u(n, "src", t.e = a), s !== t.t && u(n, "alt", t.t = s), t;
|
|
291
311
|
}, {
|
|
292
312
|
e: void 0,
|
|
293
313
|
t: void 0
|
|
294
|
-
}),
|
|
314
|
+
}), r;
|
|
295
315
|
}
|
|
296
316
|
});
|
|
297
317
|
}
|
|
298
|
-
}), null), c
|
|
318
|
+
}), null), h(c, i(y, {
|
|
299
319
|
get when() {
|
|
300
|
-
return
|
|
320
|
+
return e.source.kind === "html";
|
|
301
321
|
},
|
|
302
322
|
get children() {
|
|
303
|
-
return
|
|
323
|
+
return i(J, {
|
|
304
324
|
get open() {
|
|
305
|
-
return
|
|
325
|
+
return q();
|
|
306
326
|
},
|
|
307
|
-
onOpenChange: (
|
|
308
|
-
|
|
327
|
+
onOpenChange: (r) => {
|
|
328
|
+
U(r), r || O?.focus({
|
|
309
329
|
preventScroll: !0
|
|
310
330
|
});
|
|
311
331
|
},
|
|
312
332
|
get title() {
|
|
313
|
-
return
|
|
333
|
+
return b();
|
|
314
334
|
},
|
|
315
335
|
get labels() {
|
|
316
336
|
return {
|
|
317
|
-
close:
|
|
318
|
-
maximize:
|
|
319
|
-
restore:
|
|
337
|
+
close: e.labels.close,
|
|
338
|
+
maximize: e.labels.expand,
|
|
339
|
+
restore: e.labels.collapse
|
|
320
340
|
};
|
|
321
341
|
},
|
|
322
342
|
defaultSize: {
|
|
@@ -330,38 +350,37 @@ const He = (a) => {
|
|
|
330
350
|
compactBelow: 640,
|
|
331
351
|
class: "chat-media-preview-window",
|
|
332
352
|
get children() {
|
|
333
|
-
var
|
|
334
|
-
return
|
|
353
|
+
var r = ve();
|
|
354
|
+
return z((n) => queueMicrotask(() => n.closest('[role="dialog"]')?.focus({
|
|
335
355
|
preventScroll: !0
|
|
336
|
-
})),
|
|
356
|
+
})), r), h(r, i(Q, {
|
|
337
357
|
class: "chat-media-html",
|
|
338
358
|
get title() {
|
|
339
|
-
return
|
|
359
|
+
return b();
|
|
340
360
|
},
|
|
341
361
|
get html() {
|
|
342
|
-
return
|
|
362
|
+
return T() ?? "";
|
|
343
363
|
},
|
|
344
364
|
get labels() {
|
|
345
|
-
return
|
|
365
|
+
return N();
|
|
346
366
|
},
|
|
347
367
|
get onOpenLink() {
|
|
348
|
-
return
|
|
368
|
+
return D();
|
|
349
369
|
}
|
|
350
|
-
})),
|
|
370
|
+
})), r;
|
|
351
371
|
}
|
|
352
372
|
});
|
|
353
373
|
}
|
|
354
|
-
}), null),
|
|
355
|
-
var
|
|
356
|
-
return
|
|
374
|
+
}), null), f((r) => {
|
|
375
|
+
var n = se("chat-media", R() && e.source.kind === "html" && "chat-media-expanded", e.class), t = e.source.kind;
|
|
376
|
+
return n !== r.e && p(c, r.e = n), t !== r.t && u(c, "data-media-kind", r.t = t), r;
|
|
357
377
|
}, {
|
|
358
378
|
e: void 0,
|
|
359
|
-
t: void 0
|
|
360
|
-
|
|
361
|
-
}), o;
|
|
379
|
+
t: void 0
|
|
380
|
+
}), c;
|
|
362
381
|
})();
|
|
363
382
|
};
|
|
364
|
-
|
|
383
|
+
ee(["click"]);
|
|
365
384
|
export {
|
|
366
|
-
|
|
385
|
+
Re as MarkdownMedia
|
|
367
386
|
};
|