streamit-player 1.0.2 → 1.0.3

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.
@@ -2582,7 +2582,7 @@ const ys = { attribute: !0, type: String, converter: mt, reflect: !1, hasChanged
2582
2582
  }
2583
2583
  throw Error("Unsupported decorator location: " + i);
2584
2584
  };
2585
- function O(c) {
2585
+ function F(c) {
2586
2586
  return (e, t) => typeof t == "object" ? bs(c, e, t) : ((i, s, r) => {
2587
2587
  const a = s.hasOwnProperty(r);
2588
2588
  return s.constructor.createProperty(r, i), a ? Object.getOwnPropertyDescriptor(s, r) : void 0;
@@ -2594,7 +2594,7 @@ function O(c) {
2594
2594
  * SPDX-License-Identifier: BSD-3-Clause
2595
2595
  */
2596
2596
  function W(c) {
2597
- return O({ ...c, state: !0, attribute: !1 });
2597
+ return F({ ...c, state: !0, attribute: !1 });
2598
2598
  }
2599
2599
  /**
2600
2600
  * @license
@@ -2936,7 +2936,7 @@ async function Hi() {
2936
2936
  async function qi() {
2937
2937
  return _e("org.w3.clearkey");
2938
2938
  }
2939
- async function Xr() {
2939
+ async function Zr() {
2940
2940
  const [c, e, t, i] = await Promise.all([
2941
2941
  zi(),
2942
2942
  _i(),
@@ -3527,11 +3527,11 @@ const ke = class ke {
3527
3527
  return await b.arrayBuffer();
3528
3528
  const S = await b.text();
3529
3529
  try {
3530
- const A = JSON.parse(S);
3531
- if (A.ckc)
3532
- return this.base64ToArrayBuffer(A.ckc);
3533
- if (A.license)
3534
- return this.base64ToArrayBuffer(A.license);
3530
+ const E = JSON.parse(S);
3531
+ if (E.ckc)
3532
+ return this.base64ToArrayBuffer(E.ckc);
3533
+ if (E.license)
3534
+ return this.base64ToArrayBuffer(E.license);
3535
3535
  } catch {
3536
3536
  }
3537
3537
  const T = S.trim();
@@ -3834,42 +3834,42 @@ class Us {
3834
3834
  licenseServers: p,
3835
3835
  emeConfigurations: f,
3836
3836
  licenseXhrSetup: (b, S, T, x) => {
3837
- var $, M;
3838
- let A = null, P = "";
3839
- if (T && T.keySystem && (T.keySystem.includes("widevine") ? (A = d.widevine, P = "widevine") : T.keySystem.includes("playready") ? (A = d.playready, P = "playready") : T.keySystem.includes("clearkey") && (A = d.clearkey, P = "clearkey")), ($ = this.controller) == null || $.dispatchEvent("drmlicenserequest", {
3837
+ var O, M;
3838
+ let E = null, A = "";
3839
+ if (T && T.keySystem && (T.keySystem.includes("widevine") ? (E = d.widevine, A = "widevine") : T.keySystem.includes("playready") ? (E = d.playready, A = "playready") : T.keySystem.includes("clearkey") && (E = d.clearkey, A = "clearkey")), (O = this.controller) == null || O.dispatchEvent("drmlicenserequest", {
3840
3840
  url: S,
3841
3841
  challengeSize: x && x.byteLength || 0,
3842
- system: P || "hls"
3843
- }), (M = this.drmManager) == null || M.noteLicenseRequest(P || "hls", S), A && (A.headers && Object.entries(A.headers).forEach(([I, R]) => {
3844
- b.setRequestHeader(I, R);
3845
- }), A.withCredentials && (b.withCredentials = !0)), A && A.licenseRequestInterceptor) {
3842
+ system: A || "hls"
3843
+ }), (M = this.drmManager) == null || M.noteLicenseRequest(A || "hls", S), E && (E.headers && Object.entries(E.headers).forEach(([I, D]) => {
3844
+ b.setRequestHeader(I, D);
3845
+ }), E.withCredentials && (b.withCredentials = !0)), E && E.licenseRequestInterceptor) {
3846
3846
  const I = x instanceof Uint8Array ? x.buffer : x;
3847
3847
  return Promise.resolve(
3848
- A.licenseRequestInterceptor(I, P)
3849
- ).then((R) => {
3848
+ E.licenseRequestInterceptor(I, A)
3849
+ ).then((D) => {
3850
3850
  let N = x;
3851
- return R instanceof ArrayBuffer ? N = new Uint8Array(R) : R && typeof R == "object" && (R.body instanceof ArrayBuffer ? N = new Uint8Array(R.body) : R.body && (N = R.body), R.headers && Object.entries(R.headers).forEach(([U, C]) => {
3852
- b.setRequestHeader(U, C);
3851
+ return D instanceof ArrayBuffer ? N = new Uint8Array(D) : D && typeof D == "object" && (D.body instanceof ArrayBuffer ? N = new Uint8Array(D.body) : D.body && (N = D.body), D.headers && Object.entries(D.headers).forEach(([P, C]) => {
3852
+ b.setRequestHeader(P, C);
3853
3853
  })), N;
3854
3854
  });
3855
3855
  }
3856
3856
  },
3857
3857
  licenseResponseCallback: (b, S, T) => {
3858
3858
  var M, I;
3859
- let x = null, A = "";
3860
- T && T.keySystem && (T.keySystem.includes("widevine") ? (x = d.widevine, A = "widevine") : T.keySystem.includes("playready") ? (x = d.playready, A = "playready") : T.keySystem.includes("clearkey") && (x = d.clearkey, A = "clearkey"));
3861
- const P = b.response, $ = P && (P.byteLength || P.size) || 0;
3859
+ let x = null, E = "";
3860
+ T && T.keySystem && (T.keySystem.includes("widevine") ? (x = d.widevine, E = "widevine") : T.keySystem.includes("playready") ? (x = d.playready, E = "playready") : T.keySystem.includes("clearkey") && (x = d.clearkey, E = "clearkey"));
3861
+ const A = b.response, O = A && (A.byteLength || A.size) || 0;
3862
3862
  if ((M = this.controller) == null || M.dispatchEvent("drmlicenseresponse", {
3863
3863
  url: S,
3864
- responseSize: $,
3865
- system: A || "hls"
3866
- }), (I = this.drmManager) == null || I.noteLicenseResponse(A || "hls", S), x && x.licenseResponseInterceptor) {
3867
- const R = P instanceof ArrayBuffer ? P : P ? P.buffer : new ArrayBuffer(0);
3864
+ responseSize: O,
3865
+ system: E || "hls"
3866
+ }), (I = this.drmManager) == null || I.noteLicenseResponse(E || "hls", S), x && x.licenseResponseInterceptor) {
3867
+ const D = A instanceof ArrayBuffer ? A : A ? A.buffer : new ArrayBuffer(0);
3868
3868
  return Promise.resolve(
3869
- x.licenseResponseInterceptor(R, A)
3869
+ x.licenseResponseInterceptor(D, E)
3870
3870
  );
3871
3871
  }
3872
- return P;
3872
+ return A;
3873
3873
  }
3874
3874
  };
3875
3875
  })().then((f) => {
@@ -3890,10 +3890,10 @@ class Us {
3890
3890
  if (v) {
3891
3891
  const y = v.live, b = v.partTarget !== void 0 && v.partTarget > 0, S = v.partHoldBack !== void 0 && v.partHoldBack > 0, T = v.fragments && v.fragments.some(
3892
3892
  (I) => I.parts && I.parts.length > 0
3893
- ), x = y && (b || S || T), A = y ? v.totalduration : 0, P = y && (v.type === "EVENT" || A > 30);
3894
- this._isLive = y, this._isLowLatency = x, this._dvrWindow = A, this._hasDvr = P;
3895
- const $ = i.getState(), M = {};
3896
- $.isLive !== y && (M.isLive = y, y && (M.isAtLiveEdge = !0)), $.isLowLatency !== x && (M.isLowLatency = x), Object.keys(M).length > 0 && i.updateStatePublic(M), i.dispatchEvent("live-status-change", { isLive: y, isLowLatency: x }), y ? (i.updateLiveState(), this.startLivePolling()) : this.stopLivePolling();
3893
+ ), x = y && (b || S || T), E = y ? v.totalduration : 0, A = y && (v.type === "EVENT" || E > 30);
3894
+ this._isLive = y, this._isLowLatency = x, this._dvrWindow = E, this._hasDvr = A;
3895
+ const O = i.getState(), M = {};
3896
+ O.isLive !== y && (M.isLive = y, y && (M.isAtLiveEdge = !0)), O.isLowLatency !== x && (M.isLowLatency = x), Object.keys(M).length > 0 && i.updateStatePublic(M), i.dispatchEvent("live-status-change", { isLive: y, isLowLatency: x }), y ? (i.updateLiveState(), this.startLivePolling()) : this.stopLivePolling();
3897
3897
  }
3898
3898
  }), p.on(r.Events.MANIFEST_PARSED, () => {
3899
3899
  i.dispatchEvent("manifestloaded", { system: "hls", levels: p.levels.length }), this.hlsRetryCount = 0, this.mediaRecoveryCount = 0;
@@ -4408,49 +4408,49 @@ class Ns {
4408
4408
  if (this.controller !== i || !this.player) return;
4409
4409
  if (Object.keys(h).length > 0 && this.player.setProtectionData(h), d) {
4410
4410
  const N = (C) => {
4411
- var H, le;
4412
- let E = null, z = "";
4411
+ var _, le;
4412
+ let R = null, H = "";
4413
4413
  const J = C.url || "", B = J.toLowerCase();
4414
- o.widevine && o.widevine.licenseUrl && B.includes(o.widevine.licenseUrl.toLowerCase()) ? (E = o.widevine, z = "widevine") : o.playready && o.playready.licenseUrl && B.includes(o.playready.licenseUrl.toLowerCase()) ? (E = o.playready, z = "playready") : o.clearkey && o.clearkey.licenseUrl && B.includes(o.clearkey.licenseUrl.toLowerCase()) && (E = o.clearkey, z = "clearkey");
4415
- const F = C.data && (C.data.byteLength || C.data.length) || 0;
4416
- if ((H = this.controller) == null || H.dispatchEvent("drmlicenserequest", {
4414
+ o.widevine && o.widevine.licenseUrl && B.includes(o.widevine.licenseUrl.toLowerCase()) ? (R = o.widevine, H = "widevine") : o.playready && o.playready.licenseUrl && B.includes(o.playready.licenseUrl.toLowerCase()) ? (R = o.playready, H = "playready") : o.clearkey && o.clearkey.licenseUrl && B.includes(o.clearkey.licenseUrl.toLowerCase()) && (R = o.clearkey, H = "clearkey");
4415
+ const U = C.data && (C.data.byteLength || C.data.length) || 0;
4416
+ if ((_ = this.controller) == null || _.dispatchEvent("drmlicenserequest", {
4417
4417
  url: J,
4418
- challengeSize: F,
4419
- system: z || "dash"
4420
- }), (le = this.drmManager) == null || le.noteLicenseRequest(z || "dash", J), !E || !E.licenseRequestInterceptor)
4418
+ challengeSize: U,
4419
+ system: H || "dash"
4420
+ }), (le = this.drmManager) == null || le.noteLicenseRequest(H || "dash", J), !R || !R.licenseRequestInterceptor)
4421
4421
  return Promise.resolve();
4422
- const L = C.data, D = L instanceof Uint8Array ? L.buffer : L;
4422
+ const L = C.data, $ = L instanceof Uint8Array ? L.buffer : L;
4423
4423
  return Promise.resolve(
4424
- E.licenseRequestInterceptor(D, z)
4424
+ R.licenseRequestInterceptor($, H)
4425
4425
  ).then((oe) => {
4426
4426
  oe instanceof ArrayBuffer ? C.data = oe : oe && typeof oe == "object" && (oe.body && (C.data = oe.body), oe.headers && (C.headers = {
4427
4427
  ...C.headers,
4428
4428
  ...oe.headers
4429
4429
  }));
4430
4430
  });
4431
- }, U = (C) => {
4432
- var H, le;
4433
- let E = null, z = "";
4431
+ }, P = (C) => {
4432
+ var _, le;
4433
+ let R = null, H = "";
4434
4434
  const J = C.url || "", B = J.toLowerCase();
4435
- o.widevine && o.widevine.licenseUrl && B.includes(o.widevine.licenseUrl.toLowerCase()) ? (E = o.widevine, z = "widevine") : o.playready && o.playready.licenseUrl && B.includes(o.playready.licenseUrl.toLowerCase()) ? (E = o.playready, z = "playready") : o.clearkey && o.clearkey.licenseUrl && B.includes(o.clearkey.licenseUrl.toLowerCase()) && (E = o.clearkey, z = "clearkey");
4436
- const F = C.data && (C.data.byteLength || C.data.length) || 0;
4437
- if ((H = this.controller) == null || H.dispatchEvent("drmlicenseresponse", {
4435
+ o.widevine && o.widevine.licenseUrl && B.includes(o.widevine.licenseUrl.toLowerCase()) ? (R = o.widevine, H = "widevine") : o.playready && o.playready.licenseUrl && B.includes(o.playready.licenseUrl.toLowerCase()) ? (R = o.playready, H = "playready") : o.clearkey && o.clearkey.licenseUrl && B.includes(o.clearkey.licenseUrl.toLowerCase()) && (R = o.clearkey, H = "clearkey");
4436
+ const U = C.data && (C.data.byteLength || C.data.length) || 0;
4437
+ if ((_ = this.controller) == null || _.dispatchEvent("drmlicenseresponse", {
4438
4438
  url: J,
4439
- responseSize: F,
4440
- system: z || "dash"
4441
- }), (le = this.drmManager) == null || le.noteLicenseResponse(z || "dash", J), !E || !E.licenseResponseInterceptor)
4439
+ responseSize: U,
4440
+ system: H || "dash"
4441
+ }), (le = this.drmManager) == null || le.noteLicenseResponse(H || "dash", J), !R || !R.licenseResponseInterceptor)
4442
4442
  return Promise.resolve();
4443
- const L = C.data, D = L instanceof Uint8Array ? L.buffer : L;
4443
+ const L = C.data, $ = L instanceof Uint8Array ? L.buffer : L;
4444
4444
  return Promise.resolve(
4445
- E.licenseResponseInterceptor(D, z)
4445
+ R.licenseResponseInterceptor($, H)
4446
4446
  ).then((oe) => {
4447
4447
  oe instanceof ArrayBuffer && (C.data = oe);
4448
4448
  });
4449
4449
  };
4450
- this.player.registerLicenseRequestFilter(N), this.player.registerLicenseResponseFilter(U);
4450
+ this.player.registerLicenseRequestFilter(N), this.player.registerLicenseResponseFilter(P);
4451
4451
  }
4452
4452
  this.player.initialize(t, e.src, t.autoplay);
4453
- const g = r.MediaPlayer && r.MediaPlayer.events || {}, m = g.STREAM_INITIALIZED || "streamInitialized", v = g.QUALITY_CHANGE_RENDERED || "qualityChangeRendered", y = g.TEXT_TRACK_CHANGED || "textTrackChanged", b = g.ERROR || "error", S = g.TRACK_CHANGE_RENDERED || "trackChangeRendered", T = g.EVENT_MODE_ON_RECEIVE || "eventModeOnReceive", x = g.KEY_SYSTEM_SELECTED || "keySystemSelected", A = g.KEY_SESSION_CREATED || "keySessionCreated", P = g.KEY_SESSION_CLOSED || "keySessionClosed", $ = g.KEY_SESSION_REMOVED || "keySessionRemoved", M = g.KEY_STATUSES_CHANGED || "keyStatusesChanged", I = g.KEY_MESSAGE || "keyMessage", R = g.PROTECTION_ERROR || "protectionError";
4453
+ const g = r.MediaPlayer && r.MediaPlayer.events || {}, m = g.STREAM_INITIALIZED || "streamInitialized", v = g.QUALITY_CHANGE_RENDERED || "qualityChangeRendered", y = g.TEXT_TRACK_CHANGED || "textTrackChanged", b = g.ERROR || "error", S = g.TRACK_CHANGE_RENDERED || "trackChangeRendered", T = g.EVENT_MODE_ON_RECEIVE || "eventModeOnReceive", x = g.KEY_SYSTEM_SELECTED || "keySystemSelected", E = g.KEY_SESSION_CREATED || "keySessionCreated", A = g.KEY_SESSION_CLOSED || "keySessionClosed", O = g.KEY_SESSION_REMOVED || "keySessionRemoved", M = g.KEY_STATUSES_CHANGED || "keyStatusesChanged", I = g.KEY_MESSAGE || "keyMessage", D = g.PROTECTION_ERROR || "protectionError";
4454
4454
  this.eventNames = {
4455
4455
  streamInitialized: m,
4456
4456
  qualityChangeRendered: v,
@@ -4459,29 +4459,29 @@ class Ns {
4459
4459
  trackChangeRendered: S,
4460
4460
  eventModeOnReceive: T,
4461
4461
  keySystemSelected: x,
4462
- keySessionCreated: A,
4463
- keySessionClosed: P,
4464
- keySessionRemoved: $,
4462
+ keySessionCreated: E,
4463
+ keySessionClosed: A,
4464
+ keySessionRemoved: O,
4465
4465
  keyStatusesChanged: M,
4466
4466
  keyMessage: I,
4467
- protectionError: R
4468
- }, a.on(S, this.handleTrackChangeRendered), a.on(m, this.handleStreamInitialized), a.on(v, this.handleQualityChangeRendered), a.on(y, this.handleTextTrackChanged), a.on(b, this.handleError), a.on(x, this.handleKeySystemSelected), a.on(A, this.handleKeySessionCreated), a.on(P, this.handleKeySessionClosed), a.on($, this.handleKeySessionRemoved), a.on(M, this.handleKeyStatusesChanged), a.on(I, this.handleKeyMessage), a.on(R, this.handleProtectionError), a.on(
4467
+ protectionError: D
4468
+ }, a.on(S, this.handleTrackChangeRendered), a.on(m, this.handleStreamInitialized), a.on(v, this.handleQualityChangeRendered), a.on(y, this.handleTextTrackChanged), a.on(b, this.handleError), a.on(x, this.handleKeySystemSelected), a.on(E, this.handleKeySessionCreated), a.on(A, this.handleKeySessionClosed), a.on(O, this.handleKeySessionRemoved), a.on(M, this.handleKeyStatusesChanged), a.on(I, this.handleKeyMessage), a.on(D, this.handleProtectionError), a.on(
4469
4469
  T,
4470
4470
  (N) => {
4471
4471
  if (!i) return;
4472
- const U = N.event;
4473
- U && i.emit("metadata", {
4474
- timestamp: U.presentationTime || 0,
4475
- type: U.schemeIdUri || "emsg",
4472
+ const P = N.event;
4473
+ P && i.emit("metadata", {
4474
+ timestamp: P.presentationTime || 0,
4475
+ type: P.schemeIdUri || "emsg",
4476
4476
  sourceProtocol: "dash",
4477
- rawData: U.messageData || new Uint8Array(),
4477
+ rawData: P.messageData || new Uint8Array(),
4478
4478
  parsedData: {
4479
- schemeIdUri: U.schemeIdUri,
4480
- value: U.value,
4481
- timescale: U.timescale,
4482
- presentationTime: U.presentationTime,
4483
- duration: U.duration,
4484
- id: U.id
4479
+ schemeIdUri: P.schemeIdUri,
4480
+ value: P.value,
4481
+ timescale: P.timescale,
4482
+ presentationTime: P.presentationTime,
4483
+ duration: P.duration,
4484
+ id: P.id
4485
4485
  }
4486
4486
  });
4487
4487
  }
@@ -6067,109 +6067,109 @@ class ki {
6067
6067
  }
6068
6068
  if (T) {
6069
6069
  const M = ee(T, "Ad"), I = [];
6070
- for (let R = 0; R < M.length; R++) {
6071
- const N = (h = M[R].textContent) == null ? void 0 : h.trim();
6070
+ for (let D = 0; D < M.length; D++) {
6071
+ const N = (h = M[D].textContent) == null ? void 0 : h.trim();
6072
6072
  N && (N.startsWith("http://") || N.startsWith("https://")) && I.push(N);
6073
6073
  }
6074
6074
  if (I.length > 0) {
6075
- const R = [];
6075
+ const D = [];
6076
6076
  for (let N = 0; N < I.length; N++)
6077
6077
  try {
6078
- const U = await this.fetchVastXml(I[N], d, (u = this.context.config) == null ? void 0 : u.request), C = It(U);
6078
+ const P = await this.fetchVastXml(I[N], d, (u = this.context.config) == null ? void 0 : u.request), C = It(P);
6079
6079
  if (C) {
6080
- const E = G(C, "Inline"), z = G(C, "Wrapper");
6081
- if (E) {
6080
+ const R = G(C, "Inline"), H = G(C, "Wrapper");
6081
+ if (R) {
6082
6082
  const J = ee(C, "Ad");
6083
6083
  for (let B = 0; B < J.length; B++) {
6084
- const F = this.normalizeAdNode(J[B], R.length + 1, I.length);
6085
- F && R.push(F);
6084
+ const U = this.normalizeAdNode(J[B], D.length + 1, I.length);
6085
+ U && D.push(U);
6086
6086
  }
6087
- } else if (z) {
6087
+ } else if (H) {
6088
6088
  const J = G(C, "VASTAdTagURI");
6089
6089
  if (J && J.textContent) {
6090
- const B = await this.fetchVastXml(J.textContent.trim(), d, (f = this.context.config) == null ? void 0 : f.request), F = It(B);
6091
- if (F) {
6092
- const L = ee(F, "Ad");
6093
- for (let D = 0; D < L.length; D++) {
6094
- const H = this.normalizeAdNode(L[D], R.length + 1, I.length);
6095
- H && R.push(H);
6090
+ const B = await this.fetchVastXml(J.textContent.trim(), d, (f = this.context.config) == null ? void 0 : f.request), U = It(B);
6091
+ if (U) {
6092
+ const L = ee(U, "Ad");
6093
+ for (let $ = 0; $ < L.length; $++) {
6094
+ const _ = this.normalizeAdNode(L[$], D.length + 1, I.length);
6095
+ _ && D.push(_);
6096
6096
  }
6097
6097
  }
6098
6098
  }
6099
6099
  }
6100
6100
  }
6101
- } catch (U) {
6102
- console.warn(`[VastProvider] Failed to fetch playlist ad #${N + 1}:`, U);
6101
+ } catch (P) {
6102
+ console.warn(`[VastProvider] Failed to fetch playlist ad #${N + 1}:`, P);
6103
6103
  }
6104
- if (R.length > 0) {
6105
- R.sort(
6106
- (C, E) => (C.sequence ?? Number.MAX_SAFE_INTEGER) - (E.sequence ?? Number.MAX_SAFE_INTEGER)
6104
+ if (D.length > 0) {
6105
+ D.sort(
6106
+ (C, R) => (C.sequence ?? Number.MAX_SAFE_INTEGER) - (R.sequence ?? Number.MAX_SAFE_INTEGER)
6107
6107
  );
6108
- const N = R[0];
6108
+ const N = D[0];
6109
6109
  this.currentAd = N, this.currentAdIndex = 0;
6110
- const U = {
6110
+ const P = {
6111
6111
  id: `vast-break-${Date.now()}`,
6112
6112
  timeOffset: 0,
6113
6113
  type: "preroll",
6114
- ads: R,
6115
- duration: R.reduce((C, E) => C + (E.duration || 0), 0)
6114
+ ads: D,
6115
+ duration: D.reduce((C, R) => C + (R.duration || 0), 0)
6116
6116
  };
6117
- return this.currentAdBreak = U, this.manager.getAdBreakManager().registerBreak(U), this.manager.setCurrentAd(N), this.manager.transitionTo(w.LOADED), { success: !0 };
6117
+ return this.currentAdBreak = P, this.manager.getAdBreakManager().registerBreak(P), this.manager.setCurrentAd(N), this.manager.transitionTo(w.LOADED), { success: !0 };
6118
6118
  }
6119
6119
  }
6120
6120
  }
6121
- const x = ge(), A = this.validateVastStructure(b);
6122
- if (this.diagnostics.validationDurationMs += ge() - x, A && !T)
6123
- throw new Error(`VAST Validation Failure: ${A}`);
6121
+ const x = ge(), E = this.validateVastStructure(b);
6122
+ if (this.diagnostics.validationDurationMs += ge() - x, E && !T)
6123
+ throw new Error(`VAST Validation Failure: ${E}`);
6124
6124
  if (G(b, "Inline")) {
6125
6125
  const M = ge(), I = ee(b, "Ad");
6126
6126
  this.diagnostics.podCount = I.length;
6127
- const R = [];
6128
- for (let E = 0; E < I.length; E++) {
6129
- const z = I[E], J = this.normalizeAdNode(z, E + 1, I.length) || this.normalizeNonLinearAdNode(z, E + 1, I.length) || this.normalizeCompanionOnlyAdNode(z, E + 1, I.length);
6130
- J && R.push(J);
6127
+ const D = [];
6128
+ for (let R = 0; R < I.length; R++) {
6129
+ const H = I[R], J = this.normalizeAdNode(H, R + 1, I.length) || this.normalizeNonLinearAdNode(H, R + 1, I.length) || this.normalizeCompanionOnlyAdNode(H, R + 1, I.length);
6130
+ J && D.push(J);
6131
6131
  }
6132
- if (R.length === 0)
6132
+ if (D.length === 0)
6133
6133
  throw new Error("No compatible ad or creative found in inline VAST.");
6134
- let N = R;
6135
- (n.length || l.length || o.length) && (N = N.map((E) => ({
6136
- ...E,
6137
- impressionUrls: [...E.impressionUrls || [], ...n],
6138
- errorUrls: [...E.errorUrls || [], ...l],
6139
- trackingUrls: [...E.trackingUrls || [], ...o]
6134
+ let N = D;
6135
+ (n.length || l.length || o.length) && (N = N.map((R) => ({
6136
+ ...R,
6137
+ impressionUrls: [...R.impressionUrls || [], ...n],
6138
+ errorUrls: [...R.errorUrls || [], ...l],
6139
+ trackingUrls: [...R.trackingUrls || [], ...o]
6140
6140
  }))), N = [...N].sort(
6141
- (E, z) => (E.sequence ?? Number.MAX_SAFE_INTEGER) - (z.sequence ?? Number.MAX_SAFE_INTEGER)
6141
+ (R, H) => (R.sequence ?? Number.MAX_SAFE_INTEGER) - (H.sequence ?? Number.MAX_SAFE_INTEGER)
6142
6142
  ), this.diagnostics.parseDurationMs += ge() - M;
6143
- const U = N[0];
6144
- this.currentAd = U, this.currentAdIndex = 0;
6143
+ const P = N[0];
6144
+ this.currentAd = P, this.currentAdIndex = 0;
6145
6145
  const C = {
6146
6146
  id: `vast-break-${Date.now()}`,
6147
6147
  timeOffset: 0,
6148
6148
  type: "preroll",
6149
6149
  ads: N,
6150
- duration: N.reduce((E, z) => E + (z.duration || 0), 0)
6150
+ duration: N.reduce((R, H) => R + (H.duration || 0), 0)
6151
6151
  };
6152
- return this.currentAdBreak = C, this.manager.getAdBreakManager().registerBreak(C), this.manager.setCurrentAd(U), this.manager.transitionTo(w.LOADED), { success: !0 };
6152
+ return this.currentAdBreak = C, this.manager.getAdBreakManager().registerBreak(C), this.manager.setCurrentAd(P), this.manager.transitionTo(w.LOADED), { success: !0 };
6153
6153
  }
6154
- const $ = G(b, "Wrapper");
6155
- if ($) {
6154
+ const O = G(b, "Wrapper");
6155
+ if (O) {
6156
6156
  const M = G(b, "VASTAdTagURI");
6157
6157
  if (!M || !M.textContent)
6158
6158
  throw new Error("VAST wrapper is missing VASTAdTagURI node.");
6159
- const I = ee($, "Impression");
6160
- for (let U = 0; U < I.length; U++) {
6161
- const C = (p = I[U].textContent) == null ? void 0 : p.trim();
6159
+ const I = ee(O, "Impression");
6160
+ for (let P = 0; P < I.length; P++) {
6161
+ const C = (p = I[P].textContent) == null ? void 0 : p.trim();
6162
6162
  C && n.push(C);
6163
6163
  }
6164
- const R = ee($, "Error");
6165
- for (let U = 0; U < R.length; U++) {
6166
- const C = (g = R[U].textContent) == null ? void 0 : g.trim();
6164
+ const D = ee(O, "Error");
6165
+ for (let P = 0; P < D.length; P++) {
6166
+ const C = (g = D[P].textContent) == null ? void 0 : g.trim();
6167
6167
  C && l.push(C);
6168
6168
  }
6169
- const N = ee($, "Tracking");
6170
- for (let U = 0; U < N.length; U++) {
6171
- const C = N[U], E = C.getAttribute("event") || "", z = (m = C.textContent) == null ? void 0 : m.trim();
6172
- z && E && o.push({ url: z, event: E });
6169
+ const N = ee(O, "Tracking");
6170
+ for (let P = 0; P < N.length; P++) {
6171
+ const C = N[P], R = C.getAttribute("event") || "", H = (m = C.textContent) == null ? void 0 : m.trim();
6172
+ H && R && o.push({ url: H, event: R });
6173
6173
  }
6174
6174
  r = M.textContent.trim(), a++;
6175
6175
  continue;
@@ -6233,54 +6233,54 @@ class ki {
6233
6233
  const Y = S[q], ue = Y.getAttribute("event") || "", ve = (lt = Y.textContent) == null ? void 0 : lt.trim();
6234
6234
  ve && ue && T.push({ url: ve, event: ue });
6235
6235
  }
6236
- const x = G(u, "ClickThrough"), A = (re = x == null ? void 0 : x.textContent) == null ? void 0 : re.trim(), P = ee(s, "Impression"), $ = [];
6237
- for (let q = 0; q < P.length; q++) {
6238
- const Y = (Tt = P[q].textContent) == null ? void 0 : Tt.trim();
6239
- Y && $.push(Y);
6236
+ const x = G(u, "ClickThrough"), E = (re = x == null ? void 0 : x.textContent) == null ? void 0 : re.trim(), A = ee(s, "Impression"), O = [];
6237
+ for (let q = 0; q < A.length; q++) {
6238
+ const Y = (Tt = A[q].textContent) == null ? void 0 : Tt.trim();
6239
+ Y && O.push(Y);
6240
6240
  }
6241
6241
  const M = ee(u, "ClickTracking"), I = [];
6242
6242
  for (let q = 0; q < M.length; q++) {
6243
6243
  const Y = (xt = M[q].textContent) == null ? void 0 : xt.trim();
6244
6244
  Y && I.push(Y);
6245
6245
  }
6246
- const R = ee(e, "Error");
6247
- if (R.length === 0) {
6246
+ const D = ee(e, "Error");
6247
+ if (D.length === 0) {
6248
6248
  const q = ee(e.ownerDocument, "Error");
6249
6249
  for (let Y = 0; Y < q.length; Y++)
6250
- ((ct = q[Y].textContent) == null ? void 0 : ct.trim()) && R.push(q[Y]);
6250
+ ((ct = q[Y].textContent) == null ? void 0 : ct.trim()) && D.push(q[Y]);
6251
6251
  }
6252
6252
  const N = [];
6253
- for (let q = 0; q < R.length; q++) {
6254
- const Y = (We = R[q].textContent) == null ? void 0 : We.trim();
6253
+ for (let q = 0; q < D.length; q++) {
6254
+ const Y = (We = D[q].textContent) == null ? void 0 : We.trim();
6255
6255
  Y && N.push(Y);
6256
6256
  }
6257
- let U = null;
6257
+ let P = null;
6258
6258
  const C = G(s, "UniversalAdId");
6259
- C && (U = {
6259
+ C && (P = {
6260
6260
  idRegistry: C.getAttribute("idRegistry") || "unknown",
6261
6261
  value: ((be = C.textContent) == null ? void 0 : be.trim()) || ""
6262
6262
  });
6263
- const E = [], z = ee(s, "Extension");
6264
- for (let q = 0; q < Math.min(z.length, this.limits.maxExtensions); q++)
6265
- E.push(Ws(z[q]));
6263
+ const R = [], H = ee(s, "Extension");
6264
+ for (let q = 0; q < Math.min(H.length, this.limits.maxExtensions); q++)
6265
+ R.push(Ws(H[q]));
6266
6266
  const J = [], B = ee(s, "Verification");
6267
6267
  for (let q = 0; q < B.length; q++) {
6268
6268
  const Y = B[q], ue = Y.getAttribute("vendor") || "", ve = ((V = (Fe = G(Y, "JavaScriptResource")) == null ? void 0 : Fe.textContent) == null ? void 0 : V.trim()) || "";
6269
6269
  ve && J.push({ vendor: ue, script: ve });
6270
6270
  }
6271
- let F = ((ce = (ie = G(u, "InteractiveCreativeFile")) == null ? void 0 : ie.textContent) == null ? void 0 : ce.trim()) || null;
6272
- if (F || (F = ((je = (Ee = G(s, "InteractiveCreativeFile")) == null ? void 0 : Ee.textContent) == null ? void 0 : je.trim()) || null), !F)
6271
+ let U = ((ce = (ie = G(u, "InteractiveCreativeFile")) == null ? void 0 : ie.textContent) == null ? void 0 : ce.trim()) || null;
6272
+ if (U || (U = ((je = (Ee = G(s, "InteractiveCreativeFile")) == null ? void 0 : Ee.textContent) == null ? void 0 : je.trim()) || null), !U)
6273
6273
  for (let q = 0; q < p.length; q++) {
6274
6274
  const Y = p[q], ue = ((Zt = Y.getAttribute("apiFramework")) == null ? void 0 : Zt.toUpperCase()) || "", ve = ((Jt = Y.getAttribute("type")) == null ? void 0 : Jt.toLowerCase()) || "";
6275
6275
  if (ue === "SIMID" || ve === "text/html") {
6276
6276
  const Ue = (ei = Y.textContent) == null ? void 0 : ei.trim();
6277
6277
  if (Ue && (Ue.startsWith("http://") || Ue.startsWith("https://"))) {
6278
- F = Ue;
6278
+ U = Ue;
6279
6279
  break;
6280
6280
  }
6281
6281
  }
6282
6282
  }
6283
- const L = G(u, "Mezzanine"), D = ((ti = L == null ? void 0 : L.textContent) == null ? void 0 : ti.trim()) || null, H = e.getAttribute("sequence"), le = H ? parseInt(H, 10) : void 0, oe = e.getAttribute("id") || `vast-${Date.now()}`, Te = ee(s, "Companion"), xe = [];
6283
+ const L = G(u, "Mezzanine"), $ = ((ti = L == null ? void 0 : L.textContent) == null ? void 0 : ti.trim()) || null, _ = e.getAttribute("sequence"), le = _ ? parseInt(_, 10) : void 0, oe = e.getAttribute("id") || `vast-${Date.now()}`, Te = ee(s, "Companion"), xe = [];
6284
6284
  for (let q = 0; q < Te.length; q++) {
6285
6285
  const Y = this.normalizeCompanionNode(Te[q], e, q + 1, Te.length);
6286
6286
  Y && xe.push(Y);
@@ -6295,20 +6295,20 @@ class ki {
6295
6295
  linear: !0,
6296
6296
  skippable: y,
6297
6297
  skipOffset: b,
6298
- clickThroughUrl: A,
6298
+ clickThroughUrl: E,
6299
6299
  trackingUrls: T,
6300
- impressionUrls: $,
6300
+ impressionUrls: O,
6301
6301
  clickTrackingUrls: I,
6302
6302
  errorUrls: N,
6303
6303
  contentType: m.contentType,
6304
6304
  mediaUrl: m.url,
6305
6305
  creativeId: f,
6306
6306
  adSystem: l,
6307
- universalAdId: U,
6308
- extensions: E,
6307
+ universalAdId: P,
6308
+ extensions: R,
6309
6309
  adVerifications: J,
6310
- interactiveCreativeFile: F,
6311
- mezzanine: D,
6310
+ interactiveCreativeFile: U,
6311
+ mezzanine: $,
6312
6312
  sequence: le,
6313
6313
  podPosition: t,
6314
6314
  podSize: i,
@@ -6317,15 +6317,15 @@ class ki {
6317
6317
  };
6318
6318
  }
6319
6319
  normalizeNonLinearAdNode(e, t, i) {
6320
- var $, M, I, R, N, U;
6320
+ var O, M, I, D, N, P;
6321
6321
  const s = G(e, "Inline");
6322
6322
  if (!s) return null;
6323
- const r = G(s, "AdTitle"), a = (($ = r == null ? void 0 : r.textContent) == null ? void 0 : $.trim()) || "VAST Ad", n = G(s, "AdSystem"), l = ((M = n == null ? void 0 : n.textContent) == null ? void 0 : M.trim()) || "Unknown", o = ee(s, "Creative");
6323
+ const r = G(s, "AdTitle"), a = ((O = r == null ? void 0 : r.textContent) == null ? void 0 : O.trim()) || "VAST Ad", n = G(s, "AdSystem"), l = ((M = n == null ? void 0 : n.textContent) == null ? void 0 : M.trim()) || "Unknown", o = ee(s, "Creative");
6324
6324
  let d = null, h = "";
6325
6325
  for (let C = 0; C < o.length; C++) {
6326
- const E = o[C], z = G(E, "NonLinear");
6327
- if (z) {
6328
- d = z, h = E.getAttribute("id") || "";
6326
+ const R = o[C], H = G(R, "NonLinear");
6327
+ if (H) {
6328
+ d = H, h = R.getAttribute("id") || "";
6329
6329
  break;
6330
6330
  }
6331
6331
  }
@@ -6338,18 +6338,18 @@ class ki {
6338
6338
  ), null;
6339
6339
  const f = parseInt(d.getAttribute("width") || "0", 10) || void 0, p = parseInt(d.getAttribute("height") || "0", 10) || void 0, g = ht(d.getAttribute("minSuggestedDuration")), m = G(d, "NonLinearClickThrough"), v = (I = m == null ? void 0 : m.textContent) == null ? void 0 : I.trim(), y = ee(d, "Tracking"), b = [];
6340
6340
  for (let C = 0; C < y.length; C++) {
6341
- const E = y[C], z = E.getAttribute("event") || "", J = (R = E.textContent) == null ? void 0 : R.trim();
6342
- J && z && b.push({ url: J, event: z });
6341
+ const R = y[C], H = R.getAttribute("event") || "", J = (D = R.textContent) == null ? void 0 : D.trim();
6342
+ J && H && b.push({ url: J, event: H });
6343
6343
  }
6344
6344
  const S = ee(s, "Impression"), T = [];
6345
6345
  for (let C = 0; C < S.length; C++) {
6346
- const E = (N = S[C].textContent) == null ? void 0 : N.trim();
6347
- E && T.push(E);
6346
+ const R = (N = S[C].textContent) == null ? void 0 : N.trim();
6347
+ R && T.push(R);
6348
6348
  }
6349
- const x = ee(e, "Error"), A = [];
6349
+ const x = ee(e, "Error"), E = [];
6350
6350
  for (let C = 0; C < x.length; C++) {
6351
- const E = (U = x[C].textContent) == null ? void 0 : U.trim();
6352
- E && A.push(E);
6351
+ const R = (P = x[C].textContent) == null ? void 0 : P.trim();
6352
+ R && E.push(R);
6353
6353
  }
6354
6354
  return {
6355
6355
  id: e.getAttribute("id") || `vast-nonlinear-${Date.now()}`,
@@ -6362,7 +6362,7 @@ class ki {
6362
6362
  clickThroughUrl: v,
6363
6363
  trackingUrls: b,
6364
6364
  impressionUrls: T,
6365
- errorUrls: A,
6365
+ errorUrls: E,
6366
6366
  creativeId: h,
6367
6367
  adSystem: l,
6368
6368
  podPosition: t,
@@ -6411,19 +6411,19 @@ class ki {
6411
6411
  if (r.length === 0) return null;
6412
6412
  const a = [];
6413
6413
  for (let x = 0; x < r.length; x++) {
6414
- const A = this.normalizeCompanionNode(r[x], e, x + 1, r.length);
6415
- A && a.push(A);
6414
+ const E = this.normalizeCompanionNode(r[x], e, x + 1, r.length);
6415
+ E && a.push(E);
6416
6416
  }
6417
6417
  if (a.length === 0) return null;
6418
6418
  const n = G(s, "AdTitle"), l = ((y = n == null ? void 0 : n.textContent) == null ? void 0 : y.trim()) || "VAST Ad", o = G(s, "AdSystem"), d = ((b = o == null ? void 0 : o.textContent) == null ? void 0 : b.trim()) || "Unknown", h = ee(s, "Impression"), u = [];
6419
6419
  for (let x = 0; x < h.length; x++) {
6420
- const A = (S = h[x].textContent) == null ? void 0 : S.trim();
6421
- A && u.push(A);
6420
+ const E = (S = h[x].textContent) == null ? void 0 : S.trim();
6421
+ E && u.push(E);
6422
6422
  }
6423
6423
  const f = ee(e, "Error"), p = [];
6424
6424
  for (let x = 0; x < f.length; x++) {
6425
- const A = (T = f[x].textContent) == null ? void 0 : T.trim();
6426
- A && p.push(A);
6425
+ const E = (T = f[x].textContent) == null ? void 0 : T.trim();
6426
+ E && p.push(E);
6427
6427
  }
6428
6428
  const g = e.getAttribute("sequence"), m = g ? parseInt(g, 10) : void 0;
6429
6429
  return {
@@ -6462,8 +6462,8 @@ class ki {
6462
6462
  r++;
6463
6463
  const p = parseInt(u.getAttribute("width") || "0", 10) || void 0, g = parseInt(u.getAttribute("height") || "0", 10) || void 0, m = ht(u.getAttribute("minSuggestedDuration")), v = G(u, "NonLinearClickThrough"), y = (a = v == null ? void 0 : v.textContent) == null ? void 0 : a.trim(), b = ee(u, "Tracking"), S = [];
6464
6464
  for (let x = 0; x < b.length; x++) {
6465
- const A = b[x], P = A.getAttribute("event") || "", $ = (n = A.textContent) == null ? void 0 : n.trim();
6466
- $ && P && S.push({ url: $, event: P });
6465
+ const E = b[x], A = E.getAttribute("event") || "", O = (n = E.textContent) == null ? void 0 : n.trim();
6466
+ O && A && S.push({ url: O, event: A });
6467
6467
  }
6468
6468
  const T = u.getAttribute("id") || `${t.getAttribute("id") || "vast"}-nonlinear-${r}`;
6469
6469
  s.push({
@@ -11775,7 +11775,7 @@ class Sr {
11775
11775
  }
11776
11776
  }
11777
11777
  }
11778
- class Yr {
11778
+ class Jr {
11779
11779
  /**
11780
11780
  * Performs an automated validation of the player's DRM state.
11781
11781
  */
@@ -12231,10 +12231,10 @@ const Kt = class Kt extends fe {
12231
12231
  Kt.styles = wr;
12232
12232
  let qe = Kt;
12233
12233
  Gi([
12234
- O({ type: Boolean, reflect: !0 })
12234
+ F({ type: Boolean, reflect: !0 })
12235
12235
  ], qe.prototype, "playing");
12236
12236
  Gi([
12237
- O({ attribute: !1 })
12237
+ F({ attribute: !1 })
12238
12238
  ], qe.prototype, "player");
12239
12239
  if (typeof window < "u" && typeof customElements < "u" && (customElements.get("streamit-play-button") || customElements.define("streamit-play-button", qe), !customElements.get("player-play-button"))) {
12240
12240
  class c extends qe {
@@ -12321,13 +12321,13 @@ const Wt = class Wt extends fe {
12321
12321
  Wt.styles = Mr;
12322
12322
  let Re = Wt;
12323
12323
  Ht([
12324
- O({ type: String })
12324
+ F({ type: String })
12325
12325
  ], Re.prototype, "direction");
12326
12326
  Ht([
12327
- O({ type: Number })
12327
+ F({ type: Number })
12328
12328
  ], Re.prototype, "amount");
12329
12329
  Ht([
12330
- O({ attribute: !1 })
12330
+ F({ attribute: !1 })
12331
12331
  ], Re.prototype, "player");
12332
12332
  if (typeof window < "u" && typeof customElements < "u" && (customElements.get("streamit-seek-button") || customElements.define("streamit-seek-button", Re), !customElements.get("player-seek-button"))) {
12333
12333
  class c extends Re {
@@ -12963,41 +12963,41 @@ const jt = class jt extends fe {
12963
12963
  }, 60));
12964
12964
  }
12965
12965
  computeTooltipPosition(e) {
12966
- var A;
12966
+ var E;
12967
12967
  const { hostRect: t, trackRect: i } = this.getInteractiveRects();
12968
12968
  if (!i || !t) return;
12969
12969
  const s = (e - i.left) / i.width, r = Math.max(0, Math.min(s, 1)), { isInteractive: a } = this.getTimelineRange();
12970
12970
  if (!a)
12971
12971
  return;
12972
- const n = i.left - t.left + r * i.width, l = (A = this.renderRoot) == null ? void 0 : A.querySelector(".hover-tooltip");
12972
+ const n = i.left - t.left + r * i.width, l = (E = this.renderRoot) == null ? void 0 : E.querySelector(".hover-tooltip");
12973
12973
  let o = 0;
12974
12974
  if (l)
12975
12975
  if (l.offsetWidth > 0)
12976
12976
  o = l.offsetWidth;
12977
12977
  else {
12978
- const P = l.getBoundingClientRect();
12979
- P.width > 0 && (o = P.width);
12978
+ const A = l.getBoundingClientRect();
12979
+ A.width > 0 && (o = A.width);
12980
12980
  }
12981
12981
  const d = !!this.activeThumbnail || this.isThumbnailLoading;
12982
12982
  if (o === 0) {
12983
- const P = d ? this.variant === "vertical" ? 94 : 204 : 50;
12984
- o = window.innerWidth <= 480 ? P * 0.85 : P;
12983
+ const A = d ? this.variant === "vertical" ? 94 : 204 : 50;
12984
+ o = window.innerWidth <= 480 ? A * 0.85 : A;
12985
12985
  }
12986
12986
  const h = o / 2;
12987
12987
  let u = this.player || null;
12988
12988
  if (!u) {
12989
- const P = this.getRootNode();
12990
- P instanceof ShadowRoot && P.host && (u = P.host);
12989
+ const A = this.getRootNode();
12990
+ A instanceof ShadowRoot && A.host && (u = A.host);
12991
12991
  }
12992
12992
  u || (u = this.parentElement || this.offsetParent);
12993
12993
  let f = 0, p = t.width;
12994
12994
  if (u) {
12995
- const P = u.getBoundingClientRect();
12996
- P.width > 0 && (f = Math.min(0, P.left - t.left), p = Math.max(t.width, P.right - t.left));
12995
+ const A = u.getBoundingClientRect();
12996
+ A.width > 0 && (f = Math.min(0, A.left - t.left), p = Math.max(t.width, A.right - t.left));
12997
12997
  }
12998
12998
  if (typeof window < "u") {
12999
- const P = -t.left, $ = window.innerWidth - t.left;
13000
- f = Math.max(f, P), p = Math.min(p, $);
12999
+ const A = -t.left, O = window.innerWidth - t.left;
13000
+ f = Math.max(f, A), p = Math.min(p, O);
13001
13001
  }
13002
13002
  const g = 3, m = f + h + g, v = p - h - g;
13003
13003
  this.tooltipLeft = Math.max(
@@ -13041,8 +13041,8 @@ const jt = class jt extends fe {
13041
13041
  let o = pe.percentToTime(s * 100, r, a);
13042
13042
  this.hoverTime = o, this.isDragging && (this.dragTime = o), this.computeTooltipPosition(e), this.computeActiveMarker(o);
13043
13043
  const d = s <= 5e-3 || s >= 0.995, h = (T) => {
13044
- var x, A, P, $, M, I;
13045
- return ((A = (x = this.player) == null ? void 0 : x.controllerInstance) == null ? void 0 : A.isPreciseSeekEnabled()) === !1 ? !1 : T.type === "chapter" ? (($ = (P = this.player) == null ? void 0 : P.controllerInstance) == null ? void 0 : $.shouldSnapToChapters()) !== !1 : ((I = (M = this.player) == null ? void 0 : M.controllerInstance) == null ? void 0 : I.shouldSnapToMarkers()) !== !1;
13044
+ var x, E, A, O, M, I;
13045
+ return ((E = (x = this.player) == null ? void 0 : x.controllerInstance) == null ? void 0 : E.isPreciseSeekEnabled()) === !1 ? !1 : T.type === "chapter" ? ((O = (A = this.player) == null ? void 0 : A.controllerInstance) == null ? void 0 : O.shouldSnapToChapters()) !== !1 : ((I = (M = this.player) == null ? void 0 : M.controllerInstance) == null ? void 0 : I.shouldSnapToMarkers()) !== !1;
13046
13046
  };
13047
13047
  !d && this.activeMarker && h(this.activeMarker) && (o = this.activeMarker.time, this.hoverTime = o);
13048
13048
  const u = ((y = (v = this.player) == null ? void 0 : v.controllerInstance) == null ? void 0 : y.isSmartSeekEnabled()) === !1, f = (S = (b = this.player) == null ? void 0 : b.config) == null ? void 0 : S.smartSeek, p = u || f && typeof f == "object" && f.thumbnails === !1, g = u || f && typeof f == "object" && f.storyboard === !1, m = p || g || this.thumbnailProvider && typeof this.thumbnailProvider.isUnavailable == "function" && this.thumbnailProvider.isUnavailable();
@@ -13050,38 +13050,38 @@ const jt = class jt extends fe {
13050
13050
  if (this.thumbnailProvider && !m) {
13051
13051
  if (this.isPreciseSeeking) {
13052
13052
  const x = Math.round(o);
13053
- let A = this.activeFilmstripThumbnail || null;
13054
- if (!A && typeof this.thumbnailProvider.getNearestCachedThumbnail == "function") {
13055
- const P = this.thumbnailProvider.getNearestCachedThumbnail(x);
13056
- P && P.time !== void 0 && Math.abs(P.time - x) <= 5 && (A = P);
13053
+ let E = this.activeFilmstripThumbnail || null;
13054
+ if (!E && typeof this.thumbnailProvider.getNearestCachedThumbnail == "function") {
13055
+ const A = this.thumbnailProvider.getNearestCachedThumbnail(x);
13056
+ A && A.time !== void 0 && Math.abs(A.time - x) <= 5 && (E = A);
13057
13057
  }
13058
- A ? (this.activeThumbnail = A, this.lastSuccessfulThumbnail = A, this.isThumbnailLoading = !1) : (this.activeThumbnail = null, this.isThumbnailLoading = !0);
13058
+ E ? (this.activeThumbnail = E, this.lastSuccessfulThumbnail = E, this.isThumbnailLoading = !1) : (this.activeThumbnail = null, this.isThumbnailLoading = !0);
13059
13059
  return;
13060
13060
  }
13061
13061
  const T = ++this.latestThumbnailRequestId;
13062
13062
  try {
13063
13063
  const x = this.thumbnailProvider.getThumbnail(o);
13064
13064
  if (x instanceof Promise) {
13065
- let A = null;
13065
+ let E = null;
13066
13066
  if (typeof this.thumbnailProvider.getNearestCachedThumbnail == "function") {
13067
- const $ = this.thumbnailProvider.getNearestCachedThumbnail(o);
13068
- if ($ && $.time !== void 0) {
13069
- const M = Math.abs($.time - o), I = Math.max(15, n * 0.05);
13070
- M <= I && (A = $);
13067
+ const O = this.thumbnailProvider.getNearestCachedThumbnail(o);
13068
+ if (O && O.time !== void 0) {
13069
+ const M = Math.abs(O.time - o), I = Math.max(15, n * 0.05);
13070
+ M <= I && (E = O);
13071
13071
  }
13072
13072
  }
13073
- if (A)
13074
- this.activeThumbnail = A;
13073
+ if (E)
13074
+ this.activeThumbnail = E;
13075
13075
  else if (this.activeThumbnail && this.activeThumbnail.time !== void 0) {
13076
- const $ = Math.abs(this.activeThumbnail.time - o), M = Math.max(15, n * 0.05);
13077
- $ > M && (this.activeThumbnail = null);
13076
+ const O = Math.abs(this.activeThumbnail.time - o), M = Math.max(15, n * 0.05);
13077
+ O > M && (this.activeThumbnail = null);
13078
13078
  } else if (this.activeThumbnail = this.lastSuccessfulThumbnail || null, this.activeThumbnail && this.activeThumbnail.time !== void 0) {
13079
- const $ = Math.abs(this.activeThumbnail.time - o), M = Math.max(15, n * 0.05);
13080
- $ > M && (this.activeThumbnail = null);
13079
+ const O = Math.abs(this.activeThumbnail.time - o), M = Math.max(15, n * 0.05);
13080
+ O > M && (this.activeThumbnail = null);
13081
13081
  }
13082
13082
  this.isThumbnailLoading = !0;
13083
- const P = await x.catch(($) => (console.debug("[Seekbar] Exception caught during thumbnail fetch (async):", $), null));
13084
- T === this.latestThumbnailRequestId && (this.isHovered || this.isDragging) && (P ? (this.activeThumbnail = P, this.lastSuccessfulThumbnail = P) : this.activeThumbnail = this.lastSuccessfulThumbnail || null, this.isThumbnailLoading = !1);
13083
+ const A = await x.catch((O) => (console.debug("[Seekbar] Exception caught during thumbnail fetch (async):", O), null));
13084
+ T === this.latestThumbnailRequestId && (this.isHovered || this.isDragging) && (A ? (this.activeThumbnail = A, this.lastSuccessfulThumbnail = A) : this.activeThumbnail = this.lastSuccessfulThumbnail || null, this.isThumbnailLoading = !1);
13085
13085
  } else
13086
13086
  T === this.latestThumbnailRequestId && (this.activeThumbnail = x, x && (this.lastSuccessfulThumbnail = x), this.isThumbnailLoading = !1);
13087
13087
  } catch (x) {
@@ -13132,11 +13132,11 @@ const jt = class jt extends fe {
13132
13132
  ));
13133
13133
  }
13134
13134
  render() {
13135
- var $, M, I, R, N, U, C, E, z, J, B, F;
13136
- const { start: e, end: t, range: i, isInteractive: s } = this.getTimelineRange(), r = this.player ? this.player.localize("live", "LIVE") : "LIVE", a = this.player ? this.player.localize("preciseSeeking", "Precise seeking") : "Precise seeking", n = this.player ? this.player.localize("pullUpForPreciseSeeking", "Pull up for precise seeking") : "Pull up for precise seeking", l = ((M = ($ = this.player) == null ? void 0 : $.controllerInstance) == null ? void 0 : M.isMarkersEnabled()) !== !1, o = (R = (I = this.player) == null ? void 0 : I.config) == null ? void 0 : R.smartSeek, d = ((U = (N = this.player) == null ? void 0 : N.controllerInstance) == null ? void 0 : U.isSmartSeekEnabled()) !== !1 && (o === void 0 || typeof o != "object" || o.hoverTime !== !1), h = l && !(this.isLive && !this.canSeekInDvr) && this.markers ? this.markers.filter((L) => {
13137
- const D = !this.visibleMarkerTypes || this.visibleMarkerTypes.includes(L.type), H = L.time >= e && L.time <= t;
13138
- return D && H;
13139
- }) : [], u = ((E = (C = this.player) == null ? void 0 : C.controllerInstance) == null ? void 0 : E.isSmoothDraggingEnabled()) !== !1, f = u ? "transition: width 0.05s ease-out;" : "", p = u ? "transition: left 0.05s ease-out;" : "", g = this.isDragging ? this.dragTime : this.currentTime, m = this.isLive && (!this.canSeekInDvr || this.isAtLiveEdge) ? 100 : this.paused && this.frozenPercent !== null && !this.isDragging ? this.frozenPercent : i > 0 ? pe.timeToPercent(g, e, t) : 0, v = this.getBufferedPercent(), y = s && (this.isDragging || this.isHovered || this.isSeeking), b = this.isLive ? i >= 3600 : t >= 3600;
13135
+ var O, M, I, D, N, P, C, R, H, J, B, U;
13136
+ const { start: e, end: t, range: i, isInteractive: s } = this.getTimelineRange(), r = this.player ? this.player.localize("live", "LIVE") : "LIVE", a = this.player ? this.player.localize("preciseSeeking", "Precise seeking") : "Precise seeking", n = this.player ? this.player.localize("pullUpForPreciseSeeking", "Pull up for precise seeking") : "Pull up for precise seeking", l = ((M = (O = this.player) == null ? void 0 : O.controllerInstance) == null ? void 0 : M.isMarkersEnabled()) !== !1, o = (D = (I = this.player) == null ? void 0 : I.config) == null ? void 0 : D.smartSeek, d = ((P = (N = this.player) == null ? void 0 : N.controllerInstance) == null ? void 0 : P.isSmartSeekEnabled()) !== !1 && (o === void 0 || typeof o != "object" || o.hoverTime !== !1), h = l && !(this.isLive && !this.canSeekInDvr) && this.markers ? this.markers.filter((L) => {
13137
+ const $ = !this.visibleMarkerTypes || this.visibleMarkerTypes.includes(L.type), _ = L.time >= e && L.time <= t;
13138
+ return $ && _;
13139
+ }) : [], u = ((R = (C = this.player) == null ? void 0 : C.controllerInstance) == null ? void 0 : R.isSmoothDraggingEnabled()) !== !1, f = u ? "transition: width 0.05s ease-out;" : "", p = u ? "transition: left 0.05s ease-out;" : "", g = this.isDragging ? this.dragTime : this.currentTime, m = this.isLive && (!this.canSeekInDvr || this.isAtLiveEdge) ? 100 : this.paused && this.frozenPercent !== null && !this.isDragging ? this.frozenPercent : i > 0 ? pe.timeToPercent(g, e, t) : 0, v = this.getBufferedPercent(), y = s && (this.isDragging || this.isHovered || this.isSeeking), b = this.isLive ? i >= 3600 : t >= 3600;
13140
13140
  let S = "";
13141
13141
  const T = this.isDragging ? this.dragTime : this.isHovered ? this.hoverTime : this.currentTime;
13142
13142
  if (this.hideCurrentTime && this.hideDuration)
@@ -13154,14 +13154,14 @@ const jt = class jt extends fe {
13154
13154
  if (this.activeThumbnail)
13155
13155
  if (this.variant === "vertical")
13156
13156
  if (this.activeThumbnail.x !== void 0) {
13157
- const L = this.activeThumbnail.width || 200, D = this.activeThumbnail.height || 112, H = Math.min(90 / L, 160 / D);
13157
+ const L = this.activeThumbnail.width || 200, $ = this.activeThumbnail.height || 112, _ = Math.min(90 / L, 160 / $);
13158
13158
  x = `
13159
13159
  background-image: url('${this.activeThumbnail.url}');
13160
13160
  background-position: -${this.activeThumbnail.x || 0}px -${this.activeThumbnail.y || 0}px;
13161
13161
  width: ${L}px;
13162
- height: ${D}px;
13162
+ height: ${$}px;
13163
13163
  background-size: auto;
13164
- transform: translate(-50%, -50%) scale(${H});
13164
+ transform: translate(-50%, -50%) scale(${_});
13165
13165
  position: absolute;
13166
13166
  left: 50%;
13167
13167
  top: 50%;
@@ -13183,7 +13183,7 @@ const jt = class jt extends fe {
13183
13183
  height: ${this.activeThumbnail.y !== void 0 ? `${this.activeThumbnail.height || 112}px` : "100%"};
13184
13184
  background-size: ${this.activeThumbnail.x !== void 0 ? "auto" : "cover"};
13185
13185
  `;
13186
- const A = ((J = (z = this.player) == null ? void 0 : z.config) == null ? void 0 : J.controls) || {}, P = s && (this.isHovered || this.isDragging) && i > 0 && A.timelinePreview !== !1 && A.hoverTooltip !== !1 && A.tooltip !== !1 && ((F = (B = this.player) == null ? void 0 : B.controllerInstance) == null ? void 0 : F.isSmartSeekEnabled()) !== !1;
13186
+ const E = ((J = (H = this.player) == null ? void 0 : H.config) == null ? void 0 : J.controls) || {}, A = s && (this.isHovered || this.isDragging) && i > 0 && E.timelinePreview !== !1 && E.hoverTooltip !== !1 && E.tooltip !== !1 && ((U = (B = this.player) == null ? void 0 : B.controllerInstance) == null ? void 0 : U.isSmartSeekEnabled()) !== !1;
13187
13187
  return k`
13188
13188
  <div
13189
13189
  part="seekbar-container"
@@ -13195,7 +13195,7 @@ const jt = class jt extends fe {
13195
13195
  >
13196
13196
  <div
13197
13197
  part="hover-tooltip"
13198
- class="hover-tooltip ${P ? "visible" : ""} ${this.activeThumbnail || this.isThumbnailLoading ? "has-thumbnail" : ""}"
13198
+ class="hover-tooltip ${A ? "visible" : ""} ${this.activeThumbnail || this.isThumbnailLoading ? "has-thumbnail" : ""}"
13199
13199
  style="left: ${this.tooltipLeft}px; --caret-left: calc(50% + ${this.caretOffset}px);"
13200
13200
  >
13201
13201
  ${this.isDragging && this.variant !== "vertical" && !this.isLive && this.thumbnailProvider && !(typeof this.thumbnailProvider.isUnavailable == "function" && this.thumbnailProvider.isUnavailable()) ? k`<div class="precise-seek-label">
@@ -13235,12 +13235,12 @@ const jt = class jt extends fe {
13235
13235
  <div part="buffer-bar" class="buffer-bar" style="width: ${v}%"></div>
13236
13236
  <div part="progress-bar" class="progress-bar" style="width: ${m}%; ${f}"></div>
13237
13237
  ${h.map((L) => {
13238
- const D = pe.timeToPercent(L.time, e, t), H = L.color ? `background-color: ${L.color};` : "";
13238
+ const $ = pe.timeToPercent(L.time, e, t), _ = L.color ? `background-color: ${L.color};` : "";
13239
13239
  return k`
13240
13240
  <div
13241
13241
  part="marker marker-${L.type || "default"}"
13242
13242
  class="marker ${L.type || ""}"
13243
- style="left: ${D}%; ${H}"
13243
+ style="left: ${$}%; ${_}"
13244
13244
  @click=${(le) => this.handleMarkerClick(le, L)}
13245
13245
  @pointerdown=${(le) => le.stopPropagation()}
13246
13246
  >
@@ -13279,64 +13279,64 @@ const jt = class jt extends fe {
13279
13279
  jt.styles = Lr;
13280
13280
  let X = jt;
13281
13281
  Z([
13282
- O({ type: Number })
13282
+ F({ type: Number })
13283
13283
  ], X.prototype, "currentTime");
13284
13284
  Z([
13285
- O({ type: Number })
13285
+ F({ type: Number })
13286
13286
  ], X.prototype, "duration");
13287
13287
  Z([
13288
- O({ type: Array })
13288
+ F({ type: Array })
13289
13289
  ], X.prototype, "bufferedRanges");
13290
13290
  Z([
13291
- O({ type: Boolean })
13291
+ F({ type: Boolean })
13292
13292
  ], X.prototype, "isSeeking");
13293
13293
  Z([
13294
- O({ type: Boolean })
13294
+ F({ type: Boolean })
13295
13295
  ], X.prototype, "isLive");
13296
13296
  Z([
13297
- O({ type: Object })
13297
+ F({ type: Object })
13298
13298
  ], X.prototype, "seekableRange");
13299
13299
  Z([
13300
- O({ attribute: !1 })
13300
+ F({ attribute: !1 })
13301
13301
  ], X.prototype, "thumbnailProvider");
13302
13302
  Z([
13303
- O({ attribute: !1 })
13303
+ F({ attribute: !1 })
13304
13304
  ], X.prototype, "player");
13305
13305
  Z([
13306
- O({ type: String })
13306
+ F({ type: String })
13307
13307
  ], X.prototype, "currentSource");
13308
13308
  Z([
13309
- O({ type: String, reflect: !0 })
13309
+ F({ type: String, reflect: !0 })
13310
13310
  ], X.prototype, "variant");
13311
13311
  Z([
13312
- O({ type: Array })
13312
+ F({ type: Array })
13313
13313
  ], X.prototype, "markers");
13314
13314
  Z([
13315
- O({ type: Array })
13315
+ F({ type: Array })
13316
13316
  ], X.prototype, "visibleMarkerTypes");
13317
13317
  Z([
13318
- O({ type: Array })
13318
+ F({ type: Array })
13319
13319
  ], X.prototype, "chapters");
13320
13320
  Z([
13321
- O({ type: Boolean })
13321
+ F({ type: Boolean })
13322
13322
  ], X.prototype, "canSeekInDvr");
13323
13323
  Z([
13324
- O({ type: Boolean })
13324
+ F({ type: Boolean })
13325
13325
  ], X.prototype, "isAtLiveEdge");
13326
13326
  Z([
13327
- O({ type: Boolean })
13327
+ F({ type: Boolean })
13328
13328
  ], X.prototype, "paused");
13329
13329
  Z([
13330
- O({ type: Boolean })
13330
+ F({ type: Boolean })
13331
13331
  ], X.prototype, "hideCurrentTime");
13332
13332
  Z([
13333
- O({ type: Boolean })
13333
+ F({ type: Boolean })
13334
13334
  ], X.prototype, "hideDuration");
13335
13335
  Z([
13336
- O({ type: Boolean })
13336
+ F({ type: Boolean })
13337
13337
  ], X.prototype, "isAdPlaying");
13338
13338
  Z([
13339
- O({ type: Object })
13339
+ F({ type: Object })
13340
13340
  ], X.prototype, "activeFilmstripThumbnail");
13341
13341
  Z([
13342
13342
  W()
@@ -13645,13 +13645,13 @@ const Gt = class Gt extends fe {
13645
13645
  Gt.styles = Dr;
13646
13646
  let De = Gt;
13647
13647
  qt([
13648
- O({ type: Number })
13648
+ F({ type: Number })
13649
13649
  ], De.prototype, "volume");
13650
13650
  qt([
13651
- O({ type: Boolean })
13651
+ F({ type: Boolean })
13652
13652
  ], De.prototype, "muted");
13653
13653
  qt([
13654
- O({ attribute: !1 })
13654
+ F({ attribute: !1 })
13655
13655
  ], De.prototype, "player");
13656
13656
  if (typeof window < "u" && typeof customElements < "u" && (customElements.get("streamit-volume-control") || customElements.define("streamit-volume-control", De), !customElements.get("player-volume-control"))) {
13657
13657
  class c extends De {
@@ -13943,13 +13943,13 @@ const Qt = class Qt extends fe {
13943
13943
  Qt.styles = Or;
13944
13944
  let ye = Qt;
13945
13945
  nt([
13946
- O({ type: Array })
13946
+ F({ type: Array })
13947
13947
  ], ye.prototype, "chapters");
13948
13948
  nt([
13949
- O({ type: Number })
13949
+ F({ type: Number })
13950
13950
  ], ye.prototype, "activeChapterIndex");
13951
13951
  nt([
13952
- O({ attribute: !1 })
13952
+ F({ attribute: !1 })
13953
13953
  ], ye.prototype, "player");
13954
13954
  nt([
13955
13955
  W()
@@ -14501,15 +14501,15 @@ const Xt = class Xt extends fe {
14501
14501
  }
14502
14502
  }
14503
14503
  render() {
14504
- var u, f, p, g, m, v, y, b, S, T, x, A, P, $, M, I, R, N, U, C, E, z, J, B, F, L, D;
14505
- const { currentTime: e, duration: t, isPlaying: i, bufferedRanges: s } = this.playerState, r = ((p = (f = (u = this.player) == null ? void 0 : u.config) == null ? void 0 : f.vertical) == null ? void 0 : p.railPosition) || "right", l = (((y = (v = (m = (g = this.player) == null ? void 0 : g.config) == null ? void 0 : m.controls) == null ? void 0 : v.groups) == null ? void 0 : y.rail) || ((x = (T = (S = (b = this.player) == null ? void 0 : b.config) == null ? void 0 : S.controls) == null ? void 0 : T.groups) == null ? void 0 : x.actionRail) || (($ = (P = (A = this.player) == null ? void 0 : A.config) == null ? void 0 : P.vertical) == null ? void 0 : $.railButtons) || [
14504
+ var u, f, p, g, m, v, y, b, S, T, x, E, A, O, M, I, D, N, P, C, R, H, J, B, U, L, $;
14505
+ const { currentTime: e, duration: t, isPlaying: i, bufferedRanges: s } = this.playerState, r = ((p = (f = (u = this.player) == null ? void 0 : u.config) == null ? void 0 : f.vertical) == null ? void 0 : p.railPosition) || "right", l = (((y = (v = (m = (g = this.player) == null ? void 0 : g.config) == null ? void 0 : m.controls) == null ? void 0 : v.groups) == null ? void 0 : y.rail) || ((x = (T = (S = (b = this.player) == null ? void 0 : b.config) == null ? void 0 : S.controls) == null ? void 0 : T.groups) == null ? void 0 : x.actionRail) || ((O = (A = (E = this.player) == null ? void 0 : E.config) == null ? void 0 : A.vertical) == null ? void 0 : O.railButtons) || [
14506
14506
  "prev-btn",
14507
14507
  "next-btn",
14508
14508
  "volume-btn",
14509
14509
  "caption-btn",
14510
14510
  "fullscreen-btn",
14511
14511
  "settings-btn"
14512
- ]).map((H) => H === "play-button" || H === "play" ? "play-btn" : H === "playlist-prev" || H === "playlist-previous" ? "prev-btn" : H === "playlist-next" ? "next-btn" : H === "volume-control" || H === "volume" ? "volume-btn" : H === "caption-btn" || H === "captions" || H === "subtitles" ? "caption-btn" : H === "fullscreen-btn" || H === "fullscreen" ? "fullscreen-btn" : H === "settings-btn" || H === "settings" ? "settings-btn" : H), o = ((R = (I = (M = this.player) == null ? void 0 : M.config) == null ? void 0 : I.vertical) == null ? void 0 : R.showProgressBar) !== !1 && ((C = (U = (N = this.player) == null ? void 0 : N.config) == null ? void 0 : U.controls) == null ? void 0 : C.timeline) !== !1 && ((J = (z = (E = this.player) == null ? void 0 : E.config) == null ? void 0 : z.controls) == null ? void 0 : J.seekbar) !== !1, d = ((L = (F = (B = this.player) == null ? void 0 : B.config) == null ? void 0 : F.controls) == null ? void 0 : L.actionRail) !== !1, h = this.controlsVisible && !((D = this.playerState) != null && D.isAdPlaying);
14512
+ ]).map((_) => _ === "play-button" || _ === "play" ? "play-btn" : _ === "playlist-prev" || _ === "playlist-previous" ? "prev-btn" : _ === "playlist-next" ? "next-btn" : _ === "volume-control" || _ === "volume" ? "volume-btn" : _ === "caption-btn" || _ === "captions" || _ === "subtitles" ? "caption-btn" : _ === "fullscreen-btn" || _ === "fullscreen" ? "fullscreen-btn" : _ === "settings-btn" || _ === "settings" ? "settings-btn" : _), o = ((D = (I = (M = this.player) == null ? void 0 : M.config) == null ? void 0 : I.vertical) == null ? void 0 : D.showProgressBar) !== !1 && ((C = (P = (N = this.player) == null ? void 0 : N.config) == null ? void 0 : P.controls) == null ? void 0 : C.timeline) !== !1 && ((J = (H = (R = this.player) == null ? void 0 : R.config) == null ? void 0 : H.controls) == null ? void 0 : J.seekbar) !== !1, d = ((L = (U = (B = this.player) == null ? void 0 : B.config) == null ? void 0 : U.controls) == null ? void 0 : L.actionRail) !== !1, h = this.controlsVisible && !(($ = this.playerState) != null && $.isAdPlaying);
14513
14513
  return k`
14514
14514
  <div
14515
14515
  part="vertical-controls-container"
@@ -14523,7 +14523,7 @@ const Xt = class Xt extends fe {
14523
14523
  <!-- Top Section Slot -->
14524
14524
  <slot name="top-actions"></slot>
14525
14525
 
14526
- ${l.map((H) => this.renderRailButton(H))}
14526
+ ${l.map((_) => this.renderRailButton(_))}
14527
14527
 
14528
14528
  <!-- Social Actions Slot -->
14529
14529
  <slot name="social-actions"></slot>
@@ -14568,31 +14568,31 @@ const Xt = class Xt extends fe {
14568
14568
  Xt.styles = Ur;
14569
14569
  let he = Xt;
14570
14570
  me([
14571
- O({ type: Object })
14571
+ F({ type: Object })
14572
14572
  ], he.prototype, "playerState");
14573
14573
  me([
14574
- O({ type: Boolean })
14574
+ F({ type: Boolean })
14575
14575
  ], he.prototype, "controlsVisible");
14576
14576
  me([
14577
- O({ type: Boolean })
14577
+ F({ type: Boolean })
14578
14578
  ], he.prototype, "settingsMenuOpen");
14579
14579
  me([
14580
- O({ type: String })
14580
+ F({ type: String })
14581
14581
  ], he.prototype, "activeMenuScreen");
14582
14582
  me([
14583
- O({ type: Number })
14583
+ F({ type: Number })
14584
14584
  ], he.prototype, "pendingSeekTime");
14585
14585
  me([
14586
- O({ type: Boolean })
14586
+ F({ type: Boolean })
14587
14587
  ], he.prototype, "showNavigation");
14588
14588
  me([
14589
- O({ attribute: !1 })
14589
+ F({ attribute: !1 })
14590
14590
  ], he.prototype, "player");
14591
14591
  me([
14592
- O({ type: Boolean })
14592
+ F({ type: Boolean })
14593
14593
  ], he.prototype, "hideCurrentTime");
14594
14594
  me([
14595
- O({ type: Boolean })
14595
+ F({ type: Boolean })
14596
14596
  ], he.prototype, "hideDuration");
14597
14597
  me([
14598
14598
  W()
@@ -15698,7 +15698,36 @@ const Pi = [
15698
15698
  { value: "depressed", label: "Depressed" },
15699
15699
  { value: "uniform", label: "Uniform" },
15700
15700
  { value: "drop-shadow", label: "Drop Shadow" }
15701
- ], Kr = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3, 4], Wr = [0.5, 1, 2], Yt = class Yt extends fe {
15701
+ ], Kr = [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3, 4], Wr = [0.5, 1, 2];
15702
+ function jr(c) {
15703
+ const e = /* @__PURE__ */ new Map();
15704
+ for (const t of c)
15705
+ if (t.includes("-"))
15706
+ for (const i of [t.replace(/-/g, ""), t.replace(/-/g, "_")])
15707
+ i !== t && !c.includes(i) && e.set(i, t);
15708
+ return e;
15709
+ }
15710
+ function Gr(c) {
15711
+ if (c === null) return;
15712
+ const e = c.trim();
15713
+ if (e !== "") {
15714
+ if (e.startsWith("[object ")) {
15715
+ console.warn(
15716
+ `[streamit-player] The "config" attribute received a stringified object ("${e}") and has been ignored. Pass config as a DOM property (element.config = {...}, or .config=\${...} / :config="..." in a framework template) rather than as an attribute.`
15717
+ );
15718
+ return;
15719
+ }
15720
+ try {
15721
+ return JSON.parse(e);
15722
+ } catch {
15723
+ console.warn(
15724
+ '[streamit-player] The "config" attribute is not valid JSON and has been ignored. Pass config as a DOM property instead.'
15725
+ );
15726
+ return;
15727
+ }
15728
+ }
15729
+ }
15730
+ const Yt = class Yt extends fe {
15702
15731
  constructor() {
15703
15732
  super(...arguments), this.src = "", this.captions = "", this.autoplay = !1, this.muted = !1, this.volume = 1, this.displayMode = "standard", this.nearEndThreshold = 1, this.autoScroll = !1, this.liveMode = "live-dvr", this.preload = "metadata", this.loop = !1, this.playsinline = !0, this.poster = "", this.isFeedTransitioning = !1, this.iconRegistry = new Pr(), this.customControls = /* @__PURE__ */ new Map(), this.customOverlays = /* @__PURE__ */ new Map(), this.isVisualTransitioning = !1, this.transitionDirection = "next", this.transitionStage = "idle", this.shouldAutoplayAfterTransition = !1, this.suppressPlayPauseFeedback = !1, this.contextMenuOpen = !1, this.contextMenuX = 0, this.contextMenuY = 0, this.isContextMenuDisabled = !1, this.customContextMenuItems = [], this.customSettingsItems = [], this.customSettingsScreens = /* @__PURE__ */ new Map(), this.playerState = {
15704
15733
  status: "idle",
@@ -15892,6 +15921,19 @@ const Pi = [
15892
15921
  const i = ((r = this.config) == null ? void 0 : r.locale) || {};
15893
15922
  return (((n = (a = this.config) == null ? void 0 : a.settings) == null ? void 0 : n.labels) || {})[e] || i[e] || t;
15894
15923
  }
15924
+ static get observedAttributes() {
15925
+ const e = super.observedAttributes;
15926
+ return Object.prototype.hasOwnProperty.call(this, "attributeAliases") || (this.attributeAliases = jr(e)), [...e, ...this.attributeAliases.keys()];
15927
+ }
15928
+ attributeChangedCallback(e, t, i) {
15929
+ var r;
15930
+ const s = (r = this.constructor.attributeAliases) == null ? void 0 : r.get(e);
15931
+ if (s) {
15932
+ i === null ? this.removeAttribute(s) : this.getAttribute(s) !== i && this.setAttribute(s, i);
15933
+ return;
15934
+ }
15935
+ super.attributeChangedCallback(e, t, i);
15936
+ }
15895
15937
  get controllerInstance() {
15896
15938
  return this.controller;
15897
15939
  }
@@ -16110,7 +16152,25 @@ const Pi = [
16110
16152
  this.controller && this.controller.seekToChapter(e);
16111
16153
  }
16112
16154
  willUpdate(e) {
16113
- e.has("liveMode") && this.controller && this.controller.setLiveMode(this.liveMode);
16155
+ e.has("liveMode") && this.controller && this.controller.setLiveMode(this.liveMode), this.adoptDisplayModeFromConfig(e);
16156
+ }
16157
+ /**
16158
+ * `displayMode` is the single source of truth for the layout: the host
16159
+ * stylesheet keys off the attribute it reflects and render() picks the
16160
+ * control set from it. `config.displayMode` and `config.layout.mode` are
16161
+ * equivalent ways to ask for a mode, so they are folded into the property
16162
+ * here - before the first render - rather than being read separately further
16163
+ * down, which is how a 9:16 host could end up wearing the standard control
16164
+ * bar.
16165
+ *
16166
+ * Only a config that changes the mode it asks for wins, so an unrelated
16167
+ * config update never clobbers a display-mode set on the element itself.
16168
+ */
16169
+ adoptDisplayModeFromConfig(e) {
16170
+ var i, s, r;
16171
+ if (!e.has("config")) return;
16172
+ const t = ((i = this.config) == null ? void 0 : i.displayMode) || ((r = (s = this.config) == null ? void 0 : s.layout) == null ? void 0 : r.mode);
16173
+ !t || t === this.configRequestedMode || (this.configRequestedMode = t, this.displayMode !== t && (this.displayMode = t));
16114
16174
  }
16115
16175
  firstUpdated() {
16116
16176
  var r, a, n, l, o, d, h, u, f;
@@ -16160,20 +16220,20 @@ const Pi = [
16160
16220
  for (const p of this.pendingListeners)
16161
16221
  p.action === "on" ? this.controller.on(p.event, p.callback) : p.action === "off" && this.controller.off(p.event, p.callback);
16162
16222
  if (this.pendingListeners = [], this.unsubscribe = this.controller.onStateChange((p) => {
16163
- var A;
16223
+ var E;
16164
16224
  if (this.isVisualTransitioning && this.gestures.checkTransitionCompletion(), this.videoElement && (p.isPlaying || p.status === "playing" || this.videoElement.readyState >= 2) && this.videoElement.removeAttribute("poster"), this.playerState && this.playerState.currentSource !== p.currentSource && (this.isFeedTransitioning = !0, p.currentSource)) {
16165
- const P = this.thumbnailCache.getProvider(p.currentSource);
16166
- if (P && P !== this.thumbnailCache.getMainProvider()) {
16167
- if (this.thumbnailCache.setMainProvider(P), this.controller) {
16168
- const $ = this.controller;
16169
- $.thumbnailProvider = P, $.state.thumbnailProvider = P;
16225
+ const A = this.thumbnailCache.getProvider(p.currentSource);
16226
+ if (A && A !== this.thumbnailCache.getMainProvider()) {
16227
+ if (this.thumbnailCache.setMainProvider(A), this.controller) {
16228
+ const O = this.controller;
16229
+ O.thumbnailProvider = A, O.state.thumbnailProvider = A;
16170
16230
  }
16171
- p.thumbnailProvider = P;
16231
+ p.thumbnailProvider = A;
16172
16232
  }
16173
16233
  }
16174
16234
  if (this.playerState && this.playerState.isAdPlaying !== p.isAdPlaying && (p.isAdPlaying ? (this.cleanupControlsTimer(), this.controlsVisible = !1, this.classList.add("controls-hidden")) : (this.controlsVisible = !0, this.classList.remove("controls-hidden"))), this.playerState && this.playerState.isPlaying !== p.isPlaying && p.status !== "idle" && p.status !== "error" && !(p.status === "ended" && this.displayMode === "vertical")) {
16175
- const P = this.displayMode === "vertical" && ((A = this.videoElement) == null ? void 0 : A.ended);
16176
- !this.isFeedTransitioning && !this.suppressPlayPauseFeedback && !P && this.triggerPlayPauseFeedback(p.isPlaying ? "play" : "pause");
16235
+ const A = this.displayMode === "vertical" && ((E = this.videoElement) == null ? void 0 : E.ended);
16236
+ !this.isFeedTransitioning && !this.suppressPlayPauseFeedback && !A && this.triggerPlayPauseFeedback(p.isPlaying ? "play" : "pause");
16177
16237
  }
16178
16238
  this.isFeedTransitioning && (p.status === "playing" || p.status === "paused" || p.status === "error" || p.status === "ended") && (this.isFeedTransitioning = !1), (p.isPlaying || p.status === "playing") && (this.suppressPlayPauseFeedback = !1, this.shouldAutoplayAfterTransition = !1), this.playerState && (this.playerState.volume !== p.volume || this.playerState.isMuted !== p.isMuted) && p.status !== "idle" && p.status !== "error" && this.triggerVolumeFeedback(p.volume, p.isMuted), this.playerState && this.playerState.playbackRate !== p.playbackRate && p.status !== "idle" && p.status !== "error" && this.triggerSpeedFeedback(p.playbackRate), this.shouldShowQualityFeedback && this.playerState && this.playerState.activeQuality !== p.activeQuality && p.activeQuality && p.status !== "idle" && p.status !== "loading" && p.status !== "error" && (this.triggerQualityFeedback(p.activeQuality), this.shouldShowQualityFeedback = !1);
16179
16239
  const m = this.playerState;
@@ -16205,7 +16265,7 @@ const Pi = [
16205
16265
  "liveLatency",
16206
16266
  "dvrWindow",
16207
16267
  "canSeekInDvr"
16208
- ].some((P) => m[P] !== p[P]), x = (m ? Math.abs(m.currentTime - p.currentTime) : 0) >= 0.2 || p.isSeeking || m && m.isSeeking !== p.isSeeking;
16268
+ ].some((A) => m[A] !== p[A]), x = (m ? Math.abs(m.currentTime - p.currentTime) : 0) >= 0.2 || p.isSeeking || m && m.isSeeking !== p.isSeeking;
16209
16269
  (S || x) && this.dispatchEvent(
16210
16270
  new CustomEvent("player-state-change", {
16211
16271
  detail: p,
@@ -16839,7 +16899,7 @@ const Pi = [
16839
16899
  const I = e.getNearestCachedThumbnail(b);
16840
16900
  I && I.time !== void 0 && Math.abs(I.time - b) <= 5 && (S = I);
16841
16901
  }
16842
- const T = v === d, x = !S, A = S && S.width || 200, P = S && S.height || 112, $ = f / A, M = S ? S.x !== void 0 ? `background-image: url('${S.url}'); background-position: -${S.x || 0}px -${S.y || 0}px; width: ${A}px; height: ${P}px; background-size: auto; transform: translate(-50%, -50%) scale(${$}); position: absolute; left: 50%; top: 50%; transform-origin: center;` : `background-image: url('${S.url}'); width: 100%; height: 100%; background-size: cover;` : "";
16902
+ const T = v === d, x = !S, E = S && S.width || 200, A = S && S.height || 112, O = f / E, M = S ? S.x !== void 0 ? `background-image: url('${S.url}'); background-position: -${S.x || 0}px -${S.y || 0}px; width: ${E}px; height: ${A}px; background-size: auto; transform: translate(-50%, -50%) scale(${O}); position: absolute; left: 50%; top: 50%; transform-origin: center;` : `background-image: url('${S.url}'); width: 100%; height: 100%; background-size: cover;` : "";
16843
16903
  return k`
16844
16904
  <div
16845
16905
  class="filmstrip-thumbnail-cell ${T ? "active" : ""} ${x ? "loading" : ""}"
@@ -16880,7 +16940,7 @@ const Pi = [
16880
16940
  }
16881
16941
  // --- Sub-menu renders ---
16882
16942
  renderSettingsMenuContent() {
16883
- var s, r, a, n, l, o, d, h, u, f, p, g, m, v, y, b, S, T, x, A, P, $, M, I, R, N, U, C, E, z, J;
16943
+ var s, r, a, n, l, o, d, h, u, f, p, g, m, v, y, b, S, T, x, E, A, O, M, I, D, N, P, C, R, H, J;
16884
16944
  const e = k`<slot name="icon-arrow-back"
16885
16945
  >${j(this.getIcon("arrow-back"))}</slot
16886
16946
  >`, t = k`<slot name="icon-check">${j(this.getIcon("check"))}</slot>`, i = k`<slot name="icon-arrow-forward"
@@ -16902,17 +16962,17 @@ const Pi = [
16902
16962
  </div>
16903
16963
  <div class="settings-list-scroll" role="menu">
16904
16964
  ${B.map(
16905
- (F) => k`
16965
+ (U) => k`
16906
16966
  <div
16907
16967
  class="settings-item"
16908
- @click=${() => this.handleSelectSpeed(F)}
16968
+ @click=${() => this.handleSelectSpeed(U)}
16909
16969
  role="menuitemradio"
16910
- aria-checked=${this.playerState.playbackRate === F}
16970
+ aria-checked=${this.playerState.playbackRate === U}
16911
16971
  tabindex="0"
16912
16972
  @keydown=${this.settingsMenu.handleItemKey}
16913
16973
  >
16914
- <span>${F === 1 ? this.localize("normal", "Normal") : `${F}x`}</span>
16915
- ${this.playerState.playbackRate === F ? t : ""}
16974
+ <span>${U === 1 ? this.localize("normal", "Normal") : `${U}x`}</span>
16975
+ ${this.playerState.playbackRate === U ? t : ""}
16916
16976
  </div>
16917
16977
  `
16918
16978
  )}
@@ -16932,22 +16992,22 @@ const Pi = [
16932
16992
  ${e} ${this.localize("quality", "Quality")}
16933
16993
  </div>
16934
16994
  <div class="settings-list-scroll" role="menu">
16935
- ${this.playerState.qualities.map((B, F) => {
16936
- const L = B === "Auto" && this.playerState.activeQuality.startsWith("Auto") || this.playerState.activeQuality === B, D = (() => {
16937
- const H = B.match(/^(\d+)p$/);
16938
- return H ? parseInt(H[1], 10) >= 720 : !1;
16995
+ ${this.playerState.qualities.map((B, U) => {
16996
+ const L = B === "Auto" && this.playerState.activeQuality.startsWith("Auto") || this.playerState.activeQuality === B, $ = (() => {
16997
+ const _ = B.match(/^(\d+)p$/);
16998
+ return _ ? parseInt(_[1], 10) >= 720 : !1;
16939
16999
  })();
16940
17000
  return k`
16941
17001
  <div
16942
17002
  class="settings-item"
16943
- @click=${() => this.handleSelectQuality(F)}
17003
+ @click=${() => this.handleSelectQuality(U)}
16944
17004
  role="menuitemradio"
16945
17005
  aria-checked=${L ? "true" : "false"}
16946
17006
  tabindex="0"
16947
17007
  @keydown=${this.settingsMenu.handleItemKey}
16948
17008
  >
16949
17009
  <span style="display: flex; align-items: center; gap: 6px;">
16950
- ${B} ${D ? k`<span class="hd-badge">HD</span>` : ""}
17010
+ ${B} ${$ ? k`<span class="hd-badge">HD</span>` : ""}
16951
17011
  </span>
16952
17012
  ${L ? t : ""}
16953
17013
  </div>
@@ -16969,17 +17029,17 @@ const Pi = [
16969
17029
  </div>
16970
17030
  <div class="settings-list-scroll" role="menu">
16971
17031
  ${this.playerState.audioTracks.map(
16972
- (B, F) => k`
17032
+ (B, U) => k`
16973
17033
  <div
16974
17034
  class="settings-item"
16975
- @click=${() => this.handleSelectAudio(F)}
17035
+ @click=${() => this.handleSelectAudio(U)}
16976
17036
  role="menuitemradio"
16977
- aria-checked=${this.playerState.activeAudioTrack === F}
17037
+ aria-checked=${this.playerState.activeAudioTrack === U}
16978
17038
  tabindex="0"
16979
17039
  @keydown=${this.settingsMenu.handleItemKey}
16980
17040
  >
16981
17041
  <span>${B}</span>
16982
- ${this.playerState.activeAudioTrack === F ? t : ""}
17042
+ ${this.playerState.activeAudioTrack === U ? t : ""}
16983
17043
  </div>
16984
17044
  `
16985
17045
  )}
@@ -17002,8 +17062,8 @@ const Pi = [
17002
17062
  >${e} ${this.localize("subtitles", "Subtitles")}</span
17003
17063
  >
17004
17064
  <span
17005
- @click=${(F) => {
17006
- F.stopPropagation(), this.settingsMenu.goTo("subtitle-options");
17065
+ @click=${(U) => {
17066
+ U.stopPropagation(), this.settingsMenu.goTo("subtitle-options");
17007
17067
  }}
17008
17068
  style="font-size: 11px; text-decoration: underline; color: var(--player-primary-color, #6366f1); cursor: pointer;"
17009
17069
  role="button"
@@ -17022,18 +17082,18 @@ const Pi = [
17022
17082
  <span>${this.localize("off", "Off")}</span>
17023
17083
  ${B ? t : ""}
17024
17084
  </div>
17025
- ${this.playerState.subtitleTracks.map((F) => {
17026
- const L = !B && this.playerState.activeSubtitleTrackId === F.id;
17085
+ ${this.playerState.subtitleTracks.map((U) => {
17086
+ const L = !B && this.playerState.activeSubtitleTrackId === U.id;
17027
17087
  return k`
17028
17088
  <div
17029
17089
  class="settings-item"
17030
- @click=${() => this.handleSelectSubtitle(F.id)}
17090
+ @click=${() => this.handleSelectSubtitle(U.id)}
17031
17091
  role="menuitemradio"
17032
17092
  aria-checked=${L ? "true" : "false"}
17033
17093
  tabindex="0"
17034
17094
  @keydown=${this.settingsMenu.handleItemKey}
17035
17095
  >
17036
- <span>${F.label || F.language || "Unknown"}</span>
17096
+ <span>${U.label || U.language || "Unknown"}</span>
17037
17097
  ${L ? t : ""}
17038
17098
  </div>
17039
17099
  `;
@@ -17042,7 +17102,7 @@ const Pi = [
17042
17102
  `;
17043
17103
  }
17044
17104
  case "subtitle-options": {
17045
- const B = this.playerState.subtitleAppearance, F = ((s = Pi.find((se) => se.value === B.fontFamily)) == null ? void 0 : s.label) || "Default", L = ((r = Ne.find((se) => se.value === B.fontColor)) == null ? void 0 : r.label) || "White", D = ((a = Ci.find((se) => se.value === B.fontSize)) == null ? void 0 : a.label) || "100%", H = ((n = Ne.find((se) => se.value === B.backgroundColor)) == null ? void 0 : n.label) || "Black", le = ((l = Be.find((se) => se.value === B.backgroundOpacity)) == null ? void 0 : l.label) || "75%", oe = ((o = Ne.find((se) => se.value === B.windowColor)) == null ? void 0 : o.label) || "Black", Te = ((d = Be.find((se) => se.value === B.windowOpacity)) == null ? void 0 : d.label) || "0%", xe = ((h = Mi.find((se) => se.value === B.characterEdgeStyle)) == null ? void 0 : h.label) || "None", Oe = ((u = Be.find((se) => se.value === B.fontOpacity)) == null ? void 0 : u.label) || "100%";
17105
+ const B = this.playerState.subtitleAppearance, U = ((s = Pi.find((se) => se.value === B.fontFamily)) == null ? void 0 : s.label) || "Default", L = ((r = Ne.find((se) => se.value === B.fontColor)) == null ? void 0 : r.label) || "White", $ = ((a = Ci.find((se) => se.value === B.fontSize)) == null ? void 0 : a.label) || "100%", _ = ((n = Ne.find((se) => se.value === B.backgroundColor)) == null ? void 0 : n.label) || "Black", le = ((l = Be.find((se) => se.value === B.backgroundOpacity)) == null ? void 0 : l.label) || "75%", oe = ((o = Ne.find((se) => se.value === B.windowColor)) == null ? void 0 : o.label) || "Black", Te = ((d = Be.find((se) => se.value === B.windowOpacity)) == null ? void 0 : d.label) || "0%", xe = ((h = Mi.find((se) => se.value === B.characterEdgeStyle)) == null ? void 0 : h.label) || "None", Oe = ((u = Be.find((se) => se.value === B.fontOpacity)) == null ? void 0 : u.label) || "100%";
17046
17106
  return k`
17047
17107
  <div
17048
17108
  class="settings-header"
@@ -17064,7 +17124,7 @@ const Pi = [
17064
17124
  >
17065
17125
  <span>${this.localize("fontFamily", "Font family")}</span>
17066
17126
  <span style="color: #9ca3af; display: flex; align-items: center; gap: 4px;"
17067
- >${F} ${i}</span
17127
+ >${U} ${i}</span
17068
17128
  >
17069
17129
  </div>
17070
17130
  <div
@@ -17088,7 +17148,7 @@ const Pi = [
17088
17148
  >
17089
17149
  <span>${this.localize("fontSize", "Font size")}</span>
17090
17150
  <span style="color: #9ca3af; display: flex; align-items: center; gap: 4px;"
17091
- >${D} ${i}</span
17151
+ >${$} ${i}</span
17092
17152
  >
17093
17153
  </div>
17094
17154
  <div
@@ -17100,7 +17160,7 @@ const Pi = [
17100
17160
  >
17101
17161
  <span>${this.localize("backgroundColour", "Background colour")}</span>
17102
17162
  <span style="color: #9ca3af; display: flex; align-items: center; gap: 4px;"
17103
- >${H} ${i}</span
17163
+ >${_} ${i}</span
17104
17164
  >
17105
17165
  </div>
17106
17166
  <div
@@ -17203,9 +17263,9 @@ const Pi = [
17203
17263
  case "opt-font-opacity":
17204
17264
  return this.renderAppearanceSelectionScreen("Font opacity", Be, "fontOpacity");
17205
17265
  case "sleeptimer": {
17206
- const B = !!((f = this.playerState) != null && f.isLive), F = ((g = (p = this.config) == null ? void 0 : p.sleepTimer) == null ? void 0 : g.presets) || [10, 15, 20, 30, 45, 60], L = [
17266
+ const B = !!((f = this.playerState) != null && f.isLive), U = ((g = (p = this.config) == null ? void 0 : p.sleepTimer) == null ? void 0 : g.presets) || [10, 15, 20, 30, 45, 60], L = [
17207
17267
  { value: "off", label: this.localize("off", "Off") },
17208
- ...F.map((D) => ({ value: D, label: `${D} ${this.localize("minutes", "minutes")}` })),
17268
+ ...U.map(($) => ({ value: $, label: `${$} ${this.localize("minutes", "minutes")}` })),
17209
17269
  ...B ? [] : [{ value: "end", label: this.localize("endOfVideo", "End of video") }]
17210
17270
  ];
17211
17271
  return k`
@@ -17220,30 +17280,30 @@ const Pi = [
17220
17280
  ${e} ${this.localize("sleepTimer", "Sleep Timer")}
17221
17281
  </div>
17222
17282
  <div class="settings-list-scroll" role="menu">
17223
- ${L.map((D) => {
17224
- const H = this.playerState.sleepTimerSetting === D.value;
17283
+ ${L.map(($) => {
17284
+ const _ = this.playerState.sleepTimerSetting === $.value;
17225
17285
  return k`
17226
17286
  <div
17227
17287
  class="settings-item"
17228
17288
  @click=${() => this.handleSelectSleepTimer(
17229
- D.value
17289
+ $.value
17230
17290
  )}
17231
17291
  role="menuitemradio"
17232
- aria-checked=${H ? "true" : "false"}
17292
+ aria-checked=${_ ? "true" : "false"}
17233
17293
  tabindex="0"
17234
17294
  @keydown=${this.settingsMenu.handleItemKey}
17235
17295
  >
17236
- ${D.value === "end" ? k`
17296
+ ${$.value === "end" ? k`
17237
17297
  <span
17238
17298
  style="display: flex; flex-direction: column; align-items: flex-start;"
17239
17299
  >
17240
- <span>${D.label}</span>
17300
+ <span>${$.label}</span>
17241
17301
  ${this.getRemainingVideoTimeText() ? k`<span style="font-size: 11px; color: #9ca3af; margin-top: 2px;">
17242
17302
  ${this.getRemainingVideoTimeText()}
17243
17303
  </span>` : ""}
17244
17304
  </span>
17245
- ` : k`<span>${D.label}</span>`}
17246
- ${H ? t : ""}
17305
+ ` : k`<span>${$.label}</span>`}
17306
+ ${_ ? t : ""}
17247
17307
  </div>
17248
17308
  `;
17249
17309
  })}
@@ -17264,14 +17324,14 @@ const Pi = [
17264
17324
  </div>
17265
17325
  <div class="settings-list-scroll" role="menu">
17266
17326
  ${this.playerState.chapters.map(
17267
- (B, F) => k`
17327
+ (B, U) => k`
17268
17328
  <div
17269
17329
  class="settings-item"
17270
17330
  @click=${() => {
17271
- this.handleSelectChapter(F), this.settingsMenu.close();
17331
+ this.handleSelectChapter(U), this.settingsMenu.close();
17272
17332
  }}
17273
17333
  role="menuitemradio"
17274
- aria-checked=${this.playerState.activeChapterIndex === F}
17334
+ aria-checked=${this.playerState.activeChapterIndex === U}
17275
17335
  tabindex="0"
17276
17336
  @keydown=${this.settingsMenu.handleItemKey}
17277
17337
  >
@@ -17281,7 +17341,7 @@ const Pi = [
17281
17341
  ${de(B.startTime)}
17282
17342
  </span>
17283
17343
  </span>
17284
- ${this.playerState.activeChapterIndex === F ? t : ""}
17344
+ ${this.playerState.activeChapterIndex === U ? t : ""}
17285
17345
  </div>
17286
17346
  `
17287
17347
  )}
@@ -17313,7 +17373,7 @@ const Pi = [
17313
17373
  if (ce) return ce;
17314
17374
  }
17315
17375
  }
17316
- const B = this.playerState.playbackRate === 1 ? this.localize("normal", "Normal") : `${this.playerState.playbackRate}x`, F = ((m = this.config) == null ? void 0 : m.controls) || {}, L = this.displayMode === "vertical", D = (y = (v = this.config) == null ? void 0 : v.vertical) == null ? void 0 : y.menus, H = L && (D == null ? void 0 : D.playbackSpeed) !== void 0 ? D.playbackSpeed : F.playbackSpeed !== !1, le = L && (D == null ? void 0 : D.quality) !== void 0 ? D.quality : F.quality !== !1, oe = L && (D == null ? void 0 : D.audioTracks) !== void 0 ? D.audioTracks : F.audioTracks !== !1, Te = L && (D == null ? void 0 : D.subtitles) !== void 0 ? D.subtitles : F.subtitles !== !1, xe = L && (D == null ? void 0 : D.sleepTimer) !== void 0 ? D.sleepTimer : F.sleepTimer !== !1, Oe = F.loop !== !1 && ((S = (b = this.config) == null ? void 0 : b.playback) == null ? void 0 : S.loop) !== !1, se = L && (D == null ? void 0 : D.autoScroll) !== void 0 ? D.autoScroll : F.autoScroll !== !1, ot = L && (D == null ? void 0 : D.chapters) !== void 0 ? D.chapters : F.chapters === !0, Ke = [];
17376
+ const B = this.playerState.playbackRate === 1 ? this.localize("normal", "Normal") : `${this.playerState.playbackRate}x`, U = ((m = this.config) == null ? void 0 : m.controls) || {}, L = this.displayMode === "vertical", $ = (y = (v = this.config) == null ? void 0 : v.vertical) == null ? void 0 : y.menus, _ = L && ($ == null ? void 0 : $.playbackSpeed) !== void 0 ? $.playbackSpeed : U.playbackSpeed !== !1, le = L && ($ == null ? void 0 : $.quality) !== void 0 ? $.quality : U.quality !== !1, oe = L && ($ == null ? void 0 : $.audioTracks) !== void 0 ? $.audioTracks : U.audioTracks !== !1, Te = L && ($ == null ? void 0 : $.subtitles) !== void 0 ? $.subtitles : U.subtitles !== !1, xe = L && ($ == null ? void 0 : $.sleepTimer) !== void 0 ? $.sleepTimer : U.sleepTimer !== !1, Oe = U.loop !== !1 && ((S = (b = this.config) == null ? void 0 : b.playback) == null ? void 0 : S.loop) !== !1, se = L && ($ == null ? void 0 : $.autoScroll) !== void 0 ? $.autoScroll : U.autoScroll !== !1, ot = L && ($ == null ? void 0 : $.chapters) !== void 0 ? $.chapters : U.chapters === !0, Ke = [];
17317
17377
  if (this.controller) {
17318
17378
  const V = this.controller.getPlugins();
17319
17379
  for (const ie of V)
@@ -17331,7 +17391,7 @@ const Pi = [
17331
17391
  "sleepTimer",
17332
17392
  "loop"
17333
17393
  ]).map((V) => V === "captions" ? "subtitles" : V === "playbackSpeed" ? "speed" : V === "audio" ? "audioTracks" : V), re = /* @__PURE__ */ new Map();
17334
- if (H && re.set("speed", k`
17394
+ if (_ && re.set("speed", k`
17335
17395
  <div
17336
17396
  class="settings-item"
17337
17397
  @click=${() => this.settingsMenu.goTo("speed")}
@@ -17382,9 +17442,9 @@ const Pi = [
17382
17442
  <span>${this.localize("subtitles", "Subtitles")}</span>
17383
17443
  <span class="settings-item-value">
17384
17444
  <span>
17385
- ${this.playerState.activeSubtitleTrackId === null || !this.playerState.captionsEnabled ? this.localize("off", "Off") : ((A = this.playerState.subtitleTracks.find(
17445
+ ${this.playerState.activeSubtitleTrackId === null || !this.playerState.captionsEnabled ? this.localize("off", "Off") : ((E = this.playerState.subtitleTracks.find(
17386
17446
  (V) => V.id === this.playerState.activeSubtitleTrackId
17387
- )) == null ? void 0 : A.label) || this.localize("on", "On")}
17447
+ )) == null ? void 0 : E.label) || this.localize("on", "On")}
17388
17448
  </span>
17389
17449
  ${i}
17390
17450
  </span>
@@ -17406,7 +17466,7 @@ const Pi = [
17406
17466
  </div>
17407
17467
  `);
17408
17468
  }
17409
- ((($ = (P = this.config) == null ? void 0 : P.settings) == null ? void 0 : $.pictureInPicture) === !0 || ((I = (M = this.config) == null ? void 0 : M.settings) == null ? void 0 : I.pip) === !0) && re.set("pictureInPicture", k`
17469
+ (((O = (A = this.config) == null ? void 0 : A.settings) == null ? void 0 : O.pictureInPicture) === !0 || ((I = (M = this.config) == null ? void 0 : M.settings) == null ? void 0 : I.pip) === !0) && re.set("pictureInPicture", k`
17410
17470
  <div
17411
17471
  class="settings-item"
17412
17472
  @click=${() => {
@@ -17420,7 +17480,7 @@ const Pi = [
17420
17480
  <span>${this.localize("pictureInPicture", "Picture in Picture")}</span>
17421
17481
  <span class="settings-toggle ${this.playerState.pictureInPicture ? "active" : ""}"></span>
17422
17482
  </div>
17423
- `), ((N = (R = this.config) == null ? void 0 : R.settings) == null ? void 0 : N.fullscreen) === !0 && re.set("fullscreen", k`
17483
+ `), ((N = (D = this.config) == null ? void 0 : D.settings) == null ? void 0 : N.fullscreen) === !0 && re.set("fullscreen", k`
17424
17484
  <div
17425
17485
  class="settings-item"
17426
17486
  @click=${() => {
@@ -17508,7 +17568,7 @@ const Pi = [
17508
17568
  `;
17509
17569
  re.set(V.id || `custom-${ie}`, ce);
17510
17570
  });
17511
- const ct = (U = this.config) == null ? void 0 : U.customItems, We = ((E = (C = this.config) == null ? void 0 : C.settings) == null ? void 0 : E.customItems) || ct || [];
17571
+ const ct = (P = this.config) == null ? void 0 : P.customItems, We = ((R = (C = this.config) == null ? void 0 : C.settings) == null ? void 0 : R.customItems) || ct || [];
17512
17572
  Array.isArray(We) && We.forEach((V, ie) => {
17513
17573
  const ce = k`
17514
17574
  <div
@@ -17528,7 +17588,7 @@ const Pi = [
17528
17588
  `;
17529
17589
  re.set(V.id || `static-custom-${ie}`, ce);
17530
17590
  });
17531
- const be = [], Fe = (J = (z = this.config) == null ? void 0 : z.settings) == null ? void 0 : J.groups;
17591
+ const be = [], Fe = (J = (H = this.config) == null ? void 0 : H.settings) == null ? void 0 : J.groups;
17532
17592
  if (Fe && typeof Fe == "object") {
17533
17593
  Object.entries(Fe).forEach(([V, ie]) => {
17534
17594
  if (!Array.isArray(ie)) return;
@@ -18010,13 +18070,12 @@ const Pi = [
18010
18070
  ` : "";
18011
18071
  }
18012
18072
  renderDefaultLiveOverlay(e) {
18013
- var i, s;
18014
- return (((s = (i = e.config) == null ? void 0 : i.layout) == null ? void 0 : s.mode) || e.displayMode) !== "vertical" || !e.playerState.isLive ? "" : k`
18073
+ return e.displayMode !== "vertical" || !e.playerState.isLive ? "" : k`
18015
18074
  <div
18016
18075
  class="vertical-persistent-live-badge ${e.playerState.isAtLiveEdge ? "live" : "behind"}"
18017
18076
  @click=${e.handleLiveBadgeClick}
18018
- @keydown=${(r) => {
18019
- (r.key === "Enter" || r.key === " ") && (r.preventDefault(), e.handleLiveBadgeClick(r));
18077
+ @keydown=${(i) => {
18078
+ (i.key === "Enter" || i.key === " ") && (i.preventDefault(), e.handleLiveBadgeClick(i));
18020
18079
  }}
18021
18080
  role="button"
18022
18081
  tabindex="0"
@@ -18268,11 +18327,11 @@ const Pi = [
18268
18327
  }
18269
18328
  }
18270
18329
  renderAdUIOverlay() {
18271
- var m, v, y, b, S, T, x, A, P, $, M, I, R;
18330
+ var m, v, y, b, S, T, x, E, A, O, M, I, D;
18272
18331
  if (!((m = this.playerState) != null && m.isAdPlaying)) return "";
18273
18332
  const e = this.playerState.currentAd;
18274
18333
  if (e && e.linear === !1 || this.playerState.adLinear === !1) return "";
18275
- const t = this.playerState.currentAdBreak, i = this.playerState.adPosition, s = ((v = t == null ? void 0 : t.ads) == null ? void 0 : v.length) || 1, r = (e == null ? void 0 : e.title) || "", a = !!this.playerState.canSkipAd, n = this.playerState.skipAvailableAt, l = a || n != null, o = this.playerState.adDuration || (e == null ? void 0 : e.duration) || 0, d = this.playerState.adCurrentTime ?? Math.max(0, o - (this.playerState.adRemainingTime ?? o)), h = Math.ceil(this.playerState.adRemainingTime ?? Math.max(0, o - d)), u = o > 0 ? Math.min(100, d / o * 100) : 0, f = !!((S = (b = (y = this.controller) == null ? void 0 : y.config) == null ? void 0 : b.ads) != null && S.showAdTitle), p = ((P = (A = (x = (T = this.controller) == null ? void 0 : T.config) == null ? void 0 : x.ads) == null ? void 0 : A.ui) == null ? void 0 : P.showSkipButton) ?? !0, g = ((R = (I = (M = ($ = this.controller) == null ? void 0 : $.config) == null ? void 0 : M.ads) == null ? void 0 : I.ui) == null ? void 0 : R.showCountdown) ?? !0;
18334
+ const t = this.playerState.currentAdBreak, i = this.playerState.adPosition, s = ((v = t == null ? void 0 : t.ads) == null ? void 0 : v.length) || 1, r = (e == null ? void 0 : e.title) || "", a = !!this.playerState.canSkipAd, n = this.playerState.skipAvailableAt, l = a || n != null, o = this.playerState.adDuration || (e == null ? void 0 : e.duration) || 0, d = this.playerState.adCurrentTime ?? Math.max(0, o - (this.playerState.adRemainingTime ?? o)), h = Math.ceil(this.playerState.adRemainingTime ?? Math.max(0, o - d)), u = o > 0 ? Math.min(100, d / o * 100) : 0, f = !!((S = (b = (y = this.controller) == null ? void 0 : y.config) == null ? void 0 : b.ads) != null && S.showAdTitle), p = ((A = (E = (x = (T = this.controller) == null ? void 0 : T.config) == null ? void 0 : x.ads) == null ? void 0 : E.ui) == null ? void 0 : A.showSkipButton) ?? !0, g = ((D = (I = (M = (O = this.controller) == null ? void 0 : O.config) == null ? void 0 : M.ads) == null ? void 0 : I.ui) == null ? void 0 : D.showCountdown) ?? !0;
18276
18335
  return k`
18277
18336
  <div class="player-ad-ui-overlay" part="ad-ui-overlay">
18278
18337
  <!-- Top Left Ad Info Badge (Compact by default) -->
@@ -18315,7 +18374,7 @@ const Pi = [
18315
18374
  `;
18316
18375
  }
18317
18376
  render() {
18318
- var u, f, p, g, m, v, y, b, S, T, x, A, P, $, M, I, R, N, U, C;
18377
+ var u, f, p, g, m, v, y, b, S, T, x, E, A, O, M, I, D, N;
18319
18378
  const {
18320
18379
  isPlaying: e,
18321
18380
  status: t,
@@ -18326,7 +18385,7 @@ const Pi = [
18326
18385
  error: n,
18327
18386
  currentSource: l,
18328
18387
  loop: o
18329
- } = this.playerState, d = this.controlsVisible || !e, h = ((f = (u = this.config) == null ? void 0 : u.layout) == null ? void 0 : f.mode) || this.displayMode;
18388
+ } = this.playerState, d = this.controlsVisible || !e, h = this.displayMode;
18330
18389
  return k`
18331
18390
  <div
18332
18391
  part="player-container"
@@ -18347,12 +18406,12 @@ const Pi = [
18347
18406
  <canvas part="transition-canvas" class="transition-canvas"></canvas>
18348
18407
  </div>
18349
18408
 
18350
- ${!l && this.emptyStateSectionEnabled && ((g = (p = this.config) == null ? void 0 : p.controls) == null ? void 0 : g.emptyState) !== !1 ? this.renderEmptyState() : k`
18409
+ ${!l && this.emptyStateSectionEnabled && ((f = (u = this.config) == null ? void 0 : u.controls) == null ? void 0 : f.emptyState) !== !1 ? this.renderEmptyState() : k`
18351
18410
  <!-- Custom overlay slot -->
18352
18411
  <slot name="top-overlay"></slot>
18353
18412
 
18354
18413
  <!-- Center Play Button Overlay -->
18355
- ${(m = this.playerState) != null && m.isAdPlaying ? "" : this.renderOverlay("center-play", (E) => this.renderDefaultCenterPlayOverlay(E))}
18414
+ ${(p = this.playerState) != null && p.isAdPlaying ? "" : this.renderOverlay("center-play", (P) => this.renderDefaultCenterPlayOverlay(P))}
18356
18415
 
18357
18416
  <!-- Audio only cover -->
18358
18417
  ${h === "audio-only" ? k`
@@ -18383,7 +18442,7 @@ const Pi = [
18383
18442
  aria-modal="true"
18384
18443
  aria-labelledby="sleep-title"
18385
18444
  aria-describedby="sleep-desc"
18386
- @click=${(E) => E.stopPropagation()}
18445
+ @click=${(P) => P.stopPropagation()}
18387
18446
  >
18388
18447
  <div part="sleep-timer-dialog-content" class="sleep-timer-dialog-card">
18389
18448
  <div part="sleep-timer-title" class="sleep-timer-dialog-title" id="sleep-title">
@@ -18396,8 +18455,8 @@ const Pi = [
18396
18455
  <button
18397
18456
  part="sleep-timer-btn sleep-timer-btn-add"
18398
18457
  class="sleep-timer-btn sleep-timer-btn-add secondary"
18399
- @click=${(E) => {
18400
- E.stopPropagation(), this.handleSleepTimerAddTime();
18458
+ @click=${(P) => {
18459
+ P.stopPropagation(), this.handleSleepTimerAddTime();
18401
18460
  }}
18402
18461
  >
18403
18462
  ${this.localize("addTime", "Add time")}
@@ -18405,8 +18464,8 @@ const Pi = [
18405
18464
  <button
18406
18465
  part="sleep-timer-btn sleep-timer-btn-close"
18407
18466
  class="sleep-timer-btn sleep-timer-btn-close primary"
18408
- @click=${(E) => {
18409
- E.stopPropagation(), this.handleSleepTimerClose();
18467
+ @click=${(P) => {
18468
+ P.stopPropagation(), this.handleSleepTimerClose();
18410
18469
  }}
18411
18470
  >
18412
18471
  ${this.localize("close", "Close")}
@@ -18417,28 +18476,28 @@ const Pi = [
18417
18476
  ` : ""}
18418
18477
 
18419
18478
  <!-- Error State Overlay -->
18420
- ${n ? this.renderOverlay("error", (E) => this.renderDefaultErrorOverlay(E)) : ""}
18479
+ ${n ? this.renderOverlay("error", (P) => this.renderDefaultErrorOverlay(P)) : ""}
18421
18480
 
18422
18481
  <!-- Buffering Loading Spinner Overlay -->
18423
- ${a && !n ? this.renderOverlay("buffering", (E) => this.renderDefaultBufferingOverlay(E)) : ""}
18482
+ ${a && !n ? this.renderOverlay("buffering", (P) => this.renderDefaultBufferingOverlay(P)) : ""}
18424
18483
 
18425
18484
  <!-- Centered Replay Overlay (not shown in vertical mode) -->
18426
- ${t === "ended" && !this.playerState.isLive && this.displayMode !== "vertical" && !o && !((v = this.playerState) != null && v.isAdPlaying) ? this.renderOverlay("replay", (E) => this.renderDefaultReplayOverlay(E)) : ""}
18485
+ ${t === "ended" && !this.playerState.isLive && this.displayMode !== "vertical" && !o && !((g = this.playerState) != null && g.isAdPlaying) ? this.renderOverlay("replay", (P) => this.renderDefaultReplayOverlay(P)) : ""}
18427
18486
 
18428
18487
  <!-- Ambient Tap Skip / Volume / Playback Speed gesture feedback ripples -->
18429
- ${this.tapFeedback && !((y = this.playerState) != null && y.isAdPlaying) ? this.renderOverlay(
18488
+ ${this.tapFeedback && !((m = this.playerState) != null && m.isAdPlaying) ? this.renderOverlay(
18430
18489
  "seek",
18431
- (E, z) => this.renderDefaultSeekOverlay(E, z),
18490
+ (P, C) => this.renderDefaultSeekOverlay(P, C),
18432
18491
  this.tapFeedback
18433
18492
  ) : ""}
18434
- ${this.playPauseFeedback && !((b = this.playerState) != null && b.isAdPlaying) ? this.renderOverlay("play-pause", (E) => this.renderDefaultPlayPauseOverlay(E)) : ""}
18435
- ${this.activeVolumeFeedback && !((S = this.playerState) != null && S.isAdPlaying) ? this.renderOverlay("volume", (E) => this.renderDefaultVolumeOverlay(E)) : ""}
18436
- ${this.activeSpeedFeedback && !((T = this.playerState) != null && T.isAdPlaying) ? this.renderOverlay("speed", (E) => this.renderDefaultSpeedOverlay(E)) : ""}
18493
+ ${this.playPauseFeedback && !((v = this.playerState) != null && v.isAdPlaying) ? this.renderOverlay("play-pause", (P) => this.renderDefaultPlayPauseOverlay(P)) : ""}
18494
+ ${this.activeVolumeFeedback && !((y = this.playerState) != null && y.isAdPlaying) ? this.renderOverlay("volume", (P) => this.renderDefaultVolumeOverlay(P)) : ""}
18495
+ ${this.activeSpeedFeedback && !((b = this.playerState) != null && b.isAdPlaying) ? this.renderOverlay("speed", (P) => this.renderDefaultSpeedOverlay(P)) : ""}
18437
18496
 
18438
18497
  <!-- Persistent Live Badge for Vertical Player -->
18439
- ${h === "vertical" && this.playerState.isLive && !((x = this.playerState) != null && x.isAdPlaying) ? this.renderOverlay("live", (E) => this.renderDefaultLiveOverlay(E)) : ""}
18498
+ ${h === "vertical" && this.playerState.isLive && !((S = this.playerState) != null && S.isAdPlaying) ? this.renderOverlay("live", (P) => this.renderDefaultLiveOverlay(P)) : ""}
18440
18499
 
18441
- ${(A = this.playerState) != null && A.isAdPlaying ? "" : k`
18500
+ ${(T = this.playerState) != null && T.isAdPlaying ? "" : k`
18442
18501
  <!-- Ambient top/bottom vignette scrim -->
18443
18502
  <div part="scrim" class="scrim ${d ? "visible" : ""}"></div>
18444
18503
 
@@ -18457,12 +18516,12 @@ const Pi = [
18457
18516
 
18458
18517
  <!-- Control overlays wrapper -->
18459
18518
  <div part="controls-overlay" class="controls-overlay">
18460
- ${h === "custom" ? k`<slot></slot>` : h === "vertical" ? (($ = (P = this.config) == null ? void 0 : P.controls) == null ? void 0 : $.verticalControls) !== !1 && this.controlsSectionEnabled ? k`
18519
+ ${h === "custom" ? k`<slot></slot>` : h === "vertical" ? ((E = (x = this.config) == null ? void 0 : x.controls) == null ? void 0 : E.verticalControls) !== !1 && this.controlsSectionEnabled ? k`
18461
18520
  <player-vertical-controls
18462
18521
  part="vertical-controls"
18463
18522
  exportparts="vertical-controls-container, action-rail, rail-btn, seekbar, seekbar-container, hover-tooltip, tooltip-marker-label, thumbnail-container, thumbnail-preview, tooltip-time-text, track, buffer-bar, progress-bar, handle, marker, time-display"
18464
- ?hideCurrentTime=${((I = (M = this.config) == null ? void 0 : M.controls) == null ? void 0 : I.currentTime) === !1}
18465
- ?hideDuration=${((N = (R = this.config) == null ? void 0 : R.controls) == null ? void 0 : N.duration) === !1}
18523
+ ?hideCurrentTime=${((O = (A = this.config) == null ? void 0 : A.controls) == null ? void 0 : O.currentTime) === !1}
18524
+ ?hideDuration=${((I = (M = this.config) == null ? void 0 : M.controls) == null ? void 0 : I.duration) === !1}
18466
18525
  .currentTime=${i}
18467
18526
  .duration=${s}
18468
18527
  .bufferedRanges=${r}
@@ -18489,7 +18548,7 @@ const Pi = [
18489
18548
  <slot name="social-actions" slot="social-actions"></slot>
18490
18549
  <slot name="bottom-actions" slot="bottom-actions"></slot>
18491
18550
  </player-vertical-controls>
18492
- ` : "" : ((C = (U = this.config) == null ? void 0 : U.controls) == null ? void 0 : C.controlsBar) !== !1 && this.controlsSectionEnabled ? this.renderStandardControls() : ""}
18551
+ ` : "" : ((N = (D = this.config) == null ? void 0 : D.controls) == null ? void 0 : N.controlsBar) !== !1 && this.controlsSectionEnabled ? this.renderStandardControls() : ""}
18493
18552
  </div>
18494
18553
  `}
18495
18554
 
@@ -18513,14 +18572,14 @@ const Pi = [
18513
18572
  @keydown=${this.handleContextMenuKeyDown}
18514
18573
  >
18515
18574
  ${this.getContextMenuItems().map(
18516
- (E) => k`
18575
+ (P) => k`
18517
18576
  <div
18518
- class="context-menu-item ${E.disabled ? "disabled" : ""}"
18519
- @click=${() => this.handleContextMenuItemClick(E)}
18577
+ class="context-menu-item ${P.disabled ? "disabled" : ""}"
18578
+ @click=${() => this.handleContextMenuItemClick(P)}
18520
18579
  role="menuitem"
18521
- tabindex="${E.disabled ? "-1" : "0"}"
18580
+ tabindex="${P.disabled ? "-1" : "0"}"
18522
18581
  >
18523
- ${E.label}
18582
+ ${P.label}
18524
18583
  </div>
18525
18584
  `
18526
18585
  )}
@@ -18591,76 +18650,79 @@ const Pi = [
18591
18650
  }
18592
18651
  };
18593
18652
  Yt.styles = vs;
18594
- let _ = Yt;
18653
+ let z = Yt;
18595
18654
  K([
18596
- O({ type: String, reflect: !0 })
18597
- ], _.prototype, "src");
18655
+ F({ type: String, reflect: !0 })
18656
+ ], z.prototype, "src");
18598
18657
  K([
18599
- O({ type: String, reflect: !0 })
18600
- ], _.prototype, "captions");
18658
+ F({ type: String, reflect: !0 })
18659
+ ], z.prototype, "captions");
18601
18660
  K([
18602
- O({ type: Boolean, reflect: !0 })
18603
- ], _.prototype, "autoplay");
18661
+ F({ type: Boolean, reflect: !0 })
18662
+ ], z.prototype, "autoplay");
18604
18663
  K([
18605
- O({ type: Boolean, reflect: !0 })
18606
- ], _.prototype, "muted");
18664
+ F({ type: Boolean, reflect: !0 })
18665
+ ], z.prototype, "muted");
18607
18666
  K([
18608
- O({ type: Number, reflect: !0 })
18609
- ], _.prototype, "volume");
18667
+ F({ type: Number, reflect: !0 })
18668
+ ], z.prototype, "volume");
18610
18669
  K([
18611
- O({ type: String, attribute: "display-mode", reflect: !0 })
18612
- ], _.prototype, "displayMode");
18670
+ F({ type: String, attribute: "display-mode", reflect: !0 })
18671
+ ], z.prototype, "displayMode");
18613
18672
  K([
18614
- O({ type: Number })
18615
- ], _.prototype, "nearEndThreshold");
18673
+ F({ type: Number })
18674
+ ], z.prototype, "nearEndThreshold");
18616
18675
  K([
18617
- O({ type: Boolean, attribute: "auto-scroll", reflect: !0 })
18618
- ], _.prototype, "autoScroll");
18676
+ F({ type: Boolean, attribute: "auto-scroll", reflect: !0 })
18677
+ ], z.prototype, "autoScroll");
18619
18678
  K([
18620
- O({ type: String, attribute: "live-mode", reflect: !0 })
18621
- ], _.prototype, "liveMode");
18679
+ F({ type: String, attribute: "live-mode", reflect: !0 })
18680
+ ], z.prototype, "liveMode");
18622
18681
  K([
18623
- O({ type: Object })
18624
- ], _.prototype, "config");
18682
+ F({
18683
+ type: Object,
18684
+ converter: { fromAttribute: Gr }
18685
+ })
18686
+ ], z.prototype, "config");
18625
18687
  K([
18626
- O({ type: Boolean, attribute: "precise-seek", reflect: !0 })
18627
- ], _.prototype, "preciseSeekEnabled");
18688
+ F({ type: Boolean, attribute: "precise-seek", reflect: !0 })
18689
+ ], z.prototype, "preciseSeekEnabled");
18628
18690
  K([
18629
- O({ type: Boolean, attribute: "smart-seek", reflect: !0 })
18630
- ], _.prototype, "smartSeekEnabled");
18691
+ F({ type: Boolean, attribute: "smart-seek", reflect: !0 })
18692
+ ], z.prototype, "smartSeekEnabled");
18631
18693
  K([
18632
- O({ type: String, reflect: !0 })
18633
- ], _.prototype, "preload");
18694
+ F({ type: String, reflect: !0 })
18695
+ ], z.prototype, "preload");
18634
18696
  K([
18635
- O({ type: Boolean, reflect: !0 })
18636
- ], _.prototype, "loop");
18697
+ F({ type: Boolean, reflect: !0 })
18698
+ ], z.prototype, "loop");
18637
18699
  K([
18638
- O({ type: Boolean, reflect: !0 })
18639
- ], _.prototype, "playsinline");
18700
+ F({ type: Boolean, reflect: !0 })
18701
+ ], z.prototype, "playsinline");
18640
18702
  K([
18641
- O({ type: String, reflect: !0 })
18642
- ], _.prototype, "poster");
18703
+ F({ type: String, reflect: !0 })
18704
+ ], z.prototype, "poster");
18643
18705
  K([
18644
- O({ type: String, reflect: !0 })
18645
- ], _.prototype, "crossorigin");
18706
+ F({ type: String, reflect: !0 })
18707
+ ], z.prototype, "crossorigin");
18646
18708
  K([
18647
18709
  W()
18648
- ], _.prototype, "isVisualTransitioning");
18710
+ ], z.prototype, "isVisualTransitioning");
18649
18711
  K([
18650
18712
  W()
18651
- ], _.prototype, "transitionDirection");
18713
+ ], z.prototype, "transitionDirection");
18652
18714
  K([
18653
18715
  W()
18654
- ], _.prototype, "transitionStage");
18716
+ ], z.prototype, "transitionStage");
18655
18717
  K([
18656
18718
  W()
18657
- ], _.prototype, "contextMenuOpen");
18719
+ ], z.prototype, "contextMenuOpen");
18658
18720
  K([
18659
18721
  W()
18660
- ], _.prototype, "contextMenuX");
18722
+ ], z.prototype, "contextMenuX");
18661
18723
  K([
18662
18724
  W()
18663
- ], _.prototype, "contextMenuY");
18725
+ ], z.prototype, "contextMenuY");
18664
18726
  K([
18665
18727
  W({
18666
18728
  hasChanged(c, e) {
@@ -18731,63 +18793,63 @@ K([
18731
18793
  }) : !0;
18732
18794
  }
18733
18795
  })
18734
- ], _.prototype, "playerState");
18796
+ ], z.prototype, "playerState");
18735
18797
  K([
18736
18798
  W()
18737
- ], _.prototype, "controlsVisible");
18799
+ ], z.prototype, "controlsVisible");
18738
18800
  K([
18739
18801
  W()
18740
- ], _.prototype, "settingsMenuOpen");
18802
+ ], z.prototype, "settingsMenuOpen");
18741
18803
  K([
18742
18804
  W()
18743
- ], _.prototype, "activeMenuScreen");
18805
+ ], z.prototype, "activeMenuScreen");
18744
18806
  K([
18745
18807
  W()
18746
- ], _.prototype, "toastMessage");
18808
+ ], z.prototype, "toastMessage");
18747
18809
  K([
18748
18810
  W()
18749
- ], _.prototype, "toastType");
18811
+ ], z.prototype, "toastType");
18750
18812
  K([
18751
18813
  W()
18752
- ], _.prototype, "toastVisible");
18814
+ ], z.prototype, "toastVisible");
18753
18815
  K([
18754
18816
  W()
18755
- ], _.prototype, "tapFeedback");
18817
+ ], z.prototype, "tapFeedback");
18756
18818
  K([
18757
18819
  W()
18758
- ], _.prototype, "feedbackTaps");
18820
+ ], z.prototype, "feedbackTaps");
18759
18821
  K([
18760
18822
  W()
18761
- ], _.prototype, "playPauseFeedback");
18823
+ ], z.prototype, "playPauseFeedback");
18762
18824
  K([
18763
18825
  W()
18764
- ], _.prototype, "activeVolumeFeedback");
18826
+ ], z.prototype, "activeVolumeFeedback");
18765
18827
  K([
18766
18828
  W()
18767
- ], _.prototype, "isSeekingInteraction");
18829
+ ], z.prototype, "isSeekingInteraction");
18768
18830
  K([
18769
18831
  W()
18770
- ], _.prototype, "activeSpeedFeedback");
18832
+ ], z.prototype, "activeSpeedFeedback");
18771
18833
  K([
18772
18834
  W()
18773
- ], _.prototype, "activeQualityFeedback");
18835
+ ], z.prototype, "activeQualityFeedback");
18774
18836
  K([
18775
18837
  Ss("video")
18776
- ], _.prototype, "videoElement");
18838
+ ], z.prototype, "videoElement");
18777
18839
  K([
18778
18840
  W()
18779
- ], _.prototype, "isPreciseSeeking");
18841
+ ], z.prototype, "isPreciseSeeking");
18780
18842
  K([
18781
18843
  W()
18782
- ], _.prototype, "speedLockState");
18844
+ ], z.prototype, "speedLockState");
18783
18845
  K([
18784
18846
  W()
18785
- ], _.prototype, "isSpeedOverlayFadingOut");
18847
+ ], z.prototype, "isSpeedOverlayFadingOut");
18786
18848
  K([
18787
18849
  W()
18788
- ], _.prototype, "isVolumeFeedbackFadingOut");
18789
- if (typeof window < "u" && typeof customElements < "u" && (customElements.get("streamit-player") || customElements.define("streamit-player", _), !customElements.get("player-player"))) {
18790
- class c extends _ {
18850
+ ], z.prototype, "isVolumeFeedbackFadingOut");
18851
+ if (typeof window < "u" && typeof customElements < "u" && (customElements.get("streamit-player") || customElements.define("streamit-player", z), !customElements.get("player-player"))) {
18852
+ class c extends z {
18791
18853
  }
18792
18854
  customElements.define("player-player", c);
18793
18855
  }
@@ -18804,7 +18866,7 @@ export {
18804
18866
  As as AdsValidator,
18805
18867
  rt as AutoThumbnailProvider,
18806
18868
  He as DrmManager,
18807
- Yr as DrmValidator,
18869
+ Jr as DrmValidator,
18808
18870
  ut as HtmlOverlayRenderer,
18809
18871
  Q as IconRegistry,
18810
18872
  kt as ImaProvider,
@@ -18813,7 +18875,7 @@ export {
18813
18875
  Sr as PlayerController,
18814
18876
  Pr as PlayerIconRegistry,
18815
18877
  qe as PlayerPlayButton,
18816
- _ as PlayerPlayer,
18878
+ z as PlayerPlayer,
18817
18879
  Re as PlayerSeekButton,
18818
18880
  X as PlayerSeekbar,
18819
18881
  he as PlayerVerticalControls,
@@ -18832,7 +18894,7 @@ export {
18832
18894
  pr as VideoFrameThumbnailProvider,
18833
18895
  wi as VmapProvider,
18834
18896
  Br as compileTheme,
18835
- Xr as detectSupportedKeySystems,
18897
+ Zr as detectSupportedKeySystems,
18836
18898
  de as formatTime,
18837
18899
  qi as isClearKeySupported,
18838
18900
  Hi as isFairPlaySupported,