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