@vindral/web-sdk 4.1.2 → 4.1.3-1-g2e4861d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/player.js CHANGED
@@ -24,11 +24,11 @@ var G = (d, a, t) => new Promise((i, s) => {
24
24
  }, u = (v) => v.done ? i(v.value) : Promise.resolve(v.value).then(o, p);
25
25
  u((t = t.apply(d, a)).next());
26
26
  });
27
- import { L as jr, V as Vr, i as Yr, A as Jr, C as Qr, a as Wr } from "./ZD9OGvpf.js";
27
+ import { L as jr, V as Vr, i as Yr, C as Jr, A as Qr, a as Wr, b as Zr } from "./DPN_1qqU.js";
28
28
  import { E as li } from "./Bx7s5QdT.js";
29
- import { CastSender as Zr } from "./cast-sender.js";
30
- import { A as to, d as eo } from "./hRzek83o.js";
31
- const Xi = 1e3, ji = Xi * 1e3, $s = ji * 1e3, Bi = (d, a, t) => d % a === 0 ? d / a : (d / a).toFixed(t), io = (d, a = 1) => d >= $s ? `${Bi(d, $s, a)} Gbit/s` : d >= ji ? `${Bi(d, ji, a)} Mbit/s` : d >= Xi ? `${Bi(d, Xi, a)} Kbit/s` : `${d} bit/s`, so = ({ width: d, height: a }) => `${d}x${a}`, no = ({
29
+ import { CastSender as to } from "./cast-sender.js";
30
+ import { A as eo, d as io } from "./Bs3ZbgIy.js";
31
+ const Xi = 1e3, ji = Xi * 1e3, $s = ji * 1e3, Bi = (d, a, t) => d % a === 0 ? d / a : (d / a).toFixed(t), so = (d, a = 1) => d >= $s ? `${Bi(d, $s, a)} Gbit/s` : d >= ji ? `${Bi(d, ji, a)} Mbit/s` : d >= Xi ? `${Bi(d, Xi, a)} Kbit/s` : `${d} bit/s`, no = ({ width: d, height: a }) => `${d}x${a}`, ro = ({
32
32
  title: d,
33
33
  subTitle: a = "Live stream",
34
34
  poster: t
@@ -102,14 +102,14 @@ function Vs(d) {
102
102
  function Ki(d) {
103
103
  return d === "trace" || d === "debug" || d === "info" || d === "warn" || d === "error" || d === "off" ? d : "off";
104
104
  }
105
- function ro(d) {
105
+ function oo(d) {
106
106
  if (d === null)
107
107
  return;
108
108
  const a = d.split(",").map((t) => t.trim()).filter((t) => t === "h264" || t === "av1");
109
109
  if (a.length !== 0)
110
110
  return a;
111
111
  }
112
- function oo(d) {
112
+ function ao(d) {
113
113
  if (d !== null)
114
114
  try {
115
115
  const a = JSON.parse(d);
@@ -122,7 +122,7 @@ function oo(d) {
122
122
  return;
123
123
  }
124
124
  }
125
- function ao(d) {
125
+ function lo(d) {
126
126
  if (d !== null)
127
127
  try {
128
128
  const a = JSON.parse(d);
@@ -148,7 +148,7 @@ function bi(d) {
148
148
  function L(d) {
149
149
  return typeof d == "string";
150
150
  }
151
- function S(d, a) {
151
+ function N(d, a) {
152
152
  if (d === null)
153
153
  return a != null ? a : void 0;
154
154
  const t = d.toLowerCase();
@@ -336,7 +336,7 @@ Se = new WeakSet(), Yi = function() {
336
336
  n.IS_AIRPLAYING
337
337
  ]);
338
338
  let Vi = me;
339
- const Ws = document.createElement("template"), lo = (
339
+ const Ws = document.createElement("template"), ho = (
340
340
  /* SVG */
341
341
  `
342
342
  <svg width="24" height="24" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
@@ -391,7 +391,7 @@ Ws.innerHTML = /* HTML */
391
391
  }
392
392
  </style>
393
393
 
394
- <slot name="icon">${lo}</slot>
394
+ <slot name="icon">${ho}</slot>
395
395
  `;
396
396
  var $t;
397
397
  class Zs extends HTMLElement {
@@ -784,13 +784,13 @@ hn.innerHTML = /* HTML */
784
784
  <slot name="grid" id="grid"></slot>
785
785
  </div>
786
786
  `;
787
- var bt, mt, Xt, O, T, jt, Ne, Ue, Re, k, cn, un, pn, Wi, bn, mn, vn, gn, fn, En, An, ce;
787
+ var mt, vt, Xt, O, T, jt, Ne, Ue, Re, k, cn, un, pn, Wi, bn, mn, vn, gn, fn, En, An, ce;
788
788
  class dn extends HTMLElement {
789
789
  constructor() {
790
790
  super();
791
791
  l(this, k);
792
- l(this, bt, null);
793
792
  l(this, mt, null);
793
+ l(this, vt, null);
794
794
  l(this, Xt, []);
795
795
  l(this, O, []);
796
796
  l(this, T);
@@ -809,13 +809,13 @@ class dn extends HTMLElement {
809
809
  }
810
810
  connectedCallback() {
811
811
  var t, i, s;
812
- c(this, mt, this.closest("vindral-controller")), (t = e(this, mt)) == null || t.connectListener(this), r(this, k, cn).call(this), (s = e(this, bt)) == null || s.observe((i = this.shadowRoot) == null ? void 0 : i.querySelector(".wrapper")), r(this, k, Wi).call(this), c(this, Ne, window.setInterval(() => {
812
+ c(this, vt, this.closest("vindral-controller")), (t = e(this, vt)) == null || t.connectListener(this), r(this, k, cn).call(this), (s = e(this, mt)) == null || s.observe((i = this.shadowRoot) == null ? void 0 : i.querySelector(".wrapper")), r(this, k, Wi).call(this), c(this, Ne, window.setInterval(() => {
813
813
  r(this, k, gn).call(this);
814
814
  }, 1e4));
815
815
  }
816
816
  disconnectedCallback() {
817
817
  var t;
818
- clearInterval(e(this, Ne)), this.removeEventListener("keydown", this), (t = e(this, bt)) == null || t.disconnect();
818
+ clearInterval(e(this, Ne)), this.removeEventListener("keydown", this), (t = e(this, mt)) == null || t.disconnect();
819
819
  }
820
820
  attributeChangedCallback(t, i, s) {
821
821
  if (i !== s)
@@ -840,8 +840,8 @@ class dn extends HTMLElement {
840
840
  c(this, Ue, an()), (t = e(this, T)) == null || t.focus();
841
841
  }
842
842
  }
843
- bt = new WeakMap(), mt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T = new WeakMap(), jt = new WeakMap(), Ne = new WeakMap(), Ue = new WeakMap(), Re = new WeakMap(), k = new WeakSet(), cn = function() {
844
- c(this, bt, new IntersectionObserver(
843
+ mt = new WeakMap(), vt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T = new WeakMap(), jt = new WeakMap(), Ne = new WeakMap(), Ue = new WeakMap(), Re = new WeakMap(), k = new WeakSet(), cn = function() {
844
+ c(this, mt, new IntersectionObserver(
845
845
  (t) => {
846
846
  t.forEach((i) => {
847
847
  const { target: s, isIntersecting: o } = i;
@@ -849,7 +849,7 @@ bt = new WeakMap(), mt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T
849
849
  });
850
850
  },
851
851
  {
852
- root: e(this, mt)
852
+ root: e(this, vt)
853
853
  }
854
854
  ));
855
855
  }, un = function(t) {
@@ -876,10 +876,10 @@ bt = new WeakMap(), mt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T
876
876
  if (u)
877
877
  return r(this, k, bn).call(this, u.element, p), u;
878
878
  const v = r(this, k, mn).call(this, p, s);
879
- return (g = e(this, bt)) == null || g.observe(v.element), t.contains(v.element) || t.appendChild(v.element), v;
879
+ return (g = e(this, mt)) == null || g.observe(v.element), t.contains(v.element) || t.appendChild(v.element), v;
880
880
  })), i.forEach((p, u) => {
881
881
  var v;
882
- e(this, Xt).some((g) => g.channelId === u) || ((v = e(this, bt)) == null || v.unobserve(p.element), p.element.remove());
882
+ e(this, Xt).some((g) => g.channelId === u) || ((v = e(this, mt)) == null || v.unobserve(p.element), p.element.remove());
883
883
  }), e(this, O).sort((p, u) => p.element.hasAttribute("offline") && !u.element.hasAttribute("offline") ? 1 : -1).forEach((p) => {
884
884
  t.contains(p.element) || t.appendChild(p.element);
885
885
  });
@@ -896,11 +896,11 @@ bt = new WeakMap(), mt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T
896
896
  this.hasAttribute("hidden") || e(this, O).forEach((t) => t.element.updateThumbnail());
897
897
  }, fn = function(t) {
898
898
  var i;
899
- (i = e(this, mt)) == null || i.setAttribute("channel-id", t.channelId);
899
+ (i = e(this, vt)) == null || i.setAttribute("channel-id", t.channelId);
900
900
  }, En = function(t) {
901
901
  var u, v, g;
902
902
  const { key: i, ctrlKey: s, altKey: o, metaKey: p } = t;
903
- s || o || p || this.keysUsed.includes(i) && (t.preventDefault(), t.stopPropagation(), i === "Tab" || i === "Escape" ? ((u = this.parentElement) == null || u.removeAttribute("open"), (v = e(this, mt)) == null || v.focus()) : i === "Enter" || i === " " ? (g = e(this, T)) == null || g.click() : r(this, k, An).call(this, t));
903
+ s || o || p || this.keysUsed.includes(i) && (t.preventDefault(), t.stopPropagation(), i === "Tab" || i === "Escape" ? ((u = this.parentElement) == null || u.removeAttribute("open"), (v = e(this, vt)) == null || v.focus()) : i === "Enter" || i === " " ? (g = e(this, T)) == null || g.click() : r(this, k, An).call(this, t));
904
904
  }, An = function(t) {
905
905
  var u;
906
906
  if (!e(this, T)) return;
@@ -953,7 +953,7 @@ bt = new WeakMap(), mt = new WeakMap(), Xt = new WeakMap(), O = new WeakMap(), T
953
953
  "mode",
954
954
  "hidden"
955
955
  ]);
956
- const ho = (
956
+ const co = (
957
957
  /* SVG */
958
958
  `
959
959
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-grid" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="currentColor" stroke-linecap="round" stroke-linejoin="round">
@@ -979,7 +979,7 @@ yn.innerHTML = /* HTML */
979
979
  display: none;
980
980
  }
981
981
  </style>
982
- <slot name="button">${ho}</slot>
982
+ <slot name="button">${co}</slot>
983
983
  `;
984
984
  var Vt, _, j, wi, R, kn, ts, gi, es, is;
985
985
  const ge = class ge extends tt {
@@ -1088,7 +1088,7 @@ class In extends HTMLElement {
1088
1088
  }
1089
1089
  }
1090
1090
  m(In, "observedAttributes", []);
1091
- class co extends li {
1091
+ class uo extends li {
1092
1092
  constructor(t) {
1093
1093
  super();
1094
1094
  m(this, "config");
@@ -1217,7 +1217,7 @@ const St = class St extends li {
1217
1217
  m(St, "isFullscreenApiSupported", (t) => (t.requestFullscreen || t.webkitRequestFullscreen || t.webkitEnterFullscreen || t.mozRequestFullScreen) !== void 0);
1218
1218
  let be = St;
1219
1219
  var Ii, Ci, Li, Ti, Yt, xi, Si, _e, Jt;
1220
- class uo extends li {
1220
+ class po extends li {
1221
1221
  constructor(t) {
1222
1222
  super();
1223
1223
  m(this, "unload", () => {
@@ -1247,7 +1247,7 @@ class uo extends li {
1247
1247
  l(this, Li, () => G(this, null, function* () {
1248
1248
  yield this.element.requestPictureInPicture();
1249
1249
  }));
1250
- l(this, Ti, () => G(this, null, function* () {
1250
+ l(this, Ti, () => G(null, null, function* () {
1251
1251
  yield document.exitPictureInPicture();
1252
1252
  }));
1253
1253
  l(this, Yt, () => !!this.element.requestPictureInPicture && !!document.pictureInPictureEnabled);
@@ -1617,17 +1617,20 @@ Sn.innerHTML = /* HTML */
1617
1617
  right: 0;
1618
1618
  transition: opacity 0.5s;
1619
1619
  user-select: none;
1620
- pointer-events: auto;
1621
-
1622
- // Ensure the #ui element is above the video element on Safari
1623
- z-index: 1;
1620
+ pointer-events: none;
1624
1621
  }
1625
1622
 
1626
1623
  #ui > * {
1627
- pointer-events: auto;
1628
1624
  display: var(--ui-display);
1629
1625
  }
1630
1626
 
1627
+ #ui > slot::slotted(*) {
1628
+ pointer-events: auto;
1629
+ z-index: 10;
1630
+ // Ensure the #ui element is above the video element on Safari
1631
+ // and that we can layer things under, between, and above ui and video
1632
+ }
1633
+
1631
1634
  #video {
1632
1635
  cursor: none;
1633
1636
  display: flex;
@@ -1635,6 +1638,10 @@ Sn.innerHTML = /* HTML */
1635
1638
  z-index: 0;
1636
1639
  }
1637
1640
 
1641
+ :host([user-interacting]) #video {
1642
+ cursor: auto;
1643
+ }
1644
+
1638
1645
  #video > canvas {
1639
1646
  object-fit: contain;
1640
1647
  }
@@ -1645,12 +1652,11 @@ Sn.innerHTML = /* HTML */
1645
1652
  flex-grow: 1;
1646
1653
  }
1647
1654
 
1648
- slot#top-bar {
1655
+ #top-bar::slotted(*) {
1649
1656
  background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
1650
1657
  padding: var(--control-padding);
1651
1658
  }
1652
-
1653
- slot#bottom-bar {
1659
+ #bottom-bar::slotted(*) {
1654
1660
  padding: var(--control-padding);
1655
1661
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
1656
1662
  }
@@ -1722,15 +1728,15 @@ Sn.innerHTML = /* HTML */
1722
1728
  </div>
1723
1729
  `;
1724
1730
  const qi = ["ArrowDown", "ArrowLeft", "ArrowRight", "Tab", "Enter", " ", "f", "m"];
1725
- var Ri, it, Oe, vt, gt, b, Fe, st, nt, ee, rt, B, V, F, ot, He, ze, U, ft, h, ss, Nn, Un, Rn, ns, _n, Pn, Mn, Ge, Dn, On, Fn, Hn, $e, _i, Pi, zn, Rt, rs, os, fi, pt, Gn, $n, Bn, as, Mi, Di, ls, A, w;
1731
+ var Ri, it, Oe, gt, ft, b, Fe, st, nt, ee, rt, B, V, F, ot, He, ze, U, Et, h, ss, Nn, Un, Rn, ns, _n, Pn, Mn, Ge, Dn, On, Fn, Hn, $e, _i, Pi, zn, Rt, rs, os, fi, pt, Gn, $n, Bn, as, Mi, Di, ls, A, w;
1726
1732
  const fe = class fe extends HTMLElement {
1727
1733
  constructor() {
1728
1734
  super();
1729
1735
  l(this, h);
1730
1736
  l(this, it, /* @__PURE__ */ new Map());
1731
1737
  l(this, Oe, 2e3);
1732
- l(this, vt, null);
1733
1738
  l(this, gt, null);
1739
+ l(this, ft, null);
1734
1740
  l(this, b);
1735
1741
  l(this, Fe, e(fe, Ri));
1736
1742
  l(this, st);
@@ -1744,7 +1750,7 @@ const fe = class fe extends HTMLElement {
1744
1750
  l(this, He);
1745
1751
  l(this, ze);
1746
1752
  l(this, U);
1747
- l(this, ft, null);
1753
+ l(this, Et, null);
1748
1754
  l(this, Ge, 0);
1749
1755
  m(this, "handleEvent", (t) => {
1750
1756
  switch (t.type) {
@@ -1809,11 +1815,11 @@ const fe = class fe extends HTMLElement {
1809
1815
  }
1810
1816
  break;
1811
1817
  case f.CHANNEL_GRID_OPENED: {
1812
- e(this, ft) === null && r(this, h, rs).call(this);
1818
+ e(this, Et) === null && r(this, h, rs).call(this);
1813
1819
  break;
1814
1820
  }
1815
1821
  case f.CHANNEL_GRID_CLOSED: {
1816
- e(this, ft) !== null && (clearTimeout(e(this, ft)), c(this, ft, null));
1822
+ e(this, Et) !== null && (clearTimeout(e(this, Et)), c(this, Et, null));
1817
1823
  break;
1818
1824
  }
1819
1825
  case f.ENTER_PIP:
@@ -1872,7 +1878,7 @@ const fe = class fe extends HTMLElement {
1872
1878
  }
1873
1879
  connectedCallback() {
1874
1880
  return G(this, null, function* () {
1875
- S(this.getAttribute("auto-instance-enabled"), !0) && (yield r(this, h, ss).call(this));
1881
+ N(this.getAttribute("auto-instance-enabled"), !0) && (yield r(this, h, ss).call(this));
1876
1882
  for (const i of Object.values(f))
1877
1883
  this.addEventListener(i, e(this, $e));
1878
1884
  window.PointerEvent ? (this.addEventListener("pointerdown", this), this.addEventListener("pointermove", this), this.addEventListener("pointerup", this)) : this.addEventListener("mousemove", this), this.addEventListener("mouseleave", this), this.addEventListener("keydown", this), this.addEventListener("resize", this), this.addEventListener("dblclick", this), this.connectListener(this), this.tabIndex = 0, this.focus({ preventScroll: !0 });
@@ -1886,7 +1892,7 @@ const fe = class fe extends HTMLElement {
1886
1892
  this.disconnectListener(this);
1887
1893
  }
1888
1894
  attributeChangedCallback(t, i, s) {
1889
- var o, p, u, v, g, P, et, J, Ct, Lt, Tt, hi, di, ci, ui;
1895
+ var o, p, u, v, g, P, et, J, Lt, Tt, xt, hi, di, ci, ui;
1890
1896
  if (i != s)
1891
1897
  switch (e(this, U).debug("Attribute changed", { name: t, oldValue: i, newValue: s }), t) {
1892
1898
  case "channel-id":
@@ -1929,7 +1935,7 @@ const fe = class fe extends HTMLElement {
1929
1935
  L(s) ? ((P = e(this, b)) != null && P.mediaElement && (e(this, b).mediaElement.style.display = "hidden"), (et = e(this, b)) == null || et.pause()) : (J = e(this, b)) != null && J.mediaElement && (e(this, b).mediaElement.style.display = "block");
1930
1936
  break;
1931
1937
  case "is-casting":
1932
- L(s) ? ((Ct = e(this, B)) != null && Ct.isFullscreen() && r(this, h, as).call(this), (Lt = e(this, b)) == null || Lt.pause()) : document.hidden || (Tt = e(this, b)) == null || Tt.play();
1938
+ L(s) ? ((Lt = e(this, B)) != null && Lt.isFullscreen() && r(this, h, as).call(this), (Tt = e(this, b)) == null || Tt.pause()) : document.hidden || (xt = e(this, b)) == null || xt.play();
1933
1939
  break;
1934
1940
  case "cast-receiver-id":
1935
1941
  c(this, He, s);
@@ -2016,12 +2022,12 @@ const fe = class fe extends HTMLElement {
2016
2022
  r(this, h, ss).call(this);
2017
2023
  }
2018
2024
  };
2019
- Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(), gt = new WeakMap(), b = new WeakMap(), Fe = new WeakMap(), st = new WeakMap(), nt = new WeakMap(), ee = new WeakMap(), rt = new WeakMap(), B = new WeakMap(), V = new WeakMap(), F = new WeakMap(), ot = new WeakMap(), He = new WeakMap(), ze = new WeakMap(), U = new WeakMap(), ft = new WeakMap(), h = new WeakSet(), ss = function() {
2025
+ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), gt = new WeakMap(), ft = new WeakMap(), b = new WeakMap(), Fe = new WeakMap(), st = new WeakMap(), nt = new WeakMap(), ee = new WeakMap(), rt = new WeakMap(), B = new WeakMap(), V = new WeakMap(), F = new WeakMap(), ot = new WeakMap(), He = new WeakMap(), ze = new WeakMap(), U = new WeakMap(), Et = new WeakMap(), h = new WeakSet(), ss = function() {
2020
2026
  return G(this, null, function* () {
2021
2027
  var Hs, zs;
2022
2028
  if (!e(this, st)) return;
2023
2029
  yield (Hs = e(this, b)) == null ? void 0 : Hs.unload();
2024
- const t = this.hasAttribute(n.PAUSED), i = this.hasAttribute(n.MUTED), s = Vs(this.getAttribute(n.MEDIA)), o = this.getAttribute(n.TEXT_TRACK) || void 0, p = this.getAttribute("edge-url") || void 0, u = this.getAttribute("authentication-token") || void 0, v = bi(this.getAttribute("max-video-bit-rate")), g = oo(this.getAttribute("max-size")), P = bi(this.getAttribute("min-buffer-time")), et = bi(this.getAttribute("max-buffer-time")), J = S(this.getAttribute("burst-enabled")), Ct = S(this.getAttribute("mse-enabled")), Lt = S(this.getAttribute("mse-opus-enabled")), Tt = S(this.getAttribute("ios-background-play-enabled")), hi = S(this.getAttribute("ios-wake-lock-enabled")), di = S(this.getAttribute("ios-media-element-enabled")), ci = S(this.getAttribute("abr-enabled")), ui = S(this.getAttribute("size-based-resolution-cap-enabled")), z = S(this.getAttribute("telemetry-enabled")), Ur = ro(this.getAttribute("video-codecs")), Os = Ys(this.getAttribute("poster")), Rr = ao(this.getAttribute("advanced")), _r = Ki(this.getAttribute("log-level")), Pr = {
2030
+ const t = this.hasAttribute(n.PAUSED), i = this.hasAttribute(n.MUTED), s = Vs(this.getAttribute(n.MEDIA)), o = this.getAttribute(n.TEXT_TRACK) || void 0, p = this.getAttribute("edge-url") || void 0, u = this.getAttribute("authentication-token") || void 0, v = bi(this.getAttribute("max-video-bit-rate")), g = ao(this.getAttribute("max-size")), P = bi(this.getAttribute("min-buffer-time")), et = bi(this.getAttribute("max-buffer-time")), J = N(this.getAttribute("burst-enabled")), Lt = N(this.getAttribute("mse-enabled")), Tt = N(this.getAttribute("mse-opus-enabled")), xt = N(this.getAttribute("ios-background-play-enabled")), hi = N(this.getAttribute("ios-wake-lock-enabled")), di = N(this.getAttribute("ios-media-element-enabled")), ci = N(this.getAttribute("abr-enabled")), ui = N(this.getAttribute("size-based-resolution-cap-enabled")), z = N(this.getAttribute("telemetry-enabled")), Ur = oo(this.getAttribute("video-codecs")), Os = Ys(this.getAttribute("poster")), Rr = lo(this.getAttribute("advanced")), _r = Ki(this.getAttribute("log-level")), Pr = {
2025
2031
  headers: mi(this.getAttribute("drm-headers")),
2026
2032
  queryParams: mi(this.getAttribute("drm-queryparams")),
2027
2033
  widevine: {
@@ -2032,7 +2038,7 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2032
2038
  videoRobustness: vi(this.getAttribute("drm-playready-video-robustness")),
2033
2039
  audioRobustness: vi(this.getAttribute("drm-playready-audio-robustness"))
2034
2040
  }
2035
- }, Mr = S(this.getAttribute("webtransport-enabled")), Fs = bi(this.getAttribute("reconnect-retries")), Dr = Fs !== void 0 ? (y) => y.reconnectRetries < Fs : void 0, Or = this.getAttribute("language") || void 0;
2041
+ }, Mr = N(this.getAttribute("webtransport-enabled")), Fs = bi(this.getAttribute("reconnect-retries")), Dr = Fs !== void 0 ? (y) => y.reconnectRetries < Fs : void 0, Or = this.getAttribute("language") || void 0;
2036
2042
  c(this, b, new Vr({
2037
2043
  url: e(this, Fe),
2038
2044
  channelId: e(this, st),
@@ -2046,9 +2052,9 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2046
2052
  minBufferTime: P,
2047
2053
  maxBufferTime: et,
2048
2054
  burstEnabled: J,
2049
- mseEnabled: Ct,
2050
- mseOpusEnabled: Lt,
2051
- iosBackgroundPlayEnabled: Tt,
2055
+ mseEnabled: Lt,
2056
+ mseOpusEnabled: Tt,
2057
+ iosBackgroundPlayEnabled: xt,
2052
2058
  iosWakeLockEnabled: hi,
2053
2059
  iosMediaElementEnabled: di,
2054
2060
  abrEnabled: ci,
@@ -2103,14 +2109,14 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2103
2109
  y != null && y.forVideo ? (r(this, h, A).call(this, n.NEEDS_USER_INPUT_VIDEO, ""), r(this, h, w).call(this, n.NEEDS_USER_INPUT_AUDIO)) : y != null && y.forAudio && (r(this, h, A).call(this, n.NEEDS_USER_INPUT_AUDIO, ""), r(this, h, w).call(this, n.NEEDS_USER_INPUT_VIDEO));
2104
2110
  }), e(this, b).on("is live", (y) => {
2105
2111
  y || r(this, h, w).call(this, n.BUFFERING);
2106
- }), c(this, gt, (zs = this.shadowRoot) == null ? void 0 : zs.querySelector("#video")), e(this, gt) && e(this, b).attach(e(this, gt)), this.setAttribute(n.MEDIA, e(this, b).media), e(this, b).muted && r(this, h, A).call(this, n.MUTED, ""), r(this, h, A).call(this, n.VOLUME, e(this, b).volume.toString()), L(Os) || r(this, h, A).call(this, n.POSTER_SRC, e(this, b).getThumbnailUrl());
2107
- const Fr = S(this.getAttribute(n.AIRPLAY_ENABLED), !1), Hr = S(this.getAttribute(n.CAST_ENABLED), !0), zr = S(this.getAttribute(n.FULLSCREEN_ENABLED), !0), Gr = S(this.getAttribute(n.PIP_ENABLED), !0), $r = S(this.getAttribute(n.VU_METER_ENABLED), !1);
2112
+ }), c(this, ft, (zs = this.shadowRoot) == null ? void 0 : zs.querySelector("#video")), e(this, ft) && e(this, b).attach(e(this, ft)), this.setAttribute(n.MEDIA, e(this, b).media), e(this, b).muted && r(this, h, A).call(this, n.MUTED, ""), r(this, h, A).call(this, n.VOLUME, e(this, b).volume.toString()), L(Os) || r(this, h, A).call(this, n.POSTER_SRC, e(this, b).getThumbnailUrl());
2113
+ const Fr = N(this.getAttribute(n.AIRPLAY_ENABLED), !1), Hr = N(this.getAttribute(n.CAST_ENABLED), !0), zr = N(this.getAttribute(n.FULLSCREEN_ENABLED), !0), Gr = N(this.getAttribute(n.PIP_ENABLED), !0), $r = N(this.getAttribute(n.VU_METER_ENABLED), !1);
2108
2114
  Fr && r(this, h, Pn).call(this, e(this, b)), Hr && r(this, h, Rn).call(this, e(this, b)), zr && r(this, h, Un).call(this, e(this, b)), Gr && r(this, h, Nn).call(this, e(this, b)), t || e(this, b).play(), $r && r(this, h, Mn).call(this, e(this, b)), this.dispatchEvent(
2109
2115
  new CustomEvent("vindral-instance-ready", { bubbles: !0, composed: !0, detail: e(this, b) })
2110
2116
  );
2111
2117
  });
2112
2118
  }, Nn = function(t) {
2113
- t.mediaElement instanceof HTMLVideoElement && (c(this, rt, new uo(t.mediaElement)), e(this, rt).isSupported() && (e(this, U).debug("PIP is supported"), r(this, h, A).call(this, n.PIP_AVAILABLE, "")), e(this, rt).on("on picture in picture change", (i) => {
2119
+ t.mediaElement instanceof HTMLVideoElement && (c(this, rt, new po(t.mediaElement)), e(this, rt).isSupported() && (e(this, U).debug("PIP is supported"), r(this, h, A).call(this, n.PIP_AVAILABLE, "")), e(this, rt).on("on picture in picture change", (i) => {
2114
2120
  i ? r(this, h, A).call(this, n.IS_PIP, "") : r(this, h, w).call(this, n.IS_PIP);
2115
2121
  }));
2116
2122
  }, Un = function(t) {
@@ -2119,7 +2125,7 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2119
2125
  s ? r(this, h, A).call(this, n.FULLSCREEN, "") : r(this, h, w).call(this, n.FULLSCREEN);
2120
2126
  });
2121
2127
  }, Rn = function(t) {
2122
- c(this, ot, new Zr({
2128
+ c(this, ot, new to({
2123
2129
  background: e(this, ze),
2124
2130
  receiverApplicationId: e(this, He),
2125
2131
  options: t.getCastOptions()
@@ -2140,7 +2146,7 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2140
2146
  var s;
2141
2147
  (s = e(this, V)) == null || s.unload();
2142
2148
  const i = t.getCastOptions();
2143
- c(this, V, new co({
2149
+ c(this, V, new uo({
2144
2150
  url: i.url,
2145
2151
  channelId: i.channelId,
2146
2152
  authenticationToken: i.authenticationToken,
@@ -2166,10 +2172,10 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2166
2172
  }), r(this, h, A).call(this, n.VOLUME_LEVEL, JSON.stringify({ left: null, right: null })), (!e(this, F).isMediaElementSource || !this.hasAttribute(n.MUTED)) && e(this, F).start();
2167
2173
  }
2168
2174
  }, Ge = new WeakMap(), Dn = function(t) {
2169
- t.pointerType !== "mouse" && t.timeStamp - e(this, Ge) < 250 || (r(this, h, fi).call(this), e(this, vt) && clearTimeout(e(this, vt)), t.target instanceof HTMLElement && ([this, e(this, gt)].includes(t.target) || t.target.localName === "vindral-scroll-overlay") && r(this, h, pt).call(this));
2175
+ t.pointerType !== "mouse" && t.timeStamp - e(this, Ge) < 250 || (r(this, h, fi).call(this), e(this, gt) && clearTimeout(e(this, gt)), t.target instanceof HTMLElement && ([this, e(this, ft)].includes(t.target) || t.target.localName === "vindral-scroll-overlay") && r(this, h, pt).call(this));
2170
2176
  }, On = function(t) {
2171
2177
  const i = this.hasAttribute(n.USER_INTERACTING);
2172
- t.pointerType === "touch" && t.target instanceof HTMLElement ? [this, e(this, gt)].includes(t.target) && i ? r(this, h, os).call(this) : r(this, h, pt).call(this) : t.composedPath().some((s) => s instanceof HTMLElement && ["vindral-play-button"].includes(s == null ? void 0 : s.localName)) && r(this, h, pt).call(this);
2178
+ t.pointerType === "touch" && t.target instanceof HTMLElement ? [this, e(this, ft)].includes(t.target) && i ? r(this, h, os).call(this) : r(this, h, pt).call(this) : t.composedPath().some((s) => s instanceof HTMLElement && ["vindral-play-button"].includes(s == null ? void 0 : s.localName)) && r(this, h, pt).call(this);
2173
2179
  }, Fn = function(t) {
2174
2180
  !e(this, B) || t.target instanceof tt || t.target instanceof Ms || t.target instanceof Ds || (this.hasAttribute(n.FULLSCREEN) ? this.removeAttribute(n.FULLSCREEN) : this.setAttribute(n.FULLSCREEN, ""));
2175
2181
  }, Hn = function(t) {
@@ -2201,7 +2207,7 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2201
2207
  const i = yield e(this, b).getApiClient().getChannels(e(this, nt));
2202
2208
  r(this, h, A).call(this, n.CHANNELS, JSON.stringify(i));
2203
2209
  }
2204
- c(this, ft, window.setTimeout(() => void r(this, h, rs).call(this), 1e4));
2210
+ c(this, Et, window.setTimeout(() => void r(this, h, rs).call(this), 1e4));
2205
2211
  });
2206
2212
  }, os = function() {
2207
2213
  !this.hasAttribute(n.USER_INTERACTING) || this.hasAttribute(n.UI_LOCKED) || (this.dispatchEvent(
@@ -2214,7 +2220,7 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2214
2220
  );
2215
2221
  });
2216
2222
  }, pt = function() {
2217
- r(this, h, fi).call(this), e(this, vt) && clearTimeout(e(this, vt)), e(this, Oe) && c(this, vt, self.setTimeout(() => {
2223
+ r(this, h, fi).call(this), e(this, gt) && clearTimeout(e(this, gt)), e(this, Oe) && c(this, gt, self.setTimeout(() => {
2218
2224
  r(this, h, os).call(this);
2219
2225
  }, e(this, Oe)));
2220
2226
  }, Gn = function() {
@@ -2286,12 +2292,12 @@ Ri = new WeakMap(), it = new WeakMap(), Oe = new WeakMap(), vt = new WeakMap(),
2286
2292
  "language"
2287
2293
  ]), l(fe, Ri, "https://lb.cdn.vindral.com");
2288
2294
  let Le = fe;
2289
- const Kn = document.createElement("template"), po = (
2295
+ const Kn = document.createElement("template"), bo = (
2290
2296
  /* SVG */
2291
2297
  `
2292
2298
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-maximize"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 8v-2a2 2 0 0 1 2 -2h2" /><path d="M4 16v2a2 2 0 0 0 2 2h2" /><path d="M16 4h2a2 2 0 0 1 2 2v2" /><path d="M16 20h2a2 2 0 0 0 2 -2v-2" /></svg>
2293
2299
  `
2294
- ), bo = (
2300
+ ), mo = (
2295
2301
  /* SVG */
2296
2302
  `
2297
2303
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-minimize"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 19v-2a2 2 0 0 1 2 -2h2" /><path d="M15 5v2a2 2 0 0 0 2 2h2" /><path d="M5 15h2a2 2 0 0 1 2 2v2" /><path d="M5 9h2a2 2 0 0 0 2 -2v-2" /></svg>
@@ -2314,8 +2320,8 @@ Kn.innerHTML = /* HTML */
2314
2320
  </style>
2315
2321
 
2316
2322
  <slot name="icon">
2317
- <slot name="enter">${po}</slot>
2318
- <slot name="exit">${bo}</slot>
2323
+ <slot name="enter">${bo}</slot>
2324
+ <slot name="exit">${mo}</slot>
2319
2325
  </slot>
2320
2326
  `;
2321
2327
  const Ee = class Ee extends tt {
@@ -2345,7 +2351,7 @@ const Ee = class Ee extends tt {
2345
2351
  };
2346
2352
  m(Ee, "observedAttributes", [...q(Ee, Ee, "observedAttributes"), n.FULLSCREEN]);
2347
2353
  let hs = Ee;
2348
- const mo = (
2354
+ const vo = (
2349
2355
  /* SVG */
2350
2356
  `
2351
2357
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 5h7" /><path d="M9 3v2c0 4.418 -2.239 8 -5 8" /><path d="M5 9c0 2.144 2.952 3.908 6.7 4" /><path d="M12 20l4 -9l4 9" /><path d="M19.1 18h-6.2" /></svg>
@@ -2359,7 +2365,7 @@ qn.innerHTML = /* HTML */
2359
2365
  }
2360
2366
  </style>
2361
2367
 
2362
- <slot name="button">${mo}</slot>
2368
+ <slot name="button">${vo}</slot>
2363
2369
  <slot name="listbox" hidden>
2364
2370
  <vindral-language-menu-list id="listbox" part="listbox"></vindral-language-menu-list>
2365
2371
  </slot>
@@ -2384,7 +2390,7 @@ Be = new WeakSet(), cs = function() {
2384
2390
  i && s ? this.setAttribute("hidden", "") : this.removeAttribute("hidden");
2385
2391
  }, m(Ae, "observedAttributes", [...q(Ae, Ae, "observedAttributes"), n.LANGUAGES, n.TEXT_TRACKS]);
2386
2392
  let ds = Ae;
2387
- const Xn = document.createElement("template"), vo = (
2393
+ const Xn = document.createElement("template"), go = (
2388
2394
  /* SVG */
2389
2395
  `
2390
2396
  <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="#fff" viewBox="0 0 78.369 78.369" xml:space="preserve"><path d="M78.049 19.015 29.458 67.606a1.094 1.094 0 0 1-1.548 0L.32 40.015a1.094 1.094 0 0 1 0-1.547l6.704-6.704a1.095 1.095 0 0 1 1.548 0l20.113 20.112 41.113-41.113a1.095 1.095 0 0 1 1.548 0l6.703 6.704a1.094 1.094 0 0 1 0 1.548z"/></svg>
@@ -2466,7 +2472,7 @@ Xn.innerHTML = /* HTML */
2466
2472
  }
2467
2473
 
2468
2474
  [role="menuitem"][aria-selected="true"]::before {
2469
- content: url("data:image/svg+xml,${encodeURIComponent(vo)}");
2475
+ content: url("data:image/svg+xml,${encodeURIComponent(go)}");
2470
2476
  position: absolute;
2471
2477
  left: var(--padding-3);
2472
2478
  top: calc(50% - 8px);
@@ -2505,7 +2511,7 @@ Xn.innerHTML = /* HTML */
2505
2511
  <div class="menu"></div>
2506
2512
  </div>
2507
2513
  `;
2508
- var Ke, qe, Xe, je, Q, K, _t, Et, ie, Ve, at, W, E, Vn, Yn, us, ps, Ei, ue, pe, Jn, Qn, Wn, bs, ms, Zn;
2514
+ var Ke, qe, Xe, je, Q, K, _t, At, ie, Ve, at, W, E, Vn, Yn, us, ps, Ei, ue, pe, Jn, Qn, Wn, bs, ms, Zn;
2509
2515
  class jn extends HTMLElement {
2510
2516
  constructor() {
2511
2517
  super();
@@ -2517,7 +2523,7 @@ class jn extends HTMLElement {
2517
2523
  l(this, Q, []);
2518
2524
  l(this, K, []);
2519
2525
  l(this, _t, null);
2520
- l(this, Et, null);
2526
+ l(this, At, null);
2521
2527
  l(this, ie, null);
2522
2528
  l(this, Ve, null);
2523
2529
  l(this, at, null);
@@ -2534,7 +2540,7 @@ class jn extends HTMLElement {
2534
2540
  connectedCallback() {
2535
2541
  var i, s, o;
2536
2542
  const t = this.getRootNode();
2537
- t instanceof ShadowRoot && (c(this, ie, t.host.closest("vindral-controller")), (i = e(this, ie)) == null || i.connectListener(this), c(this, _t, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#languages .menu")), c(this, Et, (o = this.shadowRoot) == null ? void 0 : o.querySelector("#text-tracks .menu")), r(this, E, Vn).call(this), r(this, E, Yn).call(this), c(this, Ve, t.host), this.addEventListener("keydown", this));
2543
+ t instanceof ShadowRoot && (c(this, ie, t.host.closest("vindral-controller")), (i = e(this, ie)) == null || i.connectListener(this), c(this, _t, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#languages .menu")), c(this, At, (o = this.shadowRoot) == null ? void 0 : o.querySelector("#text-tracks .menu")), r(this, E, Vn).call(this), r(this, E, Yn).call(this), c(this, Ve, t.host), this.addEventListener("keydown", this));
2538
2544
  }
2539
2545
  disconnectedCallback() {
2540
2546
  this.removeEventListener("keydown", this);
@@ -2561,7 +2567,7 @@ class jn extends HTMLElement {
2561
2567
  e(this, at) ? e(this, at).focus() : e(this, W) && e(this, W).focus();
2562
2568
  }
2563
2569
  }
2564
- Ke = new WeakMap(), qe = new WeakMap(), Xe = new WeakMap(), je = new WeakMap(), Q = new WeakMap(), K = new WeakMap(), _t = new WeakMap(), Et = new WeakMap(), ie = new WeakMap(), Ve = new WeakMap(), at = new WeakMap(), W = new WeakMap(), E = new WeakSet(), Vn = function() {
2570
+ Ke = new WeakMap(), qe = new WeakMap(), Xe = new WeakMap(), je = new WeakMap(), Q = new WeakMap(), K = new WeakMap(), _t = new WeakMap(), At = new WeakMap(), ie = new WeakMap(), Ve = new WeakMap(), at = new WeakMap(), W = new WeakMap(), E = new WeakSet(), Vn = function() {
2565
2571
  const t = (s) => {
2566
2572
  s.forEach((o) => {
2567
2573
  if (o.intersectionRatio !== 1)
@@ -2579,13 +2585,13 @@ Ke = new WeakMap(), qe = new WeakMap(), Xe = new WeakMap(), je = new WeakMap(),
2579
2585
  // 0 means any intersection is enough to be considered "inside"
2580
2586
  }).observe(this);
2581
2587
  }, Yn = function() {
2582
- e(this, _t) && (r(this, E, ps).call(this), r(this, E, ue).call(this)), e(this, Et) && (r(this, E, us).call(this), r(this, E, pe).call(this));
2588
+ e(this, _t) && (r(this, E, ps).call(this), r(this, E, ue).call(this)), e(this, At) && (r(this, E, us).call(this), r(this, E, pe).call(this));
2583
2589
  }, us = function() {
2584
- e(this, Et).innerHTML = "", c(this, K, []);
2590
+ e(this, At).innerHTML = "", c(this, K, []);
2585
2591
  const t = r(this, E, Ei).call(this, "Off", "textTrack", void 0);
2586
- e(this, Et).appendChild(t), e(this, K).push({ element: t, value: void 0 }), e(this, qe).forEach((i) => {
2592
+ e(this, At).appendChild(t), e(this, K).push({ element: t, value: void 0 }), e(this, qe).forEach((i) => {
2587
2593
  const s = r(this, E, Ei).call(this, i, "textTrack", i);
2588
- e(this, Et).appendChild(s), e(this, K).push({ element: s, value: i });
2594
+ e(this, At).appendChild(s), e(this, K).push({ element: s, value: i });
2589
2595
  }), r(this, E, pe).call(this);
2590
2596
  }, ps = function() {
2591
2597
  e(this, _t).innerHTML = "", c(this, Q, []), e(this, Ke).forEach((t) => {
@@ -2639,7 +2645,7 @@ Ke = new WeakMap(), qe = new WeakMap(), Xe = new WeakMap(), je = new WeakMap(),
2639
2645
  n.LANGUAGE,
2640
2646
  n.TEXT_TRACK
2641
2647
  ]);
2642
- const tr = document.createElement("template"), go = (
2648
+ const tr = document.createElement("template"), fo = (
2643
2649
  /* SVG */
2644
2650
  `
2645
2651
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" <g fill="none" stroke="currentColor">
@@ -2647,7 +2653,7 @@ const tr = document.createElement("template"), go = (
2647
2653
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2" />
2648
2654
  </g></svg>
2649
2655
  `
2650
- ), fo = (
2656
+ ), Eo = (
2651
2657
  /* SVG */
2652
2658
  `
2653
2659
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" <g fill="none" stroke="currentColor">
@@ -2671,8 +2677,8 @@ tr.innerHTML = /* HTML */
2671
2677
  </style>
2672
2678
 
2673
2679
  <slot name="icon">
2674
- <slot name="mute">${go}</slot>
2675
- <slot name="unmute">${fo}</slot>
2680
+ <slot name="mute">${fo}</slot>
2681
+ <slot name="unmute">${Eo}</slot>
2676
2682
  </slot>
2677
2683
  `;
2678
2684
  const ye = class ye extends tt {
@@ -2702,7 +2708,7 @@ const ye = class ye extends tt {
2702
2708
  };
2703
2709
  m(ye, "observedAttributes", [...q(ye, ye, "observedAttributes"), n.MUTED]);
2704
2710
  let vs = ye;
2705
- const er = document.createElement("template"), Eo = (
2711
+ const er = document.createElement("template"), Ao = (
2706
2712
  /* SVG */
2707
2713
  `
2708
2714
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M19 4a3 3 0 0 1 3 3v4a1 1 0 0 1 -2 0v-4a1 1 0 0 0 -1 -1h-14a1 1 0 0 0 -1 1v10a1 1 0 0 0 1 1h6a1 1 0 0 1 0 2h-6a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3z" /><path d="M20 13a2 2 0 0 1 2 2v3a2 2 0 0 1 -2 2h-5a2 2 0 0 1 -2 -2v-3a2 2 0 0 1 2 -2z" /></svg>
@@ -2719,7 +2725,7 @@ er.innerHTML = /* HTML */
2719
2725
  display: none !important;
2720
2726
  }
2721
2727
  </style>
2722
- <slot name="icon">${Eo}</slot>
2728
+ <slot name="icon">${Ao}</slot>
2723
2729
  `;
2724
2730
  const ke = class ke extends tt {
2725
2731
  constructor() {
@@ -2754,12 +2760,12 @@ const ke = class ke extends tt {
2754
2760
  };
2755
2761
  m(ke, "observedAttributes", [...q(ke, ke, "observedAttributes"), n.IS_PIP, n.PIP_AVAILABLE]);
2756
2762
  let gs = ke;
2757
- const ir = document.createElement("template"), Ao = (
2763
+ const ir = document.createElement("template"), yo = (
2758
2764
  /* SVG */
2759
2765
  `
2760
2766
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" /></svg>
2761
2767
  `
2762
- ), yo = (
2768
+ ), ko = (
2763
2769
  /* SVG */
2764
2770
  `
2765
2771
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" /><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" /></svg>
@@ -2782,8 +2788,8 @@ ir.innerHTML = /* HTML */
2782
2788
  </style>
2783
2789
 
2784
2790
  <slot name="icon">
2785
- <slot name="play">${Ao}</slot>
2786
- <slot name="pause">${yo}</slot>
2791
+ <slot name="play">${yo}</slot>
2792
+ <slot name="pause">${ko}</slot>
2787
2793
  </slot>
2788
2794
  `;
2789
2795
  const we = class we extends tt {
@@ -2818,61 +2824,61 @@ const X = {
2818
2824
  OFFLINE: "offline",
2819
2825
  REFRESH_POSTER_ENABLED: "refresh-poster-enabled",
2820
2826
  STREAM_POLL_ENABLED: "stream-poll-enabled"
2821
- }, ko = Object.values(X);
2822
- var Ye, se, At, Pt, yt, kt, lt, H, Es, sr, As, ys;
2823
- class wo extends li {
2827
+ }, wo = Object.values(X);
2828
+ var Ye, se, yt, Pt, kt, wt, lt, H, Es, sr, As, ys;
2829
+ class Io extends li {
2824
2830
  constructor(t) {
2825
2831
  super();
2826
2832
  l(this, H);
2827
2833
  l(this, Ye);
2828
2834
  l(this, se);
2829
- l(this, At, !1);
2835
+ l(this, yt, !1);
2830
2836
  l(this, Pt, !1);
2831
- l(this, yt, !0);
2832
- l(this, kt, null);
2837
+ l(this, kt, !0);
2838
+ l(this, wt, null);
2833
2839
  l(this, lt, null);
2834
- c(this, se, t), c(this, Ye, new to({
2840
+ c(this, se, t), c(this, Ye, new eo({
2835
2841
  publicEndpoint: t.url,
2836
2842
  tokenFactory: () => t.authenticationToken
2837
2843
  }));
2838
2844
  }
2839
2845
  start(t = 5e3) {
2840
- e(this, lt) && clearInterval(e(this, lt)), c(this, At, !1), c(this, Pt, !1), r(this, H, ys).call(this), r(this, H, Es).call(this), c(this, lt, window.setInterval(() => {
2841
- !e(this, Pt) && !e(this, se).infiniteReconnect && !e(this, kt) && e(this, yt) && c(this, kt, window.setTimeout(() => r(this, H, sr).call(this), 5 * 60 * 1e3)), !e(this, Pt) && e(this, yt) && r(this, H, Es).call(this);
2846
+ e(this, lt) && clearInterval(e(this, lt)), c(this, yt, !1), c(this, Pt, !1), r(this, H, ys).call(this), r(this, H, Es).call(this), c(this, lt, window.setInterval(() => {
2847
+ !e(this, Pt) && !e(this, se).infiniteReconnect && !e(this, wt) && e(this, kt) && c(this, wt, window.setTimeout(() => r(this, H, sr).call(this), 300 * 1e3)), !e(this, Pt) && e(this, kt) && r(this, H, Es).call(this);
2842
2848
  }, t));
2843
2849
  }
2844
2850
  stop() {
2845
2851
  r(this, H, As).call(this), e(this, lt) && (window.clearInterval(e(this, lt)), c(this, lt, null));
2846
2852
  }
2847
2853
  }
2848
- Ye = new WeakMap(), se = new WeakMap(), At = new WeakMap(), Pt = new WeakMap(), yt = new WeakMap(), kt = new WeakMap(), lt = new WeakMap(), H = new WeakSet(), Es = function() {
2854
+ Ye = new WeakMap(), se = new WeakMap(), yt = new WeakMap(), Pt = new WeakMap(), kt = new WeakMap(), wt = new WeakMap(), lt = new WeakMap(), H = new WeakSet(), Es = function() {
2849
2855
  return G(this, null, function* () {
2850
- if (e(this, At))
2856
+ if (e(this, yt))
2851
2857
  return;
2852
- c(this, At, !0);
2858
+ c(this, yt, !0);
2853
2859
  let t = "Stream is offline", i = "Please stand by";
2854
2860
  try {
2855
2861
  const s = yield e(this, Ye).getChannel(e(this, se).channelId);
2856
2862
  if (s.isLive) {
2857
- c(this, Pt, !0), r(this, H, ys).call(this), this.emit("live", s), c(this, At, !1);
2863
+ c(this, Pt, !0), r(this, H, ys).call(this), this.emit("live", s), c(this, yt, !1);
2858
2864
  return;
2859
2865
  }
2860
2866
  } catch (s) {
2861
- eo(s) && (s.status === 403 || s.status === 401) && (t = "Forbidden", i = "You do not have permission to view this stream");
2867
+ io(s) && (s.status === 403 || s.status === 401) && (t = "Forbidden", i = "You do not have permission to view this stream");
2862
2868
  }
2863
- e(this, yt) && this.emit("error", { title: t, message: i }), c(this, At, !1);
2869
+ e(this, kt) && this.emit("error", { title: t, message: i }), c(this, yt, !1);
2864
2870
  });
2865
2871
  }, sr = function() {
2866
- this.stop(), c(this, yt, !1), this.emit("timeout");
2872
+ this.stop(), c(this, kt, !1), this.emit("timeout");
2867
2873
  }, As = function() {
2868
- e(this, kt) && (window.clearTimeout(e(this, kt)), c(this, kt, null));
2874
+ e(this, wt) && (window.clearTimeout(e(this, wt)), c(this, wt, null));
2869
2875
  }, ys = function() {
2870
- r(this, H, As).call(this), c(this, yt, !0);
2876
+ r(this, H, As).call(this), c(this, kt, !0);
2871
2877
  };
2872
- const Io = new RegExp(
2878
+ const Co = new RegExp(
2873
2879
  "/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/",
2874
2880
  "i"
2875
- ), Co = navigator.userAgent.toLowerCase(), Lo = Io.test(Co), To = (d) => Le.observedAttributes.includes(d), nr = (
2881
+ ), Lo = navigator.userAgent.toLowerCase(), To = Co.test(Lo), xo = (d) => Le.observedAttributes.includes(d), nr = (
2876
2882
  /* HTML */
2877
2883
  `
2878
2884
  <style>
@@ -2884,7 +2890,7 @@ const Io = new RegExp(
2884
2890
  display: flex;
2885
2891
  justify-content: center;
2886
2892
 
2887
- --vindral-volume-range-display: ${Lo ? "none" : "flex"};
2893
+ --vindral-volume-range-display: ${To ? "none" : "flex"};
2888
2894
  --vindral-airplay-button-display: none;
2889
2895
  --vindral-play-overlay-display: none;
2890
2896
  --vindral-grid-item-offline-display: none;
@@ -2913,6 +2919,11 @@ const Io = new RegExp(
2913
2919
  }
2914
2920
  }
2915
2921
 
2922
+ vindral-scroll-overlay {
2923
+ z-index: 20;
2924
+ // needs to be higher than bottom bar/UI
2925
+ }
2926
+
2916
2927
  :host([${X.OFFLINE}]) {
2917
2928
  aspect-ratio: 16 / 9;
2918
2929
  vindral-controller {
@@ -2947,7 +2958,7 @@ const Io = new RegExp(
2947
2958
  }
2948
2959
  </style>
2949
2960
  `
2950
- ), xo = (
2961
+ ), So = (
2951
2962
  /* HTML */
2952
2963
  `
2953
2964
  ${nr}
@@ -2982,7 +2993,7 @@ const Io = new RegExp(
2982
2993
  <vindral-message id="vindral-message" slot="overlay" hidden></vindral-message>
2983
2994
  </vindral-controller>
2984
2995
  `
2985
- ), So = (
2996
+ ), No = (
2986
2997
  /* HTML */
2987
2998
  `
2988
2999
  ${nr}
@@ -3009,11 +3020,11 @@ const Io = new RegExp(
3009
3020
  </vindral-controller>
3010
3021
  `
3011
3022
  ), Xs = document.createElement("template");
3012
- var Z, x, M, ht, dt, Oi, Je, Fi, N, ks, or, Qe, Ai, xt;
3023
+ var Z, x, M, ht, dt, Oi, Je, Fi, S, ks, or, Qe, Ai, bt;
3013
3024
  class rr extends HTMLElement {
3014
3025
  constructor() {
3015
3026
  super();
3016
- l(this, N);
3027
+ l(this, S);
3017
3028
  l(this, Z);
3018
3029
  l(this, x);
3019
3030
  l(this, M);
@@ -3025,28 +3036,31 @@ class rr extends HTMLElement {
3025
3036
  });
3026
3037
  });
3027
3038
  l(this, Je, (t, i) => {
3028
- To(t) && (L(i) ? e(this, x).setAttribute(t, i) : e(this, x).removeAttribute(t));
3039
+ xo(t) && (L(i) ? e(this, x).setAttribute(t, i) : e(this, x).removeAttribute(t));
3029
3040
  });
3030
- l(this, Fi, () => Vs(this.getAttribute(n.MEDIA)) === "audio" ? So : xo);
3041
+ l(this, Fi, () => Vs(this.getAttribute(n.MEDIA)) === "audio" ? No : So);
3031
3042
  l(this, Qe, () => {
3032
3043
  const t = e(this, x).instance;
3033
3044
  t && (t.on("is live", (i) => {
3034
- i ? (this.removeAttribute(X.OFFLINE), e(this, M).setAttribute("hidden", "")) : (this.setAttribute(X.OFFLINE, ""), e(this, M).removeAttribute("hidden"), r(this, N, xt).call(this, "Stream is offline", "Please stand by"));
3045
+ i ? (this.removeAttribute(X.OFFLINE), e(this, M).setAttribute("hidden", "")) : (this.setAttribute(X.OFFLINE, ""), e(this, M).removeAttribute("hidden"), r(this, S, bt).call(this, "Stream is offline", "Please stand by"));
3035
3046
  }), t.on("channels", (i) => {
3036
3047
  const s = e(this, x).getAttribute("channel-id"), o = i.find((p) => p.channelId === s);
3037
- o && r(this, N, Ai).call(this, o);
3048
+ o && r(this, S, Ai).call(this, o);
3038
3049
  }), t.on("channel switch", ({ channelId: i }) => {
3039
3050
  const s = t.channels.find((o) => o.channelId === i);
3040
- s && r(this, N, Ai).call(this, s);
3051
+ s && r(this, S, Ai).call(this, s);
3041
3052
  }), t.on("error", (i) => {
3042
- let s = "Stream is offline", o = "Please stand by";
3043
- i.isFatal() ? (i.code() === Jr ? (s = "Forbidden", o = "You do not have permission to view this stream", r(this, N, xt).call(this, s, o)) : r(this, N, xt).call(this, "An error occurred", i.message), e(this, ht).removeAttribute("hidden"), this.setAttribute(X.OFFLINE, ""), e(this, x).dispatchEvent(new CustomEvent(f.EXIT_FULLSCREEN)), e(this, x).dispatchEvent(new CustomEvent(f.EXIT_PIP))) : i.code() === Qr && r(this, N, xt).call(this, s, o);
3053
+ if (i.code() === Jr) {
3054
+ r(this, S, bt).call(this, "Stream is offline", "Please stand by");
3055
+ return;
3056
+ }
3057
+ i.isFatal() && (i.code() === Qr ? r(this, S, bt).call(this, "Forbidden", "You do not have permission to view this stream") : i.code() === Wr ? r(this, S, bt).call(this, "Stream is offline", "Please stand by") : r(this, S, bt).call(this, "An error occurred", i.message), e(this, ht).removeAttribute("hidden"), this.setAttribute(X.OFFLINE, ""), e(this, x).dispatchEvent(new CustomEvent(f.EXIT_FULLSCREEN)), e(this, x).dispatchEvent(new CustomEvent(f.EXIT_PIP)));
3044
3058
  }));
3045
3059
  });
3046
- c(this, Z, this.attachShadow({ mode: "open" })), r(this, N, ks).call(this), c(this, x, e(this, Z).querySelector("vindral-controller")), c(this, M, e(this, Z).querySelector("#vindral-message")), c(this, ht, e(this, Z).querySelector("#play-overlay"));
3060
+ c(this, Z, this.attachShadow({ mode: "open" })), r(this, S, ks).call(this), c(this, x, e(this, Z).querySelector("vindral-controller")), c(this, M, e(this, Z).querySelector("#vindral-message")), c(this, ht, e(this, Z).querySelector("#play-overlay"));
3047
3061
  }
3048
3062
  connectedCallback() {
3049
- this.setAttribute(X.OFFLINE, ""), e(this, x).addEventListener("vindral-instance-ready", e(this, Qe)), r(this, N, or).call(this);
3063
+ this.setAttribute(X.OFFLINE, ""), e(this, x).addEventListener("vindral-instance-ready", e(this, Qe)), r(this, S, or).call(this);
3050
3064
  }
3051
3065
  disconnectedCallback() {
3052
3066
  var t;
@@ -3055,10 +3069,10 @@ class rr extends HTMLElement {
3055
3069
  attributeChangedCallback(t, i, s) {
3056
3070
  if (i !== s)
3057
3071
  if (t === n.MEDIA)
3058
- r(this, N, ks).call(this);
3072
+ r(this, S, ks).call(this);
3059
3073
  else if (t === X.REFRESH_POSTER_ENABLED) {
3060
3074
  const o = e(this, Z).querySelector("vindral-poster-overlay");
3061
- o && (o.disabled = S(this.getAttribute(X.REFRESH_POSTER_ENABLED), !1) === !1);
3075
+ o && (o.disabled = N(this.getAttribute(X.REFRESH_POSTER_ENABLED), !1) === !1);
3062
3076
  } else
3063
3077
  e(this, Je).call(this, t, s);
3064
3078
  }
@@ -3069,7 +3083,7 @@ class rr extends HTMLElement {
3069
3083
  return e(this, x).airPlay;
3070
3084
  }
3071
3085
  }
3072
- Z = new WeakMap(), x = new WeakMap(), M = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), Oi = new WeakMap(), Je = new WeakMap(), Fi = new WeakMap(), N = new WeakSet(), ks = function() {
3086
+ Z = new WeakMap(), x = new WeakMap(), M = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), Oi = new WeakMap(), Je = new WeakMap(), Fi = new WeakMap(), S = new WeakSet(), ks = function() {
3073
3087
  Xs.innerHTML = e(this, Fi).call(this);
3074
3088
  const t = Xs.content.cloneNode(!0);
3075
3089
  c(this, x, t.querySelector("vindral-controller")), c(this, M, t.querySelector("#vindral-message")), c(this, ht, t.querySelector("#play-overlay")), this.children.length > 0 && Array.from(this.children).forEach((i) => {
@@ -3077,24 +3091,24 @@ Z = new WeakMap(), x = new WeakMap(), M = new WeakMap(), ht = new WeakMap(), dt
3077
3091
  }), e(this, Oi).call(this), e(this, Z).innerHTML = "", e(this, Z).appendChild(t);
3078
3092
  }, or = function() {
3079
3093
  var p;
3080
- if (S(this.getAttribute(X.STREAM_POLL_ENABLED), !0) === !1)
3094
+ if (N(this.getAttribute(X.STREAM_POLL_ENABLED), !0) === !1)
3081
3095
  return;
3082
3096
  const t = this.getAttribute("url"), i = this.getAttribute("channel-id"), s = (p = this.getAttribute("authentication-token")) != null ? p : void 0, o = this.hasAttribute("infinite-reconnect");
3083
3097
  if (!t || !i) {
3084
- this.setAttribute(X.OFFLINE, ""), r(this, N, xt).call(this, "Invalid options", "Please enter at least a channel id and url to start the stream");
3098
+ this.setAttribute(X.OFFLINE, ""), r(this, S, bt).call(this, "Invalid options", "Please enter at least a channel id and url to start the stream");
3085
3099
  return;
3086
3100
  }
3087
- c(this, dt, new wo({
3101
+ c(this, dt, new Io({
3088
3102
  url: t,
3089
3103
  channelId: i,
3090
3104
  authenticationToken: s,
3091
3105
  infiniteReconnect: o
3092
3106
  })), e(this, dt).on("live", (u) => {
3093
- e(this, x).connect(), this.removeAttribute("offline"), e(this, M).setAttribute("hidden", ""), r(this, N, Ai).call(this, u);
3107
+ e(this, x).connect(), this.removeAttribute("offline"), e(this, M).setAttribute("hidden", ""), r(this, S, Ai).call(this, u);
3094
3108
  }), e(this, dt).on("timeout", () => {
3095
3109
  e(this, M).setAttribute("hidden", ""), e(this, ht).removeAttribute("hidden");
3096
3110
  }), e(this, dt).on("error", (u) => {
3097
- this.setAttribute(X.OFFLINE, ""), r(this, N, xt).call(this, u.title, u.message);
3111
+ this.setAttribute(X.OFFLINE, ""), r(this, S, bt).call(this, u.title, u.message);
3098
3112
  }), e(this, ht).addEventListener("click", () => {
3099
3113
  e(this, x).connect(), e(this, ht).setAttribute("hidden", ""), e(this, M).setAttribute("hidden", ""), e(this, x).focus();
3100
3114
  }), this.hasAttribute("paused") && e(this, dt).start();
@@ -3104,15 +3118,15 @@ Z = new WeakMap(), x = new WeakMap(), M = new WeakMap(), ht = new WeakMap(), dt
3104
3118
  if (!i) return;
3105
3119
  const s = this.getAttribute("poster"), o = typeof i == "string" ? i : t.name;
3106
3120
  let p;
3107
- typeof s == "string" ? p = s : p = (v = (u = this.instance) == null ? void 0 : u.getThumbnailUrl()) != null ? v : t.thumbnailUrls.length ? t.thumbnailUrls[0] : void 0, no({
3121
+ typeof s == "string" ? p = s : p = (v = (u = this.instance) == null ? void 0 : u.getThumbnailUrl()) != null ? v : t.thumbnailUrls.length ? t.thumbnailUrls[0] : void 0, ro({
3108
3122
  title: o,
3109
3123
  poster: p
3110
3124
  });
3111
- }, xt = function(t, i) {
3125
+ }, bt = function(t, i) {
3112
3126
  e(this, M).setAttribute("title", t), e(this, M).setAttribute("description", i);
3113
3127
  const s = this.getAttribute("poster");
3114
3128
  s && e(this, M).setAttribute("background-image", s), e(this, M).removeAttribute("hidden");
3115
- }, m(rr, "observedAttributes", [...Le.observedAttributes, ...ko]);
3129
+ }, m(rr, "observedAttributes", [...Le.observedAttributes, ...wo]);
3116
3130
  const ar = document.createElement("template");
3117
3131
  ar.innerHTML = /* HTML */
3118
3132
  `
@@ -3150,14 +3164,14 @@ ar.innerHTML = /* HTML */
3150
3164
  }
3151
3165
  </style>
3152
3166
  `;
3153
- const No = 6e3;
3154
- var ne, wt, Mt, re, Y, hr, yi, ws, Hi;
3167
+ const Uo = 6e3;
3168
+ var ne, It, Mt, re, Y, hr, yi, ws, Hi;
3155
3169
  class lr extends HTMLElement {
3156
3170
  constructor() {
3157
3171
  super();
3158
3172
  l(this, Y);
3159
3173
  l(this, ne, null);
3160
- l(this, wt, null);
3174
+ l(this, It, null);
3161
3175
  l(this, Mt, null);
3162
3176
  l(this, re, () => {
3163
3177
  !document.hidden && this.hasAttribute("intersecting") && this.paused && !this.disabled ? r(this, Y, hr).call(this) : r(this, Y, yi).call(this);
@@ -3193,10 +3207,10 @@ class lr extends HTMLElement {
3193
3207
  return this.hasAttribute(n.PAUSED);
3194
3208
  }
3195
3209
  }
3196
- ne = new WeakMap(), wt = new WeakMap(), Mt = new WeakMap(), re = new WeakMap(), Y = new WeakSet(), hr = function() {
3197
- e(this, wt) === null && (r(this, Y, yi).call(this), c(this, wt, window.setInterval(() => r(this, Y, ws).call(this), No)));
3210
+ ne = new WeakMap(), It = new WeakMap(), Mt = new WeakMap(), re = new WeakMap(), Y = new WeakSet(), hr = function() {
3211
+ e(this, It) === null && (r(this, Y, yi).call(this), c(this, It, window.setInterval(() => r(this, Y, ws).call(this), Uo)));
3198
3212
  }, yi = function() {
3199
- e(this, wt) !== null && (clearInterval(e(this, wt)), c(this, wt, null)), this.style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAQAAACRI2S5AAAAEElEQVR42mNkIAAYRxWAAQAG9gAKqv6+AwAAAABJRU5ErkJggg==')";
3213
+ e(this, It) !== null && (clearInterval(e(this, It)), c(this, It, null)), this.style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAQAAACRI2S5AAAAEElEQVR42mNkIAAYRxWAAQAG9gAKqv6+AwAAAABJRU5ErkJggg==')";
3200
3214
  }, ws = function() {
3201
3215
  if (!this.posterSrc) return;
3202
3216
  const t = new URL(this.posterSrc), i = new Image();
@@ -3207,7 +3221,7 @@ ne = new WeakMap(), wt = new WeakMap(), Mt = new WeakMap(), re = new WeakMap(),
3207
3221
  "disabled",
3208
3222
  "intersecting"
3209
3223
  ]);
3210
- const Uo = (
3224
+ const Ro = (
3211
3225
  /* SVG */
3212
3226
  `
3213
3227
  <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-settings-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="#2c3e50" fill="none" stroke-linecap="round" stroke-linejoin="round">
@@ -3224,7 +3238,7 @@ dr.innerHTML = /* HTML */
3224
3238
  }
3225
3239
  </style>
3226
3240
 
3227
- <slot name="button">${Uo}</slot>
3241
+ <slot name="button">${Ro}</slot>
3228
3242
  <slot name="listbox" hidden>
3229
3243
  <vindral-rendition-levels-menu-list id="listbox" part="listbox"></vindral-rendition-levels-menu-list>
3230
3244
  </slot>
@@ -3249,7 +3263,7 @@ We = new WeakSet(), Cs = function() {
3249
3263
  !t || t === "[]" ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
3250
3264
  }, m(Ie, "observedAttributes", [...q(Ie, Ie, "observedAttributes"), n.RENDITION_LEVELS]);
3251
3265
  let Is = Ie;
3252
- const cr = document.createElement("template"), Ro = (
3266
+ const cr = document.createElement("template"), _o = (
3253
3267
  /* SVG */
3254
3268
  `
3255
3269
  <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="#fff" viewBox="0 0 78.369 78.369" xml:space="preserve"><path d="M78.049 19.015 29.458 67.606a1.094 1.094 0 0 1-1.548 0L.32 40.015a1.094 1.094 0 0 1 0-1.547l6.704-6.704a1.095 1.095 0 0 1 1.548 0l20.113 20.112 41.113-41.113a1.095 1.095 0 0 1 1.548 0l6.703 6.704a1.094 1.094 0 0 1 0 1.548z"/></svg>
@@ -3328,7 +3342,7 @@ cr.innerHTML = /* HTML */
3328
3342
  }
3329
3343
 
3330
3344
  [role="menuitem"][aria-selected="true"]::before {
3331
- content: url("data:image/svg+xml,${encodeURIComponent(Ro)}");
3345
+ content: url("data:image/svg+xml,${encodeURIComponent(_o)}");
3332
3346
  position: absolute;
3333
3347
  left: calc(var(--padding-3) - var(--padding-1));
3334
3348
  top: calc(50% - 8px);
@@ -3358,14 +3372,14 @@ cr.innerHTML = /* HTML */
3358
3372
  <div class="menu"></div>
3359
3373
  </slot>
3360
3374
  `;
3361
- var Dt, Ze, It, ct, Ot, ti, C, pr, Ls, br, Ts, mr, vr, gr, xs, fr;
3375
+ var Dt, Ze, Ct, ct, Ot, ti, C, pr, Ls, br, Ts, mr, vr, gr, xs, fr;
3362
3376
  class ur extends HTMLElement {
3363
3377
  constructor() {
3364
3378
  super();
3365
3379
  l(this, C);
3366
3380
  l(this, Dt, []);
3367
3381
  l(this, Ze, Number.MAX_SAFE_INTEGER);
3368
- l(this, It, null);
3382
+ l(this, Ct, null);
3369
3383
  l(this, ct, []);
3370
3384
  l(this, Ot, null);
3371
3385
  l(this, ti, null);
@@ -3401,10 +3415,10 @@ class ur extends HTMLElement {
3401
3415
  }
3402
3416
  focus() {
3403
3417
  var t;
3404
- (t = e(this, It)) == null || t.focus();
3418
+ (t = e(this, Ct)) == null || t.focus();
3405
3419
  }
3406
3420
  }
3407
- Dt = new WeakMap(), Ze = new WeakMap(), It = new WeakMap(), ct = new WeakMap(), Ot = new WeakMap(), ti = new WeakMap(), C = new WeakSet(), pr = function() {
3421
+ Dt = new WeakMap(), Ze = new WeakMap(), Ct = new WeakMap(), ct = new WeakMap(), Ot = new WeakMap(), ti = new WeakMap(), C = new WeakSet(), pr = function() {
3408
3422
  const t = (s) => {
3409
3423
  s.forEach((o) => {
3410
3424
  if (o.intersectionRatio !== 1)
@@ -3428,18 +3442,18 @@ Dt = new WeakMap(), Ze = new WeakMap(), It = new WeakMap(), ct = new WeakMap(),
3428
3442
  var p, u;
3429
3443
  return (p = s.video) != null && p.bitRate && ((u = o.video) != null && u.bitRate) ? o.video.bitRate - s.video.bitRate : 0;
3430
3444
  }).forEach((s) => {
3431
- var v, g, P, et, J, Ct, Lt, Tt;
3445
+ var v, g, P, et, J, Lt, Tt, xt;
3432
3446
  const o = document.createElement("div");
3433
3447
  o.setAttribute("role", "menuitem"), o.setAttribute("value", String((v = s.video) == null ? void 0 : v.height)), o.classList.add("menu-item"), o.tabIndex = -1;
3434
3448
  const p = r(this, C, br).call(this, (g = s.video) == null ? void 0 : g.frameRate);
3435
- o.textContent = s.video ? so(s.video) : "";
3449
+ o.textContent = s.video ? no(s.video) : "";
3436
3450
  const u = document.createElement("span");
3437
- u.classList.add("menu-item-subtitle"), u.textContent = `${io(((et = (P = s.video) == null ? void 0 : P.bitRate) != null ? et : 0) + ((Ct = (J = s.audio) == null ? void 0 : J.bitRate) != null ? Ct : 0))}, ${p}p`, o.appendChild(u), o.addEventListener("click", () => r(this, C, mr).call(this, s)), e(this, ct).push({ el: o, id: (Tt = (Lt = s.video) == null ? void 0 : Lt.id) != null ? Tt : -1 }), t.appendChild(o);
3451
+ u.classList.add("menu-item-subtitle"), u.textContent = `${so(((et = (P = s.video) == null ? void 0 : P.bitRate) != null ? et : 0) + ((Lt = (J = s.audio) == null ? void 0 : J.bitRate) != null ? Lt : 0))}, ${p}p`, o.appendChild(u), o.addEventListener("click", () => r(this, C, mr).call(this, s)), e(this, ct).push({ el: o, id: (xt = (Tt = s.video) == null ? void 0 : Tt.id) != null ? xt : -1 }), t.appendChild(o);
3438
3452
  }), r(this, C, Ts).call(this));
3439
3453
  }, br = function(t) {
3440
3454
  return t ? t[0] % t[1] === 0 ? (t[0] / t[1]).toString() : (t[0] / t[1]).toFixed(2) : "";
3441
3455
  }, Ts = function() {
3442
- e(this, It) && (e(this, It).removeAttribute("aria-selected"), e(this, It).tabIndex = -1);
3456
+ e(this, Ct) && (e(this, Ct).removeAttribute("aria-selected"), e(this, Ct).tabIndex = -1);
3443
3457
  const t = e(this, Dt).sort(
3444
3458
  (s, o) => {
3445
3459
  var p, u;
@@ -3456,7 +3470,7 @@ Dt = new WeakMap(), Ze = new WeakMap(), It = new WeakMap(), ct = new WeakMap(),
3456
3470
  var p;
3457
3471
  return o.id === ((p = i.video) == null ? void 0 : p.id);
3458
3472
  });
3459
- s && (s.el.tabIndex = 0, s.el.setAttribute("aria-selected", "true"), c(this, It, s.el));
3473
+ s && (s.el.tabIndex = 0, s.el.setAttribute("aria-selected", "true"), c(this, Ct, s.el));
3460
3474
  }
3461
3475
  }, mr = function(t) {
3462
3476
  this.dispatchEvent(new Event("change", { bubbles: !0, composed: !0 })), this.dispatchEvent(
@@ -3531,6 +3545,7 @@ Er.innerHTML = /* HTML */
3531
3545
  pointer-events: auto;
3532
3546
  scroll-snap-align: start;
3533
3547
  min-height: 1px;
3548
+ -webkit-tap-highlight-color: transparent;
3534
3549
  }
3535
3550
 
3536
3551
  slot#content {
@@ -3596,7 +3611,7 @@ class Ar extends HTMLElement {
3596
3611
  this.open && (this.open = !1);
3597
3612
  });
3598
3613
  const g = this.hasAttribute("touch-enabled");
3599
- if (!Wr() || !g) {
3614
+ if (!Zr() || !g) {
3600
3615
  this.setAttribute("snap", ""), this.addEventListener("scroll", e(this, Gi));
3601
3616
  return;
3602
3617
  }
@@ -3647,12 +3662,12 @@ ut = new WeakMap(), Ft = new WeakMap(), oe = new WeakMap(), ei = new WeakMap(),
3647
3662
  }, Rs = function() {
3648
3663
  this.visible = !1, this.dispatchEvent(new CustomEvent(f.UNLOCK_UI, { bubbles: !0, composed: !0 }));
3649
3664
  }, m(Ar, "observedAttributes", [n.USER_INTERACTING, "open", "touch-enabled"]);
3650
- const Ir = document.createElement("template"), _o = (
3665
+ const Ir = document.createElement("template"), Po = (
3651
3666
  /* SVG */
3652
3667
  `
3653
3668
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" /></svg>
3654
3669
  `
3655
- ), Po = (
3670
+ ), Mo = (
3656
3671
  /* SVG */
3657
3672
  `
3658
3673
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z" clip-rule="evenodd" /><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2" /></g></svg>
@@ -3711,8 +3726,8 @@ Ir.innerHTML = /* HTML */
3711
3726
  </style>
3712
3727
 
3713
3728
  <slot name="icon">
3714
- <slot name="play">${_o}</slot>
3715
- <slot name="unmute">${Po}</slot>
3729
+ <slot name="play">${Po}</slot>
3730
+ <slot name="unmute">${Mo}</slot>
3716
3731
  </slot>
3717
3732
  `;
3718
3733
  var ae, ii, Ht, si;
@@ -3785,14 +3800,12 @@ Lr.innerHTML = /* HTML */
3785
3800
  font-size: 20px;
3786
3801
  color: var(--fg-strong);
3787
3802
  pointer-events: none;
3803
+ transition: opacity 100ms;
3804
+ background-color: rgba(0, 0, 0, 0.3);
3788
3805
  }
3789
3806
 
3790
3807
  :host([hidden]) {
3791
- display: none;
3792
- }
3793
-
3794
- #background {
3795
- opacity: 0.7;
3808
+ opacity: 0;
3796
3809
  }
3797
3810
 
3798
3811
  #message-container {
@@ -3810,12 +3823,9 @@ Lr.innerHTML = /* HTML */
3810
3823
 
3811
3824
  #title,
3812
3825
  #description {
3813
- position: static;
3814
- width: 100%;
3815
3826
  text-align: center;
3816
3827
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
3817
3828
  margin: 0;
3818
- pointer-events: none;
3819
3829
  }
3820
3830
 
3821
3831
  #title {
@@ -3878,7 +3888,7 @@ class Tr extends HTMLElement {
3878
3888
  }
3879
3889
  }
3880
3890
  ni = new WeakMap(), ri = new WeakMap(), oi = new WeakMap(), m(Tr, "observedAttributes", ["title", "description", "background-image", "hidden"]);
3881
- const xr = document.createElement("template"), Mo = (
3891
+ const xr = document.createElement("template"), Do = (
3882
3892
  /* SVG */
3883
3893
  `
3884
3894
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" /></svg>
@@ -3934,7 +3944,7 @@ xr.innerHTML = /* HTML */
3934
3944
  }
3935
3945
  </style>
3936
3946
 
3937
- <slot id="play" name="icon">${Mo}</slot>
3947
+ <slot id="play" name="icon">${Do}</slot>
3938
3948
  `;
3939
3949
  var le;
3940
3950
  class Sr extends HTMLElement {
@@ -3966,7 +3976,7 @@ Nr.innerHTML = /* HTML */
3966
3976
  }
3967
3977
  </style>
3968
3978
  `;
3969
- const Do = (d) => `${Math.round(d * 100)}%`;
3979
+ const Oo = (d) => `${Math.round(d * 100)}%`;
3970
3980
  var ai;
3971
3981
  const Ce = class Ce extends Ds {
3972
3982
  constructor() {
@@ -3985,7 +3995,7 @@ const Ce = class Ce extends Ds {
3985
3995
  super.disconnectedCallback(), this.range.removeEventListener("input", e(this, ai));
3986
3996
  }
3987
3997
  attributeChangedCallback(t, i, s) {
3988
- super.attributeChangedCallback(t, i, s), (t === n.MUTED || t === n.VOLUME) && (this.range.valueAsNumber = this.muted ? 0 : parseFloat(this.volume), this.range.setAttribute("aria-valuetext", Do(this.range.valueAsNumber)), this.updateBar());
3998
+ super.attributeChangedCallback(t, i, s), (t === n.MUTED || t === n.VOLUME) && (this.range.valueAsNumber = this.muted ? 0 : parseFloat(this.volume), this.range.setAttribute("aria-valuetext", Oo(this.range.valueAsNumber)), this.updateBar());
3989
3999
  }
3990
4000
  get volume() {
3991
4001
  var t;
@@ -3997,9 +4007,9 @@ const Ce = class Ce extends Ds {
3997
4007
  };
3998
4008
  ai = new WeakMap(), m(Ce, "observedAttributes", [...q(Ce, Ce, "observedAttributes"), n.MUTED, n.VOLUME]);
3999
4009
  let _s = Ce;
4000
- function $o() {
4010
+ function Bo() {
4001
4011
  customElements.define("vindral-controller", Le), customElements.define("vindral-control-bar", In), customElements.define("vindral-play-button", fs), customElements.define("vindral-mute-button", vs), customElements.define("vindral-buffering-overlay", en), customElements.define("vindral-scroll-overlay", Ar), customElements.define("vindral-play-overlay", Sr), customElements.define("vindral-user-input-play-overlay", Cr), customElements.define("vindral-fullscreen-button", hs), customElements.define("vindral-rendition-levels-menu", Is), customElements.define("vindral-rendition-levels-menu-list", ur), customElements.define("vindral-channel-grid-button", Zi), customElements.define("vindral-channel-grid", dn), customElements.define("vindral-channel-grid-item", Ps), customElements.define("vindral-pip-button", gs), customElements.define("vindral-airplay-button", Vi), customElements.define("vindral-cast-button", Ji), customElements.define("vindral-cast-overlay", on), customElements.define("vindral-buffering-icon", Zs), customElements.define("vindral-language-menu", ds), customElements.define("vindral-language-menu-list", jn), customElements.define("vindral-message", Tr), customElements.define("vindral-volume-range", _s), customElements.define("vindral-poster-overlay", lr), customElements.define("vindral-player", rr);
4002
4012
  }
4003
4013
  export {
4004
- $o as registerComponents
4014
+ Bo as registerComponents
4005
4015
  };