@moq/watch 0.2.3 → 0.2.5

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/ui/index.js CHANGED
@@ -1,56 +1,56 @@
1
- import { Button as lt, Icon as j, Stats as Bt } from "@moq/ui-core";
2
- import { Signals as Ft } from "@moq/hang";
3
- const Nt = !1, Ut = (t, e) => t === e, Kt = /* @__PURE__ */ Symbol("solid-track"), nt = {
4
- equals: Ut
1
+ import { Button as ct, Icon as W, Stats as Nt } from "@moq/ui-core";
2
+ import { Signals as Ut } from "@moq/hang";
3
+ const Kt = !1, Dt = (t, e) => t === e, Ht = /* @__PURE__ */ Symbol("solid-track"), rt = {
4
+ equals: Dt
5
5
  };
6
- let Pt = Lt;
7
- const F = 1, rt = 2, Mt = {
6
+ let Mt = Vt;
7
+ const F = 1, at = 2, Rt = {
8
8
  owned: null,
9
9
  cleanups: null,
10
10
  context: null,
11
11
  owner: null
12
12
  };
13
- var _ = null;
14
- let ht = null, Dt = null, v = null, S = null, W = null, ct = 0;
15
- function et(t, e) {
16
- const n = v, a = _, r = t.length === 0, o = e === void 0 ? a : e, s = r ? Mt : {
13
+ var p = null;
14
+ let gt = null, Gt = null, v = null, C = null, j = null, ut = 0;
15
+ function nt(t, e) {
16
+ const n = v, a = p, r = t.length === 0, o = e === void 0 ? a : e, s = r ? Rt : {
17
17
  owned: null,
18
18
  cleanups: null,
19
19
  context: o ? o.context : null,
20
20
  owner: o
21
- }, i = r ? t : () => t(() => L(() => H(s)));
22
- _ = s, v = null;
21
+ }, i = r ? t : () => t(() => I(() => Q(s)));
22
+ p = s, v = null;
23
23
  try {
24
24
  return J(i, !0);
25
25
  } finally {
26
- v = n, _ = a;
26
+ v = n, p = a;
27
27
  }
28
28
  }
29
- function M(t, e) {
30
- e = e ? Object.assign({}, nt, e) : nt;
29
+ function E(t, e) {
30
+ e = e ? Object.assign({}, rt, e) : rt;
31
31
  const n = {
32
32
  value: t,
33
33
  observers: null,
34
34
  observerSlots: null,
35
35
  comparator: e.equals || void 0
36
- }, a = (r) => (typeof r == "function" && (r = r(n.value)), Tt(n, r));
37
- return [Wt.bind(n), a];
36
+ }, a = (r) => (typeof r == "function" && (r = r(n.value)), It(n, r));
37
+ return [Tt.bind(n), a];
38
38
  }
39
39
  function T(t, e, n) {
40
- const a = yt(t, e, !1, F);
41
- G(a);
40
+ const a = kt(t, e, !1, F);
41
+ X(a);
42
42
  }
43
- function qt(t, e, n) {
44
- Pt = Zt;
45
- const a = yt(t, e, !1, F);
46
- a.user = !0, W ? W.push(a) : G(a);
43
+ function Lt(t, e, n) {
44
+ Mt = te;
45
+ const a = kt(t, e, !1, F);
46
+ a.user = !0, j ? j.push(a) : X(a);
47
47
  }
48
48
  function B(t, e, n) {
49
- n = n ? Object.assign({}, nt, n) : nt;
50
- const a = yt(t, e, !0, 0);
51
- return a.observers = null, a.observerSlots = null, a.comparator = n.equals || void 0, G(a), Wt.bind(a);
49
+ n = n ? Object.assign({}, rt, n) : rt;
50
+ const a = kt(t, e, !0, 0);
51
+ return a.observers = null, a.observerSlots = null, a.comparator = n.equals || void 0, X(a), Tt.bind(a);
52
52
  }
53
- function L(t) {
53
+ function I(t) {
54
54
  if (v === null) return t();
55
55
  const e = v;
56
56
  v = null;
@@ -60,40 +60,40 @@ function L(t) {
60
60
  v = e;
61
61
  }
62
62
  }
63
- function Rt(t) {
64
- qt(() => L(t));
63
+ function Wt(t) {
64
+ Lt(() => I(t));
65
65
  }
66
- function ut(t) {
67
- return _ === null || (_.cleanups === null ? _.cleanups = [t] : _.cleanups.push(t)), t;
66
+ function ft(t) {
67
+ return p === null || (p.cleanups === null ? p.cleanups = [t] : p.cleanups.push(t)), t;
68
68
  }
69
- function Ht() {
70
- return _;
69
+ function Qt() {
70
+ return p;
71
71
  }
72
- function Gt(t, e) {
72
+ function Xt(t, e) {
73
73
  const n = /* @__PURE__ */ Symbol("context");
74
74
  return {
75
75
  id: n,
76
- Provider: te(n),
76
+ Provider: ne(n),
77
77
  defaultValue: t
78
78
  };
79
79
  }
80
80
  function jt(t) {
81
81
  let e;
82
- return _ && _.context && (e = _.context[t.id]) !== void 0 ? e : t.defaultValue;
82
+ return p && p.context && (e = p.context[t.id]) !== void 0 ? e : t.defaultValue;
83
83
  }
84
84
  function Jt(t) {
85
- const e = B(t), n = B(() => vt(e()));
85
+ const e = B(t), n = B(() => wt(e()));
86
86
  return n.toArray = () => {
87
87
  const a = n();
88
88
  return Array.isArray(a) ? a : a != null ? [a] : [];
89
89
  }, n;
90
90
  }
91
- function Wt() {
91
+ function Tt() {
92
92
  if (this.sources && this.state)
93
- if (this.state === F) G(this);
93
+ if (this.state === F) X(this);
94
94
  else {
95
- const t = S;
96
- S = null, J(() => ot(this), !1), S = t;
95
+ const t = C;
96
+ C = null, J(() => it(this), !1), C = t;
97
97
  }
98
98
  if (v) {
99
99
  const t = this.observers ? this.observers.length : 0;
@@ -101,37 +101,37 @@ function Wt() {
101
101
  }
102
102
  return this.value;
103
103
  }
104
- function Tt(t, e, n) {
104
+ function It(t, e, n) {
105
105
  let a = t.value;
106
106
  return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length && J(() => {
107
107
  for (let r = 0; r < t.observers.length; r += 1) {
108
- const o = t.observers[r], s = ht && ht.running;
109
- s && ht.disposed.has(o), (s ? !o.tState : !o.state) && (o.pure ? S.push(o) : W.push(o), o.observers && Vt(o)), s || (o.state = F);
108
+ const o = t.observers[r], s = gt && gt.running;
109
+ s && gt.disposed.has(o), (s ? !o.tState : !o.state) && (o.pure ? C.push(o) : j.push(o), o.observers && zt(o)), s || (o.state = F);
110
110
  }
111
- if (S.length > 1e6)
112
- throw S = [], new Error();
111
+ if (C.length > 1e6)
112
+ throw C = [], new Error();
113
113
  }, !1)), e;
114
114
  }
115
- function G(t) {
115
+ function X(t) {
116
116
  if (!t.fn) return;
117
- H(t);
118
- const e = ct;
119
- Qt(t, t.value, e);
117
+ Q(t);
118
+ const e = ut;
119
+ Zt(t, t.value, e);
120
120
  }
121
- function Qt(t, e, n) {
121
+ function Zt(t, e, n) {
122
122
  let a;
123
- const r = _, o = v;
124
- v = _ = t;
123
+ const r = p, o = v;
124
+ v = p = t;
125
125
  try {
126
126
  a = t.fn(e);
127
127
  } catch (s) {
128
- return t.pure && (t.state = F, t.owned && t.owned.forEach(H), t.owned = null), t.updatedAt = n + 1, It(s);
128
+ return t.pure && (t.state = F, t.owned && t.owned.forEach(Q), t.owned = null), t.updatedAt = n + 1, Ot(s);
129
129
  } finally {
130
- v = o, _ = r;
130
+ v = o, p = r;
131
131
  }
132
- (!t.updatedAt || t.updatedAt <= n) && (t.updatedAt != null && "observers" in t ? Tt(t, a) : t.value = a, t.updatedAt = n);
132
+ (!t.updatedAt || t.updatedAt <= n) && (t.updatedAt != null && "observers" in t ? It(t, a) : t.value = a, t.updatedAt = n);
133
133
  }
134
- function yt(t, e, n, a = F, r) {
134
+ function kt(t, e, n, a = F, r) {
135
135
  const o = {
136
136
  fn: t,
137
137
  state: a,
@@ -141,71 +141,71 @@ function yt(t, e, n, a = F, r) {
141
141
  sourceSlots: null,
142
142
  cleanups: null,
143
143
  value: e,
144
- owner: _,
145
- context: _ ? _.context : null,
144
+ owner: p,
145
+ context: p ? p.context : null,
146
146
  pure: n
147
147
  };
148
- return _ === null || _ !== Mt && (_.owned ? _.owned.push(o) : _.owned = [o]), o;
148
+ return p === null || p !== Rt && (p.owned ? p.owned.push(o) : p.owned = [o]), o;
149
149
  }
150
- function at(t) {
150
+ function ot(t) {
151
151
  if (t.state === 0) return;
152
- if (t.state === rt) return ot(t);
153
- if (t.suspense && L(t.suspense.inFallback)) return t.suspense.effects.push(t);
152
+ if (t.state === at) return it(t);
153
+ if (t.suspense && I(t.suspense.inFallback)) return t.suspense.effects.push(t);
154
154
  const e = [t];
155
- for (; (t = t.owner) && (!t.updatedAt || t.updatedAt < ct); )
155
+ for (; (t = t.owner) && (!t.updatedAt || t.updatedAt < ut); )
156
156
  t.state && e.push(t);
157
157
  for (let n = e.length - 1; n >= 0; n--)
158
158
  if (t = e[n], t.state === F)
159
- G(t);
160
- else if (t.state === rt) {
161
- const a = S;
162
- S = null, J(() => ot(t, e[0]), !1), S = a;
159
+ X(t);
160
+ else if (t.state === at) {
161
+ const a = C;
162
+ C = null, J(() => it(t, e[0]), !1), C = a;
163
163
  }
164
164
  }
165
165
  function J(t, e) {
166
- if (S) return t();
166
+ if (C) return t();
167
167
  let n = !1;
168
- e || (S = []), W ? n = !0 : W = [], ct++;
168
+ e || (C = []), j ? n = !0 : j = [], ut++;
169
169
  try {
170
170
  const a = t();
171
- return Xt(n), a;
171
+ return Yt(n), a;
172
172
  } catch (a) {
173
- n || (W = null), S = null, It(a);
173
+ n || (j = null), C = null, Ot(a);
174
174
  }
175
175
  }
176
- function Xt(t) {
177
- if (S && (Lt(S), S = null), t) return;
178
- const e = W;
179
- W = null, e.length && J(() => Pt(e), !1);
176
+ function Yt(t) {
177
+ if (C && (Vt(C), C = null), t) return;
178
+ const e = j;
179
+ j = null, e.length && J(() => Mt(e), !1);
180
180
  }
181
- function Lt(t) {
182
- for (let e = 0; e < t.length; e++) at(t[e]);
181
+ function Vt(t) {
182
+ for (let e = 0; e < t.length; e++) ot(t[e]);
183
183
  }
184
- function Zt(t) {
184
+ function te(t) {
185
185
  let e, n = 0;
186
186
  for (e = 0; e < t.length; e++) {
187
187
  const a = t[e];
188
- a.user ? t[n++] = a : at(a);
188
+ a.user ? t[n++] = a : ot(a);
189
189
  }
190
- for (e = 0; e < n; e++) at(t[e]);
190
+ for (e = 0; e < n; e++) ot(t[e]);
191
191
  }
192
- function ot(t, e) {
192
+ function it(t, e) {
193
193
  t.state = 0;
194
194
  for (let n = 0; n < t.sources.length; n += 1) {
195
195
  const a = t.sources[n];
196
196
  if (a.sources) {
197
197
  const r = a.state;
198
- r === F ? a !== e && (!a.updatedAt || a.updatedAt < ct) && at(a) : r === rt && ot(a, e);
198
+ r === F ? a !== e && (!a.updatedAt || a.updatedAt < ut) && ot(a) : r === at && it(a, e);
199
199
  }
200
200
  }
201
201
  }
202
- function Vt(t) {
202
+ function zt(t) {
203
203
  for (let e = 0; e < t.observers.length; e += 1) {
204
204
  const n = t.observers[e];
205
- n.state || (n.state = rt, n.pure ? S.push(n) : W.push(n), n.observers && Vt(n));
205
+ n.state || (n.state = at, n.pure ? C.push(n) : j.push(n), n.observers && zt(n));
206
206
  }
207
207
  }
208
- function H(t) {
208
+ function Q(t) {
209
209
  let e;
210
210
  if (t.sources)
211
211
  for (; t.sources.length; ) {
@@ -216,11 +216,11 @@ function H(t) {
216
216
  }
217
217
  }
218
218
  if (t.tOwned) {
219
- for (e = t.tOwned.length - 1; e >= 0; e--) H(t.tOwned[e]);
219
+ for (e = t.tOwned.length - 1; e >= 0; e--) Q(t.tOwned[e]);
220
220
  delete t.tOwned;
221
221
  }
222
222
  if (t.owned) {
223
- for (e = t.owned.length - 1; e >= 0; e--) H(t.owned[e]);
223
+ for (e = t.owned.length - 1; e >= 0; e--) Q(t.owned[e]);
224
224
  t.owned = null;
225
225
  }
226
226
  if (t.cleanups) {
@@ -229,85 +229,85 @@ function H(t) {
229
229
  }
230
230
  t.state = 0;
231
231
  }
232
- function Yt(t) {
232
+ function ee(t) {
233
233
  return t instanceof Error ? t : new Error(typeof t == "string" ? t : "Unknown error", {
234
234
  cause: t
235
235
  });
236
236
  }
237
- function It(t, e = _) {
238
- throw Yt(t);
237
+ function Ot(t, e = p) {
238
+ throw ee(t);
239
239
  }
240
- function vt(t) {
241
- if (typeof t == "function" && !t.length) return vt(t());
240
+ function wt(t) {
241
+ if (typeof t == "function" && !t.length) return wt(t());
242
242
  if (Array.isArray(t)) {
243
243
  const e = [];
244
244
  for (let n = 0; n < t.length; n++) {
245
- const a = vt(t[n]);
245
+ const a = wt(t[n]);
246
246
  Array.isArray(a) ? e.push.apply(e, a) : e.push(a);
247
247
  }
248
248
  return e;
249
249
  }
250
250
  return t;
251
251
  }
252
- function te(t, e) {
252
+ function ne(t, e) {
253
253
  return function(a) {
254
254
  let r;
255
- return T(() => r = L(() => (_.context = {
256
- ..._.context,
255
+ return T(() => r = I(() => (p.context = {
256
+ ...p.context,
257
257
  [t]: a.value
258
258
  }, Jt(() => a.children))), void 0), r;
259
259
  };
260
260
  }
261
- const ee = /* @__PURE__ */ Symbol("fallback");
262
- function kt(t) {
261
+ const re = /* @__PURE__ */ Symbol("fallback");
262
+ function At(t) {
263
263
  for (let e = 0; e < t.length; e++) t[e]();
264
264
  }
265
- function ne(t, e, n = {}) {
265
+ function ae(t, e, n = {}) {
266
266
  let a = [], r = [], o = [], s = 0, i = e.length > 1 ? [] : null;
267
- return ut(() => kt(o)), () => {
267
+ return ft(() => At(o)), () => {
268
268
  let c = t() || [], u = c.length, f, l;
269
- return c[Kt], L(() => {
270
- let w, $, m, E, g, d, p, x, C;
269
+ return c[Ht], I(() => {
270
+ let x, A, y, P, $, m, h, d, _;
271
271
  if (u === 0)
272
- s !== 0 && (kt(o), o = [], a = [], r = [], s = 0, i && (i = [])), n.fallback && (a = [ee], r[0] = et((P) => (o[0] = P, n.fallback())), s = 1);
272
+ s !== 0 && (At(o), o = [], a = [], r = [], s = 0, i && (i = [])), n.fallback && (a = [re], r[0] = nt((q) => (o[0] = q, n.fallback())), s = 1);
273
273
  else if (s === 0) {
274
274
  for (r = new Array(u), l = 0; l < u; l++)
275
- a[l] = c[l], r[l] = et(k);
275
+ a[l] = c[l], r[l] = nt(S);
276
276
  s = u;
277
277
  } else {
278
- for (m = new Array(u), E = new Array(u), i && (g = new Array(u)), d = 0, p = Math.min(s, u); d < p && a[d] === c[d]; d++) ;
279
- for (p = s - 1, x = u - 1; p >= d && x >= d && a[p] === c[x]; p--, x--)
280
- m[x] = r[p], E[x] = o[p], i && (g[x] = i[p]);
281
- for (w = /* @__PURE__ */ new Map(), $ = new Array(x + 1), l = x; l >= d; l--)
282
- C = c[l], f = w.get(C), $[l] = f === void 0 ? -1 : f, w.set(C, l);
283
- for (f = d; f <= p; f++)
284
- C = a[f], l = w.get(C), l !== void 0 && l !== -1 ? (m[l] = r[f], E[l] = o[f], i && (g[l] = i[f]), l = $[l], w.set(C, l)) : o[f]();
285
- for (l = d; l < u; l++)
286
- l in m ? (r[l] = m[l], o[l] = E[l], i && (i[l] = g[l], i[l](l))) : r[l] = et(k);
278
+ for (y = new Array(u), P = new Array(u), i && ($ = new Array(u)), m = 0, h = Math.min(s, u); m < h && a[m] === c[m]; m++) ;
279
+ for (h = s - 1, d = u - 1; h >= m && d >= m && a[h] === c[d]; h--, d--)
280
+ y[d] = r[h], P[d] = o[h], i && ($[d] = i[h]);
281
+ for (x = /* @__PURE__ */ new Map(), A = new Array(d + 1), l = d; l >= m; l--)
282
+ _ = c[l], f = x.get(_), A[l] = f === void 0 ? -1 : f, x.set(_, l);
283
+ for (f = m; f <= h; f++)
284
+ _ = a[f], l = x.get(_), l !== void 0 && l !== -1 ? (y[l] = r[f], P[l] = o[f], i && ($[l] = i[f]), l = A[l], x.set(_, l)) : o[f]();
285
+ for (l = m; l < u; l++)
286
+ l in y ? (r[l] = y[l], o[l] = P[l], i && (i[l] = $[l], i[l](l))) : r[l] = nt(S);
287
287
  r = r.slice(0, s = u), a = c.slice(0);
288
288
  }
289
289
  return r;
290
290
  });
291
- function k(w) {
292
- if (o[l] = w, i) {
293
- const [$, m] = M(l);
294
- return i[l] = m, e(c[l], $);
291
+ function S(x) {
292
+ if (o[l] = x, i) {
293
+ const [A, y] = E(l);
294
+ return i[l] = y, e(c[l], A);
295
295
  }
296
296
  return e(c[l]);
297
297
  }
298
298
  };
299
299
  }
300
- function h(t, e) {
301
- return L(() => t(e || {}));
300
+ function g(t, e) {
301
+ return I(() => t(e || {}));
302
302
  }
303
- const re = (t) => `Stale read from <${t}>.`;
304
- function ae(t) {
303
+ const oe = (t) => `Stale read from <${t}>.`;
304
+ function ie(t) {
305
305
  const e = "fallback" in t && {
306
306
  fallback: () => t.fallback
307
307
  };
308
- return B(ne(() => t.each, t.children, e || void 0));
308
+ return B(ae(() => t.each, t.children, e || void 0));
309
309
  }
310
- function Q(t) {
310
+ function Z(t) {
311
311
  const e = t.keyed, n = B(() => t.when, void 0, void 0), a = e ? n : B(n, void 0, {
312
312
  equals: (r, o) => !r == !o
313
313
  });
@@ -315,16 +315,16 @@ function Q(t) {
315
315
  const r = a();
316
316
  if (r) {
317
317
  const o = t.children;
318
- return typeof o == "function" && o.length > 0 ? L(() => o(e ? r : () => {
319
- if (!L(a)) throw re("Show");
318
+ return typeof o == "function" && o.length > 0 ? I(() => o(e ? r : () => {
319
+ if (!I(a)) throw oe("Show");
320
320
  return n();
321
321
  })) : o;
322
322
  }
323
323
  return t.fallback;
324
324
  }, void 0, void 0);
325
325
  }
326
- const Ct = (t) => B(() => t());
327
- function oe(t, e, n) {
326
+ const mt = (t) => B(() => t());
327
+ function se(t, e, n) {
328
328
  let a = n.length, r = e.length, o = a, s = 0, i = 0, c = e[r - 1].nextSibling, u = null;
329
329
  for (; s < r || i < o; ) {
330
330
  if (e[s] === n[i]) {
@@ -351,20 +351,20 @@ function oe(t, e, n) {
351
351
  const f = u.get(e[s]);
352
352
  if (f != null)
353
353
  if (i < f && f < o) {
354
- let l = s, k = 1, w;
355
- for (; ++l < r && l < o && !((w = u.get(e[l])) == null || w !== f + k); )
356
- k++;
357
- if (k > f - i) {
358
- const $ = e[s];
359
- for (; i < f; ) t.insertBefore(n[i++], $);
354
+ let l = s, S = 1, x;
355
+ for (; ++l < r && l < o && !((x = u.get(e[l])) == null || x !== f + S); )
356
+ S++;
357
+ if (S > f - i) {
358
+ const A = e[s];
359
+ for (; i < f; ) t.insertBefore(n[i++], A);
360
360
  } else t.replaceChild(n[i++], e[s++]);
361
361
  } else s++;
362
362
  else e[s++].remove();
363
363
  }
364
364
  }
365
365
  }
366
- const St = "_$DX_DELEGATE";
367
- function V(t, e, n, a) {
366
+ const $t = "_$DX_DELEGATE";
367
+ function R(t, e, n, a) {
368
368
  let r;
369
369
  const o = () => {
370
370
  const i = document.createElement("template");
@@ -372,30 +372,30 @@ function V(t, e, n, a) {
372
372
  }, s = () => (r || (r = o())).cloneNode(!0);
373
373
  return s.cloneNode = s, s;
374
374
  }
375
- function ie(t, e = window.document) {
376
- const n = e[St] || (e[St] = /* @__PURE__ */ new Set());
375
+ function le(t, e = window.document) {
376
+ const n = e[$t] || (e[$t] = /* @__PURE__ */ new Set());
377
377
  for (let a = 0, r = t.length; a < r; a++) {
378
378
  const o = t[a];
379
- n.has(o) || (n.add(o), e.addEventListener(o, le));
379
+ n.has(o) || (n.add(o), e.addEventListener(o, ue));
380
380
  }
381
381
  }
382
- function gt(t, e, n) {
382
+ function pt(t, e, n) {
383
383
  n == null ? t.removeAttribute(e) : t.setAttribute(e, n);
384
384
  }
385
- function wt(t, e) {
385
+ function yt(t, e) {
386
386
  e == null ? t.removeAttribute("class") : t.className = e;
387
387
  }
388
- function se(t, e, n) {
388
+ function ce(t, e, n) {
389
389
  n != null ? t.style.setProperty(e, n) : t.style.removeProperty(e);
390
390
  }
391
- function pt(t, e, n) {
392
- return L(() => t(e, n));
391
+ function _t(t, e, n) {
392
+ return I(() => t(e, n));
393
393
  }
394
- function y(t, e, n, a) {
395
- if (n !== void 0 && !a && (a = []), typeof e != "function") return it(t, e, a, n);
396
- T((r) => it(t, e(), r, n), a);
394
+ function w(t, e, n, a) {
395
+ if (n !== void 0 && !a && (a = []), typeof e != "function") return st(t, e, a, n);
396
+ T((r) => st(t, e(), r, n), a);
397
397
  }
398
- function le(t) {
398
+ function ue(t) {
399
399
  let e = t.target;
400
400
  const n = `$$${t.type}`, a = t.target, r = t.currentTarget, o = (c) => Object.defineProperty(t, "target", {
401
401
  configurable: !0,
@@ -429,7 +429,7 @@ function le(t) {
429
429
  } else i();
430
430
  o(a);
431
431
  }
432
- function it(t, e, n, a, r) {
432
+ function st(t, e, n, a, r) {
433
433
  for (; typeof n == "function"; ) n = n();
434
434
  if (e === n) return n;
435
435
  const o = typeof e, s = a !== void 0;
@@ -438,48 +438,48 @@ function it(t, e, n, a, r) {
438
438
  return n;
439
439
  if (s) {
440
440
  let i = n[0];
441
- i && i.nodeType === 3 ? i.data !== e && (i.data = e) : i = document.createTextNode(e), n = D(t, n, a, i);
441
+ i && i.nodeType === 3 ? i.data !== e && (i.data = e) : i = document.createTextNode(e), n = G(t, n, a, i);
442
442
  } else
443
443
  n !== "" && typeof n == "string" ? n = t.firstChild.data = e : n = t.textContent = e;
444
444
  } else if (e == null || o === "boolean")
445
- n = D(t, n, a);
445
+ n = G(t, n, a);
446
446
  else {
447
447
  if (o === "function")
448
448
  return T(() => {
449
449
  let i = e();
450
450
  for (; typeof i == "function"; ) i = i();
451
- n = it(t, i, n, a);
451
+ n = st(t, i, n, a);
452
452
  }), () => n;
453
453
  if (Array.isArray(e)) {
454
454
  const i = [], c = n && Array.isArray(n);
455
- if (mt(i, e, n, r))
456
- return T(() => n = it(t, i, n, a, !0)), () => n;
455
+ if (xt(i, e, n, r))
456
+ return T(() => n = st(t, i, n, a, !0)), () => n;
457
457
  if (i.length === 0) {
458
- if (n = D(t, n, a), s) return n;
459
- } else c ? n.length === 0 ? At(t, i, a) : oe(t, n, i) : (n && D(t), At(t, i));
458
+ if (n = G(t, n, a), s) return n;
459
+ } else c ? n.length === 0 ? Et(t, i, a) : se(t, n, i) : (n && G(t), Et(t, i));
460
460
  n = i;
461
461
  } else if (e.nodeType) {
462
462
  if (Array.isArray(n)) {
463
- if (s) return n = D(t, n, a, e);
464
- D(t, n, null, e);
463
+ if (s) return n = G(t, n, a, e);
464
+ G(t, n, null, e);
465
465
  } else n == null || n === "" || !t.firstChild ? t.appendChild(e) : t.replaceChild(e, t.firstChild);
466
466
  n = e;
467
467
  }
468
468
  }
469
469
  return n;
470
470
  }
471
- function mt(t, e, n, a) {
471
+ function xt(t, e, n, a) {
472
472
  let r = !1;
473
473
  for (let o = 0, s = e.length; o < s; o++) {
474
474
  let i = e[o], c = n && n[t.length], u;
475
475
  if (!(i == null || i === !0 || i === !1)) if ((u = typeof i) == "object" && i.nodeType)
476
476
  t.push(i);
477
477
  else if (Array.isArray(i))
478
- r = mt(t, i, c) || r;
478
+ r = xt(t, i, c) || r;
479
479
  else if (u === "function")
480
480
  if (a) {
481
481
  for (; typeof i == "function"; ) i = i();
482
- r = mt(t, Array.isArray(i) ? i : [i], Array.isArray(c) ? c : [c]) || r;
482
+ r = xt(t, Array.isArray(i) ? i : [i], Array.isArray(c) ? c : [c]) || r;
483
483
  } else
484
484
  t.push(i), r = !0;
485
485
  else {
@@ -489,10 +489,10 @@ function mt(t, e, n, a) {
489
489
  }
490
490
  return r;
491
491
  }
492
- function At(t, e, n = null) {
492
+ function Et(t, e, n = null) {
493
493
  for (let a = 0, r = e.length; a < r; a++) t.insertBefore(e[a], n);
494
494
  }
495
- function D(t, e, n, a) {
495
+ function G(t, e, n, a) {
496
496
  if (n === void 0) return t.textContent = "";
497
497
  const r = a || document.createTextNode("");
498
498
  if (e.length) {
@@ -507,34 +507,34 @@ function D(t, e, n, a) {
507
507
  } else t.insertBefore(r, n);
508
508
  return [r];
509
509
  }
510
- function ce(t) {
510
+ function fe(t) {
511
511
  return Object.keys(t).reduce((n, a) => {
512
512
  const r = t[a];
513
- return n[a] = Object.assign({}, r), Ot(r.value) && !ge(r.value) && !Array.isArray(r.value) && (n[a].value = Object.assign({}, r.value)), Array.isArray(r.value) && (n[a].value = r.value.slice(0)), n;
513
+ return n[a] = Object.assign({}, r), Ft(r.value) && !_e(r.value) && !Array.isArray(r.value) && (n[a].value = Object.assign({}, r.value)), Array.isArray(r.value) && (n[a].value = r.value.slice(0)), n;
514
514
  }, {});
515
515
  }
516
- function ue(t) {
516
+ function de(t) {
517
517
  return t ? Object.keys(t).reduce((n, a) => {
518
518
  const r = t[a];
519
- return n[a] = Ot(r) && "value" in r ? r : {
519
+ return n[a] = Ft(r) && "value" in r ? r : {
520
520
  value: r
521
- }, n[a].attribute || (n[a].attribute = he(a)), n[a].parse = "parse" in n[a] ? n[a].parse : typeof n[a].value != "string", n;
521
+ }, n[a].attribute || (n[a].attribute = pe(a)), n[a].parse = "parse" in n[a] ? n[a].parse : typeof n[a].value != "string", n;
522
522
  }, {}) : {};
523
523
  }
524
- function fe(t) {
524
+ function he(t) {
525
525
  return Object.keys(t).reduce((n, a) => (n[a] = t[a].value, n), {});
526
526
  }
527
- function de(t, e) {
528
- const n = ce(e);
527
+ function ge(t, e) {
528
+ const n = fe(e);
529
529
  return Object.keys(e).forEach((r) => {
530
530
  const o = n[r], s = t.getAttribute(o.attribute), i = t[r];
531
- s != null && (o.value = o.parse ? zt(s) : s), i != null && (o.value = Array.isArray(i) ? i.slice(0) : i), o.reflect && $t(t, o.attribute, o.value, !!o.parse), Object.defineProperty(t, r, {
531
+ s != null && (o.value = o.parse ? Bt(s) : s), i != null && (o.value = Array.isArray(i) ? i.slice(0) : i), o.reflect && Pt(t, o.attribute, o.value, !!o.parse), Object.defineProperty(t, r, {
532
532
  get() {
533
533
  return o.value;
534
534
  },
535
535
  set(c) {
536
536
  const u = o.value;
537
- o.value = c, o.reflect && $t(this, o.attribute, o.value, !!o.parse);
537
+ o.value = c, o.reflect && Pt(this, o.attribute, o.value, !!o.parse);
538
538
  for (let f = 0, l = this.__propertyChangedCallbacks.length; f < l; f++)
539
539
  this.__propertyChangedCallbacks[f](r, c, u);
540
540
  },
@@ -543,7 +543,7 @@ function de(t, e) {
543
543
  });
544
544
  }), n;
545
545
  }
546
- function zt(t) {
546
+ function Bt(t) {
547
547
  if (t)
548
548
  try {
549
549
  return JSON.parse(t);
@@ -551,25 +551,25 @@ function zt(t) {
551
551
  return t;
552
552
  }
553
553
  }
554
- function $t(t, e, n, a) {
554
+ function Pt(t, e, n, a) {
555
555
  if (n == null || n === !1) return t.removeAttribute(e);
556
556
  let r = a ? JSON.stringify(n) : n;
557
557
  t.__updating[e] = !0, r === "true" && (r = ""), t.setAttribute(e, r), Promise.resolve().then(() => delete t.__updating[e]);
558
558
  }
559
- function he(t) {
559
+ function pe(t) {
560
560
  return t.replace(/\.?([A-Z]+)/g, (e, n) => "-" + n.toLowerCase()).replace("_", "-").replace(/^-/, "");
561
561
  }
562
- function Ot(t) {
562
+ function Ft(t) {
563
563
  return t != null && (typeof t == "object" || typeof t == "function");
564
564
  }
565
- function ge(t) {
565
+ function _e(t) {
566
566
  return Object.prototype.toString.call(t) === "[object Function]";
567
567
  }
568
- function pe(t) {
568
+ function be(t) {
569
569
  return typeof t == "function" && t.toString().indexOf("class") === 0;
570
570
  }
571
- let _t;
572
- function _e(t, e) {
571
+ let bt;
572
+ function ve(t, e) {
573
573
  const n = Object.keys(e);
574
574
  return class extends t {
575
575
  static get observedAttributes() {
@@ -582,16 +582,16 @@ function _e(t, e) {
582
582
  }
583
583
  connectedCallback() {
584
584
  if (this.__initialized) return;
585
- this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = de(this, e);
586
- const r = fe(this.props), o = this.Component, s = _t;
585
+ this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = ge(this, e);
586
+ const r = he(this.props), o = this.Component, s = bt;
587
587
  try {
588
- _t = this, this.__initialized = !0, pe(o) ? new o(r, {
588
+ bt = this, this.__initialized = !0, be(o) ? new o(r, {
589
589
  element: this
590
590
  }) : o(r, {
591
591
  element: this
592
592
  });
593
593
  } finally {
594
- _t = s;
594
+ bt = s;
595
595
  }
596
596
  }
597
597
  async disconnectedCallback() {
@@ -604,7 +604,7 @@ function _e(t, e) {
604
604
  attributeChangedCallback(r, o, s) {
605
605
  if (this.__initialized && !this.__updating[r] && (r = this.lookupProp(r), r in e)) {
606
606
  if (s == null && !this[r]) return;
607
- this[r] = e[r].parse ? zt(s) : s;
607
+ this[r] = e[r].parse ? Bt(s) : s;
608
608
  }
609
609
  }
610
610
  lookupProp(r) {
@@ -624,7 +624,7 @@ function _e(t, e) {
624
624
  }
625
625
  };
626
626
  }
627
- function be(t, e = {}, n = {}) {
627
+ function we(t, e = {}, n = {}) {
628
628
  const {
629
629
  BaseElement: a = HTMLElement,
630
630
  extension: r,
@@ -632,13 +632,13 @@ function be(t, e = {}, n = {}) {
632
632
  } = n;
633
633
  return (s) => {
634
634
  let i = o.get(t);
635
- return i ? (i.prototype.Component = s, i) : (i = _e(a, ue(e)), i.prototype.Component = s, i.prototype.registeredTag = t, o.define(t, i, r), i);
635
+ return i ? (i.prototype.Component = s, i) : (i = ve(a, de(e)), i.prototype.Component = s, i.prototype.registeredTag = t, o.define(t, i, r), i);
636
636
  };
637
637
  }
638
- function ve(t) {
638
+ function me(t) {
639
639
  const e = Object.keys(t), n = {};
640
640
  for (let a = 0; a < e.length; a++) {
641
- const [r, o] = M(t[e[a]]);
641
+ const [r, o] = E(t[e[a]]);
642
642
  Object.defineProperty(n, e[a], {
643
643
  get: r,
644
644
  set(s) {
@@ -648,216 +648,220 @@ function ve(t) {
648
648
  }
649
649
  return n;
650
650
  }
651
- function we(t) {
651
+ function ye(t) {
652
652
  if (t.assignedSlot && t.assignedSlot._$owner) return t.assignedSlot._$owner;
653
653
  let e = t.parentNode;
654
654
  for (; e && !e._$owner && !(e.assignedSlot && e.assignedSlot._$owner); )
655
655
  e = e.parentNode;
656
656
  return e && e.assignedSlot ? e.assignedSlot._$owner : t._$owner;
657
657
  }
658
- function me(t) {
658
+ function xe(t) {
659
659
  return (e, n) => {
660
660
  const { element: a } = n;
661
- return et((r) => {
662
- const o = ve(e);
661
+ return nt((r) => {
662
+ const o = me(e);
663
663
  a.addPropertyChangedCallback((i, c) => o[i] = c), a.addReleaseCallback(() => {
664
664
  a.renderRoot.textContent = "", r();
665
665
  });
666
666
  const s = t(o, n);
667
- return y(a.renderRoot, s);
668
- }, we(a));
667
+ return w(a.renderRoot, s);
668
+ }, ye(a));
669
669
  };
670
670
  }
671
- function ye(t, e, n) {
672
- return arguments.length === 2 && (n = e, e = {}), be(t, e)(me(n));
671
+ function ke(t, e, n) {
672
+ return arguments.length === 2 && (n = e, e = {}), we(t, e)(xe(n));
673
673
  }
674
- function U(t) {
675
- const [e, n] = M(t.peek(), { equals: !1 }), a = t.subscribe((r) => n(() => r));
676
- return ut(() => a()), e;
674
+ function O(t) {
675
+ const [e, n] = E(t.peek(), { equals: !1 }), a = t.subscribe((r) => n(() => r));
676
+ return ft(() => a()), e;
677
677
  }
678
- const st = Gt();
679
- function xe(t) {
680
- const [e, n] = M("no-url"), [a, r] = M(!1), o = U(t.moqWatch.backend.audio.muted), [s, i] = M(0), c = U(t.moqWatch.backend.video.stalled), u = U(t.moqWatch.backend.jitter), [f, l] = M([]), k = U(t.moqWatch.backend.video.source.track), [w, $] = M(!1), [m, E] = M(!!document.fullscreenElement), g = () => {
678
+ const lt = Xt();
679
+ function Ce(t) {
680
+ const [e, n] = E("no-url"), [a, r] = E(!1), o = O(t.moqWatch.backend.audio.muted), [s, i] = E(0), c = O(t.moqWatch.backend.video.stalled), u = O(t.moqWatch.backend.latency), f = O(t.moqWatch.backend.jitter), [l, S] = E([]), x = O(t.moqWatch.backend.video.source.track), [A, y] = E(!1), [P, $] = E(!!document.fullscreenElement), m = () => {
681
681
  t.moqWatch.paused = !t.moqWatch.paused;
682
- }, d = () => {
682
+ }, h = () => {
683
683
  document.fullscreenElement ? document.exitFullscreen() : t.moqWatch.requestFullscreen();
684
- }, p = (b) => {
684
+ }, d = (b) => {
685
685
  t.moqWatch.backend.audio.volume.set(b / 100);
686
- }, x = () => {
686
+ }, _ = () => {
687
687
  t.moqWatch.backend.audio.muted.update((b) => !b);
688
- }, C = (b) => {
689
- t.moqWatch.jitter = b;
690
- }, P = (b) => {
691
- t.moqWatch.backend.video.source.target.update((q) => ({
692
- ...q,
688
+ }, q = (b) => {
689
+ t.moqWatch.latency = b;
690
+ }, U = (b) => {
691
+ t.moqWatch.backend.video.source.target.update((M) => ({
692
+ ...M,
693
693
  name: b
694
694
  }));
695
- }, I = U(t.moqWatch.backend.video.timestamp), ft = U(t.moqWatch.backend.video.buffered), X = U(t.moqWatch.backend.audio.buffered), dt = {
695
+ }, K = O(t.moqWatch.backend.video.timestamp), D = O(t.moqWatch.backend.video.buffered), dt = O(t.moqWatch.backend.audio.buffered), Y = {
696
696
  moqWatch: t.moqWatch,
697
697
  watchStatus: e,
698
- togglePlayback: g,
698
+ togglePlayback: m,
699
699
  isPlaying: a,
700
- setVolume: p,
700
+ setVolume: d,
701
701
  isMuted: o,
702
702
  currentVolume: s,
703
- toggleMuted: x,
703
+ toggleMuted: _,
704
704
  buffering: c,
705
- jitter: u,
706
- setJitter: C,
707
- availableRenditions: f,
708
- activeRendition: k,
709
- setActiveRendition: P,
710
- isStatsPanelVisible: w,
711
- setIsStatsPanelVisible: $,
712
- isFullscreen: m,
713
- toggleFullscreen: d,
714
- timestamp: I,
715
- videoBuffered: ft,
716
- audioBuffered: X
717
- }, R = t.moqWatch, z = new Ft.Effect();
718
- z.run((b) => {
719
- const q = b.get(R.connection.url), A = b.get(R.connection.status), O = b.get(R.broadcast.status);
720
- q ? A === "disconnected" ? n("disconnected") : A === "connecting" ? n("connecting") : O === "offline" ? n("offline") : O === "loading" ? n("loading") : O === "live" ? n("live") : A === "connected" && n("connected") : n("no-url");
721
- }), z.run((b) => {
722
- const q = b.get(R.backend.paused);
723
- r(!q);
724
- }), z.run((b) => {
725
- const q = b.get(R.backend.audio.volume);
726
- i(q * 100);
727
- }), z.run((b) => {
728
- const A = b.get(R.backend.video.source.catalog)?.renditions ?? {}, O = Object.entries(A).map(([Y, K]) => ({
729
- name: Y,
730
- width: K.codedWidth,
731
- height: K.codedHeight,
732
- bitrate: K.bitrate
705
+ latency: u,
706
+ jitter: f,
707
+ setLatency: q,
708
+ availableRenditions: l,
709
+ activeRendition: x,
710
+ setActiveRendition: U,
711
+ isStatsPanelVisible: A,
712
+ setIsStatsPanelVisible: y,
713
+ isFullscreen: P,
714
+ toggleFullscreen: h,
715
+ timestamp: K,
716
+ videoBuffered: D,
717
+ audioBuffered: dt
718
+ }, V = t.moqWatch, L = new Ut.Effect();
719
+ L.run((b) => {
720
+ const M = b.get(V.connection.url), z = b.get(V.connection.status), k = b.get(V.broadcast.status);
721
+ M ? z === "disconnected" ? n("disconnected") : z === "connecting" ? n("connecting") : k === "offline" ? n("offline") : k === "loading" ? n("loading") : k === "live" ? n("live") : z === "connected" && n("connected") : n("no-url");
722
+ }), L.run((b) => {
723
+ const M = b.get(V.backend.paused);
724
+ r(!M);
725
+ }), L.run((b) => {
726
+ const M = b.get(V.backend.audio.volume);
727
+ i(M * 100);
728
+ }), L.run((b) => {
729
+ const z = b.get(V.backend.video.source.catalog)?.renditions ?? {}, k = Object.entries(z).map(([tt, H]) => ({
730
+ name: tt,
731
+ width: H.codedWidth,
732
+ height: H.codedHeight,
733
+ bitrate: H.bitrate
733
734
  }));
734
- l(O);
735
+ S(k);
735
736
  });
736
- const Z = () => {
737
- E(!!document.fullscreenElement);
737
+ const ht = () => {
738
+ $(!!document.fullscreenElement);
738
739
  };
739
- return z.event(document, "fullscreenchange", Z), ut(() => z.close()), h(st.Provider, {
740
- value: dt,
740
+ return L.event(document, "fullscreenchange", ht), ft(() => L.close()), g(lt.Provider, {
741
+ value: Y,
741
742
  get children() {
742
743
  return t.children;
743
744
  }
744
745
  });
745
746
  }
746
747
  function N() {
747
- const t = jt(st);
748
+ const t = jt(lt);
748
749
  if (!t)
749
750
  throw new Error("useWatchUIContext must be used within a WatchUIContextProvider");
750
751
  return t;
751
752
  }
752
- var ke = /* @__PURE__ */ V('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
753
- function Ce() {
753
+ var Se = /* @__PURE__ */ R('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
754
+ function Ae() {
754
755
  const t = N();
755
- return h(Q, {
756
+ return g(Z, {
756
757
  get when() {
757
758
  return t.buffering();
758
759
  },
759
760
  get children() {
760
- return ke();
761
+ return Se();
761
762
  }
762
763
  });
763
764
  }
764
- var Se = /* @__PURE__ */ V('<div class=watch-ui__buffer><div role=slider tabindex=0 aria-label="Buffer jitter"><div class=watch-ui__buffer-playhead></div><div class="watch-ui__buffer-track watch-ui__buffer-track--video"><span class=watch-ui__buffer-track-label>Video</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class="watch-ui__buffer-track watch-ui__buffer-track--audio"><span class=watch-ui__buffer-track-label>Audio</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class=watch-ui__buffer-target-area><div class=watch-ui__buffer-target-line><span class=watch-ui__buffer-target-label>');
765
- const bt = 0, tt = 100;
766
- function Et(t, e, n, a, r) {
765
+ var $e = /* @__PURE__ */ R('<div class=watch-ui__buffer><div role=slider tabindex=0 aria-label="Buffer jitter"><div class=watch-ui__buffer-playhead></div><div class="watch-ui__buffer-track watch-ui__buffer-track--video"><span class=watch-ui__buffer-track-label>Video</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class="watch-ui__buffer-track watch-ui__buffer-track--audio"><span class=watch-ui__buffer-track-label>Audio</span><canvas class=watch-ui__buffer-canvas></canvas></div><div class=watch-ui__buffer-target-area><div class=watch-ui__buffer-target-line><span class=watch-ui__buffer-target-label>'), Ee = /* @__PURE__ */ R("<span class=watch-ui__buffer-help>click to change latency");
766
+ const vt = 0, et = 10;
767
+ function qt(t, e, n, a, r) {
767
768
  const o = t.getContext("2d");
768
769
  if (!o) return;
769
770
  const s = window.devicePixelRatio || 1, i = t.getBoundingClientRect(), c = i.width, u = i.height, f = Math.round(c * s), l = Math.round(u * s);
770
771
  if ((t.width !== f || t.height !== l) && (t.width = f, t.height = l), o.setTransform(s, 0, 0, s, 0, 0), o.clearRect(0, 0, c, u), n === void 0) return;
771
- const k = 2, w = u - k * 2, $ = 2;
772
- for (let m = 0; m < e.length; m++) {
773
- const E = e[m], g = E.start - n, d = E.end - n, p = Math.max(0, g), x = Math.min(d, a);
774
- if (x <= p) continue;
775
- const C = p / a * c, P = Math.max(2, (x - p) / a * c);
776
- if (o.globalAlpha = 0.85, o.fillStyle = r ? "#f87171" : m > 0 ? "#facc15" : "#4ade80", typeof o.roundRect == "function" ? (o.beginPath(), o.roundRect(C, k, P, w, $), o.fill()) : o.fillRect(C, k, P, w), d > a) {
777
- const I = ((d - a) / 1e3).toFixed(1);
778
- o.globalAlpha = 0.7, o.fillStyle = "black", o.font = "500 9px system-ui, sans-serif", o.textAlign = "right", o.textBaseline = "middle", o.fillText(`+${I}s`, C + P - 4, u / 2);
772
+ const S = 2, x = u - S * 2, A = 2;
773
+ for (let y = 0; y < e.length; y++) {
774
+ const P = e[y], $ = P.start - n, m = P.end - n, h = Math.max(0, $), d = Math.min(m, a);
775
+ if (d <= h) continue;
776
+ const _ = h / a * c, q = Math.max(2, (d - h) / a * c);
777
+ if (o.globalAlpha = 0.85, o.fillStyle = r ? "#f87171" : y > 0 ? "#facc15" : "#4ade80", typeof o.roundRect == "function" ? (o.beginPath(), o.roundRect(_, S, q, x, A), o.fill()) : o.fillRect(_, S, q, x), m > a) {
778
+ const U = ((m - a) / 1e3).toFixed(1);
779
+ o.globalAlpha = 0.7, o.fillStyle = "black", o.font = "500 9px system-ui, sans-serif", o.textAlign = "right", o.textBaseline = "middle", o.fillText(`+${U}s`, _ + q - 4, u / 2);
779
780
  }
780
781
  }
781
782
  }
782
- function Ae(t) {
783
- const e = N(), n = () => t.max ?? 5e3, [a, r] = M(!1), o = B(() => e.jitter() / n() * 100);
784
- let s, i, c;
785
- const u = 48, f = (g) => {
786
- if (!s) return;
787
- const d = s.getBoundingClientRect(), p = d.width - u, C = Math.max(0, Math.min(g - d.left - u, p)) / p * n(), P = Math.round(C / tt) * tt, I = Math.max(bt, Math.min(n(), P));
788
- e.setJitter(I);
789
- }, l = (g) => {
790
- r(!0), f(g.clientX), document.addEventListener("mousemove", k), document.addEventListener("mouseup", w);
791
- }, k = (g) => {
792
- a() && f(g.clientX);
793
- }, w = () => {
794
- r(!1), document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", w);
795
- }, $ = (g) => {
783
+ function Pe(t) {
784
+ const e = N(), n = () => t.max ?? 4e3, [a, r] = E(!1), [o, s] = E(!1), i = B(() => e.jitter() / n() * 100);
785
+ let c, u, f;
786
+ const l = 48, S = (h) => {
787
+ if (!c) return;
788
+ const d = c.getBoundingClientRect(), _ = d.width - l, U = Math.max(0, Math.min(h - d.left - l, _)) / _ * n(), K = Math.round(U / et) * et, D = Math.max(vt, Math.min(n(), K));
789
+ e.setLatency(D);
790
+ }, x = (h) => {
791
+ r(!0), s(!0), S(h.clientX), document.addEventListener("mousemove", A), document.addEventListener("mouseup", y);
792
+ }, A = (h) => {
793
+ a() && S(h.clientX);
794
+ }, y = () => {
795
+ r(!1), document.removeEventListener("mousemove", A), document.removeEventListener("mouseup", y);
796
+ }, P = (h) => {
796
797
  let d = 0;
797
- if (g.key === "ArrowRight" || g.key === "ArrowUp")
798
- d = tt;
799
- else if (g.key === "ArrowLeft" || g.key === "ArrowDown")
800
- d = -tt;
798
+ if (h.key === "ArrowRight" || h.key === "ArrowUp")
799
+ d = et;
800
+ else if (h.key === "ArrowLeft" || h.key === "ArrowDown")
801
+ d = -et;
801
802
  else
802
803
  return;
803
- g.preventDefault();
804
- const p = Math.max(bt, Math.min(n(), e.jitter() + d));
805
- e.setJitter(p);
804
+ h.preventDefault(), s(!0);
805
+ const _ = Math.max(vt, Math.min(n(), e.jitter() + d));
806
+ e.setLatency(_);
806
807
  };
807
- let m;
808
- const E = () => {
809
- const g = n(), d = e.timestamp(), p = e.buffering();
810
- i && Et(i, e.videoBuffered(), d, g, p), c && Et(c, e.audioBuffered(), d, g, p), m = requestAnimationFrame(E);
808
+ let $;
809
+ const m = () => {
810
+ const h = n(), d = e.timestamp(), _ = e.buffering();
811
+ u && qt(u, e.videoBuffered(), d, h, _), f && qt(f, e.audioBuffered(), d, h, _), $ = requestAnimationFrame(m);
811
812
  };
812
- return Rt(() => {
813
- m = requestAnimationFrame(E);
814
- }), ut(() => {
815
- m !== void 0 && cancelAnimationFrame(m), document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", w);
813
+ return Wt(() => {
814
+ $ = requestAnimationFrame(m);
815
+ }), ft(() => {
816
+ $ !== void 0 && cancelAnimationFrame($), document.removeEventListener("mousemove", A), document.removeEventListener("mouseup", y);
816
817
  }), (() => {
817
- var g = Se(), d = g.firstChild, p = d.firstChild, x = p.nextSibling, C = x.firstChild, P = C.nextSibling, I = x.nextSibling, ft = I.firstChild, X = ft.nextSibling, dt = I.nextSibling, R = dt.firstChild, z = R.firstChild;
818
- d.$$keydown = $, d.$$mousedown = l;
819
- var Z = s;
820
- typeof Z == "function" ? pt(Z, d) : s = d, gt(d, "aria-valuemin", bt);
821
- var b = i;
822
- typeof b == "function" ? pt(b, P) : i = P;
823
- var q = c;
824
- return typeof q == "function" ? pt(q, X) : c = X, y(z, () => `${Math.round(e.jitter())}ms`), T((A) => {
825
- var O = `watch-ui__buffer-visualization ${a() ? "watch-ui__buffer-visualization--dragging" : ""}`, Y = e.jitter(), K = n(), xt = `${o()}%`;
826
- return O !== A.e && wt(d, A.e = O), Y !== A.t && gt(d, "aria-valuenow", A.t = Y), K !== A.a && gt(d, "aria-valuemax", A.a = K), xt !== A.o && se(R, "left", A.o = xt), A;
818
+ var h = $e(), d = h.firstChild, _ = d.firstChild, q = _.nextSibling, U = q.firstChild, K = U.nextSibling, D = q.nextSibling, dt = D.firstChild, Y = dt.nextSibling, V = D.nextSibling, L = V.firstChild, ht = L.firstChild;
819
+ d.$$keydown = P, d.$$mousedown = x;
820
+ var b = c;
821
+ typeof b == "function" ? _t(b, d) : c = d, pt(d, "aria-valuemin", vt);
822
+ var M = u;
823
+ typeof M == "function" ? _t(M, K) : u = K;
824
+ var z = f;
825
+ return typeof z == "function" ? _t(z, Y) : f = Y, w(ht, () => `${Math.round(e.jitter())}ms`), w(d, (() => {
826
+ var k = mt(() => !o());
827
+ return () => k() && Ee();
828
+ })(), null), T((k) => {
829
+ var tt = `watch-ui__buffer-visualization ${a() ? "watch-ui__buffer-visualization--dragging" : ""}`, H = e.jitter(), Ct = n(), St = `${i()}%`;
830
+ return tt !== k.e && yt(d, k.e = tt), H !== k.t && pt(d, "aria-valuenow", k.t = H), Ct !== k.a && pt(d, "aria-valuemax", k.a = Ct), St !== k.o && ce(L, "left", k.o = St), k;
827
831
  }, {
828
832
  e: void 0,
829
833
  t: void 0,
830
834
  a: void 0,
831
835
  o: void 0
832
- }), g;
836
+ }), h;
833
837
  })();
834
838
  }
835
- ie(["mousedown", "keydown"]);
836
- function $e() {
839
+ le(["mousedown", "keydown"]);
840
+ function qe() {
837
841
  const t = N();
838
- return h(lt, {
842
+ return g(ct, {
839
843
  title: "Fullscreen",
840
844
  onClick: () => {
841
845
  t.toggleFullscreen();
842
846
  },
843
847
  get children() {
844
- return h(Q, {
848
+ return g(Z, {
845
849
  get when() {
846
850
  return t.isFullscreen();
847
851
  },
848
852
  get fallback() {
849
- return h(j.FullscreenEnter, {});
853
+ return g(W.FullscreenEnter, {});
850
854
  },
851
855
  get children() {
852
- return h(j.FullscreenExit, {});
856
+ return g(W.FullscreenExit, {});
853
857
  }
854
858
  });
855
859
  }
856
860
  });
857
861
  }
858
- function Ee() {
862
+ function Me() {
859
863
  const t = N();
860
- return h(lt, {
864
+ return g(ct, {
861
865
  get title() {
862
866
  return t.isPlaying() ? "Pause" : "Play";
863
867
  },
@@ -866,51 +870,51 @@ function Ee() {
866
870
  t.togglePlayback();
867
871
  },
868
872
  get children() {
869
- return h(Q, {
873
+ return g(Z, {
870
874
  get when() {
871
875
  return t.isPlaying();
872
876
  },
873
877
  get fallback() {
874
- return h(j.Play, {});
878
+ return g(W.Play, {});
875
879
  },
876
880
  get children() {
877
- return h(j.Pause, {});
881
+ return g(W.Pause, {});
878
882
  }
879
883
  });
880
884
  }
881
885
  });
882
886
  }
883
- var Pe = /* @__PURE__ */ V("<div class=watch-ui__quality-selector><label for=quality-select class=watch-ui__quality-label>Quality: </label><select id=quality-select class=watch-ui__quality-select><option value>Auto"), Me = /* @__PURE__ */ V("<option>");
884
- function qe(t) {
887
+ var Re = /* @__PURE__ */ R("<div class=watch-ui__quality-selector><label for=quality-select class=watch-ui__quality-label>Quality: </label><select id=quality-select class=watch-ui__quality-select><option value>Auto"), Le = /* @__PURE__ */ R("<option>");
888
+ function We(t) {
885
889
  return t >= 1e6 ? `${(t / 1e6).toFixed(1)} Mbps` : t >= 1e3 ? `${(t / 1e3).toFixed(0)} kbps` : `${t} bps`;
886
890
  }
887
- function Re() {
891
+ function je() {
888
892
  const t = N(), e = (n) => {
889
893
  const a = n.currentTarget.value || void 0;
890
894
  t.setActiveRendition(a);
891
895
  };
892
896
  return (() => {
893
- var n = Pe(), a = n.firstChild, r = a.nextSibling;
894
- return r.firstChild, r.addEventListener("change", e), y(r, h(ae, {
897
+ var n = Re(), a = n.firstChild, r = a.nextSibling;
898
+ return r.firstChild, r.addEventListener("change", e), w(r, g(ie, {
895
899
  get each() {
896
900
  return t.availableRenditions() ?? [];
897
901
  },
898
902
  children: (o) => (() => {
899
- var s = Me();
900
- return y(s, () => o.name, null), y(s, (() => {
901
- var i = Ct(() => !!(o.width && o.height));
903
+ var s = Le();
904
+ return w(s, () => o.name, null), w(s, (() => {
905
+ var i = mt(() => !!(o.width && o.height));
902
906
  return () => i() ? ` (${o.width}x${o.height})` : "";
903
- })(), null), y(s, (() => {
904
- var i = Ct(() => !!o.bitrate);
905
- return () => i() ? ` ${qe(o.bitrate)}` : "";
907
+ })(), null), w(s, (() => {
908
+ var i = mt(() => !!o.bitrate);
909
+ return () => i() ? ` ${We(o.bitrate)}` : "";
906
910
  })(), null), T(() => s.value = o.name), s;
907
911
  })()
908
912
  }), null), T(() => r.value = t.activeRendition() ?? ""), n;
909
913
  })();
910
914
  }
911
- function je() {
915
+ function Te() {
912
916
  const t = N();
913
- return h(lt, {
917
+ return g(ct, {
914
918
  get title() {
915
919
  return t.isStatsPanelVisible() ? "Hide stats" : "Show stats";
916
920
  },
@@ -918,35 +922,35 @@ function je() {
918
922
  t.setIsStatsPanelVisible(!t.isStatsPanelVisible());
919
923
  },
920
924
  get children() {
921
- return h(j.Stats, {});
925
+ return g(W.Stats, {});
922
926
  }
923
927
  });
924
928
  }
925
- var We = /* @__PURE__ */ V('<div class="watch-ui__volume-slider flex--center"><input type=range min=0 max=100><span class=watch-ui__volume-label>');
926
- const Te = (t, e) => e || t === 0 ? h(j.Mute, {}) : t > 0 && t <= 33 ? h(j.VolumeLow, {}) : t > 33 && t <= 66 ? h(j.VolumeMedium, {}) : h(j.VolumeHigh, {});
927
- function Le() {
928
- const [t, e] = M(0), n = N(), a = (r) => {
929
+ var Ie = /* @__PURE__ */ R('<div class="watch-ui__volume-slider flex--center"><input type=range min=0 max=100><span class=watch-ui__volume-label>');
930
+ const Ve = (t, e) => e || t === 0 ? g(W.Mute, {}) : t > 0 && t <= 33 ? g(W.VolumeLow, {}) : t > 33 && t <= 66 ? g(W.VolumeMedium, {}) : g(W.VolumeHigh, {});
931
+ function ze() {
932
+ const [t, e] = E(0), n = N(), a = (r) => {
929
933
  const o = r.currentTarget, s = parseFloat(o.value);
930
934
  n.setVolume(s);
931
935
  };
932
- return qt(() => {
936
+ return Lt(() => {
933
937
  const r = n.currentVolume() || 0;
934
938
  e(Math.round(r));
935
939
  }), (() => {
936
- var r = We(), o = r.firstChild, s = o.nextSibling;
937
- return y(r, h(lt, {
940
+ var r = Ie(), o = r.firstChild, s = o.nextSibling;
941
+ return w(r, g(ct, {
938
942
  get title() {
939
943
  return n.isMuted() ? "Unmute" : "Mute";
940
944
  },
941
945
  onClick: () => n.toggleMuted(),
942
946
  get children() {
943
- return Te(n.currentVolume(), n.isMuted());
947
+ return Ve(n.currentVolume(), n.isMuted());
944
948
  }
945
- }), o), o.addEventListener("change", a), y(s, t), T(() => o.value = n.currentVolume()), r;
949
+ }), o), o.addEventListener("change", a), w(s, t), T(() => o.value = n.currentVolume()), r;
946
950
  })();
947
951
  }
948
- var Ve = /* @__PURE__ */ V('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
949
- const Ie = {
952
+ var Oe = /* @__PURE__ */ R('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
953
+ const Be = {
950
954
  "no-url": {
951
955
  variant: "error",
952
956
  text: "No URL"
@@ -975,78 +979,78 @@ const Ie = {
975
979
  variant: "connected",
976
980
  text: "Connected"
977
981
  }
978
- }, ze = {
982
+ }, Fe = {
979
983
  variant: "error",
980
984
  text: "Unknown"
981
985
  };
982
- function Oe() {
986
+ function Ne() {
983
987
  const t = N(), e = () => {
984
988
  const n = t.watchStatus();
985
- return Ie[n] || ze;
989
+ return Be[n] || Fe;
986
990
  };
987
991
  return (() => {
988
- var n = Ve(), a = n.firstChild, r = a.nextSibling;
989
- return y(r, () => e().text), T((o) => {
992
+ var n = Oe(), a = n.firstChild, r = a.nextSibling;
993
+ return w(r, () => e().text), T((o) => {
990
994
  var s = `watch-ui__status-indicator-dot watch-ui__status-indicator-dot--${e().variant}`, i = `watch-ui__status-indicator-text watch-ui__status-indicator-text--${e().variant}`;
991
- return s !== o.e && wt(a, o.e = s), i !== o.t && wt(r, o.t = i), o;
995
+ return s !== o.e && yt(a, o.e = s), i !== o.t && yt(r, o.t = i), o;
992
996
  }, {
993
997
  e: void 0,
994
998
  t: void 0
995
999
  }), n;
996
1000
  })();
997
1001
  }
998
- var Be = /* @__PURE__ */ V('<div class=watch-ui__controls><div class="watch-ui__playback-controls flex--align-center"></div><div class=watch-ui__latency-controls>');
999
- function Fe() {
1002
+ var Ue = /* @__PURE__ */ R('<div class=watch-ui__controls><div class="watch-ui__playback-controls flex--align-center"></div><div class=watch-ui__latency-controls>');
1003
+ function Ke() {
1000
1004
  return (() => {
1001
- var t = Be(), e = t.firstChild, n = e.nextSibling;
1002
- return y(e, h(Ee, {}), null), y(e, h(Le, {}), null), y(e, h(Oe, {}), null), y(e, h(je, {}), null), y(e, h($e, {}), null), y(n, h(Ae, {}), null), y(n, h(Re, {}), null), t;
1005
+ var t = Ue(), e = t.firstChild, n = e.nextSibling;
1006
+ return w(e, g(Me, {}), null), w(e, g(ze, {}), null), w(e, g(Ne, {}), null), w(e, g(Te, {}), null), w(e, g(qe, {}), null), w(n, g(Pe, {}), null), w(n, g(je, {}), null), t;
1003
1007
  })();
1004
1008
  }
1005
- const Ne = ':host{--color-white: #ffffff;--color-white-alpha-05: rgba(255, 255, 255, .05);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-gray-100: #9ca3af;--color-gray-950: #1a1a1a;--color-blue-400: #00dfff;--color-blue-500: #52a1ff;--color-blue-900: #1b3243;--color-purple-400: #a855f7;--color-purple-500: #c27bff;--color-purple-900: #31144a;--color-green-400: #65ee2e;--color-green-900: #3d4928;--color-yellow-400: #facc15;--color-orange-300: rgb(253, 186, 116);--color-orange-400: #ff9900;--color-orange-450: #fb923c;--color-orange-500: #f97316;--color-orange-900: #4d301b;--color-amber-600: #d97706;--color-amber-600-alpha-20: rgba(217, 119, 6, .2);--color-amber-600-alpha-30: rgba(217, 119, 6, .3);--color-orange-400-alpha-20: rgba(255, 153, 0, .2);--color-orange-500-alpha-30: rgba(249, 115, 22, .3);--color-orange-500-alpha-40: rgba(249, 115, 22, .4);--color-orange-500-alpha-50: rgba(249, 115, 22, .5);--color-orange-500-alpha-60: rgba(249, 115, 22, .6);--color-orange-500-alpha-80: rgba(249, 115, 22, .8);--color-red-300: rgb(252, 165, 165);--color-red-400-alpha-25: rgba(248, 113, 113, .25);--color-red-500-alpha-25: rgba(239, 68, 68, .25);--color-red-500-alpha-45: rgba(239, 68, 68, .45);--color-red-500-alpha-60: rgba(239, 68, 68, .6);--color-red-600-alpha-25: rgba(220, 38, 38, .25);--color-red-900-alpha-35: rgba(127, 29, 29, .35);--color-red: #e60000;--color-black-alpha-8: rgba(0, 0, 0, .08);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-85: rgba(0, 0, 0, .85);--color-black: #000000;--spacing-1: .0625rem;--spacing-2: .125rem;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-12: .75rem;--spacing-16: 1rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--spacing-48: 3rem;--border-radius-sm: .5rem;--border-radius-md: .75rem;--border-radius-lg: 1rem}:is(.flex--center){display:flex;justify-content:center;align-items:center}:is(.flex--align-center){align-items:center}:is(.flex--space-between){justify-content:space-between}.button{color:var(--color-white);cursor:pointer;background-color:var(--color-white-alpha-10);border:var(--spacing-1) solid var(--color-white-alpha-20);border-radius:50%;width:2.25rem;height:2.25rem;transform-origin:center;transition:transform .1s cubic-bezier(.4,0,.2,1)}.button:hover:not(:disabled){transform:scale(1.02);color:var(--color-white);background-color:var(--color-white-alpha-20);box-shadow:0 var(--spacing-2) var(--spacing-8) var(--color-black-alpha-10)}.button:active:not(:disabled){transform:scale(.98);box-shadow:0 var(--spacing-1) var(--spacing-4) var(--color-black-alpha-8)}.button:disabled{opacity:.5;cursor:default;color:var(--color-gray-100)}.stats{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;pointer-events:none;z-index:2;width:100%;height:inherit;container-type:inline-size}.stats .stats__panel{position:absolute;display:flex;align-items:flex-start;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-12);max-width:240px;width:100%;background-color:var(--color-black-alpha-85);border:1px solid var(--color-white-alpha-25);border-radius:8px;padding:var(--spacing-12);pointer-events:auto;top:8px}@container (width > 480px) and (width <= 768px){.stats .stats__panel{max-width:360px;padding:var(--spacing-24)}}@container (width > 768px){.stats .stats__panel{max-width:600px;padding:var(--spacing-24)}}.stats .stats__panel .stats__item{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:row;height:auto;column-gap:var(--spacing-8);flex-basis:calc(50% - var(--spacing-12));flex-grow:1;flex-shrink:1}@container (width > 480px){.stats .stats__panel .stats__item{flex-basis:calc(25% - var(--spacing-12))}}.stats .stats__panel .stats__item .stats__icon-wrapper{display:none;padding:var(--spacing-8);border-radius:8px;width:fit-content;height:fit-content;flex-shrink:0}@container (width > 480px){.stats .stats__panel .stats__item .stats__icon-wrapper{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-direction:row}}.stats .stats__panel .stats__item .stats__icon-wrapper svg{width:100%;height:100%}.stats .stats__panel .stats__item.stats__item--network .stats__icon-wrapper{background-color:var(--color-blue-900)}.stats .stats__panel .stats__item.stats__item--network,.stats .stats__panel .stats__item.stats__item--network .stats__item-data{color:var(--color-blue-400)}.stats .stats__panel .stats__item.stats__item--video .stats__icon-wrapper{background-color:var(--color-purple-900)}.stats .stats__panel .stats__item.stats__item--video,.stats .stats__panel .stats__item.stats__item--video .stats__item-data{color:var(--color-purple-400)}.stats .stats__panel .stats__item.stats__item--audio .stats__icon-wrapper{background-color:var(--color-green-900)}.stats .stats__panel .stats__item.stats__item--audio,.stats .stats__panel .stats__item.stats__item--audio .stats__item-data{color:var(--color-green-400)}.stats .stats__panel .stats__item.stats__item--buffer .stats__icon-wrapper{background-color:var(--color-orange-900)}.stats .stats__panel .stats__item.stats__item--buffer,.stats .stats__panel .stats__item.stats__item--buffer .stats__item-data{color:var(--color-orange-400)}.stats .stats__panel .stats__item .stats__item-detail{display:flex;align-items:flex-start;justify-content:space-evenly;flex-direction:column;gap:var(--spacing-4)}.stats .stats__panel .stats__item .stats__item-detail .stats__item-title{font-size:12px;font-weight:500;text-transform:capitalize;color:var(--color-gray-100);font-family:Segoe UI,Roboto,sans-serif;letter-spacing:1px;line-height:12px}.stats .stats__panel .stats__item .stats__item-detail .stats__item-data{font-size:16px;font-weight:700;font-family:Segoe UI,Roboto,sans-serif;white-space:pre-wrap;line-height:1.5}.watch-ui__video-container{display:block;position:relative;width:100%;height:auto;border-radius:var(--spacing-4);margin:0 auto;pointer-events:none}.watch-ui__controls{display:flex;flex-direction:column;gap:var(--spacing-24)}.button.button--playback{width:3rem;height:3rem;background:linear-gradient(to bottom right,var(--color-orange-400),var(--color-orange-500),var(--color-amber-600));box-shadow:0 0 var(--spacing-16) var(--color-orange-500-alpha-60);transition:box-shadow .15s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.button.button--playback:hover:not(:disabled){box-shadow:0 0 var(--spacing-24) var(--color-orange-500-alpha-80);transform:scale(1.02)}.button.button--playback:active:not(:disabled){transform:scale(.98)}.button.button--playback:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,var(--color-white-alpha-30),transparent);opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}.button.button--playback:hover:before{opacity:1}.button.button--playback:after{content:"";position:absolute;inset:0;background-color:var(--color-white-alpha-20);border-radius:50%;filter:blur(var(--spacing-24));pointer-events:none}.watch-ui__playback-controls{display:flex;place-content:center space-around;gap:var(--spacing-8);padding:var(--spacing-8) 0}.watch-ui__latency-controls{display:flex;flex-direction:column;gap:var(--spacing-16)}.watch-ui__volume-slider{gap:var(--spacing-4)}.watch-ui__volume-label{width:var(--spacing-16);text-align:right}.watch-ui__quality-selector{display:flex;align-items:center;gap:var(--spacing-8);background:transparent;border-radius:var(--spacing-8)}.watch-ui__quality-label{font-size:1.25rem;font-weight:500;color:var(--color-white);white-space:nowrap}.watch-ui__quality-select{flex:0 1 auto;font-size:1rem;padding:var(--spacing-8);border-radius:var(--spacing-4);background:var(--color-white-alpha-10);color:var(--color-white);border:var(--spacing-1) solid var(--color-white-alpha-20);cursor:pointer;transition:background .2s ease}.watch-ui__quality-select:hover{background:var(--color-white-alpha-15)}.watch-ui__quality-select:focus{outline:var(--spacing-2) solid var(--color-white-alpha-30);outline-offset:var(--spacing-2)}.watch-ui__quality-select option{background:var(--color-gray-950);color:var(--color-white)}.watch-ui__buffer{width:100%}.watch-ui__buffer-visualization{position:relative;width:100%;height:3.75rem;background:var(--color-white-alpha-10);border-radius:var(--spacing-4);cursor:pointer;user-select:none;padding-left:var(--spacing-48);box-sizing:border-box}.watch-ui__buffer-playhead{position:absolute;left:var(--spacing-48);top:0;bottom:0;width:var(--spacing-2);background:var(--color-white);z-index:3}.watch-ui__buffer-track{display:flex;align-items:center;position:absolute;left:var(--spacing-48);right:0;height:var(--spacing-24)}.watch-ui__buffer-track--video{top:var(--spacing-4)}.watch-ui__buffer-track--audio{top:var(--spacing-32)}.watch-ui__buffer-track-label{position:absolute;left:-2.875rem;width:2.5rem;font-size:.625rem;color:var(--color-white-alpha-70);text-align:right;padding-right:var(--spacing-4);pointer-events:none;box-sizing:border-box}.watch-ui__buffer-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.watch-ui__buffer-target-area{position:absolute;top:0;bottom:0;left:var(--spacing-48);right:0;pointer-events:none}.watch-ui__buffer-target-line{position:absolute;top:0;bottom:0;width:.1875rem;background:var(--color-orange-400, var(--color-orange-450));z-index:2;cursor:ew-resize;border-radius:var(--spacing-1);pointer-events:auto}.watch-ui__buffer-target-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:.6875rem;font-weight:500;color:var(--color-orange-400, var(--color-orange-450));white-space:nowrap;margin-bottom:var(--spacing-2);opacity:0;transition:opacity .15s ease;pointer-events:none}.watch-ui__buffer-visualization:hover .watch-ui__buffer-target-label,.watch-ui__buffer-visualization--dragging .watch-ui__buffer-target-label{opacity:1}.watch-ui__buffering{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;background-color:var(--color-black-alpha-40);backdrop-filter:blur(var(--spacing-2));pointer-events:auto}.watch-ui__buffering-spinner{width:2.5rem;height:2.5rem;border:var(--spacing-4) solid var(--color-white-alpha-20);border-top:var(--spacing-4) solid var(--color-white);border-radius:50%;animation:buffer-spin 1s linear infinite}@keyframes buffer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.watch-ui__status-indicator{gap:var(--spacing-12);backdrop-filter:blur(var(--spacing-16))}.watch-ui__status-indicator-dot{position:relative;width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0;z-index:1}.watch-ui__status-indicator-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:currentcolor;transform:scale(1);opacity:.5;animation:status-pulse 1.5s ease-out infinite;z-index:-1}.watch-ui__status-indicator-dot:after{display:none}.watch-ui__status-indicator-dot--live:after,.watch-ui__status-indicator-dot--connected:after,.watch-ui__status-indicator-dot--loading:after,.watch-ui__status-indicator-dot--connecting:after{display:block}.watch-ui__status-indicator-dot--error{background:var(--color-gray-100);color:var(--color-gray-100)}.watch-ui__status-indicator-text--error{color:var(--color-gray-100)}.watch-ui__status-indicator-dot--connecting{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--connecting{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--loading{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--loading{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--live{background:var(--color-green-400);color:var(--color-green-400)}.watch-ui__status-indicator-text--live{color:var(--color-green-400)}.watch-ui__status-indicator-dot--connected{background:var(--color-blue-500);color:var(--color-blue-500)}.watch-ui__status-indicator-text--connected{color:var(--color-blue-500)}.watch-ui__status-indicator-text{font-size:1rem;letter-spacing:.1rem}@keyframes status-pulse{0%{transform:scale(1);opacity:.5}70%{opacity:.25}to{transform:scale(2.5);opacity:0}}';
1006
- var Ue = /* @__PURE__ */ V("<style>"), Ke = /* @__PURE__ */ V("<div class=watch-ui__video-container><slot>");
1007
- function De(t) {
1008
- return h(xe, {
1009
+ const De = ':host{--color-white: #ffffff;--color-white-alpha-05: rgba(255, 255, 255, .05);--color-white-alpha-10: rgba(255, 255, 255, .1);--color-white-alpha-15: rgba(255, 255, 255, .15);--color-white-alpha-20: rgba(255, 255, 255, .2);--color-white-alpha-25: rgba(255, 255, 255, .25);--color-white-alpha-30: rgba(255, 255, 255, .3);--color-white-alpha-70: rgba(255, 255, 255, .7);--color-white-alpha-90: rgba(255, 255, 255, .9);--color-gray-100: #9ca3af;--color-gray-950: #1a1a1a;--color-blue-400: #00dfff;--color-blue-500: #52a1ff;--color-blue-900: #1b3243;--color-purple-400: #a855f7;--color-purple-500: #c27bff;--color-purple-900: #31144a;--color-green-400: #65ee2e;--color-green-900: #3d4928;--color-yellow-400: #facc15;--color-orange-300: rgb(253, 186, 116);--color-orange-400: #ff9900;--color-orange-450: #fb923c;--color-orange-500: #f97316;--color-orange-900: #4d301b;--color-amber-600: #d97706;--color-amber-600-alpha-20: rgba(217, 119, 6, .2);--color-amber-600-alpha-30: rgba(217, 119, 6, .3);--color-orange-400-alpha-20: rgba(255, 153, 0, .2);--color-orange-500-alpha-30: rgba(249, 115, 22, .3);--color-orange-500-alpha-40: rgba(249, 115, 22, .4);--color-orange-500-alpha-50: rgba(249, 115, 22, .5);--color-orange-500-alpha-60: rgba(249, 115, 22, .6);--color-orange-500-alpha-80: rgba(249, 115, 22, .8);--color-red-300: rgb(252, 165, 165);--color-red-400-alpha-25: rgba(248, 113, 113, .25);--color-red-500-alpha-25: rgba(239, 68, 68, .25);--color-red-500-alpha-45: rgba(239, 68, 68, .45);--color-red-500-alpha-60: rgba(239, 68, 68, .6);--color-red-600-alpha-25: rgba(220, 38, 38, .25);--color-red-900-alpha-35: rgba(127, 29, 29, .35);--color-red: #e60000;--color-black-alpha-8: rgba(0, 0, 0, .08);--color-black-alpha-10: rgba(0, 0, 0, .1);--color-black-alpha-60: rgba(0, 0, 0, .6);--color-black-alpha-70: rgba(0, 0, 0, .7);--color-black-alpha-85: rgba(0, 0, 0, .85);--color-black: #000000;--spacing-1: .0625rem;--spacing-2: .125rem;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-12: .75rem;--spacing-16: 1rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--spacing-48: 3rem;--border-radius-sm: .5rem;--border-radius-md: .75rem;--border-radius-lg: 1rem}:is(.flex--center){display:flex;justify-content:center;align-items:center}:is(.flex--align-center){align-items:center}:is(.flex--space-between){justify-content:space-between}.button{color:var(--color-white);cursor:pointer;background-color:var(--color-white-alpha-10);border:var(--spacing-1) solid var(--color-white-alpha-20);border-radius:50%;width:2.25rem;height:2.25rem;transform-origin:center;transition:transform .1s cubic-bezier(.4,0,.2,1)}.button:hover:not(:disabled){transform:scale(1.02);color:var(--color-white);background-color:var(--color-white-alpha-20);box-shadow:0 var(--spacing-2) var(--spacing-8) var(--color-black-alpha-10)}.button:active:not(:disabled){transform:scale(.98);box-shadow:0 var(--spacing-1) var(--spacing-4) var(--color-black-alpha-8)}.button:disabled{opacity:.5;cursor:default;color:var(--color-gray-100)}.stats{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;pointer-events:none;z-index:2;width:100%;height:inherit;container-type:inline-size}.stats .stats__panel{position:absolute;display:flex;align-items:flex-start;justify-content:center;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-12);max-width:240px;width:100%;background-color:var(--color-black-alpha-85);border:1px solid var(--color-white-alpha-25);border-radius:8px;padding:var(--spacing-12);pointer-events:auto;top:8px}@container (width > 480px) and (width <= 768px){.stats .stats__panel{max-width:360px;padding:var(--spacing-24)}}@container (width > 768px){.stats .stats__panel{max-width:600px;padding:var(--spacing-24)}}.stats .stats__panel .stats__item{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:row;height:auto;column-gap:var(--spacing-8);flex-basis:calc(50% - var(--spacing-12));flex-grow:1;flex-shrink:1}@container (width > 480px){.stats .stats__panel .stats__item{flex-basis:calc(25% - var(--spacing-12))}}.stats .stats__panel .stats__item .stats__icon-wrapper{display:none;padding:var(--spacing-8);border-radius:8px;width:fit-content;height:fit-content;flex-shrink:0}@container (width > 480px){.stats .stats__panel .stats__item .stats__icon-wrapper{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-direction:row}}.stats .stats__panel .stats__item .stats__icon-wrapper svg{width:100%;height:100%}.stats .stats__panel .stats__item.stats__item--network .stats__icon-wrapper{background-color:var(--color-blue-900)}.stats .stats__panel .stats__item.stats__item--network,.stats .stats__panel .stats__item.stats__item--network .stats__item-data{color:var(--color-blue-400)}.stats .stats__panel .stats__item.stats__item--video .stats__icon-wrapper{background-color:var(--color-purple-900)}.stats .stats__panel .stats__item.stats__item--video,.stats .stats__panel .stats__item.stats__item--video .stats__item-data{color:var(--color-purple-400)}.stats .stats__panel .stats__item.stats__item--audio .stats__icon-wrapper{background-color:var(--color-green-900)}.stats .stats__panel .stats__item.stats__item--audio,.stats .stats__panel .stats__item.stats__item--audio .stats__item-data{color:var(--color-green-400)}.stats .stats__panel .stats__item.stats__item--buffer .stats__icon-wrapper{background-color:var(--color-orange-900)}.stats .stats__panel .stats__item.stats__item--buffer,.stats .stats__panel .stats__item.stats__item--buffer .stats__item-data{color:var(--color-orange-400)}.stats .stats__panel .stats__item .stats__item-detail{display:flex;align-items:flex-start;justify-content:space-evenly;flex-direction:column;gap:var(--spacing-4)}.stats .stats__panel .stats__item .stats__item-detail .stats__item-title{font-size:12px;font-weight:500;text-transform:capitalize;color:var(--color-gray-100);font-family:Segoe UI,Roboto,sans-serif;letter-spacing:1px;line-height:12px}.stats .stats__panel .stats__item .stats__item-detail .stats__item-data{font-size:16px;font-weight:700;font-family:Segoe UI,Roboto,sans-serif;white-space:pre-wrap;line-height:1.5}.watch-ui__video-container{display:block;position:relative;width:100%;height:auto;border-radius:var(--spacing-4);margin:0 auto;pointer-events:none}.watch-ui__controls{display:flex;flex-direction:column;gap:var(--spacing-24)}.button.button--playback{width:3rem;height:3rem;background:linear-gradient(to bottom right,var(--color-orange-400),var(--color-orange-500),var(--color-amber-600));box-shadow:0 0 var(--spacing-16) var(--color-orange-500-alpha-60);transition:box-shadow .15s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.button.button--playback:hover:not(:disabled){box-shadow:0 0 var(--spacing-24) var(--color-orange-500-alpha-80);transform:scale(1.02)}.button.button--playback:active:not(:disabled){transform:scale(.98)}.button.button--playback:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,var(--color-white-alpha-30),transparent);opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1);pointer-events:none}.button.button--playback:hover:before{opacity:1}.button.button--playback:after{content:"";position:absolute;inset:0;background-color:var(--color-white-alpha-20);border-radius:50%;filter:blur(var(--spacing-24));pointer-events:none}.watch-ui__playback-controls{display:flex;place-content:center space-around;gap:var(--spacing-8);padding:var(--spacing-8) 0}.watch-ui__latency-controls{display:flex;flex-direction:column;gap:var(--spacing-16)}.watch-ui__volume-slider{gap:var(--spacing-4)}.watch-ui__volume-label{width:var(--spacing-16);text-align:right}.watch-ui__quality-selector{display:flex;align-items:center;gap:var(--spacing-8);background:transparent;border-radius:var(--spacing-8)}.watch-ui__quality-label{font-size:1.25rem;font-weight:500;color:var(--color-white);white-space:nowrap}.watch-ui__quality-select{flex:0 1 auto;font-size:1rem;padding:var(--spacing-8);border-radius:var(--spacing-4);background:var(--color-white-alpha-10);color:var(--color-white);border:var(--spacing-1) solid var(--color-white-alpha-20);cursor:pointer;transition:background .2s ease}.watch-ui__quality-select:hover{background:var(--color-white-alpha-15)}.watch-ui__quality-select:focus{outline:var(--spacing-2) solid var(--color-white-alpha-30);outline-offset:var(--spacing-2)}.watch-ui__quality-select option{background:var(--color-gray-950);color:var(--color-white)}.watch-ui__buffer{width:100%}.watch-ui__buffer-visualization{position:relative;width:100%;height:3.75rem;background:var(--color-white-alpha-10);border-radius:var(--spacing-4);cursor:pointer;user-select:none;padding-left:var(--spacing-48);box-sizing:border-box}.watch-ui__buffer-playhead{position:absolute;left:var(--spacing-48);top:0;bottom:0;width:var(--spacing-2);background:var(--color-white);z-index:3}.watch-ui__buffer-track{display:flex;align-items:center;position:absolute;left:var(--spacing-48);right:0;height:var(--spacing-24)}.watch-ui__buffer-track--video{top:var(--spacing-4)}.watch-ui__buffer-track--audio{top:var(--spacing-32)}.watch-ui__buffer-track-label{position:absolute;left:-2.875rem;width:2.5rem;font-size:.625rem;color:var(--color-white-alpha-70);text-align:right;padding-right:var(--spacing-4);pointer-events:none;box-sizing:border-box}.watch-ui__buffer-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.watch-ui__buffer-target-area{position:absolute;top:0;bottom:0;left:var(--spacing-48);right:0;pointer-events:none}.watch-ui__buffer-target-line{position:absolute;top:0;bottom:0;width:.1875rem;background:var(--color-orange-400, var(--color-orange-450));z-index:2;cursor:ew-resize;border-radius:var(--spacing-1);pointer-events:auto}.watch-ui__buffer-target-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:.6875rem;font-weight:500;color:var(--color-orange-400, var(--color-orange-450));white-space:nowrap;margin-bottom:var(--spacing-2);opacity:0;transition:opacity .15s ease;pointer-events:none}.watch-ui__buffer-visualization:hover .watch-ui__buffer-target-label,.watch-ui__buffer-visualization--dragging .watch-ui__buffer-target-label{opacity:1}.watch-ui__buffer-help{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;color:var(--color-white-alpha-30, rgba(255, 255, 255, .3));pointer-events:none;white-space:nowrap}.watch-ui__buffering{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1;background-color:var(--color-black-alpha-40);backdrop-filter:blur(var(--spacing-2));pointer-events:auto}.watch-ui__buffering-spinner{width:2.5rem;height:2.5rem;border:var(--spacing-4) solid var(--color-white-alpha-20);border-top:var(--spacing-4) solid var(--color-white);border-radius:50%;animation:buffer-spin 1s linear infinite}@keyframes buffer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.watch-ui__status-indicator{gap:var(--spacing-12);backdrop-filter:blur(var(--spacing-16))}.watch-ui__status-indicator-dot{position:relative;width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0;z-index:1}.watch-ui__status-indicator-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:currentcolor;transform:scale(1);opacity:.5;animation:status-pulse 1.5s ease-out infinite;z-index:-1}.watch-ui__status-indicator-dot:after{display:none}.watch-ui__status-indicator-dot--live:after,.watch-ui__status-indicator-dot--connected:after,.watch-ui__status-indicator-dot--loading:after,.watch-ui__status-indicator-dot--connecting:after{display:block}.watch-ui__status-indicator-dot--error{background:var(--color-gray-100);color:var(--color-gray-100)}.watch-ui__status-indicator-text--error{color:var(--color-gray-100)}.watch-ui__status-indicator-dot--connecting{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--connecting{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--loading{background:var(--color-yellow-400);color:var(--color-yellow-400)}.watch-ui__status-indicator-text--loading{color:var(--color-yellow-400)}.watch-ui__status-indicator-dot--live{background:var(--color-green-400);color:var(--color-green-400)}.watch-ui__status-indicator-text--live{color:var(--color-green-400)}.watch-ui__status-indicator-dot--connected{background:var(--color-blue-500);color:var(--color-blue-500)}.watch-ui__status-indicator-text--connected{color:var(--color-blue-500)}.watch-ui__status-indicator-text{font-size:1rem;letter-spacing:.1rem}@keyframes status-pulse{0%{transform:scale(1);opacity:.5}70%{opacity:.25}to{transform:scale(2.5);opacity:0}}';
1010
+ var He = /* @__PURE__ */ R("<style>"), Ge = /* @__PURE__ */ R("<div class=watch-ui__video-container><slot>");
1011
+ function Qe(t) {
1012
+ return g(Ce, {
1009
1013
  get moqWatch() {
1010
1014
  return t.watch;
1011
1015
  },
1012
1016
  get children() {
1013
1017
  return [(() => {
1014
- var e = Ue();
1015
- return y(e, Ne), e;
1018
+ var e = He();
1019
+ return w(e, De), e;
1016
1020
  })(), (() => {
1017
- var e = Ke(), n = e.firstChild;
1018
- return n._$owner = Ht(), y(e, () => {
1019
- const a = jt(st);
1020
- return a ? h(Q, {
1021
+ var e = Ge(), n = e.firstChild;
1022
+ return n._$owner = Qt(), w(e, () => {
1023
+ const a = jt(lt);
1024
+ return a ? g(Z, {
1021
1025
  get when() {
1022
1026
  return a.isStatsPanelVisible();
1023
1027
  },
1024
1028
  get children() {
1025
- return h(Bt, {
1026
- context: st,
1029
+ return g(Nt, {
1030
+ context: lt,
1027
1031
  getElement: (r) => r?.moqWatch.backend
1028
1032
  });
1029
1033
  }
1030
1034
  }) : null;
1031
- }, null), y(e, h(Ce, {}), null), e;
1032
- })(), h(Fe, {})];
1035
+ }, null), w(e, g(Ae, {}), null), e;
1036
+ })(), g(Ke, {})];
1033
1037
  }
1034
1038
  });
1035
1039
  }
1036
- ye("moq-watch-ui", (t, {
1040
+ ke("moq-watch-ui", (t, {
1037
1041
  element: e
1038
1042
  }) => {
1039
- const [n, a] = M();
1040
- return Rt(async () => {
1043
+ const [n, a] = E();
1044
+ return Wt(async () => {
1041
1045
  await customElements.whenDefined("moq-watch");
1042
1046
  const r = e.querySelector("moq-watch");
1043
1047
  a(r || void 0);
1044
- }), h(Q, {
1048
+ }), g(Z, {
1045
1049
  get when() {
1046
1050
  return n();
1047
1051
  },
1048
1052
  keyed: !0,
1049
- children: (r) => h(De, {
1053
+ children: (r) => g(Qe, {
1050
1054
  watch: r
1051
1055
  })
1052
1056
  });