@instructure/studio-player 1.3.7 → 1.3.9
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/dist/StudioPlayer/StudioPlayer.d.ts +1 -1
- package/dist/StudioPlayer/StudioPlayer.types.d.ts +5 -2
- package/dist/StudioPlayer/layouts/index.d.ts +0 -1
- package/dist/StudioPlayer/useStudioPlayer.d.ts +3 -3
- package/dist/StudioPlayer/utils/dom.d.ts +6 -0
- package/dist/StudioPlayer/utils/index.d.ts +1 -1
- package/dist/StudioPlayer/utils/mediaQueries.d.ts +6 -0
- package/dist/StudioPlayer/utils/youtube/caption.d.ts +2 -0
- package/dist/en-BgIIckEu.js +149 -0
- package/dist/index-AD1fEUdF.css +1 -0
- package/dist/studio-player.es.js +12180 -11635
- package/dist/types.d.ts +11 -2
- package/dist/{vidstack-audio-BBGk19Gk.js → vidstack-audio-DpC7qtiU.js} +2 -2
- package/dist/{vidstack-dash-DGxcLdqt.js → vidstack-dash-B6EhwfI1.js} +2 -2
- package/dist/{vidstack-google-cast-B4Vl3EJ9.js → vidstack-google-cast-vz-QWdn1.js} +1 -1
- package/dist/{vidstack-hls-CJjsZ6ts.js → vidstack-hls-dUGvLSPa.js} +2 -2
- package/dist/{vidstack-html-Dz_pUri3.js → vidstack-html-dNU_ECVa.js} +1 -1
- package/dist/{vidstack-C21JrmAf.js → vidstack-vhfcP18r.js} +15 -15
- package/dist/{vidstack-video-CsAf3dvY.js → vidstack-video-t2h5KmBc.js} +2 -2
- package/dist/{vidstack-vimeo-Ca0VhtFD.js → vidstack-vimeo-DrrDsSEI.js} +1 -1
- package/dist/{vidstack-youtube-rG35f6dD.js → vidstack-youtube-BC-ol6Of.js} +36 -34
- package/package.json +3 -2
- package/dist/StudioPlayer/layouts/main/MainLayout.d.ts +0 -2
- package/dist/en-BQ1k994-.js +0 -137
- package/dist/index-DXP-5F25.css +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactSVGElement } from 'react';
|
|
1
|
+
import { ReactNode, ReactSVGElement } from 'react';
|
|
2
2
|
export type { VideoMimeType, MediaRemoteControl, MediaPlayerInstance, MediaCrossOrigin, } from '@vidstack/react';
|
|
3
3
|
export type CaptionSourceType = 'youtube' | 'standard';
|
|
4
4
|
export type CaptionMetaData = {
|
|
@@ -39,13 +39,22 @@ export type InteractiveMenuElement = {
|
|
|
39
39
|
text: string;
|
|
40
40
|
onClick: (id: string, timestamp: number) => void;
|
|
41
41
|
};
|
|
42
|
-
export type KebabMenuElementIcon = 'share' | 'transcript' | 'media' | 'delete' | 'shortcuts';
|
|
42
|
+
export type KebabMenuElementIcon = 'share' | 'transcript' | 'media' | 'delete' | 'shortcuts' | 'expand';
|
|
43
43
|
export type KebabMenuElement = {
|
|
44
44
|
id: string;
|
|
45
45
|
text: string;
|
|
46
46
|
icon: KebabMenuElementIcon | ReactSVGElement;
|
|
47
47
|
onClick: (id: string) => void;
|
|
48
48
|
order?: number;
|
|
49
|
+
showInOverlay?: boolean;
|
|
50
|
+
overlayText?: string;
|
|
51
|
+
};
|
|
52
|
+
export type TabSlot = {
|
|
53
|
+
id: string;
|
|
54
|
+
label: string;
|
|
55
|
+
Component: ReactNode;
|
|
56
|
+
order?: number;
|
|
57
|
+
default?: boolean;
|
|
49
58
|
};
|
|
50
59
|
export type FeedbackAction = 'togglePaused' | 'seekForward' | 'seekForward10' | 'seekBackward' | 'seekBackward10' | 'volumeChange' | 'captionsChange' | 'playbackRateChange';
|
|
51
60
|
export { type StudioPlayerContextType } from './StudioPlayer/context';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var o = Object.defineProperty;
|
|
2
2
|
var a = (i, e, t) => e in i ? o(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
|
|
3
3
|
var r = (i, e, t) => a(i, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { s as p, H as d } from "./vidstack-
|
|
5
|
-
import { H as u } from "./vidstack-html-
|
|
4
|
+
import { s as p, H as d } from "./vidstack-vhfcP18r.js";
|
|
5
|
+
import { H as u } from "./vidstack-html-dNU_ECVa.js";
|
|
6
6
|
class n extends u {
|
|
7
7
|
constructor(t, s) {
|
|
8
8
|
super(t, s);
|
|
@@ -5,8 +5,8 @@ var u = (e) => {
|
|
|
5
5
|
var g = (e, s, t) => s in e ? S(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
|
|
6
6
|
var h = (e, s, t) => g(e, typeof s != "symbol" ? s + "" : s, t), d = (e, s, t) => s.has(e) || u("Cannot " + t);
|
|
7
7
|
var i = (e, s, t) => (d(e, s, "read from private field"), t ? t.call(e) : s.get(e)), a = (e, s, t) => s.has(e) ? u("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(e) : s.set(e, t), p = (e, s, t, n) => (d(e, s, "write to private field"), n ? n.call(e, t) : s.set(e, t), t);
|
|
8
|
-
import { D as f, i as m, a as l, p as y, b as D, c as x } from "./vidstack-
|
|
9
|
-
import { VideoProvider as v } from "./vidstack-video-
|
|
8
|
+
import { D as f, i as m, a as l, p as y, b as D, c as x } from "./vidstack-vhfcP18r.js";
|
|
9
|
+
import { VideoProvider as v } from "./vidstack-video-t2h5KmBc.js";
|
|
10
10
|
const $ = "https://cdn.jsdelivr.net";
|
|
11
11
|
var c, r, o;
|
|
12
12
|
class b extends v {
|
|
@@ -5,7 +5,7 @@ var U = (r) => {
|
|
|
5
5
|
var ct = (r, t, s) => t in r ? ht(r, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : r[t] = s;
|
|
6
6
|
var _ = (r, t, s) => ct(r, typeof t != "symbol" ? t + "" : t, s), D = (r, t, s) => t.has(r) || U("Cannot " + s);
|
|
7
7
|
var e = (r, t, s) => (D(r, t, "read from private field"), s ? s.call(r) : t.get(r)), d = (r, t, s) => t.has(r) ? U("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, s), u = (r, t, s, n) => (D(r, t, "write to private field"), n ? n.call(r, s) : t.set(r, s), s), a = (r, t, s) => (D(r, t, "access private method"), s);
|
|
8
|
-
import { l as ut, d as dt, T as E, R as lt, G as ft, k as F, o as mt, e as x, c as I, f as gt } from "./vidstack-
|
|
8
|
+
import { l as ut, d as dt, T as E, R as lt, G as ft, k as F, o as mt, e as x, c as I, f as gt } from "./vidstack-vhfcP18r.js";
|
|
9
9
|
function Tt() {
|
|
10
10
|
return "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";
|
|
11
11
|
}
|
|
@@ -5,8 +5,8 @@ var u = (e) => {
|
|
|
5
5
|
var g = (e, s, t) => s in e ? S(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
|
|
6
6
|
var a = (e, s, t) => g(e, typeof s != "symbol" ? s + "" : s, t), d = (e, s, t) => s.has(e) || u("Cannot " + t);
|
|
7
7
|
var i = (e, s, t) => (d(e, s, "read from private field"), t ? t.call(e) : s.get(e)), h = (e, s, t) => s.has(e) ? u("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(e) : s.set(e, t), p = (e, s, t, n) => (d(e, s, "write to private field"), n ? n.call(e, t) : s.set(e, t), t);
|
|
8
|
-
import { g as f, h as m, a as l, p as y, j as L, c as x } from "./vidstack-
|
|
9
|
-
import { VideoProvider as v } from "./vidstack-video-
|
|
8
|
+
import { g as f, h as m, a as l, p as y, j as L, c as x } from "./vidstack-vhfcP18r.js";
|
|
9
|
+
import { VideoProvider as v } from "./vidstack-video-t2h5KmBc.js";
|
|
10
10
|
const $ = "https://cdn.jsdelivr.net";
|
|
11
11
|
var c, r, o;
|
|
12
12
|
class j extends v {
|
|
@@ -6,7 +6,7 @@ var p = (i, e, t) => e in i ? l(i, e, { enumerable: !0, configurable: !0, writab
|
|
|
6
6
|
var d = (i, e, t) => p(i, typeof e != "symbol" ? e + "" : e, t), S = (i, e, t) => e.has(i) || m("Cannot " + t);
|
|
7
7
|
var h = (i, e, t) => e.has(i) ? m("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(i) : e.set(i, t);
|
|
8
8
|
var n = (i, e, t) => (S(i, e, "access private method"), t);
|
|
9
|
-
import { A as y, d as v, m as f, N as T, o as b, n as c, q as $, a as M } from "./vidstack-
|
|
9
|
+
import { A as y, d as v, m as f, N as T, o as b, n as c, q as $, a as M } from "./vidstack-vhfcP18r.js";
|
|
10
10
|
var r, u;
|
|
11
11
|
class g {
|
|
12
12
|
constructor(e, t) {
|
|
@@ -7,7 +7,7 @@ var y = (n, e, t) => Qw(n, typeof e != "symbol" ? e + "" : e, t), cl = (n, e, t)
|
|
|
7
7
|
var s = (n, e, t) => (cl(n, e, "read from private field"), t ? t.call(n) : e.get(n)), c = (n, e, t) => e.has(n) ? Qu("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(n) : e.set(n, t), u = (n, e, t, i) => (cl(n, e, "write to private field"), i ? i.call(n, t) : e.set(n, t), t), a = (n, e, t) => (cl(n, e, "access private method"), t);
|
|
8
8
|
import { jsx as N, Fragment as zw, jsxs as Jr } from "react/jsx-runtime";
|
|
9
9
|
import * as $ from "react";
|
|
10
|
-
import { g as Yw, a as Xw, i as zu, h as Jw, b as Zw, c as tT, d as eT, e as iT, f as sT } from "./vidstack-google-cast-
|
|
10
|
+
import { g as Yw, a as Xw, i as zu, h as Jw, b as Zw, c as tT, d as eT, e as iT, f as sT } from "./vidstack-google-cast-vz-QWdn1.js";
|
|
11
11
|
const li = Symbol(0);
|
|
12
12
|
let mh = !1, $l = !1, Qe = null, Kn = null, Ae = null, be = 0, Bn = [], Tu = {};
|
|
13
13
|
const nT = () => {
|
|
@@ -2995,7 +2995,7 @@ class G$ {
|
|
|
2995
2995
|
return "audio";
|
|
2996
2996
|
}
|
|
2997
2997
|
async load(e) {
|
|
2998
|
-
return new (await import("./vidstack-audio-
|
|
2998
|
+
return new (await import("./vidstack-audio-DpC7qtiU.js")).AudioProvider(this.target, e);
|
|
2999
2999
|
}
|
|
3000
3000
|
}
|
|
3001
3001
|
class Ou {
|
|
@@ -3010,7 +3010,7 @@ class Ou {
|
|
|
3010
3010
|
return "video";
|
|
3011
3011
|
}
|
|
3012
3012
|
async load(e) {
|
|
3013
|
-
return new (await import("./vidstack-video-
|
|
3013
|
+
return new (await import("./vidstack-video-t2h5KmBc.js")).VideoProvider(this.target, e);
|
|
3014
3014
|
}
|
|
3015
3015
|
}
|
|
3016
3016
|
const Mh = class Mh extends Ou {
|
|
@@ -3022,7 +3022,7 @@ const Mh = class Mh extends Ou {
|
|
|
3022
3022
|
return Mh.supported && ca(t);
|
|
3023
3023
|
}
|
|
3024
3024
|
async load(t) {
|
|
3025
|
-
return new (await import("./vidstack-hls-
|
|
3025
|
+
return new (await import("./vidstack-hls-dUGvLSPa.js")).HLSProvider(this.target, t);
|
|
3026
3026
|
}
|
|
3027
3027
|
};
|
|
3028
3028
|
y(Mh, "supported", Au());
|
|
@@ -3846,7 +3846,7 @@ const qh = class qh extends Ou {
|
|
|
3846
3846
|
return qh.supported && Mu(t);
|
|
3847
3847
|
}
|
|
3848
3848
|
async load(t) {
|
|
3849
|
-
return new (await import("./vidstack-dash-
|
|
3849
|
+
return new (await import("./vidstack-dash-B6EhwfI1.js")).DASHProvider(this.target, t);
|
|
3850
3850
|
}
|
|
3851
3851
|
};
|
|
3852
3852
|
y(qh, "supported", FT());
|
|
@@ -3872,10 +3872,10 @@ class av {
|
|
|
3872
3872
|
return "video";
|
|
3873
3873
|
}
|
|
3874
3874
|
async load(e) {
|
|
3875
|
-
return new (await import("./vidstack-vimeo-
|
|
3875
|
+
return new (await import("./vidstack-vimeo-DrrDsSEI.js").then((t) => t.p)).VimeoProvider(this.target, e);
|
|
3876
3876
|
}
|
|
3877
3877
|
async loadPoster(e, t, i) {
|
|
3878
|
-
const { resolveVimeoVideoId: r, getVimeoVideoInfo: o } = await import("./vidstack-vimeo-
|
|
3878
|
+
const { resolveVimeoVideoId: r, getVimeoVideoInfo: o } = await import("./vidstack-vimeo-DrrDsSEI.js").then((d) => d.u);
|
|
3879
3879
|
if (!R(e.src)) return null;
|
|
3880
3880
|
const { videoId: h, hash: l } = r(e.src);
|
|
3881
3881
|
return h ? o(h, i, l).then((d) => d ? d.poster : null) : null;
|
|
@@ -3906,10 +3906,10 @@ class ov {
|
|
|
3906
3906
|
return "video";
|
|
3907
3907
|
}
|
|
3908
3908
|
async load(e) {
|
|
3909
|
-
return new (await import("./vidstack-youtube-
|
|
3909
|
+
return new (await import("./vidstack-youtube-BC-ol6Of.js").then((t) => t.p)).YouTubeProvider(this.target, e);
|
|
3910
3910
|
}
|
|
3911
3911
|
async loadPoster(e, t, i) {
|
|
3912
|
-
const { findYouTubePoster: r, resolveYouTubeVideoId: o } = await import("./vidstack-youtube-
|
|
3912
|
+
const { findYouTubePoster: r, resolveYouTubeVideoId: o } = await import("./vidstack-youtube-BC-ol6Of.js").then((l) => l.u), h = R(e.src) && o(e.src);
|
|
3913
3913
|
return h ? r(h, i) : null;
|
|
3914
3914
|
}
|
|
3915
3915
|
}
|
|
@@ -9544,7 +9544,7 @@ class Mk {
|
|
|
9544
9544
|
async load(e) {
|
|
9545
9545
|
if (!s(this, Rs))
|
|
9546
9546
|
throw Error("[vidstack] google cast player was not initialized");
|
|
9547
|
-
return new (await import("./vidstack-google-cast-
|
|
9547
|
+
return new (await import("./vidstack-google-cast-vz-QWdn1.js").then((t) => t.p)).GoogleCastProvider(s(this, Rs), e);
|
|
9548
9548
|
}
|
|
9549
9549
|
}
|
|
9550
9550
|
Rs = new WeakMap(), Yt = new WeakSet(), _w = async function(e) {
|
|
@@ -9722,17 +9722,17 @@ export {
|
|
|
9722
9722
|
aP as W,
|
|
9723
9723
|
oP as X,
|
|
9724
9724
|
yP as Y,
|
|
9725
|
-
|
|
9726
|
-
|
|
9725
|
+
sP as Z,
|
|
9726
|
+
lP as _,
|
|
9727
9727
|
R as a,
|
|
9728
9728
|
YS as a0,
|
|
9729
9729
|
kk as a1,
|
|
9730
9730
|
dP as a2,
|
|
9731
9731
|
cP as a3,
|
|
9732
9732
|
uP as a4,
|
|
9733
|
-
|
|
9734
|
-
|
|
9735
|
-
|
|
9733
|
+
Nu as a5,
|
|
9734
|
+
JS as a6,
|
|
9735
|
+
Ek as a7,
|
|
9736
9736
|
pk as a8,
|
|
9737
9737
|
nk as a9,
|
|
9738
9738
|
bk as aa,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var n = Object.defineProperty;
|
|
2
2
|
var o = (s, t, e) => t in s ? n(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
|
|
3
3
|
var i = (s, t, e) => o(s, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
-
import { s as c, H as u, r as P, V as p, F as d, P as h, t as l, u as f, v as V, w as y, o as I } from "./vidstack-
|
|
5
|
-
import { H as v } from "./vidstack-html-
|
|
4
|
+
import { s as c, H as u, r as P, V as p, F as d, P as h, t as l, u as f, v as V, w as y, o as I } from "./vidstack-vhfcP18r.js";
|
|
5
|
+
import { H as v } from "./vidstack-html-dNU_ECVa.js";
|
|
6
6
|
class m extends v {
|
|
7
7
|
constructor(e, r) {
|
|
8
8
|
super(e, r);
|
|
@@ -5,7 +5,7 @@ var W = (a) => {
|
|
|
5
5
|
var ke = (a, c, e) => c in a ? me(a, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[c] = e;
|
|
6
6
|
var b = (a, c, e) => ke(a, typeof c != "symbol" ? c + "" : c, e), j = (a, c, e) => c.has(a) || W("Cannot " + e);
|
|
7
7
|
var s = (a, c, e) => (j(a, c, "read from private field"), e ? e.call(a) : c.get(a)), d = (a, c, e) => c.has(a) ? W("Cannot add the same private member more than once") : c instanceof WeakSet ? c.add(a) : c.set(a, e), f = (a, c, e, t) => (j(a, c, "write to private field"), t ? t.call(a, e) : c.set(a, e), e), h = (a, c, e) => (j(a, c, "access private method"), e);
|
|
8
|
-
import { E as ve, d as we, x as Y, T as g, R as Te, p as Pe, y as x, c as A, a as Ce, z as G, L as M, l as $e, B as ge, C as Ee, I as Re, Q as J } from "./vidstack-
|
|
8
|
+
import { E as ve, d as we, x as Y, T as g, R as Te, p as Pe, y as x, c as A, a as Ce, z as G, L as M, l as $e, B as ge, C as Ee, I as Re, Q as J } from "./vidstack-vhfcP18r.js";
|
|
9
9
|
const Ve = /(?:https:\/\/)?(?:player\.)?vimeo(?:\.com)?\/(?:video\/)?(\d+)(?:(?:\?hash=|\?h=|\/)(.*))?/, O = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map();
|
|
10
10
|
function K(a) {
|
|
11
11
|
const c = a.match(Ve);
|
|
@@ -4,8 +4,8 @@ var z = (a) => {
|
|
|
4
4
|
};
|
|
5
5
|
var W = (a, n, e) => n in a ? Q(a, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[n] = e;
|
|
6
6
|
var m = (a, n, e) => W(a, typeof n != "symbol" ? n + "" : n, e), E = (a, n, e) => n.has(a) || z("Cannot " + e);
|
|
7
|
-
var s = (a, n, e) => (E(a, n, "read from private field"), e ? e.call(a) : n.get(a)), p = (a, n, e) => n.has(a) ? z("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(a) : n.set(a, e),
|
|
8
|
-
import { E as X, d as Z, x as ee, p as te, y as se, a as ie, J as ae, z as oe, Y as k, K as ne, M as
|
|
7
|
+
var s = (a, n, e) => (E(a, n, "read from private field"), e ? e.call(a) : n.get(a)), p = (a, n, e) => n.has(a) ? z("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(a) : n.set(a, e), l = (a, n, e, t) => (E(a, n, "write to private field"), t ? t.call(a, e) : n.set(a, e), e), r = (a, n, e) => (E(a, n, "access private method"), e);
|
|
8
|
+
import { E as X, d as Z, x as ee, p as te, y as se, a as ie, J as ae, z as oe, Y as k, K as ne, M as C, T as j, O as re } from "./vidstack-vhfcP18r.js";
|
|
9
9
|
const ue = /(?:youtu\.be|youtube|youtube\.com|youtube-nocookie\.com)(?:\/shorts)?\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=|)((?:\w|-){11})/, Y = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map();
|
|
10
10
|
function B(a) {
|
|
11
11
|
var n;
|
|
@@ -18,12 +18,12 @@ async function de(a, n) {
|
|
|
18
18
|
const u = ["maxresdefault", "sddefault", "hqdefault"];
|
|
19
19
|
for (const d of u)
|
|
20
20
|
for (const h of [!0, !1]) {
|
|
21
|
-
const
|
|
22
|
-
if ((await fetch(
|
|
21
|
+
const c = he(a, d, h);
|
|
22
|
+
if ((await fetch(c, {
|
|
23
23
|
mode: "no-cors",
|
|
24
24
|
signal: n.signal
|
|
25
25
|
})).status < 400) {
|
|
26
|
-
Y.set(a,
|
|
26
|
+
Y.set(a, c), t(c);
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -38,8 +38,8 @@ const me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
38
38
|
findYouTubePoster: de,
|
|
39
39
|
resolveYouTubeVideoId: B
|
|
40
40
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
41
|
-
var o, g, P, S,
|
|
42
|
-
class
|
|
41
|
+
var o, g, P, S, $, T, w, y, O, i, le, pe, F, U, b, I, J, N, D, V, q, K, L, M, A;
|
|
42
|
+
class ce extends X {
|
|
43
43
|
constructor(e, t) {
|
|
44
44
|
super(e);
|
|
45
45
|
p(this, i);
|
|
@@ -49,7 +49,7 @@ class le extends X {
|
|
|
49
49
|
p(this, g, ee(""));
|
|
50
50
|
p(this, P, -1);
|
|
51
51
|
p(this, S, null);
|
|
52
|
-
p(this,
|
|
52
|
+
p(this, $, null);
|
|
53
53
|
p(this, T, -1);
|
|
54
54
|
p(this, w, !1);
|
|
55
55
|
p(this, y, /* @__PURE__ */ new Map());
|
|
@@ -90,7 +90,7 @@ class le extends X {
|
|
|
90
90
|
* @defaultValue `undefined`
|
|
91
91
|
*/
|
|
92
92
|
p(this, O);
|
|
93
|
-
|
|
93
|
+
l(this, o, t);
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
96
|
* Set the encrypted payload to use for the embed. It must be encrypted according to YouTube dev guide.
|
|
@@ -99,7 +99,7 @@ class le extends X {
|
|
|
99
99
|
* @defaultValue `undefined`
|
|
100
100
|
*/
|
|
101
101
|
set encryptedPayload(e) {
|
|
102
|
-
|
|
102
|
+
l(this, O, e);
|
|
103
103
|
}
|
|
104
104
|
get currentSrc() {
|
|
105
105
|
return s(this, S);
|
|
@@ -143,11 +143,11 @@ class le extends X {
|
|
|
143
143
|
}
|
|
144
144
|
async loadSource(e) {
|
|
145
145
|
if (!ie(e.src)) {
|
|
146
|
-
|
|
146
|
+
l(this, S, null), s(this, g).set("");
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
149
149
|
const t = B(e.src);
|
|
150
|
-
s(this, g).set(t ?? ""),
|
|
150
|
+
s(this, g).set(t ?? ""), l(this, S, e);
|
|
151
151
|
}
|
|
152
152
|
getOrigin() {
|
|
153
153
|
switch (!0) {
|
|
@@ -182,31 +182,33 @@ class le extends X {
|
|
|
182
182
|
window.setTimeout(() => this.postMessage({ event: "listening" }), 100);
|
|
183
183
|
}
|
|
184
184
|
onMessage({ info: e }, t) {
|
|
185
|
-
var
|
|
185
|
+
var c, _;
|
|
186
186
|
if (!e) return;
|
|
187
187
|
const { title: u, intrinsicDuration: d, playbackRate: h } = s(this, o).$state;
|
|
188
|
-
if (ne(e.videoData) && e.videoData.title !== u() && s(this, o).notify("title-change", e.videoData.title, t), (
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
if (ne(e.videoData) && e.videoData.title !== u() && s(this, o).notify("title-change", e.videoData.title, t), (c = e.namespaces) != null && c.includes("captions") && e.captions && s(this, $) === null && (l(this, $, [...e.captions.tracklist, e.captions.track]), s(this, o).notify("loaded-metadata", {
|
|
189
|
+
youtubeCaptions: s(this, $)
|
|
190
|
+
})), C(e.duration) && e.duration !== d()) {
|
|
191
|
+
if (C(e.videoLoadedFraction)) {
|
|
192
|
+
const f = ((_ = e.progressState) == null ? void 0 : _.loaded) ?? e.videoLoadedFraction * e.duration, v = new j(0, e.duration);
|
|
191
193
|
r(this, i, D).call(this, f, v, t);
|
|
192
194
|
}
|
|
193
195
|
s(this, o).notify("duration-change", e.duration, t);
|
|
194
196
|
}
|
|
195
|
-
if (
|
|
197
|
+
if (C(e.playbackRate) && e.playbackRate !== h() && s(this, o).notify("rate-change", e.playbackRate, t), e.progressState) {
|
|
196
198
|
const { current: f, seekableStart: v, seekableEnd: G, loaded: H, duration: x } = e.progressState;
|
|
197
199
|
r(this, i, N).call(this, f, t), r(this, i, D).call(this, H, new j(v, G), t), x !== d() && s(this, o).notify("duration-change", x, t);
|
|
198
200
|
}
|
|
199
|
-
if (
|
|
201
|
+
if (C(e.volume) && re(e.muted) && !s(this, w)) {
|
|
200
202
|
const f = {
|
|
201
203
|
muted: e.muted,
|
|
202
204
|
volume: e.volume / 100
|
|
203
205
|
};
|
|
204
206
|
s(this, o).notify("volume-change", f, t);
|
|
205
207
|
}
|
|
206
|
-
|
|
208
|
+
C(e.playerState) && e.playerState !== s(this, P) && r(this, i, K).call(this, e.playerState, t);
|
|
207
209
|
}
|
|
208
210
|
}
|
|
209
|
-
o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(),
|
|
211
|
+
o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(), $ = new WeakMap(), T = new WeakMap(), w = new WeakMap(), y = new WeakMap(), O = new WeakMap(), i = new WeakSet(), le = function(e) {
|
|
210
212
|
var t;
|
|
211
213
|
(t = r(this, i, M).call(this, "playVideo")) == null || t.reject(e);
|
|
212
214
|
}, pe = function(e) {
|
|
@@ -237,21 +239,21 @@ o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(), C =
|
|
|
237
239
|
var t;
|
|
238
240
|
(t = r(this, i, M).call(this, "pauseVideo")) == null || t.resolve(), s(this, o).notify("pause", void 0, e);
|
|
239
241
|
}, N = function(e, t) {
|
|
240
|
-
const { duration: u, realCurrentTime: d } = s(this, o).$state, h = s(this, P) === k.Ended,
|
|
241
|
-
s(this, o).notify("time-change",
|
|
242
|
+
const { duration: u, realCurrentTime: d } = s(this, o).$state, h = s(this, P) === k.Ended, c = h ? u() : e;
|
|
243
|
+
s(this, o).notify("time-change", c, t), !h && Math.abs(c - d()) > 1 && s(this, o).notify("seeking", c, t);
|
|
242
244
|
}, D = function(e, t, u) {
|
|
243
245
|
const d = {
|
|
244
246
|
buffered: new j(0, e),
|
|
245
247
|
seekable: t
|
|
246
248
|
};
|
|
247
249
|
s(this, o).notify("progress", d, u);
|
|
248
|
-
const { seeking: h, realCurrentTime:
|
|
249
|
-
h() && e >
|
|
250
|
+
const { seeking: h, realCurrentTime: c } = s(this, o).$state;
|
|
251
|
+
h() && e > c() && r(this, i, V).call(this, u);
|
|
250
252
|
}, V = function(e) {
|
|
251
253
|
const { paused: t, realCurrentTime: u } = s(this, o).$state;
|
|
252
|
-
window.clearTimeout(s(this, T)),
|
|
254
|
+
window.clearTimeout(s(this, T)), l(this, T, window.setTimeout(
|
|
253
255
|
() => {
|
|
254
|
-
s(this, o).notify("seeked", u(), e),
|
|
256
|
+
s(this, o).notify("seeked", u(), e), l(this, T, -1);
|
|
255
257
|
},
|
|
256
258
|
t() ? 100 : 0
|
|
257
259
|
));
|
|
@@ -260,13 +262,13 @@ o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(), C =
|
|
|
260
262
|
t() && r(this, i, V).call(this, e), s(this, o).notify("pause", void 0, e), s(this, o).notify("end", void 0, e);
|
|
261
263
|
}, K = function(e, t) {
|
|
262
264
|
var v;
|
|
263
|
-
const { paused: u, seeking: d } = s(this, o).$state, h = e === k.Playing,
|
|
264
|
-
if (
|
|
265
|
-
this.pause(),
|
|
265
|
+
const { paused: u, seeking: d } = s(this, o).$state, h = e === k.Playing, c = e === k.Buffering, _ = r(this, i, A).call(this, "playVideo"), f = u() && (c || h);
|
|
266
|
+
if (c && s(this, o).notify("waiting", void 0, t), d() && h && r(this, i, V).call(this, t), s(this, w) && h) {
|
|
267
|
+
this.pause(), l(this, w, !1), this.setMuted(s(this, o).$state.muted());
|
|
266
268
|
return;
|
|
267
269
|
}
|
|
268
|
-
if (
|
|
269
|
-
|
|
270
|
+
if (!_ && f) {
|
|
271
|
+
l(this, w, !0), this.setMuted(!0);
|
|
270
272
|
return;
|
|
271
273
|
}
|
|
272
274
|
switch (f && ((v = r(this, i, M).call(this, "playVideo")) == null || v.resolve(), s(this, o).notify("play", void 0, t)), e) {
|
|
@@ -283,9 +285,9 @@ o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(), C =
|
|
|
283
285
|
r(this, i, q).call(this, t);
|
|
284
286
|
break;
|
|
285
287
|
}
|
|
286
|
-
|
|
288
|
+
l(this, P, e);
|
|
287
289
|
}, L = function() {
|
|
288
|
-
|
|
290
|
+
l(this, P, -1), l(this, T, -1), l(this, w, !1);
|
|
289
291
|
}, M = function(e) {
|
|
290
292
|
var t;
|
|
291
293
|
return (t = s(this, y).get(e)) == null ? void 0 : t.shift();
|
|
@@ -295,7 +297,7 @@ o = new WeakMap(), g = new WeakMap(), P = new WeakMap(), S = new WeakMap(), C =
|
|
|
295
297
|
};
|
|
296
298
|
const be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
297
299
|
__proto__: null,
|
|
298
|
-
YouTubeProvider:
|
|
300
|
+
YouTubeProvider: ce
|
|
299
301
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
300
302
|
export {
|
|
301
303
|
be as p,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/studio-player",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Next generation media player for Instructure",
|
|
6
6
|
"module": "./dist/studio-player.es.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@eslint/js": "^9.18.0",
|
|
24
|
-
"@playwright/test": "^1.
|
|
24
|
+
"@playwright/test": "^1.55.0",
|
|
25
25
|
"@storybook/addon-actions": "^8.6.11",
|
|
26
26
|
"@storybook/addon-essentials": "^8.6.11",
|
|
27
27
|
"@storybook/addon-interactions": "^8.6.11",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"dotenv": "^16.4.7",
|
|
45
45
|
"eslint": "^9.18.0",
|
|
46
46
|
"eslint-plugin-import": "^2.31.0",
|
|
47
|
+
"eslint-plugin-playwright": "^2.2.2",
|
|
47
48
|
"eslint-plugin-react": "^7.37.4",
|
|
48
49
|
"globals": "^15.14.0",
|
|
49
50
|
"happy-dom": "^16.6.0",
|
package/dist/en-BQ1k994-.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
const t = "Action", n = "Add annotation at {{time}}", o = "Add question at {{time}}", e = "Annotations", s = "Auto", c = "Auto ({{quality}})", E = "Back", A = "Captions", a = "Disable Captions", T = "Enable Captions", O = "Caption Language", _ = "Manage Captions", S = "Delete {{language}}", N = "Font Size", P = "Caption Language: {{language}}", C = "Close", L = "Comments", i = "Continue", I = "Decrease Playback Speed", u = "Decrease Volume by {{percent}}%", U = "Down Arrow", l = "Enter Fullscreen", R = "Exit Fullscreen", p = "Increase Playback Speed", r = "Increase Volume by {{percent}}%", D = "Invert Colors", M = "Jump to specific percentage (1-10%, 2-20%, etc)", d = "Jump to Start", g = "Actions for {{title}}", G = "Keyboard Shortcuts", m = "Language", y = "Left Arrow", B = "Main Menu", b = "Mute", V = "Muted", K = "Next Caption Language", Y = "Off", k = "On Top", F = "Open annotation at {{time}}", Q = "Open completed quiz at {{time}}", f = "Open quiz at {{time}}", w = "Pause", W = "Play", q = "Playback Speed", x = "Playback Speed: {{speed}}x", J = "Previous Caption Language", h = "Quality", v = "Quality Menu", z = "Replay", H = "Reset Playback Speed", Z = "Right Arrow", X = "Seek backward: {{seconds}} seconds", j = "Seek forward: {{seconds}} seconds", $ = "Settings", tt = "Shortcut", nt = "Close Sidebar", ot = "Open Sidebar", et = "Space", st = "Playback speed menu", ct = "Toggle Captions", Et = "Toggle Muted", At = "Toggle Play/Pause", at = "Up Arrow", Tt = "Video Settings", Ot = "Volume", _t = "Volume: {{volume}}%", St = {
|
|
2
|
-
ACTION: t,
|
|
3
|
-
ADD_ANNOTATION_AT: n,
|
|
4
|
-
ADD_QUESTION_AT: o,
|
|
5
|
-
ANNOTATIONS: e,
|
|
6
|
-
AUTO: s,
|
|
7
|
-
AUTO_QUALITY: c,
|
|
8
|
-
BACK: E,
|
|
9
|
-
CAPTIONS: A,
|
|
10
|
-
CAPTIONS_DISABLE: a,
|
|
11
|
-
CAPTIONS_ENABLE: T,
|
|
12
|
-
CAPTIONS_LANGUAGE: O,
|
|
13
|
-
CAPTIONS_MANAGE: _,
|
|
14
|
-
CAPTION_DELETE: S,
|
|
15
|
-
CAPTION_FONT_SIZE: N,
|
|
16
|
-
CAPTION_LANGUAGE: P,
|
|
17
|
-
CLOSE: C,
|
|
18
|
-
COMMENTS: L,
|
|
19
|
-
CONTINUE: i,
|
|
20
|
-
DECREASE_PLAYBACK_SPEED: I,
|
|
21
|
-
DECREASE_VOLUME: u,
|
|
22
|
-
DOWN_ARROW: U,
|
|
23
|
-
ENTER_FULLSCREEN: l,
|
|
24
|
-
EXIT_FULLSCREEN: R,
|
|
25
|
-
INCREASE_PLAYBACK_SPEED: p,
|
|
26
|
-
INCREASE_VOLUME: r,
|
|
27
|
-
INVERT_COLORS: D,
|
|
28
|
-
JUMP_TO_PERCENTAGE: M,
|
|
29
|
-
JUMP_TO_START: d,
|
|
30
|
-
KEBAB_MENU: g,
|
|
31
|
-
KEYBOARD_SHORTCUTS: G,
|
|
32
|
-
LANGUAGE: m,
|
|
33
|
-
LEFT_ARROW: y,
|
|
34
|
-
MAIN_MENU: B,
|
|
35
|
-
MUTE: b,
|
|
36
|
-
MUTED: V,
|
|
37
|
-
NEXT_CAPTION_LANGUAGE: K,
|
|
38
|
-
OFF: Y,
|
|
39
|
-
ON_TOP: k,
|
|
40
|
-
OPEN_ANNOTATION_AT: F,
|
|
41
|
-
OPEN_COMPLETED_QUIZ_AT: Q,
|
|
42
|
-
OPEN_QUIZ_AT: f,
|
|
43
|
-
PAUSE: w,
|
|
44
|
-
PLAY: W,
|
|
45
|
-
PLAYBACK_SPEED: q,
|
|
46
|
-
PLAYBACK_SPEED_MESSAGE: x,
|
|
47
|
-
PREVIOUS_CAPTION_LANGUAGE: J,
|
|
48
|
-
QUALITY: h,
|
|
49
|
-
QUALITY_MENU: v,
|
|
50
|
-
REPLAY: z,
|
|
51
|
-
RESET_PLAYBACK_SPEED: H,
|
|
52
|
-
RIGHT_ARROW: Z,
|
|
53
|
-
SEEK_BACKWARD: X,
|
|
54
|
-
SEEK_FORWARD: j,
|
|
55
|
-
SETTINGS: $,
|
|
56
|
-
SHORTCUT: tt,
|
|
57
|
-
SIDEBAR_CLOSE: nt,
|
|
58
|
-
SIDEBAR_OPEN: ot,
|
|
59
|
-
SPACE: et,
|
|
60
|
-
SPEED_MENU: st,
|
|
61
|
-
TOGGLE_CAPTIONS: ct,
|
|
62
|
-
TOGGLE_MUTED: Et,
|
|
63
|
-
TOGGLE_PLAY_PAUSE: At,
|
|
64
|
-
UP_ARROW: at,
|
|
65
|
-
VIDEO_SETTINGS: Tt,
|
|
66
|
-
VOLUME: Ot,
|
|
67
|
-
VOLUME_VALUE: _t
|
|
68
|
-
};
|
|
69
|
-
export {
|
|
70
|
-
t as ACTION,
|
|
71
|
-
n as ADD_ANNOTATION_AT,
|
|
72
|
-
o as ADD_QUESTION_AT,
|
|
73
|
-
e as ANNOTATIONS,
|
|
74
|
-
s as AUTO,
|
|
75
|
-
c as AUTO_QUALITY,
|
|
76
|
-
E as BACK,
|
|
77
|
-
A as CAPTIONS,
|
|
78
|
-
a as CAPTIONS_DISABLE,
|
|
79
|
-
T as CAPTIONS_ENABLE,
|
|
80
|
-
O as CAPTIONS_LANGUAGE,
|
|
81
|
-
_ as CAPTIONS_MANAGE,
|
|
82
|
-
S as CAPTION_DELETE,
|
|
83
|
-
N as CAPTION_FONT_SIZE,
|
|
84
|
-
P as CAPTION_LANGUAGE,
|
|
85
|
-
C as CLOSE,
|
|
86
|
-
L as COMMENTS,
|
|
87
|
-
i as CONTINUE,
|
|
88
|
-
I as DECREASE_PLAYBACK_SPEED,
|
|
89
|
-
u as DECREASE_VOLUME,
|
|
90
|
-
U as DOWN_ARROW,
|
|
91
|
-
l as ENTER_FULLSCREEN,
|
|
92
|
-
R as EXIT_FULLSCREEN,
|
|
93
|
-
p as INCREASE_PLAYBACK_SPEED,
|
|
94
|
-
r as INCREASE_VOLUME,
|
|
95
|
-
D as INVERT_COLORS,
|
|
96
|
-
M as JUMP_TO_PERCENTAGE,
|
|
97
|
-
d as JUMP_TO_START,
|
|
98
|
-
g as KEBAB_MENU,
|
|
99
|
-
G as KEYBOARD_SHORTCUTS,
|
|
100
|
-
m as LANGUAGE,
|
|
101
|
-
y as LEFT_ARROW,
|
|
102
|
-
B as MAIN_MENU,
|
|
103
|
-
b as MUTE,
|
|
104
|
-
V as MUTED,
|
|
105
|
-
K as NEXT_CAPTION_LANGUAGE,
|
|
106
|
-
Y as OFF,
|
|
107
|
-
k as ON_TOP,
|
|
108
|
-
F as OPEN_ANNOTATION_AT,
|
|
109
|
-
Q as OPEN_COMPLETED_QUIZ_AT,
|
|
110
|
-
f as OPEN_QUIZ_AT,
|
|
111
|
-
w as PAUSE,
|
|
112
|
-
W as PLAY,
|
|
113
|
-
q as PLAYBACK_SPEED,
|
|
114
|
-
x as PLAYBACK_SPEED_MESSAGE,
|
|
115
|
-
J as PREVIOUS_CAPTION_LANGUAGE,
|
|
116
|
-
h as QUALITY,
|
|
117
|
-
v as QUALITY_MENU,
|
|
118
|
-
z as REPLAY,
|
|
119
|
-
H as RESET_PLAYBACK_SPEED,
|
|
120
|
-
Z as RIGHT_ARROW,
|
|
121
|
-
X as SEEK_BACKWARD,
|
|
122
|
-
j as SEEK_FORWARD,
|
|
123
|
-
$ as SETTINGS,
|
|
124
|
-
tt as SHORTCUT,
|
|
125
|
-
nt as SIDEBAR_CLOSE,
|
|
126
|
-
ot as SIDEBAR_OPEN,
|
|
127
|
-
et as SPACE,
|
|
128
|
-
st as SPEED_MENU,
|
|
129
|
-
ct as TOGGLE_CAPTIONS,
|
|
130
|
-
Et as TOGGLE_MUTED,
|
|
131
|
-
At as TOGGLE_PLAY_PAUSE,
|
|
132
|
-
at as UP_ARROW,
|
|
133
|
-
Tt as VIDEO_SETTINGS,
|
|
134
|
-
Ot as VOLUME,
|
|
135
|
-
_t as VOLUME_VALUE,
|
|
136
|
-
St as default
|
|
137
|
-
};
|
package/dist/index-DXP-5F25.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
._annotation-overlay_1kxzn_1{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none;z-index:1;background-color:#000c;display:flex;flex-direction:column;justify-content:center;align-items:center}._media-buffering-indicator_1fwjr_1{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;z-index:1;background-color:#00000080;transition:opacity .2s ease}[data-media-player][data-buffering] ._media-buffering-spinner_1fwjr_17{pointer-events:none;animation:_media-buffering-spin_1fwjr_17 1s linear infinite}._media-buffering-track_1fwjr_22{color:#f5f5f5;opacity:.25}._media-buffering-track-fill_1fwjr_27{color:var(--media-brand, #f5f5f5);opacity:.75}[data-media-player][data-buffering] ._media-buffering-indicator_1fwjr_1{opacity:1}@keyframes _media-buffering-spin_1fwjr_17{to{transform:rotate(360deg)}}._controls-overlay_1hs9n_1{display:flex;position:absolute;gap:.5rem;padding:1rem;top:0;right:0;bottom:0;left:0;justify-content:end;pointer-events:none}._keyboard-shortcuts-overlay_1hs9n_11{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000b3;color:#fff;padding:1.5rem;-webkit-user-select:none;user-select:none;overflow-y:auto;display:flex;flex-direction:column;align-items:center;z-index:1}._keyboard-shortcuts-overlay_1hs9n_11 header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}:is(._keyboard-shortcuts-overlay_1hs9n_11 header) h2{font-size:1rem;font-weight:500;margin:0}@container player (width > 400px) and (height > 300px){:is(._keyboard-shortcuts-overlay_1hs9n_11 header) h2{font-size:1.5rem}}._keyboard-shortcuts-overlay_1hs9n_11 table{width:100%;max-width:54rem;padding:0;border-collapse:collapse}@container player (width > 400px) and (height > 300px){._keyboard-shortcuts-overlay_1hs9n_11 table{padding:2rem}}:is(._keyboard-shortcuts-overlay_1hs9n_11 table) tr{border-bottom:1px solid rgba(232 234 236 / .2)}:is(._keyboard-shortcuts-overlay_1hs9n_11 table) tbody tr:last-child{border-bottom:none}:is(._keyboard-shortcuts-overlay_1hs9n_11 table) th,:is(._keyboard-shortcuts-overlay_1hs9n_11 table) td{text-align:left;font-size:.75rem;line-height:1.5}@container player (width > 400px) and (height > 300px){:is(._keyboard-shortcuts-overlay_1hs9n_11 table) th,:is(._keyboard-shortcuts-overlay_1hs9n_11 table) td{font-size:.875rem}}@container player (width >= 720px) and (height > 300px){:is(._keyboard-shortcuts-overlay_1hs9n_11 table) th,:is(._keyboard-shortcuts-overlay_1hs9n_11 table) td{font-size:1rem}}._keyboard-shortcuts-overlay_1hs9n_11 ._screen-reader-content_1hs9n_76{width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;top:0;inset-inline-start:0;overflow:hidden;clip:rect(0 0 0 0);border:0}._controls-button_1hs9n_90{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-2);border:1px solid #d7dade;background:var(--controls-layout-bg-color)}._controls-button_1hs9n_90:focus-visible{outline:var(--focus-ring)}._keyboard-shortcuts-button_1hs9n_106{opacity:0;margin-right:auto}._keyboard-shortcuts-button_1hs9n_106:focus-visible{opacity:1;pointer-events:auto}._kebab-menu-button_1hs9n_116{opacity:1;pointer-events:auto;transition:opacity;transition-duration:0s;transition-timing-function:linear;transition-delay:0s;cursor:pointer;color:inherit}._kebab-menu-button_1hs9n_116 svg{flex-shrink:0}._kebab-menu-button_1hs9n_116:hover{background-color:var(--media-button-icon-hover-color, #e0e0e0)}._kebab-menu_1hs9n_116{display:flex;flex-direction:column;min-width:200px;pointer-events:auto;background-color:var(--settings-menu-bg-color, white);border-radius:var(--radius-2);padding-top:.25rem;padding-bottom:.25rem;z-index:1000;filter:drop-shadow(0 .125rem .1875rem rgba(0 0 0 / .5))}._kebab-menu-item_1hs9n_150{font-family:inherit;font-size:1rem;height:36px;text-rendering:geometricprecision;display:flex;align-items:center;gap:.5rem;padding:0 11px;border:none;outline:none;background-color:transparent;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}._kebab-menu-item_1hs9n_150:hover,._kebab-menu-item_1hs9n_150:focus{color:var(--settings-media-hover-color, white);background-color:var(--settings-media-hover-bg-color, rgb(43 122 188))}[data-media-player][data-playing]:not([data-hover]) ._kebab-menu-button_1hs9n_116:not(:focus-visible,[aria-expanded=true]),[data-media-player][data-fullscreen][data-playing]:not([data-controls]) ._kebab-menu-button_1hs9n_116:not(:focus-visible,[aria-expanded=true]){opacity:0;transition-duration:.2s}._close-button_1hs9n_189{background-color:transparent;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;width:2.25rem;height:2.25rem}._arrow_1hs9n_203{fill:#fff}._captions_guhpx_1{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:var(--captions-flex-direction, column);align-items:center;padding:var(--spacing-3);transition:padding-bottom .1s ease-in-out;transition-delay:.3s}[data-fullscreen][data-controls]:not(:has([data-pins])) ._captions_guhpx_1{transition-delay:0s;padding-bottom:calc(var(--spacing-3) + var(--captions-fullscreen-offset))}._captions_guhpx_1[aria-hidden=true]{display:none}._captions_guhpx_1 [data-part=cue]{color:var(--captions-color, white);text-align:center;max-width:50ch;line-height:1.5;font-size:calc(clamp(.875rem,4cqh,2rem) * var(--captions-font-size-multiplier, 1));padding:0 var(--spacing-2);background-color:var(--captions-background-color, rgba(22 22 22 / .75));border-radius:var(--radius-2);white-space:pre-wrap}._comments-overlay_z1669_1{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--spacing-3);display:flex;align-items:end;pointer-events:none;transition:padding .1s ease-in-out;transition-delay:0s}._comments-container_z1669_12{display:flex;flex-direction:column;gap:.25rem;width:15rem;margin-right:3.4375rem}@container player (width >= 460px){._comments-container_z1669_12{width:23.4375rem}}@media (hover: none) and (orientation: portrait) and (max-width: 720px){[data-fullscreen] ._comments-overlay_z1669_1{justify-content:end}}[data-fullscreen][data-controls]:not(:has([data-pins])) ._comments-overlay_z1669_1{padding-bottom:calc(var(--spacing-3) + var(--comments-fullscreen-offset));transition-delay:.3s}._comment_z1669_1{display:grid;grid-template-areas:"avatar text";grid-template-columns:auto 1fr;align-items:center;padding:var(--spacing-1);gap:var(--spacing-1);border-radius:var(--radius-2);background-color:var(--comments-background-color);cursor:pointer;border:1px solid #666;pointer-events:auto}@container player (height > 540px){._comment_z1669_1{grid-template-areas:"text text" "avatar name"}}._comment-text_z1669_55{grid-area:text;color:var(--comments-color);font-size:var(--comments-font-size-small);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;-webkit-user-select:none;user-select:none}@container player (height >= 400px){._comment-text_z1669_55{-webkit-line-clamp:2;line-clamp:2;font-size:var(--comments-font-size-large)}}._comment-author-avatar_z1669_75{grid-area:avatar;box-sizing:border-box;display:inline-block;object-fit:cover;width:var(--comments-avatar-size-xss);height:var(--comments-avatar-size-xss);border-radius:50%;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;contain:paint}@container player (height >= 400px){._comment-author-avatar_z1669_75{width:var(--comments-avatar-size-s);height:var(--comments-avatar-size-s)}}@container player (height > 540px){._comment-author-avatar_z1669_75{width:var(--comments-avatar-size-xs);height:var(--comments-avatar-size-xs)}}._comment-author-name_z1669_99{grid-area:name;color:var(--comments-author-color);font-size:var(--comments-font-size-large);font-weight:700;line-height:1.5;display:none}@container player (height > 540px){._comment-author-name_z1669_99{display:inline}}._settings-menu_mr1tt_1{display:flex;flex-direction:column;font-size:.875rem;line-height:1.25rem;background-color:var(--settings-menu-bg-color, white);padding-top:.25rem;padding-bottom:.25rem;border-radius:var(--radius-2);width:294px;z-index:1000;overflow:auto;max-height:80cqh;filter:drop-shadow(0 .125rem .1875rem rgba(0 0 0 / .5))}._settings-menu_mr1tt_1:focus-visible{outline:2px solid var(--settings-menu-focus-color, #0078d4)}@container player (width > 400px) and (height > 300px){._settings-menu_mr1tt_1{font-size:1rem;line-height:1.5rem}}@container player (height <= 300px){._settings-menu_mr1tt_1{max-height:calc(100% - 56px)}}@container player (width < 300px){._settings-menu_mr1tt_1{max-width:calc(100% - 8px)}}._menu-heading_mr1tt_37{display:block;margin:0 var(--spacing-2);padding-top:var(--spacing-2);padding-bottom:.5625rem;border-bottom:.0625rem solid #c7cdd1;font-weight:700}._check-icon_mr1tt_48,._trash-icon_mr1tt_49{width:1.25rem;height:1.25rem}._check-icon_mr1tt_48{visibility:hidden}._trash-icon_mr1tt_49{color:var(--warning-color)}._menu-item-multiline-label-wrapper_mr1tt_62{display:flex;flex-direction:column;text-align:start}._menu-item-secondary-label_mr1tt_68{display:block;color:var(--secondary-text-color);font-size:.875rem}._menu-item-label_mr1tt_74{display:block}._menu-item_mr1tt_62{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;outline:none;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;padding:6px 11px;gap:var(--spacing-2);cursor:pointer;font-size:inherit;line-height:inherit;font-family:inherit;color:inherit}._menu-item_mr1tt_62:hover,._menu-item_mr1tt_62:focus-visible{color:var(--settings-media-hover-color, white);background-color:var(--settings-media-hover-bg-color, rgb(43 122 188))}:is(._menu-item_mr1tt_62:hover,._menu-item_mr1tt_62:focus-visible) ._trash-icon_mr1tt_49{color:var(--settings-media-hover-color)}._menu-item_mr1tt_62[aria-checked=true] ._check-icon_mr1tt_48{visibility:visible}._menu-item_mr1tt_62:hover ._menu-item-secondary-label_mr1tt_68{color:var(--secondary-text-hover-color)}._menu-back-button_mr1tt_115{display:flex;align-items:center;gap:var(--spacing-1);padding:6px 11px;color:var(--settings-submenu-color, #2d3b45);font-size:inherit;line-height:inherit;font-family:inherit;cursor:pointer;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}._menu-back-button_mr1tt_115:hover,._menu-back-button_mr1tt_115:focus{color:var(--settings-media-hover-color, white);background-color:var(--settings-media-hover-bg-color, rgb(43 122 188))}._arrow_mr1tt_141{fill:#fff}._menu-hint_t7ne3_1{color:var(--settings-media-submenu-hint-color, #9ea6ad)}._menu-button_t7ne3_5{position:relative;display:flex;align-items:center;width:100%;gap:var(--spacing-1);padding:.375rem .6875rem;color:var(--settings-submenu-color, #2d3b45);font-size:inherit;line-height:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;outline:none;border:none;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;font-family:inherit}._menu-button_t7ne3_5:disabled{cursor:not-allowed}._menu-button_t7ne3_5:hover:not(:disabled),._menu-button_t7ne3_5:focus:not(:disabled){color:var(--settings-media-hover-color, white);background-color:var(--settings-media-hover-bg-color, rgb(43 122 188))}._menu-button_t7ne3_5:hover:not(:disabled) ._menu-hint_t7ne3_1,._menu-button_t7ne3_5:focus:not(:disabled) ._menu-hint_t7ne3_1{color:var(--settings-media-hover-color, white)}._menu-label_t7ne3_41{flex-grow:1;text-align:left}._menu-icon_t7ne3_46{width:1.125rem;height:1.125rem}._switch-track_7nhpo_1{position:relative;background-color:#e8e8e8;width:2.625rem;height:1.75rem;border-radius:.875rem;will-change:background-color;transition:background-color .2s;box-shadow:#d7dade 0 0 0 .0625rem inset;margin:-.25rem 0}@container player (width > 400px) and (height > 300px){._switch-track_7nhpo_1{margin:-.125rem 0}}._switch-thumb_7nhpo_17{background-color:#fff;width:1.5rem;height:1.5rem;border-radius:.75rem;transform:translate(.125rem,.125rem);box-shadow:#e8eaec 0 0 0 .0625rem inset;will-change:transform;transition:transform .2s;display:flex;align-items:center;justify-content:center}._switch-icon_7nhpo_31{width:.875rem;height:.875rem;color:var(--settings-submenu-color)}._switch-body_7nhpo_37{display:flex;align-items:center;border:none;background-color:transparent;text-align:left;font-family:inherit;gap:var(--spacing-1);padding:.375rem .6875rem;color:var(--settings-submenu-color);font-size:inherit;line-height:inherit;cursor:pointer;outline:none;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}._switch-body_7nhpo_37[aria-checked=true] ._switch-track_7nhpo_1{background-color:#03893d}._switch-body_7nhpo_37[aria-checked=true] ._switch-icon_7nhpo_31{color:#03893d}._switch-body_7nhpo_37[aria-checked=true] ._switch-thumb_7nhpo_17{transform:translate(1rem,.125rem)}._switch-body_7nhpo_37:hover,._switch-body_7nhpo_37:focus-visible{color:var(--settings-media-hover-color);background-color:var(--settings-media-hover-bg-color)}[aria-checked=true]:is(._switch-body_7nhpo_37:hover,._switch-body_7nhpo_37:focus-visible) ._switch-track_7nhpo_1{background-color:#e8e8e8}._switch-label_7nhpo_78{flex-grow:1}._menu-icon_7nhpo_82{width:1.125rem;height:1.125rem}._feedback-overlay_14jdq_1{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;padding:var(--spacing-4);flex-direction:column;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;pointer-events:none}._feedback-message_14jdq_14{font-weight:300;position:absolute;top:10%;display:flex;justify-content:center;align-items:center;padding:var(--spacing-2);background-color:var(--feedback-message-bg-color, black);color:var(--feedback-message-color, white);border-radius:var(--radius-2);font-size:1rem;line-height:1.5;opacity:.75}._feedback-icon_14jdq_30{box-sizing:border-box;display:inline-flex;color:var(--feedback-icon-color, white);padding:var(--spacing-3);width:4.5rem;height:4.5rem;background-color:var(--feedback-icon-bg-color, black);border-radius:var(--radius-rounded);animation:_feedback-icon-animation_14jdq_1 .2s linear;animation-fill-mode:forwards;will-change:transform,opacity}._feedback-icon_14jdq_30:has(.right){align-self:end}._feedback-icon_14jdq_30:has(.left){align-self:start}._feedback-icon_14jdq_30>svg{width:100%;height:100%}@keyframes _feedback-icon-animation_14jdq_1{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:.5}}@media (max-width: 425px){[data-fullscreen] ._full-screen-button_1xm32_2{display:none}}[data-media-player][data-view-type=audio] ._full-screen-button_1xm32_2{display:none}._gestures-container_1fn3b_1{display:contents}._gesture_1fn3b_1{position:absolute;top:0;right:0;bottom:0;left:0}[data-fullscreen] ._gesture_1fn3b_1{top:3.625rem}button._play-pause-button_vj8da_1{border:none;background:none}@keyframes _appear_xamuy_1{0%{width:0;margin-left:0}to{width:400px;margin-left:1.5rem}}._studio-player-sidebar_xamuy_13{width:400px;overflow-x:hidden;margin-left:1.5rem;display:flex;padding:var(--spacing-1);overflow-y:auto;border-radius:var(--radius-3);border:1px solid var(--sidebar-border-color);background:var(--settings-menu-bg-color);animation:_appear_xamuy_1 .3s ease-out;transition:width .3s ease-out,margin-left .3s ease-out}._studio-player-sidebar_xamuy_13[data-open=false]{width:0;margin-left:0}._small-layout-overlay_cmaq3_1{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;visibility:hidden;align-items:center;justify-content:center}@container player (max-width: 425px){._small-layout-overlay_cmaq3_1{visibility:visible}}._small-layout-button_cmaq3_14{width:5rem;height:5rem;background-color:#1616164d;display:flex;align-items:center;justify-content:center;border-radius:50%}._small-layout-icon-play_cmaq3_24,._small-layout-icon-pause_cmaq3_30{width:3rem;height:3rem;color:#fff}._small-layout-timestamp_cmaq3_36{position:absolute;left:0;bottom:0;margin:.5rem;display:flex;background:#000c;color:#fff;padding:.375rem .75rem;border-radius:var(--radius-2)}._full-screen-close-icon_cmaq3_49{display:none}[data-fullscreen] ._full-screen-close-icon_cmaq3_49{background-color:transparent;border:none;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;padding:1.25rem;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}[data-fullscreen][data-playing] ._full-screen-close-icon_cmaq3_49,[data-media-player][data-playing] ._small-layout-button_cmaq3_14,[data-media-player][data-playing] ._small-layout-timestamp_cmaq3_36{animation:_fade-out_cmaq3_1 1s;animation-delay:.5s;animation-fill-mode:forwards}@keyframes _fade-out_cmaq3_1{0%{opacity:1}to{opacity:0}}@keyframes _fade-in_c4bw5_1{0%{opacity:0}to{opacity:1}}@keyframes _appear_c4bw5_1{to{transform:scaleX(1)}}._tabs_c4bw5_17{flex:1}._tabs-list_c4bw5_21{display:flex;list-style:none;padding:0;margin:0;border-bottom:1px solid #8d959f}._tabs-tab_c4bw5_29{padding:1rem 1.25rem;cursor:pointer;background-color:transparent;border:none;font-family:inherit;font-size:1rem;line-height:1;position:relative}._tabs-tab_c4bw5_29:before{pointer-events:none;content:"";position:absolute;border:.125rem solid var(--focus-outline-color, #2b7abc);border-radius:.25rem;top:.5rem;right:.5rem;bottom:.5rem;left:.5rem;transition:all .2s;transform:scale(.8);opacity:0}._tabs-tab_c4bw5_29:focus-visible{outline:none}._tabs-tab_c4bw5_29:focus-visible:before{opacity:1;transform:scale(1)}._tabs-tab_c4bw5_29[aria-selected=true]:after{content:"";position:absolute;bottom:0;left:0;display:block;height:.25rem;width:100%;background-color:var(--focus-outline-color, #2b7abc);transform:scaleX(0);animation:_appear_c4bw5_1 .2s ease-out forwards}._tabs-panel_c4bw5_77{padding-top:var(--spacing-1, .75rem)}._tabs-panel_c4bw5_77:not([hidden]){animation:_fade-in_c4bw5_1 .3s ease-in}._time-indicator_1uygf_1{display:flex;color:#586874;-webkit-user-select:none;user-select:none}[data-fullscreen] ._time-indicator_1uygf_1,[data-darkmode=true] ._time-indicator_1uygf_1{color:#fff}._comment-markers_2yz4f_1{display:flex;position:relative;width:100%;height:.375rem;-webkit-user-select:none;user-select:none;pointer-events:none;margin-top:.375rem}._comment-marker_2yz4f_1{position:absolute;height:100%;width:.375rem;background-color:var(--comments-indicator-color);border-radius:50%}[data-darkmode=true] ._comment-marker_2yz4f_1,[data-fullscreen] ._comment-marker_2yz4f_1{background-color:var(--comments-indicator-color-darkmode)}._timeline-wrapper_2yz4f_24,._timeline-wrapper-compact_2yz4f_25{position:relative;display:flex;flex-direction:column;align-items:center;grid-area:slider}._timeline-wrapper_2yz4f_24{padding:0 var(--spacing-1)}._timeline-wrapper-compact_2yz4f_25{padding:0 var(--spacing-3)}._timeline-wrapper-compact_2yz4f_25:has(._comment-markers_2yz4f_1){margin-top:-.375rem}._timeline-wrapper-compact_2yz4f_25 ._comment-markers_2yz4f_1{margin-top:0}@container player (width > 400px) and (height > 300px){._timeline-wrapper-compact_2yz4f_25{padding:0 var(--spacing-3)}}._track_2yz4f_53{width:100%;height:.25rem;will-change:height;position:relative;background-color:var(--timeline-track-bg-color, #ccd0d2);border-radius:var(--radius-1);contain:strict;transition:height .15s,border-radius .15s}._thumb_2yz4f_66{position:absolute;width:1.125rem;height:1.125rem;background-color:var(--timeline-thumb-color, #2b7abc);border-radius:var(--radius-rounded);cursor:pointer;opacity:0;transform:translate(-50%) translateZ(0);transition:opacity .15s ease-in;left:var(--slider-fill);will-change:left}._root_2yz4f_80{display:inline-flex;width:100%;height:1.25rem;position:relative;align-items:center;contain:layout style;outline:none;cursor:pointer;user-select:none;touch-action:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}._root_2yz4f_80[data-active] ._track_2yz4f_53{border-radius:var(--radius-2);height:.625rem}._root_2yz4f_80[data-focus] ._track_2yz4f_53{outline:var(--focus-ring);outline-offset:1px;border-radius:2px}._root_2yz4f_80[data-active] ._thumb_2yz4f_66{opacity:1}._track-inner_2yz4f_110{position:absolute;will-change:width;height:100%}._progress_2yz4f_116{z-index:0;width:var(--slider-progress, 0%);background-color:var(--timeline-track-progress-bg-color, #adb2b6)}._track-fill_2yz4f_122{z-index:1;width:var(--slider-fill, 0%);background-color:var(--timeline-track-fill-bg-color, #2b7abc)}:is([data-fullscreen] ._root_2yz4f_80,[data-darkmode=true] ._root_2yz4f_80) ._track_2yz4f_53{background-color:#333}:is([data-fullscreen] ._root_2yz4f_80,[data-darkmode=true] ._root_2yz4f_80) ._progress_2yz4f_116{background-color:#666}._pins_2yz4f_139{display:flex;position:relative;height:2rem;width:100%;-webkit-user-select:none;user-select:none;margin-top:.25rem}._pin-button_2yz4f_148{display:flex;background-color:transparent;border:none;padding:0;position:absolute;transform:translate(-50%);cursor:pointer;transition:transform .2s ease-out;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}._pin-button_2yz4f_148:hover,._pin-button_2yz4f_148:focus-visible{transform:translate(-50%) scale(1.25);z-index:1}._pin-button_2yz4f_148:focus-visible{outline:var(--focus-ring);border-radius:var(--radius-2)}._annotation-pin_2yz4f_174{fill:var(--pin-color-1);stroke:var(--pin-color-2)}._annotation-pin_2yz4f_174:focus-visible{outline:var(--focus-ring)}._quiz-pin_2yz4f_183{fill:var(--pin-color-2);stroke:var(--controls-layout-bg-color)}._quiz-pin_2yz4f_183:focus-visible{outline:var(--focus-ring)}._annotation-pin-child_2yz4f_192{fill:var(--pin-color-3)}._quiz-pin-child_2yz4f_196{fill:#fff;font-size:.875rem}._interactive-pin-container_2yz4f_201{position:absolute;top:0;right:0;bottom:0;left:0;padding:0 var(--spacing-2);pointer-events:none}._interactive-pin-wrapper_2yz4f_208{position:relative;width:100%;height:100%}._interactive-pin-icon_2yz4f_214{transform-box:fill-box;transform-origin:center;transition:transform .2s ease-out}._interactive-pin-icon_2yz4f_214[data-open=true]{transform:rotate(45deg)}._interactive-pin_2yz4f_201{filter:drop-shadow(0 3px 6px rgba(0 0 0 / .16)) drop-shadow(0 3px 6px rgba(0 0 0 / .1))}._interactive-pin_2yz4f_201>._bg_2yz4f_228{fill:var(--timeline-thumb-color)}._interactive-pin_2yz4f_201>._symbol_2yz4f_232{stroke:var(--controls-layout-bg-color)}._interactive-pin-button_2yz4f_237{position:absolute;cursor:pointer;transform:translate(-50%);background-color:transparent;border:none;padding:0;display:flex;touch-action:manipulation;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:auto;top:-8px}:is(._interactive-pin-button_2yz4f_237:hover,._interactive-pin-button_2yz4f_237:focus-visible) ._interactive-pin_2yz4f_201>._bg_2yz4f_228{fill:#225f92}._interactive-pin-button_2yz4f_237:focus-visible{outline:var(--focus-ring);border-radius:var(--radius-2)}._interactive-pin-menu_2yz4f_266{box-sizing:border-box;display:flex;flex-direction:column;gap:.25rem;background-color:var(--settings-menu-bg-color, white);padding:.75rem .5rem;border-radius:var(--radius-2);width:200px;z-index:1000;pointer-events:auto;filter:drop-shadow(0 .125rem .1875rem rgba(0 0 0 / .5))}._interactive-pin-menu_2yz4f_266:focus-visible{outline:var(--focus-ring)}._interactive-pin-menu-item_2yz4f_287{-webkit-user-select:none;user-select:none;font-family:inherit;font-size:1rem;text-rendering:geometricprecision;display:flex;align-items:center;gap:.25rem;color:var(--pin-color-3);padding:.375rem .625rem;border-radius:var(--radius-2);border:1px solid #d7dade;background-color:var(--pin-color-1);cursor:pointer}._interactive-pin-menu-item_2yz4f_287:hover{background-color:#e8eaec}._interactive-pin-menu-item_2yz4f_287:focus-visible{outline:var(--focus-ring)}._arrow_2yz4f_313{fill:#fff}._tooltip_2yz4f_317{background-color:var(--tooltip-bg-color);color:#fff;padding:.375rem .75rem;border-radius:var(--radius-2);font-size:.875rem;pointer-events:none}._tooltip-arrow_2yz4f_326{fill:var(--tooltip-bg-color)}._wrapper_trdhg_1{display:flex;align-items:center}._track_trdhg_6{width:100%;height:.25rem;will-change:height;background-color:var(--volume-track-bg-color, #ccd0d2);border-radius:var(--radius-1);contain:strict;transition:height .15s,border-radius .15s}._thumb_trdhg_18{position:absolute;width:.875rem;height:.875rem;background-color:var(--volume-thumb-bg-color, #2d3b45);border-radius:var(--radius-rounded);cursor:pointer;opacity:0;transform:translate(-50%) translateZ(0);transition:opacity .15s ease-in;left:var(--slider-fill);will-change:left}._track-fill_trdhg_32{width:var(--slider-fill, 0%);will-change:width;height:100%;background-color:var(--volume-track-fill-bg-color, #2d3b45)}:is([data-fullscreen],[data-darkmode=true]) ._track_trdhg_6{background-color:#666}:is([data-fullscreen],[data-darkmode=true]) ._track-fill_trdhg_32,:is([data-fullscreen],[data-darkmode=true]) ._thumb_trdhg_18{background-color:#f5f5f5}._root_trdhg_51{display:inline-flex;height:1.25rem;align-items:center;contain:layout style;cursor:pointer;user-select:none;touch-action:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;width:0;will-change:width,margin;transition:all .15s;box-sizing:border-box}@media (max-width: 425px) and (hover: none){._root_trdhg_51{display:none}}._root_trdhg_51[data-active] ._track_trdhg_6{border-radius:.125rem;height:.3125rem}._root_trdhg_51[data-focus]{outline:none}._root_trdhg_51[data-focus] ._track_trdhg_6{outline:var(--focus-ring);outline-offset:1px;border-radius:2px}._root_trdhg_51[data-active] ._thumb_trdhg_18{opacity:1}._wrapper_trdhg_1:hover [data-media-volume-slider],[data-media-volume-slider][data-active]{margin-left:.5rem;width:4rem}._root_1y8fp_1{background-color:var(--controls-layout-bg-color, #f5f5f5);padding:var(--controls-layout-padding-small);box-sizing:border-box;display:grid;align-items:center;border-bottom-left-radius:var(--radius-3);border-bottom-right-radius:var(--radius-3)}@container player (width > 400px) and (height > 300px){._root_1y8fp_1{padding:var(--controls-layout-padding-medium)}}[data-fullscreen] ._root_1y8fp_1{border-bottom-left-radius:0;border-bottom-right-radius:0}._normal_1y8fp_22{grid-template-columns:auto 1fr auto;grid-template-areas:"slider slider slider" "left-controls indicators right-controls"}@container player (width > 400px) and (height > 300px){._normal_1y8fp_22{padding-top:0}}._compact_1y8fp_33{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"left-controls slider right-controls"}@container player (width > 425px){._compact_1y8fp_33{grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"left-controls indicators slider right-controls"}}[data-fullscreen] ._root_1y8fp_1,._root_1y8fp_1[data-darkmode=true]{background-color:#000;padding:var(--controls-layout-padding-large)}[data-fullscreen] ._root_1y8fp_1[data-controls-layout=normal]{padding-top:var(--controls-layout-padding-small)}[data-fullscreen] ._root_1y8fp_1:not(:has([data-pins])){position:fixed;bottom:0;width:100%;opacity:0;transition:opacity .3s ease-in-out}[data-fullscreen][data-controls] ._root_1y8fp_1,[data-fullscreen]:has([role=dialog]) ._root_1y8fp_1{opacity:1}._left-controls_1y8fp_66{display:flex;grid-area:left-controls}@container player (width > 400px) and (height > 300px){._left-controls_1y8fp_66{gap:.5rem}}._right-controls_1y8fp_75{display:flex;grid-area:right-controls}@container player (width > 400px) and (height > 300px){._right-controls_1y8fp_75{gap:.5rem}}._indicators_1y8fp_84{grid-area:indicators;font-size:1rem;overflow:hidden;display:none;margin-left:.75rem}@container player (width > 425px){._indicators_1y8fp_84{display:block}}@container (height > 300px){._indicators_1y8fp_84{margin-left:1rem}}.studio-player-main-layout{--volume-track-bg-color: #ccd0d2;--volume-track-fill-bg-color: #2d3b45;--volume-thumb-bg-color: #2d3b45;--feedback-message-bg-color: black;--feedback-message-color: white;--feedback-icon-color: white;--feedback-icon-bg-color: black;--timeline-track-bg-color: #ccd0d2;--timeline-track-progress-bg-color: #adb2b6;--timeline-track-fill-bg-color: #2b7abc;--timeline-progress-bg-color: #adb2b6;--timeline-thumb-color: #2b7abc;--settings-menu-bg-color: white;--settings-submenu-color: #2d3b45;--settings-media-hover-color: white;--settings-media-hover-bg-color: rgb(43 122 188);--settings-media-submenu-hint-color: var(--settings-submenu-color);--captions-background-color: rgba(22 22 22 / .75);--captions-color: white;--comments-background-color: rgba(0 0 0 / .8);--comments-color: white;--comments-font-size-small: .75rem;--comments-font-size-normal: .875rem;--comments-font-size-large: 1rem;--comments-author-color: white;--comments-indicator-color: #64707a;--comments-indicator-color-darkmode: #868686;--comments-avatar-size-xss: 1.25rem;--comments-avatar-size-xs: 1.875rem;--comments-avatar-size-s: 2.5rem;--controls-layout-bg-color: #f5f5f5;--controls-layout-padding-small: .25rem;--controls-layout-padding-medium: .5rem;--controls-layout-padding-large: .75rem;--sidebar-border-color: #d7dade;--media-button-icon-color: #2d3b45;--media-button-icon-hover-color: #e0e0e0;--focus-outline-color: #2b7abc;--spacing-1: .5rem;--spacing-2: .625rem;--spacing-3: 1rem;--spacing-4: 2rem;--radius-1: .0625rem;--radius-2: .25rem;--radius-3: .625rem;--radius-rounded: 50%;--media-button-area-size-small: 2rem;--media-button-area-size-medium: 2.5rem;--media-button-icon-size-small: 1rem;--media-button-icon-size-medium: 1.25rem;--action-buttons-color: #0374b5;--action-buttons-hover-color: #235f93;--action-buttons-border-color: #025483;--warning-color: #e62429;--pin-color-1: #f2f4f4;--pin-color-2: #586874;--pin-color-3: #273540;--pin-light-color: #9ea6ad;--tooltip-bg-color: #334451;--focus-ring: 2px solid var(--focus-outline-color);--secondary-text-color: #586874;--secondary-text-hover-color: #f2f4f4;display:flex;height:100%;font-family:Lato,sans-serif}[data-media-player]{outline:none;position:relative;display:grid;container:player / size;width:100%;height:100%;grid-template-rows:1fr auto;overflow:hidden}[data-media-player]:focus-visible{outline:var(--focus-ring)}[data-media-provider]{display:flex;position:relative;background-color:#000;contain:paint;border-top-left-radius:var(--radius-3);border-top-right-radius:var(--radius-3)}[data-media-provider] video,[data-media-provider] iframe{width:100%;height:100%;object-fit:contain;position:absolute}[data-fullscreen] [data-media-provider]{border-top-left-radius:0;border-top-right-radius:0}.audio-layout-wrapper{display:flex;align-items:center;justify-content:center;position:relative;background-color:var(--controls-layout-bg-color);width:100%;border-top-left-radius:var(--radius-3);border-top-right-radius:var(--radius-3)}.controls-button{background-color:transparent;border:none;border-radius:var(--radius-2);cursor:pointer;margin:0;display:flex;align-items:center;justify-content:center;transition:background-color .2s;width:var(--media-button-area-size-small);height:var(--media-button-area-size-small)}.controls-button[data-hover],.controls-button:hover{background-color:var(--media-button-icon-hover-color, #e0e0e0)}.controls-button:focus-visible,.controls-button[data-focus]{outline:var(--focus-ring)}.controls-button-icon{color:var(--media-button-icon-color);min-width:var(--media-button-icon-size-small);min-height:var(--media-button-icon-size-small)}@container player (width > 400px) and (height > 300px){.controls-button-icon{min-width:var(--media-button-icon-size-medium);min-height:var(--media-button-icon-size-medium)}}[data-fullscreen] .controls-button{width:var(--media-button-area-size-medium);height:var(--media-button-area-size-medium)}[data-fullscreen]:not([data-controls]){cursor:none}:is([data-fullscreen],[data-darkmode=true]) .controls-button-icon{color:#fff}:is([data-fullscreen],[data-darkmode=true]) .controls-button[data-hover],:is([data-fullscreen],[data-darkmode=true]) .controls-button:hover{background-color:#ffffff26}.icon-rotate{transition:transform .2s ease-out}.controls-button[aria-expanded=true] .icon-rotate{transform:rotate(60deg);transition:transform .1s ease-in}.vds-blocker{top:0;right:0;bottom:0;left:0;position:absolute;pointer-events:none}
|