@livelayer/react 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { jsxs as b, jsx as n, Fragment as $e } from "react/jsx-runtime";
3
- import { Component as Vn, useState as S, useRef as A, useEffect as M, useCallback as E, useMemo as Ze, useLayoutEffect as Ln, forwardRef as Pt, useImperativeHandle as Yn, createElement as Gn } from "react";
4
- import { createPortal as $t } from "react-dom";
5
- import { LiveKitSession as Kn, registerFields as Jn } from "@livelayer/sdk";
6
- import { clearFieldRegistry as Oi, getRegisteredFields as Bi, registerFields as Wi, setFieldValue as Fi } from "@livelayer/sdk";
7
- import { createLocalAudioTrack as Xn, Track as kn, createLocalVideoTrack as Zn } from "livekit-client";
8
- class Qn extends Vn {
2
+ import { jsxs as w, jsx as n, Fragment as ze } from "react/jsx-runtime";
3
+ import { Component as Jn, useState as S, useRef as A, useEffect as M, useCallback as E, useMemo as nt, useLayoutEffect as kn, forwardRef as $t, useImperativeHandle as Xn, createElement as Zn } from "react";
4
+ import { createPortal as zt } from "react-dom";
5
+ import { LiveKitSession as Qn, registerFields as er } from "@livelayer/sdk";
6
+ import { clearFieldRegistry as Fi, getRegisteredFields as qi, registerFields as Ui, setFieldValue as ji } from "@livelayer/sdk";
7
+ import { createLocalAudioTrack as tr, Track as Cn, createLocalVideoTrack as nr } from "livekit-client";
8
+ class rr extends Jn {
9
9
  constructor() {
10
10
  super(...arguments), this.state = { hasError: !1, error: null }, this.reset = () => {
11
11
  this.setState({ hasError: !1, error: null });
@@ -20,7 +20,7 @@ class Qn extends Vn {
20
20
  }
21
21
  render() {
22
22
  var t;
23
- return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ b("div", { className: "ll-error-boundary", role: "alert", children: [
23
+ return this.state.hasError ? this.props.fallback ? this.props.fallback : /* @__PURE__ */ w("div", { className: "ll-error-boundary", role: "alert", children: [
24
24
  /* @__PURE__ */ n("p", { className: "ll-error-boundary__title", children: "Widget crashed" }),
25
25
  /* @__PURE__ */ n("p", { className: "ll-error-boundary__message", children: ((t = this.state.error) == null ? void 0 : t.message) || "Something went wrong." }),
26
26
  /* @__PURE__ */ n(
@@ -35,26 +35,26 @@ class Qn extends Vn {
35
35
  ] }) : this.props.children;
36
36
  }
37
37
  }
38
- function er(e) {
39
- const [t, r] = S("idle"), [i, a] = S("idle"), [o, s] = S([]), [l, c] = S(null), [p, v] = S(null), [f, u] = S(null), [R, k] = S(!1), [_, m] = S(null), w = A(null), N = A(e.onDataMessage);
38
+ function ir(e) {
39
+ const [t, r] = S("idle"), [i, a] = S("idle"), [o, s] = S([]), [l, c] = S(null), [p, b] = S(null), [f, d] = S(null), [R, k] = S(!1), [_, h] = S(null), y = A(null), N = A(e.onDataMessage);
40
40
  N.current = e.onDataMessage, M(() => {
41
- const g = {
41
+ const v = {
42
42
  onConnectionStateChange: (O) => {
43
- r(O), O === "connected" && m(null);
43
+ r(O), O === "connected" && h(null);
44
44
  },
45
45
  onAgentStateChange: a,
46
46
  onTranscript: (O) => s([...O]),
47
47
  onAgentConfig: c,
48
- onAudioTrack: (O) => u(O),
49
- onVideoTrack: (O) => v(O),
50
- onVideoTrackRemoved: () => v(null),
51
- onError: (O) => m(O),
48
+ onAudioTrack: (O) => d(O),
49
+ onVideoTrack: (O) => b(O),
50
+ onVideoTrackRemoved: () => b(null),
51
+ onError: (O) => h(O),
52
52
  onDataMessage: (O) => {
53
53
  var q;
54
54
  (q = N.current) == null || q.call(N, O);
55
55
  },
56
56
  onResumabilityChange: k
57
- }, P = new Kn(
57
+ }, P = new Qn(
58
58
  {
59
59
  agentId: e.agentId,
60
60
  baseUrl: e.baseUrl,
@@ -62,11 +62,11 @@ function er(e) {
62
62
  sessionEndpoint: e.sessionEndpoint,
63
63
  sessionBody: e.sessionBody
64
64
  },
65
- g
65
+ v
66
66
  );
67
- return w.current = P, r("idle"), a("idle"), s([]), c(null), v(null), u(null), k(!1), m(null), () => {
67
+ return y.current = P, r("idle"), a("idle"), s([]), c(null), b(null), d(null), k(!1), h(null), () => {
68
68
  var O;
69
- (O = P.destroy) == null || O.call(P), w.current = null;
69
+ (O = P.destroy) == null || O.call(P), y.current = null;
70
70
  };
71
71
  }, [
72
72
  e.agentId,
@@ -76,19 +76,19 @@ function er(e) {
76
76
  JSON.stringify(e.sessionBody ?? {})
77
77
  ]);
78
78
  const T = E(async () => {
79
- const g = w.current;
80
- if (g)
79
+ const v = y.current;
80
+ if (v)
81
81
  try {
82
- await g.connect();
82
+ await v.connect();
83
83
  } catch (P) {
84
- throw m(P instanceof Error ? P.message : String(P)), P;
84
+ throw h(P instanceof Error ? P.message : String(P)), P;
85
85
  }
86
86
  }, []), I = E(() => {
87
- const g = w.current;
88
- g && g.disconnect();
87
+ const v = y.current;
88
+ v && v.disconnect();
89
89
  }, []), U = E(() => {
90
- var g;
91
- return ((g = w.current) == null ? void 0 : g.getRoom()) ?? null;
90
+ var v;
91
+ return ((v = y.current) == null ? void 0 : v.getRoom()) ?? null;
92
92
  }, []);
93
93
  return {
94
94
  connectionState: t,
@@ -102,10 +102,10 @@ function er(e) {
102
102
  connect: T,
103
103
  disconnect: I,
104
104
  getRoom: U,
105
- session: w.current
105
+ session: y.current
106
106
  };
107
107
  }
108
- function tr() {
108
+ function or() {
109
109
  const e = A(null), t = A(null), r = A(null), i = A(null), a = A(/* @__PURE__ */ new Set()), o = A(null), s = E(() => {
110
110
  const f = t.current;
111
111
  if (!f) {
@@ -115,22 +115,22 @@ function tr() {
115
115
  (!o.current || o.current.length !== f.frequencyBinCount) && (o.current = new Uint8Array(
116
116
  new ArrayBuffer(f.frequencyBinCount)
117
117
  ));
118
- const u = o.current;
119
- f.getByteFrequencyData(u);
118
+ const d = o.current;
119
+ f.getByteFrequencyData(d);
120
120
  let R = 0;
121
- for (let _ = 0; _ < u.length; _++) R += u[_];
122
- const k = R / u.length / 255;
121
+ for (let _ = 0; _ < d.length; _++) R += d[_];
122
+ const k = R / d.length / 255;
123
123
  for (const _ of a.current)
124
124
  try {
125
125
  _(k);
126
- } catch (m) {
127
- console.error("[useAudioLevel] subscriber threw:", m);
126
+ } catch (h) {
127
+ console.error("[useAudioLevel] subscriber threw:", h);
128
128
  }
129
129
  i.current = requestAnimationFrame(s);
130
130
  }, []), l = E(() => {
131
131
  if (e.current || typeof window > "u" || typeof AudioContext > "u") return;
132
- const f = new AudioContext(), u = f.createAnalyser();
133
- u.fftSize = 64, u.connect(f.destination), e.current = f, t.current = u;
132
+ const f = new AudioContext(), d = f.createAnalyser();
133
+ d.fftSize = 64, d.connect(f.destination), e.current = f, t.current = d;
134
134
  }, []), c = E(
135
135
  (f) => {
136
136
  if (l(), !(!e.current || !t.current)) {
@@ -142,10 +142,10 @@ function tr() {
142
142
  r.current = null;
143
143
  }
144
144
  try {
145
- const u = e.current.createMediaElementSource(f);
146
- u.connect(t.current), r.current = u;
147
- } catch (u) {
148
- console.warn("[useAudioLevel] createMediaElementSource failed:", u);
145
+ const d = e.current.createMediaElementSource(f);
146
+ d.connect(t.current), r.current = d;
147
+ } catch (d) {
148
+ console.warn("[useAudioLevel] createMediaElementSource failed:", d);
149
149
  return;
150
150
  }
151
151
  i.current === null && (i.current = requestAnimationFrame(s));
@@ -160,7 +160,7 @@ function tr() {
160
160
  }
161
161
  r.current = null;
162
162
  }
163
- }, []), v = E((f) => (a.current.add(f), () => {
163
+ }, []), b = E((f) => (a.current.add(f), () => {
164
164
  a.current.delete(f);
165
165
  }), []);
166
166
  return M(() => () => {
@@ -179,11 +179,11 @@ function tr() {
179
179
  e.current = null;
180
180
  }
181
181
  a.current.clear(), o.current = null;
182
- }, [p]), { attach: c, detach: p, subscribe: v };
182
+ }, [p]), { attach: c, detach: p, subscribe: b };
183
183
  }
184
- function nr() {
184
+ function lr() {
185
185
  const [e, t] = S(!1), [r, i] = S(""), [a, o] = S(null), s = A(null), l = A(null), c = E(async (k) => {
186
- var _, m;
186
+ var _, h;
187
187
  if (s.current && l.current) {
188
188
  try {
189
189
  await l.current.localParticipant.unpublishTrack(s.current);
@@ -193,36 +193,36 @@ function nr() {
193
193
  }
194
194
  l.current = k, o(null);
195
195
  try {
196
- const w = await Xn({
196
+ const y = await tr({
197
197
  echoCancellation: !0,
198
198
  noiseSuppression: !0
199
199
  });
200
- await k.localParticipant.publishTrack(w), s.current = w, t(w.isMuted);
201
- const N = (m = (_ = w.mediaStreamTrack) == null ? void 0 : _.getSettings) == null ? void 0 : m.call(_);
200
+ await k.localParticipant.publishTrack(y), s.current = y, t(y.isMuted);
201
+ const N = (h = (_ = y.mediaStreamTrack) == null ? void 0 : _.getSettings) == null ? void 0 : h.call(_);
202
202
  N != null && N.deviceId && i(N.deviceId);
203
- } catch (w) {
204
- const N = w instanceof Error && w.name === "NotAllowedError" ? "Enable your microphone to talk with the agent." : "Microphone unavailable. Check browser permissions and try again.";
205
- throw o(N), w;
203
+ } catch (y) {
204
+ const N = y instanceof Error && y.name === "NotAllowedError" ? "Enable your microphone to talk with the agent." : "Microphone unavailable. Check browser permissions and try again.";
205
+ throw o(N), y;
206
206
  }
207
207
  }, []), p = E((k) => {
208
208
  l.current = k;
209
- }, []), v = E(async (k) => {
209
+ }, []), b = E(async (k) => {
210
210
  const _ = l.current;
211
211
  if (_)
212
212
  try {
213
213
  await _.switchActiveDevice("audioinput", k), i(k);
214
- } catch (m) {
215
- console.warn("[useMicrophoneState] switchDevice failed:", m);
214
+ } catch (h) {
215
+ console.warn("[useMicrophoneState] switchDevice failed:", h);
216
216
  }
217
217
  }, []), f = E(async () => {
218
218
  const k = l.current, _ = !e;
219
219
  if (t(_), !!k)
220
220
  try {
221
221
  await k.localParticipant.setMicrophoneEnabled(!_);
222
- } catch (m) {
223
- console.warn("[useMicrophoneState] setMicrophoneEnabled failed:", m), t(!_);
222
+ } catch (h) {
223
+ console.warn("[useMicrophoneState] setMicrophoneEnabled failed:", h), t(!_);
224
224
  }
225
- }, [e]), u = E(() => {
225
+ }, [e]), d = E(() => {
226
226
  const k = s.current, _ = l.current;
227
227
  if (k && _) {
228
228
  try {
@@ -240,41 +240,41 @@ function nr() {
240
240
  toggleMute: f,
241
241
  setupMic: c,
242
242
  attachRoom: p,
243
- switchDevice: v,
244
- teardownMic: u,
243
+ switchDevice: b,
244
+ teardownMic: d,
245
245
  clearError: R
246
246
  };
247
247
  }
248
- const rr = { resolution: { width: 640, height: 480, frameRate: 24 } };
249
- function ir() {
250
- const [e, t] = S(!1), [r, i] = S(null), [a, o] = S(null), [s, l] = S(""), c = A(null), p = A(null), v = E((w) => {
251
- c.current = w;
248
+ const ar = { resolution: { width: 640, height: 480, frameRate: 24 } };
249
+ function sr() {
250
+ const [e, t] = S(!1), [r, i] = S(null), [a, o] = S(null), [s, l] = S(""), c = A(null), p = A(null), b = E((y) => {
251
+ c.current = y;
252
252
  }, []), f = E(() => {
253
253
  var T;
254
- const w = c.current, N = p.current;
255
- if (N && w) {
256
- const I = w.localParticipant.getTrackPublication(kn.Source.Camera), g = (I == null ? void 0 : I.track) ?? N;
254
+ const y = c.current, N = p.current;
255
+ if (N && y) {
256
+ const I = y.localParticipant.getTrackPublication(Cn.Source.Camera), v = (I == null ? void 0 : I.track) ?? N;
257
257
  try {
258
- w.localParticipant.unpublishTrack(g);
258
+ y.localParticipant.unpublishTrack(v);
259
259
  } catch {
260
260
  }
261
261
  try {
262
- (T = g.stop) == null || T.call(g);
262
+ (T = v.stop) == null || T.call(v);
263
263
  } catch {
264
264
  }
265
265
  }
266
266
  p.current = null, o(null), t(!1);
267
- }, []), u = E(async (w) => {
267
+ }, []), d = E(async (y) => {
268
268
  const N = c.current;
269
269
  if (N) {
270
270
  i(null);
271
271
  try {
272
- const T = { ...rr };
273
- w && (T.deviceId = w);
274
- const I = await Zn(T);
272
+ const T = { ...ar };
273
+ y && (T.deviceId = y);
274
+ const I = await nr(T);
275
275
  await N.localParticipant.publishTrack(I), p.current = I;
276
276
  const U = I.attach();
277
- o(U), t(!0), w && l(w);
277
+ o(U), t(!0), y && l(y);
278
278
  try {
279
279
  N.localParticipant.publishData(
280
280
  new TextEncoder().encode(JSON.stringify({ type: "user_camera_on" })),
@@ -288,12 +288,12 @@ function ir() {
288
288
  }
289
289
  }
290
290
  }, []), R = E(async () => {
291
- e ? f() : await u(s || void 0);
292
- }, [e, s, f, u]), k = E(async (w) => {
293
- f(), await u(w);
294
- }, [f, u]), _ = E(() => {
291
+ e ? f() : await d(s || void 0);
292
+ }, [e, s, f, d]), k = E(async (y) => {
293
+ f(), await d(y);
294
+ }, [f, d]), _ = E(() => {
295
295
  f(), c.current = null, i(null), l("");
296
- }, [f]), m = E(() => i(null), []);
296
+ }, [f]), h = E(() => i(null), []);
297
297
  return M(() => () => {
298
298
  p.current && p.current.stop();
299
299
  }, []), {
@@ -303,20 +303,20 @@ function ir() {
303
303
  activeDeviceId: s,
304
304
  toggle: R,
305
305
  switchDevice: k,
306
- attachRoom: v,
306
+ attachRoom: b,
307
307
  teardown: _,
308
- clearError: m
308
+ clearError: h
309
309
  };
310
310
  }
311
- function or() {
312
- const [e, t] = S(!1), [r, i] = S(null), [a, o] = S(null), s = A(null), l = E((u) => {
313
- s.current = u;
311
+ function cr() {
312
+ const [e, t] = S(!1), [r, i] = S(null), [a, o] = S(null), s = A(null), l = E((d) => {
313
+ s.current = d;
314
314
  }, []), c = E(() => o(null), []), p = E(async () => {
315
- const u = s.current;
316
- if (u) {
315
+ const d = s.current;
316
+ if (d) {
317
317
  if (e) {
318
318
  try {
319
- await u.localParticipant.setScreenShareEnabled(!1);
319
+ await d.localParticipant.setScreenShareEnabled(!1);
320
320
  } catch {
321
321
  }
322
322
  c(), t(!1);
@@ -324,15 +324,15 @@ function or() {
324
324
  }
325
325
  i(null);
326
326
  try {
327
- await u.localParticipant.setScreenShareEnabled(!0);
327
+ await d.localParticipant.setScreenShareEnabled(!0);
328
328
  let R = 0;
329
329
  const k = () => {
330
- const _ = u.localParticipant.getTrackPublication(kn.Source.ScreenShare);
330
+ const _ = d.localParticipant.getTrackPublication(Cn.Source.ScreenShare);
331
331
  if (_ != null && _.track) {
332
- const m = _.track.attach();
333
- o(m), t(!0);
332
+ const h = _.track.attach();
333
+ o(h), t(!0);
334
334
  try {
335
- u.localParticipant.publishData(
335
+ d.localParticipant.publishData(
336
336
  new TextEncoder().encode(JSON.stringify({ type: "user_screen_share_on" })),
337
337
  { reliable: !0 }
338
338
  );
@@ -348,18 +348,18 @@ function or() {
348
348
  k !== "NotAllowedError" && k !== "AbortError" && i("Screen share unavailable. Try again."), t(!1);
349
349
  }
350
350
  }
351
- }, [e, c]), v = E(() => {
352
- const u = s.current;
353
- if (u && e)
351
+ }, [e, c]), b = E(() => {
352
+ const d = s.current;
353
+ if (d && e)
354
354
  try {
355
- u.localParticipant.setScreenShareEnabled(!1);
355
+ d.localParticipant.setScreenShareEnabled(!1);
356
356
  } catch {
357
357
  }
358
358
  c(), t(!1), i(null), s.current = null;
359
359
  }, [e, c]), f = E(() => i(null), []);
360
- return { isEnabled: e, error: r, previewEl: a, toggle: p, attachRoom: l, teardown: v, clearError: f };
360
+ return { isEnabled: e, error: r, previewEl: a, toggle: p, attachRoom: l, teardown: b, clearError: f };
361
361
  }
362
- function lr() {
362
+ function dr() {
363
363
  const [e, t] = S([]), [r, i] = S([]), a = E(async () => {
364
364
  if (!(typeof navigator > "u" || !navigator.mediaDevices))
365
365
  try {
@@ -374,20 +374,20 @@ function lr() {
374
374
  return navigator.mediaDevices.addEventListener("devicechange", o), () => navigator.mediaDevices.removeEventListener("devicechange", o);
375
375
  }, [a]), { mics: e, cameras: r, refresh: a };
376
376
  }
377
- function ar(e, t, r = !1) {
377
+ function ur(e, t, r = !1) {
378
378
  const [i, a] = S(null), [o, s] = S(null), [l, c] = S(!r && !!e);
379
379
  return M(() => {
380
380
  if (r || !e) {
381
381
  c(!1);
382
382
  return;
383
383
  }
384
- const p = new AbortController(), v = t || "https://app.livelayer.studio";
385
- return c(!0), s(null), fetch(`${v}/api/widget/agent/${encodeURIComponent(e)}`, {
384
+ const p = new AbortController(), b = t || "https://app.livelayer.studio";
385
+ return c(!0), s(null), fetch(`${b}/api/widget/agent/${encodeURIComponent(e)}`, {
386
386
  signal: p.signal
387
387
  }).then(async (f) => {
388
388
  if (!f.ok) {
389
- const u = await f.json().catch(() => ({}));
390
- throw new Error(u.error || `HTTP ${f.status}`);
389
+ const d = await f.json().catch(() => ({}));
390
+ throw new Error(d.error || `HTTP ${f.status}`);
391
391
  }
392
392
  return f.json();
393
393
  }).then((f) => {
@@ -397,7 +397,7 @@ function ar(e, t, r = !1) {
397
397
  }), () => p.abort();
398
398
  }, [e, t, r]), { info: i, error: o, loading: l };
399
399
  }
400
- function sr(e) {
400
+ function En(e) {
401
401
  if (typeof window > "u") return null;
402
402
  try {
403
403
  return window.localStorage.getItem(e);
@@ -405,14 +405,14 @@ function sr(e) {
405
405
  return null;
406
406
  }
407
407
  }
408
- function cr(e, t) {
408
+ function fr(e, t) {
409
409
  if (!(typeof window > "u"))
410
410
  try {
411
411
  window.localStorage.setItem(e, t);
412
412
  } catch {
413
413
  }
414
414
  }
415
- function dr({
415
+ function pr({
416
416
  value: e,
417
417
  defaultValue: t = "expanded",
418
418
  onChange: r
@@ -425,32 +425,32 @@ function dr({
425
425
  );
426
426
  return [s, l];
427
427
  }
428
- const ur = ["hidden", "minimized", "expanded"];
429
- function fr(e) {
430
- return e && ur.includes(e) ? e : null;
428
+ const hr = ["hidden", "minimized", "expanded"];
429
+ function mr(e) {
430
+ return e && hr.includes(e) ? e : null;
431
431
  }
432
- function pr({
432
+ function gr({
433
433
  value: e,
434
434
  defaultValue: t = "expanded",
435
435
  onChange: r,
436
436
  persistKey: i = "ll-widget",
437
437
  disablePersistence: a = !1
438
438
  } = {}) {
439
- const o = `${i}:display-mode`, s = A(!1), [l, c] = dr({
439
+ const o = `${i}:display-mode`, s = A(!1), [l, c] = pr({
440
440
  value: e,
441
441
  defaultValue: t,
442
442
  onChange: (p) => {
443
- e === void 0 && !a && cr(o, p), r == null || r(p);
443
+ e === void 0 && !a && fr(o, p), r == null || r(p);
444
444
  }
445
445
  });
446
446
  return M(() => {
447
447
  if (s.current || (s.current = !0, a || e !== void 0)) return;
448
- const p = fr(sr(o));
448
+ const p = mr(En(o));
449
449
  p && p !== l && c(p);
450
450
  }, []), [l, c];
451
451
  }
452
- const hr = 640;
453
- function mr(e = hr) {
452
+ const yr = 640;
453
+ function vr(e = yr) {
454
454
  const [t, r] = S(!1);
455
455
  return M(() => {
456
456
  if (e === !1) {
@@ -465,9 +465,9 @@ function mr(e = hr) {
465
465
  });
466
466
  }, [e]), t;
467
467
  }
468
- const tn = "__llHistoryPatched", xt = "ll:pathname";
469
- function gr() {
470
- if (typeof window > "u" || window.history[tn]) return;
468
+ const nn = "__llHistoryPatched", xt = "ll:pathname";
469
+ function br() {
470
+ if (typeof window > "u" || window.history[nn]) return;
471
471
  const e = window.history.pushState, t = window.history.replaceState;
472
472
  window.history.pushState = function(...r) {
473
473
  const i = e.apply(this, r);
@@ -475,65 +475,65 @@ function gr() {
475
475
  }, window.history.replaceState = function(...r) {
476
476
  const i = t.apply(this, r);
477
477
  return window.dispatchEvent(new Event(xt)), i;
478
- }, window.history[tn] = !0;
478
+ }, window.history[nn] = !0;
479
479
  }
480
- function nn() {
480
+ function rn() {
481
481
  return typeof window > "u" ? "/" : window.location.pathname || "/";
482
482
  }
483
- function yr(e) {
483
+ function wr(e) {
484
484
  const [t, r] = S(
485
- () => e ?? nn()
485
+ () => e ?? rn()
486
486
  );
487
487
  return M(() => {
488
488
  if (e !== void 0) return;
489
- gr();
490
- const i = () => r(nn());
489
+ br();
490
+ const i = () => r(rn());
491
491
  return i(), window.addEventListener("popstate", i), window.addEventListener(xt, i), () => {
492
492
  window.removeEventListener("popstate", i), window.removeEventListener(xt, i);
493
493
  };
494
494
  }, [e]), e ?? t;
495
495
  }
496
- const rn = /* @__PURE__ */ new Map(), vr = /[\\^$+?.()|{}[\]]/g;
497
- function br(e) {
498
- return e.replace(vr, "\\$&");
496
+ const on = /* @__PURE__ */ new Map(), _r = /[\\^$+?.()|{}[\]]/g;
497
+ function xr(e) {
498
+ return e.replace(_r, "\\$&");
499
499
  }
500
- function wr(e) {
501
- const t = rn.get(e);
500
+ function Lr(e) {
501
+ const t = on.get(e);
502
502
  if (t) return t;
503
- const r = e.length > 1 && e.endsWith("/") ? e.slice(0, -1) : e, i = "", a = "", o = r.replace(/\*\*/g, i).replace(/\*/g, a), l = br(o).replace(new RegExp(`\\/${i}`, "g"), "(?:\\/.*)?").replace(new RegExp(i, "g"), ".*").replace(new RegExp(a, "g"), "[^/]+"), c = new RegExp(`^${l}\\/?$`);
504
- return rn.set(e, c), c;
503
+ const r = e.length > 1 && e.endsWith("/") ? e.slice(0, -1) : e, i = "", a = "", o = r.replace(/\*\*/g, i).replace(/\*/g, a), l = xr(o).replace(new RegExp(`\\/${i}`, "g"), "(?:\\/.*)?").replace(new RegExp(i, "g"), ".*").replace(new RegExp(a, "g"), "[^/]+"), c = new RegExp(`^${l}\\/?$`);
504
+ return on.set(e, c), c;
505
505
  }
506
- function _r(e, t) {
506
+ function kr(e, t) {
507
507
  const r = t.length > 1 && t.endsWith("/") ? t.slice(0, -1) : t;
508
- return wr(e).test(r);
508
+ return Lr(e).test(r);
509
509
  }
510
- function xr(e, t) {
511
- return typeof e == "function" ? e(t) : e instanceof RegExp ? e.test(t) : _r(e, t);
510
+ function Cr(e, t) {
511
+ return typeof e == "function" ? e(t) : e instanceof RegExp ? e.test(t) : kr(e, t);
512
512
  }
513
- function on(e, t) {
513
+ function ln(e, t) {
514
514
  if (!e || e.length === 0) return !1;
515
515
  for (const r of e)
516
- if (xr(r, t)) return !0;
516
+ if (Cr(r, t)) return !0;
517
517
  return !1;
518
518
  }
519
- function Lr(e, t, r) {
520
- return e === void 0 ? !0 : on(r, e) ? !1 : t && t.length > 0 ? on(t, e) : !0;
519
+ function Er(e, t, r) {
520
+ return e === void 0 ? !0 : ln(r, e) ? !1 : t && t.length > 0 ? ln(t, e) : !0;
521
521
  }
522
- function kr(e, t, r) {
523
- return Ze(
524
- () => Lr(e, t, r),
522
+ function Sr(e, t, r) {
523
+ return nt(
524
+ () => Er(e, t, r),
525
525
  [e, t, r]
526
526
  );
527
527
  }
528
- function Cr(e) {
528
+ function Nr(e) {
529
529
  return e === !1 ? { navigate: !1, thinking: !1, action: !1 } : e === void 0 || e === !0 ? { navigate: !0, thinking: !0, action: !0 } : {
530
530
  navigate: e.navigate !== !1,
531
531
  thinking: e.thinking !== !1,
532
532
  action: e.action !== !1
533
533
  };
534
534
  }
535
- function Er(e) {
536
- const t = Ze(() => Cr(e.config), [e.config]), r = e.baseUrl.replace(/\/+$/, ""), i = A(null), a = E(
535
+ function Ar(e) {
536
+ const t = nt(() => Nr(e.config), [e.config]), r = e.baseUrl.replace(/\/+$/, ""), i = A(null), a = E(
537
537
  (c) => {
538
538
  try {
539
539
  new Audio(`${r}${c}`).play().catch(() => {
@@ -585,12 +585,12 @@ function Er(e) {
585
585
  }
586
586
  i.current = null;
587
587
  }
588
- }, []), Ze(
588
+ }, []), nt(
589
589
  () => ({ playPageChange: o, playConfirmation: s, setThinking: l }),
590
590
  [o, s, l]
591
591
  );
592
592
  }
593
- const ln = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ b(
593
+ const an = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ w(
594
594
  "svg",
595
595
  {
596
596
  className: t,
@@ -636,7 +636,7 @@ const ln = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ b(
636
636
  }
637
637
  )
638
638
  }
639
- ), an = ({ className: e }) => /* @__PURE__ */ n(
639
+ ), sn = ({ className: e }) => /* @__PURE__ */ n(
640
640
  "svg",
641
641
  {
642
642
  className: e,
@@ -654,7 +654,7 @@ const ln = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ b(
654
654
  }
655
655
  )
656
656
  }
657
- ), Sr = ({ className: e }) => /* @__PURE__ */ n(
657
+ ), Ir = ({ className: e }) => /* @__PURE__ */ n(
658
658
  "svg",
659
659
  {
660
660
  className: e,
@@ -665,12 +665,12 @@ const ln = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ b(
665
665
  "aria-hidden": "true",
666
666
  children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6 18L18 6M6 6l12 12" })
667
667
  }
668
- ), Nr = {
668
+ ), Rr = {
669
669
  left: 180,
670
670
  right: 0,
671
671
  up: -90,
672
672
  down: 90
673
- }, sn = ({ direction: e = "right", className: t }) => /* @__PURE__ */ n(
673
+ }, cn = ({ direction: e = "right", className: t }) => /* @__PURE__ */ n(
674
674
  "svg",
675
675
  {
676
676
  className: t,
@@ -678,19 +678,19 @@ const ln = ({ muted: e = !1, className: t }) => e ? /* @__PURE__ */ b(
678
678
  viewBox: "0 0 24 24",
679
679
  stroke: "currentColor",
680
680
  strokeWidth: 2,
681
- style: { transform: `rotate(${Nr[e]}deg)` },
681
+ style: { transform: `rotate(${Rr[e]}deg)` },
682
682
  "aria-hidden": "true",
683
683
  children: /* @__PURE__ */ n("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 6l6 6-6 6" })
684
684
  }
685
685
  );
686
- function Ar(e) {
686
+ function Mr(e) {
687
687
  return e === "top-left" || e === "bottom-left" ? "left" : "right";
688
688
  }
689
- const Cn = "ll-hidden-tab-center-y", Ir = 5, cn = 16;
690
- function Rr() {
689
+ const Sn = "ll-hidden-tab-center-y", Tr = 5, dn = 16;
690
+ function Dr() {
691
691
  if (typeof window > "u") return null;
692
692
  try {
693
- const e = window.localStorage.getItem(Cn);
693
+ const e = window.localStorage.getItem(Sn);
694
694
  if (!e) return null;
695
695
  const t = Number.parseFloat(e);
696
696
  return Number.isFinite(t) ? t : null;
@@ -698,14 +698,14 @@ function Rr() {
698
698
  return null;
699
699
  }
700
700
  }
701
- function dn(e) {
701
+ function un(e) {
702
702
  if (!(typeof window > "u"))
703
703
  try {
704
- window.localStorage.setItem(Cn, String(e));
704
+ window.localStorage.setItem(Sn, String(e));
705
705
  } catch {
706
706
  }
707
707
  }
708
- const Mr = ({
708
+ const Pr = ({
709
709
  position: e,
710
710
  isMobile: t,
711
711
  isSpeaking: r,
@@ -715,58 +715,58 @@ const Mr = ({
715
715
  agentName: s,
716
716
  containerEl: l
717
717
  }) => {
718
- const c = Ar(e), p = c === "right" ? "left" : "right", v = t ? 80 : 72, f = !!o, u = !!l, [R, k] = S(null), [_, m] = S(!1), w = A(null), N = A(!1), T = E(
718
+ const c = Mr(e), p = c === "right" ? "left" : "right", b = t ? 80 : 72, f = !!o, d = !!l, [R, k] = S(null), [_, h] = S(!1), y = A(null), N = A(!1), T = E(
719
719
  (B) => {
720
720
  if (typeof window > "u") return B;
721
- const j = v / 2, C = cn + j, Z = window.innerHeight - cn - j;
721
+ const j = b / 2, C = dn + j, Z = window.innerHeight - dn - j;
722
722
  return Z < C ? Math.max(C, B) : Math.max(C, Math.min(Z, B));
723
723
  },
724
- [v]
724
+ [b]
725
725
  );
726
726
  M(() => {
727
- if (u) {
727
+ if (d) {
728
728
  k(null);
729
729
  return;
730
730
  }
731
- const B = Rr();
731
+ const B = Dr();
732
732
  k(T(B ?? window.innerHeight / 2));
733
733
  const j = () => {
734
734
  k((C) => C === null ? null : T(C));
735
735
  };
736
736
  return window.addEventListener("resize", j), () => window.removeEventListener("resize", j);
737
- }, [T, u]);
737
+ }, [T, d]);
738
738
  const I = E(
739
739
  (B) => {
740
- if (!u && !(B.pointerType === "mouse" && B.button !== 0) && R !== null) {
740
+ if (!d && !(B.pointerType === "mouse" && B.button !== 0) && R !== null) {
741
741
  try {
742
742
  B.currentTarget.setPointerCapture(B.pointerId);
743
743
  } catch {
744
744
  }
745
- w.current = {
745
+ y.current = {
746
746
  startClientY: B.clientY,
747
747
  startCenterY: R,
748
748
  moved: !1
749
749
  };
750
750
  }
751
751
  },
752
- [R, u]
752
+ [R, d]
753
753
  ), U = E(
754
754
  (B) => {
755
- const j = w.current;
755
+ const j = y.current;
756
756
  if (!j) return;
757
757
  const C = B.clientY - j.startClientY;
758
- !j.moved && Math.abs(C) > Ir && (j.moved = !0, m(!0)), j.moved && k(T(j.startCenterY + C));
758
+ !j.moved && Math.abs(C) > Tr && (j.moved = !0, h(!0)), j.moved && k(T(j.startCenterY + C));
759
759
  },
760
760
  [T]
761
- ), g = E(
761
+ ), v = E(
762
762
  (B) => {
763
- const j = w.current;
763
+ const j = y.current;
764
764
  if (j) {
765
765
  try {
766
766
  B.currentTarget.releasePointerCapture(B.pointerId);
767
767
  } catch {
768
768
  }
769
- w.current = null, j.moved && (m(!1), N.current = !0, k((C) => (C !== null && dn(C), C)));
769
+ y.current = null, j.moved && (h(!1), N.current = !0, k((C) => (C !== null && un(C), C)));
770
770
  }
771
771
  },
772
772
  []
@@ -784,7 +784,7 @@ const Mr = ({
784
784
  k((C) => {
785
785
  if (C === null) return C;
786
786
  const Z = T(C + j);
787
- return dn(Z), Z;
787
+ return un(Z), Z;
788
788
  });
789
789
  }
790
790
  },
@@ -796,8 +796,8 @@ const Mr = ({
796
796
  r ? "ll-hidden--speaking" : null,
797
797
  _ ? "is-dragging" : null,
798
798
  f ? "ll-hidden--with-avatar" : null,
799
- u ? "ll-hidden--scoped" : null
800
- ].filter(Boolean).join(" "), ne = R === null ? void 0 : { top: `${R - v / 2}px`, transform: "none" };
799
+ d ? "ll-hidden--scoped" : null
800
+ ].filter(Boolean).join(" "), ne = R === null ? void 0 : { top: `${R - b / 2}px`, transform: "none" };
801
801
  return /* @__PURE__ */ n(
802
802
  "button",
803
803
  {
@@ -805,8 +805,8 @@ const Mr = ({
805
805
  className: q,
806
806
  onPointerDown: I,
807
807
  onPointerMove: U,
808
- onPointerUp: g,
809
- onPointerCancel: g,
808
+ onPointerUp: v,
809
+ onPointerCancel: v,
810
810
  onClick: P,
811
811
  onKeyDown: O,
812
812
  "aria-label": a,
@@ -817,9 +817,9 @@ const Mr = ({
817
817
  // as the click affordance), then the circular avatar photo
818
818
  // taking the rest of the tab. Reinforces "this is an
819
819
  // avatar-based experience" even when collapsed.
820
- /* @__PURE__ */ b($e, { children: [
820
+ /* @__PURE__ */ w(ze, { children: [
821
821
  /* @__PURE__ */ n(
822
- sn,
822
+ cn,
823
823
  {
824
824
  direction: p,
825
825
  className: "ll-hidden__chevron ll-hidden__chevron--mini"
@@ -836,7 +836,7 @@ const Mr = ({
836
836
  )
837
837
  ] })
838
838
  ) : /* @__PURE__ */ n(
839
- sn,
839
+ cn,
840
840
  {
841
841
  direction: p,
842
842
  className: "ll-hidden__chevron"
@@ -844,7 +844,7 @@ const Mr = ({
844
844
  )
845
845
  }
846
846
  );
847
- }, Tr = ({
847
+ }, $r = ({
848
848
  audioLevel: e,
849
849
  bars: t = 20,
850
850
  maxHeight: r = 20,
@@ -852,31 +852,31 @@ const Mr = ({
852
852
  className: a,
853
853
  barClassName: o
854
854
  }) => {
855
- const s = A(null), l = A([]), c = Ze(() => {
856
- const v = (Math.sqrt(5) - 1) / 2;
857
- return Array.from({ length: t }, (f, u) => 0.5 + u * v % 1 * 0.5);
855
+ const s = A(null), l = A([]), c = nt(() => {
856
+ const b = (Math.sqrt(5) - 1) / 2;
857
+ return Array.from({ length: t }, (f, d) => 0.5 + d * b % 1 * 0.5);
858
858
  }, [t]);
859
859
  M(() => e.subscribe((f) => {
860
- for (let u = 0; u < t; u++) {
861
- const R = l.current[u];
860
+ for (let d = 0; d < t; d++) {
861
+ const R = l.current[d];
862
862
  if (!R) continue;
863
- const k = Math.max(i, f * r * c[u]);
863
+ const k = Math.max(i, f * r * c[d]);
864
864
  R.style.height = `${k}px`;
865
865
  }
866
866
  }), [e, t, r, i, c]);
867
867
  const p = ["ll-waveform", a].filter(Boolean).join(" ");
868
- return /* @__PURE__ */ n("div", { ref: s, className: p, "aria-hidden": "true", children: Array.from({ length: t }, (v, f) => /* @__PURE__ */ n(
868
+ return /* @__PURE__ */ n("div", { ref: s, className: p, "aria-hidden": "true", children: Array.from({ length: t }, (b, f) => /* @__PURE__ */ n(
869
869
  "div",
870
870
  {
871
- ref: (u) => {
872
- l.current[f] = u;
871
+ ref: (d) => {
872
+ l.current[f] = d;
873
873
  },
874
874
  className: ["ll-waveform__bar", o].filter(Boolean).join(" "),
875
875
  style: { height: `${i}px` }
876
876
  },
877
877
  f
878
878
  )) });
879
- }, Dr = ({
879
+ }, zr = ({
880
880
  position: e,
881
881
  isMobile: t,
882
882
  agentName: r,
@@ -893,7 +893,7 @@ const Mr = ({
893
893
  className: "ll-minimized ll-minimized--mobile",
894
894
  role: "region",
895
895
  "aria-label": `${r} widget`,
896
- children: /* @__PURE__ */ b(
896
+ children: /* @__PURE__ */ w(
897
897
  "button",
898
898
  {
899
899
  type: "button",
@@ -913,7 +913,7 @@ const Mr = ({
913
913
  )
914
914
  ) : /* @__PURE__ */ n("div", { className: "ll-minimized__avatar ll-minimized__avatar--placeholder" }),
915
915
  /* @__PURE__ */ n(
916
- Tr,
916
+ $r,
917
917
  {
918
918
  audioLevel: s,
919
919
  bars: 16,
@@ -922,24 +922,24 @@ const Mr = ({
922
922
  }
923
923
  ),
924
924
  /* @__PURE__ */ n("span", { className: "ll-minimized__name", children: r }),
925
- /* @__PURE__ */ b("div", { className: "ll-minimized__controls", children: [
925
+ /* @__PURE__ */ w("div", { className: "ll-minimized__controls", children: [
926
926
  /* @__PURE__ */ n(
927
927
  "span",
928
928
  {
929
929
  className: "ll-minimized__btn",
930
930
  role: "button",
931
931
  tabIndex: 0,
932
- onClick: (v) => {
933
- v.stopPropagation(), c();
932
+ onClick: (b) => {
933
+ b.stopPropagation(), c();
934
934
  },
935
- onKeyDown: (v) => {
936
- (v.key === "Enter" || v.key === " ") && (v.stopPropagation(), v.preventDefault(), c());
935
+ onKeyDown: (b) => {
936
+ (b.key === "Enter" || b.key === " ") && (b.stopPropagation(), b.preventDefault(), c());
937
937
  },
938
938
  "aria-label": o ? "Unmute microphone" : "Mute microphone",
939
- children: /* @__PURE__ */ n(ln, { muted: o, className: "ll-minimized__icon" })
939
+ children: /* @__PURE__ */ n(an, { muted: o, className: "ll-minimized__icon" })
940
940
  }
941
941
  ),
942
- /* @__PURE__ */ n(an, { className: "ll-minimized__icon ll-minimized__icon--expand" })
942
+ /* @__PURE__ */ n(sn, { className: "ll-minimized__icon ll-minimized__icon--expand" })
943
943
  ] })
944
944
  ]
945
945
  }
@@ -952,7 +952,7 @@ const Mr = ({
952
952
  "data-position": e,
953
953
  role: "region",
954
954
  "aria-label": `${r} widget`,
955
- children: /* @__PURE__ */ b("div", { className: "ll-minimized__surface", children: [
955
+ children: /* @__PURE__ */ w("div", { className: "ll-minimized__surface", children: [
956
956
  i ? (
957
957
  // eslint-disable-next-line @next/next/no-img-element
958
958
  /* @__PURE__ */ n(
@@ -964,11 +964,11 @@ const Mr = ({
964
964
  }
965
965
  )
966
966
  ) : /* @__PURE__ */ n("div", { className: "ll-minimized__avatar ll-minimized__avatar--placeholder" }),
967
- /* @__PURE__ */ b("div", { className: "ll-minimized__meta", children: [
967
+ /* @__PURE__ */ w("div", { className: "ll-minimized__meta", children: [
968
968
  /* @__PURE__ */ n("span", { className: "ll-minimized__name", children: r }),
969
969
  /* @__PURE__ */ n("span", { className: "ll-minimized__state", children: a === "speaking" ? "Speaking" : a === "thinking" ? "Thinking" : "Listening" })
970
970
  ] }),
971
- /* @__PURE__ */ b("div", { className: "ll-minimized__controls", children: [
971
+ /* @__PURE__ */ w("div", { className: "ll-minimized__controls", children: [
972
972
  /* @__PURE__ */ n(
973
973
  "button",
974
974
  {
@@ -976,7 +976,7 @@ const Mr = ({
976
976
  className: "ll-minimized__btn",
977
977
  onClick: c,
978
978
  "aria-label": o ? "Unmute microphone" : "Mute microphone",
979
- children: /* @__PURE__ */ n(ln, { muted: o, className: "ll-minimized__icon" })
979
+ children: /* @__PURE__ */ n(an, { muted: o, className: "ll-minimized__icon" })
980
980
  }
981
981
  ),
982
982
  /* @__PURE__ */ n(
@@ -986,7 +986,7 @@ const Mr = ({
986
986
  className: "ll-minimized__btn",
987
987
  onClick: l,
988
988
  "aria-label": `Expand ${r} widget`,
989
- children: /* @__PURE__ */ n(an, { className: "ll-minimized__icon" })
989
+ children: /* @__PURE__ */ n(sn, { className: "ll-minimized__icon" })
990
990
  }
991
991
  ),
992
992
  /* @__PURE__ */ n(
@@ -996,13 +996,13 @@ const Mr = ({
996
996
  className: "ll-minimized__btn ll-minimized__btn--close",
997
997
  onClick: p,
998
998
  "aria-label": "Close widget",
999
- children: /* @__PURE__ */ n(Sr, { className: "ll-minimized__icon" })
999
+ children: /* @__PURE__ */ n(Ir, { className: "ll-minimized__icon" })
1000
1000
  }
1001
1001
  )
1002
1002
  ] })
1003
1003
  ] })
1004
1004
  }
1005
- ), Pr = ({
1005
+ ), Hr = ({
1006
1006
  src: e,
1007
1007
  alt: t,
1008
1008
  preCannedPlaying: r = !1,
@@ -1040,13 +1040,13 @@ const Mr = ({
1040
1040
  }
1041
1041
  )
1042
1042
  );
1043
- }, $r = "#E06540";
1044
- function zr({
1043
+ }, Or = "#E06540";
1044
+ function Br({
1045
1045
  size: e = 14,
1046
1046
  className: t,
1047
- fill: r = $r
1047
+ fill: r = Or
1048
1048
  }) {
1049
- return /* @__PURE__ */ b(
1049
+ return /* @__PURE__ */ w(
1050
1050
  "svg",
1051
1051
  {
1052
1052
  xmlns: "http://www.w3.org/2000/svg",
@@ -1082,14 +1082,14 @@ function zr({
1082
1082
  }
1083
1083
  );
1084
1084
  }
1085
- const Hr = 8, un = 8, Or = ({
1085
+ const Wr = 8, fn = 8, Fr = ({
1086
1086
  open: e,
1087
1087
  onClose: t,
1088
1088
  anchorRef: r,
1089
1089
  children: i
1090
1090
  }) => {
1091
1091
  const a = A(null), [o, s] = S(null);
1092
- return Ln(() => {
1092
+ return kn(() => {
1093
1093
  if (!e) {
1094
1094
  s(null);
1095
1095
  return;
@@ -1097,11 +1097,11 @@ const Hr = 8, un = 8, Or = ({
1097
1097
  const l = r.current;
1098
1098
  if (!l) return;
1099
1099
  const c = () => {
1100
- const p = l.getBoundingClientRect(), v = {
1101
- top: p.top - Hr,
1100
+ const p = l.getBoundingClientRect(), b = {
1101
+ top: p.top - Wr,
1102
1102
  left: p.left + p.width / 2
1103
- }, f = un + 90, u = window.innerWidth - un - 90;
1104
- v.left < f && (v.left = f), v.left > u && (v.left = u), s(v);
1103
+ }, f = fn + 90, d = window.innerWidth - fn - 90;
1104
+ b.left < f && (b.left = f), b.left > d && (b.left = d), s(b);
1105
1105
  };
1106
1106
  return c(), window.addEventListener("scroll", c, !0), window.addEventListener("resize", c), () => {
1107
1107
  window.removeEventListener("scroll", c, !0), window.removeEventListener("resize", c);
@@ -1109,15 +1109,15 @@ const Hr = 8, un = 8, Or = ({
1109
1109
  }, [e, r]), M(() => {
1110
1110
  if (!e) return;
1111
1111
  const l = (p) => {
1112
- const v = p.target, f = a.current, u = r.current;
1113
- f && f.contains(v) || u && u.contains(v) || t();
1112
+ const b = p.target, f = a.current, d = r.current;
1113
+ f && f.contains(b) || d && d.contains(b) || t();
1114
1114
  }, c = (p) => {
1115
1115
  p.key === "Escape" && (p.stopPropagation(), t());
1116
1116
  };
1117
1117
  return document.addEventListener("mousedown", l), document.addEventListener("keydown", c), () => {
1118
1118
  document.removeEventListener("mousedown", l), document.removeEventListener("keydown", c);
1119
1119
  };
1120
- }, [e, t, r]), !e || o === null || typeof document > "u" ? null : $t(
1120
+ }, [e, t, r]), !e || o === null || typeof document > "u" ? null : zt(
1121
1121
  /* @__PURE__ */ n(
1122
1122
  "div",
1123
1123
  {
@@ -1137,7 +1137,7 @@ const Hr = 8, un = 8, Or = ({
1137
1137
  ),
1138
1138
  document.body
1139
1139
  );
1140
- }, Br = ({
1140
+ }, qr = ({
1141
1141
  isMuted: e,
1142
1142
  onToggleMute: t,
1143
1143
  isCameraEnabled: r,
@@ -1148,19 +1148,19 @@ const Hr = 8, un = 8, Or = ({
1148
1148
  allowScreenShare: l,
1149
1149
  isSpeakerMuted: c,
1150
1150
  onToggleSpeaker: p,
1151
- allowTyping: v,
1151
+ allowTyping: b,
1152
1152
  isTypingOpen: f,
1153
- onToggleTyping: u,
1153
+ onToggleTyping: d,
1154
1154
  onDisconnect: R
1155
1155
  }) => {
1156
- const [k, _] = S(!1), m = A(null);
1157
- return /* @__PURE__ */ b($e, { children: [
1158
- /* @__PURE__ */ b(
1156
+ const [k, _] = S(!1), h = A(null);
1157
+ return /* @__PURE__ */ w(ze, { children: [
1158
+ /* @__PURE__ */ w(
1159
1159
  "div",
1160
1160
  {
1161
1161
  className: "ll-toolbar ll-toolbar--compact",
1162
1162
  "data-testid": "compact-toolbar",
1163
- onClick: (w) => w.stopPropagation(),
1163
+ onClick: (y) => y.stopPropagation(),
1164
1164
  children: [
1165
1165
  /* @__PURE__ */ n(
1166
1166
  "button",
@@ -1169,20 +1169,20 @@ const Hr = 8, un = 8, Or = ({
1169
1169
  className: `ll-tool ${e ? "is-muted" : ""}`,
1170
1170
  onClick: t,
1171
1171
  "aria-label": e ? "Unmute microphone" : "Mute microphone",
1172
- children: /* @__PURE__ */ n(Nn, { muted: e })
1172
+ children: /* @__PURE__ */ n(In, { muted: e })
1173
1173
  }
1174
1174
  ),
1175
1175
  /* @__PURE__ */ n(
1176
1176
  "button",
1177
1177
  {
1178
- ref: m,
1178
+ ref: h,
1179
1179
  type: "button",
1180
1180
  className: `ll-tool ${k ? "is-on" : ""}`,
1181
- onClick: () => _((w) => !w),
1181
+ onClick: () => _((y) => !y),
1182
1182
  "aria-label": "More controls",
1183
1183
  "aria-haspopup": "menu",
1184
1184
  "aria-expanded": k,
1185
- children: /* @__PURE__ */ n(Wr, {})
1185
+ children: /* @__PURE__ */ n(Ur, {})
1186
1186
  }
1187
1187
  ),
1188
1188
  /* @__PURE__ */ n(
@@ -1192,20 +1192,20 @@ const Hr = 8, un = 8, Or = ({
1192
1192
  className: "ll-tool ll-tool--danger",
1193
1193
  onClick: R,
1194
1194
  "aria-label": "End conversation",
1195
- children: /* @__PURE__ */ n(In, {})
1195
+ children: /* @__PURE__ */ n(Mn, {})
1196
1196
  }
1197
1197
  )
1198
1198
  ]
1199
1199
  }
1200
1200
  ),
1201
- /* @__PURE__ */ b(
1202
- Or,
1201
+ /* @__PURE__ */ w(
1202
+ Fr,
1203
1203
  {
1204
1204
  open: k,
1205
1205
  onClose: () => _(!1),
1206
- anchorRef: m,
1206
+ anchorRef: h,
1207
1207
  children: [
1208
- a && /* @__PURE__ */ b(
1208
+ a && /* @__PURE__ */ w(
1209
1209
  "button",
1210
1210
  {
1211
1211
  type: "button",
@@ -1214,12 +1214,12 @@ const Hr = 8, un = 8, Or = ({
1214
1214
  i(), _(!1);
1215
1215
  },
1216
1216
  children: [
1217
- /* @__PURE__ */ n(Sn, {}),
1217
+ /* @__PURE__ */ n(An, {}),
1218
1218
  /* @__PURE__ */ n("span", { children: r ? "Stop camera" : "Start camera" })
1219
1219
  ]
1220
1220
  }
1221
1221
  ),
1222
- l && /* @__PURE__ */ b(
1222
+ l && /* @__PURE__ */ w(
1223
1223
  "button",
1224
1224
  {
1225
1225
  type: "button",
@@ -1228,12 +1228,12 @@ const Hr = 8, un = 8, Or = ({
1228
1228
  s(), _(!1);
1229
1229
  },
1230
1230
  children: [
1231
- /* @__PURE__ */ n(En, {}),
1231
+ /* @__PURE__ */ n(Nn, {}),
1232
1232
  /* @__PURE__ */ n("span", { children: o ? "Stop sharing" : "Share screen" })
1233
1233
  ]
1234
1234
  }
1235
1235
  ),
1236
- /* @__PURE__ */ b(
1236
+ /* @__PURE__ */ w(
1237
1237
  "button",
1238
1238
  {
1239
1239
  type: "button",
@@ -1242,26 +1242,26 @@ const Hr = 8, un = 8, Or = ({
1242
1242
  p(), _(!1);
1243
1243
  },
1244
1244
  children: [
1245
- /* @__PURE__ */ n(An, { muted: c }),
1245
+ /* @__PURE__ */ n(Rn, { muted: c }),
1246
1246
  /* @__PURE__ */ n("span", { children: c ? "Unmute speaker" : "Mute speaker" })
1247
1247
  ]
1248
1248
  }
1249
1249
  ),
1250
- v && /* @__PURE__ */ b(
1250
+ b && /* @__PURE__ */ w(
1251
1251
  "button",
1252
1252
  {
1253
1253
  type: "button",
1254
1254
  className: `ll-overflow-popover__item ${f ? "is-on" : ""}`,
1255
1255
  onClick: () => {
1256
- u(), _(!1);
1256
+ d(), _(!1);
1257
1257
  },
1258
1258
  children: [
1259
- /* @__PURE__ */ n(Fr, {}),
1259
+ /* @__PURE__ */ n(jr, {}),
1260
1260
  /* @__PURE__ */ n("span", { children: f ? "Hide typing" : "Type a message" })
1261
1261
  ]
1262
1262
  }
1263
1263
  ),
1264
- /* @__PURE__ */ b(
1264
+ /* @__PURE__ */ w(
1265
1265
  "button",
1266
1266
  {
1267
1267
  type: "button",
@@ -1279,8 +1279,8 @@ const Hr = 8, un = 8, Or = ({
1279
1279
  )
1280
1280
  ] });
1281
1281
  };
1282
- function Wr() {
1283
- return /* @__PURE__ */ b(
1282
+ function Ur() {
1283
+ return /* @__PURE__ */ w(
1284
1284
  "svg",
1285
1285
  {
1286
1286
  width: "16",
@@ -1296,7 +1296,7 @@ function Wr() {
1296
1296
  }
1297
1297
  );
1298
1298
  }
1299
- function Fr() {
1299
+ function jr() {
1300
1300
  return /* @__PURE__ */ n(
1301
1301
  "svg",
1302
1302
  {
@@ -1313,7 +1313,7 @@ function Fr() {
1313
1313
  }
1314
1314
  );
1315
1315
  }
1316
- const qr = ({
1316
+ const Vr = ({
1317
1317
  position: e,
1318
1318
  isMobile: t,
1319
1319
  agentName: r,
@@ -1324,19 +1324,19 @@ const qr = ({
1324
1324
  teamMembers: l,
1325
1325
  currentTeamMemberId: c,
1326
1326
  isSwitchingTeamMember: p,
1327
- teamSwitcherOpen: v,
1327
+ teamSwitcherOpen: b,
1328
1328
  onToggleTeamSwitcher: f,
1329
- onSelectTeamMember: u,
1329
+ onSelectTeamMember: d,
1330
1330
  languageMenuOpen: R,
1331
1331
  onToggleLanguageMenu: k,
1332
1332
  connectionState: _,
1333
- agentState: m,
1334
- transcript: w,
1333
+ agentState: h,
1334
+ transcript: y,
1335
1335
  canResume: N,
1336
1336
  needsUserGesture: T,
1337
1337
  error: I,
1338
1338
  isMuted: U,
1339
- micError: g,
1339
+ micError: v,
1340
1340
  micDevices: P,
1341
1341
  activeMicId: O,
1342
1342
  isCameraEnabled: q,
@@ -1347,8 +1347,8 @@ const qr = ({
1347
1347
  screenPreviewEl: Z,
1348
1348
  isSpeakerMuted: we,
1349
1349
  allowCamera: ce,
1350
- allowScreenShare: ze,
1351
- allowTyping: He,
1350
+ allowScreenShare: He,
1351
+ allowTyping: Oe,
1352
1352
  showMinimize: X = !0,
1353
1353
  showClose: Se = !0,
1354
1354
  chromeless: _e = !1,
@@ -1357,14 +1357,14 @@ const qr = ({
1357
1357
  transformingLabel: Y,
1358
1358
  avatarVideoContainerRef: fe,
1359
1359
  agentVideoEl: K,
1360
- onConnect: Qe,
1361
- onDisconnect: et,
1362
- onRetry: ft,
1363
- onResumeAudio: tt,
1360
+ onConnect: rt,
1361
+ onDisconnect: it,
1362
+ onRetry: mt,
1363
+ onResumeAudio: ot,
1364
1364
  onToggleMute: Ne,
1365
- onSwitchMicDevice: Oe,
1365
+ onSwitchMicDevice: Be,
1366
1366
  onToggleCamera: Ae,
1367
- onSwitchCameraDevice: Be,
1367
+ onSwitchCameraDevice: We,
1368
1368
  onToggleScreenShare: Ie,
1369
1369
  onToggleSpeaker: Re,
1370
1370
  onSendMessage: Me,
@@ -1372,21 +1372,21 @@ const qr = ({
1372
1372
  onClose: $,
1373
1373
  onClearMicError: Lt
1374
1374
  }) => {
1375
- var gt;
1376
- const De = ((l == null ? void 0 : l.length) ?? 0) > 1, We = _ === "connecting" || _ === "connected", pe = _ === "connected", nt = _ === "idle" || _ === "disconnected" || _ === "error", [Pe, Fe] = S(!1);
1375
+ var Je;
1376
+ const De = ((l == null ? void 0 : l.length) ?? 0) > 1, Fe = _ === "connecting" || _ === "connected", pe = _ === "connected", lt = _ === "idle" || _ === "disconnected" || _ === "error", [Pe, qe] = S(!1);
1377
1377
  M(() => {
1378
1378
  if (!K) {
1379
- Fe(!1);
1379
+ qe(!1);
1380
1380
  return;
1381
1381
  }
1382
1382
  if (!K.paused && K.readyState >= 2) {
1383
- Fe(!0);
1383
+ qe(!0);
1384
1384
  return;
1385
1385
  }
1386
- Fe(!1);
1387
- const h = () => Fe(!0);
1388
- return K.addEventListener("playing", h), K.addEventListener("loadeddata", h), () => {
1389
- K.removeEventListener("playing", h), K.removeEventListener("loadeddata", h);
1386
+ qe(!1);
1387
+ const m = () => qe(!0);
1388
+ return K.addEventListener("playing", m), K.addEventListener("loadeddata", m), () => {
1389
+ K.removeEventListener("playing", m), K.removeEventListener("loadeddata", m);
1390
1390
  };
1391
1391
  }, [K]);
1392
1392
  const [kt, ke] = S(!1);
@@ -1396,67 +1396,67 @@ const qr = ({
1396
1396
  return;
1397
1397
  }
1398
1398
  if (Pe) return;
1399
- const h = setTimeout(() => ke(!0), 8e3);
1400
- return () => clearTimeout(h);
1399
+ const m = setTimeout(() => ke(!0), 8e3);
1400
+ return () => clearTimeout(m);
1401
1401
  }, [pe, Pe]);
1402
- const oe = _ === "connecting" || pe && !!i && !Pe && !kt, rt = A(null), me = A(null);
1402
+ const oe = _ === "connecting" || pe && !!i && !Pe && !kt, at = A(null), de = A(null);
1403
1403
  M(() => {
1404
- const h = rt.current;
1405
- h && (h.innerHTML = "", ne && (ne.style.width = "100%", ne.style.height = "100%", ne.style.objectFit = "cover", ne.style.transform = "scaleX(-1)", h.appendChild(ne)));
1404
+ const m = at.current;
1405
+ m && (m.innerHTML = "", ne && (ne.style.width = "100%", ne.style.height = "100%", ne.style.objectFit = "cover", ne.style.transform = "scaleX(-1)", m.appendChild(ne)));
1406
1406
  }, [ne]), M(() => {
1407
- const h = me.current;
1408
- h && (h.innerHTML = "", Z && (Z.style.width = "100%", Z.style.height = "100%", Z.style.objectFit = "contain", h.appendChild(Z)));
1407
+ const m = de.current;
1408
+ m && (m.innerHTML = "", Z && (Z.style.width = "100%", Z.style.height = "100%", Z.style.objectFit = "contain", m.appendChild(Z)));
1409
1409
  }, [Z]);
1410
- const [qe, Ue] = S(!1), [le, de] = S(!1), pt = A(null), ht = A(null);
1410
+ const [ae, st] = S(!1), [Ue, Ce] = S(!1), je = A(null), ct = A(null);
1411
1411
  M(() => {
1412
- if (!qe && !le && !R && !v) return;
1413
- const h = () => {
1414
- Ue(!1), de(!1), R && k(), v && f();
1412
+ if (!ae && !Ue && !R && !b) return;
1413
+ const m = () => {
1414
+ st(!1), Ce(!1), R && k(), b && f();
1415
1415
  };
1416
- return document.addEventListener("click", h), () => document.removeEventListener("click", h);
1416
+ return document.addEventListener("click", m), () => document.removeEventListener("click", m);
1417
1417
  }, [
1418
- qe,
1419
- le,
1418
+ ae,
1419
+ Ue,
1420
1420
  R,
1421
- v,
1421
+ b,
1422
1422
  k,
1423
1423
  f
1424
1424
  ]);
1425
- const [Ce, it] = S(!1), se = E(() => it((h) => !h), []), [ue, Ee] = S(""), ot = E(
1426
- (h) => {
1427
- h.preventDefault();
1428
- const Q = ue.trim();
1429
- Q && (Me(Q), Ee(""));
1425
+ const [ue, xe] = S(!1), Ct = E(() => xe((m) => !m), []), [Ve, Ye] = S(""), se = E(
1426
+ (m) => {
1427
+ m.preventDefault();
1428
+ const Q = Ve.trim();
1429
+ Q && (Me(Q), Ye(""));
1430
1430
  },
1431
- [ue, Me]
1432
- ), mt = s.productName || "Live Layer", lt = !s.productName;
1433
- let ge = null, xe = null;
1434
- for (let h = w.length - 1; h >= 0; h--) {
1435
- const Q = w[h];
1436
- if (!ge && Q.role === "agent" ? ge = Q : !xe && Q.role === "user" && (xe = Q), ge && xe) break;
1431
+ [Ve, Me]
1432
+ ), me = s.productName || "Live Layer", $e = !s.productName;
1433
+ let ge = null, Ee = null;
1434
+ for (let m = y.length - 1; m >= 0; m--) {
1435
+ const Q = y[m];
1436
+ if (!ge && Q.role === "agent" ? ge = Q : !Ee && Q.role === "user" && (Ee = Q), ge && Ee) break;
1437
1437
  }
1438
- const je = pe ? (ge == null ? void 0 : ge.text) || null : o || null, Ve = pe && (xe == null ? void 0 : xe.text) || null, Ct = [
1438
+ const Ge = pe ? (ge == null ? void 0 : ge.text) || null : o || null, Ke = pe && (Ee == null ? void 0 : Ee.text) || null, gt = [
1439
1439
  "ll-expanded",
1440
1440
  t ? "ll-expanded--mobile" : "ll-expanded--desktop"
1441
1441
  ].join(" ");
1442
- return /* @__PURE__ */ b(
1442
+ return /* @__PURE__ */ w(
1443
1443
  "div",
1444
1444
  {
1445
- className: Ct,
1445
+ className: gt,
1446
1446
  "data-position": e,
1447
- "data-state": pe ? "connected" : We ? "connecting" : "idle",
1447
+ "data-state": pe ? "connected" : Fe ? "connecting" : "idle",
1448
1448
  role: "dialog",
1449
1449
  "aria-label": `${r} widget`,
1450
1450
  children: [
1451
- /* @__PURE__ */ b("div", { className: "ll-expanded__bg", children: [
1451
+ /* @__PURE__ */ w("div", { className: "ll-expanded__bg", children: [
1452
1452
  i ? /* @__PURE__ */ n(
1453
- Pr,
1453
+ Hr,
1454
1454
  {
1455
1455
  src: i,
1456
1456
  alt: r,
1457
1457
  className: "ll-expanded__bg-img"
1458
1458
  }
1459
- ) : /* @__PURE__ */ n("div", { className: "ll-expanded__bg-fallback", children: /* @__PURE__ */ n("span", { className: "ll-expanded__bg-initial", children: ((gt = r == null ? void 0 : r.charAt(0)) == null ? void 0 : gt.toUpperCase()) || "A" }) }),
1459
+ ) : /* @__PURE__ */ n("div", { className: "ll-expanded__bg-fallback", children: /* @__PURE__ */ n("span", { className: "ll-expanded__bg-initial", children: ((Je = r == null ? void 0 : r.charAt(0)) == null ? void 0 : Je.toUpperCase()) || "A" }) }),
1460
1460
  a && !pe && /* @__PURE__ */ n(
1461
1461
  "video",
1462
1462
  {
@@ -1470,23 +1470,23 @@ const qr = ({
1470
1470
  )
1471
1471
  ] }),
1472
1472
  /* @__PURE__ */ n("div", { ref: fe, className: "ll-expanded__video" }),
1473
- oe && /* @__PURE__ */ b("div", { className: "ll-expanded__overlay ll-expanded__overlay--connecting", children: [
1473
+ oe && /* @__PURE__ */ w("div", { className: "ll-expanded__overlay ll-expanded__overlay--connecting", children: [
1474
1474
  /* @__PURE__ */ n("div", { className: "ll-expanded__spinner" }),
1475
1475
  /* @__PURE__ */ n("p", { className: "ll-expanded__overlay-text", children: p ? "Switching..." : "Connecting..." })
1476
1476
  ] }),
1477
- T && pe && /* @__PURE__ */ b(
1477
+ T && pe && /* @__PURE__ */ w(
1478
1478
  "button",
1479
1479
  {
1480
1480
  type: "button",
1481
1481
  className: "ll-expanded__overlay ll-expanded__overlay--gesture",
1482
- onClick: tt,
1482
+ onClick: ot,
1483
1483
  children: [
1484
1484
  /* @__PURE__ */ n("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.54.12a5 5 0 0 1 0 5.76l-1.41-1.41a3 3 0 0 0 0-2.94L16.54 9.12z" }) }),
1485
1485
  /* @__PURE__ */ n("p", { className: "ll-expanded__overlay-text", children: "Tap to enable audio" })
1486
1486
  ]
1487
1487
  }
1488
1488
  ),
1489
- ie && /* @__PURE__ */ b(
1489
+ ie && /* @__PURE__ */ w(
1490
1490
  "div",
1491
1491
  {
1492
1492
  className: "ll-expanded__overlay ll-expanded__overlay--transforming",
@@ -1499,66 +1499,66 @@ const qr = ({
1499
1499
  ]
1500
1500
  }
1501
1501
  ),
1502
- We ? /* @__PURE__ */ b($e, { children: [
1503
- !W && /* @__PURE__ */ b("div", { className: "ll-expanded__topbar", children: [
1504
- !_e && /* @__PURE__ */ b("div", { className: "ll-expanded__topbar-left", children: [
1505
- /* @__PURE__ */ b("div", { className: "ll-expanded__pill-wrap", children: [
1506
- /* @__PURE__ */ b(
1502
+ Fe ? /* @__PURE__ */ w(ze, { children: [
1503
+ !W && /* @__PURE__ */ w("div", { className: "ll-expanded__topbar", children: [
1504
+ !_e && /* @__PURE__ */ w("div", { className: "ll-expanded__topbar-left", children: [
1505
+ /* @__PURE__ */ w("div", { className: "ll-expanded__pill-wrap", children: [
1506
+ /* @__PURE__ */ w(
1507
1507
  "button",
1508
1508
  {
1509
1509
  type: "button",
1510
1510
  className: "ll-hpill",
1511
- onClick: (h) => {
1512
- De && (h.stopPropagation(), f());
1511
+ onClick: (m) => {
1512
+ De && (m.stopPropagation(), f());
1513
1513
  },
1514
1514
  "aria-haspopup": De ? "listbox" : void 0,
1515
- "aria-expanded": De ? v : void 0,
1515
+ "aria-expanded": De ? b : void 0,
1516
1516
  children: [
1517
1517
  /* @__PURE__ */ n("span", { className: "ll-hpill__label", children: r }),
1518
1518
  De && /* @__PURE__ */ n(wt, {})
1519
1519
  ]
1520
1520
  }
1521
1521
  ),
1522
- De && v && /* @__PURE__ */ n(
1522
+ De && b && /* @__PURE__ */ n(
1523
1523
  "div",
1524
1524
  {
1525
1525
  className: "ll-hmenu",
1526
- onClick: (h) => h.stopPropagation(),
1526
+ onClick: (m) => m.stopPropagation(),
1527
1527
  role: "listbox",
1528
- children: l == null ? void 0 : l.map((h) => /* @__PURE__ */ b(
1528
+ children: l == null ? void 0 : l.map((m) => /* @__PURE__ */ w(
1529
1529
  "button",
1530
1530
  {
1531
1531
  type: "button",
1532
- className: `ll-hmenu__item ${h.id === c ? "is-active" : ""}`,
1533
- onClick: () => u(h.id),
1532
+ className: `ll-hmenu__item ${m.id === c ? "is-active" : ""}`,
1533
+ onClick: () => d(m.id),
1534
1534
  role: "option",
1535
- "aria-selected": h.id === c,
1535
+ "aria-selected": m.id === c,
1536
1536
  children: [
1537
- h.avatarImageUrl && /* @__PURE__ */ n(
1537
+ m.avatarImageUrl && /* @__PURE__ */ n(
1538
1538
  "img",
1539
1539
  {
1540
- src: h.avatarImageUrl,
1540
+ src: m.avatarImageUrl,
1541
1541
  alt: "",
1542
1542
  className: "ll-hmenu__avatar"
1543
1543
  }
1544
1544
  ),
1545
- /* @__PURE__ */ n("span", { className: "ll-hmenu__name", children: h.name }),
1546
- h.role && /* @__PURE__ */ n("span", { className: "ll-hmenu__role", children: h.role })
1545
+ /* @__PURE__ */ n("span", { className: "ll-hmenu__name", children: m.name }),
1546
+ m.role && /* @__PURE__ */ n("span", { className: "ll-hmenu__role", children: m.role })
1547
1547
  ]
1548
1548
  },
1549
- h.id
1549
+ m.id
1550
1550
  ))
1551
1551
  }
1552
1552
  )
1553
1553
  ] }),
1554
- /* @__PURE__ */ b("div", { className: "ll-expanded__pill-wrap", children: [
1555
- /* @__PURE__ */ b(
1554
+ /* @__PURE__ */ w("div", { className: "ll-expanded__pill-wrap", children: [
1555
+ /* @__PURE__ */ w(
1556
1556
  "button",
1557
1557
  {
1558
1558
  type: "button",
1559
1559
  className: "ll-hpill ll-hpill--compact",
1560
- onClick: (h) => {
1561
- h.stopPropagation(), k();
1560
+ onClick: (m) => {
1561
+ m.stopPropagation(), k();
1562
1562
  },
1563
1563
  "aria-haspopup": "listbox",
1564
1564
  "aria-expanded": R,
@@ -1574,7 +1574,7 @@ const qr = ({
1574
1574
  "div",
1575
1575
  {
1576
1576
  className: "ll-hmenu",
1577
- onClick: (h) => h.stopPropagation(),
1577
+ onClick: (m) => m.stopPropagation(),
1578
1578
  role: "listbox",
1579
1579
  children: /* @__PURE__ */ n(
1580
1580
  "button",
@@ -1592,12 +1592,12 @@ const qr = ({
1592
1592
  /* @__PURE__ */ n(
1593
1593
  "span",
1594
1594
  {
1595
- className: `ll-expanded__state ll-expanded__state--${m}`,
1596
- children: m
1595
+ className: `ll-expanded__state ll-expanded__state--${h}`,
1596
+ children: h
1597
1597
  }
1598
1598
  )
1599
1599
  ] }),
1600
- /* @__PURE__ */ b("div", { className: "ll-expanded__header-actions", children: [
1600
+ /* @__PURE__ */ w("div", { className: "ll-expanded__header-actions", children: [
1601
1601
  X !== !1 && /* @__PURE__ */ n(
1602
1602
  "button",
1603
1603
  {
@@ -1606,7 +1606,7 @@ const qr = ({
1606
1606
  onClick: Te,
1607
1607
  "aria-label": "Minimize widget",
1608
1608
  title: "Minimize",
1609
- children: /* @__PURE__ */ n(pn, {})
1609
+ children: /* @__PURE__ */ n(hn, {})
1610
1610
  }
1611
1611
  ),
1612
1612
  Se !== !1 && /* @__PURE__ */ n(
@@ -1617,22 +1617,22 @@ const qr = ({
1617
1617
  onClick: $,
1618
1618
  "aria-label": "End call",
1619
1619
  title: "End call",
1620
- children: /* @__PURE__ */ n(fn, {})
1620
+ children: /* @__PURE__ */ n(pn, {})
1621
1621
  }
1622
1622
  )
1623
1623
  ] })
1624
1624
  ] }),
1625
- W && /* @__PURE__ */ b("div", { className: "ll-compact-status", "data-state": m, children: [
1625
+ W && /* @__PURE__ */ w("div", { className: "ll-compact-status", "data-state": h, children: [
1626
1626
  /* @__PURE__ */ n("span", { className: "ll-compact-status__dot", "aria-hidden": !0 }),
1627
- /* @__PURE__ */ n("span", { className: "ll-compact-status__label", children: m })
1627
+ /* @__PURE__ */ n("span", { className: "ll-compact-status__label", children: h })
1628
1628
  ] })
1629
1629
  ] }) : (
1630
1630
  // Idle-state header with Live Layer product name + minimize/close.
1631
1631
  // Hidden in compact mode — on a 140×210 docked slot the brand pill
1632
1632
  // and 40px buttons crowded out the central "Start video call"
1633
1633
  // affordance. The user can dismiss by scrolling past the slot.
1634
- !W && /* @__PURE__ */ b("div", { className: "ll-expanded__header ll-expanded__header--idle", children: [
1635
- lt ? /* @__PURE__ */ b(
1634
+ !W && /* @__PURE__ */ w("div", { className: "ll-expanded__header ll-expanded__header--idle", children: [
1635
+ $e ? /* @__PURE__ */ w(
1636
1636
  "a",
1637
1637
  {
1638
1638
  className: "ll-expanded__brand ll-expanded__brand--link",
@@ -1642,12 +1642,12 @@ const qr = ({
1642
1642
  "aria-label": "Powered by LiveLayer — opens livelayer.studio in a new tab",
1643
1643
  title: "Powered by LiveLayer — visit livelayer.studio",
1644
1644
  children: [
1645
- /* @__PURE__ */ n(zr, { size: 14, className: "ll-expanded__brand-mark" }),
1646
- /* @__PURE__ */ n("span", { children: mt })
1645
+ /* @__PURE__ */ n(Br, { size: 14, className: "ll-expanded__brand-mark" }),
1646
+ /* @__PURE__ */ n("span", { children: me })
1647
1647
  ]
1648
1648
  }
1649
- ) : /* @__PURE__ */ n("span", { className: "ll-expanded__brand", children: mt }),
1650
- /* @__PURE__ */ b("div", { className: "ll-expanded__header-actions", children: [
1649
+ ) : /* @__PURE__ */ n("span", { className: "ll-expanded__brand", children: me }),
1650
+ /* @__PURE__ */ w("div", { className: "ll-expanded__header-actions", children: [
1651
1651
  X !== !1 && /* @__PURE__ */ n(
1652
1652
  "button",
1653
1653
  {
@@ -1655,7 +1655,7 @@ const qr = ({
1655
1655
  className: "ll-hbtn ll-hbtn--ghost",
1656
1656
  onClick: Te,
1657
1657
  "aria-label": "Minimize widget",
1658
- children: /* @__PURE__ */ n(pn, {})
1658
+ children: /* @__PURE__ */ n(hn, {})
1659
1659
  }
1660
1660
  ),
1661
1661
  Se !== !1 && /* @__PURE__ */ n(
@@ -1665,84 +1665,84 @@ const qr = ({
1665
1665
  className: "ll-hbtn ll-hbtn--danger",
1666
1666
  onClick: $,
1667
1667
  "aria-label": "Close widget",
1668
- children: /* @__PURE__ */ n(fn, {})
1668
+ children: /* @__PURE__ */ n(pn, {})
1669
1669
  }
1670
1670
  )
1671
1671
  ] })
1672
1672
  ] })
1673
1673
  ),
1674
- nt && /* @__PURE__ */ (() => {
1675
- const h = N ? "Resume session" : _ === "disconnected" ? "Reconnect to agent" : "Start video call";
1676
- return /* @__PURE__ */ b($e, { children: [
1677
- !I && /* @__PURE__ */ b(
1674
+ lt && /* @__PURE__ */ (() => {
1675
+ const m = N ? "Resume session" : _ === "disconnected" ? "Reconnect to agent" : "Start video call";
1676
+ return /* @__PURE__ */ w(ze, { children: [
1677
+ !I && /* @__PURE__ */ w(
1678
1678
  "button",
1679
1679
  {
1680
1680
  type: "button",
1681
1681
  className: "ll-expanded__play",
1682
- onClick: Qe,
1683
- "aria-label": h,
1682
+ onClick: rt,
1683
+ "aria-label": m,
1684
1684
  children: [
1685
1685
  /* @__PURE__ */ n("div", { className: "ll-expanded__play-circle", children: /* @__PURE__ */ n("svg", { width: "22", height: "22", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": !0, children: /* @__PURE__ */ n("polygon", { points: "6 3 20 12 6 21 6 3" }) }) }),
1686
- W && /* @__PURE__ */ n("span", { className: "ll-expanded__play-label", children: h })
1686
+ W && /* @__PURE__ */ n("span", { className: "ll-expanded__play-label", children: m })
1687
1687
  ]
1688
1688
  }
1689
1689
  ),
1690
- !W && /* @__PURE__ */ b("div", { className: "ll-expanded__bottom ll-expanded__bottom--idle", children: [
1690
+ !W && /* @__PURE__ */ w("div", { className: "ll-expanded__bottom ll-expanded__bottom--idle", children: [
1691
1691
  o && /* @__PURE__ */ n("div", { className: "ll-expanded__transcript", children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: o }) }),
1692
1692
  /* @__PURE__ */ n(
1693
1693
  "button",
1694
1694
  {
1695
1695
  type: "button",
1696
1696
  className: "ll-expanded__cta",
1697
- onClick: Qe,
1698
- "aria-label": h,
1699
- children: h
1697
+ onClick: rt,
1698
+ "aria-label": m,
1699
+ children: m
1700
1700
  }
1701
1701
  )
1702
1702
  ] })
1703
1703
  ] });
1704
1704
  })(),
1705
- /* @__PURE__ */ b(
1705
+ /* @__PURE__ */ w(
1706
1706
  "div",
1707
1707
  {
1708
- className: `ll-expanded__pip ${We && (q || C) ? "is-visible" : ""}`,
1708
+ className: `ll-expanded__pip ${Fe && (q || C) ? "is-visible" : ""}`,
1709
1709
  children: [
1710
1710
  /* @__PURE__ */ n(
1711
1711
  "div",
1712
1712
  {
1713
- ref: me,
1713
+ ref: de,
1714
1714
  className: C ? "ll-expanded__pip-host" : "ll-expanded__pip-host is-hidden"
1715
1715
  }
1716
1716
  ),
1717
1717
  /* @__PURE__ */ n(
1718
1718
  "div",
1719
1719
  {
1720
- ref: rt,
1720
+ ref: at,
1721
1721
  className: !C && q ? "ll-expanded__pip-host" : "ll-expanded__pip-host is-hidden"
1722
1722
  }
1723
1723
  )
1724
1724
  ]
1725
1725
  }
1726
1726
  ),
1727
- We ? /* @__PURE__ */ b("div", { className: "ll-expanded__bottom", children: [
1728
- !W && je && /* @__PURE__ */ n(
1727
+ Fe ? /* @__PURE__ */ w("div", { className: "ll-expanded__bottom", children: [
1728
+ !W && Ge && /* @__PURE__ */ n(
1729
1729
  "div",
1730
1730
  {
1731
1731
  className: "ll-expanded__transcript ll-expanded__transcript--agent",
1732
1732
  "data-role": "agent",
1733
- children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: je })
1733
+ children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: Ge })
1734
1734
  }
1735
1735
  ),
1736
- !W && Ve && /* @__PURE__ */ n(
1736
+ !W && Ke && /* @__PURE__ */ n(
1737
1737
  "div",
1738
1738
  {
1739
1739
  className: "ll-expanded__transcript ll-expanded__transcript--user",
1740
1740
  "data-role": "user",
1741
- children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: Ve })
1741
+ children: /* @__PURE__ */ n("p", { className: "ll-expanded__transcript-text", children: Ke })
1742
1742
  }
1743
1743
  ),
1744
- !_e && !W && /* @__PURE__ */ b("div", { className: "ll-toolbar", onClick: (h) => h.stopPropagation(), children: [
1745
- ze && /* @__PURE__ */ n(
1744
+ !_e && !W && /* @__PURE__ */ w("div", { className: "ll-toolbar", onClick: (m) => m.stopPropagation(), children: [
1745
+ He && /* @__PURE__ */ n(
1746
1746
  "button",
1747
1747
  {
1748
1748
  type: "button",
@@ -1750,10 +1750,10 @@ const qr = ({
1750
1750
  onClick: Ie,
1751
1751
  "aria-label": C ? "Stop sharing screen" : "Share screen",
1752
1752
  title: C ? "Stop sharing" : "Share screen",
1753
- children: /* @__PURE__ */ n(En, {})
1753
+ children: /* @__PURE__ */ n(Nn, {})
1754
1754
  }
1755
1755
  ),
1756
- ce && /* @__PURE__ */ b("div", { className: "ll-tool-split", children: [
1756
+ ce && /* @__PURE__ */ w("div", { className: "ll-tool-split", children: [
1757
1757
  /* @__PURE__ */ n(
1758
1758
  "button",
1759
1759
  {
@@ -1762,38 +1762,38 @@ const qr = ({
1762
1762
  onClick: Ae,
1763
1763
  "aria-label": q ? "Turn off camera" : "Turn on camera",
1764
1764
  title: q ? "Stop camera" : "Start camera",
1765
- children: /* @__PURE__ */ n(Sn, {})
1765
+ children: /* @__PURE__ */ n(An, {})
1766
1766
  }
1767
1767
  ),
1768
1768
  /* @__PURE__ */ n(
1769
1769
  "button",
1770
1770
  {
1771
- ref: ht,
1771
+ ref: ct,
1772
1772
  type: "button",
1773
1773
  className: `ll-tool ll-tool--right ${q ? "is-on" : ""}`,
1774
- onClick: (h) => {
1775
- h.stopPropagation(), de((Q) => !Q), Ue(!1);
1774
+ onClick: (m) => {
1775
+ m.stopPropagation(), Ce((Q) => !Q), st(!1);
1776
1776
  },
1777
1777
  "aria-label": "Camera devices",
1778
1778
  "aria-haspopup": "listbox",
1779
- "aria-expanded": le,
1779
+ "aria-expanded": Ue,
1780
1780
  children: /* @__PURE__ */ n(wt, {})
1781
1781
  }
1782
1782
  ),
1783
- le && B.length > 0 && /* @__PURE__ */ n(
1784
- hn,
1783
+ Ue && B.length > 0 && /* @__PURE__ */ n(
1784
+ mn,
1785
1785
  {
1786
1786
  label: "Camera",
1787
1787
  devices: B,
1788
1788
  activeId: j,
1789
- anchorRef: ht,
1790
- onPick: (h) => {
1791
- de(!1), Be(h);
1789
+ anchorRef: ct,
1790
+ onPick: (m) => {
1791
+ Ce(!1), We(m);
1792
1792
  }
1793
1793
  }
1794
1794
  )
1795
1795
  ] }),
1796
- /* @__PURE__ */ b("div", { className: "ll-tool-split", children: [
1796
+ /* @__PURE__ */ w("div", { className: "ll-tool-split", children: [
1797
1797
  /* @__PURE__ */ n(
1798
1798
  "button",
1799
1799
  {
@@ -1802,33 +1802,33 @@ const qr = ({
1802
1802
  onClick: Ne,
1803
1803
  "aria-label": U ? "Unmute microphone" : "Mute microphone",
1804
1804
  title: U ? "Unmute" : "Mute",
1805
- children: /* @__PURE__ */ n(Nn, { muted: U })
1805
+ children: /* @__PURE__ */ n(In, { muted: U })
1806
1806
  }
1807
1807
  ),
1808
1808
  /* @__PURE__ */ n(
1809
1809
  "button",
1810
1810
  {
1811
- ref: pt,
1811
+ ref: je,
1812
1812
  type: "button",
1813
1813
  className: `ll-tool ll-tool--right ${U ? "is-muted" : ""}`,
1814
- onClick: (h) => {
1815
- h.stopPropagation(), Ue((Q) => !Q), de(!1);
1814
+ onClick: (m) => {
1815
+ m.stopPropagation(), st((Q) => !Q), Ce(!1);
1816
1816
  },
1817
1817
  "aria-label": "Microphone devices",
1818
1818
  "aria-haspopup": "listbox",
1819
- "aria-expanded": qe,
1819
+ "aria-expanded": ae,
1820
1820
  children: /* @__PURE__ */ n(wt, {})
1821
1821
  }
1822
1822
  ),
1823
- qe && P.length > 0 && /* @__PURE__ */ n(
1824
- hn,
1823
+ ae && P.length > 0 && /* @__PURE__ */ n(
1824
+ mn,
1825
1825
  {
1826
1826
  label: "Microphone",
1827
1827
  devices: P,
1828
1828
  activeId: O,
1829
- anchorRef: pt,
1830
- onPick: (h) => {
1831
- Ue(!1), Oe(h);
1829
+ anchorRef: je,
1830
+ onPick: (m) => {
1831
+ st(!1), Be(m);
1832
1832
  }
1833
1833
  }
1834
1834
  )
@@ -1841,7 +1841,7 @@ const qr = ({
1841
1841
  onClick: Re,
1842
1842
  "aria-label": we ? "Unmute speaker" : "Mute speaker",
1843
1843
  title: we ? "Unmute speaker" : "Mute speaker",
1844
- children: /* @__PURE__ */ n(An, { muted: we })
1844
+ children: /* @__PURE__ */ n(Rn, { muted: we })
1845
1845
  }
1846
1846
  ),
1847
1847
  /* @__PURE__ */ n(
@@ -1849,15 +1849,15 @@ const qr = ({
1849
1849
  {
1850
1850
  type: "button",
1851
1851
  className: "ll-tool ll-tool--danger",
1852
- onClick: et,
1852
+ onClick: it,
1853
1853
  "aria-label": "End conversation",
1854
1854
  title: "End conversation",
1855
- children: /* @__PURE__ */ n(In, {})
1855
+ children: /* @__PURE__ */ n(Mn, {})
1856
1856
  }
1857
1857
  )
1858
1858
  ] }),
1859
1859
  !_e && W && /* @__PURE__ */ n(
1860
- Br,
1860
+ qr,
1861
1861
  {
1862
1862
  isMuted: U,
1863
1863
  onToggleMute: Ne,
@@ -1866,42 +1866,42 @@ const qr = ({
1866
1866
  allowCamera: ce,
1867
1867
  isScreenShareEnabled: C,
1868
1868
  onToggleScreenShare: Ie,
1869
- allowScreenShare: ze,
1869
+ allowScreenShare: He,
1870
1870
  isSpeakerMuted: we,
1871
1871
  onToggleSpeaker: Re,
1872
- allowTyping: He,
1873
- isTypingOpen: Ce,
1874
- onToggleTyping: se,
1875
- onDisconnect: et
1872
+ allowTyping: Oe,
1873
+ isTypingOpen: ue,
1874
+ onToggleTyping: Ct,
1875
+ onDisconnect: it
1876
1876
  }
1877
1877
  ),
1878
- !_e && He && (W ? Ce : !0) && /* @__PURE__ */ b("form", { className: "ll-message-input", onSubmit: ot, children: [
1878
+ !_e && Oe && (W ? ue : !0) && /* @__PURE__ */ w("form", { className: "ll-message-input", onSubmit: se, children: [
1879
1879
  /* @__PURE__ */ n(
1880
1880
  "input",
1881
1881
  {
1882
1882
  type: "text",
1883
1883
  className: "ll-message-input__field",
1884
1884
  placeholder: "Message...",
1885
- value: ue,
1886
- onChange: (h) => Ee(h.target.value),
1885
+ value: Ve,
1886
+ onChange: (m) => Ye(m.target.value),
1887
1887
  "aria-label": "Message the agent"
1888
1888
  }
1889
1889
  ),
1890
- ue.trim() && /* @__PURE__ */ n(
1890
+ Ve.trim() && /* @__PURE__ */ n(
1891
1891
  "button",
1892
1892
  {
1893
1893
  type: "submit",
1894
1894
  className: "ll-message-input__send",
1895
1895
  "aria-label": "Send message",
1896
- children: /* @__PURE__ */ n(Ur, {})
1896
+ children: /* @__PURE__ */ n(Yr, {})
1897
1897
  }
1898
1898
  )
1899
1899
  ] })
1900
1900
  ] }) : null,
1901
1901
  (() => {
1902
- if (g && _ !== "error")
1903
- return /* @__PURE__ */ b("div", { className: "ll-expanded__banner", role: "alert", children: [
1904
- /* @__PURE__ */ n("span", { children: g }),
1902
+ if (v && _ !== "error")
1903
+ return /* @__PURE__ */ w("div", { className: "ll-expanded__banner", role: "alert", children: [
1904
+ /* @__PURE__ */ n("span", { children: v }),
1905
1905
  /* @__PURE__ */ n(
1906
1906
  "button",
1907
1907
  {
@@ -1914,15 +1914,15 @@ const qr = ({
1914
1914
  )
1915
1915
  ] });
1916
1916
  if (!I || _ !== "error") return null;
1917
- let h = "Failed to connect", Q = "Try again";
1918
- return I === "MIC_PERMISSION_DENIED" ? h = "Microphone blocked. Allow access to talk." : I === "MIC_NOT_FOUND" ? h = "No microphone found. Plug one in + retry." : I === "MIC_UNAVAILABLE" ? h = "Mic unavailable. Check other apps using it." : I === "AGENT_TIMEOUT" ? h = "Agent didn't pick up. Try again." : I === "CONNECT_FAILED" ? h = "Connection failed. Check your network." : I.length < 80 && (h = I), /* @__PURE__ */ b("div", { className: "ll-expanded__banner ll-expanded__banner--error", role: "alert", children: [
1919
- /* @__PURE__ */ n("span", { children: h }),
1917
+ let m = "Failed to connect", Q = "Try again";
1918
+ return I === "MIC_PERMISSION_DENIED" ? m = "Microphone blocked. Allow access to talk." : I === "MIC_NOT_FOUND" ? m = "No microphone found. Plug one in + retry." : I === "MIC_UNAVAILABLE" ? m = "Mic unavailable. Check other apps using it." : I === "AGENT_TIMEOUT" ? m = "Agent didn't pick up. Try again." : I === "CONNECT_FAILED" ? m = "Connection failed. Check your network." : I.length < 80 && (m = I), /* @__PURE__ */ w("div", { className: "ll-expanded__banner ll-expanded__banner--error", role: "alert", children: [
1919
+ /* @__PURE__ */ n("span", { children: m }),
1920
1920
  /* @__PURE__ */ n(
1921
1921
  "button",
1922
1922
  {
1923
1923
  type: "button",
1924
1924
  className: "ll-expanded__banner-retry",
1925
- onClick: ft,
1925
+ onClick: mt,
1926
1926
  children: Q
1927
1927
  }
1928
1928
  )
@@ -1935,52 +1935,52 @@ const qr = ({
1935
1935
  function wt() {
1936
1936
  return /* @__PURE__ */ n("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("polyline", { points: "6 9 12 15 18 9" }) });
1937
1937
  }
1938
- function fn() {
1939
- return /* @__PURE__ */ b("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", "aria-hidden": !0, children: [
1938
+ function pn() {
1939
+ return /* @__PURE__ */ w("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", "aria-hidden": !0, children: [
1940
1940
  /* @__PURE__ */ n("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
1941
1941
  /* @__PURE__ */ n("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
1942
1942
  ] });
1943
1943
  }
1944
- function pn() {
1944
+ function hn() {
1945
1945
  return /* @__PURE__ */ n("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("line", { x1: "5", y1: "12", x2: "19", y2: "12" }) });
1946
1946
  }
1947
- function En() {
1948
- return /* @__PURE__ */ b("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1947
+ function Nn() {
1948
+ return /* @__PURE__ */ w("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1949
1949
  /* @__PURE__ */ n("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2" }),
1950
1950
  /* @__PURE__ */ n("line", { x1: "8", y1: "21", x2: "16", y2: "21" }),
1951
1951
  /* @__PURE__ */ n("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
1952
1952
  ] });
1953
1953
  }
1954
- function Sn() {
1955
- return /* @__PURE__ */ b("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1954
+ function An() {
1955
+ return /* @__PURE__ */ w("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1956
1956
  /* @__PURE__ */ n("path", { d: "M23 7l-7 5 7 5V7z" }),
1957
1957
  /* @__PURE__ */ n("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2" })
1958
1958
  ] });
1959
1959
  }
1960
- function Nn({ muted: e }) {
1961
- return /* @__PURE__ */ b("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1960
+ function In({ muted: e }) {
1961
+ return /* @__PURE__ */ w("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1962
1962
  /* @__PURE__ */ n("path", { d: "M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" }),
1963
1963
  /* @__PURE__ */ n("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }),
1964
1964
  /* @__PURE__ */ n("line", { x1: "12", y1: "19", x2: "12", y2: "23" }),
1965
1965
  e && /* @__PURE__ */ n("line", { x1: "1", y1: "1", x2: "23", y2: "23" })
1966
1966
  ] });
1967
1967
  }
1968
- function An({ muted: e }) {
1969
- return /* @__PURE__ */ b("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1968
+ function Rn({ muted: e }) {
1969
+ return /* @__PURE__ */ w("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1970
1970
  /* @__PURE__ */ n("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
1971
- e ? /* @__PURE__ */ n("line", { x1: "23", y1: "9", x2: "17", y2: "15" }) : /* @__PURE__ */ b($e, { children: [
1971
+ e ? /* @__PURE__ */ n("line", { x1: "23", y1: "9", x2: "17", y2: "15" }) : /* @__PURE__ */ w(ze, { children: [
1972
1972
  /* @__PURE__ */ n("path", { d: "M19.07 4.93a10 10 0 0 1 0 14.14" }),
1973
1973
  /* @__PURE__ */ n("path", { d: "M15.54 8.46a5 5 0 0 1 0 7.07" })
1974
1974
  ] })
1975
1975
  ] });
1976
1976
  }
1977
- function Ur() {
1978
- return /* @__PURE__ */ b("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1977
+ function Yr() {
1978
+ return /* @__PURE__ */ w("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: [
1979
1979
  /* @__PURE__ */ n("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
1980
1980
  /* @__PURE__ */ n("polyline", { points: "12 5 19 12 12 19" })
1981
1981
  ] });
1982
1982
  }
1983
- function In() {
1983
+ function Mn() {
1984
1984
  return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "-4 -4 32 32", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: /* @__PURE__ */ n(
1985
1985
  "path",
1986
1986
  {
@@ -1989,7 +1989,7 @@ function In() {
1989
1989
  }
1990
1990
  ) });
1991
1991
  }
1992
- const hn = ({
1992
+ const mn = ({
1993
1993
  label: e,
1994
1994
  devices: t,
1995
1995
  activeId: r,
@@ -1997,21 +1997,21 @@ const hn = ({
1997
1997
  anchorRef: a
1998
1998
  }) => {
1999
1999
  const [o, s] = S(null);
2000
- return Ln(() => {
2000
+ return kn(() => {
2001
2001
  const l = () => {
2002
2002
  const c = a.current;
2003
2003
  if (!c) return;
2004
- const p = c.getBoundingClientRect(), v = 126, f = window.innerWidth - 16 - 110, u = p.left + p.width / 2;
2004
+ const p = c.getBoundingClientRect(), b = 126, f = window.innerWidth - 16 - 110, d = p.left + p.width / 2;
2005
2005
  s({
2006
2006
  top: p.top - 8,
2007
- left: Math.max(v, Math.min(f, u))
2007
+ left: Math.max(b, Math.min(f, d))
2008
2008
  });
2009
2009
  };
2010
2010
  return l(), window.addEventListener("scroll", l, !0), window.addEventListener("resize", l), () => {
2011
2011
  window.removeEventListener("scroll", l, !0), window.removeEventListener("resize", l);
2012
2012
  };
2013
- }, [a]), o === null || typeof document > "u" ? null : $t(
2014
- /* @__PURE__ */ b(
2013
+ }, [a]), o === null || typeof document > "u" ? null : zt(
2014
+ /* @__PURE__ */ w(
2015
2015
  "div",
2016
2016
  {
2017
2017
  className: "ll-device-menu ll-device-menu--floating",
@@ -2028,7 +2028,7 @@ const hn = ({
2028
2028
  /* @__PURE__ */ n("p", { className: "ll-device-menu__label", children: e }),
2029
2029
  t.map((l, c) => {
2030
2030
  const p = r === l.deviceId;
2031
- return /* @__PURE__ */ b(
2031
+ return /* @__PURE__ */ w(
2032
2032
  "button",
2033
2033
  {
2034
2034
  type: "button",
@@ -2049,7 +2049,7 @@ const hn = ({
2049
2049
  ),
2050
2050
  document.body
2051
2051
  );
2052
- }, jr = [
2052
+ }, Gr = [
2053
2053
  // Accept any value (or empty) — `<input data-ll-private />` and
2054
2054
  // `<input data-ll-private="true" />` both opt out. The bare attribute
2055
2055
  // is the recommended spelling; "true" is preserved for back-compat.
@@ -2057,17 +2057,17 @@ const hn = ({
2057
2057
  "[data-ll-skip]",
2058
2058
  ".ll-widget"
2059
2059
  ];
2060
- function zt(e) {
2060
+ function Ht(e) {
2061
2061
  let t = e;
2062
2062
  for (; t; ) {
2063
- for (const r of jr)
2063
+ for (const r of Gr)
2064
2064
  if (t.matches(r)) return !0;
2065
2065
  t = t.parentElement;
2066
2066
  }
2067
2067
  return !1;
2068
2068
  }
2069
- function Dt(e) {
2070
- if (zt(e)) return !1;
2069
+ function Pt(e) {
2070
+ if (Ht(e)) return !1;
2071
2071
  if (e instanceof HTMLInputElement) {
2072
2072
  if (e.type === "password") return !1;
2073
2073
  const t = (e.getAttribute("autocomplete") || "").toLowerCase();
@@ -2075,7 +2075,7 @@ function Dt(e) {
2075
2075
  }
2076
2076
  return !0;
2077
2077
  }
2078
- const _t = 4096, Vr = 20, Yr = 20, Gr = 10, Kr = 10, Jr = 30, Xr = 20, mn = 500, Zr = [
2078
+ const _t = 4096, Kr = 20, Jr = 20, Xr = 10, Zr = 10, Qr = 30, ei = 20, gn = 500, ti = [
2079
2079
  '[data-ll-private="true"]',
2080
2080
  ".ll-widget",
2081
2081
  "script",
@@ -2083,24 +2083,24 @@ const _t = 4096, Vr = 20, Yr = 20, Gr = 10, Kr = 10, Jr = 30, Xr = 20, mn = 500,
2083
2083
  "noscript",
2084
2084
  "iframe"
2085
2085
  ];
2086
- function dt(e) {
2086
+ function pt(e) {
2087
2087
  if (e.getAttribute("aria-hidden") === "true" || e.hasAttribute("hidden")) return !0;
2088
2088
  let t = e;
2089
2089
  for (; t; ) {
2090
- for (const r of Zr)
2090
+ for (const r of ti)
2091
2091
  if (t.matches(r)) return !0;
2092
2092
  t = t.parentElement;
2093
2093
  }
2094
2094
  return !1;
2095
2095
  }
2096
- function ut(e) {
2096
+ function ht(e) {
2097
2097
  if (typeof window > "u") return !0;
2098
2098
  const t = e.getBoundingClientRect();
2099
2099
  if (t.width <= 0 || t.height <= 0) return !1;
2100
2100
  const r = window.innerHeight || document.documentElement.clientHeight, i = window.innerWidth || document.documentElement.clientWidth;
2101
2101
  return t.bottom > 0 && t.right > 0 && t.top < r && t.left < i;
2102
2102
  }
2103
- function gn(e) {
2103
+ function yn(e) {
2104
2104
  const t = e.getAttribute("id");
2105
2105
  if (t) {
2106
2106
  const o = typeof CSS < "u" && typeof CSS.escape == "function" ? CSS.escape(t) : t.replace(/"/g, '\\"'), s = document.querySelector(`label[for="${o}"]`);
@@ -2130,10 +2130,10 @@ function gn(e) {
2130
2130
  function re(e, t) {
2131
2131
  return e.length <= t ? e : e.slice(0, t - 1) + "…";
2132
2132
  }
2133
- function Qr(e) {
2133
+ function ni(e) {
2134
2134
  return e && e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60) || null;
2135
2135
  }
2136
- function ei(e) {
2136
+ function ri(e) {
2137
2137
  const t = e.getAttribute("aria-label");
2138
2138
  if (t) return t.trim().slice(0, 80);
2139
2139
  const r = e.getAttribute("aria-labelledby");
@@ -2159,10 +2159,10 @@ function ei(e) {
2159
2159
  }
2160
2160
  return null;
2161
2161
  }
2162
- function Ke(e) {
2162
+ function Qe(e) {
2163
2163
  return e.length;
2164
2164
  }
2165
- function ti(e, t = {}) {
2165
+ function ii(e, t = {}) {
2166
2166
  const r = t.doc ?? (typeof document < "u" ? document : null);
2167
2167
  if (!r)
2168
2168
  return {
@@ -2179,63 +2179,63 @@ function ti(e, t = {}) {
2179
2179
  const i = typeof window < "u" && window.location.href || "", a = typeof window < "u" && window.location.pathname || "/", o = r.title || "", s = Array.from(
2180
2180
  r.querySelectorAll("[data-ll-region]")
2181
2181
  ), l = [];
2182
- for (const g of s) {
2183
- if (l.length >= Gr) break;
2184
- if (dt(g) || !ut(g)) continue;
2185
- const P = g.getAttribute("data-ll-region") ?? "", O = g.getAttribute("data-ll-intent") ?? void 0, q = re(
2186
- (g.innerText || g.textContent || "").trim(),
2187
- mn * 2
2182
+ for (const v of s) {
2183
+ if (l.length >= Xr) break;
2184
+ if (pt(v) || !ht(v)) continue;
2185
+ const P = v.getAttribute("data-ll-region") ?? "", O = v.getAttribute("data-ll-intent") ?? void 0, q = re(
2186
+ (v.innerText || v.textContent || "").trim(),
2187
+ gn * 2
2188
2188
  );
2189
2189
  !P || !q || l.push({ id: P, intent: O, text: q });
2190
2190
  }
2191
- const c = [], p = ["H1", "H2", "H3", "H4", "H5", "H6"], v = Array.from(
2191
+ const c = [], p = ["H1", "H2", "H3", "H4", "H5", "H6"], b = Array.from(
2192
2192
  r.querySelectorAll("h1, h2, h3, h4, h5, h6")
2193
2193
  );
2194
- for (const g of v) {
2195
- if (dt(g) || !ut(g)) continue;
2196
- const P = (g.textContent || "").trim();
2197
- P && c.push(`${g.tagName}: ${re(P, 200)}`);
2194
+ for (const v of b) {
2195
+ if (pt(v) || !ht(v)) continue;
2196
+ const P = (v.textContent || "").trim();
2197
+ P && c.push(`${v.tagName}: ${re(P, 200)}`);
2198
2198
  }
2199
2199
  const f = Array.from(r.querySelectorAll("p, li"));
2200
- for (const g of f) {
2201
- if (dt(g) || !ut(g) || p.includes(g.tagName)) continue;
2202
- const P = (g.textContent || "").trim();
2203
- P.length > 10 && c.push(re(P, mn));
2200
+ for (const v of f) {
2201
+ if (pt(v) || !ht(v) || p.includes(v.tagName)) continue;
2202
+ const P = (v.textContent || "").trim();
2203
+ P.length > 10 && c.push(re(P, gn));
2204
2204
  }
2205
- const u = c.join(`
2205
+ const d = c.join(`
2206
2206
  `), R = [], k = Array.from(r.querySelectorAll("a[href]"));
2207
- for (const g of k) {
2208
- if (R.length >= Vr) break;
2209
- if (dt(g) || !ut(g)) continue;
2210
- const P = g.getAttribute("href") || "", O = (g.textContent || "").trim();
2207
+ for (const v of k) {
2208
+ if (R.length >= Kr) break;
2209
+ if (pt(v) || !ht(v)) continue;
2210
+ const P = v.getAttribute("href") || "", O = (v.textContent || "").trim();
2211
2211
  !P || !O || R.push({ href: P, text: re(O, 100) });
2212
2212
  }
2213
- const _ = [], m = Array.from(
2213
+ const _ = [], h = Array.from(
2214
2214
  r.querySelectorAll(
2215
2215
  "input, textarea, select"
2216
2216
  )
2217
2217
  );
2218
- for (const g of m) {
2219
- if (_.length >= Yr) break;
2220
- if (dt(g) || !Dt(g) || !ut(g)) continue;
2221
- const P = gn(g), O = g instanceof HTMLInputElement ? g.type : g.tagName.toLowerCase();
2218
+ for (const v of h) {
2219
+ if (_.length >= Jr) break;
2220
+ if (pt(v) || !Pt(v) || !ht(v)) continue;
2221
+ const P = yn(v), O = v instanceof HTMLInputElement ? v.type : v.tagName.toLowerCase();
2222
2222
  P && _.push({ label: re(P, 100), type: O });
2223
2223
  }
2224
- const w = Array.from(r.querySelectorAll("form")), N = [];
2224
+ const y = Array.from(r.querySelectorAll("form")), N = [];
2225
2225
  let T = 0;
2226
- for (const g of w) {
2227
- if (N.length >= Kr) break;
2228
- if (zt(g) || g.matches(".ll-widget *, .ll-widget")) continue;
2229
- const P = g.getAttribute("id") || g.getAttribute("name") || Qr(g.getAttribute("data-ll-intent")) || `form_${T++}`, O = g.getAttribute("data-ll-intent") || ei(g) || void 0, q = Array.from(
2230
- g.querySelectorAll(
2226
+ for (const v of y) {
2227
+ if (N.length >= Zr) break;
2228
+ if (Ht(v) || v.matches(".ll-widget *, .ll-widget")) continue;
2229
+ const P = v.getAttribute("id") || v.getAttribute("name") || ni(v.getAttribute("data-ll-intent")) || `form_${T++}`, O = v.getAttribute("data-ll-intent") || ri(v) || void 0, q = Array.from(
2230
+ v.querySelectorAll(
2231
2231
  "input, textarea, select"
2232
2232
  )
2233
2233
  ), ne = [];
2234
2234
  let B = 0;
2235
2235
  const j = /* @__PURE__ */ new Set();
2236
2236
  for (const C of q) {
2237
- if (ne.length >= Jr) break;
2238
- if (!Dt(C)) continue;
2237
+ if (ne.length >= Qr) break;
2238
+ if (!Pt(C)) continue;
2239
2239
  if (C instanceof HTMLInputElement) {
2240
2240
  const W = C.type;
2241
2241
  if (W === "submit" || W === "button" || W === "reset" || W === "hidden" || W === "image" || W === "file") continue;
@@ -2243,10 +2243,10 @@ function ti(e, t = {}) {
2243
2243
  const Z = C.getAttribute("name") || "", we = C.getAttribute("id") || "";
2244
2244
  let ce = Z || we || `field_${B}`;
2245
2245
  j.has(ce) && (ce = `${ce}__${B}`), j.add(ce), B++;
2246
- const ze = gn(C) || ce, He = C instanceof HTMLInputElement ? C.type : C.tagName.toLowerCase(), X = {
2246
+ const He = yn(C) || ce, Oe = C instanceof HTMLInputElement ? C.type : C.tagName.toLowerCase(), X = {
2247
2247
  name: ce,
2248
- label: re(ze, 100),
2249
- type: He
2248
+ label: re(He, 100),
2249
+ type: Oe
2250
2250
  };
2251
2251
  C.required === !0 && (X.required = !0);
2252
2252
  const Se = C.getAttribute("placeholder");
@@ -2276,7 +2276,7 @@ function ti(e, t = {}) {
2276
2276
  }
2277
2277
  if (C instanceof HTMLSelectElement) {
2278
2278
  const W = [];
2279
- for (let ie = 0; ie < C.options.length && !(W.length >= Xr); ie++) {
2279
+ for (let ie = 0; ie < C.options.length && !(W.length >= ei); ie++) {
2280
2280
  const Y = C.options[ie];
2281
2281
  if (!Y || Y.disabled) continue;
2282
2282
  const fe = Y.value || "", K = (Y.textContent || "").trim() || fe;
@@ -2294,32 +2294,32 @@ function ti(e, t = {}) {
2294
2294
  title: o,
2295
2295
  pathname: a,
2296
2296
  regions: l,
2297
- visibleText: u,
2297
+ visibleText: d,
2298
2298
  visibleLinks: R,
2299
2299
  visibleFields: _,
2300
2300
  forms: N,
2301
2301
  extras: e
2302
2302
  };
2303
- let U = Ke(JSON.stringify(I.regions)) + Ke(I.visibleText) + Ke(JSON.stringify(I.visibleLinks)) + Ke(JSON.stringify(I.visibleFields));
2303
+ let U = Qe(JSON.stringify(I.regions)) + Qe(I.visibleText) + Qe(JSON.stringify(I.visibleLinks)) + Qe(JSON.stringify(I.visibleFields));
2304
2304
  for (; U > _t && I.visibleFields.length > 0; )
2305
- I.visibleFields.pop(), U = Ke(JSON.stringify(I.visibleFields));
2305
+ I.visibleFields.pop(), U = Qe(JSON.stringify(I.visibleFields));
2306
2306
  for (; U > _t && I.visibleLinks.length > 0; )
2307
2307
  I.visibleLinks.pop(), U -= 80;
2308
- return Ke(I.visibleText) > _t && (I.visibleText = re(I.visibleText, _t - 100)), I;
2308
+ return Qe(I.visibleText) > _t && (I.visibleText = re(I.visibleText, _t - 100)), I;
2309
2309
  }
2310
- let Je = null;
2311
- function yn(e, t = {}) {
2310
+ let et = null;
2311
+ function vn(e, t = {}) {
2312
2312
  const r = Date.now(), a = `${typeof window < "u" && window.location.pathname || "/"}::${typeof window < "u" ? window.scrollY : 0}`;
2313
- if (Je && Je.key === a && r - Je.at < 1e3)
2314
- return Je.ctx;
2315
- const o = ti(e, t);
2316
- return Je = { key: a, at: r, ctx: o }, o;
2313
+ if (et && et.key === a && r - et.at < 1e3)
2314
+ return et.ctx;
2315
+ const o = ii(e, t);
2316
+ return et = { key: a, at: r, ctx: o }, o;
2317
2317
  }
2318
- function ni() {
2319
- Je = null;
2318
+ function oi() {
2319
+ et = null;
2320
2320
  }
2321
- const ri = 200;
2322
- function ii(e) {
2321
+ const li = 200;
2322
+ function ai(e) {
2323
2323
  const t = String(e.href || "");
2324
2324
  return {
2325
2325
  href: t,
@@ -2329,18 +2329,18 @@ function ii(e) {
2329
2329
  description: e.description
2330
2330
  };
2331
2331
  }
2332
- function oi(e) {
2332
+ function si(e) {
2333
2333
  return !(!e || e.startsWith("#") || e.startsWith("javascript:") || e.startsWith("mailto:") || e.startsWith("tel:"));
2334
2334
  }
2335
- function li(e) {
2335
+ function ci(e) {
2336
2336
  const t = e ?? (typeof document < "u" ? document : null);
2337
2337
  if (!t) return [];
2338
2338
  const r = typeof window < "u" && window.location.origin || "", i = /* @__PURE__ */ new Set(), a = [], o = Array.from(t.querySelectorAll("a[href]"));
2339
2339
  for (const s of o) {
2340
- if (a.length >= ri) break;
2341
- if (zt(s)) continue;
2340
+ if (a.length >= li) break;
2341
+ if (Ht(s)) continue;
2342
2342
  const l = s.getAttribute("href") || "";
2343
- if (!oi(l)) continue;
2343
+ if (!si(l)) continue;
2344
2344
  let c = l, p = !0;
2345
2345
  try {
2346
2346
  if (typeof window < "u") {
@@ -2352,24 +2352,24 @@ function li(e) {
2352
2352
  }
2353
2353
  if (i.has(c)) continue;
2354
2354
  i.add(c);
2355
- const v = (s.textContent || "").trim().slice(0, 120);
2356
- a.push({ href: c, text: v, internal: p });
2355
+ const b = (s.textContent || "").trim().slice(0, 120);
2356
+ a.push({ href: c, text: b, internal: p });
2357
2357
  }
2358
2358
  return a;
2359
2359
  }
2360
- let Xe = null;
2361
- const ai = 5e3;
2362
- function Mt() {
2360
+ let tt = null;
2361
+ const di = 5e3;
2362
+ function Tt() {
2363
2363
  const e = Date.now(), t = typeof window < "u" && window.location.pathname || "/";
2364
- if (Xe && Xe.pathname === t && e - Xe.at < ai)
2365
- return Xe.routes;
2366
- const r = li();
2367
- return Xe = { at: e, pathname: t, routes: r }, r;
2364
+ if (tt && tt.pathname === t && e - tt.at < di)
2365
+ return tt.routes;
2366
+ const r = ci();
2367
+ return tt = { at: e, pathname: t, routes: r }, r;
2368
2368
  }
2369
- function si() {
2370
- Xe = null;
2369
+ function ui() {
2370
+ tt = null;
2371
2371
  }
2372
- function vn(e) {
2372
+ function bn(e) {
2373
2373
  if (e instanceof HTMLInputElement) {
2374
2374
  const t = e.type;
2375
2375
  if (t === "submit" || t === "button" || t === "reset" || t === "hidden" || t === "image" || t === "file")
@@ -2377,16 +2377,16 @@ function vn(e) {
2377
2377
  }
2378
2378
  return !0;
2379
2379
  }
2380
- function ci(e, t) {
2380
+ function fi(e, t) {
2381
2381
  return e.getAttribute("name") || e.getAttribute("id") || `field_${t}`;
2382
2382
  }
2383
- function di(e, t) {
2383
+ function pi(e, t) {
2384
2384
  if (!t) return null;
2385
2385
  try {
2386
2386
  const o = e.querySelector(
2387
2387
  `[name="${t.replace(/"/g, '\\"')}"]`
2388
2388
  );
2389
- if (o && vn(o)) return o;
2389
+ if (o && bn(o)) return o;
2390
2390
  } catch {
2391
2391
  }
2392
2392
  const r = Array.from(
@@ -2395,23 +2395,23 @@ function di(e, t) {
2395
2395
  let i = 0;
2396
2396
  const a = /* @__PURE__ */ new Map();
2397
2397
  for (const o of r) {
2398
- if (!vn(o)) continue;
2399
- const s = ci(o, i);
2398
+ if (!bn(o)) continue;
2399
+ const s = fi(o, i);
2400
2400
  let l = s;
2401
2401
  if (a.has(s) && (l = `${s}__${i}`), l === t) return o;
2402
2402
  a.set(s, o), i++;
2403
2403
  }
2404
2404
  return null;
2405
2405
  }
2406
- function bn(e, t) {
2407
- const r = di(e, t);
2408
- return r ? Dt(r) ? { el: r } : { el: null, reason: "private" } : { el: null, reason: "not_found" };
2406
+ function wn(e, t) {
2407
+ const r = pi(e, t);
2408
+ return r ? Pt(r) ? { el: r } : { el: null, reason: "private" } : { el: null, reason: "not_found" };
2409
2409
  }
2410
- function ui(e, t) {
2410
+ function hi(e, t) {
2411
2411
  const r = e instanceof HTMLInputElement ? HTMLInputElement.prototype : e instanceof HTMLTextAreaElement ? HTMLTextAreaElement.prototype : HTMLSelectElement.prototype, i = Object.getOwnPropertyDescriptor(r, "value"), a = i == null ? void 0 : i.set;
2412
2412
  a ? a.call(e, t) : e.value = t;
2413
2413
  }
2414
- function fi(e, t, r = {}) {
2414
+ function mi(e, t, r = {}) {
2415
2415
  const i = r.triggerInput ?? !0, a = r.triggerChange ?? !0;
2416
2416
  if (e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio")) {
2417
2417
  const o = Object.getOwnPropertyDescriptor(
@@ -2421,9 +2421,9 @@ function fi(e, t, r = {}) {
2421
2421
  s ? s.call(e, l) : e.checked = l, i && e.dispatchEvent(new Event("input", { bubbles: !0 })), a && e.dispatchEvent(new Event("change", { bubbles: !0 }));
2422
2422
  return;
2423
2423
  }
2424
- ui(e, t), i && e.dispatchEvent(new Event("input", { bubbles: !0 })), a && e.dispatchEvent(new Event("change", { bubbles: !0 }));
2424
+ hi(e, t), i && e.dispatchEvent(new Event("input", { bubbles: !0 })), a && e.dispatchEvent(new Event("change", { bubbles: !0 }));
2425
2425
  }
2426
- function wn(e, t) {
2426
+ function _n(e, t) {
2427
2427
  if (!t) return null;
2428
2428
  const r = t.replace(/"/g, '\\"');
2429
2429
  try {
@@ -2444,7 +2444,7 @@ function wn(e, t) {
2444
2444
  const o = Array.from(e.querySelectorAll("form"));
2445
2445
  for (const s of o) {
2446
2446
  const l = s.getAttribute("data-ll-intent");
2447
- if (l && pi(l) === t) return s;
2447
+ if (l && gi(l) === t) return s;
2448
2448
  }
2449
2449
  if (/^form_\d+$/.test(t)) {
2450
2450
  const s = parseInt(t.slice(5), 10);
@@ -2457,10 +2457,10 @@ function wn(e, t) {
2457
2457
  }
2458
2458
  return null;
2459
2459
  }
2460
- function pi(e) {
2460
+ function gi(e) {
2461
2461
  return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60) || null;
2462
2462
  }
2463
- function hi() {
2463
+ function yi() {
2464
2464
  if (typeof window > "u" || typeof document > "u")
2465
2465
  return !1;
2466
2466
  const e = document.scrollingElement || document.documentElement;
@@ -2468,19 +2468,19 @@ function hi() {
2468
2468
  const t = window.getComputedStyle(e);
2469
2469
  return !(t.overflowY === "hidden" || t.overflowY === "clip");
2470
2470
  }
2471
- function mi(e) {
2471
+ function vi(e) {
2472
2472
  if (!(e instanceof HTMLElement)) return !1;
2473
2473
  const r = window.getComputedStyle(e).overflowY;
2474
2474
  return !(r !== "auto" && r !== "scroll" || e.scrollHeight <= e.clientHeight + 2);
2475
2475
  }
2476
- function gi() {
2476
+ function bi() {
2477
2477
  if (typeof document > "u") return null;
2478
2478
  const e = Array.from(
2479
2479
  document.querySelectorAll("body, body *")
2480
2480
  );
2481
2481
  let t = null, r = 0;
2482
2482
  for (const i of e) {
2483
- if (!mi(i)) continue;
2483
+ if (!vi(i)) continue;
2484
2484
  const a = i.getBoundingClientRect();
2485
2485
  if (a.bottom <= 0 || a.top >= window.innerHeight || a.right <= 0 || a.left >= window.innerWidth || a.width <= 0 || a.height <= 0 || i.closest(".ll-widget")) continue;
2486
2486
  const o = a.width * a.height;
@@ -2488,24 +2488,24 @@ function gi() {
2488
2488
  }
2489
2489
  return t;
2490
2490
  }
2491
- function yi() {
2491
+ function wi() {
2492
2492
  if (typeof window > "u")
2493
2493
  return null;
2494
- if (hi()) return window;
2495
- const e = gi();
2494
+ if (yi()) return window;
2495
+ const e = bi();
2496
2496
  return e || window;
2497
2497
  }
2498
- function _n(e) {
2498
+ function xn(e) {
2499
2499
  return e instanceof Window ? e.innerHeight || 0 : e.clientHeight || 0;
2500
2500
  }
2501
- function vi(e) {
2501
+ function _i(e) {
2502
2502
  var t, r;
2503
2503
  return e instanceof Window ? typeof document > "u" ? 0 : Math.max(
2504
2504
  ((t = document.body) == null ? void 0 : t.scrollHeight) ?? 0,
2505
2505
  ((r = document.documentElement) == null ? void 0 : r.scrollHeight) ?? 0
2506
2506
  ) : e.scrollHeight - e.clientHeight;
2507
2507
  }
2508
- const bi = /* @__PURE__ */ new Set([
2508
+ const xi = /* @__PURE__ */ new Set([
2509
2509
  "agent_state",
2510
2510
  "avatar_stream_ready",
2511
2511
  "avatar_active",
@@ -2535,9 +2535,9 @@ const bi = /* @__PURE__ */ new Set([
2535
2535
  // to onAgentCommand.
2536
2536
  "task_field_updated",
2537
2537
  "task_completed"
2538
- ]), Rn = Pt(
2538
+ ]), Tn = $t(
2539
2539
  function(t, r) {
2540
- var Gt, Kt, Jt, Xt, Zt, Qt, en;
2540
+ var Kt, Jt, Xt, Zt, Qt, en, tn;
2541
2541
  const {
2542
2542
  agentId: i,
2543
2543
  apiKey: a,
@@ -2546,19 +2546,25 @@ const bi = /* @__PURE__ */ new Set([
2546
2546
  sessionBody: l,
2547
2547
  soundEffects: c,
2548
2548
  experienceMode: p = "WIDGET",
2549
- autoConnect: v = !1,
2549
+ autoConnect: b = !1,
2550
2550
  displayMode: f,
2551
- defaultDisplayMode: u = "expanded",
2551
+ // No destructure default — `undefined` here means "consumer didn't
2552
+ // pin a preferred initial mode, infer it from the viewport." We
2553
+ // resolve to "minimized" on mobile (a compact bottom bar) and
2554
+ // "expanded" on desktop (the 400×560 panel) below, once isMobile
2555
+ // is known. Consumers that explicitly pass any value get exactly
2556
+ // what they asked for.
2557
+ defaultDisplayMode: d,
2552
2558
  onDisplayModeChange: R,
2553
2559
  position: k = "bottom-right",
2554
2560
  mobileBreakpoint: _ = 640,
2555
- persistKey: m = "ll-widget",
2556
- disablePersistence: w = !1,
2561
+ persistKey: h = "ll-widget",
2562
+ disablePersistence: y = !1,
2557
2563
  teamMembers: N,
2558
2564
  currentTeamMemberId: T,
2559
2565
  onTeamMemberChange: I,
2560
2566
  idleLoopUrl: U,
2561
- greeting: g,
2567
+ greeting: v,
2562
2568
  avatarImageUrl: P,
2563
2569
  agentName: O,
2564
2570
  branding: q = {},
@@ -2569,8 +2575,8 @@ const bi = /* @__PURE__ */ new Set([
2569
2575
  showClose: Z,
2570
2576
  chromeless: we = !1,
2571
2577
  floatingChromeContainer: ce = null,
2572
- compactControls: ze = !1,
2573
- transforming: He = !1,
2578
+ compactControls: He = !1,
2579
+ transforming: Oe = !1,
2574
2580
  transformingLabel: X = "Transforming…",
2575
2581
  showOn: Se,
2576
2582
  hideOn: _e,
@@ -2579,14 +2585,14 @@ const bi = /* @__PURE__ */ new Set([
2579
2585
  onScrollToSelector: Y,
2580
2586
  getPageContext: fe,
2581
2587
  pageContextExtras: K,
2582
- getRoutes: Qe,
2583
- onScrollPage: et,
2584
- onClick: ft,
2585
- capabilities: tt,
2588
+ getRoutes: rt,
2589
+ onScrollPage: it,
2590
+ onClick: mt,
2591
+ capabilities: ot,
2586
2592
  onConnect: Ne,
2587
- onDisconnect: Oe,
2593
+ onDisconnect: Be,
2588
2594
  onTranscript: Ae,
2589
- onAgentState: Be,
2595
+ onAgentState: We,
2590
2596
  onConnectionStateChange: Ie,
2591
2597
  onAgentEvent: Re,
2592
2598
  onAgentCommand: Me,
@@ -2594,57 +2600,70 @@ const bi = /* @__PURE__ */ new Set([
2594
2600
  controlledSession: $,
2595
2601
  className: Lt,
2596
2602
  style: De,
2597
- zIndex: We = 2147483647
2598
- } = t, pe = yr(W), nt = kr(pe, Se, _e);
2603
+ zIndex: Fe = 2147483647
2604
+ } = t, pe = wr(W), lt = Sr(pe, Se, _e);
2599
2605
  M(() => {
2600
- ni(), si();
2606
+ oi(), ui();
2601
2607
  }, [pe]);
2602
- const Pe = T !== void 0, [Fe, kt] = S(() => {
2603
- var y;
2604
- return T ?? ((y = N == null ? void 0 : N[0]) == null ? void 0 : y.id);
2605
- }), ke = Pe ? T : Fe, oe = Ze(
2606
- () => (N == null ? void 0 : N.find((y) => y.id === ke)) ?? null,
2608
+ const Pe = T !== void 0, [qe, kt] = S(() => {
2609
+ var g;
2610
+ return T ?? ((g = N == null ? void 0 : N[0]) == null ? void 0 : g.id);
2611
+ }), ke = Pe ? T : qe, oe = nt(
2612
+ () => (N == null ? void 0 : N.find((g) => g.id === ke)) ?? null,
2607
2613
  [N, ke]
2608
- ), rt = (oe == null ? void 0 : oe.agentId) ?? i, me = p === "EMBEDDED", [qe, Ue] = pr({
2614
+ ), at = (oe == null ? void 0 : oe.agentId) ?? i, de = p === "EMBEDDED", ae = vr(_), Ue = d ?? (ae ? "minimized" : "expanded"), [Ce, je] = gr({
2609
2615
  value: f,
2610
- defaultValue: u,
2616
+ defaultValue: Ue,
2611
2617
  onChange: R,
2612
- persistKey: m,
2613
- disablePersistence: me || w
2614
- }), le = me ? "expanded" : qe, de = me ? () => {
2615
- } : Ue, pt = C ?? !me, ht = Z ?? !me, Ce = mr(_), it = tr(), se = nr(), ue = ir(), Ee = or(), ot = lr(), [mt, lt] = S(!1), [ge, xe] = S(!1), [je, Ve] = S(!1), [Ct, gt] = S(!1), [h, Q] = S(!1), yt = Er({ baseUrl: o, config: c }), vt = A(yt);
2618
+ persistKey: h,
2619
+ disablePersistence: de || y
2620
+ }), ct = A(!1);
2621
+ M(() => {
2622
+ ct.current || f !== void 0 || d !== void 0 || de || y || En(`${h}:display-mode`) || (ae && Ce === "expanded" && je("minimized"), ct.current = !0);
2623
+ }, [
2624
+ ae,
2625
+ Ce,
2626
+ d,
2627
+ f,
2628
+ de,
2629
+ y,
2630
+ h,
2631
+ je
2632
+ ]);
2633
+ const ue = de ? "expanded" : Ce, xe = de ? () => {
2634
+ } : je, Ct = C ?? !de, Ve = Z ?? !de, Ye = or(), se = lr(), me = sr(), $e = cr(), ge = dr(), [Ee, Ge] = S(!1), [Ke, gt] = S(!1), [Je, m] = S(!1), [Q, Dn] = S(!1), [Et, Pn] = S(!1), yt = Ar({ baseUrl: o, config: c }), vt = A(yt);
2616
2635
  vt.current = yt;
2617
- const Et = A(ie), St = A(Y), Nt = A(et), At = A(ft), Ht = A(fe), Ot = A(K), Bt = A(Qe), It = A(tt), ye = A(null);
2618
- Et.current = ie, St.current = Y, Nt.current = et, At.current = ft, Ht.current = fe, Ot.current = K, Bt.current = Qe, It.current = tt;
2619
- function ve(y) {
2620
- const d = It.current;
2621
- return d ? d.includes(y) : !0;
2636
+ const St = A(ie), Nt = A(Y), At = A(it), It = A(mt), Ot = A(fe), Bt = A(K), Wt = A(rt), Rt = A(ot), ye = A(null);
2637
+ St.current = ie, Nt.current = Y, At.current = it, It.current = mt, Ot.current = fe, Bt.current = K, Wt.current = rt, Rt.current = ot;
2638
+ function ve(g) {
2639
+ const u = Rt.current;
2640
+ return u ? u.includes(g) : !0;
2622
2641
  }
2623
- function be(y, d) {
2642
+ function be(g, u) {
2624
2643
  console.warn(
2625
- `[LiveLayer] Agent command "${y}" blocked — capability "${d}" not in allowlist. See https://livelayer.studio/docs/react/capabilities`
2644
+ `[LiveLayer] Agent command "${g}" blocked — capability "${u}" not in allowlist. See https://livelayer.studio/docs/react/capabilities`
2626
2645
  );
2627
2646
  }
2628
- const at = E(
2629
- (y) => {
2630
- var J, he, Le, ct;
2631
- const d = y;
2632
- if (!(!d.type || typeof d.type != "string")) {
2633
- if (Re == null || Re({ eventName: d.type, data: y }), d.type === "navigate") {
2647
+ const dt = E(
2648
+ (g) => {
2649
+ var J, he, Le, ft;
2650
+ const u = g;
2651
+ if (!(!u.type || typeof u.type != "string")) {
2652
+ if (Re == null || Re({ eventName: u.type, data: g }), u.type === "navigate") {
2634
2653
  if (!ve("navigate")) {
2635
2654
  be("navigate", "navigate");
2636
2655
  return;
2637
2656
  }
2638
- const x = typeof d.href == "string" ? d.href : null;
2657
+ const x = typeof u.href == "string" ? u.href : null;
2639
2658
  if (!x) {
2640
2659
  console.warn(
2641
2660
  `[LiveLayer] Agent emitted "navigate" without href. Skipping. Check your agent's tool schema. See https://livelayer.studio/docs/errors/navigate-missing-href`
2642
2661
  );
2643
2662
  return;
2644
2663
  }
2645
- if (vt.current.playPageChange(), Et.current) {
2664
+ if (vt.current.playPageChange(), St.current) {
2646
2665
  try {
2647
- Et.current(x);
2666
+ St.current(x);
2648
2667
  } catch (D) {
2649
2668
  console.warn(
2650
2669
  `[LiveLayer] onNavigate threw for "${x}". Falling back. Error:`,
@@ -2673,17 +2692,17 @@ const bi = /* @__PURE__ */ new Set([
2673
2692
  }
2674
2693
  return;
2675
2694
  }
2676
- if (d.type === "scroll_to") {
2695
+ if (u.type === "scroll_to") {
2677
2696
  if (!ve("scroll")) {
2678
2697
  be("scroll_to", "scroll");
2679
2698
  return;
2680
2699
  }
2681
- const x = typeof d.selector == "string" ? d.selector : null;
2700
+ const x = typeof u.selector == "string" ? u.selector : null;
2682
2701
  if (!x) return;
2683
- const D = d.behavior === "instant" ? "instant" : "smooth";
2684
- if (St.current) {
2702
+ const D = u.behavior === "instant" ? "instant" : "smooth";
2703
+ if (Nt.current) {
2685
2704
  try {
2686
- St.current(
2705
+ Nt.current(
2687
2706
  x,
2688
2707
  D
2689
2708
  );
@@ -2715,21 +2734,21 @@ const bi = /* @__PURE__ */ new Set([
2715
2734
  }
2716
2735
  return;
2717
2736
  }
2718
- if (d.type === "request_page_context") {
2737
+ if (u.type === "request_page_context") {
2719
2738
  if (!ve("read_page")) {
2720
2739
  be("request_page_context", "read_page");
2721
2740
  return;
2722
2741
  }
2723
- const x = typeof d.requestId == "string" ? d.requestId : void 0, D = (J = ye.current) == null ? void 0 : J.call(ye), F = (G) => {
2742
+ const x = typeof u.requestId == "string" ? u.requestId : void 0, D = (J = ye.current) == null ? void 0 : J.call(ye), F = (G) => {
2724
2743
  const z = D, te = z == null ? void 0 : z.localParticipant;
2725
2744
  if (te != null && te.publishData)
2726
2745
  try {
2727
- const ae = x ? { ...G, requestId: x } : G, Ge = new TextEncoder().encode(JSON.stringify(ae));
2728
- te.publishData(Ge, { reliable: !0 });
2729
- } catch (ae) {
2730
- console.warn("[LiveLayer] publishData failed.", ae);
2746
+ const le = x ? { ...G, requestId: x } : G, Ze = new TextEncoder().encode(JSON.stringify(le));
2747
+ te.publishData(Ze, { reliable: !0 });
2748
+ } catch (le) {
2749
+ console.warn("[LiveLayer] publishData failed.", le);
2731
2750
  }
2732
- }, H = Ot.current, V = Ht.current;
2751
+ }, H = Bt.current, V = Ot.current;
2733
2752
  try {
2734
2753
  if (V) {
2735
2754
  const G = V(H);
@@ -2740,7 +2759,7 @@ const bi = /* @__PURE__ */ new Set([
2740
2759
  z
2741
2760
  ), F({
2742
2761
  type: "page_context",
2743
- context: yn(H)
2762
+ context: vn(H)
2744
2763
  });
2745
2764
  });
2746
2765
  return;
@@ -2750,7 +2769,7 @@ const bi = /* @__PURE__ */ new Set([
2750
2769
  }
2751
2770
  F({
2752
2771
  type: "page_context",
2753
- context: yn(H)
2772
+ context: vn(H)
2754
2773
  });
2755
2774
  } catch (G) {
2756
2775
  console.warn(
@@ -2763,22 +2782,22 @@ const bi = /* @__PURE__ */ new Set([
2763
2782
  }
2764
2783
  return;
2765
2784
  }
2766
- if (d.type === "scroll_page") {
2785
+ if (u.type === "scroll_page") {
2767
2786
  if (!ve("scroll")) {
2768
2787
  be("scroll_page", "scroll");
2769
2788
  return;
2770
2789
  }
2771
- const x = d.direction;
2790
+ const x = u.direction;
2772
2791
  if (x !== "up" && x !== "down" && x !== "top" && x !== "bottom") {
2773
2792
  console.warn(
2774
2793
  `[LiveLayer] scroll_page: invalid direction "${String(x)}". Expected up | down | top | bottom.`
2775
2794
  );
2776
2795
  return;
2777
2796
  }
2778
- const D = d.behavior === "instant" ? "instant" : "smooth";
2779
- if (Nt.current) {
2797
+ const D = u.behavior === "instant" ? "instant" : "smooth";
2798
+ if (At.current) {
2780
2799
  try {
2781
- Nt.current(
2800
+ At.current(
2782
2801
  x,
2783
2802
  D
2784
2803
  );
@@ -2788,27 +2807,27 @@ const bi = /* @__PURE__ */ new Set([
2788
2807
  return;
2789
2808
  }
2790
2809
  if (typeof window > "u") return;
2791
- const F = { behavior: D }, H = yi(), V = (z) => {
2810
+ const F = { behavior: D }, H = wi(), V = (z) => {
2792
2811
  H instanceof Window ? H.scrollBy({ top: z, ...F }) : H.scrollBy({ top: z, ...F });
2793
2812
  }, G = (z) => {
2794
2813
  H instanceof Window ? H.scrollTo({ top: z, ...F }) : H.scrollTo({ top: z, ...F });
2795
2814
  };
2796
- x === "up" ? V(-_n(H)) : x === "down" ? V(_n(H)) : G(x === "top" ? 0 : vi(H));
2815
+ x === "up" ? V(-xn(H)) : x === "down" ? V(xn(H)) : G(x === "top" ? 0 : _i(H));
2797
2816
  return;
2798
2817
  }
2799
- if (d.type === "click") {
2818
+ if (u.type === "click") {
2800
2819
  if (!ve("click")) {
2801
2820
  be("click", "click");
2802
2821
  return;
2803
2822
  }
2804
- const x = typeof d.selector == "string" ? d.selector : null;
2823
+ const x = typeof u.selector == "string" ? u.selector : null;
2805
2824
  if (!x) {
2806
2825
  console.warn("[LiveLayer] click: missing selector.");
2807
2826
  return;
2808
2827
  }
2809
- if (At.current) {
2828
+ if (It.current) {
2810
2829
  try {
2811
- At.current(x);
2830
+ It.current(x);
2812
2831
  } catch (F) {
2813
2832
  console.warn("[LiveLayer] onClick threw.", F);
2814
2833
  }
@@ -2839,38 +2858,38 @@ const bi = /* @__PURE__ */ new Set([
2839
2858
  (he = D.click) == null || he.call(D);
2840
2859
  return;
2841
2860
  }
2842
- if (d.type === "fill_form" || d.type === "focus_field") {
2861
+ if (u.type === "fill_form" || u.type === "focus_field") {
2843
2862
  if (!ve("fill_forms")) {
2844
- be(d.type, "fill_forms");
2863
+ be(u.type, "fill_forms");
2845
2864
  return;
2846
2865
  }
2847
2866
  if (typeof document > "u") return;
2848
- d.type === "fill_form" && vt.current.playConfirmation();
2849
- const x = typeof d.formId == "string" ? d.formId : null;
2867
+ u.type === "fill_form" && vt.current.playConfirmation();
2868
+ const x = typeof u.formId == "string" ? u.formId : null;
2850
2869
  if (!x) {
2851
- console.warn(`[LiveLayer] ${d.type}: missing formId.`);
2870
+ console.warn(`[LiveLayer] ${u.type}: missing formId.`);
2852
2871
  return;
2853
2872
  }
2854
- const D = wn(document, x);
2873
+ const D = _n(document, x);
2855
2874
  if (!D) {
2856
2875
  console.warn(
2857
- `[LiveLayer] ${d.type}: no <form> matched id="${x}" (or matching name / data-ll-intent slug). Forms are auto-discovered — make sure the form has an \`id\`, \`name\`, or \`data-ll-intent\` attribute the agent observed in PageContext.forms.`
2876
+ `[LiveLayer] ${u.type}: no <form> matched id="${x}" (or matching name / data-ll-intent slug). Forms are auto-discovered — make sure the form has an \`id\`, \`name\`, or \`data-ll-intent\` attribute the agent observed in PageContext.forms.`
2858
2877
  );
2859
2878
  return;
2860
2879
  }
2861
2880
  if (D.closest('[data-ll-private="true"], [data-ll-skip], .ll-widget')) {
2862
2881
  console.warn(
2863
- `[LiveLayer] ${d.type}: refusing to touch a form in a private / opted-out subtree.`
2882
+ `[LiveLayer] ${u.type}: refusing to touch a form in a private / opted-out subtree.`
2864
2883
  );
2865
2884
  return;
2866
2885
  }
2867
- if (d.type === "focus_field") {
2868
- const H = typeof d.fieldName == "string" ? d.fieldName : null;
2886
+ if (u.type === "focus_field") {
2887
+ const H = typeof u.fieldName == "string" ? u.fieldName : null;
2869
2888
  if (!H) {
2870
2889
  console.warn("[LiveLayer] focus_field: missing fieldName.");
2871
2890
  return;
2872
2891
  }
2873
- const V = bn(D, H);
2892
+ const V = wn(D, H);
2874
2893
  if (V.el === null) {
2875
2894
  V.reason === "private" ? console.warn(
2876
2895
  `[LiveLayer] focus_field: field "${H}" is privacy-protected and not focusable.`
@@ -2882,14 +2901,14 @@ const bi = /* @__PURE__ */ new Set([
2882
2901
  V.el.focus();
2883
2902
  return;
2884
2903
  }
2885
- const F = d.values && typeof d.values == "object" ? d.values : null;
2904
+ const F = u.values && typeof u.values == "object" ? u.values : null;
2886
2905
  if (!F) {
2887
2906
  console.warn("[LiveLayer] fill_form: missing or invalid values.");
2888
2907
  return;
2889
2908
  }
2890
2909
  for (const [H, V] of Object.entries(F)) {
2891
2910
  if (typeof V != "string") continue;
2892
- const G = bn(D, H);
2911
+ const G = wn(D, H);
2893
2912
  if (G.el === null) {
2894
2913
  G.reason === "private" ? console.warn(
2895
2914
  `[LiveLayer] fill_form: field "${H}" is privacy-protected (password / cc-* / data-ll-private). Skipping.`
@@ -2899,7 +2918,7 @@ const bi = /* @__PURE__ */ new Set([
2899
2918
  continue;
2900
2919
  }
2901
2920
  try {
2902
- fi(G.el, V);
2921
+ mi(G.el, V);
2903
2922
  } catch (z) {
2904
2923
  console.warn(
2905
2924
  `[LiveLayer] fill_form: failed to set "${H}".`,
@@ -2909,19 +2928,19 @@ const bi = /* @__PURE__ */ new Set([
2909
2928
  }
2910
2929
  return;
2911
2930
  }
2912
- if (d.type === "submit_form") {
2931
+ if (u.type === "submit_form") {
2913
2932
  if (!ve("submit_forms")) {
2914
2933
  be("submit_form", "submit_forms");
2915
2934
  return;
2916
2935
  }
2917
2936
  if (typeof document > "u") return;
2918
- const x = typeof d.formId == "string" ? d.formId : null;
2937
+ const x = typeof u.formId == "string" ? u.formId : null;
2919
2938
  if (!x) {
2920
2939
  console.warn("[LiveLayer] submit_form: missing formId.");
2921
2940
  return;
2922
2941
  }
2923
2942
  vt.current.playConfirmation();
2924
- const D = wn(document, x);
2943
+ const D = _n(document, x);
2925
2944
  if (!D) {
2926
2945
  console.warn(
2927
2946
  `[LiveLayer] submit_form: no <form> matched id="${x}" (or matching name / data-ll-intent slug).`
@@ -2934,12 +2953,12 @@ const bi = /* @__PURE__ */ new Set([
2934
2953
  );
2935
2954
  return;
2936
2955
  }
2937
- const F = typeof d.requestId == "string" ? d.requestId : void 0, H = (Le = ye.current) == null ? void 0 : Le.call(ye), V = (te) => {
2938
- const ae = H, Ge = ae == null ? void 0 : ae.localParticipant;
2939
- if (Ge != null && Ge.publishData)
2956
+ const F = typeof u.requestId == "string" ? u.requestId : void 0, H = (Le = ye.current) == null ? void 0 : Le.call(ye), V = (te) => {
2957
+ const le = H, Ze = le == null ? void 0 : le.localParticipant;
2958
+ if (Ze != null && Ze.publishData)
2940
2959
  try {
2941
- const Un = F ? { ...te, requestId: F } : te, jn = new TextEncoder().encode(JSON.stringify(Un));
2942
- Ge.publishData(jn, { reliable: !0 });
2960
+ const Gn = F ? { ...te, requestId: F } : te, Kn = new TextEncoder().encode(JSON.stringify(Gn));
2961
+ Ze.publishData(Kn, { reliable: !0 });
2943
2962
  } catch {
2944
2963
  }
2945
2964
  };
@@ -2967,65 +2986,65 @@ const bi = /* @__PURE__ */ new Set([
2967
2986
  }, 500);
2968
2987
  return;
2969
2988
  }
2970
- if (d.type === "request_routes") {
2989
+ if (u.type === "request_routes") {
2971
2990
  if (!ve("read_page")) {
2972
2991
  be("request_routes", "read_page");
2973
2992
  return;
2974
2993
  }
2975
- const x = typeof d.requestId == "string" ? d.requestId : void 0, F = (ct = ye.current) == null ? void 0 : ct.call(ye), H = F == null ? void 0 : F.localParticipant;
2994
+ const x = typeof u.requestId == "string" ? u.requestId : void 0, F = (ft = ye.current) == null ? void 0 : ft.call(ye), H = F == null ? void 0 : F.localParticipant;
2976
2995
  if (!(H != null && H.publishData)) return;
2977
2996
  const V = (z) => {
2978
2997
  try {
2979
- const te = x ? { type: "routes", routes: z, requestId: x } : { type: "routes", routes: z }, ae = new TextEncoder().encode(JSON.stringify(te));
2980
- H.publishData(ae, { reliable: !0 });
2998
+ const te = x ? { type: "routes", routes: z, requestId: x } : { type: "routes", routes: z }, le = new TextEncoder().encode(JSON.stringify(te));
2999
+ H.publishData(le, { reliable: !0 });
2981
3000
  } catch (te) {
2982
3001
  console.warn("[LiveLayer] request_routes: publishData failed.", te);
2983
3002
  }
2984
- }, G = Bt.current;
3003
+ }, G = Wt.current;
2985
3004
  if (G) {
2986
3005
  try {
2987
- const z = G(), te = (ae) => {
2988
- if (!Array.isArray(ae)) {
3006
+ const z = G(), te = (le) => {
3007
+ if (!Array.isArray(le)) {
2989
3008
  V([]);
2990
3009
  return;
2991
3010
  }
2992
- V(ae.map(ii).slice(0, 200));
3011
+ V(le.map(ai).slice(0, 200));
2993
3012
  };
2994
- z instanceof Promise ? z.then(te).catch((ae) => {
3013
+ z instanceof Promise ? z.then(te).catch((le) => {
2995
3014
  console.warn(
2996
3015
  "[LiveLayer] getRoutes rejected; falling back to DOM walker.",
2997
- ae
2998
- ), V(Mt());
3016
+ le
3017
+ ), V(Tt());
2999
3018
  }) : te(z);
3000
3019
  } catch (z) {
3001
3020
  console.warn(
3002
3021
  "[LiveLayer] getRoutes threw; falling back to DOM walker.",
3003
3022
  z
3004
- ), V(Mt());
3023
+ ), V(Tt());
3005
3024
  }
3006
3025
  return;
3007
3026
  }
3008
3027
  try {
3009
- V(Mt());
3028
+ V(Tt());
3010
3029
  } catch (z) {
3011
3030
  console.warn("[LiveLayer] request_routes: extractRoutes threw.", z);
3012
3031
  }
3013
3032
  return;
3014
3033
  }
3015
- if (d.type === "task_field_updated") {
3034
+ if (u.type === "task_field_updated") {
3016
3035
  if (!ve("collect_data")) {
3017
3036
  be("task_field_updated", "collect_data");
3018
3037
  return;
3019
3038
  }
3020
3039
  const x = {
3021
3040
  phase: "field",
3022
- fieldId: typeof d.fieldId == "string" ? d.fieldId : "",
3023
- fieldName: typeof d.fieldName == "string" ? d.fieldName : typeof d.fieldId == "string" ? d.fieldId : "",
3024
- value: typeof d.value == "string" ? d.value : "",
3025
- kind: typeof d.kind == "string" ? d.kind : "text",
3026
- source: d.source === "slide" ? "slide" : d.source === "page" ? "page" : "agent",
3027
- ...typeof d.slideId == "string" ? { slideId: d.slideId } : {},
3028
- ...typeof d.formId == "string" ? { formId: d.formId } : {}
3041
+ fieldId: typeof u.fieldId == "string" ? u.fieldId : "",
3042
+ fieldName: typeof u.fieldName == "string" ? u.fieldName : typeof u.fieldId == "string" ? u.fieldId : "",
3043
+ value: typeof u.value == "string" ? u.value : "",
3044
+ kind: typeof u.kind == "string" ? u.kind : "text",
3045
+ source: u.source === "slide" ? "slide" : u.source === "page" ? "page" : "agent",
3046
+ ...typeof u.slideId == "string" ? { slideId: u.slideId } : {},
3047
+ ...typeof u.formId == "string" ? { formId: u.formId } : {}
3029
3048
  };
3030
3049
  if (typeof document < "u")
3031
3050
  try {
@@ -3036,12 +3055,12 @@ const bi = /* @__PURE__ */ new Set([
3036
3055
  }
3037
3056
  return;
3038
3057
  }
3039
- if (d.type === "task_completed") {
3058
+ if (u.type === "task_completed") {
3040
3059
  if (!ve("collect_data")) {
3041
3060
  be("task_completed", "collect_data");
3042
3061
  return;
3043
3062
  }
3044
- const x = d.result;
3063
+ const x = u.result;
3045
3064
  if (!x || typeof x != "object") {
3046
3065
  console.warn(
3047
3066
  "[LiveLayer] task_completed missing `result` payload."
@@ -3066,40 +3085,40 @@ const bi = /* @__PURE__ */ new Set([
3066
3085
  }
3067
3086
  return;
3068
3087
  }
3069
- bi.has(d.type) || Me == null || Me(d);
3088
+ xi.has(u.type) || Me == null || Me(u);
3070
3089
  }
3071
3090
  },
3072
3091
  [Me, Re, Te]
3073
- ), ee = er({
3074
- agentId: $ ? "__controlled__" : rt,
3092
+ ), ee = ir({
3093
+ agentId: $ ? "__controlled__" : at,
3075
3094
  baseUrl: o,
3076
3095
  apiKey: a,
3077
3096
  sessionEndpoint: s,
3078
3097
  sessionBody: l,
3079
- onDataMessage: $ ? void 0 : at
3098
+ onDataMessage: $ ? void 0 : dt
3080
3099
  });
3081
3100
  M(() => {
3082
3101
  if ($ != null && $.subscribeToDataMessages)
3083
- return $.subscribeToDataMessages(at);
3084
- }, [$, at]), ye.current = () => {
3085
- var y;
3086
- return (y = ee.getRoom) == null ? void 0 : y.call(ee);
3102
+ return $.subscribeToDataMessages(dt);
3103
+ }, [$, dt]), ye.current = () => {
3104
+ var g;
3105
+ return (g = ee.getRoom) == null ? void 0 : g.call(ee);
3087
3106
  }, M(() => {
3088
3107
  var J;
3089
3108
  if (typeof window > "u") return;
3090
- const y = ((J = window.location) == null ? void 0 : J.hostname) || "";
3091
- if (y === "localhost" || y === "127.0.0.1" || y === "0.0.0.0" || y.endsWith(".local") || y.endsWith(".test"))
3109
+ const g = ((J = window.location) == null ? void 0 : J.hostname) || "";
3110
+ if (g === "localhost" || g === "127.0.0.1" || g === "0.0.0.0" || g.endsWith(".local") || g.endsWith(".test"))
3092
3111
  return window.__livelayerSimulateCommand = (he) => {
3093
3112
  try {
3094
- at(he);
3113
+ dt(he);
3095
3114
  } catch (Le) {
3096
3115
  console.warn("[LiveLayer] simulate-command threw:", Le);
3097
3116
  }
3098
3117
  }, () => {
3099
3118
  delete window.__livelayerSimulateCommand;
3100
3119
  };
3101
- }, [at]);
3102
- const L = Ze(() => $ ? {
3120
+ }, [dt]);
3121
+ const L = nt(() => $ ? {
3103
3122
  connectionState: $.connectionState,
3104
3123
  agentState: $.agentState,
3105
3124
  transcript: $.transcript,
@@ -3130,27 +3149,27 @@ const bi = /* @__PURE__ */ new Set([
3130
3149
  disconnect: ee.disconnect,
3131
3150
  getRoom: ee.getRoom,
3132
3151
  isControlled: !1
3133
- }, [$, ee]), Wt = A(L);
3134
- Wt.current = L;
3135
- const Ft = A($);
3136
- Ft.current = $, Yn(
3152
+ }, [$, ee]), Ft = A(L);
3153
+ Ft.current = L;
3154
+ const qt = A($);
3155
+ qt.current = $, Xn(
3137
3156
  r,
3138
3157
  () => ({
3139
- sendData: async (y) => {
3140
- var Le, ct;
3141
- const d = Ft.current;
3142
- if (d != null && d.publishData) {
3158
+ sendData: async (g) => {
3159
+ var Le, ft;
3160
+ const u = qt.current;
3161
+ if (u != null && u.publishData) {
3143
3162
  try {
3144
- await d.publishData(y);
3163
+ await u.publishData(g);
3145
3164
  } catch (x) {
3146
3165
  console.warn("[AvatarWidget] sendData (controlled) failed:", x);
3147
3166
  }
3148
3167
  return;
3149
3168
  }
3150
- const J = (ct = (Le = Wt.current) == null ? void 0 : Le.getRoom) == null ? void 0 : ct.call(Le), he = J == null ? void 0 : J.localParticipant;
3169
+ const J = (ft = (Le = Ft.current) == null ? void 0 : Le.getRoom) == null ? void 0 : ft.call(Le), he = J == null ? void 0 : J.localParticipant;
3151
3170
  if (he != null && he.publishData)
3152
3171
  try {
3153
- const x = new TextEncoder().encode(JSON.stringify(y));
3172
+ const x = new TextEncoder().encode(JSON.stringify(g));
3154
3173
  await he.publishData(x, { reliable: !0 });
3155
3174
  } catch (x) {
3156
3175
  console.warn("[AvatarWidget] sendData failed:", x);
@@ -3159,48 +3178,48 @@ const bi = /* @__PURE__ */ new Set([
3159
3178
  }),
3160
3179
  []
3161
3180
  );
3162
- const qt = A(null);
3181
+ const Ut = A(null);
3163
3182
  M(() => {
3164
- const y = L.videoElement, d = qt.current;
3165
- if (!(!y || !d))
3166
- return d.appendChild(y), () => {
3167
- y.parentNode === d && d.removeChild(y);
3183
+ const g = L.videoElement, u = Ut.current;
3184
+ if (!(!g || !u))
3185
+ return u.appendChild(g), () => {
3186
+ g.parentNode === u && u.removeChild(g);
3168
3187
  };
3169
3188
  }, [L.videoElement]), M(() => {
3170
- const y = L.audioElement;
3171
- if (!y) return;
3172
- it.attach(y);
3173
- const d = y.play();
3174
- return d && typeof d.catch == "function" && d.catch((J) => {
3175
- (J == null ? void 0 : J.name) === "NotAllowedError" && lt(!0);
3189
+ const g = L.audioElement;
3190
+ if (!g) return;
3191
+ Ye.attach(g);
3192
+ const u = g.play();
3193
+ return u && typeof u.catch == "function" && u.catch((J) => {
3194
+ (J == null ? void 0 : J.name) === "NotAllowedError" && Ge(!0);
3176
3195
  }), () => {
3177
- it.detach();
3196
+ Ye.detach();
3178
3197
  };
3179
3198
  }, [L.audioElement]), M(() => {
3180
3199
  if (L.isControlled || L.connectionState !== "connected") return;
3181
- const y = L.getRoom();
3182
- if (y)
3183
- return se.setupMic(y).catch(() => {
3200
+ const g = L.getRoom();
3201
+ if (g)
3202
+ return se.setupMic(g).catch(() => {
3184
3203
  }), () => {
3185
3204
  se.teardownMic();
3186
3205
  };
3187
3206
  }, [L.isControlled, L.connectionState]), M(() => {
3188
- var d;
3207
+ var u;
3189
3208
  if (L.connectionState !== "connected") return;
3190
- const y = L.isControlled ? (d = $ == null ? void 0 : $.getRoom) == null ? void 0 : d.call($) : L.getRoom();
3191
- if (y)
3192
- return ue.attachRoom(y), Ee.attachRoom(y), L.isControlled && se.attachRoom(y), ot.refresh(), () => {
3193
- ue.teardown(), Ee.teardown();
3209
+ const g = L.isControlled ? (u = $ == null ? void 0 : $.getRoom) == null ? void 0 : u.call($) : L.getRoom();
3210
+ if (g)
3211
+ return me.attachRoom(g), $e.attachRoom(g), L.isControlled && se.attachRoom(g), ge.refresh(), () => {
3212
+ me.teardown(), $e.teardown();
3194
3213
  };
3195
3214
  }, [L.isControlled, L.connectionState, $]), M(() => {
3196
- const y = L.audioElement;
3197
- y && (y.muted = h);
3198
- }, [L.audioElement, h]);
3199
- const Mn = E((y) => {
3200
- const d = { type: "user_message", text: y };
3215
+ const g = L.audioElement;
3216
+ g && (g.muted = Et);
3217
+ }, [L.audioElement, Et]);
3218
+ const $n = E((g) => {
3219
+ const u = { type: "user_message", text: g };
3201
3220
  if ($ != null && $.publishData) {
3202
3221
  try {
3203
- $.publishData(d);
3222
+ $.publishData(u);
3204
3223
  } catch {
3205
3224
  }
3206
3225
  return;
@@ -3208,30 +3227,30 @@ const bi = /* @__PURE__ */ new Set([
3208
3227
  const J = L.getRoom();
3209
3228
  if (J)
3210
3229
  try {
3211
- const he = new TextEncoder().encode(JSON.stringify(d));
3230
+ const he = new TextEncoder().encode(JSON.stringify(u));
3212
3231
  J.localParticipant.publishData(he, { reliable: !0 });
3213
3232
  } catch {
3214
3233
  }
3215
- }, [L, $]), Tn = E(() => {
3216
- Q((y) => !y);
3234
+ }, [L, $]), zn = E(() => {
3235
+ Pn((g) => !g);
3217
3236
  }, []);
3218
3237
  M(() => {
3219
- Ie == null || Ie(L.connectionState), L.connectionState === "connected" ? Ne == null || Ne() : L.connectionState === "disconnected" && (Oe == null || Oe());
3220
- }, [L.connectionState, Ne, Oe, Ie]), M(() => {
3238
+ Ie == null || Ie(L.connectionState), L.connectionState === "connected" ? Ne == null || Ne() : L.connectionState === "disconnected" && (Be == null || Be());
3239
+ }, [L.connectionState, Ne, Be, Ie]), M(() => {
3221
3240
  Ae == null || Ae(L.transcript);
3222
3241
  }, [L.transcript, Ae]), M(() => {
3223
- Be == null || Be(L.agentState);
3224
- }, [L.agentState, Be]), M(() => {
3242
+ We == null || We(L.agentState);
3243
+ }, [L.agentState, We]), M(() => {
3225
3244
  yt.setThinking(L.agentState === "thinking");
3226
3245
  }, [L.agentState, yt]);
3227
- const Ut = A(!1);
3246
+ const jt = A(!1);
3228
3247
  M(() => {
3229
- !v || Ut.current || nt && L.connectionState === "idle" && (Ut.current = !0, L.connect());
3230
- }, [v, L.connectionState, L, nt]);
3231
- const Dn = E(
3232
- (y) => {
3233
- const d = N == null ? void 0 : N.find((J) => J.id === y);
3234
- d && (Ve(!1), y !== ke && (xe(!0), L.disconnect(), Pe || kt(y), I == null || I(d)));
3248
+ !b || jt.current || lt && L.connectionState === "idle" && (jt.current = !0, L.connect());
3249
+ }, [b, L.connectionState, L, lt]);
3250
+ const Hn = E(
3251
+ (g) => {
3252
+ const u = N == null ? void 0 : N.find((J) => J.id === g);
3253
+ u && (m(!1), g !== ke && (gt(!0), L.disconnect(), Pe || kt(g), I == null || I(u)));
3235
3254
  },
3236
3255
  [
3237
3256
  N,
@@ -3242,168 +3261,168 @@ const bi = /* @__PURE__ */ new Set([
3242
3261
  ]
3243
3262
  );
3244
3263
  M(() => {
3245
- ge && L.connectionState === "connected" && xe(!1);
3246
- }, [L.connectionState, ge]), M(() => {
3247
- if (!je) return;
3248
- const y = (d) => {
3249
- d.key === "Escape" && Ve(!1);
3264
+ Ke && L.connectionState === "connected" && gt(!1);
3265
+ }, [L.connectionState, Ke]), M(() => {
3266
+ if (!Je) return;
3267
+ const g = (u) => {
3268
+ u.key === "Escape" && m(!1);
3250
3269
  };
3251
- return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
3252
- }, [je]);
3253
- const Pn = !!P || !!(oe != null && oe.avatarImageUrl) || L.isControlled, st = ar(rt, o, Pn);
3254
- tt === void 0 && ((Gt = st.info) != null && Gt.capabilities) && (It.current = st.info.capabilities);
3255
- const bt = (oe == null ? void 0 : oe.name) ?? O ?? ((Kt = L.agentConfig) == null ? void 0 : Kt.name) ?? ((Jt = st.info) == null ? void 0 : Jt.name) ?? "Live Layer", Rt = (oe == null ? void 0 : oe.avatarImageUrl) ?? P ?? ((Xt = L.agentConfig) == null ? void 0 : Xt.avatarImageUrl) ?? ((Zt = st.info) == null ? void 0 : Zt.avatarImageUrl) ?? null, $n = U ?? ((Qt = L.agentConfig) == null ? void 0 : Qt.idleLoopUrl) ?? ((en = st.info) == null ? void 0 : en.idleLoopUrl) ?? null, zn = g ?? null, Hn = E(() => de("expanded"), [de]), On = E(
3256
- () => de("minimized"),
3257
- [de]
3258
- ), jt = E(() => {
3259
- L.disconnect(), de("hidden");
3260
- }, [L, de]), Bn = E(() => {
3261
- const y = L.audioElement;
3262
- y && y.play().then(() => lt(!1)).catch(() => {
3270
+ return window.addEventListener("keydown", g), () => window.removeEventListener("keydown", g);
3271
+ }, [Je]);
3272
+ const On = !!P || !!(oe != null && oe.avatarImageUrl) || L.isControlled, ut = ur(at, o, On);
3273
+ ot === void 0 && ((Kt = ut.info) != null && Kt.capabilities) && (Rt.current = ut.info.capabilities);
3274
+ const bt = (oe == null ? void 0 : oe.name) ?? O ?? ((Jt = L.agentConfig) == null ? void 0 : Jt.name) ?? ((Xt = ut.info) == null ? void 0 : Xt.name) ?? "Live Layer", Mt = (oe == null ? void 0 : oe.avatarImageUrl) ?? P ?? ((Zt = L.agentConfig) == null ? void 0 : Zt.avatarImageUrl) ?? ((Qt = ut.info) == null ? void 0 : Qt.avatarImageUrl) ?? null, Bn = U ?? ((en = L.agentConfig) == null ? void 0 : en.idleLoopUrl) ?? ((tn = ut.info) == null ? void 0 : tn.idleLoopUrl) ?? null, Wn = v ?? null, Fn = E(() => xe("expanded"), [xe]), qn = E(
3275
+ () => xe("minimized"),
3276
+ [xe]
3277
+ ), Vt = E(() => {
3278
+ L.disconnect(), xe("hidden");
3279
+ }, [L, xe]), Un = E(() => {
3280
+ const g = L.audioElement;
3281
+ g && g.play().then(() => Ge(!1)).catch(() => {
3263
3282
  });
3264
- }, [L.audioElement]), Wn = E(() => {
3265
- lt(!1), L.connect();
3266
- }, [L]), Ye = {
3283
+ }, [L.audioElement]), jn = E(() => {
3284
+ Ge(!1), L.connect();
3285
+ }, [L]), Xe = {
3267
3286
  ...De,
3268
- ...me ? {} : { zIndex: We }
3287
+ ...de ? {} : { zIndex: Fe }
3269
3288
  };
3270
- q.primaryColor && (Ye["--ll-color-primary"] = q.primaryColor), q.accentColor && (Ye["--ll-color-accent"] = q.accentColor), q.backgroundColor && (Ye["--ll-color-bg"] = q.backgroundColor), q.textColor && (Ye["--ll-color-fg"] = q.textColor);
3271
- const Fn = [
3289
+ q.primaryColor && (Xe["--ll-color-primary"] = q.primaryColor), q.accentColor && (Xe["--ll-color-accent"] = q.accentColor), q.backgroundColor && (Xe["--ll-color-bg"] = q.backgroundColor), q.textColor && (Xe["--ll-color-fg"] = q.textColor);
3290
+ const Vn = [
3272
3291
  "ll-widget",
3273
- `ll-widget--${le}`,
3274
- `ll-widget--${Ce ? "mobile" : "desktop"}`,
3292
+ `ll-widget--${ue}`,
3293
+ `ll-widget--${ae ? "mobile" : "desktop"}`,
3275
3294
  Lt
3276
3295
  ].filter(Boolean).join(" ");
3277
- if (!nt) return null;
3278
- const qn = /* @__PURE__ */ n(
3296
+ if (!lt) return null;
3297
+ const Yn = /* @__PURE__ */ n(
3279
3298
  "div",
3280
3299
  {
3281
- className: Fn,
3282
- style: Ye,
3283
- "data-display-mode": le,
3300
+ className: Vn,
3301
+ style: Xe,
3302
+ "data-display-mode": ue,
3284
3303
  "data-position": k,
3285
3304
  "data-experience-mode": p === "EMBEDDED" ? "embedded" : "widget",
3286
- children: le === "expanded" && /* @__PURE__ */ n(
3287
- qr,
3305
+ children: ue === "expanded" && /* @__PURE__ */ n(
3306
+ Vr,
3288
3307
  {
3289
3308
  position: k,
3290
- isMobile: Ce,
3309
+ isMobile: ae,
3291
3310
  agentName: bt,
3292
- avatarImageUrl: Rt,
3293
- idleLoopUrl: $n,
3294
- greeting: zn,
3311
+ avatarImageUrl: Mt,
3312
+ idleLoopUrl: Bn,
3313
+ greeting: Wn,
3295
3314
  branding: q,
3296
3315
  teamMembers: N,
3297
3316
  currentTeamMemberId: ke,
3298
- isSwitchingTeamMember: ge,
3299
- teamSwitcherOpen: je,
3300
- onToggleTeamSwitcher: () => Ve((y) => !y),
3301
- onSelectTeamMember: Dn,
3317
+ isSwitchingTeamMember: Ke,
3318
+ teamSwitcherOpen: Je,
3319
+ onToggleTeamSwitcher: () => m((g) => !g),
3320
+ onSelectTeamMember: Hn,
3302
3321
  connectionState: L.connectionState,
3303
3322
  agentState: L.agentState,
3304
3323
  transcript: L.transcript,
3305
3324
  isMuted: se.isMuted,
3306
- micDevices: ot.mics,
3325
+ micDevices: ge.mics,
3307
3326
  activeMicId: se.activeDeviceId,
3308
- isCameraEnabled: ue.isEnabled,
3309
- cameraPreviewEl: ue.previewEl,
3310
- cameraDevices: ot.cameras,
3311
- activeCameraId: ue.activeDeviceId,
3312
- isScreenShareEnabled: Ee.isEnabled,
3313
- screenPreviewEl: Ee.previewEl,
3314
- isSpeakerMuted: h,
3327
+ isCameraEnabled: me.isEnabled,
3328
+ cameraPreviewEl: me.previewEl,
3329
+ cameraDevices: ge.cameras,
3330
+ activeCameraId: me.activeDeviceId,
3331
+ isScreenShareEnabled: $e.isEnabled,
3332
+ screenPreviewEl: $e.previewEl,
3333
+ isSpeakerMuted: Et,
3315
3334
  allowCamera: ne,
3316
3335
  allowScreenShare: B,
3317
3336
  allowTyping: j,
3318
- showMinimize: pt,
3319
- showClose: ht,
3337
+ showMinimize: Ct,
3338
+ showClose: Ve,
3320
3339
  chromeless: we,
3321
- compactControls: ze,
3322
- transforming: He,
3340
+ compactControls: He,
3341
+ transforming: Oe,
3323
3342
  transformingLabel: X,
3324
- languageMenuOpen: Ct,
3325
- onToggleLanguageMenu: () => gt((y) => !y),
3326
- needsUserGesture: mt,
3343
+ languageMenuOpen: Q,
3344
+ onToggleLanguageMenu: () => Dn((g) => !g),
3345
+ needsUserGesture: Ee,
3327
3346
  canResume: L.canResume,
3328
3347
  micError: se.micError,
3329
3348
  error: L.error,
3330
- avatarVideoContainerRef: qt,
3349
+ avatarVideoContainerRef: Ut,
3331
3350
  agentVideoEl: L.videoElement,
3332
3351
  onConnect: () => void L.connect(),
3333
3352
  onDisconnect: () => L.disconnect(),
3334
- onRetry: Wn,
3335
- onResumeAudio: Bn,
3353
+ onRetry: jn,
3354
+ onResumeAudio: Un,
3336
3355
  onToggleMute: se.toggleMute,
3337
- onSwitchMicDevice: (y) => void se.switchDevice(y),
3338
- onToggleCamera: () => void ue.toggle(),
3339
- onSwitchCameraDevice: (y) => void ue.switchDevice(y),
3340
- onToggleScreenShare: () => void Ee.toggle(),
3341
- onToggleSpeaker: Tn,
3342
- onSendMessage: Mn,
3343
- onMinimize: On,
3344
- onClose: jt,
3356
+ onSwitchMicDevice: (g) => void se.switchDevice(g),
3357
+ onToggleCamera: () => void me.toggle(),
3358
+ onSwitchCameraDevice: (g) => void me.switchDevice(g),
3359
+ onToggleScreenShare: () => void $e.toggle(),
3360
+ onToggleSpeaker: zn,
3361
+ onSendMessage: $n,
3362
+ onMinimize: qn,
3363
+ onClose: Vt,
3345
3364
  onClearMicError: se.clearError
3346
3365
  }
3347
3366
  )
3348
3367
  }
3349
- ), Vt = !me && (le === "hidden" || le === "minimized") ? /* @__PURE__ */ b(
3368
+ ), Yt = !de && (ue === "hidden" || ue === "minimized") ? /* @__PURE__ */ w(
3350
3369
  "div",
3351
3370
  {
3352
3371
  className: [
3353
3372
  "ll-widget",
3354
3373
  "ll-widget--floating",
3355
- `ll-widget--${le}`,
3356
- `ll-widget--${Ce ? "mobile" : "desktop"}`
3374
+ `ll-widget--${ue}`,
3375
+ `ll-widget--${ae ? "mobile" : "desktop"}`
3357
3376
  ].join(" "),
3358
- style: Ye,
3359
- "data-display-mode": le,
3377
+ style: Xe,
3378
+ "data-display-mode": ue,
3360
3379
  "data-position": k,
3361
3380
  children: [
3362
- le === "hidden" && /* @__PURE__ */ n(
3363
- Mr,
3381
+ ue === "hidden" && /* @__PURE__ */ n(
3382
+ Pr,
3364
3383
  {
3365
3384
  position: k,
3366
- isMobile: Ce,
3385
+ isMobile: ae,
3367
3386
  isSpeaking: L.agentState === "speaking",
3368
- onExpand: () => de("expanded"),
3387
+ onExpand: () => xe("expanded"),
3369
3388
  label: `Open ${bt} widget`,
3370
- avatarImageUrl: Rt,
3389
+ avatarImageUrl: Mt,
3371
3390
  agentName: bt,
3372
3391
  containerEl: ce
3373
3392
  }
3374
3393
  ),
3375
- le === "minimized" && /* @__PURE__ */ n(
3376
- Dr,
3394
+ ue === "minimized" && /* @__PURE__ */ n(
3395
+ zr,
3377
3396
  {
3378
3397
  position: k,
3379
- isMobile: Ce,
3398
+ isMobile: ae,
3380
3399
  agentName: bt,
3381
- avatarImageUrl: Rt,
3400
+ avatarImageUrl: Mt,
3382
3401
  agentState: L.agentState,
3383
3402
  isMuted: se.isMuted,
3384
- audioLevel: it,
3385
- onExpand: Hn,
3403
+ audioLevel: Ye,
3404
+ onExpand: Fn,
3386
3405
  onToggleMute: se.toggleMute,
3387
- onClose: jt
3406
+ onClose: Vt
3388
3407
  }
3389
3408
  )
3390
3409
  ]
3391
3410
  }
3392
- ) : null, Yt = ce ?? (typeof document < "u" ? document.body : null);
3393
- return /* @__PURE__ */ b($e, { children: [
3394
- qn,
3395
- Vt && Yt && $t(Vt, Yt)
3411
+ ) : null, Gt = ce ?? (typeof document < "u" ? document.body : null);
3412
+ return /* @__PURE__ */ w(ze, { children: [
3413
+ Yn,
3414
+ Yt && Gt && zt(Yt, Gt)
3396
3415
  ] });
3397
3416
  }
3398
3417
  );
3399
- Rn.displayName = "AvatarWidgetInner";
3400
- const wi = Pt(
3418
+ Tn.displayName = "AvatarWidgetInner";
3419
+ const Li = $t(
3401
3420
  function(t, r) {
3402
- return /* @__PURE__ */ n(Qn, { children: /* @__PURE__ */ n(Rn, { ...t, ref: r }) });
3421
+ return /* @__PURE__ */ n(rr, { children: /* @__PURE__ */ n(Tn, { ...t, ref: r }) });
3403
3422
  }
3404
3423
  );
3405
- wi.displayName = "AvatarWidget";
3406
- const Ri = ({
3424
+ Li.displayName = "AvatarWidget";
3425
+ const Di = ({
3407
3426
  agentId: e,
3408
3427
  baseUrl: t,
3409
3428
  apiKey: r,
@@ -3414,24 +3433,24 @@ const Ri = ({
3414
3433
  }) => {
3415
3434
  const l = A(null), c = A(null), p = A(a);
3416
3435
  p.current = a;
3417
- const v = E((f) => {
3436
+ const b = E((f) => {
3418
3437
  var R;
3419
- const u = f.detail;
3420
- (R = p.current) == null || R.call(p, u);
3438
+ const d = f.detail;
3439
+ (R = p.current) == null || R.call(p, d);
3421
3440
  }, []);
3422
3441
  return M(() => {
3423
3442
  const f = l.current;
3424
3443
  if (!f) return;
3425
- const u = document.createElement("livelayer-widget");
3426
- return u.setAttribute("agent-id", e), t && u.setAttribute("base-url", t), r && u.setAttribute("api-key", r), i && u.setAttribute("mode", i), u.addEventListener("agent-event", v), f.appendChild(u), c.current = u, () => {
3427
- u.removeEventListener("agent-event", v), f.removeChild(u), c.current = null;
3444
+ const d = document.createElement("livelayer-widget");
3445
+ return d.setAttribute("agent-id", e), t && d.setAttribute("base-url", t), r && d.setAttribute("api-key", r), i && d.setAttribute("mode", i), d.addEventListener("agent-event", b), f.appendChild(d), c.current = d, () => {
3446
+ d.removeEventListener("agent-event", b), f.removeChild(d), c.current = null;
3428
3447
  };
3429
3448
  }, [e]), M(() => {
3430
3449
  c.current && (i ? c.current.setAttribute("mode", i) : c.current.removeAttribute("mode"));
3431
3450
  }, [i]), /* @__PURE__ */ n("div", { ref: l, className: o, style: s });
3432
- }, Mi = Pt(
3451
+ }, Pi = $t(
3433
3452
  function({ id: t, intent: r, as: i = "div", className: a, style: o, children: s }, l) {
3434
- return Gn(
3453
+ return Zn(
3435
3454
  i,
3436
3455
  {
3437
3456
  ref: l,
@@ -3444,10 +3463,10 @@ const Ri = ({
3444
3463
  );
3445
3464
  }
3446
3465
  );
3447
- function Ti(e = {}) {
3448
- const { onFieldUpdate: t, onComplete: r, source: i = "all" } = e, [a, o] = S({}), [s, l] = S(!1), [c, p] = S(null), v = A(t), f = A(r), u = A(i);
3466
+ function $i(e = {}) {
3467
+ const { onFieldUpdate: t, onComplete: r, source: i = "all" } = e, [a, o] = S({}), [s, l] = S(!1), [c, p] = S(null), b = A(t), f = A(r), d = A(i);
3449
3468
  M(() => {
3450
- v.current = t, f.current = r, u.current = i;
3469
+ b.current = t, f.current = r, d.current = i;
3451
3470
  }, [t, r, i]);
3452
3471
  const R = E(() => {
3453
3472
  o({}), l(!1);
@@ -3455,25 +3474,25 @@ function Ti(e = {}) {
3455
3474
  return M(() => {
3456
3475
  if (typeof window > "u") return;
3457
3476
  const k = (_) => {
3458
- var w, N;
3459
- const m = _.detail;
3460
- if (m) {
3461
- if (m.phase === "field") {
3462
- if (u.current !== "all" && m.source !== u.current)
3477
+ var y, N;
3478
+ const h = _.detail;
3479
+ if (h) {
3480
+ if (h.phase === "field") {
3481
+ if (d.current !== "all" && h.source !== d.current)
3463
3482
  return;
3464
3483
  l(!0), o(
3465
- (T) => T[m.fieldName] === m.value ? T : { ...T, [m.fieldName]: m.value }
3484
+ (T) => T[h.fieldName] === h.value ? T : { ...T, [h.fieldName]: h.value }
3466
3485
  );
3467
3486
  try {
3468
- (w = v.current) == null || w.call(v, m);
3487
+ (y = b.current) == null || y.call(b, h);
3469
3488
  } catch (T) {
3470
3489
  console.warn("[LiveLayer] useCollect onFieldUpdate threw.", T);
3471
3490
  }
3472
3491
  return;
3473
3492
  }
3474
- if (m.phase === "complete") {
3475
- const T = m.result;
3476
- if (u.current !== "all" && T.source !== u.current)
3493
+ if (h.phase === "complete") {
3494
+ const T = h.result;
3495
+ if (d.current !== "all" && T.source !== d.current)
3477
3496
  return;
3478
3497
  p(T), l(!1);
3479
3498
  try {
@@ -3487,17 +3506,17 @@ function Ti(e = {}) {
3487
3506
  return document.addEventListener("ll-collected", k), () => document.removeEventListener("ll-collected", k);
3488
3507
  }, []), { fields: a, isCollecting: s, lastResult: c, reset: R };
3489
3508
  }
3490
- let xn = 1;
3491
- function Di({
3509
+ let Ln = 1;
3510
+ function zi({
3492
3511
  onMount: e,
3493
3512
  defaultOpen: t = !1,
3494
3513
  storageKey: r = "ll-debug-open"
3495
3514
  }) {
3496
- const [i, a] = S(t), [o, s] = S([]), [l, c] = S(""), [p, v] = S(!1), f = A(/* @__PURE__ */ new Set()), u = A([]), R = A(p);
3515
+ const [i, a] = S(t), [o, s] = S([]), [l, c] = S(""), [p, b] = S(!1), f = A(/* @__PURE__ */ new Set()), d = A([]), R = A(p);
3497
3516
  R.current = p, M(() => {
3498
3517
  try {
3499
- const m = localStorage.getItem(r);
3500
- m === "1" && a(!0), m === "0" && a(!1);
3518
+ const h = localStorage.getItem(r);
3519
+ h === "1" && a(!0), h === "0" && a(!1);
3501
3520
  } catch {
3502
3521
  }
3503
3522
  }, [r]), M(() => {
@@ -3506,48 +3525,48 @@ function Di({
3506
3525
  } catch {
3507
3526
  }
3508
3527
  }, [i, r]), M(() => {
3509
- const m = (w) => {
3510
- (w.metaKey || w.ctrlKey) && w.shiftKey && w.key.toLowerCase() === "l" && (w.preventDefault(), a((N) => !N));
3528
+ const h = (y) => {
3529
+ (y.metaKey || y.ctrlKey) && y.shiftKey && y.key.toLowerCase() === "l" && (y.preventDefault(), a((N) => !N));
3511
3530
  };
3512
- return window.addEventListener("keydown", m), () => window.removeEventListener("keydown", m);
3531
+ return window.addEventListener("keydown", h), () => window.removeEventListener("keydown", h);
3513
3532
  }, []), M(() => {
3514
- const m = setInterval(() => {
3515
- if (u.current.length === 0 || R.current) return;
3516
- const w = u.current.splice(0, u.current.length);
3533
+ const h = setInterval(() => {
3534
+ if (d.current.length === 0 || R.current) return;
3535
+ const y = d.current.splice(0, d.current.length);
3517
3536
  s(
3518
- (N) => [...w.reverse(), ...N].slice(0, 200)
3537
+ (N) => [...y.reverse(), ...N].slice(0, 200)
3519
3538
  );
3520
3539
  }, 100);
3521
- return () => clearInterval(m);
3540
+ return () => clearInterval(h);
3522
3541
  }, []);
3523
3542
  const k = A(!1);
3524
3543
  if (M(() => {
3525
- !e || k.current || (k.current = !0, e((m) => {
3526
- u.current.push({
3527
- id: xn++,
3544
+ !e || k.current || (k.current = !0, e((h) => {
3545
+ d.current.push({
3546
+ id: Ln++,
3528
3547
  ts: Date.now(),
3529
3548
  kind: "event",
3530
- type: m.eventName,
3531
- data: m.data
3549
+ type: h.eventName,
3550
+ data: h.data
3532
3551
  });
3533
3552
  }));
3534
3553
  }, [e]), M(() => {
3535
- const m = console.warn, w = console.log, N = (T, I) => function(...U) {
3554
+ const h = console.warn, y = console.log, N = (T, I) => function(...U) {
3536
3555
  try {
3537
- const g = typeof U[0] == "string" ? U[0] : "";
3538
- g.startsWith("[LiveLayer]") && u.current.push({
3539
- id: xn++,
3556
+ const v = typeof U[0] == "string" ? U[0] : "";
3557
+ v.startsWith("[LiveLayer]") && d.current.push({
3558
+ id: Ln++,
3540
3559
  ts: Date.now(),
3541
3560
  kind: T,
3542
- type: g.slice(0, 120),
3543
- data: { args: U.slice(1).map((P) => xi(P)) }
3561
+ type: v.slice(0, 120),
3562
+ data: { args: U.slice(1).map((P) => Ci(P)) }
3544
3563
  });
3545
3564
  } catch {
3546
3565
  }
3547
3566
  return I.apply(this, U);
3548
3567
  };
3549
- return console.warn = N("warn", m), console.log = N("log", w), () => {
3550
- console.warn = m, console.log = w;
3568
+ return console.warn = N("warn", h), console.log = N("log", y), () => {
3569
+ console.warn = h, console.log = y;
3551
3570
  };
3552
3571
  }, []), !i)
3553
3572
  return /* @__PURE__ */ n(
@@ -3576,12 +3595,12 @@ function Di({
3576
3595
  children: "🛰 LL debug"
3577
3596
  }
3578
3597
  );
3579
- const _ = o.filter((m) => {
3598
+ const _ = o.filter((h) => {
3580
3599
  if (!l) return !0;
3581
- const w = l.toLowerCase();
3582
- return m.type.toLowerCase().includes(w) || JSON.stringify(m.data || {}).toLowerCase().includes(w);
3600
+ const y = l.toLowerCase();
3601
+ return h.type.toLowerCase().includes(y) || JSON.stringify(h.data || {}).toLowerCase().includes(y);
3583
3602
  });
3584
- return /* @__PURE__ */ b(
3603
+ return /* @__PURE__ */ w(
3585
3604
  "div",
3586
3605
  {
3587
3606
  style: {
@@ -3603,7 +3622,7 @@ function Di({
3603
3622
  overflow: "hidden"
3604
3623
  },
3605
3624
  children: [
3606
- /* @__PURE__ */ b(
3625
+ /* @__PURE__ */ w(
3607
3626
  "div",
3608
3627
  {
3609
3628
  style: {
@@ -3616,7 +3635,7 @@ function Di({
3616
3635
  },
3617
3636
  children: [
3618
3637
  /* @__PURE__ */ n("span", { style: { fontWeight: 600, fontSize: 12 }, children: "LiveLayer debug" }),
3619
- /* @__PURE__ */ b("span", { style: { fontSize: 10, color: "rgba(255,255,255,0.4)" }, children: [
3638
+ /* @__PURE__ */ w("span", { style: { fontSize: 10, color: "rgba(255,255,255,0.4)" }, children: [
3620
3639
  o.length,
3621
3640
  " event",
3622
3641
  o.length === 1 ? "" : "s"
@@ -3626,8 +3645,8 @@ function Di({
3626
3645
  "button",
3627
3646
  {
3628
3647
  type: "button",
3629
- onClick: () => v((m) => !m),
3630
- style: Tt(p ? "#f59e0b" : "transparent"),
3648
+ onClick: () => b((h) => !h),
3649
+ style: Dt(p ? "#f59e0b" : "transparent"),
3631
3650
  title: "Pause / resume capture",
3632
3651
  children: p ? "▶ resume" : "⏸ pause"
3633
3652
  }
@@ -3637,9 +3656,9 @@ function Di({
3637
3656
  {
3638
3657
  type: "button",
3639
3658
  onClick: () => {
3640
- s([]), u.current = [];
3659
+ s([]), d.current = [];
3641
3660
  },
3642
- style: Tt("transparent"),
3661
+ style: Dt("transparent"),
3643
3662
  title: "Clear buffer",
3644
3663
  children: "clear"
3645
3664
  }
@@ -3649,7 +3668,7 @@ function Di({
3649
3668
  {
3650
3669
  type: "button",
3651
3670
  onClick: () => a(!1),
3652
- style: Tt("transparent"),
3671
+ style: Dt("transparent"),
3653
3672
  "aria-label": "Close",
3654
3673
  title: "Close (Cmd/Ctrl + Shift + L)",
3655
3674
  children: "✕"
@@ -3663,7 +3682,7 @@ function Di({
3663
3682
  {
3664
3683
  type: "text",
3665
3684
  value: l,
3666
- onChange: (m) => c(m.target.value),
3685
+ onChange: (h) => c(h.target.value),
3667
3686
  placeholder: "filter by type or data…",
3668
3687
  style: {
3669
3688
  margin: 8,
@@ -3685,7 +3704,7 @@ function Di({
3685
3704
  overflowY: "auto",
3686
3705
  padding: "0 8px 8px"
3687
3706
  },
3688
- children: _.length === 0 ? /* @__PURE__ */ b(
3707
+ children: _.length === 0 ? /* @__PURE__ */ w(
3689
3708
  "div",
3690
3709
  {
3691
3710
  style: {
@@ -3715,16 +3734,16 @@ function Di({
3715
3734
  )
3716
3735
  ]
3717
3736
  }
3718
- ) : _.map((m) => /* @__PURE__ */ n(
3719
- _i,
3737
+ ) : _.map((h) => /* @__PURE__ */ n(
3738
+ ki,
3720
3739
  {
3721
- entry: m,
3722
- expanded: f.current.has(m.id),
3740
+ entry: h,
3741
+ expanded: f.current.has(h.id),
3723
3742
  onToggle: () => {
3724
- f.current.has(m.id) ? f.current.delete(m.id) : f.current.add(m.id), s((w) => [...w]);
3743
+ f.current.has(h.id) ? f.current.delete(h.id) : f.current.add(h.id), s((y) => [...y]);
3725
3744
  }
3726
3745
  },
3727
- m.id
3746
+ h.id
3728
3747
  ))
3729
3748
  }
3730
3749
  )
@@ -3732,7 +3751,7 @@ function Di({
3732
3751
  }
3733
3752
  );
3734
3753
  }
3735
- function _i({
3754
+ function ki({
3736
3755
  entry: e,
3737
3756
  expanded: t,
3738
3757
  onToggle: r
@@ -3740,7 +3759,7 @@ function _i({
3740
3759
  const i = e.kind === "warn" ? "#f59e0b" : e.type.startsWith("[LiveLayer]") ? "#94a3b8" : e.type === "navigate" || e.type === "scroll_page" || e.type === "scroll_to" || e.type === "click" ? "#22c55e" : e.type === "fill_form" || e.type === "submit_form" || e.type === "focus_field" ? "#a78bfa" : e.type === "request_page_context" || e.type === "request_routes" ? "#38bdf8" : e.type === "agent_state" ? "#facc15" : "#cbd5e1", a = new Date(e.ts).toLocaleTimeString("en-US", {
3741
3760
  hour12: !1
3742
3761
  });
3743
- return /* @__PURE__ */ b(
3762
+ return /* @__PURE__ */ w(
3744
3763
  "button",
3745
3764
  {
3746
3765
  type: "button",
@@ -3758,7 +3777,7 @@ function _i({
3758
3777
  lineHeight: 1.4
3759
3778
  },
3760
3779
  children: [
3761
- /* @__PURE__ */ b("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [
3780
+ /* @__PURE__ */ w("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [
3762
3781
  /* @__PURE__ */ n(
3763
3782
  "span",
3764
3783
  {
@@ -3802,7 +3821,7 @@ function _i({
3802
3821
  }
3803
3822
  );
3804
3823
  }
3805
- function Tt(e) {
3824
+ function Dt(e) {
3806
3825
  return {
3807
3826
  background: e,
3808
3827
  color: "#fff",
@@ -3813,21 +3832,21 @@ function Tt(e) {
3813
3832
  cursor: "pointer"
3814
3833
  };
3815
3834
  }
3816
- function xi(e) {
3835
+ function Ci(e) {
3817
3836
  try {
3818
3837
  return e instanceof Error ? { message: e.message, stack: e.stack } : (JSON.stringify(e), e);
3819
3838
  } catch {
3820
3839
  return String(e);
3821
3840
  }
3822
3841
  }
3823
- function Li(e) {
3842
+ function Ei(e) {
3824
3843
  const t = JSON.stringify(e);
3825
- M(() => Jn(e), [t]);
3844
+ M(() => er(e), [t]);
3826
3845
  }
3827
- function Pi({ fields: e, children: t }) {
3828
- return Li(e), /* @__PURE__ */ n($e, { children: t });
3846
+ function Hi({ fields: e, children: t }) {
3847
+ return Ei(e), /* @__PURE__ */ n(ze, { children: t });
3829
3848
  }
3830
- function $i() {
3849
+ function Oi() {
3831
3850
  const [e, t] = S([]), r = E((a) => {
3832
3851
  t((o) => {
3833
3852
  const s = o.findIndex((l) => l.id === a.id);
@@ -3846,38 +3865,38 @@ function $i() {
3846
3865
  };
3847
3866
  }
3848
3867
  export {
3849
- wi as AvatarWidget,
3850
- Qn as ErrorBoundary,
3851
- Pi as FieldProvider,
3852
- Di as LiveLayerDebugPanel,
3853
- Mi as LiveLayerRegion,
3854
- Ri as LiveLayerWidget,
3855
- Oi as clearFieldRegistry,
3856
- ni as clearPageContextCache,
3857
- si as clearRoutesCache,
3858
- ti as extractPageContext,
3859
- li as extractRoutes,
3860
- yn as getCachedPageContext,
3861
- Mt as getCachedRoutes,
3862
- Bi as getRegisteredFields,
3863
- xr as matchesPattern,
3864
- ii as normalizeRouteInput,
3865
- Wi as registerFields,
3866
- Fi as setFieldValue,
3867
- Lr as shouldRenderAtPath,
3868
- ar as useAgentInfo,
3869
- tr as useAudioLevel,
3870
- ir as useCameraState,
3871
- Ti as useCollect,
3872
- dr as useDisplayMode,
3873
- pr as useDisplayModePersistence,
3874
- mr as useIsMobile,
3875
- er as useLiveKitSession,
3876
- lr as useMediaDevices,
3877
- nr as useMicrophoneState,
3878
- yr as usePathname,
3879
- Li as useRegisterFields,
3880
- kr as useRouteMatch,
3881
- or as useScreenShareState,
3882
- $i as useTranscript
3868
+ Li as AvatarWidget,
3869
+ rr as ErrorBoundary,
3870
+ Hi as FieldProvider,
3871
+ zi as LiveLayerDebugPanel,
3872
+ Pi as LiveLayerRegion,
3873
+ Di as LiveLayerWidget,
3874
+ Fi as clearFieldRegistry,
3875
+ oi as clearPageContextCache,
3876
+ ui as clearRoutesCache,
3877
+ ii as extractPageContext,
3878
+ ci as extractRoutes,
3879
+ vn as getCachedPageContext,
3880
+ Tt as getCachedRoutes,
3881
+ qi as getRegisteredFields,
3882
+ Cr as matchesPattern,
3883
+ ai as normalizeRouteInput,
3884
+ Ui as registerFields,
3885
+ ji as setFieldValue,
3886
+ Er as shouldRenderAtPath,
3887
+ ur as useAgentInfo,
3888
+ or as useAudioLevel,
3889
+ sr as useCameraState,
3890
+ $i as useCollect,
3891
+ pr as useDisplayMode,
3892
+ gr as useDisplayModePersistence,
3893
+ vr as useIsMobile,
3894
+ ir as useLiveKitSession,
3895
+ dr as useMediaDevices,
3896
+ lr as useMicrophoneState,
3897
+ wr as usePathname,
3898
+ Ei as useRegisterFields,
3899
+ Sr as useRouteMatch,
3900
+ cr as useScreenShareState,
3901
+ Oi as useTranscript
3883
3902
  };