@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.js CHANGED
@@ -1,4 +1,4 @@
1
- const m = "__web5InputFocusShortcut__", L = 'input, textarea, [contenteditable=""], [contenteditable="true"]', M = '[role="dialog"][aria-modal="true"]';
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 x(e) {
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(L))
15
+ if (n instanceof Element && typeof n.matches == "function" && n.matches(N))
16
16
  return !0;
17
17
  return !1;
18
18
  }
19
- function re() {
19
+ function ce() {
20
20
  const e = window;
21
- if (e[m]) return e[m];
21
+ if (e[p]) return e[p];
22
22
  const t = [];
23
23
  let n = !1;
24
- const r = (i) => {
25
- if (i.defaultPrevented || i.isComposing) return;
26
- const c = i.key === "/" && !i.metaKey && !i.ctrlKey && !i.altKey && !i.shiftKey, u = (i.metaKey || i.ctrlKey) && !i.altKey && i.key.toLowerCase() === "k";
27
- if (!c && !u || c && x(i)) return;
28
- const p = document.querySelectorAll(M);
29
- for (const f of p)
30
- if (F(f)) return;
31
- const d = t.find((f) => f.isVisible());
32
- if (!d) return;
33
- i.preventDefault();
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
- d.focus(h);
36
- }, o = () => {
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(i) {
42
- t.includes(i) || t.push(i), o();
41
+ register(o) {
42
+ t.includes(o) || t.push(o), i();
43
43
  },
44
- unregister(i) {
45
- const c = t.indexOf(i);
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[m] = a, a;
52
+ return e[p] = a, a;
53
53
  }
54
- function oe() {
54
+ function ue() {
55
55
  const e = window;
56
- e[m]?.__teardown(), delete e[m];
56
+ e[p]?.__teardown(), delete e[p];
57
57
  }
58
- const H = "https://www.wixapis.com/web50-server/static-versions", T = "__web5_static_versions";
59
- async function O(e = H) {
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 v(e, t) {
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 P() {
79
- return window[T];
78
+ function U() {
79
+ return window[I];
80
80
  }
81
- function U(e) {
82
- window[T] = e;
81
+ function R(e) {
82
+ window[I] = e;
83
83
  }
84
- const N = {
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 S(e) {
92
- return { ...N, ...e ?? {} };
91
+ function A(e) {
92
+ return { ...V, ...e ?? {} };
93
93
  }
94
- function R(e, t) {
95
- const { tokensCdnBase: n, tokensFileName: r } = S(t);
94
+ function D(e, t) {
95
+ const { tokensCdnBase: n, tokensFileName: r } = A(t);
96
96
  return `${n}/${e}/${r}`;
97
97
  }
98
- async function V(e) {
99
- const t = S(e);
98
+ async function B(e) {
99
+ const t = A(e);
100
100
  try {
101
- const n = P();
102
- if (n) return v(n, t.tokensArtifactId);
103
- const r = await O(t.staticVersionsUrl);
104
- return U(r), v(r, t.tokensArtifactId);
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 D(e) {
113
- const t = await V(e);
114
- return R(t, e);
112
+ async function $(e) {
113
+ const t = await B(e);
114
+ return D(t, e);
115
115
  }
116
- async function ie(e, t) {
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 D(t), e.prepend(r);
121
+ r.rel = "stylesheet", r.dataset.web5PromptInputTokens = "true", r.href = await $(t), e.prepend(r);
122
122
  }
123
- const se = `
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 B(e) {
128
+ function W(e) {
129
129
  return `${e}?initialQuestion=`;
130
130
  }
131
- function ae(e) {
131
+ function fe(e) {
132
132
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
133
133
  }
134
- const $ = "https://www.wixapis.com/page-enrichment/v1/page-meta-data/chips", _ = 5e3, W = "https://www.wixapis.com/wix-assistant-web5/v1/turn", K = "pdpChips";
135
- async function ce(e, t) {
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 q({
158
+ return X({
138
159
  ...t.conversation,
139
160
  timeoutMs: t.timeoutMs,
140
161
  fetchImpl: t.fetchImpl
141
162
  });
142
- const n = t.endpoint ?? $, r = t.timeoutMs ?? _, o = A(t.fetchImpl), s = new AbortController(), a = setTimeout(() => s.abort(), r);
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 i = await o(
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 (!i.ok)
151
- throw new Error(`HTTP ${i.status}`);
152
- return (await i.json()).chips?.map((u) => u.label).filter(Boolean) ?? [];
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 q(e) {
158
- const t = e.endpoint ?? W, n = e.timeoutMs ?? _, r = A(e.fetchImpl), o = new AbortController(), s = setTimeout(() => o.abort(), n);
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 a = e.handle ? { handle: e.handle } : void 0, i = {
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
- placement: K,
164
- ...a ? { additionalData: a } : {}
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(i),
172
- signal: o.signal
197
+ body: JSON.stringify(t ? u : c),
198
+ signal: s.signal
173
199
  });
174
- if (!c.ok)
175
- throw new Error(`HTTP ${c.status}`);
176
- const u = await c.text();
177
- return J(j(u));
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(s);
207
+ clearTimeout(a);
180
208
  }
181
209
  }
182
- function A(e) {
210
+ function k(e) {
183
211
  return e || (typeof window < "u" ? fetch.bind(window) : fetch);
184
212
  }
185
- function j(e) {
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
- (o) => typeof o?.completed?.markdown == "string"
239
+ (i) => typeof i?.completed?.markdown == "string"
194
240
  )?.completed?.markdown;
195
- return r || n.map((o) => typeof o?.markdown == "string" ? o.markdown : "").join("");
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 J(e) {
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 ue(e) {
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 le(e) {
266
+ function pe(e) {
221
267
  return e ? new URLSearchParams(window.location.search).has(e) : !0;
222
268
  }
223
- function de(e, t = []) {
269
+ function he(e, t = []) {
224
270
  return !(Array.isArray(e) ? e : e != null ? [e] : t).includes(window.location.pathname);
225
271
  }
226
- function X(e) {
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 o = e.getAttribute("data-base-url");
233
- o && (t.baseUrl = o);
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 i = JSON.parse(a);
240
- Array.isArray(i) && i.length && (t.suggestions = i);
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 fe(e) {
247
- const t = X(e);
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 o = e.getAttribute("data-exclude-paths");
254
- return o && (t.excludePaths = o.includes(",") ? o.split(",").map((s) => s.trim()) : o), t;
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 we(e) {
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 me(e) {
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 o = e.variants?.[r];
274
- return o ? o(t, n) : (console.warn(
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 pe(e) {
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 he(e) {
335
+ function Ce(e) {
290
336
  const {
291
337
  input: t,
292
338
  wrapper: n,
293
339
  multilineClass: r,
294
- maxHeightPx: o,
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 i = window.getComputedStyle(t), c = Number.parseFloat(i.lineHeight) || a;
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), o);
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 Y = 400;
312
- function ge(e = {}) {
313
- const t = e.thresholdPx ?? Y;
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 o = document.documentElement, s = window.scrollY || o.scrollTop || 0, a = s + window.innerHeight, i = o.scrollHeight - a;
317
- return o.scrollHeight > window.innerHeight + t && s > 0 && i <= t;
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(o) {
321
- return !o.isCoordinatorVisible() || !r() ? (n = !1, !1) : o.hasFocusInside() || n ? o.isCollapsed() : !0;
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 be(e) {
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 = B(e.baseUrl), n = e.windowTarget ?? "_self";
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 z = 100, G = 0.5, Z = 250, Q = 10, ee = 60, te = "--web5-host-bottom-inset";
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 ne(e, t) {
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 o = 0;
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 i = Number.parseFloat(a.bottom);
365
- if (!Number.isFinite(i) || i > z)
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 * G || (o = Math.max(o, u));
417
+ u <= 0 || u > window.innerHeight * ne || (i = Math.max(i, u));
372
418
  }
373
- return Math.round(o);
419
+ return Math.round(i);
374
420
  }
375
- function ye(e, t = {}) {
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(), o = null, s = 0, a = !1, i = 0, c = 0, u = 0, p = 0, d = !1;
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 l = ne(n, r);
383
- return l === o ? !1 : (o = l, e.style.setProperty(te, `${l}px`), !0);
384
- }, f = () => {
385
- if (s = 0, d) {
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 (i = h() ? 0 : i + 1, c -= 1, i >= Q || c <= 0) {
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(f);
439
+ s = window.requestAnimationFrame(w);
394
440
  }, g = () => {
395
- d || (i = 0, c = ee, !a && (a = !0, s = window.requestAnimationFrame(f)));
441
+ l || (o = 0, c = ie, !a && (a = !0, s = window.requestAnimationFrame(w)));
396
442
  }, E = () => {
397
- u = 0, !d && (p = Date.now(), r = y(), g());
398
- }, I = () => {
399
- if (d || u !== 0)
443
+ u = 0, !l && (f = Date.now(), r = y(), g());
444
+ }, L = () => {
445
+ if (l || u !== 0)
400
446
  return;
401
- const l = Z - (Date.now() - p);
402
- if (l <= 0) {
447
+ const d = re - (Date.now() - f);
448
+ if (d <= 0) {
403
449
  E();
404
450
  return;
405
451
  }
406
- u = window.setTimeout(E, l);
407
- }, w = () => {
408
- g(), I();
452
+ u = window.setTimeout(E, d);
453
+ }, m = () => {
454
+ g(), L();
409
455
  };
410
- h(), g(), window.addEventListener("resize", w, { passive: !0 }), window.addEventListener("orientationchange", w, { passive: !0 });
411
- const k = (l) => n != null && l.every((C) => C.target instanceof Node && n.contains(C.target));
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((l) => {
414
- k(l) || w();
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
- d = !0, a && (window.cancelAnimationFrame(s), a = !1, s = 0), u !== 0 && (window.clearTimeout(u), u = 0), window.removeEventListener("resize", w), window.removeEventListener("orientationchange", w), b?.disconnect();
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
- H as DEFAULT_STATIC_VERSIONS_URL,
425
- te as HOST_BOTTOM_INSET_VAR,
426
- oe as __resetFocusShortcutCoordinatorForTests,
427
- ie as attachPromptInputTokensStylesheet,
428
- B as buildUrl,
429
- U as cacheVersions,
430
- ge as createCollapseController,
431
- pe as createFeatureToggleReader,
432
- he as createInputHeightSync,
433
- be as createSubmitFlow,
434
- me as createVariantMount,
435
- ae as escapeHtml,
436
- ce as fetchChipSuggestions,
437
- q as fetchContextualChips,
438
- O as fetchStaticVersions,
439
- v as findVersion,
440
- P as getCachedVersions,
441
- re as getFocusShortcutCoordinator,
442
- R as getPromptInputTokensUrl,
443
- ne as measureHostBottomInset,
444
- X as readBaseConfigFromScript,
445
- fe as readBottomConfigFromScript,
446
- we as registerWeb5Widget,
447
- D as resolvePromptInputTokensUrl,
448
- V as resolvePromptInputTokensVersion,
449
- ue as resolveTarget,
450
- se as sendIconSvg,
451
- le as shouldInit,
452
- de as shouldInitForPath,
453
- ye as trackHostBottomInset
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