@wix/web5-embed 0.1.8 → 0.1.10
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/index.cjs +7 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +211 -165
- package/dist/index.js.map +1 -1
- package/dist/loader-types.d.ts +12 -0
- package/dist/shared.d.ts +9 -0
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const p = "__web5InputFocusShortcut__", N = 'input, textarea, [contenteditable=""], [contenteditable="true"]', x = '[role="dialog"][aria-modal="true"]';
|
|
2
2
|
function F(e) {
|
|
3
3
|
if (e.hasAttribute("inert")) return !1;
|
|
4
4
|
if (typeof e.checkVisibility == "function")
|
|
@@ -9,54 +9,54 @@ function F(e) {
|
|
|
9
9
|
const t = getComputedStyle(e);
|
|
10
10
|
return !(t.visibility === "hidden" || t.display === "none" || parseFloat(t.opacity) === 0);
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
function O(e) {
|
|
13
13
|
const t = e.composedPath();
|
|
14
14
|
for (const n of t)
|
|
15
|
-
if (n instanceof Element && typeof n.matches == "function" && n.matches(
|
|
15
|
+
if (n instanceof Element && typeof n.matches == "function" && n.matches(N))
|
|
16
16
|
return !0;
|
|
17
17
|
return !1;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function ce() {
|
|
20
20
|
const e = window;
|
|
21
|
-
if (e[
|
|
21
|
+
if (e[p]) return e[p];
|
|
22
22
|
const t = [];
|
|
23
23
|
let n = !1;
|
|
24
|
-
const r = (
|
|
25
|
-
if (
|
|
26
|
-
const c =
|
|
27
|
-
if (!c && !u || c &&
|
|
28
|
-
const
|
|
29
|
-
for (const
|
|
30
|
-
if (F(
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
33
|
-
|
|
24
|
+
const r = (o) => {
|
|
25
|
+
if (o.defaultPrevented || o.isComposing) return;
|
|
26
|
+
const c = o.key === "/" && !o.metaKey && !o.ctrlKey && !o.altKey && !o.shiftKey, u = (o.metaKey || o.ctrlKey) && !o.altKey && o.key.toLowerCase() === "k";
|
|
27
|
+
if (!c && !u || c && O(o)) return;
|
|
28
|
+
const f = document.querySelectorAll(x);
|
|
29
|
+
for (const w of f)
|
|
30
|
+
if (F(w)) return;
|
|
31
|
+
const l = t.find((w) => w.isVisible());
|
|
32
|
+
if (!l) return;
|
|
33
|
+
o.preventDefault();
|
|
34
34
|
const h = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
35
|
-
|
|
36
|
-
},
|
|
35
|
+
l.focus(h);
|
|
36
|
+
}, i = () => {
|
|
37
37
|
n || (window.addEventListener("keydown", r), n = !0);
|
|
38
38
|
}, s = () => {
|
|
39
39
|
!n || t.length > 0 || (window.removeEventListener("keydown", r), n = !1);
|
|
40
40
|
}, a = {
|
|
41
|
-
register(
|
|
42
|
-
t.includes(
|
|
41
|
+
register(o) {
|
|
42
|
+
t.includes(o) || t.push(o), i();
|
|
43
43
|
},
|
|
44
|
-
unregister(
|
|
45
|
-
const c = t.indexOf(
|
|
44
|
+
unregister(o) {
|
|
45
|
+
const c = t.indexOf(o);
|
|
46
46
|
c >= 0 && t.splice(c, 1), s();
|
|
47
47
|
},
|
|
48
48
|
__teardown() {
|
|
49
49
|
t.length = 0, n && (window.removeEventListener("keydown", r), n = !1);
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
return e[
|
|
52
|
+
return e[p] = a, a;
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function ue() {
|
|
55
55
|
const e = window;
|
|
56
|
-
e[
|
|
56
|
+
e[p]?.__teardown(), delete e[p];
|
|
57
57
|
}
|
|
58
|
-
const
|
|
59
|
-
async function
|
|
58
|
+
const P = "https://www.wixapis.com/web50-server/static-versions", I = "__web5_static_versions";
|
|
59
|
+
async function H(e = P) {
|
|
60
60
|
const t = await fetch(e, {
|
|
61
61
|
method: "GET",
|
|
62
62
|
headers: { Accept: "application/json" },
|
|
@@ -67,7 +67,7 @@ async function O(e = H) {
|
|
|
67
67
|
throw new Error(`[Web5Embed] static-versions returned ${t.status}`);
|
|
68
68
|
return t.json();
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function T(e, t) {
|
|
71
71
|
const n = e.find((r) => r.artifactId === t);
|
|
72
72
|
if (!n)
|
|
73
73
|
throw new Error(
|
|
@@ -75,33 +75,33 @@ function v(e, t) {
|
|
|
75
75
|
);
|
|
76
76
|
return n.version;
|
|
77
77
|
}
|
|
78
|
-
function
|
|
79
|
-
return window[
|
|
78
|
+
function U() {
|
|
79
|
+
return window[I];
|
|
80
80
|
}
|
|
81
|
-
function
|
|
82
|
-
window[
|
|
81
|
+
function R(e) {
|
|
82
|
+
window[I] = e;
|
|
83
83
|
}
|
|
84
|
-
const
|
|
84
|
+
const V = {
|
|
85
85
|
staticVersionsUrl: "https://www.wixapis.com/web50-server/static-versions",
|
|
86
86
|
tokensCdnBase: "https://static.parastorage.com/services/web50-server-ui",
|
|
87
87
|
tokensArtifactId: "com.wixpress.web50-server-ui",
|
|
88
88
|
tokensFileName: "prompt-input-tokens.css",
|
|
89
89
|
fallbackVersion: "1.459.0"
|
|
90
90
|
};
|
|
91
|
-
function
|
|
92
|
-
return { ...
|
|
91
|
+
function A(e) {
|
|
92
|
+
return { ...V, ...e ?? {} };
|
|
93
93
|
}
|
|
94
|
-
function
|
|
95
|
-
const { tokensCdnBase: n, tokensFileName: r } =
|
|
94
|
+
function D(e, t) {
|
|
95
|
+
const { tokensCdnBase: n, tokensFileName: r } = A(t);
|
|
96
96
|
return `${n}/${e}/${r}`;
|
|
97
97
|
}
|
|
98
|
-
async function
|
|
99
|
-
const t =
|
|
98
|
+
async function B(e) {
|
|
99
|
+
const t = A(e);
|
|
100
100
|
try {
|
|
101
|
-
const n =
|
|
102
|
-
if (n) return
|
|
103
|
-
const r = await
|
|
104
|
-
return
|
|
101
|
+
const n = U();
|
|
102
|
+
if (n) return T(n, t.tokensArtifactId);
|
|
103
|
+
const r = await H(t.staticVersionsUrl);
|
|
104
|
+
return R(r), T(r, t.tokensArtifactId);
|
|
105
105
|
} catch (n) {
|
|
106
106
|
return console.warn(
|
|
107
107
|
"[Web5Embed] Failed to resolve prompt token version, using fallback:",
|
|
@@ -109,80 +109,126 @@ async function V(e) {
|
|
|
109
109
|
), t.fallbackVersion;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
async function
|
|
113
|
-
const t = await
|
|
114
|
-
return
|
|
112
|
+
async function $(e) {
|
|
113
|
+
const t = await B(e);
|
|
114
|
+
return D(t, e);
|
|
115
115
|
}
|
|
116
|
-
async function
|
|
116
|
+
async function le(e, t) {
|
|
117
117
|
if (e.querySelector(
|
|
118
118
|
'link[data-web5-prompt-input-tokens="true"]'
|
|
119
119
|
)) return;
|
|
120
120
|
const r = document.createElement("link");
|
|
121
|
-
r.rel = "stylesheet", r.dataset.web5PromptInputTokens = "true", r.href = await
|
|
121
|
+
r.rel = "stylesheet", r.dataset.web5PromptInputTokens = "true", r.href = await $(t), e.prepend(r);
|
|
122
122
|
}
|
|
123
|
-
const
|
|
123
|
+
const de = `
|
|
124
124
|
<svg class="web5-submit-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" aria-hidden="true">
|
|
125
125
|
<path d="M13.0306 7.53114C12.9609 7.60106 12.8781 7.65654 12.787 7.69439C12.6958 7.73224 12.5981 7.75173 12.4993 7.75173C12.4006 7.75173 12.3029 7.73224 12.2117 7.69439C12.1206 7.65654 12.0378 7.60106 11.9681 7.53114L8.74997 4.31301V13.5005C8.74997 13.6994 8.67095 13.8902 8.5303 14.0308C8.38965 14.1715 8.19888 14.2505 7.99997 14.2505C7.80106 14.2505 7.61029 14.1715 7.46964 14.0308C7.32899 13.8902 7.24997 13.6994 7.24997 13.5005V4.31301L4.0306 7.53114C3.8897 7.67203 3.69861 7.75119 3.49935 7.75119C3.30009 7.75119 3.10899 7.67203 2.9681 7.53114C2.8272 7.39024 2.74805 7.19915 2.74805 6.99989C2.74805 6.80063 2.8272 6.60953 2.9681 6.46864L7.4681 1.96864C7.53778 1.89872 7.62057 1.84324 7.71173 1.80539C7.8029 1.76753 7.90064 1.74805 7.99935 1.74805C8.09806 1.74805 8.1958 1.76753 8.28696 1.80539C8.37813 1.84324 8.46092 1.89872 8.5306 1.96864L13.0306 6.46864C13.1005 6.53832 13.156 6.62111 13.1938 6.71227C13.2317 6.80344 13.2512 6.90118 13.2512 6.99989C13.2512 7.0986 13.2317 7.19634 13.1938 7.2875C13.156 7.37867 13.1005 7.46146 13.0306 7.53114Z" fill="currentColor" />
|
|
126
126
|
</svg>
|
|
127
127
|
`;
|
|
128
|
-
function
|
|
128
|
+
function W(e) {
|
|
129
129
|
return `${e}?initialQuestion=`;
|
|
130
130
|
}
|
|
131
|
-
function
|
|
131
|
+
function fe(e) {
|
|
132
132
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
133
133
|
}
|
|
134
|
-
const
|
|
135
|
-
|
|
134
|
+
const K = "https://www.wixapis.com/page-enrichment/v1/page-meta-data/chips", S = 5e3, q = "https://www.wixapis.com/wix-assistant-web5/v1/turn", j = "https://www.wixapis.com/web50-turn-agent/v1/visitor/placements", J = "turnEngine", G = "web5_turn_engine";
|
|
135
|
+
function Y() {
|
|
136
|
+
const e = (t) => t === "classic" || t === "agent";
|
|
137
|
+
try {
|
|
138
|
+
const t = new URLSearchParams(window.location.search).get(
|
|
139
|
+
J
|
|
140
|
+
);
|
|
141
|
+
if (e(t)) return t === "agent";
|
|
142
|
+
} catch {
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
const t = localStorage.getItem(G);
|
|
146
|
+
if (e(t)) return t === "agent";
|
|
147
|
+
} catch {
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
return window.__web5Loader__?.turnEngine === "agent";
|
|
151
|
+
} catch {
|
|
152
|
+
return !1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const v = "pdpChips";
|
|
156
|
+
async function we(e, t) {
|
|
136
157
|
if (t.conversation?.web5Id)
|
|
137
|
-
return
|
|
158
|
+
return X({
|
|
138
159
|
...t.conversation,
|
|
139
160
|
timeoutMs: t.timeoutMs,
|
|
140
161
|
fetchImpl: t.fetchImpl
|
|
141
162
|
});
|
|
142
|
-
const n = t.endpoint ??
|
|
163
|
+
const n = t.endpoint ?? K, r = t.timeoutMs ?? S, i = k(t.fetchImpl), s = new AbortController(), a = setTimeout(() => s.abort(), r);
|
|
143
164
|
try {
|
|
144
|
-
const
|
|
165
|
+
const o = await i(
|
|
145
166
|
`${n}?url=${encodeURIComponent(e)}&sessionId=${encodeURIComponent(
|
|
146
167
|
t.sessionId
|
|
147
168
|
)}`,
|
|
148
169
|
{ signal: s.signal }
|
|
149
170
|
);
|
|
150
|
-
if (!
|
|
151
|
-
throw new Error(`HTTP ${
|
|
152
|
-
return (await
|
|
171
|
+
if (!o.ok)
|
|
172
|
+
throw new Error(`HTTP ${o.status}`);
|
|
173
|
+
return (await o.json()).chips?.map((u) => u.label).filter(Boolean) ?? [];
|
|
153
174
|
} finally {
|
|
154
175
|
clearTimeout(a);
|
|
155
176
|
}
|
|
156
177
|
}
|
|
157
|
-
async function
|
|
158
|
-
const t = e.endpoint ??
|
|
178
|
+
async function X(e) {
|
|
179
|
+
const t = Y(), n = e.endpoint ?? (t ? j : q), r = e.timeoutMs ?? S, i = k(e.fetchImpl), s = new AbortController(), a = setTimeout(() => s.abort(), r);
|
|
159
180
|
try {
|
|
160
|
-
const
|
|
181
|
+
const o = e.handle ? { handle: e.handle } : void 0, c = {
|
|
182
|
+
...e.sessionId ? { sessionId: e.sessionId } : {},
|
|
183
|
+
...e.web5Id ? { parentMessageId: e.web5Id } : {},
|
|
184
|
+
placement: v,
|
|
185
|
+
...o ? { additionalData: o } : {}
|
|
186
|
+
}, u = {
|
|
187
|
+
placement: v,
|
|
161
188
|
...e.sessionId ? { sessionId: e.sessionId } : {},
|
|
162
189
|
...e.web5Id ? { parentMessageId: e.web5Id } : {},
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}, c = await r(t, {
|
|
190
|
+
...e.handle ? { handle: e.handle } : {}
|
|
191
|
+
}, f = await i(n, {
|
|
166
192
|
method: "POST",
|
|
167
193
|
headers: {
|
|
168
194
|
"Content-Type": "application/json",
|
|
169
195
|
Accept: "text/event-stream"
|
|
170
196
|
},
|
|
171
|
-
body: JSON.stringify(
|
|
172
|
-
signal:
|
|
197
|
+
body: JSON.stringify(t ? u : c),
|
|
198
|
+
signal: s.signal
|
|
173
199
|
});
|
|
174
|
-
if (!
|
|
175
|
-
throw new Error(`HTTP ${
|
|
176
|
-
|
|
177
|
-
|
|
200
|
+
if (!f.ok)
|
|
201
|
+
throw new Error(`HTTP ${f.status}`);
|
|
202
|
+
if (t)
|
|
203
|
+
return _(Q(await f.text()));
|
|
204
|
+
const l = await f.text();
|
|
205
|
+
return _(z(l));
|
|
178
206
|
} finally {
|
|
179
|
-
clearTimeout(
|
|
207
|
+
clearTimeout(a);
|
|
180
208
|
}
|
|
181
209
|
}
|
|
182
|
-
function
|
|
210
|
+
function k(e) {
|
|
183
211
|
return e || (typeof window < "u" ? fetch.bind(window) : fetch);
|
|
184
212
|
}
|
|
185
|
-
function
|
|
213
|
+
function Q(e) {
|
|
214
|
+
for (const t of e.replace(/\r\n?/g, `
|
|
215
|
+
`).split(`
|
|
216
|
+
|
|
217
|
+
`)) {
|
|
218
|
+
const n = t.split(`
|
|
219
|
+
`).filter((r) => r.startsWith("data:")).map((r) => r.slice(5).replace(/^ /, "")).join(`
|
|
220
|
+
`);
|
|
221
|
+
if (n)
|
|
222
|
+
try {
|
|
223
|
+
const r = JSON.parse(n);
|
|
224
|
+
if (r.type === "completed" && typeof r.markdown == "string")
|
|
225
|
+
return r.markdown;
|
|
226
|
+
} catch {
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return "";
|
|
230
|
+
}
|
|
231
|
+
function z(e) {
|
|
186
232
|
let t = e.trim();
|
|
187
233
|
if (!t) return "";
|
|
188
234
|
t.endsWith(",") && (t = t.slice(0, -1)), t.startsWith("[") || (t = `[${t}`), t.endsWith("]") || (t += "]");
|
|
@@ -190,14 +236,14 @@ function j(e) {
|
|
|
190
236
|
const n = JSON.parse(t);
|
|
191
237
|
if (!Array.isArray(n)) return "";
|
|
192
238
|
const r = n.find(
|
|
193
|
-
(
|
|
239
|
+
(i) => typeof i?.completed?.markdown == "string"
|
|
194
240
|
)?.completed?.markdown;
|
|
195
|
-
return r || n.map((
|
|
241
|
+
return r || n.map((i) => typeof i?.markdown == "string" ? i.markdown : "").join("");
|
|
196
242
|
} catch {
|
|
197
243
|
return "";
|
|
198
244
|
}
|
|
199
245
|
}
|
|
200
|
-
function
|
|
246
|
+
function _(e) {
|
|
201
247
|
const t = e.trim().replace(/^```(?:json)?\s*/i, "").replace(/\s*```$/, "").trim();
|
|
202
248
|
if (!t) return [];
|
|
203
249
|
try {
|
|
@@ -206,7 +252,7 @@ function J(e) {
|
|
|
206
252
|
return [];
|
|
207
253
|
}
|
|
208
254
|
}
|
|
209
|
-
function
|
|
255
|
+
function me(e) {
|
|
210
256
|
if (e instanceof HTMLElement) return e;
|
|
211
257
|
if (typeof e == "string") {
|
|
212
258
|
const r = document.querySelector(e);
|
|
@@ -217,43 +263,43 @@ function ue(e) {
|
|
|
217
263
|
const t = document.currentScript, n = document.createElement("div");
|
|
218
264
|
return t?.parentElement ? t.parentElement.insertBefore(n, t) : document.body.appendChild(n), n;
|
|
219
265
|
}
|
|
220
|
-
function
|
|
266
|
+
function pe(e) {
|
|
221
267
|
return e ? new URLSearchParams(window.location.search).has(e) : !0;
|
|
222
268
|
}
|
|
223
|
-
function
|
|
269
|
+
function he(e, t = []) {
|
|
224
270
|
return !(Array.isArray(e) ? e : e != null ? [e] : t).includes(window.location.pathname);
|
|
225
271
|
}
|
|
226
|
-
function
|
|
272
|
+
function Z(e) {
|
|
227
273
|
if (!e) return {};
|
|
228
274
|
const t = {}, n = e.getAttribute("data-target");
|
|
229
275
|
n && (t.target = n);
|
|
230
276
|
const r = e.getAttribute("data-placeholder");
|
|
231
277
|
r && (t.placeholder = r);
|
|
232
|
-
const
|
|
233
|
-
|
|
278
|
+
const i = e.getAttribute("data-base-url");
|
|
279
|
+
i && (t.baseUrl = i);
|
|
234
280
|
const s = e.getAttribute("data-require-param");
|
|
235
281
|
s && (t.requireParam = s);
|
|
236
282
|
const a = e.getAttribute("data-suggestions");
|
|
237
283
|
if (a)
|
|
238
284
|
try {
|
|
239
|
-
const
|
|
240
|
-
Array.isArray(
|
|
285
|
+
const o = JSON.parse(a);
|
|
286
|
+
Array.isArray(o) && o.length && (t.suggestions = o);
|
|
241
287
|
} catch {
|
|
242
288
|
console.warn("[Web5Embed] Invalid data-suggestions JSON, ignoring.");
|
|
243
289
|
}
|
|
244
290
|
return t;
|
|
245
291
|
}
|
|
246
|
-
function
|
|
247
|
-
const t =
|
|
292
|
+
function ge(e) {
|
|
293
|
+
const t = Z(e);
|
|
248
294
|
if (!e) return t;
|
|
249
295
|
const n = e.getAttribute("data-visibility-mode");
|
|
250
296
|
(n === "always" || n === "after-target") && (t.visibilityMode = n);
|
|
251
297
|
const r = e.getAttribute("data-show-after-target");
|
|
252
298
|
r && (t.showAfterTarget = r);
|
|
253
|
-
const
|
|
254
|
-
return
|
|
299
|
+
const i = e.getAttribute("data-exclude-paths");
|
|
300
|
+
return i && (t.excludePaths = i.includes(",") ? i.split(",").map((s) => s.trim()) : i), t;
|
|
255
301
|
}
|
|
256
|
-
function
|
|
302
|
+
function be(e) {
|
|
257
303
|
if (typeof window > "u") return;
|
|
258
304
|
const t = window.__web5Loader__;
|
|
259
305
|
if (!t) {
|
|
@@ -265,18 +311,18 @@ function we(e) {
|
|
|
265
311
|
const n = async (r) => e.mount(r, e.parseOptions(r.options));
|
|
266
312
|
t.register(e.widgetId, n);
|
|
267
313
|
}
|
|
268
|
-
function
|
|
314
|
+
function ye(e) {
|
|
269
315
|
return (t, n) => {
|
|
270
316
|
const r = n.variant;
|
|
271
317
|
if (!r || r === "default")
|
|
272
318
|
return e.default(t, n);
|
|
273
|
-
const
|
|
274
|
-
return
|
|
319
|
+
const i = e.variants?.[r];
|
|
320
|
+
return i ? i(t, n) : (console.warn(
|
|
275
321
|
`[Web5Embed] unknown variant "${r}" — falling back to default`
|
|
276
322
|
), e.default(t, n));
|
|
277
323
|
};
|
|
278
324
|
}
|
|
279
|
-
function
|
|
325
|
+
function Ee(e) {
|
|
280
326
|
const t = (n) => e?.[n];
|
|
281
327
|
return {
|
|
282
328
|
isEnabled: (n) => {
|
|
@@ -286,21 +332,21 @@ function pe(e) {
|
|
|
286
332
|
get: t
|
|
287
333
|
};
|
|
288
334
|
}
|
|
289
|
-
function
|
|
335
|
+
function Ce(e) {
|
|
290
336
|
const {
|
|
291
337
|
input: t,
|
|
292
338
|
wrapper: n,
|
|
293
339
|
multilineClass: r,
|
|
294
|
-
maxHeightPx:
|
|
340
|
+
maxHeightPx: i,
|
|
295
341
|
multilineThresholdMultiplier: s = 1,
|
|
296
342
|
fallbackLineHeightPx: a = 32
|
|
297
343
|
} = e;
|
|
298
344
|
return {
|
|
299
345
|
sync() {
|
|
300
346
|
if (!n) return;
|
|
301
|
-
const
|
|
347
|
+
const o = window.getComputedStyle(t), c = Number.parseFloat(o.lineHeight) || a;
|
|
302
348
|
t.style.height = "auto";
|
|
303
|
-
const u = t.value.trim().length === 0 ? c : Math.min(Math.max(t.scrollHeight, c),
|
|
349
|
+
const u = t.value.trim().length === 0 ? c : Math.min(Math.max(t.scrollHeight, c), i);
|
|
304
350
|
t.style.height = `${u}px`, n.classList.toggle(
|
|
305
351
|
r,
|
|
306
352
|
u > c * s
|
|
@@ -308,17 +354,17 @@ function he(e) {
|
|
|
308
354
|
}
|
|
309
355
|
};
|
|
310
356
|
}
|
|
311
|
-
const
|
|
312
|
-
function
|
|
313
|
-
const t = e.thresholdPx ??
|
|
357
|
+
const ee = 400;
|
|
358
|
+
function Te(e = {}) {
|
|
359
|
+
const t = e.thresholdPx ?? ee;
|
|
314
360
|
let n = !1;
|
|
315
361
|
function r() {
|
|
316
|
-
const
|
|
317
|
-
return
|
|
362
|
+
const i = document.documentElement, s = window.scrollY || i.scrollTop || 0, a = s + window.innerHeight, o = i.scrollHeight - a;
|
|
363
|
+
return i.scrollHeight > window.innerHeight + t && s > 0 && o <= t;
|
|
318
364
|
}
|
|
319
365
|
return {
|
|
320
|
-
evaluate(
|
|
321
|
-
return !
|
|
366
|
+
evaluate(i) {
|
|
367
|
+
return !i.isCoordinatorVisible() || !r() ? (n = !1, !1) : i.hasFocusInside() || n ? i.isCollapsed() : !0;
|
|
322
368
|
},
|
|
323
369
|
markManuallyExpanded() {
|
|
324
370
|
n = !0;
|
|
@@ -328,19 +374,19 @@ function ge(e = {}) {
|
|
|
328
374
|
}
|
|
329
375
|
};
|
|
330
376
|
}
|
|
331
|
-
function
|
|
377
|
+
function ve(e) {
|
|
332
378
|
if (!e.baseUrl)
|
|
333
379
|
throw new Error(
|
|
334
380
|
"[Web5Embed] createSubmitFlow requires a non-empty baseUrl."
|
|
335
381
|
);
|
|
336
|
-
const t =
|
|
382
|
+
const t = W(e.baseUrl), n = e.windowTarget ?? "_self";
|
|
337
383
|
return {
|
|
338
384
|
open(r) {
|
|
339
385
|
return window.open(t + encodeURIComponent(r), n), !0;
|
|
340
386
|
}
|
|
341
387
|
};
|
|
342
388
|
}
|
|
343
|
-
const
|
|
389
|
+
const te = 100, ne = 0.5, re = 250, oe = 10, ie = 60, se = "--web5-host-bottom-inset";
|
|
344
390
|
function y() {
|
|
345
391
|
if (typeof document > "u" || typeof window > "u")
|
|
346
392
|
return [];
|
|
@@ -350,106 +396,106 @@ function y() {
|
|
|
350
396
|
(n === "fixed" || n === "sticky") && e.push(t);
|
|
351
397
|
}), e;
|
|
352
398
|
}
|
|
353
|
-
function
|
|
399
|
+
function ae(e, t) {
|
|
354
400
|
if (typeof document > "u" || typeof window > "u")
|
|
355
401
|
return 0;
|
|
356
402
|
const n = t ?? y(), r = window.innerWidth / 2;
|
|
357
|
-
let
|
|
403
|
+
let i = 0;
|
|
358
404
|
for (const s of n) {
|
|
359
405
|
if (e != null && (e.contains(s) || s.contains(e)))
|
|
360
406
|
continue;
|
|
361
407
|
const a = window.getComputedStyle(s);
|
|
362
408
|
if (a.position !== "fixed" && a.position !== "sticky" || a.visibility === "hidden" || a.bottom === "auto")
|
|
363
409
|
continue;
|
|
364
|
-
const
|
|
365
|
-
if (!Number.isFinite(
|
|
410
|
+
const o = Number.parseFloat(a.bottom);
|
|
411
|
+
if (!Number.isFinite(o) || o > te)
|
|
366
412
|
continue;
|
|
367
413
|
const c = s.getBoundingClientRect();
|
|
368
414
|
if (c.height <= 0 || c.left > r || c.right < r)
|
|
369
415
|
continue;
|
|
370
416
|
const u = window.innerHeight - c.top;
|
|
371
|
-
u <= 0 || u > window.innerHeight *
|
|
417
|
+
u <= 0 || u > window.innerHeight * ne || (i = Math.max(i, u));
|
|
372
418
|
}
|
|
373
|
-
return Math.round(
|
|
419
|
+
return Math.round(i);
|
|
374
420
|
}
|
|
375
|
-
function
|
|
421
|
+
function _e(e, t = {}) {
|
|
376
422
|
if (typeof window > "u")
|
|
377
423
|
return () => {
|
|
378
424
|
};
|
|
379
425
|
const n = t.exclude === void 0 ? e : t.exclude;
|
|
380
|
-
let r = y(),
|
|
426
|
+
let r = y(), i = null, s = 0, a = !1, o = 0, c = 0, u = 0, f = 0, l = !1;
|
|
381
427
|
const h = () => {
|
|
382
|
-
const
|
|
383
|
-
return
|
|
384
|
-
},
|
|
385
|
-
if (s = 0,
|
|
428
|
+
const d = ae(n, r);
|
|
429
|
+
return d === i ? !1 : (i = d, e.style.setProperty(se, `${d}px`), !0);
|
|
430
|
+
}, w = () => {
|
|
431
|
+
if (s = 0, l) {
|
|
386
432
|
a = !1;
|
|
387
433
|
return;
|
|
388
434
|
}
|
|
389
|
-
if (
|
|
435
|
+
if (o = h() ? 0 : o + 1, c -= 1, o >= oe || c <= 0) {
|
|
390
436
|
a = !1;
|
|
391
437
|
return;
|
|
392
438
|
}
|
|
393
|
-
s = window.requestAnimationFrame(
|
|
439
|
+
s = window.requestAnimationFrame(w);
|
|
394
440
|
}, g = () => {
|
|
395
|
-
|
|
441
|
+
l || (o = 0, c = ie, !a && (a = !0, s = window.requestAnimationFrame(w)));
|
|
396
442
|
}, E = () => {
|
|
397
|
-
u = 0, !
|
|
398
|
-
},
|
|
399
|
-
if (
|
|
443
|
+
u = 0, !l && (f = Date.now(), r = y(), g());
|
|
444
|
+
}, L = () => {
|
|
445
|
+
if (l || u !== 0)
|
|
400
446
|
return;
|
|
401
|
-
const
|
|
402
|
-
if (
|
|
447
|
+
const d = re - (Date.now() - f);
|
|
448
|
+
if (d <= 0) {
|
|
403
449
|
E();
|
|
404
450
|
return;
|
|
405
451
|
}
|
|
406
|
-
u = window.setTimeout(E,
|
|
407
|
-
},
|
|
408
|
-
g(),
|
|
452
|
+
u = window.setTimeout(E, d);
|
|
453
|
+
}, m = () => {
|
|
454
|
+
g(), L();
|
|
409
455
|
};
|
|
410
|
-
h(), g(), window.addEventListener("resize",
|
|
411
|
-
const
|
|
456
|
+
h(), g(), window.addEventListener("resize", m, { passive: !0 }), window.addEventListener("orientationchange", m, { passive: !0 });
|
|
457
|
+
const M = (d) => n != null && d.every((C) => C.target instanceof Node && n.contains(C.target));
|
|
412
458
|
let b;
|
|
413
|
-
return typeof MutationObserver < "u" && document.body != null && (b = new MutationObserver((
|
|
414
|
-
|
|
459
|
+
return typeof MutationObserver < "u" && document.body != null && (b = new MutationObserver((d) => {
|
|
460
|
+
M(d) || m();
|
|
415
461
|
}), b.observe(document.body, {
|
|
416
462
|
childList: !0,
|
|
417
463
|
subtree: !0,
|
|
418
464
|
attributes: !0
|
|
419
465
|
})), () => {
|
|
420
|
-
|
|
466
|
+
l = !0, a && (window.cancelAnimationFrame(s), a = !1, s = 0), u !== 0 && (window.clearTimeout(u), u = 0), window.removeEventListener("resize", m), window.removeEventListener("orientationchange", m), b?.disconnect();
|
|
421
467
|
};
|
|
422
468
|
}
|
|
423
469
|
export {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
470
|
+
P as DEFAULT_STATIC_VERSIONS_URL,
|
|
471
|
+
se as HOST_BOTTOM_INSET_VAR,
|
|
472
|
+
ue as __resetFocusShortcutCoordinatorForTests,
|
|
473
|
+
le as attachPromptInputTokensStylesheet,
|
|
474
|
+
W as buildUrl,
|
|
475
|
+
R as cacheVersions,
|
|
476
|
+
Te as createCollapseController,
|
|
477
|
+
Ee as createFeatureToggleReader,
|
|
478
|
+
Ce as createInputHeightSync,
|
|
479
|
+
ve as createSubmitFlow,
|
|
480
|
+
ye as createVariantMount,
|
|
481
|
+
fe as escapeHtml,
|
|
482
|
+
we as fetchChipSuggestions,
|
|
483
|
+
X as fetchContextualChips,
|
|
484
|
+
H as fetchStaticVersions,
|
|
485
|
+
T as findVersion,
|
|
486
|
+
U as getCachedVersions,
|
|
487
|
+
ce as getFocusShortcutCoordinator,
|
|
488
|
+
D as getPromptInputTokensUrl,
|
|
489
|
+
ae as measureHostBottomInset,
|
|
490
|
+
Z as readBaseConfigFromScript,
|
|
491
|
+
ge as readBottomConfigFromScript,
|
|
492
|
+
be as registerWeb5Widget,
|
|
493
|
+
$ as resolvePromptInputTokensUrl,
|
|
494
|
+
B as resolvePromptInputTokensVersion,
|
|
495
|
+
me as resolveTarget,
|
|
496
|
+
de as sendIconSvg,
|
|
497
|
+
pe as shouldInit,
|
|
498
|
+
he as shouldInitForPath,
|
|
499
|
+
_e as trackHostBottomInset
|
|
454
500
|
};
|
|
455
501
|
//# sourceMappingURL=index.js.map
|