@vindral/web-sdk 4.1.6 → 4.1.7

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
@@ -1,11 +1,11 @@
1
- var Fo = Object.defineProperty;
1
+ var Oo = Object.defineProperty;
2
2
  var Ho = Object.getPrototypeOf;
3
- var Oo = Reflect.get;
3
+ var zo = Reflect.get;
4
4
  var vr = (c) => {
5
5
  throw TypeError(c);
6
6
  };
7
- var zo = (c, a, t) => a in c ? Fo(c, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[a] = t;
8
- var m = (c, a, t) => zo(c, typeof a != "symbol" ? a + "" : a, t), sn = (c, a, t) => a.has(c) || vr("Cannot " + t);
7
+ var Bo = (c, a, t) => a in c ? Oo(c, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[a] = t;
8
+ var m = (c, a, t) => Bo(c, typeof a != "symbol" ? a + "" : a, t), sn = (c, a, t) => a.has(c) || vr("Cannot " + t);
9
9
  var e = (c, a, t) => (sn(c, a, "read from private field"), t ? t.call(c) : a.get(c)), l = (c, a, t) => a.has(c) ? vr("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(c) : a.set(c, t), d = (c, a, t, i) => (sn(c, a, "write to private field"), i ? i.call(c, t) : a.set(c, t), t), n = (c, a, t) => (sn(c, a, "access private method"), t);
10
10
  var fr = (c, a, t, i) => ({
11
11
  set _(s) {
@@ -14,8 +14,8 @@ var fr = (c, a, t, i) => ({
14
14
  get _() {
15
15
  return e(c, a, i);
16
16
  }
17
- }), J = (c, a, t) => Oo(Ho(c), t, a);
18
- var $ = (c, a, t) => new Promise((i, s) => {
17
+ }), J = (c, a, t) => zo(Ho(c), t, a);
18
+ var B = (c, a, t) => new Promise((i, s) => {
19
19
  var o = (v) => {
20
20
  try {
21
21
  p(t.next(v));
@@ -31,11 +31,11 @@ var $ = (c, a, t) => new Promise((i, s) => {
31
31
  }, p = (v) => v.done ? i(v.value) : Promise.resolve(v.value).then(o, u);
32
32
  p((t = t.apply(c, a)).next());
33
33
  });
34
- import { L as Lr, V as $o, i as Bo, C as Go, A as Ko, a as qo, b as Vo } from "./D1E3hbbb.js";
34
+ import { L as Tr, V as $o, i as Go, C as Ko, A as qo, a as Vo, b as Xo } from "./CQiPSKHx.js";
35
35
  import { E as ds } from "./Bx7s5QdT.js";
36
- import { CastSender as Xo } from "./cast-sender.js";
37
- import { A as jo, d as Yo } from "./CPEMXA01.js";
38
- const on = 1e3, ln = on * 1e3, gr = ln * 1e3, nn = (c, a, t) => c % a === 0 ? c / a : (c / a).toFixed(t), Jo = (c, a = 1) => c >= gr ? `${nn(c, gr, a)} Gbit/s` : c >= ln ? `${nn(c, ln, a)} Mbit/s` : c >= on ? `${nn(c, on, a)} Kbit/s` : `${c} bit/s`, Wo = ({ width: c, height: a }) => `${c}x${a}`, Qo = ({
36
+ import { CastSender as jo } from "./cast-sender.js";
37
+ import { A as Yo, d as Jo } from "./CPEMXA01.js";
38
+ const on = 1e3, ln = on * 1e3, gr = ln * 1e3, nn = (c, a, t) => c % a === 0 ? c / a : (c / a).toFixed(t), Wo = (c, a = 1) => c >= gr ? `${nn(c, gr, a)} Gbit/s` : c >= ln ? `${nn(c, ln, a)} Mbit/s` : c >= on ? `${nn(c, on, a)} Kbit/s` : `${c} bit/s`, Qo = ({ width: c, height: a }) => `${c}x${a}`, Zo = ({
39
39
  title: c,
40
40
  subTitle: a = "Live stream",
41
41
  poster: t
@@ -83,10 +83,11 @@ const on = 1e3, ln = on * 1e3, gr = ln * 1e3, nn = (c, a, t) => c % a === 0 ? c
83
83
  PIP_ENABLED: "pip",
84
84
  FULLSCREEN_ENABLED: "fullscreen",
85
85
  VU_METER_ENABLED: "vu-meter",
86
+ TIMESHIFT_ENABLED: "timeshift",
87
+ TIMESHIFT_POSITION: "timeshift-position",
86
88
  POSTER_SRC: "poster-src",
87
- TIMESHIFT: "timeshift",
88
89
  DURATION: "duration"
89
- }, wr = Object.values(r), k = {
90
+ }, Lr = Object.values(r), k = {
90
91
  PLAY: "play",
91
92
  PAUSE: "pause",
92
93
  MUTE: "mute",
@@ -108,20 +109,20 @@ const on = 1e3, ln = on * 1e3, gr = ln * 1e3, nn = (c, a, t) => c % a === 0 ? c
108
109
  SEEK: "seek",
109
110
  GO_LIVE: "go-live"
110
111
  };
111
- function Tr(c) {
112
+ function wr(c) {
112
113
  return c === "audio" || c === "video" || c === "audio+video" ? c : "audio+video";
113
114
  }
114
115
  function rn(c) {
115
116
  return c === "trace" || c === "debug" || c === "info" || c === "warn" || c === "error" || c === "off" ? c : "off";
116
117
  }
117
- function Zo(c) {
118
+ function tl(c) {
118
119
  if (c === null)
119
120
  return;
120
121
  const a = c.split(",").map((t) => t.trim()).filter((t) => t === "h264" || t === "av1");
121
122
  if (a.length !== 0)
122
123
  return a;
123
124
  }
124
- function tl(c) {
125
+ function el(c) {
125
126
  if (c !== null)
126
127
  try {
127
128
  const a = JSON.parse(c);
@@ -134,7 +135,7 @@ function tl(c) {
134
135
  return;
135
136
  }
136
137
  }
137
- function el(c) {
138
+ function il(c) {
138
139
  if (c !== null)
139
140
  try {
140
141
  const a = JSON.parse(c);
@@ -160,7 +161,7 @@ function Wt(c) {
160
161
  function x(c) {
161
162
  return typeof c == "string";
162
163
  }
163
- function H(c, a) {
164
+ function D(c, a) {
164
165
  if (c === null)
165
166
  return a != null ? a : void 0;
166
167
  const t = c.toLowerCase();
@@ -348,7 +349,7 @@ li = new WeakSet(), dn = function() {
348
349
  r.IS_AIRPLAYING
349
350
  ]);
350
351
  let hn = Ve;
351
- const Nr = document.createElement("template"), il = (
352
+ const Nr = document.createElement("template"), sl = (
352
353
  /* SVG */
353
354
  `
354
355
  <svg width="24" height="24" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
@@ -403,7 +404,7 @@ Nr.innerHTML = /* HTML */
403
404
  }
404
405
  </style>
405
406
 
406
- <slot name="icon">${il}</slot>
407
+ <slot name="icon">${sl}</slot>
407
408
  `;
408
409
  var Ee;
409
410
  class Rr extends HTMLElement {
@@ -622,17 +623,17 @@ class Fr extends HTMLElement {
622
623
  }
623
624
  }
624
625
  ye = new WeakMap(), ke = new WeakMap(), m(Fr, "observedAttributes", [r.IS_CASTING, r.CAST_RECEIVER_NAME]);
625
- function Hr(c = document) {
626
+ function Or(c = document) {
626
627
  const a = c == null ? void 0 : c.activeElement;
627
628
  if (!a) return null;
628
629
  if (a.shadowRoot) {
629
- const t = Hr(a.shadowRoot);
630
+ const t = Or(a.shadowRoot);
630
631
  return t != null ? t : a;
631
632
  }
632
633
  return a;
633
634
  }
634
- const Or = document.createElement("template");
635
- Or.innerHTML = /* HTML */
635
+ const Hr = document.createElement("template");
636
+ Hr.innerHTML = /* HTML */
636
637
  `
637
638
  <style>
638
639
  :host {
@@ -706,7 +707,7 @@ class hr extends HTMLElement {
706
707
  l(this, se);
707
708
  m(this, "lastThumbnailUpdate");
708
709
  const t = this.attachShadow({ mode: "open" });
709
- d(this, se, document.createElement("span")), e(this, se).className = "channel-title", t.appendChild(e(this, se)), t.appendChild(Or.content.cloneNode(!0));
710
+ d(this, se, document.createElement("span")), e(this, se).className = "channel-title", t.appendChild(e(this, se)), t.appendChild(Hr.content.cloneNode(!0));
710
711
  }
711
712
  attributeChangedCallback(t, i, s) {
712
713
  if (i !== s)
@@ -796,8 +797,8 @@ zr.innerHTML = /* HTML */
796
797
  <slot name="grid" id="grid"></slot>
797
798
  </div>
798
799
  `;
799
- var Rt, Ut, Ie, X, _, Le, hi, di, ci, S, Br, Gr, Kr, pn, qr, Vr, Xr, jr, Yr, Jr, Wr, Be;
800
- class $r extends HTMLElement {
800
+ var Rt, Ut, Ie, X, _, Te, hi, di, ci, S, $r, Gr, Kr, pn, qr, Vr, Xr, jr, Yr, Jr, Wr, $e;
801
+ class Br extends HTMLElement {
801
802
  constructor() {
802
803
  super();
803
804
  l(this, S);
@@ -806,7 +807,7 @@ class $r extends HTMLElement {
806
807
  l(this, Ie, []);
807
808
  l(this, X, []);
808
809
  l(this, _);
809
- l(this, Le);
810
+ l(this, Te);
810
811
  l(this, hi);
811
812
  l(this, di);
812
813
  l(this, ci);
@@ -821,7 +822,7 @@ class $r extends HTMLElement {
821
822
  }
822
823
  connectedCallback() {
823
824
  var t, i, s;
824
- d(this, Ut, this.closest("vindral-controller")), (t = e(this, Ut)) == null || t.connectListener(this), n(this, S, Br).call(this), (s = e(this, Rt)) == null || s.observe((i = this.shadowRoot) == null ? void 0 : i.querySelector(".wrapper")), n(this, S, pn).call(this), d(this, hi, window.setInterval(() => {
825
+ d(this, Ut, this.closest("vindral-controller")), (t = e(this, Ut)) == null || t.connectListener(this), n(this, S, $r).call(this), (s = e(this, Rt)) == null || s.observe((i = this.shadowRoot) == null ? void 0 : i.querySelector(".wrapper")), n(this, S, pn).call(this), d(this, hi, window.setInterval(() => {
825
826
  n(this, S, jr).call(this);
826
827
  }, 1e4));
827
828
  }
@@ -840,7 +841,7 @@ class $r extends HTMLElement {
840
841
  d(this, Ie, JSON.parse(s)), n(this, S, pn).call(this);
841
842
  break;
842
843
  case "authentication-token":
843
- d(this, Le, s);
844
+ d(this, Te, s);
844
845
  break;
845
846
  }
846
847
  }
@@ -849,10 +850,10 @@ class $r extends HTMLElement {
849
850
  }
850
851
  focus() {
851
852
  var t;
852
- d(this, di, Hr()), (t = e(this, _)) == null || t.focus();
853
+ d(this, di, Or()), (t = e(this, _)) == null || t.focus();
853
854
  }
854
855
  }
855
- Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _ = new WeakMap(), Le = new WeakMap(), hi = new WeakMap(), di = new WeakMap(), ci = new WeakMap(), S = new WeakSet(), Br = function() {
856
+ Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _ = new WeakMap(), Te = new WeakMap(), hi = new WeakMap(), di = new WeakMap(), ci = new WeakMap(), S = new WeakSet(), $r = function() {
856
857
  d(this, Rt, new IntersectionObserver(
857
858
  (t) => {
858
859
  t.forEach((i) => {
@@ -899,7 +900,7 @@ Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _
899
900
  i.isLive ? t.removeAttribute("offline") : t.setAttribute("offline", ""), t.setAttribute("url", i.thumbnailUrls[0] || ""), t.setAttribute("title", i.name);
900
901
  }, Vr = function(t, i) {
901
902
  const s = document.createElement("vindral-channel-grid-item");
902
- return s.setAttribute("url", t.thumbnailUrls[0] || ""), s.setAttribute("title", t.name), e(this, Le) && s.setAttribute("authentication-token", e(this, Le)), t.isLive || s.setAttribute("offline", ""), t.channelId === i && (s.setAttribute("aria-selected", "true"), d(this, _, s)), s.tabIndex = -1, s.onclick = () => n(this, S, Yr).call(this, t), { element: s, thumbnail: t.thumbnailUrls[0] || "", id: t.channelId };
903
+ return s.setAttribute("url", t.thumbnailUrls[0] || ""), s.setAttribute("title", t.name), e(this, Te) && s.setAttribute("authentication-token", e(this, Te)), t.isLive || s.setAttribute("offline", ""), t.channelId === i && (s.setAttribute("aria-selected", "true"), d(this, _, s)), s.tabIndex = -1, s.onclick = () => n(this, S, Yr).call(this, t), { element: s, thumbnail: t.thumbnailUrls[0] || "", id: t.channelId };
903
904
  }, Xr = function(t) {
904
905
  e(this, X).forEach((i) => {
905
906
  i.id === t ? (i.element.setAttribute("aria-selected", "true"), i.element.tabIndex = 0, d(this, _, i.element)) : (i.element.tabIndex = -1, i.element.setAttribute("aria-selected", "false"));
@@ -921,19 +922,19 @@ Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _
921
922
  const u = e(this, _).getBoundingClientRect();
922
923
  switch (i) {
923
924
  case "ArrowUp":
924
- if (o = n(this, S, Be).call(this, u, -1, 0), o < 0) {
925
+ if (o = n(this, S, $e).call(this, u, -1, 0), o < 0) {
925
926
  (p = this.parentElement) == null || p.removeAttribute("open");
926
927
  return;
927
928
  }
928
929
  break;
929
930
  case "ArrowDown":
930
- o = n(this, S, Be).call(this, u, 1, 0);
931
+ o = n(this, S, $e).call(this, u, 1, 0);
931
932
  break;
932
933
  case "ArrowLeft":
933
- o = n(this, S, Be).call(this, u, 0, -1);
934
+ o = n(this, S, $e).call(this, u, 0, -1);
934
935
  break;
935
936
  case "ArrowRight":
936
- o = n(this, S, Be).call(this, u, 0, 1);
937
+ o = n(this, S, $e).call(this, u, 0, 1);
937
938
  break;
938
939
  case "Home":
939
940
  o = 0;
@@ -947,7 +948,7 @@ Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _
947
948
  if (!v) return;
948
949
  e(this, _).setAttribute("aria-selected", "false"), e(this, _).tabIndex = -1, d(this, _, v.element), e(this, _).setAttribute("aria-selected", "true"), e(this, _).tabIndex = 0, e(this, _).focus();
949
950
  }
950
- }, Be = function(t, i, s) {
951
+ }, $e = function(t, i, s) {
951
952
  let o = -1, u = 1 / 0;
952
953
  return e(this, X).filter((p) => p.element.getBoundingClientRect().width > 0).forEach((p, v) => {
953
954
  const A = p.element.getBoundingClientRect(), z = i === 0 || i < 0 && A.top < t.top || i > 0 && A.top > t.top, ut = s === 0 || s < 0 && A.left < t.left || s > 0 && A.left > t.left;
@@ -956,14 +957,14 @@ Rt = new WeakMap(), Ut = new WeakMap(), Ie = new WeakMap(), X = new WeakMap(), _
956
957
  at < u && (u = at, o = v);
957
958
  }
958
959
  }), o;
959
- }, m($r, "observedAttributes", [
960
+ }, m(Br, "observedAttributes", [
960
961
  r.CHANNELS,
961
962
  r.CHANNEL_ID,
962
963
  r.AUTHENTICATION_TOKEN,
963
964
  "mode",
964
965
  "hidden"
965
966
  ]);
966
- const sl = (
967
+ const nl = (
967
968
  /* SVG */
968
969
  `
969
970
  <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">
@@ -989,47 +990,47 @@ Qr.innerHTML = /* HTML */
989
990
  display: none;
990
991
  }
991
992
  </style>
992
- <slot name="button">${sl}</slot>
993
+ <slot name="button">${nl}</slot>
993
994
  `;
994
- var we, G, tt, xs, B, Zr, mn, fs, vn, fn;
995
+ var Le, G, tt, xs, $, Zr, mn, fs, vn, fn;
995
996
  const je = class je extends rt {
996
997
  constructor() {
997
998
  var t, i;
998
999
  super();
999
- l(this, B);
1000
- l(this, we);
1000
+ l(this, $);
1001
+ l(this, Le);
1001
1002
  l(this, G);
1002
1003
  l(this, tt);
1003
1004
  l(this, xs, (t) => {
1004
- t.composedPath().includes(this) || n(this, B, fs).call(this);
1005
+ t.composedPath().includes(this) || n(this, $, fs).call(this);
1005
1006
  });
1006
- (t = this.shadowRoot) == null || t.appendChild(Qr.content.cloneNode(!0)), d(this, we, (i = this.shadowRoot) == null ? void 0 : i.querySelector("slot[name=button]"));
1007
+ (t = this.shadowRoot) == null || t.appendChild(Qr.content.cloneNode(!0)), d(this, Le, (i = this.shadowRoot) == null ? void 0 : i.querySelector("slot[name=button]"));
1007
1008
  }
1008
1009
  connectedCallback() {
1009
1010
  var i;
1010
- super.connectedCallback(), this.setAttribute("aria-haspopup", "listbox"), this.enable(), n(this, B, vn).call(this);
1011
+ super.connectedCallback(), this.setAttribute("aria-haspopup", "listbox"), this.enable(), n(this, $, vn).call(this);
1011
1012
  const t = this.getRootNode();
1012
- (t instanceof Document || t instanceof ShadowRoot) && (d(this, G, t.querySelector("vindral-channel-grid")), ((i = e(this, G).parentElement) == null ? void 0 : i.localName) === "vindral-scroll-overlay" && (e(this, G).hidden = !1, e(this, G).style.position = "relative", d(this, tt, e(this, G).parentElement))), n(this, B, fn).call(this);
1013
+ (t instanceof Document || t instanceof ShadowRoot) && (d(this, G, t.querySelector("vindral-channel-grid")), ((i = e(this, G).parentElement) == null ? void 0 : i.localName) === "vindral-scroll-overlay" && (e(this, G).hidden = !1, e(this, G).style.position = "relative", d(this, tt, e(this, G).parentElement))), n(this, $, fn).call(this);
1013
1014
  }
1014
1015
  disconnectedCallback() {
1015
1016
  }
1016
1017
  attributeChangedCallback(t, i, s) {
1017
- super.attributeChangedCallback(t, i, s), (t === r.CHANNEL_GROUP_ID || t === r.CHANNELS) && n(this, B, vn).call(this);
1018
+ super.attributeChangedCallback(t, i, s), (t === r.CHANNEL_GROUP_ID || t === r.CHANNELS) && n(this, $, vn).call(this);
1018
1019
  }
1019
1020
  enable() {
1020
1021
  super.enable(), document.addEventListener("click", e(this, xs));
1021
1022
  }
1022
1023
  handleClick(t) {
1023
- n(this, B, Zr).call(this);
1024
+ n(this, $, Zr).call(this);
1024
1025
  }
1025
1026
  get isOpen() {
1026
1027
  var t, i;
1027
1028
  return ((t = e(this, tt)) == null ? void 0 : t.hasAttribute("open")) || !((i = e(this, G)) != null && i.hidden);
1028
1029
  }
1029
1030
  };
1030
- we = new WeakMap(), G = new WeakMap(), tt = new WeakMap(), xs = new WeakMap(), B = new WeakSet(), Zr = function() {
1031
+ Le = new WeakMap(), G = new WeakMap(), tt = new WeakMap(), xs = new WeakMap(), $ = new WeakSet(), Zr = function() {
1031
1032
  var t;
1032
- e(this, tt) ? e(this, tt).hasAttribute("open") ? n(this, B, fs).call(this) : n(this, B, mn).call(this) : (t = e(this, G)) != null && t.hidden ? n(this, B, mn).call(this) : n(this, B, fs).call(this), n(this, B, fn).call(this);
1033
+ e(this, tt) ? e(this, tt).hasAttribute("open") ? n(this, $, fs).call(this) : n(this, $, mn).call(this) : (t = e(this, G)) != null && t.hidden ? n(this, $, mn).call(this) : n(this, $, fs).call(this), n(this, $, fn).call(this);
1033
1034
  }, mn = function() {
1034
1035
  var t;
1035
1036
  if (e(this, tt))
@@ -1038,7 +1039,7 @@ we = new WeakMap(), G = new WeakMap(), tt = new WeakMap(), xs = new WeakMap(), B
1038
1039
  if (!((t = e(this, G)) != null && t.hidden)) return;
1039
1040
  e(this, G).hidden = !1, e(this, G).focus();
1040
1041
  }
1041
- e(this, we).setAttribute("aria-expanded", "true");
1042
+ e(this, Le).setAttribute("aria-expanded", "true");
1042
1043
  }, fs = function() {
1043
1044
  if (e(this, tt))
1044
1045
  e(this, tt).removeAttribute("open");
@@ -1046,7 +1047,7 @@ we = new WeakMap(), G = new WeakMap(), tt = new WeakMap(), xs = new WeakMap(), B
1046
1047
  if (!e(this, G) || e(this, G).hidden) return;
1047
1048
  e(this, G).hidden = !0;
1048
1049
  }
1049
- e(this, we).setAttribute("aria-expanded", "false");
1050
+ e(this, Le).setAttribute("aria-expanded", "false");
1050
1051
  }, vn = function() {
1051
1052
  this.getAttribute(r.CHANNEL_GROUP_ID) ? this.removeAttribute("hidden") : this.setAttribute("hidden", ""), this.hasAttribute(r.CHANNELS) ? this.removeAttribute("disabled") : this.setAttribute("disabled", "");
1052
1053
  }, fn = function() {
@@ -1098,7 +1099,7 @@ class ea extends HTMLElement {
1098
1099
  }
1099
1100
  }
1100
1101
  m(ea, "observedAttributes", []);
1101
- class nl extends ds {
1102
+ class rl extends ds {
1102
1103
  constructor(t) {
1103
1104
  super();
1104
1105
  m(this, "config");
@@ -1167,7 +1168,7 @@ class nl extends ds {
1167
1168
  return this.config.authenticationToken && t.searchParams.set("authenticationToken", this.config.authenticationToken), t.toString();
1168
1169
  }
1169
1170
  checkHlsUrl(t) {
1170
- return $(this, null, function* () {
1171
+ return B(this, null, function* () {
1171
1172
  try {
1172
1173
  return (yield fetch(t, { method: "HEAD" })).ok;
1173
1174
  } catch (i) {
@@ -1183,14 +1184,14 @@ const ee = class ee extends ds {
1183
1184
  m(this, "unload", () => {
1184
1185
  document.removeEventListener("webkitfullscreenchange", this.onChange), document.removeEventListener("mozfullscreenchange", this.onChange), document.removeEventListener("fullscreenchange", this.onChange), this.container.removeEventListener("webkitendfullscreen", this.onChange);
1185
1186
  });
1186
- m(this, "request", () => $(this, null, function* () {
1187
+ m(this, "request", () => B(this, null, function* () {
1187
1188
  try {
1188
1189
  yield this.requestFn();
1189
1190
  } catch (t) {
1190
1191
  throw this.onChange(), t;
1191
1192
  }
1192
1193
  }));
1193
- m(this, "exit", () => $(this, null, function* () {
1194
+ m(this, "exit", () => B(this, null, function* () {
1194
1195
  try {
1195
1196
  yield this.exitFn();
1196
1197
  } catch (t) {
@@ -1222,21 +1223,21 @@ const ee = class ee extends ds {
1222
1223
  };
1223
1224
  m(ee, "isFullscreenApiSupported", (t) => (t.requestFullscreen || t.webkitRequestFullscreen || t.webkitEnterFullscreen || t.mozRequestFullScreen) !== void 0);
1224
1225
  let pt = ee;
1225
- var Ns, Rs, Us, Ps, Te, _s, Ms, ui, Se;
1226
+ var Ns, Rs, Us, Ps, we, _s, Ms, ui, Se;
1226
1227
  class Ar extends ds {
1227
1228
  constructor(t) {
1228
1229
  super();
1229
1230
  m(this, "unload", () => {
1230
1231
  this.element.removeEventListener("enterpictureinpicture", this.onChange), this.element.removeEventListener("leavepictureinpicture", this.onChange);
1231
1232
  });
1232
- m(this, "request", () => $(this, null, function* () {
1233
+ m(this, "request", () => B(this, null, function* () {
1233
1234
  try {
1234
1235
  return yield e(this, Ns).call(this);
1235
1236
  } catch (t) {
1236
1237
  throw this.onChange(), t;
1237
1238
  }
1238
1239
  }));
1239
- m(this, "exit", () => $(this, null, function* () {
1240
+ m(this, "exit", () => B(this, null, function* () {
1240
1241
  try {
1241
1242
  return yield e(this, Rs).call(this);
1242
1243
  } catch (t) {
@@ -1247,16 +1248,16 @@ class Ar extends ds {
1247
1248
  this.emit("on picture in picture change", this.isPictureInPictureActive());
1248
1249
  });
1249
1250
  m(this, "isPictureInPictureActive", () => e(this, Ms).call(this) || e(this, _s).call(this));
1250
- m(this, "isSupported", () => e(this, Se).call(this) || e(this, Te).call(this));
1251
- l(this, Ns, () => e(this, Te).call(this) ? e(this, Us).call(this) : e(this, Se).call(this) ? e(this, ui).call(this, "picture-in-picture") : Promise.resolve());
1252
- l(this, Rs, () => this.isPictureInPictureActive() ? e(this, Te).call(this) ? e(this, Ps).call(this) : e(this, Se).call(this) ? e(this, ui).call(this, "inline") : Promise.resolve() : Promise.resolve());
1253
- l(this, Us, () => $(this, null, function* () {
1251
+ m(this, "isSupported", () => e(this, Se).call(this) || e(this, we).call(this));
1252
+ l(this, Ns, () => e(this, we).call(this) ? e(this, Us).call(this) : e(this, Se).call(this) ? e(this, ui).call(this, "picture-in-picture") : Promise.resolve());
1253
+ l(this, Rs, () => this.isPictureInPictureActive() ? e(this, we).call(this) ? e(this, Ps).call(this) : e(this, Se).call(this) ? e(this, ui).call(this, "inline") : Promise.resolve() : Promise.resolve());
1254
+ l(this, Us, () => B(this, null, function* () {
1254
1255
  yield this.element.requestPictureInPicture();
1255
1256
  }));
1256
- l(this, Ps, () => $(null, null, function* () {
1257
+ l(this, Ps, () => B(null, null, function* () {
1257
1258
  yield document.exitPictureInPicture();
1258
1259
  }));
1259
- l(this, Te, () => !!this.element.requestPictureInPicture && !!document.pictureInPictureEnabled);
1260
+ l(this, we, () => !!this.element.requestPictureInPicture && !!document.pictureInPictureEnabled);
1260
1261
  l(this, _s, () => !!document.pictureInPictureElement);
1261
1262
  l(this, Ms, () => this.element.webkitPresentationMode === "picture-in-picture");
1262
1263
  l(this, ui, (t) => (this.element.webkitSetPresentationMode && this.element.webkitSetPresentationMode(t), Promise.resolve()));
@@ -1267,12 +1268,29 @@ class Ar extends ds {
1267
1268
  return this.element;
1268
1269
  }
1269
1270
  }
1270
- Ns = new WeakMap(), Rs = new WeakMap(), Us = new WeakMap(), Ps = new WeakMap(), Te = new WeakMap(), _s = new WeakMap(), Ms = new WeakMap(), ui = new WeakMap(), Se = new WeakMap();
1271
+ Ns = new WeakMap(), Rs = new WeakMap(), Us = new WeakMap(), Ps = new WeakMap(), we = new WeakMap(), _s = new WeakMap(), Ms = new WeakMap(), ui = new WeakMap(), Se = new WeakMap();
1271
1272
  const yr = (c) => {
1272
1273
  var t;
1273
1274
  let a = "observedAttributes" in c.constructor ? c.constructor.observedAttributes : void 0;
1274
- return !a && ((t = c.nodeName) != null && t.includes("-")) && (globalThis.customElements.upgrade(c), a = "observedAttributes" in c.constructor ? c.constructor.observedAttributes : void 0), Array.isArray(a) ? a.filter((i) => wr.includes(i)) : [];
1275
+ return !a && ((t = c.nodeName) != null && t.includes("-")) && (globalThis.customElements.upgrade(c), a = "observedAttributes" in c.constructor ? c.constructor.observedAttributes : void 0), Array.isArray(a) ? a.filter((i) => Lr.includes(i)) : [];
1275
1276
  };
1277
+ function al(c) {
1278
+ if (typeof c != "string") return NaN;
1279
+ const a = /(\d+(?:\.\d+)?)([hms])/gi, t = [...c.matchAll(a)];
1280
+ return t.length === 0 ? NaN : t.reduce((i, [, s, o]) => {
1281
+ const u = parseFloat(s != null ? s : "0");
1282
+ switch ((o != null ? o : "").toLowerCase()) {
1283
+ case "h":
1284
+ return i + u * 3600;
1285
+ case "m":
1286
+ return i + u * 60;
1287
+ case "s":
1288
+ return i + u;
1289
+ default:
1290
+ return i;
1291
+ }
1292
+ }, 0);
1293
+ }
1276
1294
  class kr extends ds {
1277
1295
  constructor(t) {
1278
1296
  super();
@@ -1336,83 +1354,14 @@ class kr extends ds {
1336
1354
  return this.source instanceof HTMLMediaElement;
1337
1355
  }
1338
1356
  }
1339
- const ia = document.createElement("template");
1340
- ia.innerHTML = /* HTML */
1341
- `
1342
- <style>
1343
- :host {
1344
- position: relative;
1345
- }
1346
-
1347
- :host([hidden]) {
1348
- display: none;
1349
- }
1350
- </style>
1351
- `;
1352
- var Ce, xe, W, pi, Ds, Fs, $e, sa, na;
1353
- class dr extends rt {
1354
- constructor() {
1355
- var t;
1356
- super();
1357
- l(this, $e);
1358
- l(this, Ce);
1359
- l(this, xe);
1360
- l(this, W);
1361
- l(this, pi, null);
1362
- l(this, Ds, (t) => {
1363
- t.composedPath().includes(this) || this.hide();
1364
- });
1365
- l(this, Fs, () => {
1366
- this.hide();
1367
- });
1368
- (t = this.shadowRoot) == null || t.appendChild(ia.content.cloneNode(!0));
1369
- }
1370
- connectedCallback() {
1371
- var u, p, v, A;
1372
- super.connectedCallback(), this.setAttribute("role", "button"), this.setAttribute("aria-haspopup", "listbox");
1373
- const t = (u = this.getAttribute("list-position")) != null ? u : "top";
1374
- (p = e(this, xe)) == null || p.setAttribute("list-position", t);
1375
- const i = this.getRootNode(), o = [...(A = (v = this.shadowRoot) == null ? void 0 : v.querySelectorAll(":not(:defined)")) != null ? A : []].map((z) => customElements.whenDefined(z.localName));
1376
- Promise.all(o).then(() => {
1377
- var z;
1378
- (i instanceof Document || i instanceof ShadowRoot) && (d(this, pi, i.querySelector("vindral-controller")), (z = e(this, pi)) == null || z.connectListener(this));
1379
- });
1380
- }
1381
- set button(t) {
1382
- d(this, Ce, t);
1383
- }
1384
- set listbox(t) {
1385
- d(this, xe, t);
1386
- }
1387
- set listboxSlot(t) {
1388
- d(this, W, t);
1389
- }
1390
- enable() {
1391
- super.enable(), this.addEventListener("change", e(this, Fs)), document.addEventListener("click", e(this, Ds));
1392
- }
1393
- hide() {
1394
- var t, i;
1395
- !e(this, W) || (t = e(this, W)) != null && t.hidden || (e(this, W).hidden = !0, (i = e(this, Ce)) == null || i.setAttribute("aria-expanded", "false"), this.dispatchEvent(new CustomEvent(k.UNLOCK_UI, { bubbles: !0, composed: !0 })), this.focus());
1396
- }
1397
- handleClick(t) {
1398
- e(this, W) && !t.composedPath().includes(e(this, W)) && n(this, $e, sa).call(this);
1399
- }
1400
- }
1401
- Ce = new WeakMap(), xe = new WeakMap(), W = new WeakMap(), pi = new WeakMap(), Ds = new WeakMap(), Fs = new WeakMap(), $e = new WeakSet(), sa = function() {
1402
- var t;
1403
- (t = e(this, W)) != null && t.hidden ? n(this, $e, na).call(this) : this.hide();
1404
- }, na = function() {
1405
- var t, i, s;
1406
- (t = e(this, W)) != null && t.hidden && (e(this, W).hidden = !1, (i = e(this, Ce)) == null || i.setAttribute("aria-expanded", "true"), (s = e(this, xe)) == null || s.focus(), this.dispatchEvent(new CustomEvent(k.LOCK_UI, { bubbles: !0, composed: !0 })));
1407
- };
1408
- var f, M, T, Ne, bt, mt, Pt, ne, _t, et, bi, Re, C, L, ra, gn, aa, En, An, oa, la, ha, da, ca, ua, Hs, Os, Ge, Qt;
1409
- class rl {
1357
+ var f, M, w, Ce, bt, mt, Pt, ne, _t, et, pi, xe, C, T, ia, gn, sa, En, An, na, ra, aa, oa, la, ha, Ds, Fs, Ge, Qt;
1358
+ class ol {
1410
1359
  constructor(a, t) {
1411
- l(this, L);
1360
+ l(this, T);
1412
1361
  l(this, f);
1413
1362
  l(this, M);
1414
- l(this, T);
1415
- l(this, Ne);
1363
+ l(this, w);
1364
+ l(this, Ce);
1416
1365
  l(this, bt);
1417
1366
  m(this, "userPaused", !0);
1418
1367
  l(this, mt);
@@ -1420,41 +1369,41 @@ class rl {
1420
1369
  l(this, ne, !1);
1421
1370
  l(this, _t, !1);
1422
1371
  l(this, et, null);
1423
- l(this, bi, 0);
1424
- l(this, Re, !1);
1425
- l(this, C, Lr.get().createContext("HlsPlayer"));
1426
- l(this, Hs, () => {
1427
- e(this, f).readyState >= HTMLMediaElement.HAVE_CURRENT_DATA && !e(this, f).paused && n(this, L, Ge).call(this, !1);
1372
+ l(this, pi, 0);
1373
+ l(this, xe, !1);
1374
+ l(this, C, Tr.get().createContext("HlsPlayer"));
1375
+ l(this, Ds, () => {
1376
+ e(this, f).readyState >= HTMLMediaElement.HAVE_CURRENT_DATA && !e(this, f).paused && n(this, T, Ge).call(this, !1);
1428
1377
  });
1429
- l(this, Os, () => {
1430
- e(this, f).readyState >= HTMLMediaElement.HAVE_FUTURE_DATA && n(this, L, Ge).call(this, !1);
1378
+ l(this, Fs, () => {
1379
+ e(this, f).readyState >= HTMLMediaElement.HAVE_FUTURE_DATA && n(this, T, Ge).call(this, !1);
1431
1380
  });
1432
1381
  d(this, M, a), d(this, Pt, t == null ? void 0 : t.maxVideoBitRate), e(this, M).style.position = "absolute", e(this, M).style.top = "0", e(this, M).style.left = "0", e(this, M).style.width = "100%", e(this, M).style.height = "100%", e(this, M).style.opacity = "0", e(this, M).style.pointerEvents = "none", e(this, M).style.transition = "opacity 0.12s linear";
1433
1382
  const i = document.createElement("video");
1434
- d(this, f, i), a.appendChild(e(this, f)), e(this, f).style.width = "100%", e(this, f).style.height = "100%", e(this, f).setAttribute("playsinline", ""), e(this, f).setAttribute("webkit-playsinline", ""), e(this, f).setAttribute("preload", "metadata"), n(this, L, ua).call(this), d(this, Re, e(this, f).muted), (t == null ? void 0 : t.volume) !== void 0 && (this.volume = t.volume), (t == null ? void 0 : t.muted) !== void 0 && (this.muted = t.muted);
1383
+ d(this, f, i), a.appendChild(e(this, f)), e(this, f).style.width = "100%", e(this, f).style.height = "100%", e(this, f).setAttribute("playsinline", ""), e(this, f).setAttribute("webkit-playsinline", ""), e(this, f).setAttribute("preload", "metadata"), n(this, T, ha).call(this), d(this, xe, e(this, f).muted), (t == null ? void 0 : t.volume) !== void 0 && (this.volume = t.volume), (t == null ? void 0 : t.muted) !== void 0 && (this.muted = t.muted);
1435
1384
  }
1436
1385
  hide() {
1437
1386
  d(this, ne, !0), d(this, _t, !1), e(this, M).classList.remove("active"), e(this, M).style.opacity = "0", e(this, M).style.pointerEvents = "none", d(this, et, null);
1438
1387
  }
1439
1388
  play() {
1440
- return $(this, null, function* () {
1389
+ return B(this, null, function* () {
1441
1390
  try {
1442
- return e(this, T) ? (this.userPaused = !1, yield e(this, f).play()) : Promise.reject("HLS not initialized");
1391
+ return e(this, w) ? (this.userPaused = !1, yield e(this, f).play()) : Promise.reject("HLS not initialized");
1443
1392
  } catch (a) {
1444
1393
  e(this, C).error("Failed to play timeshift video:", a);
1445
1394
  }
1446
1395
  });
1447
1396
  }
1448
1397
  seek(a) {
1449
- return $(this, null, function* () {
1398
+ return B(this, null, function* () {
1450
1399
  if (e(this, C).debug("HlsPlayer seek to", a.time), !Number.isFinite(a.time)) {
1451
1400
  d(this, et, null);
1452
1401
  return;
1453
1402
  }
1454
- if (d(this, et, a.time > 0.1 ? a.time : null), this.isActive() && e(this, T))
1455
- n(this, L, An).call(this, a.time);
1403
+ if (d(this, et, a.time > 0.1 ? a.time : null), this.isActive() && e(this, w))
1404
+ n(this, T, An).call(this, a.time);
1456
1405
  else
1457
- return n(this, L, oa).call(this, a);
1406
+ return n(this, T, na).call(this, a);
1458
1407
  });
1459
1408
  }
1460
1409
  shouldIgnoreTimeupdate() {
@@ -1475,7 +1424,7 @@ class rl {
1475
1424
  return e(this, M).style.opacity === "1" || e(this, M).classList.contains("active");
1476
1425
  }
1477
1426
  cleanup() {
1478
- n(this, L, En).call(this), e(this, mt) && (cancelAnimationFrame(e(this, mt)), d(this, mt, void 0)), d(this, et, null);
1427
+ n(this, T, En).call(this), e(this, mt) && (cancelAnimationFrame(e(this, mt)), d(this, mt, void 0)), d(this, et, null);
1479
1428
  }
1480
1429
  addEventListener(a, t) {
1481
1430
  e(this, f).addEventListener(a, t);
@@ -1505,10 +1454,10 @@ class rl {
1505
1454
  return e(this, f).volume;
1506
1455
  }
1507
1456
  set muted(a) {
1508
- d(this, Re, a), e(this, f).muted = a;
1457
+ d(this, xe, a), e(this, f).muted = a;
1509
1458
  }
1510
1459
  get muted() {
1511
- return e(this, Re);
1460
+ return e(this, xe);
1512
1461
  }
1513
1462
  set currentTime(a) {
1514
1463
  e(this, f).currentTime = a;
@@ -1526,17 +1475,17 @@ class rl {
1526
1475
  return e(this, Pt);
1527
1476
  }
1528
1477
  set maxVideoBitRate(a) {
1529
- d(this, Pt, a), a !== void 0 && e(this, T) && n(this, L, gn).call(this, a);
1478
+ d(this, Pt, a), a !== void 0 && e(this, w) && n(this, T, gn).call(this, a);
1530
1479
  }
1531
1480
  }
1532
- f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt = new WeakMap(), mt = new WeakMap(), Pt = new WeakMap(), ne = new WeakMap(), _t = new WeakMap(), et = new WeakMap(), bi = new WeakMap(), Re = new WeakMap(), C = new WeakMap(), L = new WeakSet(), ra = function() {
1533
- return $(this, null, function* () {
1481
+ f = new WeakMap(), M = new WeakMap(), w = new WeakMap(), Ce = new WeakMap(), bt = new WeakMap(), mt = new WeakMap(), Pt = new WeakMap(), ne = new WeakMap(), _t = new WeakMap(), et = new WeakMap(), pi = new WeakMap(), xe = new WeakMap(), C = new WeakMap(), T = new WeakSet(), ia = function() {
1482
+ return B(this, null, function* () {
1534
1483
  const { default: a } = yield import("./CZNJPKf5.js");
1535
- if (d(this, Ne, a), !a.isSupported()) {
1484
+ if (d(this, Ce, a), !a.isSupported()) {
1536
1485
  e(this, C).warn("HLS not supported");
1537
1486
  return;
1538
1487
  }
1539
- d(this, T, new a({
1488
+ d(this, w, new a({
1540
1489
  capLevelToPlayerSize: !0,
1541
1490
  enableWorker: !0,
1542
1491
  backBufferLength: 30,
@@ -1556,78 +1505,78 @@ f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt
1556
1505
  startFragPrefetch: !0,
1557
1506
  testBandwidth: !1,
1558
1507
  debug: !1
1559
- })), e(this, T).attachMedia(e(this, f)), e(this, T).on(a.Events.MEDIA_ATTACHED, () => e(this, C).debug("[HLS] media attached")), e(this, T).on(a.Events.MANIFEST_PARSED, () => e(this, C).debug("[HLS] manifest parsed")), e(this, T).on(a.Events.ERROR, (t, i) => {
1560
- e(this, C).error("[HLS] error:", i), i.fatal && n(this, L, aa).call(this, i);
1561
- }), e(this, T).on(a.Events.MANIFEST_PARSED, () => {
1508
+ })), e(this, w).attachMedia(e(this, f)), e(this, w).on(a.Events.MEDIA_ATTACHED, () => e(this, C).debug("[HLS] media attached")), e(this, w).on(a.Events.MANIFEST_PARSED, () => e(this, C).debug("[HLS] manifest parsed")), e(this, w).on(a.Events.ERROR, (t, i) => {
1509
+ e(this, C).error("[HLS] error:", i), i.fatal && n(this, T, sa).call(this, i);
1510
+ }), e(this, w).on(a.Events.MANIFEST_PARSED, () => {
1562
1511
  var t;
1563
- !e(this, Pt) || ((t = e(this, T)) == null ? void 0 : t.levels.length) === 0 || n(this, L, gn).call(this, e(this, Pt));
1564
- }), e(this, T).on(a.Events.LEVEL_SWITCHED, () => {
1512
+ !e(this, Pt) || ((t = e(this, w)) == null ? void 0 : t.levels.length) === 0 || n(this, T, gn).call(this, e(this, Pt));
1513
+ }), e(this, w).on(a.Events.LEVEL_SWITCHED, () => {
1565
1514
  var t, i;
1566
1515
  e(this, C).debug(
1567
1516
  "Level switched:",
1568
- (t = e(this, T)) == null ? void 0 : t.currentLevel,
1517
+ (t = e(this, w)) == null ? void 0 : t.currentLevel,
1569
1518
  "max:",
1570
1519
  this.maxVideoBitRate,
1571
1520
  "autoLevelCapping:",
1572
- (i = e(this, T)) == null ? void 0 : i.autoLevelCapping
1521
+ (i = e(this, w)) == null ? void 0 : i.autoLevelCapping
1573
1522
  );
1574
1523
  });
1575
1524
  });
1576
1525
  }, gn = function(a) {
1577
1526
  var s;
1578
- if (!e(this, T)) {
1527
+ if (!e(this, w)) {
1579
1528
  e(this, C).warn("HLS not initialized, cannot set bitrate cap");
1580
1529
  return;
1581
1530
  }
1582
- let t = e(this, T).levels.map((o, u) => ({ i: u, bitrate: o.bitrate })).filter((o) => a >= o.bitrate * 0.8).map((o) => o.i).pop();
1531
+ let t = e(this, w).levels.map((o, u) => ({ i: u, bitrate: o.bitrate })).filter((o) => a >= o.bitrate * 0.8).map((o) => o.i).pop();
1583
1532
  t === void 0 && (t = 0, e(this, C).debug(
1584
- "No level fits under bitrate cap: " + a + ", defaulting to lowest level: " + ((s = e(this, T).levels[0]) == null ? void 0 : s.bitrate)
1533
+ "No level fits under bitrate cap: " + a + ", defaulting to lowest level: " + ((s = e(this, w).levels[0]) == null ? void 0 : s.bitrate)
1585
1534
  ));
1586
- const i = e(this, T).currentLevel;
1587
- e(this, T).autoLevelCapping = t, i !== t && (e(this, C).debug(`Current level ${i} exceeds cap ${t}, forcing immediate switch`), e(this, T).currentLevel = t);
1588
- }, aa = function(a) {
1535
+ const i = e(this, w).currentLevel;
1536
+ e(this, w).autoLevelCapping = t, i !== t && (e(this, C).debug(`Current level ${i} exceeds cap ${t}, forcing immediate switch`), e(this, w).currentLevel = t);
1537
+ }, sa = function(a) {
1589
1538
  var i, s;
1590
- if (!e(this, Ne)) {
1539
+ if (!e(this, Ce)) {
1591
1540
  e(this, C).error("Hls class not available for error handling");
1592
1541
  return;
1593
1542
  }
1594
- const t = e(this, Ne);
1543
+ const t = e(this, Ce);
1595
1544
  switch (a.type) {
1596
1545
  case t.ErrorTypes.NETWORK_ERROR:
1597
- e(this, C).warn("[HLS] network error -> startLoad"), (i = e(this, T)) == null || i.startLoad();
1546
+ e(this, C).warn("[HLS] network error -> startLoad"), (i = e(this, w)) == null || i.startLoad();
1598
1547
  break;
1599
1548
  case t.ErrorTypes.MEDIA_ERROR:
1600
- e(this, C).warn("[HLS] media error -> recoverMediaError"), (s = e(this, T)) == null || s.recoverMediaError();
1549
+ e(this, C).warn("[HLS] media error -> recoverMediaError"), (s = e(this, w)) == null || s.recoverMediaError();
1601
1550
  break;
1602
1551
  default:
1603
- e(this, C).error("[HLS] fatal -> destroy"), n(this, L, En).call(this);
1552
+ e(this, C).error("[HLS] fatal -> destroy"), n(this, T, En).call(this);
1604
1553
  break;
1605
1554
  }
1606
1555
  }, En = function() {
1607
- e(this, T) && (e(this, T).destroy(), d(this, T, void 0));
1556
+ e(this, w) && (e(this, w).destroy(), d(this, w, void 0));
1608
1557
  }, An = function(a) {
1609
1558
  if (!Number.isFinite(a)) {
1610
1559
  d(this, et, null);
1611
1560
  return;
1612
1561
  }
1613
- const t = n(this, L, ca).call(this, e(this, f), a);
1562
+ const t = n(this, T, la).call(this, e(this, f), a);
1614
1563
  d(this, et, t > 0.1 ? t : null), e(this, mt) && cancelAnimationFrame(e(this, mt)), d(this, mt, requestAnimationFrame(() => {
1615
1564
  e(this, f).currentTime = t;
1616
1565
  }));
1617
- }, oa = function(a) {
1618
- return $(this, null, function* () {
1619
- const { time: t, playWhenReady: i = !0 } = a || {}, s = ++fr(this, bi)._;
1566
+ }, na = function(a) {
1567
+ return B(this, null, function* () {
1568
+ const { time: t, playWhenReady: i = !0 } = a || {}, s = ++fr(this, pi)._;
1620
1569
  if (!e(this, bt)) {
1621
1570
  e(this, C).warn("No timeshift URL");
1622
1571
  return;
1623
1572
  }
1624
- if (!e(this, T) && (yield n(this, L, ra).call(this), !n(this, L, Qt).call(this, s)))
1573
+ if (!e(this, w) && (yield n(this, T, ia).call(this), !n(this, T, Qt).call(this, s)))
1625
1574
  return;
1626
- d(this, ne, !1), d(this, _t, !1), e(this, T) && (!e(this, T).url || e(this, T).url !== e(this, bt)) && (e(this, C).debug("Loading timeshift URL", e(this, bt)), e(this, T).loadSource(e(this, bt)));
1575
+ d(this, ne, !1), d(this, _t, !1), e(this, w) && (!e(this, w).url || e(this, w).url !== e(this, bt)) && (e(this, C).debug("Loading timeshift URL", e(this, bt)), e(this, w).loadSource(e(this, bt)));
1627
1576
  const o = this.muted;
1628
- e(this, f).muted = !0, yield n(this, L, la).call(this), n(this, L, Qt).call(this, s) && (n(this, L, An).call(this, t), !(i && (yield this.play(), !n(this, L, Qt).call(this, s))) && n(this, L, ha).call(this, o, s));
1577
+ e(this, f).muted = !0, yield n(this, T, ra).call(this), n(this, T, Qt).call(this, s) && (n(this, T, An).call(this, t), !(i && (yield this.play(), !n(this, T, Qt).call(this, s))) && n(this, T, aa).call(this, o, s));
1629
1578
  });
1630
- }, la = function() {
1579
+ }, ra = function() {
1631
1580
  return e(this, f).duration && !isNaN(e(this, f).duration) ? Promise.resolve() : new Promise((a) => {
1632
1581
  e(this, C).debug("Waiting for duration...");
1633
1582
  const t = () => {
@@ -1637,15 +1586,15 @@ f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt
1637
1586
  }, 2e4);
1638
1587
  e(this, f).addEventListener("loadedmetadata", t);
1639
1588
  });
1640
- }, ha = function(a, t) {
1589
+ }, aa = function(a, t) {
1641
1590
  const i = HTMLMediaElement.HAVE_CURRENT_DATA, s = () => e(this, f).readyState >= i && e(this, f).videoWidth > 0 && e(this, f).videoHeight > 0, o = () => {
1642
- e(this, ne) || e(this, _t) || !n(this, L, Qt).call(this, t) || (d(this, _t, !0), e(this, C).debug("Revealing timeshift video"), e(this, M).classList.add("active"), e(this, M).style.opacity = "1", e(this, M).style.pointerEvents = "auto", e(this, f).dispatchEvent(
1591
+ e(this, ne) || e(this, _t) || !n(this, T, Qt).call(this, t) || (d(this, _t, !0), e(this, C).debug("Revealing timeshift video"), e(this, M).classList.add("active"), e(this, M).style.opacity = "1", e(this, M).style.pointerEvents = "auto", e(this, f).dispatchEvent(
1643
1592
  new CustomEvent("timeshiftready", {
1644
1593
  detail: { activationId: t }
1645
1594
  })
1646
- ), a || n(this, L, da).call(this, t));
1595
+ ), a || n(this, T, oa).call(this, t));
1647
1596
  }, u = () => {
1648
- e(this, ne) || e(this, _t) || !n(this, L, Qt).call(this, t) || s() && (v(), o());
1597
+ e(this, ne) || e(this, _t) || !n(this, T, Qt).call(this, t) || s() && (v(), o());
1649
1598
  };
1650
1599
  let p = !1;
1651
1600
  const v = () => {
@@ -1659,9 +1608,9 @@ f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt
1659
1608
  const A = setTimeout(() => {
1660
1609
  e(this, C).debug("Timeout reached, forcing reveal"), v(), o();
1661
1610
  }, 2e3);
1662
- }, da = function(a) {
1611
+ }, oa = function(a) {
1663
1612
  const t = () => {
1664
- n(this, L, Qt).call(this, a) && (e(this, f).muted = !1);
1613
+ n(this, T, Qt).call(this, a) && (e(this, f).muted = !1);
1665
1614
  };
1666
1615
  "requestVideoFrameCallback" in e(this, f) ? e(this, f).requestVideoFrameCallback(() => {
1667
1616
  setTimeout(() => {
@@ -1670,15 +1619,15 @@ f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt
1670
1619
  }) : setTimeout(() => {
1671
1620
  t();
1672
1621
  }, 120);
1673
- }, ca = function(a, t) {
1622
+ }, la = function(a, t) {
1674
1623
  const i = a.seekable;
1675
1624
  if (!i || i.length === 0) return t;
1676
1625
  const s = i.start(0), o = i.end(i.length - 1);
1677
1626
  return e(this, C).debug("Clamped seekable:", Math.max(s, Math.min(t, o))), Math.max(s, Math.min(t, o));
1678
- }, ua = function() {
1627
+ }, ha = function() {
1679
1628
  const a = ["waiting", "seeking", "stalled", "loadstart"], t = ["canplay", "canplaythrough", "seeked", "loadeddata"];
1680
- a.forEach((i) => e(this, f).addEventListener(i, () => n(this, L, Ge).call(this, !0))), t.forEach((i) => e(this, f).addEventListener(i, () => n(this, L, Ge).call(this, !1))), e(this, f).addEventListener("timeupdate", e(this, Hs)), e(this, f).addEventListener("progress", e(this, Os));
1681
- }, Hs = new WeakMap(), Os = new WeakMap(), Ge = function(a) {
1629
+ a.forEach((i) => e(this, f).addEventListener(i, () => n(this, T, Ge).call(this, !0))), t.forEach((i) => e(this, f).addEventListener(i, () => n(this, T, Ge).call(this, !1))), e(this, f).addEventListener("timeupdate", e(this, Ds)), e(this, f).addEventListener("progress", e(this, Fs));
1630
+ }, Ds = new WeakMap(), Fs = new WeakMap(), Ge = function(a) {
1682
1631
  const t = a && (e(this, f).readyState < HTMLMediaElement.HAVE_FUTURE_DATA || e(this, f).seeking || e(this, f).paused && !this.userPaused);
1683
1632
  e(this, f).dispatchEvent(
1684
1633
  new CustomEvent(t ? "hlsbuffering" : "hlsnotbuffering", {
@@ -1687,9 +1636,78 @@ f = new WeakMap(), M = new WeakMap(), T = new WeakMap(), Ne = new WeakMap(), bt
1687
1636
  })
1688
1637
  );
1689
1638
  }, Qt = function(a) {
1690
- return e(this, bi) === a;
1639
+ return e(this, pi) === a;
1640
+ };
1641
+ const da = document.createElement("template");
1642
+ da.innerHTML = /* HTML */
1643
+ `
1644
+ <style>
1645
+ :host {
1646
+ position: relative;
1647
+ }
1648
+
1649
+ :host([hidden]) {
1650
+ display: none;
1651
+ }
1652
+ </style>
1653
+ `;
1654
+ var Ne, Re, W, bi, Os, Hs, Be, ca, ua;
1655
+ class dr extends rt {
1656
+ constructor() {
1657
+ var t;
1658
+ super();
1659
+ l(this, Be);
1660
+ l(this, Ne);
1661
+ l(this, Re);
1662
+ l(this, W);
1663
+ l(this, bi, null);
1664
+ l(this, Os, (t) => {
1665
+ t.composedPath().includes(this) || this.hide();
1666
+ });
1667
+ l(this, Hs, () => {
1668
+ this.hide();
1669
+ });
1670
+ (t = this.shadowRoot) == null || t.appendChild(da.content.cloneNode(!0));
1671
+ }
1672
+ connectedCallback() {
1673
+ var u, p, v, A;
1674
+ super.connectedCallback(), this.setAttribute("role", "button"), this.setAttribute("aria-haspopup", "listbox");
1675
+ const t = (u = this.getAttribute("list-position")) != null ? u : "top";
1676
+ (p = e(this, Re)) == null || p.setAttribute("list-position", t);
1677
+ const i = this.getRootNode(), o = [...(A = (v = this.shadowRoot) == null ? void 0 : v.querySelectorAll(":not(:defined)")) != null ? A : []].map((z) => customElements.whenDefined(z.localName));
1678
+ Promise.all(o).then(() => {
1679
+ var z;
1680
+ (i instanceof Document || i instanceof ShadowRoot) && (d(this, bi, i.querySelector("vindral-controller")), (z = e(this, bi)) == null || z.connectListener(this));
1681
+ });
1682
+ }
1683
+ set button(t) {
1684
+ d(this, Ne, t);
1685
+ }
1686
+ set listbox(t) {
1687
+ d(this, Re, t);
1688
+ }
1689
+ set listboxSlot(t) {
1690
+ d(this, W, t);
1691
+ }
1692
+ enable() {
1693
+ super.enable(), this.addEventListener("change", e(this, Hs)), document.addEventListener("click", e(this, Os));
1694
+ }
1695
+ hide() {
1696
+ var t, i;
1697
+ !e(this, W) || (t = e(this, W)) != null && t.hidden || (e(this, W).hidden = !0, (i = e(this, Ne)) == null || i.setAttribute("aria-expanded", "false"), this.dispatchEvent(new CustomEvent(k.UNLOCK_UI, { bubbles: !0, composed: !0 })), this.focus());
1698
+ }
1699
+ handleClick(t) {
1700
+ e(this, W) && !t.composedPath().includes(e(this, W)) && n(this, Be, ca).call(this);
1701
+ }
1702
+ }
1703
+ Ne = new WeakMap(), Re = new WeakMap(), W = new WeakMap(), bi = new WeakMap(), Os = new WeakMap(), Hs = new WeakMap(), Be = new WeakSet(), ca = function() {
1704
+ var t;
1705
+ (t = e(this, W)) != null && t.hidden ? n(this, Be, ua).call(this) : this.hide();
1706
+ }, ua = function() {
1707
+ var t, i, s;
1708
+ (t = e(this, W)) != null && t.hidden && (e(this, W).hidden = !1, (i = e(this, Ne)) == null || i.setAttribute("aria-expanded", "true"), (s = e(this, Re)) == null || s.focus(), this.dispatchEvent(new CustomEvent(k.LOCK_UI, { bubbles: !0, composed: !0 })));
1691
1709
  };
1692
- class al {
1710
+ class ll {
1693
1711
  constructor(a) {
1694
1712
  this.vindral = a;
1695
1713
  }
@@ -1700,7 +1718,7 @@ class al {
1700
1718
  return this.vindral.muted;
1701
1719
  }
1702
1720
  play() {
1703
- return $(this, null, function* () {
1721
+ return B(this, null, function* () {
1704
1722
  var a;
1705
1723
  return (a = this.vindral) == null || a.play(), Promise.resolve();
1706
1724
  });
@@ -1880,23 +1898,6 @@ class ni extends HTMLElement {
1880
1898
  }
1881
1899
  }
1882
1900
  Ue = new WeakMap(), Pe = new WeakMap(), m(ni, "observedAttributes", ["disabled"]);
1883
- function ol(c) {
1884
- if (typeof c != "string") return NaN;
1885
- const a = /(\d+(?:\.\d+)?)([hms])/gi, t = [...c.matchAll(a)];
1886
- return t.length === 0 ? NaN : t.reduce((i, [, s, o]) => {
1887
- const u = parseFloat(s != null ? s : "0");
1888
- switch ((o != null ? o : "").toLowerCase()) {
1889
- case "h":
1890
- return i + u * 3600;
1891
- case "m":
1892
- return i + u * 60;
1893
- case "s":
1894
- return i + u;
1895
- default:
1896
- return i;
1897
- }
1898
- }, 0);
1899
- }
1900
1901
  const ba = document.createElement("template");
1901
1902
  ba.innerHTML = /* HTML */
1902
1903
  `
@@ -1952,6 +1953,7 @@ ba.innerHTML = /* HTML */
1952
1953
  --buffering-overlay-display: var(--vindral-buffering-overlay-display, flex);
1953
1954
  --poster-overlay-display: var(--vindral-poster-overlay-display, flex);
1954
1955
  --live-button-display: var(--vindral-live-button-display, flex);
1956
+ --seek-bar-display: var(--vindral-seek-bar-display, flex);
1955
1957
 
1956
1958
  position: relative;
1957
1959
  display: flex;
@@ -2090,7 +2092,7 @@ ba.innerHTML = /* HTML */
2090
2092
  </div>
2091
2093
  `;
2092
2094
  const an = ["ArrowDown", "ArrowLeft", "ArrowRight", "Tab", "Enter", " ", "f", "m"];
2093
- var zs, vt, mi, Mt, Dt, vi, b, O, re, g, fi, ot, ft, Ft, $s, K, gt, ae, it, j, Et, gi, Ei, D, Ht, Ot, h, yn, Bs, Gs, Ai, yi, ki, Ii, Li, wi, Ti, Si, Ci, Ks, kn, In, xi, Ni, Ri, qs, Ui, Pi, _i, Mi, ma, Ln, Di, wn, va, gs, fa, ga, Es, Ea, Tn, Aa, ya, ka, Fi, Ia, La, wa, Ta, Hi, Vs, Xs, Sa, Oi, js, Ys, oe, Sn, Cn, As, xt, ys, ks, Ca, xn, Js, Ws, Nn, E, w;
2095
+ var zs, vt, mi, Mt, Dt, vi, b, H, re, g, fi, ot, ft, Ft, Bs, K, gt, ae, it, j, Et, gi, Ei, F, Ot, Ht, h, yn, $s, Gs, Ai, yi, ki, Ii, Ti, Li, wi, Si, Ci, Ks, kn, In, xi, Ni, Ri, qs, Ui, Pi, _i, Mi, ma, Tn, Di, Ln, va, gs, fa, ga, Es, Ea, wn, Aa, ya, ka, Fi, Ia, Ta, La, wa, Oi, Vs, Xs, Sa, Hi, js, Ys, oe, Sn, Cn, As, xt, ys, ks, Ca, xn, Js, Ws, Nn, E, L;
2094
2096
  const Ye = class Ye extends HTMLElement {
2095
2097
  constructor() {
2096
2098
  var s;
@@ -2102,14 +2104,14 @@ const Ye = class Ye extends HTMLElement {
2102
2104
  l(this, Dt, null);
2103
2105
  l(this, vi);
2104
2106
  l(this, b);
2105
- l(this, O);
2107
+ l(this, H);
2106
2108
  l(this, re);
2107
2109
  l(this, g);
2108
2110
  l(this, fi, e(Ye, zs));
2109
2111
  l(this, ot);
2110
2112
  l(this, ft);
2111
2113
  l(this, Ft);
2112
- l(this, $s);
2114
+ l(this, Bs);
2113
2115
  l(this, K);
2114
2116
  l(this, gt);
2115
2117
  l(this, ae);
@@ -2118,11 +2120,11 @@ const Ye = class Ye extends HTMLElement {
2118
2120
  l(this, Et);
2119
2121
  l(this, gi);
2120
2122
  l(this, Ei);
2121
- l(this, D);
2122
- l(this, Ht, null);
2123
- l(this, Ot, !1);
2123
+ l(this, F);
2124
+ l(this, Ot, null);
2125
+ l(this, Ht, !1);
2124
2126
  // Store references to listener functions for removal
2125
- l(this, Bs, (t) => {
2127
+ l(this, $s, (t) => {
2126
2128
  const i = t.filter((s) => {
2127
2129
  var o;
2128
2130
  return (o = s.video) == null ? void 0 : o.width;
@@ -2135,43 +2137,43 @@ const Ye = class Ye extends HTMLElement {
2135
2137
  l(this, Ai, (t) => {
2136
2138
  switch (t) {
2137
2139
  case "playing":
2138
- n(this, h, w).call(this, r.PAUSED), n(this, h, w).call(this, r.BUFFERING);
2140
+ n(this, h, L).call(this, r.PAUSED), n(this, h, L).call(this, r.BUFFERING);
2139
2141
  break;
2140
2142
  case "paused":
2141
- n(this, h, E).call(this, r.PAUSED, ""), n(this, h, w).call(this, r.BUFFERING);
2143
+ n(this, h, E).call(this, r.PAUSED, ""), n(this, h, L).call(this, r.BUFFERING);
2142
2144
  break;
2143
2145
  case "buffering":
2144
- n(this, h, w).call(this, r.PAUSED), n(this, h, E).call(this, r.BUFFERING, "");
2146
+ n(this, h, L).call(this, r.PAUSED), n(this, h, E).call(this, r.BUFFERING, "");
2145
2147
  break;
2146
2148
  }
2147
2149
  });
2148
2150
  l(this, yi, (t) => {
2149
- n(this, h, E).call(this, r.VOLUME, t.volume.toString()), t.isMuted ? n(this, h, E).call(this, r.MUTED, "") : n(this, h, w).call(this, r.MUTED);
2151
+ n(this, h, E).call(this, r.VOLUME, t.volume.toString()), t.isMuted ? n(this, h, E).call(this, r.MUTED, "") : n(this, h, L).call(this, r.MUTED);
2150
2152
  });
2151
2153
  l(this, ki, ({ channelId: t }) => {
2152
2154
  var i;
2153
- this.setAttribute(r.CHANNEL_ID, t), ((i = e(this, b)) == null ? void 0 : i.playbackState) !== "buffering" && n(this, h, w).call(this, r.BUFFERING);
2155
+ this.setAttribute(r.CHANNEL_ID, t), ((i = e(this, b)) == null ? void 0 : i.playbackState) !== "buffering" && n(this, h, L).call(this, r.BUFFERING);
2154
2156
  });
2155
2157
  l(this, Ii, ({ channelId: t }) => {
2156
2158
  var i;
2157
- e(this, ot) !== t && this.setAttribute(r.CHANNEL_ID, t), ((i = e(this, b)) == null ? void 0 : i.playbackState) !== "buffering" && n(this, h, w).call(this, r.BUFFERING);
2159
+ e(this, ot) !== t && this.setAttribute(r.CHANNEL_ID, t), ((i = e(this, b)) == null ? void 0 : i.playbackState) !== "buffering" && n(this, h, L).call(this, r.BUFFERING);
2158
2160
  });
2159
- l(this, Li, (t) => {
2161
+ l(this, Ti, (t) => {
2160
2162
  d(this, oe, Date.now()), n(this, h, E).call(this, r.CHANNELS, JSON.stringify(t));
2161
2163
  });
2162
- l(this, wi, (t) => {
2164
+ l(this, Li, (t) => {
2163
2165
  var i;
2164
2166
  n(this, h, E).call(this, r.LANGUAGES, JSON.stringify(t)), (i = e(this, b)) != null && i.language && n(this, h, E).call(this, r.LANGUAGE, e(this, b).language);
2165
2167
  });
2166
- l(this, Ti, (t) => {
2168
+ l(this, wi, (t) => {
2167
2169
  var i, s, o;
2168
2170
  n(this, h, E).call(this, r.TEXT_TRACKS, JSON.stringify(t)), (i = e(this, b)) != null && i.textTrack && n(this, h, E).call(this, r.TEXT_TRACK, (o = (s = e(this, b)) == null ? void 0 : s.textTrack) != null ? o : "");
2169
2171
  });
2170
2172
  l(this, Si, (t) => {
2171
- t != null && t.forVideo ? (n(this, h, E).call(this, r.NEEDS_USER_INPUT_VIDEO, ""), n(this, h, w).call(this, r.NEEDS_USER_INPUT_AUDIO)) : t != null && t.forAudio && (n(this, h, E).call(this, r.NEEDS_USER_INPUT_AUDIO, ""), n(this, h, w).call(this, r.NEEDS_USER_INPUT_VIDEO));
2173
+ t != null && t.forVideo ? (n(this, h, E).call(this, r.NEEDS_USER_INPUT_VIDEO, ""), n(this, h, L).call(this, r.NEEDS_USER_INPUT_AUDIO)) : t != null && t.forAudio && (n(this, h, E).call(this, r.NEEDS_USER_INPUT_AUDIO, ""), n(this, h, L).call(this, r.NEEDS_USER_INPUT_VIDEO));
2172
2174
  });
2173
2175
  l(this, Ci, (t) => {
2174
- t || n(this, h, w).call(this, r.BUFFERING);
2176
+ t || n(this, h, L).call(this, r.BUFFERING);
2175
2177
  });
2176
2178
  l(this, Ks, (t) => {
2177
2179
  var z;
@@ -2180,23 +2182,23 @@ const Ye = class Ye extends HTMLElement {
2180
2182
  const o = new URL(i[0]);
2181
2183
  o.searchParams.set("channelId", (z = e(this, ot)) != null ? z : "");
2182
2184
  const u = this.getAttribute("authentication-token");
2183
- u && o.searchParams.set("authenticationToken", u);
2184
- const p = ol(s);
2185
+ u && o.searchParams.set("authToken", u);
2186
+ const p = al(s);
2185
2187
  if (isNaN(p)) {
2186
- e(this, D).error(`Invalid duration format: ${s}`);
2188
+ e(this, F).error(`Invalid duration format: ${s}`);
2187
2189
  return;
2188
2190
  }
2189
2191
  const v = Math.floor(Date.now() / 1e3), A = new Date((v - p) * 1e3).toISOString();
2190
2192
  o.searchParams.set("from", A), e(this, g).setTimeshiftUrl(o.toString()), n(this, h, E).call(this, r.DURATION, p.toString());
2191
2193
  });
2192
2194
  l(this, xi, () => {
2193
- n(this, h, w).call(this, r.PAUSED), n(this, h, w).call(this, r.BUFFERING);
2195
+ n(this, h, L).call(this, r.PAUSED), n(this, h, L).call(this, r.BUFFERING);
2194
2196
  });
2195
2197
  l(this, Ni, () => {
2196
- n(this, h, E).call(this, r.PAUSED, ""), n(this, h, w).call(this, r.BUFFERING);
2198
+ n(this, h, E).call(this, r.PAUSED, ""), n(this, h, L).call(this, r.BUFFERING);
2197
2199
  });
2198
2200
  l(this, Ri, () => {
2199
- e(this, Oi).call(this), n(this, h, w).call(this, r.BUFFERING);
2201
+ e(this, Hi).call(this), n(this, h, L).call(this, r.BUFFERING);
2200
2202
  });
2201
2203
  l(this, qs, () => {
2202
2204
  if (!e(this, g)) return;
@@ -2208,24 +2210,24 @@ const Ye = class Ye extends HTMLElement {
2208
2210
  if (!e(this, g) || e(this, g).seeking || (s = (i = e(this, g)).shouldIgnoreTimeupdate) != null && s.call(i))
2209
2211
  return;
2210
2212
  const t = e(this, g).currentTime;
2211
- t != null && n(this, h, E).call(this, r.TIMESHIFT, t.toString());
2213
+ t != null && n(this, h, E).call(this, r.TIMESHIFT_POSITION, t.toString());
2212
2214
  });
2213
2215
  l(this, Pi, () => {
2214
- e(this, g) && (n(this, h, E).call(this, r.VOLUME, e(this, g).volume.toString()), e(this, g).muted ? n(this, h, E).call(this, r.MUTED, "") : n(this, h, w).call(this, r.MUTED));
2216
+ e(this, g) && (n(this, h, E).call(this, r.VOLUME, e(this, g).volume.toString()), e(this, g).muted ? n(this, h, E).call(this, r.MUTED, "") : n(this, h, L).call(this, r.MUTED));
2215
2217
  });
2216
2218
  l(this, _i, () => {
2217
2219
  n(this, h, E).call(this, r.BUFFERING, "");
2218
2220
  });
2219
2221
  l(this, Mi, () => {
2220
- n(this, h, w).call(this, r.BUFFERING);
2222
+ n(this, h, L).call(this, r.BUFFERING);
2221
2223
  });
2222
2224
  l(this, Di, () => {
2223
- if (e(this, Ot)) {
2224
- if (e(this, O) !== e(this, g)) {
2225
- d(this, Ot, !1);
2225
+ if (e(this, Ht)) {
2226
+ if (e(this, H) !== e(this, g)) {
2227
+ d(this, Ht, !1);
2226
2228
  return;
2227
2229
  }
2228
- d(this, Ot, !1), n(this, h, ys).call(this);
2230
+ d(this, Ht, !1), n(this, h, ys).call(this);
2229
2231
  }
2230
2232
  });
2231
2233
  l(this, Fi, 0);
@@ -2238,16 +2240,16 @@ const Ye = class Ye extends HTMLElement {
2238
2240
  n(this, h, Ia).call(this, t);
2239
2241
  break;
2240
2242
  case "pointerup":
2241
- n(this, h, La).call(this, t);
2243
+ n(this, h, Ta).call(this, t);
2242
2244
  break;
2243
2245
  case "mouseleave":
2244
2246
  n(this, h, xt).call(this);
2245
2247
  break;
2246
2248
  case "dblclick":
2247
- n(this, h, wa).call(this, t);
2249
+ n(this, h, La).call(this, t);
2248
2250
  break;
2249
2251
  case "mousemove":
2250
- n(this, h, Ta).call(this, t);
2252
+ n(this, h, wa).call(this, t);
2251
2253
  break;
2252
2254
  case "keydown":
2253
2255
  e(this, Xs).call(this, t);
@@ -2257,9 +2259,9 @@ const Ye = class Ye extends HTMLElement {
2257
2259
  break;
2258
2260
  }
2259
2261
  });
2260
- l(this, Hi, (t) => {
2262
+ l(this, Oi, (t) => {
2261
2263
  var i;
2262
- if (e(this, b) && (e(this, D).debug("Vindral event", { type: t.type }), t instanceof CustomEvent))
2264
+ if (e(this, b) && (e(this, F).debug("Vindral event", { type: t.type }), t instanceof CustomEvent))
2263
2265
  switch (t.type) {
2264
2266
  case k.PLAY:
2265
2267
  this.removeAttribute(r.PAUSED);
@@ -2292,11 +2294,11 @@ const Ye = class Ye extends HTMLElement {
2292
2294
  }
2293
2295
  break;
2294
2296
  case k.CHANNEL_GRID_OPENED: {
2295
- e(this, Ht) === null && n(this, h, Sn).call(this);
2297
+ e(this, Ot) === null && n(this, h, Sn).call(this);
2296
2298
  break;
2297
2299
  }
2298
2300
  case k.CHANNEL_GRID_CLOSED: {
2299
- e(this, Ht) !== null && (clearTimeout(e(this, Ht)), d(this, Ht, null));
2301
+ e(this, Ot) !== null && (clearTimeout(e(this, Ot)), d(this, Ot, null));
2300
2302
  break;
2301
2303
  }
2302
2304
  case k.ENTER_PIP:
@@ -2327,7 +2329,7 @@ const Ye = class Ye extends HTMLElement {
2327
2329
  this.handleTimeShiftUpdate(String(t.detail));
2328
2330
  break;
2329
2331
  case k.GO_LIVE:
2330
- e(this, Oi).call(this);
2332
+ e(this, Hi).call(this);
2331
2333
  break;
2332
2334
  }
2333
2335
  });
@@ -2343,16 +2345,16 @@ const Ye = class Ye extends HTMLElement {
2343
2345
  const { metaKey: i, altKey: s, key: o } = t;
2344
2346
  i || s || !an.includes(o) || this.addEventListener("keyup", this, { once: !0 });
2345
2347
  });
2346
- l(this, Oi, () => {
2347
- this.removeAttribute(r.TIMESHIFT), this.handleTimeShiftUpdate(!1);
2348
+ l(this, Hi, () => {
2349
+ this.removeAttribute(r.TIMESHIFT_POSITION), this.handleTimeShiftUpdate(!1);
2348
2350
  });
2349
2351
  l(this, js, (t) => {
2350
2352
  var i;
2351
- e(this, g) || n(this, h, Ln).call(this), e(this, O) !== e(this, g) && (t && n(this, h, ks).call(this), d(this, O, e(this, g)), n(this, h, In).call(this), n(this, h, ma).call(this), n(this, h, gs).call(this), (i = e(this, b)) == null || i.pause(), d(this, Ot, t));
2353
+ e(this, g) || n(this, h, Tn).call(this), e(this, H) !== e(this, g) && (t && n(this, h, ks).call(this), d(this, H, e(this, g)), n(this, h, In).call(this), n(this, h, ma).call(this), n(this, h, gs).call(this), (i = e(this, b)) == null || i.pause(), d(this, Ht, t));
2352
2354
  });
2353
2355
  l(this, Ys, (t) => {
2354
2356
  var i, s, o, u;
2355
- t && n(this, h, ks).call(this), (i = e(this, g)) == null || i.hide(), d(this, O, e(this, re)), n(this, h, gs).call(this), this.hasAttribute(r.PAUSED) ? (s = e(this, O)) == null || s.pause() : (o = e(this, O)) == null || o.play(), n(this, h, wn).call(this), n(this, h, kn).call(this), (u = e(this, g)) == null || u.pause(), t && (d(this, Ot, !1), setTimeout(() => {
2357
+ t && n(this, h, ks).call(this), (i = e(this, g)) == null || i.hide(), d(this, H, e(this, re)), n(this, h, gs).call(this), this.hasAttribute(r.PAUSED) ? (s = e(this, H)) == null || s.pause() : (o = e(this, H)) == null || o.play(), n(this, h, Ln).call(this), n(this, h, kn).call(this), (u = e(this, g)) == null || u.pause(), t && (d(this, Ht, !1), setTimeout(() => {
2356
2358
  n(this, h, ys).call(this);
2357
2359
  }, 100));
2358
2360
  });
@@ -2366,7 +2368,7 @@ const Ye = class Ye extends HTMLElement {
2366
2368
  });
2367
2369
  return;
2368
2370
  }
2369
- e(this, O) !== e(this, re) && e(this, Ys).call(this, i);
2371
+ e(this, H) !== e(this, re) && e(this, Ys).call(this, i);
2370
2372
  });
2371
2373
  l(this, oe, null);
2372
2374
  l(this, Js, () => {
@@ -2382,13 +2384,13 @@ const Ye = class Ye extends HTMLElement {
2382
2384
  });
2383
2385
  this.attachShadow({ mode: "open" }).appendChild(ba.content.cloneNode(!0));
2384
2386
  const i = rn(this.getAttribute("log-level"));
2385
- d(this, D, Lr.get().createContext("VindralController")), e(this, D).setLevel(i), d(this, vi, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#time-shift-video"));
2387
+ d(this, F, Tr.get().createContext("VindralController")), e(this, F).setLevel(i), d(this, vi, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#time-shift-video"));
2386
2388
  }
2387
2389
  connectedCallback() {
2388
- return $(this, null, function* () {
2389
- H(this.getAttribute("auto-instance-enabled"), !0) && (yield n(this, h, yn).call(this));
2390
+ return B(this, null, function* () {
2391
+ D(this.getAttribute("auto-instance-enabled"), !0) && (yield n(this, h, yn).call(this));
2390
2392
  for (const i of Object.values(k))
2391
- this.addEventListener(i, e(this, Hi));
2393
+ this.addEventListener(i, e(this, Oi));
2392
2394
  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 });
2393
2395
  });
2394
2396
  }
@@ -2396,13 +2398,13 @@ const Ye = class Ye extends HTMLElement {
2396
2398
  var t, i, s, o, u, p;
2397
2399
  (t = e(this, b)) == null || t.unload(), (i = e(this, K)) == null || i.unload(), (s = e(this, gt)) == null || s.unload(), (o = e(this, ae)) == null || o.unload(), (u = e(this, j)) == null || u.unload(), (p = e(this, g)) == null || p.cleanup();
2398
2400
  for (const v of Object.values(k))
2399
- this.removeEventListener(v, e(this, Hi));
2400
- n(this, h, wn).call(this), n(this, h, In).call(this), this.disconnectListener(this);
2401
+ this.removeEventListener(v, e(this, Oi));
2402
+ n(this, h, Ln).call(this), n(this, h, In).call(this), this.disconnectListener(this);
2401
2403
  }
2402
2404
  attributeChangedCallback(t, i, s) {
2403
2405
  var o, u, p, v, A, z, ut, at, jt, Yt, Jt, cs, us, ps, bs;
2404
2406
  if (i != s)
2405
- switch (e(this, D).debug("Attribute changed", { name: t, oldValue: i, newValue: s }), t) {
2407
+ switch (e(this, F).debug("Attribute changed", { name: t, oldValue: i, newValue: s }), t) {
2406
2408
  case "channel-id":
2407
2409
  d(this, ot, s), e(this, b) && s && (e(this, b).channelId = s, e(this, b).play(), n(this, h, E).call(this, r.BUFFERING, ""), n(this, h, E).call(this, r.CHANNEL_ID, s), n(this, h, E).call(this, r.POSTER_SRC, e(this, b).getThumbnailUrl()));
2408
2410
  break;
@@ -2413,7 +2415,7 @@ const Ye = class Ye extends HTMLElement {
2413
2415
  s && d(this, fi, s);
2414
2416
  break;
2415
2417
  case "paused":
2416
- x(s) ? ((o = e(this, O)) == null || o.pause(), n(this, h, E).call(this, r.PAUSED, "")) : (n(this, h, w).call(this, r.NEEDS_USER_INPUT_VIDEO), n(this, h, w).call(this, r.PAUSED), (u = e(this, O)) == null || u.play());
2418
+ x(s) ? ((o = e(this, H)) == null || o.pause(), n(this, h, E).call(this, r.PAUSED, "")) : (n(this, h, L).call(this, r.NEEDS_USER_INPUT_VIDEO), n(this, h, L).call(this, r.PAUSED), (u = e(this, H)) == null || u.play());
2417
2419
  break;
2418
2420
  case "target-buffer-time":
2419
2421
  if (e(this, b) && s) {
@@ -2422,10 +2424,10 @@ const Ye = class Ye extends HTMLElement {
2422
2424
  }
2423
2425
  break;
2424
2426
  case "user-interacting":
2425
- x(s) ? n(this, h, E).call(this, r.USER_INTERACTING, "") : n(this, h, w).call(this, r.USER_INTERACTING);
2427
+ x(s) ? n(this, h, E).call(this, r.USER_INTERACTING, "") : n(this, h, L).call(this, r.USER_INTERACTING);
2426
2428
  break;
2427
2429
  case "muted":
2428
- e(this, b) && (x(s) ? (e(this, b).muted = !0, e(this, g) && (e(this, g).muted = !0), n(this, h, E).call(this, r.MUTED, ""), (p = e(this, j)) != null && p.isMediaElementSource && ((v = e(this, j)) == null || v.stop(), n(this, h, E).call(this, r.VOLUME_LEVEL, JSON.stringify({ left: null, right: null })))) : (e(this, b).muted = !1, e(this, g) && (e(this, g).muted = !1), n(this, h, w).call(this, r.MUTED), n(this, h, w).call(this, r.NEEDS_USER_INPUT_AUDIO), e(this, b).volume === 0 && (e(this, b).volume = 0.3), (A = e(this, j)) == null || A.start()));
2430
+ e(this, b) && (x(s) ? (e(this, b).muted = !0, e(this, g) && (e(this, g).muted = !0), n(this, h, E).call(this, r.MUTED, ""), (p = e(this, j)) != null && p.isMediaElementSource && ((v = e(this, j)) == null || v.stop(), n(this, h, E).call(this, r.VOLUME_LEVEL, JSON.stringify({ left: null, right: null })))) : (e(this, b).muted = !1, e(this, g) && (e(this, g).muted = !1), n(this, h, L).call(this, r.MUTED), n(this, h, L).call(this, r.NEEDS_USER_INPUT_AUDIO), e(this, b).volume === 0 && (e(this, b).volume = 0.3), (A = e(this, j)) == null || A.start()));
2429
2431
  break;
2430
2432
  case "ui-locked":
2431
2433
  x(s) ? n(this, h, As).call(this) : n(this, h, xt).call(this);
@@ -2434,10 +2436,10 @@ const Ye = class Ye extends HTMLElement {
2434
2436
  x(s) ? n(this, h, Ca).call(this) : n(this, h, xn).call(this);
2435
2437
  break;
2436
2438
  case "max-video-bit-rate":
2437
- d(this, Ft, s), x(s) ? n(this, h, E).call(this, r.MAX_VIDEO_BITRATE, s) : n(this, h, w).call(this, r.MAX_VIDEO_BITRATE), e(this, g) && (e(this, g).maxVideoBitRate = s ? Wt(s) : void 0);
2439
+ d(this, Ft, s), x(s) ? n(this, h, E).call(this, r.MAX_VIDEO_BITRATE, s) : n(this, h, L).call(this, r.MAX_VIDEO_BITRATE), e(this, g) && (e(this, g).maxVideoBitRate = s ? Wt(s) : void 0);
2438
2440
  break;
2439
2441
  case "max-initial-bit-rate":
2440
- d(this, $s, s), x(s) ? n(this, h, E).call(this, r.MAX_INITIAL_BITRATE, s) : n(this, h, w).call(this, r.MAX_INITIAL_BITRATE);
2442
+ d(this, Bs, s), x(s) ? n(this, h, E).call(this, r.MAX_INITIAL_BITRATE, s) : n(this, h, L).call(this, r.MAX_INITIAL_BITRATE);
2441
2443
  break;
2442
2444
  case "is-pip":
2443
2445
  x(s) ? n(this, h, ys).call(this) : n(this, h, ks).call(this);
@@ -2455,16 +2457,16 @@ const Ye = class Ye extends HTMLElement {
2455
2457
  d(this, Ei, s);
2456
2458
  break;
2457
2459
  case "language":
2458
- e(this, b) && (e(this, b).language = s, x(s) ? n(this, h, E).call(this, r.LANGUAGE, s) : n(this, h, w).call(this, r.LANGUAGE));
2460
+ e(this, b) && (e(this, b).language = s, x(s) ? n(this, h, E).call(this, r.LANGUAGE, s) : n(this, h, L).call(this, r.LANGUAGE));
2459
2461
  break;
2460
2462
  case "text-track":
2461
- e(this, b) && (e(this, b).textTrack = s, x(s) ? n(this, h, E).call(this, r.TEXT_TRACK, s) : n(this, h, w).call(this, r.TEXT_TRACK));
2463
+ e(this, b) && (e(this, b).textTrack = s, x(s) ? n(this, h, E).call(this, r.TEXT_TRACK, s) : n(this, h, L).call(this, r.TEXT_TRACK));
2462
2464
  break;
2463
2465
  case "log-level":
2464
- x(s) && e(this, D).setLevel(rn(s));
2466
+ x(s) && e(this, F).setLevel(rn(s));
2465
2467
  break;
2466
2468
  case "authentication-token":
2467
- x(s) ? ((cs = e(this, b)) == null || cs.updateAuthenticationToken(s), (us = e(this, it)) == null || us.updateAuthenticationToken(s), n(this, h, E).call(this, r.AUTHENTICATION_TOKEN, s)) : n(this, h, w).call(this, r.AUTHENTICATION_TOKEN);
2469
+ x(s) ? ((cs = e(this, b)) == null || cs.updateAuthenticationToken(s), (us = e(this, it)) == null || us.updateAuthenticationToken(s), n(this, h, E).call(this, r.AUTHENTICATION_TOKEN, s)) : n(this, h, L).call(this, r.AUTHENTICATION_TOKEN);
2468
2470
  break;
2469
2471
  case "volume":
2470
2472
  if (x(s)) {
@@ -2472,19 +2474,19 @@ const Ye = class Ye extends HTMLElement {
2472
2474
  e(this, g) && (e(this, g).volume = V), e(this, b) && (e(this, b).volume = V);
2473
2475
  }
2474
2476
  break;
2475
- case "timeshift":
2476
- x(s) ? n(this, h, E).call(this, r.TIMESHIFT, s) : n(this, h, w).call(this, r.TIMESHIFT);
2477
+ case "timeshift-position":
2478
+ x(s) ? n(this, h, E).call(this, r.TIMESHIFT_POSITION, s) : n(this, h, L).call(this, r.TIMESHIFT_POSITION);
2477
2479
  break;
2478
2480
  case "drm-headers":
2479
2481
  if (x(s)) {
2480
2482
  const V = ms(s);
2481
- V ? (ps = e(this, b)) == null || ps.drm.setHeaders(V) : e(this, D).warn("Invalid DRM headers format:", s);
2483
+ V ? (ps = e(this, b)) == null || ps.drm.setHeaders(V) : e(this, F).warn("Invalid DRM headers format:", s);
2482
2484
  }
2483
2485
  break;
2484
2486
  case "drm-queryparams":
2485
2487
  if (x(s)) {
2486
2488
  const V = ms(s);
2487
- V ? (bs = e(this, b)) == null || bs.drm.setQueryParams(V) : e(this, D).warn("Invalid DRM query parameters format:", s);
2489
+ V ? (bs = e(this, b)) == null || bs.drm.setQueryParams(V) : e(this, F).warn("Invalid DRM query parameters format:", s);
2488
2490
  }
2489
2491
  break;
2490
2492
  }
@@ -2539,12 +2541,12 @@ const Ye = class Ye extends HTMLElement {
2539
2541
  n(this, h, yn).call(this);
2540
2542
  }
2541
2543
  };
2542
- zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(), Dt = new WeakMap(), vi = new WeakMap(), b = new WeakMap(), O = new WeakMap(), re = new WeakMap(), g = new WeakMap(), fi = new WeakMap(), ot = new WeakMap(), ft = new WeakMap(), Ft = new WeakMap(), $s = new WeakMap(), K = new WeakMap(), gt = new WeakMap(), ae = new WeakMap(), it = new WeakMap(), j = new WeakMap(), Et = new WeakMap(), gi = new WeakMap(), Ei = new WeakMap(), D = new WeakMap(), Ht = new WeakMap(), Ot = new WeakMap(), h = new WeakSet(), yn = function() {
2543
- return $(this, null, function* () {
2544
+ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(), Dt = new WeakMap(), vi = new WeakMap(), b = new WeakMap(), H = new WeakMap(), re = new WeakMap(), g = new WeakMap(), fi = new WeakMap(), ot = new WeakMap(), ft = new WeakMap(), Ft = new WeakMap(), Bs = new WeakMap(), K = new WeakMap(), gt = new WeakMap(), ae = new WeakMap(), it = new WeakMap(), j = new WeakMap(), Et = new WeakMap(), gi = new WeakMap(), Ei = new WeakMap(), F = new WeakMap(), Ot = new WeakMap(), Ht = new WeakMap(), h = new WeakSet(), yn = function() {
2545
+ return B(this, null, function* () {
2544
2546
  var br, mr;
2545
2547
  if (!e(this, ot)) return;
2546
2548
  yield (br = e(this, b)) == null ? void 0 : br.unload();
2547
- const t = this.hasAttribute(r.PAUSED), i = this.hasAttribute(r.MUTED), s = Wt(this.getAttribute(r.VOLUME)), o = typeof s == "number" ? Math.max(0, Math.min(1, s)) : s, u = Tr(this.getAttribute(r.MEDIA)), p = this.getAttribute(r.TEXT_TRACK) || void 0, v = this.getAttribute("edge-url") || void 0, A = this.getAttribute("authentication-token") || void 0, z = Wt(this.getAttribute("max-video-bit-rate")), ut = Wt(this.getAttribute("max-initial-bit-rate")), at = tl(this.getAttribute("max-size")), jt = Wt(this.getAttribute("min-buffer-time")), Yt = Wt(this.getAttribute("max-buffer-time")), Jt = H(this.getAttribute("burst-enabled")), cs = H(this.getAttribute("mse-enabled")), us = H(this.getAttribute("mse-opus-enabled")), ps = H(this.getAttribute("ios-background-play-enabled")), bs = H(this.getAttribute("ios-wake-lock-enabled")), V = H(this.getAttribute("ios-media-element-enabled")), ko = H(this.getAttribute("abr-enabled")), Io = H(this.getAttribute("size-based-resolution-cap-enabled")), Lo = H(this.getAttribute("telemetry-enabled")), wo = Zo(this.getAttribute("video-codecs")), cr = Sr(this.getAttribute("poster")), To = el(this.getAttribute("advanced")), So = rn(this.getAttribute("log-level")), Co = {
2549
+ const t = this.hasAttribute(r.PAUSED), i = this.hasAttribute(r.MUTED), s = Wt(this.getAttribute(r.VOLUME)), o = typeof s == "number" ? Math.max(0, Math.min(1, s)) : s, u = wr(this.getAttribute(r.MEDIA)), p = this.getAttribute(r.TEXT_TRACK) || void 0, v = this.getAttribute("edge-url") || void 0, A = this.getAttribute("authentication-token") || void 0, z = Wt(this.getAttribute("max-video-bit-rate")), ut = Wt(this.getAttribute("max-initial-bit-rate")), at = el(this.getAttribute("max-size")), jt = Wt(this.getAttribute("min-buffer-time")), Yt = Wt(this.getAttribute("max-buffer-time")), Jt = D(this.getAttribute("burst-enabled")), cs = D(this.getAttribute("mse-enabled")), us = D(this.getAttribute("mse-opus-enabled")), ps = D(this.getAttribute("ios-background-play-enabled")), bs = D(this.getAttribute("ios-wake-lock-enabled")), V = D(this.getAttribute("ios-media-element-enabled")), ko = D(this.getAttribute("abr-enabled")), Io = D(this.getAttribute("size-based-resolution-cap-enabled")), To = D(this.getAttribute("telemetry-enabled")), Lo = tl(this.getAttribute("video-codecs")), cr = Sr(this.getAttribute("poster")), wo = il(this.getAttribute("advanced")), So = rn(this.getAttribute("log-level")), Co = {
2548
2550
  headers: ms(this.getAttribute("drm-headers")),
2549
2551
  queryParams: ms(this.getAttribute("drm-queryparams")),
2550
2552
  widevine: {
@@ -2555,7 +2557,7 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2555
2557
  videoRobustness: vs(this.getAttribute("drm-playready-video-robustness")),
2556
2558
  audioRobustness: vs(this.getAttribute("drm-playready-audio-robustness"))
2557
2559
  }
2558
- }, xo = H(this.getAttribute("webtransport-enabled")), ur = Wt(this.getAttribute("reconnect-retries")), No = ur !== void 0 ? (Do) => Do.reconnectRetries < ur : void 0, Ro = this.getAttribute("language") || void 0;
2560
+ }, xo = D(this.getAttribute("webtransport-enabled")), ur = Wt(this.getAttribute("reconnect-retries")), No = ur !== void 0 ? (Fo) => Fo.reconnectRetries < ur : void 0, Ro = this.getAttribute("language") || void 0;
2559
2561
  d(this, b, new $o({
2560
2562
  url: e(this, fi),
2561
2563
  channelId: e(this, ot),
@@ -2578,83 +2580,83 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2578
2580
  iosMediaElementEnabled: V,
2579
2581
  abrEnabled: ko,
2580
2582
  sizeBasedResolutionCapEnabled: Io,
2581
- telemetryEnabled: Lo,
2582
- videoCodecs: wo,
2583
+ telemetryEnabled: To,
2584
+ videoCodecs: Lo,
2583
2585
  poster: cr,
2584
2586
  textTrack: p,
2585
- advanced: To,
2587
+ advanced: wo,
2586
2588
  logLevel: So,
2587
2589
  language: Ro,
2588
2590
  drm: Co,
2589
2591
  webtransportEnabled: xo,
2590
2592
  reconnectHandler: No
2591
- })), d(this, re, new al(e(this, b))), e(this, O) || d(this, O, e(this, re)), n(this, h, kn).call(this), d(this, Dt, (mr = this.shadowRoot) == null ? void 0 : mr.querySelector("#video")), e(this, Dt) && e(this, b).attach(e(this, Dt)), this.setAttribute(r.MEDIA, e(this, b).media), e(this, b).muted && n(this, h, E).call(this, r.MUTED, ""), n(this, h, E).call(this, r.VOLUME, e(this, b).volume.toString()), x(cr) || n(this, h, E).call(this, r.POSTER_SRC, e(this, b).getThumbnailUrl());
2592
- const Uo = H(this.getAttribute(r.AIRPLAY_ENABLED), !1), Po = H(this.getAttribute(r.CAST_ENABLED), !0), pr = H(this.getAttribute(r.FULLSCREEN_ENABLED), !0), _o = H(this.getAttribute(r.PIP_ENABLED), !0), Mo = H(this.getAttribute(r.VU_METER_ENABLED), !1);
2593
+ })), d(this, re, new ll(e(this, b))), e(this, H) || d(this, H, e(this, re)), n(this, h, kn).call(this), d(this, Dt, (mr = this.shadowRoot) == null ? void 0 : mr.querySelector("#video")), e(this, Dt) && e(this, b).attach(e(this, Dt)), this.setAttribute(r.MEDIA, e(this, b).media), e(this, b).muted && n(this, h, E).call(this, r.MUTED, ""), n(this, h, E).call(this, r.VOLUME, e(this, b).volume.toString()), x(cr) || n(this, h, E).call(this, r.POSTER_SRC, e(this, b).getThumbnailUrl());
2594
+ const Uo = D(this.getAttribute(r.AIRPLAY_ENABLED), !1), Po = D(this.getAttribute(r.CAST_ENABLED), !0), pr = D(this.getAttribute(r.FULLSCREEN_ENABLED), !0), _o = D(this.getAttribute(r.PIP_ENABLED), !0), Mo = D(this.getAttribute(r.VU_METER_ENABLED), !1), Do = D(this.getAttribute(r.TIMESHIFT_ENABLED), !1);
2593
2595
  Uo && n(this, h, ya).call(this, e(this, b)), Po && n(this, h, Ea).call(this, e(this, b)), pr && n(this, h, fa).call(this, e(this, b)), _o && n(this, h, va).call(this, e(this, b)), t || e(this, b).play(), Mo && n(this, h, ka).call(this, e(this, b)), this.dispatchEvent(
2594
2596
  new CustomEvent("vindral-instance-ready", { bubbles: !0, composed: !0, detail: e(this, b) })
2595
- ), n(this, h, Ln).call(this), pr && n(this, h, ga).call(this);
2597
+ ), Do && (n(this, h, Tn).call(this), pr && n(this, h, ga).call(this));
2596
2598
  });
2597
- }, Bs = new WeakMap(), Gs = new WeakMap(), Ai = new WeakMap(), yi = new WeakMap(), ki = new WeakMap(), Ii = new WeakMap(), Li = new WeakMap(), wi = new WeakMap(), Ti = new WeakMap(), Si = new WeakMap(), Ci = new WeakMap(), Ks = new WeakMap(), kn = function() {
2598
- e(this, b) && (e(this, b).on("rendition levels", e(this, Bs)), e(this, b).on("rendition level", e(this, Gs)), e(this, b).on("playback state", e(this, Ai)), e(this, b).on("volume state", e(this, yi)), e(this, b).on("channel switch failed", e(this, ki)), e(this, b).on("channel switch", e(this, Ii)), e(this, b).on("channels", e(this, Li)), e(this, b).on("languages", e(this, wi)), e(this, b).on("text tracks", e(this, Ti)), e(this, b).on("needs user input", e(this, Si)), e(this, b).on("is live", e(this, Ci)), e(this, b).on("timeshift info", e(this, Ks)));
2599
+ }, $s = new WeakMap(), Gs = new WeakMap(), Ai = new WeakMap(), yi = new WeakMap(), ki = new WeakMap(), Ii = new WeakMap(), Ti = new WeakMap(), Li = new WeakMap(), wi = new WeakMap(), Si = new WeakMap(), Ci = new WeakMap(), Ks = new WeakMap(), kn = function() {
2600
+ e(this, b) && (e(this, b).on("rendition levels", e(this, $s)), e(this, b).on("rendition level", e(this, Gs)), e(this, b).on("playback state", e(this, Ai)), e(this, b).on("volume state", e(this, yi)), e(this, b).on("channel switch failed", e(this, ki)), e(this, b).on("channel switch", e(this, Ii)), e(this, b).on("channels", e(this, Ti)), e(this, b).on("languages", e(this, Li)), e(this, b).on("text tracks", e(this, wi)), e(this, b).on("needs user input", e(this, Si)), e(this, b).on("is live", e(this, Ci)), e(this, b).on("timeshift info", e(this, Ks)));
2599
2601
  }, In = function() {
2600
- e(this, b) && (e(this, b).off("playback state", e(this, Ai)), e(this, b).off("volume state", e(this, yi)), e(this, b).off("channel switch failed", e(this, ki)), e(this, b).off("channel switch", e(this, Ii)), e(this, b).off("channels", e(this, Li)), e(this, b).off("languages", e(this, wi)), e(this, b).off("text tracks", e(this, Ti)), e(this, b).off("needs user input", e(this, Si)), e(this, b).off("is live", e(this, Ci)));
2602
+ e(this, b) && (e(this, b).off("playback state", e(this, Ai)), e(this, b).off("volume state", e(this, yi)), e(this, b).off("channel switch failed", e(this, ki)), e(this, b).off("channel switch", e(this, Ii)), e(this, b).off("channels", e(this, Ti)), e(this, b).off("languages", e(this, Li)), e(this, b).off("text tracks", e(this, wi)), e(this, b).off("needs user input", e(this, Si)), e(this, b).off("is live", e(this, Ci)));
2601
2603
  }, xi = new WeakMap(), Ni = new WeakMap(), Ri = new WeakMap(), qs = new WeakMap(), Ui = new WeakMap(), Pi = new WeakMap(), _i = new WeakMap(), Mi = new WeakMap(), ma = function() {
2602
2604
  e(this, g) && (e(this, g).addEventListener("playing", e(this, xi)), e(this, g).addEventListener("pause", e(this, Ni)), e(this, g).addEventListener("ended", e(this, Ri)), e(this, g).addEventListener("timeupdate", e(this, Ui)), e(this, g).addEventListener("volumechange", e(this, Pi)), e(this, g).addEventListener("hlsbuffering", e(this, _i)), e(this, g).addEventListener("hlsnotbuffering", e(this, Mi)), e(this, g).addEventListener("timeshiftready", e(this, Di)));
2603
- }, Ln = function() {
2605
+ }, Tn = function() {
2604
2606
  var t, i, s, o;
2605
- d(this, g, new rl(e(this, vi), {
2606
- volume: (i = (t = e(this, O)) == null ? void 0 : t.volume) != null ? i : 1,
2607
- muted: (o = (s = e(this, O)) == null ? void 0 : s.muted) != null ? o : !1,
2607
+ d(this, g, new ol(e(this, vi), {
2608
+ volume: (i = (t = e(this, H)) == null ? void 0 : t.volume) != null ? i : 1,
2609
+ muted: (o = (s = e(this, H)) == null ? void 0 : s.muted) != null ? o : !1,
2608
2610
  maxVideoBitRate: e(this, Ft) ? parseInt(e(this, Ft), 10) : void 0
2609
2611
  })), e(this, g).addEventListener("durationchange", e(this, qs));
2610
- }, Di = new WeakMap(), wn = function() {
2612
+ }, Di = new WeakMap(), Ln = function() {
2611
2613
  e(this, g) && (e(this, g).removeEventListener("playing", e(this, xi)), e(this, g).removeEventListener("pause", e(this, Ni)), e(this, g).removeEventListener("ended", e(this, Ri)), e(this, g).removeEventListener("timeupdate", e(this, Ui)), e(this, g).removeEventListener("volumechange", e(this, Pi)), e(this, g).removeEventListener("hlsbuffering", e(this, _i)), e(this, g).removeEventListener("hlsnotbuffering", e(this, Mi)), e(this, g).removeEventListener("timeshiftready", e(this, Di)));
2612
2614
  }, va = function(t) {
2613
- t.mediaElement instanceof HTMLVideoElement && (d(this, K, new Ar(t.mediaElement)), e(this, K).isSupported() && (e(this, D).debug("PIP is supported"), n(this, h, E).call(this, r.PIP_AVAILABLE, "")), e(this, K).on("on picture in picture change", (i) => {
2614
- i ? n(this, h, E).call(this, r.IS_PIP, "") : n(this, h, w).call(this, r.IS_PIP);
2615
+ t.mediaElement instanceof HTMLVideoElement && (d(this, K, new Ar(t.mediaElement)), e(this, K).isSupported() && (e(this, F).debug("PIP is supported"), n(this, h, E).call(this, r.PIP_AVAILABLE, "")), e(this, K).on("on picture in picture change", (i) => {
2616
+ i ? n(this, h, E).call(this, r.IS_PIP, "") : n(this, h, L).call(this, r.IS_PIP);
2615
2617
  }));
2616
2618
  }, gs = function() {
2617
2619
  var i;
2618
2620
  if (!e(this, K)) return;
2619
2621
  let t = null;
2620
- e(this, O) === e(this, g) && e(this, g) ? t = e(this, g).videoElement : ((i = e(this, b)) == null ? void 0 : i.mediaElement) instanceof HTMLVideoElement && (t = e(this, b).mediaElement), t && t !== e(this, K).videoElement && (e(this, D).debug("Updating PIP target to", e(this, O) === e(this, g) ? "HLS" : "Vindral"), e(this, K).unload(), d(this, K, new Ar(t)), e(this, K).on("on picture in picture change", (s) => {
2621
- s ? n(this, h, E).call(this, r.IS_PIP, "") : n(this, h, w).call(this, r.IS_PIP);
2622
+ e(this, H) === e(this, g) && e(this, g) ? t = e(this, g).videoElement : ((i = e(this, b)) == null ? void 0 : i.mediaElement) instanceof HTMLVideoElement && (t = e(this, b).mediaElement), t && t !== e(this, K).videoElement && (e(this, F).debug("Updating PIP target to", e(this, H) === e(this, g) ? "HLS" : "Vindral"), e(this, K).unload(), d(this, K, new Ar(t)), e(this, K).on("on picture in picture change", (s) => {
2623
+ s ? n(this, h, E).call(this, r.IS_PIP, "") : n(this, h, L).call(this, r.IS_PIP);
2622
2624
  }));
2623
2625
  }, fa = function(t) {
2624
2626
  const i = !pt.isFullscreenApiSupported(this) && pt.isFullscreenApiSupported(t.mediaElement) ? t.mediaElement : this;
2625
2627
  d(this, gt, new pt(i)), e(this, gt).on("on fullscreen change", (s) => {
2626
- s ? n(this, h, E).call(this, r.FULLSCREEN, "") : n(this, h, w).call(this, r.FULLSCREEN);
2628
+ s ? n(this, h, E).call(this, r.FULLSCREEN, "") : n(this, h, L).call(this, r.FULLSCREEN);
2627
2629
  });
2628
2630
  }, ga = function() {
2629
2631
  var t;
2630
2632
  e(this, g) && (d(this, ae, !pt.isFullscreenApiSupported(this) && pt.isFullscreenApiSupported((t = e(this, g)) == null ? void 0 : t.videoElement) ? new pt(e(this, g).videoElement) : new pt(this)), e(this, ae).on("on fullscreen change", (i) => {
2631
- i ? n(this, h, E).call(this, r.FULLSCREEN, "") : n(this, h, w).call(this, r.FULLSCREEN);
2633
+ i ? n(this, h, E).call(this, r.FULLSCREEN, "") : n(this, h, L).call(this, r.FULLSCREEN);
2632
2634
  }));
2633
2635
  }, Es = function() {
2634
- return this.hasAttribute(r.TIMESHIFT) ? e(this, ae) : e(this, gt);
2636
+ return this.hasAttribute(r.TIMESHIFT_POSITION) ? e(this, ae) : e(this, gt);
2635
2637
  }, Ea = function(t) {
2636
- d(this, Et, new Xo({
2638
+ d(this, Et, new jo({
2637
2639
  background: e(this, Ei),
2638
2640
  receiverApplicationId: e(this, gi),
2639
2641
  options: t.getCastOptions()
2640
2642
  })), e(this, Et).init().then(() => {
2641
2643
  var i, s, o;
2642
- n(this, h, E).call(this, r.CAST_AVAILABLE, ""), (i = e(this, Et)) == null || i.on("connected", n(this, h, Tn).bind(this)), (s = e(this, Et)) == null || s.on("resumed", n(this, h, Tn).bind(this)), (o = e(this, Et)) == null || o.on("disconnected", n(this, h, Aa).bind(this));
2644
+ n(this, h, E).call(this, r.CAST_AVAILABLE, ""), (i = e(this, Et)) == null || i.on("connected", n(this, h, wn).bind(this)), (s = e(this, Et)) == null || s.on("resumed", n(this, h, wn).bind(this)), (o = e(this, Et)) == null || o.on("disconnected", n(this, h, Aa).bind(this));
2643
2645
  }).catch((i) => {
2644
- e(this, D).warn("Failed to initialize CastSender", i);
2646
+ e(this, F).warn("Failed to initialize CastSender", i);
2645
2647
  });
2646
- }, Tn = function() {
2648
+ }, wn = function() {
2647
2649
  var i, s;
2648
2650
  n(this, h, E).call(this, r.IS_CASTING, "");
2649
2651
  const t = (s = (i = e(this, Et)) == null ? void 0 : i.getReceiverName()) != null ? s : "device";
2650
2652
  n(this, h, E).call(this, r.CAST_RECEIVER_NAME, t);
2651
2653
  }, Aa = function() {
2652
- n(this, h, w).call(this, r.IS_CASTING), n(this, h, w).call(this, r.CAST_RECEIVER_NAME);
2654
+ n(this, h, L).call(this, r.IS_CASTING), n(this, h, L).call(this, r.CAST_RECEIVER_NAME);
2653
2655
  }, ya = function(t) {
2654
2656
  var s;
2655
2657
  (s = e(this, it)) == null || s.unload();
2656
2658
  const i = t.getCastOptions();
2657
- d(this, it, new nl({
2659
+ d(this, it, new rl({
2658
2660
  url: i.url,
2659
2661
  channelId: i.channelId,
2660
2662
  authenticationToken: i.authenticationToken,
@@ -2664,11 +2666,11 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2664
2666
  }), e(this, it).on("connected", () => {
2665
2667
  n(this, h, E).call(this, r.IS_AIRPLAYING, "");
2666
2668
  }), e(this, it).on("disconnected", () => {
2667
- n(this, h, w).call(this, r.IS_AIRPLAYING);
2669
+ n(this, h, L).call(this, r.IS_AIRPLAYING);
2668
2670
  });
2669
2671
  }, ka = function(t) {
2670
2672
  var i;
2671
- if ((i = e(this, j)) == null || i.unload(), !Bo()) {
2673
+ if ((i = e(this, j)) == null || i.unload(), !Go()) {
2672
2674
  if (t.audioNode)
2673
2675
  d(this, j, new kr(t.audioNode));
2674
2676
  else if (t.mediaElement instanceof HTMLMediaElement)
@@ -2681,14 +2683,14 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2681
2683
  }
2682
2684
  }, Fi = new WeakMap(), Ia = function(t) {
2683
2685
  t.pointerType !== "mouse" && t.timeStamp - e(this, Fi) < 250 || (n(this, h, As).call(this), e(this, Mt) && clearTimeout(e(this, Mt)), t.target instanceof HTMLElement && ([this, e(this, Dt)].includes(t.target) || t.target.localName === "vindral-scroll-overlay") && n(this, h, xt).call(this));
2684
- }, La = function(t) {
2686
+ }, Ta = function(t) {
2685
2687
  const i = this.hasAttribute(r.USER_INTERACTING);
2686
2688
  t.pointerType === "touch" && t.target instanceof HTMLElement ? [this, e(this, Dt)].includes(t.target) && i ? n(this, h, Cn).call(this) : n(this, h, xt).call(this) : t.composedPath().some((s) => s instanceof HTMLElement && ["vindral-play-button"].includes(s == null ? void 0 : s.localName)) && n(this, h, xt).call(this);
2687
- }, wa = function(t) {
2689
+ }, La = function(t) {
2688
2690
  !e(this, gt) || t.target instanceof rt || t.target instanceof dr || t.target instanceof ni || (this.hasAttribute(r.FULLSCREEN) ? this.removeAttribute(r.FULLSCREEN) : this.setAttribute(r.FULLSCREEN, ""));
2689
- }, Ta = function(t) {
2691
+ }, wa = function(t) {
2690
2692
  this.hasAttribute(r.USER_INTERACTING) || n(this, h, xt).call(this);
2691
- }, Hi = new WeakMap(), Vs = new WeakMap(), Xs = new WeakMap(), Sa = function(t) {
2693
+ }, Oi = new WeakMap(), Vs = new WeakMap(), Xs = new WeakMap(), Sa = function(t) {
2692
2694
  var p, v;
2693
2695
  const { metaKey: i, altKey: s, key: o } = t;
2694
2696
  if (!(i || s || !an.includes(o) || (((p = t.target) == null ? void 0 : p.keysUsed) || []).includes(o)))
@@ -2703,19 +2705,19 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2703
2705
  (v = this.querySelector("vindral-scroll-overlay")) == null || v.setAttribute("open", "");
2704
2706
  break;
2705
2707
  }
2706
- }, Oi = new WeakMap(), js = new WeakMap(), Ys = new WeakMap(), oe = new WeakMap(), Sn = function() {
2707
- return $(this, null, function* () {
2708
+ }, Hi = new WeakMap(), js = new WeakMap(), Ys = new WeakMap(), oe = new WeakMap(), Sn = function() {
2709
+ return B(this, null, function* () {
2708
2710
  if (!e(this, b) || !e(this, ft))
2709
2711
  return;
2710
2712
  const t = Date.now();
2711
2713
  if (e(this, oe) && t - e(this, oe) < 1e4)
2712
- e(this, D).debug("Skipping channel update, last update was less than 10 seconds ago.");
2714
+ e(this, F).debug("Skipping channel update, last update was less than 10 seconds ago.");
2713
2715
  else {
2714
2716
  d(this, oe, t);
2715
2717
  const i = yield e(this, b).getApiClient().getChannels(e(this, ft));
2716
2718
  n(this, h, E).call(this, r.CHANNELS, JSON.stringify(i));
2717
2719
  }
2718
- d(this, Ht, window.setTimeout(() => void n(this, h, Sn).call(this), 1e4));
2720
+ d(this, Ot, window.setTimeout(() => void n(this, h, Sn).call(this), 1e4));
2719
2721
  });
2720
2722
  }, Cn = function() {
2721
2723
  !this.hasAttribute(r.USER_INTERACTING) || this.hasAttribute(r.UI_LOCKED) || (this.dispatchEvent(
@@ -2734,12 +2736,12 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2734
2736
  }, ys = function() {
2735
2737
  var t;
2736
2738
  n(this, h, gs).call(this), n(this, h, Nn).call(this), (t = e(this, K)) == null || t.request().catch((i) => {
2737
- e(this, D).warn("Failed to enter picture in picture:", i);
2739
+ e(this, F).warn("Failed to enter picture in picture:", i);
2738
2740
  });
2739
2741
  }, ks = function() {
2740
2742
  var t;
2741
2743
  (t = e(this, K)) == null || t.exit().catch((i) => {
2742
- e(this, D).warn("Failed to exit picture in picture:", i);
2744
+ e(this, F).warn("Failed to exit picture in picture:", i);
2743
2745
  });
2744
2746
  }, Ca = function() {
2745
2747
  const t = n(this, h, Es).call(this);
@@ -2750,26 +2752,26 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2750
2752
  t != null && t.isFullscreenApiSupported() ? (n(this, h, Nn).call(this), t == null || t.request().then(() => {
2751
2753
  e(this, Js).call(this);
2752
2754
  }).catch((i) => {
2753
- e(this, D).warn("Failed to enter fullscreen:", i);
2755
+ e(this, F).warn("Failed to enter fullscreen:", i);
2754
2756
  })) : (this.setAttribute(r.FULLSCREEN_FALLBACK, ""), n(this, h, E).call(this, r.FULLSCREEN, ""));
2755
2757
  }, xn = function() {
2756
2758
  const t = n(this, h, Es).call(this);
2757
2759
  t != null && t.isFullscreenApiSupported() ? t == null || t.exit().then(() => {
2758
2760
  e(this, Ws).call(this);
2759
2761
  }).catch((i) => {
2760
- e(this, D).warn("Failed to exit fullscreen:", i);
2761
- }) : (this.removeAttribute(r.FULLSCREEN_FALLBACK), n(this, h, w).call(this, r.FULLSCREEN));
2762
+ e(this, F).warn("Failed to exit fullscreen:", i);
2763
+ }) : (this.removeAttribute(r.FULLSCREEN_FALLBACK), n(this, h, L).call(this, r.FULLSCREEN));
2762
2764
  }, Js = new WeakMap(), Ws = new WeakMap(), Nn = function() {
2763
2765
  if (!e(this, b)) return;
2764
2766
  e(this, b).emitter.emit("ios-hack: reset size");
2765
2767
  }, E = function(t, i) {
2766
2768
  var s;
2767
2769
  (s = e(this, vt).get(t)) == null || s.forEach((o) => o.setAttribute(t, i));
2768
- }, w = function(t) {
2770
+ }, L = function(t) {
2769
2771
  var i;
2770
2772
  (i = e(this, vt).get(t)) == null || i.forEach((s) => s.removeAttribute(t));
2771
2773
  }, m(Ye, "observedAttributes", [
2772
- ...wr,
2774
+ ...Lr,
2773
2775
  "url",
2774
2776
  "edge-url",
2775
2777
  "target-buffer-time",
@@ -2805,12 +2807,12 @@ zs = new WeakMap(), vt = new WeakMap(), mi = new WeakMap(), Mt = new WeakMap(),
2805
2807
  "language"
2806
2808
  ]), l(Ye, zs, "https://lb.cdn.vindral.com");
2807
2809
  let ri = Ye;
2808
- const xa = document.createElement("template"), ll = (
2810
+ const xa = document.createElement("template"), hl = (
2809
2811
  /* SVG */
2810
2812
  `
2811
2813
  <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>
2812
2814
  `
2813
- ), hl = (
2815
+ ), dl = (
2814
2816
  /* SVG */
2815
2817
  `
2816
2818
  <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>
@@ -2833,8 +2835,8 @@ xa.innerHTML = /* HTML */
2833
2835
  </style>
2834
2836
 
2835
2837
  <slot name="icon">
2836
- <slot name="enter">${ll}</slot>
2837
- <slot name="exit">${hl}</slot>
2838
+ <slot name="enter">${hl}</slot>
2839
+ <slot name="exit">${dl}</slot>
2838
2840
  </slot>
2839
2841
  `;
2840
2842
  const Je = class Je extends rt {
@@ -2864,7 +2866,7 @@ const Je = class Je extends rt {
2864
2866
  };
2865
2867
  m(Je, "observedAttributes", [...J(Je, Je, "observedAttributes"), r.FULLSCREEN]);
2866
2868
  let Rn = Je;
2867
- const dl = (
2869
+ const cl = (
2868
2870
  /* SVG */
2869
2871
  `
2870
2872
  <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>
@@ -2878,7 +2880,7 @@ Na.innerHTML = /* HTML */
2878
2880
  }
2879
2881
  </style>
2880
2882
 
2881
- <slot name="button">${dl}</slot>
2883
+ <slot name="button">${cl}</slot>
2882
2884
  <slot name="listbox" hidden>
2883
2885
  <vindral-language-menu-list id="listbox" part="listbox"></vindral-language-menu-list>
2884
2886
  </slot>
@@ -2903,7 +2905,7 @@ zi = new WeakSet(), Pn = function() {
2903
2905
  i && s ? this.setAttribute("hidden", "") : this.removeAttribute("hidden");
2904
2906
  }, m(We, "observedAttributes", [...J(We, We, "observedAttributes"), r.LANGUAGES, r.TEXT_TRACKS]);
2905
2907
  let Un = We;
2906
- const Ra = document.createElement("template"), cl = (
2908
+ const Ra = document.createElement("template"), ul = (
2907
2909
  /* SVG */
2908
2910
  `
2909
2911
  <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>
@@ -2985,7 +2987,7 @@ Ra.innerHTML = /* HTML */
2985
2987
  }
2986
2988
 
2987
2989
  [role="menuitem"][aria-selected="true"]::before {
2988
- content: url("data:image/svg+xml,${encodeURIComponent(cl)}");
2990
+ content: url("data:image/svg+xml,${encodeURIComponent(ul)}");
2989
2991
  position: absolute;
2990
2992
  left: var(--padding-3);
2991
2993
  top: calc(50% - 8px);
@@ -3024,13 +3026,13 @@ Ra.innerHTML = /* HTML */
3024
3026
  <div class="menu"></div>
3025
3027
  </div>
3026
3028
  `;
3027
- var $i, Bi, Gi, Ki, lt, Q, le, zt, _e, qi, At, ht, I, Pa, _a, _n, Mn, Is, Ke, qe, Ma, Da, Fa, Dn, Fn, Ha;
3029
+ var Bi, $i, Gi, Ki, lt, Q, le, zt, _e, qi, At, ht, I, Pa, _a, _n, Mn, Is, Ke, qe, Ma, Da, Fa, Dn, Fn, Oa;
3028
3030
  class Ua extends HTMLElement {
3029
3031
  constructor() {
3030
3032
  super();
3031
3033
  l(this, I);
3032
- l(this, $i, []);
3033
3034
  l(this, Bi, []);
3035
+ l(this, $i, []);
3034
3036
  l(this, Gi);
3035
3037
  l(this, Ki);
3036
3038
  l(this, lt, []);
@@ -3062,10 +3064,10 @@ class Ua extends HTMLElement {
3062
3064
  i !== s && (t === r.LANGUAGES && s && (this.languages = JSON.parse(s)), t === r.TEXT_TRACKS && s && (this.textTracks = JSON.parse(s)), t === r.LANGUAGE && (this.language = s), t === r.TEXT_TRACK && (this.textTrack = s));
3063
3065
  }
3064
3066
  set languages(t) {
3065
- d(this, $i, t), n(this, I, Mn).call(this), n(this, I, Ke).call(this);
3067
+ d(this, Bi, t), n(this, I, Mn).call(this), n(this, I, Ke).call(this);
3066
3068
  }
3067
3069
  set textTracks(t) {
3068
- d(this, Bi, t), n(this, I, _n).call(this), n(this, I, qe).call(this);
3070
+ d(this, $i, t), n(this, I, _n).call(this), n(this, I, qe).call(this);
3069
3071
  }
3070
3072
  set language(t) {
3071
3073
  d(this, Gi, t), n(this, I, Ke).call(this);
@@ -3080,7 +3082,7 @@ class Ua extends HTMLElement {
3080
3082
  e(this, At) ? e(this, At).focus() : e(this, ht) && e(this, ht).focus();
3081
3083
  }
3082
3084
  }
3083
- $i = new WeakMap(), Bi = new WeakMap(), Gi = new WeakMap(), Ki = new WeakMap(), lt = new WeakMap(), Q = new WeakMap(), le = new WeakMap(), zt = new WeakMap(), _e = new WeakMap(), qi = new WeakMap(), At = new WeakMap(), ht = new WeakMap(), I = new WeakSet(), Pa = function() {
3085
+ Bi = new WeakMap(), $i = new WeakMap(), Gi = new WeakMap(), Ki = new WeakMap(), lt = new WeakMap(), Q = new WeakMap(), le = new WeakMap(), zt = new WeakMap(), _e = new WeakMap(), qi = new WeakMap(), At = new WeakMap(), ht = new WeakMap(), I = new WeakSet(), Pa = function() {
3084
3086
  const t = (s) => {
3085
3087
  s.forEach((o) => {
3086
3088
  if (o.intersectionRatio !== 1)
@@ -3102,12 +3104,12 @@ $i = new WeakMap(), Bi = new WeakMap(), Gi = new WeakMap(), Ki = new WeakMap(),
3102
3104
  }, _n = function() {
3103
3105
  e(this, zt).innerHTML = "", d(this, Q, []);
3104
3106
  const t = n(this, I, Is).call(this, "Off", "textTrack", void 0);
3105
- e(this, zt).appendChild(t), e(this, Q).push({ element: t, value: void 0 }), e(this, Bi).forEach((i) => {
3107
+ e(this, zt).appendChild(t), e(this, Q).push({ element: t, value: void 0 }), e(this, $i).forEach((i) => {
3106
3108
  const s = n(this, I, Is).call(this, i, "textTrack", i);
3107
3109
  e(this, zt).appendChild(s), e(this, Q).push({ element: s, value: i });
3108
3110
  }), n(this, I, qe).call(this);
3109
3111
  }, Mn = function() {
3110
- e(this, le).innerHTML = "", d(this, lt, []), e(this, $i).forEach((t) => {
3112
+ e(this, le).innerHTML = "", d(this, lt, []), e(this, Bi).forEach((t) => {
3111
3113
  const i = n(this, I, Is).call(this, t, "language", t);
3112
3114
  e(this, le).appendChild(i), e(this, lt).push({ element: i, value: t });
3113
3115
  }), n(this, I, Ke).call(this);
@@ -3143,13 +3145,13 @@ $i = new WeakMap(), Bi = new WeakMap(), Gi = new WeakMap(), Ki = new WeakMap(),
3143
3145
  let p = Math.max(0, u);
3144
3146
  i === "ArrowDown" ? p++ : i === "ArrowUp" ? p-- : i === "ArrowLeft" ? p = n(this, I, Dn).call(this, u, "left") : i === "ArrowRight" ? p = n(this, I, Dn).call(this, u, "right") : t.key === "Home" ? p = 0 : t.key === "End" && (p = s.length - 1), p < 0 && (p = s.length - 1), p > s.length - 1 && (p = 0);
3145
3147
  const v = s[p];
3146
- v && (n(this, I, Ha).call(this, v.value), v.element.focus());
3148
+ v && (n(this, I, Oa).call(this, v.value), v.element.focus());
3147
3149
  }, Dn = function(t, i) {
3148
3150
  const s = e(this, lt).length, o = e(this, Q).length;
3149
3151
  return i === "left" ? t < s ? s + o - 1 : t - s - 1 : t >= s ? 0 : t + s;
3150
3152
  }, Fn = function() {
3151
3153
  return [...e(this, lt), ...e(this, Q)].find((t) => t.element.tabIndex === 0);
3152
- }, Ha = function(t) {
3154
+ }, Oa = function(t) {
3153
3155
  for (const i of [...e(this, lt), ...e(this, Q)])
3154
3156
  i.element.tabIndex = i.value === t ? 0 : -1;
3155
3157
  }, m(Ua, "observedAttributes", [
@@ -3158,7 +3160,7 @@ $i = new WeakMap(), Bi = new WeakMap(), Gi = new WeakMap(), Ki = new WeakMap(),
3158
3160
  r.LANGUAGE,
3159
3161
  r.TEXT_TRACK
3160
3162
  ]);
3161
- const Oa = document.createElement("template"), ul = (
3163
+ const Ha = document.createElement("template"), pl = (
3162
3164
  /* SVG */
3163
3165
  `
3164
3166
  <svg xmlns="http://www.w3.org/2000/svg" width="5" height="5" viewBox="0 0 5 5" fill="currentColor">
@@ -3166,7 +3168,7 @@ const Oa = document.createElement("template"), ul = (
3166
3168
  </svg>
3167
3169
  `
3168
3170
  );
3169
- Oa.innerHTML = /* HTML */
3171
+ Ha.innerHTML = /* HTML */
3170
3172
  `
3171
3173
  <style>
3172
3174
  :host {
@@ -3202,7 +3204,7 @@ Oa.innerHTML = /* HTML */
3202
3204
  }
3203
3205
 
3204
3206
  /* Red pulsing dot when live */
3205
- :host(:not([timeshift])) .live-dot {
3207
+ :host(:not([timeshift-position])) .live-dot {
3206
3208
  fill: #ff0000;
3207
3209
  animation: pulse-dot 2s ease-in-out infinite alternate;
3208
3210
  }
@@ -3228,13 +3230,13 @@ Oa.innerHTML = /* HTML */
3228
3230
  }
3229
3231
  </style>
3230
3232
 
3231
- <slot name="icon">${ul}</slot>
3233
+ <slot name="icon">${pl}</slot>
3232
3234
  <span class="live-text">LIVE</span>
3233
3235
  `;
3234
3236
  const Qe = class Qe extends rt {
3235
3237
  constructor() {
3236
3238
  var a;
3237
- super(), (a = this.shadowRoot) == null || a.appendChild(Oa.content.cloneNode(!0));
3239
+ super(), (a = this.shadowRoot) == null || a.appendChild(Ha.content.cloneNode(!0));
3238
3240
  }
3239
3241
  connectedCallback() {
3240
3242
  super.connectedCallback(), this.updateState();
@@ -3243,7 +3245,7 @@ const Qe = class Qe extends rt {
3243
3245
  super.disconnectedCallback();
3244
3246
  }
3245
3247
  attributeChangedCallback(a, t, i) {
3246
- super.attributeChangedCallback(a, t, i), (a === r.TIMESHIFT || a === r.DURATION) && this.updateState();
3248
+ super.attributeChangedCallback(a, t, i), (a === r.TIMESHIFT_POSITION || a === r.DURATION) && this.updateState();
3247
3249
  }
3248
3250
  updateState() {
3249
3251
  if (!this.hasAttribute(r.DURATION)) {
@@ -3253,18 +3255,18 @@ const Qe = class Qe extends rt {
3253
3255
  this.removeAttribute("hidden"), this.isLive ? (this.setAttribute("aria-label", "Currently live"), this.setAttribute("disabled", "")) : (this.setAttribute("aria-label", "Go live"), this.removeAttribute("disabled"));
3254
3256
  }
3255
3257
  get isLive() {
3256
- return !this.hasAttribute(r.TIMESHIFT);
3258
+ return !this.hasAttribute(r.TIMESHIFT_POSITION);
3257
3259
  }
3258
3260
  set isLive(a) {
3259
- a ? this.removeAttribute(r.TIMESHIFT) : this.setAttribute(r.TIMESHIFT, "");
3261
+ a ? this.removeAttribute(r.TIMESHIFT_POSITION) : this.setAttribute(r.TIMESHIFT_POSITION, "");
3260
3262
  }
3261
3263
  handleClick(a) {
3262
3264
  this.isLive || this.dispatchEvent(new CustomEvent(k.GO_LIVE, { bubbles: !0, composed: !0 }));
3263
3265
  }
3264
3266
  };
3265
- m(Qe, "observedAttributes", [...J(Qe, Qe, "observedAttributes"), r.TIMESHIFT, r.DURATION]);
3266
- let Hn = Qe;
3267
- const za = document.createElement("template"), pl = (
3267
+ m(Qe, "observedAttributes", [...J(Qe, Qe, "observedAttributes"), r.TIMESHIFT_POSITION, r.DURATION]);
3268
+ let On = Qe;
3269
+ const za = document.createElement("template"), bl = (
3268
3270
  /* SVG */
3269
3271
  `
3270
3272
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" <g fill="none" stroke="currentColor">
@@ -3272,7 +3274,7 @@ const za = document.createElement("template"), pl = (
3272
3274
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2" />
3273
3275
  </g></svg>
3274
3276
  `
3275
- ), bl = (
3277
+ ), ml = (
3276
3278
  /* SVG */
3277
3279
  `
3278
3280
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" <g fill="none" stroke="currentColor">
@@ -3296,8 +3298,8 @@ za.innerHTML = /* HTML */
3296
3298
  </style>
3297
3299
 
3298
3300
  <slot name="icon">
3299
- <slot name="mute">${pl}</slot>
3300
- <slot name="unmute">${bl}</slot>
3301
+ <slot name="mute">${bl}</slot>
3302
+ <slot name="unmute">${ml}</slot>
3301
3303
  </slot>
3302
3304
  `;
3303
3305
  const Ze = class Ze extends rt {
@@ -3326,14 +3328,14 @@ const Ze = class Ze extends rt {
3326
3328
  }
3327
3329
  };
3328
3330
  m(Ze, "observedAttributes", [...J(Ze, Ze, "observedAttributes"), r.MUTED]);
3329
- let On = Ze;
3330
- const $a = document.createElement("template"), ml = (
3331
+ let Hn = Ze;
3332
+ const Ba = document.createElement("template"), vl = (
3331
3333
  /* SVG */
3332
3334
  `
3333
3335
  <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>
3334
3336
  `
3335
3337
  );
3336
- $a.innerHTML = /* HTML */
3338
+ Ba.innerHTML = /* HTML */
3337
3339
  `
3338
3340
  <style>
3339
3341
  :host {
@@ -3344,12 +3346,12 @@ $a.innerHTML = /* HTML */
3344
3346
  display: none !important;
3345
3347
  }
3346
3348
  </style>
3347
- <slot name="icon">${ml}</slot>
3349
+ <slot name="icon">${vl}</slot>
3348
3350
  `;
3349
3351
  const ti = class ti extends rt {
3350
3352
  constructor() {
3351
3353
  var a;
3352
- super(), (a = this.shadowRoot) == null || a.appendChild($a.content.cloneNode(!0));
3354
+ super(), (a = this.shadowRoot) == null || a.appendChild(Ba.content.cloneNode(!0));
3353
3355
  }
3354
3356
  connectedCallback() {
3355
3357
  super.connectedCallback(), this.setAttribute(
@@ -3379,18 +3381,18 @@ const ti = class ti extends rt {
3379
3381
  };
3380
3382
  m(ti, "observedAttributes", [...J(ti, ti, "observedAttributes"), r.IS_PIP, r.PIP_AVAILABLE]);
3381
3383
  let zn = ti;
3382
- const Ba = document.createElement("template"), vl = (
3384
+ const $a = document.createElement("template"), fl = (
3383
3385
  /* SVG */
3384
3386
  `
3385
3387
  <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>
3386
3388
  `
3387
- ), fl = (
3389
+ ), gl = (
3388
3390
  /* SVG */
3389
3391
  `
3390
3392
  <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>
3391
3393
  `
3392
3394
  );
3393
- Ba.innerHTML = /* HTML */
3395
+ $a.innerHTML = /* HTML */
3394
3396
  `
3395
3397
  <style>
3396
3398
  :host {
@@ -3407,14 +3409,14 @@ Ba.innerHTML = /* HTML */
3407
3409
  </style>
3408
3410
 
3409
3411
  <slot name="icon">
3410
- <slot name="play">${vl}</slot>
3411
- <slot name="pause">${fl}</slot>
3412
+ <slot name="play">${fl}</slot>
3413
+ <slot name="pause">${gl}</slot>
3412
3414
  </slot>
3413
3415
  `;
3414
3416
  const ei = class ei extends rt {
3415
3417
  constructor() {
3416
3418
  var a;
3417
- super(), (a = this.shadowRoot) == null || a.appendChild(Ba.content.cloneNode(!0));
3419
+ super(), (a = this.shadowRoot) == null || a.appendChild($a.content.cloneNode(!0));
3418
3420
  }
3419
3421
  connectedCallback() {
3420
3422
  super.connectedCallback(), this.setAttribute("aria-label", this.paused ? "Play" : "Pause");
@@ -3437,64 +3439,64 @@ const ei = class ei extends rt {
3437
3439
  }
3438
3440
  };
3439
3441
  m(ei, "observedAttributes", [...J(ei, ei, "observedAttributes"), r.PAUSED]);
3440
- let $n = ei;
3442
+ let Bn = ei;
3441
3443
  const Z = {
3442
3444
  TITLE: "title",
3443
3445
  OFFLINE: "offline",
3444
3446
  REFRESH_POSTER_ENABLED: "refresh-poster-enabled",
3445
3447
  STREAM_POLL_ENABLED: "stream-poll-enabled"
3446
- }, gl = Object.values(Z);
3447
- var Vi, Me, $t, he, Bt, Gt, yt, Y, Bn, Ga, Gn, Kn;
3448
- class El extends ds {
3448
+ }, El = Object.values(Z);
3449
+ var Vi, Me, Bt, he, $t, Gt, yt, Y, $n, Ga, Gn, Kn;
3450
+ class Al extends ds {
3449
3451
  constructor(t) {
3450
3452
  super();
3451
3453
  l(this, Y);
3452
3454
  l(this, Vi);
3453
3455
  l(this, Me);
3454
- l(this, $t, !1);
3456
+ l(this, Bt, !1);
3455
3457
  l(this, he, !1);
3456
- l(this, Bt, !0);
3458
+ l(this, $t, !0);
3457
3459
  l(this, Gt, null);
3458
3460
  l(this, yt, null);
3459
- d(this, Me, t), d(this, Vi, new jo({
3461
+ d(this, Me, t), d(this, Vi, new Yo({
3460
3462
  publicEndpoint: t.url,
3461
3463
  tokenFactory: () => t.authenticationToken
3462
3464
  }));
3463
3465
  }
3464
3466
  start(t = 5e3) {
3465
- e(this, yt) && clearInterval(e(this, yt)), d(this, $t, !1), d(this, he, !1), n(this, Y, Kn).call(this), n(this, Y, Bn).call(this), d(this, yt, window.setInterval(() => {
3466
- !e(this, he) && !e(this, Me).infiniteReconnect && !e(this, Gt) && e(this, Bt) && d(this, Gt, window.setTimeout(() => n(this, Y, Ga).call(this), 300 * 1e3)), !e(this, he) && e(this, Bt) && n(this, Y, Bn).call(this);
3467
+ e(this, yt) && clearInterval(e(this, yt)), d(this, Bt, !1), d(this, he, !1), n(this, Y, Kn).call(this), n(this, Y, $n).call(this), d(this, yt, window.setInterval(() => {
3468
+ !e(this, he) && !e(this, Me).infiniteReconnect && !e(this, Gt) && e(this, $t) && d(this, Gt, window.setTimeout(() => n(this, Y, Ga).call(this), 300 * 1e3)), !e(this, he) && e(this, $t) && n(this, Y, $n).call(this);
3467
3469
  }, t));
3468
3470
  }
3469
3471
  stop() {
3470
3472
  n(this, Y, Gn).call(this), e(this, yt) && (window.clearInterval(e(this, yt)), d(this, yt, null));
3471
3473
  }
3472
3474
  }
3473
- Vi = new WeakMap(), Me = new WeakMap(), $t = new WeakMap(), he = new WeakMap(), Bt = new WeakMap(), Gt = new WeakMap(), yt = new WeakMap(), Y = new WeakSet(), Bn = function() {
3474
- return $(this, null, function* () {
3475
- if (e(this, $t))
3475
+ Vi = new WeakMap(), Me = new WeakMap(), Bt = new WeakMap(), he = new WeakMap(), $t = new WeakMap(), Gt = new WeakMap(), yt = new WeakMap(), Y = new WeakSet(), $n = function() {
3476
+ return B(this, null, function* () {
3477
+ if (e(this, Bt))
3476
3478
  return;
3477
- d(this, $t, !0);
3479
+ d(this, Bt, !0);
3478
3480
  let t = "Stream is offline", i = "Please stand by";
3479
3481
  try {
3480
3482
  const s = yield e(this, Vi).getChannel(e(this, Me).channelId);
3481
3483
  if (s.isLive) {
3482
- d(this, he, !0), n(this, Y, Kn).call(this), this.emit("live", s), d(this, $t, !1);
3484
+ d(this, he, !0), n(this, Y, Kn).call(this), this.emit("live", s), d(this, Bt, !1);
3483
3485
  return;
3484
3486
  }
3485
3487
  } catch (s) {
3486
- Yo(s) && (s.status === 403 || s.status === 401) && (t = "Forbidden", i = "You do not have permission to view this stream");
3488
+ Jo(s) && (s.status === 403 || s.status === 401) && (t = "Forbidden", i = "You do not have permission to view this stream");
3487
3489
  }
3488
- e(this, Bt) && this.emit("error", { title: t, message: i }), d(this, $t, !1);
3490
+ e(this, $t) && this.emit("error", { title: t, message: i }), d(this, Bt, !1);
3489
3491
  });
3490
3492
  }, Ga = function() {
3491
- this.stop(), d(this, Bt, !1), this.emit("timeout");
3493
+ this.stop(), d(this, $t, !1), this.emit("timeout");
3492
3494
  }, Gn = function() {
3493
3495
  e(this, Gt) && (window.clearTimeout(e(this, Gt)), d(this, Gt, null));
3494
3496
  }, Kn = function() {
3495
- n(this, Y, Gn).call(this), d(this, Bt, !0);
3497
+ n(this, Y, Gn).call(this), d(this, $t, !0);
3496
3498
  };
3497
- const Al = /\/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\//i, yl = navigator.userAgent.toLowerCase(), kl = Al.test(yl), Il = (c) => ri.observedAttributes.includes(c), Ka = (
3499
+ const yl = /\/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\//i, kl = navigator.userAgent.toLowerCase(), Il = yl.test(kl), Tl = (c) => ri.observedAttributes.includes(c), Ka = (
3498
3500
  /* HTML */
3499
3501
  `
3500
3502
  <style>
@@ -3506,10 +3508,11 @@ const Al = /\/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|
3506
3508
  display: flex;
3507
3509
  justify-content: center;
3508
3510
 
3509
- --vindral-volume-range-display: ${kl ? "none" : "flex"};
3511
+ --vindral-volume-range-display: ${Il ? "none" : "flex"};
3510
3512
  --vindral-airplay-button-display: none;
3511
3513
  --vindral-play-overlay-display: none;
3512
3514
  --vindral-grid-item-offline-display: none;
3515
+ --vindral-seek-bar-display: none;
3513
3516
  }
3514
3517
 
3515
3518
  vindral-control-bar[slot="top-bar"] {
@@ -3564,6 +3567,11 @@ const Al = /\/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|
3564
3567
  --vindral-pip-button-display: none;
3565
3568
  }
3566
3569
 
3570
+ :host([${r.TIMESHIFT_ENABLED}="false"]) {
3571
+ --vindral-seek-bar-display: none;
3572
+ --vindral-live-button-display: none;
3573
+ }
3574
+
3567
3575
  :host(:not([${r.CHANNEL_GROUP_ID}])) vindral-scroll-overlay {
3568
3576
  display: none;
3569
3577
  }
@@ -3638,13 +3646,13 @@ const Al = /\/Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|
3638
3646
  </vindral-controller>
3639
3647
  `
3640
3648
  ), Ir = document.createElement("template");
3641
- var dt, F, q, kt, It, Qs, Xi, P, Va, qn, Xa, ji, Ls, Nt;
3649
+ var dt, O, q, kt, It, Qs, Xi, P, Va, qn, Xa, ji, Ts, Nt;
3642
3650
  class qa extends HTMLElement {
3643
3651
  constructor() {
3644
3652
  super();
3645
3653
  l(this, P);
3646
3654
  l(this, dt);
3647
- l(this, F);
3655
+ l(this, O);
3648
3656
  l(this, q);
3649
3657
  l(this, kt);
3650
3658
  l(this, It);
@@ -3654,34 +3662,34 @@ class qa extends HTMLElement {
3654
3662
  });
3655
3663
  });
3656
3664
  l(this, Xi, (t, i) => {
3657
- Il(t) && (x(i) ? e(this, F).setAttribute(t, i) : e(this, F).removeAttribute(t));
3665
+ Tl(t) && (x(i) ? e(this, O).setAttribute(t, i) : e(this, O).removeAttribute(t));
3658
3666
  });
3659
3667
  l(this, ji, () => {
3660
- const t = e(this, F).instance;
3668
+ const t = e(this, O).instance;
3661
3669
  t && (t.on("is live", (i) => {
3662
3670
  i ? (this.removeAttribute(Z.OFFLINE), e(this, q).setAttribute("hidden", "")) : (this.setAttribute(Z.OFFLINE, ""), e(this, q).removeAttribute("hidden"), n(this, P, Nt).call(this, "Stream is offline", "Please stand by"));
3663
3671
  }), t.on("channels", (i) => {
3664
- const s = e(this, F).getAttribute("channel-id"), o = i.find((u) => u.channelId === s);
3665
- o && n(this, P, Ls).call(this, o);
3672
+ const s = e(this, O).getAttribute("channel-id"), o = i.find((u) => u.channelId === s);
3673
+ o && n(this, P, Ts).call(this, o);
3666
3674
  }), t.on("channel switch", ({ channelId: i }) => {
3667
3675
  const s = t.channels.find((o) => o.channelId === i);
3668
- s && n(this, P, Ls).call(this, s);
3676
+ s && n(this, P, Ts).call(this, s);
3669
3677
  }), t.on("error", (i) => {
3670
- if (i.code() === Go) {
3678
+ if (i.code() === Ko) {
3671
3679
  n(this, P, Nt).call(this, "Stream is offline", "Please stand by");
3672
3680
  return;
3673
3681
  }
3674
- i.isFatal() && (i.code() === Ko ? n(this, P, Nt).call(this, "Forbidden", "You do not have permission to view this stream") : i.code() === qo ? n(this, P, Nt).call(this, "Stream is offline", "Please stand by") : n(this, P, Nt).call(this, "An error occurred", i.message), e(this, kt).removeAttribute("hidden"), this.setAttribute(Z.OFFLINE, ""), e(this, F).dispatchEvent(new CustomEvent(k.EXIT_FULLSCREEN)), e(this, F).dispatchEvent(new CustomEvent(k.EXIT_PIP)));
3682
+ i.isFatal() && (i.code() === qo ? n(this, P, Nt).call(this, "Forbidden", "You do not have permission to view this stream") : i.code() === Vo ? n(this, P, Nt).call(this, "Stream is offline", "Please stand by") : n(this, P, Nt).call(this, "An error occurred", i.message), e(this, kt).removeAttribute("hidden"), this.setAttribute(Z.OFFLINE, ""), e(this, O).dispatchEvent(new CustomEvent(k.EXIT_FULLSCREEN)), e(this, O).dispatchEvent(new CustomEvent(k.EXIT_PIP)));
3675
3683
  }));
3676
3684
  });
3677
- d(this, dt, this.attachShadow({ mode: "open" })), n(this, P, qn).call(this), d(this, F, e(this, dt).querySelector("vindral-controller")), d(this, q, e(this, dt).querySelector("#vindral-message")), d(this, kt, e(this, dt).querySelector("#play-overlay"));
3685
+ d(this, dt, this.attachShadow({ mode: "open" })), n(this, P, qn).call(this), d(this, O, e(this, dt).querySelector("vindral-controller")), d(this, q, e(this, dt).querySelector("#vindral-message")), d(this, kt, e(this, dt).querySelector("#play-overlay"));
3678
3686
  }
3679
3687
  connectedCallback() {
3680
- this.setAttribute(Z.OFFLINE, ""), e(this, F).addEventListener("vindral-instance-ready", e(this, ji)), n(this, P, Xa).call(this);
3688
+ this.setAttribute(Z.OFFLINE, ""), e(this, O).addEventListener("vindral-instance-ready", e(this, ji)), n(this, P, Xa).call(this);
3681
3689
  }
3682
3690
  disconnectedCallback() {
3683
3691
  var t;
3684
- e(this, F).removeEventListener("vindral-instance-ready", e(this, ji)), (t = e(this, It)) == null || t.stop();
3692
+ e(this, O).removeEventListener("vindral-instance-ready", e(this, ji)), (t = e(this, It)) == null || t.stop();
3685
3693
  }
3686
3694
  attributeChangedCallback(t, i, s) {
3687
3695
  if (i !== s)
@@ -3689,55 +3697,55 @@ class qa extends HTMLElement {
3689
3697
  n(this, P, qn).call(this);
3690
3698
  else if (t === Z.REFRESH_POSTER_ENABLED) {
3691
3699
  const o = e(this, dt).querySelector("vindral-poster-overlay");
3692
- o && (o.disabled = H(this.getAttribute(Z.REFRESH_POSTER_ENABLED), !1) === !1);
3700
+ o && (o.disabled = D(this.getAttribute(Z.REFRESH_POSTER_ENABLED), !1) === !1);
3693
3701
  } else
3694
3702
  e(this, Xi).call(this, t, s);
3695
3703
  }
3696
3704
  get instance() {
3697
- return e(this, F).instance;
3705
+ return e(this, O).instance;
3698
3706
  }
3699
3707
  get airPlay() {
3700
- return e(this, F).airPlay;
3708
+ return e(this, O).airPlay;
3701
3709
  }
3702
3710
  }
3703
- dt = new WeakMap(), F = new WeakMap(), q = new WeakMap(), kt = new WeakMap(), It = new WeakMap(), Qs = new WeakMap(), Xi = new WeakMap(), P = new WeakSet(), Va = function() {
3704
- return Tr(this.getAttribute(r.MEDIA)) === "audio" ? wl : Ll;
3711
+ dt = new WeakMap(), O = new WeakMap(), q = new WeakMap(), kt = new WeakMap(), It = new WeakMap(), Qs = new WeakMap(), Xi = new WeakMap(), P = new WeakSet(), Va = function() {
3712
+ return wr(this.getAttribute(r.MEDIA)) === "audio" ? wl : Ll;
3705
3713
  }, qn = function() {
3706
3714
  Ir.innerHTML = n(this, P, Va).call(this);
3707
3715
  const t = Ir.content.cloneNode(!0);
3708
- d(this, F, t.querySelector("vindral-controller")), d(this, q, t.querySelector("#vindral-message")), d(this, kt, t.querySelector("#play-overlay")), this.children.length > 0 && Array.from(this.children).forEach((i) => {
3709
- e(this, F).appendChild(i);
3716
+ d(this, O, t.querySelector("vindral-controller")), d(this, q, t.querySelector("#vindral-message")), d(this, kt, t.querySelector("#play-overlay")), this.children.length > 0 && Array.from(this.children).forEach((i) => {
3717
+ e(this, O).appendChild(i);
3710
3718
  }), e(this, Qs).call(this), e(this, dt).innerHTML = "", e(this, dt).appendChild(t);
3711
3719
  }, Xa = function() {
3712
3720
  var u;
3713
- if (H(this.getAttribute(Z.STREAM_POLL_ENABLED), !0) === !1)
3721
+ if (D(this.getAttribute(Z.STREAM_POLL_ENABLED), !0) === !1)
3714
3722
  return;
3715
3723
  const t = this.getAttribute("url"), i = this.getAttribute("channel-id"), s = (u = this.getAttribute("authentication-token")) != null ? u : void 0, o = this.hasAttribute("infinite-reconnect");
3716
3724
  if (!t || !i) {
3717
3725
  this.setAttribute(Z.OFFLINE, ""), n(this, P, Nt).call(this, "Invalid options", "Please enter at least a channel id and url to start the stream");
3718
3726
  return;
3719
3727
  }
3720
- d(this, It, new El({
3728
+ d(this, It, new Al({
3721
3729
  url: t,
3722
3730
  channelId: i,
3723
3731
  authenticationToken: s,
3724
3732
  infiniteReconnect: o
3725
3733
  })), e(this, It).on("live", (p) => {
3726
- e(this, F).connect(), this.removeAttribute("offline"), e(this, q).setAttribute("hidden", ""), n(this, P, Ls).call(this, p);
3734
+ e(this, O).connect(), this.removeAttribute("offline"), e(this, q).setAttribute("hidden", ""), n(this, P, Ts).call(this, p);
3727
3735
  }), e(this, It).on("timeout", () => {
3728
3736
  e(this, q).setAttribute("hidden", ""), e(this, kt).removeAttribute("hidden");
3729
3737
  }), e(this, It).on("error", (p) => {
3730
3738
  this.setAttribute(Z.OFFLINE, ""), n(this, P, Nt).call(this, p.title, p.message);
3731
3739
  }), e(this, kt).addEventListener("click", () => {
3732
- e(this, F).connect(), e(this, kt).setAttribute("hidden", ""), e(this, q).setAttribute("hidden", ""), e(this, F).focus();
3740
+ e(this, O).connect(), e(this, kt).setAttribute("hidden", ""), e(this, q).setAttribute("hidden", ""), e(this, O).focus();
3733
3741
  }), this.hasAttribute("paused") && e(this, It).start();
3734
- }, ji = new WeakMap(), Ls = function(t) {
3742
+ }, ji = new WeakMap(), Ts = function(t) {
3735
3743
  var p, v;
3736
3744
  const i = Sr(this.getAttribute("title"), !1);
3737
3745
  if (!i) return;
3738
3746
  const s = this.getAttribute("poster"), o = typeof i == "string" ? i : t.name;
3739
3747
  let u;
3740
- typeof s == "string" ? u = s : u = (v = (p = this.instance) == null ? void 0 : p.getThumbnailUrl()) != null ? v : t.thumbnailUrls.length ? t.thumbnailUrls[0] : void 0, Qo({
3748
+ typeof s == "string" ? u = s : u = (v = (p = this.instance) == null ? void 0 : p.getThumbnailUrl()) != null ? v : t.thumbnailUrls.length ? t.thumbnailUrls[0] : void 0, Zo({
3741
3749
  title: o,
3742
3750
  poster: u
3743
3751
  });
@@ -3745,7 +3753,7 @@ dt = new WeakMap(), F = new WeakMap(), q = new WeakMap(), kt = new WeakMap(), It
3745
3753
  e(this, q).setAttribute("title", t), e(this, q).setAttribute("description", i);
3746
3754
  const s = this.getAttribute("poster");
3747
3755
  s && e(this, q).setAttribute("background-image", s), e(this, q).removeAttribute("hidden");
3748
- }, m(qa, "observedAttributes", [...ri.observedAttributes, ...gl]);
3756
+ }, m(qa, "observedAttributes", [...ri.observedAttributes, ...El]);
3749
3757
  const ja = document.createElement("template");
3750
3758
  ja.innerHTML = /* HTML */
3751
3759
  `
@@ -3783,8 +3791,8 @@ ja.innerHTML = /* HTML */
3783
3791
  }
3784
3792
  </style>
3785
3793
  `;
3786
- const Tl = 6e3;
3787
- var De, Kt, de, Fe, nt, Ja, ws, Vn, Zs;
3794
+ const Sl = 6e3;
3795
+ var De, Kt, de, Fe, nt, Ja, Ls, Vn, Zs;
3788
3796
  class Ya extends HTMLElement {
3789
3797
  constructor() {
3790
3798
  super();
@@ -3793,7 +3801,7 @@ class Ya extends HTMLElement {
3793
3801
  l(this, Kt, null);
3794
3802
  l(this, de, null);
3795
3803
  l(this, Fe, () => {
3796
- !document.hidden && this.hasAttribute("intersecting") && this.paused && !this.disabled ? n(this, nt, Ja).call(this) : n(this, nt, ws).call(this);
3804
+ !document.hidden && this.hasAttribute("intersecting") && this.paused && !this.disabled ? n(this, nt, Ja).call(this) : n(this, nt, Ls).call(this);
3797
3805
  });
3798
3806
  l(this, Zs, (t) => {
3799
3807
  t.forEach((i) => {
@@ -3808,7 +3816,7 @@ class Ya extends HTMLElement {
3808
3816
  }
3809
3817
  disconnectedCallback() {
3810
3818
  var t, i;
3811
- (t = e(this, De)) == null || t.disconnectListener(this), document.removeEventListener("visibilitychange", e(this, Fe)), (i = e(this, de)) == null || i.disconnect(), d(this, de, null), n(this, nt, ws).call(this);
3819
+ (t = e(this, De)) == null || t.disconnectListener(this), document.removeEventListener("visibilitychange", e(this, Fe)), (i = e(this, de)) == null || i.disconnect(), d(this, de, null), n(this, nt, Ls).call(this);
3812
3820
  }
3813
3821
  attributeChangedCallback(t, i, s) {
3814
3822
  i !== s && (t === r.POSTER_SRC && this.paused && !this.disabled && n(this, nt, Vn).call(this), (t === r.PAUSED || t === "disabled" || t === "intersecting") && e(this, Fe).call(this));
@@ -3827,8 +3835,8 @@ class Ya extends HTMLElement {
3827
3835
  }
3828
3836
  }
3829
3837
  De = new WeakMap(), Kt = new WeakMap(), de = new WeakMap(), Fe = new WeakMap(), nt = new WeakSet(), Ja = function() {
3830
- e(this, Kt) === null && (n(this, nt, ws).call(this), d(this, Kt, window.setInterval(() => n(this, nt, Vn).call(this), Tl)));
3831
- }, ws = function() {
3838
+ e(this, Kt) === null && (n(this, nt, Ls).call(this), d(this, Kt, window.setInterval(() => n(this, nt, Vn).call(this), Sl)));
3839
+ }, Ls = function() {
3832
3840
  e(this, Kt) !== null && (clearInterval(e(this, Kt)), d(this, Kt, null)), this.style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAJCAQAAACRI2S5AAAAEElEQVR42mNkIAAYRxWAAQAG9gAKqv6+AwAAAABJRU5ErkJggg==')";
3833
3841
  }, Vn = function() {
3834
3842
  if (!this.posterSrc) return;
@@ -3840,7 +3848,7 @@ De = new WeakMap(), Kt = new WeakMap(), de = new WeakMap(), Fe = new WeakMap(),
3840
3848
  "disabled",
3841
3849
  "intersecting"
3842
3850
  ]);
3843
- const Sl = (
3851
+ const Cl = (
3844
3852
  /* SVG */
3845
3853
  `
3846
3854
  <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">
@@ -3857,7 +3865,7 @@ Wa.innerHTML = /* HTML */
3857
3865
  }
3858
3866
  </style>
3859
3867
 
3860
- <slot name="button">${Sl}</slot>
3868
+ <slot name="button">${Cl}</slot>
3861
3869
  <slot name="listbox" hidden>
3862
3870
  <vindral-rendition-levels-menu-list id="listbox" part="listbox"></vindral-rendition-levels-menu-list>
3863
3871
  </slot>
@@ -3882,7 +3890,7 @@ Yi = new WeakSet(), jn = function() {
3882
3890
  !t || t === "[]" ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
3883
3891
  }, m(ii, "observedAttributes", [...J(ii, ii, "observedAttributes"), r.RENDITION_LEVELS]);
3884
3892
  let Xn = ii;
3885
- const Qa = document.createElement("template"), Cl = (
3893
+ const Qa = document.createElement("template"), xl = (
3886
3894
  /* SVG */
3887
3895
  `
3888
3896
  <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>
@@ -3961,7 +3969,7 @@ Qa.innerHTML = /* HTML */
3961
3969
  }
3962
3970
 
3963
3971
  [role="menuitem"][aria-selected="true"]::before {
3964
- content: url("data:image/svg+xml,${encodeURIComponent(Cl)}");
3972
+ content: url("data:image/svg+xml,${encodeURIComponent(xl)}");
3965
3973
  position: absolute;
3966
3974
  left: calc(var(--padding-3) - var(--padding-1));
3967
3975
  top: calc(50% - 8px);
@@ -3991,7 +3999,7 @@ Qa.innerHTML = /* HTML */
3991
3999
  <div class="menu"></div>
3992
4000
  </slot>
3993
4001
  `;
3994
- var ce, Ji, qt, Lt, ue, Wi, U, to, Yn, eo, Jn, io, so, no, Wn, ro;
4002
+ var ce, Ji, qt, Tt, ue, Wi, U, to, Yn, eo, Jn, io, so, no, Wn, ro;
3995
4003
  class Za extends HTMLElement {
3996
4004
  constructor() {
3997
4005
  super();
@@ -3999,7 +4007,7 @@ class Za extends HTMLElement {
3999
4007
  l(this, ce, []);
4000
4008
  l(this, Ji, Number.MAX_SAFE_INTEGER);
4001
4009
  l(this, qt, null);
4002
- l(this, Lt, []);
4010
+ l(this, Tt, []);
4003
4011
  l(this, ue, null);
4004
4012
  l(this, Wi, null);
4005
4013
  m(this, "handleEvent", (t) => {
@@ -4037,7 +4045,7 @@ class Za extends HTMLElement {
4037
4045
  (t = e(this, qt)) == null || t.focus();
4038
4046
  }
4039
4047
  }
4040
- ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(), ue = new WeakMap(), Wi = new WeakMap(), U = new WeakSet(), to = function() {
4048
+ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Tt = new WeakMap(), ue = new WeakMap(), Wi = new WeakMap(), U = new WeakSet(), to = function() {
4041
4049
  const t = (s) => {
4042
4050
  s.forEach((o) => {
4043
4051
  if (o.intersectionRatio !== 1)
@@ -4057,7 +4065,7 @@ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(),
4057
4065
  }, Yn = function() {
4058
4066
  var i;
4059
4067
  const t = (i = this.shadowRoot) == null ? void 0 : i.querySelector(".menu");
4060
- t && (d(this, Lt, []), t.innerHTML = "", e(this, ce).sort((s, o) => {
4068
+ t && (d(this, Tt, []), t.innerHTML = "", e(this, ce).sort((s, o) => {
4061
4069
  var u, p;
4062
4070
  return (u = s.video) != null && u.bitRate && ((p = o.video) != null && p.bitRate) ? o.video.bitRate - s.video.bitRate : 0;
4063
4071
  }).forEach((s) => {
@@ -4065,9 +4073,9 @@ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(),
4065
4073
  const o = document.createElement("div");
4066
4074
  o.setAttribute("role", "menuitem"), o.setAttribute("value", String((v = s.video) == null ? void 0 : v.height)), o.classList.add("menu-item"), o.tabIndex = -1;
4067
4075
  const u = n(this, U, eo).call(this, (A = s.video) == null ? void 0 : A.frameRate);
4068
- o.textContent = s.video ? Wo(s.video) : "";
4076
+ o.textContent = s.video ? Qo(s.video) : "";
4069
4077
  const p = document.createElement("span");
4070
- p.classList.add("menu-item-subtitle"), p.textContent = `${Jo(((ut = (z = s.video) == null ? void 0 : z.bitRate) != null ? ut : 0) + ((jt = (at = s.audio) == null ? void 0 : at.bitRate) != null ? jt : 0))}, ${u}p`, o.appendChild(p), o.addEventListener("click", () => n(this, U, io).call(this, s)), e(this, Lt).push({ el: o, id: (Jt = (Yt = s.video) == null ? void 0 : Yt.id) != null ? Jt : -1 }), t.appendChild(o);
4078
+ p.classList.add("menu-item-subtitle"), p.textContent = `${Wo(((ut = (z = s.video) == null ? void 0 : z.bitRate) != null ? ut : 0) + ((jt = (at = s.audio) == null ? void 0 : at.bitRate) != null ? jt : 0))}, ${u}p`, o.appendChild(p), o.addEventListener("click", () => n(this, U, io).call(this, s)), e(this, Tt).push({ el: o, id: (Jt = (Yt = s.video) == null ? void 0 : Yt.id) != null ? Jt : -1 }), t.appendChild(o);
4071
4079
  }), n(this, U, Jn).call(this));
4072
4080
  }, eo = function(t) {
4073
4081
  return t ? t[0] % t[1] === 0 ? (t[0] / t[1]).toString() : (t[0] / t[1]).toFixed(2) : "";
@@ -4085,7 +4093,7 @@ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(),
4085
4093
  }
4086
4094
  )[0] || t[t.length - 1];
4087
4095
  if (i) {
4088
- const s = e(this, Lt).find((o) => {
4096
+ const s = e(this, Tt).find((o) => {
4089
4097
  var u;
4090
4098
  return o.id === ((u = i.video) == null ? void 0 : u.id);
4091
4099
  });
@@ -4101,7 +4109,7 @@ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(),
4101
4109
  s || o || u || this.keysUsed.includes(i) && (t.preventDefault(), t.stopPropagation(), i === "Tab" || i === "Escape" ? (p = e(this, Wi)) == null || p.hide() : i === "Enter" || i === " " ? (A = (v = n(this, U, Wn).call(this)) == null ? void 0 : v.el) == null || A.click() : n(this, U, no).call(this, t));
4102
4110
  }, no = function(t) {
4103
4111
  var A;
4104
- const { key: i } = t, s = e(this, Lt), o = (A = n(this, U, Wn).call(this)) != null ? A : s[0];
4112
+ const { key: i } = t, s = e(this, Tt), o = (A = n(this, U, Wn).call(this)) != null ? A : s[0];
4105
4113
  if (!o) return;
4106
4114
  const u = s.indexOf(o);
4107
4115
  let p = Math.max(0, u);
@@ -4109,9 +4117,9 @@ ce = new WeakMap(), Ji = new WeakMap(), qt = new WeakMap(), Lt = new WeakMap(),
4109
4117
  const v = s[p];
4110
4118
  v && (n(this, U, ro).call(this, v.id), v.el.focus());
4111
4119
  }, Wn = function() {
4112
- return e(this, Lt).find((t) => t.el.tabIndex === 0);
4120
+ return e(this, Tt).find((t) => t.el.tabIndex === 0);
4113
4121
  }, ro = function(t) {
4114
- for (const i of e(this, Lt))
4122
+ for (const i of e(this, Tt))
4115
4123
  i.el.tabIndex = i.id === t ? 0 : -1;
4116
4124
  }, m(Za, "observedAttributes", [r.RENDITION_LEVELS, r.MAX_VIDEO_BITRATE]);
4117
4125
  const ao = document.createElement("template");
@@ -4184,14 +4192,14 @@ ao.innerHTML = /* HTML */
4184
4192
  <div id="scroll-area"></div>
4185
4193
  <slot id="content"></slot>
4186
4194
  `;
4187
- var wt, pe, He, Qi, R, lo, ho, co, tn, en, Ts, Qn, Zn, tr, er;
4195
+ var Lt, pe, Oe, Qi, R, lo, ho, co, tn, en, ws, Qn, Zn, tr, er;
4188
4196
  class oo extends HTMLElement {
4189
4197
  constructor() {
4190
4198
  super();
4191
4199
  l(this, R);
4192
- l(this, wt, null);
4200
+ l(this, Lt, null);
4193
4201
  l(this, pe, null);
4194
- l(this, He, null);
4202
+ l(this, Oe, null);
4195
4203
  l(this, Qi, 0);
4196
4204
  m(this, "handleEvent", (t) => {
4197
4205
  switch (t.type) {
@@ -4214,7 +4222,7 @@ class oo extends HTMLElement {
4214
4222
  });
4215
4223
  l(this, en, () => {
4216
4224
  const t = e(this, Qi);
4217
- if (d(this, Qi, this.scrollTop), !n(this, R, Ts).call(this)) {
4225
+ if (d(this, Qi, this.scrollTop), !n(this, R, ws).call(this)) {
4218
4226
  this.scrollTop = 0;
4219
4227
  return;
4220
4228
  }
@@ -4226,20 +4234,20 @@ class oo extends HTMLElement {
4226
4234
  var i, s, o, u, p, v;
4227
4235
  const t = this.getRootNode();
4228
4236
  if (t instanceof Document || t instanceof ShadowRoot) {
4229
- d(this, wt, t.querySelector("vindral-controller")), (i = e(this, wt)) == null || i.connectListener(this), d(this, pe, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#scroll-area")), (o = e(this, pe)) == null || o.addEventListener("click", () => {
4237
+ d(this, Lt, t.querySelector("vindral-controller")), (i = e(this, Lt)) == null || i.connectListener(this), d(this, pe, (s = this.shadowRoot) == null ? void 0 : s.querySelector("#scroll-area")), (o = e(this, pe)) == null || o.addEventListener("click", () => {
4230
4238
  this.open && (this.open = !1);
4231
4239
  });
4232
4240
  const A = this.hasAttribute("touch-enabled");
4233
- if (!Vo() || !A) {
4241
+ if (!Xo() || !A) {
4234
4242
  this.setAttribute("snap", ""), this.addEventListener("scroll", e(this, en));
4235
4243
  return;
4236
4244
  }
4237
- this.addEventListener("scroll", e(this, tn)), (u = e(this, wt)) == null || u.addEventListener("touchstart", this, { passive: !0 }), (p = e(this, wt)) == null || p.addEventListener("touchmove", this, { passive: !1 }), (v = e(this, wt)) == null || v.addEventListener("touchend", this, { passive: !0 });
4245
+ this.addEventListener("scroll", e(this, tn)), (u = e(this, Lt)) == null || u.addEventListener("touchstart", this, { passive: !0 }), (p = e(this, Lt)) == null || p.addEventListener("touchmove", this, { passive: !1 }), (v = e(this, Lt)) == null || v.addEventListener("touchend", this, { passive: !0 });
4238
4246
  }
4239
4247
  }
4240
4248
  disconnectedCallback() {
4241
4249
  var t;
4242
- (t = e(this, wt)) == null || t.disconnectListener(this);
4250
+ (t = e(this, Lt)) == null || t.disconnectListener(this);
4243
4251
  }
4244
4252
  attributeChangedCallback(t, i, s) {
4245
4253
  var o;
@@ -4260,16 +4268,16 @@ class oo extends HTMLElement {
4260
4268
  return this.hasAttribute("visible");
4261
4269
  }
4262
4270
  }
4263
- wt = new WeakMap(), pe = new WeakMap(), He = new WeakMap(), Qi = new WeakMap(), R = new WeakSet(), lo = function(t) {
4264
- n(this, R, Ts).call(this) && t.touches[0] && d(this, He, t.touches[0].clientY);
4271
+ Lt = new WeakMap(), pe = new WeakMap(), Oe = new WeakMap(), Qi = new WeakMap(), R = new WeakSet(), lo = function(t) {
4272
+ n(this, R, ws).call(this) && t.touches[0] && d(this, Oe, t.touches[0].clientY);
4265
4273
  }, ho = function(t) {
4266
- if (!(!n(this, R, Ts).call(this) || !e(this, He) || this.hasAttribute("snap-touch")) && (t.preventDefault(), t.touches[0])) {
4267
- const i = t.touches[0].clientY, s = e(this, He) - i;
4274
+ if (!(!n(this, R, ws).call(this) || !e(this, Oe) || this.hasAttribute("snap-touch")) && (t.preventDefault(), t.touches[0])) {
4275
+ const i = t.touches[0].clientY, s = e(this, Oe) - i;
4268
4276
  this.scrollTop = s;
4269
4277
  }
4270
4278
  }, co = function(t) {
4271
4279
  n(this, R, Qn).call(this) && !this.hasAttribute("snap-touch") && (this.open = !0);
4272
- }, tn = new WeakMap(), en = new WeakMap(), Ts = function() {
4280
+ }, tn = new WeakMap(), en = new WeakMap(), ws = function() {
4273
4281
  return this.hasAttribute(r.USER_INTERACTING);
4274
4282
  }, Qn = function() {
4275
4283
  return this.scrollTop > 0;
@@ -4298,6 +4306,7 @@ uo.innerHTML = /* HTML */
4298
4306
  #b3e5fc 100%
4299
4307
  );
4300
4308
  --vindral-range-thumb-color: #03a9f4;
4309
+ display: var(--seek-bar-display);
4301
4310
  position: relative;
4302
4311
  }
4303
4312
 
@@ -4341,7 +4350,7 @@ uo.innerHTML = /* HTML */
4341
4350
  <div id="hover-preview"></div>
4342
4351
  <div id="time-tooltip"></div>
4343
4352
  `;
4344
- var N, ct, Tt, st, St, Vt, Xt, Ct, y, Ss, ir, Zt, fe, Zi, ts, be, es, is, sr, nr, rr, ar, bo, or, te, Cs, ss;
4353
+ var N, ct, wt, st, St, Vt, Xt, Ct, y, Ss, ir, Zt, fe, Zi, ts, be, es, is, sr, nr, rr, ar, bo, or, te, Cs, ss;
4345
4354
  class po extends ni {
4346
4355
  constructor() {
4347
4356
  var t, i, s;
@@ -4349,7 +4358,7 @@ class po extends ni {
4349
4358
  l(this, y);
4350
4359
  l(this, N);
4351
4360
  l(this, ct);
4352
- l(this, Tt);
4361
+ l(this, wt);
4353
4362
  l(this, st, !1);
4354
4363
  l(this, St, null);
4355
4364
  l(this, Vt, null);
@@ -4375,15 +4384,15 @@ class po extends ni {
4375
4384
  }
4376
4385
  d(this, St, requestAnimationFrame(() => {
4377
4386
  if (t.pointerType !== "mouse" || e(this, st) || !this.duration) {
4378
- e(this, Tt).style.opacity = "0", d(this, St, null);
4387
+ e(this, wt).style.opacity = "0", d(this, St, null);
4379
4388
  return;
4380
4389
  }
4381
4390
  const i = n(this, y, sr).call(this, t.clientX);
4382
4391
  if (n(this, y, ar).call(this, i, t.clientX), i > this.range.valueAsNumber) {
4383
4392
  const s = this.range.valueAsNumber * 100, o = (i - this.range.valueAsNumber) * 100;
4384
- e(this, Tt).style.transform = `translateX(${s}%) scaleX(${o / 100})`, e(this, Tt).style.opacity = "1";
4393
+ e(this, wt).style.transform = `translateX(${s}%) scaleX(${o / 100})`, e(this, wt).style.opacity = "1";
4385
4394
  } else
4386
- e(this, Tt).style.opacity = "0";
4395
+ e(this, wt).style.opacity = "0";
4387
4396
  d(this, St, null);
4388
4397
  }));
4389
4398
  }
@@ -4401,7 +4410,7 @@ class po extends ni {
4401
4410
  this.duration && !n(this, y, Zt).call(this) && (e(this, ct).style.opacity = "1");
4402
4411
  });
4403
4412
  l(this, is, () => {
4404
- e(this, ct).style.opacity = "0", e(this, Tt).style.opacity = "0";
4413
+ e(this, ct).style.opacity = "0", e(this, wt).style.opacity = "0";
4405
4414
  });
4406
4415
  l(this, ss, (t) => {
4407
4416
  if (n(this, y, Zt).call(this) || !e(this, N) || e(this, N) <= 0 || !isFinite(e(this, N)))
@@ -4434,7 +4443,7 @@ class po extends ni {
4434
4443
  const p = Math.min(o / i, 1);
4435
4444
  n(this, y, rr).call(this, p);
4436
4445
  });
4437
- (t = this.shadowRoot) == null || t.appendChild(uo.content.cloneNode(!0)), d(this, ct, (i = this.shadowRoot) == null ? void 0 : i.getElementById("time-tooltip")), d(this, Tt, (s = this.shadowRoot) == null ? void 0 : s.getElementById("hover-preview")), this.addEventListener("pointerdown", e(this, Zi)), this.addEventListener("pointermove", e(this, ts)), this.addEventListener("pointerup", e(this, be)), this.addEventListener("pointercancel", e(this, be)), this.addEventListener("mouseenter", e(this, es)), this.addEventListener("mouseleave", e(this, is));
4446
+ (t = this.shadowRoot) == null || t.appendChild(uo.content.cloneNode(!0)), d(this, ct, (i = this.shadowRoot) == null ? void 0 : i.getElementById("time-tooltip")), d(this, wt, (s = this.shadowRoot) == null ? void 0 : s.getElementById("hover-preview")), this.addEventListener("pointerdown", e(this, Zi)), this.addEventListener("pointermove", e(this, ts)), this.addEventListener("pointerup", e(this, be)), this.addEventListener("pointercancel", e(this, be)), this.addEventListener("mouseenter", e(this, es)), this.addEventListener("mouseleave", e(this, is));
4438
4447
  }
4439
4448
  connectedCallback() {
4440
4449
  super.connectedCallback(), this.setAttribute("aria-label", "Seek video position"), this.setAttribute("role", "slider"), n(this, y, fe).call(this), this.addEventListener("keydown", e(this, ss)), n(this, y, te).call(this) && (this.range.value = "1", n(this, y, fe).call(this));
@@ -4445,7 +4454,7 @@ class po extends ni {
4445
4454
  attributeChangedCallback(t, i, s) {
4446
4455
  if (super.attributeChangedCallback(t, i, s), i !== s)
4447
4456
  switch (t) {
4448
- case r.TIMESHIFT:
4457
+ case r.TIMESHIFT_POSITION:
4449
4458
  if (n(this, y, te).call(this)) {
4450
4459
  e(this, st) ? d(this, Ct, !0) : (d(this, Xt, !1), d(this, Ct, !1)), this.range.value = "1", n(this, y, fe).call(this);
4451
4460
  return;
@@ -4473,7 +4482,7 @@ class po extends ni {
4473
4482
  this.setAttribute(r.DURATION, t.toString());
4474
4483
  }
4475
4484
  }
4476
- N = new WeakMap(), ct = new WeakMap(), Tt = new WeakMap(), st = new WeakMap(), St = new WeakMap(), Vt = new WeakMap(), Xt = new WeakMap(), Ct = new WeakMap(), y = new WeakSet(), Ss = function() {
4485
+ N = new WeakMap(), ct = new WeakMap(), wt = new WeakMap(), st = new WeakMap(), St = new WeakMap(), Vt = new WeakMap(), Xt = new WeakMap(), Ct = new WeakMap(), y = new WeakSet(), Ss = function() {
4477
4486
  return e(this, N) ? e(this, N) : 1;
4478
4487
  }, ir = function() {
4479
4488
  return !!e(this, N) && e(this, N) > 0 && isFinite(e(this, N));
@@ -4514,21 +4523,21 @@ N = new WeakMap(), ct = new WeakMap(), Tt = new WeakMap(), st = new WeakMap(), S
4514
4523
  }, or = function(t) {
4515
4524
  return e(this, Xt) || n(this, y, te).call(this) || t < 0.999 ? !1 : (d(this, Xt, !0), d(this, Ct, !1), this.dispatchEvent(new CustomEvent(k.GO_LIVE, { bubbles: !0, composed: !0 })), !0);
4516
4525
  }, te = function() {
4517
- return !this.hasAttribute(r.TIMESHIFT);
4526
+ return !this.hasAttribute(r.TIMESHIFT_POSITION);
4518
4527
  }, Cs = function(t) {
4519
4528
  const i = Math.floor(t / 3600), s = Math.floor(t % 3600 / 60), o = Math.floor(t % 60);
4520
4529
  return e(this, N) && e(this, N) >= 3600 ? `${i}:${s.toString().padStart(2, "0")}:${o.toString().padStart(2, "0")}` : `${s}:${o.toString().padStart(2, "0")}`;
4521
4530
  }, ss = new WeakMap(), m(po, "observedAttributes", [
4522
4531
  ...ni.observedAttributes,
4523
- r.TIMESHIFT,
4532
+ r.TIMESHIFT_POSITION,
4524
4533
  r.DURATION
4525
4534
  ]);
4526
- const mo = document.createElement("template"), xl = (
4535
+ const mo = document.createElement("template"), Nl = (
4527
4536
  /* SVG */
4528
4537
  `
4529
4538
  <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>
4530
4539
  `
4531
- ), Nl = (
4540
+ ), Rl = (
4532
4541
  /* SVG */
4533
4542
  `
4534
4543
  <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>
@@ -4587,15 +4596,15 @@ mo.innerHTML = /* HTML */
4587
4596
  </style>
4588
4597
 
4589
4598
  <slot name="icon">
4590
- <slot name="play">${xl}</slot>
4591
- <slot name="unmute">${Nl}</slot>
4599
+ <slot name="play">${Nl}</slot>
4600
+ <slot name="unmute">${Rl}</slot>
4592
4601
  </slot>
4593
4602
  `;
4594
- var Oe, ns, me, rs;
4603
+ var He, ns, me, rs;
4595
4604
  class vo extends HTMLElement {
4596
4605
  constructor() {
4597
4606
  super();
4598
- l(this, Oe, null);
4607
+ l(this, He, null);
4599
4608
  l(this, ns, () => {
4600
4609
  this.dispatchEvent(new CustomEvent(k.REQUEST_USER_INPUT, { bubbles: !0, composed: !0 }));
4601
4610
  });
@@ -4622,7 +4631,7 @@ class vo extends HTMLElement {
4622
4631
  }
4623
4632
  connectedCallback() {
4624
4633
  var t;
4625
- d(this, Oe, this.closest("vindral-controller")), (t = e(this, Oe)) == null || t.connectListener(this), this.setAttribute("aria-label", "Play"), this.setAttribute("role", "button"), this.enable();
4634
+ d(this, He, this.closest("vindral-controller")), (t = e(this, He)) == null || t.connectListener(this), this.setAttribute("aria-label", "Play"), this.setAttribute("role", "button"), this.enable();
4626
4635
  }
4627
4636
  enable() {
4628
4637
  this.addEventListener("click", e(this, ns)), this.addEventListener("keydown", e(this, rs)), this.tabIndex = 0;
@@ -4632,10 +4641,10 @@ class vo extends HTMLElement {
4632
4641
  }
4633
4642
  disconnectedCallback() {
4634
4643
  var t;
4635
- (t = e(this, Oe)) == null || t.disconnectListener(this), this.disable();
4644
+ (t = e(this, He)) == null || t.disconnectListener(this), this.disable();
4636
4645
  }
4637
4646
  }
4638
- Oe = new WeakMap(), ns = new WeakMap(), me = new WeakMap(), rs = new WeakMap(), m(vo, "observedAttributes", [
4647
+ He = new WeakMap(), ns = new WeakMap(), me = new WeakMap(), rs = new WeakMap(), m(vo, "observedAttributes", [
4639
4648
  "hidden",
4640
4649
  r.NEEDS_USER_INPUT_VIDEO,
4641
4650
  r.NEEDS_USER_INPUT_AUDIO,
@@ -4749,7 +4758,7 @@ class go extends HTMLElement {
4749
4758
  }
4750
4759
  }
4751
4760
  as = new WeakMap(), os = new WeakMap(), ls = new WeakMap(), m(go, "observedAttributes", ["title", "description", "background-image", "hidden"]);
4752
- const Eo = document.createElement("template"), Rl = (
4761
+ const Eo = document.createElement("template"), Ul = (
4753
4762
  /* SVG */
4754
4763
  `
4755
4764
  <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>
@@ -4805,7 +4814,7 @@ Eo.innerHTML = /* HTML */
4805
4814
  }
4806
4815
  </style>
4807
4816
 
4808
- <slot id="play" name="icon">${Rl}</slot>
4817
+ <slot id="play" name="icon">${Ul}</slot>
4809
4818
  `;
4810
4819
  var ze;
4811
4820
  class Ao extends HTMLElement {
@@ -4847,7 +4856,7 @@ yo.innerHTML = /* HTML */
4847
4856
  }
4848
4857
  </style>
4849
4858
  `;
4850
- const Ul = (c) => `${Math.round(c * 100)}%`;
4859
+ const Pl = (c) => `${Math.round(c * 100)}%`;
4851
4860
  var hs;
4852
4861
  const si = class si extends ni {
4853
4862
  constructor() {
@@ -4866,7 +4875,7 @@ const si = class si extends ni {
4866
4875
  super.disconnectedCallback(), this.range.removeEventListener("input", e(this, hs));
4867
4876
  }
4868
4877
  attributeChangedCallback(t, i, s) {
4869
- super.attributeChangedCallback(t, i, s), (t === r.MUTED || t === r.VOLUME) && (this.range.valueAsNumber = this.muted ? 0 : parseFloat(this.volume), this.range.setAttribute("aria-valuetext", Ul(this.range.valueAsNumber)), this.updateBar());
4878
+ super.attributeChangedCallback(t, i, s), (t === r.MUTED || t === r.VOLUME) && (this.range.valueAsNumber = this.muted ? 0 : parseFloat(this.volume), this.range.setAttribute("aria-valuetext", Pl(this.range.valueAsNumber)), this.updateBar());
4870
4879
  }
4871
4880
  get volume() {
4872
4881
  var t;
@@ -4879,7 +4888,7 @@ const si = class si extends ni {
4879
4888
  hs = new WeakMap(), m(si, "observedAttributes", [...J(si, si, "observedAttributes"), r.MUTED, r.VOLUME]);
4880
4889
  let lr = si;
4881
4890
  function Hl() {
4882
- customElements.define("vindral-controller", ri), customElements.define("vindral-control-bar", ea), customElements.define("vindral-play-button", $n), customElements.define("vindral-mute-button", On), customElements.define("vindral-buffering-overlay", Pr), customElements.define("vindral-scroll-overlay", oo), customElements.define("vindral-play-overlay", Ao), customElements.define("vindral-user-input-play-overlay", vo), customElements.define("vindral-fullscreen-button", Rn), customElements.define("vindral-rendition-levels-menu", Xn), customElements.define("vindral-rendition-levels-menu-list", Za), customElements.define("vindral-channel-grid-button", bn), customElements.define("vindral-channel-grid", $r), customElements.define("vindral-channel-grid-item", hr), customElements.define("vindral-pip-button", zn), customElements.define("vindral-airplay-button", hn), customElements.define("vindral-cast-button", cn), customElements.define("vindral-cast-overlay", Fr), customElements.define("vindral-buffering-icon", Rr), customElements.define("vindral-language-menu", Un), customElements.define("vindral-language-menu-list", Ua), customElements.define("vindral-message", go), customElements.define("vindral-volume-range", lr), customElements.define("vindral-poster-overlay", Ya), customElements.define("vindral-player", qa), customElements.define("vindral-seek-bar", po), customElements.define("vindral-live-button", Hn);
4891
+ customElements.define("vindral-controller", ri), customElements.define("vindral-control-bar", ea), customElements.define("vindral-play-button", Bn), customElements.define("vindral-mute-button", Hn), customElements.define("vindral-buffering-overlay", Pr), customElements.define("vindral-scroll-overlay", oo), customElements.define("vindral-play-overlay", Ao), customElements.define("vindral-user-input-play-overlay", vo), customElements.define("vindral-fullscreen-button", Rn), customElements.define("vindral-rendition-levels-menu", Xn), customElements.define("vindral-rendition-levels-menu-list", Za), customElements.define("vindral-channel-grid-button", bn), customElements.define("vindral-channel-grid", Br), customElements.define("vindral-channel-grid-item", hr), customElements.define("vindral-pip-button", zn), customElements.define("vindral-airplay-button", hn), customElements.define("vindral-cast-button", cn), customElements.define("vindral-cast-overlay", Fr), customElements.define("vindral-buffering-icon", Rr), customElements.define("vindral-language-menu", Un), customElements.define("vindral-language-menu-list", Ua), customElements.define("vindral-message", go), customElements.define("vindral-volume-range", lr), customElements.define("vindral-poster-overlay", Ya), customElements.define("vindral-player", qa), customElements.define("vindral-seek-bar", po), customElements.define("vindral-live-button", On);
4883
4892
  }
4884
4893
  export {
4885
4894
  Hl as registerComponents