@moq/watch 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ui/index.js CHANGED
@@ -1,137 +1,137 @@
1
- import { Button as lt, Icon as V, Stats as Bt } from "@moq/ui-core";
2
- import { Signals as It, Moq as Nt } from "@moq/hang";
3
- const Ut = !1, Ft = (t, e) => t === e, Kt = /* @__PURE__ */ Symbol("solid-track"), rt = {
4
- equals: Ft
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
5
5
  };
6
- let Et = Wt;
7
- const F = 1, nt = 2, Pt = {
6
+ let Pt = Lt;
7
+ const F = 1, rt = 2, Mt = {
8
8
  owned: null,
9
9
  cleanups: null,
10
10
  context: null,
11
11
  owner: null
12
12
  };
13
- var g = null;
14
- let ft = null, Dt = null, w = null, A = null, z = null, ct = 0;
15
- function tt(t, e) {
16
- const r = w, a = g, n = t.length === 0, o = e === void 0 ? a : e, s = n ? Pt : {
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 : {
17
17
  owned: null,
18
18
  cleanups: null,
19
19
  context: o ? o.context : null,
20
20
  owner: o
21
- }, i = n ? t : () => t(() => R(() => X(s)));
22
- g = s, w = null;
21
+ }, i = r ? t : () => t(() => L(() => H(s)));
22
+ _ = s, v = null;
23
23
  try {
24
- return Y(i, !0);
24
+ return J(i, !0);
25
25
  } finally {
26
- w = r, g = a;
26
+ v = n, _ = a;
27
27
  }
28
28
  }
29
- function j(t, e) {
30
- e = e ? Object.assign({}, rt, e) : rt;
31
- const r = {
29
+ function M(t, e) {
30
+ e = e ? Object.assign({}, nt, e) : nt;
31
+ const n = {
32
32
  value: t,
33
33
  observers: null,
34
34
  observerSlots: null,
35
35
  comparator: e.equals || void 0
36
- }, a = (n) => (typeof n == "function" && (n = n(r.value)), Tt(r, n));
37
- return [jt.bind(r), a];
38
- }
39
- function T(t, e, r) {
40
- const a = bt(t, e, !1, F);
41
- Z(a);
42
- }
43
- function Mt(t, e, r) {
44
- Et = Yt;
45
- const a = bt(t, e, !1, F);
46
- a.user = !0, z ? z.push(a) : Z(a);
47
- }
48
- function U(t, e, r) {
49
- r = r ? Object.assign({}, rt, r) : rt;
50
- const a = bt(t, e, !0, 0);
51
- return a.observers = null, a.observerSlots = null, a.comparator = r.equals || void 0, Z(a), jt.bind(a);
52
- }
53
- function R(t) {
54
- if (w === null) return t();
55
- const e = w;
56
- w = null;
36
+ }, a = (r) => (typeof r == "function" && (r = r(n.value)), Tt(n, r));
37
+ return [Wt.bind(n), a];
38
+ }
39
+ function T(t, e, n) {
40
+ const a = yt(t, e, !1, F);
41
+ G(a);
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);
47
+ }
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);
52
+ }
53
+ function L(t) {
54
+ if (v === null) return t();
55
+ const e = v;
56
+ v = null;
57
57
  try {
58
58
  return t();
59
59
  } finally {
60
- w = e;
60
+ v = e;
61
61
  }
62
62
  }
63
- function Ht(t) {
64
- Mt(() => R(t));
63
+ function Rt(t) {
64
+ qt(() => L(t));
65
65
  }
66
66
  function ut(t) {
67
- return g === null || (g.cleanups === null ? g.cleanups = [t] : g.cleanups.push(t)), t;
67
+ return _ === null || (_.cleanups === null ? _.cleanups = [t] : _.cleanups.push(t)), t;
68
68
  }
69
- function Gt() {
70
- return g;
69
+ function Ht() {
70
+ return _;
71
71
  }
72
- function Jt(t, e) {
73
- const r = /* @__PURE__ */ Symbol("context");
72
+ function Gt(t, e) {
73
+ const n = /* @__PURE__ */ Symbol("context");
74
74
  return {
75
- id: r,
76
- Provider: ee(r),
75
+ id: n,
76
+ Provider: te(n),
77
77
  defaultValue: t
78
78
  };
79
79
  }
80
- function qt(t) {
80
+ function jt(t) {
81
81
  let e;
82
- return g && g.context && (e = g.context[t.id]) !== void 0 ? e : t.defaultValue;
82
+ return _ && _.context && (e = _.context[t.id]) !== void 0 ? e : t.defaultValue;
83
83
  }
84
- function Qt(t) {
85
- const e = U(t), r = U(() => ht(e()));
86
- return r.toArray = () => {
87
- const a = r();
84
+ function Jt(t) {
85
+ const e = B(t), n = B(() => vt(e()));
86
+ return n.toArray = () => {
87
+ const a = n();
88
88
  return Array.isArray(a) ? a : a != null ? [a] : [];
89
- }, r;
89
+ }, n;
90
90
  }
91
- function jt() {
91
+ function Wt() {
92
92
  if (this.sources && this.state)
93
- if (this.state === F) Z(this);
93
+ if (this.state === F) G(this);
94
94
  else {
95
- const t = A;
96
- A = null, Y(() => ot(this), !1), A = t;
95
+ const t = S;
96
+ S = null, J(() => ot(this), !1), S = t;
97
97
  }
98
- if (w) {
98
+ if (v) {
99
99
  const t = this.observers ? this.observers.length : 0;
100
- w.sources ? (w.sources.push(this), w.sourceSlots.push(t)) : (w.sources = [this], w.sourceSlots = [t]), this.observers ? (this.observers.push(w), this.observerSlots.push(w.sources.length - 1)) : (this.observers = [w], this.observerSlots = [w.sources.length - 1]);
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]);
101
101
  }
102
102
  return this.value;
103
103
  }
104
- function Tt(t, e, r) {
104
+ function Tt(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 && Y(() => {
107
- for (let n = 0; n < t.observers.length; n += 1) {
108
- const o = t.observers[n], s = ft && ft.running;
109
- s && ft.disposed.has(o), (s ? !o.tState : !o.state) && (o.pure ? A.push(o) : z.push(o), o.observers && Ot(o)), s || (o.state = F);
106
+ return (!t.comparator || !t.comparator(a, e)) && (t.value = e, t.observers && t.observers.length && J(() => {
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);
110
110
  }
111
- if (A.length > 1e6)
112
- throw A = [], new Error();
111
+ if (S.length > 1e6)
112
+ throw S = [], new Error();
113
113
  }, !1)), e;
114
114
  }
115
- function Z(t) {
115
+ function G(t) {
116
116
  if (!t.fn) return;
117
- X(t);
117
+ H(t);
118
118
  const e = ct;
119
- Xt(t, t.value, e);
119
+ Qt(t, t.value, e);
120
120
  }
121
- function Xt(t, e, r) {
121
+ function Qt(t, e, n) {
122
122
  let a;
123
- const n = g, o = w;
124
- w = g = t;
123
+ const r = _, o = v;
124
+ v = _ = 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(X), t.owned = null), t.updatedAt = r + 1, Vt(s);
128
+ return t.pure && (t.state = F, t.owned && t.owned.forEach(H), t.owned = null), t.updatedAt = n + 1, It(s);
129
129
  } finally {
130
- w = o, g = n;
130
+ v = o, _ = r;
131
131
  }
132
- (!t.updatedAt || t.updatedAt <= r) && (t.updatedAt != null && "observers" in t ? Tt(t, a) : t.value = a, t.updatedAt = r);
132
+ (!t.updatedAt || t.updatedAt <= n) && (t.updatedAt != null && "observers" in t ? Tt(t, a) : t.value = a, t.updatedAt = n);
133
133
  }
134
- function bt(t, e, r, a = F, n) {
134
+ function yt(t, e, n, a = F, r) {
135
135
  const o = {
136
136
  fn: t,
137
137
  state: a,
@@ -141,86 +141,86 @@ function bt(t, e, r, a = F, n) {
141
141
  sourceSlots: null,
142
142
  cleanups: null,
143
143
  value: e,
144
- owner: g,
145
- context: g ? g.context : null,
146
- pure: r
144
+ owner: _,
145
+ context: _ ? _.context : null,
146
+ pure: n
147
147
  };
148
- return g === null || g !== Pt && (g.owned ? g.owned.push(o) : g.owned = [o]), o;
148
+ return _ === null || _ !== Mt && (_.owned ? _.owned.push(o) : _.owned = [o]), o;
149
149
  }
150
150
  function at(t) {
151
151
  if (t.state === 0) return;
152
- if (t.state === nt) return ot(t);
153
- if (t.suspense && R(t.suspense.inFallback)) return t.suspense.effects.push(t);
152
+ if (t.state === rt) return ot(t);
153
+ if (t.suspense && L(t.suspense.inFallback)) return t.suspense.effects.push(t);
154
154
  const e = [t];
155
155
  for (; (t = t.owner) && (!t.updatedAt || t.updatedAt < ct); )
156
156
  t.state && e.push(t);
157
- for (let r = e.length - 1; r >= 0; r--)
158
- if (t = e[r], t.state === F)
159
- Z(t);
160
- else if (t.state === nt) {
161
- const a = A;
162
- A = null, Y(() => ot(t, e[0]), !1), A = a;
157
+ for (let n = e.length - 1; n >= 0; n--)
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;
163
163
  }
164
164
  }
165
- function Y(t, e) {
166
- if (A) return t();
167
- let r = !1;
168
- e || (A = []), z ? r = !0 : z = [], ct++;
165
+ function J(t, e) {
166
+ if (S) return t();
167
+ let n = !1;
168
+ e || (S = []), W ? n = !0 : W = [], ct++;
169
169
  try {
170
170
  const a = t();
171
- return Zt(r), a;
171
+ return Xt(n), a;
172
172
  } catch (a) {
173
- r || (z = null), A = null, Vt(a);
173
+ n || (W = null), S = null, It(a);
174
174
  }
175
175
  }
176
- function Zt(t) {
177
- if (A && (Wt(A), A = null), t) return;
178
- const e = z;
179
- z = null, e.length && Y(() => Et(e), !1);
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);
180
180
  }
181
- function Wt(t) {
181
+ function Lt(t) {
182
182
  for (let e = 0; e < t.length; e++) at(t[e]);
183
183
  }
184
- function Yt(t) {
185
- let e, r = 0;
184
+ function Zt(t) {
185
+ let e, n = 0;
186
186
  for (e = 0; e < t.length; e++) {
187
187
  const a = t[e];
188
- a.user ? t[r++] = a : at(a);
188
+ a.user ? t[n++] = a : at(a);
189
189
  }
190
- for (e = 0; e < r; e++) at(t[e]);
190
+ for (e = 0; e < n; e++) at(t[e]);
191
191
  }
192
192
  function ot(t, e) {
193
193
  t.state = 0;
194
- for (let r = 0; r < t.sources.length; r += 1) {
195
- const a = t.sources[r];
194
+ for (let n = 0; n < t.sources.length; n += 1) {
195
+ const a = t.sources[n];
196
196
  if (a.sources) {
197
- const n = a.state;
198
- n === F ? a !== e && (!a.updatedAt || a.updatedAt < ct) && at(a) : n === nt && ot(a, e);
197
+ const r = a.state;
198
+ r === F ? a !== e && (!a.updatedAt || a.updatedAt < ct) && at(a) : r === rt && ot(a, e);
199
199
  }
200
200
  }
201
201
  }
202
- function Ot(t) {
202
+ function Vt(t) {
203
203
  for (let e = 0; e < t.observers.length; e += 1) {
204
- const r = t.observers[e];
205
- r.state || (r.state = nt, r.pure ? A.push(r) : z.push(r), r.observers && Ot(r));
204
+ const n = t.observers[e];
205
+ n.state || (n.state = rt, n.pure ? S.push(n) : W.push(n), n.observers && Vt(n));
206
206
  }
207
207
  }
208
- function X(t) {
208
+ function H(t) {
209
209
  let e;
210
210
  if (t.sources)
211
211
  for (; t.sources.length; ) {
212
- const r = t.sources.pop(), a = t.sourceSlots.pop(), n = r.observers;
213
- if (n && n.length) {
214
- const o = n.pop(), s = r.observerSlots.pop();
215
- a < n.length && (o.sourceSlots[s] = a, n[a] = o, r.observerSlots[a] = s);
212
+ const n = t.sources.pop(), a = t.sourceSlots.pop(), r = n.observers;
213
+ if (r && r.length) {
214
+ const o = r.pop(), s = n.observerSlots.pop();
215
+ a < r.length && (o.sourceSlots[s] = a, r[a] = o, n.observerSlots[a] = s);
216
216
  }
217
217
  }
218
218
  if (t.tOwned) {
219
- for (e = t.tOwned.length - 1; e >= 0; e--) X(t.tOwned[e]);
219
+ for (e = t.tOwned.length - 1; e >= 0; e--) H(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--) X(t.owned[e]);
223
+ for (e = t.owned.length - 1; e >= 0; e--) H(t.owned[e]);
224
224
  t.owned = null;
225
225
  }
226
226
  if (t.cleanups) {
@@ -229,194 +229,182 @@ function X(t) {
229
229
  }
230
230
  t.state = 0;
231
231
  }
232
- function te(t) {
232
+ function Yt(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 Vt(t, e = g) {
238
- throw te(t);
237
+ function It(t, e = _) {
238
+ throw Yt(t);
239
239
  }
240
- function ht(t) {
241
- if (typeof t == "function" && !t.length) return ht(t());
240
+ function vt(t) {
241
+ if (typeof t == "function" && !t.length) return vt(t());
242
242
  if (Array.isArray(t)) {
243
243
  const e = [];
244
- for (let r = 0; r < t.length; r++) {
245
- const a = ht(t[r]);
244
+ for (let n = 0; n < t.length; n++) {
245
+ const a = vt(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 ee(t, e) {
252
+ function te(t, e) {
253
253
  return function(a) {
254
- let n;
255
- return T(() => n = R(() => (g.context = {
256
- ...g.context,
254
+ let r;
255
+ return T(() => r = L(() => (_.context = {
256
+ ..._.context,
257
257
  [t]: a.value
258
- }, Qt(() => a.children))), void 0), n;
258
+ }, Jt(() => a.children))), void 0), r;
259
259
  };
260
260
  }
261
- const re = /* @__PURE__ */ Symbol("fallback");
262
- function wt(t) {
261
+ const ee = /* @__PURE__ */ Symbol("fallback");
262
+ function kt(t) {
263
263
  for (let e = 0; e < t.length; e++) t[e]();
264
264
  }
265
- function ne(t, e, r = {}) {
266
- let a = [], n = [], o = [], s = 0, i = e.length > 1 ? [] : null;
267
- return ut(() => wt(o)), () => {
268
- let c = t() || [], f = c.length, d, l;
269
- return c[Kt], R(() => {
270
- let $, _, h, E, P, b, v, m, q;
271
- if (f === 0)
272
- s !== 0 && (wt(o), o = [], a = [], n = [], s = 0, i && (i = [])), r.fallback && (a = [re], n[0] = tt((B) => (o[0] = B, r.fallback())), s = 1);
265
+ function ne(t, e, n = {}) {
266
+ let a = [], r = [], o = [], s = 0, i = e.length > 1 ? [] : null;
267
+ return ut(() => kt(o)), () => {
268
+ let c = t() || [], u = c.length, f, l;
269
+ return c[Kt], L(() => {
270
+ let w, $, m, E, g, d, p, x, C;
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);
273
273
  else if (s === 0) {
274
- for (n = new Array(f), l = 0; l < f; l++)
275
- a[l] = c[l], n[l] = tt(M);
276
- s = f;
274
+ for (r = new Array(u), l = 0; l < u; l++)
275
+ a[l] = c[l], r[l] = et(k);
276
+ s = u;
277
277
  } else {
278
- for (h = new Array(f), E = new Array(f), i && (P = new Array(f)), b = 0, v = Math.min(s, f); b < v && a[b] === c[b]; b++) ;
279
- for (v = s - 1, m = f - 1; v >= b && m >= b && a[v] === c[m]; v--, m--)
280
- h[m] = n[v], E[m] = o[v], i && (P[m] = i[v]);
281
- for ($ = /* @__PURE__ */ new Map(), _ = new Array(m + 1), l = m; l >= b; l--)
282
- q = c[l], d = $.get(q), _[l] = d === void 0 ? -1 : d, $.set(q, l);
283
- for (d = b; d <= v; d++)
284
- q = a[d], l = $.get(q), l !== void 0 && l !== -1 ? (h[l] = n[d], E[l] = o[d], i && (P[l] = i[d]), l = _[l], $.set(q, l)) : o[d]();
285
- for (l = b; l < f; l++)
286
- l in h ? (n[l] = h[l], o[l] = E[l], i && (i[l] = P[l], i[l](l))) : n[l] = tt(M);
287
- n = n.slice(0, s = f), a = c.slice(0);
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);
287
+ r = r.slice(0, s = u), a = c.slice(0);
288
288
  }
289
- return n;
289
+ return r;
290
290
  });
291
- function M($) {
292
- if (o[l] = $, i) {
293
- const [_, h] = j(l);
294
- return i[l] = h, e(c[l], _);
291
+ function k(w) {
292
+ if (o[l] = w, i) {
293
+ const [$, m] = M(l);
294
+ return i[l] = m, e(c[l], $);
295
295
  }
296
296
  return e(c[l]);
297
297
  }
298
298
  };
299
299
  }
300
- function u(t, e) {
301
- return R(() => t(e || {}));
300
+ function h(t, e) {
301
+ return L(() => t(e || {}));
302
302
  }
303
- const ae = (t) => `Stale read from <${t}>.`;
304
- function gt(t) {
303
+ const re = (t) => `Stale read from <${t}>.`;
304
+ function ae(t) {
305
305
  const e = "fallback" in t && {
306
306
  fallback: () => t.fallback
307
307
  };
308
- return U(ne(() => t.each, t.children, e || void 0));
308
+ return B(ne(() => t.each, t.children, e || void 0));
309
309
  }
310
- function L(t) {
311
- const e = t.keyed, r = U(() => t.when, void 0, void 0), a = e ? r : U(r, void 0, {
312
- equals: (n, o) => !n == !o
310
+ function Q(t) {
311
+ const e = t.keyed, n = B(() => t.when, void 0, void 0), a = e ? n : B(n, void 0, {
312
+ equals: (r, o) => !r == !o
313
313
  });
314
- return U(() => {
315
- const n = a();
316
- if (n) {
314
+ return B(() => {
315
+ const r = a();
316
+ if (r) {
317
317
  const o = t.children;
318
- return typeof o == "function" && o.length > 0 ? R(() => o(e ? n : () => {
319
- if (!R(a)) throw ae("Show");
320
- return r();
318
+ return typeof o == "function" && o.length > 0 ? L(() => o(e ? r : () => {
319
+ if (!L(a)) throw re("Show");
320
+ return n();
321
321
  })) : o;
322
322
  }
323
323
  return t.fallback;
324
324
  }, void 0, void 0);
325
325
  }
326
- const oe = (t) => U(() => t());
327
- function ie(t, e, r) {
328
- let a = r.length, n = e.length, o = a, s = 0, i = 0, c = e[n - 1].nextSibling, f = null;
329
- for (; s < n || i < o; ) {
330
- if (e[s] === r[i]) {
326
+ const Ct = (t) => B(() => t());
327
+ function oe(t, e, n) {
328
+ let a = n.length, r = e.length, o = a, s = 0, i = 0, c = e[r - 1].nextSibling, u = null;
329
+ for (; s < r || i < o; ) {
330
+ if (e[s] === n[i]) {
331
331
  s++, i++;
332
332
  continue;
333
333
  }
334
- for (; e[n - 1] === r[o - 1]; )
335
- n--, o--;
336
- if (n === s) {
337
- const d = o < a ? i ? r[i - 1].nextSibling : r[o - i] : c;
338
- for (; i < o; ) t.insertBefore(r[i++], d);
334
+ for (; e[r - 1] === n[o - 1]; )
335
+ r--, o--;
336
+ if (r === s) {
337
+ const f = o < a ? i ? n[i - 1].nextSibling : n[o - i] : c;
338
+ for (; i < o; ) t.insertBefore(n[i++], f);
339
339
  } else if (o === i)
340
- for (; s < n; )
341
- (!f || !f.has(e[s])) && e[s].remove(), s++;
342
- else if (e[s] === r[o - 1] && r[i] === e[n - 1]) {
343
- const d = e[--n].nextSibling;
344
- t.insertBefore(r[i++], e[s++].nextSibling), t.insertBefore(r[--o], d), e[n] = r[o];
340
+ for (; s < r; )
341
+ (!u || !u.has(e[s])) && e[s].remove(), s++;
342
+ else if (e[s] === n[o - 1] && n[i] === e[r - 1]) {
343
+ const f = e[--r].nextSibling;
344
+ t.insertBefore(n[i++], e[s++].nextSibling), t.insertBefore(n[--o], f), e[r] = n[o];
345
345
  } else {
346
- if (!f) {
347
- f = /* @__PURE__ */ new Map();
346
+ if (!u) {
347
+ u = /* @__PURE__ */ new Map();
348
348
  let l = i;
349
- for (; l < o; ) f.set(r[l], l++);
349
+ for (; l < o; ) u.set(n[l], l++);
350
350
  }
351
- const d = f.get(e[s]);
352
- if (d != null)
353
- if (i < d && d < o) {
354
- let l = s, M = 1, $;
355
- for (; ++l < n && l < o && !(($ = f.get(e[l])) == null || $ !== d + M); )
356
- M++;
357
- if (M > d - i) {
358
- const _ = e[s];
359
- for (; i < d; ) t.insertBefore(r[i++], _);
360
- } else t.replaceChild(r[i++], e[s++]);
351
+ const f = u.get(e[s]);
352
+ if (f != null)
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++], $);
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 mt = "_$DX_DELEGATE";
367
- function W(t, e, r, a) {
368
- let n;
366
+ const St = "_$DX_DELEGATE";
367
+ function V(t, e, n, a) {
368
+ let r;
369
369
  const o = () => {
370
370
  const i = document.createElement("template");
371
371
  return i.innerHTML = t, i.content.firstChild;
372
- }, s = () => (n || (n = o())).cloneNode(!0);
372
+ }, s = () => (r || (r = o())).cloneNode(!0);
373
373
  return s.cloneNode = s, s;
374
374
  }
375
- function se(t, e = window.document) {
376
- const r = e[mt] || (e[mt] = /* @__PURE__ */ new Set());
377
- for (let a = 0, n = t.length; a < n; a++) {
375
+ function ie(t, e = window.document) {
376
+ const n = e[St] || (e[St] = /* @__PURE__ */ new Set());
377
+ for (let a = 0, r = t.length; a < r; a++) {
378
378
  const o = t[a];
379
- r.has(o) || (r.add(o), e.addEventListener(o, ue));
379
+ n.has(o) || (n.add(o), e.addEventListener(o, le));
380
380
  }
381
381
  }
382
- function et(t, e, r) {
383
- r == null ? t.removeAttribute(e) : t.setAttribute(e, r);
382
+ function gt(t, e, n) {
383
+ n == null ? t.removeAttribute(e) : t.setAttribute(e, n);
384
384
  }
385
- function pt(t, e) {
385
+ function wt(t, e) {
386
386
  e == null ? t.removeAttribute("class") : t.className = e;
387
387
  }
388
- function yt(t, e, r) {
389
- if (!e) return r ? et(t, "style") : e;
390
- const a = t.style;
391
- if (typeof e == "string") return a.cssText = e;
392
- typeof r == "string" && (a.cssText = r = void 0), r || (r = {}), e || (e = {});
393
- let n, o;
394
- for (o in r)
395
- e[o] == null && a.removeProperty(o), delete r[o];
396
- for (o in e)
397
- n = e[o], n !== r[o] && (a.setProperty(o, n), r[o] = n);
398
- return r;
399
- }
400
- function le(t, e, r) {
401
- r != null ? t.style.setProperty(e, r) : t.style.removeProperty(e);
388
+ function se(t, e, n) {
389
+ n != null ? t.style.setProperty(e, n) : t.style.removeProperty(e);
402
390
  }
403
- function ce(t, e, r) {
404
- return R(() => t(e, r));
391
+ function pt(t, e, n) {
392
+ return L(() => t(e, n));
405
393
  }
406
- function p(t, e, r, a) {
407
- if (r !== void 0 && !a && (a = []), typeof e != "function") return it(t, e, a, r);
408
- T((n) => it(t, e(), n, r), a);
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);
409
397
  }
410
- function ue(t) {
398
+ function le(t) {
411
399
  let e = t.target;
412
- const r = `$$${t.type}`, a = t.target, n = t.currentTarget, o = (c) => Object.defineProperty(t, "target", {
400
+ const n = `$$${t.type}`, a = t.target, r = t.currentTarget, o = (c) => Object.defineProperty(t, "target", {
413
401
  configurable: !0,
414
402
  value: c
415
403
  }), s = () => {
416
- const c = e[r];
404
+ const c = e[n];
417
405
  if (c && !e.disabled) {
418
- const f = e[`${r}Data`];
419
- if (f !== void 0 ? c.call(e, f, t) : c.call(e, t), t.cancelBubble) return;
406
+ const u = e[`${n}Data`];
407
+ if (u !== void 0 ? c.call(e, u, t) : c.call(e, t), t.cancelBubble) return;
420
408
  }
421
409
  return e.host && typeof e.host != "string" && !e.host._$host && e.contains(t.target) && o(e.host), !0;
422
410
  }, i = () => {
@@ -430,132 +418,132 @@ function ue(t) {
430
418
  }), t.composedPath) {
431
419
  const c = t.composedPath();
432
420
  o(c[0]);
433
- for (let f = 0; f < c.length - 2 && (e = c[f], !!s()); f++) {
421
+ for (let u = 0; u < c.length - 2 && (e = c[u], !!s()); u++) {
434
422
  if (e._$host) {
435
423
  e = e._$host, i();
436
424
  break;
437
425
  }
438
- if (e.parentNode === n)
426
+ if (e.parentNode === r)
439
427
  break;
440
428
  }
441
429
  } else i();
442
430
  o(a);
443
431
  }
444
- function it(t, e, r, a, n) {
445
- for (; typeof r == "function"; ) r = r();
446
- if (e === r) return r;
432
+ function it(t, e, n, a, r) {
433
+ for (; typeof n == "function"; ) n = n();
434
+ if (e === n) return n;
447
435
  const o = typeof e, s = a !== void 0;
448
- if (t = s && r[0] && r[0].parentNode || t, o === "string" || o === "number") {
449
- if (o === "number" && (e = e.toString(), e === r))
450
- return r;
436
+ if (t = s && n[0] && n[0].parentNode || t, o === "string" || o === "number") {
437
+ if (o === "number" && (e = e.toString(), e === n))
438
+ return n;
451
439
  if (s) {
452
- let i = r[0];
453
- i && i.nodeType === 3 ? i.data !== e && (i.data = e) : i = document.createTextNode(e), r = H(t, r, a, i);
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);
454
442
  } else
455
- r !== "" && typeof r == "string" ? r = t.firstChild.data = e : r = t.textContent = e;
443
+ n !== "" && typeof n == "string" ? n = t.firstChild.data = e : n = t.textContent = e;
456
444
  } else if (e == null || o === "boolean")
457
- r = H(t, r, a);
445
+ n = D(t, n, a);
458
446
  else {
459
447
  if (o === "function")
460
448
  return T(() => {
461
449
  let i = e();
462
450
  for (; typeof i == "function"; ) i = i();
463
- r = it(t, i, r, a);
464
- }), () => r;
451
+ n = it(t, i, n, a);
452
+ }), () => n;
465
453
  if (Array.isArray(e)) {
466
- const i = [], c = r && Array.isArray(r);
467
- if (_t(i, e, r, n))
468
- return T(() => r = it(t, i, r, a, !0)), () => r;
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;
469
457
  if (i.length === 0) {
470
- if (r = H(t, r, a), s) return r;
471
- } else c ? r.length === 0 ? xt(t, i, a) : ie(t, r, i) : (r && H(t), xt(t, i));
472
- r = i;
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));
460
+ n = i;
473
461
  } else if (e.nodeType) {
474
- if (Array.isArray(r)) {
475
- if (s) return r = H(t, r, a, e);
476
- H(t, r, null, e);
477
- } else r == null || r === "" || !t.firstChild ? t.appendChild(e) : t.replaceChild(e, t.firstChild);
478
- r = e;
462
+ if (Array.isArray(n)) {
463
+ if (s) return n = D(t, n, a, e);
464
+ D(t, n, null, e);
465
+ } else n == null || n === "" || !t.firstChild ? t.appendChild(e) : t.replaceChild(e, t.firstChild);
466
+ n = e;
479
467
  }
480
468
  }
481
- return r;
469
+ return n;
482
470
  }
483
- function _t(t, e, r, a) {
484
- let n = !1;
471
+ function mt(t, e, n, a) {
472
+ let r = !1;
485
473
  for (let o = 0, s = e.length; o < s; o++) {
486
- let i = e[o], c = r && r[t.length], f;
487
- if (!(i == null || i === !0 || i === !1)) if ((f = typeof i) == "object" && i.nodeType)
474
+ let i = e[o], c = n && n[t.length], u;
475
+ if (!(i == null || i === !0 || i === !1)) if ((u = typeof i) == "object" && i.nodeType)
488
476
  t.push(i);
489
477
  else if (Array.isArray(i))
490
- n = _t(t, i, c) || n;
491
- else if (f === "function")
478
+ r = mt(t, i, c) || r;
479
+ else if (u === "function")
492
480
  if (a) {
493
481
  for (; typeof i == "function"; ) i = i();
494
- n = _t(t, Array.isArray(i) ? i : [i], Array.isArray(c) ? c : [c]) || n;
482
+ r = mt(t, Array.isArray(i) ? i : [i], Array.isArray(c) ? c : [c]) || r;
495
483
  } else
496
- t.push(i), n = !0;
484
+ t.push(i), r = !0;
497
485
  else {
498
- const d = String(i);
499
- c && c.nodeType === 3 && c.data === d ? t.push(c) : t.push(document.createTextNode(d));
486
+ const f = String(i);
487
+ c && c.nodeType === 3 && c.data === f ? t.push(c) : t.push(document.createTextNode(f));
500
488
  }
501
489
  }
502
- return n;
490
+ return r;
503
491
  }
504
- function xt(t, e, r = null) {
505
- for (let a = 0, n = e.length; a < n; a++) t.insertBefore(e[a], r);
492
+ function At(t, e, n = null) {
493
+ for (let a = 0, r = e.length; a < r; a++) t.insertBefore(e[a], n);
506
494
  }
507
- function H(t, e, r, a) {
508
- if (r === void 0) return t.textContent = "";
509
- const n = a || document.createTextNode("");
495
+ function D(t, e, n, a) {
496
+ if (n === void 0) return t.textContent = "";
497
+ const r = a || document.createTextNode("");
510
498
  if (e.length) {
511
499
  let o = !1;
512
500
  for (let s = e.length - 1; s >= 0; s--) {
513
501
  const i = e[s];
514
- if (n !== i) {
502
+ if (r !== i) {
515
503
  const c = i.parentNode === t;
516
- !o && !s ? c ? t.replaceChild(n, i) : t.insertBefore(n, r) : c && i.remove();
504
+ !o && !s ? c ? t.replaceChild(r, i) : t.insertBefore(r, n) : c && i.remove();
517
505
  } else o = !0;
518
506
  }
519
- } else t.insertBefore(n, r);
520
- return [n];
507
+ } else t.insertBefore(r, n);
508
+ return [r];
521
509
  }
522
- function fe(t) {
523
- return Object.keys(t).reduce((r, a) => {
524
- const n = t[a];
525
- return r[a] = Object.assign({}, n), zt(n.value) && !_e(n.value) && !Array.isArray(n.value) && (r[a].value = Object.assign({}, n.value)), Array.isArray(n.value) && (r[a].value = n.value.slice(0)), r;
510
+ function ce(t) {
511
+ return Object.keys(t).reduce((n, a) => {
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;
526
514
  }, {});
527
515
  }
528
- function de(t) {
529
- return t ? Object.keys(t).reduce((r, a) => {
530
- const n = t[a];
531
- return r[a] = zt(n) && "value" in n ? n : {
532
- value: n
533
- }, r[a].attribute || (r[a].attribute = pe(a)), r[a].parse = "parse" in r[a] ? r[a].parse : typeof r[a].value != "string", r;
516
+ function ue(t) {
517
+ return t ? Object.keys(t).reduce((n, a) => {
518
+ const r = t[a];
519
+ return n[a] = Ot(r) && "value" in r ? r : {
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;
534
522
  }, {}) : {};
535
523
  }
536
- function he(t) {
537
- return Object.keys(t).reduce((r, a) => (r[a] = t[a].value, r), {});
524
+ function fe(t) {
525
+ return Object.keys(t).reduce((n, a) => (n[a] = t[a].value, n), {});
538
526
  }
539
- function ge(t, e) {
540
- const r = fe(e);
541
- return Object.keys(e).forEach((n) => {
542
- const o = r[n], s = t.getAttribute(o.attribute), i = t[n];
543
- s != null && (o.value = o.parse ? Lt(s) : s), i != null && (o.value = Array.isArray(i) ? i.slice(0) : i), o.reflect && kt(t, o.attribute, o.value, !!o.parse), Object.defineProperty(t, n, {
527
+ function de(t, e) {
528
+ const n = ce(e);
529
+ return Object.keys(e).forEach((r) => {
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, {
544
532
  get() {
545
533
  return o.value;
546
534
  },
547
535
  set(c) {
548
- const f = o.value;
549
- o.value = c, o.reflect && kt(this, o.attribute, o.value, !!o.parse);
550
- for (let d = 0, l = this.__propertyChangedCallbacks.length; d < l; d++)
551
- this.__propertyChangedCallbacks[d](n, c, f);
536
+ const u = o.value;
537
+ o.value = c, o.reflect && $t(this, o.attribute, o.value, !!o.parse);
538
+ for (let f = 0, l = this.__propertyChangedCallbacks.length; f < l; f++)
539
+ this.__propertyChangedCallbacks[f](r, c, u);
552
540
  },
553
541
  enumerable: !0,
554
542
  configurable: !0
555
543
  });
556
- }), r;
544
+ }), n;
557
545
  }
558
- function Lt(t) {
546
+ function zt(t) {
559
547
  if (t)
560
548
  try {
561
549
  return JSON.parse(t);
@@ -563,339 +551,313 @@ function Lt(t) {
563
551
  return t;
564
552
  }
565
553
  }
566
- function kt(t, e, r, a) {
567
- if (r == null || r === !1) return t.removeAttribute(e);
568
- let n = a ? JSON.stringify(r) : r;
569
- t.__updating[e] = !0, n === "true" && (n = ""), t.setAttribute(e, n), Promise.resolve().then(() => delete t.__updating[e]);
554
+ function $t(t, e, n, a) {
555
+ if (n == null || n === !1) return t.removeAttribute(e);
556
+ let r = a ? JSON.stringify(n) : n;
557
+ t.__updating[e] = !0, r === "true" && (r = ""), t.setAttribute(e, r), Promise.resolve().then(() => delete t.__updating[e]);
570
558
  }
571
- function pe(t) {
572
- return t.replace(/\.?([A-Z]+)/g, (e, r) => "-" + r.toLowerCase()).replace("_", "-").replace(/^-/, "");
559
+ function he(t) {
560
+ return t.replace(/\.?([A-Z]+)/g, (e, n) => "-" + n.toLowerCase()).replace("_", "-").replace(/^-/, "");
573
561
  }
574
- function zt(t) {
562
+ function Ot(t) {
575
563
  return t != null && (typeof t == "object" || typeof t == "function");
576
564
  }
577
- function _e(t) {
565
+ function ge(t) {
578
566
  return Object.prototype.toString.call(t) === "[object Function]";
579
567
  }
580
- function be(t) {
568
+ function pe(t) {
581
569
  return typeof t == "function" && t.toString().indexOf("class") === 0;
582
570
  }
583
- let dt;
584
- function ve(t, e) {
585
- const r = Object.keys(e);
571
+ let _t;
572
+ function _e(t, e) {
573
+ const n = Object.keys(e);
586
574
  return class extends t {
587
575
  static get observedAttributes() {
588
- return r.map((n) => e[n].attribute);
576
+ return n.map((r) => e[r].attribute);
589
577
  }
590
578
  constructor() {
591
579
  super(), this.__initialized = !1, this.__released = !1, this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = {};
592
- for (let n of r)
593
- this[n] = void 0;
580
+ for (let r of n)
581
+ this[r] = void 0;
594
582
  }
595
583
  connectedCallback() {
596
584
  if (this.__initialized) return;
597
- this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = ge(this, e);
598
- const n = he(this.props), o = this.Component, s = dt;
585
+ this.__releaseCallbacks = [], this.__propertyChangedCallbacks = [], this.__updating = {}, this.props = de(this, e);
586
+ const r = fe(this.props), o = this.Component, s = _t;
599
587
  try {
600
- dt = this, this.__initialized = !0, be(o) ? new o(n, {
588
+ _t = this, this.__initialized = !0, pe(o) ? new o(r, {
601
589
  element: this
602
- }) : o(n, {
590
+ }) : o(r, {
603
591
  element: this
604
592
  });
605
593
  } finally {
606
- dt = s;
594
+ _t = s;
607
595
  }
608
596
  }
609
597
  async disconnectedCallback() {
610
598
  if (await Promise.resolve(), this.isConnected) return;
611
599
  this.__propertyChangedCallbacks.length = 0;
612
- let n = null;
613
- for (; n = this.__releaseCallbacks.pop(); ) n(this);
600
+ let r = null;
601
+ for (; r = this.__releaseCallbacks.pop(); ) r(this);
614
602
  delete this.__initialized, this.__released = !0;
615
603
  }
616
- attributeChangedCallback(n, o, s) {
617
- if (this.__initialized && !this.__updating[n] && (n = this.lookupProp(n), n in e)) {
618
- if (s == null && !this[n]) return;
619
- this[n] = e[n].parse ? Lt(s) : s;
604
+ attributeChangedCallback(r, o, s) {
605
+ if (this.__initialized && !this.__updating[r] && (r = this.lookupProp(r), r in e)) {
606
+ if (s == null && !this[r]) return;
607
+ this[r] = e[r].parse ? zt(s) : s;
620
608
  }
621
609
  }
622
- lookupProp(n) {
610
+ lookupProp(r) {
623
611
  if (e)
624
- return r.find((o) => n === o || n === e[o].attribute);
612
+ return n.find((o) => r === o || r === e[o].attribute);
625
613
  }
626
614
  get renderRoot() {
627
615
  return this.shadowRoot || this.attachShadow({
628
616
  mode: "open"
629
617
  });
630
618
  }
631
- addReleaseCallback(n) {
632
- this.__releaseCallbacks.push(n);
619
+ addReleaseCallback(r) {
620
+ this.__releaseCallbacks.push(r);
633
621
  }
634
- addPropertyChangedCallback(n) {
635
- this.__propertyChangedCallbacks.push(n);
622
+ addPropertyChangedCallback(r) {
623
+ this.__propertyChangedCallbacks.push(r);
636
624
  }
637
625
  };
638
626
  }
639
- function we(t, e = {}, r = {}) {
627
+ function be(t, e = {}, n = {}) {
640
628
  const {
641
629
  BaseElement: a = HTMLElement,
642
- extension: n,
630
+ extension: r,
643
631
  customElements: o = window.customElements
644
- } = r;
632
+ } = n;
645
633
  return (s) => {
646
634
  let i = o.get(t);
647
- return i ? (i.prototype.Component = s, i) : (i = ve(a, de(e)), i.prototype.Component = s, i.prototype.registeredTag = t, o.define(t, i, n), i);
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);
648
636
  };
649
637
  }
650
- function me(t) {
651
- const e = Object.keys(t), r = {};
638
+ function ve(t) {
639
+ const e = Object.keys(t), n = {};
652
640
  for (let a = 0; a < e.length; a++) {
653
- const [n, o] = j(t[e[a]]);
654
- Object.defineProperty(r, e[a], {
655
- get: n,
641
+ const [r, o] = M(t[e[a]]);
642
+ Object.defineProperty(n, e[a], {
643
+ get: r,
656
644
  set(s) {
657
645
  o(() => s);
658
646
  }
659
647
  });
660
648
  }
661
- return r;
649
+ return n;
662
650
  }
663
- function ye(t) {
651
+ function we(t) {
664
652
  if (t.assignedSlot && t.assignedSlot._$owner) return t.assignedSlot._$owner;
665
653
  let e = t.parentNode;
666
654
  for (; e && !e._$owner && !(e.assignedSlot && e.assignedSlot._$owner); )
667
655
  e = e.parentNode;
668
656
  return e && e.assignedSlot ? e.assignedSlot._$owner : t._$owner;
669
657
  }
670
- function xe(t) {
671
- return (e, r) => {
672
- const { element: a } = r;
673
- return tt((n) => {
674
- const o = me(e);
658
+ function me(t) {
659
+ return (e, n) => {
660
+ const { element: a } = n;
661
+ return et((r) => {
662
+ const o = ve(e);
675
663
  a.addPropertyChangedCallback((i, c) => o[i] = c), a.addReleaseCallback(() => {
676
- a.renderRoot.textContent = "", n();
664
+ a.renderRoot.textContent = "", r();
677
665
  });
678
- const s = t(o, r);
679
- return p(a.renderRoot, s);
680
- }, ye(a));
666
+ const s = t(o, n);
667
+ return y(a.renderRoot, s);
668
+ }, we(a));
681
669
  };
682
670
  }
683
- function ke(t, e, r) {
684
- return arguments.length === 2 && (r = e, e = {}), we(t, e)(xe(r));
671
+ function ye(t, e, n) {
672
+ return arguments.length === 2 && (n = e, e = {}), be(t, e)(me(n));
685
673
  }
686
- function D(t) {
687
- const [e, r] = j(t.peek(), { equals: !1 }), a = t.subscribe((n) => r(() => n));
674
+ function U(t) {
675
+ const [e, n] = M(t.peek(), { equals: !1 }), a = t.subscribe((r) => n(() => r));
688
676
  return ut(() => a()), e;
689
677
  }
690
- const st = Jt();
691
- function Ce(t) {
692
- const [e, r] = j("no-url"), [a, n] = j(!1), o = D(t.moqWatch.audio.muted), [s, i] = j(0), c = D(t.moqWatch.video.stalled), f = D(t.moqWatch.jitter), [d, l] = j([]), M = D(t.moqWatch.video.source.track), [$, _] = j(!1), [h, E] = j(!!document.fullscreenElement), P = () => {
693
- t.moqWatch.paused.set(!t.moqWatch.paused.get());
694
- }, b = () => {
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 = () => {
681
+ t.moqWatch.paused = !t.moqWatch.paused;
682
+ }, d = () => {
695
683
  document.fullscreenElement ? document.exitFullscreen() : t.moqWatch.requestFullscreen();
696
- }, v = (S) => {
697
- t.moqWatch.audio.volume.set(S / 100);
698
- }, m = () => {
699
- t.moqWatch.audio.muted.update((S) => !S);
700
- }, q = (S) => {
701
- t.moqWatch.jitter.set(S);
702
- }, B = (S) => {
703
- t.moqWatch.video.source.target.update((N) => ({
704
- ...N,
705
- name: S
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) => {
691
+ t.moqWatch.backend.video.source.target.update((q) => ({
692
+ ...q,
693
+ name: b
706
694
  }));
707
- }, y = D(t.moqWatch.video.timestamp), O = D(t.moqWatch.video.buffered), I = D(t.moqWatch.audio.buffered), x = {
695
+ }, I = U(t.moqWatch.backend.video.timestamp), ft = U(t.moqWatch.backend.video.buffered), X = U(t.moqWatch.backend.audio.buffered), dt = {
708
696
  moqWatch: t.moqWatch,
709
697
  watchStatus: e,
710
- togglePlayback: P,
698
+ togglePlayback: g,
711
699
  isPlaying: a,
712
- setVolume: v,
700
+ setVolume: p,
713
701
  isMuted: o,
714
702
  currentVolume: s,
715
- toggleMuted: m,
703
+ toggleMuted: x,
716
704
  buffering: c,
717
- jitter: f,
718
- setJitter: q,
719
- availableRenditions: d,
720
- activeRendition: M,
721
- setActiveRendition: B,
722
- isStatsPanelVisible: $,
723
- setIsStatsPanelVisible: _,
724
- isFullscreen: h,
725
- toggleFullscreen: b,
726
- timestamp: y,
727
- videoBuffered: O,
728
- audioBuffered: I
729
- }, C = t.moqWatch, k = new It.Effect();
730
- k.run((S) => {
731
- const N = S.get(C.connection.url), J = S.get(C.connection.status), Q = S.get(C.broadcast.status);
732
- N ? J === "disconnected" ? r("disconnected") : J === "connecting" ? r("connecting") : Q === "offline" ? r("offline") : Q === "loading" ? r("loading") : Q === "live" ? r("live") : J === "connected" && r("connected") : r("no-url");
733
- }), k.run((S) => {
734
- const N = S.get(C.paused);
735
- n(!N);
736
- }), k.run((S) => {
737
- const N = S.get(C.audio.volume);
738
- i(N * 100);
739
- }), k.run((S) => {
740
- const J = S.get(C.video.source.catalog)?.renditions ?? {}, Q = Object.entries(J).map(([Rt, vt]) => ({
741
- name: Rt,
742
- width: vt.codedWidth,
743
- height: vt.codedHeight
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
744
733
  }));
745
- l(Q);
734
+ l(O);
746
735
  });
747
- const G = () => {
736
+ const Z = () => {
748
737
  E(!!document.fullscreenElement);
749
738
  };
750
- return k.event(document, "fullscreenchange", G), ut(() => k.close()), u(st.Provider, {
751
- value: x,
739
+ return z.event(document, "fullscreenchange", Z), ut(() => z.close()), h(st.Provider, {
740
+ value: dt,
752
741
  get children() {
753
742
  return t.children;
754
743
  }
755
744
  });
756
745
  }
757
- function K() {
758
- const t = qt(st);
746
+ function N() {
747
+ const t = jt(st);
759
748
  if (!t)
760
749
  throw new Error("useWatchUIContext must be used within a WatchUIContextProvider");
761
750
  return t;
762
751
  }
763
- var Se = /* @__PURE__ */ W('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
764
- function $e() {
765
- const t = K();
766
- return u(L, {
752
+ var ke = /* @__PURE__ */ V('<div class="watch-ui__buffering flex--center"><div class=watch-ui__buffering-spinner>');
753
+ function Ce() {
754
+ const t = N();
755
+ return h(Q, {
767
756
  get when() {
768
757
  return t.buffering();
769
758
  },
770
759
  get children() {
771
- return Se();
760
+ return ke();
772
761
  }
773
762
  });
774
763
  }
775
- var Ae = /* @__PURE__ */ W('<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></div><div class="watch-ui__buffer-track watch-ui__buffer-track--audio"><span class=watch-ui__buffer-track-label>Audio</span></div><div class=watch-ui__buffer-target-area><div class=watch-ui__buffer-target-line><span class=watch-ui__buffer-target-label>'), Ct = /* @__PURE__ */ W("<span class=watch-ui__buffer-overflow-label>s"), St = /* @__PURE__ */ W("<div class=watch-ui__buffer-range>");
776
- const $t = 0, At = 100;
777
- function Ee(t) {
778
- const e = K(), r = () => t.max ?? 5e3, [a, n] = j(!1), o = (_, h, E) => {
779
- const P = _.start - h, b = _.end - h, v = Math.max(0, P), m = Math.min(b, r()), q = v / r() * 100, B = Math.max(0.5, (m - v) / r() * 100), y = b > r(), O = y ? Nt.Time.Milli.toSecond(b - v).toFixed(1) : null;
780
- return {
781
- style: `left: ${q}%; width: ${B}%; background: ${E};`,
782
- isOverflow: y,
783
- overflowSec: O
784
- };
785
- }, s = (_, h) => h ? "#f87171" : _ > 0 ? "#facc15" : "#4ade80", i = U(() => e.jitter() / r() * 100);
786
- let c;
787
- const f = 48, d = (_) => {
788
- if (!c) return;
789
- const h = c.getBoundingClientRect(), E = h.width - f, b = Math.max(0, Math.min(_ - h.left - f, E)) / E * r(), v = Math.round(b / At) * At, m = Math.max($t, Math.min(r(), v));
790
- e.setJitter(m);
791
- }, l = (_) => {
792
- n(!0), d(_.clientX), document.addEventListener("mousemove", M), document.addEventListener("mouseup", $);
793
- }, M = (_) => {
794
- a() && d(_.clientX);
795
- }, $ = () => {
796
- n(!1), document.removeEventListener("mousemove", M), document.removeEventListener("mouseup", $);
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) {
767
+ const o = t.getContext("2d");
768
+ if (!o) return;
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
+ 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);
779
+ }
780
+ }
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) => {
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;
801
+ else
802
+ return;
803
+ g.preventDefault();
804
+ const p = Math.max(bt, Math.min(n(), e.jitter() + d));
805
+ e.setJitter(p);
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);
797
811
  };
798
- return ut(() => {
799
- document.removeEventListener("mousemove", M), document.removeEventListener("mouseup", $);
812
+ return Rt(() => {
813
+ m = requestAnimationFrame(E);
814
+ }), ut(() => {
815
+ m !== void 0 && cancelAnimationFrame(m), document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", w);
800
816
  }), (() => {
801
- var _ = Ae(), h = _.firstChild, E = h.firstChild, P = E.nextSibling;
802
- P.firstChild;
803
- var b = P.nextSibling;
804
- b.firstChild;
805
- var v = b.nextSibling, m = v.firstChild, q = m.firstChild;
806
- h.$$mousedown = l;
807
- var B = c;
808
- return typeof B == "function" ? ce(B, h) : c = h, et(h, "aria-valuemin", $t), p(P, u(gt, {
809
- get each() {
810
- return e.videoBuffered();
811
- },
812
- children: (y, O) => {
813
- const I = () => {
814
- const x = e.timestamp();
815
- return x === void 0 ? null : o(y, x, s(O(), e.buffering()));
816
- };
817
- return u(L, {
818
- get when() {
819
- return I();
820
- },
821
- children: (x) => (() => {
822
- var C = St();
823
- return p(C, u(L, {
824
- get when() {
825
- return x().isOverflow;
826
- },
827
- get children() {
828
- var k = Ct(), G = k.firstChild;
829
- return p(k, () => x().overflowSec, G), k;
830
- }
831
- })), T((k) => yt(C, x().style, k)), C;
832
- })()
833
- });
834
- }
835
- }), null), p(b, u(gt, {
836
- get each() {
837
- return e.audioBuffered();
838
- },
839
- children: (y, O) => {
840
- const I = () => {
841
- const x = e.timestamp();
842
- return x === void 0 ? null : o(y, x, s(O(), e.buffering()));
843
- };
844
- return u(L, {
845
- get when() {
846
- return I();
847
- },
848
- children: (x) => (() => {
849
- var C = St();
850
- return p(C, u(L, {
851
- get when() {
852
- return x().isOverflow;
853
- },
854
- get children() {
855
- var k = Ct(), G = k.firstChild;
856
- return p(k, () => x().overflowSec, G), k;
857
- }
858
- })), T((k) => yt(C, x().style, k)), C;
859
- })()
860
- });
861
- }
862
- }), null), p(q, () => `${Math.round(e.jitter())}ms`), T((y) => {
863
- var O = `watch-ui__buffer-visualization ${a() ? "watch-ui__buffer-visualization--dragging" : ""}`, I = e.jitter(), x = r(), C = `${i()}%`;
864
- return O !== y.e && pt(h, y.e = O), I !== y.t && et(h, "aria-valuenow", y.t = I), x !== y.a && et(h, "aria-valuemax", y.a = x), C !== y.o && le(m, "left", y.o = C), y;
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;
865
827
  }, {
866
828
  e: void 0,
867
829
  t: void 0,
868
830
  a: void 0,
869
831
  o: void 0
870
- }), _;
832
+ }), g;
871
833
  })();
872
834
  }
873
- se(["mousedown"]);
874
- function Pe() {
875
- const t = K();
876
- return u(lt, {
835
+ ie(["mousedown", "keydown"]);
836
+ function $e() {
837
+ const t = N();
838
+ return h(lt, {
877
839
  title: "Fullscreen",
878
840
  onClick: () => {
879
841
  t.toggleFullscreen();
880
842
  },
881
843
  get children() {
882
- return u(L, {
844
+ return h(Q, {
883
845
  get when() {
884
846
  return t.isFullscreen();
885
847
  },
886
848
  get fallback() {
887
- return u(V.FullscreenEnter, {});
849
+ return h(j.FullscreenEnter, {});
888
850
  },
889
851
  get children() {
890
- return u(V.FullscreenExit, {});
852
+ return h(j.FullscreenExit, {});
891
853
  }
892
854
  });
893
855
  }
894
856
  });
895
857
  }
896
- function Me() {
897
- const t = K();
898
- return u(lt, {
858
+ function Ee() {
859
+ const t = N();
860
+ return h(lt, {
899
861
  get title() {
900
862
  return t.isPlaying() ? "Pause" : "Play";
901
863
  },
@@ -904,45 +866,51 @@ function Me() {
904
866
  t.togglePlayback();
905
867
  },
906
868
  get children() {
907
- return u(L, {
869
+ return h(Q, {
908
870
  get when() {
909
871
  return t.isPlaying();
910
872
  },
911
873
  get fallback() {
912
- return u(V.Play, {});
874
+ return h(j.Play, {});
913
875
  },
914
876
  get children() {
915
- return u(V.Pause, {});
877
+ return h(j.Pause, {});
916
878
  }
917
879
  });
918
880
  }
919
881
  });
920
882
  }
921
- var qe = /* @__PURE__ */ W("<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__ */ W("<option>");
922
- function Te() {
923
- const t = K(), e = (r) => {
924
- const a = r.currentTarget.value || void 0;
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) {
885
+ return t >= 1e6 ? `${(t / 1e6).toFixed(1)} Mbps` : t >= 1e3 ? `${(t / 1e3).toFixed(0)} kbps` : `${t} bps`;
886
+ }
887
+ function Re() {
888
+ const t = N(), e = (n) => {
889
+ const a = n.currentTarget.value || void 0;
925
890
  t.setActiveRendition(a);
926
891
  };
927
892
  return (() => {
928
- var r = qe(), a = r.firstChild, n = a.nextSibling;
929
- return n.firstChild, n.addEventListener("change", e), p(n, u(gt, {
893
+ var n = Pe(), a = n.firstChild, r = a.nextSibling;
894
+ return r.firstChild, r.addEventListener("change", e), y(r, h(ae, {
930
895
  get each() {
931
896
  return t.availableRenditions() ?? [];
932
897
  },
933
898
  children: (o) => (() => {
934
- var s = je();
935
- return p(s, () => o.name, null), p(s, (() => {
936
- var i = oe(() => !!(o.width && o.height));
899
+ var s = Me();
900
+ return y(s, () => o.name, null), y(s, (() => {
901
+ var i = Ct(() => !!(o.width && o.height));
937
902
  return () => i() ? ` (${o.width}x${o.height})` : "";
903
+ })(), null), y(s, (() => {
904
+ var i = Ct(() => !!o.bitrate);
905
+ return () => i() ? ` ${qe(o.bitrate)}` : "";
938
906
  })(), null), T(() => s.value = o.name), s;
939
907
  })()
940
- }), null), T(() => n.value = t.activeRendition() ?? ""), r;
908
+ }), null), T(() => r.value = t.activeRendition() ?? ""), n;
941
909
  })();
942
910
  }
943
- function We() {
944
- const t = K();
945
- return u(lt, {
911
+ function je() {
912
+ const t = N();
913
+ return h(lt, {
946
914
  get title() {
947
915
  return t.isStatsPanelVisible() ? "Hide stats" : "Show stats";
948
916
  },
@@ -950,35 +918,35 @@ function We() {
950
918
  t.setIsStatsPanelVisible(!t.isStatsPanelVisible());
951
919
  },
952
920
  get children() {
953
- return u(V.Stats, {});
921
+ return h(j.Stats, {});
954
922
  }
955
923
  });
956
924
  }
957
- var Oe = /* @__PURE__ */ W('<div class="watch-ui__volume-slider flex--center"><input type=range min=0 max=100><span class=watch-ui__volume-label>');
958
- const Ve = (t, e) => e || t === 0 ? u(V.Mute, {}) : t > 0 && t <= 33 ? u(V.VolumeLow, {}) : t > 33 && t <= 66 ? u(V.VolumeMedium, {}) : u(V.VolumeHigh, {});
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, {});
959
927
  function Le() {
960
- const [t, e] = j(0), r = K(), a = (n) => {
961
- const o = n.currentTarget, s = parseFloat(o.value);
962
- r.setVolume(s);
928
+ const [t, e] = M(0), n = N(), a = (r) => {
929
+ const o = r.currentTarget, s = parseFloat(o.value);
930
+ n.setVolume(s);
963
931
  };
964
- return Mt(() => {
965
- const n = r.currentVolume() || 0;
966
- e(Math.round(n));
932
+ return qt(() => {
933
+ const r = n.currentVolume() || 0;
934
+ e(Math.round(r));
967
935
  }), (() => {
968
- var n = Oe(), o = n.firstChild, s = o.nextSibling;
969
- return p(n, u(lt, {
936
+ var r = We(), o = r.firstChild, s = o.nextSibling;
937
+ return y(r, h(lt, {
970
938
  get title() {
971
- return r.isMuted() ? "Unmute" : "Mute";
939
+ return n.isMuted() ? "Unmute" : "Mute";
972
940
  },
973
- onClick: () => r.toggleMuted(),
941
+ onClick: () => n.toggleMuted(),
974
942
  get children() {
975
- return Ve(r.currentVolume(), r.isMuted());
943
+ return Te(n.currentVolume(), n.isMuted());
976
944
  }
977
- }), o), o.addEventListener("change", a), p(s, t), T(() => o.value = r.currentVolume()), n;
945
+ }), o), o.addEventListener("change", a), y(s, t), T(() => o.value = n.currentVolume()), r;
978
946
  })();
979
947
  }
980
- var ze = /* @__PURE__ */ W('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
981
- const Re = {
948
+ var Ve = /* @__PURE__ */ V('<div class="watch-ui__status-indicator flex--center"><span></span><span>');
949
+ const Ie = {
982
950
  "no-url": {
983
951
  variant: "error",
984
952
  text: "No URL"
@@ -1007,79 +975,79 @@ const Re = {
1007
975
  variant: "connected",
1008
976
  text: "Connected"
1009
977
  }
1010
- }, Be = {
978
+ }, ze = {
1011
979
  variant: "error",
1012
980
  text: "Unknown"
1013
981
  };
1014
- function Ie() {
1015
- const t = K(), e = () => {
1016
- const r = t.watchStatus();
1017
- return Re[r] || Be;
982
+ function Oe() {
983
+ const t = N(), e = () => {
984
+ const n = t.watchStatus();
985
+ return Ie[n] || ze;
1018
986
  };
1019
987
  return (() => {
1020
- var r = ze(), a = r.firstChild, n = a.nextSibling;
1021
- return p(n, () => e().text), T((o) => {
988
+ var n = Ve(), a = n.firstChild, r = a.nextSibling;
989
+ return y(r, () => e().text), T((o) => {
1022
990
  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}`;
1023
- return s !== o.e && pt(a, o.e = s), i !== o.t && pt(n, o.t = i), o;
991
+ return s !== o.e && wt(a, o.e = s), i !== o.t && wt(r, o.t = i), o;
1024
992
  }, {
1025
993
  e: void 0,
1026
994
  t: void 0
1027
- }), r;
995
+ }), n;
1028
996
  })();
1029
997
  }
1030
- var Ne = /* @__PURE__ */ W('<div class=watch-ui__controls><div class="watch-ui__playback-controls flex--align-center"></div><div class=watch-ui__latency-controls>');
1031
- function Ue() {
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() {
1032
1000
  return (() => {
1033
- var t = Ne(), e = t.firstChild, r = e.nextSibling;
1034
- return p(e, u(Me, {}), null), p(e, u(Le, {}), null), p(e, u(Ie, {}), null), p(e, u(We, {}), null), p(e, u(Pe, {}), null), p(r, u(Ee, {}), null), p(r, u(Te, {}), null), t;
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;
1035
1003
  })();
1036
1004
  }
1037
- const Fe = ':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-range{position:absolute;display:flex;align-items:center;justify-content:flex-end;top:var(--spacing-2);height:calc(100% - var(--spacing-4));border-radius:var(--spacing-2);min-width:var(--spacing-2);opacity:.85;overflow:hidden}.watch-ui__buffer-overflow-label{font-size:.5625rem;font-weight:500;color:var(--color-black-alpha-70);padding-right:var(--spacing-4)}.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}}';
1038
- var Ke = /* @__PURE__ */ W("<style>"), De = /* @__PURE__ */ W("<div class=watch-ui__video-container><slot>");
1039
- function He(t) {
1040
- return u(Ce, {
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, {
1041
1009
  get moqWatch() {
1042
1010
  return t.watch;
1043
1011
  },
1044
1012
  get children() {
1045
1013
  return [(() => {
1046
- var e = Ke();
1047
- return p(e, Fe), e;
1014
+ var e = Ue();
1015
+ return y(e, Ne), e;
1048
1016
  })(), (() => {
1049
- var e = De(), r = e.firstChild;
1050
- return r._$owner = Gt(), p(e, () => {
1051
- const a = qt(st);
1052
- return a ? u(L, {
1017
+ var e = Ke(), n = e.firstChild;
1018
+ return n._$owner = Ht(), y(e, () => {
1019
+ const a = jt(st);
1020
+ return a ? h(Q, {
1053
1021
  get when() {
1054
1022
  return a.isStatsPanelVisible();
1055
1023
  },
1056
1024
  get children() {
1057
- return u(Bt, {
1025
+ return h(Bt, {
1058
1026
  context: st,
1059
- getElement: (n) => n?.moqWatch
1027
+ getElement: (r) => r?.moqWatch.backend
1060
1028
  });
1061
1029
  }
1062
1030
  }) : null;
1063
- }, null), p(e, u($e, {}), null), e;
1064
- })(), u(Ue, {})];
1031
+ }, null), y(e, h(Ce, {}), null), e;
1032
+ })(), h(Fe, {})];
1065
1033
  }
1066
1034
  });
1067
1035
  }
1068
- ke("moq-watch-ui", (t, {
1036
+ ye("moq-watch-ui", (t, {
1069
1037
  element: e
1070
1038
  }) => {
1071
- const [r, a] = j();
1072
- return Ht(async () => {
1039
+ const [n, a] = M();
1040
+ return Rt(async () => {
1073
1041
  await customElements.whenDefined("moq-watch");
1074
- const n = e.querySelector("moq-watch");
1075
- a(n || void 0);
1076
- }), u(L, {
1042
+ const r = e.querySelector("moq-watch");
1043
+ a(r || void 0);
1044
+ }), h(Q, {
1077
1045
  get when() {
1078
- return r();
1046
+ return n();
1079
1047
  },
1080
1048
  keyed: !0,
1081
- children: (n) => u(He, {
1082
- watch: n
1049
+ children: (r) => h(De, {
1050
+ watch: r
1083
1051
  })
1084
1052
  });
1085
1053
  });