@munsonlabs/video-player 0.0.3 → 0.0.5
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/chunks/brightcove-DXok9R0m.mjs +1 -0
- package/dist/chunks/brightcove-fi5Gx3WM.mjs +1 -0
- package/dist/chunks/dailymotion-C2hjPgaI.mjs +1 -0
- package/dist/chunks/dailymotion-jqj_nxA1.mjs +1 -0
- package/dist/chunks/jwplayer-Bk8f_cfb.mjs +1 -0
- package/dist/chunks/jwplayer-CN_ZkNs-.mjs +1 -0
- package/dist/chunks/tech-BOi4jf1S.mjs +1 -0
- package/dist/chunks/tech-DQUZqNr6.mjs +1 -0
- package/dist/chunks/vimeo-BPrvb6Ag.mjs +1 -0
- package/dist/chunks/{vimeo-D1LvZaNd.mjs → vimeo-CPN3CLZM.mjs} +2 -2
- package/dist/chunks/youtube-Bdgt4YAG.mjs +1 -0
- package/dist/chunks/youtube-PyDUsbQd.mjs +1 -0
- package/dist/element.d.mts +4 -1
- package/dist/element.mjs +1 -1
- package/dist/index.d.mts +16 -6
- package/dist/index.mjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/chunks/brightcove-BjpjJMHX.mjs +0 -1
- package/dist/chunks/brightcove-mjKXQYMp.mjs +0 -1
- package/dist/chunks/constants-DZGeSme4.mjs +0 -1
- package/dist/chunks/dailymotion-CXCiXJKy.mjs +0 -1
- package/dist/chunks/dailymotion-IIBJUr8H.mjs +0 -1
- package/dist/chunks/jwplayer-CNDwSK03.mjs +0 -1
- package/dist/chunks/jwplayer-eDjA1f7V.mjs +0 -1
- package/dist/chunks/tech-DYVa4zaY.mjs +0 -1
- package/dist/chunks/tech-hIKMwrTq.mjs +0 -1
- package/dist/chunks/vimeo-yir3kEbO.mjs +0 -1
- package/dist/chunks/youtube-BE1BWyQG.mjs +0 -1
- package/dist/chunks/youtube-VA8teDMJ.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{s as n,t as r}from"./tech-DQUZqNr6.mjs";var i=e(t(),1);function a(e){let t=e.match(/^brightcove:\/\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$/);return t?{accountId:t[1],playerId:t[2],embed:t[3],videoId:t[4]}:null}function o(e){return(e?.plugins??[]).find(e=>e.name===`ima3`)?.options?.serverUrl??null}const s=r(async(e,t,n,r)=>{let i=await fetch(`https://players.brightcove.net/${e}/${t}_${n}/config.json`);if(!i.ok)throw Error(`Brightcove: could not load player config (${i.status})`);let a=await i.json(),s=r??a?.video_cloud?.policy_key;if(!s)throw Error(`Brightcove: policy_key not found in player config`);return{policyKey:s,adTagUrl:o(a)}},(e,t,n)=>`${e}/${t}_${n}`);async function c(e,t){let n=a(e);if(!n)return null;let{accountId:r,playerId:i,embed:o}=n;return s(r,i,o,t)}async function l(e,t,r){let i=await fetch(`https://edge.api.brightcove.com/playback/v1/accounts/${e}/videos/${t}`,{headers:{Accept:`application/json;pk=${r}`}});if(!i.ok)throw Error(`Brightcove Playback API error: ${i.status}`);let a=await i.json(),o=n(a.sources||[]);if(!o.length)throw Error(`Brightcove: no playable sources found`);return{sources:o.map(e=>({src:e.src,type:e.type})),poster:a.poster??a.thumbnail??null}}i.default.use(`video/brightcove`,e=>({setSource(t,n){let r=a(t.src);if(!r){n(Error(`Brightcove: invalid src — expected "brightcove://accountId/playerId/embed/videoId"`),t);return}let{accountId:o,playerId:c,embed:u,videoId:d}=r,f=e.options_?.brightcove?.policyKey;(async()=>{try{let{policyKey:t}=await s(o,c,u,f);i.default.log(`Brightcove: resolved policy key, fetching sources…`);let{sources:r,poster:a}=await l(o,d,t);i.default.log(`Brightcove: sources resolved`,r),a&&!e.poster()&&e.poster(a),n(null,r[0])}catch(e){i.default.log.error(`Brightcove error:`,e.message),n(e,t)}})()}}));export{c as prefetchConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./tech-BOi4jf1S.mjs";import n from"video.js";function r(e){let t=e.match(/^brightcove:\/\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$/);return t?{accountId:t[1],playerId:t[2],embed:t[3],videoId:t[4]}:null}function i(e){return(e?.plugins??[]).find(e=>e.name===`ima3`)?.options?.serverUrl??null}const a=t(async(e,t,n,r)=>{let a=await fetch(`https://players.brightcove.net/${e}/${t}_${n}/config.json`);if(!a.ok)throw Error(`Brightcove: could not load player config (${a.status})`);let o=await a.json(),s=r??o?.video_cloud?.policy_key;if(!s)throw Error(`Brightcove: policy_key not found in player config`);return{policyKey:s,adTagUrl:i(o)}},(e,t,n)=>`${e}/${t}_${n}`);async function o(e,t){let n=r(e);if(!n)return null;let{accountId:i,playerId:o,embed:s}=n;return a(i,o,s,t)}async function s(t,n,r){let i=await fetch(`https://edge.api.brightcove.com/playback/v1/accounts/${t}/videos/${n}`,{headers:{Accept:`application/json;pk=${r}`}});if(!i.ok)throw Error(`Brightcove Playback API error: ${i.status}`);let a=await i.json(),o=e(a.sources||[]);if(!o.length)throw Error(`Brightcove: no playable sources found`);return{sources:o.map(e=>({src:e.src,type:e.type})),poster:a.poster??a.thumbnail??null}}n.use(`video/brightcove`,e=>({setSource(t,i){let o=r(t.src);if(!o){i(Error(`Brightcove: invalid src — expected "brightcove://accountId/playerId/embed/videoId"`),t);return}let{accountId:c,playerId:l,embed:u,videoId:d}=o,f=e.options_?.brightcove?.policyKey;(async()=>{try{let{policyKey:t}=await a(c,l,u,f);n.log(`Brightcove: resolved policy key, fetching sources…`);let{sources:r,poster:o}=await s(c,d,t);n.log(`Brightcove: sources resolved`,r),o&&!e.poster()&&e.poster(o),i(null,r[0])}catch(e){n.log.error(`Brightcove error:`,e.message),i(e,t)}})()}}));export{o as prefetchConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{a as n,c as r,l as i,n as a,u as o}from"./tech-DQUZqNr6.mjs";import{t as s}from"./loadScript-Du6JsTc2.mjs";var c=e(t(),1);const l=c.default.getTech(`Tech`);var u=class e extends l{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){c.default.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await s(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`),!e.autoplay&&!this.initialAutoplayHandled&&(this.initialAutoplayHandled=!0,r.pause())}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),i.VIDEO_BUFFERING&&r.on(i.VIDEO_BUFFERING,()=>this.trigger(`waiting`)),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`adstart`)}),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){c.default.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return c.default.createTimeRange(0,this._currentTime)}seekable(){return c.default.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return o()}enterFullscreen(){if(n()){this._dm?.setFullscreen(!0);return}i(this._shell)}exitFullscreen(){if(n()){this._dm?.setFullscreen(!1);return}a()}setSrc(t){t?.src&&(this.source=t,this.videoId=e.parseVideoId(t.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),l.prototype.dispose.call(this)}};u.isSupported=()=>!0,u.canPlayType=e=>e===`video/dailymotion`?`probably`:``,u.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,u.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},r(`Dailymotion`,u);export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,l as n,n as r,u as i}from"./tech-BOi4jf1S.mjs";import{t as a}from"./loadScript-Du6JsTc2.mjs";import o from"video.js";const s=o.getTech(`Tech`);var c=class t extends s{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){o.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await a(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`),!e.autoplay&&!this.initialAutoplayHandled&&(this.initialAutoplayHandled=!0,r.pause())}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),i.VIDEO_BUFFERING&&r.on(i.VIDEO_BUFFERING,()=>this.trigger(`waiting`)),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`adstart`)}),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){o.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return o.createTimeRange(0,this._currentTime)}seekable(){return o.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return i()}enterFullscreen(){if(e()){this._dm?.setFullscreen(!0);return}n(this._shell)}exitFullscreen(){if(e()){this._dm?.setFullscreen(!1);return}r()}setSrc(e){e?.src&&(this.source=e,this.videoId=t.parseVideoId(e.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),s.prototype.dispose.call(this)}};c.isSupported=()=>!0,c.canPlayType=e=>e===`video/dailymotion`?`probably`:``,c.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,c.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},t(`Dailymotion`,c);export{c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{s as n,t as r}from"./tech-DQUZqNr6.mjs";var i=e(t(),1);function a(e){return e.match(/cdn\.jwplayer\.com\/videos\/([^-]+)/)?.[1]??e.match(/cdn\.jwplayer\.com\/manifests\/([^.]+)/)?.[1]??e.match(/^jwplayer:\/\/([^/]+)$/)?.[1]??null}function o(e){let t=e?.advertising?.schedule;return Array.isArray(t)&&t.length?t[0].tag??null:e?.advertising?.tag??null}const s=r(async e=>{let t=await fetch(`https://cdn.jwplayer.com/v2/media/${e}`);if(!t.ok)throw Error(`JW Platform API error: ${t.status}`);let r=(await t.json()).playlist?.[0];if(!r)throw Error(`JW Platform: empty playlist`);let i=n((r.sources??[]).map(e=>({src:e.file,type:e.type})));if(!i.length)throw Error(`JW Platform: no playable sources found`);return{src:i[0].src,type:i[0].type,poster:r.image??null,adTagUrl:o(r)}});async function c(e){let t=a(e);if(!t)throw Error(`JW Platform: unrecognised source URL: ${e}`);let n=await s(t);if(e.startsWith(`jwplayer://`))return n;let r=/\.mp4(\?|$)/.test(e)?`video/mp4`:`application/x-mpegURL`;return{...n,src:e,type:r}}async function l(e){let t=a(e);return t?s(t).catch(()=>null):null}i.default.use(`video/jwplayer`,e=>({setSource(t,n){(async()=>{try{let{src:r,type:a,poster:o}=await c(t.src);i.default.log(`JW Platform: resolved source`,r),o&&!e.poster()&&e.poster(o),n(null,{src:r,type:a})}catch(e){i.default.log.error(`JW Platform error:`,e.message),n(e,t)}})()}}));export{l as prefetchConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,t}from"./tech-BOi4jf1S.mjs";import n from"video.js";function r(e){return e.match(/cdn\.jwplayer\.com\/videos\/([^-]+)/)?.[1]??e.match(/cdn\.jwplayer\.com\/manifests\/([^.]+)/)?.[1]??e.match(/^jwplayer:\/\/([^/]+)$/)?.[1]??null}function i(e){let t=e?.advertising?.schedule;return Array.isArray(t)&&t.length?t[0].tag??null:e?.advertising?.tag??null}const a=t(async t=>{let n=await fetch(`https://cdn.jwplayer.com/v2/media/${t}`);if(!n.ok)throw Error(`JW Platform API error: ${n.status}`);let r=(await n.json()).playlist?.[0];if(!r)throw Error(`JW Platform: empty playlist`);let a=e((r.sources??[]).map(e=>({src:e.file,type:e.type})));if(!a.length)throw Error(`JW Platform: no playable sources found`);return{src:a[0].src,type:a[0].type,poster:r.image??null,adTagUrl:i(r)}});async function o(e){let t=r(e);if(!t)throw Error(`JW Platform: unrecognised source URL: ${e}`);let n=await a(t);if(e.startsWith(`jwplayer://`))return n;let i=/\.mp4(\?|$)/.test(e)?`video/mp4`:`application/x-mpegURL`;return{...n,src:e,type:i}}async function s(e){let t=r(e);return t?a(t).catch(()=>null):null}n.use(`video/jwplayer`,e=>({setSource(t,r){(async()=>{try{let{src:i,type:a,poster:s}=await o(t.src);n.log(`JW Platform: resolved source`,i),s&&!e.poster()&&e.poster(s),r(null,{src:i,type:a})}catch(e){n.log.error(`JW Platform error:`,e.message),r(e,t)}})()}}));export{s as prefetchConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"video.js";const t=`video-select`,n=`video-toggle`,r=`video-state`,i=`fullscreen-pending`,a=`fullscreen-pending-done`,o=`ads-pod-started`,s=`ads-pod-ended`,c=`player:positions`,l=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function u(e){return l.has(e)}function d(){return/iPad|iPhone|iPod/.test(navigator.userAgent)||/Mac/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function f(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled)}function p(e){(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)}function m(){(document.exitFullscreen||document.webkitExitFullscreen)?.call(document)}function h(t,n){e.registerTech(t,n)}function g(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}function _(e){return!e||isNaN(e)?`0:00`:`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function v(e,t=(...e)=>String(e[0])){let n={};return async(...r)=>{let i=t(...r);if(n[i])return n[i];let a=await e(...r);return n[i]=a,a}}function y(e){return e.filter(e=>e.src&&(e.type===`application/x-mpegURL`||e.type===`video/mp4`)).sort((e,t)=>e.type===`application/x-mpegURL`?-1:1)}export{r as _,d as a,h as c,c as d,s as f,t as g,a as h,u as i,p as l,i as m,m as n,g as o,o as p,_ as r,y as s,v as t,f as u,n as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";var n=e(t(),1);const r=`video-select`,i=`video-toggle`,a=`video-state`,o=`fullscreen-pending`,s=`fullscreen-pending-done`,c=`ads-pod-started`,l=`ads-pod-ended`,u=`player:positions`,d=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function f(e){return d.has(e)}function p(){return/iPad|iPhone|iPod/.test(navigator.userAgent)||/Mac/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function m(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled)}function h(e){(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)}function g(){(document.exitFullscreen||document.webkitExitFullscreen)?.call(document)}function _(e,t){n.default.registerTech(e,t)}function v(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}function y(e){return!e||isNaN(e)?`0:00`:`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function b(e,t=(...e)=>String(e[0])){let n={};return async(...r)=>{let i=t(...r);if(n[i])return n[i];let a=await e(...r);return n[i]=a,a}}function x(e){return e.filter(e=>e.src&&(e.type===`application/x-mpegURL`||e.type===`video/mp4`)).sort((e,t)=>e.type===`application/x-mpegURL`?-1:1)}export{a as _,p as a,_ as c,u as d,l as f,r as g,s as h,f as i,h as l,o as m,g as n,v as o,c as p,y as r,x as s,b as t,m as u,i as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,l as n,n as r,u as i}from"./tech-BOi4jf1S.mjs";import a from"video.js";import o from"@vimeo/player";const s=a.getTech(`Tech`);var c=class t extends s{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this.setSrc(this.options_.source,!0),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-vimeo`),this.initVimeoPlayer())})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initVimeoPlayer(){if(!this.url||!this.url.videoId)return;let e={id:this.url.videoId,byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!this.options_.nativeUi,autopause:!1,width:`100%`,height:`100%`};this.options_.autoplay!==void 0&&(e.autoplay=this.options_.autoplay),this.options_.loop!==void 0&&(e.loop=this.options_.loop),this.options_.muted!==void 0&&(e.muted=this.options_.muted),this.vimeoPlayer=new o(this.options_.techId,e),this.vimeoPlayer.ready().then(()=>this.onPlayerReady()).catch(e=>{this.player_.error({code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`})}),this.vimeoPlayer.on(`play`,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),this.vimeoPlayer.on(`pause`,()=>{this._paused=!0,this.trigger(`pause`)}),this.vimeoPlayer.on(`ended`,()=>{this._paused=!0,this.trigger(`ended`)}),this.vimeoPlayer.on(`timeupdate`,({seconds:e,duration:t})=>{this._currentTime=e,this._duration=t,this.trigger(`timeupdate`),t&&!this._durationSet&&(this._durationSet=!0,this.trigger(`durationchange`))}),this.vimeoPlayer.on(`loaded`,()=>{this._durationSet=!1,this.trigger(`loadedmetadata`),this.trigger(`durationchange`)}),this.vimeoPlayer.on(`seeking`,({seconds:e})=>{this._currentTime=e,this._seeking=!0,this.trigger(`seeking`)}),this.vimeoPlayer.on(`seeked`,({seconds:e})=>{this._currentTime=e,this._seeking=!1,this.trigger(`seeked`),this.trigger(`timeupdate`)}),this.vimeoPlayer.on(`bufferstart`,()=>this.trigger(`waiting`)),this.vimeoPlayer.on(`bufferend`,()=>this.trigger(`canplay`)),this.vimeoPlayer.on(`volumechange`,({volume:e})=>{this._volume=e,this.trigger(`volumechange`)}),this.vimeoPlayer.on(`error`,e=>this.trigger(`error`,e)),this.vimeoPlayer.on(`fullscreenchange`,({fullscreen:e})=>{this.trigger(`fullscreenchange`,{isFullscreen:e})})}enterFullscreen(){if(!e())return n(this.player_.el().parentElement);this.vimeoPlayer?.requestFullscreen().catch(()=>{})}exitFullscreen(){r()}onPlayerReady(){this.triggerReady(),this.options_.muted&&this.vimeoPlayer.setMuted(!0),this.playOnReady&&this.play()}setSrc(e){!e||!e.src||(this.source=e,this.url=t.parseUrl(e.src),this.options_.autoplay&&(this.playOnReady=!0))}play(){if(!this.vimeoPlayer){this.playOnReady=!0;return}this.vimeoPlayer.play().catch(()=>{})}pause(){this.vimeoPlayer?.pause().catch(()=>{})}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this.vimeoPlayer?.setCurrentTime(e).catch(()=>{}),this.trigger(`timeupdate`),this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this.vimeoPlayer?.setVolume(e).catch(()=>{})}muted(){return this._muted}setMuted(e){this._muted=e,this.vimeoPlayer?.setMuted(e).then(()=>{this.setTimeout(()=>this.trigger(`volumechange`),50)}).catch(()=>{})}buffered(){return a.createTimeRange(0,this._currentTime)}seekable(){return a.createTimeRange(0,this._duration)}playbackRate(){return this._playbackRate||1}setPlaybackRate(e){this._playbackRate=e,this.vimeoPlayer?.setPlaybackRate(e).catch(()=>{}),this.trigger(`ratechange`)}preload(){}load(){}reset(){}currentSrc(){return this.source?.src||``}ended(){return!1}networkState(){return+!!this.vimeoPlayer}readyState(){return this.vimeoPlayer?4:0}supportsFullScreen(){return i()}dispose(){this.vimeoPlayer?.destroy().catch(()=>{}),this.vimeoPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-vimeo`),s.prototype.dispose.call(this)}};c.isSupported=()=>!0,c.canPlayType=e=>e===`video/vimeo`?`probably`:``,c.canPlaySource=({type:e,src:t})=>e===`video/vimeo`?`probably`:/vimeo\.com|player\.vimeo\.com/.test(t)?`maybe`:``,c.parseUrl=e=>{let t={videoId:null},n=e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/);return n&&(t.videoId=n[1]),t},t(`Vimeo`,c);export{c as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"./video.cjs-gZWrkL0e.mjs";import{
|
|
1
|
+
import{a as e,i as t,t as n}from"./video.cjs-gZWrkL0e.mjs";import{a as r,c as i,l as a,n as o,u as s}from"./tech-DQUZqNr6.mjs";var c=t(((e,t)=>{
|
|
2
2
|
/*! @vimeo/player v2.30.4 | (c) 2026 Vimeo | MIT License | https://github.com/vimeo/player.js */
|
|
3
3
|
(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.Vimeo=n.Vimeo||{},n.Vimeo.Player=r())})(e,(function(){let e=typeof global<`u`&&{}.toString.call(global)===`[object global]`,t=typeof Bun<`u`,n=typeof Deno<`u`,r=typeof WebSocketPair==`function`&&caches?.default!==void 0,i=e||t||n||r;function a(e,t){return e.indexOf(t.toLowerCase())===0?e:`${t.toLowerCase()}${e.substr(0,1).toUpperCase()}${e.substr(1)}`}function o(e){return!!(e&&e.nodeType===1&&`nodeName`in e&&e.ownerDocument&&e.ownerDocument.defaultView)}function s(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}function c(e){return/^(https?:)?\/\/((((player|www)\.)?vimeo\.com)|((player\.)?[a-zA-Z0-9-]+\.(videoji\.(hk|cn)|vimeo\.work)))(?=$|\/)/.test(e)}function l(e){return/^https:\/\/player\.((vimeo\.com)|([a-zA-Z0-9-]+\.(videoji\.(hk|cn)|vimeo\.work)))\/video\/\d+/.test(e)}function u(e){let t=(e||``).match(/^(?:https?:)?(?:\/\/)?([^/?]+)/),n=(t&&t[1]||``).replace(`player.`,``);for(let e of[`.videoji.hk`,`.vimeo.work`,`.videoji.cn`])if(n.endsWith(e))return n;return`vimeo.com`}function d(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.id,n=e.url,r=t||n;if(!r)throw Error(`An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.`);if(s(r))return`https://vimeo.com/${r}`;if(c(r))return r.replace(`http:`,`https:`);throw TypeError(t?`“${t}” is not a valid video id.`:`“${r}” is not a vimeo.com url.`)}let f=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`addEventListener`,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`removeEventListener`,a=typeof t==`string`?[t]:t;return a.forEach(t=>{e[r](t,n)}),{cancel:()=>a.forEach(t=>e[i](t,n))}};function p(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;if(!e||!t||typeof t.querySelectorAll!=`function`)return null;let n=t.querySelectorAll(`iframe`);for(let t=0;t<n.length;t++)if(n[t]&&n[t].contentWindow===e)return n[t];return null}let m=Array.prototype.indexOf!==void 0,h=typeof window<`u`&&window.postMessage!==void 0;if(!i&&(!m||!h))throw Error(`Sorry, the Vimeo Player API is not available in this browser.`);var g=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function _(e,t){return t={exports:{}},e(t,t.exports),t.exports}
|
|
4
4
|
/*!
|
|
@@ -12,4 +12,4 @@ import{a as e,i as t,t as n}from"./video.cjs-gZWrkL0e.mjs";import{c as r,o as i,
|
|
|
12
12
|
v0.8.1 (c) Kyle Simpson
|
|
13
13
|
MIT License: http://getify.mit-license.org
|
|
14
14
|
*/
|
|
15
|
-
(function(t,n,r){n[t]=n[t]||r(),e.exports&&=n[t]})(`Promise`,g,function(){var e,t,n,r=Object.prototype.toString,i=typeof setImmediate<`u`?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:r!==!1})}}catch{e=function(e,t,n){return e[t]=n,e}}n=function(){var e,n,r;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,a){r=new i(t,a),n?n.next=r:e=r,n=r,r=void 0},drain:function(){var r=e;for(e=n=t=void 0;r;)r.fn.call(r.self),r=r.next}}}();function a(e,r){n.add(e,r),t||=i(n.drain)}function o(e){var t,n=typeof e;return e!=null&&(n==`object`||n==`function`)&&(t=e.then),typeof t==`function`?t:!1}function s(){for(var e=0;e<this.chain.length;e++)c(this,this.state===1?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,t,n){var r,i;try{t===!1?n.reject(e.msg):(r=t===!0?e.msg:t.call(void 0,e.msg),r===n.promise?n.reject(TypeError(`Promise-chain cycle`)):(i=o(r))?i.call(r,n.resolve,n.reject):n.resolve(r))}catch(e){n.reject(e)}}function l(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=o(e))?a(function(){var r=new f(n);try{t.call(e,function(){l.apply(r,arguments)},function(){u.apply(r,arguments)})}catch(e){u.call(r,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&a(s,n))}catch(e){u.call(new f(n),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function d(e,t,n,r){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},r)})(i)}function f(e){this.def=e,this.triggered=!1}function p(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(e){if(typeof e!=`function`)throw TypeError(`Not a function`);if(this.__NPO__!==0)throw TypeError(`Not a promise`);this.__NPO__=1;var t=new p(this);this.then=function(e,n){var r={success:typeof e==`function`?e:!0,failure:typeof n==`function`?n:!1};return r.promise=new this.constructor(function(e,t){if(typeof e!=`function`||typeof t!=`function`)throw TypeError(`Not a function`);r.resolve=e,r.reject=t}),t.chain.push(r),t.state!==0&&a(s,t),r.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){l.call(t,e)},function(e){u.call(t,e)})}catch(e){u.call(t,e)}}var h=e({},`constructor`,m,!1);return m.prototype=h,e(h,`__NPO__`,0,!1),e(m,`resolve`,function(e){var t=this;return e&&typeof e==`object`&&e.__NPO__===1?e:new t(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);t(e)})}),e(m,`reject`,function(e){return new this(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);n(e)})}),e(m,`all`,function(e){var t=this;return r.call(e)==`[object Array]`?e.length===0?t.resolve([]):new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);var i=e.length,a=Array(i),o=0;d(t,e,function(e,t){a[e]=t,++o===i&&n(a)},r)}):t.reject(TypeError(`Not an array`))}),e(m,`race`,function(e){var t=this;return r.call(e)==`[object Array]`?new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);d(t,e,function(e,t){n(t)},r)}):t.reject(TypeError(`Not an array`))}),m})});let y=new WeakMap;function b(e,t,n){let r=y.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),y.set(e.element,r)}function x(e,t){return(y.get(e.element)||{})[t]||[]}function S(e,t,n){let r=y.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],y.set(e.element,r),!0;let i=r[t].indexOf(n);return i!==-1&&r[t].splice(i,1),y.set(e.element,r),r[t]&&r[t].length===0}function C(e,t){let n=x(e,t);if(n.length<1)return!1;let r=n.shift();return S(e,t,r),r}function w(e,t){let n=y.get(e);y.set(t,n),y.delete(e)}function T(e){if(typeof e==`string`)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function E(e,t,n){if(!e.element.contentWindow||!e.element.contentWindow.postMessage)return;let r={method:t};n!==void 0&&(r.value=n);let i=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,`$1`));i>=8&&i<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}function D(e,t){t=T(t);let n=[],r;if(t.event)t.event===`error`&&x(e,t.data.method).forEach(n=>{let r=Error(t.data.message);r.name=t.data.name,n.reject(r),S(e,t.data.method,n)}),n=x(e,`event:${t.event}`),r=t.data;else if(t.method){let i=C(e,t.method);i&&(n.push(i),r=t.value)}n.forEach(t=>{try{if(typeof t==`function`){t.call(e,r);return}t.resolve(r)}catch{}})}let O=`airplay.audio_tracks.audiotrack.autopause.autoplay.background.byline.cc.chapter_id.chapters.chromecast.color.colors.controls.disable_context_menu.dnt.end_time.fullscreen.height.id.initial_quality.interactive_params.keyboard.loop.maxheight.max_quality.maxwidth.min_quality.muted.play_button_position.playsinline.portrait.preload.progress_bar.quality.quality_selector.responsive.skipping_forward.speed.start_time.texttrack.thumbnail_id.title.transcript.transparent.unmute_button.url.vimeo_logo.volume.watch_full_video.width`.split(`.`);function k(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return O.reduce((t,n)=>{let r=e.getAttribute(`data-vimeo-${n}`);return(r||r===``)&&(t[n]=r===``?1:r),t},t)}function A(e,t){let{html:n}=e;if(!t)throw TypeError(`An element must be provided`);if(t.getAttribute(`data-vimeo-initialized`)!==null)return t.querySelector(`iframe`);let r=document.createElement(`div`);return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute(`data-vimeo-initialized`,`true`),t.querySelector(`iframe`)}function j(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return new Promise((r,i)=>{if(!c(e))throw TypeError(`“${e}” is not a vimeo.com url.`);let a=`https://${u(e)}/api/oembed.json?url=${encodeURIComponent(e)}`;for(let e in t)t.hasOwnProperty(e)&&(a+=`&${e}=${encodeURIComponent(t[e])}`);let o=`XDomainRequest`in window?new XDomainRequest:new XMLHttpRequest;o.open(`GET`,a,!0),o.onload=function(){if(o.status===404){i(Error(`“${e}” was not found.`));return}if(o.status===403){i(Error(`“${e}” is not embeddable.`));return}try{let t=JSON.parse(o.responseText);if(t.domain_status_code===403){A(t,n),i(Error(`“${e}” is not embeddable.`));return}r(t)}catch(e){i(e)}},o.onerror=function(){let e=o.status?` (${o.status})`:``;i(Error(`There was an error fetching the embed code from Vimeo${e}.`))},o.send()})}function M(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document,t=[].slice.call(e.querySelectorAll(`[data-vimeo-id], [data-vimeo-url]`)),n=e=>{`console`in window&&console.error&&console.error(`There was an error creating an embed: ${e}`)};t.forEach(e=>{try{if(e.getAttribute(`data-vimeo-defer`)!==null)return;let t=k(e);j(d(t),t,e).then(t=>A(t,e)).catch(n)}catch(e){n(e)}})}function N(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoPlayerResizeEmbeds_||(window.VimeoPlayerResizeEmbeds_=!0,window.addEventListener(`message`,t=>{if(!c(t.origin)||!t.data||t.data.event!==`spacechange`)return;let n=t.source?p(t.source,e):null;if(n){let e=n.parentElement;e.style.paddingBottom=`${t.data.data[0].bottom}px`}}))}function P(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoSeoMetadataAppended||(window.VimeoSeoMetadataAppended=!0,window.addEventListener(`message`,t=>{if(!c(t.origin))return;let n=T(t.data);if(!n||n.event!==`ready`)return;let r=t.source?p(t.source,e):null;r&&l(r.src)&&new U(r).callMethod(`appendVideoMetadata`,window.location.href)}))}function F(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;if(window.VimeoCheckedUrlTimeParam)return;window.VimeoCheckedUrlTimeParam=!0;let t=e=>{`console`in window&&console.error&&console.error(`There was an error getting video Id: ${e}`)};window.addEventListener(`message`,n=>{if(!c(n.origin))return;let r=T(n.data);if(!r||r.event!==`ready`)return;let i=n.source?p(n.source,e):null;if(i&&l(i.src)){let e=new U(i);e.getVideoId().then(t=>{let n=RegExp(`[?&]vimeo_t_${t}=([^&#]*)`).exec(window.location.href);if(n&&n[1]){let t=decodeURI(n[1]);e.setCurrentTime(t)}}).catch(t)}})}function I(){window.VimeoDRMEmbedsUpdated||(window.VimeoDRMEmbedsUpdated=!0,window.addEventListener(`message`,e=>{if(!c(e.origin))return;let t=T(e.data);if(!t||t.event!==`drminitfailed`)return;let n=e.source?p(e.source):null;if(!n)return;let r=n.getAttribute(`allow`)||``;if(!r.includes(`encrypted-media`)){n.setAttribute(`allow`,`${r}; encrypted-media`);let e=new URL(n.getAttribute(`src`));e.searchParams.set(`forcereload`,`drm`),n.setAttribute(`src`,e.toString());return}}))}function L(){let e=function(){let e,t=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],n=0,r=t.length,i={};for(;n<r;n++)if(e=t[n],e&&e[1]in document){for(n=0;n<e.length;n++)i[t[0][n]]=e[n];return i}return!1}(),t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror},n={request(t){return new Promise((r,i)=>{let a=function(){n.off(`fullscreenchange`,a),r()};n.on(`fullscreenchange`,a),t||=document.documentElement;let o=t[e.requestFullscreen]();o instanceof Promise&&o.then(a).catch(i)})},exit(){return new Promise((t,r)=>{if(!n.isFullscreen){t();return}let i=function(){n.off(`fullscreenchange`,i),t()};n.on(`fullscreenchange`,i);let a=document[e.exitFullscreen]();a instanceof Promise&&a.then(i).catch(r)})},on(e,n){let r=t[e];r&&document.addEventListener(r,n)},off(e,n){let r=t[e];r&&document.removeEventListener(r,n)}};return Object.defineProperties(n,{isFullscreen:{get(){return!!document[e.fullscreenElement]}},element:{enumerable:!0,get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:!0,get(){return!!document[e.fullscreenEnabled]}}}),n}let R={role:`viewer`,autoPlayMuted:!0,allowedDrift:.3,maxAllowedDrift:1,minCheckInterval:.1,maxRateAdjustment:.2,maxTimeToCatchUp:1};class z extends EventTarget{logger;constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;super(),this.logger=r,this.init(t,e,{...R,...n})}disconnect(){this.dispatchEvent(new Event(`disconnect`))}async init(e,t,n){if(await this.waitForTOReadyState(e,`open`),n.role===`viewer`){await this.updatePlayer(e,t,n);let r=f(e,`change`,()=>this.updatePlayer(e,t,n)),i=this.maintainPlaybackPosition(e,t,n);this.addEventListener(`disconnect`,()=>{i.cancel(),r.cancel()})}else{await this.updateTimingObject(e,t);let n=f(t,[`seeked`,`play`,`pause`,`ratechange`],()=>this.updateTimingObject(e,t),`on`,`off`);this.addEventListener(`disconnect`,()=>n.cancel())}}async updateTimingObject(e,t){let[n,r,i]=await Promise.all([t.getCurrentTime(),t.getPaused(),t.getPlaybackRate()]);e.update({position:n,velocity:r?0:i})}async updatePlayer(e,t,n){let{position:r,velocity:i}=e.query();typeof r==`number`&&t.setCurrentTime(r),typeof i==`number`&&(i===0?await t.getPaused()===!1&&t.pause():i>0&&(await t.getPaused()===!0&&(await t.play().catch(async e=>{e.name===`NotAllowedError`&&n.autoPlayMuted&&(await t.setMuted(!0),await t.play().catch(e=>console.error(`Couldn't play the video from TimingSrcConnector. Error:`,e)))}),this.updatePlayer(e,t,n)),await t.getPlaybackRate()!==i&&t.setPlaybackRate(i)))}maintainPlaybackPosition(e,t,n){let{allowedDrift:r,maxAllowedDrift:i,minCheckInterval:a,maxRateAdjustment:o,maxTimeToCatchUp:s}=n,c=Math.min(s,Math.max(a,i))*1e3,l=async()=>{if(e.query().velocity===0||await t.getPaused()===!0)return;let n=e.query().position-await t.getCurrentTime(),a=Math.abs(n);if(this.log(`Drift: ${n}`),a>i)await this.adjustSpeed(t,0),t.setCurrentTime(e.query().position),this.log(`Resync by currentTime`);else if(a>r){let e=a/s,r=o,i=e<r?(r-e)/2:r;await this.adjustSpeed(t,i*Math.sign(n)),this.log(`Resync by playbackRate`)}},u=setInterval(()=>l(),c);return{cancel:()=>clearInterval(u)}}log(e){this.logger?.(`TimingSrcConnector: ${e}`)}speedAdjustment=0;adjustSpeed=async(e,t)=>{if(this.speedAdjustment===t)return;let n=await e.getPlaybackRate()-this.speedAdjustment+t;this.log(`New playbackRate: ${n}`),await e.setPlaybackRate(n),this.speedAdjustment=t};waitForTOReadyState(e,t){return new Promise(n=>{let r=()=>{e.readyState===t?n():e.addEventListener(`readystatechange`,r,{once:!0})};r()})}}let B=new WeakMap,V=new WeakMap,H={};class U{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(window.jQuery&&e instanceof jQuery&&(e.length>1&&window.console&&console.warn&&console.warn(`A jQuery object with multiple elements was passed, using the first element.`),e=e[0]),typeof document<`u`&&typeof e==`string`&&(e=document.getElementById(e)),!o(e))throw TypeError(`You must pass either a valid element or a valid id.`);if(e.nodeName!==`IFRAME`){let t=e.querySelector(`iframe`);t&&(e=t)}if(e.nodeName===`IFRAME`&&!c(e.getAttribute(`src`)||``))throw Error(`The player element passed isn’t a Vimeo embed.`);if(B.has(e))return B.get(e);this._window=e.ownerDocument.defaultView,this.element=e,this.origin=`*`;let n=new v((n,r)=>{if(this._onMessage=e=>{if(!c(e.origin)||this.element.contentWindow!==e.source)return;this.origin===`*`&&(this.origin=e.origin);let t=T(e.data);if(t&&t.event===`error`&&t.data&&t.data.method===`ready`){let e=Error(t.data.message);e.name=t.data.name,r(e);return}let i=t&&t.event===`ready`,a=t&&t.method===`ping`;if(i||a){this.element.setAttribute(`data-ready`,`true`),n();return}D(this,t)},this._window.addEventListener(`message`,this._onMessage),this.element.nodeName!==`IFRAME`){let n=k(e,t);j(d(n),n,e).then(t=>{let n=A(t,e);return this.element=n,this._originalElement=e,w(e,n),B.set(this.element,this),t}).catch(r)}});if(V.set(this,n),B.set(this.element,this),this.element.nodeName===`IFRAME`&&E(this,`ping`),H.isEnabled){let e=()=>H.exit();this.fullscreenchangeHandler=()=>{H.isFullscreen?b(this,`event:exitFullscreen`,e):S(this,`event:exitFullscreen`,e),this.ready().then(()=>{E(this,`fullscreenchange`,H.isFullscreen)})},H.on(`fullscreenchange`,this.fullscreenchangeHandler)}return this}static isVimeoUrl(e){return c(e)}callMethod(e){var t=[...arguments].slice(1);if(e==null)throw TypeError(`You must pass a method name.`);return new v((n,r)=>this.ready().then(()=>{b(this,e,{resolve:n,reject:r}),t.length===0?t={}:t.length===1&&(t=t[0]),E(this,e,t)}).catch(r))}get(e){return new v((t,n)=>(e=a(e,`get`),this.ready().then(()=>{b(this,e,{resolve:t,reject:n}),E(this,e)}).catch(n)))}set(e,t){return new v((n,r)=>{if(e=a(e,`set`),t==null)throw TypeError(`There must be a value to set.`);return this.ready().then(()=>{b(this,e,{resolve:n,reject:r}),E(this,e,t)}).catch(r)})}on(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(!t)throw TypeError(`You must pass a callback function.`);if(typeof t!=`function`)throw TypeError(`The callback must be a function.`);x(this,`event:${e}`).length===0&&this.callMethod(`addEventListener`,e).catch(()=>{}),b(this,`event:${e}`,t)}off(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(t&&typeof t!=`function`)throw TypeError(`The callback must be a function.`);S(this,`event:${e}`,t)&&this.callMethod(`removeEventListener`,e).catch(e=>{})}loadVideo(e){return this.callMethod(`loadVideo`,e)}ready(){let e=V.get(this)||new v((e,t)=>{t(Error(`Unknown player. Probably unloaded.`))});return v.resolve(e)}addCuePoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.callMethod(`addCuePoint`,{time:e,data:t})}removeCuePoint(e){return this.callMethod(`removeCuePoint`,e)}enableTextTrack(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`enableTextTrack`,{language:e,kind:t,showing:n})}disableTextTrack(){return this.callMethod(`disableTextTrack`)}selectAudioTrack(e,t){if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`selectAudioTrack`,{language:e,kind:t})}selectDefaultAudioTrack(){return this.callMethod(`selectDefaultAudioTrack`)}pause(){return this.callMethod(`pause`)}play(){return this.callMethod(`play`)}requestFullscreen(){return H.isEnabled?H.request(this.element):this.callMethod(`requestFullscreen`)}exitFullscreen(){return H.isEnabled?H.exit():this.callMethod(`exitFullscreen`)}getFullscreen(){return H.isEnabled?v.resolve(H.isFullscreen):this.get(`fullscreen`)}requestPictureInPicture(){return this.callMethod(`requestPictureInPicture`)}exitPictureInPicture(){return this.callMethod(`exitPictureInPicture`)}getPictureInPicture(){return this.get(`pictureInPicture`)}remotePlaybackPrompt(){return this.callMethod(`remotePlaybackPrompt`)}unload(){return this.callMethod(`unload`)}destroy(){return new v(e=>{if(V.delete(this),B.delete(this.element),this._originalElement&&(B.delete(this._originalElement),this._originalElement.removeAttribute(`data-vimeo-initialized`)),this.element&&this.element.nodeName===`IFRAME`&&this.element.parentNode&&(this.element.parentNode.parentNode&&this._originalElement&&this._originalElement!==this.element.parentNode?this.element.parentNode.parentNode.removeChild(this.element.parentNode):this.element.parentNode.removeChild(this.element)),this.element&&this.element.nodeName===`DIV`&&this.element.parentNode){this.element.removeAttribute(`data-vimeo-initialized`);let e=this.element.querySelector(`iframe`);e&&e.parentNode&&(e.parentNode.parentNode&&this._originalElement&&this._originalElement!==e.parentNode?e.parentNode.parentNode.removeChild(e.parentNode):e.parentNode.removeChild(e))}this._window.removeEventListener(`message`,this._onMessage),H.isEnabled&&H.off(`fullscreenchange`,this.fullscreenchangeHandler),e()})}getAutopause(){return this.get(`autopause`)}setAutopause(e){return this.set(`autopause`,e)}getBuffered(){return this.get(`buffered`)}getCameraProps(){return this.get(`cameraProps`)}setCameraProps(e){return this.set(`cameraProps`,e)}getChapters(){return this.get(`chapters`)}getCurrentChapter(){return this.get(`currentChapter`)}getColor(){return this.get(`color`)}getColors(){return v.all([this.get(`colorOne`),this.get(`colorTwo`),this.get(`colorThree`),this.get(`colorFour`)])}setColor(e){return this.set(`color`,e)}setColors(e){if(!Array.isArray(e))return new v((e,t)=>t(TypeError(`Argument must be an array.`)));let t=new v(e=>e(null)),n=[e[0]?this.set(`colorOne`,e[0]):t,e[1]?this.set(`colorTwo`,e[1]):t,e[2]?this.set(`colorThree`,e[2]):t,e[3]?this.set(`colorFour`,e[3]):t];return v.all(n)}getCuePoints(){return this.get(`cuePoints`)}getCurrentTime(){return this.get(`currentTime`)}setCurrentTime(e){return this.set(`currentTime`,e)}getDuration(){return this.get(`duration`)}getEnded(){return this.get(`ended`)}getLoop(){return this.get(`loop`)}setLoop(e){return this.set(`loop`,e)}setMuted(e){return this.set(`muted`,e)}getMuted(){return this.get(`muted`)}getPaused(){return this.get(`paused`)}getPlaybackRate(){return this.get(`playbackRate`)}setPlaybackRate(e){return this.set(`playbackRate`,e)}getPlayed(){return this.get(`played`)}getQualities(){return this.get(`qualities`)}getQuality(){return this.get(`quality`)}setQuality(e){return this.set(`quality`,e)}getRemotePlaybackAvailability(){return this.get(`remotePlaybackAvailability`)}getRemotePlaybackState(){return this.get(`remotePlaybackState`)}getSeekable(){return this.get(`seekable`)}getSeeking(){return this.get(`seeking`)}getTextTracks(){return this.get(`textTracks`)}getAudioTracks(){return this.get(`audioTracks`)}getEnabledAudioTrack(){return this.get(`enabledAudioTrack`)}getDefaultAudioTrack(){return this.get(`defaultAudioTrack`)}getVideoEmbedCode(){return this.get(`videoEmbedCode`)}getVideoId(){return this.get(`videoId`)}getVideoTitle(){return this.get(`videoTitle`)}getVideoWidth(){return this.get(`videoWidth`)}getVideoHeight(){return this.get(`videoHeight`)}getVideoUrl(){return this.get(`videoUrl`)}getVolume(){return this.get(`volume`)}setVolume(e){return this.set(`volume`,e)}async setTimingSrc(e,t){if(!e)throw TypeError(`A Timing Object must be provided.`);await this.ready();let n=new z(this,e,t);return E(this,`notifyTimingObjectConnect`),n.addEventListener(`disconnect`,()=>E(this,`notifyTimingObjectDisconnect`)),n}}return i||(H=L(),M(),N(),P(),F(),I()),U}))})),c=e(n(),1),l=e(s(),1);const u=c.default.getTech(`Tech`);var d=class e extends u{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this.setSrc(this.options_.source,!0),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-vimeo`),this.initVimeoPlayer())})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initVimeoPlayer(){if(!this.url||!this.url.videoId)return;let e={id:this.url.videoId,byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!this.options_.nativeUi,autopause:!1,width:`100%`,height:`100%`};this.options_.autoplay!==void 0&&(e.autoplay=this.options_.autoplay),this.options_.loop!==void 0&&(e.loop=this.options_.loop),this.options_.muted!==void 0&&(e.muted=this.options_.muted),this.vimeoPlayer=new l.default(this.options_.techId,e),this.vimeoPlayer.ready().then(()=>this.onPlayerReady()).catch(e=>{this.player_.error({code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`})}),this.vimeoPlayer.on(`play`,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),this.vimeoPlayer.on(`pause`,()=>{this._paused=!0,this.trigger(`pause`)}),this.vimeoPlayer.on(`ended`,()=>{this._paused=!0,this.trigger(`ended`)}),this.vimeoPlayer.on(`timeupdate`,({seconds:e,duration:t})=>{this._currentTime=e,this._duration=t,this.trigger(`timeupdate`),t&&!this._durationSet&&(this._durationSet=!0,this.trigger(`durationchange`))}),this.vimeoPlayer.on(`loaded`,()=>{this._durationSet=!1,this.trigger(`loadedmetadata`),this.trigger(`durationchange`)}),this.vimeoPlayer.on(`seeking`,({seconds:e})=>{this._currentTime=e,this._seeking=!0,this.trigger(`seeking`)}),this.vimeoPlayer.on(`seeked`,({seconds:e})=>{this._currentTime=e,this._seeking=!1,this.trigger(`seeked`),this.trigger(`timeupdate`)}),this.vimeoPlayer.on(`bufferstart`,()=>this.trigger(`waiting`)),this.vimeoPlayer.on(`bufferend`,()=>this.trigger(`canplay`)),this.vimeoPlayer.on(`volumechange`,({volume:e})=>{this._volume=e,this.trigger(`volumechange`)}),this.vimeoPlayer.on(`error`,e=>this.trigger(`error`,e)),this.vimeoPlayer.on(`fullscreenchange`,({fullscreen:e})=>{this.trigger(`fullscreenchange`,{isFullscreen:e})})}enterFullscreen(){a(this.player_.el().parentElement)}exitFullscreen(){o()}onPlayerReady(){this.triggerReady(),this.options_.muted&&this.vimeoPlayer.setMuted(!0),this.playOnReady&&this.play()}setSrc(t){!t||!t.src||(this.source=t,this.url=e.parseUrl(t.src),this.options_.autoplay&&(this.playOnReady=!0))}play(){if(!this.vimeoPlayer){this.playOnReady=!0;return}this.vimeoPlayer.play().catch(()=>{})}pause(){this.vimeoPlayer?.pause().catch(()=>{})}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this.vimeoPlayer?.setCurrentTime(e).catch(()=>{}),this.trigger(`timeupdate`),this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this.vimeoPlayer?.setVolume(e).catch(()=>{})}muted(){return this._muted}setMuted(e){this._muted=e,this.vimeoPlayer?.setMuted(e).then(()=>{this.setTimeout(()=>this.trigger(`volumechange`),50)}).catch(()=>{})}buffered(){return c.default.createTimeRange(0,this._currentTime)}seekable(){return c.default.createTimeRange(0,this._duration)}playbackRate(){return this._playbackRate||1}setPlaybackRate(e){this._playbackRate=e,this.vimeoPlayer?.setPlaybackRate(e).catch(()=>{}),this.trigger(`ratechange`)}preload(){}load(){}reset(){}currentSrc(){return this.source?.src||``}ended(){return!1}networkState(){return+!!this.vimeoPlayer}readyState(){return this.vimeoPlayer?4:0}supportsFullScreen(){return r()}dispose(){this.vimeoPlayer?.destroy().catch(()=>{}),this.vimeoPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-vimeo`),u.prototype.dispose.call(this)}};d.isSupported=()=>!0,d.canPlayType=e=>e===`video/vimeo`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/vimeo`?`probably`:/vimeo\.com|player\.vimeo\.com/.test(t)?`maybe`:``,d.parseUrl=e=>{let t={videoId:null},n=e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/);return n&&(t.videoId=n[1]),t},i(`Vimeo`,d);export{d as default};
|
|
15
|
+
(function(t,n,r){n[t]=n[t]||r(),e.exports&&=n[t]})(`Promise`,g,function(){var e,t,n,r=Object.prototype.toString,i=typeof setImmediate<`u`?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:r!==!1})}}catch{e=function(e,t,n){return e[t]=n,e}}n=function(){var e,n,r;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,a){r=new i(t,a),n?n.next=r:e=r,n=r,r=void 0},drain:function(){var r=e;for(e=n=t=void 0;r;)r.fn.call(r.self),r=r.next}}}();function a(e,r){n.add(e,r),t||=i(n.drain)}function o(e){var t,n=typeof e;return e!=null&&(n==`object`||n==`function`)&&(t=e.then),typeof t==`function`?t:!1}function s(){for(var e=0;e<this.chain.length;e++)c(this,this.state===1?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,t,n){var r,i;try{t===!1?n.reject(e.msg):(r=t===!0?e.msg:t.call(void 0,e.msg),r===n.promise?n.reject(TypeError(`Promise-chain cycle`)):(i=o(r))?i.call(r,n.resolve,n.reject):n.resolve(r))}catch(e){n.reject(e)}}function l(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=o(e))?a(function(){var r=new f(n);try{t.call(e,function(){l.apply(r,arguments)},function(){u.apply(r,arguments)})}catch(e){u.call(r,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&a(s,n))}catch(e){u.call(new f(n),e)}}}function u(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function d(e,t,n,r){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},r)})(i)}function f(e){this.def=e,this.triggered=!1}function p(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(e){if(typeof e!=`function`)throw TypeError(`Not a function`);if(this.__NPO__!==0)throw TypeError(`Not a promise`);this.__NPO__=1;var t=new p(this);this.then=function(e,n){var r={success:typeof e==`function`?e:!0,failure:typeof n==`function`?n:!1};return r.promise=new this.constructor(function(e,t){if(typeof e!=`function`||typeof t!=`function`)throw TypeError(`Not a function`);r.resolve=e,r.reject=t}),t.chain.push(r),t.state!==0&&a(s,t),r.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){l.call(t,e)},function(e){u.call(t,e)})}catch(e){u.call(t,e)}}var h=e({},`constructor`,m,!1);return m.prototype=h,e(h,`__NPO__`,0,!1),e(m,`resolve`,function(e){var t=this;return e&&typeof e==`object`&&e.__NPO__===1?e:new t(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);t(e)})}),e(m,`reject`,function(e){return new this(function(t,n){if(typeof t!=`function`||typeof n!=`function`)throw TypeError(`Not a function`);n(e)})}),e(m,`all`,function(e){var t=this;return r.call(e)==`[object Array]`?e.length===0?t.resolve([]):new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);var i=e.length,a=Array(i),o=0;d(t,e,function(e,t){a[e]=t,++o===i&&n(a)},r)}):t.reject(TypeError(`Not an array`))}),e(m,`race`,function(e){var t=this;return r.call(e)==`[object Array]`?new t(function(n,r){if(typeof n!=`function`||typeof r!=`function`)throw TypeError(`Not a function`);d(t,e,function(e,t){n(t)},r)}):t.reject(TypeError(`Not an array`))}),m})});let y=new WeakMap;function b(e,t,n){let r=y.get(e.element)||{};t in r||(r[t]=[]),r[t].push(n),y.set(e.element,r)}function x(e,t){return(y.get(e.element)||{})[t]||[]}function S(e,t,n){let r=y.get(e.element)||{};if(!r[t])return!0;if(!n)return r[t]=[],y.set(e.element,r),!0;let i=r[t].indexOf(n);return i!==-1&&r[t].splice(i,1),y.set(e.element,r),r[t]&&r[t].length===0}function C(e,t){let n=x(e,t);if(n.length<1)return!1;let r=n.shift();return S(e,t,r),r}function w(e,t){let n=y.get(e);y.set(t,n),y.delete(e)}function T(e){if(typeof e==`string`)try{e=JSON.parse(e)}catch(e){return console.warn(e),{}}return e}function E(e,t,n){if(!e.element.contentWindow||!e.element.contentWindow.postMessage)return;let r={method:t};n!==void 0&&(r.value=n);let i=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\d+).*$/,`$1`));i>=8&&i<10&&(r=JSON.stringify(r)),e.element.contentWindow.postMessage(r,e.origin)}function D(e,t){t=T(t);let n=[],r;if(t.event)t.event===`error`&&x(e,t.data.method).forEach(n=>{let r=Error(t.data.message);r.name=t.data.name,n.reject(r),S(e,t.data.method,n)}),n=x(e,`event:${t.event}`),r=t.data;else if(t.method){let i=C(e,t.method);i&&(n.push(i),r=t.value)}n.forEach(t=>{try{if(typeof t==`function`){t.call(e,r);return}t.resolve(r)}catch{}})}let O=`airplay.audio_tracks.audiotrack.autopause.autoplay.background.byline.cc.chapter_id.chapters.chromecast.color.colors.controls.disable_context_menu.dnt.end_time.fullscreen.height.id.initial_quality.interactive_params.keyboard.loop.maxheight.max_quality.maxwidth.min_quality.muted.play_button_position.playsinline.portrait.preload.progress_bar.quality.quality_selector.responsive.skipping_forward.speed.start_time.texttrack.thumbnail_id.title.transcript.transparent.unmute_button.url.vimeo_logo.volume.watch_full_video.width`.split(`.`);function k(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return O.reduce((t,n)=>{let r=e.getAttribute(`data-vimeo-${n}`);return(r||r===``)&&(t[n]=r===``?1:r),t},t)}function A(e,t){let{html:n}=e;if(!t)throw TypeError(`An element must be provided`);if(t.getAttribute(`data-vimeo-initialized`)!==null)return t.querySelector(`iframe`);let r=document.createElement(`div`);return r.innerHTML=n,t.appendChild(r.firstChild),t.setAttribute(`data-vimeo-initialized`,`true`),t.querySelector(`iframe`)}function j(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return new Promise((r,i)=>{if(!c(e))throw TypeError(`“${e}” is not a vimeo.com url.`);let a=`https://${u(e)}/api/oembed.json?url=${encodeURIComponent(e)}`;for(let e in t)t.hasOwnProperty(e)&&(a+=`&${e}=${encodeURIComponent(t[e])}`);let o=`XDomainRequest`in window?new XDomainRequest:new XMLHttpRequest;o.open(`GET`,a,!0),o.onload=function(){if(o.status===404){i(Error(`“${e}” was not found.`));return}if(o.status===403){i(Error(`“${e}” is not embeddable.`));return}try{let t=JSON.parse(o.responseText);if(t.domain_status_code===403){A(t,n),i(Error(`“${e}” is not embeddable.`));return}r(t)}catch(e){i(e)}},o.onerror=function(){let e=o.status?` (${o.status})`:``;i(Error(`There was an error fetching the embed code from Vimeo${e}.`))},o.send()})}function M(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document,t=[].slice.call(e.querySelectorAll(`[data-vimeo-id], [data-vimeo-url]`)),n=e=>{`console`in window&&console.error&&console.error(`There was an error creating an embed: ${e}`)};t.forEach(e=>{try{if(e.getAttribute(`data-vimeo-defer`)!==null)return;let t=k(e);j(d(t),t,e).then(t=>A(t,e)).catch(n)}catch(e){n(e)}})}function N(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoPlayerResizeEmbeds_||(window.VimeoPlayerResizeEmbeds_=!0,window.addEventListener(`message`,t=>{if(!c(t.origin)||!t.data||t.data.event!==`spacechange`)return;let n=t.source?p(t.source,e):null;if(n){let e=n.parentElement;e.style.paddingBottom=`${t.data.data[0].bottom}px`}}))}function P(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;window.VimeoSeoMetadataAppended||(window.VimeoSeoMetadataAppended=!0,window.addEventListener(`message`,t=>{if(!c(t.origin))return;let n=T(t.data);if(!n||n.event!==`ready`)return;let r=t.source?p(t.source,e):null;r&&l(r.src)&&new U(r).callMethod(`appendVideoMetadata`,window.location.href)}))}function F(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:document;if(window.VimeoCheckedUrlTimeParam)return;window.VimeoCheckedUrlTimeParam=!0;let t=e=>{`console`in window&&console.error&&console.error(`There was an error getting video Id: ${e}`)};window.addEventListener(`message`,n=>{if(!c(n.origin))return;let r=T(n.data);if(!r||r.event!==`ready`)return;let i=n.source?p(n.source,e):null;if(i&&l(i.src)){let e=new U(i);e.getVideoId().then(t=>{let n=RegExp(`[?&]vimeo_t_${t}=([^&#]*)`).exec(window.location.href);if(n&&n[1]){let t=decodeURI(n[1]);e.setCurrentTime(t)}}).catch(t)}})}function I(){window.VimeoDRMEmbedsUpdated||(window.VimeoDRMEmbedsUpdated=!0,window.addEventListener(`message`,e=>{if(!c(e.origin))return;let t=T(e.data);if(!t||t.event!==`drminitfailed`)return;let n=e.source?p(e.source):null;if(!n)return;let r=n.getAttribute(`allow`)||``;if(!r.includes(`encrypted-media`)){n.setAttribute(`allow`,`${r}; encrypted-media`);let e=new URL(n.getAttribute(`src`));e.searchParams.set(`forcereload`,`drm`),n.setAttribute(`src`,e.toString());return}}))}function L(){let e=function(){let e,t=[[`requestFullscreen`,`exitFullscreen`,`fullscreenElement`,`fullscreenEnabled`,`fullscreenchange`,`fullscreenerror`],[`webkitRequestFullscreen`,`webkitExitFullscreen`,`webkitFullscreenElement`,`webkitFullscreenEnabled`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`webkitRequestFullScreen`,`webkitCancelFullScreen`,`webkitCurrentFullScreenElement`,`webkitCancelFullScreen`,`webkitfullscreenchange`,`webkitfullscreenerror`],[`mozRequestFullScreen`,`mozCancelFullScreen`,`mozFullScreenElement`,`mozFullScreenEnabled`,`mozfullscreenchange`,`mozfullscreenerror`],[`msRequestFullscreen`,`msExitFullscreen`,`msFullscreenElement`,`msFullscreenEnabled`,`MSFullscreenChange`,`MSFullscreenError`]],n=0,r=t.length,i={};for(;n<r;n++)if(e=t[n],e&&e[1]in document){for(n=0;n<e.length;n++)i[t[0][n]]=e[n];return i}return!1}(),t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror},n={request(t){return new Promise((r,i)=>{let a=function(){n.off(`fullscreenchange`,a),r()};n.on(`fullscreenchange`,a),t||=document.documentElement;let o=t[e.requestFullscreen]();o instanceof Promise&&o.then(a).catch(i)})},exit(){return new Promise((t,r)=>{if(!n.isFullscreen){t();return}let i=function(){n.off(`fullscreenchange`,i),t()};n.on(`fullscreenchange`,i);let a=document[e.exitFullscreen]();a instanceof Promise&&a.then(i).catch(r)})},on(e,n){let r=t[e];r&&document.addEventListener(r,n)},off(e,n){let r=t[e];r&&document.removeEventListener(r,n)}};return Object.defineProperties(n,{isFullscreen:{get(){return!!document[e.fullscreenElement]}},element:{enumerable:!0,get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:!0,get(){return!!document[e.fullscreenEnabled]}}}),n}let R={role:`viewer`,autoPlayMuted:!0,allowedDrift:.3,maxAllowedDrift:1,minCheckInterval:.1,maxRateAdjustment:.2,maxTimeToCatchUp:1};class z extends EventTarget{logger;constructor(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;super(),this.logger=r,this.init(t,e,{...R,...n})}disconnect(){this.dispatchEvent(new Event(`disconnect`))}async init(e,t,n){if(await this.waitForTOReadyState(e,`open`),n.role===`viewer`){await this.updatePlayer(e,t,n);let r=f(e,`change`,()=>this.updatePlayer(e,t,n)),i=this.maintainPlaybackPosition(e,t,n);this.addEventListener(`disconnect`,()=>{i.cancel(),r.cancel()})}else{await this.updateTimingObject(e,t);let n=f(t,[`seeked`,`play`,`pause`,`ratechange`],()=>this.updateTimingObject(e,t),`on`,`off`);this.addEventListener(`disconnect`,()=>n.cancel())}}async updateTimingObject(e,t){let[n,r,i]=await Promise.all([t.getCurrentTime(),t.getPaused(),t.getPlaybackRate()]);e.update({position:n,velocity:r?0:i})}async updatePlayer(e,t,n){let{position:r,velocity:i}=e.query();typeof r==`number`&&t.setCurrentTime(r),typeof i==`number`&&(i===0?await t.getPaused()===!1&&t.pause():i>0&&(await t.getPaused()===!0&&(await t.play().catch(async e=>{e.name===`NotAllowedError`&&n.autoPlayMuted&&(await t.setMuted(!0),await t.play().catch(e=>console.error(`Couldn't play the video from TimingSrcConnector. Error:`,e)))}),this.updatePlayer(e,t,n)),await t.getPlaybackRate()!==i&&t.setPlaybackRate(i)))}maintainPlaybackPosition(e,t,n){let{allowedDrift:r,maxAllowedDrift:i,minCheckInterval:a,maxRateAdjustment:o,maxTimeToCatchUp:s}=n,c=Math.min(s,Math.max(a,i))*1e3,l=async()=>{if(e.query().velocity===0||await t.getPaused()===!0)return;let n=e.query().position-await t.getCurrentTime(),a=Math.abs(n);if(this.log(`Drift: ${n}`),a>i)await this.adjustSpeed(t,0),t.setCurrentTime(e.query().position),this.log(`Resync by currentTime`);else if(a>r){let e=a/s,r=o,i=e<r?(r-e)/2:r;await this.adjustSpeed(t,i*Math.sign(n)),this.log(`Resync by playbackRate`)}},u=setInterval(()=>l(),c);return{cancel:()=>clearInterval(u)}}log(e){this.logger?.(`TimingSrcConnector: ${e}`)}speedAdjustment=0;adjustSpeed=async(e,t)=>{if(this.speedAdjustment===t)return;let n=await e.getPlaybackRate()-this.speedAdjustment+t;this.log(`New playbackRate: ${n}`),await e.setPlaybackRate(n),this.speedAdjustment=t};waitForTOReadyState(e,t){return new Promise(n=>{let r=()=>{e.readyState===t?n():e.addEventListener(`readystatechange`,r,{once:!0})};r()})}}let B=new WeakMap,V=new WeakMap,H={};class U{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(window.jQuery&&e instanceof jQuery&&(e.length>1&&window.console&&console.warn&&console.warn(`A jQuery object with multiple elements was passed, using the first element.`),e=e[0]),typeof document<`u`&&typeof e==`string`&&(e=document.getElementById(e)),!o(e))throw TypeError(`You must pass either a valid element or a valid id.`);if(e.nodeName!==`IFRAME`){let t=e.querySelector(`iframe`);t&&(e=t)}if(e.nodeName===`IFRAME`&&!c(e.getAttribute(`src`)||``))throw Error(`The player element passed isn’t a Vimeo embed.`);if(B.has(e))return B.get(e);this._window=e.ownerDocument.defaultView,this.element=e,this.origin=`*`;let n=new v((n,r)=>{if(this._onMessage=e=>{if(!c(e.origin)||this.element.contentWindow!==e.source)return;this.origin===`*`&&(this.origin=e.origin);let t=T(e.data);if(t&&t.event===`error`&&t.data&&t.data.method===`ready`){let e=Error(t.data.message);e.name=t.data.name,r(e);return}let i=t&&t.event===`ready`,a=t&&t.method===`ping`;if(i||a){this.element.setAttribute(`data-ready`,`true`),n();return}D(this,t)},this._window.addEventListener(`message`,this._onMessage),this.element.nodeName!==`IFRAME`){let n=k(e,t);j(d(n),n,e).then(t=>{let n=A(t,e);return this.element=n,this._originalElement=e,w(e,n),B.set(this.element,this),t}).catch(r)}});if(V.set(this,n),B.set(this.element,this),this.element.nodeName===`IFRAME`&&E(this,`ping`),H.isEnabled){let e=()=>H.exit();this.fullscreenchangeHandler=()=>{H.isFullscreen?b(this,`event:exitFullscreen`,e):S(this,`event:exitFullscreen`,e),this.ready().then(()=>{E(this,`fullscreenchange`,H.isFullscreen)})},H.on(`fullscreenchange`,this.fullscreenchangeHandler)}return this}static isVimeoUrl(e){return c(e)}callMethod(e){var t=[...arguments].slice(1);if(e==null)throw TypeError(`You must pass a method name.`);return new v((n,r)=>this.ready().then(()=>{b(this,e,{resolve:n,reject:r}),t.length===0?t={}:t.length===1&&(t=t[0]),E(this,e,t)}).catch(r))}get(e){return new v((t,n)=>(e=a(e,`get`),this.ready().then(()=>{b(this,e,{resolve:t,reject:n}),E(this,e)}).catch(n)))}set(e,t){return new v((n,r)=>{if(e=a(e,`set`),t==null)throw TypeError(`There must be a value to set.`);return this.ready().then(()=>{b(this,e,{resolve:n,reject:r}),E(this,e,t)}).catch(r)})}on(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(!t)throw TypeError(`You must pass a callback function.`);if(typeof t!=`function`)throw TypeError(`The callback must be a function.`);x(this,`event:${e}`).length===0&&this.callMethod(`addEventListener`,e).catch(()=>{}),b(this,`event:${e}`,t)}off(e,t){if(!e)throw TypeError(`You must pass an event name.`);if(t&&typeof t!=`function`)throw TypeError(`The callback must be a function.`);S(this,`event:${e}`,t)&&this.callMethod(`removeEventListener`,e).catch(e=>{})}loadVideo(e){return this.callMethod(`loadVideo`,e)}ready(){let e=V.get(this)||new v((e,t)=>{t(Error(`Unknown player. Probably unloaded.`))});return v.resolve(e)}addCuePoint(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.callMethod(`addCuePoint`,{time:e,data:t})}removeCuePoint(e){return this.callMethod(`removeCuePoint`,e)}enableTextTrack(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`enableTextTrack`,{language:e,kind:t,showing:n})}disableTextTrack(){return this.callMethod(`disableTextTrack`)}selectAudioTrack(e,t){if(!e)throw TypeError(`You must pass a language.`);return this.callMethod(`selectAudioTrack`,{language:e,kind:t})}selectDefaultAudioTrack(){return this.callMethod(`selectDefaultAudioTrack`)}pause(){return this.callMethod(`pause`)}play(){return this.callMethod(`play`)}requestFullscreen(){return H.isEnabled?H.request(this.element):this.callMethod(`requestFullscreen`)}exitFullscreen(){return H.isEnabled?H.exit():this.callMethod(`exitFullscreen`)}getFullscreen(){return H.isEnabled?v.resolve(H.isFullscreen):this.get(`fullscreen`)}requestPictureInPicture(){return this.callMethod(`requestPictureInPicture`)}exitPictureInPicture(){return this.callMethod(`exitPictureInPicture`)}getPictureInPicture(){return this.get(`pictureInPicture`)}remotePlaybackPrompt(){return this.callMethod(`remotePlaybackPrompt`)}unload(){return this.callMethod(`unload`)}destroy(){return new v(e=>{if(V.delete(this),B.delete(this.element),this._originalElement&&(B.delete(this._originalElement),this._originalElement.removeAttribute(`data-vimeo-initialized`)),this.element&&this.element.nodeName===`IFRAME`&&this.element.parentNode&&(this.element.parentNode.parentNode&&this._originalElement&&this._originalElement!==this.element.parentNode?this.element.parentNode.parentNode.removeChild(this.element.parentNode):this.element.parentNode.removeChild(this.element)),this.element&&this.element.nodeName===`DIV`&&this.element.parentNode){this.element.removeAttribute(`data-vimeo-initialized`);let e=this.element.querySelector(`iframe`);e&&e.parentNode&&(e.parentNode.parentNode&&this._originalElement&&this._originalElement!==e.parentNode?e.parentNode.parentNode.removeChild(e.parentNode):e.parentNode.removeChild(e))}this._window.removeEventListener(`message`,this._onMessage),H.isEnabled&&H.off(`fullscreenchange`,this.fullscreenchangeHandler),e()})}getAutopause(){return this.get(`autopause`)}setAutopause(e){return this.set(`autopause`,e)}getBuffered(){return this.get(`buffered`)}getCameraProps(){return this.get(`cameraProps`)}setCameraProps(e){return this.set(`cameraProps`,e)}getChapters(){return this.get(`chapters`)}getCurrentChapter(){return this.get(`currentChapter`)}getColor(){return this.get(`color`)}getColors(){return v.all([this.get(`colorOne`),this.get(`colorTwo`),this.get(`colorThree`),this.get(`colorFour`)])}setColor(e){return this.set(`color`,e)}setColors(e){if(!Array.isArray(e))return new v((e,t)=>t(TypeError(`Argument must be an array.`)));let t=new v(e=>e(null)),n=[e[0]?this.set(`colorOne`,e[0]):t,e[1]?this.set(`colorTwo`,e[1]):t,e[2]?this.set(`colorThree`,e[2]):t,e[3]?this.set(`colorFour`,e[3]):t];return v.all(n)}getCuePoints(){return this.get(`cuePoints`)}getCurrentTime(){return this.get(`currentTime`)}setCurrentTime(e){return this.set(`currentTime`,e)}getDuration(){return this.get(`duration`)}getEnded(){return this.get(`ended`)}getLoop(){return this.get(`loop`)}setLoop(e){return this.set(`loop`,e)}setMuted(e){return this.set(`muted`,e)}getMuted(){return this.get(`muted`)}getPaused(){return this.get(`paused`)}getPlaybackRate(){return this.get(`playbackRate`)}setPlaybackRate(e){return this.set(`playbackRate`,e)}getPlayed(){return this.get(`played`)}getQualities(){return this.get(`qualities`)}getQuality(){return this.get(`quality`)}setQuality(e){return this.set(`quality`,e)}getRemotePlaybackAvailability(){return this.get(`remotePlaybackAvailability`)}getRemotePlaybackState(){return this.get(`remotePlaybackState`)}getSeekable(){return this.get(`seekable`)}getSeeking(){return this.get(`seeking`)}getTextTracks(){return this.get(`textTracks`)}getAudioTracks(){return this.get(`audioTracks`)}getEnabledAudioTrack(){return this.get(`enabledAudioTrack`)}getDefaultAudioTrack(){return this.get(`defaultAudioTrack`)}getVideoEmbedCode(){return this.get(`videoEmbedCode`)}getVideoId(){return this.get(`videoId`)}getVideoTitle(){return this.get(`videoTitle`)}getVideoWidth(){return this.get(`videoWidth`)}getVideoHeight(){return this.get(`videoHeight`)}getVideoUrl(){return this.get(`videoUrl`)}getVolume(){return this.get(`volume`)}setVolume(e){return this.set(`volume`,e)}async setTimingSrc(e,t){if(!e)throw TypeError(`A Timing Object must be provided.`);await this.ready();let n=new z(this,e,t);return E(this,`notifyTimingObjectConnect`),n.addEventListener(`disconnect`,()=>E(this,`notifyTimingObjectDisconnect`)),n}}return i||(H=L(),M(),N(),P(),F(),I()),U}))})),l=e(n(),1),u=e(c(),1);const d=l.default.getTech(`Tech`);var f=class e extends d{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this.setSrc(this.options_.source,!0),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-vimeo`),this.initVimeoPlayer())})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initVimeoPlayer(){if(!this.url||!this.url.videoId)return;let e={id:this.url.videoId,byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!this.options_.nativeUi,autopause:!1,width:`100%`,height:`100%`};this.options_.autoplay!==void 0&&(e.autoplay=this.options_.autoplay),this.options_.loop!==void 0&&(e.loop=this.options_.loop),this.options_.muted!==void 0&&(e.muted=this.options_.muted),this.vimeoPlayer=new u.default(this.options_.techId,e),this.vimeoPlayer.ready().then(()=>this.onPlayerReady()).catch(e=>{this.player_.error({code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`})}),this.vimeoPlayer.on(`play`,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),this.vimeoPlayer.on(`pause`,()=>{this._paused=!0,this.trigger(`pause`)}),this.vimeoPlayer.on(`ended`,()=>{this._paused=!0,this.trigger(`ended`)}),this.vimeoPlayer.on(`timeupdate`,({seconds:e,duration:t})=>{this._currentTime=e,this._duration=t,this.trigger(`timeupdate`),t&&!this._durationSet&&(this._durationSet=!0,this.trigger(`durationchange`))}),this.vimeoPlayer.on(`loaded`,()=>{this._durationSet=!1,this.trigger(`loadedmetadata`),this.trigger(`durationchange`)}),this.vimeoPlayer.on(`seeking`,({seconds:e})=>{this._currentTime=e,this._seeking=!0,this.trigger(`seeking`)}),this.vimeoPlayer.on(`seeked`,({seconds:e})=>{this._currentTime=e,this._seeking=!1,this.trigger(`seeked`),this.trigger(`timeupdate`)}),this.vimeoPlayer.on(`bufferstart`,()=>this.trigger(`waiting`)),this.vimeoPlayer.on(`bufferend`,()=>this.trigger(`canplay`)),this.vimeoPlayer.on(`volumechange`,({volume:e})=>{this._volume=e,this.trigger(`volumechange`)}),this.vimeoPlayer.on(`error`,e=>this.trigger(`error`,e)),this.vimeoPlayer.on(`fullscreenchange`,({fullscreen:e})=>{this.trigger(`fullscreenchange`,{isFullscreen:e})})}enterFullscreen(){if(!r())return a(this.player_.el().parentElement);this.vimeoPlayer?.requestFullscreen().catch(()=>{})}exitFullscreen(){o()}onPlayerReady(){this.triggerReady(),this.options_.muted&&this.vimeoPlayer.setMuted(!0),this.playOnReady&&this.play()}setSrc(t){!t||!t.src||(this.source=t,this.url=e.parseUrl(t.src),this.options_.autoplay&&(this.playOnReady=!0))}play(){if(!this.vimeoPlayer){this.playOnReady=!0;return}this.vimeoPlayer.play().catch(()=>{})}pause(){this.vimeoPlayer?.pause().catch(()=>{})}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this.vimeoPlayer?.setCurrentTime(e).catch(()=>{}),this.trigger(`timeupdate`),this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this.vimeoPlayer?.setVolume(e).catch(()=>{})}muted(){return this._muted}setMuted(e){this._muted=e,this.vimeoPlayer?.setMuted(e).then(()=>{this.setTimeout(()=>this.trigger(`volumechange`),50)}).catch(()=>{})}buffered(){return l.default.createTimeRange(0,this._currentTime)}seekable(){return l.default.createTimeRange(0,this._duration)}playbackRate(){return this._playbackRate||1}setPlaybackRate(e){this._playbackRate=e,this.vimeoPlayer?.setPlaybackRate(e).catch(()=>{}),this.trigger(`ratechange`)}preload(){}load(){}reset(){}currentSrc(){return this.source?.src||``}ended(){return!1}networkState(){return+!!this.vimeoPlayer}readyState(){return this.vimeoPlayer?4:0}supportsFullScreen(){return s()}dispose(){this.vimeoPlayer?.destroy().catch(()=>{}),this.vimeoPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-vimeo`),d.prototype.dispose.call(this)}};f.isSupported=()=>!0,f.canPlayType=e=>e===`video/vimeo`?`probably`:``,f.canPlaySource=({type:e,src:t})=>e===`video/vimeo`?`probably`:/vimeo\.com|player\.vimeo\.com/.test(t)?`maybe`:``,f.parseUrl=e=>{let t={videoId:null},n=e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/);return n&&(t.videoId=n[1]),t},i(`Vimeo`,f);export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,c as t,h as n,l as r,m as i,n as a,u as o}from"./tech-BOi4jf1S.mjs";import{t as s}from"./loadScript-Du6JsTc2.mjs";import c from"video.js";const l=c.getTech(`Tech`),u=c.browser.IS_IOS||c.browser.IS_NATIVE_ANDROID;var d=class t extends l{constructor(e,n){super(e,n),this.setPoster(e.poster),this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-youtube`),u&&this.el_.parentNode.classList.add(`vjs-youtube-mobile`),t.isApiReady?this.initYTPlayer():t.apiReadyQueue.push(this))})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initYTPlayer(){let e=this.options_,t={controls:+!!e.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!e.muted,loop:+!!e.loop,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,...e.iv_load_policy!==void 0&&{iv_load_policy:e.iv_load_policy},...e.cc_load_policy!==void 0&&{cc_load_policy:e.cc_load_policy},...e.color!==void 0&&{color:e.color},...e.hl!==void 0&&{hl:e.hl},...e.playsinline!==void 0&&{playsinline:e.playsinline},...e.rel!==void 0&&{rel:e.rel},...e.start!==void 0&&{start:e.start},...e.end!==void 0&&{end:e.end},...e.ytControls!==void 0&&{controls:e.ytControls},...e.customVars};e.youtube&&Object.assign(t,e.youtube),this.activeVideoId=this.url?.videoId??null,this.ytPlayer=new window.YT.Player(this.options_.techId,{videoId:this.activeVideoId,playerVars:t,...e.enablePrivacyEnhancedMode&&{host:`https://www.youtube-nocookie.com`},events:{onReady:this.onPlayerReady.bind(this),onStateChange:this.onPlayerStateChange.bind(this),onPlaybackRateChange:this.onPlayerPlaybackRateChange.bind(this),onVolumeChange:this.onPlayerVolumeChange.bind(this),onError:this.onPlayerError.bind(this)}}),window.yt=this.ytPlayer}onPlayerReady(){this.ytPlayer.getAvailablePlaybackRates().length>1&&(this.featuresPlaybackRate=!0),this.playerReady_=!0,this.triggerReady(),this.playOnReady?this.play():this.cueOnReady&&(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId)}_isAdPlaying(){try{let e=this.ytPlayer?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}onPlayerStateChange(e){let t=e.data;if(t===this.lastState||this.errorNumber)return;this.lastState=t;let n=this._isAdPlaying();switch(n!==this._adWasPlaying&&(this._adWasPlaying=n,this.trigger(n?`adstart`:`adend`)),t){case-1:this.trigger(`loadstart`),this.trigger(`loadedmetadata`),this.trigger(`durationchange`),this.trigger(`ratechange`);break;case YT.PlayerState.ENDED:this.trigger(`ended`);break;case YT.PlayerState.PLAYING:this.trigger(`timeupdate`),this.trigger(`durationchange`),this.trigger(`playing`),this.trigger(`play`),this.isSeeking&&this.onSeeked();break;case YT.PlayerState.PAUSED:this.trigger(`canplay`),this.isSeeking||this.trigger(`pause`);break;case YT.PlayerState.BUFFERING:this.player_.trigger(`waiting`);break;case YT.PlayerState.CUED:this.trigger(`canplay`);break}this.startInterval&&=(clearInterval(this.startInterval),null),t===YT.PlayerState.PLAYING&&(this.startInterval=setInterval(()=>this.trigger(`timeupdate`),250))}onPlayerPlaybackRateChange(){this.trigger(`ratechange`)}onPlayerVolumeChange(){this.trigger(`volumechange`)}onPlayerError(e){this.errorNumber=e.data,this.trigger(`error`),this.setTimeout(()=>{this.errorNumber=null},0)}play(){this.url?.videoId&&(this.wasPausedBeforeSeek=!1,this.isReady_?this.activeVideoId===this.url.videoId?this.ytPlayer.playVideo():(this.loadVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):(this.trigger(`waiting`),this.playOnReady=!0))}pause(){this.ytPlayer?.pauseVideo()}paused(){return this.ytPlayer?this.lastState!==YT.PlayerState.PLAYING&&this.lastState!==YT.PlayerState.BUFFERING:!0}loadVideoById_(e){this.ytPlayer.loadVideoById({videoId:e})}cueVideoById_(e){this.ytPlayer.cueVideoById({videoId:e})}currentTime(){return this.ytPlayer?.getCurrentTime()??0}setCurrentTime(e){this.lastState===YT.PlayerState.PAUSED&&(this.timeBeforeSeek=this.currentTime()),this.isSeeking||(this.wasPausedBeforeSeek=this.paused()),this.ytPlayer.seekTo(e,!0),this.trigger(`timeupdate`),this.trigger(`seeking`),this.isSeeking=!0,this.lastState===YT.PlayerState.PAUSED&&this.timeBeforeSeek!==e&&(clearInterval(this.checkSeekedInPauseInterval),this.checkSeekedInPauseInterval=setInterval(()=>{this.lastState!==YT.PlayerState.PAUSED||!this.isSeeking?clearInterval(this.checkSeekedInPauseInterval):this.currentTime()!==this.timeBeforeSeek&&(this.trigger(`timeupdate`),this.onSeeked())},250))}onSeeked(){clearInterval(this.checkSeekedInPauseInterval),this.isSeeking=!1,this.wasPausedBeforeSeek&&this.pause(),this.trigger(`seeked`)}seeking(){return this.isSeeking}seekable(){return c.createTimeRange(0,this.ytPlayer?.getDuration()??0)}duration(){return this.ytPlayer?.getDuration()??0}ended(){return this.ytPlayer?this.lastState===YT.PlayerState.ENDED:!1}volume(){return this.ytPlayer?this.ytPlayer.getVolume()/100:1}setVolume(e){this.ytPlayer?.setVolume(e*100)}muted(){return this.ytPlayer?.isMuted()??!1}setMuted(e){this.ytPlayer&&(e?this.ytPlayer.mute():this.ytPlayer.unMute(),this.setTimeout(()=>this.trigger(`volumechange`),50))}buffered(){return this.ytPlayer?.getVideoLoadedFraction?c.createTimeRange(0,this.ytPlayer.getVideoLoadedFraction()*this.ytPlayer.getDuration()):c.createTimeRange()}playbackRate(){return this.ytPlayer?.getPlaybackRate()??1}setPlaybackRate(e){this.ytPlayer?.setPlaybackRate(e)}currentSrc(){return this.source?.src??``}preload(){}load(){}reset(){}networkState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 3:return 2;default:return 1}}readyState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 5:return 1;case 3:return 2;default:return 4}}supportsFullScreen(){return o()}setSrc(e){e?.src&&(this.source=e,this.url=t.parseUrl(e.src),!this.options_.poster&&this.url.videoId&&(this.poster_=`https://img.youtube.com/vi/${this.url.videoId}/0.jpg`,this.setTimeout(()=>{this.trigger(`posterchange`),this.checkHighResPoster()},0)),this.options_.autoplay?this.isReady_?this.play():this.playOnReady=!0:this.activeVideoId!==this.url.videoId&&(this.isReady_?(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):this.cueOnReady=!0))}poster(){return u?null:this.poster_}setPoster(e){this.poster_=e}autoplay(){return this.options_.autoplay}setAutoplay(e){this.options_.autoplay=e}loop(){return this.options_.loop}setLoop(e){this.options_.loop=e}checkHighResPoster(){let e=`https://img.youtube.com/vi/${this.url.videoId}/maxresdefault.jpg`,t=new Image;t.onload=()=>{(t.naturalHeight||t.height)<=90||(this.poster_=e,this.trigger(`posterchange`))},t.src=e}enterFullscreen(){if(e()&&this.ytPlayer){this._spawnIosFullscreen();return}r(this.player_.el().parentElement)}exitFullscreen(){a()}_spawnIosFullscreen(){let e=this.ytPlayer,t=e.getCurrentTime(),{video_id:r}=e.getVideoData();e.pauseVideo(),this.player_.trigger(i);let a=document.createElement(`div`);a.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(a);let o=document.createElement(`div`);o.id=`yt-fs-${Date.now()}`,a.appendChild(o);let s=null,c=!1,l=()=>{if(c)return;c=!0,this.player_.trigger(n);let r=s?s.getCurrentTime():t;try{s?.destroy()}catch{}a.remove(),e.seekTo(r,!0),this.trigger(`timeupdate`)};s=new window.YT.Player(o.id,{videoId:r,playerVars:{playsinline:0,autoplay:1,controls:1,modestbranding:1,rel:0,start:Math.floor(t)},events:{onReady:e=>{this.player_.trigger(n),e.target.seekTo(t,!0),e.target.playVideo()},onStateChange:e=>{(e.data===window.YT.PlayerState.PAUSED||e.data===window.YT.PlayerState.ENDED)&&l()}}})}dispose(){clearInterval(this.startInterval),this.ytPlayer?(this.ytPlayer.stopVideo?.(),this.ytPlayer.destroy?.()):t.apiReadyQueue=t.apiReadyQueue.filter(e=>e!==this),this.ytPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-youtube`,`vjs-youtube-mobile`),l.prototype.dispose.call(this)}};d.isApiReady=!1,d.apiReadyQueue=[],d.isSupported=()=>!0,d.canPlayType=e=>e===`video/youtube`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/youtube`?`probably`:/youtu\.be|youtube\.com/.test(t)?`maybe`:``,d.parseUrl=e=>{let t={videoId:null,listId:null},n=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|shorts\/|&v=)([^#&?]*).*/);n?.[2]?.length===11&&(t.videoId=n[2]);let r=e.match(/[?&]list=([^#&?]+)/);return r?.[1]&&(t.listId=r[1]),t},typeof document<`u`&&s(`https://www.youtube.com/iframe_api`).then(()=>{window.YT.ready(()=>{d.isApiReady=!0,d.apiReadyQueue.forEach(e=>e.initYTPlayer()),d.apiReadyQueue=[]})}),t(`Youtube`,d);export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{a as n,c as r,h as i,l as a,m as o,n as s,u as c}from"./tech-DQUZqNr6.mjs";import{t as l}from"./loadScript-Du6JsTc2.mjs";var u=e(t(),1);const d=u.default.getTech(`Tech`),f=u.default.browser.IS_IOS||u.default.browser.IS_NATIVE_ANDROID;var p=class e extends d{constructor(t,n){super(t,n),this.setPoster(t.poster),this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-youtube`),f&&this.el_.parentNode.classList.add(`vjs-youtube-mobile`),e.isApiReady?this.initYTPlayer():e.apiReadyQueue.push(this))})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initYTPlayer(){let e=this.options_,t={controls:+!!e.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!e.muted,loop:+!!e.loop,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,...e.iv_load_policy!==void 0&&{iv_load_policy:e.iv_load_policy},...e.cc_load_policy!==void 0&&{cc_load_policy:e.cc_load_policy},...e.color!==void 0&&{color:e.color},...e.hl!==void 0&&{hl:e.hl},...e.playsinline!==void 0&&{playsinline:e.playsinline},...e.rel!==void 0&&{rel:e.rel},...e.start!==void 0&&{start:e.start},...e.end!==void 0&&{end:e.end},...e.ytControls!==void 0&&{controls:e.ytControls},...e.customVars};e.youtube&&Object.assign(t,e.youtube),this.activeVideoId=this.url?.videoId??null,this.ytPlayer=new window.YT.Player(this.options_.techId,{videoId:this.activeVideoId,playerVars:t,...e.enablePrivacyEnhancedMode&&{host:`https://www.youtube-nocookie.com`},events:{onReady:this.onPlayerReady.bind(this),onStateChange:this.onPlayerStateChange.bind(this),onPlaybackRateChange:this.onPlayerPlaybackRateChange.bind(this),onVolumeChange:this.onPlayerVolumeChange.bind(this),onError:this.onPlayerError.bind(this)}}),window.yt=this.ytPlayer}onPlayerReady(){this.ytPlayer.getAvailablePlaybackRates().length>1&&(this.featuresPlaybackRate=!0),this.playerReady_=!0,this.triggerReady(),this.playOnReady?this.play():this.cueOnReady&&(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId)}_isAdPlaying(){try{let e=this.ytPlayer?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}onPlayerStateChange(e){let t=e.data;if(t===this.lastState||this.errorNumber)return;this.lastState=t;let n=this._isAdPlaying();switch(n!==this._adWasPlaying&&(this._adWasPlaying=n,this.trigger(n?`adstart`:`adend`)),t){case-1:this.trigger(`loadstart`),this.trigger(`loadedmetadata`),this.trigger(`durationchange`),this.trigger(`ratechange`);break;case YT.PlayerState.ENDED:this.trigger(`ended`);break;case YT.PlayerState.PLAYING:this.trigger(`timeupdate`),this.trigger(`durationchange`),this.trigger(`playing`),this.trigger(`play`),this.isSeeking&&this.onSeeked();break;case YT.PlayerState.PAUSED:this.trigger(`canplay`),this.isSeeking||this.trigger(`pause`);break;case YT.PlayerState.BUFFERING:this.player_.trigger(`waiting`);break;case YT.PlayerState.CUED:this.trigger(`canplay`);break}this.startInterval&&=(clearInterval(this.startInterval),null),t===YT.PlayerState.PLAYING&&(this.startInterval=setInterval(()=>this.trigger(`timeupdate`),250))}onPlayerPlaybackRateChange(){this.trigger(`ratechange`)}onPlayerVolumeChange(){this.trigger(`volumechange`)}onPlayerError(e){this.errorNumber=e.data,this.trigger(`error`),this.setTimeout(()=>{this.errorNumber=null},0)}play(){this.url?.videoId&&(this.wasPausedBeforeSeek=!1,this.isReady_?this.activeVideoId===this.url.videoId?this.ytPlayer.playVideo():(this.loadVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):(this.trigger(`waiting`),this.playOnReady=!0))}pause(){this.ytPlayer?.pauseVideo()}paused(){return this.ytPlayer?this.lastState!==YT.PlayerState.PLAYING&&this.lastState!==YT.PlayerState.BUFFERING:!0}loadVideoById_(e){this.ytPlayer.loadVideoById({videoId:e})}cueVideoById_(e){this.ytPlayer.cueVideoById({videoId:e})}currentTime(){return this.ytPlayer?.getCurrentTime()??0}setCurrentTime(e){this.lastState===YT.PlayerState.PAUSED&&(this.timeBeforeSeek=this.currentTime()),this.isSeeking||(this.wasPausedBeforeSeek=this.paused()),this.ytPlayer.seekTo(e,!0),this.trigger(`timeupdate`),this.trigger(`seeking`),this.isSeeking=!0,this.lastState===YT.PlayerState.PAUSED&&this.timeBeforeSeek!==e&&(clearInterval(this.checkSeekedInPauseInterval),this.checkSeekedInPauseInterval=setInterval(()=>{this.lastState!==YT.PlayerState.PAUSED||!this.isSeeking?clearInterval(this.checkSeekedInPauseInterval):this.currentTime()!==this.timeBeforeSeek&&(this.trigger(`timeupdate`),this.onSeeked())},250))}onSeeked(){clearInterval(this.checkSeekedInPauseInterval),this.isSeeking=!1,this.wasPausedBeforeSeek&&this.pause(),this.trigger(`seeked`)}seeking(){return this.isSeeking}seekable(){return u.default.createTimeRange(0,this.ytPlayer?.getDuration()??0)}duration(){return this.ytPlayer?.getDuration()??0}ended(){return this.ytPlayer?this.lastState===YT.PlayerState.ENDED:!1}volume(){return this.ytPlayer?this.ytPlayer.getVolume()/100:1}setVolume(e){this.ytPlayer?.setVolume(e*100)}muted(){return this.ytPlayer?.isMuted()??!1}setMuted(e){this.ytPlayer&&(e?this.ytPlayer.mute():this.ytPlayer.unMute(),this.setTimeout(()=>this.trigger(`volumechange`),50))}buffered(){return this.ytPlayer?.getVideoLoadedFraction?u.default.createTimeRange(0,this.ytPlayer.getVideoLoadedFraction()*this.ytPlayer.getDuration()):u.default.createTimeRange()}playbackRate(){return this.ytPlayer?.getPlaybackRate()??1}setPlaybackRate(e){this.ytPlayer?.setPlaybackRate(e)}currentSrc(){return this.source?.src??``}preload(){}load(){}reset(){}networkState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 3:return 2;default:return 1}}readyState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 5:return 1;case 3:return 2;default:return 4}}supportsFullScreen(){return c()}setSrc(t){t?.src&&(this.source=t,this.url=e.parseUrl(t.src),!this.options_.poster&&this.url.videoId&&(this.poster_=`https://img.youtube.com/vi/${this.url.videoId}/0.jpg`,this.setTimeout(()=>{this.trigger(`posterchange`),this.checkHighResPoster()},0)),this.options_.autoplay?this.isReady_?this.play():this.playOnReady=!0:this.activeVideoId!==this.url.videoId&&(this.isReady_?(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):this.cueOnReady=!0))}poster(){return f?null:this.poster_}setPoster(e){this.poster_=e}autoplay(){return this.options_.autoplay}setAutoplay(e){this.options_.autoplay=e}loop(){return this.options_.loop}setLoop(e){this.options_.loop=e}checkHighResPoster(){let e=`https://img.youtube.com/vi/${this.url.videoId}/maxresdefault.jpg`,t=new Image;t.onload=()=>{(t.naturalHeight||t.height)<=90||(this.poster_=e,this.trigger(`posterchange`))},t.src=e}enterFullscreen(){if(n()&&this.ytPlayer){this._spawnIosFullscreen();return}a(this.player_.el().parentElement)}exitFullscreen(){s()}_spawnIosFullscreen(){let e=this.ytPlayer,t=e.getCurrentTime(),{video_id:n}=e.getVideoData();e.pauseVideo(),this.player_.trigger(o);let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(r);let a=document.createElement(`div`);a.id=`yt-fs-${Date.now()}`,r.appendChild(a);let s=null,c=!1,l=()=>{if(c)return;c=!0,this.player_.trigger(i);let n=s?s.getCurrentTime():t;try{s?.destroy()}catch{}r.remove(),e.seekTo(n,!0),this.trigger(`timeupdate`)};s=new window.YT.Player(a.id,{videoId:n,playerVars:{playsinline:0,autoplay:1,controls:1,modestbranding:1,rel:0,start:Math.floor(t)},events:{onReady:e=>{this.player_.trigger(i),e.target.seekTo(t,!0),e.target.playVideo()},onStateChange:e=>{(e.data===window.YT.PlayerState.PAUSED||e.data===window.YT.PlayerState.ENDED)&&l()}}})}dispose(){clearInterval(this.startInterval),this.ytPlayer?(this.ytPlayer.stopVideo?.(),this.ytPlayer.destroy?.()):e.apiReadyQueue=e.apiReadyQueue.filter(e=>e!==this),this.ytPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-youtube`,`vjs-youtube-mobile`),d.prototype.dispose.call(this)}};p.isApiReady=!1,p.apiReadyQueue=[],p.isSupported=()=>!0,p.canPlayType=e=>e===`video/youtube`?`probably`:``,p.canPlaySource=({type:e,src:t})=>e===`video/youtube`?`probably`:/youtu\.be|youtube\.com/.test(t)?`maybe`:``,p.parseUrl=e=>{let t={videoId:null,listId:null},n=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|shorts\/|&v=)([^#&?]*).*/);n?.[2]?.length===11&&(t.videoId=n[2]);let r=e.match(/[?&]list=([^#&?]+)/);return r?.[1]&&(t.listId=r[1]),t},typeof document<`u`&&l(`https://www.youtube.com/iframe_api`).then(()=>{window.YT.ready(()=>{p.isApiReady=!0,p.apiReadyQueue.forEach(e=>e.initYTPlayer()),p.apiReadyQueue=[]})}),r(`Youtube`,p);export{p as default};
|
package/dist/element.d.mts
CHANGED
|
@@ -24,13 +24,16 @@ interface PlayerProps {
|
|
|
24
24
|
payload?: Record<string, unknown>;
|
|
25
25
|
action?: PlayerAction | null;
|
|
26
26
|
focusMode?: boolean;
|
|
27
|
+
disableTapCapture?: boolean;
|
|
27
28
|
}
|
|
28
29
|
//#endregion
|
|
29
30
|
//#region src/element/index.d.ts
|
|
30
31
|
declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps & {
|
|
31
32
|
action?: PlayerAction | null;
|
|
32
33
|
}>;
|
|
33
|
-
declare const VideoStageElement: import("vue").VueElementConstructor<{
|
|
34
|
+
declare const VideoStageElement: import("vue").VueElementConstructor<{
|
|
35
|
+
pinPosition?: "bottom-right" | "bottom-left" | "top-right" | "top-left" | "full-width";
|
|
36
|
+
}>;
|
|
34
37
|
declare const VideoPlaceholderElement: import("vue").VueElementConstructor<PlayerProps>;
|
|
35
38
|
declare const VideoItemElement: import("vue").VueElementConstructor<PlayerProps & {
|
|
36
39
|
action?: PlayerAction | null;
|
package/dist/element.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,t}from"./chunks/video.cjs-gZWrkL0e.mjs";import{i as n,n as r}from"./chunks/tech-hIKMwrTq.mjs";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as f,Transition as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createStaticVNode as y,createVNode as b,defineComponent as x,defineCustomElement as S,inject as C,mergeProps as w,nextTick as T,normalizeClass as E,normalizeProps as D,normalizeStyle as O,onBeforeUnmount as k,onMounted as A,openBlock as j,provide as M,reactive as N,ref as P,toDisplayString as F,toRef as I,unref as L,watch as R,withCtx as z,withModifiers as B}from"vue";import V from"video.js/dist/video-js.css?inline";var ee=e(t(),1);const H={},te=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-VA8teDMJ.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-D1LvZaNd.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-IIBJUr8H.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-eDjA1f7V.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-mjKXQYMp.mjs`)}];async function ne(e){let t=te.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};H[t.key]||(H[t.key]=t.load());let n=null,{prefetchConfig:r}=await H[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const re=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function ie(e){return!re.has(e)}function U(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(t,n){return!n||!ie(t)?!1:(await U(),await import(`./chunks/videojs.ads-jA_s2l9Y.mjs`).then(t=>e(t.default,1)),await import(`./chunks/videojs.ima-Ccon1y6f.mjs`).then(t=>e(t.default,1)),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const W=new Set;function se(e){return W.add(e),()=>W.delete(e)}function ce(e){W.forEach(t=>{if(t!==e)try{t()}catch{}})}function G(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function K(e){localStorage.setItem(d,JSON.stringify(e))}function q(e,t){if(t<5)return;let n=G().filter(t=>t.url!==e);n.unshift({url:e,time:t}),K(n.slice(0,5))}function le(e){return G().find(t=>t.url===e)?.time??null}function ue(e){K(G().filter(t=>t.url!==e))}function de(e,t,n){let a=null,c=!1,u=null,d=null,f=null,p=null,h=new Set,g=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],_=P(!1),v=P(!1),y=P(!1),b=P(!1),x=P(0),S=P(0),C=P(0),w=P(1),T=P(t.muted??t.autoplay??!1),E=P(!1),D=P(t.playbackRate??1),O=P(!1),j=P(!1),M=P(!1),N=P(``),F=P(!1),I=P(!1),L=P(!1),z=m(()=>S.value?x.value/S.value*100:0),B=m(()=>Math.max(C.value,z.value)),V=()=>a.tech({IWillNotUseThisInPlugins:!0});function H(){let e=V();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}a.requestFullscreen()}function te(){let e=V();typeof e?.exitFullscreen==`function`?e.exitFullscreen():a.exitFullscreen()}function re(){a&&(I.value?te():H())}function U(){let e=document;I.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function W(e,r={}){n(`state-change`,{type:e,currentTime:x.value,duration:S.value,src:t.videoUrl,...r,payload:t.payload})}function G(){if(!S.value)return;let e=x.value/S.value;for(let[t,n]of g)!h.has(t)&&e>=t&&(h.add(t),W(n))}function K(){!a||!f||(M.value=!1,N.value=``,a.src(f))}function de(){!a||!v.value||(a.paused()?a.play():a.pause())}function fe(e){a?.currentTime(S.value*(e/100))}function J(){a?.muted(!a.muted())}function Y(e){a&&(a.volume(e),a.muted(e===0))}function X(){E.value=!E.value}function Z(e){a&&(a.playbackRate(e),D.value=e)}function pe(){a.ready(()=>{v.value=!0,O.value=!!V()?.featuresPlaybackRate});let e=()=>{let e=a.duration();e>0&&isFinite(e)&&(S.value=e)};a.on([`adstart`,l],()=>{ce(Q),y.value=!0,W(`adstart`)}),a.on([`adend`,s],()=>{y.value=!1,W(`adend`)}),a.on(`play`,()=>{if(ce(Q),j.value=!0,_.value=!0,!c){let e=le(t.videoUrl);e&&a.currentTime(e),c=!0}W(`play`)}),a.on(`pause`,()=>{_.value=!1,q(t.videoUrl,a.currentTime()),W(`pause`)}),a.on(`ended`,()=>{_.value=!1,h.clear(),E.value?(a.currentTime(0),a.play()):(ue(t.videoUrl),W(`ended`))}),a.on(`seeked`,()=>{W(`seeked`)}),a.on(`error`,()=>{let e=a.error();N.value=e?.message||`This video could not be played.`,M.value=!0,v.value=!0,W(`error`,{error:e})}),a.on(`waiting`,()=>{clearTimeout(p??void 0),p=setTimeout(()=>{b.value=!0},200)}),a.on(`playing`,()=>{clearTimeout(p??void 0),b.value=!1}),a.on(`canplay`,()=>{clearTimeout(p??void 0),b.value=!1}),a.on(`timeupdate`,()=>{x.value=a.currentTime(),S.value||e(),G()}),a.on(`durationchange`,e),a.on(`progress`,()=>{let e=a.duration();C.value=e?a.bufferedEnd()/e*100:0}),a.on(`volumechange`,()=>{let e=a.muted();w.value=a.volume(),T.value=e,j.value&&W(`volumechange`,{isMuted:e})}),a.on(`ratechange`,()=>{let e=a.playbackRate();D.value=e,j.value&&W(`ratechange`,{playbackRate:e})}),a.on(`fullscreenchange`,()=>{I.value=a.isFullscreen()}),a.on(o,()=>{L.value=!0}),a.on(i,()=>{L.value=!1})}function Q(){a?.pause()}R(()=>t.muted,e=>{!a||e===void 0||a.muted(e)}),R(()=>t.playbackRate,e=>{!a||e===void 0||a.playbackRate(e)}),A(async()=>{document.addEventListener(`fullscreenchange`,U),document.addEventListener(`webkitfullscreenchange`,U),document.addEventListener(`visibilitychange`,me);let{tech:n,type:r,adTagUrl:i}=await ne(t.videoUrl),o=n?[n,`Html5`]:[`Html5`],s=t.adTagUrl||i||``,c=await ae(n??`Html5`,s);if(!e.value)return;let l={src:t.videoUrl,...r&&{type:r}};f=l,F.value=!!(t.nativeUi&&!ie(n??``)),a=(0,ee.default)(e.value,{techOrder:o,controls:!1,fluid:!0,aspectRatio:t.aspectRatio??`16:9`,poster:t.poster||``,playsinline:!0,autoplay:t.autoplay,muted:t.muted??t.autoplay,playbackRate:D.value,adTagUrl:s,youtube:{nativeUi:F.value},vimeo:{nativeUi:F.value},dailymotion:{nativeUi:F.value},...!c&&{sources:[l]},...t.techOptions}),c&&(oe(a,s,t.imaOptions??{}),a.src(l)),u=se(Q),pe(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&a&&!a.paused()&&!I.value&&a.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function me(){document.visibilityState===`hidden`&&a&&q(t.videoUrl,a.currentTime())}return k(()=>{a&&q(t.videoUrl,a.currentTime()),clearTimeout(p??void 0),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,me),document.removeEventListener(`fullscreenchange`,U),document.removeEventListener(`webkitfullscreenchange`,U),a?.dispose(),a=null}),{isPlaying:_,isReady:v,isAdPlaying:y,isBuffering:b,current:x,total:S,vol:w,isMuted:T,isLooping:E,playbackRate:D,hasStarted:j,isError:M,errorMessage:N,progress:z,bufferedDisplay:B,isFullscreen:I,isFullscreenPending:L,fmt:r,fire:W,retry:K,togglePlay:de,seek:fe,toggleMute:J,setVolume:Y,toggleFullscreen:re,toggleLoop:X,setPlaybackRate:Z,supportsPlaybackRate:O,nativeUi:F}}function fe(e,t){let n=P(!0),r=P(!1),i=null;function a(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function o(){clearTimeout(i??void 0)}function s(){r.value=!0,n.value=!0,a()}function c(){r.value=!1,e.value&&a()}function l(){e.value&&a()}function u(){n.value=!0,e.value&&a()}function d(){n.value=!0,a()}function f(){e.value&&a(600)}return R(e,e=>{e?a():(clearTimeout(i??void 0),n.value=!0)}),k(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:a,pauseHide:o,onVideoTap:u,onMouseMove:d,onMouseLeave:f,openControls:s,closeControls:c,keepOpen:l}}const J=Symbol(`player`),Y=Symbol(`hud`),X=Symbol(`action`);var Z=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const pe={},Q={viewBox:`0 0 24 24`,fill:`currentColor`};function me(e,t){return j(),_(`svg`,Q,[...t[0]||=[v(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var he=Z(pe,[[`render`,me]]);const ge={},_e={viewBox:`0 0 24 24`,fill:`currentColor`};function ve(e,t){return j(),_(`svg`,_e,[...t[0]||=[v(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ye=Z(ge,[[`render`,ve]]);const be=[`aria-label`];var $=Z(x({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(j(),_(`button`,{class:E([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=B(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(j(),h(ye,{key:0})):(j(),h(he,{key:1}))],10,be))}}),[[`__scopeId`,`data-v-85902525`]]);const xe={},Se={viewBox:`0 0 24 24`,fill:`currentColor`};function Ce(e,t){return j(),_(`svg`,Se,[...t[0]||=[v(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var we=Z(xe,[[`render`,Ce]]);const Te={},Ee={viewBox:`0 0 24 24`,fill:`currentColor`};function De(e,t){return j(),_(`svg`,Ee,[...t[0]||=[v(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Oe=Z(Te,[[`render`,De]]);const ke={},Ae={viewBox:`0 0 24 24`,fill:`currentColor`};function je(e,t){return j(),_(`svg`,Ae,[...t[0]||=[v(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var Me=Z(ke,[[`render`,je]]);const Ne={},Pe={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Fe(e,t){return j(),_(`svg`,Pe,[...t[0]||=[y(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Ie=Z(Ne,[[`render`,Fe]]);const Le={class:`hud`},Re=[`aria-label`],ze=[`aria-label`],Be=[`aria-label`,`innerHTML`];var Ve=Z(x({__name:`HudButtons`,setup(e){let t=C(J),n=C(Y),r=C(X),i=m(()=>r?.value??null),a=m(()=>!!i.value&&typeof i.value==`object`),o=m(()=>a.value?i.value:null),s=m(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(j(),_(`div`,Le,[g(` Built-in: mute `),i.value===`mute`?(j(),_(`button`,{key:0,class:E([`hud__btn`,{"hud__btn--active":L(t).isMuted}]),"aria-label":s.value,onClick:B(c,[`stop`])},[!L(t).isMuted&&L(t).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],10,Re)):i.value===`loop`?(j(),_(f,{key:1},[g(` Built-in: loop `),v(`button`,{class:E([`hud__btn`,{"hud__btn--active":L(t).isLooping}]),"aria-label":s.value,onClick:B(c,[`stop`])},[b(Me)],10,ze)],2112)):a.value&&o.value?(j(),_(f,{key:2},[g(` Custom action `),v(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=B(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,Be)],2112)):(j(),_(f,{key:3},[g(` No action — spacer keeps layout balanced `),r[2]||=v(`div`,{class:`hud__spacer`},null,-1)],2112)),b($,{"is-playing":L(t).isPlaying,size:`lg`,onTogglePlay:L(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),v(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=B((...e)=>L(n).openControls&&L(n).openControls(...e),[`stop`])},[b(Ie)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const He={},Ue={viewBox:`0 0 24 24`,fill:`currentColor`};function We(e,t){return j(),_(`svg`,Ue,[...t[0]||=[v(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Ge=Z(He,[[`render`,We]]);const Ke={},qe={viewBox:`0 0 24 24`,fill:`currentColor`};function Je(e,t){return j(),_(`svg`,qe,[...t[0]||=[v(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Ye=Z(Ke,[[`render`,Je]]);const Xe={},Ze={viewBox:`0 0 24 24`,fill:`currentColor`};function Qe(e,t){return j(),_(`svg`,Ze,[...t[0]||=[v(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var $e=Z(Xe,[[`render`,Qe]]);const et={},tt={viewBox:`0 0 24 24`,fill:`currentColor`};function nt(e,t){return j(),_(`svg`,tt,[...t[0]||=[v(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var rt=Z(et,[[`render`,nt]]);const it={class:`controls__vol-header`},at=[`aria-label`],ot={class:`controls__vol-body`},st=[`value`],ct={class:`controls__vol-pct`},lt=[`value`],ut={class:`controls__row`},dt={class:`controls__play-wrap`},ft={key:0,class:`controls__buf-spinner`},pt={class:`controls__time`},mt={key:2,class:`controls__fs-wrap`},ht={key:0,class:`controls__fs-spinner`},gt=[`aria-label`];var _t=Z(x({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let t=e,n=C(J),r=C(Y),i=C(`compact`),a=m(()=>!!i?.value&&!t.focusMode),o=P(!1),s=P(null);k(()=>{o.value=!1});function c(e){if(!document.startViewTransition||!s.value){e();return}s.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await T()}).finished.finally(()=>{s.value&&(s.value.style.viewTransitionName=``)})}let l=m(()=>n.isMuted?0:Math.round(n.vol*100)),u=null;function d(){u=setTimeout(()=>{u=null,c(()=>{o.value=!0})},350)}function p(){u&&(clearTimeout(u),u=null,n.toggleMute())}function y(){clearTimeout(u),u=null}function x(e){n.seek(Number(e.target.value))}function S(e){n.setVolume(Number(e.target.value)/100)}let w=[.5,.75,1,1.25,1.5,2];function D(){let e=w[(w.indexOf(n.playbackRate)+1)%w.length];n.setPlaybackRate(e)}function A(e){return e===1?`1×`:`${e}×`}return(e,t)=>(j(),_(`div`,{ref_key:`popupEl`,ref:s,class:E([`controls`,{"controls--fs":L(n).isFullscreen}]),onMousemove:t[14]||=B((...e)=>L(r).keepOpen&&L(r).keepOpen(...e),[`stop`])},[o.value?(j(),_(f,{key:0},[v(`div`,it,[v(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:t[0]||=e=>c(()=>o.value=!1)},[b(Ye)]),t[15]||=v(`span`,{class:`controls__vol-label`},`Volume`,-1),v(`button`,{class:`controls__btn`,"aria-label":L(n).isMuted?`Unmute`:`Mute`,onClick:t[1]||=e=>L(n).toggleMute()},[!L(n).isMuted&&L(n).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],8,at)]),v(`div`,ot,[v(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:l.value,class:`controls__vol-slider`,style:O({"--v":l.value+`%`}),"aria-label":`Volume`,onInput:S,onMousedown:t[2]||=e=>L(r).pauseHide(),onMouseup:t[3]||=e=>L(r).scheduleHide(),onTouchstartPassive:t[4]||=e=>L(r).pauseHide(),onTouchend:t[5]||=e=>L(r).scheduleHide()},null,44,st),v(`span`,ct,F(l.value)+`%`,1)])],64)):(j(),_(f,{key:1},[a.value?g(`v-if`,!0):(j(),_(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:L(n).progress,class:`controls__seek`,style:O({"--p":L(n).progress+`%`,"--b":L(n).bufferedDisplay+`%`}),onInput:x,onMousedown:t[6]||=e=>L(r).pauseHide(),onMouseup:t[7]||=e=>L(r).scheduleHide(),onTouchstartPassive:t[8]||=e=>L(r).pauseHide(),onTouchend:t[9]||=e=>L(r).scheduleHide()},null,44,lt)),v(`div`,ut,[v(`div`,dt,[L(n).isBuffering?(j(),_(`div`,ft)):(j(),h($,{key:1,"is-playing":L(n).isPlaying,size:`sm`,onTogglePlay:t[10]||=e=>L(n).togglePlay()},null,8,[`is-playing`]))]),v(`span`,pt,F(L(n).fmt(L(n).current))+` / `+F(L(n).fmt(L(n).total)),1),!a.value&&L(n).supportsPlaybackRate?(j(),_(`button`,{key:0,class:E([`controls__btn controls__btn--rate`,{"controls__btn--active":L(n).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:D},F(A(L(n).playbackRate)),3)):g(`v-if`,!0),a.value?g(`v-if`,!0):(j(),_(`button`,{key:1,class:E([`controls__btn`,{"controls__btn--active":L(n).isLooping}]),"aria-label":`Toggle loop`,onClick:t[11]||=e=>L(n).toggleLoop()},[b(Me)],2)),v(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:d,onMouseup:p,onMouseleave:y,onTouchstartPassive:d,onTouchend:B(p,[`prevent`]),onTouchcancel:y},[!L(n).isMuted&&L(n).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],32),a.value?g(`v-if`,!0):(j(),_(`div`,mt,[L(n).isFullscreenPending?(j(),_(`div`,ht)):(j(),_(`button`,{key:1,class:`controls__btn`,"aria-label":L(n).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:t[12]||=e=>L(n).toggleFullscreen()},[L(n).isFullscreen?(j(),h(rt,{key:0})):(j(),h($e,{key:1}))],8,gt))])),v(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:t[13]||=e=>L(r).closeControls()},[b(Ge)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const vt={key:0,class:`overlay__spinner`},yt={key:0,class:`overlay__error`};var bt=Z(x({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1}},setup(e){let t=C(J),n=C(Y);return(r,i)=>(j(),_(f,null,[g(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),v(`div`,{class:`overlay__tap-capture`,style:O({pointerEvents:!L(t).hasStarted||L(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),onTouchend:i[1]||=B((...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),b(p,{name:`fade`},{default:z(()=>[!L(t).isReady&&!L(t).isError?(j(),_(`div`,vt,[...i[4]||=[v(`div`,{class:`overlay__spinner-ring`},null,-1)]])):g(`v-if`,!0)]),_:1}),b(p,{name:`fade`},{default:z(()=>[L(t).isError?(j(),_(`div`,yt,[v(`p`,null,F(L(t).errorMessage||`This video could not be played.`),1),v(`button`,{class:`overlay__retry`,onClick:i[2]||=B((...e)=>L(t).retry&&L(t).retry(...e),[`stop`])},`Retry`)])):g(`v-if`,!0)]),_:1}),g(` Hidden in fullscreen, or while focus mode is actually centered (the expanded controls render below the video instead) `),v(`div`,{class:E([`overlay__hud`,{"overlay__hud--visible":L(n).showHUD&&L(t).isReady&&!L(t).isError&&!e.isFocused&&!(L(n).isOpen&&L(t).isFullscreen)}])},[b(Ve)],2),b(p,{name:`popup`},{default:z(()=>[L(n).isOpen&&L(t).isReady&&!L(t).isError&&!e.focusMode?(j(),_(`div`,{key:0,class:E([`overlay__popup`,{"overlay__popup--fs":L(t).isFullscreen}]),onClick:i[3]||=B(()=>{},[`stop`])},[b(_t)],2)):g(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const xt=[`data-focused`],St={"data-vjs-player":``},Ct={key:1,class:`player__native-play`};var wt=Z(x({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=P(null),s=N(de(o,i,a)),c=P(!1),l=N(fe(I(s,`isPlaying`),c));M(J,s),M(Y,l),M(X,I(i,`action`));let{isPortrait:u,cssRatio:d}=n(i.aspectRatio),f=P(null),p=typeof document<`u`&&!!document.startViewTransition,y=m(()=>i.focusMode&&p);R(()=>y.value?l.isOpen:!1,e=>{let t=()=>{c.value=e,s.fire(e?`focusstart`:`focusend`)};if(!f.value){t();return}f.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{t(),await T()}).finished.finally(()=>{f.value&&(f.value.style.viewTransitionName=``)})});function x(e){e.key===`Escape`&&c.value&&l.closeControls()}return A(()=>document.addEventListener(`keydown`,x)),k(()=>document.removeEventListener(`keydown`,x)),t(s),(e,t)=>(j(),_(`div`,{class:`player`,"data-focused":c.value?``:null},[c.value?(j(),_(`div`,{key:0,class:E([`player__placeholder`,{"player__shell--portrait":L(u)}]),style:O({aspectRatio:L(d)})},null,6)):g(`v-if`,!0),c.value?(j(),_(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>l.closeControls()})):g(`v-if`,!0),v(`div`,{ref_key:`focusFrameEl`,ref:f,class:E([`player__focus-frame`,{"player__focus-frame--active":c.value}])},[v(`div`,{class:E([`player__shell`,{"player__shell--portrait":L(u)}]),style:O({aspectRatio:L(d)}),onMousemove:t[1]||=e=>l.onMouseMove(),onContextmenuCapture:t[2]||=B(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>l.onMouseLeave()},[v(`div`,St,[v(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?g(`v-if`,!0):(j(),h(bt,{key:0,"focus-mode":y.value,"is-focused":c.value},null,8,[`focus-mode`,`is-focused`])),s.nativeUi&&!s.hasStarted?(j(),_(`div`,Ct,[b($,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):g(`v-if`,!0)])],38),c.value?(j(),_(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=B(()=>{},[`stop`])},[b(_t,{"focus-mode":``})])):g(`v-if`,!0)],2)],8,xt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Tt=P(0),Et=m(()=>Tt.value>0);function Dt(){Tt.value++}function Ot(){Tt.value--}const kt=[`src`],At={class:`stage__idle-body`},jt={class:`stage__idle-btn`},Mt={class:`stage__idle-title`},Nt={key:1,class:`stage__idle-empty`};var Pt=Z(x({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,r=P(null),i=P(null),o=P(!1),s=P(!1),l=P(null),d=P(null),p=P(!1),m=P(null);M(`compact`,p);let y=null;R(p,e=>{m.value=e&&d.value?d.value.offsetHeight:null});function x(){y?.disconnect(),l.value&&(y=new IntersectionObserver(([e])=>{p.value=!e.isIntersecting},{threshold:1}),y.observe(l.value))}R(l,x);function S(){i.value&&(i.value={...i.value,autoplay:!0},o.value=!0)}function C(){i.value=null,o.value=!1,s.value=!1,p.value=!1,m.value=null,T()}function T(){window.dispatchEvent(new CustomEvent(u,{detail:{currentVideoUrl:i.value?.videoUrl??null,isPlaying:s.value}}))}function D(e){let t=e.detail;if(i.value?.videoUrl===t.videoUrl&&o.value){r.value?.togglePlay();return}i.value=t,o.value=!1,s.value=!1,T(),o.value=!0}function N(e){let t=e.detail;!i.value||t.videoUrl!==i.value.videoUrl||(o.value?r.value?.togglePlay():(i.value={...i.value,autoplay:!0},o.value=!0))}function I(e){e.type===`play`&&(s.value=!0),(e.type===`pause`||e.type===`ended`)&&(s.value=!1),T(),n(`state-change`,e)}return A(()=>{Dt(),window.addEventListener(c,D),window.addEventListener(a,N)}),k(()=>{Ot(),window.removeEventListener(c,D),window.removeEventListener(a,N),y?.disconnect()}),(e,t)=>(j(),_(`div`,{ref_key:`wrapperEl`,ref:l,class:`stage-wrapper`,style:O(m.value?{height:m.value+`px`}:{})},[v(`div`,{ref_key:`stageEl`,ref:d,class:E([`stage`,{"stage--minified":p.value&&i.value&&o.value}])},[p.value&&i.value&&o.value?(j(),_(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:B(C,[`stop`])},[b(Ge)])):g(`v-if`,!0),i.value&&o.value?(j(),h(wt,w({ref_key:`playerRef`,ref:r,key:i.value.videoUrl},i.value,{onStateChange:I}),null,16)):(j(),_(`div`,{key:2,class:`stage__idle`,style:O({aspectRatio:i.value?.aspectRatio||`16:9`}),onClick:S},[i.value?.poster?(j(),_(`img`,{key:0,src:i.value.poster,class:`stage__idle-poster`},null,8,kt)):g(`v-if`,!0),t[0]||=v(`div`,{class:`stage__idle-scrim`},null,-1),v(`div`,At,[i.value?(j(),_(f,{key:0},[v(`div`,jt,[b(he)]),v(`p`,Mt,F(i.value.title),1)],64)):(j(),_(`p`,Nt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Ft={class:`placeholder`},It=[`src`,`alt`],Lt={class:`placeholder__btn-wrap`},Rt={key:2,class:`placeholder__footer`},zt={class:`placeholder__title`};var Bt=Z(x({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},setup(e){let t=e,{isPortrait:r,cssRatio:i}=n(t.aspectRatio),a=P(!1),o=P(!1);function s(e){let n=e.detail;a.value=n.currentVideoUrl===t.videoUrl,o.value=a.value&&n.isPlaying}function l(e){window.dispatchEvent(new CustomEvent(c,{detail:{...t,...e!==void 0&&{autoplay:e}}}))}function d(){l(!0)}return A(()=>{window.addEventListener(u,s),t.autoStage&&l()}),k(()=>window.removeEventListener(u,s)),(t,n)=>(j(),_(`div`,Ft,[v(`div`,{class:E([`placeholder__shell`,{"placeholder__shell--portrait":L(r),"placeholder__shell--active":a.value}]),style:O({aspectRatio:L(i)}),onClick:d},[e.poster?(j(),_(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.title},null,8,It)):g(`v-if`,!0),n[0]||=v(`div`,{class:`placeholder__scrim`},null,-1),e.platform?(j(),_(`span`,{key:1,class:E([`placeholder__badge`,`badge--${e.platform}`])},F(e.platform),3)):g(`v-if`,!0),v(`div`,Lt,[b($,{"is-playing":a.value&&o.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),e.title?(j(),_(`div`,Rt,[v(`p`,zt,F(e.title),1)])):g(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vt=x({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=P(!1);return(e,t)=>L(Et)?(j(),h(Bt,D(w({key:0},e.$props)),null,16)):(j(),_(f,{key:1},[n.lazy&&!i.value&&!n.autoplay?(j(),h(Bt,w({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(j(),h(wt,w({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const Ht=S(wt,{shadowRoot:!1,styles:[V]}),Ut=S(Pt,{shadowRoot:!1}),Wt=S(Bt,{shadowRoot:!1}),Gt=S(Vt,{shadowRoot:!1});customElements.define(`video-player`,Ht),customElements.define(`video-stage`,Ut),customElements.define(`video-placeholder`,Wt),customElements.define(`video-item`,Gt);export{Gt as VideoItemElement,Wt as VideoPlaceholderElement,Ht as VideoPlayerElement,Ut as VideoStageElement};
|
|
1
|
+
import{a as e,t}from"./chunks/video.cjs-gZWrkL0e.mjs";import{_ as n,a as r,d as i,f as a,g as o,h as s,i as c,m as l,o as u,p as d,r as f,v as p}from"./chunks/tech-DQUZqNr6.mjs";import{Fragment as m,Transition as h,computed as g,createBlock as _,createCommentVNode as v,createElementBlock as y,createElementVNode as b,createStaticVNode as x,createVNode as S,defineComponent as C,defineCustomElement as w,inject as T,mergeProps as E,nextTick as D,normalizeClass as O,normalizeProps as k,normalizeStyle as A,onBeforeUnmount as j,onMounted as M,openBlock as N,provide as P,reactive as F,ref as I,toDisplayString as L,toRef as R,unref as z,watch as B,withCtx as V,withModifiers as H}from"vue";import ee from"video.js/dist/video-js.css?inline";var te=e(t(),1);const U={},ne=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-PyDUsbQd.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-CPN3CLZM.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-C2hjPgaI.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-Bk8f_cfb.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-DXok9R0m.mjs`)}];async function re(e){let t=ne.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};U[t.key]||(U[t.key]=t.load());let n=null,{prefetchConfig:r}=await U[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}function ie(e){return!c(e)}function ae(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function oe(t,n){return!n||!ie(t)?!1:(await ae(),await import(`./chunks/videojs.ads-jA_s2l9Y.mjs`).then(t=>e(t.default,1)),await import(`./chunks/videojs.ima-Ccon1y6f.mjs`).then(t=>e(t.default,1)),!0)}function se(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const W=new Set;function ce(e){return W.add(e),()=>W.delete(e)}function le(e){W.forEach(t=>{if(t!==e)try{t()}catch{}})}function ue(e,t){let n=I(!1),r=I(!1);function i(){let e=document;n.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function a(){let n=t();if(typeof n?.enterFullscreen==`function`){n.enterFullscreen();return}let r=n?.el();if(typeof r?.webkitEnterFullscreen==`function`){r.webkitEnterFullscreen();return}e()?.requestFullscreen()}function o(){let n=t();if(typeof n?.exitFullscreen==`function`){n.exitFullscreen();return}e()?.exitFullscreen()}function c(){if(e()){if(n.value){o();return}a()}}function u(e){e.on(`fullscreenchange`,()=>{n.value=e.isFullscreen()??!1}),e.on(l,()=>{r.value=!0}),e.on(s,()=>{r.value=!1})}return M(()=>{document.addEventListener(`fullscreenchange`,i),document.addEventListener(`webkitfullscreenchange`,i)}),j(()=>{document.removeEventListener(`fullscreenchange`,i),document.removeEventListener(`webkitfullscreenchange`,i)}),{isFullscreen:n,isFullscreenPending:r,toggleFullscreen:c,attachPlayerEvents:u}}function de(){let e=I(!1),t=null;function n(){clearTimeout(t??void 0),e.value=!1}function r(r){r.on(`waiting`,()=>{clearTimeout(t??void 0),t=setTimeout(()=>{e.value=!0},500)}),r.on(`playing`,n),r.on(`canplay`,n)}return j(()=>clearTimeout(t??void 0)),{isBuffering:e,attachPlayerEvents:r,reset:n}}const fe=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]];function pe(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of fe)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function G(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function me(e){localStorage.setItem(i,JSON.stringify(e))}function he(e,t){if(t<5)return;let n=G().filter(t=>t.url!==e);n.unshift({url:e,time:t}),me(n.slice(0,5))}function ge(e){return G().find(t=>t.url===e)?.time??null}function _e(e){me(G().filter(t=>t.url!==e))}function ve(e,t,n){let r=!1;function i(t){if(r)return;let n=ge(e);n&&t.currentTime(n),r=!0}function a(t){!t||n.value||he(e,t.currentTime()??0)}function o(){_e(e)}function s(){document.visibilityState===`hidden`&&a(t())}return M(()=>document.addEventListener(`visibilitychange`,s)),j(()=>{a(t()),document.removeEventListener(`visibilitychange`,s)}),{restoreOnce:i,save:a,clear:o}}function ye(e,t,n){let r=null;M(()=>{let i=e.value?.closest(`.player__shell`);i&&(r=new IntersectionObserver(([e])=>{let r=t();!e.isIntersecting&&r&&!r.paused()&&!n.value&&r.pause()},{threshold:.1}),r.observe(i))}),j(()=>r?.disconnect())}function be(e,t,n,r,i){function a(){let n=e();if(!(!n||!t.value)){if(n.paused()){n.play();return}n.pause()}}function o(t){e()?.currentTime(n.value*(t/100))}function s(){let t=e();t?.muted(!t.muted())}function c(t){let n=e();n&&(n.volume(t),n.muted(t===0))}function l(){r.value=!r.value}function u(t){let n=e();n&&(n.playbackRate(t),i.value=t)}return{togglePlay:a,seek:o,toggleMute:s,setVolume:c,toggleLoop:l,setPlaybackRate:u}}function xe(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:o,current:s,total:c,buffered:l,vol:u,isMuted:f,isLooping:p,playbackRate:m,supportsPlaybackRate:h,hasStarted:g,isError:_,errorMessage:v}=e,{getTech:y,fire:b,pauseThisPlayer:x,positionMemory:S,quartiles:C,buffering:w,fullscreen:T}=t;function E(e){e.ready(()=>{i.value=!0,h.value=!!y()?.featuresPlaybackRate});let t=()=>{let t=e.duration();t&&t>0&&isFinite(t)&&(c.value=t)};e.on([`adstart`,d],()=>{le(x),o.value=!0,b(`adstart`)}),e.on([`adend`,a],()=>{o.value=!1,b(`adend`)}),e.on(`play`,()=>{le(x),g.value=!0,n.value=!0,r.value=!1,S.restoreOnce(e),b(`play`)}),e.on(`pause`,()=>{n.value=!1,S.save(e),b(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,C.reset(),w.reset(),p.value){e.currentTime(0),e.play();return}c.value&&(s.value=c.value),r.value=!0,S.clear(),b(`ended`)}),e.on(`seeked`,()=>{b(`seeked`)}),e.on(`error`,()=>{let t=e.error();v.value=t?.message||`This video could not be played.`,_.value=!0,i.value=!0,b(`error`,{error:t})}),e.on(`timeupdate`,()=>{r.value||(s.value=e.currentTime()??0,c.value||t(),C.checkQuartiles())}),e.on(`durationchange`,t),e.on(`progress`,()=>{let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,f.value=t??!1,g.value&&b(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;m.value=t,g.value&&b(`ratechange`,{playbackRate:t})}),w.attachPlayerEvents(e),T.attachPlayerEvents(e)}return{attachPlayerEvents:E}}function Se(e,t,n){let r=null,i=null,a=null,o=I(!1),s=I(!1),c=I(!1),l=I(!1),u=I(0),d=I(0),p=I(0),m=I(1),h=I(t.muted??t.autoplay??!1),_=I(!1),v=I(t.playbackRate??1),y=I(!1),b=I(!1),x=I(!1),S=I(``),C=I(!1),w=g(()=>d.value?u.value/d.value*100:0),T=g(()=>Math.max(p.value,w.value)),E=()=>r,D=()=>r?.tech({IWillNotUseThisInPlugins:!0}),O=ue(E,D),k=de(),A=ve(t.videoUrl,E,s);function N(e,r={}){n(`state-change`,{type:e,currentTime:u.value,duration:d.value,src:t.videoUrl,...r,payload:t.payload})}let P=pe(u,d,N);function F(){!r||!a||(x.value=!1,S.value=``,r.src(a))}function L(){r?.pause()}let R=be(E,c,d,_,v),{attachPlayerEvents:z}=xe({isPlaying:o,hasEnded:s,isReady:c,isAdPlaying:l,current:u,total:d,buffered:p,vol:m,isMuted:h,isLooping:_,playbackRate:v,supportsPlaybackRate:y,hasStarted:b,isError:x,errorMessage:S},{getTech:D,fire:N,pauseThisPlayer:L,positionMemory:A,quartiles:P,buffering:k,fullscreen:O});return B(()=>t.muted,e=>{!r||e===void 0||r.muted(e)}),B(()=>t.playbackRate,e=>{!r||e===void 0||r.playbackRate(e)}),ye(e,E,O.isFullscreen),M(async()=>{let{tech:n,type:o,adTagUrl:s}=await re(t.videoUrl),c=n?[n,`Html5`]:[`Html5`],l=t.adTagUrl||s||``,u=await oe(n??`Html5`,l);if(!e.value)return;let d={src:t.videoUrl,...o&&{type:o}};a=d,C.value=!!(t.nativeUi&&!ie(n??``)),r=(0,te.default)(e.value,{techOrder:c,controls:!1,fluid:!0,aspectRatio:t.aspectRatio??`16:9`,poster:t.poster||``,playsinline:!0,autoplay:t.autoplay,muted:t.muted??t.autoplay,playbackRate:v.value,adTagUrl:l,youtube:{nativeUi:C.value},vimeo:{nativeUi:C.value},dailymotion:{nativeUi:C.value},...!u&&{sources:[d]},...t.techOptions}),u&&(se(r,l,t.imaOptions??{}),r.src(d)),i=ce(L),z(r)}),j(()=>{i?.(),r?.dispose(),r=null}),{isPlaying:o,hasEnded:s,isReady:c,isAdPlaying:l,isBuffering:k.isBuffering,current:u,total:d,vol:m,isMuted:h,isLooping:_,playbackRate:v,hasStarted:b,isError:x,errorMessage:S,progress:w,bufferedDisplay:T,isFullscreen:O.isFullscreen,isFullscreenPending:O.isFullscreenPending,fmt:f,fire:N,retry:F,togglePlay:R.togglePlay,seek:R.seek,toggleMute:R.toggleMute,setVolume:R.setVolume,toggleFullscreen:O.toggleFullscreen,toggleLoop:R.toggleLoop,setPlaybackRate:R.setPlaybackRate,supportsPlaybackRate:y,nativeUi:C}}function Ce(e,t){let n=I(!0),r=I(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(){r.value=!1,e.value&&s()}function d(){e.value&&s()}function f(){n.value=!0,e.value&&s()}function p(){n.value=!0,s()}function m(){Date.now()<a||e.value&&s(600)}return B(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),j(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:m,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}function we(e,t,n,r,i){let a=typeof document<`u`&&!!document.startViewTransition,o=g(()=>t.value&&a);B(()=>o.value&&!n.isFullscreen?r.isOpen:!1,t=>{let r=()=>{e.value=t,document.documentElement.toggleAttribute(`data-video-focused`,t),n.fire(t?`focusstart`:`focusend`)};if(!i.value||n.isFullscreen){r();return}i.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{r(),await D()}).finished.finally(()=>{i.value&&(i.value.style.viewTransitionName=``)})}),B(()=>n.isFullscreen,()=>{r.isOpen&&r.closeControls()});function s(t){t.key===`Escape`&&e.value&&r.closeControls()}return M(()=>document.addEventListener(`keydown`,s)),j(()=>document.removeEventListener(`keydown`,s)),{focusModeEnabled:o}}function Te(e,t){let n=I({width:0,height:0});function r(){n.value={width:window.innerWidth,height:window.innerHeight}}return M(()=>{r(),window.addEventListener(`resize`,r)}),j(()=>window.removeEventListener(`resize`,r)),g(()=>{if(!e.value)return{};let[r,i]=t.value.split(`:`).map(Number),a=Math.min(720,n.value.width-32),o=Math.min(n.value.height*.6,n.value.height-32-140),s=a,c=s*i/r;return c>o&&(c=o,s=c*r/i),{width:`${s}px`,height:`${c}px`}})}const K=Symbol(`player`),q=Symbol(`hud`),J=Symbol(`action`);function Ee(e,t){let n=g(()=>e?.value??null),r=g(()=>!!n.value&&typeof n.value==`object`),i=g(()=>r.value?n.value:null),a=g(()=>n.value===`mute`?t.isMuted?`Unmute`:`Mute`:n.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function o(){n.value===`mute`?t.toggleMute():n.value===`loop`&&t.toggleLoop()}return{currentAction:n,isCustom:r,customAction:i,builtinLabel:a,onBuiltinClick:o}}var Y=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const De={},Oe={viewBox:`0 0 24 24`,fill:`currentColor`};function ke(e,t){return N(),y(`svg`,Oe,[...t[0]||=[b(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var Ae=Y(De,[[`render`,ke]]);const je={},Me={viewBox:`0 0 24 24`,fill:`currentColor`};function Ne(e,t){return N(),y(`svg`,Me,[...t[0]||=[b(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var Pe=Y(je,[[`render`,Ne]]);const Fe={},Ie={viewBox:`0 0 24 24`,fill:`currentColor`};function Le(e,t){return N(),y(`svg`,Ie,[...t[0]||=[b(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var Re=Y(Fe,[[`render`,Le]]);const ze=[`aria-label`];var X=Y(C({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,default:!1},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){let t=e,n=g(()=>t.isPlaying?`Pause`:t.hasEnded?`Replay`:`Play`);return(t,r)=>(N(),y(`button`,{class:O([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":n.value,onClick:r[0]||=H(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(N(),_(Pe,{key:0})):e.hasEnded?(N(),_(Re,{key:1})):(N(),_(Ae,{key:2}))],10,ze))}}),[[`__scopeId`,`data-v-85902525`]]),Z=Y(C({__name:`Spinner`,props:{size:{type:Number,default:14},borderWidth:{type:Number,default:2}},setup(e){return(t,n)=>(N(),y(`div`,{class:`spinner`,style:A({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Be={},Ve={viewBox:`0 0 24 24`,fill:`currentColor`};function He(e,t){return N(),y(`svg`,Ve,[...t[0]||=[b(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Q=Y(Be,[[`render`,He]]);const Ue={},We={viewBox:`0 0 24 24`,fill:`currentColor`};function Ge(e,t){return N(),y(`svg`,We,[...t[0]||=[b(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var $=Y(Ue,[[`render`,Ge]]);const Ke={},qe={viewBox:`0 0 24 24`,fill:`currentColor`};function Je(e,t){return N(),y(`svg`,qe,[...t[0]||=[b(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var Ye=Y(Ke,[[`render`,Je]]);const Xe={},Ze={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Qe(e,t){return N(),y(`svg`,Ze,[...t[0]||=[x(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var $e=Y(Xe,[[`render`,Qe]]);const et={class:`hud`},tt=[`aria-label`],nt=[`aria-label`],rt=[`aria-label`,`innerHTML`],it={key:3,class:`hud__spacer`},at={class:`hud__play-wrap`},ot={key:5,class:`hud__spacer`};var st=Y(C({__name:`HudButtons`,props:{isFocused:{type:Boolean,default:!1}},setup(e){let t=T(K),n=T(q),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,onBuiltinClick:s}=Ee(T(J),t);return(c,l)=>(N(),y(`div`,et,[!e.isFocused&&z(r)===`mute`?(N(),y(`button`,{key:0,class:O([`hud__btn`,{"hud__btn--active":z(t).isMuted}]),"aria-label":z(o),onClick:l[0]||=H((...e)=>z(s)&&z(s)(...e),[`stop`])},[!z(t).isMuted&&z(t).vol>0?(N(),_(Q,{key:0})):(N(),_($,{key:1}))],10,tt)):!e.isFocused&&z(r)===`loop`?(N(),y(`button`,{key:1,class:O([`hud__btn`,{"hud__btn--active":z(t).isLooping}]),"aria-label":z(o),onClick:l[1]||=H((...e)=>z(s)&&z(s)(...e),[`stop`])},[S(Ye)],10,nt)):!e.isFocused&&z(i)&&z(a)?(N(),y(`button`,{key:2,class:`hud__btn`,"aria-label":z(a).label,onClick:l[2]||=H(e=>z(a).onClick(),[`stop`]),innerHTML:z(a).icon},null,8,rt)):(N(),y(`div`,it)),b(`div`,at,[S(X,{"is-playing":z(t).isPlaying,"has-ended":z(t).hasEnded,size:`lg`,onTogglePlay:z(t).togglePlay},null,8,[`is-playing`,`has-ended`,`onTogglePlay`]),z(t).isBuffering?(N(),_(Z,{key:0,class:`hud__buf-spinner`})):v(`v-if`,!0)]),e.isFocused?(N(),y(`div`,ot)):(N(),y(`button`,{key:4,class:`hud__btn`,"aria-label":`Show controls`,onClick:l[3]||=H((...e)=>z(n).openControls&&z(n).openControls(...e),[`stop`])},[S($e)]))]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const ct={},lt={viewBox:`0 0 24 24`,fill:`currentColor`};function ut(e,t){return N(),y(`svg`,lt,[...t[0]||=[b(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var dt=Y(ct,[[`render`,ut]]);const ft={class:`controls__vol-header`},pt=[`aria-label`],mt={class:`controls__vol-body`},ht=[`value`],gt={class:`controls__vol-pct`};var _t=Y(C({__name:`VolumePanel`,emits:[`back`],setup(e){let t=T(K),n=T(q),r=g(()=>t.isMuted?0:Math.round(t.vol*100));function i(e){t.setVolume(Number(e.target.value)/100)}return(e,a)=>(N(),y(m,null,[b(`div`,ft,[b(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:a[0]||=t=>e.$emit(`back`)},[S(dt)]),a[6]||=b(`span`,{class:`controls__vol-label`},`Volume`,-1),b(`button`,{class:`controls__btn`,"aria-label":z(t).isMuted?`Unmute`:`Mute`,onClick:a[1]||=e=>z(t).toggleMute()},[!z(t).isMuted&&z(t).vol>0?(N(),_(Q,{key:0})):(N(),_($,{key:1}))],8,pt)]),b(`div`,mt,[b(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`controls__vol-slider`,style:A({"--v":r.value+`%`}),"aria-label":`Volume`,onInput:i,onMousedown:a[2]||=e=>z(n).pauseHide(),onMouseup:a[3]||=e=>z(n).scheduleHide(),onTouchstartPassive:a[4]||=e=>z(n).pauseHide(),onTouchend:a[5]||=e=>z(n).scheduleHide()},null,44,ht),b(`span`,gt,L(r.value)+`%`,1)])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);const vt={},yt={viewBox:`0 0 24 24`,fill:`currentColor`};function bt(e,t){return N(),y(`svg`,yt,[...t[0]||=[b(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var xt=Y(vt,[[`render`,bt]]);const St={},Ct={viewBox:`0 0 24 24`,fill:`currentColor`};function wt(e,t){return N(),y(`svg`,Ct,[...t[0]||=[b(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var Tt=Y(St,[[`render`,wt]]);const Et={},Dt={viewBox:`0 0 24 24`,fill:`currentColor`};function Ot(e,t){return N(),y(`svg`,Dt,[...t[0]||=[b(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var kt=Y(Et,[[`render`,Ot]]);const At=[`value`],jt={class:`controls__row`},Mt={class:`controls__play-wrap`},Nt={class:`controls__time`},Pt=[`aria-label`,`innerHTML`],Ft={key:3,class:`controls__fs-wrap`},It=[`aria-label`];var Lt=Y(C({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let t=e,n=T(K),i=T(q),a=T(`compact`),o=g(()=>!!a?.value&&!t.focusMode),{isCustom:s,customAction:c}=Ee(T(J),n),l=I(!1),u=I(null);j(()=>{l.value=!1});function d(e){if(!document.startViewTransition||!u.value){e();return}i.suppressMouseLeave(),u.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await D()}).finished.finally(()=>{u.value&&(u.value.style.viewTransitionName=``)})}function f(){if(r()){n.toggleMute();return}d(()=>{l.value=!0})}let p=I(null),h=g(()=>p.value??n.progress);function x(e){p.value=Number(e.target.value)}function C(e){let t=Number(e.target.value);p.value=t,n.seek(t)}B(()=>n.current,()=>{if(p.value===null||!n.total)return;let e=p.value/100*n.total;Math.abs(n.current-e)<1&&(p.value=null)});let w=[.5,.75,1,1.25,1.5,2];function E(){let e=w[(w.indexOf(n.playbackRate)+1)%w.length];n.setPlaybackRate(e)}function k(e){return e===1?`1×`:`${e}×`}return(t,r)=>(N(),y(`div`,{ref_key:`popupEl`,ref:u,class:O([`controls`,{"controls--fs":z(n).isFullscreen||e.focusMode}]),onMousemove:r[10]||=H((...e)=>z(i).keepOpen&&z(i).keepOpen(...e),[`stop`])},[l.value?(N(),_(_t,{key:0,onBack:r[0]||=e=>d(()=>l.value=!1)})):(N(),y(m,{key:1},[o.value?v(`v-if`,!0):(N(),y(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:h.value,class:`controls__seek`,style:A({"--p":h.value+`%`,"--b":z(n).bufferedDisplay+`%`}),onInput:x,onChange:C,onMousedown:r[1]||=e=>z(i).pauseHide(),onMouseup:r[2]||=e=>z(i).scheduleHide(),onTouchstartPassive:r[3]||=e=>z(i).pauseHide(),onTouchend:r[4]||=e=>z(i).scheduleHide()},null,44,At)),b(`div`,jt,[b(`div`,Mt,[z(n).isBuffering?(N(),_(Z,{key:0})):(N(),_(X,{key:1,"is-playing":z(n).isPlaying,"has-ended":z(n).hasEnded,size:`sm`,onTogglePlay:r[5]||=e=>z(n).togglePlay()},null,8,[`is-playing`,`has-ended`]))]),b(`span`,Nt,L(z(n).fmt(z(n).current))+` / `+L(z(n).fmt(z(n).total)),1),!o.value&&z(n).supportsPlaybackRate?(N(),y(`button`,{key:0,class:O([`controls__btn controls__btn--rate`,{"controls__btn--active":z(n).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:E},L(k(z(n).playbackRate)),3)):v(`v-if`,!0),o.value?v(`v-if`,!0):(N(),y(`button`,{key:1,class:O([`controls__btn`,{"controls__btn--active":z(n).isLooping}]),"aria-label":`Toggle loop`,onClick:r[6]||=e=>z(n).toggleLoop()},[S(Ye)],2)),b(`button`,{class:`controls__btn`,"aria-label":`Volume`,onClick:f},[!z(n).isMuted&&z(n).vol>0?(N(),_(Q,{key:0})):(N(),_($,{key:1}))]),z(s)&&z(c)?(N(),y(`button`,{key:2,class:`controls__btn`,"aria-label":z(c).label,onClick:r[7]||=e=>z(c).onClick(),innerHTML:z(c).icon},null,8,Pt)):v(`v-if`,!0),o.value?v(`v-if`,!0):(N(),y(`div`,Ft,[z(n).isFullscreenPending?(N(),_(Z,{key:0})):(N(),y(`button`,{key:1,class:`controls__btn`,"aria-label":z(n).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:r[8]||=e=>z(n).toggleFullscreen()},[z(n).isFullscreen?(N(),_(kt,{key:0})):(N(),_(Tt,{key:1}))],8,It))])),b(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:r[9]||=e=>z(i).closeControls()},[S(xt)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Rt={key:0,class:`overlay__spinner`},zt={key:0,class:`overlay__error`};var Bt=Y(C({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1},disableTapCapture:{type:Boolean,default:!1}},setup(e){let t=T(K),n=T(q);return(r,i)=>(N(),y(m,null,[e.disableTapCapture?v(`v-if`,!0):(N(),y(`div`,{key:0,class:`overlay__tap-capture`,style:A({pointerEvents:!z(t).hasStarted||z(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>z(n).onVideoTap&&z(n).onVideoTap(...e),onTouchend:i[1]||=H((...e)=>z(n).onVideoTap&&z(n).onVideoTap(...e),[`prevent`,`stop`])},null,36)),S(h,{name:`fade`},{default:V(()=>[!z(t).isReady&&!z(t).isError?(N(),y(`div`,Rt,[S(Z,{size:40,"border-width":3})])):v(`v-if`,!0)]),_:1}),S(h,{name:`fade`},{default:V(()=>[z(t).isError?(N(),y(`div`,zt,[b(`p`,null,L(z(t).errorMessage||`This video could not be played.`),1),b(`button`,{class:`overlay__retry`,onClick:i[2]||=H((...e)=>z(t).retry&&z(t).retry(...e),[`stop`])},`Retry`)])):v(`v-if`,!0)]),_:1}),b(`div`,{class:O([`overlay__hud`,{"overlay__hud--visible":z(n).showHUD&&z(t).isReady&&!z(t).isError&&!(z(n).isOpen&&z(t).isFullscreen)}])},[S(st,{"is-focused":e.isFocused},null,8,[`is-focused`])],2),S(h,{name:`popup`},{default:V(()=>[z(n).isOpen&&z(t).isReady&&!z(t).isError&&!(e.focusMode&&!z(t).isFullscreen)?(N(),y(`div`,{key:0,class:O([`overlay__popup`,{"overlay__popup--fs":z(t).isFullscreen}]),onClick:i[3]||=H(()=>{},[`stop`])},[S(Lt)],2)):v(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const Vt=[`data-focused`],Ht={"data-vjs-player":``},Ut={key:1,class:`player__native-play`};var Wt=Y(C({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1},disableTapCapture:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=I(null),o=F(Se(a,r,i)),s=I(!1),c=F(Ce(R(o,`isPlaying`),s));P(K,o),P(q,c),P(J,R(r,`action`));let{isPortrait:l,cssRatio:d}=u(r.aspectRatio),f=I(null),{focusModeEnabled:p}=we(s,R(r,`focusMode`),o,c,f),m=Te(s,R(r,`aspectRatio`));return t(o),(e,t)=>(N(),y(`div`,{class:`player`,"data-focused":s.value?``:null},[s.value?(N(),y(`div`,{key:0,class:O([`player__placeholder`,{"player__shell--portrait":z(l)}]),style:A({aspectRatio:z(d)})},null,6)):v(`v-if`,!0),s.value?(N(),y(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>c.closeControls()})):v(`v-if`,!0),b(`div`,{ref_key:`focusFrameEl`,ref:f,class:O([`player__focus-frame`,{"player__focus-frame--active":s.value}])},[b(`div`,{class:O([`player__shell`,{"player__shell--portrait":z(l)}]),style:A([{aspectRatio:z(d)},z(m)]),onMousemove:t[1]||=e=>c.onMouseMove(),onContextmenuCapture:t[2]||=H(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>c.onMouseLeave()},[b(`div`,Ht,[b(`video`,{ref_key:`videoEl`,ref:a,class:`video-js`,playsinline:``},null,512),o.nativeUi?v(`v-if`,!0):(N(),_(Bt,{key:0,"focus-mode":z(p),"is-focused":s.value,"disable-tap-capture":r.disableTapCapture},null,8,[`focus-mode`,`is-focused`,`disable-tap-capture`])),o.nativeUi&&!o.hasStarted?(N(),y(`div`,Ut,[S(X,{"is-playing":!1,size:`lg`,onTogglePlay:o.togglePlay},null,8,[`onTogglePlay`])])):v(`v-if`,!0)])],38),s.value?(N(),y(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=H(()=>{},[`stop`])},[S(Lt,{"focus-mode":``})])):v(`v-if`,!0)],2)],8,Vt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Gt=I(0),Kt=g(()=>Gt.value>0);function qt(){Gt.value++}function Jt(){Gt.value--}const Yt=[`src`],Xt={class:`stage__idle-body`},Zt={class:`stage__idle-btn`},Qt={class:`stage__idle-title`},$t={key:1,class:`stage__idle-empty`};var en=Y(C({__name:`VideoStage`,props:{pinPosition:{type:String,required:!1,default:`bottom-right`}},emits:[`state-change`],setup(e,{emit:t}){let r=t,i=I(null),a=I(null),s=I(!1),c=I(!1),l=I(null),u=I(null),d=I(!1),f=I(null);P(`compact`,d);let h=null;B(d,e=>{f.value=e&&u.value?u.value.offsetHeight:null});function g(){h?.disconnect(),l.value&&(h=new IntersectionObserver(([e])=>{d.value=!e.isIntersecting},{threshold:1}),h.observe(l.value))}B(l,g);function x(){a.value&&(a.value={...a.value,autoplay:!0},s.value=!0)}function C(){a.value=null,s.value=!1,c.value=!1,d.value=!1,f.value=null,w()}function w(){window.dispatchEvent(new CustomEvent(n,{detail:{currentVideoUrl:a.value?.videoUrl??null,isPlaying:c.value}}))}function T(e){let t=e.detail;if(a.value?.videoUrl===t.videoUrl&&s.value){i.value?.togglePlay();return}a.value=t,s.value=!1,c.value=!1,w(),s.value=!0}function D(e){let t=e.detail;!a.value||t.videoUrl!==a.value.videoUrl||(s.value?i.value?.togglePlay():(a.value={...a.value,autoplay:!0},s.value=!0))}function k(e){e.type===`play`&&(c.value=!0),(e.type===`pause`||e.type===`ended`)&&(c.value=!1),w(),r(`state-change`,e)}return M(()=>{qt(),window.addEventListener(o,T),window.addEventListener(p,D)}),j(()=>{Jt(),window.removeEventListener(o,T),window.removeEventListener(p,D),h?.disconnect()}),(t,n)=>(N(),y(`div`,{ref_key:`wrapperEl`,ref:l,class:`stage-wrapper`,style:A(f.value?{height:f.value+`px`}:{})},[b(`div`,{ref_key:`stageEl`,ref:u,class:O([`stage`,{"stage--minified":d.value&&a.value&&s.value,[`stage--pin-${e.pinPosition}`]:d.value&&a.value&&s.value}])},[d.value&&a.value&&s.value?(N(),y(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:H(C,[`stop`])},[S(xt)])):v(`v-if`,!0),a.value&&s.value?(N(),_(Wt,E({ref_key:`playerRef`,ref:i,key:a.value.videoUrl},a.value,{onStateChange:k}),null,16)):(N(),y(`div`,{key:2,class:`stage__idle`,style:A({aspectRatio:a.value?.aspectRatio||`16:9`}),onClick:x},[a.value?.poster?(N(),y(`img`,{key:0,src:a.value.poster,class:`stage__idle-poster`},null,8,Yt)):v(`v-if`,!0),n[0]||=b(`div`,{class:`stage__idle-scrim`},null,-1),b(`div`,Xt,[a.value?(N(),y(m,{key:0},[b(`div`,Zt,[S(Ae)]),b(`p`,Qt,L(a.value.title),1)],64)):(N(),y(`p`,$t,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const tn={class:`placeholder`},nn=[`src`,`alt`],rn={class:`placeholder__btn-wrap`},an={key:2,class:`placeholder__footer`},on={class:`placeholder__title`};var sn=Y(C({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1},disableTapCapture:{type:Boolean,required:!1}},setup(e){let t=e,{isPortrait:r,cssRatio:i}=u(t.aspectRatio),a=I(!1),s=I(!1);function c(e){let n=e.detail;a.value=n.currentVideoUrl===t.videoUrl,s.value=a.value&&n.isPlaying}function l(e){window.dispatchEvent(new CustomEvent(o,{detail:{...t,...e!==void 0&&{autoplay:e}}}))}function d(){l(!0)}return M(()=>{window.addEventListener(n,c),t.autoStage&&l()}),j(()=>window.removeEventListener(n,c)),(t,n)=>(N(),y(`div`,tn,[b(`div`,{class:O([`placeholder__shell`,{"placeholder__shell--portrait":z(r),"placeholder__shell--active":a.value}]),style:A({aspectRatio:z(i)}),onClick:d},[e.poster?(N(),y(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.title},null,8,nn)):v(`v-if`,!0),n[0]||=b(`div`,{class:`placeholder__scrim`},null,-1),e.platform?(N(),y(`span`,{key:1,class:O([`placeholder__badge`,`badge--${e.platform}`])},L(e.platform),3)):v(`v-if`,!0),b(`div`,rn,[S(X,{"is-playing":a.value&&s.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),e.title?(N(),y(`div`,an,[b(`p`,on,L(e.title),1)])):v(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),cn=C({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1},disableTapCapture:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=I(!1);return(e,t)=>z(Kt)?(N(),_(sn,k(E({key:0},e.$props)),null,16)):(N(),y(m,{key:1},[n.lazy&&!i.value&&!n.autoplay?(N(),_(sn,E({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(N(),_(Wt,E({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const ln=w(Wt,{shadowRoot:!1,styles:[ee]}),un=w(en,{shadowRoot:!1}),dn=w(sn,{shadowRoot:!1}),fn=w(cn,{shadowRoot:!1});customElements.define(`video-player`,ln),customElements.define(`video-stage`,un),customElements.define(`video-placeholder`,dn),customElements.define(`video-item`,fn);export{fn as VideoItemElement,dn as VideoPlaceholderElement,ln as VideoPlayerElement,un as VideoStageElement};
|
package/dist/index.d.mts
CHANGED
|
@@ -41,6 +41,7 @@ interface PlayerProps {
|
|
|
41
41
|
payload?: Record<string, unknown>;
|
|
42
42
|
action?: PlayerAction | null;
|
|
43
43
|
focusMode?: boolean;
|
|
44
|
+
disableTapCapture?: boolean;
|
|
44
45
|
}
|
|
45
46
|
type VideoSelectDetail = PlayerProps;
|
|
46
47
|
interface VideoStateDetail {
|
|
@@ -55,11 +56,12 @@ interface VideoEntry extends PlayerProps {
|
|
|
55
56
|
}
|
|
56
57
|
//#endregion
|
|
57
58
|
//#region src/components/VideoPlayer.vue.d.ts
|
|
58
|
-
type __VLS_Props$
|
|
59
|
+
type __VLS_Props$2 = PlayerProps & {
|
|
59
60
|
action?: PlayerAction | null;
|
|
60
61
|
};
|
|
61
|
-
declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$
|
|
62
|
+
declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$2, {
|
|
62
63
|
isPlaying: boolean;
|
|
64
|
+
hasEnded: boolean;
|
|
63
65
|
isReady: boolean;
|
|
64
66
|
isAdPlaying: boolean;
|
|
65
67
|
isBuffering: boolean;
|
|
@@ -90,7 +92,7 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
|
|
|
90
92
|
nativeUi: boolean;
|
|
91
93
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
92
94
|
"state-change": (event: StateChangeEvent) => any;
|
|
93
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props$
|
|
95
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props$2> & Readonly<{
|
|
94
96
|
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
95
97
|
}>, {
|
|
96
98
|
nativeUi: boolean;
|
|
@@ -106,15 +108,21 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
|
|
|
106
108
|
payload: Record<string, unknown>;
|
|
107
109
|
action: PlayerAction | null;
|
|
108
110
|
focusMode: boolean;
|
|
111
|
+
disableTapCapture: boolean;
|
|
109
112
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
110
113
|
declare const _default$2: typeof __VLS_export$3;
|
|
111
114
|
//#endregion
|
|
112
115
|
//#region src/components/VideoStage.vue.d.ts
|
|
113
|
-
|
|
116
|
+
type __VLS_Props$1 = {
|
|
117
|
+
pinPosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'full-width';
|
|
118
|
+
};
|
|
119
|
+
declare const __VLS_export$2: import("vue").DefineComponent<__VLS_Props$1, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
114
120
|
"state-change": (event: StateChangeEvent) => any;
|
|
115
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
121
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props$1> & Readonly<{
|
|
116
122
|
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
117
|
-
}>, {
|
|
123
|
+
}>, {
|
|
124
|
+
pinPosition: "bottom-right" | "bottom-left" | "top-right" | "top-left" | "full-width";
|
|
125
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
118
126
|
declare const _default$3: typeof __VLS_export$2;
|
|
119
127
|
//#endregion
|
|
120
128
|
//#region src/components/VideoPlaceholder.vue.d.ts
|
|
@@ -153,6 +161,7 @@ declare function getPlatform(url: any): string;
|
|
|
153
161
|
//#region src/composables/usePlayer.d.ts
|
|
154
162
|
interface UsePlayerReturn {
|
|
155
163
|
isPlaying: Ref<boolean>;
|
|
164
|
+
hasEnded: Ref<boolean>;
|
|
156
165
|
isReady: Ref<boolean>;
|
|
157
166
|
isAdPlaying: Ref<boolean>;
|
|
158
167
|
isBuffering: Ref<boolean>;
|
|
@@ -195,6 +204,7 @@ interface UseHudReturn {
|
|
|
195
204
|
openControls: () => void;
|
|
196
205
|
closeControls: () => void;
|
|
197
206
|
keepOpen: () => void;
|
|
207
|
+
suppressMouseLeave: (ms?: number) => void;
|
|
198
208
|
}
|
|
199
209
|
//#endregion
|
|
200
210
|
//#region src/composables/playerContext.d.ts
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t}from"./chunks/tech-DYVa4zaY.mjs";import{a as n,c as r,i,n as a,o,r as s,s as c,t as l}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as u,Transition as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createStaticVNode as _,createVNode as v,defineComponent as y,inject as b,mergeProps as x,nextTick as S,normalizeClass as C,normalizeProps as w,normalizeStyle as T,onBeforeUnmount as E,onMounted as D,openBlock as O,provide as k,reactive as A,ref as j,toDisplayString as M,toRef as N,unref as P,watch as F,withCtx as I,withModifiers as L}from"vue";import ee from"video.js";const R={},z=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-BE1BWyQG.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-yir3kEbO.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-CXCiXJKy.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-CNDwSK03.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-BjpjJMHX.mjs`)}];function te(e){return z.find(t=>t.test(e))?.key??`html5`}async function ne(e){let t=z.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};R[t.key]||(R[t.key]=t.load());let n=null,{prefetchConfig:r}=await R[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const B=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function re(e){return!B.has(e)}function ie(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(e,t){return!t||!re(e)?!1:(await ie(),await import(`videojs-contrib-ads`),await import(`videojs-ima`),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const V=new Set;function se(e){return V.add(e),()=>V.delete(e)}function ce(e){V.forEach(t=>{if(t!==e)try{t()}catch{}})}function H(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function U(e){localStorage.setItem(l,JSON.stringify(e))}function le(e,t){if(t<5)return;let n=H().filter(t=>t.url!==e);n.unshift({url:e,time:t}),U(n.slice(0,5))}function ue(e){return H().find(t=>t.url===e)?.time??null}function de(e){U(H().filter(t=>t.url!==e))}function W(e,r,o){let c=null,l=!1,u=null,d=null,p=null,m=null,h=new Set,g=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],_=j(!1),v=j(!1),y=j(!1),b=j(!1),x=j(0),S=j(0),C=j(0),w=j(1),T=j(r.muted??r.autoplay??!1),O=j(!1),k=j(r.playbackRate??1),A=j(!1),M=j(!1),N=j(!1),P=j(``),I=j(!1),L=j(!1),R=j(!1),z=f(()=>S.value?x.value/S.value*100:0),te=f(()=>Math.max(C.value,z.value)),B=()=>c.tech({IWillNotUseThisInPlugins:!0});function ie(){let e=B();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}c.requestFullscreen()}function V(){let e=B();typeof e?.exitFullscreen==`function`?e.exitFullscreen():c.exitFullscreen()}function H(){c&&(L.value?V():ie())}function U(){let e=document;L.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function W(e,t={}){o(`state-change`,{type:e,currentTime:x.value,duration:S.value,src:r.videoUrl,...t,payload:r.payload})}function fe(){if(!S.value)return;let e=x.value/S.value;for(let[t,n]of g)!h.has(t)&&e>=t&&(h.add(t),W(n))}function G(){!c||!p||(N.value=!1,P.value=``,c.src(p))}function K(){!c||!v.value||(c.paused()?c.play():c.pause())}function q(e){c?.currentTime(S.value*(e/100))}function J(){c?.muted(!c.muted())}function pe(e){c&&(c.volume(e),c.muted(e===0))}function me(){O.value=!O.value}function he(e){c&&(c.playbackRate(e),k.value=e)}function ge(){c.ready(()=>{v.value=!0,A.value=!!B()?.featuresPlaybackRate});let e=()=>{let e=c.duration();e>0&&isFinite(e)&&(S.value=e)};c.on([`adstart`,s],()=>{ce(Y),y.value=!0,W(`adstart`)}),c.on([`adend`,a],()=>{y.value=!1,W(`adend`)}),c.on(`play`,()=>{if(ce(Y),M.value=!0,_.value=!0,!l){let e=ue(r.videoUrl);e&&c.currentTime(e),l=!0}W(`play`)}),c.on(`pause`,()=>{_.value=!1,le(r.videoUrl,c.currentTime()),W(`pause`)}),c.on(`ended`,()=>{_.value=!1,h.clear(),O.value?(c.currentTime(0),c.play()):(de(r.videoUrl),W(`ended`))}),c.on(`seeked`,()=>{W(`seeked`)}),c.on(`error`,()=>{let e=c.error();P.value=e?.message||`This video could not be played.`,N.value=!0,v.value=!0,W(`error`,{error:e})}),c.on(`waiting`,()=>{clearTimeout(m??void 0),m=setTimeout(()=>{b.value=!0},200)}),c.on(`playing`,()=>{clearTimeout(m??void 0),b.value=!1}),c.on(`canplay`,()=>{clearTimeout(m??void 0),b.value=!1}),c.on(`timeupdate`,()=>{x.value=c.currentTime(),S.value||e(),fe()}),c.on(`durationchange`,e),c.on(`progress`,()=>{let e=c.duration();C.value=e?c.bufferedEnd()/e*100:0}),c.on(`volumechange`,()=>{let e=c.muted();w.value=c.volume(),T.value=e,M.value&&W(`volumechange`,{isMuted:e})}),c.on(`ratechange`,()=>{let e=c.playbackRate();k.value=e,M.value&&W(`ratechange`,{playbackRate:e})}),c.on(`fullscreenchange`,()=>{L.value=c.isFullscreen()}),c.on(i,()=>{R.value=!0}),c.on(n,()=>{R.value=!1})}function Y(){c?.pause()}F(()=>r.muted,e=>{!c||e===void 0||c.muted(e)}),F(()=>r.playbackRate,e=>{!c||e===void 0||c.playbackRate(e)}),D(async()=>{document.addEventListener(`fullscreenchange`,U),document.addEventListener(`webkitfullscreenchange`,U),document.addEventListener(`visibilitychange`,_e);let{tech:t,type:n,adTagUrl:i}=await ne(r.videoUrl),a=t?[t,`Html5`]:[`Html5`],o=r.adTagUrl||i||``,s=await ae(t??`Html5`,o);if(!e.value)return;let l={src:r.videoUrl,...n&&{type:n}};p=l,I.value=!!(r.nativeUi&&!re(t??``)),c=ee(e.value,{techOrder:a,controls:!1,fluid:!0,aspectRatio:r.aspectRatio??`16:9`,poster:r.poster||``,playsinline:!0,autoplay:r.autoplay,muted:r.muted??r.autoplay,playbackRate:k.value,adTagUrl:o,youtube:{nativeUi:I.value},vimeo:{nativeUi:I.value},dailymotion:{nativeUi:I.value},...!s&&{sources:[l]},...r.techOptions}),s&&(oe(c,o,r.imaOptions??{}),c.src(l)),u=se(Y),ge(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&c&&!c.paused()&&!L.value&&c.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function _e(){document.visibilityState===`hidden`&&c&&le(r.videoUrl,c.currentTime())}return E(()=>{c&&le(r.videoUrl,c.currentTime()),clearTimeout(m??void 0),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,_e),document.removeEventListener(`fullscreenchange`,U),document.removeEventListener(`webkitfullscreenchange`,U),c?.dispose(),c=null}),{isPlaying:_,isReady:v,isAdPlaying:y,isBuffering:b,current:x,total:S,vol:w,isMuted:T,isLooping:O,playbackRate:k,hasStarted:M,isError:N,errorMessage:P,progress:z,bufferedDisplay:te,isFullscreen:L,isFullscreenPending:R,fmt:t,fire:W,retry:G,togglePlay:K,seek:q,toggleMute:J,setVolume:pe,toggleFullscreen:H,toggleLoop:me,setPlaybackRate:he,supportsPlaybackRate:A,nativeUi:I}}function fe(e,t){let n=j(!0),r=j(!1),i=null;function a(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function o(){clearTimeout(i??void 0)}function s(){r.value=!0,n.value=!0,a()}function c(){r.value=!1,e.value&&a()}function l(){e.value&&a()}function u(){n.value=!0,e.value&&a()}function d(){n.value=!0,a()}function f(){e.value&&a(600)}return F(e,e=>{e?a():(clearTimeout(i??void 0),n.value=!0)}),E(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:a,pauseHide:o,onVideoTap:u,onMouseMove:d,onMouseLeave:f,openControls:s,closeControls:c,keepOpen:l}}const G=Symbol(`player`),K=Symbol(`hud`),q=Symbol(`action`);var J=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const pe={},me={viewBox:`0 0 24 24`,fill:`currentColor`};function he(e,t){return O(),h(`svg`,me,[...t[0]||=[g(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var ge=J(pe,[[`render`,he]]);const Y={},_e={viewBox:`0 0 24 24`,fill:`currentColor`};function ve(e,t){return O(),h(`svg`,_e,[...t[0]||=[g(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ye=J(Y,[[`render`,ve]]);const be=[`aria-label`];var X=J(y({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(O(),h(`button`,{class:C([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=L(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(O(),p(ye,{key:0})):(O(),p(ge,{key:1}))],10,be))}}),[[`__scopeId`,`data-v-85902525`]]);const xe={},Se={viewBox:`0 0 24 24`,fill:`currentColor`};function Ce(e,t){return O(),h(`svg`,Se,[...t[0]||=[g(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var we=J(xe,[[`render`,Ce]]);const Te={},Ee={viewBox:`0 0 24 24`,fill:`currentColor`};function De(e,t){return O(),h(`svg`,Ee,[...t[0]||=[g(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Z=J(Te,[[`render`,De]]);const Oe={},ke={viewBox:`0 0 24 24`,fill:`currentColor`};function Ae(e,t){return O(),h(`svg`,ke,[...t[0]||=[g(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var je=J(Oe,[[`render`,Ae]]);const Me={},Ne={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Pe(e,t){return O(),h(`svg`,Ne,[...t[0]||=[_(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Fe=J(Me,[[`render`,Pe]]);const Ie={class:`hud`},Le=[`aria-label`],Re=[`aria-label`],ze=[`aria-label`,`innerHTML`];var Be=J(y({__name:`HudButtons`,setup(e){let t=b(G),n=b(K),r=b(q),i=f(()=>r?.value??null),a=f(()=>!!i.value&&typeof i.value==`object`),o=f(()=>a.value?i.value:null),s=f(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(O(),h(`div`,Ie,[m(` Built-in: mute `),i.value===`mute`?(O(),h(`button`,{key:0,class:C([`hud__btn`,{"hud__btn--active":P(t).isMuted}]),"aria-label":s.value,onClick:L(c,[`stop`])},[!P(t).isMuted&&P(t).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],10,Le)):i.value===`loop`?(O(),h(u,{key:1},[m(` Built-in: loop `),g(`button`,{class:C([`hud__btn`,{"hud__btn--active":P(t).isLooping}]),"aria-label":s.value,onClick:L(c,[`stop`])},[v(je)],10,Re)],2112)):a.value&&o.value?(O(),h(u,{key:2},[m(` Custom action `),g(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=L(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,ze)],2112)):(O(),h(u,{key:3},[m(` No action — spacer keeps layout balanced `),r[2]||=g(`div`,{class:`hud__spacer`},null,-1)],2112)),v(X,{"is-playing":P(t).isPlaying,size:`lg`,onTogglePlay:P(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),g(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=L((...e)=>P(n).openControls&&P(n).openControls(...e),[`stop`])},[v(Fe)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const Ve={},He={viewBox:`0 0 24 24`,fill:`currentColor`};function Ue(e,t){return O(),h(`svg`,He,[...t[0]||=[g(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var We=J(Ve,[[`render`,Ue]]);const Ge={},Ke={viewBox:`0 0 24 24`,fill:`currentColor`};function qe(e,t){return O(),h(`svg`,Ke,[...t[0]||=[g(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Je=J(Ge,[[`render`,qe]]);const Ye={},Xe={viewBox:`0 0 24 24`,fill:`currentColor`};function Ze(e,t){return O(),h(`svg`,Xe,[...t[0]||=[g(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var Qe=J(Ye,[[`render`,Ze]]);const $e={},et={viewBox:`0 0 24 24`,fill:`currentColor`};function tt(e,t){return O(),h(`svg`,et,[...t[0]||=[g(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var nt=J($e,[[`render`,tt]]);const rt={class:`controls__vol-header`},it=[`aria-label`],at={class:`controls__vol-body`},ot=[`value`],st={class:`controls__vol-pct`},ct=[`value`],lt={class:`controls__row`},ut={class:`controls__play-wrap`},dt={key:0,class:`controls__buf-spinner`},ft={class:`controls__time`},pt={key:2,class:`controls__fs-wrap`},mt={key:0,class:`controls__fs-spinner`},ht=[`aria-label`];var gt=J(y({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let t=e,n=b(G),r=b(K),i=b(`compact`),a=f(()=>!!i?.value&&!t.focusMode),o=j(!1),s=j(null);E(()=>{o.value=!1});function c(e){if(!document.startViewTransition||!s.value){e();return}s.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await S()}).finished.finally(()=>{s.value&&(s.value.style.viewTransitionName=``)})}let l=f(()=>n.isMuted?0:Math.round(n.vol*100)),d=null;function _(){d=setTimeout(()=>{d=null,c(()=>{o.value=!0})},350)}function y(){d&&(clearTimeout(d),d=null,n.toggleMute())}function x(){clearTimeout(d),d=null}function w(e){n.seek(Number(e.target.value))}function D(e){n.setVolume(Number(e.target.value)/100)}let k=[.5,.75,1,1.25,1.5,2];function A(){let e=k[(k.indexOf(n.playbackRate)+1)%k.length];n.setPlaybackRate(e)}function N(e){return e===1?`1×`:`${e}×`}return(e,t)=>(O(),h(`div`,{ref_key:`popupEl`,ref:s,class:C([`controls`,{"controls--fs":P(n).isFullscreen}]),onMousemove:t[14]||=L((...e)=>P(r).keepOpen&&P(r).keepOpen(...e),[`stop`])},[o.value?(O(),h(u,{key:0},[g(`div`,rt,[g(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:t[0]||=e=>c(()=>o.value=!1)},[v(Je)]),t[15]||=g(`span`,{class:`controls__vol-label`},`Volume`,-1),g(`button`,{class:`controls__btn`,"aria-label":P(n).isMuted?`Unmute`:`Mute`,onClick:t[1]||=e=>P(n).toggleMute()},[!P(n).isMuted&&P(n).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],8,it)]),g(`div`,at,[g(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:l.value,class:`controls__vol-slider`,style:T({"--v":l.value+`%`}),"aria-label":`Volume`,onInput:D,onMousedown:t[2]||=e=>P(r).pauseHide(),onMouseup:t[3]||=e=>P(r).scheduleHide(),onTouchstartPassive:t[4]||=e=>P(r).pauseHide(),onTouchend:t[5]||=e=>P(r).scheduleHide()},null,44,ot),g(`span`,st,M(l.value)+`%`,1)])],64)):(O(),h(u,{key:1},[a.value?m(`v-if`,!0):(O(),h(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:P(n).progress,class:`controls__seek`,style:T({"--p":P(n).progress+`%`,"--b":P(n).bufferedDisplay+`%`}),onInput:w,onMousedown:t[6]||=e=>P(r).pauseHide(),onMouseup:t[7]||=e=>P(r).scheduleHide(),onTouchstartPassive:t[8]||=e=>P(r).pauseHide(),onTouchend:t[9]||=e=>P(r).scheduleHide()},null,44,ct)),g(`div`,lt,[g(`div`,ut,[P(n).isBuffering?(O(),h(`div`,dt)):(O(),p(X,{key:1,"is-playing":P(n).isPlaying,size:`sm`,onTogglePlay:t[10]||=e=>P(n).togglePlay()},null,8,[`is-playing`]))]),g(`span`,ft,M(P(n).fmt(P(n).current))+` / `+M(P(n).fmt(P(n).total)),1),!a.value&&P(n).supportsPlaybackRate?(O(),h(`button`,{key:0,class:C([`controls__btn controls__btn--rate`,{"controls__btn--active":P(n).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:A},M(N(P(n).playbackRate)),3)):m(`v-if`,!0),a.value?m(`v-if`,!0):(O(),h(`button`,{key:1,class:C([`controls__btn`,{"controls__btn--active":P(n).isLooping}]),"aria-label":`Toggle loop`,onClick:t[11]||=e=>P(n).toggleLoop()},[v(je)],2)),g(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:_,onMouseup:y,onMouseleave:x,onTouchstartPassive:_,onTouchend:L(y,[`prevent`]),onTouchcancel:x},[!P(n).isMuted&&P(n).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],32),a.value?m(`v-if`,!0):(O(),h(`div`,pt,[P(n).isFullscreenPending?(O(),h(`div`,mt)):(O(),h(`button`,{key:1,class:`controls__btn`,"aria-label":P(n).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:t[12]||=e=>P(n).toggleFullscreen()},[P(n).isFullscreen?(O(),p(nt,{key:0})):(O(),p(Qe,{key:1}))],8,ht))])),g(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:t[13]||=e=>P(r).closeControls()},[v(We)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const _t={key:0,class:`overlay__spinner`},vt={key:0,class:`overlay__error`};var yt=J(y({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1}},setup(e){let t=b(G),n=b(K);return(r,i)=>(O(),h(u,null,[m(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),g(`div`,{class:`overlay__tap-capture`,style:T({pointerEvents:!P(t).hasStarted||P(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),onTouchend:i[1]||=L((...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),v(d,{name:`fade`},{default:I(()=>[!P(t).isReady&&!P(t).isError?(O(),h(`div`,_t,[...i[4]||=[g(`div`,{class:`overlay__spinner-ring`},null,-1)]])):m(`v-if`,!0)]),_:1}),v(d,{name:`fade`},{default:I(()=>[P(t).isError?(O(),h(`div`,vt,[g(`p`,null,M(P(t).errorMessage||`This video could not be played.`),1),g(`button`,{class:`overlay__retry`,onClick:i[2]||=L((...e)=>P(t).retry&&P(t).retry(...e),[`stop`])},`Retry`)])):m(`v-if`,!0)]),_:1}),m(` Hidden in fullscreen, or while focus mode is actually centered (the expanded controls render below the video instead) `),g(`div`,{class:C([`overlay__hud`,{"overlay__hud--visible":P(n).showHUD&&P(t).isReady&&!P(t).isError&&!e.isFocused&&!(P(n).isOpen&&P(t).isFullscreen)}])},[v(Be)],2),v(d,{name:`popup`},{default:I(()=>[P(n).isOpen&&P(t).isReady&&!P(t).isError&&!e.focusMode?(O(),h(`div`,{key:0,class:C([`overlay__popup`,{"overlay__popup--fs":P(t).isFullscreen}]),onClick:i[3]||=L(()=>{},[`stop`])},[v(gt)],2)):m(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const bt=[`data-focused`],xt={"data-vjs-player":``},St={key:1,class:`player__native-play`};var Q=J(y({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=j(null),s=A(W(o,i,a)),c=j(!1),l=A(fe(N(s,`isPlaying`),c));k(G,s),k(K,l),k(q,N(i,`action`));let{isPortrait:u,cssRatio:d}=e(i.aspectRatio),_=j(null),y=typeof document<`u`&&!!document.startViewTransition,b=f(()=>i.focusMode&&y);F(()=>b.value?l.isOpen:!1,e=>{let t=()=>{c.value=e,s.fire(e?`focusstart`:`focusend`)};if(!_.value){t();return}_.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{t(),await S()}).finished.finally(()=>{_.value&&(_.value.style.viewTransitionName=``)})});function x(e){e.key===`Escape`&&c.value&&l.closeControls()}return D(()=>document.addEventListener(`keydown`,x)),E(()=>document.removeEventListener(`keydown`,x)),n(s),(e,t)=>(O(),h(`div`,{class:`player`,"data-focused":c.value?``:null},[c.value?(O(),h(`div`,{key:0,class:C([`player__placeholder`,{"player__shell--portrait":P(u)}]),style:T({aspectRatio:P(d)})},null,6)):m(`v-if`,!0),c.value?(O(),h(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>l.closeControls()})):m(`v-if`,!0),g(`div`,{ref_key:`focusFrameEl`,ref:_,class:C([`player__focus-frame`,{"player__focus-frame--active":c.value}])},[g(`div`,{class:C([`player__shell`,{"player__shell--portrait":P(u)}]),style:T({aspectRatio:P(d)}),onMousemove:t[1]||=e=>l.onMouseMove(),onContextmenuCapture:t[2]||=L(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>l.onMouseLeave()},[g(`div`,xt,[g(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?m(`v-if`,!0):(O(),p(yt,{key:0,"focus-mode":b.value,"is-focused":c.value},null,8,[`focus-mode`,`is-focused`])),s.nativeUi&&!s.hasStarted?(O(),h(`div`,St,[v(X,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):m(`v-if`,!0)])],38),c.value?(O(),h(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=L(()=>{},[`stop`])},[v(gt,{"focus-mode":``})])):m(`v-if`,!0)],2)],8,bt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Ct=j(0),wt=f(()=>Ct.value>0);function Tt(){Ct.value++}function Et(){Ct.value--}const Dt=[`src`],Ot={class:`stage__idle-body`},kt={class:`stage__idle-btn`},At={class:`stage__idle-title`},jt={key:1,class:`stage__idle-empty`};var Mt=J(y({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,i=j(null),a=j(null),s=j(!1),l=j(!1),d=j(null),f=j(null),_=j(!1),y=j(null);k(`compact`,_);let b=null;F(_,e=>{y.value=e&&f.value?f.value.offsetHeight:null});function S(){b?.disconnect(),d.value&&(b=new IntersectionObserver(([e])=>{_.value=!e.isIntersecting},{threshold:1}),b.observe(d.value))}F(d,S);function w(){a.value&&(a.value={...a.value,autoplay:!0},s.value=!0)}function A(){a.value=null,s.value=!1,l.value=!1,_.value=!1,y.value=null,N()}function N(){window.dispatchEvent(new CustomEvent(c,{detail:{currentVideoUrl:a.value?.videoUrl??null,isPlaying:l.value}}))}function P(e){let t=e.detail;if(a.value?.videoUrl===t.videoUrl&&s.value){i.value?.togglePlay();return}a.value=t,s.value=!1,l.value=!1,N(),s.value=!0}function I(e){let t=e.detail;!a.value||t.videoUrl!==a.value.videoUrl||(s.value?i.value?.togglePlay():(a.value={...a.value,autoplay:!0},s.value=!0))}function ee(e){e.type===`play`&&(l.value=!0),(e.type===`pause`||e.type===`ended`)&&(l.value=!1),N(),n(`state-change`,e)}return D(()=>{Tt(),window.addEventListener(o,P),window.addEventListener(r,I)}),E(()=>{Et(),window.removeEventListener(o,P),window.removeEventListener(r,I),b?.disconnect()}),(e,t)=>(O(),h(`div`,{ref_key:`wrapperEl`,ref:d,class:`stage-wrapper`,style:T(y.value?{height:y.value+`px`}:{})},[g(`div`,{ref_key:`stageEl`,ref:f,class:C([`stage`,{"stage--minified":_.value&&a.value&&s.value}])},[_.value&&a.value&&s.value?(O(),h(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:L(A,[`stop`])},[v(We)])):m(`v-if`,!0),a.value&&s.value?(O(),p(Q,x({ref_key:`playerRef`,ref:i,key:a.value.videoUrl},a.value,{onStateChange:ee}),null,16)):(O(),h(`div`,{key:2,class:`stage__idle`,style:T({aspectRatio:a.value?.aspectRatio||`16:9`}),onClick:w},[a.value?.poster?(O(),h(`img`,{key:0,src:a.value.poster,class:`stage__idle-poster`},null,8,Dt)):m(`v-if`,!0),t[0]||=g(`div`,{class:`stage__idle-scrim`},null,-1),g(`div`,Ot,[a.value?(O(),h(u,{key:0},[g(`div`,kt,[v(ge)]),g(`p`,At,M(a.value.title),1)],64)):(O(),h(`p`,jt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Nt={class:`placeholder`},Pt=[`src`,`alt`],Ft={class:`placeholder__btn-wrap`},It={key:2,class:`placeholder__footer`},Lt={class:`placeholder__title`};var $=J(y({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},setup(t){let n=t,{isPortrait:r,cssRatio:i}=e(n.aspectRatio),a=j(!1),s=j(!1);function l(e){let t=e.detail;a.value=t.currentVideoUrl===n.videoUrl,s.value=a.value&&t.isPlaying}function u(e){window.dispatchEvent(new CustomEvent(o,{detail:{...n,...e!==void 0&&{autoplay:e}}}))}function d(){u(!0)}return D(()=>{window.addEventListener(c,l),n.autoStage&&u()}),E(()=>window.removeEventListener(c,l)),(e,n)=>(O(),h(`div`,Nt,[g(`div`,{class:C([`placeholder__shell`,{"placeholder__shell--portrait":P(r),"placeholder__shell--active":a.value}]),style:T({aspectRatio:P(i)}),onClick:d},[t.poster?(O(),h(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Pt)):m(`v-if`,!0),n[0]||=g(`div`,{class:`placeholder__scrim`},null,-1),t.platform?(O(),h(`span`,{key:1,class:C([`placeholder__badge`,`badge--${t.platform}`])},M(t.platform),3)):m(`v-if`,!0),g(`div`,Ft,[v(X,{"is-playing":a.value&&s.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),t.title?(O(),h(`div`,It,[g(`p`,Lt,M(t.title),1)])):m(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Rt=y({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);return(e,t)=>P(wt)?(O(),p($,w(x({key:0},e.$props)),null,16)):(O(),h(u,{key:1},[n.lazy&&!i.value&&!n.autoplay?(O(),p($,x({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(O(),p(Q,x({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const zt={install(e){e.component(`VideoPlayer`,Q),e.component(`VideoStage`,Mt),e.component(`VideoPlaceholder`,$),e.component(`VideoItem`,Rt)}};export{q as ActionKey,K as HudKey,G as PlayerKey,Rt as VideoItem,$ as VideoPlaceholder,Q as VideoPlayer,zt as VideoPlayerPlugin,zt as default,Mt as VideoStage,te as getPlatform};
|
|
1
|
+
import{_ as e,a as t,d as n,f as r,g as i,h as a,i as o,m as s,o as c,p as l,r as u,v as d}from"./chunks/tech-BOi4jf1S.mjs";import{Fragment as f,Transition as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createStaticVNode as y,createVNode as b,defineComponent as x,inject as S,mergeProps as C,nextTick as w,normalizeClass as T,normalizeProps as E,normalizeStyle as D,onBeforeUnmount as O,onMounted as k,openBlock as A,provide as j,reactive as M,ref as N,toDisplayString as P,toRef as F,unref as I,watch as L,withCtx as R,withModifiers as z}from"vue";import ee from"video.js";const B={},te=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-Bdgt4YAG.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-BPrvb6Ag.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-jqj_nxA1.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-CN_ZkNs-.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-fi5Gx3WM.mjs`)}];function ne(e){return te.find(t=>t.test(e))?.key??`html5`}async function re(e){let t=te.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};B[t.key]||(B[t.key]=t.load());let n=null,{prefetchConfig:r}=await B[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}function ie(e){return!o(e)}function ae(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function oe(e,t){return!t||!ie(e)?!1:(await ae(),await import(`videojs-contrib-ads`),await import(`videojs-ima`),!0)}function se(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const V=new Set;function ce(e){return V.add(e),()=>V.delete(e)}function le(e){V.forEach(t=>{if(t!==e)try{t()}catch{}})}function ue(e,t){let n=N(!1),r=N(!1);function i(){let e=document;n.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function o(){let n=t();if(typeof n?.enterFullscreen==`function`){n.enterFullscreen();return}let r=n?.el();if(typeof r?.webkitEnterFullscreen==`function`){r.webkitEnterFullscreen();return}e()?.requestFullscreen()}function c(){let n=t();if(typeof n?.exitFullscreen==`function`){n.exitFullscreen();return}e()?.exitFullscreen()}function l(){if(e()){if(n.value){c();return}o()}}function u(e){e.on(`fullscreenchange`,()=>{n.value=e.isFullscreen()??!1}),e.on(s,()=>{r.value=!0}),e.on(a,()=>{r.value=!1})}return k(()=>{document.addEventListener(`fullscreenchange`,i),document.addEventListener(`webkitfullscreenchange`,i)}),O(()=>{document.removeEventListener(`fullscreenchange`,i),document.removeEventListener(`webkitfullscreenchange`,i)}),{isFullscreen:n,isFullscreenPending:r,toggleFullscreen:l,attachPlayerEvents:u}}function de(){let e=N(!1),t=null;function n(){clearTimeout(t??void 0),e.value=!1}function r(r){r.on(`waiting`,()=>{clearTimeout(t??void 0),t=setTimeout(()=>{e.value=!0},500)}),r.on(`playing`,n),r.on(`canplay`,n)}return O(()=>clearTimeout(t??void 0)),{isBuffering:e,attachPlayerEvents:r,reset:n}}const fe=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]];function pe(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of fe)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function H(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function me(e){localStorage.setItem(n,JSON.stringify(e))}function he(e,t){if(t<5)return;let n=H().filter(t=>t.url!==e);n.unshift({url:e,time:t}),me(n.slice(0,5))}function ge(e){return H().find(t=>t.url===e)?.time??null}function _e(e){me(H().filter(t=>t.url!==e))}function ve(e,t,n){let r=!1;function i(t){if(r)return;let n=ge(e);n&&t.currentTime(n),r=!0}function a(t){!t||n.value||he(e,t.currentTime()??0)}function o(){_e(e)}function s(){document.visibilityState===`hidden`&&a(t())}return k(()=>document.addEventListener(`visibilitychange`,s)),O(()=>{a(t()),document.removeEventListener(`visibilitychange`,s)}),{restoreOnce:i,save:a,clear:o}}function ye(e,t,n){let r=null;k(()=>{let i=e.value?.closest(`.player__shell`);i&&(r=new IntersectionObserver(([e])=>{let r=t();!e.isIntersecting&&r&&!r.paused()&&!n.value&&r.pause()},{threshold:.1}),r.observe(i))}),O(()=>r?.disconnect())}function be(e,t,n,r,i){function a(){let n=e();if(!(!n||!t.value)){if(n.paused()){n.play();return}n.pause()}}function o(t){e()?.currentTime(n.value*(t/100))}function s(){let t=e();t?.muted(!t.muted())}function c(t){let n=e();n&&(n.volume(t),n.muted(t===0))}function l(){r.value=!r.value}function u(t){let n=e();n&&(n.playbackRate(t),i.value=t)}return{togglePlay:a,seek:o,toggleMute:s,setVolume:c,toggleLoop:l,setPlaybackRate:u}}function xe(e,t){let{isPlaying:n,hasEnded:i,isReady:a,isAdPlaying:o,current:s,total:c,buffered:u,vol:d,isMuted:f,isLooping:p,playbackRate:m,supportsPlaybackRate:h,hasStarted:g,isError:_,errorMessage:v}=e,{getTech:y,fire:b,pauseThisPlayer:x,positionMemory:S,quartiles:C,buffering:w,fullscreen:T}=t;function E(e){e.ready(()=>{a.value=!0,h.value=!!y()?.featuresPlaybackRate});let t=()=>{let t=e.duration();t&&t>0&&isFinite(t)&&(c.value=t)};e.on([`adstart`,l],()=>{le(x),o.value=!0,b(`adstart`)}),e.on([`adend`,r],()=>{o.value=!1,b(`adend`)}),e.on(`play`,()=>{le(x),g.value=!0,n.value=!0,i.value=!1,S.restoreOnce(e),b(`play`)}),e.on(`pause`,()=>{n.value=!1,S.save(e),b(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,C.reset(),w.reset(),p.value){e.currentTime(0),e.play();return}c.value&&(s.value=c.value),i.value=!0,S.clear(),b(`ended`)}),e.on(`seeked`,()=>{b(`seeked`)}),e.on(`error`,()=>{let t=e.error();v.value=t?.message||`This video could not be played.`,_.value=!0,a.value=!0,b(`error`,{error:t})}),e.on(`timeupdate`,()=>{i.value||(s.value=e.currentTime()??0,c.value||t(),C.checkQuartiles())}),e.on(`durationchange`,t),e.on(`progress`,()=>{let t=e.duration();u.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();d.value=e.volume()??1,f.value=t??!1,g.value&&b(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;m.value=t,g.value&&b(`ratechange`,{playbackRate:t})}),w.attachPlayerEvents(e),T.attachPlayerEvents(e)}return{attachPlayerEvents:E}}function Se(e,t,n){let r=null,i=null,a=null,o=N(!1),s=N(!1),c=N(!1),l=N(!1),d=N(0),f=N(0),p=N(0),h=N(1),g=N(t.muted??t.autoplay??!1),_=N(!1),v=N(t.playbackRate??1),y=N(!1),b=N(!1),x=N(!1),S=N(``),C=N(!1),w=m(()=>f.value?d.value/f.value*100:0),T=m(()=>Math.max(p.value,w.value)),E=()=>r,D=()=>r?.tech({IWillNotUseThisInPlugins:!0}),A=ue(E,D),j=de(),M=ve(t.videoUrl,E,s);function P(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.videoUrl,...r,payload:t.payload})}let F=pe(d,f,P);function I(){!r||!a||(x.value=!1,S.value=``,r.src(a))}function R(){r?.pause()}let z=be(E,c,f,_,v),{attachPlayerEvents:B}=xe({isPlaying:o,hasEnded:s,isReady:c,isAdPlaying:l,current:d,total:f,buffered:p,vol:h,isMuted:g,isLooping:_,playbackRate:v,supportsPlaybackRate:y,hasStarted:b,isError:x,errorMessage:S},{getTech:D,fire:P,pauseThisPlayer:R,positionMemory:M,quartiles:F,buffering:j,fullscreen:A});return L(()=>t.muted,e=>{!r||e===void 0||r.muted(e)}),L(()=>t.playbackRate,e=>{!r||e===void 0||r.playbackRate(e)}),ye(e,E,A.isFullscreen),k(async()=>{let{tech:n,type:o,adTagUrl:s}=await re(t.videoUrl),c=n?[n,`Html5`]:[`Html5`],l=t.adTagUrl||s||``,u=await oe(n??`Html5`,l);if(!e.value)return;let d={src:t.videoUrl,...o&&{type:o}};a=d,C.value=!!(t.nativeUi&&!ie(n??``)),r=ee(e.value,{techOrder:c,controls:!1,fluid:!0,aspectRatio:t.aspectRatio??`16:9`,poster:t.poster||``,playsinline:!0,autoplay:t.autoplay,muted:t.muted??t.autoplay,playbackRate:v.value,adTagUrl:l,youtube:{nativeUi:C.value},vimeo:{nativeUi:C.value},dailymotion:{nativeUi:C.value},...!u&&{sources:[d]},...t.techOptions}),u&&(se(r,l,t.imaOptions??{}),r.src(d)),i=ce(R),B(r)}),O(()=>{i?.(),r?.dispose(),r=null}),{isPlaying:o,hasEnded:s,isReady:c,isAdPlaying:l,isBuffering:j.isBuffering,current:d,total:f,vol:h,isMuted:g,isLooping:_,playbackRate:v,hasStarted:b,isError:x,errorMessage:S,progress:w,bufferedDisplay:T,isFullscreen:A.isFullscreen,isFullscreenPending:A.isFullscreenPending,fmt:u,fire:P,retry:I,togglePlay:z.togglePlay,seek:z.seek,toggleMute:z.toggleMute,setVolume:z.setVolume,toggleFullscreen:A.toggleFullscreen,toggleLoop:z.toggleLoop,setPlaybackRate:z.setPlaybackRate,supportsPlaybackRate:y,nativeUi:C}}function Ce(e,t){let n=N(!0),r=N(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(){r.value=!1,e.value&&s()}function d(){e.value&&s()}function f(){n.value=!0,e.value&&s()}function p(){n.value=!0,s()}function m(){Date.now()<a||e.value&&s(600)}return L(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),O(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:m,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}function we(e,t,n,r,i){let a=typeof document<`u`&&!!document.startViewTransition,o=m(()=>t.value&&a);L(()=>o.value&&!n.isFullscreen?r.isOpen:!1,t=>{let r=()=>{e.value=t,document.documentElement.toggleAttribute(`data-video-focused`,t),n.fire(t?`focusstart`:`focusend`)};if(!i.value||n.isFullscreen){r();return}i.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{r(),await w()}).finished.finally(()=>{i.value&&(i.value.style.viewTransitionName=``)})}),L(()=>n.isFullscreen,()=>{r.isOpen&&r.closeControls()});function s(t){t.key===`Escape`&&e.value&&r.closeControls()}return k(()=>document.addEventListener(`keydown`,s)),O(()=>document.removeEventListener(`keydown`,s)),{focusModeEnabled:o}}function Te(e,t){let n=N({width:0,height:0});function r(){n.value={width:window.innerWidth,height:window.innerHeight}}return k(()=>{r(),window.addEventListener(`resize`,r)}),O(()=>window.removeEventListener(`resize`,r)),m(()=>{if(!e.value)return{};let[r,i]=t.value.split(`:`).map(Number),a=Math.min(720,n.value.width-32),o=Math.min(n.value.height*.6,n.value.height-32-140),s=a,c=s*i/r;return c>o&&(c=o,s=c*r/i),{width:`${s}px`,height:`${c}px`}})}const U=Symbol(`player`),W=Symbol(`hud`),G=Symbol(`action`);function Ee(e,t){let n=m(()=>e?.value??null),r=m(()=>!!n.value&&typeof n.value==`object`),i=m(()=>r.value?n.value:null),a=m(()=>n.value===`mute`?t.isMuted?`Unmute`:`Mute`:n.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function o(){n.value===`mute`?t.toggleMute():n.value===`loop`&&t.toggleLoop()}return{currentAction:n,isCustom:r,customAction:i,builtinLabel:a,onBuiltinClick:o}}var K=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const De={},Oe={viewBox:`0 0 24 24`,fill:`currentColor`};function ke(e,t){return A(),_(`svg`,Oe,[...t[0]||=[v(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var Ae=K(De,[[`render`,ke]]);const je={},Me={viewBox:`0 0 24 24`,fill:`currentColor`};function Ne(e,t){return A(),_(`svg`,Me,[...t[0]||=[v(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var Pe=K(je,[[`render`,Ne]]);const Fe={},Ie={viewBox:`0 0 24 24`,fill:`currentColor`};function Le(e,t){return A(),_(`svg`,Ie,[...t[0]||=[v(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var Re=K(Fe,[[`render`,Le]]);const ze=[`aria-label`];var q=K(x({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,default:!1},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){let t=e,n=m(()=>t.isPlaying?`Pause`:t.hasEnded?`Replay`:`Play`);return(t,r)=>(A(),_(`button`,{class:T([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":n.value,onClick:r[0]||=z(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(A(),h(Pe,{key:0})):e.hasEnded?(A(),h(Re,{key:1})):(A(),h(Ae,{key:2}))],10,ze))}}),[[`__scopeId`,`data-v-85902525`]]),J=K(x({__name:`Spinner`,props:{size:{type:Number,default:14},borderWidth:{type:Number,default:2}},setup(e){return(t,n)=>(A(),_(`div`,{class:`spinner`,style:D({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Be={},Ve={viewBox:`0 0 24 24`,fill:`currentColor`};function He(e,t){return A(),_(`svg`,Ve,[...t[0]||=[v(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Y=K(Be,[[`render`,He]]);const Ue={},We={viewBox:`0 0 24 24`,fill:`currentColor`};function Ge(e,t){return A(),_(`svg`,We,[...t[0]||=[v(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var X=K(Ue,[[`render`,Ge]]);const Ke={},qe={viewBox:`0 0 24 24`,fill:`currentColor`};function Je(e,t){return A(),_(`svg`,qe,[...t[0]||=[v(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var Ye=K(Ke,[[`render`,Je]]);const Xe={},Ze={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Qe(e,t){return A(),_(`svg`,Ze,[...t[0]||=[y(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var $e=K(Xe,[[`render`,Qe]]);const et={class:`hud`},tt=[`aria-label`],nt=[`aria-label`],rt=[`aria-label`,`innerHTML`],it={key:3,class:`hud__spacer`},at={class:`hud__play-wrap`},ot={key:5,class:`hud__spacer`};var st=K(x({__name:`HudButtons`,props:{isFocused:{type:Boolean,default:!1}},setup(e){let t=S(U),n=S(W),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,onBuiltinClick:s}=Ee(S(G),t);return(c,l)=>(A(),_(`div`,et,[!e.isFocused&&I(r)===`mute`?(A(),_(`button`,{key:0,class:T([`hud__btn`,{"hud__btn--active":I(t).isMuted}]),"aria-label":I(o),onClick:l[0]||=z((...e)=>I(s)&&I(s)(...e),[`stop`])},[!I(t).isMuted&&I(t).vol>0?(A(),h(Y,{key:0})):(A(),h(X,{key:1}))],10,tt)):!e.isFocused&&I(r)===`loop`?(A(),_(`button`,{key:1,class:T([`hud__btn`,{"hud__btn--active":I(t).isLooping}]),"aria-label":I(o),onClick:l[1]||=z((...e)=>I(s)&&I(s)(...e),[`stop`])},[b(Ye)],10,nt)):!e.isFocused&&I(i)&&I(a)?(A(),_(`button`,{key:2,class:`hud__btn`,"aria-label":I(a).label,onClick:l[2]||=z(e=>I(a).onClick(),[`stop`]),innerHTML:I(a).icon},null,8,rt)):(A(),_(`div`,it)),v(`div`,at,[b(q,{"is-playing":I(t).isPlaying,"has-ended":I(t).hasEnded,size:`lg`,onTogglePlay:I(t).togglePlay},null,8,[`is-playing`,`has-ended`,`onTogglePlay`]),I(t).isBuffering?(A(),h(J,{key:0,class:`hud__buf-spinner`})):g(`v-if`,!0)]),e.isFocused?(A(),_(`div`,ot)):(A(),_(`button`,{key:4,class:`hud__btn`,"aria-label":`Show controls`,onClick:l[3]||=z((...e)=>I(n).openControls&&I(n).openControls(...e),[`stop`])},[b($e)]))]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const ct={},lt={viewBox:`0 0 24 24`,fill:`currentColor`};function ut(e,t){return A(),_(`svg`,lt,[...t[0]||=[v(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var dt=K(ct,[[`render`,ut]]);const ft={class:`controls__vol-header`},pt=[`aria-label`],mt={class:`controls__vol-body`},ht=[`value`],gt={class:`controls__vol-pct`};var _t=K(x({__name:`VolumePanel`,emits:[`back`],setup(e){let t=S(U),n=S(W),r=m(()=>t.isMuted?0:Math.round(t.vol*100));function i(e){t.setVolume(Number(e.target.value)/100)}return(e,a)=>(A(),_(f,null,[v(`div`,ft,[v(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:a[0]||=t=>e.$emit(`back`)},[b(dt)]),a[6]||=v(`span`,{class:`controls__vol-label`},`Volume`,-1),v(`button`,{class:`controls__btn`,"aria-label":I(t).isMuted?`Unmute`:`Mute`,onClick:a[1]||=e=>I(t).toggleMute()},[!I(t).isMuted&&I(t).vol>0?(A(),h(Y,{key:0})):(A(),h(X,{key:1}))],8,pt)]),v(`div`,mt,[v(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`controls__vol-slider`,style:D({"--v":r.value+`%`}),"aria-label":`Volume`,onInput:i,onMousedown:a[2]||=e=>I(n).pauseHide(),onMouseup:a[3]||=e=>I(n).scheduleHide(),onTouchstartPassive:a[4]||=e=>I(n).pauseHide(),onTouchend:a[5]||=e=>I(n).scheduleHide()},null,44,ht),v(`span`,gt,P(r.value)+`%`,1)])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);const vt={},yt={viewBox:`0 0 24 24`,fill:`currentColor`};function bt(e,t){return A(),_(`svg`,yt,[...t[0]||=[v(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var xt=K(vt,[[`render`,bt]]);const St={},Ct={viewBox:`0 0 24 24`,fill:`currentColor`};function wt(e,t){return A(),_(`svg`,Ct,[...t[0]||=[v(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var Tt=K(St,[[`render`,wt]]);const Et={},Dt={viewBox:`0 0 24 24`,fill:`currentColor`};function Ot(e,t){return A(),_(`svg`,Dt,[...t[0]||=[v(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var kt=K(Et,[[`render`,Ot]]);const At=[`value`],jt={class:`controls__row`},Mt={class:`controls__play-wrap`},Nt={class:`controls__time`},Pt=[`aria-label`,`innerHTML`],Ft={key:3,class:`controls__fs-wrap`},It=[`aria-label`];var Lt=K(x({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let n=e,r=S(U),i=S(W),a=S(`compact`),o=m(()=>!!a?.value&&!n.focusMode),{isCustom:s,customAction:c}=Ee(S(G),r),l=N(!1),u=N(null);O(()=>{l.value=!1});function d(e){if(!document.startViewTransition||!u.value){e();return}i.suppressMouseLeave(),u.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await w()}).finished.finally(()=>{u.value&&(u.value.style.viewTransitionName=``)})}function p(){if(t()){r.toggleMute();return}d(()=>{l.value=!0})}let y=N(null),x=m(()=>y.value??r.progress);function C(e){y.value=Number(e.target.value)}function E(e){let t=Number(e.target.value);y.value=t,r.seek(t)}L(()=>r.current,()=>{if(y.value===null||!r.total)return;let e=y.value/100*r.total;Math.abs(r.current-e)<1&&(y.value=null)});let k=[.5,.75,1,1.25,1.5,2];function j(){let e=k[(k.indexOf(r.playbackRate)+1)%k.length];r.setPlaybackRate(e)}function M(e){return e===1?`1×`:`${e}×`}return(t,n)=>(A(),_(`div`,{ref_key:`popupEl`,ref:u,class:T([`controls`,{"controls--fs":I(r).isFullscreen||e.focusMode}]),onMousemove:n[10]||=z((...e)=>I(i).keepOpen&&I(i).keepOpen(...e),[`stop`])},[l.value?(A(),h(_t,{key:0,onBack:n[0]||=e=>d(()=>l.value=!1)})):(A(),_(f,{key:1},[o.value?g(`v-if`,!0):(A(),_(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:x.value,class:`controls__seek`,style:D({"--p":x.value+`%`,"--b":I(r).bufferedDisplay+`%`}),onInput:C,onChange:E,onMousedown:n[1]||=e=>I(i).pauseHide(),onMouseup:n[2]||=e=>I(i).scheduleHide(),onTouchstartPassive:n[3]||=e=>I(i).pauseHide(),onTouchend:n[4]||=e=>I(i).scheduleHide()},null,44,At)),v(`div`,jt,[v(`div`,Mt,[I(r).isBuffering?(A(),h(J,{key:0})):(A(),h(q,{key:1,"is-playing":I(r).isPlaying,"has-ended":I(r).hasEnded,size:`sm`,onTogglePlay:n[5]||=e=>I(r).togglePlay()},null,8,[`is-playing`,`has-ended`]))]),v(`span`,Nt,P(I(r).fmt(I(r).current))+` / `+P(I(r).fmt(I(r).total)),1),!o.value&&I(r).supportsPlaybackRate?(A(),_(`button`,{key:0,class:T([`controls__btn controls__btn--rate`,{"controls__btn--active":I(r).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:j},P(M(I(r).playbackRate)),3)):g(`v-if`,!0),o.value?g(`v-if`,!0):(A(),_(`button`,{key:1,class:T([`controls__btn`,{"controls__btn--active":I(r).isLooping}]),"aria-label":`Toggle loop`,onClick:n[6]||=e=>I(r).toggleLoop()},[b(Ye)],2)),v(`button`,{class:`controls__btn`,"aria-label":`Volume`,onClick:p},[!I(r).isMuted&&I(r).vol>0?(A(),h(Y,{key:0})):(A(),h(X,{key:1}))]),I(s)&&I(c)?(A(),_(`button`,{key:2,class:`controls__btn`,"aria-label":I(c).label,onClick:n[7]||=e=>I(c).onClick(),innerHTML:I(c).icon},null,8,Pt)):g(`v-if`,!0),o.value?g(`v-if`,!0):(A(),_(`div`,Ft,[I(r).isFullscreenPending?(A(),h(J,{key:0})):(A(),_(`button`,{key:1,class:`controls__btn`,"aria-label":I(r).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:n[8]||=e=>I(r).toggleFullscreen()},[I(r).isFullscreen?(A(),h(kt,{key:0})):(A(),h(Tt,{key:1}))],8,It))])),v(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:n[9]||=e=>I(i).closeControls()},[b(xt)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Rt={key:0,class:`overlay__spinner`},zt={key:0,class:`overlay__error`};var Bt=K(x({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1},disableTapCapture:{type:Boolean,default:!1}},setup(e){let t=S(U),n=S(W);return(r,i)=>(A(),_(f,null,[e.disableTapCapture?g(`v-if`,!0):(A(),_(`div`,{key:0,class:`overlay__tap-capture`,style:D({pointerEvents:!I(t).hasStarted||I(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>I(n).onVideoTap&&I(n).onVideoTap(...e),onTouchend:i[1]||=z((...e)=>I(n).onVideoTap&&I(n).onVideoTap(...e),[`prevent`,`stop`])},null,36)),b(p,{name:`fade`},{default:R(()=>[!I(t).isReady&&!I(t).isError?(A(),_(`div`,Rt,[b(J,{size:40,"border-width":3})])):g(`v-if`,!0)]),_:1}),b(p,{name:`fade`},{default:R(()=>[I(t).isError?(A(),_(`div`,zt,[v(`p`,null,P(I(t).errorMessage||`This video could not be played.`),1),v(`button`,{class:`overlay__retry`,onClick:i[2]||=z((...e)=>I(t).retry&&I(t).retry(...e),[`stop`])},`Retry`)])):g(`v-if`,!0)]),_:1}),v(`div`,{class:T([`overlay__hud`,{"overlay__hud--visible":I(n).showHUD&&I(t).isReady&&!I(t).isError&&!(I(n).isOpen&&I(t).isFullscreen)}])},[b(st,{"is-focused":e.isFocused},null,8,[`is-focused`])],2),b(p,{name:`popup`},{default:R(()=>[I(n).isOpen&&I(t).isReady&&!I(t).isError&&!(e.focusMode&&!I(t).isFullscreen)?(A(),_(`div`,{key:0,class:T([`overlay__popup`,{"overlay__popup--fs":I(t).isFullscreen}]),onClick:i[3]||=z(()=>{},[`stop`])},[b(Lt)],2)):g(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const Vt=[`data-focused`],Ht={"data-vjs-player":``},Ut={key:1,class:`player__native-play`};var Z=K(x({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1},disableTapCapture:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=N(null),o=M(Se(a,r,i)),s=N(!1),l=M(Ce(F(o,`isPlaying`),s));j(U,o),j(W,l),j(G,F(r,`action`));let{isPortrait:u,cssRatio:d}=c(r.aspectRatio),f=N(null),{focusModeEnabled:p}=we(s,F(r,`focusMode`),o,l,f),m=Te(s,F(r,`aspectRatio`));return t(o),(e,t)=>(A(),_(`div`,{class:`player`,"data-focused":s.value?``:null},[s.value?(A(),_(`div`,{key:0,class:T([`player__placeholder`,{"player__shell--portrait":I(u)}]),style:D({aspectRatio:I(d)})},null,6)):g(`v-if`,!0),s.value?(A(),_(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>l.closeControls()})):g(`v-if`,!0),v(`div`,{ref_key:`focusFrameEl`,ref:f,class:T([`player__focus-frame`,{"player__focus-frame--active":s.value}])},[v(`div`,{class:T([`player__shell`,{"player__shell--portrait":I(u)}]),style:D([{aspectRatio:I(d)},I(m)]),onMousemove:t[1]||=e=>l.onMouseMove(),onContextmenuCapture:t[2]||=z(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>l.onMouseLeave()},[v(`div`,Ht,[v(`video`,{ref_key:`videoEl`,ref:a,class:`video-js`,playsinline:``},null,512),o.nativeUi?g(`v-if`,!0):(A(),h(Bt,{key:0,"focus-mode":I(p),"is-focused":s.value,"disable-tap-capture":r.disableTapCapture},null,8,[`focus-mode`,`is-focused`,`disable-tap-capture`])),o.nativeUi&&!o.hasStarted?(A(),_(`div`,Ut,[b(q,{"is-playing":!1,size:`lg`,onTogglePlay:o.togglePlay},null,8,[`onTogglePlay`])])):g(`v-if`,!0)])],38),s.value?(A(),_(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=z(()=>{},[`stop`])},[b(Lt,{"focus-mode":``})])):g(`v-if`,!0)],2)],8,Vt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Q=N(0),Wt=m(()=>Q.value>0);function Gt(){Q.value++}function Kt(){Q.value--}const qt=[`src`],Jt={class:`stage__idle-body`},Yt={class:`stage__idle-btn`},Xt={class:`stage__idle-title`},Zt={key:1,class:`stage__idle-empty`};var Qt=K(x({__name:`VideoStage`,props:{pinPosition:{type:String,required:!1,default:`bottom-right`}},emits:[`state-change`],setup(t,{emit:n}){let r=n,a=N(null),o=N(null),s=N(!1),c=N(!1),l=N(null),u=N(null),p=N(!1),m=N(null);j(`compact`,p);let y=null;L(p,e=>{m.value=e&&u.value?u.value.offsetHeight:null});function x(){y?.disconnect(),l.value&&(y=new IntersectionObserver(([e])=>{p.value=!e.isIntersecting},{threshold:1}),y.observe(l.value))}L(l,x);function S(){o.value&&(o.value={...o.value,autoplay:!0},s.value=!0)}function w(){o.value=null,s.value=!1,c.value=!1,p.value=!1,m.value=null,E()}function E(){window.dispatchEvent(new CustomEvent(e,{detail:{currentVideoUrl:o.value?.videoUrl??null,isPlaying:c.value}}))}function M(e){let t=e.detail;if(o.value?.videoUrl===t.videoUrl&&s.value){a.value?.togglePlay();return}o.value=t,s.value=!1,c.value=!1,E(),s.value=!0}function F(e){let t=e.detail;!o.value||t.videoUrl!==o.value.videoUrl||(s.value?a.value?.togglePlay():(o.value={...o.value,autoplay:!0},s.value=!0))}function I(e){e.type===`play`&&(c.value=!0),(e.type===`pause`||e.type===`ended`)&&(c.value=!1),E(),r(`state-change`,e)}return k(()=>{Gt(),window.addEventListener(i,M),window.addEventListener(d,F)}),O(()=>{Kt(),window.removeEventListener(i,M),window.removeEventListener(d,F),y?.disconnect()}),(e,n)=>(A(),_(`div`,{ref_key:`wrapperEl`,ref:l,class:`stage-wrapper`,style:D(m.value?{height:m.value+`px`}:{})},[v(`div`,{ref_key:`stageEl`,ref:u,class:T([`stage`,{"stage--minified":p.value&&o.value&&s.value,[`stage--pin-${t.pinPosition}`]:p.value&&o.value&&s.value}])},[p.value&&o.value&&s.value?(A(),_(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:z(w,[`stop`])},[b(xt)])):g(`v-if`,!0),o.value&&s.value?(A(),h(Z,C({ref_key:`playerRef`,ref:a,key:o.value.videoUrl},o.value,{onStateChange:I}),null,16)):(A(),_(`div`,{key:2,class:`stage__idle`,style:D({aspectRatio:o.value?.aspectRatio||`16:9`}),onClick:S},[o.value?.poster?(A(),_(`img`,{key:0,src:o.value.poster,class:`stage__idle-poster`},null,8,qt)):g(`v-if`,!0),n[0]||=v(`div`,{class:`stage__idle-scrim`},null,-1),v(`div`,Jt,[o.value?(A(),_(f,{key:0},[v(`div`,Yt,[b(Ae)]),v(`p`,Xt,P(o.value.title),1)],64)):(A(),_(`p`,Zt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const $t={class:`placeholder`},en=[`src`,`alt`],tn={class:`placeholder__btn-wrap`},nn={key:2,class:`placeholder__footer`},rn={class:`placeholder__title`};var $=K(x({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1},disableTapCapture:{type:Boolean,required:!1}},setup(t){let n=t,{isPortrait:r,cssRatio:a}=c(n.aspectRatio),o=N(!1),s=N(!1);function l(e){let t=e.detail;o.value=t.currentVideoUrl===n.videoUrl,s.value=o.value&&t.isPlaying}function u(e){window.dispatchEvent(new CustomEvent(i,{detail:{...n,...e!==void 0&&{autoplay:e}}}))}function d(){u(!0)}return k(()=>{window.addEventListener(e,l),n.autoStage&&u()}),O(()=>window.removeEventListener(e,l)),(e,n)=>(A(),_(`div`,$t,[v(`div`,{class:T([`placeholder__shell`,{"placeholder__shell--portrait":I(r),"placeholder__shell--active":o.value}]),style:D({aspectRatio:I(a)}),onClick:d},[t.poster?(A(),_(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,en)):g(`v-if`,!0),n[0]||=v(`div`,{class:`placeholder__scrim`},null,-1),t.platform?(A(),_(`span`,{key:1,class:T([`placeholder__badge`,`badge--${t.platform}`])},P(t.platform),3)):g(`v-if`,!0),v(`div`,tn,[b(q,{"is-playing":o.value&&s.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),t.title?(A(),_(`div`,nn,[v(`p`,rn,P(t.title),1)])):g(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),an=x({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1},disableTapCapture:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=N(!1);return(e,t)=>I(Wt)?(A(),h($,E(C({key:0},e.$props)),null,16)):(A(),_(f,{key:1},[n.lazy&&!i.value&&!n.autoplay?(A(),h($,C({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(A(),h(Z,C({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const on={install(e){e.component(`VideoPlayer`,Z),e.component(`VideoStage`,Qt),e.component(`VideoPlaceholder`,$),e.component(`VideoItem`,an)}};export{G as ActionKey,W as HudKey,U as PlayerKey,an as VideoItem,$ as VideoPlaceholder,Z as VideoPlayer,on as VideoPlayerPlugin,on as default,Qt as VideoStage,ne as getPlatform};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ppbtn[data-v-85902525]{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn[data-v-85902525]:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg[data-v-85902525]{background:var(--mvp-btn-bg,#ffffff1a);width:64px;height:64px;color:var(--mvp-btn-color,#fff)}.ppbtn--lg svg[data-v-85902525]{width:28px;height:28px}.ppbtn--lg[data-v-85902525]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm[data-v-85902525]{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg[data-v-85902525]{width:16px;height:16px}.ppbtn--sm[data-v-85902525]:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-a6d118e7]{align-items:center;gap:20px;display:flex}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:44px;height:44px}.hud__btn[data-v-a6d118e7]{background:var(--mvp-btn-bg,#ffffff1a);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--mvp-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn svg[data-v-a6d118e7]{width:18px;height:18px}.hud__btn[data-v-a6d118e7]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{color:#93c5fd;background:#3b82f64d;border-color:#3b82f680}.hud__btn--active[data-v-a6d118e7]:hover{background:#3b82f673}::view-transition-old(controls-popup),::view-transition-new(controls-popup){animation-duration:.22s;animation-timing-function:ease-in-out}@keyframes spin-5712aad4{to{transform:rotate(360deg)}}.controls[data-v-5712aad4]{-webkit-backdrop-filter:blur(20px);background:#0a0a0ed1;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);padding:14px 16px 12px;display:flex;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:calc(100% - 32px)}.controls__seek[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, #3b82f6 0%, #3b82f6 var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek[data-v-5712aad4]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .15s;box-shadow:0 0 0 3px #3b82f64d}.controls__seek[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek[data-v-5712aad4]::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-progress{background:#3b82f6;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 3px #3b82f64d}.controls__vol-slider[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider[data-v-5712aad4]:hover{height:7px}.controls__vol-slider[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider[data-v-5712aad4]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider[data-v-5712aad4]::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.controls__vol-header[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-5712aad4]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-5712aad4]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__buf-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}.controls__btn[data-v-5712aad4]{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__btn svg[data-v-5712aad4]{width:16px;height:16px}.controls__btn[data-v-5712aad4]:hover{color:#fff;background:#ffffff1a}.controls__btn--rate[data-v-5712aad4]{font-variant-numeric:tabular-nums;letter-spacing:.02em;width:auto;min-width:30px;padding:0 4px;font-size:.65rem;font-weight:700}.controls__btn--active[data-v-5712aad4]{color:#3b82f6}.controls__btn--active[data-v-5712aad4]:hover{color:#60a5fa}.controls__btn--close[data-v-5712aad4]{color:#fff6}.controls__btn--close[data-v-5712aad4]:hover{color:#fffc}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__fs-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}@keyframes spin-f3307b98{to{transform:rotate(360deg)}}.overlay__tap-capture[data-v-f3307b98]{z-index:2;position:absolute;inset:0}.overlay__spinner[data-v-f3307b98]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__spinner-ring[data-v-f3307b98]{border:3px solid #ffffff1f;border-top-color:#fffc;border-radius:50%;width:40px;height:40px;animation:.75s linear infinite spin-f3307b98}.fade-enter-active[data-v-f3307b98],.fade-leave-active[data-v-f3307b98]{transition:opacity .25s}.fade-enter-from[data-v-f3307b98],.fade-leave-to[data-v-f3307b98]{opacity:0}.overlay__error[data-v-f3307b98]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-f3307b98]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-f3307b98]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-f3307b98]:hover{background:#fff3}.overlay__hud[data-v-f3307b98]{z-index:4;opacity:0;pointer-events:all;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay__hud--visible[data-v-f3307b98]{opacity:1}.overlay__popup[data-v-f3307b98]{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__popup--fs[data-v-f3307b98]{align-items:flex-end}.popup-enter-active[data-v-f3307b98],.popup-leave-active[data-v-f3307b98]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-f3307b98],.popup-leave-to[data-v-f3307b98]{opacity:0;transform:scale(.95)}.vjs-svg-icon{fill:currentColor;background-position:50%;background-repeat:no-repeat;width:1.8em;height:1.8em;display:inline-block}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5PXgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==)format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.vjs-icon-play-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play-circle:before{content:""}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-spinner{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-spinner:before{content:""}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:""}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:""}.vjs-icon-hd{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-hd:before{content:""}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:""}.vjs-icon-downloading{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-downloading:before{content:""}.vjs-icon-file-download{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download:before{content:""}.vjs-icon-file-download-done{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-done:before{content:""}.vjs-icon-file-download-off{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-off:before{content:""}.vjs-icon-share{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-share:before{content:""}.vjs-icon-cog{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cog:before{content:""}.vjs-icon-square{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-square:before{content:""}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:""}.vjs-icon-circle-outline{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-outline:before{content:""}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-inner-circle:before{content:""}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:""}.vjs-icon-repeat{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-repeat:before{content:""}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:""}.vjs-icon-next-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-next-item:before{content:""}.vjs-icon-previous-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-previous-item:before{content:""}.vjs-icon-shuffle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-shuffle:before{content:""}.vjs-icon-cast{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cast:before{content:""}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-facebook{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-facebook:before{content:""}.vjs-icon-linkedin{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-linkedin:before{content:""}.vjs-icon-twitter{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-twitter:before{content:""}.vjs-icon-tumblr{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-tumblr:before{content:""}.vjs-icon-pinterest{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pinterest:before{content:""}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:""}.video-js{vertical-align:top;box-sizing:border-box;color:#fff;word-break:initial;background-color:#000;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:400;line-height:1;display:inline-block;position:relative}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js :before,.video-js :after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;list-style-position:outside}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{width:100%;height:100%;position:absolute;top:0;left:0}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{height:100%;margin:0;padding:0}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{z-index:1000;position:fixed;inset:0;overflow:hidden}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{display:block;width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{text-align:center;background-color:#000000b3;width:100%;padding:.5em;font-size:2em;position:absolute;bottom:10%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{font-size:1.4em;bottom:0}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{width:1px;height:1px;position:absolute;top:0;left:-9999px}.vjs-lock-showing{opacity:1!important;visibility:visible!important;display:block!important}.vjs-no-js{color:#fff;text-align:center;background-color:#000;width:300px;height:150px;margin:0 auto;padding:20px;font-family:Arial,Helvetica,sans-serif;font-size:18px}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{cursor:pointer;opacity:1;background-color:#2b333fb3;border:.06666em solid #fff;border-radius:.3em;width:3em;height:1.63332em;margin-top:-.81666em;margin-left:-1.5em;padding:0;font-size:3em;line-height:1.5em;transition:all .4s;display:block;position:absolute;top:50%;left:50%}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{background-color:#73859f80;border-color:#fff;transition:all}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{color:inherit;font-size:inherit;line-height:inherit;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;text-decoration:none;transition:none;display:inline-block}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{box-shadow:none;outline:.0625em solid #fff}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;z-index:2;height:3em;position:absolute;top:.5em;right:0}.video-js .vjs-modal-dialog{background:linear-gradient(#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{z-index:1;padding:20px 24px;font-size:1.2em;line-height:1.5}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;display:block;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{text-align:center;text-transform:lowercase;justify-content:center;margin:0;padding:.2em 0;font-size:1.2em;line-height:1.4em;list-style:none;display:flex}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{color:#2b333f;background-color:#fff}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;cursor:default;margin:0 0 .3em;padding:0;font-size:1em;font-weight:700;line-height:2em}.vjs-menu-button-popup .vjs-menu{border-top-color:#2b333fb3;width:10em;height:0;margin-bottom:1.5em;display:none;position:absolute;bottom:0;left:-3em}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333fb3;width:100%;max-height:15em;position:absolute;bottom:1.5em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.22222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;width:auto;height:100%;margin:0;padding:0;transition:all .4s;position:absolute;top:0;left:4em}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{opacity:1;display:block}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{background-color:#2b333fb3;width:100%;height:3em;display:none;position:absolute;bottom:0;left:0;right:0}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s;display:flex}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{text-align:center;flex:none;width:4em;height:100%;margin:0;padding:0;position:relative}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{clip:rect(0 0 0 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;touch-action:none;flex:auto;align-items:center;min-width:4em;display:flex}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{align-items:center;display:flex}.video-js .vjs-progress-holder{flex:auto;height:.3em;transition:all .2s}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.66667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{width:0;height:100%;margin:0;padding:0;display:block;position:absolute}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{z-index:1;font-size:.9em;line-height:.35em;position:absolute;right:-.5em}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;line-height:.15em;position:absolute;top:-.35em;right:-.4em}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{visibility:visible;font-size:.6em;display:block}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{z-index:1;background-color:#000;width:1px;height:100%;display:none;position:absolute}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js .vjs-slider{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f80;margin:0 .45em;padding:0;position:relative}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s,height .1s,width .1s,left,top;position:relative}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{transition:left;left:-3.5em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{width:3em;height:8em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;left:-3000em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{background-color:#fff;position:absolute;bottom:0;left:0}.video-js .vjs-volume-level:before{z-index:1;font-size:.9em;position:absolute}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{z-index:1;top:-.5em;left:-.3em}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;position:absolute}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{background-color:#2b333fb3;width:3em;height:8em;bottom:8em}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{visibility:visible;font-size:1em;display:block}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{top:-12px;left:1em}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{z-index:1;background-color:#000;width:100%;height:1px;display:none;position:absolute}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000c}.vjs-poster{vertical-align:middle;cursor:pointer;height:100%;margin:0;padding:0;display:inline-block;position:absolute;inset:0}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{object-fit:contain;width:100%;height:100%}.video-js .vjs-live-control{flex:auto;align-items:flex-start;font-size:1em;line-height:3em;display:flex}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{cursor:pointer;flex:none;align-items:center;width:auto;min-width:4em;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;display:inline-flex}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{color:#888;margin-right:.5em}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{pointer-events:none;fill:#888;width:1em;height:1em}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;width:auto;min-width:2em;padding-left:1em;padding-right:1em;font-size:1em;line-height:3em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{display:none}.vjs-time-divider{line-height:3em;display:none}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{pointer-events:none;position:absolute;inset:0 0 3em}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{text-align:center;margin-bottom:.1em;font-size:1.4em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset:10px){.video-js .vjs-text-track-display>div{inset:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;text-align:center;font-size:1.5em;line-height:2}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{text-align:center;font-size:1.4em}.vjs-loading-spinner{opacity:.85;text-align:left;box-sizing:border-box;visibility:hidden;background-clip:padding-box;border:.6em solid #2b333fb3;border-radius:50%;width:5em;height:5em;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{justify-content:center;align-items:center;animation:0s linear .3s forwards vjs-spinner-show;display:flex}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:#fff #0000 #0000;position:absolute}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:1.1s cubic-bezier(.6,.2,0,.8) infinite vjs-spinner-spin,1.1s linear infinite vjs-spinner-fade}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:"";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:" ";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{color:#fff;background-color:#2b333fbf;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{grid-template-rows:1fr;grid-template-columns:1fr 1fr;padding:20px 24px 0;display:grid}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-bottom:.5em;margin-right:1em}.vjs-text-track-settings fieldset{border:none;margin:10px}.vjs-text-track-settings fieldset span{padding:0 .6em .8em;display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-size:1.2em;font-weight:700}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{background-image:linear-gradient(#73859f 0%,#fff 12%);outline-width:medium;outline-style:solid}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{color:#2b333f;cursor:pointer;background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{pointer-events:none;background:linear-gradient(#000000e6 0%,#000000b3 60%,#0000 100%);width:100%;padding:.666em 1.333em 4em;font-size:1.2em;line-height:1.5;transition:opacity .1s;position:absolute;top:0}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vjs-title-bar-title{margin-bottom:.333em;font-weight:700}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{cursor:pointer;opacity:1;background-color:#32323280;justify-content:center;align-items:center;height:3em;transition:opacity 1s;display:flex;position:absolute}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{z-index:-1000;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.js-focus-visible .video-js :focus:not(.focus-visible),.video-js :focus:not(:focus-visible){outline:none}.player[data-v-4ab3cf75]{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;max-width:800px;margin:0 auto}[data-vjs-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{cursor:pointer;background:#000;border-radius:12px;position:relative;overflow:hidden}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-width:100%;max-height:75vh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__placeholder[data-v-4ab3cf75]{opacity:.4;background:#000;border-radius:12px;width:100%}.player__backdrop[data-v-4ab3cf75]{z-index:999;background:0 0;position:fixed;inset:0}.player__focus-frame--active[data-v-4ab3cf75]{z-index:1000;flex-direction:column;gap:12px;width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.player__focus-frame--active .player__shell[data-v-4ab3cf75]{width:100%}.player__focus-frame--active .player__shell--portrait[data-v-4ab3cf75]{max-width:400px;max-height:min(75vh,100vh - 140px)}.player__focus-controls[data-v-4ab3cf75]{justify-content:center;display:flex}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100vh}.player__shell:fullscreen .video-js[data-v-4ab3cf75],.player__shell:fullscreen [data-vjs-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.video-js{background:#000;border-radius:12px;overflow:hidden}.video-js .vjs-big-play-button,.video-js .vjs-control-bar,.video-js .vjs-error-display{display:none!important}.video-js .vjs-poster{background-size:cover;transition:opacity .3s}.video-js .vjs-poster img{object-fit:cover}.video-js.vjs-has-started .vjs-poster{opacity:0;pointer-events:none}.vjs-dailymotion .vjs-tech>*,.vjs-dailymotion .dailymotion-player-root,.vjs-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.vjs-vimeo .vjs-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.vjs-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.video-js .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.vjs-ad-playing .ima-ad-container{pointer-events:auto}.vjs-ad-playing .overlay__tap-capture,.vjs-ad-playing .overlay__hud,.vjs-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:800px;margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage__dismiss[data-v-fb8c86cf]{z-index:10;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.stage__dismiss[data-v-fb8c86cf]:hover{background:#000000d9}.stage__dismiss svg[data-v-fb8c86cf]{width:14px;height:14px}.stage--minified[data-v-fb8c86cf]{z-index:100;border-radius:12px;width:300px;max-width:300px;margin:0;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden;box-shadow:0 8px 32px #0009}.stage__idle[data-v-fb8c86cf]{cursor:pointer;background:#111;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%}.placeholder__shell[data-v-dbcb4f82]{cursor:pointer;background:#111;border-radius:8px;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75vh;margin:0 auto}.placeholder__shell--active[data-v-dbcb4f82]{outline-offset:2px;outline:2px solid #60a5fa}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.placeholder__badge[data-v-dbcb4f82]{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:6px;left:6px}
|
|
1
|
+
.ppbtn[data-v-85902525]{backdrop-filter:blur(12px);will-change:backdrop-filter;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn[data-v-85902525]:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg[data-v-85902525]{background:var(--mvp-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--mvp-btn-color,#fff)}.ppbtn--lg svg[data-v-85902525]{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg[data-v-85902525]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm[data-v-85902525]{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg[data-v-85902525]{width:16px;height:16px}.ppbtn--sm[data-v-85902525]:hover{color:#fff;background:#ffffff1a;transform:none}@keyframes spin-259be2b2{to{transform:rotate(360deg)}}.spinner[data-v-259be2b2]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-259be2b2}.hud[data-v-a6d118e7]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-a6d118e7]{display:flex;position:relative}.hud__buf-spinner[data-v-a6d118e7]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-a6d118e7]{background:var(--mvp-btn-bg,#ffffff1a);backdrop-filter:blur(12px);will-change:backdrop-filter;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--mvp-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn svg[data-v-a6d118e7]{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-a6d118e7]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{color:#93c5fd;background:#3b82f64d;border-color:#3b82f680}.hud__btn--active[data-v-a6d118e7]:hover{background:#3b82f673}.controls__vol-header[data-v-10b0ae67]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-10b0ae67]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-10b0ae67]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-10b0ae67]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__vol-slider[data-v-10b0ae67]{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider[data-v-10b0ae67]:hover{height:7px}.controls__vol-slider[data-v-10b0ae67]::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider[data-v-10b0ae67]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider[data-v-10b0ae67]:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider[data-v-10b0ae67]::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider[data-v-10b0ae67]::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider[data-v-10b0ae67]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}::view-transition-old(controls-popup),::view-transition-new(controls-popup){animation-duration:.22s;animation-timing-function:ease-in-out}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls[data-v-5712aad4]{-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);padding:14px 16px 12px;display:flex;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:100%}.controls__seek[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, #3b82f6 0%, #3b82f6 var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek[data-v-5712aad4]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .15s;box-shadow:0 0 0 3px #3b82f64d}.controls__seek[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek[data-v-5712aad4]::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-progress{background:#3b82f6;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 3px #3b82f64d}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--rate[data-v-5712aad4]{font-variant-numeric:tabular-nums;letter-spacing:.02em;width:auto;min-width:30px;padding:0 4px;font-size:.65rem;font-weight:700}.controls__btn--active[data-v-5712aad4]{color:#3b82f6}.controls__btn--active[data-v-5712aad4]:hover{color:#60a5fa}.controls__btn--close[data-v-5712aad4]{color:#fff6}.controls__btn--close[data-v-5712aad4]:hover{color:#fffc}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__tap-capture[data-v-f3307b98]{z-index:2;position:absolute;inset:0}.overlay__spinner[data-v-f3307b98]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-f3307b98],.fade-leave-active[data-v-f3307b98]{transition:opacity .25s}.fade-enter-from[data-v-f3307b98],.fade-leave-to[data-v-f3307b98]{opacity:0}.overlay__error[data-v-f3307b98]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-f3307b98]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-f3307b98]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-f3307b98]:hover{background:#fff3}.overlay__hud[data-v-f3307b98]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-f3307b98]{opacity:1;pointer-events:all}.overlay__popup[data-v-f3307b98]{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__popup--fs[data-v-f3307b98]{align-items:flex-end}.popup-enter-active[data-v-f3307b98],.popup-leave-active[data-v-f3307b98]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-f3307b98],.popup-leave-to[data-v-f3307b98]{opacity:0;transform:scale(.95)}.vjs-svg-icon{fill:currentColor;background-position:50%;background-repeat:no-repeat;width:1.8em;height:1.8em;display:inline-block}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5PXgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==)format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.vjs-icon-play-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play-circle:before{content:""}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-spinner{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-spinner:before{content:""}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:""}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:""}.vjs-icon-hd{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-hd:before{content:""}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:""}.vjs-icon-downloading{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-downloading:before{content:""}.vjs-icon-file-download{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download:before{content:""}.vjs-icon-file-download-done{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-done:before{content:""}.vjs-icon-file-download-off{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-off:before{content:""}.vjs-icon-share{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-share:before{content:""}.vjs-icon-cog{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cog:before{content:""}.vjs-icon-square{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-square:before{content:""}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:""}.vjs-icon-circle-outline{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-outline:before{content:""}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-inner-circle:before{content:""}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:""}.vjs-icon-repeat{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-repeat:before{content:""}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:""}.vjs-icon-next-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-next-item:before{content:""}.vjs-icon-previous-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-previous-item:before{content:""}.vjs-icon-shuffle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-shuffle:before{content:""}.vjs-icon-cast{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cast:before{content:""}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-facebook{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-facebook:before{content:""}.vjs-icon-linkedin{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-linkedin:before{content:""}.vjs-icon-twitter{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-twitter:before{content:""}.vjs-icon-tumblr{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-tumblr:before{content:""}.vjs-icon-pinterest{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pinterest:before{content:""}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:""}.video-js{vertical-align:top;box-sizing:border-box;color:#fff;word-break:initial;background-color:#000;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:400;line-height:1;display:inline-block;position:relative}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js :before,.video-js :after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;list-style-position:outside}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{width:100%;height:100%;position:absolute;top:0;left:0}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{height:100%;margin:0;padding:0}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{z-index:1000;position:fixed;inset:0;overflow:hidden}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{display:block;width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{text-align:center;background-color:#000000b3;width:100%;padding:.5em;font-size:2em;position:absolute;bottom:10%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{font-size:1.4em;bottom:0}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{width:1px;height:1px;position:absolute;top:0;left:-9999px}.vjs-lock-showing{opacity:1!important;visibility:visible!important;display:block!important}.vjs-no-js{color:#fff;text-align:center;background-color:#000;width:300px;height:150px;margin:0 auto;padding:20px;font-family:Arial,Helvetica,sans-serif;font-size:18px}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{cursor:pointer;opacity:1;background-color:#2b333fb3;border:.06666em solid #fff;border-radius:.3em;width:3em;height:1.63332em;margin-top:-.81666em;margin-left:-1.5em;padding:0;font-size:3em;line-height:1.5em;transition:all .4s;display:block;position:absolute;top:50%;left:50%}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{background-color:#73859f80;border-color:#fff;transition:all}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{color:inherit;font-size:inherit;line-height:inherit;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;text-decoration:none;transition:none;display:inline-block}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{box-shadow:none;outline:.0625em solid #fff}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;z-index:2;height:3em;position:absolute;top:.5em;right:0}.video-js .vjs-modal-dialog{background:linear-gradient(#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{z-index:1;padding:20px 24px;font-size:1.2em;line-height:1.5}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;display:block;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{text-align:center;text-transform:lowercase;justify-content:center;margin:0;padding:.2em 0;font-size:1.2em;line-height:1.4em;list-style:none;display:flex}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{color:#2b333f;background-color:#fff}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;cursor:default;margin:0 0 .3em;padding:0;font-size:1em;font-weight:700;line-height:2em}.vjs-menu-button-popup .vjs-menu{border-top-color:#2b333fb3;width:10em;height:0;margin-bottom:1.5em;display:none;position:absolute;bottom:0;left:-3em}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333fb3;width:100%;max-height:15em;position:absolute;bottom:1.5em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.22222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;width:auto;height:100%;margin:0;padding:0;transition:all .4s;position:absolute;top:0;left:4em}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{opacity:1;display:block}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{background-color:#2b333fb3;width:100%;height:3em;display:none;position:absolute;bottom:0;left:0;right:0}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s;display:flex}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{text-align:center;flex:none;width:4em;height:100%;margin:0;padding:0;position:relative}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{clip:rect(0 0 0 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;touch-action:none;flex:auto;align-items:center;min-width:4em;display:flex}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{align-items:center;display:flex}.video-js .vjs-progress-holder{flex:auto;height:.3em;transition:all .2s}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.66667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{width:0;height:100%;margin:0;padding:0;display:block;position:absolute}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{z-index:1;font-size:.9em;line-height:.35em;position:absolute;right:-.5em}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;line-height:.15em;position:absolute;top:-.35em;right:-.4em}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{visibility:visible;font-size:.6em;display:block}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{z-index:1;background-color:#000;width:1px;height:100%;display:none;position:absolute}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js .vjs-slider{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f80;margin:0 .45em;padding:0;position:relative}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s,height .1s,width .1s,left,top;position:relative}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{transition:left;left:-3.5em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{width:3em;height:8em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;left:-3000em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{background-color:#fff;position:absolute;bottom:0;left:0}.video-js .vjs-volume-level:before{z-index:1;font-size:.9em;position:absolute}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{z-index:1;top:-.5em;left:-.3em}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;position:absolute}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{background-color:#2b333fb3;width:3em;height:8em;bottom:8em}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{visibility:visible;font-size:1em;display:block}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{top:-12px;left:1em}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{z-index:1;background-color:#000;width:100%;height:1px;display:none;position:absolute}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000c}.vjs-poster{vertical-align:middle;cursor:pointer;height:100%;margin:0;padding:0;display:inline-block;position:absolute;inset:0}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{object-fit:contain;width:100%;height:100%}.video-js .vjs-live-control{flex:auto;align-items:flex-start;font-size:1em;line-height:3em;display:flex}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{cursor:pointer;flex:none;align-items:center;width:auto;min-width:4em;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;display:inline-flex}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{color:#888;margin-right:.5em}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{pointer-events:none;fill:#888;width:1em;height:1em}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;width:auto;min-width:2em;padding-left:1em;padding-right:1em;font-size:1em;line-height:3em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{display:none}.vjs-time-divider{line-height:3em;display:none}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{pointer-events:none;position:absolute;inset:0 0 3em}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{text-align:center;margin-bottom:.1em;font-size:1.4em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset:10px){.video-js .vjs-text-track-display>div{inset:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;text-align:center;font-size:1.5em;line-height:2}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{text-align:center;font-size:1.4em}.vjs-loading-spinner{opacity:.85;text-align:left;box-sizing:border-box;visibility:hidden;background-clip:padding-box;border:.6em solid #2b333fb3;border-radius:50%;width:5em;height:5em;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{justify-content:center;align-items:center;animation:0s linear .3s forwards vjs-spinner-show;display:flex}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:#fff #0000 #0000;position:absolute}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:1.1s cubic-bezier(.6,.2,0,.8) infinite vjs-spinner-spin,1.1s linear infinite vjs-spinner-fade}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:"";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:" ";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{color:#fff;background-color:#2b333fbf;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{grid-template-rows:1fr;grid-template-columns:1fr 1fr;padding:20px 24px 0;display:grid}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-bottom:.5em;margin-right:1em}.vjs-text-track-settings fieldset{border:none;margin:10px}.vjs-text-track-settings fieldset span{padding:0 .6em .8em;display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-size:1.2em;font-weight:700}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{background-image:linear-gradient(#73859f 0%,#fff 12%);outline-width:medium;outline-style:solid}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{color:#2b333f;cursor:pointer;background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{pointer-events:none;background:linear-gradient(#000000e6 0%,#000000b3 60%,#0000 100%);width:100%;padding:.666em 1.333em 4em;font-size:1.2em;line-height:1.5;transition:opacity .1s;position:absolute;top:0}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vjs-title-bar-title{margin-bottom:.333em;font-weight:700}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{cursor:pointer;opacity:1;background-color:#32323280;justify-content:center;align-items:center;height:3em;transition:opacity 1s;display:flex;position:absolute}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{z-index:-1000;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.js-focus-visible .video-js :focus:not(.focus-visible),.video-js :focus:not(:focus-visible){outline:none}.player[data-v-4ab3cf75]{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;max-width:800px;margin:0 auto}[data-vjs-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{border-radius:var(--mvp-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-width:100%;max-height:75vh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__placeholder[data-v-4ab3cf75]{border-radius:var(--mvp-radius,12px);opacity:.4;background:#000;width:100%}.player__backdrop[data-v-4ab3cf75]{z-index:999;background:0 0;position:fixed;inset:0}.player__focus-frame--active[data-v-4ab3cf75]{z-index:1000;flex-direction:column;gap:12px;width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.player__focus-frame--active .player__shell[data-v-4ab3cf75],.player__focus-frame--active .player__shell--portrait[data-v-4ab3cf75]{align-self:center;margin:0}.player__focus-controls[data-v-4ab3cf75]{justify-content:center;display:flex}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100vh}.player__shell:fullscreen .video-js[data-v-4ab3cf75],.player__shell:fullscreen [data-vjs-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.video-js{border-radius:var(--mvp-radius,12px);background:#000;overflow:hidden}.video-js .vjs-big-play-button,.video-js .vjs-control-bar,.video-js .vjs-error-display,.vjs-youtube .vjs-loading-spinner,.vjs-vimeo .vjs-loading-spinner,.vjs-dailymotion .vjs-loading-spinner{display:none!important}.video-js .vjs-poster{background-size:cover;transition:opacity .3s}.video-js .vjs-poster img{object-fit:cover}.video-js.vjs-has-started .vjs-poster{opacity:0;pointer-events:none}.vjs-dailymotion .vjs-tech>*,.vjs-dailymotion .dailymotion-player-root,.vjs-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.vjs-vimeo .vjs-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.vjs-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.video-js .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.vjs-ad-playing .ima-ad-container{pointer-events:auto}.vjs-ad-playing .overlay__tap-capture,.vjs-ad-playing .overlay__hud,.vjs-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:800px;margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage__dismiss[data-v-fb8c86cf]{z-index:10;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.stage__dismiss[data-v-fb8c86cf]:hover{background:#000000d9}.stage__dismiss svg[data-v-fb8c86cf]{width:14px;height:14px}.stage--minified[data-v-fb8c86cf]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-fb8c86cf],.stage--pin-bottom-left[data-v-fb8c86cf],.stage--pin-top-right[data-v-fb8c86cf],.stage--pin-top-left[data-v-fb8c86cf]{border-radius:var(--mvp-radius,12px);width:300px;max-width:300px;@media (width<=740px){max-width:200px}}.stage--pin-bottom-right[data-v-fb8c86cf]{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left[data-v-fb8c86cf]{bottom:1.25rem;left:1.25rem}.stage--pin-top-right[data-v-fb8c86cf]{top:1.25rem;right:1.25rem}.stage--pin-top-left[data-v-fb8c86cf]{top:1.25rem;left:1.25rem}.stage--pin-full-width[data-v-fb8c86cf]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-fb8c86cf]{border-radius:var(--mvp-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%}.placeholder__shell[data-v-dbcb4f82]{cursor:pointer;background:#111;border-radius:8px;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75vh;margin:0 auto}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.placeholder__badge[data-v-dbcb4f82]{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:6px;left:6px}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./tech-DYVa4zaY.mjs";import t from"video.js";const n={};function r(e){let t=e.match(/^brightcove:\/\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$/);return t?{accountId:t[1],playerId:t[2],embed:t[3],videoId:t[4]}:null}function i(e){return(e?.plugins??[]).find(e=>e.name===`ima3`)?.options?.serverUrl??null}async function a(e,t,r,a){let o=`${e}/${t}_${r}`;if(n[o])return n[o];let s=await fetch(`https://players.brightcove.net/${e}/${t}_${r}/config.json`);if(!s.ok)throw Error(`Brightcove: could not load player config (${s.status})`);let c=await s.json(),l=a??c?.video_cloud?.policy_key;if(!l)throw Error(`Brightcove: policy_key not found in player config`);let u={policyKey:l,adTagUrl:i(c)};return n[o]=u,u}async function o(e,t){let n=r(e);if(!n)return null;let{accountId:i,playerId:o,embed:s}=n;return a(i,o,s,t)}async function s(t,n,r){let i=await fetch(`https://edge.api.brightcove.com/playback/v1/accounts/${t}/videos/${n}`,{headers:{Accept:`application/json;pk=${r}`}});if(!i.ok)throw Error(`Brightcove Playback API error: ${i.status}`);let a=await i.json(),o=e(a.sources||[]);if(!o.length)throw Error(`Brightcove: no playable sources found`);return{sources:o.map(e=>({src:e.src,type:e.type})),poster:a.poster??a.thumbnail??null}}t.use(`video/brightcove`,e=>({setSource(n,i){let o=r(n.src);if(!o){i(Error(`Brightcove: invalid src — expected "brightcove://accountId/playerId/embed/videoId"`),n);return}let{accountId:c,playerId:l,embed:u,videoId:d}=o,f=e.options_?.brightcove?.policyKey;(async()=>{try{let{policyKey:n}=await a(c,l,u,f);t.log(`Brightcove: resolved policy key, fetching sources…`);let{sources:r,poster:o}=await s(c,d,n);t.log(`Brightcove: sources resolved`,r),o&&!e.poster()&&e.poster(o),i(null,r[0])}catch(e){t.log.error(`Brightcove error:`,e.message),i(e,n)}})()}}));export{o as prefetchConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{a as n}from"./tech-hIKMwrTq.mjs";var r=e(t(),1);const i={};function a(e){let t=e.match(/^brightcove:\/\/([^/]+)\/([^/]+)\/([^/]+)\/([^/]+)$/);return t?{accountId:t[1],playerId:t[2],embed:t[3],videoId:t[4]}:null}function o(e){return(e?.plugins??[]).find(e=>e.name===`ima3`)?.options?.serverUrl??null}async function s(e,t,n,r){let a=`${e}/${t}_${n}`;if(i[a])return i[a];let s=await fetch(`https://players.brightcove.net/${e}/${t}_${n}/config.json`);if(!s.ok)throw Error(`Brightcove: could not load player config (${s.status})`);let c=await s.json(),l=r??c?.video_cloud?.policy_key;if(!l)throw Error(`Brightcove: policy_key not found in player config`);let u={policyKey:l,adTagUrl:o(c)};return i[a]=u,u}async function c(e,t){let n=a(e);if(!n)return null;let{accountId:r,playerId:i,embed:o}=n;return s(r,i,o,t)}async function l(e,t,r){let i=await fetch(`https://edge.api.brightcove.com/playback/v1/accounts/${e}/videos/${t}`,{headers:{Accept:`application/json;pk=${r}`}});if(!i.ok)throw Error(`Brightcove Playback API error: ${i.status}`);let a=await i.json(),o=n(a.sources||[]);if(!o.length)throw Error(`Brightcove: no playable sources found`);return{sources:o.map(e=>({src:e.src,type:e.type})),poster:a.poster??a.thumbnail??null}}r.default.use(`video/brightcove`,e=>({setSource(t,n){let i=a(t.src);if(!i){n(Error(`Brightcove: invalid src — expected "brightcove://accountId/playerId/embed/videoId"`),t);return}let{accountId:o,playerId:c,embed:u,videoId:d}=i,f=e.options_?.brightcove?.policyKey;(async()=>{try{let{policyKey:t}=await s(o,c,u,f);r.default.log(`Brightcove: resolved policy key, fetching sources…`);let{sources:i,poster:a}=await l(o,d,t);r.default.log(`Brightcove: sources resolved`,i),a&&!e.poster()&&e.poster(a),n(null,i[0])}catch(e){r.default.log.error(`Brightcove error:`,e.message),n(e,t)}})()}}));export{c as prefetchConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=`video-select`,t=`video-toggle`,n=`video-state`,r=`fullscreen-pending`,i=`fullscreen-pending-done`,a=`ads-pod-started`,o=`ads-pod-ended`,s=`player:positions`;export{i as a,t as c,r as i,o as n,e as o,a as r,n as s,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,r as n,t as r}from"./tech-DYVa4zaY.mjs";import{a as i,i as a}from"./constants-DZGeSme4.mjs";import{t as o}from"./loadScript-Du6JsTc2.mjs";import s from"video.js";const c=s.getTech(`Tech`);var l=class t extends c{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){s.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await o(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){s.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return s.createTimeRange(0,this._currentTime)}seekable(){return s.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return e()}enterFullscreen(){if(n()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){r()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(a);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=this._playerId?`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`:`https://geo.dailymotion.com/player.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,r=document.createElement(`iframe`);r.src=n,r.setAttribute(`allow`,`autoplay; fullscreen`),r.setAttribute(`allowfullscreen`,`true`),r.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(r);let o=!1,s=()=>{o||(o=!0,document.removeEventListener(`fullscreenchange`,c),document.removeEventListener(`webkitfullscreenchange`,c),this.player_.trigger(i),t.remove(),this._dm?.seek(e),this._dm?.play())},c=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&s()};document.addEventListener(`fullscreenchange`,c),document.addEventListener(`webkitfullscreenchange`,c),r.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(e){e?.src&&(this.source=e,this.videoId=t.parseVideoId(e.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),c.prototype.dispose.call(this)}};l.isSupported=()=>!0,l.canPlayType=e=>e===`video/dailymotion`?`probably`:``,l.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,l.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},t(`Dailymotion`,l);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{c as n,o as r,r as i,t as a}from"./tech-hIKMwrTq.mjs";import{a as o,i as s}from"./constants-DZGeSme4.mjs";import{t as c}from"./loadScript-Du6JsTc2.mjs";var l=e(t(),1);const u=l.default.getTech(`Tech`);var d=class e extends u{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){l.default.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await c(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){l.default.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return l.default.createTimeRange(0,this._currentTime)}seekable(){return l.default.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return n()}enterFullscreen(){if(i()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){a()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(s);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=this._playerId?`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`:`https://geo.dailymotion.com/player.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,r=document.createElement(`iframe`);r.src=n,r.setAttribute(`allow`,`autoplay; fullscreen`),r.setAttribute(`allowfullscreen`,`true`),r.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(r);let i=!1,a=()=>{i||(i=!0,document.removeEventListener(`fullscreenchange`,c),document.removeEventListener(`webkitfullscreenchange`,c),this.player_.trigger(o),t.remove(),this._dm?.seek(e),this._dm?.play())},c=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&a()};document.addEventListener(`fullscreenchange`,c),document.addEventListener(`webkitfullscreenchange`,c),r.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(t){t?.src&&(this.source=t,this.videoId=e.parseVideoId(t.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),u.prototype.dispose.call(this)}};d.isSupported=()=>!0,d.canPlayType=e=>e===`video/dailymotion`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,d.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},r(`Dailymotion`,d);export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./tech-DYVa4zaY.mjs";import t from"video.js";const n={};function r(e){return e.match(/cdn\.jwplayer\.com\/videos\/([^-]+)/)?.[1]??e.match(/cdn\.jwplayer\.com\/manifests\/([^.]+)/)?.[1]??e.match(/^jwplayer:\/\/([^/]+)$/)?.[1]??null}function i(e){let t=e?.advertising?.schedule;return Array.isArray(t)&&t.length?t[0].tag??null:e?.advertising?.tag??null}async function a(t){if(n[t])return n[t];let r=await fetch(`https://cdn.jwplayer.com/v2/media/${t}`);if(!r.ok)throw Error(`JW Platform API error: ${r.status}`);let a=(await r.json()).playlist?.[0];if(!a)throw Error(`JW Platform: empty playlist`);let o=e((a.sources??[]).map(e=>({src:e.file,type:e.type})));if(!o.length)throw Error(`JW Platform: no playable sources found`);let s={src:o[0].src,type:o[0].type,poster:a.image??null,adTagUrl:i(a)};return n[t]=s,s}async function o(e){let t=r(e);if(!t)throw Error(`JW Platform: unrecognised source URL: ${e}`);let n=await a(t);if(e.startsWith(`jwplayer://`))return n;let i=/\.mp4(\?|$)/.test(e)?`video/mp4`:`application/x-mpegURL`;return{...n,src:e,type:i}}async function s(e){let t=r(e);return t?a(t).catch(()=>null):null}t.use(`video/jwplayer`,e=>({setSource(n,r){(async()=>{try{let{src:i,type:a,poster:s}=await o(n.src);t.log(`JW Platform: resolved source`,i),s&&!e.poster()&&e.poster(s),r(null,{src:i,type:a})}catch(e){t.log.error(`JW Platform error:`,e.message),r(e,n)}})()}}));export{s as prefetchConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{a as n}from"./tech-hIKMwrTq.mjs";var r=e(t(),1);const i={};function a(e){return e.match(/cdn\.jwplayer\.com\/videos\/([^-]+)/)?.[1]??e.match(/cdn\.jwplayer\.com\/manifests\/([^.]+)/)?.[1]??e.match(/^jwplayer:\/\/([^/]+)$/)?.[1]??null}function o(e){let t=e?.advertising?.schedule;return Array.isArray(t)&&t.length?t[0].tag??null:e?.advertising?.tag??null}async function s(e){if(i[e])return i[e];let t=await fetch(`https://cdn.jwplayer.com/v2/media/${e}`);if(!t.ok)throw Error(`JW Platform API error: ${t.status}`);let r=(await t.json()).playlist?.[0];if(!r)throw Error(`JW Platform: empty playlist`);let a=n((r.sources??[]).map(e=>({src:e.file,type:e.type})));if(!a.length)throw Error(`JW Platform: no playable sources found`);let s={src:a[0].src,type:a[0].type,poster:r.image??null,adTagUrl:o(r)};return i[e]=s,s}async function c(e){let t=a(e);if(!t)throw Error(`JW Platform: unrecognised source URL: ${e}`);let n=await s(t);if(e.startsWith(`jwplayer://`))return n;let r=/\.mp4(\?|$)/.test(e)?`video/mp4`:`application/x-mpegURL`;return{...n,src:e,type:r}}async function l(e){let t=a(e);return t?s(t).catch(()=>null):null}r.default.use(`video/jwplayer`,e=>({setSource(t,n){(async()=>{try{let{src:i,type:a,poster:o}=await c(t.src);r.default.log(`JW Platform: resolved source`,i),o&&!e.poster()&&e.poster(o),n(null,{src:i,type:a})}catch(e){r.default.log.error(`JW Platform error:`,e.message),n(e,t)}})()}}));export{l as prefetchConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"video.js";function t(){return/iPad|iPhone|iPod/.test(navigator.userAgent)||/Mac/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function n(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled)}function r(e){(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)}function i(){(document.exitFullscreen||document.webkitExitFullscreen)?.call(document)}function a(t,n){e.registerTech(t,n)}function o(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}function s(e){return!e||isNaN(e)?`0:00`:`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function c(e){return e.filter(e=>e.src&&(e.type===`application/x-mpegURL`||e.type===`video/mp4`)).sort((e,t)=>e.type===`application/x-mpegURL`?-1:1)}export{c as a,n as c,o as i,s as n,a as o,t as r,r as s,i as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";var n=e(t(),1);function r(){return/iPad|iPhone|iPod/.test(navigator.userAgent)||/Mac/.test(navigator.userAgent)&&navigator.maxTouchPoints>1}function i(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled)}function a(e){(e.requestFullscreen||e.webkitRequestFullscreen)?.call(e)}function o(){(document.exitFullscreen||document.webkitExitFullscreen)?.call(document)}function s(e,t){n.default.registerTech(e,t)}function c(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}function l(e){return!e||isNaN(e)?`0:00`:`${Math.floor(e/60)}:${String(Math.floor(e%60)).padStart(2,`0`)}`}function u(e){return e.filter(e=>e.src&&(e.type===`application/x-mpegURL`||e.type===`video/mp4`)).sort((e,t)=>e.type===`application/x-mpegURL`?-1:1)}export{u as a,i as c,c as i,l as n,s as o,r,a as s,o as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n,t as r}from"./tech-DYVa4zaY.mjs";import i from"video.js";import a from"@vimeo/player";const o=i.getTech(`Tech`);var s=class t extends o{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this.setSrc(this.options_.source,!0),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-vimeo`),this.initVimeoPlayer())})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);return t.appendChild(e),t}initVimeoPlayer(){if(!this.url||!this.url.videoId)return;let e={id:this.url.videoId,byline:!1,portrait:!1,title:!1,transparent:!0,controls:!!this.options_.nativeUi,autopause:!1,width:`100%`,height:`100%`};this.options_.autoplay!==void 0&&(e.autoplay=this.options_.autoplay),this.options_.loop!==void 0&&(e.loop=this.options_.loop),this.options_.muted!==void 0&&(e.muted=this.options_.muted),this.vimeoPlayer=new a(this.options_.techId,e),this.vimeoPlayer.ready().then(()=>this.onPlayerReady()).catch(e=>{this.player_.error({code:4,message:e?.message||`This video is unavailable or cannot be embedded here.`})}),this.vimeoPlayer.on(`play`,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),this.vimeoPlayer.on(`pause`,()=>{this._paused=!0,this.trigger(`pause`)}),this.vimeoPlayer.on(`ended`,()=>{this._paused=!0,this.trigger(`ended`)}),this.vimeoPlayer.on(`timeupdate`,({seconds:e,duration:t})=>{this._currentTime=e,this._duration=t,this.trigger(`timeupdate`),t&&!this._durationSet&&(this._durationSet=!0,this.trigger(`durationchange`))}),this.vimeoPlayer.on(`loaded`,()=>{this._durationSet=!1,this.trigger(`loadedmetadata`),this.trigger(`durationchange`)}),this.vimeoPlayer.on(`seeking`,({seconds:e})=>{this._currentTime=e,this._seeking=!0,this.trigger(`seeking`)}),this.vimeoPlayer.on(`seeked`,({seconds:e})=>{this._currentTime=e,this._seeking=!1,this.trigger(`seeked`),this.trigger(`timeupdate`)}),this.vimeoPlayer.on(`bufferstart`,()=>this.trigger(`waiting`)),this.vimeoPlayer.on(`bufferend`,()=>this.trigger(`canplay`)),this.vimeoPlayer.on(`volumechange`,({volume:e})=>{this._volume=e,this.trigger(`volumechange`)}),this.vimeoPlayer.on(`error`,e=>this.trigger(`error`,e)),this.vimeoPlayer.on(`fullscreenchange`,({fullscreen:e})=>{this.trigger(`fullscreenchange`,{isFullscreen:e})})}enterFullscreen(){n(this.player_.el().parentElement)}exitFullscreen(){r()}onPlayerReady(){this.triggerReady(),this.options_.muted&&this.vimeoPlayer.setMuted(!0),this.playOnReady&&this.play()}setSrc(e){!e||!e.src||(this.source=e,this.url=t.parseUrl(e.src),this.options_.autoplay&&(this.playOnReady=!0))}play(){if(!this.vimeoPlayer){this.playOnReady=!0;return}this.vimeoPlayer.play().catch(()=>{})}pause(){this.vimeoPlayer?.pause().catch(()=>{})}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this.vimeoPlayer?.setCurrentTime(e).catch(()=>{}),this.trigger(`timeupdate`),this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this.vimeoPlayer?.setVolume(e).catch(()=>{})}muted(){return this._muted}setMuted(e){this._muted=e,this.vimeoPlayer?.setMuted(e).then(()=>{this.setTimeout(()=>this.trigger(`volumechange`),50)}).catch(()=>{})}buffered(){return i.createTimeRange(0,this._currentTime)}seekable(){return i.createTimeRange(0,this._duration)}playbackRate(){return this._playbackRate||1}setPlaybackRate(e){this._playbackRate=e,this.vimeoPlayer?.setPlaybackRate(e).catch(()=>{}),this.trigger(`ratechange`)}preload(){}load(){}reset(){}currentSrc(){return this.source?.src||``}ended(){return!1}networkState(){return+!!this.vimeoPlayer}readyState(){return this.vimeoPlayer?4:0}supportsFullScreen(){return e()}dispose(){this.vimeoPlayer?.destroy().catch(()=>{}),this.vimeoPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-vimeo`),o.prototype.dispose.call(this)}};s.isSupported=()=>!0,s.canPlayType=e=>e===`video/vimeo`?`probably`:``,s.canPlaySource=({type:e,src:t})=>e===`video/vimeo`?`probably`:/vimeo\.com|player\.vimeo\.com/.test(t)?`maybe`:``,s.parseUrl=e=>{let t={videoId:null},n=e.match(/(?:vimeo\.com\/(?:video\/|channels\/[^/]+\/|groups\/[^/]+\/videos\/)?|player\.vimeo\.com\/video\/)(\d+)/);return n&&(t.videoId=n[1]),t},t(`Vimeo`,s);export{s as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,r as n,s as r,t as i}from"./tech-DYVa4zaY.mjs";import{a,i as o}from"./constants-DZGeSme4.mjs";import{t as s}from"./loadScript-Du6JsTc2.mjs";import c from"video.js";const l=c.getTech(`Tech`),u=c.browser.IS_IOS||c.browser.IS_NATIVE_ANDROID;var d=class t extends l{constructor(e,n){super(e,n),this.setPoster(e.poster),this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-youtube`),u&&this.el_.parentNode.classList.add(`vjs-youtube-mobile`),t.isApiReady?this.initYTPlayer():t.apiReadyQueue.push(this))})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);if(t.appendChild(e),!u&&!this.options_.nativeUi&&!this.options_.ytControls){let e=document.createElement(`div`);e.setAttribute(`class`,`vjs-iframe-blocker`),e.setAttribute(`style`,`position:absolute;top:0;left:0;width:100%;height:100%`),e.onclick=()=>this.pause(),t.appendChild(e)}return t}initYTPlayer(){let e=this.options_,t={controls:+!!e.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!e.muted,loop:+!!e.loop,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,...e.iv_load_policy!==void 0&&{iv_load_policy:e.iv_load_policy},...e.cc_load_policy!==void 0&&{cc_load_policy:e.cc_load_policy},...e.color!==void 0&&{color:e.color},...e.hl!==void 0&&{hl:e.hl},...e.playsinline!==void 0&&{playsinline:e.playsinline},...e.rel!==void 0&&{rel:e.rel},...e.start!==void 0&&{start:e.start},...e.end!==void 0&&{end:e.end},...e.ytControls!==void 0&&{controls:e.ytControls},...e.customVars};e.youtube&&Object.assign(t,e.youtube),this.activeVideoId=this.url?.videoId??null,this.ytPlayer=new window.YT.Player(this.options_.techId,{videoId:this.activeVideoId,playerVars:t,...e.enablePrivacyEnhancedMode&&{host:`https://www.youtube-nocookie.com`},events:{onReady:this.onPlayerReady.bind(this),onStateChange:this.onPlayerStateChange.bind(this),onPlaybackRateChange:this.onPlayerPlaybackRateChange.bind(this),onVolumeChange:this.onPlayerVolumeChange.bind(this),onError:this.onPlayerError.bind(this)}}),window.yt=this.ytPlayer}onPlayerReady(){this.ytPlayer.getAvailablePlaybackRates().length>1&&(this.featuresPlaybackRate=!0),this.playerReady_=!0,this.triggerReady(),this.playOnReady?this.play():this.cueOnReady&&(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId)}_isAdPlaying(){try{let e=this.ytPlayer?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}onPlayerStateChange(e){let t=e.data;if(t===this.lastState||this.errorNumber)return;this.lastState=t;let n=this._isAdPlaying();switch(n!==this._adWasPlaying&&(this._adWasPlaying=n,this.trigger(n?`adstart`:`adend`)),t){case-1:this.trigger(`loadstart`),this.trigger(`loadedmetadata`),this.trigger(`durationchange`),this.trigger(`ratechange`);break;case YT.PlayerState.ENDED:this.trigger(`ended`);break;case YT.PlayerState.PLAYING:this.trigger(`timeupdate`),this.trigger(`durationchange`),this.trigger(`playing`),this.trigger(`play`),this.isSeeking&&this.onSeeked();break;case YT.PlayerState.PAUSED:this.trigger(`canplay`),this.isSeeking||this.trigger(`pause`);break;case YT.PlayerState.BUFFERING:this.player_.trigger(`waiting`);break;case YT.PlayerState.CUED:this.trigger(`canplay`);break}this.startInterval&&=(clearInterval(this.startInterval),null),t===YT.PlayerState.PLAYING&&(this.startInterval=setInterval(()=>this.trigger(`timeupdate`),250))}onPlayerPlaybackRateChange(){this.trigger(`ratechange`)}onPlayerVolumeChange(){this.trigger(`volumechange`)}onPlayerError(e){this.errorNumber=e.data,this.trigger(`error`),this.setTimeout(()=>{this.errorNumber=null},0)}play(){this.url?.videoId&&(this.wasPausedBeforeSeek=!1,this.isReady_?this.activeVideoId===this.url.videoId?this.ytPlayer.playVideo():(this.loadVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):(this.trigger(`waiting`),this.playOnReady=!0))}pause(){this.ytPlayer?.pauseVideo()}paused(){return this.ytPlayer?this.lastState!==YT.PlayerState.PLAYING&&this.lastState!==YT.PlayerState.BUFFERING:!0}loadVideoById_(e){this.ytPlayer.loadVideoById({videoId:e})}cueVideoById_(e){this.ytPlayer.cueVideoById({videoId:e})}currentTime(){return this.ytPlayer?.getCurrentTime()??0}setCurrentTime(e){this.lastState===YT.PlayerState.PAUSED&&(this.timeBeforeSeek=this.currentTime()),this.isSeeking||(this.wasPausedBeforeSeek=this.paused()),this.ytPlayer.seekTo(e,!0),this.trigger(`timeupdate`),this.trigger(`seeking`),this.isSeeking=!0,this.lastState===YT.PlayerState.PAUSED&&this.timeBeforeSeek!==e&&(clearInterval(this.checkSeekedInPauseInterval),this.checkSeekedInPauseInterval=setInterval(()=>{this.lastState!==YT.PlayerState.PAUSED||!this.isSeeking?clearInterval(this.checkSeekedInPauseInterval):this.currentTime()!==this.timeBeforeSeek&&(this.trigger(`timeupdate`),this.onSeeked())},250))}onSeeked(){clearInterval(this.checkSeekedInPauseInterval),this.isSeeking=!1,this.wasPausedBeforeSeek&&this.pause(),this.trigger(`seeked`)}seeking(){return this.isSeeking}seekable(){return c.createTimeRange(0,this.ytPlayer?.getDuration()??0)}duration(){return this.ytPlayer?.getDuration()??0}ended(){return this.ytPlayer?this.lastState===YT.PlayerState.ENDED:!1}volume(){return this.ytPlayer?this.ytPlayer.getVolume()/100:1}setVolume(e){this.ytPlayer?.setVolume(e*100)}muted(){return this.ytPlayer?.isMuted()??!1}setMuted(e){this.ytPlayer&&(e?this.ytPlayer.mute():this.ytPlayer.unMute(),this.setTimeout(()=>this.trigger(`volumechange`),50))}buffered(){return this.ytPlayer?.getVideoLoadedFraction?c.createTimeRange(0,this.ytPlayer.getVideoLoadedFraction()*this.ytPlayer.getDuration()):c.createTimeRange()}playbackRate(){return this.ytPlayer?.getPlaybackRate()??1}setPlaybackRate(e){this.ytPlayer?.setPlaybackRate(e)}currentSrc(){return this.source?.src??``}preload(){}load(){}reset(){}networkState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 3:return 2;default:return 1}}readyState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 5:return 1;case 3:return 2;default:return 4}}supportsFullScreen(){return e()}setSrc(e){e?.src&&(this.source=e,this.url=t.parseUrl(e.src),!this.options_.poster&&this.url.videoId&&(this.poster_=`https://img.youtube.com/vi/${this.url.videoId}/0.jpg`,this.setTimeout(()=>{this.trigger(`posterchange`),this.checkHighResPoster()},0)),this.options_.autoplay?this.isReady_?this.play():this.playOnReady=!0:this.activeVideoId!==this.url.videoId&&(this.isReady_?(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):this.cueOnReady=!0))}poster(){return u?null:this.poster_}setPoster(e){this.poster_=e}autoplay(){return this.options_.autoplay}setAutoplay(e){this.options_.autoplay=e}loop(){return this.options_.loop}setLoop(e){this.options_.loop=e}checkHighResPoster(){let e=`https://img.youtube.com/vi/${this.url.videoId}/maxresdefault.jpg`,t=new Image;t.onload=()=>{(t.naturalHeight||t.height)<=90||(this.poster_=e,this.trigger(`posterchange`))},t.src=e}enterFullscreen(){if(n()&&this.ytPlayer){this._spawnIosFullscreen();return}r(this.player_.el().parentElement)}exitFullscreen(){i()}_spawnIosFullscreen(){let e=this.ytPlayer,t=e.getCurrentTime(),{video_id:n}=e.getVideoData();e.pauseVideo(),this.player_.trigger(o);let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(r);let i=document.createElement(`div`);i.id=`yt-fs-${Date.now()}`,r.appendChild(i);let s=null,c=!1,l=()=>{if(c)return;c=!0,this.player_.trigger(a);let n=s?s.getCurrentTime():t;try{s?.destroy()}catch{}r.remove(),e.seekTo(n,!0),this.trigger(`timeupdate`)};s=new window.YT.Player(i.id,{videoId:n,playerVars:{playsinline:0,autoplay:1,controls:1,modestbranding:1,rel:0,start:Math.floor(t)},events:{onReady:e=>{this.player_.trigger(a),e.target.seekTo(t,!0),e.target.playVideo()},onStateChange:e=>{(e.data===window.YT.PlayerState.PAUSED||e.data===window.YT.PlayerState.ENDED)&&l()}}})}dispose(){clearInterval(this.startInterval),this.ytPlayer?(this.ytPlayer.stopVideo?.(),this.ytPlayer.destroy?.()):t.apiReadyQueue=t.apiReadyQueue.filter(e=>e!==this),this.ytPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-youtube`,`vjs-youtube-mobile`),l.prototype.dispose.call(this)}};d.isApiReady=!1,d.apiReadyQueue=[],d.isSupported=()=>!0,d.canPlayType=e=>e===`video/youtube`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/youtube`?`probably`:/youtu\.be|youtube\.com/.test(t)?`maybe`:``,d.parseUrl=e=>{let t={videoId:null,listId:null},n=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|shorts\/|&v=)([^#&?]*).*/);n?.[2]?.length===11&&(t.videoId=n[2]);let r=e.match(/[?&]list=([^#&?]+)/);return r?.[1]&&(t.listId=r[1]),t},typeof document<`u`&&s(`https://www.youtube.com/iframe_api`).then(()=>{window.YT.ready(()=>{d.isApiReady=!0,d.apiReadyQueue.forEach(e=>e.initYTPlayer()),d.apiReadyQueue=[]})}),t(`Youtube`,d);export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{c as n,o as r,r as i,s as a,t as o}from"./tech-hIKMwrTq.mjs";import{a as s,i as c}from"./constants-DZGeSme4.mjs";import{t as l}from"./loadScript-Du6JsTc2.mjs";var u=e(t(),1);const d=u.default.getTech(`Tech`),f=u.default.browser.IS_IOS||u.default.browser.IS_NATIVE_ANDROID;var p=class e extends d{constructor(t,n){super(t,n),this.setPoster(t.poster),this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-youtube`),f&&this.el_.parentNode.classList.add(`vjs-youtube-mobile`),e.isApiReady?this.initYTPlayer():e.apiReadyQueue.push(this))})}createEl(){let e=document.createElement(`div`);e.setAttribute(`id`,this.options_.techId),e.setAttribute(`style`,`width:100%;height:100%;top:0;left:0;position:absolute`),e.setAttribute(`class`,`vjs-tech`);let t=document.createElement(`div`);if(t.appendChild(e),!f&&!this.options_.nativeUi&&!this.options_.ytControls){let e=document.createElement(`div`);e.setAttribute(`class`,`vjs-iframe-blocker`),e.setAttribute(`style`,`position:absolute;top:0;left:0;width:100%;height:100%`),e.onclick=()=>this.pause(),t.appendChild(e)}return t}initYTPlayer(){let e=this.options_,t={controls:+!!e.nativeUi,modestbranding:1,rel:0,showinfo:0,mute:+!!e.muted,loop:+!!e.loop,origin:window.location.origin,allowfullscreen:1,fullscreen:1,fs:1,...e.iv_load_policy!==void 0&&{iv_load_policy:e.iv_load_policy},...e.cc_load_policy!==void 0&&{cc_load_policy:e.cc_load_policy},...e.color!==void 0&&{color:e.color},...e.hl!==void 0&&{hl:e.hl},...e.playsinline!==void 0&&{playsinline:e.playsinline},...e.rel!==void 0&&{rel:e.rel},...e.start!==void 0&&{start:e.start},...e.end!==void 0&&{end:e.end},...e.ytControls!==void 0&&{controls:e.ytControls},...e.customVars};e.youtube&&Object.assign(t,e.youtube),this.activeVideoId=this.url?.videoId??null,this.ytPlayer=new window.YT.Player(this.options_.techId,{videoId:this.activeVideoId,playerVars:t,...e.enablePrivacyEnhancedMode&&{host:`https://www.youtube-nocookie.com`},events:{onReady:this.onPlayerReady.bind(this),onStateChange:this.onPlayerStateChange.bind(this),onPlaybackRateChange:this.onPlayerPlaybackRateChange.bind(this),onVolumeChange:this.onPlayerVolumeChange.bind(this),onError:this.onPlayerError.bind(this)}}),window.yt=this.ytPlayer}onPlayerReady(){this.ytPlayer.getAvailablePlaybackRates().length>1&&(this.featuresPlaybackRate=!0),this.playerReady_=!0,this.triggerReady(),this.playOnReady?this.play():this.cueOnReady&&(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId)}_isAdPlaying(){try{let e=this.ytPlayer?.getPlayerResponse()?.adPlacements;return Array.isArray(e)&&e.length>0}catch{return!1}}onPlayerStateChange(e){let t=e.data;if(t===this.lastState||this.errorNumber)return;this.lastState=t;let n=this._isAdPlaying();switch(n!==this._adWasPlaying&&(this._adWasPlaying=n,this.trigger(n?`adstart`:`adend`)),t){case-1:this.trigger(`loadstart`),this.trigger(`loadedmetadata`),this.trigger(`durationchange`),this.trigger(`ratechange`);break;case YT.PlayerState.ENDED:this.trigger(`ended`);break;case YT.PlayerState.PLAYING:this.trigger(`timeupdate`),this.trigger(`durationchange`),this.trigger(`playing`),this.trigger(`play`),this.isSeeking&&this.onSeeked();break;case YT.PlayerState.PAUSED:this.trigger(`canplay`),this.isSeeking||this.trigger(`pause`);break;case YT.PlayerState.BUFFERING:this.player_.trigger(`waiting`);break;case YT.PlayerState.CUED:this.trigger(`canplay`);break}this.startInterval&&=(clearInterval(this.startInterval),null),t===YT.PlayerState.PLAYING&&(this.startInterval=setInterval(()=>this.trigger(`timeupdate`),250))}onPlayerPlaybackRateChange(){this.trigger(`ratechange`)}onPlayerVolumeChange(){this.trigger(`volumechange`)}onPlayerError(e){this.errorNumber=e.data,this.trigger(`error`),this.setTimeout(()=>{this.errorNumber=null},0)}play(){this.url?.videoId&&(this.wasPausedBeforeSeek=!1,this.isReady_?this.activeVideoId===this.url.videoId?this.ytPlayer.playVideo():(this.loadVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):(this.trigger(`waiting`),this.playOnReady=!0))}pause(){this.ytPlayer?.pauseVideo()}paused(){return this.ytPlayer?this.lastState!==YT.PlayerState.PLAYING&&this.lastState!==YT.PlayerState.BUFFERING:!0}loadVideoById_(e){this.ytPlayer.loadVideoById({videoId:e})}cueVideoById_(e){this.ytPlayer.cueVideoById({videoId:e})}currentTime(){return this.ytPlayer?.getCurrentTime()??0}setCurrentTime(e){this.lastState===YT.PlayerState.PAUSED&&(this.timeBeforeSeek=this.currentTime()),this.isSeeking||(this.wasPausedBeforeSeek=this.paused()),this.ytPlayer.seekTo(e,!0),this.trigger(`timeupdate`),this.trigger(`seeking`),this.isSeeking=!0,this.lastState===YT.PlayerState.PAUSED&&this.timeBeforeSeek!==e&&(clearInterval(this.checkSeekedInPauseInterval),this.checkSeekedInPauseInterval=setInterval(()=>{this.lastState!==YT.PlayerState.PAUSED||!this.isSeeking?clearInterval(this.checkSeekedInPauseInterval):this.currentTime()!==this.timeBeforeSeek&&(this.trigger(`timeupdate`),this.onSeeked())},250))}onSeeked(){clearInterval(this.checkSeekedInPauseInterval),this.isSeeking=!1,this.wasPausedBeforeSeek&&this.pause(),this.trigger(`seeked`)}seeking(){return this.isSeeking}seekable(){return u.default.createTimeRange(0,this.ytPlayer?.getDuration()??0)}duration(){return this.ytPlayer?.getDuration()??0}ended(){return this.ytPlayer?this.lastState===YT.PlayerState.ENDED:!1}volume(){return this.ytPlayer?this.ytPlayer.getVolume()/100:1}setVolume(e){this.ytPlayer?.setVolume(e*100)}muted(){return this.ytPlayer?.isMuted()??!1}setMuted(e){this.ytPlayer&&(e?this.ytPlayer.mute():this.ytPlayer.unMute(),this.setTimeout(()=>this.trigger(`volumechange`),50))}buffered(){return this.ytPlayer?.getVideoLoadedFraction?u.default.createTimeRange(0,this.ytPlayer.getVideoLoadedFraction()*this.ytPlayer.getDuration()):u.default.createTimeRange()}playbackRate(){return this.ytPlayer?.getPlaybackRate()??1}setPlaybackRate(e){this.ytPlayer?.setPlaybackRate(e)}currentSrc(){return this.source?.src??``}preload(){}load(){}reset(){}networkState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 3:return 2;default:return 1}}readyState(){if(!this.ytPlayer)return 0;switch(this.ytPlayer.getPlayerState()){case-1:return 0;case 5:return 1;case 3:return 2;default:return 4}}supportsFullScreen(){return n()}setSrc(t){t?.src&&(this.source=t,this.url=e.parseUrl(t.src),!this.options_.poster&&this.url.videoId&&(this.poster_=`https://img.youtube.com/vi/${this.url.videoId}/0.jpg`,this.setTimeout(()=>{this.trigger(`posterchange`),this.checkHighResPoster()},0)),this.options_.autoplay?this.isReady_?this.play():this.playOnReady=!0:this.activeVideoId!==this.url.videoId&&(this.isReady_?(this.cueVideoById_(this.url.videoId),this.activeVideoId=this.url.videoId):this.cueOnReady=!0))}poster(){return f?null:this.poster_}setPoster(e){this.poster_=e}autoplay(){return this.options_.autoplay}setAutoplay(e){this.options_.autoplay=e}loop(){return this.options_.loop}setLoop(e){this.options_.loop=e}checkHighResPoster(){let e=`https://img.youtube.com/vi/${this.url.videoId}/maxresdefault.jpg`,t=new Image;t.onload=()=>{(t.naturalHeight||t.height)<=90||(this.poster_=e,this.trigger(`posterchange`))},t.src=e}enterFullscreen(){if(i()&&this.ytPlayer){this._spawnIosFullscreen();return}a(this.player_.el().parentElement)}exitFullscreen(){o()}_spawnIosFullscreen(){let e=this.ytPlayer,t=e.getCurrentTime(),{video_id:n}=e.getVideoData();e.pauseVideo(),this.player_.trigger(c);let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(r);let i=document.createElement(`div`);i.id=`yt-fs-${Date.now()}`,r.appendChild(i);let a=null,o=!1,l=()=>{if(o)return;o=!0,this.player_.trigger(s);let n=a?a.getCurrentTime():t;try{a?.destroy()}catch{}r.remove(),e.seekTo(n,!0),this.trigger(`timeupdate`)};a=new window.YT.Player(i.id,{videoId:n,playerVars:{playsinline:0,autoplay:1,controls:1,modestbranding:1,rel:0,start:Math.floor(t)},events:{onReady:e=>{this.player_.trigger(s),e.target.seekTo(t,!0),e.target.playVideo()},onStateChange:e=>{(e.data===window.YT.PlayerState.PAUSED||e.data===window.YT.PlayerState.ENDED)&&l()}}})}dispose(){clearInterval(this.startInterval),this.ytPlayer?(this.ytPlayer.stopVideo?.(),this.ytPlayer.destroy?.()):e.apiReadyQueue=e.apiReadyQueue.filter(e=>e!==this),this.ytPlayer=null,this.el_?.parentNode?.classList.remove(`vjs-youtube`,`vjs-youtube-mobile`),d.prototype.dispose.call(this)}};p.isApiReady=!1,p.apiReadyQueue=[],p.isSupported=()=>!0,p.canPlayType=e=>e===`video/youtube`?`probably`:``,p.canPlaySource=({type:e,src:t})=>e===`video/youtube`?`probably`:/youtu\.be|youtube\.com/.test(t)?`maybe`:``,p.parseUrl=e=>{let t={videoId:null,listId:null},n=e.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|shorts\/|&v=)([^#&?]*).*/);n?.[2]?.length===11&&(t.videoId=n[2]);let r=e.match(/[?&]list=([^#&?]+)/);return r?.[1]&&(t.listId=r[1]),t},typeof document<`u`&&l(`https://www.youtube.com/iframe_api`).then(()=>{window.YT.ready(()=>{p.isApiReady=!0,p.apiReadyQueue.forEach(e=>e.initYTPlayer()),p.apiReadyQueue=[]})}),r(`Youtube`,p);export{p as default};
|