@moq/watch 0.2.4 → 0.2.6

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