@moq/watch 0.2.3 → 0.2.4

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,137 +1,137 @@
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 qt = 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 g = null;
14
+ let ht = null, Gt = null, b = null, k = null, T = null, ut = 0;
15
+ function nt(t, e) {
16
+ const n = b, a = g, 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(() => L(() => Q(s)));
22
+ g = s, b = null;
23
23
  try {
24
- return J(i, !0);
24
+ return Z(i, !0);
25
25
  } finally {
26
- v = n, _ = a;
26
+ b = n, g = 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)), Lt(n, r));
37
+ return [It.bind(n), a];
38
38
  }
39
- function T(t, e, n) {
40
- const a = yt(t, e, !1, F);
41
- G(a);
39
+ function I(t, e, n) {
40
+ const a = xt(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 jt(t, e, n) {
44
+ qt = te;
45
+ const a = xt(t, e, !1, F);
46
+ a.user = !0, T ? T.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 = xt(t, e, !0, 0);
51
+ return a.observers = null, a.observerSlots = null, a.comparator = n.equals || void 0, X(a), It.bind(a);
52
52
  }
53
53
  function L(t) {
54
- if (v === null) return t();
55
- const e = v;
56
- v = null;
54
+ if (b === null) return t();
55
+ const e = b;
56
+ b = null;
57
57
  try {
58
58
  return t();
59
59
  } finally {
60
- v = e;
60
+ b = e;
61
61
  }
62
62
  }
63
- function Rt(t) {
64
- qt(() => L(t));
63
+ function Wt(t) {
64
+ jt(() => L(t));
65
65
  }
66
- function ut(t) {
67
- return _ === null || (_.cleanups === null ? _.cleanups = [t] : _.cleanups.push(t)), t;
66
+ function ft(t) {
67
+ return g === null || (g.cleanups === null ? g.cleanups = [t] : g.cleanups.push(t)), t;
68
68
  }
69
- function Ht() {
70
- return _;
69
+ function Jt() {
70
+ return g;
71
71
  }
72
- function Gt(t, e) {
72
+ function Qt(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
- function jt(t) {
80
+ function Tt(t) {
81
81
  let e;
82
- return _ && _.context && (e = _.context[t.id]) !== void 0 ? e : t.defaultValue;
82
+ return g && g.context && (e = g.context[t.id]) !== void 0 ? e : t.defaultValue;
83
83
  }
84
- function Jt(t) {
84
+ function Xt(t) {
85
85
  const e = B(t), n = B(() => vt(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 It() {
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 = k;
96
+ k = null, Z(() => it(this), !1), k = t;
97
97
  }
98
- if (v) {
98
+ if (b) {
99
99
  const t = this.observers ? this.observers.length : 0;
100
- v.sources ? (v.sources.push(this), v.sourceSlots.push(t)) : (v.sources = [this], v.sourceSlots = [t]), this.observers ? (this.observers.push(v), this.observerSlots.push(v.sources.length - 1)) : (this.observers = [v], this.observerSlots = [v.sources.length - 1]);
100
+ b.sources ? (b.sources.push(this), b.sourceSlots.push(t)) : (b.sources = [this], b.sourceSlots = [t]), this.observers ? (this.observers.push(b), this.observerSlots.push(b.sources.length - 1)) : (this.observers = [b], this.observerSlots = [b.sources.length - 1]);
101
101
  }
102
102
  return this.value;
103
103
  }
104
- function Tt(t, e, n) {
104
+ function Lt(t, e, n) {
105
105
  let a = t.value;
106
- return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length && J(() => {
106
+ return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length && Z(() => {
107
107
  for (let r = 0; r < t.observers.length; r += 1) {
108
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);
109
+ s && ht.disposed.has(o), (s ? !o.tState : !o.state) && (o.pure ? k.push(o) : T.push(o), o.observers && zt(o)), s || (o.state = F);
110
110
  }
111
- if (S.length > 1e6)
112
- throw S = [], new Error();
111
+ if (k.length > 1e6)
112
+ throw k = [], 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 = g, o = b;
124
+ b = g = 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
+ b = o, g = 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 ? Lt(t, a) : t.value = a, t.updatedAt = n);
133
133
  }
134
- function yt(t, e, n, a = F, r) {
134
+ function xt(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: g,
145
+ context: g ? g.context : null,
146
146
  pure: n
147
147
  };
148
- return _ === null || _ !== Mt && (_.owned ? _.owned.push(o) : _.owned = [o]), o;
148
+ return g === null || g !== Rt && (g.owned ? g.owned.push(o) : g.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);
152
+ if (t.state === at) return it(t);
153
153
  if (t.suspense && L(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 = k;
162
+ k = null, Z(() => it(t, e[0]), !1), k = a;
163
163
  }
164
164
  }
165
- function J(t, e) {
166
- if (S) return t();
165
+ function Z(t, e) {
166
+ if (k) return t();
167
167
  let n = !1;
168
- e || (S = []), W ? n = !0 : W = [], ct++;
168
+ e || (k = []), T ? n = !0 : T = [], 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 || (T = null), k = 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 (k && (Vt(k), k = null), t) return;
178
+ const e = T;
179
+ T = null, e.length && Z(() => qt(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 ? k.push(n) : T.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,13 +229,13 @@ 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 = g) {
238
+ throw ee(t);
239
239
  }
240
240
  function vt(t) {
241
241
  if (typeof t == "function" && !t.length) return vt(t());
@@ -249,65 +249,65 @@ function vt(t) {
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 I(() => r = L(() => (g.context = {
256
+ ...g.context,
257
257
  [t]: a.value
258
- }, Jt(() => a.children))), void 0), r;
258
+ }, Xt(() => 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], L(() => {
270
+ let x, S, y, P, A, w, 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((M) => (o[0] = M, 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(C);
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 && (A = new Array(u)), w = 0, h = Math.min(s, u); w < h && a[w] === c[w]; w++) ;
279
+ for (h = s - 1, d = u - 1; h >= w && d >= w && a[h] === c[d]; h--, d--)
280
+ y[d] = r[h], P[d] = o[h], i && (A[d] = i[h]);
281
+ for (x = /* @__PURE__ */ new Map(), S = new Array(d + 1), l = d; l >= w; l--)
282
+ _ = c[l], f = x.get(_), S[l] = f === void 0 ? -1 : f, x.set(_, l);
283
+ for (f = w; f <= h; f++)
284
+ _ = a[f], l = x.get(_), l !== void 0 && l !== -1 ? (y[l] = r[f], P[l] = o[f], i && (A[l] = i[f]), l = S[l], x.set(_, l)) : o[f]();
285
+ for (l = w; l < u; l++)
286
+ l in y ? (r[l] = y[l], o[l] = P[l], i && (i[l] = A[l], i[l](l))) : r[l] = nt(C);
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 C(x) {
292
+ if (o[l] = x, i) {
293
+ const [S, y] = E(l);
294
+ return i[l] = y, e(c[l], S);
295
295
  }
296
296
  return e(c[l]);
297
297
  }
298
298
  };
299
299
  }
300
- function h(t, e) {
300
+ function p(t, e) {
301
301
  return L(() => 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 Y(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
  });
@@ -316,15 +316,15 @@ function Q(t) {
316
316
  if (r) {
317
317
  const o = t.children;
318
318
  return typeof o == "function" && o.length > 0 ? L(() => o(e ? r : () => {
319
- if (!L(a)) throw re("Show");
319
+ if (!L(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 wt = (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, C = 1, x;
355
+ for (; ++l < r && l < o && !((x = u.get(e[l])) == null || x !== f + C); )
356
+ C++;
357
+ if (C > f - i) {
358
+ const S = e[s];
359
+ for (; i < f; ) t.insertBefore(n[i++], S);
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 mt(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) {
391
+ function gt(t, e, n) {
392
392
  return L(() => 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 v(t, e, n, a) {
395
+ if (n !== void 0 && !a && (a = []), typeof e != "function") return st(t, e, a, n);
396
+ I((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 = J(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 = J(t, n, a);
446
446
  else {
447
447
  if (o === "function")
448
- return T(() => {
448
+ return I(() => {
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 (yt(i, e, n, r))
456
+ return I(() => 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 = J(t, n, a), s) return n;
459
+ } else c ? n.length === 0 ? Et(t, i, a) : se(t, n, i) : (n && J(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 = J(t, n, a, e);
464
+ J(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 yt(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 = yt(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 = yt(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 J(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 = ge(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 pe(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 ge(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
571
  let _t;
572
- function _e(t, e) {
572
+ function ve(t, e) {
573
573
  const n = Object.keys(e);
574
574
  return class extends t {
575
575
  static get observedAttributes() {
@@ -582,10 +582,10 @@ 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 = pe(this, e);
586
+ const r = he(this.props), o = this.Component, s = _t;
587
587
  try {
588
- _t = this, this.__initialized = !0, pe(o) ? new o(r, {
588
+ _t = this, this.__initialized = !0, be(o) ? new o(r, {
589
589
  element: this
590
590
  }) : o(r, {
591
591
  element: this
@@ -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,95 +648,95 @@ 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 v(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 K(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 = Qt();
679
+ function Ce(t) {
680
+ const [e, n] = E("no-url"), [a, r] = E(!1), o = K(t.moqWatch.backend.audio.muted), [s, i] = E(0), c = K(t.moqWatch.backend.video.stalled), u = K(t.moqWatch.backend.jitter), [f, l] = E([]), C = K(t.moqWatch.backend.video.source.track), [x, S] = E(!1), [y, P] = E(!!document.fullscreenElement), A = () => {
681
681
  t.moqWatch.paused = !t.moqWatch.paused;
682
- }, d = () => {
682
+ }, w = () => {
683
683
  document.fullscreenElement ? document.exitFullscreen() : t.moqWatch.requestFullscreen();
684
- }, p = (b) => {
685
- t.moqWatch.backend.audio.volume.set(b / 100);
686
- }, x = () => {
687
- t.moqWatch.backend.audio.muted.update((b) => !b);
688
- }, C = (b) => {
689
- t.moqWatch.jitter = b;
690
- }, P = (b) => {
684
+ }, h = (m) => {
685
+ t.moqWatch.backend.audio.volume.set(m / 100);
686
+ }, d = () => {
687
+ t.moqWatch.backend.audio.muted.update((m) => !m);
688
+ }, _ = (m) => {
689
+ t.moqWatch.jitter = m;
690
+ }, M = (m) => {
691
691
  t.moqWatch.backend.video.source.target.update((q) => ({
692
692
  ...q,
693
- name: b
693
+ name: m
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
+ }, U = K(t.moqWatch.backend.video.timestamp), D = K(t.moqWatch.backend.video.buffered), H = K(t.moqWatch.backend.audio.buffered), dt = {
696
696
  moqWatch: t.moqWatch,
697
697
  watchStatus: e,
698
- togglePlayback: g,
698
+ togglePlayback: A,
699
699
  isPlaying: a,
700
- setVolume: p,
700
+ setVolume: h,
701
701
  isMuted: o,
702
702
  currentVolume: s,
703
- toggleMuted: x,
703
+ toggleMuted: d,
704
704
  buffering: c,
705
705
  jitter: u,
706
- setJitter: C,
706
+ setJitter: _,
707
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);
708
+ activeRendition: C,
709
+ setActiveRendition: M,
710
+ isStatsPanelVisible: x,
711
+ setIsStatsPanelVisible: S,
712
+ isFullscreen: y,
713
+ toggleFullscreen: w,
714
+ timestamp: U,
715
+ videoBuffered: D,
716
+ audioBuffered: H
717
+ }, j = t.moqWatch, V = new Ut.Effect();
718
+ V.run((m) => {
719
+ const q = m.get(j.connection.url), z = m.get(j.connection.status), O = m.get(j.broadcast.status);
720
+ q ? z === "disconnected" ? n("disconnected") : z === "connecting" ? n("connecting") : O === "offline" ? n("offline") : O === "loading" ? n("loading") : O === "live" ? n("live") : z === "connected" && n("connected") : n("no-url");
721
+ }), V.run((m) => {
722
+ const q = m.get(j.backend.paused);
723
723
  r(!q);
724
- }), z.run((b) => {
725
- const q = b.get(R.backend.audio.volume);
724
+ }), V.run((m) => {
725
+ const q = m.get(j.backend.audio.volume);
726
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
727
+ }), V.run((m) => {
728
+ const z = m.get(j.backend.video.source.catalog)?.renditions ?? {}, O = Object.entries(z).map(([$, G]) => ({
729
+ name: $,
730
+ width: G.codedWidth,
731
+ height: G.codedHeight,
732
+ bitrate: G.bitrate
733
733
  }));
734
734
  l(O);
735
735
  });
736
- const Z = () => {
737
- E(!!document.fullscreenElement);
736
+ const tt = () => {
737
+ P(!!document.fullscreenElement);
738
738
  };
739
- return z.event(document, "fullscreenchange", Z), ut(() => z.close()), h(st.Provider, {
739
+ return V.event(document, "fullscreenchange", tt), ft(() => V.close()), p(lt.Provider, {
740
740
  value: dt,
741
741
  get children() {
742
742
  return t.children;
@@ -744,120 +744,123 @@ function xe(t) {
744
744
  });
745
745
  }
746
746
  function N() {
747
- const t = jt(st);
747
+ const t = Tt(lt);
748
748
  if (!t)
749
749
  throw new Error("useWatchUIContext must be used within a WatchUIContextProvider");
750
750
  return t;
751
751
  }
752
- var ke = /* @__PURE__ */ V('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
753
- function Ce() {
752
+ var Se = /* @__PURE__ */ R('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
753
+ function Ae() {
754
754
  const t = N();
755
- return h(Q, {
755
+ return p(Y, {
756
756
  get when() {
757
757
  return t.buffering();
758
758
  },
759
759
  get children() {
760
- return ke();
760
+ return Se();
761
761
  }
762
762
  });
763
763
  }
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) {
764
+ 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");
765
+ const bt = 0, et = 100;
766
+ function Mt(t, e, n, a, r) {
767
767
  const o = t.getContext("2d");
768
768
  if (!o) return;
769
769
  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
770
  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);
771
+ const C = 2, x = u - C * 2, S = 2;
772
+ for (let y = 0; y < e.length; y++) {
773
+ const P = e[y], A = P.start - n, w = P.end - n, h = Math.max(0, A), d = Math.min(w, a);
774
+ if (d <= h) continue;
775
+ const _ = h / a * c, M = Math.max(2, (d - h) / a * c);
776
+ if (o.globalAlpha = 0.85, o.fillStyle = r ? "#f87171" : y > 0 ? "#facc15" : "#4ade80", typeof o.roundRect == "function" ? (o.beginPath(), o.roundRect(_, C, M, x, S), o.fill()) : o.fillRect(_, C, M, x), w > a) {
777
+ const U = ((w - 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(`+${U}s`, _ + M - 4, u / 2);
779
779
  }
780
780
  }
781
781
  }
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) => {
782
+ function Pe(t) {
783
+ const e = N(), n = () => t.max ?? 5e3, [a, r] = E(!1), [o, s] = E(!1), i = B(() => e.jitter() / n() * 100);
784
+ let c, u, f;
785
+ const l = 48, C = (h) => {
786
+ if (!c) return;
787
+ const d = c.getBoundingClientRect(), _ = d.width - l, U = Math.max(0, Math.min(h - d.left - l, _)) / _ * n(), D = Math.round(U / et) * et, H = Math.max(bt, Math.min(n(), D));
788
+ e.setJitter(H);
789
+ }, x = (h) => {
790
+ r(!0), s(!0), C(h.clientX), document.addEventListener("mousemove", S), document.addEventListener("mouseup", y);
791
+ }, S = (h) => {
792
+ a() && C(h.clientX);
793
+ }, y = () => {
794
+ r(!1), document.removeEventListener("mousemove", S), document.removeEventListener("mouseup", y);
795
+ }, P = (h) => {
796
796
  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;
797
+ if (h.key === "ArrowRight" || h.key === "ArrowUp")
798
+ d = et;
799
+ else if (h.key === "ArrowLeft" || h.key === "ArrowDown")
800
+ d = -et;
801
801
  else
802
802
  return;
803
- g.preventDefault();
804
- const p = Math.max(bt, Math.min(n(), e.jitter() + d));
805
- e.setJitter(p);
803
+ h.preventDefault(), s(!0);
804
+ const _ = Math.max(bt, Math.min(n(), e.jitter() + d));
805
+ e.setJitter(_);
806
806
  };
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);
807
+ let A;
808
+ const w = () => {
809
+ const h = n(), d = e.timestamp(), _ = e.buffering();
810
+ u && Mt(u, e.videoBuffered(), d, h, _), f && Mt(f, e.audioBuffered(), d, h, _), A = requestAnimationFrame(w);
811
811
  };
812
- return Rt(() => {
813
- m = requestAnimationFrame(E);
814
- }), ut(() => {
815
- m !== void 0 && cancelAnimationFrame(m), document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", w);
812
+ return Wt(() => {
813
+ A = requestAnimationFrame(w);
814
+ }), ft(() => {
815
+ A !== void 0 && cancelAnimationFrame(A), document.removeEventListener("mousemove", S), document.removeEventListener("mouseup", y);
816
816
  }), (() => {
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;
817
+ var h = $e(), d = h.firstChild, _ = d.firstChild, M = _.nextSibling, U = M.firstChild, D = U.nextSibling, H = M.nextSibling, dt = H.firstChild, j = dt.nextSibling, V = H.nextSibling, tt = V.firstChild, m = tt.firstChild;
818
+ d.$$keydown = P, d.$$mousedown = x;
823
819
  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;
820
+ typeof q == "function" ? gt(q, d) : c = d, pt(d, "aria-valuemin", bt);
821
+ var z = u;
822
+ typeof z == "function" ? gt(z, D) : u = D;
823
+ var O = f;
824
+ return typeof O == "function" ? gt(O, j) : f = j, v(m, () => `${Math.round(e.jitter())}ms`), v(d, (() => {
825
+ var $ = wt(() => !o());
826
+ return () => $() && Ee();
827
+ })(), null), I(($) => {
828
+ var G = `watch-ui__buffer-visualization ${a() ? "watch-ui__buffer-visualization--dragging" : ""}`, kt = e.jitter(), Ct = n(), St = `${i()}%`;
829
+ return G !== $.e && mt(d, $.e = G), kt !== $.t && pt(d, "aria-valuenow", $.t = kt), Ct !== $.a && pt(d, "aria-valuemax", $.a = Ct), St !== $.o && ce(tt, "left", $.o = St), $;
827
830
  }, {
828
831
  e: void 0,
829
832
  t: void 0,
830
833
  a: void 0,
831
834
  o: void 0
832
- }), g;
835
+ }), h;
833
836
  })();
834
837
  }
835
- ie(["mousedown", "keydown"]);
836
- function $e() {
838
+ le(["mousedown", "keydown"]);
839
+ function Me() {
837
840
  const t = N();
838
- return h(lt, {
841
+ return p(ct, {
839
842
  title: "Fullscreen",
840
843
  onClick: () => {
841
844
  t.toggleFullscreen();
842
845
  },
843
846
  get children() {
844
- return h(Q, {
847
+ return p(Y, {
845
848
  get when() {
846
849
  return t.isFullscreen();
847
850
  },
848
851
  get fallback() {
849
- return h(j.FullscreenEnter, {});
852
+ return p(W.FullscreenEnter, {});
850
853
  },
851
854
  get children() {
852
- return h(j.FullscreenExit, {});
855
+ return p(W.FullscreenExit, {});
853
856
  }
854
857
  });
855
858
  }
856
859
  });
857
860
  }
858
- function Ee() {
861
+ function qe() {
859
862
  const t = N();
860
- return h(lt, {
863
+ return p(ct, {
861
864
  get title() {
862
865
  return t.isPlaying() ? "Pause" : "Play";
863
866
  },
@@ -866,51 +869,51 @@ function Ee() {
866
869
  t.togglePlayback();
867
870
  },
868
871
  get children() {
869
- return h(Q, {
872
+ return p(Y, {
870
873
  get when() {
871
874
  return t.isPlaying();
872
875
  },
873
876
  get fallback() {
874
- return h(j.Play, {});
877
+ return p(W.Play, {});
875
878
  },
876
879
  get children() {
877
- return h(j.Pause, {});
880
+ return p(W.Pause, {});
878
881
  }
879
882
  });
880
883
  }
881
884
  });
882
885
  }
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) {
886
+ 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"), je = /* @__PURE__ */ R("<option>");
887
+ function We(t) {
885
888
  return t >= 1e6 ? `${(t / 1e6).toFixed(1)} Mbps` : t >= 1e3 ? `${(t / 1e3).toFixed(0)} kbps` : `${t} bps`;
886
889
  }
887
- function Re() {
890
+ function Te() {
888
891
  const t = N(), e = (n) => {
889
892
  const a = n.currentTarget.value || void 0;
890
893
  t.setActiveRendition(a);
891
894
  };
892
895
  return (() => {
893
- var n = Pe(), a = n.firstChild, r = a.nextSibling;
894
- return r.firstChild, r.addEventListener("change", e), y(r, h(ae, {
896
+ var n = Re(), a = n.firstChild, r = a.nextSibling;
897
+ return r.firstChild, r.addEventListener("change", e), v(r, p(ie, {
895
898
  get each() {
896
899
  return t.availableRenditions() ?? [];
897
900
  },
898
901
  children: (o) => (() => {
899
- var s = Me();
900
- return y(s, () => o.name, null), y(s, (() => {
901
- var i = Ct(() => !!(o.width && o.height));
902
+ var s = je();
903
+ return v(s, () => o.name, null), v(s, (() => {
904
+ var i = wt(() => !!(o.width && o.height));
902
905
  return () => i() ? ` (${o.width}x${o.height})` : "";
903
- })(), null), y(s, (() => {
904
- var i = Ct(() => !!o.bitrate);
905
- return () => i() ? ` ${qe(o.bitrate)}` : "";
906
- })(), null), T(() => s.value = o.name), s;
906
+ })(), null), v(s, (() => {
907
+ var i = wt(() => !!o.bitrate);
908
+ return () => i() ? ` ${We(o.bitrate)}` : "";
909
+ })(), null), I(() => s.value = o.name), s;
907
910
  })()
908
- }), null), T(() => r.value = t.activeRendition() ?? ""), n;
911
+ }), null), I(() => r.value = t.activeRendition() ?? ""), n;
909
912
  })();
910
913
  }
911
- function je() {
914
+ function Ie() {
912
915
  const t = N();
913
- return h(lt, {
916
+ return p(ct, {
914
917
  get title() {
915
918
  return t.isStatsPanelVisible() ? "Hide stats" : "Show stats";
916
919
  },
@@ -918,35 +921,35 @@ function je() {
918
921
  t.setIsStatsPanelVisible(!t.isStatsPanelVisible());
919
922
  },
920
923
  get children() {
921
- return h(j.Stats, {});
924
+ return p(W.Stats, {});
922
925
  }
923
926
  });
924
927
  }
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) => {
928
+ var Le = /* @__PURE__ */ R('<div class="watch-ui__volume-slider flex--center"><input type=range min=0 max=100><span class=watch-ui__volume-label>');
929
+ const Ve = (t, e) => e || t === 0 ? p(W.Mute, {}) : t > 0 && t <= 33 ? p(W.VolumeLow, {}) : t > 33 && t <= 66 ? p(W.VolumeMedium, {}) : p(W.VolumeHigh, {});
930
+ function ze() {
931
+ const [t, e] = E(0), n = N(), a = (r) => {
929
932
  const o = r.currentTarget, s = parseFloat(o.value);
930
933
  n.setVolume(s);
931
934
  };
932
- return qt(() => {
935
+ return jt(() => {
933
936
  const r = n.currentVolume() || 0;
934
937
  e(Math.round(r));
935
938
  }), (() => {
936
- var r = We(), o = r.firstChild, s = o.nextSibling;
937
- return y(r, h(lt, {
939
+ var r = Le(), o = r.firstChild, s = o.nextSibling;
940
+ return v(r, p(ct, {
938
941
  get title() {
939
942
  return n.isMuted() ? "Unmute" : "Mute";
940
943
  },
941
944
  onClick: () => n.toggleMuted(),
942
945
  get children() {
943
- return Te(n.currentVolume(), n.isMuted());
946
+ return Ve(n.currentVolume(), n.isMuted());
944
947
  }
945
- }), o), o.addEventListener("change", a), y(s, t), T(() => o.value = n.currentVolume()), r;
948
+ }), o), o.addEventListener("change", a), v(s, t), I(() => o.value = n.currentVolume()), r;
946
949
  })();
947
950
  }
948
- var Ve = /* @__PURE__ */ V('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
949
- const Ie = {
951
+ var Oe = /* @__PURE__ */ R('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
952
+ const Be = {
950
953
  "no-url": {
951
954
  variant: "error",
952
955
  text: "No URL"
@@ -975,78 +978,78 @@ const Ie = {
975
978
  variant: "connected",
976
979
  text: "Connected"
977
980
  }
978
- }, ze = {
981
+ }, Fe = {
979
982
  variant: "error",
980
983
  text: "Unknown"
981
984
  };
982
- function Oe() {
985
+ function Ne() {
983
986
  const t = N(), e = () => {
984
987
  const n = t.watchStatus();
985
- return Ie[n] || ze;
988
+ return Be[n] || Fe;
986
989
  };
987
990
  return (() => {
988
- var n = Ve(), a = n.firstChild, r = a.nextSibling;
989
- return y(r, () => e().text), T((o) => {
991
+ var n = Oe(), a = n.firstChild, r = a.nextSibling;
992
+ return v(r, () => e().text), I((o) => {
990
993
  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;
994
+ return s !== o.e && mt(a, o.e = s), i !== o.t && mt(r, o.t = i), o;
992
995
  }, {
993
996
  e: void 0,
994
997
  t: void 0
995
998
  }), n;
996
999
  })();
997
1000
  }
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() {
1001
+ 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>');
1002
+ function Ke() {
1000
1003
  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;
1004
+ var t = Ue(), e = t.firstChild, n = e.nextSibling;
1005
+ return v(e, p(qe, {}), null), v(e, p(ze, {}), null), v(e, p(Ne, {}), null), v(e, p(Ie, {}), null), v(e, p(Me, {}), null), v(n, p(Pe, {}), null), v(n, p(Te, {}), null), t;
1003
1006
  })();
1004
1007
  }
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, {
1008
+ 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}}';
1009
+ var He = /* @__PURE__ */ R("<style>"), Ge = /* @__PURE__ */ R("<div class=watch-ui__video-container><slot>");
1010
+ function Je(t) {
1011
+ return p(Ce, {
1009
1012
  get moqWatch() {
1010
1013
  return t.watch;
1011
1014
  },
1012
1015
  get children() {
1013
1016
  return [(() => {
1014
- var e = Ue();
1015
- return y(e, Ne), e;
1017
+ var e = He();
1018
+ return v(e, De), e;
1016
1019
  })(), (() => {
1017
- var e = Ke(), n = e.firstChild;
1018
- return n._$owner = Ht(), y(e, () => {
1019
- const a = jt(st);
1020
- return a ? h(Q, {
1020
+ var e = Ge(), n = e.firstChild;
1021
+ return n._$owner = Jt(), v(e, () => {
1022
+ const a = Tt(lt);
1023
+ return a ? p(Y, {
1021
1024
  get when() {
1022
1025
  return a.isStatsPanelVisible();
1023
1026
  },
1024
1027
  get children() {
1025
- return h(Bt, {
1026
- context: st,
1028
+ return p(Nt, {
1029
+ context: lt,
1027
1030
  getElement: (r) => r?.moqWatch.backend
1028
1031
  });
1029
1032
  }
1030
1033
  }) : null;
1031
- }, null), y(e, h(Ce, {}), null), e;
1032
- })(), h(Fe, {})];
1034
+ }, null), v(e, p(Ae, {}), null), e;
1035
+ })(), p(Ke, {})];
1033
1036
  }
1034
1037
  });
1035
1038
  }
1036
- ye("moq-watch-ui", (t, {
1039
+ ke("moq-watch-ui", (t, {
1037
1040
  element: e
1038
1041
  }) => {
1039
- const [n, a] = M();
1040
- return Rt(async () => {
1042
+ const [n, a] = E();
1043
+ return Wt(async () => {
1041
1044
  await customElements.whenDefined("moq-watch");
1042
1045
  const r = e.querySelector("moq-watch");
1043
1046
  a(r || void 0);
1044
- }), h(Q, {
1047
+ }), p(Y, {
1045
1048
  get when() {
1046
1049
  return n();
1047
1050
  },
1048
1051
  keyed: !0,
1049
- children: (r) => h(De, {
1052
+ children: (r) => p(Je, {
1050
1053
  watch: r
1051
1054
  })
1052
1055
  });